From b8a25b980265b26282f3414f1fdf5dab01fd5185 Mon Sep 17 00:00:00 2001 From: Brent Bovenzi Date: Fri, 30 Aug 2024 11:24:45 -0400 Subject: [PATCH] Initialize new airflow/ui directory (#41846) * Initialize new airflow/ui directory configure flask blueprint and render real dags list Add banner to switch back and forth between UIs Add readme basic test setup, chakra not working Move Flask blueprint, build navbar Switch to react with working tests Basic hot refresh add prettier do not render the new UI banner on loggin page add pre-commits to ui add CI integration update doc accordingly redirect to login page on 401+403 errors update lint command update lint, lint:fix command Add codegen to pre-commit Add ui to breeze Update build commands * Fix dev favicon and table strip css bleedover * breeze and CI fixes * Fix github actions * Try fixing selective checks and github actions again * set pnpm cache-dependency-path * Fix breeze static checks * fix ci * Update CONTRIBUTING.md --------- Co-authored-by: pierrejeambrun --- .dockerignore | 1 + .github/boring-cyborg.yml | 1 + .github/workflows/basic-tests.yml | 41 + .github/workflows/ci.yml | 2 + .gitignore | 7 + .pre-commit-config.yaml | 39 +- .rat-excludes | 1 + airflow/ui/.prettierignore | 5 + airflow/ui/.prettierrc | 11 + airflow/ui/CONTRIBUTING.md | 70 + airflow/ui/README.md | 69 + airflow/ui/dev/index.html | 26 + airflow/ui/eslint.config.js | 54 + airflow/ui/index.html | 13 + airflow/ui/openapi-gen/queries/common.ts | 1505 ++++ airflow/ui/openapi-gen/queries/index.ts | 4 + .../ui/openapi-gen/queries/infiniteQueries.ts | 1 + airflow/ui/openapi-gen/queries/prefetch.ts | 1357 ++++ airflow/ui/openapi-gen/queries/queries.ts | 2990 ++++++++ airflow/ui/openapi-gen/queries/suspense.ts | 1689 +++++ .../ui/openapi-gen/requests/core/ApiError.ts | 25 + .../requests/core/ApiRequestOptions.ts | 21 + .../ui/openapi-gen/requests/core/ApiResult.ts | 7 + .../requests/core/CancelablePromise.ts | 126 + .../ui/openapi-gen/requests/core/OpenAPI.ts | 57 + .../ui/openapi-gen/requests/core/request.ts | 387 + airflow/ui/openapi-gen/requests/index.ts | 7 + .../ui/openapi-gen/requests/schemas.gen.ts | 3240 +++++++++ .../ui/openapi-gen/requests/services.gen.ts | 3310 +++++++++ airflow/ui/openapi-gen/requests/types.gen.ts | 6197 +++++++++++++++++ airflow/ui/package.json | 52 + airflow/ui/pnpm-lock.yaml | 6053 ++++++++++++++++ airflow/ui/public/pin_32.png | Bin 0 -> 1201 bytes airflow/ui/src/app.test.tsx | 119 + airflow/ui/src/app.tsx | 40 + airflow/ui/src/assets/AirflowPin.tsx | 77 + airflow/ui/src/dagsList.tsx | 180 + airflow/ui/src/main.tsx | 65 + airflow/ui/src/nav.tsx | 76 + airflow/ui/src/theme.ts | 42 + airflow/ui/src/utils/test.tsx | 42 + airflow/ui/src/vite-env.d.ts | 20 + airflow/ui/testsSetup.ts | 26 + airflow/ui/tsconfig.app.json | 29 + airflow/ui/tsconfig.json | 7 + airflow/ui/tsconfig.node.json | 27 + airflow/ui/vite.config.ts | 57 + airflow/www/app.py | 2 + airflow/www/extensions/init_react_ui.py | 39 + airflow/www/package.json | 1 + .../js/components/NewTable/NewTable.tsx | 2 +- .../www/static/js/components/Table/index.tsx | 2 +- airflow/www/static/js/theme.ts | 40 +- airflow/www/templates/airflow/main.html | 7 + airflow/www/yarn.lock | 5 + codecov.yml | 1 + contributing-docs/08_static_code_checks.rst | 6 + dev/breeze/doc/03_developer_tasks.rst | 11 + dev/breeze/doc/ci/04_selective_checks.md | 3 + dev/breeze/doc/images/output-commands.svg | 92 +- .../doc/images/output_compile-ui-assets.svg | 119 + .../doc/images/output_compile-ui-assets.txt | 1 + ...utput_setup_check-all-params-in-groups.svg | 12 +- ...utput_setup_check-all-params-in-groups.txt | 2 +- ...output_setup_regenerate-command-images.svg | 24 +- ...output_setup_regenerate-command-images.txt | 2 +- .../doc/images/output_static-checks.svg | 112 +- .../doc/images/output_static-checks.txt | 2 +- .../doc/images/output_testing_db-tests.svg | 6 +- .../images/output_testing_non-db-tests.svg | 6 +- .../doc/images/output_testing_tests.svg | 8 +- .../commands/developer_commands.py | 33 +- .../commands/developer_commands_config.py | 10 + .../commands/release_management_commands.py | 1 + .../airflow_breeze/commands/setup_commands.py | 1 + .../src/airflow_breeze/global_constants.py | 1 + .../src/airflow_breeze/pre_commit_ids.py | 3 + .../src/airflow_breeze/utils/path_utils.py | 8 + .../src/airflow_breeze/utils/run_utils.py | 79 +- .../airflow_breeze/utils/selective_checks.py | 13 + dev/breeze/tests/test_selective_checks.py | 65 +- scripts/ci/pre_commit/compile_ui_assets.py | 74 + .../ci/pre_commit/compile_ui_assets_dev.py | 65 + scripts/ci/pre_commit/lint_ui.py | 35 + .../pre_commit/{www_lint.py => lint_www.py} | 0 85 files changed, 28894 insertions(+), 174 deletions(-) create mode 100644 airflow/ui/.prettierignore create mode 100644 airflow/ui/.prettierrc create mode 100644 airflow/ui/CONTRIBUTING.md create mode 100644 airflow/ui/README.md create mode 100644 airflow/ui/dev/index.html create mode 100644 airflow/ui/eslint.config.js create mode 100644 airflow/ui/index.html create mode 100644 airflow/ui/openapi-gen/queries/common.ts create mode 100644 airflow/ui/openapi-gen/queries/index.ts create mode 100644 airflow/ui/openapi-gen/queries/infiniteQueries.ts create mode 100644 airflow/ui/openapi-gen/queries/prefetch.ts create mode 100644 airflow/ui/openapi-gen/queries/queries.ts create mode 100644 airflow/ui/openapi-gen/queries/suspense.ts create mode 100644 airflow/ui/openapi-gen/requests/core/ApiError.ts create mode 100644 airflow/ui/openapi-gen/requests/core/ApiRequestOptions.ts create mode 100644 airflow/ui/openapi-gen/requests/core/ApiResult.ts create mode 100644 airflow/ui/openapi-gen/requests/core/CancelablePromise.ts create mode 100644 airflow/ui/openapi-gen/requests/core/OpenAPI.ts create mode 100644 airflow/ui/openapi-gen/requests/core/request.ts create mode 100644 airflow/ui/openapi-gen/requests/index.ts create mode 100644 airflow/ui/openapi-gen/requests/schemas.gen.ts create mode 100644 airflow/ui/openapi-gen/requests/services.gen.ts create mode 100644 airflow/ui/openapi-gen/requests/types.gen.ts create mode 100644 airflow/ui/package.json create mode 100644 airflow/ui/pnpm-lock.yaml create mode 100644 airflow/ui/public/pin_32.png create mode 100644 airflow/ui/src/app.test.tsx create mode 100644 airflow/ui/src/app.tsx create mode 100644 airflow/ui/src/assets/AirflowPin.tsx create mode 100644 airflow/ui/src/dagsList.tsx create mode 100644 airflow/ui/src/main.tsx create mode 100644 airflow/ui/src/nav.tsx create mode 100644 airflow/ui/src/theme.ts create mode 100644 airflow/ui/src/utils/test.tsx create mode 100644 airflow/ui/src/vite-env.d.ts create mode 100644 airflow/ui/testsSetup.ts create mode 100644 airflow/ui/tsconfig.app.json create mode 100644 airflow/ui/tsconfig.json create mode 100644 airflow/ui/tsconfig.node.json create mode 100644 airflow/ui/vite.config.ts create mode 100644 airflow/www/extensions/init_react_ui.py create mode 100644 dev/breeze/doc/images/output_compile-ui-assets.svg create mode 100644 dev/breeze/doc/images/output_compile-ui-assets.txt create mode 100755 scripts/ci/pre_commit/compile_ui_assets.py create mode 100755 scripts/ci/pre_commit/compile_ui_assets_dev.py create mode 100755 scripts/ci/pre_commit/lint_ui.py rename scripts/ci/pre_commit/{www_lint.py => lint_www.py} (100%) diff --git a/.dockerignore b/.dockerignore index dba7378a3b778..31ef8bb9ac260 100644 --- a/.dockerignore +++ b/.dockerignore @@ -79,6 +79,7 @@ airflow/git_version # Exclude mode_modules pulled by "yarn" for compilation of www files generated by NPM airflow/www/node_modules +airflow/ui/node_modules # Exclude link to docs airflow/www/static/docs diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml index ea083bd7b0da2..9b1e2f24ff46a 100644 --- a/.github/boring-cyborg.yml +++ b/.github/boring-cyborg.yml @@ -592,6 +592,7 @@ labelPRBasedOnFilePath: - airflow/www/webpack.config.js - airflow/www/yarn.lock - docs/apache-airflow/ui.rst + - airflow/ui/**/* area:CLI: - airflow/cli/**/*.py diff --git a/.github/workflows/basic-tests.yml b/.github/workflows/basic-tests.yml index b59baa6728fda..b7916af698772 100644 --- a/.github/workflows/basic-tests.yml +++ b/.github/workflows/basic-tests.yml @@ -24,6 +24,10 @@ on: # yamllint disable-line rule:truthy description: "The array of labels (in json form) determining public runners." required: true type: string + run-ui-tests: + description: "Whether to run UI tests (true/false)" + required: true + type: string run-www-tests: description: "Whether to run WWW tests (true/false)" required: true @@ -83,6 +87,43 @@ jobs: - run: python -m pytest -n auto --color=yes working-directory: ./dev/breeze/ + + tests-ui: + timeout-minutes: 10 + name: React UI tests + runs-on: ${{ fromJSON(inputs.runs-on-as-json-public) }} + if: inputs.run-ui-tests == 'true' + steps: + - name: "Cleanup repo" + shell: bash + run: docker run -v "${GITHUB_WORKSPACE}:/workspace" -u 0:0 bash -c "rm -rf /workspace/*" + - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: "Cleanup docker" + run: ./scripts/ci/cleanup_docker.sh + - name: Setup pnpm + uses: pnpm/action-setup@v4.0.0 + with: + version: 9 + run_install: false + - name: "Setup node" + uses: actions/setup-node@v4 + with: + node-version: 21 + cache: 'pnpm' + cache-dependency-path: 'airflow/ui/pnpm-lock.yaml' + - name: "Cache eslint" + uses: actions/cache@v4 + with: + path: 'airflow/ui/node_modules' + key: ${{ runner.os }}-ui-node-modules-${{ hashFiles('airflow/ui/**/pnpm-lock.yaml') }} + - run: cd airflow/ui && pnpm install --frozen-lockfile + - run: cd airflow/ui && pnpm test + env: + FORCE_COLOR: 2 + tests-www: timeout-minutes: 10 name: React WWW tests diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11cb390d32218..0f9e8086554db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,6 +89,7 @@ jobs: skip-provider-tests: ${{ steps.selective-checks.outputs.skip-provider-tests }} run-tests: ${{ steps.selective-checks.outputs.run-tests }} run-amazon-tests: ${{ steps.selective-checks.outputs.run-amazon-tests }} + run-ui-tests: ${{ steps.selective-checks.outputs.run-ui-tests }} run-www-tests: ${{ steps.selective-checks.outputs.run-www-tests }} run-kubernetes-tests: ${{ steps.selective-checks.outputs.run-kubernetes-tests }} basic-checks-only: ${{ steps.selective-checks.outputs.basic-checks-only }} @@ -168,6 +169,7 @@ jobs: uses: ./.github/workflows/basic-tests.yml with: runs-on-as-json-public: ${{ needs.build-info.outputs.runs-on-as-json-public }} + run-ui-tests: ${{needs.build-info.outputs.run-ui-tests}} run-www-tests: ${{needs.build-info.outputs.run-www-tests}} needs-api-codegen: ${{needs.build-info.outputs.needs-api-codegen}} default-python-version: ${{needs.build-info.outputs.default-python-version}} diff --git a/.gitignore b/.gitignore index 8a1c50454d914..3505a4ed8abfe 100644 --- a/.gitignore +++ b/.gitignore @@ -165,6 +165,13 @@ node_modules npm-debug.log* derby.log metastore_db +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +.vscode/* +!.vscode/extensions.json +/.vite/ # Airflow log files when airflow is run locally airflow-*.err diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 60249525d3689..9f86791ca3f3c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -67,7 +67,7 @@ repos: - id: insert-license name: Add license for all CSS/JS/JSX/PUML/TS/TSX files files: \.(css|jsx?|puml|tsx?)$ - exclude: ^\.github/.*$|^.*/.*_vendor/|^airflow/www/static/js/types/api-generated.ts$ + exclude: ^\.github/.*$|^.*/.*_vendor/|^airflow/www/static/js/types/api-generated.ts$|ui/openapi-gen/ args: - --comment-style - "/*!| *| */" @@ -289,7 +289,7 @@ repos: name: Check YAML files with yamllint entry: yamllint -c yamllint-config.yml --strict types: [yaml] - exclude: ^.*airflow\.template\.yaml$|^.*init_git_sync\.template\.yaml$|^.*/.*_vendor/|^chart/(?:templates|files)/.*\.yaml$|openapi/.*\.yaml$|^\.pre-commit-config\.yaml$|^.*/reproducible_build.yaml$ + exclude: ^.*airflow\.template\.yaml$|^.*init_git_sync\.template\.yaml$|^.*/.*_vendor/|^chart/(?:templates|files)/.*\.yaml$|openapi/.*\.yaml$|^\.pre-commit-config\.yaml$|^.*/reproducible_build.yaml$|^.*pnpm-lock\.yaml$ - repo: https://github.com/ikamensh/flynt rev: '1.0.1' hooks: @@ -314,7 +314,7 @@ repos: The word(s) should be in lowercase." && exec codespell "$@"' -- language: python types: [text] - exclude: ^.*/.*_vendor/|^airflow/www/static/css/material-icons\.css$|^images/.*$|^RELEASE_NOTES\.txt$|^.*package-lock\.json$|^.*/kinglear\.txt$ + exclude: ^.*/.*_vendor/|^airflow/www/static/css/material-icons\.css$|^images/.*$|^RELEASE_NOTES\.txt$|^.*package-lock\.json$|^.*/kinglear\.txt$|^.*pnpm-lock\.yaml$ args: - --ignore-words=docs/spelling_wordlist.txt - --skip=airflow/providers/*/*.rst,airflow/www/*.log,docs/*/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md @@ -580,6 +580,7 @@ repos: exclude: > (?x) ^airflow/api_connexion/openapi/v1.yaml$| + ^airflow/ui/openapi-gen/| ^airflow/cli/commands/webserver_command.py$| ^airflow/cli/commands/internal_api_command.py$| ^airflow/config_templates/| @@ -608,6 +609,7 @@ repos: ^airflow/providers/opsgenie/hooks/opsgenie.py$| ^airflow/providers/redis/provider.yaml$| ^airflow/serialization/serialized_objects.py$| + ^airflow/ui/pnpm-lock.yaml$| ^airflow/utils/db.py$| ^airflow/utils/trigger_rule.py$| ^airflow/www/static/css/bootstrap-theme.css$| @@ -824,6 +826,24 @@ repos: files: ^airflow/www/.*\.(css|sass|scss)$ # Keep dependency versions in sync w/ airflow/www/package.json additional_dependencies: ['stylelint@13.3.1', 'stylelint-config-standard@20.0.0', 'stylelint-config-prettier@9.0.5'] + - id: compile-ui-assets + name: Compile ui assets (manual) + language: node + stages: ['manual'] + types_or: [javascript, ts, tsx] + files: ^airflow/ui/ + entry: ./scripts/ci/pre_commit/compile_ui_assets.py + pass_filenames: false + additional_dependencies: ['pnpm@9.7.1'] + - id: compile-ui-assets-dev + name: Compile ui assets in dev mode (manual) + language: node + stages: ['manual'] + types_or: [javascript, ts, tsx] + files: ^airflow/ui/ + entry: ./scripts/ci/pre_commit/compile_ui_assets_dev.py + pass_filenames: false + additional_dependencies: ['pnpm@9.7.1'] - id: compile-www-assets name: Compile www assets (manual) language: node @@ -1118,9 +1138,17 @@ repos: language: node 'types_or': [javascript, ts, tsx, yaml, css, json] files: ^airflow/www/static/(js|css)/|^airflow/api_connexion/openapi/v1\.yaml$ - entry: ./scripts/ci/pre_commit/www_lint.py + entry: ./scripts/ci/pre_commit/lint_www.py additional_dependencies: ['yarn@1.22.21', "openapi-typescript@>=6.7.4"] pass_filenames: false + - id: ts-compile-format-lint-ui + name: TS types generation / ESLint / Prettier new UI files + language: node + types_or: [javascript, ts, tsx, yaml, css, json] + files: ^airflow/ui/|^airflow/api_connexion/openapi/v1\.yaml$ + entry: ./scripts/ci/pre_commit/lint_ui.py + additional_dependencies: ['pnpm@9.7.1'] + pass_filenames: false - id: check-tests-unittest-testcase name: Check that unit tests do not inherit from unittest.TestCase entry: ./scripts/ci/pre_commit/unittest_testcase.py @@ -1296,8 +1324,7 @@ repos: language: python entry: ./scripts/ci/pre_commit/migration_reference.py pass_filenames: false - files: | - ^airflow/migrations/versions/.*\.py$|^docs/apache-airflow/migrations-ref\.rst$|^airflow/providers/fab/alembic/versions/.*\.py$ + files: ^airflow/migrations/versions/.*\.py$|^docs/apache-airflow/migrations-ref\.rst$ additional_dependencies: ['rich>=12.4.4'] - id: update-er-diagram name: Update ER diagram diff --git a/.rat-excludes b/.rat-excludes index d8b514e0b1d94..1f13a237337fb 100644 --- a/.rat-excludes +++ b/.rat-excludes @@ -166,3 +166,4 @@ version.txt # Front end generated files api-generated.ts +openapi-gen diff --git a/airflow/ui/.prettierignore b/airflow/ui/.prettierignore new file mode 100644 index 0000000000000..a2bcd8157d69c --- /dev/null +++ b/airflow/ui/.prettierignore @@ -0,0 +1,5 @@ +.mypy_cache/ +templates/**/*.html +dist/ +*.md +*.yaml diff --git a/airflow/ui/.prettierrc b/airflow/ui/.prettierrc new file mode 100644 index 0000000000000..39458246cff5f --- /dev/null +++ b/airflow/ui/.prettierrc @@ -0,0 +1,11 @@ +{ + "overrides": [ + { + "files": "*.json", + "options": { + "tabWidth": 2 + } + } + ], + "trailingComma": "es5" +} diff --git a/airflow/ui/CONTRIBUTING.md b/airflow/ui/CONTRIBUTING.md new file mode 100644 index 0000000000000..88ee9c6fe4a11 --- /dev/null +++ b/airflow/ui/CONTRIBUTING.md @@ -0,0 +1,70 @@ + + +# Contributing to the UI + +## Getting Started + +1. Install `pnpm`. Check their [docs](https://pnpm.io/installation) + +2. Run `breeze start-airflow --dev-mode` will install and run the local dev server to allow for hot-reloading during development. + +3. Click on the banner in the old UI to redirect you to the new ui or go to `localhost:28080/ui` + +## CLI Commands + +- `pnpm install` +- `pnpm lint` lint check +- `pnpm test` run ui tests +- `pnpm build` build the project to appear in `ui/dist`, this is what the webserver will usually look for +- `pnpm dev` run the vite dev server to enable hot reloading for local development. You also need the `dev_mode` environment variable enabled on the webserver. + +## Learn + +If you're new to modern frontend development or parts of our stack, you may want to check out these resources to understand our codebase: + +- Typescript is an extension of javascript to add type-checking to our app. Files ending in `.ts` or `.tsx` will be type-checked. Check out the [handbook](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-func.html) for an introduction or feel free to keep this [cheatsheet](https://github.com/typescript-cheatsheets/react) open while developing. + +- React powers our entire app so it would be valuable to learn JSX, the html-in-js templates React utilizes. Files that contain JSX will end in `.tsx` instead of `.ts`. Check out their official [tutorial](https://reactjs.org/tutorial/tutorial.html#overview) for a basic overview. + +- Chakra-UI is our component library and theming system. You'll notice we have no traditional css nor html tags. This is all handled in Chakra with importing standard components like `` or `` that are styled globally in `src/theme.ts` file and then by passing styles as component props. Check out their [docs](https://chakra-ui.com/docs/getting-started) to see all the included components and hooks. + +- Testing is done with React Testing Library. We follow their idea of "The more your tests resemble the way your software is used, + the more confidence they can give you." Keep their [cheatsheet](https://testing-library.com/docs/react-testing-library/cheatsheet) open when writing tests + +- We use Vite as our app framework for running a dev server and build commands. Check out their [docs](https://vitejs.dev/guide/) if you need to customize it. + +- State management is handled with [Context](https://reactjs.org/docs/context.html) and [react-query](https://tanstack.com/query/latest/docs/framework/react/overview). Context is used for App-level state that doesn't change often (authentication, dark/light mode). React Query handles all the state and side effects (loading, error, caching, etc) of async data from the API. + +## Project Structure + +- `/openapi` autogenerated types and queries based on the public REST API openapi spec. Do not manually edit. To regenerate use: + +```console +pnpm run codegen +``` + +- `/src/assets` static assets for the UI +- `/src/components` shared components across the UI +- `/dist` build files +- TODO: build out project structure more + +## Find open issues + +TODO diff --git a/airflow/ui/README.md b/airflow/ui/README.md new file mode 100644 index 0000000000000..3d0ee99ba3ffd --- /dev/null +++ b/airflow/ui/README.md @@ -0,0 +1,69 @@ + + +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default tseslint.config({ + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` +- Optionally add `...tseslint.configs.stylisticTypeChecked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: + +```js +// eslint.config.js +import react from 'eslint-plugin-react' + +export default tseslint.config({ + // Set the react version + settings: { react: { version: '18.3' } }, + plugins: { + // Add the react plugin + react, + }, + rules: { + // other rules... + // Enable its recommended rules + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + }, +}) +``` diff --git a/airflow/ui/dev/index.html b/airflow/ui/dev/index.html new file mode 100644 index 0000000000000..9553eb7e416a8 --- /dev/null +++ b/airflow/ui/dev/index.html @@ -0,0 +1,26 @@ + + + + + + + + + + Airflow 3.0 + + +
+ + + diff --git a/airflow/ui/eslint.config.js b/airflow/ui/eslint.config.js new file mode 100644 index 0000000000000..0035c39ec7844 --- /dev/null +++ b/airflow/ui/eslint.config.js @@ -0,0 +1,54 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import js from "@eslint/js"; +import globals from "globals"; +import reactHooks from "eslint-plugin-react-hooks"; +import reactRefresh from "eslint-plugin-react-refresh"; +import tseslint from "typescript-eslint"; +import pluginPrettier from "eslint-plugin-prettier"; +import pluginReact from "eslint-plugin-react"; + +export default tseslint.config( + { ignores: ["dist", "openapi-gen"] }, + { + extends: [ + js.configs.recommended, + ...tseslint.configs.recommended, + pluginReact.recommended, + pluginPrettier.recommended, + ], + files: ["**/*.{ts,tsx}"], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + "react-hooks": reactHooks, + "react-refresh": reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + "react-refresh/only-export-components": [ + "warn", + { allowConstantExport: true }, + ], + }, + } +); diff --git a/airflow/ui/index.html b/airflow/ui/index.html new file mode 100644 index 0000000000000..28a29c6993e1b --- /dev/null +++ b/airflow/ui/index.html @@ -0,0 +1,13 @@ + + + + + + + Airflow 3.0 + + +
+ + + diff --git a/airflow/ui/openapi-gen/queries/common.ts b/airflow/ui/openapi-gen/queries/common.ts new file mode 100644 index 0000000000000..2246e70485d47 --- /dev/null +++ b/airflow/ui/openapi-gen/queries/common.ts @@ -0,0 +1,1505 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 + +import { UseQueryResult } from "@tanstack/react-query"; +import { + ConfigService, + ConnectionService, + DagRunService, + DagService, + DagStatsService, + DagWarningService, + DatasetService, + EventLogService, + ImportErrorService, + MonitoringService, + PermissionService, + PluginService, + PoolService, + ProviderService, + RoleService, + TaskInstanceService, + UserService, + VariableService, + XcomService, +} from "../requests/services.gen"; +export type ConnectionServiceGetConnectionsDefaultResponse = Awaited< + ReturnType +>; +export type ConnectionServiceGetConnectionsQueryResult< + TData = ConnectionServiceGetConnectionsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useConnectionServiceGetConnectionsKey = + "ConnectionServiceGetConnections"; +export const UseConnectionServiceGetConnectionsKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [ + useConnectionServiceGetConnectionsKey, + ...(queryKey ?? [{ limit, offset, orderBy }]), +]; +export type ConnectionServiceGetConnectionDefaultResponse = Awaited< + ReturnType +>; +export type ConnectionServiceGetConnectionQueryResult< + TData = ConnectionServiceGetConnectionDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useConnectionServiceGetConnectionKey = + "ConnectionServiceGetConnection"; +export const UseConnectionServiceGetConnectionKeyFn = ( + { + connectionId, + }: { + connectionId: string; + }, + queryKey?: Array +) => [ + useConnectionServiceGetConnectionKey, + ...(queryKey ?? [{ connectionId }]), +]; +export type DagServiceGetDagsDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetDagsQueryResult< + TData = DagServiceGetDagsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetDagsKey = "DagServiceGetDags"; +export const UseDagServiceGetDagsKeyFn = ( + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }: { + dagIdPattern?: string; + fields?: string[]; + limit?: number; + offset?: number; + onlyActive?: boolean; + orderBy?: string; + paused?: boolean; + tags?: string[]; + } = {}, + queryKey?: Array +) => [ + useDagServiceGetDagsKey, + ...(queryKey ?? [ + { dagIdPattern, fields, limit, offset, onlyActive, orderBy, paused, tags }, + ]), +]; +export type DagServiceGetDagDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetDagQueryResult< + TData = DagServiceGetDagDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetDagKey = "DagServiceGetDag"; +export const UseDagServiceGetDagKeyFn = ( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: Array +) => [useDagServiceGetDagKey, ...(queryKey ?? [{ dagId, fields }])]; +export type DagServiceGetDagDetailsDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetDagDetailsQueryResult< + TData = DagServiceGetDagDetailsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetDagDetailsKey = "DagServiceGetDagDetails"; +export const UseDagServiceGetDagDetailsKeyFn = ( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: Array +) => [useDagServiceGetDagDetailsKey, ...(queryKey ?? [{ dagId, fields }])]; +export type DagServiceGetTasksDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetTasksQueryResult< + TData = DagServiceGetTasksDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetTasksKey = "DagServiceGetTasks"; +export const UseDagServiceGetTasksKeyFn = ( + { + dagId, + orderBy, + }: { + dagId: string; + orderBy?: string; + }, + queryKey?: Array +) => [useDagServiceGetTasksKey, ...(queryKey ?? [{ dagId, orderBy }])]; +export type DagServiceGetTaskDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetTaskQueryResult< + TData = DagServiceGetTaskDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetTaskKey = "DagServiceGetTask"; +export const UseDagServiceGetTaskKeyFn = ( + { + dagId, + taskId, + }: { + dagId: string; + taskId: string; + }, + queryKey?: Array +) => [useDagServiceGetTaskKey, ...(queryKey ?? [{ dagId, taskId }])]; +export type DagServiceGetDagSourceDefaultResponse = Awaited< + ReturnType +>; +export type DagServiceGetDagSourceQueryResult< + TData = DagServiceGetDagSourceDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagServiceGetDagSourceKey = "DagServiceGetDagSource"; +export const UseDagServiceGetDagSourceKeyFn = ( + { + fileToken, + }: { + fileToken: string; + }, + queryKey?: Array +) => [useDagServiceGetDagSourceKey, ...(queryKey ?? [{ fileToken }])]; +export type TaskInstanceServiceGetTaskInstanceDependenciesDefaultResponse = + Awaited>; +export type TaskInstanceServiceGetTaskInstanceDependenciesQueryResult< + TData = TaskInstanceServiceGetTaskInstanceDependenciesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetTaskInstanceDependenciesKey = + "TaskInstanceServiceGetTaskInstanceDependencies"; +export const UseTaskInstanceServiceGetTaskInstanceDependenciesKeyFn = ( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetTaskInstanceDependenciesKey, + ...(queryKey ?? [{ dagId, dagRunId, taskId }]), +]; +export type TaskInstanceServiceGetMappedTaskInstanceDependenciesDefaultResponse = + Awaited< + ReturnType + >; +export type TaskInstanceServiceGetMappedTaskInstanceDependenciesQueryResult< + TData = TaskInstanceServiceGetMappedTaskInstanceDependenciesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetMappedTaskInstanceDependenciesKey = + "TaskInstanceServiceGetMappedTaskInstanceDependencies"; +export const UseTaskInstanceServiceGetMappedTaskInstanceDependenciesKeyFn = ( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetMappedTaskInstanceDependenciesKey, + ...(queryKey ?? [{ dagId, dagRunId, mapIndex, taskId }]), +]; +export type TaskInstanceServiceGetTaskInstancesDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetTaskInstancesQueryResult< + TData = TaskInstanceServiceGetTaskInstancesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetTaskInstancesKey = + "TaskInstanceServiceGetTaskInstances"; +export const UseTaskInstanceServiceGetTaskInstancesKeyFn = ( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetTaskInstancesKey, + ...(queryKey ?? [ + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + ]), +]; +export type TaskInstanceServiceGetTaskInstanceDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetTaskInstanceQueryResult< + TData = TaskInstanceServiceGetTaskInstanceDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetTaskInstanceKey = + "TaskInstanceServiceGetTaskInstance"; +export const UseTaskInstanceServiceGetTaskInstanceKeyFn = ( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetTaskInstanceKey, + ...(queryKey ?? [{ dagId, dagRunId, taskId }]), +]; +export type TaskInstanceServiceGetMappedTaskInstanceDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetMappedTaskInstanceQueryResult< + TData = TaskInstanceServiceGetMappedTaskInstanceDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetMappedTaskInstanceKey = + "TaskInstanceServiceGetMappedTaskInstance"; +export const UseTaskInstanceServiceGetMappedTaskInstanceKeyFn = ( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetMappedTaskInstanceKey, + ...(queryKey ?? [{ dagId, dagRunId, mapIndex, taskId }]), +]; +export type TaskInstanceServiceGetMappedTaskInstancesDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetMappedTaskInstancesQueryResult< + TData = TaskInstanceServiceGetMappedTaskInstancesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetMappedTaskInstancesKey = + "TaskInstanceServiceGetMappedTaskInstances"; +export const UseTaskInstanceServiceGetMappedTaskInstancesKeyFn = ( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + taskId: string; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetMappedTaskInstancesKey, + ...(queryKey ?? [ + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }, + ]), +]; +export type TaskInstanceServiceGetTaskInstanceTryDetailsDefaultResponse = + Awaited>; +export type TaskInstanceServiceGetTaskInstanceTryDetailsQueryResult< + TData = TaskInstanceServiceGetTaskInstanceTryDetailsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetTaskInstanceTryDetailsKey = + "TaskInstanceServiceGetTaskInstanceTryDetails"; +export const UseTaskInstanceServiceGetTaskInstanceTryDetailsKeyFn = ( + { + dagId, + dagRunId, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + taskId: string; + taskTryNumber: number; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetTaskInstanceTryDetailsKey, + ...(queryKey ?? [{ dagId, dagRunId, taskId, taskTryNumber }]), +]; +export type TaskInstanceServiceGetTaskInstanceTriesDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetTaskInstanceTriesQueryResult< + TData = TaskInstanceServiceGetTaskInstanceTriesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetTaskInstanceTriesKey = + "TaskInstanceServiceGetTaskInstanceTries"; +export const UseTaskInstanceServiceGetTaskInstanceTriesKeyFn = ( + { + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetTaskInstanceTriesKey, + ...(queryKey ?? [{ dagId, dagRunId, limit, offset, orderBy, taskId }]), +]; +export type TaskInstanceServiceGetMappedTaskInstanceTriesDefaultResponse = + Awaited>; +export type TaskInstanceServiceGetMappedTaskInstanceTriesQueryResult< + TData = TaskInstanceServiceGetMappedTaskInstanceTriesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetMappedTaskInstanceTriesKey = + "TaskInstanceServiceGetMappedTaskInstanceTries"; +export const UseTaskInstanceServiceGetMappedTaskInstanceTriesKeyFn = ( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetMappedTaskInstanceTriesKey, + ...(queryKey ?? [ + { dagId, dagRunId, limit, mapIndex, offset, orderBy, taskId }, + ]), +]; +export type TaskInstanceServiceGetMappedTaskInstanceTryDetailsDefaultResponse = + Awaited< + ReturnType + >; +export type TaskInstanceServiceGetMappedTaskInstanceTryDetailsQueryResult< + TData = TaskInstanceServiceGetMappedTaskInstanceTryDetailsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetMappedTaskInstanceTryDetailsKey = + "TaskInstanceServiceGetMappedTaskInstanceTryDetails"; +export const UseTaskInstanceServiceGetMappedTaskInstanceTryDetailsKeyFn = ( + { + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + taskTryNumber: number; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetMappedTaskInstanceTryDetailsKey, + ...(queryKey ?? [{ dagId, dagRunId, mapIndex, taskId, taskTryNumber }]), +]; +export type TaskInstanceServiceGetExtraLinksDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetExtraLinksQueryResult< + TData = TaskInstanceServiceGetExtraLinksDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetExtraLinksKey = + "TaskInstanceServiceGetExtraLinks"; +export const UseTaskInstanceServiceGetExtraLinksKeyFn = ( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetExtraLinksKey, + ...(queryKey ?? [{ dagId, dagRunId, taskId }]), +]; +export type TaskInstanceServiceGetLogDefaultResponse = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetLogQueryResult< + TData = TaskInstanceServiceGetLogDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useTaskInstanceServiceGetLogKey = "TaskInstanceServiceGetLog"; +export const UseTaskInstanceServiceGetLogKeyFn = ( + { + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }: { + dagId: string; + dagRunId: string; + fullContent?: boolean; + mapIndex?: number; + taskId: string; + taskTryNumber: number; + token?: string; + }, + queryKey?: Array +) => [ + useTaskInstanceServiceGetLogKey, + ...(queryKey ?? [ + { dagId, dagRunId, fullContent, mapIndex, taskId, taskTryNumber, token }, + ]), +]; +export type DagRunServiceGetDagRunsDefaultResponse = Awaited< + ReturnType +>; +export type DagRunServiceGetDagRunsQueryResult< + TData = DagRunServiceGetDagRunsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagRunServiceGetDagRunsKey = "DagRunServiceGetDagRuns"; +export const UseDagRunServiceGetDagRunsKeyFn = ( + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + fields?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: Array +) => [ + useDagRunServiceGetDagRunsKey, + ...(queryKey ?? [ + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + ]), +]; +export type DagRunServiceGetDagRunDefaultResponse = Awaited< + ReturnType +>; +export type DagRunServiceGetDagRunQueryResult< + TData = DagRunServiceGetDagRunDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagRunServiceGetDagRunKey = "DagRunServiceGetDagRun"; +export const UseDagRunServiceGetDagRunKeyFn = ( + { + dagId, + dagRunId, + fields, + }: { + dagId: string; + dagRunId: string; + fields?: string[]; + }, + queryKey?: Array +) => [ + useDagRunServiceGetDagRunKey, + ...(queryKey ?? [{ dagId, dagRunId, fields }]), +]; +export type DagRunServiceGetUpstreamDatasetEventsDefaultResponse = Awaited< + ReturnType +>; +export type DagRunServiceGetUpstreamDatasetEventsQueryResult< + TData = DagRunServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagRunServiceGetUpstreamDatasetEventsKey = + "DagRunServiceGetUpstreamDatasetEvents"; +export const UseDagRunServiceGetUpstreamDatasetEventsKeyFn = ( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: Array +) => [ + useDagRunServiceGetUpstreamDatasetEventsKey, + ...(queryKey ?? [{ dagId, dagRunId }]), +]; +export type DatasetServiceGetUpstreamDatasetEventsDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetUpstreamDatasetEventsQueryResult< + TData = DatasetServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetUpstreamDatasetEventsKey = + "DatasetServiceGetUpstreamDatasetEvents"; +export const UseDatasetServiceGetUpstreamDatasetEventsKeyFn = ( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: Array +) => [ + useDatasetServiceGetUpstreamDatasetEventsKey, + ...(queryKey ?? [{ dagId, dagRunId }]), +]; +export type DatasetServiceGetDagDatasetQueuedEventDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDagDatasetQueuedEventQueryResult< + TData = DatasetServiceGetDagDatasetQueuedEventDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDagDatasetQueuedEventKey = + "DatasetServiceGetDagDatasetQueuedEvent"; +export const UseDatasetServiceGetDagDatasetQueuedEventKeyFn = ( + { + before, + dagId, + uri, + }: { + before?: string; + dagId: string; + uri: string; + }, + queryKey?: Array +) => [ + useDatasetServiceGetDagDatasetQueuedEventKey, + ...(queryKey ?? [{ before, dagId, uri }]), +]; +export type DatasetServiceGetDagDatasetQueuedEventsDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDagDatasetQueuedEventsQueryResult< + TData = DatasetServiceGetDagDatasetQueuedEventsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDagDatasetQueuedEventsKey = + "DatasetServiceGetDagDatasetQueuedEvents"; +export const UseDatasetServiceGetDagDatasetQueuedEventsKeyFn = ( + { + before, + dagId, + }: { + before?: string; + dagId: string; + }, + queryKey?: Array +) => [ + useDatasetServiceGetDagDatasetQueuedEventsKey, + ...(queryKey ?? [{ before, dagId }]), +]; +export type DatasetServiceGetDatasetQueuedEventsDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDatasetQueuedEventsQueryResult< + TData = DatasetServiceGetDatasetQueuedEventsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDatasetQueuedEventsKey = + "DatasetServiceGetDatasetQueuedEvents"; +export const UseDatasetServiceGetDatasetQueuedEventsKeyFn = ( + { + before, + uri, + }: { + before?: string; + uri: string; + }, + queryKey?: Array +) => [ + useDatasetServiceGetDatasetQueuedEventsKey, + ...(queryKey ?? [{ before, uri }]), +]; +export type DatasetServiceGetDatasetsDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDatasetsQueryResult< + TData = DatasetServiceGetDatasetsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDatasetsKey = "DatasetServiceGetDatasets"; +export const UseDatasetServiceGetDatasetsKeyFn = ( + { + dagIds, + limit, + offset, + orderBy, + uriPattern, + }: { + dagIds?: string; + limit?: number; + offset?: number; + orderBy?: string; + uriPattern?: string; + } = {}, + queryKey?: Array +) => [ + useDatasetServiceGetDatasetsKey, + ...(queryKey ?? [{ dagIds, limit, offset, orderBy, uriPattern }]), +]; +export type DatasetServiceGetDatasetDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDatasetQueryResult< + TData = DatasetServiceGetDatasetDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDatasetKey = "DatasetServiceGetDataset"; +export const UseDatasetServiceGetDatasetKeyFn = ( + { + uri, + }: { + uri: string; + }, + queryKey?: Array +) => [useDatasetServiceGetDatasetKey, ...(queryKey ?? [{ uri }])]; +export type DatasetServiceGetDatasetEventsDefaultResponse = Awaited< + ReturnType +>; +export type DatasetServiceGetDatasetEventsQueryResult< + TData = DatasetServiceGetDatasetEventsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDatasetServiceGetDatasetEventsKey = + "DatasetServiceGetDatasetEvents"; +export const UseDatasetServiceGetDatasetEventsKeyFn = ( + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }: { + datasetId?: number; + limit?: number; + offset?: number; + orderBy?: string; + sourceDagId?: string; + sourceMapIndex?: number; + sourceRunId?: string; + sourceTaskId?: string; + } = {}, + queryKey?: Array +) => [ + useDatasetServiceGetDatasetEventsKey, + ...(queryKey ?? [ + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }, + ]), +]; +export type EventLogServiceGetEventLogsDefaultResponse = Awaited< + ReturnType +>; +export type EventLogServiceGetEventLogsQueryResult< + TData = EventLogServiceGetEventLogsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useEventLogServiceGetEventLogsKey = "EventLogServiceGetEventLogs"; +export const UseEventLogServiceGetEventLogsKeyFn = ( + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }: { + after?: string; + before?: string; + dagId?: string; + event?: string; + excludedEvents?: string; + includedEvents?: string; + limit?: number; + mapIndex?: number; + offset?: number; + orderBy?: string; + owner?: string; + runId?: string; + taskId?: string; + tryNumber?: number; + } = {}, + queryKey?: Array +) => [ + useEventLogServiceGetEventLogsKey, + ...(queryKey ?? [ + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }, + ]), +]; +export type EventLogServiceGetEventLogDefaultResponse = Awaited< + ReturnType +>; +export type EventLogServiceGetEventLogQueryResult< + TData = EventLogServiceGetEventLogDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useEventLogServiceGetEventLogKey = "EventLogServiceGetEventLog"; +export const UseEventLogServiceGetEventLogKeyFn = ( + { + eventLogId, + }: { + eventLogId: number; + }, + queryKey?: Array +) => [useEventLogServiceGetEventLogKey, ...(queryKey ?? [{ eventLogId }])]; +export type ImportErrorServiceGetImportErrorsDefaultResponse = Awaited< + ReturnType +>; +export type ImportErrorServiceGetImportErrorsQueryResult< + TData = ImportErrorServiceGetImportErrorsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useImportErrorServiceGetImportErrorsKey = + "ImportErrorServiceGetImportErrors"; +export const UseImportErrorServiceGetImportErrorsKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [ + useImportErrorServiceGetImportErrorsKey, + ...(queryKey ?? [{ limit, offset, orderBy }]), +]; +export type ImportErrorServiceGetImportErrorDefaultResponse = Awaited< + ReturnType +>; +export type ImportErrorServiceGetImportErrorQueryResult< + TData = ImportErrorServiceGetImportErrorDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useImportErrorServiceGetImportErrorKey = + "ImportErrorServiceGetImportError"; +export const UseImportErrorServiceGetImportErrorKeyFn = ( + { + importErrorId, + }: { + importErrorId: number; + }, + queryKey?: Array +) => [ + useImportErrorServiceGetImportErrorKey, + ...(queryKey ?? [{ importErrorId }]), +]; +export type PoolServiceGetPoolsDefaultResponse = Awaited< + ReturnType +>; +export type PoolServiceGetPoolsQueryResult< + TData = PoolServiceGetPoolsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const usePoolServiceGetPoolsKey = "PoolServiceGetPools"; +export const UsePoolServiceGetPoolsKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [usePoolServiceGetPoolsKey, ...(queryKey ?? [{ limit, offset, orderBy }])]; +export type PoolServiceGetPoolDefaultResponse = Awaited< + ReturnType +>; +export type PoolServiceGetPoolQueryResult< + TData = PoolServiceGetPoolDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const usePoolServiceGetPoolKey = "PoolServiceGetPool"; +export const UsePoolServiceGetPoolKeyFn = ( + { + poolName, + }: { + poolName: string; + }, + queryKey?: Array +) => [usePoolServiceGetPoolKey, ...(queryKey ?? [{ poolName }])]; +export type ProviderServiceGetProvidersDefaultResponse = Awaited< + ReturnType +>; +export type ProviderServiceGetProvidersQueryResult< + TData = ProviderServiceGetProvidersDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useProviderServiceGetProvidersKey = "ProviderServiceGetProviders"; +export const UseProviderServiceGetProvidersKeyFn = ( + queryKey?: Array +) => [useProviderServiceGetProvidersKey, ...(queryKey ?? [])]; +export type VariableServiceGetVariablesDefaultResponse = Awaited< + ReturnType +>; +export type VariableServiceGetVariablesQueryResult< + TData = VariableServiceGetVariablesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useVariableServiceGetVariablesKey = "VariableServiceGetVariables"; +export const UseVariableServiceGetVariablesKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [ + useVariableServiceGetVariablesKey, + ...(queryKey ?? [{ limit, offset, orderBy }]), +]; +export type VariableServiceGetVariableDefaultResponse = Awaited< + ReturnType +>; +export type VariableServiceGetVariableQueryResult< + TData = VariableServiceGetVariableDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useVariableServiceGetVariableKey = "VariableServiceGetVariable"; +export const UseVariableServiceGetVariableKeyFn = ( + { + variableKey, + }: { + variableKey: string; + }, + queryKey?: Array +) => [useVariableServiceGetVariableKey, ...(queryKey ?? [{ variableKey }])]; +export type XcomServiceGetXcomEntriesDefaultResponse = Awaited< + ReturnType +>; +export type XcomServiceGetXcomEntriesQueryResult< + TData = XcomServiceGetXcomEntriesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useXcomServiceGetXcomEntriesKey = "XcomServiceGetXcomEntries"; +export const UseXcomServiceGetXcomEntriesKeyFn = ( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex?: number; + offset?: number; + taskId: string; + xcomKey?: string; + }, + queryKey?: Array +) => [ + useXcomServiceGetXcomEntriesKey, + ...(queryKey ?? [ + { dagId, dagRunId, limit, mapIndex, offset, taskId, xcomKey }, + ]), +]; +export type XcomServiceGetXcomEntryDefaultResponse = Awaited< + ReturnType +>; +export type XcomServiceGetXcomEntryQueryResult< + TData = XcomServiceGetXcomEntryDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useXcomServiceGetXcomEntryKey = "XcomServiceGetXcomEntry"; +export const UseXcomServiceGetXcomEntryKeyFn = ( + { + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + deserialize?: boolean; + mapIndex?: number; + stringify?: boolean; + taskId: string; + xcomKey: string; + }, + queryKey?: Array +) => [ + useXcomServiceGetXcomEntryKey, + ...(queryKey ?? [ + { dagId, dagRunId, deserialize, mapIndex, stringify, taskId, xcomKey }, + ]), +]; +export type DagStatsServiceGetDagStatsDefaultResponse = Awaited< + ReturnType +>; +export type DagStatsServiceGetDagStatsQueryResult< + TData = DagStatsServiceGetDagStatsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagStatsServiceGetDagStatsKey = "DagStatsServiceGetDagStats"; +export const UseDagStatsServiceGetDagStatsKeyFn = ( + { + dagIds, + }: { + dagIds: string; + }, + queryKey?: Array +) => [useDagStatsServiceGetDagStatsKey, ...(queryKey ?? [{ dagIds }])]; +export type DagWarningServiceGetDagWarningsDefaultResponse = Awaited< + ReturnType +>; +export type DagWarningServiceGetDagWarningsQueryResult< + TData = DagWarningServiceGetDagWarningsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useDagWarningServiceGetDagWarningsKey = + "DagWarningServiceGetDagWarnings"; +export const UseDagWarningServiceGetDagWarningsKeyFn = ( + { + dagId, + limit, + offset, + orderBy, + warningType, + }: { + dagId?: string; + limit?: number; + offset?: number; + orderBy?: string; + warningType?: string; + } = {}, + queryKey?: Array +) => [ + useDagWarningServiceGetDagWarningsKey, + ...(queryKey ?? [{ dagId, limit, offset, orderBy, warningType }]), +]; +export type ConfigServiceGetConfigDefaultResponse = Awaited< + ReturnType +>; +export type ConfigServiceGetConfigQueryResult< + TData = ConfigServiceGetConfigDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useConfigServiceGetConfigKey = "ConfigServiceGetConfig"; +export const UseConfigServiceGetConfigKeyFn = ( + { + section, + }: { + section?: string; + } = {}, + queryKey?: Array +) => [useConfigServiceGetConfigKey, ...(queryKey ?? [{ section }])]; +export type ConfigServiceGetValueDefaultResponse = Awaited< + ReturnType +>; +export type ConfigServiceGetValueQueryResult< + TData = ConfigServiceGetValueDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useConfigServiceGetValueKey = "ConfigServiceGetValue"; +export const UseConfigServiceGetValueKeyFn = ( + { + option, + section, + }: { + option: string; + section: string; + }, + queryKey?: Array +) => [useConfigServiceGetValueKey, ...(queryKey ?? [{ option, section }])]; +export type MonitoringServiceGetHealthDefaultResponse = Awaited< + ReturnType +>; +export type MonitoringServiceGetHealthQueryResult< + TData = MonitoringServiceGetHealthDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useMonitoringServiceGetHealthKey = "MonitoringServiceGetHealth"; +export const UseMonitoringServiceGetHealthKeyFn = ( + queryKey?: Array +) => [useMonitoringServiceGetHealthKey, ...(queryKey ?? [])]; +export type MonitoringServiceGetVersionDefaultResponse = Awaited< + ReturnType +>; +export type MonitoringServiceGetVersionQueryResult< + TData = MonitoringServiceGetVersionDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useMonitoringServiceGetVersionKey = "MonitoringServiceGetVersion"; +export const UseMonitoringServiceGetVersionKeyFn = ( + queryKey?: Array +) => [useMonitoringServiceGetVersionKey, ...(queryKey ?? [])]; +export type PluginServiceGetPluginsDefaultResponse = Awaited< + ReturnType +>; +export type PluginServiceGetPluginsQueryResult< + TData = PluginServiceGetPluginsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const usePluginServiceGetPluginsKey = "PluginServiceGetPlugins"; +export const UsePluginServiceGetPluginsKeyFn = ( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: Array +) => [usePluginServiceGetPluginsKey, ...(queryKey ?? [{ limit, offset }])]; +export type RoleServiceGetRolesDefaultResponse = Awaited< + ReturnType +>; +export type RoleServiceGetRolesQueryResult< + TData = RoleServiceGetRolesDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useRoleServiceGetRolesKey = "RoleServiceGetRoles"; +export const UseRoleServiceGetRolesKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [useRoleServiceGetRolesKey, ...(queryKey ?? [{ limit, offset, orderBy }])]; +export type RoleServiceGetRoleDefaultResponse = Awaited< + ReturnType +>; +export type RoleServiceGetRoleQueryResult< + TData = RoleServiceGetRoleDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useRoleServiceGetRoleKey = "RoleServiceGetRole"; +export const UseRoleServiceGetRoleKeyFn = ( + { + roleName, + }: { + roleName: string; + }, + queryKey?: Array +) => [useRoleServiceGetRoleKey, ...(queryKey ?? [{ roleName }])]; +export type PermissionServiceGetPermissionsDefaultResponse = Awaited< + ReturnType +>; +export type PermissionServiceGetPermissionsQueryResult< + TData = PermissionServiceGetPermissionsDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const usePermissionServiceGetPermissionsKey = + "PermissionServiceGetPermissions"; +export const UsePermissionServiceGetPermissionsKeyFn = ( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: Array +) => [ + usePermissionServiceGetPermissionsKey, + ...(queryKey ?? [{ limit, offset }]), +]; +export type UserServiceGetUsersDefaultResponse = Awaited< + ReturnType +>; +export type UserServiceGetUsersQueryResult< + TData = UserServiceGetUsersDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useUserServiceGetUsersKey = "UserServiceGetUsers"; +export const UseUserServiceGetUsersKeyFn = ( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: Array +) => [useUserServiceGetUsersKey, ...(queryKey ?? [{ limit, offset, orderBy }])]; +export type UserServiceGetUserDefaultResponse = Awaited< + ReturnType +>; +export type UserServiceGetUserQueryResult< + TData = UserServiceGetUserDefaultResponse, + TError = unknown, +> = UseQueryResult; +export const useUserServiceGetUserKey = "UserServiceGetUser"; +export const UseUserServiceGetUserKeyFn = ( + { + username, + }: { + username: string; + }, + queryKey?: Array +) => [useUserServiceGetUserKey, ...(queryKey ?? [{ username }])]; +export type ConnectionServicePostConnectionMutationResult = Awaited< + ReturnType +>; +export type ConnectionServiceTestConnectionMutationResult = Awaited< + ReturnType +>; +export type DagServicePostClearTaskInstancesMutationResult = Awaited< + ReturnType +>; +export type DagServicePostSetTaskInstancesStateMutationResult = Awaited< + ReturnType +>; +export type TaskInstanceServiceGetTaskInstancesBatchMutationResult = Awaited< + ReturnType +>; +export type DagRunServicePostDagRunMutationResult = Awaited< + ReturnType +>; +export type DagRunServiceGetDagRunsBatchMutationResult = Awaited< + ReturnType +>; +export type DagRunServiceClearDagRunMutationResult = Awaited< + ReturnType +>; +export type DatasetServiceCreateDatasetEventMutationResult = Awaited< + ReturnType +>; +export type PoolServicePostPoolMutationResult = Awaited< + ReturnType +>; +export type VariableServicePostVariablesMutationResult = Awaited< + ReturnType +>; +export type RoleServicePostRoleMutationResult = Awaited< + ReturnType +>; +export type UserServicePostUserMutationResult = Awaited< + ReturnType +>; +export type DagServiceReparseDagFileMutationResult = Awaited< + ReturnType +>; +export type ConnectionServicePatchConnectionMutationResult = Awaited< + ReturnType +>; +export type DagServicePatchDagsMutationResult = Awaited< + ReturnType +>; +export type DagServicePatchDagMutationResult = Awaited< + ReturnType +>; +export type TaskInstanceServiceSetTaskInstanceNoteMutationResult = Awaited< + ReturnType +>; +export type TaskInstanceServiceSetMappedTaskInstanceNoteMutationResult = + Awaited>; +export type TaskInstanceServicePatchTaskInstanceMutationResult = Awaited< + ReturnType +>; +export type TaskInstanceServicePatchMappedTaskInstanceMutationResult = Awaited< + ReturnType +>; +export type DagRunServiceUpdateDagRunStateMutationResult = Awaited< + ReturnType +>; +export type DagRunServiceSetDagRunNoteMutationResult = Awaited< + ReturnType +>; +export type PoolServicePatchPoolMutationResult = Awaited< + ReturnType +>; +export type VariableServicePatchVariableMutationResult = Awaited< + ReturnType +>; +export type RoleServicePatchRoleMutationResult = Awaited< + ReturnType +>; +export type UserServicePatchUserMutationResult = Awaited< + ReturnType +>; +export type ConnectionServiceDeleteConnectionMutationResult = Awaited< + ReturnType +>; +export type DagServiceDeleteDagMutationResult = Awaited< + ReturnType +>; +export type DagRunServiceDeleteDagRunMutationResult = Awaited< + ReturnType +>; +export type DatasetServiceDeleteDagDatasetQueuedEventMutationResult = Awaited< + ReturnType +>; +export type DatasetServiceDeleteDagDatasetQueuedEventsMutationResult = Awaited< + ReturnType +>; +export type DatasetServiceDeleteDatasetQueuedEventsMutationResult = Awaited< + ReturnType +>; +export type PoolServiceDeletePoolMutationResult = Awaited< + ReturnType +>; +export type VariableServiceDeleteVariableMutationResult = Awaited< + ReturnType +>; +export type RoleServiceDeleteRoleMutationResult = Awaited< + ReturnType +>; +export type UserServiceDeleteUserMutationResult = Awaited< + ReturnType +>; diff --git a/airflow/ui/openapi-gen/queries/index.ts b/airflow/ui/openapi-gen/queries/index.ts new file mode 100644 index 0000000000000..f9175269e31a5 --- /dev/null +++ b/airflow/ui/openapi-gen/queries/index.ts @@ -0,0 +1,4 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 + +export * from "./common"; +export * from "./queries"; diff --git a/airflow/ui/openapi-gen/queries/infiniteQueries.ts b/airflow/ui/openapi-gen/queries/infiniteQueries.ts new file mode 100644 index 0000000000000..505a8d455464d --- /dev/null +++ b/airflow/ui/openapi-gen/queries/infiniteQueries.ts @@ -0,0 +1 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 diff --git a/airflow/ui/openapi-gen/queries/prefetch.ts b/airflow/ui/openapi-gen/queries/prefetch.ts new file mode 100644 index 0000000000000..8ee7e41f2dbdb --- /dev/null +++ b/airflow/ui/openapi-gen/queries/prefetch.ts @@ -0,0 +1,1357 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 + +import { type QueryClient } from "@tanstack/react-query"; +import { + ConfigService, + ConnectionService, + DagRunService, + DagService, + DagStatsService, + DagWarningService, + DatasetService, + EventLogService, + ImportErrorService, + MonitoringService, + PermissionService, + PluginService, + PoolService, + ProviderService, + RoleService, + TaskInstanceService, + UserService, + VariableService, + XcomService, +} from "../requests/services.gen"; +import * as Common from "./common"; +export const prefetchUseConnectionServiceGetConnections = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseConnectionServiceGetConnectionsKeyFn({ + limit, + offset, + orderBy, + }), + queryFn: () => ConnectionService.getConnections({ limit, offset, orderBy }), + }); +export const prefetchUseConnectionServiceGetConnection = ( + queryClient: QueryClient, + { + connectionId, + }: { + connectionId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseConnectionServiceGetConnectionKeyFn({ connectionId }), + queryFn: () => ConnectionService.getConnection({ connectionId }), + }); +export const prefetchUseDagServiceGetDags = ( + queryClient: QueryClient, + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }: { + dagIdPattern?: string; + fields?: string[]; + limit?: number; + offset?: number; + onlyActive?: boolean; + orderBy?: string; + paused?: boolean; + tags?: string[]; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetDagsKeyFn({ + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }), + queryFn: () => + DagService.getDags({ + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }), + }); +export const prefetchUseDagServiceGetDag = ( + queryClient: QueryClient, + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetDagKeyFn({ dagId, fields }), + queryFn: () => DagService.getDag({ dagId, fields }), + }); +export const prefetchUseDagServiceGetDagDetails = ( + queryClient: QueryClient, + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetDagDetailsKeyFn({ dagId, fields }), + queryFn: () => DagService.getDagDetails({ dagId, fields }), + }); +export const prefetchUseDagServiceGetTasks = ( + queryClient: QueryClient, + { + dagId, + orderBy, + }: { + dagId: string; + orderBy?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetTasksKeyFn({ dagId, orderBy }), + queryFn: () => DagService.getTasks({ dagId, orderBy }), + }); +export const prefetchUseDagServiceGetTask = ( + queryClient: QueryClient, + { + dagId, + taskId, + }: { + dagId: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetTaskKeyFn({ dagId, taskId }), + queryFn: () => DagService.getTask({ dagId, taskId }), + }); +export const prefetchUseDagServiceGetDagSource = ( + queryClient: QueryClient, + { + fileToken, + }: { + fileToken: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagServiceGetDagSourceKeyFn({ fileToken }), + queryFn: () => DagService.getDagSource({ fileToken }), + }); +export const prefetchUseTaskInstanceServiceGetTaskInstanceDependencies = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceDependenciesKeyFn({ + dagId, + dagRunId, + taskId, + }), + queryFn: () => + TaskInstanceService.getTaskInstanceDependencies({ + dagId, + dagRunId, + taskId, + }), + }); +export const prefetchUseTaskInstanceServiceGetMappedTaskInstanceDependencies = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: + Common.UseTaskInstanceServiceGetMappedTaskInstanceDependenciesKeyFn({ + dagId, + dagRunId, + mapIndex, + taskId, + }), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceDependencies({ + dagId, + dagRunId, + mapIndex, + taskId, + }), + }); +export const prefetchUseTaskInstanceServiceGetTaskInstances = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstancesKeyFn({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }), + queryFn: () => + TaskInstanceService.getTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }), + }); +export const prefetchUseTaskInstanceServiceGetTaskInstance = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceKeyFn({ + dagId, + dagRunId, + taskId, + }), + queryFn: () => + TaskInstanceService.getTaskInstance({ dagId, dagRunId, taskId }), + }); +export const prefetchUseTaskInstanceServiceGetMappedTaskInstance = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceKeyFn({ + dagId, + dagRunId, + mapIndex, + taskId, + }), + queryFn: () => + TaskInstanceService.getMappedTaskInstance({ + dagId, + dagRunId, + mapIndex, + taskId, + }), + }); +export const prefetchUseTaskInstanceServiceGetMappedTaskInstances = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + taskId: string; + updatedAtGte?: string; + updatedAtLte?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstancesKeyFn({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }), + queryFn: () => + TaskInstanceService.getMappedTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }), + }); +export const prefetchUseTaskInstanceServiceGetTaskInstanceTryDetails = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + taskId: string; + taskTryNumber: number; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTryDetailsKeyFn({ + dagId, + dagRunId, + taskId, + taskTryNumber, + }), + queryFn: () => + TaskInstanceService.getTaskInstanceTryDetails({ + dagId, + dagRunId, + taskId, + taskTryNumber, + }), + }); +export const prefetchUseTaskInstanceServiceGetTaskInstanceTries = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + offset?: number; + orderBy?: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTriesKeyFn({ + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }), + queryFn: () => + TaskInstanceService.getTaskInstanceTries({ + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }), + }); +export const prefetchUseTaskInstanceServiceGetMappedTaskInstanceTries = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex: number; + offset?: number; + orderBy?: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTriesKeyFn({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }), + }); +export const prefetchUseTaskInstanceServiceGetMappedTaskInstanceTryDetails = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + taskTryNumber: number; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTryDetailsKeyFn( + { dagId, dagRunId, mapIndex, taskId, taskTryNumber } + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTryDetails({ + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }), + }); +export const prefetchUseTaskInstanceServiceGetExtraLinks = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetExtraLinksKeyFn({ + dagId, + dagRunId, + taskId, + }), + queryFn: () => + TaskInstanceService.getExtraLinks({ dagId, dagRunId, taskId }), + }); +export const prefetchUseTaskInstanceServiceGetLog = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }: { + dagId: string; + dagRunId: string; + fullContent?: boolean; + mapIndex?: number; + taskId: string; + taskTryNumber: number; + token?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseTaskInstanceServiceGetLogKeyFn({ + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }), + queryFn: () => + TaskInstanceService.getLog({ + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }), + }); +export const prefetchUseDagRunServiceGetDagRuns = ( + queryClient: QueryClient, + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + fields?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagRunServiceGetDagRunsKeyFn({ + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }), + queryFn: () => + DagRunService.getDagRuns({ + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }), + }); +export const prefetchUseDagRunServiceGetDagRun = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + fields, + }: { + dagId: string; + dagRunId: string; + fields?: string[]; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagRunServiceGetDagRunKeyFn({ + dagId, + dagRunId, + fields, + }), + queryFn: () => DagRunService.getDagRun({ dagId, dagRunId, fields }), + }); +export const prefetchUseDagRunServiceGetUpstreamDatasetEvents = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagRunServiceGetUpstreamDatasetEventsKeyFn({ + dagId, + dagRunId, + }), + queryFn: () => DagRunService.getUpstreamDatasetEvents({ dagId, dagRunId }), + }); +export const prefetchUseDatasetServiceGetUpstreamDatasetEvents = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetUpstreamDatasetEventsKeyFn({ + dagId, + dagRunId, + }), + queryFn: () => DatasetService.getUpstreamDatasetEvents({ dagId, dagRunId }), + }); +export const prefetchUseDatasetServiceGetDagDatasetQueuedEvent = ( + queryClient: QueryClient, + { + before, + dagId, + uri, + }: { + before?: string; + dagId: string; + uri: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventKeyFn({ + before, + dagId, + uri, + }), + queryFn: () => + DatasetService.getDagDatasetQueuedEvent({ before, dagId, uri }), + }); +export const prefetchUseDatasetServiceGetDagDatasetQueuedEvents = ( + queryClient: QueryClient, + { + before, + dagId, + }: { + before?: string; + dagId: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventsKeyFn({ + before, + dagId, + }), + queryFn: () => DatasetService.getDagDatasetQueuedEvents({ before, dagId }), + }); +export const prefetchUseDatasetServiceGetDatasetQueuedEvents = ( + queryClient: QueryClient, + { + before, + uri, + }: { + before?: string; + uri: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDatasetQueuedEventsKeyFn({ + before, + uri, + }), + queryFn: () => DatasetService.getDatasetQueuedEvents({ before, uri }), + }); +export const prefetchUseDatasetServiceGetDatasets = ( + queryClient: QueryClient, + { + dagIds, + limit, + offset, + orderBy, + uriPattern, + }: { + dagIds?: string; + limit?: number; + offset?: number; + orderBy?: string; + uriPattern?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDatasetsKeyFn({ + dagIds, + limit, + offset, + orderBy, + uriPattern, + }), + queryFn: () => + DatasetService.getDatasets({ + dagIds, + limit, + offset, + orderBy, + uriPattern, + }), + }); +export const prefetchUseDatasetServiceGetDataset = ( + queryClient: QueryClient, + { + uri, + }: { + uri: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDatasetKeyFn({ uri }), + queryFn: () => DatasetService.getDataset({ uri }), + }); +export const prefetchUseDatasetServiceGetDatasetEvents = ( + queryClient: QueryClient, + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }: { + datasetId?: number; + limit?: number; + offset?: number; + orderBy?: string; + sourceDagId?: string; + sourceMapIndex?: number; + sourceRunId?: string; + sourceTaskId?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDatasetServiceGetDatasetEventsKeyFn({ + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }), + queryFn: () => + DatasetService.getDatasetEvents({ + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }), + }); +export const prefetchUseEventLogServiceGetEventLogs = ( + queryClient: QueryClient, + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }: { + after?: string; + before?: string; + dagId?: string; + event?: string; + excludedEvents?: string; + includedEvents?: string; + limit?: number; + mapIndex?: number; + offset?: number; + orderBy?: string; + owner?: string; + runId?: string; + taskId?: string; + tryNumber?: number; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseEventLogServiceGetEventLogsKeyFn({ + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }), + queryFn: () => + EventLogService.getEventLogs({ + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }), + }); +export const prefetchUseEventLogServiceGetEventLog = ( + queryClient: QueryClient, + { + eventLogId, + }: { + eventLogId: number; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseEventLogServiceGetEventLogKeyFn({ eventLogId }), + queryFn: () => EventLogService.getEventLog({ eventLogId }), + }); +export const prefetchUseImportErrorServiceGetImportErrors = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorsKeyFn({ + limit, + offset, + orderBy, + }), + queryFn: () => + ImportErrorService.getImportErrors({ limit, offset, orderBy }), + }); +export const prefetchUseImportErrorServiceGetImportError = ( + queryClient: QueryClient, + { + importErrorId, + }: { + importErrorId: number; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorKeyFn({ + importErrorId, + }), + queryFn: () => ImportErrorService.getImportError({ importErrorId }), + }); +export const prefetchUsePoolServiceGetPools = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UsePoolServiceGetPoolsKeyFn({ limit, offset, orderBy }), + queryFn: () => PoolService.getPools({ limit, offset, orderBy }), + }); +export const prefetchUsePoolServiceGetPool = ( + queryClient: QueryClient, + { + poolName, + }: { + poolName: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UsePoolServiceGetPoolKeyFn({ poolName }), + queryFn: () => PoolService.getPool({ poolName }), + }); +export const prefetchUseProviderServiceGetProviders = ( + queryClient: QueryClient +) => + queryClient.prefetchQuery({ + queryKey: Common.UseProviderServiceGetProvidersKeyFn(), + queryFn: () => ProviderService.getProviders(), + }); +export const prefetchUseVariableServiceGetVariables = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseVariableServiceGetVariablesKeyFn({ + limit, + offset, + orderBy, + }), + queryFn: () => VariableService.getVariables({ limit, offset, orderBy }), + }); +export const prefetchUseVariableServiceGetVariable = ( + queryClient: QueryClient, + { + variableKey, + }: { + variableKey: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseVariableServiceGetVariableKeyFn({ variableKey }), + queryFn: () => VariableService.getVariable({ variableKey }), + }); +export const prefetchUseXcomServiceGetXcomEntries = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex?: number; + offset?: number; + taskId: string; + xcomKey?: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseXcomServiceGetXcomEntriesKeyFn({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }), + queryFn: () => + XcomService.getXcomEntries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }), + }); +export const prefetchUseXcomServiceGetXcomEntry = ( + queryClient: QueryClient, + { + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + deserialize?: boolean; + mapIndex?: number; + stringify?: boolean; + taskId: string; + xcomKey: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseXcomServiceGetXcomEntryKeyFn({ + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }), + queryFn: () => + XcomService.getXcomEntry({ + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }), + }); +export const prefetchUseDagStatsServiceGetDagStats = ( + queryClient: QueryClient, + { + dagIds, + }: { + dagIds: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagStatsServiceGetDagStatsKeyFn({ dagIds }), + queryFn: () => DagStatsService.getDagStats({ dagIds }), + }); +export const prefetchUseDagWarningServiceGetDagWarnings = ( + queryClient: QueryClient, + { + dagId, + limit, + offset, + orderBy, + warningType, + }: { + dagId?: string; + limit?: number; + offset?: number; + orderBy?: string; + warningType?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseDagWarningServiceGetDagWarningsKeyFn({ + dagId, + limit, + offset, + orderBy, + warningType, + }), + queryFn: () => + DagWarningService.getDagWarnings({ + dagId, + limit, + offset, + orderBy, + warningType, + }), + }); +export const prefetchUseConfigServiceGetConfig = ( + queryClient: QueryClient, + { + section, + }: { + section?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseConfigServiceGetConfigKeyFn({ section }), + queryFn: () => ConfigService.getConfig({ section }), + }); +export const prefetchUseConfigServiceGetValue = ( + queryClient: QueryClient, + { + option, + section, + }: { + option: string; + section: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseConfigServiceGetValueKeyFn({ option, section }), + queryFn: () => ConfigService.getValue({ option, section }), + }); +export const prefetchUseMonitoringServiceGetHealth = ( + queryClient: QueryClient +) => + queryClient.prefetchQuery({ + queryKey: Common.UseMonitoringServiceGetHealthKeyFn(), + queryFn: () => MonitoringService.getHealth(), + }); +export const prefetchUseMonitoringServiceGetVersion = ( + queryClient: QueryClient +) => + queryClient.prefetchQuery({ + queryKey: Common.UseMonitoringServiceGetVersionKeyFn(), + queryFn: () => MonitoringService.getVersion(), + }); +export const prefetchUsePluginServiceGetPlugins = ( + queryClient: QueryClient, + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UsePluginServiceGetPluginsKeyFn({ limit, offset }), + queryFn: () => PluginService.getPlugins({ limit, offset }), + }); +export const prefetchUseRoleServiceGetRoles = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseRoleServiceGetRolesKeyFn({ limit, offset, orderBy }), + queryFn: () => RoleService.getRoles({ limit, offset, orderBy }), + }); +export const prefetchUseRoleServiceGetRole = ( + queryClient: QueryClient, + { + roleName, + }: { + roleName: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseRoleServiceGetRoleKeyFn({ roleName }), + queryFn: () => RoleService.getRole({ roleName }), + }); +export const prefetchUsePermissionServiceGetPermissions = ( + queryClient: QueryClient, + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UsePermissionServiceGetPermissionsKeyFn({ limit, offset }), + queryFn: () => PermissionService.getPermissions({ limit, offset }), + }); +export const prefetchUseUserServiceGetUsers = ( + queryClient: QueryClient, + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {} +) => + queryClient.prefetchQuery({ + queryKey: Common.UseUserServiceGetUsersKeyFn({ limit, offset, orderBy }), + queryFn: () => UserService.getUsers({ limit, offset, orderBy }), + }); +export const prefetchUseUserServiceGetUser = ( + queryClient: QueryClient, + { + username, + }: { + username: string; + } +) => + queryClient.prefetchQuery({ + queryKey: Common.UseUserServiceGetUserKeyFn({ username }), + queryFn: () => UserService.getUser({ username }), + }); diff --git a/airflow/ui/openapi-gen/queries/queries.ts b/airflow/ui/openapi-gen/queries/queries.ts new file mode 100644 index 0000000000000..2b696212971a4 --- /dev/null +++ b/airflow/ui/openapi-gen/queries/queries.ts @@ -0,0 +1,2990 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 + +import { + UseMutationOptions, + UseQueryOptions, + useMutation, + useQuery, +} from "@tanstack/react-query"; +import { + ConfigService, + ConnectionService, + DagRunService, + DagService, + DagStatsService, + DagWarningService, + DatasetService, + EventLogService, + ImportErrorService, + MonitoringService, + PermissionService, + PluginService, + PoolService, + ProviderService, + RoleService, + TaskInstanceService, + UserService, + VariableService, + XcomService, +} from "../requests/services.gen"; +import { + ClearDagRun, + ClearTaskInstances, + Connection, + CreateDatasetEvent, + DAG, + DAGRun, + ListDagRunsForm, + ListTaskInstanceForm, + Pool, + Role, + SetDagRunNote, + SetTaskInstanceNote, + UpdateDagRunState, + UpdateTaskInstance, + UpdateTaskInstancesState, + User, + Variable, +} from "../requests/types.gen"; +import * as Common from "./common"; +export const useConnectionServiceGetConnections = < + TData = Common.ConnectionServiceGetConnectionsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseConnectionServiceGetConnectionsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + ConnectionService.getConnections({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useConnectionServiceGetConnection = < + TData = Common.ConnectionServiceGetConnectionDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + connectionId, + }: { + connectionId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseConnectionServiceGetConnectionKeyFn( + { connectionId }, + queryKey + ), + queryFn: () => ConnectionService.getConnection({ connectionId }) as TData, + ...options, + }); +export const useDagServiceGetDags = < + TData = Common.DagServiceGetDagsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }: { + dagIdPattern?: string; + fields?: string[]; + limit?: number; + offset?: number; + onlyActive?: boolean; + orderBy?: string; + paused?: boolean; + tags?: string[]; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetDagsKeyFn( + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }, + queryKey + ), + queryFn: () => + DagService.getDags({ + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }) as TData, + ...options, + }); +export const useDagServiceGetDag = < + TData = Common.DagServiceGetDagDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetDagKeyFn({ dagId, fields }, queryKey), + queryFn: () => DagService.getDag({ dagId, fields }) as TData, + ...options, + }); +export const useDagServiceGetDagDetails = < + TData = Common.DagServiceGetDagDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetDagDetailsKeyFn( + { dagId, fields }, + queryKey + ), + queryFn: () => DagService.getDagDetails({ dagId, fields }) as TData, + ...options, + }); +export const useDagServiceGetTasks = < + TData = Common.DagServiceGetTasksDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + orderBy, + }: { + dagId: string; + orderBy?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetTasksKeyFn({ dagId, orderBy }, queryKey), + queryFn: () => DagService.getTasks({ dagId, orderBy }) as TData, + ...options, + }); +export const useDagServiceGetTask = < + TData = Common.DagServiceGetTaskDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + taskId, + }: { + dagId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetTaskKeyFn({ dagId, taskId }, queryKey), + queryFn: () => DagService.getTask({ dagId, taskId }) as TData, + ...options, + }); +export const useDagServiceGetDagSource = < + TData = Common.DagServiceGetDagSourceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + fileToken, + }: { + fileToken: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagServiceGetDagSourceKeyFn({ fileToken }, queryKey), + queryFn: () => DagService.getDagSource({ fileToken }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceDependencies = < + TData = Common.TaskInstanceServiceGetTaskInstanceDependenciesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceDependenciesKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceDependencies({ + dagId, + dagRunId, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceDependencies = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceDependenciesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: + Common.UseTaskInstanceServiceGetMappedTaskInstanceDependenciesKeyFn( + { dagId, dagRunId, mapIndex, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceDependencies({ + dagId, + dagRunId, + mapIndex, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstances = < + TData = Common.TaskInstanceServiceGetTaskInstancesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstancesKeyFn( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstance = < + TData = Common.TaskInstanceServiceGetTaskInstanceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstance({ dagId, dagRunId, taskId }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstance = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceKeyFn( + { dagId, dagRunId, mapIndex, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstance({ + dagId, + dagRunId, + mapIndex, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstances = < + TData = Common.TaskInstanceServiceGetMappedTaskInstancesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + taskId: string; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstancesKeyFn( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceTryDetails = < + TData = Common.TaskInstanceServiceGetTaskInstanceTryDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + taskId: string; + taskTryNumber: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTryDetailsKeyFn( + { dagId, dagRunId, taskId, taskTryNumber }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceTryDetails({ + dagId, + dagRunId, + taskId, + taskTryNumber, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceTries = < + TData = Common.TaskInstanceServiceGetTaskInstanceTriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTriesKeyFn( + { dagId, dagRunId, limit, offset, orderBy, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceTries({ + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceTries = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceTriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTriesKeyFn( + { dagId, dagRunId, limit, mapIndex, offset, orderBy, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceTryDetails = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceTryDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + taskTryNumber: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTryDetailsKeyFn( + { dagId, dagRunId, mapIndex, taskId, taskTryNumber }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTryDetails({ + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetExtraLinks = < + TData = Common.TaskInstanceServiceGetExtraLinksDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetExtraLinksKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getExtraLinks({ dagId, dagRunId, taskId }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetLog = < + TData = Common.TaskInstanceServiceGetLogDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }: { + dagId: string; + dagRunId: string; + fullContent?: boolean; + mapIndex?: number; + taskId: string; + taskTryNumber: number; + token?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseTaskInstanceServiceGetLogKeyFn( + { dagId, dagRunId, fullContent, mapIndex, taskId, taskTryNumber, token }, + queryKey + ), + queryFn: () => + TaskInstanceService.getLog({ + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }) as TData, + ...options, + }); +export const useDagRunServiceGetDagRuns = < + TData = Common.DagRunServiceGetDagRunsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + fields?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagRunServiceGetDagRunsKeyFn( + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + DagRunService.getDagRuns({ + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useDagRunServiceGetDagRun = < + TData = Common.DagRunServiceGetDagRunDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + fields, + }: { + dagId: string; + dagRunId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagRunServiceGetDagRunKeyFn( + { dagId, dagRunId, fields }, + queryKey + ), + queryFn: () => + DagRunService.getDagRun({ dagId, dagRunId, fields }) as TData, + ...options, + }); +export const useDagRunServiceGetUpstreamDatasetEvents = < + TData = Common.DagRunServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagRunServiceGetUpstreamDatasetEventsKeyFn( + { dagId, dagRunId }, + queryKey + ), + queryFn: () => + DagRunService.getUpstreamDatasetEvents({ dagId, dagRunId }) as TData, + ...options, + }); +export const useDatasetServiceGetUpstreamDatasetEvents = < + TData = Common.DatasetServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetUpstreamDatasetEventsKeyFn( + { dagId, dagRunId }, + queryKey + ), + queryFn: () => + DatasetService.getUpstreamDatasetEvents({ dagId, dagRunId }) as TData, + ...options, + }); +export const useDatasetServiceGetDagDatasetQueuedEvent = < + TData = Common.DatasetServiceGetDagDatasetQueuedEventDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + dagId, + uri, + }: { + before?: string; + dagId: string; + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventKeyFn( + { before, dagId, uri }, + queryKey + ), + queryFn: () => + DatasetService.getDagDatasetQueuedEvent({ before, dagId, uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDagDatasetQueuedEvents = < + TData = Common.DatasetServiceGetDagDatasetQueuedEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + dagId, + }: { + before?: string; + dagId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventsKeyFn( + { before, dagId }, + queryKey + ), + queryFn: () => + DatasetService.getDagDatasetQueuedEvents({ before, dagId }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetQueuedEvents = < + TData = Common.DatasetServiceGetDatasetQueuedEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + uri, + }: { + before?: string; + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDatasetQueuedEventsKeyFn( + { before, uri }, + queryKey + ), + queryFn: () => + DatasetService.getDatasetQueuedEvents({ before, uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasets = < + TData = Common.DatasetServiceGetDatasetsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIds, + limit, + offset, + orderBy, + uriPattern, + }: { + dagIds?: string; + limit?: number; + offset?: number; + orderBy?: string; + uriPattern?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDatasetsKeyFn( + { dagIds, limit, offset, orderBy, uriPattern }, + queryKey + ), + queryFn: () => + DatasetService.getDatasets({ + dagIds, + limit, + offset, + orderBy, + uriPattern, + }) as TData, + ...options, + }); +export const useDatasetServiceGetDataset = < + TData = Common.DatasetServiceGetDatasetDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + uri, + }: { + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDatasetKeyFn({ uri }, queryKey), + queryFn: () => DatasetService.getDataset({ uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetEvents = < + TData = Common.DatasetServiceGetDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }: { + datasetId?: number; + limit?: number; + offset?: number; + orderBy?: string; + sourceDagId?: string; + sourceMapIndex?: number; + sourceRunId?: string; + sourceTaskId?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDatasetServiceGetDatasetEventsKeyFn( + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }, + queryKey + ), + queryFn: () => + DatasetService.getDatasetEvents({ + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }) as TData, + ...options, + }); +export const useEventLogServiceGetEventLogs = < + TData = Common.EventLogServiceGetEventLogsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }: { + after?: string; + before?: string; + dagId?: string; + event?: string; + excludedEvents?: string; + includedEvents?: string; + limit?: number; + mapIndex?: number; + offset?: number; + orderBy?: string; + owner?: string; + runId?: string; + taskId?: string; + tryNumber?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseEventLogServiceGetEventLogsKeyFn( + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }, + queryKey + ), + queryFn: () => + EventLogService.getEventLogs({ + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }) as TData, + ...options, + }); +export const useEventLogServiceGetEventLog = < + TData = Common.EventLogServiceGetEventLogDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + eventLogId, + }: { + eventLogId: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseEventLogServiceGetEventLogKeyFn( + { eventLogId }, + queryKey + ), + queryFn: () => EventLogService.getEventLog({ eventLogId }) as TData, + ...options, + }); +export const useImportErrorServiceGetImportErrors = < + TData = Common.ImportErrorServiceGetImportErrorsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + ImportErrorService.getImportErrors({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useImportErrorServiceGetImportError = < + TData = Common.ImportErrorServiceGetImportErrorDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + importErrorId, + }: { + importErrorId: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorKeyFn( + { importErrorId }, + queryKey + ), + queryFn: () => + ImportErrorService.getImportError({ importErrorId }) as TData, + ...options, + }); +export const usePoolServiceGetPools = < + TData = Common.PoolServiceGetPoolsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UsePoolServiceGetPoolsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => PoolService.getPools({ limit, offset, orderBy }) as TData, + ...options, + }); +export const usePoolServiceGetPool = < + TData = Common.PoolServiceGetPoolDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + poolName, + }: { + poolName: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UsePoolServiceGetPoolKeyFn({ poolName }, queryKey), + queryFn: () => PoolService.getPool({ poolName }) as TData, + ...options, + }); +export const useProviderServiceGetProviders = < + TData = Common.ProviderServiceGetProvidersDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseProviderServiceGetProvidersKeyFn(queryKey), + queryFn: () => ProviderService.getProviders() as TData, + ...options, + }); +export const useVariableServiceGetVariables = < + TData = Common.VariableServiceGetVariablesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseVariableServiceGetVariablesKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + VariableService.getVariables({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useVariableServiceGetVariable = < + TData = Common.VariableServiceGetVariableDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + variableKey, + }: { + variableKey: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseVariableServiceGetVariableKeyFn( + { variableKey }, + queryKey + ), + queryFn: () => VariableService.getVariable({ variableKey }) as TData, + ...options, + }); +export const useXcomServiceGetXcomEntries = < + TData = Common.XcomServiceGetXcomEntriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex?: number; + offset?: number; + taskId: string; + xcomKey?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseXcomServiceGetXcomEntriesKeyFn( + { dagId, dagRunId, limit, mapIndex, offset, taskId, xcomKey }, + queryKey + ), + queryFn: () => + XcomService.getXcomEntries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }) as TData, + ...options, + }); +export const useXcomServiceGetXcomEntry = < + TData = Common.XcomServiceGetXcomEntryDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + deserialize?: boolean; + mapIndex?: number; + stringify?: boolean; + taskId: string; + xcomKey: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseXcomServiceGetXcomEntryKeyFn( + { dagId, dagRunId, deserialize, mapIndex, stringify, taskId, xcomKey }, + queryKey + ), + queryFn: () => + XcomService.getXcomEntry({ + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }) as TData, + ...options, + }); +export const useDagStatsServiceGetDagStats = < + TData = Common.DagStatsServiceGetDagStatsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIds, + }: { + dagIds: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagStatsServiceGetDagStatsKeyFn({ dagIds }, queryKey), + queryFn: () => DagStatsService.getDagStats({ dagIds }) as TData, + ...options, + }); +export const useDagWarningServiceGetDagWarnings = < + TData = Common.DagWarningServiceGetDagWarningsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + limit, + offset, + orderBy, + warningType, + }: { + dagId?: string; + limit?: number; + offset?: number; + orderBy?: string; + warningType?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseDagWarningServiceGetDagWarningsKeyFn( + { dagId, limit, offset, orderBy, warningType }, + queryKey + ), + queryFn: () => + DagWarningService.getDagWarnings({ + dagId, + limit, + offset, + orderBy, + warningType, + }) as TData, + ...options, + }); +export const useConfigServiceGetConfig = < + TData = Common.ConfigServiceGetConfigDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + section, + }: { + section?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseConfigServiceGetConfigKeyFn({ section }, queryKey), + queryFn: () => ConfigService.getConfig({ section }) as TData, + ...options, + }); +export const useConfigServiceGetValue = < + TData = Common.ConfigServiceGetValueDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + option, + section, + }: { + option: string; + section: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseConfigServiceGetValueKeyFn( + { option, section }, + queryKey + ), + queryFn: () => ConfigService.getValue({ option, section }) as TData, + ...options, + }); +export const useMonitoringServiceGetHealth = < + TData = Common.MonitoringServiceGetHealthDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseMonitoringServiceGetHealthKeyFn(queryKey), + queryFn: () => MonitoringService.getHealth() as TData, + ...options, + }); +export const useMonitoringServiceGetVersion = < + TData = Common.MonitoringServiceGetVersionDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseMonitoringServiceGetVersionKeyFn(queryKey), + queryFn: () => MonitoringService.getVersion() as TData, + ...options, + }); +export const usePluginServiceGetPlugins = < + TData = Common.PluginServiceGetPluginsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UsePluginServiceGetPluginsKeyFn( + { limit, offset }, + queryKey + ), + queryFn: () => PluginService.getPlugins({ limit, offset }) as TData, + ...options, + }); +export const useRoleServiceGetRoles = < + TData = Common.RoleServiceGetRolesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseRoleServiceGetRolesKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => RoleService.getRoles({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useRoleServiceGetRole = < + TData = Common.RoleServiceGetRoleDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + roleName, + }: { + roleName: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseRoleServiceGetRoleKeyFn({ roleName }, queryKey), + queryFn: () => RoleService.getRole({ roleName }) as TData, + ...options, + }); +export const usePermissionServiceGetPermissions = < + TData = Common.PermissionServiceGetPermissionsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UsePermissionServiceGetPermissionsKeyFn( + { limit, offset }, + queryKey + ), + queryFn: () => PermissionService.getPermissions({ limit, offset }) as TData, + ...options, + }); +export const useUserServiceGetUsers = < + TData = Common.UserServiceGetUsersDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseUserServiceGetUsersKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => UserService.getUsers({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useUserServiceGetUser = < + TData = Common.UserServiceGetUserDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + username, + }: { + username: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useQuery({ + queryKey: Common.UseUserServiceGetUserKeyFn({ username }, queryKey), + queryFn: () => UserService.getUser({ username }) as TData, + ...options, + }); +export const useConnectionServicePostConnection = < + TData = Common.ConnectionServicePostConnectionMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Connection; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Connection; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + ConnectionService.postConnection({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useConnectionServiceTestConnection = < + TData = Common.ConnectionServiceTestConnectionMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Connection; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Connection; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + ConnectionService.testConnection({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagServicePostClearTaskInstances = < + TData = Common.DagServicePostClearTaskInstancesMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + requestBody: ClearTaskInstances; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + requestBody: ClearTaskInstances; + }, + TContext + >({ + mutationFn: ({ dagId, requestBody }) => + DagService.postClearTaskInstances({ + dagId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagServicePostSetTaskInstancesState = < + TData = Common.DagServicePostSetTaskInstancesStateMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + requestBody: UpdateTaskInstancesState; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + requestBody: UpdateTaskInstancesState; + }, + TContext + >({ + mutationFn: ({ dagId, requestBody }) => + DagService.postSetTaskInstancesState({ + dagId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstancesBatch = < + TData = Common.TaskInstanceServiceGetTaskInstancesBatchMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: ListTaskInstanceForm; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: ListTaskInstanceForm; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + TaskInstanceService.getTaskInstancesBatch({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagRunServicePostDagRun = < + TData = Common.DagRunServicePostDagRunMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + requestBody: DAGRun; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + requestBody: DAGRun; + }, + TContext + >({ + mutationFn: ({ dagId, requestBody }) => + DagRunService.postDagRun({ + dagId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagRunServiceGetDagRunsBatch = < + TData = Common.DagRunServiceGetDagRunsBatchMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: ListDagRunsForm; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: ListDagRunsForm; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + DagRunService.getDagRunsBatch({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagRunServiceClearDagRun = < + TData = Common.DagRunServiceClearDagRunMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: ClearDagRun; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: ClearDagRun; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, requestBody }) => + DagRunService.clearDagRun({ + dagId, + dagRunId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDatasetServiceCreateDatasetEvent = < + TData = Common.DatasetServiceCreateDatasetEventMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: CreateDatasetEvent; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: CreateDatasetEvent; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + DatasetService.createDatasetEvent({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const usePoolServicePostPool = < + TData = Common.PoolServicePostPoolMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Pool; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Pool; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + PoolService.postPool({ requestBody }) as unknown as Promise, + ...options, + }); +export const useVariableServicePostVariables = < + TData = Common.VariableServicePostVariablesMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Variable; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Variable; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + VariableService.postVariables({ + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useRoleServicePostRole = < + TData = Common.RoleServicePostRoleMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Role; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Role; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + RoleService.postRole({ requestBody }) as unknown as Promise, + ...options, + }); +export const useUserServicePostUser = < + TData = Common.UserServicePostUserMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: User; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: User; + }, + TContext + >({ + mutationFn: ({ requestBody }) => + UserService.postUser({ requestBody }) as unknown as Promise, + ...options, + }); +export const useDagServiceReparseDagFile = < + TData = Common.DagServiceReparseDagFileMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + fileToken: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + fileToken: string; + }, + TContext + >({ + mutationFn: ({ fileToken }) => + DagService.reparseDagFile({ fileToken }) as unknown as Promise, + ...options, + }); +export const useConnectionServicePatchConnection = < + TData = Common.ConnectionServicePatchConnectionMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + connectionId: string; + requestBody: Connection; + updateMask?: string[]; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + connectionId: string; + requestBody: Connection; + updateMask?: string[]; + }, + TContext + >({ + mutationFn: ({ connectionId, requestBody, updateMask }) => + ConnectionService.patchConnection({ + connectionId, + requestBody, + updateMask, + }) as unknown as Promise, + ...options, + }); +export const useDagServicePatchDags = < + TData = Common.DagServicePatchDagsMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagIdPattern: string; + limit?: number; + offset?: number; + onlyActive?: boolean; + requestBody: DAG; + tags?: string[]; + updateMask?: string[]; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagIdPattern: string; + limit?: number; + offset?: number; + onlyActive?: boolean; + requestBody: DAG; + tags?: string[]; + updateMask?: string[]; + }, + TContext + >({ + mutationFn: ({ + dagIdPattern, + limit, + offset, + onlyActive, + requestBody, + tags, + updateMask, + }) => + DagService.patchDags({ + dagIdPattern, + limit, + offset, + onlyActive, + requestBody, + tags, + updateMask, + }) as unknown as Promise, + ...options, + }); +export const useDagServicePatchDag = < + TData = Common.DagServicePatchDagMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + requestBody: DAG; + updateMask?: string[]; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + requestBody: DAG; + updateMask?: string[]; + }, + TContext + >({ + mutationFn: ({ dagId, requestBody, updateMask }) => + DagService.patchDag({ + dagId, + requestBody, + updateMask, + }) as unknown as Promise, + ...options, + }); +export const useTaskInstanceServiceSetTaskInstanceNote = < + TData = Common.TaskInstanceServiceSetTaskInstanceNoteMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: SetTaskInstanceNote; + taskId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: SetTaskInstanceNote; + taskId: string; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, requestBody, taskId }) => + TaskInstanceService.setTaskInstanceNote({ + dagId, + dagRunId, + requestBody, + taskId, + }) as unknown as Promise, + ...options, + }); +export const useTaskInstanceServiceSetMappedTaskInstanceNote = < + TData = Common.TaskInstanceServiceSetMappedTaskInstanceNoteMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + mapIndex: number; + requestBody: SetTaskInstanceNote; + taskId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + mapIndex: number; + requestBody: SetTaskInstanceNote; + taskId: string; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, mapIndex, requestBody, taskId }) => + TaskInstanceService.setMappedTaskInstanceNote({ + dagId, + dagRunId, + mapIndex, + requestBody, + taskId, + }) as unknown as Promise, + ...options, + }); +export const useTaskInstanceServicePatchTaskInstance = < + TData = Common.TaskInstanceServicePatchTaskInstanceMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: UpdateTaskInstance; + taskId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: UpdateTaskInstance; + taskId: string; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, requestBody, taskId }) => + TaskInstanceService.patchTaskInstance({ + dagId, + dagRunId, + requestBody, + taskId, + }) as unknown as Promise, + ...options, + }); +export const useTaskInstanceServicePatchMappedTaskInstance = < + TData = Common.TaskInstanceServicePatchMappedTaskInstanceMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + mapIndex: number; + requestBody?: UpdateTaskInstance; + taskId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + mapIndex: number; + requestBody?: UpdateTaskInstance; + taskId: string; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, mapIndex, requestBody, taskId }) => + TaskInstanceService.patchMappedTaskInstance({ + dagId, + dagRunId, + mapIndex, + requestBody, + taskId, + }) as unknown as Promise, + ...options, + }); +export const useDagRunServiceUpdateDagRunState = < + TData = Common.DagRunServiceUpdateDagRunStateMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: UpdateDagRunState; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: UpdateDagRunState; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, requestBody }) => + DagRunService.updateDagRunState({ + dagId, + dagRunId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const useDagRunServiceSetDagRunNote = < + TData = Common.DagRunServiceSetDagRunNoteMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: SetDagRunNote; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + requestBody: SetDagRunNote; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId, requestBody }) => + DagRunService.setDagRunNote({ + dagId, + dagRunId, + requestBody, + }) as unknown as Promise, + ...options, + }); +export const usePoolServicePatchPool = < + TData = Common.PoolServicePatchPoolMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + poolName: string; + requestBody: Pool; + updateMask?: string[]; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + poolName: string; + requestBody: Pool; + updateMask?: string[]; + }, + TContext + >({ + mutationFn: ({ poolName, requestBody, updateMask }) => + PoolService.patchPool({ + poolName, + requestBody, + updateMask, + }) as unknown as Promise, + ...options, + }); +export const useVariableServicePatchVariable = < + TData = Common.VariableServicePatchVariableMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Variable; + updateMask?: string[]; + variableKey: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Variable; + updateMask?: string[]; + variableKey: string; + }, + TContext + >({ + mutationFn: ({ requestBody, updateMask, variableKey }) => + VariableService.patchVariable({ + requestBody, + updateMask, + variableKey, + }) as unknown as Promise, + ...options, + }); +export const useRoleServicePatchRole = < + TData = Common.RoleServicePatchRoleMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: Role; + roleName: string; + updateMask?: string[]; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: Role; + roleName: string; + updateMask?: string[]; + }, + TContext + >({ + mutationFn: ({ requestBody, roleName, updateMask }) => + RoleService.patchRole({ + requestBody, + roleName, + updateMask, + }) as unknown as Promise, + ...options, + }); +export const useUserServicePatchUser = < + TData = Common.UserServicePatchUserMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + requestBody: User; + updateMask?: string[]; + username: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + requestBody: User; + updateMask?: string[]; + username: string; + }, + TContext + >({ + mutationFn: ({ requestBody, updateMask, username }) => + UserService.patchUser({ + requestBody, + updateMask, + username, + }) as unknown as Promise, + ...options, + }); +export const useConnectionServiceDeleteConnection = < + TData = Common.ConnectionServiceDeleteConnectionMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + connectionId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + connectionId: string; + }, + TContext + >({ + mutationFn: ({ connectionId }) => + ConnectionService.deleteConnection({ + connectionId, + }) as unknown as Promise, + ...options, + }); +export const useDagServiceDeleteDag = < + TData = Common.DagServiceDeleteDagMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + }, + TContext + >({ + mutationFn: ({ dagId }) => + DagService.deleteDag({ dagId }) as unknown as Promise, + ...options, + }); +export const useDagRunServiceDeleteDagRun = < + TData = Common.DagRunServiceDeleteDagRunMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + dagId: string; + dagRunId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + dagId: string; + dagRunId: string; + }, + TContext + >({ + mutationFn: ({ dagId, dagRunId }) => + DagRunService.deleteDagRun({ + dagId, + dagRunId, + }) as unknown as Promise, + ...options, + }); +export const useDatasetServiceDeleteDagDatasetQueuedEvent = < + TData = Common.DatasetServiceDeleteDagDatasetQueuedEventMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + before?: string; + dagId: string; + uri: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + before?: string; + dagId: string; + uri: string; + }, + TContext + >({ + mutationFn: ({ before, dagId, uri }) => + DatasetService.deleteDagDatasetQueuedEvent({ + before, + dagId, + uri, + }) as unknown as Promise, + ...options, + }); +export const useDatasetServiceDeleteDagDatasetQueuedEvents = < + TData = Common.DatasetServiceDeleteDagDatasetQueuedEventsMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + before?: string; + dagId: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + before?: string; + dagId: string; + }, + TContext + >({ + mutationFn: ({ before, dagId }) => + DatasetService.deleteDagDatasetQueuedEvents({ + before, + dagId, + }) as unknown as Promise, + ...options, + }); +export const useDatasetServiceDeleteDatasetQueuedEvents = < + TData = Common.DatasetServiceDeleteDatasetQueuedEventsMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + before?: string; + uri: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + before?: string; + uri: string; + }, + TContext + >({ + mutationFn: ({ before, uri }) => + DatasetService.deleteDatasetQueuedEvents({ + before, + uri, + }) as unknown as Promise, + ...options, + }); +export const usePoolServiceDeletePool = < + TData = Common.PoolServiceDeletePoolMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + poolName: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + poolName: string; + }, + TContext + >({ + mutationFn: ({ poolName }) => + PoolService.deletePool({ poolName }) as unknown as Promise, + ...options, + }); +export const useVariableServiceDeleteVariable = < + TData = Common.VariableServiceDeleteVariableMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + variableKey: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + variableKey: string; + }, + TContext + >({ + mutationFn: ({ variableKey }) => + VariableService.deleteVariable({ + variableKey, + }) as unknown as Promise, + ...options, + }); +export const useRoleServiceDeleteRole = < + TData = Common.RoleServiceDeleteRoleMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + roleName: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + roleName: string; + }, + TContext + >({ + mutationFn: ({ roleName }) => + RoleService.deleteRole({ roleName }) as unknown as Promise, + ...options, + }); +export const useUserServiceDeleteUser = < + TData = Common.UserServiceDeleteUserMutationResult, + TError = unknown, + TContext = unknown, +>( + options?: Omit< + UseMutationOptions< + TData, + TError, + { + username: string; + }, + TContext + >, + "mutationFn" + > +) => + useMutation< + TData, + TError, + { + username: string; + }, + TContext + >({ + mutationFn: ({ username }) => + UserService.deleteUser({ username }) as unknown as Promise, + ...options, + }); diff --git a/airflow/ui/openapi-gen/queries/suspense.ts b/airflow/ui/openapi-gen/queries/suspense.ts new file mode 100644 index 0000000000000..9deb9d659b40b --- /dev/null +++ b/airflow/ui/openapi-gen/queries/suspense.ts @@ -0,0 +1,1689 @@ +// generated with @7nohe/openapi-react-query-codegen@1.6.0 + +import { UseQueryOptions, useSuspenseQuery } from "@tanstack/react-query"; +import { + ConfigService, + ConnectionService, + DagRunService, + DagService, + DagStatsService, + DagWarningService, + DatasetService, + EventLogService, + ImportErrorService, + MonitoringService, + PermissionService, + PluginService, + PoolService, + ProviderService, + RoleService, + TaskInstanceService, + UserService, + VariableService, + XcomService, +} from "../requests/services.gen"; +import * as Common from "./common"; +export const useConnectionServiceGetConnectionsSuspense = < + TData = Common.ConnectionServiceGetConnectionsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseConnectionServiceGetConnectionsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + ConnectionService.getConnections({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useConnectionServiceGetConnectionSuspense = < + TData = Common.ConnectionServiceGetConnectionDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + connectionId, + }: { + connectionId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseConnectionServiceGetConnectionKeyFn( + { connectionId }, + queryKey + ), + queryFn: () => ConnectionService.getConnection({ connectionId }) as TData, + ...options, + }); +export const useDagServiceGetDagsSuspense = < + TData = Common.DagServiceGetDagsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }: { + dagIdPattern?: string; + fields?: string[]; + limit?: number; + offset?: number; + onlyActive?: boolean; + orderBy?: string; + paused?: boolean; + tags?: string[]; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetDagsKeyFn( + { + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }, + queryKey + ), + queryFn: () => + DagService.getDags({ + dagIdPattern, + fields, + limit, + offset, + onlyActive, + orderBy, + paused, + tags, + }) as TData, + ...options, + }); +export const useDagServiceGetDagSuspense = < + TData = Common.DagServiceGetDagDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetDagKeyFn({ dagId, fields }, queryKey), + queryFn: () => DagService.getDag({ dagId, fields }) as TData, + ...options, + }); +export const useDagServiceGetDagDetailsSuspense = < + TData = Common.DagServiceGetDagDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + fields, + }: { + dagId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetDagDetailsKeyFn( + { dagId, fields }, + queryKey + ), + queryFn: () => DagService.getDagDetails({ dagId, fields }) as TData, + ...options, + }); +export const useDagServiceGetTasksSuspense = < + TData = Common.DagServiceGetTasksDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + orderBy, + }: { + dagId: string; + orderBy?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetTasksKeyFn({ dagId, orderBy }, queryKey), + queryFn: () => DagService.getTasks({ dagId, orderBy }) as TData, + ...options, + }); +export const useDagServiceGetTaskSuspense = < + TData = Common.DagServiceGetTaskDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + taskId, + }: { + dagId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetTaskKeyFn({ dagId, taskId }, queryKey), + queryFn: () => DagService.getTask({ dagId, taskId }) as TData, + ...options, + }); +export const useDagServiceGetDagSourceSuspense = < + TData = Common.DagServiceGetDagSourceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + fileToken, + }: { + fileToken: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagServiceGetDagSourceKeyFn({ fileToken }, queryKey), + queryFn: () => DagService.getDagSource({ fileToken }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceDependenciesSuspense = < + TData = Common.TaskInstanceServiceGetTaskInstanceDependenciesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceDependenciesKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceDependencies({ + dagId, + dagRunId, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceDependenciesSuspense = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceDependenciesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: + Common.UseTaskInstanceServiceGetMappedTaskInstanceDependenciesKeyFn( + { dagId, dagRunId, mapIndex, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceDependencies({ + dagId, + dagRunId, + mapIndex, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstancesSuspense = < + TData = Common.TaskInstanceServiceGetTaskInstancesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstancesKeyFn( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceSuspense = < + TData = Common.TaskInstanceServiceGetTaskInstanceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstance({ dagId, dagRunId, taskId }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceSuspense = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceKeyFn( + { dagId, dagRunId, mapIndex, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstance({ + dagId, + dagRunId, + mapIndex, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstancesSuspense = < + TData = Common.TaskInstanceServiceGetMappedTaskInstancesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + dagRunId: string; + durationGte?: number; + durationLte?: number; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + executor?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + pool?: string[]; + queue?: string[]; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + taskId: string; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstancesKeyFn( + { + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstances({ + dagId, + dagRunId, + durationGte, + durationLte, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + executor, + limit, + offset, + orderBy, + pool, + queue, + startDateGte, + startDateLte, + state, + taskId, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceTryDetailsSuspense = < + TData = Common.TaskInstanceServiceGetTaskInstanceTryDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + taskId: string; + taskTryNumber: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTryDetailsKeyFn( + { dagId, dagRunId, taskId, taskTryNumber }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceTryDetails({ + dagId, + dagRunId, + taskId, + taskTryNumber, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetTaskInstanceTriesSuspense = < + TData = Common.TaskInstanceServiceGetTaskInstanceTriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetTaskInstanceTriesKeyFn( + { dagId, dagRunId, limit, offset, orderBy, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getTaskInstanceTries({ + dagId, + dagRunId, + limit, + offset, + orderBy, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceTriesSuspense = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceTriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex: number; + offset?: number; + orderBy?: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTriesKeyFn( + { dagId, dagRunId, limit, mapIndex, offset, orderBy, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + orderBy, + taskId, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetMappedTaskInstanceTryDetailsSuspense = < + TData = Common.TaskInstanceServiceGetMappedTaskInstanceTryDetailsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }: { + dagId: string; + dagRunId: string; + mapIndex: number; + taskId: string; + taskTryNumber: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetMappedTaskInstanceTryDetailsKeyFn( + { dagId, dagRunId, mapIndex, taskId, taskTryNumber }, + queryKey + ), + queryFn: () => + TaskInstanceService.getMappedTaskInstanceTryDetails({ + dagId, + dagRunId, + mapIndex, + taskId, + taskTryNumber, + }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetExtraLinksSuspense = < + TData = Common.TaskInstanceServiceGetExtraLinksDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + taskId, + }: { + dagId: string; + dagRunId: string; + taskId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetExtraLinksKeyFn( + { dagId, dagRunId, taskId }, + queryKey + ), + queryFn: () => + TaskInstanceService.getExtraLinks({ dagId, dagRunId, taskId }) as TData, + ...options, + }); +export const useTaskInstanceServiceGetLogSuspense = < + TData = Common.TaskInstanceServiceGetLogDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }: { + dagId: string; + dagRunId: string; + fullContent?: boolean; + mapIndex?: number; + taskId: string; + taskTryNumber: number; + token?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseTaskInstanceServiceGetLogKeyFn( + { dagId, dagRunId, fullContent, mapIndex, taskId, taskTryNumber, token }, + queryKey + ), + queryFn: () => + TaskInstanceService.getLog({ + dagId, + dagRunId, + fullContent, + mapIndex, + taskId, + taskTryNumber, + token, + }) as TData, + ...options, + }); +export const useDagRunServiceGetDagRunsSuspense = < + TData = Common.DagRunServiceGetDagRunsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }: { + dagId: string; + endDateGte?: string; + endDateLte?: string; + executionDateGte?: string; + executionDateLte?: string; + fields?: string[]; + limit?: number; + offset?: number; + orderBy?: string; + startDateGte?: string; + startDateLte?: string; + state?: string[]; + updatedAtGte?: string; + updatedAtLte?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagRunServiceGetDagRunsKeyFn( + { + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }, + queryKey + ), + queryFn: () => + DagRunService.getDagRuns({ + dagId, + endDateGte, + endDateLte, + executionDateGte, + executionDateLte, + fields, + limit, + offset, + orderBy, + startDateGte, + startDateLte, + state, + updatedAtGte, + updatedAtLte, + }) as TData, + ...options, + }); +export const useDagRunServiceGetDagRunSuspense = < + TData = Common.DagRunServiceGetDagRunDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + fields, + }: { + dagId: string; + dagRunId: string; + fields?: string[]; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagRunServiceGetDagRunKeyFn( + { dagId, dagRunId, fields }, + queryKey + ), + queryFn: () => + DagRunService.getDagRun({ dagId, dagRunId, fields }) as TData, + ...options, + }); +export const useDagRunServiceGetUpstreamDatasetEventsSuspense = < + TData = Common.DagRunServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagRunServiceGetUpstreamDatasetEventsKeyFn( + { dagId, dagRunId }, + queryKey + ), + queryFn: () => + DagRunService.getUpstreamDatasetEvents({ dagId, dagRunId }) as TData, + ...options, + }); +export const useDatasetServiceGetUpstreamDatasetEventsSuspense = < + TData = Common.DatasetServiceGetUpstreamDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + }: { + dagId: string; + dagRunId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetUpstreamDatasetEventsKeyFn( + { dagId, dagRunId }, + queryKey + ), + queryFn: () => + DatasetService.getUpstreamDatasetEvents({ dagId, dagRunId }) as TData, + ...options, + }); +export const useDatasetServiceGetDagDatasetQueuedEventSuspense = < + TData = Common.DatasetServiceGetDagDatasetQueuedEventDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + dagId, + uri, + }: { + before?: string; + dagId: string; + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventKeyFn( + { before, dagId, uri }, + queryKey + ), + queryFn: () => + DatasetService.getDagDatasetQueuedEvent({ before, dagId, uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDagDatasetQueuedEventsSuspense = < + TData = Common.DatasetServiceGetDagDatasetQueuedEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + dagId, + }: { + before?: string; + dagId: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDagDatasetQueuedEventsKeyFn( + { before, dagId }, + queryKey + ), + queryFn: () => + DatasetService.getDagDatasetQueuedEvents({ before, dagId }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetQueuedEventsSuspense = < + TData = Common.DatasetServiceGetDatasetQueuedEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + before, + uri, + }: { + before?: string; + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDatasetQueuedEventsKeyFn( + { before, uri }, + queryKey + ), + queryFn: () => + DatasetService.getDatasetQueuedEvents({ before, uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetsSuspense = < + TData = Common.DatasetServiceGetDatasetsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIds, + limit, + offset, + orderBy, + uriPattern, + }: { + dagIds?: string; + limit?: number; + offset?: number; + orderBy?: string; + uriPattern?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDatasetsKeyFn( + { dagIds, limit, offset, orderBy, uriPattern }, + queryKey + ), + queryFn: () => + DatasetService.getDatasets({ + dagIds, + limit, + offset, + orderBy, + uriPattern, + }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetSuspense = < + TData = Common.DatasetServiceGetDatasetDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + uri, + }: { + uri: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDatasetKeyFn({ uri }, queryKey), + queryFn: () => DatasetService.getDataset({ uri }) as TData, + ...options, + }); +export const useDatasetServiceGetDatasetEventsSuspense = < + TData = Common.DatasetServiceGetDatasetEventsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }: { + datasetId?: number; + limit?: number; + offset?: number; + orderBy?: string; + sourceDagId?: string; + sourceMapIndex?: number; + sourceRunId?: string; + sourceTaskId?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDatasetServiceGetDatasetEventsKeyFn( + { + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }, + queryKey + ), + queryFn: () => + DatasetService.getDatasetEvents({ + datasetId, + limit, + offset, + orderBy, + sourceDagId, + sourceMapIndex, + sourceRunId, + sourceTaskId, + }) as TData, + ...options, + }); +export const useEventLogServiceGetEventLogsSuspense = < + TData = Common.EventLogServiceGetEventLogsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }: { + after?: string; + before?: string; + dagId?: string; + event?: string; + excludedEvents?: string; + includedEvents?: string; + limit?: number; + mapIndex?: number; + offset?: number; + orderBy?: string; + owner?: string; + runId?: string; + taskId?: string; + tryNumber?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseEventLogServiceGetEventLogsKeyFn( + { + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }, + queryKey + ), + queryFn: () => + EventLogService.getEventLogs({ + after, + before, + dagId, + event, + excludedEvents, + includedEvents, + limit, + mapIndex, + offset, + orderBy, + owner, + runId, + taskId, + tryNumber, + }) as TData, + ...options, + }); +export const useEventLogServiceGetEventLogSuspense = < + TData = Common.EventLogServiceGetEventLogDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + eventLogId, + }: { + eventLogId: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseEventLogServiceGetEventLogKeyFn( + { eventLogId }, + queryKey + ), + queryFn: () => EventLogService.getEventLog({ eventLogId }) as TData, + ...options, + }); +export const useImportErrorServiceGetImportErrorsSuspense = < + TData = Common.ImportErrorServiceGetImportErrorsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + ImportErrorService.getImportErrors({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useImportErrorServiceGetImportErrorSuspense = < + TData = Common.ImportErrorServiceGetImportErrorDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + importErrorId, + }: { + importErrorId: number; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseImportErrorServiceGetImportErrorKeyFn( + { importErrorId }, + queryKey + ), + queryFn: () => + ImportErrorService.getImportError({ importErrorId }) as TData, + ...options, + }); +export const usePoolServiceGetPoolsSuspense = < + TData = Common.PoolServiceGetPoolsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UsePoolServiceGetPoolsKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => PoolService.getPools({ limit, offset, orderBy }) as TData, + ...options, + }); +export const usePoolServiceGetPoolSuspense = < + TData = Common.PoolServiceGetPoolDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + poolName, + }: { + poolName: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UsePoolServiceGetPoolKeyFn({ poolName }, queryKey), + queryFn: () => PoolService.getPool({ poolName }) as TData, + ...options, + }); +export const useProviderServiceGetProvidersSuspense = < + TData = Common.ProviderServiceGetProvidersDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseProviderServiceGetProvidersKeyFn(queryKey), + queryFn: () => ProviderService.getProviders() as TData, + ...options, + }); +export const useVariableServiceGetVariablesSuspense = < + TData = Common.VariableServiceGetVariablesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseVariableServiceGetVariablesKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => + VariableService.getVariables({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useVariableServiceGetVariableSuspense = < + TData = Common.VariableServiceGetVariableDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + variableKey, + }: { + variableKey: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseVariableServiceGetVariableKeyFn( + { variableKey }, + queryKey + ), + queryFn: () => VariableService.getVariable({ variableKey }) as TData, + ...options, + }); +export const useXcomServiceGetXcomEntriesSuspense = < + TData = Common.XcomServiceGetXcomEntriesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + limit?: number; + mapIndex?: number; + offset?: number; + taskId: string; + xcomKey?: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseXcomServiceGetXcomEntriesKeyFn( + { dagId, dagRunId, limit, mapIndex, offset, taskId, xcomKey }, + queryKey + ), + queryFn: () => + XcomService.getXcomEntries({ + dagId, + dagRunId, + limit, + mapIndex, + offset, + taskId, + xcomKey, + }) as TData, + ...options, + }); +export const useXcomServiceGetXcomEntrySuspense = < + TData = Common.XcomServiceGetXcomEntryDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }: { + dagId: string; + dagRunId: string; + deserialize?: boolean; + mapIndex?: number; + stringify?: boolean; + taskId: string; + xcomKey: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseXcomServiceGetXcomEntryKeyFn( + { dagId, dagRunId, deserialize, mapIndex, stringify, taskId, xcomKey }, + queryKey + ), + queryFn: () => + XcomService.getXcomEntry({ + dagId, + dagRunId, + deserialize, + mapIndex, + stringify, + taskId, + xcomKey, + }) as TData, + ...options, + }); +export const useDagStatsServiceGetDagStatsSuspense = < + TData = Common.DagStatsServiceGetDagStatsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagIds, + }: { + dagIds: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagStatsServiceGetDagStatsKeyFn({ dagIds }, queryKey), + queryFn: () => DagStatsService.getDagStats({ dagIds }) as TData, + ...options, + }); +export const useDagWarningServiceGetDagWarningsSuspense = < + TData = Common.DagWarningServiceGetDagWarningsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + dagId, + limit, + offset, + orderBy, + warningType, + }: { + dagId?: string; + limit?: number; + offset?: number; + orderBy?: string; + warningType?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseDagWarningServiceGetDagWarningsKeyFn( + { dagId, limit, offset, orderBy, warningType }, + queryKey + ), + queryFn: () => + DagWarningService.getDagWarnings({ + dagId, + limit, + offset, + orderBy, + warningType, + }) as TData, + ...options, + }); +export const useConfigServiceGetConfigSuspense = < + TData = Common.ConfigServiceGetConfigDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + section, + }: { + section?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseConfigServiceGetConfigKeyFn({ section }, queryKey), + queryFn: () => ConfigService.getConfig({ section }) as TData, + ...options, + }); +export const useConfigServiceGetValueSuspense = < + TData = Common.ConfigServiceGetValueDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + option, + section, + }: { + option: string; + section: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseConfigServiceGetValueKeyFn( + { option, section }, + queryKey + ), + queryFn: () => ConfigService.getValue({ option, section }) as TData, + ...options, + }); +export const useMonitoringServiceGetHealthSuspense = < + TData = Common.MonitoringServiceGetHealthDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseMonitoringServiceGetHealthKeyFn(queryKey), + queryFn: () => MonitoringService.getHealth() as TData, + ...options, + }); +export const useMonitoringServiceGetVersionSuspense = < + TData = Common.MonitoringServiceGetVersionDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseMonitoringServiceGetVersionKeyFn(queryKey), + queryFn: () => MonitoringService.getVersion() as TData, + ...options, + }); +export const usePluginServiceGetPluginsSuspense = < + TData = Common.PluginServiceGetPluginsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UsePluginServiceGetPluginsKeyFn( + { limit, offset }, + queryKey + ), + queryFn: () => PluginService.getPlugins({ limit, offset }) as TData, + ...options, + }); +export const useRoleServiceGetRolesSuspense = < + TData = Common.RoleServiceGetRolesDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseRoleServiceGetRolesKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => RoleService.getRoles({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useRoleServiceGetRoleSuspense = < + TData = Common.RoleServiceGetRoleDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + roleName, + }: { + roleName: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseRoleServiceGetRoleKeyFn({ roleName }, queryKey), + queryFn: () => RoleService.getRole({ roleName }) as TData, + ...options, + }); +export const usePermissionServiceGetPermissionsSuspense = < + TData = Common.PermissionServiceGetPermissionsDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + }: { + limit?: number; + offset?: number; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UsePermissionServiceGetPermissionsKeyFn( + { limit, offset }, + queryKey + ), + queryFn: () => PermissionService.getPermissions({ limit, offset }) as TData, + ...options, + }); +export const useUserServiceGetUsersSuspense = < + TData = Common.UserServiceGetUsersDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + limit, + offset, + orderBy, + }: { + limit?: number; + offset?: number; + orderBy?: string; + } = {}, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseUserServiceGetUsersKeyFn( + { limit, offset, orderBy }, + queryKey + ), + queryFn: () => UserService.getUsers({ limit, offset, orderBy }) as TData, + ...options, + }); +export const useUserServiceGetUserSuspense = < + TData = Common.UserServiceGetUserDefaultResponse, + TError = unknown, + TQueryKey extends Array = unknown[], +>( + { + username, + }: { + username: string; + }, + queryKey?: TQueryKey, + options?: Omit, "queryKey" | "queryFn"> +) => + useSuspenseQuery({ + queryKey: Common.UseUserServiceGetUserKeyFn({ username }, queryKey), + queryFn: () => UserService.getUser({ username }) as TData, + ...options, + }); diff --git a/airflow/ui/openapi-gen/requests/core/ApiError.ts b/airflow/ui/openapi-gen/requests/core/ApiError.ts new file mode 100644 index 0000000000000..47ac0058c3b2b --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/ApiError.ts @@ -0,0 +1,25 @@ +import type { ApiRequestOptions } from "./ApiRequestOptions"; +import type { ApiResult } from "./ApiResult"; + +export class ApiError extends Error { + public readonly url: string; + public readonly status: number; + public readonly statusText: string; + public readonly body: unknown; + public readonly request: ApiRequestOptions; + + constructor( + request: ApiRequestOptions, + response: ApiResult, + message: string + ) { + super(message); + + this.name = "ApiError"; + this.url = response.url; + this.status = response.status; + this.statusText = response.statusText; + this.body = response.body; + this.request = request; + } +} diff --git a/airflow/ui/openapi-gen/requests/core/ApiRequestOptions.ts b/airflow/ui/openapi-gen/requests/core/ApiRequestOptions.ts new file mode 100644 index 0000000000000..45e204fbca78c --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/ApiRequestOptions.ts @@ -0,0 +1,21 @@ +export type ApiRequestOptions = { + readonly body?: any; + readonly cookies?: Record; + readonly errors?: Record; + readonly formData?: Record | any[] | Blob | File; + readonly headers?: Record; + readonly mediaType?: string; + readonly method: + | "DELETE" + | "GET" + | "HEAD" + | "OPTIONS" + | "PATCH" + | "POST" + | "PUT"; + readonly path?: Record; + readonly query?: Record; + readonly responseHeader?: string; + readonly responseTransformer?: (data: unknown) => Promise; + readonly url: string; +}; diff --git a/airflow/ui/openapi-gen/requests/core/ApiResult.ts b/airflow/ui/openapi-gen/requests/core/ApiResult.ts new file mode 100644 index 0000000000000..05040ba816733 --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/ApiResult.ts @@ -0,0 +1,7 @@ +export type ApiResult = { + readonly body: TData; + readonly ok: boolean; + readonly status: number; + readonly statusText: string; + readonly url: string; +}; diff --git a/airflow/ui/openapi-gen/requests/core/CancelablePromise.ts b/airflow/ui/openapi-gen/requests/core/CancelablePromise.ts new file mode 100644 index 0000000000000..41e3d3cea9f09 --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/CancelablePromise.ts @@ -0,0 +1,126 @@ +export class CancelError extends Error { + constructor(message: string) { + super(message); + this.name = "CancelError"; + } + + public get isCancelled(): boolean { + return true; + } +} + +export interface OnCancel { + readonly isResolved: boolean; + readonly isRejected: boolean; + readonly isCancelled: boolean; + + (cancelHandler: () => void): void; +} + +export class CancelablePromise implements Promise { + private _isResolved: boolean; + private _isRejected: boolean; + private _isCancelled: boolean; + readonly cancelHandlers: (() => void)[]; + readonly promise: Promise; + private _resolve?: (value: T | PromiseLike) => void; + private _reject?: (reason?: unknown) => void; + + constructor( + executor: ( + resolve: (value: T | PromiseLike) => void, + reject: (reason?: unknown) => void, + onCancel: OnCancel + ) => void + ) { + this._isResolved = false; + this._isRejected = false; + this._isCancelled = false; + this.cancelHandlers = []; + this.promise = new Promise((resolve, reject) => { + this._resolve = resolve; + this._reject = reject; + + const onResolve = (value: T | PromiseLike): void => { + if (this._isResolved || this._isRejected || this._isCancelled) { + return; + } + this._isResolved = true; + if (this._resolve) this._resolve(value); + }; + + const onReject = (reason?: unknown): void => { + if (this._isResolved || this._isRejected || this._isCancelled) { + return; + } + this._isRejected = true; + if (this._reject) this._reject(reason); + }; + + const onCancel = (cancelHandler: () => void): void => { + if (this._isResolved || this._isRejected || this._isCancelled) { + return; + } + this.cancelHandlers.push(cancelHandler); + }; + + Object.defineProperty(onCancel, "isResolved", { + get: (): boolean => this._isResolved, + }); + + Object.defineProperty(onCancel, "isRejected", { + get: (): boolean => this._isRejected, + }); + + Object.defineProperty(onCancel, "isCancelled", { + get: (): boolean => this._isCancelled, + }); + + return executor(onResolve, onReject, onCancel as OnCancel); + }); + } + + get [Symbol.toStringTag]() { + return "Cancellable Promise"; + } + + public then( + onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, + onRejected?: ((reason: unknown) => TResult2 | PromiseLike) | null + ): Promise { + return this.promise.then(onFulfilled, onRejected); + } + + public catch( + onRejected?: ((reason: unknown) => TResult | PromiseLike) | null + ): Promise { + return this.promise.catch(onRejected); + } + + public finally(onFinally?: (() => void) | null): Promise { + return this.promise.finally(onFinally); + } + + public cancel(): void { + if (this._isResolved || this._isRejected || this._isCancelled) { + return; + } + this._isCancelled = true; + if (this.cancelHandlers.length) { + try { + for (const cancelHandler of this.cancelHandlers) { + cancelHandler(); + } + } catch (error) { + console.warn("Cancellation threw an error", error); + return; + } + } + this.cancelHandlers.length = 0; + if (this._reject) this._reject(new CancelError("Request aborted")); + } + + public get isCancelled(): boolean { + return this._isCancelled; + } +} diff --git a/airflow/ui/openapi-gen/requests/core/OpenAPI.ts b/airflow/ui/openapi-gen/requests/core/OpenAPI.ts new file mode 100644 index 0000000000000..8edc94e4c988f --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/OpenAPI.ts @@ -0,0 +1,57 @@ +import type { AxiosRequestConfig, AxiosResponse } from "axios"; +import type { ApiRequestOptions } from "./ApiRequestOptions"; + +type Headers = Record; +type Middleware = (value: T) => T | Promise; +type Resolver = (options: ApiRequestOptions) => Promise; + +export class Interceptors { + _fns: Middleware[]; + + constructor() { + this._fns = []; + } + + eject(fn: Middleware): void { + const index = this._fns.indexOf(fn); + if (index !== -1) { + this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)]; + } + } + + use(fn: Middleware): void { + this._fns = [...this._fns, fn]; + } +} + +export type OpenAPIConfig = { + BASE: string; + CREDENTIALS: "include" | "omit" | "same-origin"; + ENCODE_PATH?: ((path: string) => string) | undefined; + HEADERS?: Headers | Resolver | undefined; + PASSWORD?: string | Resolver | undefined; + TOKEN?: string | Resolver | undefined; + USERNAME?: string | Resolver | undefined; + VERSION: string; + WITH_CREDENTIALS: boolean; + interceptors: { + request: Interceptors; + response: Interceptors; + }; +}; + +export const OpenAPI: OpenAPIConfig = { + BASE: "/api/v1", + CREDENTIALS: "include", + ENCODE_PATH: undefined, + HEADERS: undefined, + PASSWORD: undefined, + TOKEN: undefined, + USERNAME: undefined, + VERSION: "2.9.0.dev0", + WITH_CREDENTIALS: false, + interceptors: { + request: new Interceptors(), + response: new Interceptors(), + }, +}; diff --git a/airflow/ui/openapi-gen/requests/core/request.ts b/airflow/ui/openapi-gen/requests/core/request.ts new file mode 100644 index 0000000000000..e54943e379dea --- /dev/null +++ b/airflow/ui/openapi-gen/requests/core/request.ts @@ -0,0 +1,387 @@ +import axios from "axios"; +import type { + AxiosError, + AxiosRequestConfig, + AxiosResponse, + AxiosInstance, +} from "axios"; + +import { ApiError } from "./ApiError"; +import type { ApiRequestOptions } from "./ApiRequestOptions"; +import type { ApiResult } from "./ApiResult"; +import { CancelablePromise } from "./CancelablePromise"; +import type { OnCancel } from "./CancelablePromise"; +import type { OpenAPIConfig } from "./OpenAPI"; + +export const isString = (value: unknown): value is string => { + return typeof value === "string"; +}; + +export const isStringWithValue = (value: unknown): value is string => { + return isString(value) && value !== ""; +}; + +export const isBlob = (value: any): value is Blob => { + return value instanceof Blob; +}; + +export const isFormData = (value: unknown): value is FormData => { + return value instanceof FormData; +}; + +export const isSuccess = (status: number): boolean => { + return status >= 200 && status < 300; +}; + +export const base64 = (str: string): string => { + try { + return btoa(str); + } catch (err) { + // @ts-ignore + return Buffer.from(str).toString("base64"); + } +}; + +export const getQueryString = (params: Record): string => { + const qs: string[] = []; + + const append = (key: string, value: unknown) => { + qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`); + }; + + const encodePair = (key: string, value: unknown) => { + if (value === undefined || value === null) { + return; + } + + if (value instanceof Date) { + append(key, value.toISOString()); + } else if (Array.isArray(value)) { + value.forEach((v) => encodePair(key, v)); + } else if (typeof value === "object") { + Object.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v)); + } else { + append(key, value); + } + }; + + Object.entries(params).forEach(([key, value]) => encodePair(key, value)); + + return qs.length ? `?${qs.join("&")}` : ""; +}; + +const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { + const encoder = config.ENCODE_PATH || encodeURI; + + const path = options.url + .replace("{api-version}", config.VERSION) + .replace(/{(.*?)}/g, (substring: string, group: string) => { + if (options.path?.hasOwnProperty(group)) { + return encoder(String(options.path[group])); + } + return substring; + }); + + const url = config.BASE + path; + return options.query ? url + getQueryString(options.query) : url; +}; + +export const getFormData = ( + options: ApiRequestOptions +): FormData | undefined => { + if (options.formData) { + const formData = new FormData(); + + const process = (key: string, value: unknown) => { + if (isString(value) || isBlob(value)) { + formData.append(key, value); + } else { + formData.append(key, JSON.stringify(value)); + } + }; + + Object.entries(options.formData) + .filter(([, value]) => value !== undefined && value !== null) + .forEach(([key, value]) => { + if (Array.isArray(value)) { + value.forEach((v) => process(key, v)); + } else { + process(key, value); + } + }); + + return formData; + } + return undefined; +}; + +type Resolver = (options: ApiRequestOptions) => Promise; + +export const resolve = async ( + options: ApiRequestOptions, + resolver?: T | Resolver +): Promise => { + if (typeof resolver === "function") { + return (resolver as Resolver)(options); + } + return resolver; +}; + +export const getHeaders = async ( + config: OpenAPIConfig, + options: ApiRequestOptions +): Promise> => { + const [token, username, password, additionalHeaders] = await Promise.all([ + // @ts-ignore + resolve(options, config.TOKEN), + // @ts-ignore + resolve(options, config.USERNAME), + // @ts-ignore + resolve(options, config.PASSWORD), + // @ts-ignore + resolve(options, config.HEADERS), + ]); + + const headers = Object.entries({ + Accept: "application/json", + ...additionalHeaders, + ...options.headers, + }) + .filter(([, value]) => value !== undefined && value !== null) + .reduce( + (headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), + {} as Record + ); + + if (isStringWithValue(token)) { + headers["Authorization"] = `Bearer ${token}`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(`${username}:${password}`); + headers["Authorization"] = `Basic ${credentials}`; + } + + if (options.body !== undefined) { + if (options.mediaType) { + headers["Content-Type"] = options.mediaType; + } else if (isBlob(options.body)) { + headers["Content-Type"] = options.body.type || "application/octet-stream"; + } else if (isString(options.body)) { + headers["Content-Type"] = "text/plain"; + } else if (!isFormData(options.body)) { + headers["Content-Type"] = "application/json"; + } + } else if (options.formData !== undefined) { + if (options.mediaType) { + headers["Content-Type"] = options.mediaType; + } + } + + return headers; +}; + +export const getRequestBody = (options: ApiRequestOptions): unknown => { + if (options.body) { + return options.body; + } + return undefined; +}; + +export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: unknown, + formData: FormData | undefined, + headers: Record, + onCancel: OnCancel, + axiosClient: AxiosInstance +): Promise> => { + const controller = new AbortController(); + + let requestConfig: AxiosRequestConfig = { + data: body ?? formData, + headers, + method: options.method, + signal: controller.signal, + url, + withCredentials: config.WITH_CREDENTIALS, + }; + + onCancel(() => controller.abort()); + + for (const fn of config.interceptors.request._fns) { + requestConfig = await fn(requestConfig); + } + + try { + return await axiosClient.request(requestConfig); + } catch (error) { + const axiosError = error as AxiosError; + if (axiosError.response) { + return axiosError.response; + } + throw error; + } +}; + +export const getResponseHeader = ( + response: AxiosResponse, + responseHeader?: string +): string | undefined => { + if (responseHeader) { + const content = response.headers[responseHeader]; + if (isString(content)) { + return content; + } + } + return undefined; +}; + +export const getResponseBody = (response: AxiosResponse): unknown => { + if (response.status !== 204) { + return response.data; + } + return undefined; +}; + +export const catchErrorCodes = ( + options: ApiRequestOptions, + result: ApiResult +): void => { + const errors: Record = { + 400: "Bad Request", + 401: "Unauthorized", + 402: "Payment Required", + 403: "Forbidden", + 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Payload Too Large", + 414: "URI Too Long", + 415: "Unsupported Media Type", + 416: "Range Not Satisfiable", + 417: "Expectation Failed", + 418: "Im a teapot", + 421: "Misdirected Request", + 422: "Unprocessable Content", + 423: "Locked", + 424: "Failed Dependency", + 425: "Too Early", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 451: "Unavailable For Legal Reasons", + 500: "Internal Server Error", + 501: "Not Implemented", + 502: "Bad Gateway", + 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 510: "Not Extended", + 511: "Network Authentication Required", + ...options.errors, + }; + + const error = errors[result.status]; + if (error) { + throw new ApiError(options, result, error); + } + + if (!result.ok) { + const errorStatus = result.status ?? "unknown"; + const errorStatusText = result.statusText ?? "unknown"; + const errorBody = (() => { + try { + return JSON.stringify(result.body, null, 2); + } catch (e) { + return undefined; + } + })(); + + throw new ApiError( + options, + result, + `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}` + ); + } +}; + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @param axiosClient The axios client instance to use + * @returns CancelablePromise + * @throws ApiError + */ +export const request = ( + config: OpenAPIConfig, + options: ApiRequestOptions, + axiosClient: AxiosInstance = axios +): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + let response = await sendRequest( + config, + options, + url, + body, + formData, + headers, + onCancel, + axiosClient + ); + + for (const fn of config.interceptors.response._fns) { + response = await fn(response); + } + + const responseBody = getResponseBody(response); + const responseHeader = getResponseHeader( + response, + options.responseHeader + ); + + let transformedBody = responseBody; + if (options.responseTransformer && isSuccess(response.status)) { + transformedBody = await options.responseTransformer(responseBody); + } + + const result: ApiResult = { + url, + ok: isSuccess(response.status), + status: response.status, + statusText: response.statusText, + body: responseHeader ?? transformedBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +}; diff --git a/airflow/ui/openapi-gen/requests/index.ts b/airflow/ui/openapi-gen/requests/index.ts new file mode 100644 index 0000000000000..1a73593d0567f --- /dev/null +++ b/airflow/ui/openapi-gen/requests/index.ts @@ -0,0 +1,7 @@ +// This file is auto-generated by @hey-api/openapi-ts +export { ApiError } from "./core/ApiError"; +export { CancelablePromise, CancelError } from "./core/CancelablePromise"; +export { OpenAPI, type OpenAPIConfig } from "./core/OpenAPI"; +export * from "./schemas.gen"; +export * from "./services.gen"; +export * from "./types.gen"; diff --git a/airflow/ui/openapi-gen/requests/schemas.gen.ts b/airflow/ui/openapi-gen/requests/schemas.gen.ts new file mode 100644 index 0000000000000..b097b7754f8f3 --- /dev/null +++ b/airflow/ui/openapi-gen/requests/schemas.gen.ts @@ -0,0 +1,3240 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export const $UserCollectionItem = { + description: `A user object. + +*New in version 2.1.0* +`, + type: "object", + properties: { + first_name: { + type: "string", + description: `The user's first name. + +*Changed in version 2.4.0*: The requirement for this to be non-empty was removed. +`, + }, + last_name: { + type: "string", + description: `The user's last name. + +*Changed in version 2.4.0*: The requirement for this to be non-empty was removed. +`, + }, + username: { + type: "string", + description: `The username. + +*Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added. +`, + minLength: 1, + }, + email: { + type: "string", + description: `The user's email. + +*Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added. +`, + minLength: 1, + }, + active: { + type: "boolean", + description: "Whether the user is active", + readOnly: true, + nullable: true, + }, + last_login: { + type: "string", + format: "datetime", + description: "The last user login", + readOnly: true, + nullable: true, + }, + login_count: { + type: "integer", + description: "The login count", + readOnly: true, + nullable: true, + }, + failed_login_count: { + type: "integer", + description: "The number of times the login failed", + readOnly: true, + nullable: true, + }, + roles: { + type: "array", + description: `User roles. + +*Changed in version 2.2.0*: Field is no longer read-only. +`, + items: { + type: "object", + properties: { + name: { + type: "string", + }, + }, + nullable: true, + }, + }, + created_on: { + type: "string", + format: "datetime", + description: "The date user was created", + readOnly: true, + nullable: true, + }, + changed_on: { + type: "string", + format: "datetime", + description: "The date user was changed", + readOnly: true, + nullable: true, + }, + }, +} as const; + +export const $User = { + type: "object", + description: `A user object with sensitive data. + +*New in version 2.1.0* +`, + allOf: [ + { + $ref: "#/components/schemas/UserCollectionItem", + }, + { + type: "object", + properties: { + password: { + type: "string", + writeOnly: true, + }, + }, + }, + ], +} as const; + +export const $UserCollection = { + type: "object", + description: `Collection of users. + +*New in version 2.1.0* +`, + allOf: [ + { + type: "object", + properties: { + users: { + type: "array", + items: { + $ref: "#/components/schemas/UserCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $ConnectionCollectionItem = { + description: `Connection collection item. +The password and extra fields are only available when retrieving a single object due to the sensitivity of this data. +`, + type: "object", + properties: { + connection_id: { + type: "string", + description: "The connection ID.", + }, + conn_type: { + type: "string", + description: "The connection type.", + }, + description: { + type: "string", + description: "The description of the connection.", + nullable: true, + }, + host: { + type: "string", + nullable: true, + description: "Host of the connection.", + }, + login: { + type: "string", + nullable: true, + description: "Login of the connection.", + }, + schema: { + type: "string", + nullable: true, + description: "Schema of the connection.", + }, + port: { + type: "integer", + nullable: true, + description: "Port of the connection.", + }, + }, +} as const; + +export const $ConnectionCollection = { + type: "object", + description: `Collection of connections. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + connections: { + type: "array", + items: { + $ref: "#/components/schemas/ConnectionCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Connection = { + description: "Full representation of the connection.", + allOf: [ + { + $ref: "#/components/schemas/ConnectionCollectionItem", + }, + { + type: "object", + properties: { + password: { + type: "string", + format: "password", + writeOnly: true, + description: "Password of the connection.", + }, + extra: { + type: "string", + nullable: true, + description: + "Other values that cannot be put into another field, e.g. RSA keys.", + }, + }, + }, + ], +} as const; + +export const $ConnectionTest = { + description: `Connection test results. + +*New in version 2.2.0* +`, + type: "object", + properties: { + status: { + type: "boolean", + description: "The status of the request.", + }, + message: { + type: "string", + description: "The success or failure message of the request.", + }, + }, +} as const; + +export const $DAG = { + type: "object", + description: "DAG", + properties: { + dag_id: { + type: "string", + readOnly: true, + description: "The ID of the DAG.", + }, + dag_display_name: { + type: "string", + readOnly: true, + description: `Human centric display text for the DAG. + +*New in version 2.9.0* +`, + }, + is_paused: { + type: "boolean", + nullable: true, + description: "Whether the DAG is paused.", + }, + is_active: { + description: `Whether the DAG is currently seen by the scheduler(s). + +*New in version 2.1.1* + +*Changed in version 2.2.0*: Field is read-only. +`, + nullable: true, + readOnly: true, + type: "boolean", + }, + last_parsed_time: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The last time the DAG was parsed. + +*New in version 2.3.0* +`, + }, + last_pickled: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The last time the DAG was pickled. + +*New in version 2.3.0* +`, + }, + last_expired: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `Time when the DAG last received a refresh signal +(e.g. the DAG's "refresh" button was clicked in the web UI) + +*New in version 2.3.0* +`, + }, + scheduler_lock: { + type: "boolean", + readOnly: true, + nullable: true, + description: `Whether (one of) the scheduler is scheduling this DAG at the moment + +*New in version 2.3.0* +`, + }, + pickle_id: { + type: "string", + readOnly: true, + nullable: true, + description: `Foreign key to the latest pickle_id + +*New in version 2.3.0* +`, + }, + default_view: { + type: "string", + nullable: true, + readOnly: true, + description: `Default view of the DAG inside the webserver + +*New in version 2.3.0* +`, + }, + fileloc: { + description: "The absolute path to the file.", + type: "string", + readOnly: true, + }, + file_token: { + type: "string", + readOnly: true, + description: `The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change. +`, + }, + owners: { + type: "array", + items: { + type: "string", + }, + readOnly: true, + }, + description: { + type: "string", + readOnly: true, + nullable: true, + description: `User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents. +`, + }, + timetable_summary: { + type: "string", + readOnly: true, + nullable: true, + description: `Timetable summary. + +*New in version 3.0.0* +`, + }, + timetable_description: { + type: "string", + readOnly: true, + nullable: true, + description: `Timetable description. + +*New in version 2.3.0* +`, + }, + tags: { + description: "List of tags.", + type: "array", + nullable: true, + items: { + $ref: "#/components/schemas/Tag", + }, + readOnly: true, + }, + max_active_tasks: { + type: "integer", + nullable: true, + readOnly: true, + description: `Maximum number of active tasks that can be run on the DAG + +*New in version 2.3.0* +`, + }, + max_active_runs: { + type: "integer", + nullable: true, + readOnly: true, + description: `Maximum number of active DAG runs for the DAG + +*New in version 2.3.0* +`, + }, + has_task_concurrency_limits: { + type: "boolean", + nullable: true, + readOnly: true, + description: `Whether the DAG has task concurrency limits + +*New in version 2.3.0* +`, + }, + has_import_errors: { + type: "boolean", + nullable: true, + readOnly: true, + description: `Whether the DAG has import errors + +*New in version 2.3.0* +`, + }, + next_dagrun: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The logical date of the next dag run. + +*New in version 2.3.0* +`, + }, + next_dagrun_data_interval_start: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The start of the interval of the next dag run. + +*New in version 2.3.0* +`, + }, + next_dagrun_data_interval_end: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The end of the interval of the next dag run. + +*New in version 2.3.0* +`, + }, + next_dagrun_create_after: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `Earliest time at which this \`\`next_dagrun\`\` can be created. + +*New in version 2.3.0* +`, + }, + max_consecutive_failed_dag_runs: { + type: "integer", + nullable: true, + readOnly: true, + description: `(experimental) The maximum number of consecutive DAG failures before DAG is automatically paused. + +*New in version 2.9.0* +`, + }, + }, +} as const; + +export const $DAGCollection = { + description: `Collection of DAGs. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + dags: { + type: "array", + items: { + $ref: "#/components/schemas/DAG", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $DAGRun = { + type: "object", + properties: { + dag_run_id: { + type: "string", + nullable: true, + description: `Run ID. + +The value of this field can be set only when creating the object. If you try to modify the +field of an existing object, the request fails with an BAD_REQUEST error. + +If not provided, a value will be generated based on execution_date. + +If the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error. + +This together with DAG_ID are a unique key. +`, + }, + dag_id: { + type: "string", + readOnly: true, + }, + logical_date: { + type: "string", + nullable: true, + description: `The logical date (previously called execution date). This is the time or interval covered by +this DAG run, according to the DAG definition. + +The value of this field can be set only when creating the object. If you try to modify the +field of an existing object, the request fails with an BAD_REQUEST error. + +This together with DAG_ID are a unique key. + +*New in version 2.2.0* +`, + format: "date-time", + }, + execution_date: { + type: "string", + nullable: true, + description: `The execution date. This is the same as logical_date, kept for backwards compatibility. +If both this field and logical_date are provided but with different values, the request +will fail with an BAD_REQUEST error. + +*Changed in version 2.2.0*: Field becomes nullable. + +*Deprecated since version 2.2.0*: Use 'logical_date' instead. +`, + format: "date-time", + deprecated: true, + }, + start_date: { + type: "string", + format: "date-time", + description: `The start time. The time when DAG run was actually created. + +*Changed in version 2.1.3*: Field becomes nullable. +`, + readOnly: true, + nullable: true, + }, + end_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + data_interval_start: { + type: "string", + format: "date-time", + description: `The beginning of the interval the DAG run covers. +`, + nullable: true, + }, + data_interval_end: { + type: "string", + format: "date-time", + description: `The end of the interval the DAG run covers. +`, + nullable: true, + }, + last_scheduling_decision: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + run_type: { + type: "string", + readOnly: true, + enum: ["backfill", "manual", "scheduled", "dataset_triggered"], + }, + state: { + $ref: "#/components/schemas/DagState", + }, + external_trigger: { + type: "boolean", + readOnly: true, + }, + conf: { + type: "object", + description: `JSON object describing additional configuration parameters. + +The value of this field can be set only when creating the object. If you try to modify the +field of an existing object, the request fails with an BAD_REQUEST error. +`, + }, + note: { + type: "string", + description: `Contains manually entered notes by the user about the DagRun. + +*New in version 2.5.0* +`, + nullable: true, + }, + }, +} as const; + +export const $UpdateDagRunState = { + type: "object", + description: `Modify the state of a DAG run. + +*New in version 2.2.0* +`, + properties: { + state: { + description: "The state to set this DagRun", + type: "string", + enum: ["success", "failed", "queued"], + }, + }, +} as const; + +export const $DAGRunCollection = { + type: "object", + description: `Collection of DAG runs. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + dag_runs: { + type: "array", + items: { + $ref: "#/components/schemas/DAGRun", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $DagStatsCollectionSchema = { + type: "object", + description: `Collection of Dag statistics. +`, + allOf: [ + { + type: "object", + properties: { + dags: { + type: "array", + items: { + $ref: "#/components/schemas/DagStatsCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $DagStatsCollectionItem = { + description: "DagStats entry collection item.", + type: "object", + properties: { + dag_id: { + type: "string", + description: "The DAG ID.", + }, + stats: { + type: "array", + nullable: true, + items: { + $ref: "#/components/schemas/DagStatsStateCollectionItem", + }, + }, + }, +} as const; + +export const $DagStatsStateCollectionItem = { + description: "DagStatsState entry collection item.", + type: "object", + properties: { + state: { + type: "string", + description: "The DAG state.", + }, + count: { + type: "integer", + description: "The DAG state count.", + }, + }, +} as const; + +export const $DagWarning = { + type: "object", + properties: { + dag_id: { + type: "string", + readOnly: true, + description: "The dag_id.", + }, + warning_type: { + type: "string", + readOnly: true, + description: "The warning type for the dag warning.", + }, + message: { + type: "string", + readOnly: true, + description: "The message for the dag warning.", + }, + timestamp: { + type: "string", + format: "datetime", + readOnly: true, + description: "The time when this warning was logged.", + }, + }, +} as const; + +export const $DagWarningCollection = { + type: "object", + description: `Collection of DAG warnings. +`, + allOf: [ + { + type: "object", + properties: { + import_errors: { + type: "array", + items: { + $ref: "#/components/schemas/DagWarning", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $SetDagRunNote = { + type: "object", + properties: { + note: { + description: "Custom notes left by users for this Dag Run.", + type: "string", + }, + }, +} as const; + +export const $EventLog = { + type: "object", + description: "Log of user operations via CLI or Web UI.", + properties: { + event_log_id: { + description: "The event log ID", + type: "integer", + readOnly: true, + }, + when: { + description: "The time when these events happened.", + format: "date-time", + type: "string", + readOnly: true, + }, + dag_id: { + description: "The DAG ID", + type: "string", + readOnly: true, + nullable: true, + }, + task_id: { + description: "The Task ID", + type: "string", + readOnly: true, + nullable: true, + }, + run_id: { + description: "The DAG Run ID", + type: "string", + readOnly: true, + nullable: true, + }, + map_index: { + description: "The Map Index", + type: "integer", + readOnly: true, + nullable: true, + }, + try_number: { + description: "The Try Number", + type: "integer", + readOnly: true, + nullable: true, + }, + event: { + description: "A key describing the type of event.", + type: "string", + readOnly: true, + }, + execution_date: { + description: `When the event was dispatched for an object having execution_date, the value of this field. +`, + format: "date-time", + type: "string", + readOnly: true, + nullable: true, + }, + owner: { + description: "Name of the user who triggered these events a.", + type: "string", + nullable: true, + readOnly: true, + }, + extra: { + description: `Other information that was not included in the other fields, e.g. the complete CLI command. +`, + type: "string", + readOnly: true, + nullable: true, + }, + }, +} as const; + +export const $EventLogCollection = { + type: "object", + description: `Collection of event logs. + +*Changed in version 2.1.0*: 'total_entries' field is added. +*Changed in version 2.10.0*: 'try_number' and 'map_index' fields are added. +`, + allOf: [ + { + type: "object", + properties: { + event_logs: { + type: "array", + items: { + $ref: "#/components/schemas/EventLog", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $ImportError = { + type: "object", + properties: { + import_error_id: { + type: "integer", + readOnly: true, + description: "The import error ID.", + }, + timestamp: { + type: "string", + format: "datetime", + readOnly: true, + description: "The time when this error was created.", + }, + filename: { + type: "string", + readOnly: true, + description: "The filename", + }, + stack_trace: { + type: "string", + readOnly: true, + description: "The full stackstrace.", + }, + }, +} as const; + +export const $ImportErrorCollection = { + type: "object", + description: `Collection of import errors. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + import_errors: { + type: "array", + items: { + $ref: "#/components/schemas/ImportError", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $HealthInfo = { + type: "object", + description: "Instance status information.", + properties: { + metadatabase: { + $ref: "#/components/schemas/MetadatabaseStatus", + }, + scheduler: { + $ref: "#/components/schemas/SchedulerStatus", + }, + triggerer: { + $ref: "#/components/schemas/TriggererStatus", + }, + dag_processor: { + $ref: "#/components/schemas/DagProcessorStatus", + }, + }, +} as const; + +export const $MetadatabaseStatus = { + type: "object", + description: "The status of the metadatabase.", + properties: { + status: { + $ref: "#/components/schemas/HealthStatus", + }, + }, +} as const; + +export const $SchedulerStatus = { + type: "object", + description: "The status and the latest scheduler heartbeat.", + properties: { + status: { + $ref: "#/components/schemas/HealthStatus", + }, + latest_scheduler_heartbeat: { + description: "The time the scheduler last did a heartbeat.", + type: "string", + format: "datetime", + readOnly: true, + nullable: true, + }, + }, +} as const; + +export const $TriggererStatus = { + type: "object", + description: `The status and the latest triggerer heartbeat. + +*New in version 2.6.2* +`, + properties: { + status: { + $ref: "#/components/schemas/HealthStatus", + }, + latest_triggerer_heartbeat: { + description: "The time the triggerer last did a heartbeat.", + type: "string", + format: "datetime", + readOnly: true, + nullable: true, + }, + }, +} as const; + +export const $DagProcessorStatus = { + type: "object", + description: `The status and the latest dag processor heartbeat. + +*New in version 2.6.3* +`, + properties: { + status: { + $ref: "#/components/schemas/HealthStatus", + }, + latest_dag_processor_heartbeat: { + description: "The time the dag processor last did a heartbeat.", + type: "string", + format: "datetime", + readOnly: true, + nullable: true, + }, + }, +} as const; + +export const $Pool = { + description: "The pool", + type: "object", + properties: { + name: { + type: "string", + description: "The name of pool.", + }, + slots: { + type: "integer", + description: `The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots. +`, + }, + occupied_slots: { + type: "integer", + readOnly: true, + description: + "The number of slots used by running/queued tasks at the moment. May include deferred tasks if 'include_deferred' is set to true.", + }, + running_slots: { + type: "integer", + readOnly: true, + description: "The number of slots used by running tasks at the moment.", + }, + queued_slots: { + type: "integer", + readOnly: true, + description: "The number of slots used by queued tasks at the moment.", + }, + open_slots: { + type: "integer", + readOnly: true, + description: "The number of free slots at the moment.", + }, + scheduled_slots: { + type: "integer", + readOnly: true, + description: "The number of slots used by scheduled tasks at the moment.", + }, + deferred_slots: { + type: "integer", + readOnly: true, + description: `The number of slots used by deferred tasks at the moment. Relevant if 'include_deferred' is set to true. + +*New in version 2.7.0* +`, + }, + description: { + type: "string", + description: `The description of the pool. + +*New in version 2.3.0* +`, + nullable: true, + }, + include_deferred: { + type: "boolean", + description: `If set to true, deferred tasks are considered when calculating open pool slots. + +*New in version 2.7.0* +`, + }, + }, +} as const; + +export const $PoolCollection = { + type: "object", + description: `Collection of pools. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + pools: { + type: "array", + items: { + $ref: "#/components/schemas/Pool", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Provider = { + description: `The provider + +*New in version 2.1.0* +`, + type: "object", + properties: { + package_name: { + type: "string", + description: "The package name of the provider.", + }, + description: { + type: "string", + description: "The description of the provider.", + }, + version: { + type: "string", + description: "The version of the provider.", + }, + }, +} as const; + +export const $ProviderCollection = { + description: `Collection of providers. + +*New in version 2.1.0* +`, + type: "object", + properties: { + providers: { + type: "array", + items: { + $ref: "#/components/schemas/Provider", + }, + }, + }, +} as const; + +export const $SLAMiss = { + type: "object", + properties: { + task_id: { + type: "string", + readOnly: true, + description: "The task ID.", + }, + dag_id: { + type: "string", + description: "The DAG ID.", + }, + execution_date: { + type: "string", + format: "datetime", + }, + email_sent: { + type: "boolean", + }, + timestamp: { + type: "string", + format: "datetime", + }, + description: { + type: "string", + nullable: true, + }, + notification_sent: { + type: "boolean", + }, + }, + nullable: true, +} as const; + +export const $Trigger = { + type: "object", + nullable: true, + properties: { + id: { + type: "integer", + }, + classpath: { + type: "string", + }, + kwargs: { + type: "string", + }, + created_date: { + type: "string", + format: "datetime", + }, + triggerer_id: { + type: "integer", + nullable: true, + }, + }, +} as const; + +export const $TaskFailedDependency = { + type: "object", + properties: { + name: { + type: "string", + }, + reason: { + type: "string", + }, + }, +} as const; + +export const $TaskInstanceDependencyCollection = { + type: "object", + properties: { + dependencies: { + type: "array", + items: { + $ref: "#/components/schemas/TaskFailedDependency", + }, + }, + }, +} as const; + +export const $Job = { + type: "object", + nullable: true, + properties: { + id: { + type: "integer", + }, + dag_id: { + type: "string", + nullable: true, + }, + state: { + type: "string", + nullable: true, + }, + job_type: { + type: "string", + nullable: true, + }, + start_date: { + type: "string", + format: "datetime", + nullable: true, + }, + end_date: { + type: "string", + format: "datetime", + nullable: true, + }, + latest_heartbeat: { + type: "string", + format: "datetime", + nullable: true, + }, + executor_class: { + type: "string", + nullable: true, + }, + hostname: { + type: "string", + nullable: true, + }, + unixname: { + type: "string", + nullable: true, + }, + }, +} as const; + +export const $TaskInstance = { + type: "object", + properties: { + task_id: { + type: "string", + }, + task_display_name: { + type: "string", + description: `Human centric display text for the task. + +*New in version 2.9.0* +`, + }, + dag_id: { + type: "string", + }, + dag_run_id: { + type: "string", + description: `The DagRun ID for this task instance + +*New in version 2.3.0* +`, + }, + execution_date: { + type: "string", + format: "datetime", + }, + start_date: { + type: "string", + format: "datetime", + nullable: true, + }, + end_date: { + type: "string", + format: "datetime", + nullable: true, + }, + duration: { + type: "number", + nullable: true, + }, + state: { + $ref: "#/components/schemas/TaskState", + }, + try_number: { + type: "integer", + }, + map_index: { + type: "integer", + }, + max_tries: { + type: "integer", + }, + hostname: { + type: "string", + }, + unixname: { + type: "string", + }, + pool: { + type: "string", + }, + pool_slots: { + type: "integer", + }, + queue: { + type: "string", + nullable: true, + }, + priority_weight: { + type: "integer", + nullable: true, + }, + operator: { + type: "string", + nullable: true, + description: `*Changed in version 2.1.1*: Field becomes nullable. +`, + }, + queued_when: { + type: "string", + nullable: true, + description: `The datetime that the task enter the state QUEUE, also known as queue_at +`, + }, + pid: { + type: "integer", + nullable: true, + }, + executor: { + type: "string", + nullable: true, + description: `Executor the task is configured to run on or None (which indicates the default executor) + +*New in version 2.10.0* +`, + }, + executor_config: { + type: "string", + }, + sla_miss: { + $ref: "#/components/schemas/SLAMiss", + }, + rendered_map_index: { + description: `Rendered name of an expanded task instance, if the task is mapped. + +*New in version 2.9.0* +`, + type: "string", + nullable: true, + }, + rendered_fields: { + description: `JSON object describing rendered fields. + +*New in version 2.3.0* +`, + type: "object", + }, + trigger: { + $ref: "#/components/schemas/Trigger", + }, + triggerer_job: { + $ref: "#/components/schemas/Job", + }, + note: { + type: "string", + description: `Contains manually entered notes by the user about the TaskInstance. + +*New in version 2.5.0* +`, + nullable: true, + }, + }, +} as const; + +export const $TaskInstanceCollection = { + type: "object", + description: `Collection of task instances. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + task_instances: { + type: "array", + items: { + $ref: "#/components/schemas/TaskInstance", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $TaskInstanceReference = { + type: "object", + properties: { + task_id: { + type: "string", + readOnly: true, + description: "The task ID.", + }, + dag_id: { + type: "string", + readOnly: true, + description: "The DAG ID.", + }, + execution_date: { + type: "string", + format: "datetime", + readOnly: true, + }, + dag_run_id: { + type: "string", + readOnly: true, + description: "The DAG run ID.", + }, + }, +} as const; + +export const $TaskInstanceReferenceCollection = { + type: "object", + properties: { + task_instances: { + type: "array", + items: { + $ref: "#/components/schemas/TaskInstanceReference", + }, + }, + }, +} as const; + +export const $VariableCollectionItem = { + description: `XCom entry collection item. +The value field are only available when retrieving a single object due to the sensitivity of this data.`, + type: "object", + properties: { + key: { + type: "string", + }, + description: { + type: "string", + description: `The description of the variable. + +*New in version 2.4.0* +`, + nullable: true, + }, + }, +} as const; + +export const $VariableCollection = { + type: "object", + description: `Collection of variables. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + variables: { + type: "array", + items: { + $ref: "#/components/schemas/VariableCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Variable = { + description: "Full representation of Variable", + allOf: [ + { + $ref: "#/components/schemas/VariableCollectionItem", + }, + { + type: "object", + properties: { + value: { + type: "string", + }, + }, + }, + ], +} as const; + +export const $XComCollectionItem = { + type: "object", + description: `XCom entry collection item. + +The value field is only available when reading a single object due to the size of the value. +`, + properties: { + key: { + type: "string", + }, + timestamp: { + type: "string", + format: "datetime", + }, + execution_date: { + type: "string", + format: "datetime", + }, + map_index: { + type: "integer", + }, + task_id: { + type: "string", + }, + dag_id: { + type: "string", + }, + }, +} as const; + +export const $XComCollection = { + type: "object", + description: `Collection of XCom entries. + +*Changed in version 2.1.0*: 'total_entries' field is added. +`, + allOf: [ + { + type: "object", + properties: { + xcom_entries: { + type: "array", + items: { + $ref: "#/components/schemas/XComCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $XCom = { + description: "Full representations of XCom entry.", + allOf: [ + { + $ref: "#/components/schemas/XComCollectionItem", + }, + { + type: "object", + properties: { + value: { + anyOf: [ + { + type: "string", + }, + { + type: "number", + }, + { + type: "integer", + }, + { + type: "boolean", + }, + { + type: "array", + items: {}, + }, + { + type: "object", + nullable: true, + }, + ], + description: "The value(s),", + }, + }, + }, + ], +} as const; + +export const $DAGDetail = { + description: `DAG details. + +For details see: +[airflow.models.dag.DAG](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/dag/index.html#airflow.models.dag.DAG) +`, + allOf: [ + { + $ref: "#/components/schemas/DAG", + }, + { + type: "object", + properties: { + timezone: { + $ref: "#/components/schemas/Timezone", + nullable: true, + }, + catchup: { + type: "boolean", + readOnly: true, + nullable: true, + }, + orientation: { + type: "string", + readOnly: true, + nullable: true, + }, + concurrency: { + type: "number", + readOnly: true, + nullable: true, + }, + start_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The DAG's start date. + +*Changed in version 2.0.1*: Field becomes nullable. +`, + }, + dag_run_timeout: { + $ref: "#/components/schemas/TimeDelta", + nullable: true, + }, + dataset_expression: { + type: "object", + description: "Nested dataset any/all conditions", + nullable: true, + }, + doc_md: { + type: "string", + readOnly: true, + nullable: true, + }, + default_view: { + type: "string", + readOnly: true, + nullable: true, + }, + params: { + type: "object", + readOnly: true, + description: `User-specified DAG params. + +*New in version 2.0.1* +`, + }, + end_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + description: `The DAG's end date. + +*New in version 2.3.0*. +`, + }, + is_paused_upon_creation: { + type: "boolean", + readOnly: true, + nullable: true, + description: `Whether the DAG is paused upon creation. + +*New in version 2.3.0* +`, + }, + last_parsed: { + type: "string", + format: "date-time", + nullable: true, + readOnly: true, + description: `The last time the DAG was parsed. + +*New in version 2.3.0* +`, + }, + template_search_path: { + type: "array", + nullable: true, + items: { + type: "string", + }, + description: `The template search path. + +*New in version 2.3.0* +`, + }, + render_template_as_native_obj: { + type: "boolean", + nullable: true, + readOnly: true, + description: `Whether to render templates as native Python objects. + +*New in version 2.3.0* +`, + }, + }, + }, + ], +} as const; + +export const $ExtraLink = { + type: "object", + description: + "Additional links containing additional information about the task.", + properties: { + class_ref: { + $ref: "#/components/schemas/ClassReference", + }, + name: { + type: "string", + readOnly: true, + }, + href: { + type: "string", + readOnly: true, + }, + }, +} as const; + +export const $ExtraLinkCollection = { + type: "object", + description: "The collection of extra links.", + properties: { + extra_links: { + type: "array", + items: { + $ref: "#/components/schemas/ExtraLink", + }, + }, + }, +} as const; + +export const $Task = { + type: "object", + description: `For details see: +[airflow.models.baseoperator.BaseOperator](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator) +`, + properties: { + class_ref: { + $ref: "#/components/schemas/ClassReference", + }, + task_id: { + type: "string", + readOnly: true, + }, + task_display_name: { + type: "string", + readOnly: true, + }, + owner: { + type: "string", + readOnly: true, + }, + start_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + end_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + trigger_rule: { + $ref: "#/components/schemas/TriggerRule", + }, + extra_links: { + type: "array", + readOnly: true, + items: { + type: "object", + properties: { + class_ref: { + $ref: "#/components/schemas/ClassReference", + }, + }, + }, + }, + depends_on_past: { + type: "boolean", + readOnly: true, + }, + is_mapped: { + type: "boolean", + readOnly: true, + }, + wait_for_downstream: { + type: "boolean", + readOnly: true, + }, + retries: { + type: "number", + readOnly: true, + }, + queue: { + type: "string", + readOnly: true, + nullable: true, + }, + executor: { + type: "string", + readOnly: true, + nullable: true, + }, + pool: { + type: "string", + readOnly: true, + }, + pool_slots: { + type: "number", + readOnly: true, + }, + execution_timeout: { + $ref: "#/components/schemas/TimeDelta", + }, + retry_delay: { + $ref: "#/components/schemas/TimeDelta", + }, + retry_exponential_backoff: { + type: "boolean", + readOnly: true, + }, + priority_weight: { + type: "number", + readOnly: true, + }, + weight_rule: { + $ref: "#/components/schemas/WeightRule", + }, + ui_color: { + $ref: "#/components/schemas/Color", + }, + ui_fgcolor: { + $ref: "#/components/schemas/Color", + }, + template_fields: { + type: "array", + readOnly: true, + items: { + type: "string", + }, + }, + sub_dag: { + $ref: "#/components/schemas/DAG", + }, + downstream_task_ids: { + type: "array", + readOnly: true, + items: { + type: "string", + }, + }, + doc_md: { + type: "string", + readOnly: true, + nullable: true, + description: `Task documentation in markdown. + +*New in version 2.10.0* +`, + }, + }, +} as const; + +export const $TaskCollection = { + type: "object", + description: "Collection of tasks.", + properties: { + tasks: { + type: "array", + items: { + $ref: "#/components/schemas/Task", + }, + }, + }, +} as const; + +export const $PluginCollectionItem = { + type: "object", + description: `A plugin Item. + +*New in version 2.1.0* +`, + properties: { + name: { + type: "string", + description: "The name of the plugin", + }, + hooks: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "The plugin hooks", + }, + executors: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "The plugin executors", + }, + macros: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "The plugin macros", + }, + flask_blueprints: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "The flask blueprints", + }, + appbuilder_views: { + type: "array", + items: { + type: "object", + nullable: true, + }, + description: "The appuilder views", + }, + appbuilder_menu_items: { + type: "array", + items: { + type: "object", + nullable: true, + }, + description: "The Flask Appbuilder menu items", + }, + global_operator_extra_links: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "The global operator extra links", + }, + operator_extra_links: { + type: "array", + items: { + type: "string", + nullable: true, + }, + description: "Operator extra links", + }, + source: { + type: "string", + description: "The plugin source", + nullable: true, + }, + ti_deps: { + type: "array", + items: { + type: "string", + }, + description: "The plugin task instance dependencies", + }, + listeners: { + type: "array", + items: { + type: "string", + }, + description: "The plugin listeners", + }, + timetables: { + type: "array", + items: { + type: "string", + }, + description: "The plugin timetables", + }, + }, +} as const; + +export const $PluginCollection = { + type: "object", + description: `A collection of plugin. + +*New in version 2.1.0* +`, + allOf: [ + { + type: "object", + properties: { + plugins: { + type: "array", + items: { + $ref: "#/components/schemas/PluginCollectionItem", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Role = { + description: `a role item. + +*New in version 2.1.0* +`, + type: "object", + properties: { + name: { + type: "string", + description: `The name of the role + +*Changed in version 2.3.0*: A minimum character length requirement ('minLength') is added. +`, + minLength: 1, + }, + actions: { + type: "array", + items: { + $ref: "#/components/schemas/ActionResource", + }, + }, + }, +} as const; + +export const $RoleCollection = { + description: `A collection of roles. + +*New in version 2.1.0* +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + roles: { + type: "array", + items: { + $ref: "#/components/schemas/Role", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Action = { + description: `An action Item. + +*New in version 2.1.0* +`, + type: "object", + properties: { + name: { + type: "string", + description: 'The name of the permission "action"', + nullable: false, + }, + }, +} as const; + +export const $ActionCollection = { + description: `A collection of actions. + +*New in version 2.1.0* +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + actions: { + type: "array", + items: { + $ref: "#/components/schemas/Action", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $Resource = { + description: `A resource on which permissions are granted. + +*New in version 2.1.0* +`, + type: "object", + properties: { + name: { + type: "string", + description: "The name of the resource", + nullable: false, + }, + }, +} as const; + +export const $ActionResource = { + description: `The Action-Resource item. + +*New in version 2.1.0* +`, + type: "object", + properties: { + action: { + type: "object", + $ref: "#/components/schemas/Action", + description: "The permission action", + }, + resource: { + type: "object", + $ref: "#/components/schemas/Resource", + description: "The permission resource", + }, + }, +} as const; + +export const $Dataset = { + description: `A dataset item. + +*New in version 2.4.0* +`, + type: "object", + properties: { + id: { + type: "integer", + description: "The dataset id", + }, + uri: { + type: "string", + description: "The dataset uri", + nullable: false, + }, + extra: { + type: "object", + description: "The dataset extra", + nullable: true, + }, + created_at: { + type: "string", + description: "The dataset creation time", + nullable: false, + }, + updated_at: { + type: "string", + description: "The dataset update time", + nullable: false, + }, + consuming_dags: { + type: "array", + items: { + $ref: "#/components/schemas/DagScheduleDatasetReference", + }, + }, + producing_tasks: { + type: "array", + items: { + $ref: "#/components/schemas/TaskOutletDatasetReference", + }, + }, + }, +} as const; + +export const $TaskOutletDatasetReference = { + description: `A datasets reference to an upstream task. + +*New in version 2.4.0* +`, + type: "object", + properties: { + dag_id: { + type: "string", + description: "The DAG ID that updates the dataset.", + nullable: true, + }, + task_id: { + type: "string", + description: "The task ID that updates the dataset.", + nullable: true, + }, + created_at: { + type: "string", + description: "The dataset creation time", + nullable: false, + }, + updated_at: { + type: "string", + description: "The dataset update time", + nullable: false, + }, + }, +} as const; + +export const $DagScheduleDatasetReference = { + description: `A datasets reference to a downstream DAG. + +*New in version 2.4.0* +`, + type: "object", + properties: { + dag_id: { + type: "string", + description: "The DAG ID that depends on the dataset.", + nullable: true, + }, + created_at: { + type: "string", + description: "The dataset reference creation time", + nullable: false, + }, + updated_at: { + type: "string", + description: "The dataset reference update time", + nullable: false, + }, + }, +} as const; + +export const $DatasetCollection = { + description: `A collection of datasets. + +*New in version 2.4.0* +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + datasets: { + type: "array", + items: { + $ref: "#/components/schemas/Dataset", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $DatasetEvent = { + description: `A dataset event. + +*New in version 2.4.0* +`, + type: "object", + properties: { + dataset_id: { + type: "integer", + description: "The dataset id", + }, + dataset_uri: { + type: "string", + description: "The URI of the dataset", + nullable: false, + }, + extra: { + type: "object", + description: "The dataset event extra", + nullable: true, + }, + source_dag_id: { + type: "string", + description: "The DAG ID that updated the dataset.", + nullable: true, + }, + source_task_id: { + type: "string", + description: "The task ID that updated the dataset.", + nullable: true, + }, + source_run_id: { + type: "string", + description: "The DAG run ID that updated the dataset.", + nullable: true, + }, + source_map_index: { + type: "integer", + description: "The task map index that updated the dataset.", + nullable: true, + }, + created_dagruns: { + type: "array", + items: { + $ref: "#/components/schemas/BasicDAGRun", + }, + }, + timestamp: { + type: "string", + description: "The dataset event creation time", + nullable: false, + }, + }, +} as const; + +export const $CreateDatasetEvent = { + type: "object", + required: ["dataset_uri"], + properties: { + dataset_uri: { + type: "string", + description: "The URI of the dataset", + nullable: false, + }, + extra: { + type: "object", + description: "The dataset event extra", + nullable: true, + }, + }, +} as const; + +export const $QueuedEvent = { + type: "object", + properties: { + uri: { + type: "string", + description: "The datata uri.", + }, + dag_id: { + type: "string", + description: "The DAG ID.", + }, + created_at: { + type: "string", + format: "date-time", + description: "The creation time of QueuedEvent", + }, + }, +} as const; + +export const $QueuedEventCollection = { + description: `A collection of Dataset Dag Run Queues. + +*New in version 2.9.0* +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + datasets: { + type: "array", + items: { + $ref: "#/components/schemas/QueuedEvent", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $BasicDAGRun = { + type: "object", + properties: { + run_id: { + type: "string", + description: `Run ID. +`, + }, + dag_id: { + type: "string", + readOnly: true, + }, + logical_date: { + type: "string", + description: `The logical date (previously called execution date). This is the time or interval covered by +this DAG run, according to the DAG definition. + +The value of this field can be set only when creating the object. If you try to modify the +field of an existing object, the request fails with an BAD_REQUEST error. + +This together with DAG_ID are a unique key. + +*New in version 2.2.0* +`, + format: "date-time", + }, + start_date: { + type: "string", + format: "date-time", + description: `The start time. The time when DAG run was actually created. + +*Changed in version 2.1.3*: Field becomes nullable. +`, + readOnly: true, + nullable: true, + }, + end_date: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + data_interval_start: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + data_interval_end: { + type: "string", + format: "date-time", + readOnly: true, + nullable: true, + }, + state: { + $ref: "#/components/schemas/DagState", + }, + }, +} as const; + +export const $DatasetEventCollection = { + description: `A collection of dataset events. + +*New in version 2.4.0* +`, + type: "object", + allOf: [ + { + type: "object", + properties: { + dataset_events: { + type: "array", + items: { + $ref: "#/components/schemas/DatasetEvent", + }, + }, + }, + }, + { + $ref: "#/components/schemas/CollectionInfo", + }, + ], +} as const; + +export const $ConfigOption = { + type: "object", + description: "The option of configuration.", + properties: { + key: { + type: "string", + readOnly: true, + }, + value: { + type: "string", + readOnly: true, + }, + }, +} as const; + +export const $ConfigSection = { + type: "object", + description: "The section of configuration.", + properties: { + name: { + type: "string", + readOnly: true, + }, + options: { + type: "array", + items: { + $ref: "#/components/schemas/ConfigOption", + }, + }, + }, +} as const; + +export const $Config = { + type: "object", + description: "The configuration.", + properties: { + sections: { + type: "array", + items: { + $ref: "#/components/schemas/ConfigSection", + }, + }, + }, +} as const; + +export const $VersionInfo = { + type: "object", + description: "Version information.", + properties: { + version: { + type: "string", + description: "The version of Airflow", + }, + git_version: { + type: "string", + description: "The git version (including git commit hash)", + nullable: true, + }, + }, +} as const; + +export const $ClearDagRun = { + type: "object", + properties: { + dry_run: { + description: `If set, don't actually run this operation. The response will contain a list of task instances +planned to be cleaned, but not modified in any way. +`, + type: "boolean", + default: true, + }, + }, +} as const; + +export const $ClearTaskInstances = { + type: "object", + properties: { + dry_run: { + description: `If set, don't actually run this operation. The response will contain a list of task instances +planned to be cleaned, but not modified in any way. +`, + type: "boolean", + default: true, + }, + task_ids: { + description: `A list of task ids to clear. + +*New in version 2.1.0* +`, + type: "array", + items: { + type: "string", + }, + minItems: 1, + }, + start_date: { + description: "The minimum execution date to clear.", + type: "string", + format: "datetime", + }, + end_date: { + description: "The maximum execution date to clear.", + type: "string", + format: "datetime", + }, + only_failed: { + description: "Only clear failed tasks.", + type: "boolean", + default: true, + }, + only_running: { + description: "Only clear running tasks.", + type: "boolean", + default: false, + }, + reset_dag_runs: { + description: "Set state of DAG runs to RUNNING.", + type: "boolean", + }, + dag_run_id: { + type: "string", + description: "The DagRun ID for this task instance", + nullable: true, + }, + include_upstream: { + description: "If set to true, upstream tasks are also affected.", + type: "boolean", + default: false, + }, + include_downstream: { + description: "If set to true, downstream tasks are also affected.", + type: "boolean", + default: false, + }, + include_future: { + description: + "If set to True, also tasks from future DAG Runs are affected.", + type: "boolean", + default: false, + }, + include_past: { + description: + "If set to True, also tasks from past DAG Runs are affected.", + type: "boolean", + default: false, + }, + }, +} as const; + +export const $UpdateTaskInstancesState = { + type: "object", + properties: { + dry_run: { + description: `If set, don't actually run this operation. The response will contain a list of task instances +planned to be affected, but won't be modified in any way. +`, + type: "boolean", + default: true, + }, + task_id: { + description: "The task ID.", + type: "string", + }, + execution_date: { + description: + "The execution date. Either set this or dag_run_id but not both.", + type: "string", + format: "datetime", + }, + dag_run_id: { + description: `The task instance's DAG run ID. Either set this or execution_date but not both. + +*New in version 2.3.0* +`, + type: "string", + }, + include_upstream: { + description: "If set to true, upstream tasks are also affected.", + type: "boolean", + }, + include_downstream: { + description: "If set to true, downstream tasks are also affected.", + type: "boolean", + }, + include_future: { + description: + "If set to True, also tasks from future DAG Runs are affected.", + type: "boolean", + }, + include_past: { + description: + "If set to True, also tasks from past DAG Runs are affected.", + type: "boolean", + }, + new_state: { + $ref: "#/components/schemas/UpdateTaskState", + }, + }, +} as const; + +export const $UpdateTaskInstance = { + type: "object", + properties: { + dry_run: { + description: `If set, don't actually run this operation. The response will contain the task instance +planned to be affected, but won't be modified in any way. +`, + type: "boolean", + default: true, + }, + new_state: { + $ref: "#/components/schemas/UpdateTaskState", + }, + }, +} as const; + +export const $SetTaskInstanceNote = { + type: "object", + required: ["note"], + properties: { + note: { + description: "The custom note to set for this Task Instance.", + type: "string", + }, + }, +} as const; + +export const $ListDagRunsForm = { + type: "object", + properties: { + order_by: { + type: "string", + description: `The name of the field to order the results by. Prefix a field name +with \`-\` to reverse the sort order. + +*New in version 2.1.0* +`, + }, + page_offset: { + type: "integer", + minimum: 0, + description: + "The number of items to skip before starting to collect the result set.", + }, + page_limit: { + type: "integer", + minimum: 1, + default: 100, + description: "The numbers of items to return.", + }, + dag_ids: { + type: "array", + items: { + type: "string", + }, + description: `Return objects with specific DAG IDs. +The value can be repeated to retrieve multiple matching values (OR condition).`, + }, + states: { + type: "array", + items: { + type: "string", + }, + description: `Return objects with specific states. +The value can be repeated to retrieve multiple matching values (OR condition).`, + }, + execution_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal to the specified date. + +This can be combined with execution_date_lte key to receive only the selected period. +`, + }, + execution_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less than or equal to the specified date. + +This can be combined with execution_date_gte key to receive only the selected period. +`, + }, + start_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal the specified date. + +This can be combined with start_date_lte key to receive only the selected period. +`, + }, + start_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less or equal the specified date. + +This can be combined with start_date_gte parameter to receive only the selected period +`, + }, + end_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal the specified date. + +This can be combined with end_date_lte parameter to receive only the selected period. +`, + }, + end_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less than or equal to the specified date. + +This can be combined with end_date_gte parameter to receive only the selected period. +`, + }, + }, +} as const; + +export const $ListTaskInstanceForm = { + type: "object", + properties: { + dag_ids: { + type: "array", + items: { + type: "string", + }, + description: `Return objects with specific DAG IDs. +The value can be repeated to retrieve multiple matching values (OR condition).`, + }, + dag_run_ids: { + type: "array", + items: { + type: "string", + }, + description: `Return objects with specific DAG Run IDs. +The value can be repeated to retrieve multiple matching values (OR condition). +*New in version 2.7.1*`, + }, + task_ids: { + type: "array", + items: { + type: "string", + }, + description: `Return objects with specific task IDs. +The value can be repeated to retrieve multiple matching values (OR condition). +*New in version 2.7.1*`, + }, + execution_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal to the specified date. + +This can be combined with execution_date_lte parameter to receive only the selected period. +`, + }, + execution_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less than or equal to the specified date. + +This can be combined with execution_date_gte parameter to receive only the selected period. +`, + }, + start_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal the specified date. + +This can be combined with start_date_lte parameter to receive only the selected period. +`, + }, + start_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less or equal the specified date. + +This can be combined with start_date_gte parameter to receive only the selected period. +`, + }, + end_date_gte: { + type: "string", + format: "date-time", + description: `Returns objects greater or equal the specified date. + +This can be combined with start_date_lte parameter to receive only the selected period. +`, + }, + end_date_lte: { + type: "string", + format: "date-time", + description: `Returns objects less than or equal to the specified date. + +This can be combined with start_date_gte parameter to receive only the selected period. +`, + }, + duration_gte: { + type: "number", + description: `Returns objects greater than or equal to the specified values. + +This can be combined with duration_lte parameter to receive only the selected period. +`, + }, + duration_lte: { + type: "number", + description: `Returns objects less than or equal to the specified values. + +This can be combined with duration_gte parameter to receive only the selected range. +`, + }, + state: { + type: "array", + items: { + $ref: "#/components/schemas/TaskState", + }, + description: + "The value can be repeated to retrieve multiple matching values (OR condition).", + }, + pool: { + type: "array", + items: { + type: "string", + }, + description: + "The value can be repeated to retrieve multiple matching values (OR condition).", + }, + queue: { + type: "array", + items: { + type: "string", + }, + description: + "The value can be repeated to retrieve multiple matching values (OR condition).", + }, + executor: { + type: "array", + items: { + type: "string", + }, + description: + "The value can be repeated to retrieve multiple matching values (OR condition).", + }, + order_by: { + type: "string", + description: `The name of the field to order the results by. Prefix a field name +with \`-\` to reverse the sort order. \`order_by\` defaults to +\`map_index\` when unspecified. +Supported field names: \`state\`, \`duration\`, \`start_date\`, \`end_date\` +and \`map_index\`. + +*New in version 3.0.0* +`, + }, + }, +} as const; + +export const $TimeDelta = { + description: "Time delta", + type: "object", + nullable: true, + required: ["__type", "days", "seconds", "microseconds"], + properties: { + __type: { + type: "string", + }, + days: { + type: "integer", + }, + seconds: { + type: "integer", + }, + microseconds: { + type: "integer", + }, + }, +} as const; + +export const $RelativeDelta = { + description: "Relative delta", + type: "object", + required: [ + "__type", + "years", + "months", + "days", + "leapdays", + "hours", + "minutes", + "seconds", + "microseconds", + "year", + "month", + "day", + "hour", + "minute", + "second", + "microsecond", + ], + properties: { + __type: { + type: "string", + }, + years: { + type: "integer", + }, + months: { + type: "integer", + }, + days: { + type: "integer", + }, + leapdays: { + type: "integer", + }, + hours: { + type: "integer", + }, + minutes: { + type: "integer", + }, + seconds: { + type: "integer", + }, + microseconds: { + type: "integer", + }, + year: { + type: "integer", + }, + month: { + type: "integer", + }, + day: { + type: "integer", + }, + hour: { + type: "integer", + }, + minute: { + type: "integer", + }, + second: { + type: "integer", + }, + microsecond: { + type: "integer", + }, + }, +} as const; + +export const $CronExpression = { + description: "Cron expression", + type: "object", + required: ["__type", "value"], + properties: { + __type: { + type: "string", + }, + value: { + type: "string", + }, + }, + nullable: true, +} as const; + +export const $Timezone = { + type: "string", +} as const; + +export const $Tag = { + description: "Tag", + type: "object", + properties: { + name: { + type: "string", + }, + }, +} as const; + +export const $Color = { + description: "Color in hexadecimal notation.", + type: "string", + pattern: "^#[a-fA-F0-9]{3,6}$", +} as const; + +export const $ClassReference = { + description: "Class reference", + type: "object", + properties: { + module_path: { + type: "string", + readOnly: true, + }, + class_name: { + type: "string", + readOnly: true, + }, + }, +} as const; + +export const $Error = { + description: `[RFC7807](https://tools.ietf.org/html/rfc7807) compliant response. +`, + type: "object", + properties: { + type: { + type: "string", + description: `A URI reference [RFC3986] that identifies the problem type. This specification +encourages that, when dereferenced, it provide human-readable documentation for +the problem type. +`, + }, + title: { + type: "string", + description: "A short, human-readable summary of the problem type.", + }, + status: { + type: "number", + description: + "The HTTP status code generated by the API server for this occurrence of the problem.", + }, + detail: { + type: "string", + description: + "A human-readable explanation specific to this occurrence of the problem.", + }, + instance: { + type: "string", + description: `A URI reference that identifies the specific occurrence of the problem. It may or may +not yield further information if dereferenced. +`, + }, + }, + required: ["type", "title", "status"], +} as const; + +export const $CollectionInfo = { + description: "Metadata about collection.", + type: "object", + properties: { + total_entries: { + type: "integer", + description: `Count of total objects in the current result set before pagination parameters +(limit, offset) are applied. +`, + }, + }, +} as const; + +export const $TaskState = { + description: `Task state. + +*Changed in version 2.0.2*: 'removed' is added as a possible value. + +*Changed in version 2.2.0*: 'deferred' is added as a possible value. + +*Changed in version 2.4.0*: 'sensing' state has been removed. +*Changed in version 2.4.2*: 'restarting' is added as a possible value + +*Changed in version 2.7.0*: Field becomes nullable and null primitive is added as a possible value. +*Changed in version 2.7.0*: 'none' state is deprecated in favor of null. +`, + type: "string", + nullable: true, + enum: [ + null, + "success", + "running", + "failed", + "upstream_failed", + "skipped", + "up_for_retry", + "up_for_reschedule", + "queued", + "none", + "scheduled", + "deferred", + "removed", + "restarting", + ], +} as const; + +export const $UpdateTaskState = { + description: `Expected new state. Only a subset of TaskState are available. + +Other states are managed directly by the scheduler or the workers and cannot be updated manually through the REST API. +`, + type: "string", + enum: ["success", "failed", "skipped"], +} as const; + +export const $DagState = { + description: `DAG State. + +*Changed in version 2.1.3*: 'queued' is added as a possible value. +`, + type: "string", + readOnly: true, + enum: ["queued", "running", "success", "failed"], +} as const; + +export const $TriggerRule = { + description: `Trigger rule. + +*Changed in version 2.2.0*: 'none_failed_min_one_success' is added as a possible value. Deprecated 'dummy' and 'always' is added as a possible value + +*Changed in version 2.3.0*: 'all_skipped' is added as a possible value. + +*Changed in version 2.5.0*: 'one_done' is added as a possible value. + +*Changed in version 2.7.0*: 'all_done_setup_success' is added as a possible value. +`, + type: "string", + enum: [ + "all_success", + "all_failed", + "all_done", + "all_done_setup_success", + "one_success", + "one_failed", + "one_done", + "none_failed", + "none_skipped", + "none_failed_or_skipped", + "none_failed_min_one_success", + "dummy", + "all_skipped", + "always", + ], +} as const; + +export const $WeightRule = { + description: "Weight rule.", + type: "string", + enum: ["downstream", "upstream", "absolute"], +} as const; + +export const $HealthStatus = { + description: "Health status", + type: "string", + nullable: true, + enum: ["healthy", "unhealthy"], +} as const; diff --git a/airflow/ui/openapi-gen/requests/services.gen.ts b/airflow/ui/openapi-gen/requests/services.gen.ts new file mode 100644 index 0000000000000..ff147d1458dc9 --- /dev/null +++ b/airflow/ui/openapi-gen/requests/services.gen.ts @@ -0,0 +1,3310 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import type { CancelablePromise } from "./core/CancelablePromise"; +import { OpenAPI } from "./core/OpenAPI"; +import { request as __request } from "./core/request"; +import type { + GetConnectionsData, + GetConnectionsResponse, + PostConnectionData, + PostConnectionResponse, + GetConnectionData, + GetConnectionResponse, + PatchConnectionData, + PatchConnectionResponse, + DeleteConnectionData, + DeleteConnectionResponse, + TestConnectionData, + TestConnectionResponse, + GetDagsData, + GetDagsResponse, + PatchDagsData, + PatchDagsResponse, + GetDagData, + GetDagResponse, + PatchDagData, + PatchDagResponse, + DeleteDagData, + DeleteDagResponse, + PostClearTaskInstancesData, + PostClearTaskInstancesResponse, + PostSetTaskInstancesStateData, + PostSetTaskInstancesStateResponse, + ReparseDagFileData, + ReparseDagFileResponse, + GetDagDetailsData, + GetDagDetailsResponse, + GetTasksData, + GetTasksResponse, + GetTaskData, + GetTaskResponse, + GetDagSourceData, + GetDagSourceResponse, + SetTaskInstanceNoteData, + SetTaskInstanceNoteResponse, + SetMappedTaskInstanceNoteData, + SetMappedTaskInstanceNoteResponse, + GetTaskInstanceDependenciesData, + GetTaskInstanceDependenciesResponse, + GetMappedTaskInstanceDependenciesData, + GetMappedTaskInstanceDependenciesResponse, + GetTaskInstancesData, + GetTaskInstancesResponse, + GetTaskInstanceData, + GetTaskInstanceResponse, + PatchTaskInstanceData, + PatchTaskInstanceResponse, + GetMappedTaskInstanceData, + GetMappedTaskInstanceResponse, + PatchMappedTaskInstanceData, + PatchMappedTaskInstanceResponse, + GetMappedTaskInstancesData, + GetMappedTaskInstancesResponse, + GetTaskInstancesBatchData, + GetTaskInstancesBatchResponse, + GetTaskInstanceTryDetailsData, + GetTaskInstanceTryDetailsResponse, + GetTaskInstanceTriesData, + GetTaskInstanceTriesResponse, + GetMappedTaskInstanceTriesData, + GetMappedTaskInstanceTriesResponse, + GetMappedTaskInstanceTryDetailsData, + GetMappedTaskInstanceTryDetailsResponse, + GetExtraLinksData, + GetExtraLinksResponse, + GetLogData, + GetLogResponse, + GetDagRunsData, + GetDagRunsResponse, + PostDagRunData, + PostDagRunResponse, + GetDagRunsBatchData, + GetDagRunsBatchResponse, + GetDagRunData, + GetDagRunResponse, + DeleteDagRunData, + DeleteDagRunResponse, + UpdateDagRunStateData, + UpdateDagRunStateResponse, + ClearDagRunData, + ClearDagRunResponse, + GetUpstreamDatasetEventsData, + GetUpstreamDatasetEventsResponse, + SetDagRunNoteData, + SetDagRunNoteResponse, + GetDagDatasetQueuedEventData, + GetDagDatasetQueuedEventResponse, + DeleteDagDatasetQueuedEventData, + DeleteDagDatasetQueuedEventResponse, + GetDagDatasetQueuedEventsData, + GetDagDatasetQueuedEventsResponse, + DeleteDagDatasetQueuedEventsData, + DeleteDagDatasetQueuedEventsResponse, + GetDatasetQueuedEventsData, + GetDatasetQueuedEventsResponse, + DeleteDatasetQueuedEventsData, + DeleteDatasetQueuedEventsResponse, + GetDatasetsData, + GetDatasetsResponse, + GetDatasetData, + GetDatasetResponse, + GetDatasetEventsData, + GetDatasetEventsResponse, + CreateDatasetEventData, + CreateDatasetEventResponse, + GetEventLogsData, + GetEventLogsResponse, + GetEventLogData, + GetEventLogResponse, + GetImportErrorsData, + GetImportErrorsResponse, + GetImportErrorData, + GetImportErrorResponse, + GetPoolsData, + GetPoolsResponse, + PostPoolData, + PostPoolResponse, + GetPoolData, + GetPoolResponse, + PatchPoolData, + PatchPoolResponse, + DeletePoolData, + DeletePoolResponse, + GetProvidersResponse, + GetVariablesData, + GetVariablesResponse, + PostVariablesData, + PostVariablesResponse, + GetVariableData, + GetVariableResponse, + PatchVariableData, + PatchVariableResponse, + DeleteVariableData, + DeleteVariableResponse, + GetXcomEntriesData, + GetXcomEntriesResponse, + GetXcomEntryData, + GetXcomEntryResponse, + GetDagStatsData, + GetDagStatsResponse, + GetDagWarningsData, + GetDagWarningsResponse, + GetConfigData, + GetConfigResponse, + GetValueData, + GetValueResponse, + GetHealthResponse, + GetVersionResponse, + GetPluginsData, + GetPluginsResponse, + GetRolesData, + GetRolesResponse, + PostRoleData, + PostRoleResponse, + GetRoleData, + GetRoleResponse, + PatchRoleData, + PatchRoleResponse, + DeleteRoleData, + DeleteRoleResponse, + GetPermissionsData, + GetPermissionsResponse, + GetUsersData, + GetUsersResponse, + PostUserData, + PostUserResponse, + GetUserData, + GetUserResponse, + PatchUserData, + PatchUserResponse, + DeleteUserData, + DeleteUserResponse, +} from "./types.gen"; + +export class ConnectionService { + /** + * List connections + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns ConnectionCollection Success. + * @throws ApiError + */ + public static getConnections( + data: GetConnectionsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/connections", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Create a connection + * @param data The data for the request. + * @param data.requestBody + * @returns Connection Success. + * @throws ApiError + */ + public static postConnection( + data: PostConnectionData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/connections", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a connection + * @param data The data for the request. + * @param data.connectionId The connection ID. + * @returns Connection Success. + * @throws ApiError + */ + public static getConnection( + data: GetConnectionData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/connections/{connection_id}", + path: { + connection_id: data.connectionId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update a connection + * @param data The data for the request. + * @param data.requestBody + * @param data.connectionId The connection ID. + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns Connection Success. + * @throws ApiError + */ + public static patchConnection( + data: PatchConnectionData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/connections/{connection_id}", + path: { + connection_id: data.connectionId, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete a connection + * @param data The data for the request. + * @param data.connectionId The connection ID. + * @returns void Success. + * @throws ApiError + */ + public static deleteConnection( + data: DeleteConnectionData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/connections/{connection_id}", + path: { + connection_id: data.connectionId, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Test a connection + * Test a connection. + * + * For security reasons, the test connection functionality is disabled by default across Airflow UI, API and CLI. + * For more information on capabilities of users, see the documentation: + * https://airflow.apache.org/docs/apache-airflow/stable/security/security_model.html#capabilities-of-authenticated-ui-users. + * It is strongly advised to not enable the feature until you make sure that only + * highly trusted UI/API users have "edit connection" permissions. + * + * Set the "test_connection" flag to "Enabled" in the "core" section of Airflow configuration (airflow.cfg) to enable testing of collections. + * It can also be controlled by the environment variable `AIRFLOW__CORE__TEST_CONNECTION`. + * + * *New in version 2.2.0* + * + * @param data The data for the request. + * @param data.requestBody + * @returns ConnectionTest Success. + * @throws ApiError + */ + public static testConnection( + data: TestConnectionData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/connections/test", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class DagService { + /** + * List DAGs + * List DAGs in the database. + * `dag_id_pattern` can be set to match dags of a specific pattern + * + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @param data.tags List of tags to filter results. + * + * *New in version 2.2.0* + * + * @param data.onlyActive Only filter active DAGs. + * + * *New in version 2.1.1* + * + * @param data.paused Only filter paused/unpaused DAGs. If absent or null, it returns paused and unpaused DAGs. + * + * *New in version 2.6.0* + * + * @param data.fields List of field for return. + * + * @param data.dagIdPattern If set, only return DAGs with dag_ids matching this pattern. + * + * @returns DAGCollection Success. + * @throws ApiError + */ + public static getDags( + data: GetDagsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + tags: data.tags, + only_active: data.onlyActive, + paused: data.paused, + fields: data.fields, + dag_id_pattern: data.dagIdPattern, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + }, + }); + } + + /** + * Update DAGs + * Update DAGs of a given dag_id_pattern using UpdateMask. + * This endpoint allows specifying `~` as the dag_id_pattern to update all DAGs. + * *New in version 2.3.0* + * + * @param data The data for the request. + * @param data.dagIdPattern If set, only update DAGs with dag_ids matching this pattern. + * + * @param data.requestBody + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.tags List of tags to filter results. + * + * *New in version 2.2.0* + * + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @param data.onlyActive Only filter active DAGs. + * + * *New in version 2.1.1* + * + * @returns DAGCollection Success. + * @throws ApiError + */ + public static patchDags( + data: PatchDagsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags", + query: { + limit: data.limit, + offset: data.offset, + tags: data.tags, + update_mask: data.updateMask, + only_active: data.onlyActive, + dag_id_pattern: data.dagIdPattern, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get basic information about a DAG + * Presents only information available in database (DAGModel). + * If you need detailed information, consider using GET /dags/{dag_id}/details. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.fields List of field for return. + * + * @returns DAG Success. + * @throws ApiError + */ + public static getDag(data: GetDagData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}", + path: { + dag_id: data.dagId, + }, + query: { + fields: data.fields, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update a DAG + * @param data The data for the request. + * @param data.requestBody + * @param data.dagId The DAG ID. + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns DAG Success. + * @throws ApiError + */ + public static patchDag( + data: PatchDagData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}", + path: { + dag_id: data.dagId, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete a DAG + * Deletes all metadata related to the DAG, including finished DAG Runs and Tasks. + * Logs are not deleted. This action cannot be undone. + * + * *New in version 2.2.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @returns void Success. + * @throws ApiError + */ + public static deleteDag( + data: DeleteDagData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/dags/{dag_id}", + path: { + dag_id: data.dagId, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + 409: "An existing resource conflicts with the request.", + }, + }); + } + + /** + * Clear a set of task instances + * Clears a set of task instances associated with the DAG for a specified date range. + * + * @param data The data for the request. + * @param data.requestBody Parameters of action + * @param data.dagId The DAG ID. + * @returns TaskInstanceReferenceCollection Success. + * @throws ApiError + */ + public static postClearTaskInstances( + data: PostClearTaskInstancesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/{dag_id}/clearTaskInstances", + path: { + dag_id: data.dagId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Set a state of task instances + * Updates the state for multiple task instances simultaneously. + * + * @param data The data for the request. + * @param data.requestBody Parameters of action + * @param data.dagId The DAG ID. + * @returns TaskInstanceReferenceCollection Success. + * @throws ApiError + */ + public static postSetTaskInstancesState( + data: PostSetTaskInstancesStateData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/{dag_id}/updateTaskInstancesState", + path: { + dag_id: data.dagId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Request re-parsing of a DAG file + * Request re-parsing of existing DAG files using a file token. + * + * @param data The data for the request. + * @param data.fileToken The key containing the encrypted path to the file. Encryption and decryption take place only on + * the server. This prevents the client from reading an non-DAG file. This also ensures API + * extensibility, because the format of encrypted data may change. + * + * @returns unknown Success. + * @throws ApiError + */ + public static reparseDagFile( + data: ReparseDagFileData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PUT", + url: "/parseDagFile/{file_token}", + path: { + file_token: data.fileToken, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get a simplified representation of DAG + * The response contains many DAG attributes, so the response can be large. If possible, consider using GET /dags/{dag_id}. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.fields List of field for return. + * + * @returns DAGDetail Success. + * @throws ApiError + */ + public static getDagDetails( + data: GetDagDetailsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/details", + path: { + dag_id: data.dagId, + }, + query: { + fields: data.fields, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get tasks for DAG + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns TaskCollection Success. + * @throws ApiError + */ + public static getTasks( + data: GetTasksData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/tasks", + path: { + dag_id: data.dagId, + }, + query: { + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get simplified representation of a task + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.taskId The task ID. + * @returns Task Success. + * @throws ApiError + */ + public static getTask(data: GetTaskData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/tasks/{task_id}", + path: { + dag_id: data.dagId, + task_id: data.taskId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get a source code + * Get a source code using file token. + * + * @param data The data for the request. + * @param data.fileToken The key containing the encrypted path to the file. Encryption and decryption take place only on + * the server. This prevents the client from reading an non-DAG file. This also ensures API + * extensibility, because the format of encrypted data may change. + * + * @returns unknown Success. + * @throws ApiError + */ + public static getDagSource( + data: GetDagSourceData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dagSources/{file_token}", + path: { + file_token: data.fileToken, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + 406: "A specified Accept header is not allowed.", + }, + }); + } +} + +export class TaskInstanceService { + /** + * Update the TaskInstance note. + * Update the manual user note of a non-mapped Task Instance. + * + * *New in version 2.5.0* + * + * @param data The data for the request. + * @param data.requestBody Parameters of set Task Instance note. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static setTaskInstanceNote( + data: SetTaskInstanceNoteData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update the TaskInstance note. + * Update the manual user note of a mapped Task Instance. + * + * *New in version 2.5.0* + * + * @param data The data for the request. + * @param data.requestBody Parameters of set Task Instance note. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static setMappedTaskInstanceNote( + data: SetMappedTaskInstanceNoteData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get task dependencies blocking task from getting scheduled. + * Get task dependencies blocking task from getting scheduled. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @returns TaskInstanceDependencyCollection Success. + * @throws ApiError + */ + public static getTaskInstanceDependencies( + data: GetTaskInstanceDependenciesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dependencies", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get task dependencies blocking task from getting scheduled. + * Get task dependencies blocking task from getting scheduled. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @returns TaskInstanceDependencyCollection Success. + * @throws ApiError + */ + public static getMappedTaskInstanceDependencies( + data: GetMappedTaskInstanceDependenciesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dependencies", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List task instances + * This endpoint allows specifying `~` as the dag_id, dag_run_id to retrieve DAG runs for all DAGs and DAG runs. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + * @param data.executionDateGte Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + * @param data.executionDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + * @param data.startDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.startDateLte Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.endDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.endDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.updatedAtGte Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.updatedAtLte Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.durationGte Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + * @param data.durationLte Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + * @param data.state The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.pool The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.queue The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.executor The value can be repeated to retrieve multiple matching values (OR condition). + * @returns TaskInstanceCollection Success. + * @throws ApiError + */ + public static getTaskInstances( + data: GetTaskInstancesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + execution_date_gte: data.executionDateGte, + execution_date_lte: data.executionDateLte, + start_date_gte: data.startDateGte, + start_date_lte: data.startDateLte, + end_date_gte: data.endDateGte, + end_date_lte: data.endDateLte, + updated_at_gte: data.updatedAtGte, + updated_at_lte: data.updatedAtLte, + duration_gte: data.durationGte, + duration_lte: data.durationLte, + state: data.state, + pool: data.pool, + queue: data.queue, + executor: data.executor, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a task instance + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static getTaskInstance( + data: GetTaskInstanceData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Updates the state of a task instance + * Updates the state for single task instance. + * *New in version 2.5.0* + * + * @param data The data for the request. + * @param data.requestBody Parameters of action + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @returns TaskInstanceReference Success. + * @throws ApiError + */ + public static patchTaskInstance( + data: PatchTaskInstanceData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get a mapped task instance + * Get details of a mapped task instance. + * + * *New in version 2.3.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static getMappedTaskInstance( + data: GetMappedTaskInstanceData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Updates the state of a mapped task instance + * Updates the state for single mapped task instance. + * *New in version 2.5.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @param data.requestBody Parameters of action + * @returns TaskInstanceReference Success. + * @throws ApiError + */ + public static patchMappedTaskInstance( + data: PatchMappedTaskInstanceData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List mapped task instances + * Get details of all mapped task instances. + * + * *New in version 2.3.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.executionDateGte Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + * @param data.executionDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + * @param data.startDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.startDateLte Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.endDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.endDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.updatedAtGte Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.updatedAtLte Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.durationGte Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + * @param data.durationLte Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + * @param data.state The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.pool The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.queue The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.executor The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.orderBy The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + * @returns TaskInstanceCollection Success. + * @throws ApiError + */ + public static getMappedTaskInstances( + data: GetMappedTaskInstancesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + query: { + limit: data.limit, + offset: data.offset, + execution_date_gte: data.executionDateGte, + execution_date_lte: data.executionDateLte, + start_date_gte: data.startDateGte, + start_date_lte: data.startDateLte, + end_date_gte: data.endDateGte, + end_date_lte: data.endDateLte, + updated_at_gte: data.updatedAtGte, + updated_at_lte: data.updatedAtLte, + duration_gte: data.durationGte, + duration_lte: data.durationLte, + state: data.state, + pool: data.pool, + queue: data.queue, + executor: data.executor, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List task instances (batch) + * List task instances from all DAGs and DAG runs. + * This endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it would run in to maximum HTTP request URL length limits. + * + * @param data The data for the request. + * @param data.requestBody + * @returns TaskInstanceCollection Success. + * @throws ApiError + */ + public static getTaskInstancesBatch( + data: GetTaskInstancesBatchData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/~/dagRuns/~/taskInstances/list", + body: data.requestBody, + mediaType: "application/json", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * get taskinstance try + * Get details of a task instance try. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.taskTryNumber The task try number. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static getTaskInstanceTryDetails( + data: GetTaskInstanceTryDetailsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries/{task_try_number}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + task_try_number: data.taskTryNumber, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List task instance tries + * Get details of all task instance tries. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns TaskInstanceCollection Success. + * @throws ApiError + */ + public static getTaskInstanceTries( + data: GetTaskInstanceTriesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List mapped task instance tries + * Get details of all task instance tries. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns TaskInstanceCollection Success. + * @throws ApiError + */ + public static getMappedTaskInstanceTries( + data: GetMappedTaskInstanceTriesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + }, + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * get mapped taskinstance try + * Get details of a mapped task instance try. + * + * *New in version 2.10.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex The map index. + * @param data.taskTryNumber The task try number. + * @returns TaskInstance Success. + * @throws ApiError + */ + public static getMappedTaskInstanceTryDetails( + data: GetMappedTaskInstanceTryDetailsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries/{task_try_number}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + map_index: data.mapIndex, + task_try_number: data.taskTryNumber, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List extra links + * List extra links for task instance. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @returns ExtraLinkCollection Success. + * @throws ApiError + */ + public static getExtraLinks( + data: GetExtraLinksData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get logs + * Get logs for a specific task instance and its try number. + * To get log from specific character position, following way of using + * URLSafeSerializer can be used. + * + * Example: + * ``` + * from itsdangerous.url_safe import URLSafeSerializer + * + * request_url = f"api/v1/dags/{DAG_ID}/dagRuns/{RUN_ID}/taskInstances/{TASK_ID}/logs/1" + * key = app.config["SECRET_KEY"] + * serializer = URLSafeSerializer(key) + * token = serializer.dumps({"log_pos": 10000}) + * + * response = self.client.get( + * request_url, + * query_string={"token": token}, + * headers={"Accept": "text/plain"}, + * environ_overrides={"REMOTE_USER": "test"}, + * ) + * continuation_token = response.json["continuation_token"] + * metadata = URLSafeSerializer(key).loads(continuation_token) + * log_pos = metadata["log_pos"] + * end_of_log = metadata["end_of_log"] + * ``` + * If log_pos is passed as 10000 like the above example, it renders the logs starting + * from char position 10000 to last (not the end as the logs may be tailing behind in + * running state). This way pagination can be done with metadata as part of the token. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.taskTryNumber The task try number. + * @param data.fullContent A full content will be returned. + * By default, only the first fragment will be returned. + * + * @param data.mapIndex Filter on map index for mapped task. + * @param data.token A token that allows you to continue fetching logs. + * If passed, it will specify the location from which the download should be continued. + * + * @returns unknown Success. + * @throws ApiError + */ + public static getLog(data: GetLogData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + task_try_number: data.taskTryNumber, + }, + query: { + full_content: data.fullContent, + map_index: data.mapIndex, + token: data.token, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class DagRunService { + /** + * List DAG runs + * This endpoint allows specifying `~` as the dag_id to retrieve DAG runs for all DAGs. + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.executionDateGte Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + * @param data.executionDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + * @param data.startDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.startDateLte Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.endDateGte Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + * @param data.endDateLte Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + * @param data.updatedAtGte Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.updatedAtLte Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + * @param data.state The value can be repeated to retrieve multiple matching values (OR condition). + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @param data.fields List of field for return. + * + * @returns DAGRunCollection List of DAG runs. + * @throws ApiError + */ + public static getDagRuns( + data: GetDagRunsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns", + path: { + dag_id: data.dagId, + }, + query: { + limit: data.limit, + offset: data.offset, + execution_date_gte: data.executionDateGte, + execution_date_lte: data.executionDateLte, + start_date_gte: data.startDateGte, + start_date_lte: data.startDateLte, + end_date_gte: data.endDateGte, + end_date_lte: data.endDateLte, + updated_at_gte: data.updatedAtGte, + updated_at_lte: data.updatedAtLte, + state: data.state, + order_by: data.orderBy, + fields: data.fields, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + }, + }); + } + + /** + * Trigger a new DAG run. + * This will initiate a dagrun. If DAG is paused then dagrun state will remain queued, and the task won't run. + * + * @param data The data for the request. + * @param data.requestBody + * @param data.dagId The DAG ID. + * @returns DAGRun Success. + * @throws ApiError + */ + public static postDagRun( + data: PostDagRunData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/{dag_id}/dagRuns", + path: { + dag_id: data.dagId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + 409: "An existing resource conflicts with the request.", + }, + }); + } + + /** + * List DAG runs (batch) + * This endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it would run in to maximum HTTP request URL length limit. + * + * @param data The data for the request. + * @param data.requestBody + * @returns DAGRunCollection Success. + * @throws ApiError + */ + public static getDagRunsBatch( + data: GetDagRunsBatchData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/~/dagRuns/list", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a DAG run + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.fields List of field for return. + * + * @returns DAGRun Success. + * @throws ApiError + */ + public static getDagRun( + data: GetDagRunData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + query: { + fields: data.fields, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete a DAG run + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns void Success. + * @throws ApiError + */ + public static deleteDagRun( + data: DeleteDagRunData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Modify a DAG run + * Modify a DAG run. + * + * *New in version 2.2.0* + * + * @param data The data for the request. + * @param data.requestBody + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns DAGRun Success. + * @throws ApiError + */ + public static updateDagRunState( + data: UpdateDagRunStateData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Clear a DAG run + * Clear a DAG run. + * + * *New in version 2.4.0* + * + * @param data The data for the request. + * @param data.requestBody + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns unknown Success. + * @throws ApiError + */ + public static clearDagRun( + data: ClearDagRunData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/clear", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get dataset events for a DAG run + * Get datasets for a dag run. + * + * *New in version 2.4.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns DatasetEventCollection Success. + * @throws ApiError + */ + public static getUpstreamDatasetEvents( + data: GetUpstreamDatasetEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update the DagRun note. + * Update the manual user note of a DagRun. + * + * *New in version 2.5.0* + * + * @param data The data for the request. + * @param data.requestBody Parameters of set DagRun note. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns DAGRun Success. + * @throws ApiError + */ + public static setDagRunNote( + data: SetDagRunNoteData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/setNote", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class DatasetService { + /** + * Get dataset events for a DAG run + * Get datasets for a dag run. + * + * *New in version 2.4.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @returns DatasetEventCollection Success. + * @throws ApiError + */ + public static getUpstreamDatasetEvents( + data: GetUpstreamDatasetEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get a queued Dataset event for a DAG + * Get a queued Dataset event for a DAG. + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.uri The encoded Dataset URI + * @param data.before Timestamp to select event logs occurring before. + * @returns QueuedEvent Success. + * @throws ApiError + */ + public static getDagDatasetQueuedEvent( + data: GetDagDatasetQueuedEventData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/datasets/queuedEvent/{uri}", + path: { + dag_id: data.dagId, + uri: data.uri, + }, + query: { + before: data.before, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete a queued Dataset event for a DAG. + * Delete a queued Dataset event for a DAG. + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.uri The encoded Dataset URI + * @param data.before Timestamp to select event logs occurring before. + * @returns void Success. + * @throws ApiError + */ + public static deleteDagDatasetQueuedEvent( + data: DeleteDagDatasetQueuedEventData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/dags/{dag_id}/datasets/queuedEvent/{uri}", + path: { + dag_id: data.dagId, + uri: data.uri, + }, + query: { + before: data.before, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get queued Dataset events for a DAG. + * Get queued Dataset events for a DAG. + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.before Timestamp to select event logs occurring before. + * @returns QueuedEventCollection Success. + * @throws ApiError + */ + public static getDagDatasetQueuedEvents( + data: GetDagDatasetQueuedEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/datasets/queuedEvent", + path: { + dag_id: data.dagId, + }, + query: { + before: data.before, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete queued Dataset events for a DAG. + * Delete queued Dataset events for a DAG. + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.before Timestamp to select event logs occurring before. + * @returns void Success. + * @throws ApiError + */ + public static deleteDagDatasetQueuedEvents( + data: DeleteDagDatasetQueuedEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/dags/{dag_id}/datasets/queuedEvent", + path: { + dag_id: data.dagId, + }, + query: { + before: data.before, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get queued Dataset events for a Dataset. + * Get queued Dataset events for a Dataset + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.uri The encoded Dataset URI + * @param data.before Timestamp to select event logs occurring before. + * @returns QueuedEventCollection Success. + * @throws ApiError + */ + public static getDatasetQueuedEvents( + data: GetDatasetQueuedEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/datasets/queuedEvent/{uri}", + path: { + uri: data.uri, + }, + query: { + before: data.before, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete queued Dataset events for a Dataset. + * Delete queued Dataset events for a Dataset. + * + * *New in version 2.9.0* + * + * @param data The data for the request. + * @param data.uri The encoded Dataset URI + * @param data.before Timestamp to select event logs occurring before. + * @returns void Success. + * @throws ApiError + */ + public static deleteDatasetQueuedEvents( + data: DeleteDatasetQueuedEventsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/datasets/queuedEvent/{uri}", + path: { + uri: data.uri, + }, + query: { + before: data.before, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * List datasets + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @param data.uriPattern If set, only return datasets with uris matching this pattern. + * + * @param data.dagIds One or more DAG IDs separated by commas to filter datasets by associated DAGs either consuming or producing. + * + * *New in version 2.9.0* + * + * @returns DatasetCollection Success. + * @throws ApiError + */ + public static getDatasets( + data: GetDatasetsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/datasets", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + uri_pattern: data.uriPattern, + dag_ids: data.dagIds, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a dataset + * Get a dataset by uri. + * @param data The data for the request. + * @param data.uri The encoded Dataset URI + * @returns Dataset Success. + * @throws ApiError + */ + public static getDataset( + data: GetDatasetData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/datasets/{uri}", + path: { + uri: data.uri, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get dataset events + * Get dataset events + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @param data.datasetId The Dataset ID that updated the dataset. + * @param data.sourceDagId The DAG ID that updated the dataset. + * @param data.sourceTaskId The task ID that updated the dataset. + * @param data.sourceRunId The DAG run ID that updated the dataset. + * @param data.sourceMapIndex The map index that updated the dataset. + * @returns DatasetEventCollection Success. + * @throws ApiError + */ + public static getDatasetEvents( + data: GetDatasetEventsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/datasets/events", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + dataset_id: data.datasetId, + source_dag_id: data.sourceDagId, + source_task_id: data.sourceTaskId, + source_run_id: data.sourceRunId, + source_map_index: data.sourceMapIndex, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Create dataset event + * Create dataset event + * @param data The data for the request. + * @param data.requestBody + * @returns DatasetEvent Success. + * @throws ApiError + */ + public static createDatasetEvent( + data: CreateDatasetEventData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/datasets/events", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class EventLogService { + /** + * List log entries + * List log entries from event log. + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @param data.dagId Returns objects matched by the DAG ID. + * @param data.taskId Returns objects matched by the Task ID. + * @param data.runId Returns objects matched by the Run ID. + * @param data.mapIndex Filter on map index for mapped task. + * @param data.tryNumber Filter on try_number for task instance. + * @param data.event The name of event log. + * @param data.owner The owner's name of event log. + * @param data.before Timestamp to select event logs occurring before. + * @param data.after Timestamp to select event logs occurring after. + * @param data.includedEvents One or more event names separated by commas. If set, only return event logs with events matching this pattern. + * *New in version 2.9.0* + * + * @param data.excludedEvents One or more event names separated by commas. If set, only return event logs with events that do not match this pattern. + * *New in version 2.9.0* + * + * @returns EventLogCollection Success. + * @throws ApiError + */ + public static getEventLogs( + data: GetEventLogsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/eventLogs", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + dag_id: data.dagId, + task_id: data.taskId, + run_id: data.runId, + map_index: data.mapIndex, + try_number: data.tryNumber, + event: data.event, + owner: data.owner, + before: data.before, + after: data.after, + included_events: data.includedEvents, + excluded_events: data.excludedEvents, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a log entry + * @param data The data for the request. + * @param data.eventLogId The event log ID. + * @returns EventLog Success. + * @throws ApiError + */ + public static getEventLog( + data: GetEventLogData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/eventLogs/{event_log_id}", + path: { + event_log_id: data.eventLogId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class ImportErrorService { + /** + * List import errors + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns ImportErrorCollection Success. + * @throws ApiError + */ + public static getImportErrors( + data: GetImportErrorsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/importErrors", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get an import error + * @param data The data for the request. + * @param data.importErrorId The import error ID. + * @returns ImportError Success. + * @throws ApiError + */ + public static getImportError( + data: GetImportErrorData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/importErrors/{import_error_id}", + path: { + import_error_id: data.importErrorId, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class PoolService { + /** + * List pools + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns PoolCollection List of pools. + * @throws ApiError + */ + public static getPools( + data: GetPoolsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/pools", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Create a pool + * @param data The data for the request. + * @param data.requestBody + * @returns Pool Success. + * @throws ApiError + */ + public static postPool( + data: PostPoolData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/pools", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a pool + * @param data The data for the request. + * @param data.poolName The pool name. + * @returns Pool Success. + * @throws ApiError + */ + public static getPool(data: GetPoolData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/pools/{pool_name}", + path: { + pool_name: data.poolName, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update a pool + * @param data The data for the request. + * @param data.requestBody + * @param data.poolName The pool name. + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns Pool Success. + * @throws ApiError + */ + public static patchPool( + data: PatchPoolData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/pools/{pool_name}", + path: { + pool_name: data.poolName, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + 409: "An existing resource conflicts with the request.", + }, + }); + } + + /** + * Delete a pool + * @param data The data for the request. + * @param data.poolName The pool name. + * @returns void Success. + * @throws ApiError + */ + public static deletePool( + data: DeletePoolData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/pools/{pool_name}", + path: { + pool_name: data.poolName, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class ProviderService { + /** + * List providers + * Get a list of providers. + * + * *New in version 2.1.0* + * + * @returns unknown List of providers. + * @throws ApiError + */ + public static getProviders(): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/providers", + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } +} + +export class VariableService { + /** + * List variables + * The collection does not contain data. To get data, you must get a single entity. + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns VariableCollection Success. + * @throws ApiError + */ + public static getVariables( + data: GetVariablesData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/variables", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Create a variable + * @param data The data for the request. + * @param data.requestBody + * @returns Variable Success. + * @throws ApiError + */ + public static postVariables( + data: PostVariablesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/variables", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get a variable + * Get a variable by key. + * @param data The data for the request. + * @param data.variableKey The variable Key. + * @returns Variable Success. + * @throws ApiError + */ + public static getVariable( + data: GetVariableData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/variables/{variable_key}", + path: { + variable_key: data.variableKey, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Update a variable + * Update a variable by key. + * @param data The data for the request. + * @param data.requestBody + * @param data.variableKey The variable Key. + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns Variable Success. + * @throws ApiError + */ + public static patchVariable( + data: PatchVariableData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/variables/{variable_key}", + path: { + variable_key: data.variableKey, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Delete a variable + * @param data The data for the request. + * @param data.variableKey The variable Key. + * @returns void Success. + * @throws ApiError + */ + public static deleteVariable( + data: DeleteVariableData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/variables/{variable_key}", + path: { + variable_key: data.variableKey, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class XcomService { + /** + * List XCom entries + * This endpoint allows specifying `~` as the dag_id, dag_run_id, task_id to retrieve XCOM entries for for all DAGs, DAG runs and task instances. XCom values won't be returned as they can be large. Use this endpoint to get a list of XCom entries and then fetch individual entry to get value. + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.mapIndex Filter on map index for mapped task. + * @param data.xcomKey Only filter the XCom records which have the provided key. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @returns XComCollection Success. + * @throws ApiError + */ + public static getXcomEntries( + data: GetXcomEntriesData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + }, + query: { + map_index: data.mapIndex, + xcom_key: data.xcomKey, + limit: data.limit, + offset: data.offset, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * Get an XCom entry + * @param data The data for the request. + * @param data.dagId The DAG ID. + * @param data.dagRunId The DAG run ID. + * @param data.taskId The task ID. + * @param data.xcomKey The XCom key. + * @param data.mapIndex Filter on map index for mapped task. + * @param data.deserialize Whether to deserialize an XCom value when using a custom XCom backend. + * + * The XCom API endpoint calls `orm_deserialize_value` by default since an XCom may contain value + * that is potentially expensive to deserialize in the web server. Setting this to true overrides + * the consideration, and calls `deserialize_value` instead. + * + * This parameter is not meaningful when using the default XCom backend. + * + * *New in version 2.4.0* + * + * @param data.stringify Whether to convert the XCom value to be a string. XCom values can be of Any data type. + * + * If set to true (default) the Any value will be returned as string, e.g. a Python representation + * of a dict. If set to false it will return the raw data as dict, list, string or whatever was stored. + * + * *New in version 2.10.0* + * + * @returns XCom Success. + * @throws ApiError + */ + public static getXcomEntry( + data: GetXcomEntryData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}", + path: { + dag_id: data.dagId, + dag_run_id: data.dagRunId, + task_id: data.taskId, + xcom_key: data.xcomKey, + }, + query: { + map_index: data.mapIndex, + deserialize: data.deserialize, + stringify: data.stringify, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class DagStatsService { + /** + * List Dag statistics + * @param data The data for the request. + * @param data.dagIds One or more DAG IDs separated by commas to filter relevant Dags. + * + * @returns DagStatsCollectionSchema Success. + * @throws ApiError + */ + public static getDagStats( + data: GetDagStatsData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dagStats", + query: { + dag_ids: data.dagIds, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } +} + +export class DagWarningService { + /** + * List dag warnings + * @param data The data for the request. + * @param data.dagId If set, only return DAG warnings with this dag_id. + * @param data.warningType If set, only return DAG warnings with this type. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns DagWarningCollection Success. + * @throws ApiError + */ + public static getDagWarnings( + data: GetDagWarningsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/dagWarnings", + query: { + dag_id: data.dagId, + warning_type: data.warningType, + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } +} + +export class ConfigService { + /** + * Get current configuration + * @param data The data for the request. + * @param data.section If given, only return config of this section. + * @returns Config Success. + * @throws ApiError + */ + public static getConfig( + data: GetConfigData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/config", + query: { + section: data.section, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * Get a option from configuration + * @param data The data for the request. + * @param data.section + * @param data.option + * @returns Config Success. + * @throws ApiError + */ + public static getValue( + data: GetValueData + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/config/section/{section}/option/{option}", + path: { + section: data.section, + option: data.option, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class MonitoringService { + /** + * Get instance status + * Get the status of Airflow's metadatabase, triggerer and scheduler. It includes info about + * metadatabase and last heartbeat of scheduler and triggerer. + * + * @returns HealthInfo Success. + * @throws ApiError + */ + public static getHealth(): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/health", + }); + } + + /** + * Get version information + * @returns VersionInfo Success. + * @throws ApiError + */ + public static getVersion(): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/version", + }); + } +} + +export class PluginService { + /** + * Get a list of loaded plugins + * Get a list of loaded plugins. + * + * *New in version 2.1.0* + * + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @returns PluginCollection Success + * @throws ApiError + */ + public static getPlugins( + data: GetPluginsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/plugins", + query: { + limit: data.limit, + offset: data.offset, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class RoleService { + /** + * @deprecated + * List roles + * Get a list of roles. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns RoleCollection Success. + * @throws ApiError + */ + public static getRoles( + data: GetRolesData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/roles", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * @deprecated + * Create a role + * Create a new role. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.requestBody + * @returns Role Success. + * @throws ApiError + */ + public static postRole( + data: PostRoleData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/roles", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * @deprecated + * Get a role + * Get a role. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.roleName The role name + * @returns Role Success. + * @throws ApiError + */ + public static getRole(data: GetRoleData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/roles/{role_name}", + path: { + role_name: data.roleName, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * @deprecated + * Update a role + * Update a role. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.requestBody + * @param data.roleName The role name + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns Role Success. + * @throws ApiError + */ + public static patchRole( + data: PatchRoleData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/roles/{role_name}", + path: { + role_name: data.roleName, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * @deprecated + * Delete a role + * Delete a role. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.roleName The role name + * @returns void Success. + * @throws ApiError + */ + public static deleteRole( + data: DeleteRoleData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/roles/{role_name}", + path: { + role_name: data.roleName, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} + +export class PermissionService { + /** + * @deprecated + * List permissions + * Get a list of permissions. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @returns ActionCollection Success. + * @throws ApiError + */ + public static getPermissions( + data: GetPermissionsData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/permissions", + query: { + limit: data.limit, + offset: data.offset, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } +} + +export class UserService { + /** + * @deprecated + * List users + * Get a list of users. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.limit The numbers of items to return. + * @param data.offset The number of items to skip before starting to collect the result set. + * @param data.orderBy The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + * @returns UserCollection Success. + * @throws ApiError + */ + public static getUsers( + data: GetUsersData = {} + ): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/users", + query: { + limit: data.limit, + offset: data.offset, + order_by: data.orderBy, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + }, + }); + } + + /** + * @deprecated + * Create a user + * Create a new user with unique username and email. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.requestBody + * @returns User Success. + * @throws ApiError + */ + public static postUser( + data: PostUserData + ): CancelablePromise { + return __request(OpenAPI, { + method: "POST", + url: "/users", + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 409: "An existing resource conflicts with the request.", + }, + }); + } + + /** + * @deprecated + * Get a user + * Get a user with a specific username. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.username The username of the user. + * + * *New in version 2.1.0* + * + * @returns UserCollectionItem Success. + * @throws ApiError + */ + public static getUser(data: GetUserData): CancelablePromise { + return __request(OpenAPI, { + method: "GET", + url: "/users/{username}", + path: { + username: data.username, + }, + errors: { + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * @deprecated + * Update a user + * Update fields for a user. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.requestBody + * @param data.username The username of the user. + * + * *New in version 2.1.0* + * + * @param data.updateMask The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + * @returns UserCollectionItem Success. + * @throws ApiError + */ + public static patchUser( + data: PatchUserData + ): CancelablePromise { + return __request(OpenAPI, { + method: "PATCH", + url: "/users/{username}", + path: { + username: data.username, + }, + query: { + update_mask: data.updateMask, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } + + /** + * @deprecated + * Delete a user + * Delete a user with a specific username. + * + * *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.* + * + * @param data The data for the request. + * @param data.username The username of the user. + * + * *New in version 2.1.0* + * + * @returns void Success. + * @throws ApiError + */ + public static deleteUser( + data: DeleteUserData + ): CancelablePromise { + return __request(OpenAPI, { + method: "DELETE", + url: "/users/{username}", + path: { + username: data.username, + }, + errors: { + 400: "Client specified an invalid argument.", + 401: "Request not authenticated due to missing, invalid, authentication info.", + 403: "Client does not have sufficient permission.", + 404: "A specified resource is not found.", + }, + }); + } +} diff --git a/airflow/ui/openapi-gen/requests/types.gen.ts b/airflow/ui/openapi-gen/requests/types.gen.ts new file mode 100644 index 0000000000000..481895035d71e --- /dev/null +++ b/airflow/ui/openapi-gen/requests/types.gen.ts @@ -0,0 +1,6197 @@ +// This file is auto-generated by @hey-api/openapi-ts + +/** + * A user object. + * + * *New in version 2.1.0* + * + */ +export type UserCollectionItem = { + /** + * The user's first name. + * + * *Changed in version 2.4.0*: The requirement for this to be non-empty was removed. + * + */ + first_name?: string; + /** + * The user's last name. + * + * *Changed in version 2.4.0*: The requirement for this to be non-empty was removed. + * + */ + last_name?: string; + /** + * The username. + * + * *Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added. + * + */ + username?: string; + /** + * The user's email. + * + * *Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added. + * + */ + email?: string; + /** + * Whether the user is active + */ + readonly active?: boolean | null; + /** + * The last user login + */ + readonly last_login?: string | null; + /** + * The login count + */ + readonly login_count?: number | null; + /** + * The number of times the login failed + */ + readonly failed_login_count?: number | null; + /** + * User roles. + * + * *Changed in version 2.2.0*: Field is no longer read-only. + * + */ + roles?: Array<{ + name?: string; + } | null>; + /** + * The date user was created + */ + readonly created_on?: string | null; + /** + * The date user was changed + */ + readonly changed_on?: string | null; +}; + +/** + * A user object with sensitive data. + * + * *New in version 2.1.0* + * + */ +export type User = UserCollectionItem & { + password?: string; +}; + +/** + * Collection of users. + * + * *New in version 2.1.0* + * + */ +export type UserCollection = { + users?: Array; +} & CollectionInfo; + +/** + * Connection collection item. + * The password and extra fields are only available when retrieving a single object due to the sensitivity of this data. + * + */ +export type ConnectionCollectionItem = { + /** + * The connection ID. + */ + connection_id?: string; + /** + * The connection type. + */ + conn_type?: string; + /** + * The description of the connection. + */ + description?: string | null; + /** + * Host of the connection. + */ + host?: string | null; + /** + * Login of the connection. + */ + login?: string | null; + /** + * Schema of the connection. + */ + schema?: string | null; + /** + * Port of the connection. + */ + port?: number | null; +}; + +/** + * Collection of connections. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type ConnectionCollection = { + connections?: Array; +} & CollectionInfo; + +/** + * Full representation of the connection. + */ +export type Connection = ConnectionCollectionItem & { + /** + * Password of the connection. + */ + password?: string; + /** + * Other values that cannot be put into another field, e.g. RSA keys. + */ + extra?: string | null; +}; + +/** + * Connection test results. + * + * *New in version 2.2.0* + * + */ +export type ConnectionTest = { + /** + * The status of the request. + */ + status?: boolean; + /** + * The success or failure message of the request. + */ + message?: string; +}; + +/** + * DAG + */ +export type DAG = { + /** + * The ID of the DAG. + */ + readonly dag_id?: string; + /** + * Human centric display text for the DAG. + * + * *New in version 2.9.0* + * + */ + readonly dag_display_name?: string; + /** + * Whether the DAG is paused. + */ + is_paused?: boolean | null; + /** + * Whether the DAG is currently seen by the scheduler(s). + * + * *New in version 2.1.1* + * + * *Changed in version 2.2.0*: Field is read-only. + * + */ + readonly is_active?: boolean | null; + /** + * The last time the DAG was parsed. + * + * *New in version 2.3.0* + * + */ + readonly last_parsed_time?: string | null; + /** + * The last time the DAG was pickled. + * + * *New in version 2.3.0* + * + */ + readonly last_pickled?: string | null; + /** + * Time when the DAG last received a refresh signal + * (e.g. the DAG's "refresh" button was clicked in the web UI) + * + * *New in version 2.3.0* + * + */ + readonly last_expired?: string | null; + /** + * Whether (one of) the scheduler is scheduling this DAG at the moment + * + * *New in version 2.3.0* + * + */ + readonly scheduler_lock?: boolean | null; + /** + * Foreign key to the latest pickle_id + * + * *New in version 2.3.0* + * + */ + readonly pickle_id?: string | null; + /** + * Default view of the DAG inside the webserver + * + * *New in version 2.3.0* + * + */ + readonly default_view?: string | null; + /** + * The absolute path to the file. + */ + readonly fileloc?: string; + /** + * The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change. + * + */ + readonly file_token?: string; + readonly owners?: Array; + /** + * User-provided DAG description, which can consist of several sentences or paragraphs that describe DAG contents. + * + */ + readonly description?: string | null; + /** + * Timetable summary. + * + * *New in version 3.0.0* + * + */ + readonly timetable_summary?: string | null; + /** + * Timetable description. + * + * *New in version 2.3.0* + * + */ + readonly timetable_description?: string | null; + /** + * List of tags. + */ + readonly tags?: Array | null; + /** + * Maximum number of active tasks that can be run on the DAG + * + * *New in version 2.3.0* + * + */ + readonly max_active_tasks?: number | null; + /** + * Maximum number of active DAG runs for the DAG + * + * *New in version 2.3.0* + * + */ + readonly max_active_runs?: number | null; + /** + * Whether the DAG has task concurrency limits + * + * *New in version 2.3.0* + * + */ + readonly has_task_concurrency_limits?: boolean | null; + /** + * Whether the DAG has import errors + * + * *New in version 2.3.0* + * + */ + readonly has_import_errors?: boolean | null; + /** + * The logical date of the next dag run. + * + * *New in version 2.3.0* + * + */ + readonly next_dagrun?: string | null; + /** + * The start of the interval of the next dag run. + * + * *New in version 2.3.0* + * + */ + readonly next_dagrun_data_interval_start?: string | null; + /** + * The end of the interval of the next dag run. + * + * *New in version 2.3.0* + * + */ + readonly next_dagrun_data_interval_end?: string | null; + /** + * Earliest time at which this ``next_dagrun`` can be created. + * + * *New in version 2.3.0* + * + */ + readonly next_dagrun_create_after?: string | null; + /** + * (experimental) The maximum number of consecutive DAG failures before DAG is automatically paused. + * + * *New in version 2.9.0* + * + */ + readonly max_consecutive_failed_dag_runs?: number | null; +}; + +/** + * Collection of DAGs. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type DAGCollection = { + dags?: Array; +} & CollectionInfo; + +export type DAGRun = { + /** + * Run ID. + * + * The value of this field can be set only when creating the object. If you try to modify the + * field of an existing object, the request fails with an BAD_REQUEST error. + * + * If not provided, a value will be generated based on execution_date. + * + * If the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error. + * + * This together with DAG_ID are a unique key. + * + */ + dag_run_id?: string | null; + readonly dag_id?: string; + /** + * The logical date (previously called execution date). This is the time or interval covered by + * this DAG run, according to the DAG definition. + * + * The value of this field can be set only when creating the object. If you try to modify the + * field of an existing object, the request fails with an BAD_REQUEST error. + * + * This together with DAG_ID are a unique key. + * + * *New in version 2.2.0* + * + */ + logical_date?: string | null; + /** + * The execution date. This is the same as logical_date, kept for backwards compatibility. + * If both this field and logical_date are provided but with different values, the request + * will fail with an BAD_REQUEST error. + * + * *Changed in version 2.2.0*: Field becomes nullable. + * + * *Deprecated since version 2.2.0*: Use 'logical_date' instead. + * + * @deprecated + */ + execution_date?: string | null; + /** + * The start time. The time when DAG run was actually created. + * + * *Changed in version 2.1.3*: Field becomes nullable. + * + */ + readonly start_date?: string | null; + readonly end_date?: string | null; + /** + * The beginning of the interval the DAG run covers. + * + */ + data_interval_start?: string | null; + /** + * The end of the interval the DAG run covers. + * + */ + data_interval_end?: string | null; + readonly last_scheduling_decision?: string | null; + readonly run_type?: "backfill" | "manual" | "scheduled" | "dataset_triggered"; + state?: DagState; + readonly external_trigger?: boolean; + /** + * JSON object describing additional configuration parameters. + * + * The value of this field can be set only when creating the object. If you try to modify the + * field of an existing object, the request fails with an BAD_REQUEST error. + * + */ + conf?: { + [key: string]: unknown; + }; + /** + * Contains manually entered notes by the user about the DagRun. + * + * *New in version 2.5.0* + * + */ + note?: string | null; +}; + +export type run_type = + | "backfill" + | "manual" + | "scheduled" + | "dataset_triggered"; + +/** + * Modify the state of a DAG run. + * + * *New in version 2.2.0* + * + */ +export type UpdateDagRunState = { + /** + * The state to set this DagRun + */ + state?: "success" | "failed" | "queued"; +}; + +/** + * The state to set this DagRun + */ +export type state = "success" | "failed" | "queued"; + +/** + * Collection of DAG runs. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type DAGRunCollection = { + dag_runs?: Array; +} & CollectionInfo; + +/** + * Collection of Dag statistics. + * + */ +export type DagStatsCollectionSchema = { + dags?: Array; +} & CollectionInfo; + +/** + * DagStats entry collection item. + */ +export type DagStatsCollectionItem = { + /** + * The DAG ID. + */ + dag_id?: string; + stats?: Array | null; +}; + +/** + * DagStatsState entry collection item. + */ +export type DagStatsStateCollectionItem = { + /** + * The DAG state. + */ + state?: string; + /** + * The DAG state count. + */ + count?: number; +}; + +export type DagWarning = { + /** + * The dag_id. + */ + readonly dag_id?: string; + /** + * The warning type for the dag warning. + */ + readonly warning_type?: string; + /** + * The message for the dag warning. + */ + readonly message?: string; + /** + * The time when this warning was logged. + */ + readonly timestamp?: string; +}; + +/** + * Collection of DAG warnings. + * + */ +export type DagWarningCollection = { + import_errors?: Array; +} & CollectionInfo; + +export type SetDagRunNote = { + /** + * Custom notes left by users for this Dag Run. + */ + note?: string; +}; + +/** + * Log of user operations via CLI or Web UI. + */ +export type EventLog = { + /** + * The event log ID + */ + readonly event_log_id?: number; + /** + * The time when these events happened. + */ + readonly when?: string; + /** + * The DAG ID + */ + readonly dag_id?: string | null; + /** + * The Task ID + */ + readonly task_id?: string | null; + /** + * The DAG Run ID + */ + readonly run_id?: string | null; + /** + * The Map Index + */ + readonly map_index?: number | null; + /** + * The Try Number + */ + readonly try_number?: number | null; + /** + * A key describing the type of event. + */ + readonly event?: string; + /** + * When the event was dispatched for an object having execution_date, the value of this field. + * + */ + readonly execution_date?: string | null; + /** + * Name of the user who triggered these events a. + */ + readonly owner?: string | null; + /** + * Other information that was not included in the other fields, e.g. the complete CLI command. + * + */ + readonly extra?: string | null; +}; + +/** + * Collection of event logs. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * *Changed in version 2.10.0*: 'try_number' and 'map_index' fields are added. + * + */ +export type EventLogCollection = { + event_logs?: Array; +} & CollectionInfo; + +export type ImportError = { + /** + * The import error ID. + */ + readonly import_error_id?: number; + /** + * The time when this error was created. + */ + readonly timestamp?: string; + /** + * The filename + */ + readonly filename?: string; + /** + * The full stackstrace. + */ + readonly stack_trace?: string; +}; + +/** + * Collection of import errors. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type ImportErrorCollection = { + import_errors?: Array; +} & CollectionInfo; + +/** + * Instance status information. + */ +export type HealthInfo = { + metadatabase?: MetadatabaseStatus; + scheduler?: SchedulerStatus; + triggerer?: TriggererStatus; + dag_processor?: DagProcessorStatus; +}; + +/** + * The status of the metadatabase. + */ +export type MetadatabaseStatus = { + status?: HealthStatus; +}; + +/** + * The status and the latest scheduler heartbeat. + */ +export type SchedulerStatus = { + status?: HealthStatus; + /** + * The time the scheduler last did a heartbeat. + */ + readonly latest_scheduler_heartbeat?: string | null; +}; + +/** + * The status and the latest triggerer heartbeat. + * + * *New in version 2.6.2* + * + */ +export type TriggererStatus = { + status?: HealthStatus; + /** + * The time the triggerer last did a heartbeat. + */ + readonly latest_triggerer_heartbeat?: string | null; +}; + +/** + * The status and the latest dag processor heartbeat. + * + * *New in version 2.6.3* + * + */ +export type DagProcessorStatus = { + status?: HealthStatus; + /** + * The time the dag processor last did a heartbeat. + */ + readonly latest_dag_processor_heartbeat?: string | null; +}; + +/** + * The pool + */ +export type Pool = { + /** + * The name of pool. + */ + name?: string; + /** + * The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots. + * + */ + slots?: number; + /** + * The number of slots used by running/queued tasks at the moment. May include deferred tasks if 'include_deferred' is set to true. + */ + readonly occupied_slots?: number; + /** + * The number of slots used by running tasks at the moment. + */ + readonly running_slots?: number; + /** + * The number of slots used by queued tasks at the moment. + */ + readonly queued_slots?: number; + /** + * The number of free slots at the moment. + */ + readonly open_slots?: number; + /** + * The number of slots used by scheduled tasks at the moment. + */ + readonly scheduled_slots?: number; + /** + * The number of slots used by deferred tasks at the moment. Relevant if 'include_deferred' is set to true. + * + * *New in version 2.7.0* + * + */ + readonly deferred_slots?: number; + /** + * The description of the pool. + * + * *New in version 2.3.0* + * + */ + description?: string | null; + /** + * If set to true, deferred tasks are considered when calculating open pool slots. + * + * *New in version 2.7.0* + * + */ + include_deferred?: boolean; +}; + +/** + * Collection of pools. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type PoolCollection = { + pools?: Array; +} & CollectionInfo; + +/** + * The provider + * + * *New in version 2.1.0* + * + */ +export type Provider = { + /** + * The package name of the provider. + */ + package_name?: string; + /** + * The description of the provider. + */ + description?: string; + /** + * The version of the provider. + */ + version?: string; +}; + +/** + * Collection of providers. + * + * *New in version 2.1.0* + * + */ +export type ProviderCollection = { + providers?: Array; +}; + +export type SLAMiss = { + /** + * The task ID. + */ + readonly task_id?: string; + /** + * The DAG ID. + */ + dag_id?: string; + execution_date?: string; + email_sent?: boolean; + timestamp?: string; + description?: string | null; + notification_sent?: boolean; +} | null; + +export type Trigger = { + id?: number; + classpath?: string; + kwargs?: string; + created_date?: string; + triggerer_id?: number | null; +} | null; + +export type TaskFailedDependency = { + name?: string; + reason?: string; +}; + +export type TaskInstanceDependencyCollection = { + dependencies?: Array; +}; + +export type Job = { + id?: number; + dag_id?: string | null; + state?: string | null; + job_type?: string | null; + start_date?: string | null; + end_date?: string | null; + latest_heartbeat?: string | null; + executor_class?: string | null; + hostname?: string | null; + unixname?: string | null; +} | null; + +export type TaskInstance = { + task_id?: string; + /** + * Human centric display text for the task. + * + * *New in version 2.9.0* + * + */ + task_display_name?: string; + dag_id?: string; + /** + * The DagRun ID for this task instance + * + * *New in version 2.3.0* + * + */ + dag_run_id?: string; + execution_date?: string; + start_date?: string | null; + end_date?: string | null; + duration?: number | null; + state?: TaskState; + try_number?: number; + map_index?: number; + max_tries?: number; + hostname?: string; + unixname?: string; + pool?: string; + pool_slots?: number; + queue?: string | null; + priority_weight?: number | null; + /** + * *Changed in version 2.1.1*: Field becomes nullable. + * + */ + operator?: string | null; + /** + * The datetime that the task enter the state QUEUE, also known as queue_at + * + */ + queued_when?: string | null; + pid?: number | null; + /** + * Executor the task is configured to run on or None (which indicates the default executor) + * + * *New in version 2.10.0* + * + */ + executor?: string | null; + executor_config?: string; + sla_miss?: SLAMiss; + /** + * Rendered name of an expanded task instance, if the task is mapped. + * + * *New in version 2.9.0* + * + */ + rendered_map_index?: string | null; + /** + * JSON object describing rendered fields. + * + * *New in version 2.3.0* + * + */ + rendered_fields?: { + [key: string]: unknown; + }; + trigger?: Trigger; + triggerer_job?: Job; + /** + * Contains manually entered notes by the user about the TaskInstance. + * + * *New in version 2.5.0* + * + */ + note?: string | null; +}; + +/** + * Collection of task instances. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type TaskInstanceCollection = { + task_instances?: Array; +} & CollectionInfo; + +export type TaskInstanceReference = { + /** + * The task ID. + */ + readonly task_id?: string; + /** + * The DAG ID. + */ + readonly dag_id?: string; + readonly execution_date?: string; + /** + * The DAG run ID. + */ + readonly dag_run_id?: string; +}; + +export type TaskInstanceReferenceCollection = { + task_instances?: Array; +}; + +/** + * XCom entry collection item. + * The value field are only available when retrieving a single object due to the sensitivity of this data. + */ +export type VariableCollectionItem = { + key?: string; + /** + * The description of the variable. + * + * *New in version 2.4.0* + * + */ + description?: string | null; +}; + +/** + * Collection of variables. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type VariableCollection = { + variables?: Array; +} & CollectionInfo; + +/** + * Full representation of Variable + */ +export type Variable = VariableCollectionItem & { + value?: string; +}; + +/** + * XCom entry collection item. + * + * The value field is only available when reading a single object due to the size of the value. + * + */ +export type XComCollectionItem = { + key?: string; + timestamp?: string; + execution_date?: string; + map_index?: number; + task_id?: string; + dag_id?: string; +}; + +/** + * Collection of XCom entries. + * + * *Changed in version 2.1.0*: 'total_entries' field is added. + * + */ +export type XComCollection = { + xcom_entries?: Array; +} & CollectionInfo; + +/** + * Full representations of XCom entry. + */ +export type XCom = XComCollectionItem & { + /** + * The value(s), + */ + value?: + | string + | number + | boolean + | Array + | { + [key: string]: unknown; + } + | null; +}; + +/** + * DAG details. + * + * For details see: + * [airflow.models.dag.DAG](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/dag/index.html#airflow.models.dag.DAG) + * + */ +export type DAGDetail = DAG & { + timezone?: Timezone | null; + readonly catchup?: boolean | null; + readonly orientation?: string | null; + readonly concurrency?: number | null; + /** + * The DAG's start date. + * + * *Changed in version 2.0.1*: Field becomes nullable. + * + */ + readonly start_date?: string | null; + dag_run_timeout?: TimeDelta | null; + /** + * Nested dataset any/all conditions + */ + dataset_expression?: { + [key: string]: unknown; + } | null; + readonly doc_md?: string | null; + readonly default_view?: string | null; + /** + * User-specified DAG params. + * + * *New in version 2.0.1* + * + */ + readonly params?: { + [key: string]: unknown; + }; + /** + * The DAG's end date. + * + * *New in version 2.3.0*. + * + */ + readonly end_date?: string | null; + /** + * Whether the DAG is paused upon creation. + * + * *New in version 2.3.0* + * + */ + readonly is_paused_upon_creation?: boolean | null; + /** + * The last time the DAG was parsed. + * + * *New in version 2.3.0* + * + */ + readonly last_parsed?: string | null; + /** + * The template search path. + * + * *New in version 2.3.0* + * + */ + template_search_path?: Array | null; + /** + * Whether to render templates as native Python objects. + * + * *New in version 2.3.0* + * + */ + readonly render_template_as_native_obj?: boolean | null; +}; + +/** + * Additional links containing additional information about the task. + */ +export type ExtraLink = { + class_ref?: ClassReference; + readonly name?: string; + readonly href?: string; +}; + +/** + * The collection of extra links. + */ +export type ExtraLinkCollection = { + extra_links?: Array; +}; + +/** + * For details see: + * [airflow.models.baseoperator.BaseOperator](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator) + * + */ +export type Task = { + class_ref?: ClassReference; + readonly task_id?: string; + readonly task_display_name?: string; + readonly owner?: string; + readonly start_date?: string | null; + readonly end_date?: string | null; + trigger_rule?: TriggerRule; + readonly extra_links?: Array<{ + class_ref?: ClassReference; + }>; + readonly depends_on_past?: boolean; + readonly is_mapped?: boolean; + readonly wait_for_downstream?: boolean; + readonly retries?: number; + readonly queue?: string | null; + readonly executor?: string | null; + readonly pool?: string; + readonly pool_slots?: number; + execution_timeout?: TimeDelta; + retry_delay?: TimeDelta; + readonly retry_exponential_backoff?: boolean; + readonly priority_weight?: number; + weight_rule?: WeightRule; + ui_color?: Color; + ui_fgcolor?: Color; + readonly template_fields?: Array; + sub_dag?: DAG; + readonly downstream_task_ids?: Array; + /** + * Task documentation in markdown. + * + * *New in version 2.10.0* + * + */ + readonly doc_md?: string | null; +}; + +/** + * Collection of tasks. + */ +export type TaskCollection = { + tasks?: Array; +}; + +/** + * A plugin Item. + * + * *New in version 2.1.0* + * + */ +export type PluginCollectionItem = { + /** + * The name of the plugin + */ + name?: string; + /** + * The plugin hooks + */ + hooks?: Array; + /** + * The plugin executors + */ + executors?: Array; + /** + * The plugin macros + */ + macros?: Array; + /** + * The flask blueprints + */ + flask_blueprints?: Array; + /** + * The appuilder views + */ + appbuilder_views?: Array<{ + [key: string]: unknown; + } | null>; + /** + * The Flask Appbuilder menu items + */ + appbuilder_menu_items?: Array<{ + [key: string]: unknown; + } | null>; + /** + * The global operator extra links + */ + global_operator_extra_links?: Array; + /** + * Operator extra links + */ + operator_extra_links?: Array; + /** + * The plugin source + */ + source?: string | null; + /** + * The plugin task instance dependencies + */ + ti_deps?: Array; + /** + * The plugin listeners + */ + listeners?: Array; + /** + * The plugin timetables + */ + timetables?: Array; +}; + +/** + * A collection of plugin. + * + * *New in version 2.1.0* + * + */ +export type PluginCollection = { + plugins?: Array; +} & CollectionInfo; + +/** + * a role item. + * + * *New in version 2.1.0* + * + */ +export type Role = { + /** + * The name of the role + * + * *Changed in version 2.3.0*: A minimum character length requirement ('minLength') is added. + * + */ + name?: string; + actions?: Array; +}; + +/** + * A collection of roles. + * + * *New in version 2.1.0* + * + */ +export type RoleCollection = { + roles?: Array; +} & CollectionInfo; + +/** + * An action Item. + * + * *New in version 2.1.0* + * + */ +export type Action = { + /** + * The name of the permission "action" + */ + name?: string; +}; + +/** + * A collection of actions. + * + * *New in version 2.1.0* + * + */ +export type ActionCollection = { + actions?: Array; +} & CollectionInfo; + +/** + * A resource on which permissions are granted. + * + * *New in version 2.1.0* + * + */ +export type Resource = { + /** + * The name of the resource + */ + name?: string; +}; + +/** + * The Action-Resource item. + * + * *New in version 2.1.0* + * + */ +export type ActionResource = { + /** + * The permission action + */ + action?: Action; + /** + * The permission resource + */ + resource?: Resource; +}; + +/** + * A dataset item. + * + * *New in version 2.4.0* + * + */ +export type Dataset = { + /** + * The dataset id + */ + id?: number; + /** + * The dataset uri + */ + uri?: string; + /** + * The dataset extra + */ + extra?: { + [key: string]: unknown; + } | null; + /** + * The dataset creation time + */ + created_at?: string; + /** + * The dataset update time + */ + updated_at?: string; + consuming_dags?: Array; + producing_tasks?: Array; +}; + +/** + * A datasets reference to an upstream task. + * + * *New in version 2.4.0* + * + */ +export type TaskOutletDatasetReference = { + /** + * The DAG ID that updates the dataset. + */ + dag_id?: string | null; + /** + * The task ID that updates the dataset. + */ + task_id?: string | null; + /** + * The dataset creation time + */ + created_at?: string; + /** + * The dataset update time + */ + updated_at?: string; +}; + +/** + * A datasets reference to a downstream DAG. + * + * *New in version 2.4.0* + * + */ +export type DagScheduleDatasetReference = { + /** + * The DAG ID that depends on the dataset. + */ + dag_id?: string | null; + /** + * The dataset reference creation time + */ + created_at?: string; + /** + * The dataset reference update time + */ + updated_at?: string; +}; + +/** + * A collection of datasets. + * + * *New in version 2.4.0* + * + */ +export type DatasetCollection = { + datasets?: Array; +} & CollectionInfo; + +/** + * A dataset event. + * + * *New in version 2.4.0* + * + */ +export type DatasetEvent = { + /** + * The dataset id + */ + dataset_id?: number; + /** + * The URI of the dataset + */ + dataset_uri?: string; + /** + * The dataset event extra + */ + extra?: { + [key: string]: unknown; + } | null; + /** + * The DAG ID that updated the dataset. + */ + source_dag_id?: string | null; + /** + * The task ID that updated the dataset. + */ + source_task_id?: string | null; + /** + * The DAG run ID that updated the dataset. + */ + source_run_id?: string | null; + /** + * The task map index that updated the dataset. + */ + source_map_index?: number | null; + created_dagruns?: Array; + /** + * The dataset event creation time + */ + timestamp?: string; +}; + +export type CreateDatasetEvent = { + /** + * The URI of the dataset + */ + dataset_uri: string; + /** + * The dataset event extra + */ + extra?: { + [key: string]: unknown; + } | null; +}; + +export type QueuedEvent = { + /** + * The datata uri. + */ + uri?: string; + /** + * The DAG ID. + */ + dag_id?: string; + /** + * The creation time of QueuedEvent + */ + created_at?: string; +}; + +/** + * A collection of Dataset Dag Run Queues. + * + * *New in version 2.9.0* + * + */ +export type QueuedEventCollection = { + datasets?: Array; +} & CollectionInfo; + +export type BasicDAGRun = { + /** + * Run ID. + * + */ + run_id?: string; + readonly dag_id?: string; + /** + * The logical date (previously called execution date). This is the time or interval covered by + * this DAG run, according to the DAG definition. + * + * The value of this field can be set only when creating the object. If you try to modify the + * field of an existing object, the request fails with an BAD_REQUEST error. + * + * This together with DAG_ID are a unique key. + * + * *New in version 2.2.0* + * + */ + logical_date?: string; + /** + * The start time. The time when DAG run was actually created. + * + * *Changed in version 2.1.3*: Field becomes nullable. + * + */ + readonly start_date?: string | null; + readonly end_date?: string | null; + readonly data_interval_start?: string | null; + readonly data_interval_end?: string | null; + state?: DagState; +}; + +/** + * A collection of dataset events. + * + * *New in version 2.4.0* + * + */ +export type DatasetEventCollection = { + dataset_events?: Array; +} & CollectionInfo; + +/** + * The option of configuration. + */ +export type ConfigOption = { + readonly key?: string; + readonly value?: string; +}; + +/** + * The section of configuration. + */ +export type ConfigSection = { + readonly name?: string; + options?: Array; +}; + +/** + * The configuration. + */ +export type Config = { + sections?: Array; +}; + +/** + * Version information. + */ +export type VersionInfo = { + /** + * The version of Airflow + */ + version?: string; + /** + * The git version (including git commit hash) + */ + git_version?: string | null; +}; + +export type ClearDagRun = { + /** + * If set, don't actually run this operation. The response will contain a list of task instances + * planned to be cleaned, but not modified in any way. + * + */ + dry_run?: boolean; +}; + +export type ClearTaskInstances = { + /** + * If set, don't actually run this operation. The response will contain a list of task instances + * planned to be cleaned, but not modified in any way. + * + */ + dry_run?: boolean; + /** + * A list of task ids to clear. + * + * *New in version 2.1.0* + * + */ + task_ids?: Array; + /** + * The minimum execution date to clear. + */ + start_date?: string; + /** + * The maximum execution date to clear. + */ + end_date?: string; + /** + * Only clear failed tasks. + */ + only_failed?: boolean; + /** + * Only clear running tasks. + */ + only_running?: boolean; + /** + * Set state of DAG runs to RUNNING. + */ + reset_dag_runs?: boolean; + /** + * The DagRun ID for this task instance + */ + dag_run_id?: string | null; + /** + * If set to true, upstream tasks are also affected. + */ + include_upstream?: boolean; + /** + * If set to true, downstream tasks are also affected. + */ + include_downstream?: boolean; + /** + * If set to True, also tasks from future DAG Runs are affected. + */ + include_future?: boolean; + /** + * If set to True, also tasks from past DAG Runs are affected. + */ + include_past?: boolean; +}; + +export type UpdateTaskInstancesState = { + /** + * If set, don't actually run this operation. The response will contain a list of task instances + * planned to be affected, but won't be modified in any way. + * + */ + dry_run?: boolean; + /** + * The task ID. + */ + task_id?: string; + /** + * The execution date. Either set this or dag_run_id but not both. + */ + execution_date?: string; + /** + * The task instance's DAG run ID. Either set this or execution_date but not both. + * + * *New in version 2.3.0* + * + */ + dag_run_id?: string; + /** + * If set to true, upstream tasks are also affected. + */ + include_upstream?: boolean; + /** + * If set to true, downstream tasks are also affected. + */ + include_downstream?: boolean; + /** + * If set to True, also tasks from future DAG Runs are affected. + */ + include_future?: boolean; + /** + * If set to True, also tasks from past DAG Runs are affected. + */ + include_past?: boolean; + new_state?: UpdateTaskState; +}; + +export type UpdateTaskInstance = { + /** + * If set, don't actually run this operation. The response will contain the task instance + * planned to be affected, but won't be modified in any way. + * + */ + dry_run?: boolean; + new_state?: UpdateTaskState; +}; + +export type SetTaskInstanceNote = { + /** + * The custom note to set for this Task Instance. + */ + note: string; +}; + +export type ListDagRunsForm = { + /** + * The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + order_by?: string; + /** + * The number of items to skip before starting to collect the result set. + */ + page_offset?: number; + /** + * The numbers of items to return. + */ + page_limit?: number; + /** + * Return objects with specific DAG IDs. + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + dag_ids?: Array; + /** + * Return objects with specific states. + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + states?: Array; + /** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte key to receive only the selected period. + * + */ + execution_date_gte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte key to receive only the selected period. + * + */ + execution_date_lte?: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte key to receive only the selected period. + * + */ + start_date_gte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period + * + */ + start_date_lte?: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with end_date_lte parameter to receive only the selected period. + * + */ + end_date_gte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with end_date_gte parameter to receive only the selected period. + * + */ + end_date_lte?: string; +}; + +export type ListTaskInstanceForm = { + /** + * Return objects with specific DAG IDs. + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + dag_ids?: Array; + /** + * Return objects with specific DAG Run IDs. + * The value can be repeated to retrieve multiple matching values (OR condition). + * *New in version 2.7.1* + */ + dag_run_ids?: Array; + /** + * Return objects with specific task IDs. + * The value can be repeated to retrieve multiple matching values (OR condition). + * *New in version 2.7.1* + */ + task_ids?: Array; + /** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + */ + execution_date_gte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + */ + execution_date_lte?: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + start_date_gte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + start_date_lte?: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + end_date_gte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + end_date_lte?: string; + /** + * Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + */ + duration_gte?: number; + /** + * Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + */ + duration_lte?: number; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + state?: Array; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + pool?: Array; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + queue?: Array; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + executor?: Array; + /** + * The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + */ + order_by?: string; +}; + +/** + * Time delta + */ +export type TimeDelta = { + __type: string; + days: number; + seconds: number; + microseconds: number; +} | null; + +/** + * Relative delta + */ +export type RelativeDelta = { + __type: string; + years: number; + months: number; + days: number; + leapdays: number; + hours: number; + minutes: number; + seconds: number; + microseconds: number; + year: number; + month: number; + day: number; + hour: number; + minute: number; + second: number; + microsecond: number; +}; + +/** + * Cron expression + */ +export type CronExpression = { + __type: string; + value: string; +} | null; + +export type Timezone = string; + +/** + * Tag + */ +export type Tag = { + name?: string; +}; + +/** + * Color in hexadecimal notation. + */ +export type Color = string; + +/** + * Class reference + */ +export type ClassReference = { + readonly module_path?: string; + readonly class_name?: string; +}; + +/** + * [RFC7807](https://tools.ietf.org/html/rfc7807) compliant response. + * + */ +export type Error = { + /** + * A URI reference [RFC3986] that identifies the problem type. This specification + * encourages that, when dereferenced, it provide human-readable documentation for + * the problem type. + * + */ + type: string; + /** + * A short, human-readable summary of the problem type. + */ + title: string; + /** + * The HTTP status code generated by the API server for this occurrence of the problem. + */ + status: number; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail?: string; + /** + * A URI reference that identifies the specific occurrence of the problem. It may or may + * not yield further information if dereferenced. + * + */ + instance?: string; +}; + +/** + * Metadata about collection. + */ +export type CollectionInfo = { + /** + * Count of total objects in the current result set before pagination parameters + * (limit, offset) are applied. + * + */ + total_entries?: number; +}; + +/** + * Task state. + * + * *Changed in version 2.0.2*: 'removed' is added as a possible value. + * + * *Changed in version 2.2.0*: 'deferred' is added as a possible value. + * + * *Changed in version 2.4.0*: 'sensing' state has been removed. + * *Changed in version 2.4.2*: 'restarting' is added as a possible value + * + * *Changed in version 2.7.0*: Field becomes nullable and null primitive is added as a possible value. + * *Changed in version 2.7.0*: 'none' state is deprecated in favor of null. + * + */ +export type TaskState = + | "success" + | "running" + | "failed" + | "upstream_failed" + | "skipped" + | "up_for_retry" + | "up_for_reschedule" + | "queued" + | "none" + | "scheduled" + | "deferred" + | "removed" + | "restarting"; + +/** + * Expected new state. Only a subset of TaskState are available. + * + * Other states are managed directly by the scheduler or the workers and cannot be updated manually through the REST API. + * + */ +export type UpdateTaskState = "success" | "failed" | "skipped"; + +/** + * DAG State. + * + * *Changed in version 2.1.3*: 'queued' is added as a possible value. + * + */ +export type DagState = "queued" | "running" | "success" | "failed"; + +/** + * Trigger rule. + * + * *Changed in version 2.2.0*: 'none_failed_min_one_success' is added as a possible value. Deprecated 'dummy' and 'always' is added as a possible value + * + * *Changed in version 2.3.0*: 'all_skipped' is added as a possible value. + * + * *Changed in version 2.5.0*: 'one_done' is added as a possible value. + * + * *Changed in version 2.7.0*: 'all_done_setup_success' is added as a possible value. + * + */ +export type TriggerRule = + | "all_success" + | "all_failed" + | "all_done" + | "all_done_setup_success" + | "one_success" + | "one_failed" + | "one_done" + | "none_failed" + | "none_skipped" + | "none_failed_or_skipped" + | "none_failed_min_one_success" + | "dummy" + | "all_skipped" + | "always"; + +/** + * Weight rule. + */ +export type WeightRule = "downstream" | "upstream" | "absolute"; + +/** + * Health status + */ +export type HealthStatus = "healthy" | "unhealthy"; + +/** + * The number of items to skip before starting to collect the result set. + */ +export type ParameterPageOffset = number; + +/** + * The numbers of items to return. + */ +export type ParameterPageLimit = number; + +/** + * The username of the user. + * + * *New in version 2.1.0* + * + */ +export type ParameterUsername = string; + +/** + * The role name + */ +export type ParameterRoleName = string; + +/** + * The connection ID. + */ +export type ParameterConnectionID = string; + +/** + * The DAG ID. + */ +export type ParameterDAGID = string; + +/** + * The task ID. + */ +export type ParameterTaskID = string; + +/** + * The name of event log. + */ +export type ParameterEvent = string; + +/** + * The owner's name of event log. + */ +export type ParameterOwner = string; + +/** + * Timestamp to select event logs occurring before. + */ +export type ParameterBefore = string; + +/** + * Timestamp to select event logs occurring after. + */ +export type ParameterAfter = string; + +/** + * The map index. + */ +export type ParameterMapIndex = number; + +/** + * The DAG run ID. + */ +export type ParameterDAGRunID = string; + +/** + * The task try number. + */ +export type ParameterTaskTryNumber = number; + +/** + * The event log ID. + */ +export type ParameterEventLogID = number; + +/** + * The import error ID. + */ +export type ParameterImportErrorID = number; + +/** + * The encoded Dataset URI + */ +export type ParameterDatasetURI = string; + +/** + * The pool name. + */ +export type ParameterPoolName = string; + +/** + * The variable Key. + */ +export type ParameterVariableKey = string; + +/** + * A full content will be returned. + * By default, only the first fragment will be returned. + * + */ +export type ParameterFullContent = boolean; + +/** + * A token that allows you to continue fetching logs. + * If passed, it will specify the location from which the download should be continued. + * + */ +export type ParameterContinuationToken = string; + +/** + * The XCom key. + */ +export type ParameterXComKey = string; + +/** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + */ +export type ParameterFilterExecutionDateGTE = string; + +/** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + */ +export type ParameterFilterExecutionDateLTE = string; + +/** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ +export type ParameterFilterStartDateGTE = string; + +/** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ +export type ParameterFilterStartDateLTE = string; + +/** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ +export type ParameterFilterEndDateGTE = string; + +/** + * Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ +export type ParameterFilterEndDateLTE = string; + +/** + * Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + */ +export type ParameterFilterDurationGTE = number; + +/** + * Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + */ +export type ParameterFilterDurationLTE = number; + +/** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ +export type ParameterFilterState = Array; + +/** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ +export type ParameterFilterPool = Array; + +/** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ +export type ParameterFilterQueue = Array; + +/** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ +export type ParameterFilterExecutor = Array; + +/** + * List of tags to filter results. + * + * *New in version 2.2.0* + * + */ +export type ParameterFilterTags = Array; + +/** + * The Dataset ID that updated the dataset. + */ +export type ParameterFilterDatasetID = number; + +/** + * The DAG ID that updated the dataset. + */ +export type ParameterFilterSourceDAGID = string; + +/** + * The task ID that updated the dataset. + */ +export type ParameterFilterSourceTaskID = string; + +/** + * The DAG run ID that updated the dataset. + */ +export type ParameterFilterSourceRunID = string; + +/** + * The map index that updated the dataset. + */ +export type ParameterFilterSourceMapIndex = number; + +/** + * Filter on map index for mapped task. + */ +export type ParameterFilterMapIndex = number; + +/** + * Filter on try_number for task instance. + */ +export type ParameterFilterTryNumber = number; + +/** + * The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + */ +export type ParameterTaskInstanceOrderBy = string; + +/** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ +export type ParameterOrderBy = string; + +/** + * Only filter active DAGs. + * + * *New in version 2.1.1* + * + */ +export type ParameterOnlyActive = boolean; + +/** + * Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ +export type ParameterFilterUpdatedAtLTE = string; + +/** + * Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ +export type ParameterFilterUpdatedAtGTE = string; + +/** + * Only filter paused/unpaused DAGs. If absent or null, it returns paused and unpaused DAGs. + * + * *New in version 2.6.0* + * + */ +export type ParameterPaused = boolean; + +/** + * Only filter the XCom records which have the provided key. + */ +export type ParameterFilterXcomKey = string; + +/** + * Returns objects matched by the DAG ID. + */ +export type ParameterFilterDAGID = string; + +/** + * Returns objects matched by the Task ID. + */ +export type ParameterFilterTaskID = string; + +/** + * Returns objects matched by the Run ID. + */ +export type ParameterFilterRunID = string; + +/** + * The key containing the encrypted path to the file. Encryption and decryption take place only on + * the server. This prevents the client from reading an non-DAG file. This also ensures API + * extensibility, because the format of encrypted data may change. + * + */ +export type ParameterFileToken = string; + +/** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ +export type ParameterUpdateMask = Array; + +/** + * List of field for return. + * + */ +export type ParameterReturnFields = Array; + +export type GetConnectionsData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetConnectionsResponse = ConnectionCollection; + +export type PostConnectionData = { + requestBody: Connection; +}; + +export type PostConnectionResponse = Connection; + +export type GetConnectionData = { + /** + * The connection ID. + */ + connectionId: string; +}; + +export type GetConnectionResponse = Connection; + +export type PatchConnectionData = { + /** + * The connection ID. + */ + connectionId: string; + requestBody: Connection; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; +}; + +export type PatchConnectionResponse = Connection; + +export type DeleteConnectionData = { + /** + * The connection ID. + */ + connectionId: string; +}; + +export type DeleteConnectionResponse = void; + +export type TestConnectionData = { + requestBody: Connection; +}; + +export type TestConnectionResponse = ConnectionTest; + +export type GetDagsData = { + /** + * If set, only return DAGs with dag_ids matching this pattern. + * + */ + dagIdPattern?: string; + /** + * List of field for return. + * + */ + fields?: Array; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * Only filter active DAGs. + * + * *New in version 2.1.1* + * + */ + onlyActive?: boolean; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * Only filter paused/unpaused DAGs. If absent or null, it returns paused and unpaused DAGs. + * + * *New in version 2.6.0* + * + */ + paused?: boolean; + /** + * List of tags to filter results. + * + * *New in version 2.2.0* + * + */ + tags?: Array; +}; + +export type GetDagsResponse = DAGCollection; + +export type PatchDagsData = { + /** + * If set, only update DAGs with dag_ids matching this pattern. + * + */ + dagIdPattern: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * Only filter active DAGs. + * + * *New in version 2.1.1* + * + */ + onlyActive?: boolean; + requestBody: DAG; + /** + * List of tags to filter results. + * + * *New in version 2.2.0* + * + */ + tags?: Array; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; +}; + +export type PatchDagsResponse = DAGCollection; + +export type GetDagData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * List of field for return. + * + */ + fields?: Array; +}; + +export type GetDagResponse = DAG; + +export type PatchDagData = { + /** + * The DAG ID. + */ + dagId: string; + requestBody: DAG; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; +}; + +export type PatchDagResponse = DAG; + +export type DeleteDagData = { + /** + * The DAG ID. + */ + dagId: string; +}; + +export type DeleteDagResponse = void; + +export type PostClearTaskInstancesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * Parameters of action + */ + requestBody: ClearTaskInstances; +}; + +export type PostClearTaskInstancesResponse = TaskInstanceReferenceCollection; + +export type PostSetTaskInstancesStateData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * Parameters of action + */ + requestBody: UpdateTaskInstancesState; +}; + +export type PostSetTaskInstancesStateResponse = TaskInstanceReferenceCollection; + +export type ReparseDagFileData = { + /** + * The key containing the encrypted path to the file. Encryption and decryption take place only on + * the server. This prevents the client from reading an non-DAG file. This also ensures API + * extensibility, because the format of encrypted data may change. + * + */ + fileToken: string; +}; + +export type ReparseDagFileResponse = unknown; + +export type GetDagDetailsData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * List of field for return. + * + */ + fields?: Array; +}; + +export type GetDagDetailsResponse = DAGDetail; + +export type GetTasksData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetTasksResponse = TaskCollection; + +export type GetTaskData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetTaskResponse = Task; + +export type GetDagSourceData = { + /** + * The key containing the encrypted path to the file. Encryption and decryption take place only on + * the server. This prevents the client from reading an non-DAG file. This also ensures API + * extensibility, because the format of encrypted data may change. + * + */ + fileToken: string; +}; + +export type GetDagSourceResponse = { + content?: string; +}; + +export type SetTaskInstanceNoteData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Parameters of set Task Instance note. + */ + requestBody: SetTaskInstanceNote; + /** + * The task ID. + */ + taskId: string; +}; + +export type SetTaskInstanceNoteResponse = TaskInstance; + +export type SetMappedTaskInstanceNoteData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The map index. + */ + mapIndex: number; + /** + * Parameters of set Task Instance note. + */ + requestBody: SetTaskInstanceNote; + /** + * The task ID. + */ + taskId: string; +}; + +export type SetMappedTaskInstanceNoteResponse = TaskInstance; + +export type GetTaskInstanceDependenciesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetTaskInstanceDependenciesResponse = + TaskInstanceDependencyCollection; + +export type GetMappedTaskInstanceDependenciesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The map index. + */ + mapIndex: number; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetMappedTaskInstanceDependenciesResponse = + TaskInstanceDependencyCollection; + +export type GetTaskInstancesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + */ + durationGte?: number; + /** + * Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + */ + durationLte?: number; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + endDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + endDateLte?: string; + /** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + */ + executionDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + */ + executionDateLte?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + executor?: Array; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + */ + orderBy?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + pool?: Array; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + queue?: Array; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + startDateGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + startDateLte?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + state?: Array; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtLte?: string; +}; + +export type GetTaskInstancesResponse = TaskInstanceCollection; + +export type GetTaskInstanceData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetTaskInstanceResponse = TaskInstance; + +export type PatchTaskInstanceData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Parameters of action + */ + requestBody: UpdateTaskInstance; + /** + * The task ID. + */ + taskId: string; +}; + +export type PatchTaskInstanceResponse = TaskInstanceReference; + +export type GetMappedTaskInstanceData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The map index. + */ + mapIndex: number; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetMappedTaskInstanceResponse = TaskInstance; + +export type PatchMappedTaskInstanceData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The map index. + */ + mapIndex: number; + /** + * Parameters of action + */ + requestBody?: UpdateTaskInstance; + /** + * The task ID. + */ + taskId: string; +}; + +export type PatchMappedTaskInstanceResponse = TaskInstanceReference; + +export type GetMappedTaskInstancesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Returns objects greater than or equal to the specified values. + * + * This can be combined with duration_lte parameter to receive only the selected period. + * + */ + durationGte?: number; + /** + * Returns objects less than or equal to the specified values. + * + * This can be combined with duration_gte parameter to receive only the selected range. + * + */ + durationLte?: number; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + endDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + endDateLte?: string; + /** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + */ + executionDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + */ + executionDateLte?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + executor?: Array; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. Prefix a field name + * with `-` to reverse the sort order. `order_by` defaults to + * `map_index` when unspecified. + * Supported field names: `state`, `duration`, `start_date`, `end_date` + * and `map_index`. + * + * *New in version 3.0.0* + * + */ + orderBy?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + pool?: Array; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + queue?: Array; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + startDateGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + startDateLte?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + state?: Array; + /** + * The task ID. + */ + taskId: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtLte?: string; +}; + +export type GetMappedTaskInstancesResponse = TaskInstanceCollection; + +export type GetTaskInstancesBatchData = { + requestBody: ListTaskInstanceForm; +}; + +export type GetTaskInstancesBatchResponse = TaskInstanceCollection; + +export type GetTaskInstanceTryDetailsData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The task ID. + */ + taskId: string; + /** + * The task try number. + */ + taskTryNumber: number; +}; + +export type GetTaskInstanceTryDetailsResponse = TaskInstance; + +export type GetTaskInstanceTriesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetTaskInstanceTriesResponse = TaskInstanceCollection; + +export type GetMappedTaskInstanceTriesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The map index. + */ + mapIndex: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetMappedTaskInstanceTriesResponse = TaskInstanceCollection; + +export type GetMappedTaskInstanceTryDetailsData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The map index. + */ + mapIndex: number; + /** + * The task ID. + */ + taskId: string; + /** + * The task try number. + */ + taskTryNumber: number; +}; + +export type GetMappedTaskInstanceTryDetailsResponse = TaskInstance; + +export type GetExtraLinksData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The task ID. + */ + taskId: string; +}; + +export type GetExtraLinksResponse = ExtraLinkCollection; + +export type GetLogData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * A full content will be returned. + * By default, only the first fragment will be returned. + * + */ + fullContent?: boolean; + /** + * Filter on map index for mapped task. + */ + mapIndex?: number; + /** + * The task ID. + */ + taskId: string; + /** + * The task try number. + */ + taskTryNumber: number; + /** + * A token that allows you to continue fetching logs. + * If passed, it will specify the location from which the download should be continued. + * + */ + token?: string; +}; + +export type GetLogResponse = { + continuation_token?: string; + content?: string; +}; + +export type GetDagRunsData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + endDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + endDateLte?: string; + /** + * Returns objects greater or equal to the specified date. + * + * This can be combined with execution_date_lte parameter to receive only the selected period. + * + */ + executionDateGte?: string; + /** + * Returns objects less than or equal to the specified date. + * + * This can be combined with execution_date_gte parameter to receive only the selected period. + * + */ + executionDateLte?: string; + /** + * List of field for return. + * + */ + fields?: Array; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with start_date_lte parameter to receive only the selected period. + * + */ + startDateGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with start_date_gte parameter to receive only the selected period. + * + */ + startDateLte?: string; + /** + * The value can be repeated to retrieve multiple matching values (OR condition). + */ + state?: Array; + /** + * Returns objects greater or equal the specified date. + * + * This can be combined with updated_at_lte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtGte?: string; + /** + * Returns objects less or equal the specified date. + * + * This can be combined with updated_at_gte parameter to receive only the selected period. + * + * *New in version 2.6.0* + * + */ + updatedAtLte?: string; +}; + +export type GetDagRunsResponse = DAGRunCollection; + +export type PostDagRunData = { + /** + * The DAG ID. + */ + dagId: string; + requestBody: DAGRun; +}; + +export type PostDagRunResponse = DAGRun; + +export type GetDagRunsBatchData = { + requestBody: ListDagRunsForm; +}; + +export type GetDagRunsBatchResponse = DAGRunCollection; + +export type GetDagRunData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * List of field for return. + * + */ + fields?: Array; +}; + +export type GetDagRunResponse = DAGRun; + +export type DeleteDagRunData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; +}; + +export type DeleteDagRunResponse = void; + +export type UpdateDagRunStateData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + requestBody: UpdateDagRunState; +}; + +export type UpdateDagRunStateResponse = DAGRun; + +export type ClearDagRunData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + requestBody: ClearDagRun; +}; + +export type ClearDagRunResponse = DAGRun | TaskInstanceCollection; + +export type GetUpstreamDatasetEventsData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; +}; + +export type GetUpstreamDatasetEventsResponse = DatasetEventCollection; + +export type SetDagRunNoteData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Parameters of set DagRun note. + */ + requestBody: SetDagRunNote; +}; + +export type SetDagRunNoteResponse = DAGRun; + +export type GetDagDatasetQueuedEventData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The DAG ID. + */ + dagId: string; + /** + * The encoded Dataset URI + */ + uri: string; +}; + +export type GetDagDatasetQueuedEventResponse = QueuedEvent; + +export type DeleteDagDatasetQueuedEventData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The DAG ID. + */ + dagId: string; + /** + * The encoded Dataset URI + */ + uri: string; +}; + +export type DeleteDagDatasetQueuedEventResponse = void; + +export type GetDagDatasetQueuedEventsData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The DAG ID. + */ + dagId: string; +}; + +export type GetDagDatasetQueuedEventsResponse = QueuedEventCollection; + +export type DeleteDagDatasetQueuedEventsData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The DAG ID. + */ + dagId: string; +}; + +export type DeleteDagDatasetQueuedEventsResponse = void; + +export type GetDatasetQueuedEventsData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The encoded Dataset URI + */ + uri: string; +}; + +export type GetDatasetQueuedEventsResponse = QueuedEventCollection; + +export type DeleteDatasetQueuedEventsData = { + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * The encoded Dataset URI + */ + uri: string; +}; + +export type DeleteDatasetQueuedEventsResponse = void; + +export type GetDatasetsData = { + /** + * One or more DAG IDs separated by commas to filter datasets by associated DAGs either consuming or producing. + * + * *New in version 2.9.0* + * + */ + dagIds?: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * If set, only return datasets with uris matching this pattern. + * + */ + uriPattern?: string; +}; + +export type GetDatasetsResponse = DatasetCollection; + +export type GetDatasetData = { + /** + * The encoded Dataset URI + */ + uri: string; +}; + +export type GetDatasetResponse = Dataset; + +export type GetDatasetEventsData = { + /** + * The Dataset ID that updated the dataset. + */ + datasetId?: number; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * The DAG ID that updated the dataset. + */ + sourceDagId?: string; + /** + * The map index that updated the dataset. + */ + sourceMapIndex?: number; + /** + * The DAG run ID that updated the dataset. + */ + sourceRunId?: string; + /** + * The task ID that updated the dataset. + */ + sourceTaskId?: string; +}; + +export type GetDatasetEventsResponse = DatasetEventCollection; + +export type CreateDatasetEventData = { + requestBody: CreateDatasetEvent; +}; + +export type CreateDatasetEventResponse = DatasetEvent; + +export type GetEventLogsData = { + /** + * Timestamp to select event logs occurring after. + */ + after?: string; + /** + * Timestamp to select event logs occurring before. + */ + before?: string; + /** + * Returns objects matched by the DAG ID. + */ + dagId?: string; + /** + * The name of event log. + */ + event?: string; + /** + * One or more event names separated by commas. If set, only return event logs with events that do not match this pattern. + * *New in version 2.9.0* + * + */ + excludedEvents?: string; + /** + * One or more event names separated by commas. If set, only return event logs with events matching this pattern. + * *New in version 2.9.0* + * + */ + includedEvents?: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * Filter on map index for mapped task. + */ + mapIndex?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * The owner's name of event log. + */ + owner?: string; + /** + * Returns objects matched by the Run ID. + */ + runId?: string; + /** + * Returns objects matched by the Task ID. + */ + taskId?: string; + /** + * Filter on try_number for task instance. + */ + tryNumber?: number; +}; + +export type GetEventLogsResponse = EventLogCollection; + +export type GetEventLogData = { + /** + * The event log ID. + */ + eventLogId: number; +}; + +export type GetEventLogResponse = EventLog; + +export type GetImportErrorsData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetImportErrorsResponse = ImportErrorCollection; + +export type GetImportErrorData = { + /** + * The import error ID. + */ + importErrorId: number; +}; + +export type GetImportErrorResponse = ImportError; + +export type GetPoolsData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetPoolsResponse = PoolCollection; + +export type PostPoolData = { + requestBody: Pool; +}; + +export type PostPoolResponse = Pool; + +export type GetPoolData = { + /** + * The pool name. + */ + poolName: string; +}; + +export type GetPoolResponse = Pool; + +export type PatchPoolData = { + /** + * The pool name. + */ + poolName: string; + requestBody: Pool; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; +}; + +export type PatchPoolResponse = Pool; + +export type DeletePoolData = { + /** + * The pool name. + */ + poolName: string; +}; + +export type DeletePoolResponse = void; + +export type GetProvidersResponse = ProviderCollection & CollectionInfo; + +export type GetVariablesData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetVariablesResponse = VariableCollection; + +export type PostVariablesData = { + requestBody: Variable; +}; + +export type PostVariablesResponse = Variable; + +export type GetVariableData = { + /** + * The variable Key. + */ + variableKey: string; +}; + +export type GetVariableResponse = Variable; + +export type PatchVariableData = { + requestBody: Variable; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; + /** + * The variable Key. + */ + variableKey: string; +}; + +export type PatchVariableResponse = Variable; + +export type DeleteVariableData = { + /** + * The variable Key. + */ + variableKey: string; +}; + +export type DeleteVariableResponse = void; + +export type GetXcomEntriesData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * Filter on map index for mapped task. + */ + mapIndex?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The task ID. + */ + taskId: string; + /** + * Only filter the XCom records which have the provided key. + */ + xcomKey?: string; +}; + +export type GetXcomEntriesResponse = XComCollection; + +export type GetXcomEntryData = { + /** + * The DAG ID. + */ + dagId: string; + /** + * The DAG run ID. + */ + dagRunId: string; + /** + * Whether to deserialize an XCom value when using a custom XCom backend. + * + * The XCom API endpoint calls `orm_deserialize_value` by default since an XCom may contain value + * that is potentially expensive to deserialize in the web server. Setting this to true overrides + * the consideration, and calls `deserialize_value` instead. + * + * This parameter is not meaningful when using the default XCom backend. + * + * *New in version 2.4.0* + * + */ + deserialize?: boolean; + /** + * Filter on map index for mapped task. + */ + mapIndex?: number; + /** + * Whether to convert the XCom value to be a string. XCom values can be of Any data type. + * + * If set to true (default) the Any value will be returned as string, e.g. a Python representation + * of a dict. If set to false it will return the raw data as dict, list, string or whatever was stored. + * + * *New in version 2.10.0* + * + */ + stringify?: boolean; + /** + * The task ID. + */ + taskId: string; + /** + * The XCom key. + */ + xcomKey: string; +}; + +export type GetXcomEntryResponse = XCom; + +export type GetDagStatsData = { + /** + * One or more DAG IDs separated by commas to filter relevant Dags. + * + */ + dagIds: string; +}; + +export type GetDagStatsResponse = DagStatsCollectionSchema; + +export type GetDagWarningsData = { + /** + * If set, only return DAG warnings with this dag_id. + */ + dagId?: string; + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; + /** + * If set, only return DAG warnings with this type. + */ + warningType?: string; +}; + +export type GetDagWarningsResponse = DagWarningCollection; + +export type GetConfigData = { + /** + * If given, only return config of this section. + */ + section?: string; +}; + +export type GetConfigResponse = Config; + +export type GetValueData = { + option: string; + section: string; +}; + +export type GetValueResponse = Config; + +export type GetHealthResponse = HealthInfo; + +export type GetVersionResponse = VersionInfo; + +export type GetPluginsData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; +}; + +export type GetPluginsResponse = PluginCollection; + +export type GetRolesData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetRolesResponse = RoleCollection; + +export type PostRoleData = { + requestBody: Role; +}; + +export type PostRoleResponse = Role; + +export type GetRoleData = { + /** + * The role name + */ + roleName: string; +}; + +export type GetRoleResponse = Role; + +export type PatchRoleData = { + requestBody: Role; + /** + * The role name + */ + roleName: string; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; +}; + +export type PatchRoleResponse = Role; + +export type DeleteRoleData = { + /** + * The role name + */ + roleName: string; +}; + +export type DeleteRoleResponse = void; + +export type GetPermissionsData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; +}; + +export type GetPermissionsResponse = ActionCollection; + +export type GetUsersData = { + /** + * The numbers of items to return. + */ + limit?: number; + /** + * The number of items to skip before starting to collect the result set. + */ + offset?: number; + /** + * The name of the field to order the results by. + * Prefix a field name with `-` to reverse the sort order. + * + * *New in version 2.1.0* + * + */ + orderBy?: string; +}; + +export type GetUsersResponse = UserCollection; + +export type PostUserData = { + requestBody: User; +}; + +export type PostUserResponse = User; + +export type GetUserData = { + /** + * The username of the user. + * + * *New in version 2.1.0* + * + */ + username: string; +}; + +export type GetUserResponse = UserCollectionItem; + +export type PatchUserData = { + requestBody: User; + /** + * The fields to update on the resource. If absent or empty, all modifiable fields are updated. + * A comma-separated list of fully qualified names of fields. + * + */ + updateMask?: Array; + /** + * The username of the user. + * + * *New in version 2.1.0* + * + */ + username: string; +}; + +export type PatchUserResponse = UserCollectionItem; + +export type DeleteUserData = { + /** + * The username of the user. + * + * *New in version 2.1.0* + * + */ + username: string; +}; + +export type DeleteUserResponse = void; + +export type $OpenApiTs = { + "/connections": { + get: { + req: GetConnectionsData; + res: { + /** + * Success. + */ + 200: ConnectionCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + post: { + req: PostConnectionData; + res: { + /** + * Success. + */ + 200: Connection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/connections/{connection_id}": { + get: { + req: GetConnectionData; + res: { + /** + * Success. + */ + 200: Connection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchConnectionData; + res: { + /** + * Success. + */ + 200: Connection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteConnectionData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/connections/test": { + post: { + req: TestConnectionData; + res: { + /** + * Success. + */ + 200: ConnectionTest; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags": { + get: { + req: GetDagsData; + res: { + /** + * Success. + */ + 200: DAGCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + }; + }; + patch: { + req: PatchDagsData; + res: { + /** + * Success. + */ + 200: DAGCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}": { + get: { + req: GetDagData; + res: { + /** + * Success. + */ + 200: DAG; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchDagData; + res: { + /** + * Success. + */ + 200: DAG; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteDagData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + /** + * An existing resource conflicts with the request. + */ + 409: Error; + }; + }; + }; + "/dags/{dag_id}/clearTaskInstances": { + post: { + req: PostClearTaskInstancesData; + res: { + /** + * Success. + */ + 200: TaskInstanceReferenceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/updateTaskInstancesState": { + post: { + req: PostSetTaskInstancesStateData; + res: { + /** + * Success. + */ + 200: TaskInstanceReferenceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/parseDagFile/{file_token}": { + put: { + req: ReparseDagFileData; + res: { + /** + * Success. + */ + 201: unknown; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/details": { + get: { + req: GetDagDetailsData; + res: { + /** + * Success. + */ + 200: DAGDetail; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/tasks": { + get: { + req: GetTasksData; + res: { + /** + * Success. + */ + 200: TaskCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/tasks/{task_id}": { + get: { + req: GetTaskData; + res: { + /** + * Success. + */ + 200: Task; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dagSources/{file_token}": { + get: { + req: GetDagSourceData; + res: { + /** + * Success. + */ + 200: { + content?: string; + }; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + /** + * A specified Accept header is not allowed. + */ + 406: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote": { + patch: { + req: SetTaskInstanceNoteData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote": { + patch: { + req: SetMappedTaskInstanceNoteData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dependencies": { + get: { + req: GetTaskInstanceDependenciesData; + res: { + /** + * Success. + */ + 200: TaskInstanceDependencyCollection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dependencies": { + get: { + req: GetMappedTaskInstanceDependenciesData; + res: { + /** + * Success. + */ + 200: TaskInstanceDependencyCollection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances": { + get: { + req: GetTaskInstancesData; + res: { + /** + * Success. + */ + 200: TaskInstanceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}": { + get: { + req: GetTaskInstanceData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchTaskInstanceData; + res: { + /** + * Success. + */ + 200: TaskInstanceReference; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}": { + get: { + req: GetMappedTaskInstanceData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchMappedTaskInstanceData; + res: { + /** + * Success. + */ + 200: TaskInstanceReference; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped": { + get: { + req: GetMappedTaskInstancesData; + res: { + /** + * Success. + */ + 200: TaskInstanceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/~/dagRuns/~/taskInstances/list": { + post: { + req: GetTaskInstancesBatchData; + res: { + /** + * Success. + */ + 200: TaskInstanceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries/{task_try_number}": { + get: { + req: GetTaskInstanceTryDetailsData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries": { + get: { + req: GetTaskInstanceTriesData; + res: { + /** + * Success. + */ + 200: TaskInstanceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries": { + get: { + req: GetMappedTaskInstanceTriesData; + res: { + /** + * Success. + */ + 200: TaskInstanceCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries/{task_try_number}": { + get: { + req: GetMappedTaskInstanceTryDetailsData; + res: { + /** + * Success. + */ + 200: TaskInstance; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links": { + get: { + req: GetExtraLinksData; + res: { + /** + * Success. + */ + 200: ExtraLinkCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}": { + get: { + req: GetLogData; + res: { + /** + * Success. + */ + 200: { + continuation_token?: string; + content?: string; + }; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns": { + get: { + req: GetDagRunsData; + res: { + /** + * List of DAG runs. + */ + 200: DAGRunCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + }; + }; + post: { + req: PostDagRunData; + res: { + /** + * Success. + */ + 200: DAGRun; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + /** + * An existing resource conflicts with the request. + */ + 409: Error; + }; + }; + }; + "/dags/~/dagRuns/list": { + post: { + req: GetDagRunsBatchData; + res: { + /** + * Success. + */ + 200: DAGRunCollection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}": { + get: { + req: GetDagRunData; + res: { + /** + * Success. + */ + 200: DAGRun; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteDagRunData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: UpdateDagRunStateData; + res: { + /** + * Success. + */ + 200: DAGRun; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/clear": { + post: { + req: ClearDagRunData; + res: { + /** + * Success. + */ + 200: DAGRun | TaskInstanceCollection; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents": { + get: { + req: GetUpstreamDatasetEventsData; + res: { + /** + * Success. + */ + 200: DatasetEventCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/setNote": { + patch: { + req: SetDagRunNoteData; + res: { + /** + * Success. + */ + 200: DAGRun; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/datasets/queuedEvent/{uri}": { + get: { + req: GetDagDatasetQueuedEventData; + res: { + /** + * Success. + */ + 200: QueuedEvent; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteDagDatasetQueuedEventData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/datasets/queuedEvent": { + get: { + req: GetDagDatasetQueuedEventsData; + res: { + /** + * Success. + */ + 200: QueuedEventCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteDagDatasetQueuedEventsData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/datasets/queuedEvent/{uri}": { + get: { + req: GetDatasetQueuedEventsData; + res: { + /** + * Success. + */ + 200: QueuedEventCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteDatasetQueuedEventsData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/datasets": { + get: { + req: GetDatasetsData; + res: { + /** + * Success. + */ + 200: DatasetCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/datasets/{uri}": { + get: { + req: GetDatasetData; + res: { + /** + * Success. + */ + 200: Dataset; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/datasets/events": { + get: { + req: GetDatasetEventsData; + res: { + /** + * Success. + */ + 200: DatasetEventCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + post: { + req: CreateDatasetEventData; + res: { + /** + * Success. + */ + 200: DatasetEvent; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/eventLogs": { + get: { + req: GetEventLogsData; + res: { + /** + * Success. + */ + 200: EventLogCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/eventLogs/{event_log_id}": { + get: { + req: GetEventLogData; + res: { + /** + * Success. + */ + 200: EventLog; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/importErrors": { + get: { + req: GetImportErrorsData; + res: { + /** + * Success. + */ + 200: ImportErrorCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/importErrors/{import_error_id}": { + get: { + req: GetImportErrorData; + res: { + /** + * Success. + */ + 200: ImportError; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/pools": { + get: { + req: GetPoolsData; + res: { + /** + * List of pools. + */ + 200: PoolCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + post: { + req: PostPoolData; + res: { + /** + * Success. + */ + 200: Pool; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/pools/{pool_name}": { + get: { + req: GetPoolData; + res: { + /** + * Success. + */ + 200: Pool; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchPoolData; + res: { + /** + * Success. + */ + 200: Pool; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + /** + * An existing resource conflicts with the request. + */ + 409: Error; + }; + }; + delete: { + req: DeletePoolData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/providers": { + get: { + res: { + /** + * List of providers. + */ + 200: ProviderCollection & CollectionInfo; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/variables": { + get: { + req: GetVariablesData; + res: { + /** + * Success. + */ + 200: VariableCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + post: { + req: PostVariablesData; + res: { + /** + * Success. + */ + 200: Variable; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/variables/{variable_key}": { + get: { + req: GetVariableData; + res: { + /** + * Success. + */ + 200: Variable; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchVariableData; + res: { + /** + * Success. + */ + 200: Variable; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteVariableData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries": { + get: { + req: GetXcomEntriesData; + res: { + /** + * Success. + */ + 200: XComCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}": { + get: { + req: GetXcomEntryData; + res: { + /** + * Success. + */ + 200: XCom; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/dagStats": { + get: { + req: GetDagStatsData; + res: { + /** + * Success. + */ + 200: DagStatsCollectionSchema; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/dagWarnings": { + get: { + req: GetDagWarningsData; + res: { + /** + * Success. + */ + 200: DagWarningCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/config": { + get: { + req: GetConfigData; + res: { + /** + * Success. + */ + 200: Config; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/config/section/{section}/option/{option}": { + get: { + req: GetValueData; + res: { + /** + * Success. + */ + 200: Config; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/health": { + get: { + res: { + /** + * Success. + */ + 200: HealthInfo; + }; + }; + }; + "/version": { + get: { + res: { + /** + * Success. + */ + 200: VersionInfo; + }; + }; + }; + "/plugins": { + get: { + req: GetPluginsData; + res: { + /** + * Success + */ + 200: PluginCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/roles": { + get: { + req: GetRolesData; + res: { + /** + * Success. + */ + 200: RoleCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + post: { + req: PostRoleData; + res: { + /** + * Success. + */ + 200: Role; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/roles/{role_name}": { + get: { + req: GetRoleData; + res: { + /** + * Success. + */ + 200: Role; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchRoleData; + res: { + /** + * Success. + */ + 200: Role; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteRoleData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; + "/permissions": { + get: { + req: GetPermissionsData; + res: { + /** + * Success. + */ + 200: ActionCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + }; + "/users": { + get: { + req: GetUsersData; + res: { + /** + * Success. + */ + 200: UserCollection; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + }; + }; + post: { + req: PostUserData; + res: { + /** + * Success. + */ + 200: User; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * An existing resource conflicts with the request. + */ + 409: Error; + }; + }; + }; + "/users/{username}": { + get: { + req: GetUserData; + res: { + /** + * Success. + */ + 200: UserCollectionItem; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + patch: { + req: PatchUserData; + res: { + /** + * Success. + */ + 200: UserCollectionItem; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + delete: { + req: DeleteUserData; + res: { + /** + * Success. + */ + 204: void; + /** + * Client specified an invalid argument. + */ + 400: Error; + /** + * Request not authenticated due to missing, invalid, authentication info. + */ + 401: Error; + /** + * Client does not have sufficient permission. + */ + 403: Error; + /** + * A specified resource is not found. + */ + 404: Error; + }; + }; + }; +}; diff --git a/airflow/ui/package.json b/airflow/ui/package.json new file mode 100644 index 0000000000000..257df8c3dcca6 --- /dev/null +++ b/airflow/ui/package.json @@ -0,0 +1,52 @@ +{ + "name": "ui", + "private": true, + "version": "0.0.0", + "type": "module", + "homepage": "/ui", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint . && tsc --p tsconfig.app.json", + "lint:fix": "eslint --fix && tsc --p tsconfig.app.json", + "format": "pnpm prettier --write .", + "preview": "vite preview", + "codegen": "openapi-rq -i \"../api_connexion/openapi/v1.yaml\" -c axios --format prettier -o openapi-gen", + "test": "vitest run" + }, + "dependencies": { + "@chakra-ui/react": "^2.8.2", + "@emotion/react": "^11.13.3", + "@emotion/styled": "^11.13.0", + "@tanstack/react-query": "^5.52.1", + "@tanstack/react-table": "^8.20.1", + "axios": "^1.7.4", + "framer-motion": "^11.3.29", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-icons": "^5.3.0" + }, + "devDependencies": { + "@7nohe/openapi-react-query-codegen": "^1.6.0", + "@eslint/js": "^9.9.0", + "@tanstack/eslint-plugin-query": "^5.52.0", + "@testing-library/jest-dom": "^6.4.8", + "@testing-library/react": "^16.0.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react-swc": "^3.7.0", + "eslint": "^9.9.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^5.1.0-rc.0", + "eslint-plugin-react-refresh": "^0.4.9", + "globals": "^15.9.0", + "happy-dom": "^15.0.0", + "prettier": "^3.3.3", + "typescript": "^5.5.3", + "typescript-eslint": "^8.2.0", + "vite": "^5.4.1", + "vitest": "^2.0.5" + } +} diff --git a/airflow/ui/pnpm-lock.yaml b/airflow/ui/pnpm-lock.yaml new file mode 100644 index 0000000000000..0ff90475d4acd --- /dev/null +++ b/airflow/ui/pnpm-lock.yaml @@ -0,0 +1,6053 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@chakra-ui/react': + specifier: ^2.8.2 + version: 2.8.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@emotion/react': + specifier: ^11.13.3 + version: 11.13.3(@types/react@18.3.4)(react@18.3.1) + '@emotion/styled': + specifier: ^11.13.0 + version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1) + '@tanstack/react-query': + specifier: ^5.52.1 + version: 5.52.1(react@18.3.1) + '@tanstack/react-table': + specifier: ^8.20.1 + version: 8.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + axios: + specifier: ^1.7.4 + version: 1.7.4 + framer-motion: + specifier: ^11.3.29 + version: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-icons: + specifier: ^5.3.0 + version: 5.3.0(react@18.3.1) + devDependencies: + '@7nohe/openapi-react-query-codegen': + specifier: ^1.6.0 + version: 1.6.0(commander@12.1.0)(glob@10.4.5)(ts-morph@22.0.0)(typescript@5.5.4) + '@eslint/js': + specifier: ^9.9.0 + version: 9.9.0 + '@tanstack/eslint-plugin-query': + specifier: ^5.52.0 + version: 5.52.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@testing-library/jest-dom': + specifier: ^6.4.8 + version: 6.4.8 + '@testing-library/react': + specifier: ^16.0.0 + version: 16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react': + specifier: ^18.3.3 + version: 18.3.4 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.4.2) + eslint: + specifier: ^9.9.0 + version: 9.9.0(jiti@1.21.6) + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-prettier: + specifier: ^5.2.1 + version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(prettier@3.3.3) + eslint-plugin-react: + specifier: ^7.35.0 + version: 7.35.0(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-react-hooks: + specifier: ^5.1.0-rc.0 + version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.0(jiti@1.21.6)) + eslint-plugin-react-refresh: + specifier: ^0.4.9 + version: 0.4.11(eslint@9.9.0(jiti@1.21.6)) + globals: + specifier: ^15.9.0 + version: 15.9.0 + happy-dom: + specifier: ^15.0.0 + version: 15.0.0 + prettier: + specifier: ^3.3.3 + version: 3.3.3 + typescript: + specifier: ^5.5.3 + version: 5.5.4 + typescript-eslint: + specifier: ^8.2.0 + version: 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + vite: + specifier: ^5.4.1 + version: 5.4.2 + vitest: + specifier: ^2.0.5 + version: 2.0.5(happy-dom@15.0.0) + +packages: + + '@7nohe/openapi-react-query-codegen@1.6.0': + resolution: {integrity: sha512-YWHX8LEzy58zfh/fKXZ1CkJY3Agu5H1VLCNcVe4bkKhmsiQbxm39GPeHJM9+qp0MYHxQ5A2apCaU0ERqKCJCmw==} + engines: {node: '>=14', pnpm: '>=9'} + hasBin: true + peerDependencies: + commander: 12.x + glob: 10.x + ts-morph: 22.x + typescript: 5.x + + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@apidevtools/json-schema-ref-parser@11.6.4': + resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} + engines: {node: '>= 16'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.4': + resolution: {integrity: sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.4': + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/runtime@7.25.4': + resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.4': + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.4': + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + engines: {node: '>=6.9.0'} + + '@chakra-ui/accordion@2.3.1': + resolution: {integrity: sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + + '@chakra-ui/alert@2.2.2': + resolution: {integrity: sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/anatomy@2.2.2': + resolution: {integrity: sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==} + + '@chakra-ui/avatar@2.3.0': + resolution: {integrity: sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/breadcrumb@2.2.0': + resolution: {integrity: sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/breakpoint-utils@2.0.8': + resolution: {integrity: sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==} + + '@chakra-ui/button@2.1.0': + resolution: {integrity: sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/card@2.2.0': + resolution: {integrity: sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/checkbox@2.3.2': + resolution: {integrity: sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/clickable@2.1.0': + resolution: {integrity: sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/close-button@2.1.1': + resolution: {integrity: sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/color-mode@2.2.0': + resolution: {integrity: sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/control-box@2.1.0': + resolution: {integrity: sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/counter@2.1.0': + resolution: {integrity: sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/css-reset@2.3.0': + resolution: {integrity: sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==} + peerDependencies: + '@emotion/react': '>=10.0.35' + react: '>=18' + + '@chakra-ui/descendant@3.1.0': + resolution: {integrity: sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/dom-utils@2.1.0': + resolution: {integrity: sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==} + + '@chakra-ui/editable@3.1.0': + resolution: {integrity: sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/event-utils@2.0.8': + resolution: {integrity: sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==} + + '@chakra-ui/focus-lock@2.1.0': + resolution: {integrity: sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==} + peerDependencies: + react: '>=18' + + '@chakra-ui/form-control@2.2.0': + resolution: {integrity: sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/hooks@2.2.1': + resolution: {integrity: sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/icon@3.2.0': + resolution: {integrity: sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/image@2.1.0': + resolution: {integrity: sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/input@2.1.2': + resolution: {integrity: sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/layout@2.3.1': + resolution: {integrity: sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/lazy-utils@2.0.5': + resolution: {integrity: sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==} + + '@chakra-ui/live-region@2.1.0': + resolution: {integrity: sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/media-query@3.3.0': + resolution: {integrity: sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/menu@2.2.1': + resolution: {integrity: sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + + '@chakra-ui/modal@2.3.1': + resolution: {integrity: sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/number-input@2.1.2': + resolution: {integrity: sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/number-utils@2.0.7': + resolution: {integrity: sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==} + + '@chakra-ui/object-utils@2.1.0': + resolution: {integrity: sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==} + + '@chakra-ui/pin-input@2.1.0': + resolution: {integrity: sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/popover@2.2.1': + resolution: {integrity: sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + + '@chakra-ui/popper@3.1.0': + resolution: {integrity: sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/portal@2.1.0': + resolution: {integrity: sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==} + peerDependencies: + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/progress@2.2.0': + resolution: {integrity: sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/provider@2.4.2': + resolution: {integrity: sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/radio@2.1.2': + resolution: {integrity: sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/react-children-utils@2.0.6': + resolution: {integrity: sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-context@2.1.0': + resolution: {integrity: sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-env@3.1.0': + resolution: {integrity: sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-types@2.0.7': + resolution: {integrity: sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-animation-state@2.1.0': + resolution: {integrity: sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-callback-ref@2.1.0': + resolution: {integrity: sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-controllable-state@2.1.0': + resolution: {integrity: sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-disclosure@2.1.0': + resolution: {integrity: sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-event-listener@2.1.0': + resolution: {integrity: sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-focus-effect@2.1.0': + resolution: {integrity: sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-focus-on-pointer-down@2.1.0': + resolution: {integrity: sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-interval@2.1.0': + resolution: {integrity: sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-latest-ref@2.1.0': + resolution: {integrity: sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-merge-refs@2.1.0': + resolution: {integrity: sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-outside-click@2.2.0': + resolution: {integrity: sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-pan-event@2.1.0': + resolution: {integrity: sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-previous@2.1.0': + resolution: {integrity: sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-safe-layout-effect@2.1.0': + resolution: {integrity: sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-size@2.1.0': + resolution: {integrity: sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-timeout@2.1.0': + resolution: {integrity: sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-use-update-effect@2.1.0': + resolution: {integrity: sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react-utils@2.0.12': + resolution: {integrity: sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==} + peerDependencies: + react: '>=18' + + '@chakra-ui/react@2.8.2': + resolution: {integrity: sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/select@2.1.2': + resolution: {integrity: sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/shared-utils@2.0.5': + resolution: {integrity: sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==} + + '@chakra-ui/skeleton@2.1.0': + resolution: {integrity: sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/skip-nav@2.1.0': + resolution: {integrity: sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/slider@2.1.0': + resolution: {integrity: sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/spinner@2.1.0': + resolution: {integrity: sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/stat@2.1.1': + resolution: {integrity: sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/stepper@2.3.1': + resolution: {integrity: sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/styled-system@2.9.2': + resolution: {integrity: sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==} + + '@chakra-ui/switch@2.1.2': + resolution: {integrity: sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + + '@chakra-ui/system@2.6.2': + resolution: {integrity: sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==} + peerDependencies: + '@emotion/react': ^11.0.0 + '@emotion/styled': ^11.0.0 + react: '>=18' + + '@chakra-ui/table@2.1.0': + resolution: {integrity: sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/tabs@3.0.0': + resolution: {integrity: sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/tag@3.1.1': + resolution: {integrity: sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/textarea@2.1.2': + resolution: {integrity: sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@chakra-ui/theme-tools@2.1.2': + resolution: {integrity: sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==} + peerDependencies: + '@chakra-ui/styled-system': '>=2.0.0' + + '@chakra-ui/theme-utils@2.0.21': + resolution: {integrity: sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==} + + '@chakra-ui/theme@3.3.1': + resolution: {integrity: sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==} + peerDependencies: + '@chakra-ui/styled-system': '>=2.8.0' + + '@chakra-ui/toast@7.0.2': + resolution: {integrity: sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==} + peerDependencies: + '@chakra-ui/system': 2.6.2 + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/tooltip@2.3.1': + resolution: {integrity: sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + + '@chakra-ui/transition@2.1.0': + resolution: {integrity: sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==} + peerDependencies: + framer-motion: '>=4.0.0' + react: '>=18' + + '@chakra-ui/utils@2.0.15': + resolution: {integrity: sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==} + + '@chakra-ui/visually-hidden@2.2.0': + resolution: {integrity: sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==} + peerDependencies: + '@chakra-ui/system': '>=2.0.0' + react: '>=18' + + '@emotion/babel-plugin@11.12.0': + resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} + + '@emotion/cache@11.13.1': + resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.3.0': + resolution: {integrity: sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.13.3': + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.1': + resolution: {integrity: sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/styled@11.13.0': + resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.1.0': + resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.0': + resolution: {integrity: sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.17.1': + resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.9.0': + resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@hey-api/openapi-ts@0.52.0': + resolution: {integrity: sha512-DA3Zf5ONxMK1PUkK88lAuYbXMgn5BvU5sjJdTAO2YOn6Eu/9ovilBztMzvu8pyY44PmL3n4ex4+f+XIwvgfhvw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + typescript: ^5.x + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@rollup/rollup-android-arm-eabi@4.21.0': + resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.0': + resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.0': + resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.0': + resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.0': + resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.0': + resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.0': + resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.0': + resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.0': + resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.0': + resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.21.0': + resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.0': + resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.0': + resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.0': + resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} + cpu: [x64] + os: [win32] + + '@swc/core-darwin-arm64@1.7.14': + resolution: {integrity: sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.7.14': + resolution: {integrity: sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.7.14': + resolution: {integrity: sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.7.14': + resolution: {integrity: sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.7.14': + resolution: {integrity: sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.7.14': + resolution: {integrity: sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.7.14': + resolution: {integrity: sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.7.14': + resolution: {integrity: sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.7.14': + resolution: {integrity: sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.7.14': + resolution: {integrity: sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.7.14': + resolution: {integrity: sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.12': + resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} + + '@tanstack/eslint-plugin-query@5.52.0': + resolution: {integrity: sha512-i02fOM3TRURI46AswPNlKb4Gwu+/mAPssI+pVu0AifA7/qzOJRgco17vdqjq/VgChKLLIltd9/KI4MCJFFfWEw==} + peerDependencies: + eslint: ^8 || ^9 + + '@tanstack/query-core@5.52.0': + resolution: {integrity: sha512-U1DOEgltjUwalN6uWYTewSnA14b+tE7lSylOiASKCAO61ENJeCq9VVD/TXHA6O5u9+6v5+UgGYBSccTKDoyMqw==} + + '@tanstack/react-query@5.52.1': + resolution: {integrity: sha512-soyn4dNIUZ8US8NaPVXv06gkZFHaZnPfKWPDjRJjFRW3Y7WZ0jx72eT6zhw3VQlkMPysmXye8l35ewPHspKgbQ==} + peerDependencies: + react: ^18 || ^19 + + '@tanstack/react-table@8.20.1': + resolution: {integrity: sha512-PJK+07qbengObe5l7c8vCdtefXm8cyR4i078acWrHbdm8JKw1ES7YpmOtVt9ALUVEEFAHscdVpGRhRgikgFMbQ==} + engines: {node: '>=12'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + '@tanstack/table-core@8.20.1': + resolution: {integrity: sha512-5Ly5TIRHnWH7vSDell9B/OVyV380qqIJVg7H7R7jU4fPEmOD4smqAX7VRflpYI09srWR8aj5OLD2Ccs1pI5mTg==} + engines: {node: '>=12'} + + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.4.8': + resolution: {integrity: sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.0.0': + resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 + '@types/react-dom': ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@ts-morph/common@0.23.0': + resolution: {integrity: sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/lodash.mergewith@4.6.7': + resolution: {integrity: sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==} + + '@types/lodash@4.17.7': + resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react@18.3.4': + resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==} + + '@typescript-eslint/eslint-plugin@8.2.0': + resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@8.2.0': + resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@8.0.0-alpha.30': + resolution: {integrity: sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.2.0': + resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.2.0': + resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@8.0.0-alpha.30': + resolution: {integrity: sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.2.0': + resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.0.0-alpha.30': + resolution: {integrity: sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@8.2.0': + resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@8.0.0-alpha.30': + resolution: {integrity: sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/utils@8.2.0': + resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@8.0.0-alpha.30': + resolution: {integrity: sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.2.0': + resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react-swc@3.7.0': + resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==} + peerDependencies: + vite: ^4 || ^5 + + '@vitest/expect@2.0.5': + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + + '@vitest/runner@2.0.5': + resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} + + '@vitest/snapshot@2.0.5': + resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} + + '@vitest/spy@2.0.5': + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + + '@vitest/utils@2.0.5': + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + + '@zag-js/dom-query@0.16.0': + resolution: {integrity: sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==} + + '@zag-js/element-size@0.10.5': + resolution: {integrity: sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==} + + '@zag-js/focus-visible@0.16.0': + resolution: {integrity: sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@1.7.4: + resolution: {integrity: sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + c12@1.11.1: + resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} + peerDependencies: + magicast: ^0.3.4 + peerDependenciesMeta: + magicast: + optional: true + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + code-block-writer@13.0.2: + resolution: {integrity: sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color2k@2.0.3: + resolution: {integrity: sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + compute-scroll-into-view@3.0.3: + resolution: {integrity: sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + css-box-model@1.2.1: + resolution: {integrity: sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614: + resolution: {integrity: sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react-refresh@0.4.11: + resolution: {integrity: sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw==} + peerDependencies: + eslint: '>=7' + + eslint-plugin-react@7.35.0: + resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + + eslint-scope@8.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.9.0: + resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + focus-lock@1.3.5: + resolution: {integrity: sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==} + engines: {node: '>=10'} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + framer-motion@11.3.29: + resolution: {integrity: sha512-uyDuUOeOElJEA3kbkbyoTNEf75Jih1EUg0ouLKYMlGDdt/LaJPmO+FyOGAGxM2HwKhHcAoKFNveR5A8peb7yhw==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + framesync@6.1.2: + resolution: {integrity: sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} + hasBin: true + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.9.0: + resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + happy-dom@15.0.0: + resolution: {integrity: sha512-DsvANUcxxY20iCo3Yllm7dqwzPVPduGfVFxa7mONwMBLczFeQgkN0LpDir1kIY322JMh+hrcPV3aGLyHCESDlA==} + engines: {node: '>=18.0.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nypm@0.3.9: + resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pkg-types@1.1.3: + resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + react-clientside-effect@1.2.6: + resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} + peerDependencies: + react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-focus-lock@2.12.1: + resolution: {integrity: sha512-lfp8Dve4yJagkHiFrC1bGtib3mF2ktqwPJw4/WGcgPW+pJ/AVQA5X2vI7xgp13FcxFEpYBBHpXai/N2DBNC0Jw==} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-icons@5.3.0: + resolution: {integrity: sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==} + peerDependencies: + react: '*' + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-remove-scroll-bar@2.3.6: + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.10: + resolution: {integrity: sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.1: + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.21.0: + resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} + engines: {node: ^14.18.0 || >=16.0.0} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + + tinyspy@3.0.0: + resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} + engines: {node: '>=14.0.0'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-morph@22.0.0: + resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} + + tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.2.0: + resolution: {integrity: sha512-DmnqaPcML0xYwUzgNbM1XaKXpEb7BShYf2P1tkUmmcl8hyeG7Pj08Er7R9bNy6AufabywzJcOybQAtnD/c9DGw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.5.4: + resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + uglify-js@3.19.2: + resolution: {integrity: sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-callback-ref@1.3.2: + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.2: + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + vite-node@2.0.5: + resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite@5.4.2: + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@2.0.5: + resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.0.5 + '@vitest/ui': 2.0.5 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@7nohe/openapi-react-query-codegen@1.6.0(commander@12.1.0)(glob@10.4.5)(ts-morph@22.0.0)(typescript@5.5.4)': + dependencies: + '@hey-api/openapi-ts': 0.52.0(typescript@5.5.4) + commander: 12.1.0 + glob: 10.4.5 + ts-morph: 22.0.0 + typescript: 5.5.4 + transitivePeerDependencies: + - magicast + + '@adobe/css-tools@4.4.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@apidevtools/json-schema-ref-parser@11.6.4': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/generator@7.25.4': + dependencies: + '@babel/types': 7.25.4 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.25.4': + dependencies: + '@babel/types': 7.25.4 + + '@babel/runtime@7.25.4': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + + '@babel/traverse@7.25.4': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.4 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.4': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@chakra-ui/accordion@2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/descendant': 3.1.0(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/alert@2.2.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/anatomy@2.2.2': {} + + '@chakra-ui/avatar@2.3.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/breadcrumb@2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/breakpoint-utils@2.0.8': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + + '@chakra-ui/button@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/card@2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/checkbox@2.3.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@zag-js/focus-visible': 0.16.0 + react: 18.3.1 + + '@chakra-ui/clickable@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + react: 18.3.1 + + '@chakra-ui/close-button@2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/color-mode@2.2.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/control-box@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/counter@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/number-utils': 2.0.7 + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + react: 18.3.1 + + '@chakra-ui/css-reset@2.3.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(react@18.3.1)': + dependencies: + '@emotion/react': 11.13.3(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/descendant@3.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/dom-utils@2.1.0': {} + + '@chakra-ui/editable@3.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-focus-on-pointer-down': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/event-utils@2.0.8': {} + + '@chakra-ui/focus-lock@2.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@chakra-ui/dom-utils': 2.1.0 + react: 18.3.1 + react-focus-lock: 2.12.1(@types/react@18.3.4)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + + '@chakra-ui/form-control@2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/hooks@2.2.1(react@18.3.1)': + dependencies: + '@chakra-ui/react-utils': 2.0.12(react@18.3.1) + '@chakra-ui/utils': 2.0.15 + compute-scroll-into-view: 3.0.3 + copy-to-clipboard: 3.3.3 + react: 18.3.1 + + '@chakra-ui/icon@3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/image@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/input@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/object-utils': 2.1.0 + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/layout@2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/breakpoint-utils': 2.0.8 + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/object-utils': 2.1.0 + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/lazy-utils@2.0.5': {} + + '@chakra-ui/live-region@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/media-query@3.3.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/breakpoint-utils': 2.0.8 + '@chakra-ui/react-env': 3.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/menu@2.2.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/clickable': 2.1.0(react@18.3.1) + '@chakra-ui/descendant': 3.1.0(react@18.3.1) + '@chakra-ui/lazy-utils': 2.0.5 + '@chakra-ui/popper': 3.1.0(react@18.3.1) + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-animation-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-disclosure': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-focus-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-outside-click': 2.2.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/modal@2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(@types/react@18.3.4)(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/focus-lock': 2.1.0(@types/react@18.3.4)(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.4 + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.10(@types/react@18.3.4)(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + + '@chakra-ui/number-input@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/counter': 2.1.0(react@18.3.1) + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-interval': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/number-utils@2.0.7': {} + + '@chakra-ui/object-utils@2.1.0': {} + + '@chakra-ui/pin-input@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/descendant': 3.1.0(react@18.3.1) + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/popover@2.2.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/lazy-utils': 2.0.5 + '@chakra-ui/popper': 3.1.0(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-animation-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-disclosure': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-focus-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-focus-on-pointer-down': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/popper@3.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@popperjs/core': 2.11.8 + react: 18.3.1 + + '@chakra-ui/portal@2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@chakra-ui/progress@2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/provider@2.4.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-env': 3.1.0(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/utils': 2.0.15 + '@emotion/react': 11.13.3(@types/react@18.3.4)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@chakra-ui/radio@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@zag-js/focus-visible': 0.16.0 + react: 18.3.1 + + '@chakra-ui/react-children-utils@2.0.6(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-context@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-env@3.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-types@2.0.7(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-animation-state@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/dom-utils': 2.1.0 + '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-callback-ref@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-controllable-state@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-disclosure@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-event-listener@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-focus-effect@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/dom-utils': 2.1.0 + '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-focus-on-pointer-down@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-interval@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-latest-ref@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-merge-refs@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-outside-click@2.2.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-pan-event@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/event-utils': 2.0.8 + '@chakra-ui/react-use-latest-ref': 2.1.0(react@18.3.1) + framesync: 6.1.2 + react: 18.3.1 + + '@chakra-ui/react-use-previous@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-safe-layout-effect@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-use-size@2.1.0(react@18.3.1)': + dependencies: + '@zag-js/element-size': 0.10.5 + react: 18.3.1 + + '@chakra-ui/react-use-timeout@2.1.0(react@18.3.1)': + dependencies: + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/react-use-update-effect@2.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@chakra-ui/react-utils@2.0.12(react@18.3.1)': + dependencies: + '@chakra-ui/utils': 2.0.15 + react: 18.3.1 + + '@chakra-ui/react@2.8.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/accordion': 2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/alert': 2.2.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/avatar': 2.3.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/breadcrumb': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/button': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/card': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/checkbox': 2.3.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/control-box': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/counter': 2.1.0(react@18.3.1) + '@chakra-ui/css-reset': 2.3.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/editable': 3.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/focus-lock': 2.1.0(@types/react@18.3.4)(react@18.3.1) + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/hooks': 2.2.1(react@18.3.1) + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/image': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/input': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/layout': 2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/live-region': 2.1.0(react@18.3.1) + '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/menu': 2.2.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/modal': 2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(@types/react@18.3.4)(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/number-input': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/pin-input': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/popover': 2.2.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/popper': 3.1.0(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/progress': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/provider': 2.4.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/radio': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-env': 3.1.0(react@18.3.1) + '@chakra-ui/select': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/skeleton': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/skip-nav': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/slider': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/spinner': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/stat': 2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/stepper': 2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/styled-system': 2.9.2 + '@chakra-ui/switch': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/table': 2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/tabs': 3.0.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/tag': 3.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/textarea': 2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/theme': 3.3.1(@chakra-ui/styled-system@2.9.2) + '@chakra-ui/theme-utils': 2.0.21 + '@chakra-ui/toast': 7.0.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/tooltip': 2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/transition': 2.1.0(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/utils': 2.0.15 + '@chakra-ui/visually-hidden': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@emotion/react': 11.13.3(@types/react@18.3.4)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + + '@chakra-ui/select@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/shared-utils@2.0.5': {} + + '@chakra-ui/skeleton@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/media-query': 3.3.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-use-previous': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/skip-nav@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/slider@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/number-utils': 2.0.7 + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-callback-ref': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-latest-ref': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-pan-event': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-size': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/spinner@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/stat@2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/stepper@2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/styled-system@2.9.2': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + csstype: 3.1.3 + lodash.mergewith: 4.6.2 + + '@chakra-ui/switch@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/checkbox': 2.3.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/color-mode': 2.2.0(react@18.3.1) + '@chakra-ui/object-utils': 2.1.0 + '@chakra-ui/react-utils': 2.0.12(react@18.3.1) + '@chakra-ui/styled-system': 2.9.2 + '@chakra-ui/theme-utils': 2.0.21 + '@chakra-ui/utils': 2.0.15 + '@emotion/react': 11.13.3(@types/react@18.3.4)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + react-fast-compare: 3.2.2 + + '@chakra-ui/table@2.1.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/tabs@3.0.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/clickable': 2.1.0(react@18.3.1) + '@chakra-ui/descendant': 3.1.0(react@18.3.1) + '@chakra-ui/lazy-utils': 2.0.5 + '@chakra-ui/react-children-utils': 2.0.6(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-controllable-state': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-safe-layout-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/tag@3.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/icon': 3.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/textarea@2.1.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/form-control': 2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/theme-tools@2.1.2(@chakra-ui/styled-system@2.9.2)': + dependencies: + '@chakra-ui/anatomy': 2.2.2 + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/styled-system': 2.9.2 + color2k: 2.0.3 + + '@chakra-ui/theme-utils@2.0.21': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/styled-system': 2.9.2 + '@chakra-ui/theme': 3.3.1(@chakra-ui/styled-system@2.9.2) + lodash.mergewith: 4.6.2 + + '@chakra-ui/theme@3.3.1(@chakra-ui/styled-system@2.9.2)': + dependencies: + '@chakra-ui/anatomy': 2.2.2 + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/styled-system': 2.9.2 + '@chakra-ui/theme-tools': 2.1.2(@chakra-ui/styled-system@2.9.2) + + '@chakra-ui/toast@7.0.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/alert': 2.2.2(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/close-button': 2.1.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-context': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-timeout': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-update-effect': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/styled-system': 2.9.2 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + '@chakra-ui/theme': 3.3.1(@chakra-ui/styled-system@2.9.2) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@chakra-ui/tooltip@2.3.1(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/dom-utils': 2.1.0 + '@chakra-ui/popper': 3.1.0(react@18.3.1) + '@chakra-ui/portal': 2.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@chakra-ui/react-types': 2.0.7(react@18.3.1) + '@chakra-ui/react-use-disclosure': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-event-listener': 2.1.0(react@18.3.1) + '@chakra-ui/react-use-merge-refs': 2.1.0(react@18.3.1) + '@chakra-ui/shared-utils': 2.0.5 + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@chakra-ui/transition@2.1.0(framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/shared-utils': 2.0.5 + framer-motion: 11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@chakra-ui/utils@2.0.15': + dependencies: + '@types/lodash.mergewith': 4.6.7 + css-box-model: 1.2.1 + framesync: 6.1.2 + lodash.mergewith: 4.6.2 + + '@chakra-ui/visually-hidden@2.2.0(@chakra-ui/system@2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1))(react@18.3.1)': + dependencies: + '@chakra-ui/system': 2.6.2(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + + '@emotion/babel-plugin@11.12.0': + dependencies: + '@babel/helper-module-imports': 7.24.7 + '@babel/runtime': 7.25.4 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.1 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.13.1': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.0 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.3.0': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + '@emotion/babel-plugin': 11.12.0 + '@emotion/cache': 11.13.1 + '@emotion/serialize': 1.3.1 + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) + '@emotion/utils': 1.4.0 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.1': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.0 + csstype: 3.1.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.4)(react@18.3.1))(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + '@emotion/babel-plugin': 11.12.0 + '@emotion/is-prop-valid': 1.3.0 + '@emotion/react': 11.13.3(@types/react@18.3.4)(react@18.3.1) + '@emotion/serialize': 1.3.1 + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) + '@emotion/utils': 1.4.0 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + transitivePeerDependencies: + - supports-color + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@emotion/utils@1.4.0': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0(jiti@1.21.6))': + dependencies: + eslint: 9.9.0(jiti@1.21.6) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.11.0': {} + + '@eslint/config-array@0.17.1': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.6 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.9.0': {} + + '@eslint/object-schema@2.1.4': {} + + '@hey-api/openapi-ts@0.52.0(typescript@5.5.4)': + dependencies: + '@apidevtools/json-schema-ref-parser': 11.6.4 + c12: 1.11.1 + camelcase: 8.0.0 + commander: 12.1.0 + handlebars: 4.7.8 + typescript: 5.5.4 + transitivePeerDependencies: + - magicast + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.0': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jsdevtools/ono@7.1.3': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@popperjs/core@2.11.8': {} + + '@rollup/rollup-android-arm-eabi@4.21.0': + optional: true + + '@rollup/rollup-android-arm64@4.21.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.0': + optional: true + + '@rollup/rollup-darwin-x64@4.21.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.0': + optional: true + + '@swc/core-darwin-arm64@1.7.14': + optional: true + + '@swc/core-darwin-x64@1.7.14': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.7.14': + optional: true + + '@swc/core-linux-arm64-gnu@1.7.14': + optional: true + + '@swc/core-linux-arm64-musl@1.7.14': + optional: true + + '@swc/core-linux-x64-gnu@1.7.14': + optional: true + + '@swc/core-linux-x64-musl@1.7.14': + optional: true + + '@swc/core-win32-arm64-msvc@1.7.14': + optional: true + + '@swc/core-win32-ia32-msvc@1.7.14': + optional: true + + '@swc/core-win32-x64-msvc@1.7.14': + optional: true + + '@swc/core@1.7.14': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.12 + optionalDependencies: + '@swc/core-darwin-arm64': 1.7.14 + '@swc/core-darwin-x64': 1.7.14 + '@swc/core-linux-arm-gnueabihf': 1.7.14 + '@swc/core-linux-arm64-gnu': 1.7.14 + '@swc/core-linux-arm64-musl': 1.7.14 + '@swc/core-linux-x64-gnu': 1.7.14 + '@swc/core-linux-x64-musl': 1.7.14 + '@swc/core-win32-arm64-msvc': 1.7.14 + '@swc/core-win32-ia32-msvc': 1.7.14 + '@swc/core-win32-x64-msvc': 1.7.14 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.12': + dependencies: + '@swc/counter': 0.1.3 + + '@tanstack/eslint-plugin-query@5.52.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/utils': 8.0.0-alpha.30(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) + transitivePeerDependencies: + - supports-color + - typescript + + '@tanstack/query-core@5.52.0': {} + + '@tanstack/react-query@5.52.1(react@18.3.1)': + dependencies: + '@tanstack/query-core': 5.52.0 + react: 18.3.1 + + '@tanstack/react-table@8.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/table-core': 8.20.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@tanstack/table-core@8.20.1': {} + + '@testing-library/dom@10.4.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.4 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.4.8': + dependencies: + '@adobe/css-tools': 4.4.0 + '@babel/runtime': 7.25.4 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + + '@testing-library/react@16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + '@testing-library/dom': 10.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.4 + '@types/react-dom': 18.3.0 + + '@ts-morph/common@0.23.0': + dependencies: + fast-glob: 3.3.2 + minimatch: 9.0.5 + mkdirp: 3.0.1 + path-browserify: 1.0.1 + + '@types/aria-query@5.0.4': {} + + '@types/estree@1.0.5': {} + + '@types/json-schema@7.0.15': {} + + '@types/lodash.mergewith@4.6.7': + dependencies: + '@types/lodash': 4.17.7 + + '@types/lodash@4.17.7': {} + + '@types/parse-json@4.0.2': {} + + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.4 + + '@types/react@18.3.4': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@typescript-eslint/eslint-plugin@8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/type-utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.2.0 + eslint: 9.9.0(jiti@1.21.6) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.2.0 + debug: 4.3.6 + eslint: 9.9.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.0.0-alpha.30': + dependencies: + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 + + '@typescript-eslint/scope-manager@8.2.0': + dependencies: + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/visitor-keys': 8.2.0 + + '@typescript-eslint/type-utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + debug: 4.3.6 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + + '@typescript-eslint/types@8.0.0-alpha.30': {} + + '@typescript-eslint/types@8.2.0': {} + + '@typescript-eslint/typescript-estree@8.0.0-alpha.30(typescript@5.5.4)': + dependencies: + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.2.0(typescript@5.5.4)': + dependencies: + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/visitor-keys': 8.2.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.0.0-alpha.30(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.0.0-alpha.30 + '@typescript-eslint/types': 8.0.0-alpha.30 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.30(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@8.0.0-alpha.30': + dependencies: + '@typescript-eslint/types': 8.0.0-alpha.30 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@8.2.0': + dependencies: + '@typescript-eslint/types': 8.2.0 + eslint-visitor-keys: 3.4.3 + + '@vitejs/plugin-react-swc@3.7.0(vite@5.4.2)': + dependencies: + '@swc/core': 1.7.14 + vite: 5.4.2 + transitivePeerDependencies: + - '@swc/helpers' + + '@vitest/expect@2.0.5': + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@2.0.5': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/runner@2.0.5': + dependencies: + '@vitest/utils': 2.0.5 + pathe: 1.1.2 + + '@vitest/snapshot@2.0.5': + dependencies: + '@vitest/pretty-format': 2.0.5 + magic-string: 0.30.11 + pathe: 1.1.2 + + '@vitest/spy@2.0.5': + dependencies: + tinyspy: 3.0.0 + + '@vitest/utils@2.0.5': + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.1 + tinyrainbow: 1.2.0 + + '@zag-js/dom-query@0.16.0': {} + + '@zag-js/element-size@0.10.5': {} + + '@zag-js/focus-visible@0.16.0': + dependencies: + '@zag-js/dom-query': 0.16.0 + + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@2.0.1: {} + + aria-hidden@1.2.4: + dependencies: + tslib: 2.6.3 + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + assertion-error@2.0.1: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axios@1.7.4: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.25.4 + cosmiconfig: 7.1.0 + resolve: 1.22.8 + + balanced-match@1.0.2: {} + + binary-extensions@2.3.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + c12@1.11.1: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.7 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 1.21.6 + mlly: 1.7.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.1.3 + rc9: 2.1.2 + + cac@6.7.14: {} + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase@8.0.0: {} + + chai@5.1.1: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + check-error@2.1.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@2.0.0: {} + + citty@0.1.6: + dependencies: + consola: 3.2.3 + + code-block-writer@13.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color2k@2.0.3: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@12.1.0: {} + + compute-scroll-into-view@3.0.3: {} + + concat-map@0.0.1: {} + + confbox@0.1.7: {} + + consola@3.2.3: {} + + convert-source-map@1.9.0: {} + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-box-model@1.2.1: + dependencies: + tiny-invariant: 1.3.3 + + css.escape@1.5.1: {} + + csstype@3.1.3: {} + + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + debug@4.3.6: + dependencies: + ms: 2.1.2 + + deep-eql@5.0.2: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + destr@2.0.3: {} + + detect-node-es@1.1.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + dotenv@16.4.5: {} + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-iterator-helpers@1.0.19: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.2 + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)): + dependencies: + eslint: 9.9.0(jiti@1.21.6) + + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6))(prettier@3.3.3): + dependencies: + eslint: 9.9.0(jiti@1.21.6) + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.1 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.9.0(jiti@1.21.6)) + + eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.9.0(jiti@1.21.6)): + dependencies: + eslint: 9.9.0(jiti@1.21.6) + + eslint-plugin-react-refresh@0.4.11(eslint@9.9.0(jiti@1.21.6)): + dependencies: + eslint: 9.9.0(jiti@1.21.6) + + eslint-plugin-react@7.35.0(eslint@9.9.0(jiti@1.21.6)): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 9.9.0(jiti@1.21.6) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + + eslint-scope@8.0.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.0.0: {} + + eslint@9.9.0(jiti@1.21.6): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.11.0 + '@eslint/config-array': 0.17.1 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.9.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 + transitivePeerDependencies: + - supports-color + + espree@10.1.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-root@1.1.0: {} + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + + flatted@3.3.1: {} + + focus-lock@1.3.5: + dependencies: + tslib: 2.6.3 + + follow-redirects@1.15.6: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + framer-motion@11.3.29(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + tslib: 2.6.3 + optionalDependencies: + '@emotion/is-prop-valid': 1.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + framesync@6.1.2: + dependencies: + tslib: 2.4.0 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + get-func-name@2.0.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-nonce@1.0.1: {} + + get-stream@8.0.1: {} + + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + giget@1.2.3: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.4 + nypm: 0.3.9 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + globals@11.12.0: {} + + globals@14.0.0: {} + + globals@15.9.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graphemer@1.4.0: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.2 + + happy-dom@15.0.0: + dependencies: + entities: 4.5.0 + webidl-conversions: 7.0.0 + whatwg-mimetype: 3.0.0 + + has-bigints@1.0.2: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + human-signals@5.0.0: {} + + ignore@5.3.2: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-arrayish@0.2.1: {} + + is-async-function@2.0.0: + dependencies: + has-tostringtag: 1.0.2 + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + + is-stream@3.0.0: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-weakmap@2.0.2: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + iterator.prototype@1.1.2: + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.6: {} + + js-tokens@4.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@2.5.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lodash.mergewith@4.6.2: {} + + lodash@4.17.21: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + loupe@3.1.1: + dependencies: + get-func-name: 2.0.2 + + lru-cache@10.4.3: {} + + lz-string@1.5.0: {} + + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@4.0.0: {} + + min-indent@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + + mkdirp@3.0.1: {} + + mlly@1.7.1: + dependencies: + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.1.3 + ufo: 1.5.4 + + ms@2.1.2: {} + + nanoid@3.3.7: {} + + natural-compare@1.4.0: {} + + neo-async@2.6.2: {} + + node-fetch-native@1.6.4: {} + + normalize-path@3.0.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nypm@0.3.9: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + pkg-types: 1.1.3 + ufo: 1.5.4 + + object-assign@4.1.1: {} + + object-inspect@1.13.2: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + object.entries@1.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + object.values@1.2.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + ohash@1.1.3: {} + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + pathe@1.1.2: {} + + pathval@2.0.0: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pkg-types@1.1.3: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + + possible-typed-array-names@1.0.0: {} + + postcss@8.4.41: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.3.3: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + proxy-from-env@1.1.0: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.3 + + react-clientside-effect@1.2.6(react@18.3.1): + dependencies: + '@babel/runtime': 7.25.4 + react: 18.3.1 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-fast-compare@3.2.2: {} + + react-focus-lock@2.12.1(@types/react@18.3.4)(react@18.3.1): + dependencies: + '@babel/runtime': 7.25.4 + focus-lock: 1.3.5 + prop-types: 15.8.1 + react: 18.3.1 + react-clientside-effect: 1.2.6(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.4)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.4)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.4 + + react-icons@5.3.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-remove-scroll-bar@2.3.6(@types/react@18.3.4)(react@18.3.1): + dependencies: + react: 18.3.1 + react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1) + tslib: 2.6.3 + optionalDependencies: + '@types/react': 18.3.4 + + react-remove-scroll@2.5.10(@types/react@18.3.4)(react@18.3.1): + dependencies: + react: 18.3.1 + react-remove-scroll-bar: 2.3.6(@types/react@18.3.4)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1) + tslib: 2.6.3 + use-callback-ref: 1.3.2(@types/react@18.3.4)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.4)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.4 + + react-style-singleton@2.2.1(@types/react@18.3.4)(react@18.3.1): + dependencies: + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 18.3.1 + tslib: 2.6.3 + optionalDependencies: + '@types/react': 18.3.4 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + reflect.getprototypeof@1.0.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 + + regenerator-runtime@0.14.1: {} + + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + resolve-from@4.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + rollup@4.21.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.0 + '@rollup/rollup-android-arm64': 4.21.0 + '@rollup/rollup-darwin-arm64': 4.21.0 + '@rollup/rollup-darwin-x64': 4.21.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 + '@rollup/rollup-linux-arm-musleabihf': 4.21.0 + '@rollup/rollup-linux-arm64-gnu': 4.21.0 + '@rollup/rollup-linux-arm64-musl': 4.21.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 + '@rollup/rollup-linux-riscv64-gnu': 4.21.0 + '@rollup/rollup-linux-s390x-gnu': 4.21.0 + '@rollup/rollup-linux-x64-gnu': 4.21.0 + '@rollup/rollup-linux-x64-musl': 4.21.0 + '@rollup/rollup-win32-arm64-msvc': 4.21.0 + '@rollup/rollup-win32-ia32-msvc': 4.21.0 + '@rollup/rollup-win32-x64-msvc': 4.21.0 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + siginfo@2.0.0: {} + + signal-exit@4.1.0: {} + + slash@3.0.0: {} + + source-map-js@1.2.0: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + stackback@0.0.2: {} + + std-env@3.7.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + stylis@4.2.0: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.9.1: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.3 + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + text-table@0.2.0: {} + + tiny-invariant@1.3.3: {} + + tinybench@2.9.0: {} + + tinypool@1.0.1: {} + + tinyrainbow@1.2.0: {} + + tinyspy@3.0.0: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toggle-selection@1.0.6: {} + + ts-api-utils@1.3.0(typescript@5.5.4): + dependencies: + typescript: 5.5.4 + + ts-morph@22.0.0: + dependencies: + '@ts-morph/common': 0.23.0 + code-block-writer: 13.0.2 + + tslib@2.4.0: {} + + tslib@2.6.3: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typescript-eslint@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + + typescript@5.5.4: {} + + ufo@1.5.4: {} + + uglify-js@3.19.2: + optional: true + + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-callback-ref@1.3.2(@types/react@18.3.4)(react@18.3.1): + dependencies: + react: 18.3.1 + tslib: 2.6.3 + optionalDependencies: + '@types/react': 18.3.4 + + use-sidecar@1.1.2(@types/react@18.3.4)(react@18.3.1): + dependencies: + detect-node-es: 1.1.0 + react: 18.3.1 + tslib: 2.6.3 + optionalDependencies: + '@types/react': 18.3.4 + + vite-node@2.0.5: + dependencies: + cac: 6.7.14 + debug: 4.3.6 + pathe: 1.1.2 + tinyrainbow: 1.2.0 + vite: 5.4.2 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite@5.4.2: + dependencies: + esbuild: 0.21.5 + postcss: 8.4.41 + rollup: 4.21.0 + optionalDependencies: + fsevents: 2.3.3 + + vitest@2.0.5(happy-dom@15.0.0): + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.0.5 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.6 + execa: 8.0.1 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.2 + vite-node: 2.0.5 + why-is-node-running: 2.3.0 + optionalDependencies: + happy-dom: 15.0.0 + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + webidl-conversions@7.0.0: {} + + whatwg-mimetype@3.0.0: {} + + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-builtin-type@1.1.4: + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + word-wrap@1.2.5: {} + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + yallist@4.0.0: {} + + yaml@1.10.2: {} + + yocto-queue@0.1.0: {} diff --git a/airflow/ui/public/pin_32.png b/airflow/ui/public/pin_32.png new file mode 100644 index 0000000000000000000000000000000000000000..244ffc5bab501fa18538ec669fcecafff2387159 GIT binary patch literal 1201 zcmV;i1Wx;jP)Z#;MbdqBbA`aViQ*)rv%bAXEWID)a<}LyO=LHYYA1<-!4|6c?!%enca2 z00c6wkSg&bI8;JHNHG_v;E+_PtpHVaL`x|xwNuBge|C2|v(Bz}9ea0eRq8A4dS^W| z?=#=`d1npWW)X3^`1pJm{;T_P?(FM;v`m9 z53?D*^cAnMoFmR7rE;((4wJpKH~unuF-K#eHb6HJP8i)FpNsSb>EF)W1<(tG5RXXm zzx{hY@a@=Y&e+-}01IN|=j^1xSQ-JPm2b?m*I!6=?C{H(6k1l!3oG9iz|y^^a%xZr zL(`#Es%l#Z)10ZB2eDO8fNmi+EF2sN4z5q^$Uq>HBKs6w|%!PDj)|rF=8ehmV z!XFNI7cSt#FJHm<<#Vp@sT6_~>2pCOu4Iwf7VkXi7R?0kjX?kREXB=LaeYx4!R+h_ zoEsi@^^yAfUF}?StG7Atg2_q$6gbT-6(a+9_0Y$--Z#+fH#}rt7vw%X|JWh;C}Ukv zFLQRoP>qTKaX2L+@y3C7>~`Nk14gWTW_lJY%AN3()+}t&?tA(D^^{($t4w3|Jt7g% zD9`owFzA2`8lgCT{6!=x=P|f*2fn-O0n9!8ERR40KFVQg_n6h#RD|?!enHFE)Ykg~ zM!&9^hdFRt81L>pfYQ~I_-y(mp7T)z5=GM4bVuOLt16*1g&^AgCx-hz<>8;krCrmg zmCOEP40c3p!OmN*2oOU3Hx{`JI`sv}$Z1^uXB{D988PJ<+!2dGt5#9vAi7ouGaTuo z1R+UY)E>G&**aYl;H`WDgvCA02QMJ>#3#H${|Bq#XYekna75?+G$!FfPp><51A{M zn|T(ix3BdQ*3Z9ZemX@A=4svpNaht@j`5DYhX1lxZktv#S6eTyqWH(#b|iwB3pHw> z&i884xfA>MzBDsLF~NKVV|7DR^rn6SV(s_WAjNh;E1qEppp6t56CKUPc6@Y5)pwsz zIYgkXSu399XQJYpr+k0XRt+d#=2p8Kh=%+jEP%M5xf6nyb{f { + const returnValue = { + data: mockListDags, + isLoading: false, + } as QueryObserverSuccessResult; + vi.spyOn(openapiQueriesModule, "useDagServiceGetDags").mockImplementation( + () => returnValue + ); +}); + +afterEach(() => { + vi.restoreAllMocks(); +}); + +describe("App", () => { + it("App component should render", () => { + render(, { wrapper: Wrapper }); + }); + + it("AppSimple", () => { + render(); + }); +}); diff --git a/airflow/ui/src/app.tsx b/airflow/ui/src/app.tsx new file mode 100644 index 0000000000000..d5d582c7902e7 --- /dev/null +++ b/airflow/ui/src/app.tsx @@ -0,0 +1,40 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Box, Spinner } from "@chakra-ui/react"; + +import { useDagServiceGetDags } from "openapi/queries"; +import { DagsList } from "src/dagsList"; +import { Nav } from "src/nav"; + +export const App = () => { + const { data, isLoading } = useDagServiceGetDags(); + + return ( + +