From d503c36d2f1f9222f4a97043ca25f5e5d27ead03 Mon Sep 17 00:00:00 2001 From: deepanshupal09-datazip Date: Mon, 9 Feb 2026 15:02:39 +0530 Subject: [PATCH 1/5] feat: add olake ui open api documentation --- .gitignore | 5 +- docusaurus.config.js | 21 +- package-lock.json | 2301 ++++++++++++++++++++--- package.json | 6 +- sidebars.js => sidebars.ts | 26 +- src/css/custom.css | 53 + src/data/docs/swagger.json | 3508 ++++++++++++++++++++++++++++++++++++ 7 files changed, 5665 insertions(+), 255 deletions(-) rename sidebars.js => sidebars.ts (89%) create mode 100644 src/data/docs/swagger.json diff --git a/.gitignore b/.gitignore index a4658deb..143b22a9 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,7 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -.vscode/ \ No newline at end of file +.vscode/ + +# API Documentation +docs/api \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index 867f7f72..595893bf 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -477,7 +477,7 @@ const config = { markdown: { mermaid: true, }, - themes: ['@docusaurus/theme-mermaid'], + themes: ['@docusaurus/theme-mermaid', 'docusaurus-theme-openapi-docs'], plugins: [ @@ -510,11 +510,12 @@ const config = { id: 'main-docs', // must be unique path: 'docs', // folder on disk routeBasePath: 'docs', // URL => /docs/… - sidebarPath: require.resolve('./sidebars.js'), + sidebarPath: require.resolve('./sidebars.ts'), showLastUpdateAuthor: true, showLastUpdateTime: true, rehypePlugins: [imageFetchPriorityRehypePlugin], editUrl: 'https://github.com/datazip-inc/olake-docs/tree/master/', + docItemComponent: "@theme/ApiItem", }, ], @@ -1120,6 +1121,22 @@ const config = { }, ], '@docusaurus/theme-live-codeblock', + [ + 'docusaurus-plugin-openapi-docs', + { + id: "api", + docsPluginId: "main-docs", + config: { + olakeApi: { + specPath: "src/data/docs/swagger.json", + outputDir: "docs/api", + sidebarOptions: { + groupPathsBy: "tag", + } + } + } + } + ] ], // Removed render-blocking stylesheets - fonts now loaded asynchronously via head tags diff --git a/package-lock.json b/package-lock.json index ced9a85f..322af43a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,8 @@ "@tailwindcss/typography": "^0.5.16", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "docusaurus-plugin-openapi-docs": "^4.7.1", + "docusaurus-theme-openapi-docs": "^4.7.1", "lucide-react": "^0.475.0", "plugin-image-zoom": "^1.2.0", "prism-react-renderer": "^2.4.1", @@ -424,13 +426,21 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@antfu/utils": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-9.2.1.tgz", - "integrity": "sha512-TMilPqXyii1AsiEii6l6ubRzbo76p6oshUSYPaKsmXDavyMLqjzVDkcp3pHp5ELMUNJHATcEOGxKTTsX9yYhGg==", + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.9.3", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.3.tgz", + "integrity": "sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==", "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, "funding": { - "url": "https://github.com/sponsors/antfu" + "url": "https://github.com/sponsors/philsturgeon" } }, "node_modules/@babel/code-frame": { @@ -2080,9 +2090,9 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", - "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", "license": "MIT" }, "node_modules/@chevrotain/cst-dts-gen": { @@ -2096,6 +2106,12 @@ "lodash-es": "4.17.21" } }, + "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/@chevrotain/gast": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", @@ -2106,6 +2122,12 @@ "lodash-es": "4.17.21" } }, + "node_modules/@chevrotain/gast/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/@chevrotain/regexp-to-ast": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", @@ -4448,6 +4470,19 @@ "tslib": "^2.4.0" } }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "license": "MIT" + }, + "node_modules/@faker-js/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", + "deprecated": "Please update to a newer version.", + "license": "MIT" + }, "node_modules/@floating-ui/core": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", @@ -4545,6 +4580,17 @@ "react": ">= 16 || ^19.0.0-rc" } }, + "node_modules/@hookform/error-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hookform/error-message/-/error-message-2.0.1.tgz", + "integrity": "sha512-U410sAr92xgxT1idlu9WWOVjndxLdgPUHEB8Schr27C9eh7/xUnITWpCMF93s+lGiG++D4JnbSnrb5A21AdSNg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0", + "react-hook-form": "^7.0.0" + } + }, "node_modules/@iconify/types": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", @@ -4552,19 +4598,14 @@ "license": "MIT" }, "node_modules/@iconify/utils": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.0.2.tgz", - "integrity": "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", "license": "MIT", "dependencies": { "@antfu/install-pkg": "^1.1.0", - "@antfu/utils": "^9.2.0", "@iconify/types": "^2.0.0", - "debug": "^4.4.1", - "globals": "^15.15.0", - "kolorist": "^1.8.0", - "local-pkg": "^1.1.1", - "mlly": "^1.7.4" + "mlly": "^1.8.0" } }, "node_modules/@isaacs/cliui": { @@ -4695,6 +4736,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, "node_modules/@jsonjoy.com/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", @@ -4870,9 +4917,9 @@ } }, "node_modules/@mermaid-js/parser": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.2.tgz", - "integrity": "sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", "license": "MIT", "dependencies": { "langium": "3.3.1" @@ -4975,142 +5022,458 @@ "node": ">=8.0.0" } }, - "node_modules/@philpl/buble": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz", - "integrity": "sha512-wKTA2DxAGEW+QffRQvOhRQ0VBiYU2h2p8Yc1oBNlqSKws48/8faxqKNIuub0q4iuyTuLwtB8EkwiKwhlfV1PBA==", + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { - "acorn": "^6.1.1", - "acorn-class-fields": "^0.2.1", - "acorn-dynamic-import": "^4.0.0", - "acorn-jsx": "^5.0.1", - "chalk": "^2.4.2", - "magic-string": "^0.25.2", - "minimist": "^1.2.0", - "os-homedir": "^1.0.1", - "regexpu-core": "^4.5.4" + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" }, - "bin": { - "buble": "bin/buble" - } - }, - "node_modules/@philpl/buble/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=0.4.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/acorn-class-fields": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.2.1.tgz", - "integrity": "sha512-US/kqTe0H8M4LN9izoL+eykVAitE68YMuYZ3sHn3i1fjniqR7oQ3SPvuMK/VT1kjOQHrx5Q88b90TtOKgAv2hQ==", + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=4.8.2" + "node": ">= 10.0.0" }, - "peerDependencies": { - "acorn": "^6.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk", + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@philpl/buble/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.8.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" - } - }, - "node_modules/@philpl/buble/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@philpl/buble/node_modules/regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@philpl/buble": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@philpl/buble/-/buble-0.19.7.tgz", + "integrity": "sha512-wKTA2DxAGEW+QffRQvOhRQ0VBiYU2h2p8Yc1oBNlqSKws48/8faxqKNIuub0q4iuyTuLwtB8EkwiKwhlfV1PBA==", + "license": "MIT", + "dependencies": { + "acorn": "^6.1.1", + "acorn-class-fields": "^0.2.1", + "acorn-dynamic-import": "^4.0.0", + "acorn-jsx": "^5.0.1", + "chalk": "^2.4.2", + "magic-string": "^0.25.2", + "minimist": "^1.2.0", + "os-homedir": "^1.0.1", + "regexpu-core": "^4.5.4" + }, + "bin": { + "buble": "bin/buble" + } + }, + "node_modules/@philpl/buble/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@philpl/buble/node_modules/acorn-class-fields": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/acorn-class-fields/-/acorn-class-fields-0.2.1.tgz", + "integrity": "sha512-US/kqTe0H8M4LN9izoL+eykVAitE68YMuYZ3sHn3i1fjniqR7oQ3SPvuMK/VT1kjOQHrx5Q88b90TtOKgAv2hQ==", + "license": "MIT", + "engines": { + "node": ">=4.8.2" + }, + "peerDependencies": { + "acorn": "^6.0.0" + } + }, + "node_modules/@philpl/buble/node_modules/acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0" + } + }, + "node_modules/@philpl/buble/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@philpl/buble/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@philpl/buble/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@philpl/buble/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@philpl/buble/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@philpl/buble/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@philpl/buble/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/@philpl/buble/node_modules/regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@philpl/buble/node_modules/regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", "license": "MIT", "dependencies": { @@ -5469,6 +5832,102 @@ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "node_modules/@redocly/ajv": { + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.3.tgz", + "integrity": "sha512-NQsbJbB/GV7JVO88ebFkMndrnuGp/dTm5/2NISeg+JGcLzTfGBJZ01+V5zD8nKBOpi/dLLNFT+Ql6IcUk8ehng==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/config": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core": { + "version": "1.34.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", + "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", + "license": "MIT", + "dependencies": { + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", + "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@rspack/binding": { "version": "1.5.6", "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.5.6.tgz", @@ -5716,6 +6175,12 @@ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", "license": "MIT" }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -6725,9 +7190,9 @@ "license": "MIT" }, "node_modules/@types/d3-shape": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", - "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", "license": "MIT", "dependencies": { "@types/d3-path": "*" @@ -7102,6 +7567,12 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", @@ -7396,6 +7867,15 @@ "node": ">= 10.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -7443,6 +7923,20 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", @@ -7509,6 +8003,15 @@ "algoliasearch": ">= 3.1 < 6" } }, + "node_modules/allof-merge": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/allof-merge/-/allof-merge-0.6.8.tgz", + "integrity": "sha512-RJrHVDqITsU1kjE2L7s1hy4AYZSTlO1m9jTleYhVCEOfOpbbygRGfcEgrp+bW3oX/PcMUwVkt6MSJyXoyI6lRA==", + "license": "MIT", + "dependencies": { + "json-crawl": "^0.5.3" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -7656,6 +8159,12 @@ "astring": "bin/astring" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, "node_modules/autoprefixer": { "version": "10.4.23", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", @@ -8216,6 +8725,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "license": "MIT" + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -8363,6 +8878,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -8427,6 +8951,12 @@ "chevrotain": "^11.0.0" } }, + "node_modules/chevrotain/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -8576,6 +9106,57 @@ "node": ">=8" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -8759,6 +9340,27 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "node_modules/compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", + "dependencies": { + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -8766,9 +9368,9 @@ "license": "MIT" }, "node_modules/confbox": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", - "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "license": "MIT" }, "node_modules/config-chain": { @@ -8857,6 +9459,18 @@ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", "license": "MIT" }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", + "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -9014,6 +9628,12 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, "node_modules/crypto-random-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", @@ -9734,9 +10354,9 @@ } }, "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", "license": "ISC", "engines": { "node": ">=12" @@ -9970,9 +10590,9 @@ } }, "node_modules/dagre-d3-es": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz", - "integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", + "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", "license": "MIT", "dependencies": { "d3": "^7.9.0", @@ -9980,9 +10600,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.18", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", - "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", "license": "MIT" }, "node_modules/debounce": { @@ -10186,6 +10806,18 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "license": "MIT" }, + "node_modules/detect-package-manager": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.2.tgz", + "integrity": "sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==", + "license": "MIT", + "dependencies": { + "execa": "^5.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/detect-port": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", @@ -10252,6 +10884,121 @@ "node": ">=6" } }, + "node_modules/docusaurus-plugin-openapi-docs": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-4.7.1.tgz", + "integrity": "sha512-RpqvTEnhIfdSuTn/Fa/8bmxeufijLL9HCRb//ELD33AKqEbCw147SKR/CqWu4H4gwi50FZLUbiHKZJbPtXLt9Q==", + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.5.4", + "@redocly/openapi-core": "^1.34.3", + "allof-merge": "^0.6.6", + "chalk": "^4.1.2", + "clsx": "^2.1.1", + "fs-extra": "^11.3.0", + "json-pointer": "^0.6.2", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "mustache": "^4.2.0", + "openapi-to-postmanv2": "^5.0.0", + "postman-collection": "^5.0.2", + "slugify": "^1.6.6", + "swagger2openapi": "^7.0.8", + "xml-formatter": "^3.6.6" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "^3.5.0", + "@docusaurus/utils": "^3.5.0", + "@docusaurus/utils-validation": "^3.5.0", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/docusaurus-plugin-sass": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz", + "integrity": "sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg==", + "license": "MIT", + "peer": true, + "dependencies": { + "sass-loader": "^16.0.2" + }, + "peerDependencies": { + "@docusaurus/core": "^2.0.0-beta || ^3.0.0-alpha", + "sass": "^1.30.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-4.7.1.tgz", + "integrity": "sha512-OPydf11LoEY3fdxaoqCVO+qCk7LBo6l6s28UvHJ5mIN/2xu+dOOio9+xnKZ5FIPOlD+dx0gVSKzaVCi/UFTxlg==", + "license": "MIT", + "dependencies": { + "@hookform/error-message": "^2.0.1", + "@reduxjs/toolkit": "^2.8.2", + "allof-merge": "^0.6.6", + "buffer": "^6.0.3", + "clsx": "^2.1.1", + "copy-text-to-clipboard": "^3.2.0", + "crypto-js": "^4.2.0", + "file-saver": "^2.0.5", + "lodash": "^4.17.21", + "pako": "^2.1.0", + "postman-code-generators": "^2.0.0", + "postman-collection": "^5.0.2", + "prism-react-renderer": "^2.4.1", + "process": "^0.11.10", + "react-hook-form": "^7.59.0", + "react-live": "^4.1.8", + "react-magic-dropzone": "^1.0.1", + "react-markdown": "^10.1.0", + "react-modal": "^3.16.3", + "react-redux": "^9.2.0", + "rehype-raw": "^7.0.0", + "remark-gfm": "4.0.1", + "sass": "^1.89.2", + "sass-loader": "^16.0.5", + "unist-util-visit": "^5.0.0", + "url": "^0.11.4", + "xml-formatter": "^3.6.6" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@docusaurus/theme-common": "^3.5.0", + "docusaurus-plugin-openapi-docs": "^4.0.0", + "docusaurus-plugin-sass": "^0.2.3", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/docusaurus-theme-openapi-docs/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -10303,9 +11050,9 @@ } }, "node_modules/dompurify": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz", - "integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -10516,6 +11263,12 @@ "node": ">= 0.4" } }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "license": "MIT" + }, "node_modules/esast-util-from-estree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", @@ -10844,6 +11597,12 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==", + "license": "BSD-3-Clause" + }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -10941,12 +11700,6 @@ "node": ">= 0.6" } }, - "node_modules/exsolve": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", - "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", - "license": "MIT" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -10999,6 +11752,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "license": "MIT" }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", @@ -11154,6 +11913,21 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -11260,6 +12034,12 @@ } } }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "license": "MIT" + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -11356,6 +12136,12 @@ "node": ">=14.14" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -11388,6 +12174,15 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -11557,18 +12352,6 @@ "node": ">=10" } }, - "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -11644,6 +12427,15 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + } + }, "node_modules/gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", @@ -12151,6 +12943,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/html-void-elements": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", @@ -12330,6 +13132,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/http-reasons": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz", + "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", + "license": "Apache-2.0" + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "license": "MIT" + }, "node_modules/http2-wrapper": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", @@ -12343,6 +13157,19 @@ "node": ">=10.19.0" } }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -12426,6 +13253,22 @@ "node": ">=16.x" } }, + "node_modules/immer": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.3.tgz", + "integrity": "sha512-6jQTc5z0KJFtr1UgFpIL3N9XSC3saRaI9PwWtzM2pSqkNGtiNkYY2OSwkOGDK2XcTRcLb1pi/aNkKZz0nxVH4Q==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -12478,6 +13321,17 @@ "node": ">=12" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -12505,6 +13359,15 @@ "node": ">=12" } }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -12949,6 +13812,15 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -12985,18 +13857,59 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "license": "MIT" }, + "node_modules/json-crawl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/json-crawl/-/json-crawl-0.5.3.tgz", + "integrity": "sha512-BEjjCw8c7SxzNK4orhlWD5cXQh8vCk2LqDr4WgQq4CV+5dvopeYwt1Tskg67SuSLKvoFH5g0yuYtg7rcfKV6YA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "license": "MIT" }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "license": "MIT", + "dependencies": { + "foreach": "^2.0.4" + } + }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "license": "(AFL-2.1 OR BSD-3-Clause)" }, + "node_modules/json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.4" + } + }, + "node_modules/json-schema-merge-allof": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz", + "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==", + "license": "MIT", + "dependencies": { + "compute-lcm": "^1.1.2", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -13028,9 +13941,9 @@ } }, "node_modules/katex": { - "version": "0.16.22", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz", - "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==", + "version": "0.16.28", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.28.tgz", + "integrity": "sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==", "funding": [ "https://opencollective.com/katex", "https://github.com/sponsors/katex" @@ -13084,12 +13997,6 @@ "node": ">=6" } }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "license": "MIT" - }, "node_modules/langium": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", @@ -13413,6 +14320,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, + "node_modules/liquid-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz", + "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -13436,23 +14352,6 @@ "node": ">=8.9.0" } }, - "node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", - "license": "MIT", - "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.3.0", - "quansync": "^0.2.11" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/locate-path": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", @@ -13475,9 +14374,9 @@ "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "license": "MIT" }, "node_modules/lodash.debounce": { @@ -14091,21 +14990,21 @@ } }, "node_modules/mermaid": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.0.tgz", - "integrity": "sha512-ZudVx73BwrMJfCFmSSJT84y6u5brEoV8DOItdHomNLz32uBjNrelm7mg95X7g+C6UoQH/W6mBLGDEDv73JdxBg==", + "version": "11.12.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", + "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", "license": "MIT", "dependencies": { "@braintree/sanitize-url": "^7.1.1", "@iconify/utils": "^3.0.1", - "@mermaid-js/parser": "^0.6.2", + "@mermaid-js/parser": "^0.6.3", "@types/d3": "^7.4.3", "cytoscape": "^3.29.3", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.11", + "dagre-d3-es": "7.0.13", "dayjs": "^1.11.18", "dompurify": "^3.2.5", "katex": "^0.16.22", @@ -15958,6 +16857,15 @@ "node": ">= 0.6" } }, + "node_modules/mime-format": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.2.tgz", + "integrity": "sha512-Y5ERWVcyh3sby9Fx2U5F1yatiTFjNsqF5NltihTWI9QgNtr5o3dbCZdcKa1l2wyfhnwwoP9HGNxga7LqZLA6gw==", + "license": "Apache-2.0", + "dependencies": { + "charset": "^1.0.0" + } + }, "node_modules/mime-types": { "version": "2.1.18", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", @@ -16074,23 +16982,6 @@ "ufo": "^1.6.1" } }, - "node_modules/mlly/node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "license": "MIT" - }, - "node_modules/mlly/node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } - }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -16119,6 +17010,15 @@ "multicast-dns": "cli.js" } }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -16169,6 +17069,15 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "license": "MIT" }, + "node_modules/neotraverse": { + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.15.tgz", + "integrity": "sha512-HZpdkco+JeXq0G+WWpMJ4NsX3pqb5O7eR9uGz3FfoFt+LYzU8iRWp49nJtud6hsDoywM8tIrDo3gjgmOqJA8LA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -16215,13 +17124,45 @@ "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "license": "MIT", "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "license": "MIT", + "dependencies": { + "http2-client": "^1.2.5" }, "engines": { - "node": ">=18" + "node": "4.x || >=6.0.0" } }, "node_modules/node-forge": { @@ -16233,6 +17174,15 @@ "node": ">= 6.13.0" } }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "license": "MIT", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, "node_modules/node-releases": { "version": "2.0.27", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", @@ -16371,6 +17321,132 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-linter/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver-browser": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver-browser/-/oas-resolver-browser-2.5.6.tgz", + "integrity": "sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "path-browserify": "^1.0.1", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver-browser/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-resolver/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -16498,6 +17574,64 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-to-postmanv2": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/openapi-to-postmanv2/-/openapi-to-postmanv2-5.8.0.tgz", + "integrity": "sha512-7f02ypBlAx4G9z3bP/uDk8pBwRbYt97Eoso8XJLyclfyRvCC+CvERLUl0MD0x+GoumpkJYnQ0VGdib/kwtUdUw==", + "license": "Apache-2.0", + "dependencies": { + "ajv": "^8.11.0", + "ajv-draft-04": "1.0.0", + "ajv-formats": "2.1.1", + "async": "3.2.6", + "commander": "2.20.3", + "graphlib": "2.1.8", + "js-yaml": "4.1.0", + "json-pointer": "0.6.2", + "json-schema-merge-allof": "0.8.1", + "lodash": "4.17.21", + "neotraverse": "0.6.15", + "oas-resolver-browser": "2.5.6", + "object-hash": "3.0.0", + "path-browserify": "1.0.1", + "postman-collection": "^5.0.0", + "swagger2openapi": "7.0.8", + "yaml": "1.10.2" + }, + "bin": { + "openapi2postmanv2": "bin/openapi2postmanv2.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/openapi-to-postmanv2/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/openapi-to-postmanv2/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/openapi-to-postmanv2/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", @@ -16661,11 +17795,17 @@ } }, "node_modules/package-manager-detector": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.3.0.tgz", - "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", "license": "MIT" }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -16793,6 +17933,22 @@ "tslib": "^2.0.3" } }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "license": "MIT", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, "node_modules/path-data-parser": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", @@ -16808,6 +17964,15 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", @@ -16927,14 +18092,14 @@ } }, "node_modules/pkg-types": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", - "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "license": "MIT", "dependencies": { - "confbox": "^0.2.2", - "exsolve": "^1.0.7", - "pathe": "^2.0.3" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, "node_modules/plugin-image-zoom": { @@ -16946,6 +18111,15 @@ "medium-zoom": "^1.0.4" } }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/points-on-curve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", @@ -18617,6 +19791,103 @@ "postcss": "^8.4.31" } }, + "node_modules/postman-code-generators": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postman-code-generators/-/postman-code-generators-2.1.0.tgz", + "integrity": "sha512-PCptfRoq6pyyqeB9qw87MfjpIZEZIykIna7Api9euhYftyrad/kCkIyXfWF6GrkcHv0nYid05xoRPWPX9JHkZg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "async": "3.2.2", + "detect-package-manager": "3.0.2", + "lodash": "4.17.21", + "path": "0.12.7", + "postman-collection": "^5.0.0", + "shelljs": "0.8.5" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/postman-code-generators/node_modules/async": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "license": "MIT" + }, + "node_modules/postman-collection": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-5.2.1.tgz", + "integrity": "sha512-KWzsR1RdLYuufabEEZ+UaMn/exDUNkGqC7tT8GkWumarGdpl/dAh3Lcgo7Z2fDqsGeb+EkqZgrYH8beXRtLmjA==", + "license": "Apache-2.0", + "dependencies": { + "@faker-js/faker": "5.5.3", + "file-type": "3.9.0", + "http-reasons": "0.1.0", + "iconv-lite": "0.6.3", + "liquid-json": "0.3.1", + "lodash": "4.17.23", + "mime": "3.0.0", + "mime-format": "2.0.2", + "postman-url-encoder": "3.0.8", + "semver": "7.7.1", + "uuid": "8.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/postman-collection/node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/postman-collection/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/postman-collection/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-collection/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/postman-url-encoder": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.8.tgz", + "integrity": "sha512-EOgUMBazo7JNP4TDrd64TsooCiWzzo4143Ws8E8WYGEpn2PKpq+S4XRTDhuRTYHm3VKOpUZs7ZYZq7zSDuesqA==", + "license": "Apache-2.0", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -18816,6 +20087,15 @@ "node": ">=6" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -18939,22 +20219,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/quansync": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", - "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/antfu" - }, - { - "type": "individual", - "url": "https://github.com/sponsors/sxzz" - } - ], - "license": "MIT" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -19135,6 +20399,22 @@ "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/react-hook-form": { + "version": "7.71.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.1.tgz", + "integrity": "sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18 || ^19" + } + }, "node_modules/react-icons": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", @@ -19162,6 +20442,12 @@ "react": "^18.0.0 || ^19.0.0" } }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" + }, "node_modules/react-live": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/react-live/-/react-live-4.1.8.tgz", @@ -19210,6 +20496,39 @@ "webpack": ">=4.41.1 || 5.x" } }, + "node_modules/react-magic-dropzone": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-magic-dropzone/-/react-magic-dropzone-1.0.1.tgz", + "integrity": "sha512-0BIROPARmXHpk4AS3eWBOsewxoM5ndk2psYP/JmbCq8tz3uR2LIV1XiroZ9PKrmDRMctpW+TvsBCtWasuS8vFA==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz", + "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, "node_modules/react-medium-image-zoom": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.4.0.tgz", @@ -19226,6 +20545,45 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/react-modal": { + "version": "3.16.3", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.3.tgz", + "integrity": "sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==", + "license": "MIT", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-router": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", @@ -19344,6 +20702,17 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/recma-build-jsx": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", @@ -19411,6 +20780,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, "node_modules/refractor": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", @@ -19527,6 +20911,15 @@ "node": ">=6" } }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -19895,6 +21288,15 @@ "node": ">=0.10" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -19918,6 +21320,12 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "license": "MIT" }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.10", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", @@ -20096,6 +21504,94 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-loader": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.6.tgz", + "integrity": "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA==", + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/sax": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", @@ -20491,6 +21987,98 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "license": "MIT" + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -20695,6 +22283,15 @@ "node": ">=8" } }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -21167,6 +22764,42 @@ "node": ">= 10" } }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/swc-loader": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", @@ -21512,10 +23145,13 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", - "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", - "license": "MIT" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinypool": { "version": "1.1.1", @@ -21556,6 +23192,12 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/tree-dump": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", @@ -21681,9 +23323,9 @@ } }, "node_modules/ufo": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", - "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", "license": "MIT" }, "node_modules/undici-types": { @@ -21999,6 +23641,19 @@ "punycode": "^2.1.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -22096,6 +23751,12 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, "node_modules/use-editable": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/use-editable/-/use-editable-2.3.3.tgz", @@ -22114,12 +23775,27 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -22157,6 +23833,39 @@ "uuid": "dist/esm/bin/uuid" } }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", + "license": "MIT" + }, + "node_modules/validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==" + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==" + }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -22263,6 +23972,15 @@ "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", "license": "MIT" }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", @@ -22295,6 +24013,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, "node_modules/webpack": { "version": "5.101.3", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz", @@ -22688,6 +24412,16 @@ "node": ">=0.8.0" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -22899,6 +24633,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/xml-formatter": { + "version": "3.6.7", + "resolved": "https://registry.npmjs.org/xml-formatter/-/xml-formatter-3.6.7.tgz", + "integrity": "sha512-IsfFYJQuoDqtUlKhm4EzeoBOb+fQwzQVeyxxAQ0sThn/nFnQmyLPTplqq4yRhaOENH/tAyujD2TBfIYzUKB6hg==", + "license": "MIT", + "dependencies": { + "xml-parser-xo": "^4.1.5" + }, + "engines": { + "node": ">= 16" + } + }, "node_modules/xml-js": { "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", @@ -22911,6 +24657,15 @@ "xml-js": "bin/cli.js" } }, + "node_modules/xml-parser-xo": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/xml-parser-xo/-/xml-parser-xo-4.1.5.tgz", + "integrity": "sha512-TxyRxk9sTOUg3glxSIY6f0nfuqRll2OEF8TspLgh5mZkLuBgheCn3zClcDSGJ58TvNmiwyCCuat4UajPud/5Og==", + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -22920,6 +24675,15 @@ "node": ">=0.4" } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -22938,6 +24702,59 @@ "node": ">= 14.6" } }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "license": "Apache-2.0" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", diff --git a/package.json b/package.json index 10b568b8..7ac57ca0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,9 @@ "clear": "docusaurus clear", "serve": "docusaurus serve", "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" + "write-heading-ids": "docusaurus write-heading-ids", + "gen-api-docs": "docusaurus gen-api-docs all", + "clean-api-docs": "docusaurus clean-api-docs all" }, "dependencies": { "@ant-design/icons": "^6.0.2", @@ -34,6 +36,8 @@ "@tailwindcss/typography": "^0.5.16", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "docusaurus-plugin-openapi-docs": "^4.7.1", + "docusaurus-theme-openapi-docs": "^4.7.1", "lucide-react": "^0.475.0", "plugin-image-zoom": "^1.2.0", "prism-react-renderer": "^2.4.1", diff --git a/sidebars.js b/sidebars.ts similarity index 89% rename from sidebars.js rename to sidebars.ts index 0fc1c76e..e67c5b6e 100644 --- a/sidebars.js +++ b/sidebars.ts @@ -1,6 +1,6 @@ -// @ts-check -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) +import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; +import apiSidebar from './docs/api/sidebar'; /** * Creating a sidebar enables you to: @@ -11,17 +11,16 @@ * The sidebars can be generated from the filesystem, or explicitly defined here. * * Create as many sidebars as you want. - * - * */ -const sectionHeader = (title) => ({ - type: "html", + +/** @param {string} title */ +const sectionHeader = (title: string) => ({ + type: "html" as const, value: title, className: "navbar__category", }); -const docSidebar = { - // module.exports = { +const sidebars: SidebarsConfig = { docSidebar: [ sectionHeader("GETTING STARTED"), 'intro', @@ -150,6 +149,14 @@ const docSidebar = { 'understanding/compatibility-engines', 'core/use-cases', + // API REFERENCE + sectionHeader("API DOCUMENTATION"), + { + type: 'link', + label: 'OLake UI API', + href: '/docs/api/olake-ui-api', + }, + // Community sectionHeader("COMMUNITY"), 'community/contributing', @@ -182,6 +189,7 @@ const docSidebar = { }, ], + openApiSidebar: apiSidebar, }; -export default docSidebar; \ No newline at end of file +export default sidebars; diff --git a/src/css/custom.css b/src/css/custom.css index 113e76d1..430107c0 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -604,3 +604,56 @@ table thead tr:hover { font-size: 2rem !important; } } + +/* Sidebar Method labels */ +.api-method > .menu__link::before { + width: 45px; + height: 20px; + font-size: 10px; + line-height: 20px; + text-transform: uppercase; + font-weight: 600; + border-radius: 0.25rem; + border: 1px solid; + margin-right: var(--ifm-spacing-horizontal); + text-align: center; + flex-shrink: 0; + border-color: transparent; + color: white; +} + +.get > .menu__link::before { + content: "get"; + background-color: var(--ifm-color-primary); +} + +.post > .menu__link::before { + content: "post"; + background-color: var(--openapi-code-green); +} + +.delete > .menu__link::before { + content: "del"; + background-color: var(--openapi-code-red); +} + +.put > .menu__link::before { + content: "put"; + background-color: var(--openapi-code-blue); +} + +.patch > .menu__link::before { + content: "patch"; + background-color: var(--openapi-code-orange); +} + +.head > .menu__link::before { + content: "head"; + background-color: var(--ifm-color-secondary-darkest); +} + +.event > .menu__link::before { + content: "event"; + background-color: var(--ifm-color-secondary-darkest); +} + diff --git a/src/data/docs/swagger.json b/src/data/docs/swagger.json new file mode 100644 index 00000000..a4e9aa18 --- /dev/null +++ b/src/data/docs/swagger.json @@ -0,0 +1,3508 @@ +{ + "swagger": "2.0", + "info": { + "description": "Olake is the fastest open-source tool for replicating Databases to Apache Iceberg or Data Lakehouse.\n\n## Authentication\nThis API uses **Session-based Authentication** (Cookies). \n\nTo access protected endpoints:\n1. **Login**: Send a POST request to `/api/v1/login` with your credentials.\n2. **Cookie**: A session cookie will be set in your browser automatically upon successful login.\n3. **Requests**: Subsequent requests will automatically include this cookie.\n\nThere is no need to manually handle tokens or headers.\n\n### Using cURL with Cookies\nWhen using cURL, you must explicitly save and send cookies between requests:\n\n**Step 1: Login and save the cookie**\n```bash\ncurl -L 'http://localhost:8000/login' \\\n -H 'Content-Type: application/json' \\\n -c cookies.txt \\\n -d '{\"username\": \"admin\", \"password\": \"password\"}'\n```\n\n**Step 2: Use the saved cookie for subsequent requests**\n```bash\ncurl -L 'http://localhost:8000/api/v1/project/123/jobs' \\\n -H 'Accept: */*' \\\n -b cookies.txt\n```\n\nThe `-c cookies.txt` flag saves the session cookie, and `-b cookies.txt` sends it with subsequent requests.\n\n## Base URL\nAll URLs start with:\n```\nhttp://localhost:8000/api/v1\n```\n\n## Response Format\nThe API uses standard HTTP response codes to indicate the success or failure of an API request.\n- **200 OK**: Request was successful.\n- **400 Bad Request**: The request was invalid.\n- **401 Unauthorized**: Authentication failed or session expired.\n- **500 Internal Server Error**: Something went wrong on the server side.", + "title": "Olake UI API", + "contact": { + "name": "OLake", + "url": "https://olake.io/contact/", + "email": "hello@olake.io" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "host": "localhost:8000", + "basePath": "/", + "schemes": ["http"], + "paths": { + "/api/v1/platform/releases": { + "get": { + "description": "Retrieve the latest platform release updates and metadata.", + "tags": ["Platform"], + "summary": "Get release updates", + "parameters": [ + { + "type": "integer", + "description": "limit the number of releases returned", + "name": "limit", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.ReleasesResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to fetch release metadata", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/check-unique": { + "post": { + "description": "Verify if a given name is unique within the project for a specific entity type.", + "tags": ["Jobs"], + "summary": "Check name uniqueness", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "unique check data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CheckUniqueNameRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.CheckUniqueJobNameResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "409": { + "description": "name is not unique", + "schema": { + "$ref": "#/definitions/dto.Error409Response" + } + }, + "500": { + "description": "failed to check uniqueness", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/destinations": { + "get": { + "description": "Retrieve a list of all configured destinations within a specific project.", + "tags": ["Destinations"], + "summary": "List all destinations", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.DestinationDataItem" + } + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get destinations", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "post": { + "description": "Create a new destination for a project", + "tags": ["Destinations"], + "summary": "Create a new destination", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "destination data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CreateDestinationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.CreateDestinationRequest" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to create destination", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/destinations/spec": { + "post": { + "description": "Retrieve the UI spec for a specific destination type/version.", + "tags": ["Destinations"], + "summary": "Get destination UI spec", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "spec request data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SpecRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.SpecResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get spec", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/destinations/test": { + "post": { + "description": "Validate the connection to a destination using the provided configuration details.", + "tags": ["Destinations"], + "summary": "Test destination connection", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "test connection data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DestinationTestConnectionRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.TestConnectionResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to test connection", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/destinations/versions": { + "get": { + "description": "Retrieve the list of available versions for a specific destination connector type.", + "tags": ["Destinations"], + "summary": "Get available destination versions", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "destination type", + "name": "type", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.VersionsResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get versions", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/destinations/{id}": { + "get": { + "description": "Retrieve details of a specific destination identified by its unique ID.", + "tags": ["Destinations"], + "summary": "Get destination details", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "destination id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.DestinationDataItem" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get destination", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "put": { + "description": "Update the configuration details of an existing destination.", + "tags": ["Destinations"], + "summary": "Update a destination", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "destination id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "destination data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateDestinationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.UpdateDestinationRequest" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to update destination", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "delete": { + "description": "Permanently delete a specified destination.", + "tags": ["Destinations"], + "summary": "Delete a destination", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "destination id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.DeleteDestinationResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to delete destination", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs": { + "get": { + "description": "Retrieve a list of all jobs associated with a specific project.", + "tags": ["Jobs"], + "summary": "List all jobs", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.JobResponse" + } + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to retrieve jobs", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "post": { + "description": "Create a new job within a specific project.", + "tags": ["Jobs"], + "summary": "Create a new job", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "job data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CreateJobRequest" + } + } + ], + "responses": { + "200": { + "description": "job created successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to create job", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}": { + "get": { + "description": "Retrieve details of a specific job identified by its unique ID.", + "tags": ["Jobs"], + "summary": "Get job details", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.JobResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get job", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "put": { + "description": "Update the configuration details of an existing job.", + "tags": ["Jobs"], + "summary": "Update a job", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "job data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateJobRequest" + } + } + ], + "responses": { + "200": { + "description": "job updated successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to update job", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "delete": { + "description": "Permanently delete a specified job.", + "tags": ["Jobs"], + "summary": "Delete a job", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "job deleted successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to delete job", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/activate": { + "post": { + "description": "Pause or resume a job.", + "tags": ["Jobs"], + "summary": "Pause or resume job", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "activation data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.JobStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "job activated/deactivated successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to activate job", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/cancel": { + "get": { + "description": "Request cancellation of a currently running job execution.", + "tags": ["Jobs"], + "summary": "Cancel running job", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "job cancel requested successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to cancel job run", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/clear-destination": { + "get": { + "description": "Retrieve the current status of an ongoing clear destination job.", + "tags": ["Jobs"], + "summary": "Get clear destination status", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.ClearDestinationStatusResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get status", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "post": { + "description": "Initiate job to clear data in the destination associated with a job.", + "tags": ["Jobs"], + "summary": "Clear destination data", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "clear destination triggered successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to trigger clear destination", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/logs/download": { + "get": { + "description": "Downloads the log file for a specific task. The file path required for the download must be obtained from the [Get Job Tasks](#/Jobs/get_api_v1_project__projectid__jobs__id__tasks) endpoint.", + "tags": ["Jobs"], + "summary": "Download task logs", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "log file path", + "name": "file_path", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "404": { + "description": "failed to prepare log archive", + "schema": { + "$ref": "#/definitions/dto.Error404Response" + } + }, + "500": { + "description": "internal server error", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/stream-difference": { + "post": { + "description": "Get difference between current streams.json and existing streams.json.", + "tags": ["Jobs"], + "summary": "Get stream differences", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "stream difference data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.StreamDifferenceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.StreamDifferenceResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get stream difference", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/sync": { + "post": { + "description": "Trigger a manual sync for a job", + "tags": ["Jobs"], + "summary": "Trigger job sync", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "sync triggered successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to trigger sync", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/tasks": { + "get": { + "description": "Retrieve a list of execution tasks associated with a specific job.", + "tags": ["Jobs"], + "summary": "List job tasks", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.JobTask" + } + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get job tasks", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/jobs/{id}/tasks/{taskid}/logs": { + "post": { + "description": "Retrieves the execution logs for a specific task. The file path for the log must be obtained from the [Get Job Tasks](#/Jobs/get_api_v1_project__projectid__jobs__id__tasks) endpoint.", + "tags": ["Jobs"], + "summary": "Get task logs", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "task id (defaults to 1)", + "name": "taskid", + "in": "path", + "required": true + }, + { + "description": "task log data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.JobTaskRequest" + } + }, + { + "type": "integer", + "description": "log cursor", + "name": "cursor", + "in": "query" + }, + { + "type": "integer", + "description": "log limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "log direction", + "name": "direction", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.TaskLogsResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get task logs", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/settings": { + "get": { + "description": "Retrieve the settings for a specific project.", + "tags": ["Project Settings"], + "summary": "Get project settings", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "Project Settings fetched successfully", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.ProjectSettingsResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to retrieve project settings", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "put": { + "description": "Create or update the settings for a project.", + "tags": ["Project Settings"], + "summary": "Update project settings", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "project settings data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpsertProjectSettingsRequest" + } + } + ], + "responses": { + "200": { + "description": "Project Settings updated successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to update project settings", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources": { + "get": { + "description": "Retrieve a list of all configured sources within a specific project.", + "tags": ["Sources"], + "summary": "List all sources", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.SourceDataItem" + } + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to retrieve sources", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "post": { + "description": "Create a new source within a project.", + "tags": ["Sources"], + "summary": "Create a new source", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "source data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CreateSourceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.CreateSourceRequest" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to create source", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources/spec": { + "post": { + "description": "Retrieve the UI spec for a specific source type/version.", + "tags": ["Sources"], + "summary": "Get source UI spec", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "spec request data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SpecRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.SpecResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get spec", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources/streams": { + "post": { + "description": "Discover and list available data streams from a source.", + "tags": ["Sources"], + "summary": "Get source stream catalog", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "streams request data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.StreamsRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "type": "object" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get source catalog", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources/test": { + "post": { + "description": "Validate the connection to a source using the provided configuration details.", + "tags": ["Sources"], + "summary": "Test source connection", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "description": "test connection data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SourceTestConnectionRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.TestConnectionResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to test connection", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources/versions": { + "get": { + "description": "Retrieve the list of available versions for a specific source connector type.", + "tags": ["Sources"], + "summary": "Get available source versions", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "source type", + "name": "type", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.VersionsResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get versions", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/project/{projectid}/sources/{id}": { + "get": { + "description": "Retrieve details of a specific source identified by its unique ID.", + "tags": ["Sources"], + "summary": "Get source details", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "source id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.SourceDataItem" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get source", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "put": { + "description": "Update the configuration details of an existing source.", + "tags": ["Sources"], + "summary": "Update a source", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "source id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "source data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateSourceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.UpdateSourceRequest" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "404": { + "description": "source not found", + "schema": { + "$ref": "#/definitions/dto.Error404Response" + } + }, + "500": { + "description": "failed to update source", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "delete": { + "description": "Permanently delete a specified source.", + "tags": ["Sources"], + "summary": "Delete a source", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "source id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.DeleteSourceResponse" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "404": { + "description": "source not found", + "schema": { + "$ref": "#/definitions/dto.Error404Response" + } + }, + "500": { + "description": "failed to delete source", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/users": { + "get": { + "description": "Retrieve a list of all registered users.", + "tags": ["Users"], + "summary": "List all users", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.User" + } + } + } + ] + } + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to get users", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "post": { + "description": "Create a new user record with the provided details.", + "tags": ["Users"], + "summary": "Create a new user", + "parameters": [ + { + "description": "user info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.User" + } + } + ], + "responses": { + "200": { + "description": "user created successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to create user", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/api/v1/users/{id}": { + "put": { + "description": "Update the details of an existing user identified by their unique ID.", + "tags": ["Users"], + "summary": "Update user details", + "parameters": [ + { + "type": "integer", + "description": "user id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "user info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.User" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/models.User" + } + } + } + ] + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to update user", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + }, + "delete": { + "description": "Permanently remove a user record identified by their unique ID.", + "tags": ["Users"], + "summary": "Delete a user", + "parameters": [ + { + "type": "integer", + "description": "user id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "user deleted successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "unauthorized", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "failed to delete user", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/auth/check": { + "get": { + "description": "Verify if the current user session is active and valid.", + "tags": ["Authentication"], + "summary": "Check authentication status", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "401": { + "description": "Not authenticated", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + } + } + } + }, + "/internal/project/{projectid}/jobs/{id}/clear-destination/recover": { + "post": { + "description": "Internal recovery endpoint to cancel stuck clear-destination workflows and restore sync schedules.", + "tags": ["Internal"], + "summary": "(Internal) Recover clear determination", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "successfully recovered", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + } + } + } + }, + "/internal/project/{projectid}/jobs/{id}/statefile": { + "put": { + "description": "Internal endpoint to update the state file associated with a job.", + "tags": ["Internal"], + "summary": "(Internal) Update state file", + "parameters": [ + { + "type": "string", + "description": "project id (default is 123)", + "name": "projectid", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "job id", + "name": "id", + "in": "path", + "required": true + }, + { + "description": "state file data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateStateFileRequest" + } + } + ], + "responses": { + "200": { + "description": "state file updated successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + } + } + } + }, + "/internal/worker/callback/sync-telemetry": { + "post": { + "description": "Internal callback to update sync telemetry data.", + "tags": ["Internal"], + "summary": "(Internal) Update sync telemetry", + "parameters": [ + { + "description": "telemetry data", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateSyncTelemetryRequest" + } + } + ], + "responses": { + "200": { + "description": "sync telemetry updated successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + } + } + } + }, + "/login": { + "post": { + "description": "Authenticate a user and create a new session.", + "tags": ["Authentication"], + "summary": "User login", + "parameters": [ + { + "description": "login credentials", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.LoginRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.LoginResponse" + } + } + } + ] + } + }, + "400": { + "description": "invalid request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "401": { + "description": "invalid credentials", + "schema": { + "$ref": "#/definitions/dto.Error401Response" + } + }, + "500": { + "description": "internal server error", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/signup": { + "post": { + "description": "Register a new user account with the provided details.", + "tags": ["Authentication"], + "summary": "User signup", + "parameters": [ + { + "description": "user info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/models.User" + } + } + ], + "responses": { + "200": { + "description": "user created successfully", + "schema": { + "$ref": "#/definitions/dto.JSONResponse" + } + }, + "400": { + "description": "failed to validate request", + "schema": { + "$ref": "#/definitions/dto.Error400Response" + } + }, + "409": { + "description": "user already exists", + "schema": { + "$ref": "#/definitions/dto.Error409Response" + } + }, + "500": { + "description": "failed to create user", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + }, + "/telemetry-id": { + "get": { + "description": "Retrieve the unique telemetry identifier and current UI version.", + "tags": ["Internal"], + "summary": "Get telemetry ID", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/dto.JSONResponse" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/dto.TelemetryIDResponse" + } + } + } + ] + } + }, + "500": { + "description": "internal server error", + "schema": { + "$ref": "#/definitions/dto.Error500Response" + } + } + } + } + } + }, + "definitions": { + "dto.CheckUniqueJobNameResponse": { + "type": "object", + "properties": { + "unique": { + "type": "boolean", + "example": true + } + } + }, + "dto.CheckUniqueNameRequest": { + "type": "object", + "required": ["entity_type", "name"], + "properties": { + "entity_type": { + "type": "string", + "enum": ["job", "source", "destination"], + "example": "job" + }, + "name": { + "type": "string", + "example": "my-sync-job" + } + } + }, + "dto.ClearDestinationStatusResponse": { + "type": "object", + "properties": { + "running": { + "type": "boolean", + "example": false + } + } + }, + "dto.CreateDestinationRequest": { + "type": "object", + "required": ["config", "name", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"catalog_type\":\"glue\",\"warehouse\":\"s3://my-bucket/warehouse\"}" + }, + "name": { + "type": "string", + "example": "my-iceberg-destination" + }, + "type": { + "type": "string", + "example": "iceberg" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.CreateJobRequest": { + "type": "object", + "required": ["destination", "frequency", "name", "source", "streams_config"], + "properties": { + "activate": { + "type": "boolean", + "example": true + }, + "destination": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "frequency": { + "type": "string", + "example": "0 */6 * * *" + }, + "name": { + "type": "string", + "example": "my-sync-job" + }, + "source": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "streams_config": { + "type": "string" + } + } + }, + "dto.CreateSourceRequest": { + "type": "object", + "required": ["config", "name", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432,\"database\":\"mydb\",\"user\":\"postgres\",\"password\":\"secret\"}" + }, + "name": { + "type": "string", + "example": "my-postgres-source" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.DeleteDestinationResponse": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "my-iceberg-destination" + } + } + }, + "dto.DeleteSourceResponse": { + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "my-postgres-source" + } + } + }, + "dto.DestinationDataItem": { + "type": "object", + "properties": { + "config": { + "type": "string", + "example": "{\"catalog_type\":\"glue\",\"warehouse\":\"s3://bucket/warehouse\"}" + }, + "created_at": { + "type": "string", + "example": "2024-01-01T00:00:00Z" + }, + "created_by": { + "type": "string", + "example": "admin" + }, + "id": { + "type": "integer", + "example": 1 + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.JobDataItem" + } + }, + "name": { + "type": "string", + "example": "my-iceberg-destination" + }, + "type": { + "type": "string", + "example": "iceberg" + }, + "updated_at": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "updated_by": { + "type": "string", + "example": "admin" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.DestinationTestConnectionRequest": { + "type": "object", + "required": ["config", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"catalog_type\":\"glue\",\"warehouse\":\"s3://my-bucket/warehouse\"}" + }, + "source_type": { + "type": "string", + "example": "postgres" + }, + "source_version": { + "type": "string", + "example": "v0.2.7" + }, + "type": { + "type": "string", + "example": "iceberg" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.DriverConfig": { + "type": "object", + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432}" + }, + "id": { + "type": "integer", + "example": 1 + }, + "name": { + "type": "string", + "example": "my-postgres-source" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.Error400Response": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Bad request" + }, + "success": { + "type": "boolean", + "example": false + } + } + }, + "dto.Error401Response": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Authentication required" + }, + "success": { + "type": "boolean", + "example": false + } + } + }, + "dto.Error404Response": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource not found" + }, + "success": { + "type": "boolean", + "example": false + } + } + }, + "dto.Error409Response": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Resource already exists" + }, + "success": { + "type": "boolean", + "example": false + } + } + }, + "dto.Error500Response": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Internal server error" + }, + "success": { + "type": "boolean", + "example": false + } + } + }, + "dto.JSONResponse": { + "type": "object", + "properties": { + "data": {}, + "message": { + "type": "string", + "example": "operation completed successfully" + }, + "success": { + "type": "boolean", + "example": true + } + } + }, + "dto.JobDataItem": { + "type": "object", + "properties": { + "activate": { + "type": "boolean", + "example": true + }, + "destination_name": { + "type": "string", + "example": "my-iceberg-destination" + }, + "destination_type": { + "type": "string", + "example": "iceberg" + }, + "id": { + "type": "integer", + "example": 1 + }, + "last_run_state": { + "type": "string", + "example": "completed" + }, + "last_run_time": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "name": { + "type": "string", + "example": "my-sync-job" + }, + "source_name": { + "type": "string", + "example": "my-postgres-source" + }, + "source_type": { + "type": "string", + "example": "postgres" + } + } + }, + "dto.JobResponse": { + "type": "object", + "properties": { + "activate": { + "type": "boolean", + "example": true + }, + "created_at": { + "type": "string", + "example": "2024-01-01T00:00:00Z" + }, + "created_by": { + "type": "string", + "example": "admin" + }, + "destination": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "frequency": { + "type": "string", + "example": "0 */6 * * *" + }, + "id": { + "type": "integer", + "example": 1 + }, + "last_run_state": { + "type": "string", + "example": "completed" + }, + "last_run_time": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "last_run_type": { + "description": "\"sync\" | \"clear-destination\"", + "type": "string", + "example": "sync" + }, + "name": { + "type": "string", + "example": "my-sync-job" + }, + "source": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "streams_config": { + "type": "string" + }, + "updated_at": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "updated_by": { + "type": "string", + "example": "admin" + } + } + }, + "dto.JobStatusRequest": { + "type": "object", + "properties": { + "activate": { + "type": "boolean", + "example": true + } + } + }, + "dto.JobTask": { + "type": "object", + "properties": { + "file_path": { + "type": "string", + "example": "sync-123-2-2026-01-19T13:45:09Z" + }, + "job_type": { + "description": "\"sync\" | \"clear-destination\"", + "type": "string", + "example": "sync" + }, + "runtime": { + "type": "string", + "example": "1m30s" + }, + "start_time": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "status": { + "type": "string", + "example": "completed" + } + } + }, + "dto.JobTaskRequest": { + "type": "object", + "required": ["file_path"], + "properties": { + "file_path": { + "type": "string", + "example": "sync-123-2-2026-01-19T13:45:09Z" + } + } + }, + "dto.LoginRequest": { + "type": "object", + "required": ["password", "username"], + "properties": { + "password": { + "type": "string", + "example": "password" + }, + "username": { + "type": "string", + "example": "admin" + } + } + }, + "dto.LoginResponse": { + "type": "object", + "properties": { + "username": { + "type": "string", + "example": "admin" + } + } + }, + "dto.ProjectSettingsResponse": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "project_id": { + "type": "string", + "example": "project-123" + }, + "webhook_alert_url": { + "type": "string", + "example": "https://hooks.slack.com/services/xxx/yyy/zzz" + } + } + }, + "dto.ReleaseMetadataResponse": { + "type": "object", + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "link": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "title": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "dto.ReleaseTypeData": { + "type": "object", + "properties": { + "current_version": { + "type": "string" + }, + "releases": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.ReleaseMetadataResponse" + } + } + } + }, + "dto.ReleasesResponse": { + "type": "object", + "properties": { + "features": { + "$ref": "#/definitions/dto.ReleaseTypeData" + }, + "olake": { + "$ref": "#/definitions/dto.ReleaseTypeData" + }, + "olake_helm": { + "$ref": "#/definitions/dto.ReleaseTypeData" + }, + "olake_ui_worker": { + "$ref": "#/definitions/dto.ReleaseTypeData" + } + } + }, + "dto.SourceDataItem": { + "type": "object", + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432}" + }, + "created_at": { + "type": "string", + "example": "2024-01-01T00:00:00Z" + }, + "created_by": { + "type": "string", + "example": "admin" + }, + "id": { + "type": "integer", + "example": 1 + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.JobDataItem" + } + }, + "name": { + "type": "string", + "example": "my-postgres-source" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "updated_at": { + "type": "string", + "example": "2024-01-09T12:00:00Z" + }, + "updated_by": { + "type": "string", + "example": "admin" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.SourceTestConnectionRequest": { + "type": "object", + "required": ["config", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432,\"database\":\"mydb\",\"user\":\"postgres\",\"password\":\"secret\"}" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.SpecRequest": { + "type": "object", + "required": ["type", "version"], + "properties": { + "type": { + "description": "enum: postgres,mongodb,mysql,mssql,db2,s3,kafka,iceberg", + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.SpecResponse": { + "type": "object", + "properties": { + "spec": { + "type": "object" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.StreamDifferenceRequest": { + "type": "object", + "required": ["updated_streams_config"], + "properties": { + "updated_streams_config": { + "type": "string" + } + } + }, + "dto.StreamDifferenceResponse": { + "type": "object", + "properties": { + "difference_streams": { + "type": "object" + } + } + }, + "dto.StreamsRequest": { + "type": "object", + "required": ["config", "job_id", "job_name", "name", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432}" + }, + "job_id": { + "type": "integer", + "example": 1 + }, + "job_name": { + "type": "string", + "example": "my-sync-job" + }, + "name": { + "type": "string", + "example": "my-postgres-source" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.TaskLogsResponse": { + "type": "object", + "properties": { + "has_more_newer": { + "type": "boolean", + "example": false + }, + "has_more_older": { + "type": "boolean", + "example": true + }, + "logs": { + "type": "array", + "items": { + "type": "object" + } + }, + "newer_cursor": { + "type": "integer", + "example": 1704805200000 + }, + "older_cursor": { + "type": "integer", + "example": 1704801600000 + } + } + }, + "dto.TelemetryIDResponse": { + "type": "object", + "properties": { + "user_id": { + "type": "string", + "example": "1234567890abcdef1234567890abcdef" + }, + "version": { + "type": "string", + "example": "v0.2.5" + } + } + }, + "dto.TestConnectionResponse": { + "type": "object", + "properties": { + "connection_result": { + "type": "object" + }, + "logs": { + "type": "array", + "items": { + "type": "object" + } + } + } + }, + "dto.UpdateDestinationRequest": { + "type": "object", + "required": ["config", "name", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"catalog_type\":\"glue\",\"warehouse\":\"s3://my-bucket/warehouse-v2\"}" + }, + "name": { + "type": "string", + "example": "my-iceberg-destination-updated" + }, + "type": { + "type": "string", + "example": "iceberg" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.UpdateJobRequest": { + "type": "object", + "required": ["destination", "frequency", "name", "source", "streams_config"], + "properties": { + "activate": { + "type": "boolean", + "example": true + }, + "destination": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "difference_streams": { + "type": "string", + "example": "[]" + }, + "frequency": { + "type": "string", + "example": "0 */12 * * *" + }, + "name": { + "type": "string", + "example": "my-sync-job-updated" + }, + "source": { + "$ref": "#/definitions/dto.DriverConfig" + }, + "streams_config": { + "type": "string" + } + } + }, + "dto.UpdateSourceRequest": { + "type": "object", + "required": ["config", "name", "type", "version"], + "properties": { + "config": { + "type": "string", + "example": "{\"host\":\"localhost\",\"port\":5432,\"database\":\"mydb\",\"user\":\"postgres\",\"password\":\"newsecret\"}" + }, + "name": { + "type": "string", + "example": "my-postgres-source-updated" + }, + "type": { + "type": "string", + "example": "postgres" + }, + "version": { + "type": "string", + "example": "v0.2.7" + } + } + }, + "dto.UpdateStateFileRequest": { + "type": "object", + "required": ["state_file"], + "properties": { + "state_file": { + "type": "string" + } + } + }, + "dto.UpdateSyncTelemetryRequest": { + "type": "object", + "properties": { + "environment": { + "type": "string" + }, + "event": { + "type": "string" + }, + "job_id": { + "type": "integer" + }, + "workflow_id": { + "type": "string" + } + } + }, + "dto.UpsertProjectSettingsRequest": { + "type": "object", + "required": ["project_id"], + "properties": { + "id": { + "type": "integer", + "example": 1 + }, + "project_id": { + "type": "string", + "example": "project-123" + }, + "webhook_alert_url": { + "type": "string", + "example": "https://hooks.slack.com/services/xxx/yyy/zzz" + } + } + }, + "dto.VersionsResponse": { + "type": "object", + "properties": { + "version": { + "type": "array", + "items": { + "type": "string" + }, + "example": ["v0.3.15", "v0.3.14", "v0.3.13", "v0.3.12"] + } + } + }, + "models.User": { + "type": "object", + "properties": { + "created_at": { + "type": "string" + }, + "deleted_at": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "password": { + "description": "Hidden in JSON", + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "username": { + "type": "string" + } + } + } + }, + "tags": [ + { + "description": "Authentication endpoints", + "name": "Authentication" + }, + { + "description": "Job management and execution endpoints", + "name": "Jobs" + }, + { + "description": "Source configuration endpoints", + "name": "Sources" + }, + { + "description": "Destination configuration endpoints", + "name": "Destinations" + }, + { + "description": "Project configuration endpoints", + "name": "Project Settings" + }, + { + "description": "Platform-level operations", + "name": "Platform" + }, + { + "description": "User management endpoints", + "name": "Users" + }, + { + "description": "Internal worker callbacks (not for external use)", + "name": "Internal" + } + ] +} From 845d14beaa379d9bfbed207eb3b80555049785d2 Mon Sep 17 00:00:00 2001 From: deepanshupal09-datazip Date: Mon, 9 Feb 2026 15:21:18 +0530 Subject: [PATCH 2/5] fix: disable send api request button --- docusaurus.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 595893bf..60889759 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1130,6 +1130,7 @@ const config = { olakeApi: { specPath: "src/data/docs/swagger.json", outputDir: "docs/api", + hideSendButton: true, sidebarOptions: { groupPathsBy: "tag", } From 651a46bc58f8011453127bcb0535f227ddf214e1 Mon Sep 17 00:00:00 2001 From: deepanshupal09-datazip Date: Mon, 9 Feb 2026 15:23:43 +0530 Subject: [PATCH 3/5] ci: add step to generate api docs --- .github/workflows/deploy.yml | 2 ++ .github/workflows/test-deploy.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5683cf6a..ac5f7ae3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,6 +22,8 @@ jobs: - name: Install dependencies run: npm ci + - name: Generate API docs + run: npm run gen-api-docs - name: Build website run: npm run build diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index f17af8bb..66ccbb8b 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -22,5 +22,7 @@ jobs: - name: Install dependencies run: npm ci + - name: Generate API docs + run: npm run gen-api-docs - name: Test build website run: npm run build From 291df704023ca76e8f5ea2cba833c74d3b6c7c5f Mon Sep 17 00:00:00 2001 From: deepanshupal09-datazip Date: Mon, 9 Feb 2026 15:30:57 +0530 Subject: [PATCH 4/5] fix: undo ci changes, add generate docs in build command --- .github/workflows/deploy.yml | 2 -- .github/workflows/test-deploy.yml | 2 -- package.json | 4 ++-- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ac5f7ae3..5683cf6a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,8 +22,6 @@ jobs: - name: Install dependencies run: npm ci - - name: Generate API docs - run: npm run gen-api-docs - name: Build website run: npm run build diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 66ccbb8b..f17af8bb 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -22,7 +22,5 @@ jobs: - name: Install dependencies run: npm ci - - name: Generate API docs - run: npm run gen-api-docs - name: Test build website run: npm run build diff --git a/package.json b/package.json index 7ac57ca0..c6cbcd2a 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build && node scripts/generate-image-sitemap.js", + "start": "npm run gen-api-docs && docusaurus start", + "build": "npm run gen-api-docs && docusaurus build && node scripts/generate-image-sitemap.js", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", From 3f63bacf6fff4d18532bd916a52f72fb94cf5842 Mon Sep 17 00:00:00 2001 From: Nayan Joshi Date: Thu, 5 Mar 2026 13:02:11 +0530 Subject: [PATCH 5/5] updated swagger.json to have olake swaggerl ink --- src/data/docs/swagger.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/docs/swagger.json b/src/data/docs/swagger.json index a4e9aa18..c148bd07 100644 --- a/src/data/docs/swagger.json +++ b/src/data/docs/swagger.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "description": "Olake is the fastest open-source tool for replicating Databases to Apache Iceberg or Data Lakehouse.\n\n## Authentication\nThis API uses **Session-based Authentication** (Cookies). \n\nTo access protected endpoints:\n1. **Login**: Send a POST request to `/api/v1/login` with your credentials.\n2. **Cookie**: A session cookie will be set in your browser automatically upon successful login.\n3. **Requests**: Subsequent requests will automatically include this cookie.\n\nThere is no need to manually handle tokens or headers.\n\n### Using cURL with Cookies\nWhen using cURL, you must explicitly save and send cookies between requests:\n\n**Step 1: Login and save the cookie**\n```bash\ncurl -L 'http://localhost:8000/login' \\\n -H 'Content-Type: application/json' \\\n -c cookies.txt \\\n -d '{\"username\": \"admin\", \"password\": \"password\"}'\n```\n\n**Step 2: Use the saved cookie for subsequent requests**\n```bash\ncurl -L 'http://localhost:8000/api/v1/project/123/jobs' \\\n -H 'Accept: */*' \\\n -b cookies.txt\n```\n\nThe `-c cookies.txt` flag saves the session cookie, and `-b cookies.txt` sends it with subsequent requests.\n\n## Base URL\nAll URLs start with:\n```\nhttp://localhost:8000/api/v1\n```\n\n## Response Format\nThe API uses standard HTTP response codes to indicate the success or failure of an API request.\n- **200 OK**: Request was successful.\n- **400 Bad Request**: The request was invalid.\n- **401 Unauthorized**: Authentication failed or session expired.\n- **500 Internal Server Error**: Something went wrong on the server side.", + "description": "Olake is the fastest open-source tool for replicating Databases to Apache Iceberg or Data Lakehouse.\n\n ## Accessing the OLake UI API\n - **OLake UI API**: [http://localhost:8000/swagger](http://localhost:8000/swagger)\n\n ## Authentication\nThis API uses **Session-based Authentication** (Cookies). \n\nTo access protected endpoints:\n1. **Login**: Send a POST request to `/api/v1/login` with your credentials.\n2. **Cookie**: A session cookie will be set in your browser automatically upon successful login.\n3. **Requests**: Subsequent requests will automatically include this cookie.\n\nThere is no need to manually handle tokens or headers.\n\n### Using cURL with Cookies\nWhen using cURL, you must explicitly save and send cookies between requests:\n\n**Step 1: Login and save the cookie**\n```bash\ncurl -L 'http://localhost:8000/login' \\\n -H 'Content-Type: application/json' \\\n -c cookies.txt \\\n -d '{\"username\": \"admin\", \"password\": \"password\"}'\n```\n\n**Step 2: Use the saved cookie for subsequent requests**\n```bash\ncurl -L 'http://localhost:8000/api/v1/project/123/jobs' \\\n -H 'Accept: */*' \\\n -b cookies.txt\n```\n\nThe `-c cookies.txt` flag saves the session cookie, and `-b cookies.txt` sends it with subsequent requests.\n\n## Base URL\nAll URLs start with:\n```\nhttp://localhost:8000/api/v1\n```\n\n## Response Format\nThe API uses standard HTTP response codes to indicate the success or failure of an API request.\n- **200 OK**: Request was successful.\n- **400 Bad Request**: The request was invalid.\n- **401 Unauthorized**: Authentication failed or session expired.\n- **500 Internal Server Error**: Something went wrong on the server side.", "title": "Olake UI API", "contact": { "name": "OLake",