diff --git a/.github/workflows/rdme-delete-staging.yml b/.github/workflows/rdme-delete-staging.yml index fd6def223b..0d74bf67b6 100644 --- a/.github/workflows/rdme-delete-staging.yml +++ b/.github/workflows/rdme-delete-staging.yml @@ -16,9 +16,9 @@ jobs: steps: - name: Check out repo 📚 uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: - node-version: 18 + node-version: 20 cache: 'npm' - run: npm ci - name: Add node_modules to PATH @@ -26,7 +26,11 @@ jobs: - name: Delete staging version run: | - if rdme versions:delete 0.0-pr-${{ github.event.number }} --key=${{ secrets.README_API_KEY }}; then + status=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE "https://api.readme.com/v2/branches/"3.27-pr-${{ github.event.number }}" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${{ secrets.README_API_KEY }}" \ + + if [ "$status" -eq 204 ]; then echo "Version deleted successfully" else echo "Version doesn't exist, no need to delete" diff --git a/.github/workflows/rdme-docs.yml b/.github/workflows/rdme-docs.yml index 7e89ac3af0..d73a1c08d6 100644 --- a/.github/workflows/rdme-docs.yml +++ b/.github/workflows/rdme-docs.yml @@ -20,6 +20,6 @@ jobs: uses: actions/checkout@v4 - name: Run `docs` command 🚀 - uses: readmeio/rdme@v8 + uses: readmeio/rdme@b42200405455d8a58572aae4a341a23ff934ae38 # rdme version 10.5.1 with: - rdme: docs ./reference --key=${{ secrets.README_API_KEY }} --version=3.26 + rdme: reference upload ./reference --key=${{ secrets.README_API_KEY }} --branch=3.27 diff --git a/.github/workflows/rdme-staging.yml b/.github/workflows/rdme-staging.yml index 4326af65ed..c7d8b397be 100644 --- a/.github/workflows/rdme-staging.yml +++ b/.github/workflows/rdme-staging.yml @@ -1,55 +1,68 @@ name: Generate ReadMe Staging 🦉 -# This is currently broken, fix this in a future PR -# on: -# # run this workflow on all PRs that have reference dirs changed -# pull_request: -# paths: -# - 'openapi/**' -# - 'reference/**' -# - '.github/actions/**' -# - '.github/workflows/rdme-staging.yml' +on: + # run this workflow on all PRs that have reference dirs changed + pull_request: + paths: + - 'openapi/**' + - 'reference/**' + - '.github/actions/**' + - '.github/workflows/rdme-staging.yml' jobs: # //////////////////////////////////////////////////////////////////////// # Pull Request # //////////////////////////////////////////////////////////////////////// - # Create a new ReadMe Version if it needs to and pushes content to the version + # Create a new ReadMe version if it needs to and pushes content to the version rdme-staging: if: ${{ github.event.pull_request.head.repo.full_name == 'mixpanel/docs' }} runs-on: ubuntu-latest steps: - name: Check out repo 📚 uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + + - uses: actions/setup-node@v5 with: - node-version: 18 + node-version: 20 cache: 'npm' + - run: npm ci + - name: Add node_modules to PATH run: echo "$PWD/node_modules/.bin" >> $GITHUB_PATH - # Try to create the readme version, if it errors it's ok we keep going since it was already created - name: Create readme version run: | - if rdme versions:create 0.0-pr-${{ github.event.number }} --key=${{ secrets.README_API_KEY }} --fork=v3.26 --main=false --beta=false --deprecated=false --isPublic=true; then + status=$(curl -s -o /dev/null -w "%{http_code}" -X POST "https://api.readme.com/v2/branches" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${{ secrets.README_API_KEY }}" \ + -d '{ + "name": "3.27-pr-${{ github.event.number }}", + "base": "3.27", + "release_stage": "release", + "state": "current" + }') + + if [ "$status" -eq 201 ]; then echo "Version created successfully" else echo "Errors because the version already exists, and so we can continue to the next step" fi - - name: Push docs to staging env 🚀 - uses: readmeio/rdme@v8 + - name: Push docs to version 🚀 + uses: readmeio/rdme@b42200405455d8a58572aae4a341a23ff934ae38 # rdme version 10.5.1 with: - rdme: docs ./reference --key=${{ secrets.README_API_KEY }} --version=0.0-pr-${{ github.event.number }} + rdme: reference upload ./reference --key=${{ secrets.README_API_KEY }} --branch=3.27-pr-${{ github.event.number }} + + - name: Build OpenAPI specs to version + run: npm run api:build - # Push openapi specs to staging env - - run: npm run api:build - - run: npm run api:publish + - name: Publish OpenAPI specs to version + run: npm run api:publish env: README_API_KEY: ${{ secrets.README_API_KEY }} - README_VERSION: 0.0-pr-${{ github.event.number }} + README_VERSION: 3.27-pr-${{ github.event.number }} # build and update comment with the proper link preview-notify: @@ -78,7 +91,7 @@ jobs: script: | return ` # API Reference Preview - :rocket: https://developer.mixpanel.com/v0.0-pr-${{ github.event.number }}/reference/overview + :rocket: https://developer.mixpanel.com/v3.27-pr-${{ github.event.number }}/reference/overview Last updated: ${new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"})} PT from ${{github.sha}} ` diff --git a/package-lock.json b/package-lock.json index 79affeb39a..d073116853 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,6 @@ "autoprefixer": "10.4.21", "cspell": "9.2.1", "postcss": "8.5.6", - "rdme": "8.6.6", "tailwind-variants": "1.0.0", "tailwindcss": "3.4.14", "typescript": "5.9.2", @@ -41,47 +40,6 @@ "npm": ">=10.0.0 <12.0.0" } }, - "node_modules/@75lb/deep-merge": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.2.tgz", - "integrity": "sha512-08K9ou5VNbheZFxM5tDWoqjA3ImC50DiuuJ2tj1yEPRfkp8lLLg6XAaJ4On+a0yAXor/8ay5gHnAIshRM44Kpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/@75lb/deep-merge/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", - "dev": true, - "dependencies": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" - } - }, - "node_modules/@actions/http-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.1.tgz", - "integrity": "sha512-qhrkRMB40bbbLo7gF+0vu+X+UawOvQQqNAA/5Unx774RS8poaOhThDOG6BGmxvAnxhQnDp2BG/ZUm65xZILTpw==", - "dev": true, - "dependencies": { - "tunnel": "^0.0.6" - } - }, "node_modules/@algolia/autocomplete-core": { "version": "1.17.9", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz", @@ -322,21 +280,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@apidevtools/openapi-schemas": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", - "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@apidevtools/swagger-methods": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", - "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", - "dev": true - }, "node_modules/@babel/code-frame": { "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", @@ -1764,12 +1707,6 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, - "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==", - "dev": true - }, "node_modules/@jsep-plugin/assignment": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", @@ -1796,21 +1733,6 @@ "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1" - } - }, - "node_modules/@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", - "dev": true - }, "node_modules/@mdx-js/mdx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", @@ -2783,47 +2705,6 @@ "node": ">=0.10" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dev": true, - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "dev": true, - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -2988,151 +2869,6 @@ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, - "node_modules/@readme/better-ajv-errors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@readme/better-ajv-errors/-/better-ajv-errors-1.6.0.tgz", - "integrity": "sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/runtime": "^7.21.0", - "@humanwhocodes/momoa": "^2.0.3", - "chalk": "^4.1.2", - "json-to-ast": "^2.0.3", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "ajv": "4.11.8 - 8" - } - }, - "node_modules/@readme/better-ajv-errors/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@readme/better-ajv-errors/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@readme/http-status-codes": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@readme/http-status-codes/-/http-status-codes-7.2.0.tgz", - "integrity": "sha512-/dBh9qw3QhJYqlGwt2I+KUP/lQ6nytdCx3aq+GpMUhibLHF3O7fwoowNcTwlbnwtyJ+TJYTIIrp3oVUlRNx3fA==", - "dev": true - }, - "node_modules/@readme/json-schema-ref-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@readme/json-schema-ref-parser/-/json-schema-ref-parser-1.2.0.tgz", - "integrity": "sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==", - "dev": true, - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - } - }, - "node_modules/@readme/json-schema-ref-parser/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@readme/json-schema-ref-parser/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@readme/openapi-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@readme/openapi-parser/-/openapi-parser-2.5.0.tgz", - "integrity": "sha512-IbymbOqRuUzoIgxfAAR7XJt2FWl6n2yqN09fF5adacGm7W03siA3bj1Emql0X9D2T+RpBYz3x9zDsMhuoMP62A==", - "dev": true, - "dependencies": { - "@apidevtools/openapi-schemas": "^2.1.0", - "@apidevtools/swagger-methods": "^3.0.2", - "@jsdevtools/ono": "^7.1.3", - "@readme/better-ajv-errors": "^1.6.0", - "@readme/json-schema-ref-parser": "^1.2.0", - "ajv": "^8.12.0", - "ajv-draft-04": "^1.0.0", - "call-me-maybe": "^1.0.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "openapi-types": ">=7" - } - }, - "node_modules/@readme/postman-to-openapi": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@readme/postman-to-openapi/-/postman-to-openapi-4.1.0.tgz", - "integrity": "sha512-VvV2Hzjskz01m8doSn7Ypt6cSZzgjnypVqXy1ipThbyYD6SGiM74VSePXykOODj/43Y2m6zeYedPk/ZLts/HvQ==", - "dev": true, - "dependencies": { - "@readme/http-status-codes": "^7.2.0", - "js-yaml": "^4.1.0", - "jsonc-parser": "3.2.0", - "lodash.camelcase": "^4.3.0", - "marked": "^4.3.0", - "mustache": "^4.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@readme/postman-to-openapi/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@readme/postman-to-openapi/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@redocly/ajv": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", @@ -4068,6 +3804,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -4079,20 +3816,6 @@ "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==", - "dev": true, - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, "node_modules/algoliasearch": { "version": "5.29.0", "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.29.0.tgz", @@ -4116,15 +3839,6 @@ "node": ">= 14.0.0" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -4193,15 +3907,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/array-iterate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", @@ -4218,15 +3923,6 @@ "dev": true, "license": "MIT" }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/astring": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", @@ -4293,26 +3989,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/better-ajv-errors": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", @@ -4386,139 +4062,51 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/browserslist": { + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", + "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.25.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", - "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001726", - "electron-to-chromium": "^1.5.173", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" + "caniuse-lite": "^1.0.30001726", + "electron-to-chromium": "^1.5.173", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -4527,30 +4115,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4673,52 +4237,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk-template/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/character-entities": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", @@ -4818,21 +4336,6 @@ "node": ">= 6" } }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -4857,42 +4360,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -4939,15 +4406,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -4956,15 +4414,6 @@ "node": ">=6" } }, - "node_modules/code-error-fragment": { - "version": "0.0.230", - "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", - "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/collapse-white-space": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", @@ -5038,54 +4487,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "dev": true, - "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -5111,29 +4512,6 @@ "node": ">= 6" } }, - "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==", - "dev": true, - "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==", - "dev": true, - "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/compute-scroll-into-view": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", @@ -5166,45 +4544,6 @@ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" }, - "node_modules/config": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", - "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", - "dev": true, - "dependencies": { - "json5": "^2.2.3" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/cookie": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", @@ -5255,15 +4594,6 @@ "node": ">= 8" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/cspell": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/cspell/-/cspell-9.2.1.tgz", @@ -5586,16 +4916,6 @@ "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==" }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "node_modules/d3": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", @@ -6090,22 +5410,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, "node_modules/default-browser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", @@ -6136,27 +5440,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/delaunator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", @@ -6234,27 +5517,6 @@ "@types/trusted-types": "^2.0.7" } }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -6282,12 +5544,6 @@ "node": ">= 0.4" } }, - "node_modules/editor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", - "integrity": "sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==", - "dev": true - }, "node_modules/electron-to-chromium": { "version": "1.5.180", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.180.tgz", @@ -6369,61 +5625,12 @@ "node": ">= 0.4" } }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, "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==", "dev": true }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -6433,15 +5640,6 @@ "node": ">=6" } }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -6453,40 +5651,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", @@ -6495,27 +5659,6 @@ "node": ">=6" } }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esniff/node_modules/type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -6528,16 +5671,6 @@ "node": ">=4" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-util-attach-comments": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", @@ -6634,26 +5767,6 @@ "@types/estree": "^1.0.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -6729,21 +5842,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "dev": true - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6808,13 +5906,6 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "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", @@ -6871,18 +5962,6 @@ "node": ">=8" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/flatted": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", @@ -7104,30 +6183,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -7145,12 +6200,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", @@ -7258,15 +6307,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -7653,35 +6693,6 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/immutable": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", @@ -7727,15 +6738,6 @@ "node": ">=4" } }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/import-meta-resolve": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", @@ -7747,15 +6749,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7772,12 +6765,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", @@ -7831,24 +6818,6 @@ "node": ">=8" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, "node_modules/is-core-module": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", @@ -7870,21 +6839,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -7961,43 +6915,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -8006,21 +6923,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, "node_modules/is-reference": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", @@ -8040,42 +6942,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, "node_modules/is64bit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", @@ -8095,16 +6961,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -8268,78 +7124,12 @@ "foreach": "^2.0.4" } }, - "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==", - "dev": true, - "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==", - "dev": true, - "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", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/json-to-ast": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", - "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", - "dev": true, - "dependencies": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "dev": true, - "license": "MIT", - "dependencies": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - } - }, "node_modules/jsonpath-plus": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz", @@ -8359,19 +7149,6 @@ "node": ">=18.0.0" } }, - "node_modules/jsonpath/node_modules/esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/jsonpointer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", @@ -8444,20 +7221,6 @@ "node": ">=6" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -8471,94 +7234,29 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "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/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "dev": true + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/antfu" } }, + "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/long": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", @@ -8586,15 +7284,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "dev": true, - "dependencies": { - "es5-ext": "~0.10.2" - } - }, "node_modules/lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", @@ -8602,30 +7291,6 @@ "dev": true, "license": "MIT" }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -9039,22 +7704,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -9888,15 +8537,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -10001,15 +8641,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "dev": true, - "bin": { - "mustache": "bin/mustache" - } - }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -10143,12 +8774,6 @@ "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, "node_modules/next/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -10369,27 +8994,6 @@ "url": "https://github.com/nebrelbug/npm-to-yarn?sponsor=1" } }, - "node_modules/oas": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/oas/-/oas-20.11.0.tgz", - "integrity": "sha512-Eio2qil8z86PD8KJTdyGPN7hbcF3dV0gc5B6mkSQgL3MLMVFE/XyVAmq/9BRh51zkIXOPmZpSIF3nStADbnkHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@readme/json-schema-ref-parser": "^1.2.0", - "@types/json-schema": "^7.0.11", - "json-schema-merge-allof": "^0.8.1", - "jsonpath": "^1.1.1", - "jsonpointer": "^5.0.0", - "memoizee": "^0.4.14", - "oas-normalize": "^8.3.0", - "openapi-types": "^12.1.0", - "path-to-regexp": "^6.2.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/oas-kit-common": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", @@ -10422,41 +9026,6 @@ "node": ">= 6" } }, - "node_modules/oas-normalize": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/oas-normalize/-/oas-normalize-8.4.1.tgz", - "integrity": "sha512-cGODg+AntZteJRHBiYDWKtcO2svWGMXuFWYu2I8b4hOrNiwB3hgDs/ScX3O9mYm6RpLsUIftt6rDHGc8eYG8aA==", - "dev": true, - "dependencies": { - "@readme/openapi-parser": "^2.5.0", - "@readme/postman-to-openapi": "^4.1.0", - "js-yaml": "^4.1.0", - "node-fetch": "^2.6.1", - "openapi-types": "^12.1.0", - "swagger2openapi": "^7.0.8" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/oas-normalize/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/oas-normalize/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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/oas-resolver": { "version": "2.5.6", "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", @@ -10590,21 +9159,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/oniguruma-to-js": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", @@ -10616,23 +9170,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/openapi-sampler": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz", @@ -10645,84 +9182,6 @@ "json-pointer": "0.6.2" } }, - "node_modules/openapi-types": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", - "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", - "dev": true - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/outdent": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", @@ -10803,15 +9262,6 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" }, - "node_modules/parse-link-header": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-2.0.0.tgz", - "integrity": "sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==", - "dev": true, - "dependencies": { - "xtend": "~4.0.1" - } - }, "node_modules/parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", @@ -10863,12 +9313,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "dev": true - }, "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", @@ -11113,15 +9557,6 @@ "url": "https://opencollective.com/preact" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -11167,28 +9602,6 @@ "node": ">=6" } }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -11210,12 +9623,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, "node_modules/protobufjs": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", @@ -11246,136 +9653,37 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, + "peer": true, "engines": { "node": ">=6" } }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dev": true, - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rdme": { - "version": "8.6.6", - "resolved": "https://registry.npmjs.org/rdme/-/rdme-8.6.6.tgz", - "integrity": "sha512-+H7v3t8yoM89Xe1PYTDitMptosemi/l6thNz5CyBEhipZW11iq3bbvndRDvRSBB0ncOnFQp5heY1HspERc/oPA==", - "dev": true, - "dependencies": { - "@actions/core": "^1.6.0", - "chalk": "^4.1.2", - "ci-info": "^3.6.1", - "command-line-args": "^5.2.0", - "command-line-usage": "^7.0.1", - "config": "^3.1.0", - "configstore": "^5.0.0", - "debug": "^4.3.3", - "editor": "^1.0.0", - "form-data": "^4.0.0", - "gray-matter": "^4.0.1", - "ignore": "^5.2.0", - "mime-types": "^2.1.35", - "node-fetch": "^2.6.1", - "oas": "^20.10.2", - "oas-normalize": "^8.4.1", - "open": "^8.2.1", - "ora": "^5.4.1", - "parse-link-header": "^2.0.0", - "pluralize": "^8.0.0", - "prompts": "^2.4.2", - "semver": "^7.5.3", - "simple-git": "^3.19.1", - "string-argv": "^0.3.1", - "table": "^6.8.1", - "tmp-promise": "^3.0.2", - "update-notifier-cjs": "^5.1.5", - "validator": "^13.7.0" - }, - "bin": { - "rdme": "bin/rdme" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/rdme/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/rdme/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "safe-buffer": "^5.1.0" } }, "node_modules/react": { @@ -11595,30 +9903,6 @@ "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==" }, - "node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, - "dependencies": { - "@pnpm/npm-conf": "^2.1.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/rehype-katex": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.0.tgz", @@ -11896,19 +10180,6 @@ "node": ">=8" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/retext": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", @@ -12150,27 +10421,6 @@ "node": ">=10" } }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/set-cookie-parser": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", @@ -12312,27 +10562,6 @@ "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-git": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.19.1.tgz", - "integrity": "sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==", - "dev": true, - "dependencies": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/steveukx/git-js?sponsor=1" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -12368,12 +10597,6 @@ "ws": "^7.4.2" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, "node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -12385,38 +10608,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/slugify": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", @@ -12492,31 +10683,12 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, - "node_modules/static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escodegen": "^1.8.1" - } - }, "node_modules/stickyfill": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==", "dev": true }, - "node_modules/stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -12534,15 +10706,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -12601,15 +10764,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strnum": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", @@ -12879,61 +11033,6 @@ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", - "dev": true, - "dependencies": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "bin": { - "table-layout": "bin/cli.js" - }, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, "node_modules/tailwind-merge": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz", @@ -13020,16 +11119,6 @@ "node": ">=0.8" } }, - "node_modules/timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "dev": true, - "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, "node_modules/tinyexec": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", @@ -13090,24 +11179,6 @@ "title": "dist/esm/bin.js" } }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dev": true, - "dependencies": { - "tmp": "^0.2.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -13162,15 +11233,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, "node_modules/twoslash": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.2.12.tgz", @@ -13188,25 +11250,6 @@ "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.2.12.tgz", "integrity": "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==" }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -13214,15 +11257,6 @@ "dev": true, "license": "MIT" }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", @@ -13236,15 +11270,6 @@ "node": ">=14.17" } }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", @@ -13263,13 +11288,6 @@ "node": ">=0.8.0" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true, - "license": "MIT" - }, "node_modules/undici": { "version": "6.21.3", "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", @@ -13320,18 +11338,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/unist-util-find-after": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", @@ -13567,95 +11573,37 @@ }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier-cjs": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/update-notifier-cjs/-/update-notifier-cjs-5.1.6.tgz", - "integrity": "sha512-wgxdSBWv3x/YpMzsWz5G4p4ec7JWD0HCl8W6bmNB6E5Gwo+1ym5oN4hiXpLf0mPySVEJEIsYlkshnplkg2OP9A==", - "dev": true, - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "isomorphic-fetch": "^3.0.0", - "pupa": "^2.1.1", - "registry-auth-token": "^5.0.1", - "registry-url": "^5.1.0", - "semver": "^7.3.7", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/update-notifier-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/unified" } }, - "node_modules/update-notifier-cjs/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, - "engines": { - "node": ">=10" + "bin": { + "update-browserslist-db": "cli.js" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, "node_modules/uri-js": { @@ -13663,6 +11611,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "peer": true, "dependencies": { "punycode": "^2.1.0" } @@ -13694,61 +11643,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "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==", - "dev": true, - "bin": { - "uuid": "dist/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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -13846,15 +11740,6 @@ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", @@ -13870,12 +11755,6 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "node_modules/whatwg-fetch": { - "version": "3.6.18", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.18.tgz", - "integrity": "sha512-ltN7j66EneWn5TFDO4L9inYC1D+Czsxlrw2SalgjMmEMkLfA5SIZxEFdE6QtHFiiM6Q7WL32c7AkI3w6yxM84Q==", - "dev": true - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -13905,43 +11784,12 @@ "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "node_modules/wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -13980,18 +11828,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, "node_modules/ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", @@ -14045,15 +11881,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/xmldom-sre": { "version": "0.1.31", "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", @@ -14062,15 +11889,6 @@ "node": ">=0.1" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -14166,43 +11984,6 @@ } }, "dependencies": { - "@75lb/deep-merge": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.2.tgz", - "integrity": "sha512-08K9ou5VNbheZFxM5tDWoqjA3ImC50DiuuJ2tj1yEPRfkp8lLLg6XAaJ4On+a0yAXor/8ay5gHnAIshRM44Kpw==", - "dev": true, - "requires": { - "lodash": "^4.17.21", - "typical": "^7.1.1" - }, - "dependencies": { - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true - } - } - }, - "@actions/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", - "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", - "dev": true, - "requires": { - "@actions/http-client": "^2.0.1", - "uuid": "^8.3.2" - } - }, - "@actions/http-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.1.tgz", - "integrity": "sha512-qhrkRMB40bbbLo7gF+0vu+X+UawOvQQqNAA/5Unx774RS8poaOhThDOG6BGmxvAnxhQnDp2BG/ZUm65xZILTpw==", - "dev": true, - "requires": { - "tunnel": "^0.0.6" - } - }, "@algolia/autocomplete-core": { "version": "1.17.9", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz", @@ -14382,18 +12163,6 @@ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==" }, - "@apidevtools/openapi-schemas": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", - "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", - "dev": true - }, - "@apidevtools/swagger-methods": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", - "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", - "dev": true - }, "@babel/code-frame": { "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", @@ -15394,12 +13163,6 @@ } } }, - "@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==", - "dev": true - }, "@jsep-plugin/assignment": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", @@ -15414,21 +13177,6 @@ "dev": true, "requires": {} }, - "@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", - "dev": true, - "requires": { - "debug": "^4.1.1" - } - }, - "@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", - "dev": true - }, "@mdx-js/mdx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", @@ -15908,40 +13656,6 @@ "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", "optional": true }, - "@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true - }, - "@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dev": true, - "requires": { - "graceful-fs": "4.2.10" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - } - } - }, - "@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "dev": true, - "requires": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - } - }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -16054,143 +13768,25 @@ "@react-stately/flags": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", - "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", - "requires": { - "@swc/helpers": "^0.5.0" - } - }, - "@react-stately/utils": { - "version": "3.10.7", - "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.7.tgz", - "integrity": "sha512-cWvjGAocvy4abO9zbr6PW6taHgF24Mwy/LbQ4TC4Aq3tKdKDntxyD+sh7AkSRfJRT2ccMVaHVv2+FfHThd3PKQ==", - "requires": { - "@swc/helpers": "^0.5.0" - } - }, - "@react-types/shared": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.30.0.tgz", - "integrity": "sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog==", - "requires": {} - }, - "@readme/better-ajv-errors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@readme/better-ajv-errors/-/better-ajv-errors-1.6.0.tgz", - "integrity": "sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/runtime": "^7.21.0", - "@humanwhocodes/momoa": "^2.0.3", - "chalk": "^4.1.2", - "json-to-ast": "^2.0.3", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@readme/http-status-codes": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@readme/http-status-codes/-/http-status-codes-7.2.0.tgz", - "integrity": "sha512-/dBh9qw3QhJYqlGwt2I+KUP/lQ6nytdCx3aq+GpMUhibLHF3O7fwoowNcTwlbnwtyJ+TJYTIIrp3oVUlRNx3fA==", - "dev": true - }, - "@readme/json-schema-ref-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@readme/json-schema-ref-parser/-/json-schema-ref-parser-1.2.0.tgz", - "integrity": "sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==", - "dev": true, - "requires": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@readme/openapi-parser": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@readme/openapi-parser/-/openapi-parser-2.5.0.tgz", - "integrity": "sha512-IbymbOqRuUzoIgxfAAR7XJt2FWl6n2yqN09fF5adacGm7W03siA3bj1Emql0X9D2T+RpBYz3x9zDsMhuoMP62A==", - "dev": true, - "requires": { - "@apidevtools/openapi-schemas": "^2.1.0", - "@apidevtools/swagger-methods": "^3.0.2", - "@jsdevtools/ono": "^7.1.3", - "@readme/better-ajv-errors": "^1.6.0", - "@readme/json-schema-ref-parser": "^1.2.0", - "ajv": "^8.12.0", - "ajv-draft-04": "^1.0.0", - "call-me-maybe": "^1.0.1" - } - }, - "@readme/postman-to-openapi": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@readme/postman-to-openapi/-/postman-to-openapi-4.1.0.tgz", - "integrity": "sha512-VvV2Hzjskz01m8doSn7Ypt6cSZzgjnypVqXy1ipThbyYD6SGiM74VSePXykOODj/43Y2m6zeYedPk/ZLts/HvQ==", - "dev": true, - "requires": { - "@readme/http-status-codes": "^7.2.0", - "js-yaml": "^4.1.0", - "jsonc-parser": "3.2.0", - "lodash.camelcase": "^4.3.0", - "marked": "^4.3.0", - "mustache": "^4.2.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } + "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", + "requires": { + "@swc/helpers": "^0.5.0" + } + }, + "@react-stately/utils": { + "version": "3.10.7", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.7.tgz", + "integrity": "sha512-cWvjGAocvy4abO9zbr6PW6taHgF24Mwy/LbQ4TC4Aq3tKdKDntxyD+sh7AkSRfJRT2ccMVaHVv2+FfHThd3PKQ==", + "requires": { + "@swc/helpers": "^0.5.0" } }, + "@react-types/shared": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.30.0.tgz", + "integrity": "sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog==", + "requires": {} + }, "@redocly/ajv": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", @@ -16974,6 +14570,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -16981,13 +14578,6 @@ "uri-js": "^4.2.2" } }, - "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==", - "dev": true, - "requires": {} - }, "algoliasearch": { "version": "5.29.0", "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.29.0.tgz", @@ -17008,15 +14598,6 @@ "@algolia/requester-node-http": "5.29.0" } }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -17078,12 +14659,6 @@ "sprintf-js": "~1.0.2" } }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true - }, "array-iterate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", @@ -17095,12 +14670,6 @@ "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", "dev": true }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, "astring": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", @@ -17137,12 +14706,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "better-ajv-errors": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", @@ -17191,66 +14754,6 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, "brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -17281,16 +14784,6 @@ "update-browserslist-db": "^1.1.3" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -17363,36 +14856,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" }, - "chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", - "dev": true, - "requires": { - "chalk": "^4.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "character-entities": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", @@ -17461,12 +14924,6 @@ } } }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, "classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -17483,27 +14940,6 @@ "resolve-from": "^5.0.0" } }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true - }, "client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -17540,23 +14976,11 @@ "wrap-ansi": "^7.0.0" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, "clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" }, - "code-error-fragment": { - "version": "0.0.230", - "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", - "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==", - "dev": true - }, "collapse-white-space": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", @@ -17613,44 +15037,6 @@ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.1.tgz", - "integrity": "sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==", - "dev": true, - "requires": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^3.0.0", - "typical": "^7.1.1" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true - } - } - }, "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -17669,29 +15055,6 @@ "repeat-string": "^1.6.1" } }, - "compute-gcd": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", - "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", - "dev": true, - "requires": { - "validate.io-array": "^1.0.3", - "validate.io-function": "^1.0.2", - "validate.io-integer-array": "^1.0.0" - } - }, - "compute-lcm": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", - "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", - "dev": true, - "requires": { - "compute-gcd": "^1.2.1", - "validate.io-array": "^1.0.3", - "validate.io-function": "^1.0.2", - "validate.io-integer-array": "^1.0.0" - } - }, "compute-scroll-into-view": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", @@ -17720,39 +15083,6 @@ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==" }, - "config": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/config/-/config-3.3.9.tgz", - "integrity": "sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==", - "dev": true, - "requires": { - "json5": "^2.2.3" - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, "cookie": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", @@ -17789,12 +15119,6 @@ "which": "^2.0.1" } }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, "cspell": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/cspell/-/cspell-9.2.1.tgz", @@ -18032,16 +15356,6 @@ } } }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "d3": { "version": "7.9.0", "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", @@ -18385,18 +15699,6 @@ "character-entities": "^2.0.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, "default-browser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", @@ -18413,21 +15715,6 @@ "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", "dev": true }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, "delaunator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", @@ -18486,23 +15773,6 @@ "@types/trusted-types": "^2.0.7" } }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } - } - }, "dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -18520,12 +15790,6 @@ "gopd": "^1.2.0" } }, - "editor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", - "integrity": "sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==", - "dev": true - }, "electron-to-chromium": { "version": "1.5.180", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.180.tgz", @@ -18582,132 +15846,33 @@ "hasown": "^2.0.2" } }, - "es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, "es6-promise": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", "dev": true }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, "escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, "escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" }, - "esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true - } - } - }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, "estree-util-attach-comments": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", @@ -18781,22 +15946,6 @@ "@types/estree": "^1.0.0" } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -18845,23 +15994,6 @@ } } }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "requires": { - "type": "^2.7.2" - }, - "dependencies": { - "type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "dev": true - } - } - }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -18911,14 +16043,8 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-safe-stringify": { @@ -18960,15 +16086,6 @@ "to-regex-range": "^5.0.1" } }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "requires": { - "array-back": "^3.0.1" - } - }, "flatted": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", @@ -19125,23 +16242,6 @@ } } }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - } - } - }, "gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -19153,12 +16253,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "gray-matter": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", @@ -19232,12 +16326,6 @@ "has-symbols": "^1.0.3" } }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, "hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -19550,18 +16638,6 @@ "safer-buffer": ">= 2.1.2 < 3.0.0" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, "immutable": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", @@ -19594,24 +16670,12 @@ } } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "dev": true - }, "import-meta-resolve": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", "dev": true }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -19628,12 +16692,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", @@ -19672,23 +16730,6 @@ "binary-extensions": "^2.0.0" } }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - } - } - }, "is-core-module": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", @@ -19703,12 +16744,6 @@ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -19753,45 +16788,11 @@ } } }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, "is-reference": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", @@ -19805,33 +16806,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, "is64bit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", @@ -19845,16 +16819,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "dev": true, - "requires": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, "jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -19968,73 +16932,12 @@ "foreach": "^2.0.4" } }, - "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==", - "dev": true, - "requires": { - "lodash": "^4.17.4" - } - }, - "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==", - "dev": true, - "requires": { - "compute-lcm": "^1.1.2", - "json-schema-compare": "^0.2.2", - "lodash": "^4.17.20" - } - }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "json-to-ast": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", - "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", - "dev": true, - "requires": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - } - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "dev": true, - "requires": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" - }, - "dependencies": { - "esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", - "dev": true - } - } - }, "jsonpath-plus": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.3.0.tgz", @@ -20098,16 +17001,6 @@ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -20129,60 +17022,11 @@ "pkg-types": "^1.0.3" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "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==" }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "long": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", @@ -20202,38 +17046,12 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "dev": true, - "requires": { - "es5-ext": "~0.10.2" - } - }, "lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, "mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -20557,22 +17375,6 @@ "@types/mdast": "^4.0.0" } }, - "memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", - "dev": true, - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", - "es6-weak-map": "^2.0.3", - "event-emitter": "^0.3.5", - "is-promise": "^2.2.2", - "lru-queue": "^0.1.0", - "next-tick": "^1.1.0", - "timers-ext": "^0.1.7" - } - }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -21090,12 +17892,6 @@ "mime-db": "1.52.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -21155,12 +17951,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "dev": true - }, "mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -21247,12 +18037,6 @@ "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", "requires": {} }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, "nextra": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/nextra/-/nextra-3.3.1.tgz", @@ -21392,23 +18176,6 @@ "resolved": "https://registry.npmjs.org/npm-to-yarn/-/npm-to-yarn-3.0.0.tgz", "integrity": "sha512-76YnmsbfrYp0tMsWxM0RNX0Vs+x8JxpJGu6B/jDn4lW8+laiTcKmKi9MeMh4UikO4RkJ1oqURoDy9bXJmMXS6A==" }, - "oas": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/oas/-/oas-20.11.0.tgz", - "integrity": "sha512-Eio2qil8z86PD8KJTdyGPN7hbcF3dV0gc5B6mkSQgL3MLMVFE/XyVAmq/9BRh51zkIXOPmZpSIF3nStADbnkHA==", - "dev": true, - "requires": { - "@readme/json-schema-ref-parser": "^1.2.0", - "@types/json-schema": "^7.0.11", - "json-schema-merge-allof": "^0.8.1", - "jsonpath": "^1.1.1", - "jsonpointer": "^5.0.0", - "memoizee": "^0.4.14", - "oas-normalize": "^8.3.0", - "openapi-types": "^12.1.0", - "path-to-regexp": "^6.2.0" - } - }, "oas-kit-common": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", @@ -21437,37 +18204,6 @@ } } }, - "oas-normalize": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/oas-normalize/-/oas-normalize-8.4.1.tgz", - "integrity": "sha512-cGODg+AntZteJRHBiYDWKtcO2svWGMXuFWYu2I8b4hOrNiwB3hgDs/ScX3O9mYm6RpLsUIftt6rDHGc8eYG8aA==", - "dev": true, - "requires": { - "@readme/openapi-parser": "^2.5.0", - "@readme/postman-to-openapi": "^4.1.0", - "js-yaml": "^4.1.0", - "node-fetch": "^2.6.1", - "openapi-types": "^12.1.0", - "swagger2openapi": "^7.0.8" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, "oas-resolver": { "version": "2.5.6", "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", @@ -21572,15 +18308,6 @@ "wrappy": "1" } }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, "oniguruma-to-js": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", @@ -21589,17 +18316,6 @@ "regex": "^4.3.2" } }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, "openapi-sampler": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.6.1.tgz", @@ -21611,64 +18327,6 @@ "json-pointer": "0.6.2" } }, - "openapi-types": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", - "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", - "dev": true - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "outdent": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", @@ -21726,19 +18384,10 @@ }, "dependencies": { "@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" - } - } - }, - "parse-link-header": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-2.0.0.tgz", - "integrity": "sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==", - "dev": true, - "requires": { - "xtend": "~4.0.1" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" + } } }, "parse-numeric-range": { @@ -21782,12 +18431,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "dev": true - }, "pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", @@ -21941,12 +18584,6 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.16.0.tgz", "integrity": "sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA==" }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, "pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -21978,24 +18615,6 @@ "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", "dev": true }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "dependencies": { - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - } - } - }, "prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -22012,12 +18631,6 @@ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, "protobufjs": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", @@ -22042,16 +18655,8 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } + "peer": true }, "queue-microtask": { "version": "1.2.3", @@ -22067,75 +18672,6 @@ "safe-buffer": "^5.1.0" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "rdme": { - "version": "8.6.6", - "resolved": "https://registry.npmjs.org/rdme/-/rdme-8.6.6.tgz", - "integrity": "sha512-+H7v3t8yoM89Xe1PYTDitMptosemi/l6thNz5CyBEhipZW11iq3bbvndRDvRSBB0ncOnFQp5heY1HspERc/oPA==", - "dev": true, - "requires": { - "@actions/core": "^1.6.0", - "chalk": "^4.1.2", - "ci-info": "^3.6.1", - "command-line-args": "^5.2.0", - "command-line-usage": "^7.0.1", - "config": "^3.1.0", - "configstore": "^5.0.0", - "debug": "^4.3.3", - "editor": "^1.0.0", - "form-data": "^4.0.0", - "gray-matter": "^4.0.1", - "ignore": "^5.2.0", - "mime-types": "^2.1.35", - "node-fetch": "^2.6.1", - "oas": "^20.10.2", - "oas-normalize": "^8.4.1", - "open": "^8.2.1", - "ora": "^5.4.1", - "parse-link-header": "^2.0.0", - "pluralize": "^8.0.0", - "prompts": "^2.4.2", - "semver": "^7.5.3", - "simple-git": "^3.19.1", - "string-argv": "^0.3.1", - "table": "^6.8.1", - "tmp-promise": "^3.0.2", - "update-notifier-cjs": "^5.1.5", - "validator": "^13.7.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -22300,24 +18836,6 @@ "resolved": "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz", "integrity": "sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==" }, - "registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, - "requires": { - "@pnpm/npm-conf": "^2.1.0" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, "rehype-katex": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.0.tgz", @@ -22520,16 +19038,6 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, "retext": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", @@ -22684,23 +19192,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==" }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, "set-cookie-parser": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", @@ -22825,23 +19316,6 @@ "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", "dev": true }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-git": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.19.1.tgz", - "integrity": "sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==", - "dev": true, - "requires": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.4" - } - }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -22863,39 +19337,11 @@ "ws": "^7.4.2" } }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, "slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, "slugify": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", @@ -22945,27 +19391,12 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, - "static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dev": true, - "requires": { - "escodegen": "^1.8.1" - } - }, "stickyfill": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==", "dev": true }, - "stream-read-all": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz", - "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==", - "dev": true - }, "streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -22980,12 +19411,6 @@ "safe-buffer": "~5.2.0" } }, - "string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -23025,12 +19450,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true - }, "strnum": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", @@ -23207,48 +19626,6 @@ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - } - }, - "table-layout": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz", - "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==", - "dev": true, - "requires": { - "@75lb/deep-merge": "^1.1.1", - "array-back": "^6.2.2", - "command-line-args": "^5.2.1", - "command-line-usage": "^7.0.0", - "stream-read-all": "^3.0.1", - "typical": "^7.1.1", - "wordwrapjs": "^5.1.0" - }, - "dependencies": { - "array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true - }, - "typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true - } - } - }, "tailwind-merge": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz", @@ -23312,16 +19689,6 @@ "thenify": ">= 3.1.0 < 4" } }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "dev": true, - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, "tinyexec": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", @@ -23362,21 +19729,6 @@ "clipboardy": "^4.0.0" } }, - "tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true - }, - "tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "dev": true, - "requires": { - "tmp": "^0.2.0" - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -23417,12 +19769,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true - }, "twoslash": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/twoslash/-/twoslash-0.2.12.tgz", @@ -23437,47 +19783,17 @@ "resolved": "https://registry.npmjs.org/twoslash-protocol/-/twoslash-protocol-0.2.12.tgz", "integrity": "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==" }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "5.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==" }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true - }, "ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", @@ -23490,12 +19806,6 @@ "dev": true, "optional": true }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", - "dev": true - }, "undici": { "version": "6.21.3", "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", @@ -23534,15 +19844,6 @@ } } }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, "unist-util-find-after": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", @@ -23751,56 +20052,12 @@ "picocolors": "^1.1.1" } }, - "update-notifier-cjs": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/update-notifier-cjs/-/update-notifier-cjs-5.1.6.tgz", - "integrity": "sha512-wgxdSBWv3x/YpMzsWz5G4p4ec7JWD0HCl8W6bmNB6E5Gwo+1ym5oN4hiXpLf0mPySVEJEIsYlkshnplkg2OP9A==", - "dev": true, - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "isomorphic-fetch": "^3.0.0", - "pupa": "^2.1.1", - "registry-auth-token": "^5.0.1", - "registry-url": "^5.1.0", - "semver": "^7.3.7", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "peer": true, "requires": { "punycode": "^2.1.0" } @@ -23829,55 +20086,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "validate.io-number": "^1.0.3" - } - }, - "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==", - "dev": true, - "requires": { - "validate.io-array": "^1.0.3", - "validate.io-integer": "^1.0.4" - } - }, - "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==", - "dev": true - }, - "validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", - "dev": true - }, "vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -23963,15 +20171,6 @@ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, "web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", @@ -23983,12 +20182,6 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "whatwg-fetch": { - "version": "3.6.18", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.18.tgz", - "integrity": "sha512-ltN7j66EneWn5TFDO4L9inYC1D+Czsxlrw2SalgjMmEMkLfA5SIZxEFdE6QtHFiiM6Q7WL32c7AkI3w6yxM84Q==", - "dev": true - }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", @@ -24012,33 +20205,12 @@ "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "wordwrapjs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", - "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", - "dev": true - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -24067,18 +20239,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, "ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", @@ -24106,23 +20266,11 @@ } } }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, "xmldom-sre": { "version": "0.1.31", "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==" }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index 9a9ea01f9b..36ee122dc6 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,6 @@ "autoprefixer": "10.4.21", "cspell": "9.2.1", "postcss": "8.5.6", - "rdme": "8.6.6", "tailwind-variants": "1.0.0", "tailwindcss": "3.4.14", "typescript": "5.9.2", diff --git a/reference/Annotations API/_order.yaml b/reference/Annotations API/_order.yaml new file mode 100644 index 0000000000..ca84087c4b --- /dev/null +++ b/reference/Annotations API/_order.yaml @@ -0,0 +1,5 @@ +- overview-1 +- delete-annotation +- retrieve-annotations +- create-annotations +- patch-annotation diff --git a/reference/Annotations API/create-annotations.md b/reference/Annotations API/create-annotations.md deleted file mode 100644 index 7bc19f42c8..0000000000 --- a/reference/Annotations API/create-annotations.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Create Annotations" -slug: "create-annotations" -hidden: false -createdAt: "2022-02-16T00:43:22.859Z" -updatedAt: "2023-09-26T21:06:38.532Z" ---- diff --git a/reference/Annotations API/create-annotations/_order.yaml b/reference/Annotations API/create-annotations/_order.yaml new file mode 100644 index 0000000000..af46612963 --- /dev/null +++ b/reference/Annotations API/create-annotations/_order.yaml @@ -0,0 +1 @@ +- create-annotation diff --git a/reference/Annotations API/create-annotations/create-annotation.md b/reference/Annotations API/create-annotations/create-annotation.md index 5411f5e343..660e73b719 100644 --- a/reference/Annotations API/create-annotations/create-annotation.md +++ b/reference/Annotations API/create-annotations/create-annotation.md @@ -1,8 +1,10 @@ --- -title: "Create Annotations" -slug: "create-annotation" -excerpt: "Create an Annotation. Requires a role of at least Analyst." -hidden: false -createdAt: "2022-02-16T00:43:23.649Z" -updatedAt: "2023-09-26T21:06:38.572Z" +title: Create Annotations +category: + uri: Annotations API +content: + excerpt: Create an Annotation. Requires a role of at least Analyst. +privacy: + view: public --- + diff --git a/reference/Annotations API/delete-annotation.md b/reference/Annotations API/delete-annotation.md deleted file mode 100644 index 0906be12f9..0000000000 --- a/reference/Annotations API/delete-annotation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Delete Annotation" -slug: "delete-annotation" -hidden: false -createdAt: "2022-02-16T00:43:22.860Z" -updatedAt: "2023-09-26T21:06:38.547Z" ---- diff --git a/reference/Annotations API/delete-annotation/_order.yaml b/reference/Annotations API/delete-annotation/_order.yaml new file mode 100644 index 0000000000..999b46c82d --- /dev/null +++ b/reference/Annotations API/delete-annotation/_order.yaml @@ -0,0 +1 @@ +- delete-annotation-1 diff --git a/reference/Annotations API/delete-annotation/delete-annotation-1.md b/reference/Annotations API/delete-annotation/delete-annotation-1.md index fc5ba3d20c..8688c52057 100644 --- a/reference/Annotations API/delete-annotation/delete-annotation-1.md +++ b/reference/Annotations API/delete-annotation/delete-annotation-1.md @@ -1,8 +1,10 @@ --- -title: "Delete Annotation" -slug: "delete-annotation-1" -excerpt: "Delete an Annotation. Requires a role of at least Analyst." -hidden: false -createdAt: "2022-02-16T00:43:23.650Z" -updatedAt: "2023-09-26T21:06:38.609Z" +title: Delete Annotation +category: + uri: Annotations API +content: + excerpt: Delete an Annotation. Requires a role of at least Analyst. +privacy: + view: public --- + diff --git a/reference/Annotations API/overview-1.md b/reference/Annotations API/overview-1.md index baf3fa1e89..51933d539d 100644 --- a/reference/Annotations API/overview-1.md +++ b/reference/Annotations API/overview-1.md @@ -1,15 +1,16 @@ --- -title: "Overview" -slug: "overview-1" -hidden: false -createdAt: "2022-02-16T22:13:39.241Z" -updatedAt: "2022-02-16T22:14:30.125Z" +title: Overview +category: + uri: Annotations API +content: + excerpt: '' +privacy: + view: public --- The Annotations API lets you manage your annotations programmatically. Annotations are text descriptions tied to a time that will show up in reports such as Insights to let users know something meaningful occurred at that time. You can use this API to get a list of your project's annotations, edit them, create them or delete them. -[block:callout] -{ - "type": "info", - "title": "Roles & Permissions", - "body": "To modify annotations (create, delete, or edit), you or the Service Account being used must have the role of at least Analyst." -} -[/block] \ No newline at end of file + + + Roles & Permissions + + To modify annotations (create, delete, or edit), you or the Service Account being used must have the role of at least Analyst. + diff --git a/reference/Annotations API/patch-annotation.md b/reference/Annotations API/patch-annotation.md deleted file mode 100644 index e0f2d967a3..0000000000 --- a/reference/Annotations API/patch-annotation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Patch Annotation" -slug: "patch-annotation" -hidden: false -createdAt: "2022-02-16T00:43:22.860Z" -updatedAt: "2023-09-26T21:06:38.539Z" ---- diff --git a/reference/Annotations API/patch-annotation/_order.yaml b/reference/Annotations API/patch-annotation/_order.yaml new file mode 100644 index 0000000000..b3bfdc70e2 --- /dev/null +++ b/reference/Annotations API/patch-annotation/_order.yaml @@ -0,0 +1 @@ +- patch-annotation-1 diff --git a/reference/Annotations API/patch-annotation/patch-annotation-1.md b/reference/Annotations API/patch-annotation/patch-annotation-1.md index 89a8e96b2f..1584768f4e 100644 --- a/reference/Annotations API/patch-annotation/patch-annotation-1.md +++ b/reference/Annotations API/patch-annotation/patch-annotation-1.md @@ -1,8 +1,10 @@ --- -title: "Patch Annotation" -slug: "patch-annotation-1" -excerpt: "Patch an Annotation. Requires a role of at least Analyst." -hidden: false -createdAt: "2022-02-16T00:43:23.650Z" -updatedAt: "2023-09-26T21:06:38.599Z" +title: Patch Annotation +category: + uri: Annotations API +content: + excerpt: Patch an Annotation. Requires a role of at least Analyst. +privacy: + view: public --- + diff --git a/reference/Annotations API/retrieve-annotations.md b/reference/Annotations API/retrieve-annotations.md deleted file mode 100644 index ea3d9eb4e7..0000000000 --- a/reference/Annotations API/retrieve-annotations.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Retrieve Annotations" -slug: "retrieve-annotations" -hidden: false -createdAt: "2022-02-16T00:43:22.859Z" -updatedAt: "2023-09-26T21:06:38.505Z" ---- diff --git a/reference/Annotations API/retrieve-annotations/_order.yaml b/reference/Annotations API/retrieve-annotations/_order.yaml new file mode 100644 index 0000000000..7ef8a64160 --- /dev/null +++ b/reference/Annotations API/retrieve-annotations/_order.yaml @@ -0,0 +1,2 @@ +- list-all-annotations-for-project +- get-annotation-1 diff --git a/reference/Annotations API/retrieve-annotations/get-annotation-1.md b/reference/Annotations API/retrieve-annotations/get-annotation-1.md index 62a21d0b24..585e423c32 100644 --- a/reference/Annotations API/retrieve-annotations/get-annotation-1.md +++ b/reference/Annotations API/retrieve-annotations/get-annotation-1.md @@ -1,8 +1,10 @@ --- -title: "Get Annotation" -slug: "get-annotation-1" -excerpt: "Get an Annotation" -hidden: false -createdAt: "2022-02-16T00:43:23.649Z" -updatedAt: "2023-09-26T21:06:38.585Z" +title: Get Annotation +category: + uri: Annotations API +content: + excerpt: Get an Annotation +privacy: + view: public --- + diff --git a/reference/Annotations API/retrieve-annotations/list-all-annotations-for-project.md b/reference/Annotations API/retrieve-annotations/list-all-annotations-for-project.md index 59d8a28a29..20fb040922 100644 --- a/reference/Annotations API/retrieve-annotations/list-all-annotations-for-project.md +++ b/reference/Annotations API/retrieve-annotations/list-all-annotations-for-project.md @@ -1,8 +1,10 @@ --- -title: "List Annotations" -slug: "list-all-annotations-for-project" -excerpt: "List all annotations in a project." -hidden: false -createdAt: "2022-02-16T00:43:23.648Z" -updatedAt: "2023-09-26T21:06:38.561Z" +title: List Annotations +category: + uri: Annotations API +content: + excerpt: List all annotations in a project. +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/_order.yaml b/reference/Data Pipelines API/_order.yaml new file mode 100644 index 0000000000..30b8f91a7a --- /dev/null +++ b/reference/Data Pipelines API/_order.yaml @@ -0,0 +1,8 @@ +- overview-2 +- authentication-2 +- create-pipelines +- delete-pipelines +- edit-pipelines +- pause-pipelines +- resume-pipelines +- retrieve-pipelines diff --git a/reference/Data Pipelines API/authentication-2.md b/reference/Data Pipelines API/authentication-2.md new file mode 100644 index 0000000000..7b9a6f16cb --- /dev/null +++ b/reference/Data Pipelines API/authentication-2.md @@ -0,0 +1,18 @@ +--- +title: Authentication +category: + uri: Data Pipelines API +content: + excerpt: '' +privacy: + view: public +--- +## Service Account + + + Roles & Permissions + + To use the Data Pipelines API, the Service Account must have the role of admin or owner. + + +[Service Account Authentication Details](ref:service-accounts) diff --git a/reference/Data Pipelines API/create-pipelines.md b/reference/Data Pipelines API/create-pipelines.md deleted file mode 100644 index 94e3636f31..0000000000 --- a/reference/Data Pipelines API/create-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Create Pipelines" -slug: "create-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.877Z" -updatedAt: "2023-09-26T21:06:37.925Z" ---- diff --git a/reference/Data Pipelines API/create-pipelines/_order.yaml b/reference/Data Pipelines API/create-pipelines/_order.yaml new file mode 100644 index 0000000000..6bb77c78da --- /dev/null +++ b/reference/Data Pipelines API/create-pipelines/_order.yaml @@ -0,0 +1 @@ +- create-warehouse-pipeline diff --git a/reference/Data Pipelines API/create-pipelines/create-warehouse-pipeline.md b/reference/Data Pipelines API/create-pipelines/create-warehouse-pipeline.md index 07fe63a1b3..9e0dc53ee2 100644 --- a/reference/Data Pipelines API/create-pipelines/create-warehouse-pipeline.md +++ b/reference/Data Pipelines API/create-pipelines/create-warehouse-pipeline.md @@ -1,12 +1,12 @@ --- -title: "Create Pipeline" -slug: "create-warehouse-pipeline" -excerpt: "" -hidden: false -createdAt: "2022-02-18T20:12:47.076Z" -updatedAt: "2023-09-26T21:06:37.984Z" +title: Create Pipeline +category: + uri: Data Pipelines API +content: + excerpt: '' +privacy: + view: public --- - -This request creates an export pipeline. The `type` parameter defines the kind of pipeline that is initiated. Note that only 2 recurring and 1 non-recurring events pipelines (**data_source**: `events`) are allowed per project. +This request creates an export pipeline. The `type` parameter defines the kind of pipeline that is initiated. Note that only 2 recurring and 1 non-recurring events pipelines (**data\_source**: `events`) are allowed per project. Create API returns the name of the pipeline created. Use the name of the pipeline to check the status of or cancel the pipeline. diff --git a/reference/Data Pipelines API/delete-pipelines.md b/reference/Data Pipelines API/delete-pipelines.md deleted file mode 100644 index 187121d00e..0000000000 --- a/reference/Data Pipelines API/delete-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Delete Pipelines" -slug: "delete-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.878Z" -updatedAt: "2023-09-26T21:06:37.941Z" ---- diff --git a/reference/Data Pipelines API/delete-pipelines/_order.yaml b/reference/Data Pipelines API/delete-pipelines/_order.yaml new file mode 100644 index 0000000000..c88ef95848 --- /dev/null +++ b/reference/Data Pipelines API/delete-pipelines/_order.yaml @@ -0,0 +1 @@ +- cancel-warehouse-pipeline diff --git a/reference/Data Pipelines API/delete-pipelines/cancel-warehouse-pipeline.md b/reference/Data Pipelines API/delete-pipelines/cancel-warehouse-pipeline.md index 127aca6ac2..f04f1aaf5f 100644 --- a/reference/Data Pipelines API/delete-pipelines/cancel-warehouse-pipeline.md +++ b/reference/Data Pipelines API/delete-pipelines/cancel-warehouse-pipeline.md @@ -1,8 +1,14 @@ --- -title: "Delete Pipeline" -slug: "cancel-warehouse-pipeline" -excerpt: "For a given pipeline name, this request deletes the pipeline and stops any future jobs to be scheduled for the pipeline. Deleting the pipeline will result in the loss of all its historical data. If you wish to retain the history, it is recommended to pause the pipeline instead." -hidden: false -createdAt: "2022-02-18T20:12:47.077Z" -updatedAt: "2023-09-26T21:06:38.002Z" +title: Delete Pipeline +category: + uri: Data Pipelines API +content: + excerpt: >- + For a given pipeline name, this request deletes the pipeline and stops any + future jobs to be scheduled for the pipeline. Deleting the pipeline will + result in the loss of all its historical data. If you wish to retain the + history, it is recommended to pause the pipeline instead. +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/edit-pipelines.md b/reference/Data Pipelines API/edit-pipelines.md deleted file mode 100644 index 0a36f902d8..0000000000 --- a/reference/Data Pipelines API/edit-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Edit Pipelines" -slug: "edit-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.877Z" -updatedAt: "2023-09-26T21:06:37.934Z" ---- diff --git a/reference/Data Pipelines API/edit-pipelines/_order.yaml b/reference/Data Pipelines API/edit-pipelines/_order.yaml new file mode 100644 index 0000000000..a028306895 --- /dev/null +++ b/reference/Data Pipelines API/edit-pipelines/_order.yaml @@ -0,0 +1 @@ +- edit-warehouse-pipeline diff --git a/reference/Data Pipelines API/edit-pipelines/edit-warehouse-pipeline.md b/reference/Data Pipelines API/edit-pipelines/edit-warehouse-pipeline.md index 39409d7ce7..45a5704369 100644 --- a/reference/Data Pipelines API/edit-pipelines/edit-warehouse-pipeline.md +++ b/reference/Data Pipelines API/edit-pipelines/edit-warehouse-pipeline.md @@ -1,8 +1,11 @@ --- -title: "Edit Pipeline" -slug: "edit-warehouse-pipeline" -excerpt: "This request edit the params for an export pipeline." -hidden: false -createdAt: "2022-02-18T20:12:47.076Z" -updatedAt: "2023-09-26T21:06:37.992Z" +title: Edit Pipeline +category: + uri: Data Pipelines API +content: + excerpt: | + This request edit the params for an export pipeline. +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/overview-2.md b/reference/Data Pipelines API/overview-2.md index d0d9fb5f0b..5633ef7413 100644 --- a/reference/Data Pipelines API/overview-2.md +++ b/reference/Data Pipelines API/overview-2.md @@ -1,16 +1,16 @@ --- -title: "Overview" -slug: "overview-2" -hidden: false -createdAt: "2023-08-09T00:38:44.555Z" -updatedAt: "2023-08-09T00:38:54.824Z" +title: Overview +category: + uri: Data Pipelines API +content: + excerpt: '' +privacy: + view: public --- -[block:callout] - { - "type": "info", - "title": "Deprecated Version", - "body": "This version of managing pipelines via API is Deprecated going forward. For the customers who earlier used these apis to create and manage can continue using it. Otherwise Go to Integrations page in mixpanel to create and manage pipelines via UI." - } -[/block] + + Deprecated Version + + This version of managing pipelines via API is Deprecated going forward. For the customers who earlier used these apis to create and manage can continue using it. Otherwise Go to Integrations page in mixpanel to create and manage pipelines via UI. + These APIs help you manage Data Pipelines in Mixpanel. Learn more about our Data Pipelines add-on [here](https://docs.mixpanel.com/docs/data-pipelines) diff --git a/reference/Data Pipelines API/pause-pipelines.md b/reference/Data Pipelines API/pause-pipelines.md deleted file mode 100644 index 9459b59478..0000000000 --- a/reference/Data Pipelines API/pause-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Pause Pipelines" -slug: "pause-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.878Z" -updatedAt: "2023-09-26T21:06:37.954Z" ---- diff --git a/reference/Data Pipelines API/pause-pipelines/_order.yaml b/reference/Data Pipelines API/pause-pipelines/_order.yaml new file mode 100644 index 0000000000..77f30212fa --- /dev/null +++ b/reference/Data Pipelines API/pause-pipelines/_order.yaml @@ -0,0 +1 @@ +- pause-warehouse-pipeline diff --git a/reference/Data Pipelines API/pause-pipelines/pause-warehouse-pipeline.md b/reference/Data Pipelines API/pause-pipelines/pause-warehouse-pipeline.md index aad5aa5421..7349fde700 100644 --- a/reference/Data Pipelines API/pause-pipelines/pause-warehouse-pipeline.md +++ b/reference/Data Pipelines API/pause-pipelines/pause-warehouse-pipeline.md @@ -1,8 +1,12 @@ --- -title: "Pause Pipeline" -slug: "pause-warehouse-pipeline" -excerpt: "For a given pipeline name, this request pauses the pipeline which stops the ongoing jobs and prevents any future jobs to be scheduled for the pipeline" -hidden: false -createdAt: "2022-02-18T20:12:47.077Z" -updatedAt: "2023-09-26T21:06:38.013Z" +title: Pause Pipeline +category: + uri: Data Pipelines API +content: + excerpt: >- + For a given pipeline name, this request pauses the pipeline which stops the + ongoing jobs and prevents any future jobs to be scheduled for the pipeline +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/resume-pipelines.md b/reference/Data Pipelines API/resume-pipelines.md deleted file mode 100644 index 8447c6cf1e..0000000000 --- a/reference/Data Pipelines API/resume-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Resume Pipelines" -slug: "resume-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.878Z" -updatedAt: "2023-09-26T21:06:37.960Z" ---- diff --git a/reference/Data Pipelines API/resume-pipelines/_order.yaml b/reference/Data Pipelines API/resume-pipelines/_order.yaml new file mode 100644 index 0000000000..b5b0e119a8 --- /dev/null +++ b/reference/Data Pipelines API/resume-pipelines/_order.yaml @@ -0,0 +1 @@ +- resume-warehouse-pipeline diff --git a/reference/Data Pipelines API/resume-pipelines/resume-warehouse-pipeline.md b/reference/Data Pipelines API/resume-pipelines/resume-warehouse-pipeline.md index b836b76825..426f226124 100644 --- a/reference/Data Pipelines API/resume-pipelines/resume-warehouse-pipeline.md +++ b/reference/Data Pipelines API/resume-pipelines/resume-warehouse-pipeline.md @@ -1,8 +1,10 @@ --- -title: "Resume Pipeline" -slug: "resume-warehouse-pipeline" -excerpt: "For a given pipeline name, this request resumes the pipeline if it's paused" -hidden: false -createdAt: "2022-02-18T20:12:47.078Z" -updatedAt: "2023-09-26T21:06:38.021Z" +title: Resume Pipeline +category: + uri: Data Pipelines API +content: + excerpt: 'For a given pipeline name, this request resumes the pipeline if it''s paused' +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/retrieve-pipelines.md b/reference/Data Pipelines API/retrieve-pipelines.md deleted file mode 100644 index 107e10e258..0000000000 --- a/reference/Data Pipelines API/retrieve-pipelines.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Retrieve Pipelines" -slug: "retrieve-pipelines" -hidden: false -createdAt: "2022-02-18T20:12:45.876Z" -updatedAt: "2023-09-26T21:06:37.914Z" ---- diff --git a/reference/Data Pipelines API/retrieve-pipelines/_order.yaml b/reference/Data Pipelines API/retrieve-pipelines/_order.yaml new file mode 100644 index 0000000000..a497a62fe2 --- /dev/null +++ b/reference/Data Pipelines API/retrieve-pipelines/_order.yaml @@ -0,0 +1,3 @@ +- list-warehouse-pipeline-jobs +- get-warehouse-pipeline-status +- list-warehouse-pipeline-sync-dates diff --git a/reference/Data Pipelines API/retrieve-pipelines/get-warehouse-pipeline-status.md b/reference/Data Pipelines API/retrieve-pipelines/get-warehouse-pipeline-status.md index 4400d4377f..c126620721 100644 --- a/reference/Data Pipelines API/retrieve-pipelines/get-warehouse-pipeline-status.md +++ b/reference/Data Pipelines API/retrieve-pipelines/get-warehouse-pipeline-status.md @@ -1,12 +1,12 @@ --- -title: "Get Pipeline" -slug: "get-warehouse-pipeline-status" -excerpt: "" -hidden: false -createdAt: "2022-02-18T20:12:47.078Z" -updatedAt: "2023-09-26T21:06:38.030Z" +title: Get Pipeline +category: + uri: Data Pipelines API +content: + excerpt: '' +privacy: + view: public --- - Given the name of the pipeline this API returns the status of the pipeline. It returns the summary and status of all the recent run export jobs for the pipeline. **Example Response:** Status with no Summary and a Filter diff --git a/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-jobs.md b/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-jobs.md index 04762269bf..63381f7330 100644 --- a/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-jobs.md +++ b/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-jobs.md @@ -1,8 +1,12 @@ --- -title: "List Pipelines" -slug: "list-warehouse-pipeline-jobs" -excerpt: "This API endpoint returns the list of all the pipelines scheduled for a project." -hidden: false -createdAt: "2022-02-18T20:12:47.075Z" -updatedAt: "2023-09-26T21:06:37.975Z" +title: List Pipelines +category: + uri: Data Pipelines API +content: + excerpt: >- + This API endpoint returns the list of all the pipelines scheduled for a + project. +privacy: + view: public --- + diff --git a/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-sync-dates.md b/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-sync-dates.md index 9d5b04343f..7596c1dcc0 100644 --- a/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-sync-dates.md +++ b/reference/Data Pipelines API/retrieve-pipelines/list-warehouse-pipeline-sync-dates.md @@ -1,8 +1,10 @@ --- -title: "List Pipeline Logs" -slug: "list-warehouse-pipeline-sync-dates" -excerpt: "This endpoint returns the timestamps of all syncs grouped by date." -hidden: false -createdAt: "2022-02-18T20:12:47.079Z" -updatedAt: "2023-09-26T21:06:38.038Z" +title: List Pipeline Logs +category: + uri: Data Pipelines API +content: + excerpt: This endpoint returns the timestamps of all syncs grouped by date. +privacy: + view: public --- + diff --git a/reference/Event Export API/_order.yaml b/reference/Event Export API/_order.yaml new file mode 100644 index 0000000000..c65e61818a --- /dev/null +++ b/reference/Event Export API/_order.yaml @@ -0,0 +1,4 @@ +- raw-data-export-api +- raw-data-export-api-authentication +- export +- authentication-1 diff --git a/reference/Event Export API/authentication-1.md b/reference/Event Export API/authentication-1.md index 95eace63cc..33e836741d 100644 --- a/reference/Event Export API/authentication-1.md +++ b/reference/Event Export API/authentication-1.md @@ -1,41 +1,34 @@ --- -title: "Authentication (when workspaces ship)" -slug: "authentication-1" -hidden: true -createdAt: "2020-10-22T21:16:01.442Z" -updatedAt: "2020-10-22T21:17:34.725Z" +title: Authentication (when workspaces ship) +category: + uri: Event Export API +content: + excerpt: '' +privacy: + view: anyone_with_link --- -[block:api-header] -{ - "title": "Service Account" -} -[/block] +## Service Account + [Service Account Authentication Details](ref:authentication#service-account) -[block:callout] -{ - "type": "success", - "body": "This is the preferred authentication method for Raw Data Export API." -} -[/block] -- Requests parameters must include a `project_id`. - -**Projects with [Data Views](https://help.mixpanel.com/hc/en-us/articles/360043782572-Data-Views)** -- You can only export data through the global workspace. -- The Service Account must have permission to the global workspace. -- In addition to `project_id`, you should include the global data view's `workspace_id` as a request parameter. - -**Projects with [Classified Data](https://help.mixpanel.com/hc/en-us/articles/360044295131-Data-Classification)** -- The Service Account must have permission to access classified data. -[block:api-header] -{ - "title": "Project Secret" -} -[/block] + +> 👍 This is the preferred authentication method for Raw Data Export API. + +* Requests parameters must include a `project_id`. + +**Projects with[Data Views](https://help.mixpanel.com/hc/en-us/articles/360043782572-Data-Views)** + +* You can only export data through the global workspace. +* The Service Account must have permission to the global workspace. +* In addition to `project_id`, you should include the global data view's `workspace_id` as a request parameter. + +**Projects with[Classified Data](https://help.mixpanel.com/hc/en-us/articles/360044295131-Data-Classification)** + +* The Service Account must have permission to access classified data. + +## Project Secret + [Project Secret Authentication Details](ref:authentication#project-secret) -[block:callout] -{ - "type": "danger", - "body": "Project Secret authentication is in the process of being deprecated. This authentication method does not currently have an EOL date.", - "title": "Please migrate existing integrations to use Service Account authentication" -} -[/block] \ No newline at end of file + +> ❗️ Please migrate existing integrations to use Service Account authentication +> +> Project Secret authentication is in the process of being deprecated. This authentication method does not currently have an EOL date. diff --git a/reference/Event Export API/export.md b/reference/Event Export API/export.md deleted file mode 100644 index ed894f41ff..0000000000 --- a/reference/Event Export API/export.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Export" -slug: "export" -hidden: false -createdAt: "2023-06-22T20:20:41.982Z" -updatedAt: "2023-09-26T21:06:37.313Z" ---- diff --git a/reference/Event Export API/export/_order.yaml b/reference/Event Export API/export/_order.yaml new file mode 100644 index 0000000000..71c6bd250f --- /dev/null +++ b/reference/Event Export API/export/_order.yaml @@ -0,0 +1 @@ +- raw-event-export diff --git a/reference/Event Export API/export/raw-event-export.md b/reference/Event Export API/export/raw-event-export.md index 45d1a31f3a..876e87a44e 100644 --- a/reference/Event Export API/export/raw-event-export.md +++ b/reference/Event Export API/export/raw-event-export.md @@ -1,8 +1,18 @@ --- -title: "Download Data" -slug: "raw-event-export" -excerpt: "Every data point sent to Mixpanel is stored as JSON in our data store. The raw export API allows you to download your event data as it is received and stored within Mixpanel, complete with all event properties (including distinct_id) and the exact timestamp the event was fired." -hidden: false -createdAt: "2023-06-22T20:20:42.301Z" -updatedAt: "2023-09-26T21:06:37.326Z" +title: Download Data +category: + uri: Event Export API +content: + excerpt: >- + Every data point sent to Mixpanel is stored as JSON in our data store. The + raw export API allows you to download your event data as it is received and + stored within Mixpanel, complete with all event properties (including + distinct_id) and the exact timestamp the event was fired. + + The raw export API has a rate limit of 60 queries per hour, 3 queries per + second, and a maximum of 100 concurrent queries. If you exceed the rate + limit, a 429 error will be returned. +privacy: + view: public --- + diff --git a/reference/Event Export API/raw-data-export-api-authentication.md b/reference/Event Export API/raw-data-export-api-authentication.md index d71718015d..bc552cf8bf 100644 --- a/reference/Event Export API/raw-data-export-api-authentication.md +++ b/reference/Event Export API/raw-data-export-api-authentication.md @@ -1,20 +1,22 @@ --- -title: "Authentication" -slug: "raw-data-export-api-authentication" -hidden: false -createdAt: "2020-10-20T01:09:46.014Z" -updatedAt: "2023-05-22T22:09:07.345Z" +title: Authentication +category: + uri: Event Export API +content: + excerpt: '' +privacy: + view: public --- ## Service Account -[Project Secret Authentication Details](ref:authentication#service-accounts) +[Service Account Authentication Details](ref:service-accounts) -Note that when you use Service Account authentication, you must specify the project_id as a query parameter. E.g. `https://data.mixpanel.com/api/2.0/export?project_id=12345` +Note that when you use Service Account authentication, you must specify the project\_id as a query parameter. E.g. `https://data.mixpanel.com/api/2.0/export?project_id=12345` -**Projects with [Classified Data](https://docs.mixpanel.com/docs/admin/data-governance/data-views-data-classification#data-classification)** +**Projects with[Classified Data](https://docs.mixpanel.com/docs/admin/data-governance/data-views-data-classification#data-classification)** -- The Service Account must have permission to access classified data. +* The Service Account must have permission to access classified data. ## Project Secret -[Project Secret Authentication Details](ref:authentication#project-secret) \ No newline at end of file +[Project Secret Authentication Details](ref:project-secret) diff --git a/reference/Event Export API/raw-data-export-api.md b/reference/Event Export API/raw-data-export-api.md index 4d0b8dc296..ea40dc6328 100644 --- a/reference/Event Export API/raw-data-export-api.md +++ b/reference/Event Export API/raw-data-export-api.md @@ -1,13 +1,16 @@ --- -title: "Overview" -slug: "raw-data-export-api" -hidden: false -createdAt: "2020-10-20T01:09:19.900Z" -updatedAt: "2021-06-21T20:47:34.915Z" +title: Overview +category: + uri: Event Export API +content: + excerpt: '' +privacy: + view: public --- The Mixpanel Export Data APIs allow you to export your raw data either manually or through a pipeline. Example usage: + * If you receive a spike of 10K events but notice that only a few users contributed to it and would like to compare the data to another source. * If you are exporting events from one project and importing them into another. -* If you are doing some very custom analysis Mixpanel cannot currently do. If this is the case, please [contact support](https://mixpanel.com/get-support) so we can either improve our product or possibly show you how you can perform this analysis within Mixpanel. \ No newline at end of file +* If you are doing some very custom analysis Mixpanel cannot currently do. If this is the case, please [contact support](https://mixpanel.com/get-support) so we can either improve our product or possibly show you how you can perform this analysis within Mixpanel. diff --git a/reference/GDPR API/_order.yaml b/reference/GDPR API/_order.yaml new file mode 100644 index 0000000000..13f45ab2fe --- /dev/null +++ b/reference/GDPR API/_order.yaml @@ -0,0 +1,6 @@ +- gdpr-api +- create-a-retrieval +- check-status-of-retrieval +- create-a-deletion +- check-status-of-deletion +- cancel-a-deletion diff --git a/reference/GDPR API/cancel-a-deletion/_order.yaml b/reference/GDPR API/cancel-a-deletion/_order.yaml new file mode 100644 index 0000000000..be61f234e2 --- /dev/null +++ b/reference/GDPR API/cancel-a-deletion/_order.yaml @@ -0,0 +1 @@ +- delete-deletion diff --git a/reference/GDPR API/cancel-a-deletion/delete-deletion.md b/reference/GDPR API/cancel-a-deletion/delete-deletion.md new file mode 100644 index 0000000000..e3e5e3e120 --- /dev/null +++ b/reference/GDPR API/cancel-a-deletion/delete-deletion.md @@ -0,0 +1,10 @@ +--- +title: Cancel a Deletion +category: + uri: GDPR API +content: + excerpt: Cancel a deletion task that is still in progress +privacy: + view: public +--- + diff --git a/reference/GDPR API/check-status-of-deletion/_order.yaml b/reference/GDPR API/check-status-of-deletion/_order.yaml new file mode 100644 index 0000000000..574c51b58d --- /dev/null +++ b/reference/GDPR API/check-status-of-deletion/_order.yaml @@ -0,0 +1 @@ +- get-deletion diff --git a/reference/GDPR API/check-status-of-deletion/get-deletion.md b/reference/GDPR API/check-status-of-deletion/get-deletion.md new file mode 100644 index 0000000000..a2b285ed5b --- /dev/null +++ b/reference/GDPR API/check-status-of-deletion/get-deletion.md @@ -0,0 +1,10 @@ +--- +title: Check Status of Deletion +category: + uri: GDPR API +content: + excerpt: Checks the status of an existing deletion task +privacy: + view: public +--- + diff --git a/reference/GDPR API/check-status-of-retrieval/_order.yaml b/reference/GDPR API/check-status-of-retrieval/_order.yaml new file mode 100644 index 0000000000..6744e20c11 --- /dev/null +++ b/reference/GDPR API/check-status-of-retrieval/_order.yaml @@ -0,0 +1 @@ +- get-retrieval diff --git a/reference/GDPR API/check-status-of-retrieval/get-retrieval.md b/reference/GDPR API/check-status-of-retrieval/get-retrieval.md new file mode 100644 index 0000000000..abd1612ff4 --- /dev/null +++ b/reference/GDPR API/check-status-of-retrieval/get-retrieval.md @@ -0,0 +1,10 @@ +--- +title: Check Status of Retrieval +category: + uri: GDPR API +content: + excerpt: Checks the status of a data retrieval job +privacy: + view: public +--- + diff --git a/reference/GDPR API/create-a-deletion/_order.yaml b/reference/GDPR API/create-a-deletion/_order.yaml new file mode 100644 index 0000000000..9701ee2b8b --- /dev/null +++ b/reference/GDPR API/create-a-deletion/_order.yaml @@ -0,0 +1 @@ +- create-deletion diff --git a/reference/GDPR API/create-a-deletion/create-deletion.md b/reference/GDPR API/create-a-deletion/create-deletion.md new file mode 100644 index 0000000000..82e93d9a05 --- /dev/null +++ b/reference/GDPR API/create-a-deletion/create-deletion.md @@ -0,0 +1,10 @@ +--- +title: Create a Deletion +category: + uri: GDPR API +content: + excerpt: Creates a task that specifies a list of users in a project to delete +privacy: + view: public +--- + diff --git a/reference/GDPR API/create-a-retrieval/_order.yaml b/reference/GDPR API/create-a-retrieval/_order.yaml new file mode 100644 index 0000000000..402fe88277 --- /dev/null +++ b/reference/GDPR API/create-a-retrieval/_order.yaml @@ -0,0 +1 @@ +- create-retrieval-1 diff --git a/reference/GDPR API/create-a-retrieval/create-retrieval-1.md b/reference/GDPR API/create-a-retrieval/create-retrieval-1.md new file mode 100644 index 0000000000..52f1c9aa32 --- /dev/null +++ b/reference/GDPR API/create-a-retrieval/create-retrieval-1.md @@ -0,0 +1,10 @@ +--- +title: Create a Retrieval +category: + uri: GDPR API +content: + excerpt: Creates a data retrieval job. +privacy: + view: public +--- + diff --git a/reference/GDPR API/gdpr-api.md b/reference/GDPR API/gdpr-api.md new file mode 100644 index 0000000000..4f9d07b499 --- /dev/null +++ b/reference/GDPR API/gdpr-api.md @@ -0,0 +1,230 @@ +--- +title: Overview +category: + uri: GDPR API +content: + excerpt: '' +privacy: + view: public +--- +## GDPR and CCPA API (v3) + +The following retrieval and deletion API calls are updated for version 3 and are made for GDPR and CCPA compliance. + +#### Create Retrieval + +Request Type: **POST**\ +Description: Creates a data retrieval job.\ +Endpoint: `https://mixpanel.com/api/app/data-retrievals/v3.0/?token=`\ +Parameters: + +| Parameter | Parameter Type | Data Type | Description | +| ---------------- | --------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| distinct\_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 2000 distinct IDs. | +| compliance\_type | Body. Passed in JSON blob format. | String | Select CCPA or GDPR. Default is GDPR. | +| disclosure\_type | Body. Passed in JSON blob format. | String | Only required if compliance\_type = CCPA. Can be [Data, Categories, or Sources. Default is Data](https://docs.mixpanel.com/docs/privacy/end-user-data-management). | + +Authorization: + +| Authorization Type | Pass As | Description | +| ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | + +Example Request: + +```text +curl "https://mixpanel.com/api/app/data-retrievals/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" +-H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" +``` + +##### Rate Limit + +We place a rate limit in place to ensure the integrity of our system as well as prevent a single project from monopolizing the available resources for other projects. Getting a 429 response code from our GDPR API means that you have reached our rate limit. We currently have a rate limit of 1 request per second for GDPR APIs. We also limit the maximum number of outstanding scans for a single project to approximately 5 years. + +GDPR data retrieval process works by dividing the job of extracting the events by the granularity of the day, getting the events belonging to each distinct\_id in the request for each day going back to the first day for which we have events in Mixpanel. Since user activity can go back several years, this means that even a single data retrieval request might require scans of many hundred days. + +To maximize the throughput of data retrievals, we recommend sending the maximum number of distinct IDs per request, now at 2000, and then retrying with exponential backoff. Depending on the amount of data that needs to be scanned, retrying for several hours might sometimes be necessary. + +Example Return:\ +`{"status":"ok","results":[{"status":"PENDING", "disclosure_type":"DATA", "date_requested":"2020-03-09T22:28:55.078315", "tracking_id":"1583792934719392965", "project_id":1978118, "compliance_type":"ccpa", "destination_url":null, "requesting_user":"pat.davis@mixpanel.com", "distinct_id_count":1}]}` + +#### Check Status of Retrieval + +Request Type: GET + +Description: Checks the status of a data retrieval job. + +Endpoint: `https://mixpanel.com/api/app/data-retrievals/v3.0/?token=` + +Return Format:\ +`200 OK { + "results": { + "status": oneOf [ + "PENDING", + "STAGING", + "STARTED", + "SUCCESS", + "FAILURE", + "REVOKED", + "NOT_FOUND", + "UNKNOWN", + ], + } +}` + +Return Key: + +| Name | Type | Description | +| ---------- | ------ | ----------------------------------------------------------------------------------------------------- | +| PENDING | String | Task ID returned from POST. | +| STAGING | String | The staging process of the retrieval task has started. The task can still be canceled during staging. | +| STARTED | String | The retrieval task has started, and cannot be canceled. | +| SUCCESS | String | The retrieval task is complete. | +| FAILURE | String | The retrieval task has failed. Check the original task input parameters and create a new task. | +| REVOKED | String | The retrieval task has been canceled through a DELETE operation. | +| NOT\_FOUND | String | The retrieval task cannot be found. | +| UNKNOWN | String | An error occurred while locating the retrieval task. | + +Parameters: + +| Parameter | Parameter Type | Type | Description | +| --------- | --------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| Task ID | URL. Passed in request URL. | Query String Parameter | The tracking ID shown in the response. | + +Authorization: + +| Authorization Type | Pass As | Description | +| ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | + +Example Request:\ +`curl "https://mixpanel.com/api/app/data-retrievals/v3.0/1583958896131033662/?token=591b3354bb2bdd96f72f23bf56911673" +-H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc"` + +Example Return:\ +`{"status": "ok", "results": {"status": "PENDING", "result": "", "distinct_ids": ["1"]}}` + +#### Create a Deletion Task + +Request Type: POST + +Description: Creates a task that specifies a list of users in a particular project to delete. This will schedule a deletion job that will delete all data, including events and user profile data, for the users specified by distinct\_ids. This deletion job may be canceled until it reaches the STARTED stage. It may take up to 30 days to complete a deletion task in a customer’s Mixpanel database. Mixpanel may retain records of deletion tasks for legal compliance purposes or for a short time based on our legitimate interest in providing a service continuity. + +Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` + +Parameters: + +| Parameter | Parameter Type | Type | Description | +| ---------------- | --------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| distinct\_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 1999 distinct IDs. | +| compliance\_type | Body. Passed in JSON blob format. | String | Select CCPA or GDPR. Default is GDPR. | + +Authorization: + +| Authorization Type | Pass As | Description | +| ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | + +Example Request:\ +`curl "https://mixpanel.com/api/app/data-deletions/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" +-H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" -d '{"compliance_type":"CCPA", "distinct_ids":["1"]}'` + +Example Return:\ +`{"status":"ok","results":[{"status":"PENDING", "disclosure_type":"DATA", "date_requested":"2020-03-09T22:28:55.078315", "tracking_id":"1583792934719392965", "project_id":1978118, "compliance_type":"ccpa", "destination_url":null, "requesting_user":"pat.davis@mixpanel.com", "distinct_id_count":1}]}` + +#### Check Status of a Deletion Task + +Request Type: **GET** + +Description: Checks the status of an existing deletion task. + +Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` + +Return Format:\ +` "results": { + "status": +//You will get one of the following returns +oneOf [ + "PENDING", + "STAGING", + "STARTED", + "SUCCESS", + "FAILURE", + "REVOKED", + "NOT_FOUND", + "UNKNOWN", + ], + } +}` + +Return Key: + +| Name | Type | Description | +| ---------- | ------ | ---------------------------------------------------------------------------------------------------- | +| PENDING | String | Task ID returned from POST. | +| STAGING | String | The staging process of the deletion task has started. The task can still be canceled during staging. | +| STARTED | String | The deletion task has started, and cannot be canceled. | +| SUCCESS | String | The deletion task is complete. | +| FAILURE | String | The deletion task has failed. Check the original task input parameters and create a new task. | +| REVOKED | String | The deletion task has been canceled through a DELETE operation. | +| NOT\_FOUND | String | The deletion task cannot be found. | +| UNKNOWN | String | An error occurred while locating the deletion task. | + +Parameters: + +| Parameter | Parameter Type | Type | Description | +| --------- | --------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| Task ID | URL. Passed in request URL. | Query String Parameter | The tracking ID shown in the response. | + +Authorization: + +| Authorization Type | Pass As | Description | +| ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | + +Example Request:\ +`curl "https://mixpanel.com/api/app/data-deletions/v3.0/35bd8477-f71f-4088-af55-c88a6fb4ad4b/?token=591b3354bb2bdd96f72f23bf56911674" -H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc"` + +Example Return:\ +`{"status": "ok", "results": {"status": "PENDING", "result": "", "distinct_ids": ["1"]}}` + +#### Cancel Deletion + +Request Type: **DELETE** + +Description: Cancels an existing deletion task. Deletion jobs can be canceled until the STARTED stage initiates. + +Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` + +Return Format: `204 NoContent` or `405 MethodNotAllowed` + +Return Key: + +| Name | Type | Description | +| -------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| 204 NoContent | Query String Parameter `required` | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| 405 MethodNotAllowed | Query String Parameter `required` | Task ID returned from POST. | + +Parameters: + +| Parameter | Parameter Type | Type | Description | +| ------------- | --------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | +| distinct\_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 1999 distinct IDs. | + +Authorization: + +| Authorization Type | Pass As | Description | +| ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | + +Example Request:\ +`curl "https://mixpanel.com/api/app/data-deletions/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" +-H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" -d '{"distinct_ids":["1"]}'` + +Example Return:\ +`{"status": "ok", "results": {"task_id": "35bd8477-f71f-4088-af55-c88a6fb4ad4a"}}` diff --git a/reference/GDPR API/overview.md b/reference/GDPR API/overview.md deleted file mode 100644 index 6815b33a7f..0000000000 --- a/reference/GDPR API/overview.md +++ /dev/null @@ -1,224 +0,0 @@ ---- -title: "Overview" -slug: "gdpr-api" -hidden: false -createdAt: "2024-05-14T00:38:44.555Z" -updatedAt: "2024-05-14T00:38:54.824Z" -categorySlug: "gdpr-api" ---- - -## GDPR and CCPA API (v3) -The following retrieval and deletion API calls are updated for version 3 and are made for GDPR and CCPA compliance. - -#### Create Retrieval -Request Type: **POST** -Description: Creates a data retrieval job. -Endpoint: `https://mixpanel.com/api/app/data-retrievals/v3.0/?token=` -Parameters: - -| Parameter | Parameter Type | Data Type | Description | -|-----------------|-------------------------|----------------|-------------------| -| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| distinct_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 2000 distinct IDs. | -| compliance_type | Body. Passed in JSON blob format. | String | Select CCPA or GDPR. Default is GDPR. | -| disclosure_type | Body. Passed in JSON blob format. | String | Only required if compliance_type = CCPA. Can be [Data, Categories, or Sources. Default is Data](https://docs.mixpanel.com/docs/privacy/end-user-data-management). | - -Authorization: - -| Authorization Type | Pass As | Description | -|-----------------------------|-------------|-------------------| -| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | - -Example Request: -```text -curl "https://mixpanel.com/api/app/data-retrievals/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" --H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" -``` - -##### Rate Limit - -We place a rate limit in place to ensure the integrity of our system as well as prevent a single project from monopolizing the available resources for other projects. Getting a 429 response code from our GDPR API means that you have reached our rate limit. We currently have a rate limit of 1 request per second for GDPR APIs. We also limit the maximum number of outstanding scans for a single project to approximately 5 years. - -GDPR data retrieval process works by dividing the job of extracting the events by the granularity of the day, getting the events belonging to each distinct_id in the request for each day going back to the first day for which we have events in Mixpanel. Since user activity can go back several years, this means that even a single data retrieval request might require scans of many hundred days. - -To maximize the throughput of data retrievals, we recommend sending the maximum number of distinct IDs per request, now at 2000, and then retrying with exponential backoff. Depending on the amount of data that needs to be scanned, retrying for several hours might sometimes be necessary. - -Example Return: -`{"status":"ok","results":[{"status":"PENDING", "disclosure_type":"DATA", "date_requested":"2020-03-09T22:28:55.078315", "tracking_id":"1583792934719392965", "project_id":1978118, "compliance_type":"ccpa", "destination_url":null, "requesting_user":"pat.davis@mixpanel.com", "distinct_id_count":1}]}` - -#### Check Status of Retrieval -Request Type: GET - -Description: Checks the status of a data retrieval job. - -Endpoint: `https://mixpanel.com/api/app/data-retrievals/v3.0/?token=` - -Return Format: -`200 OK -{ - "results": { - "status": oneOf [ - "PENDING", - "STAGING", - "STARTED", - "SUCCESS", - "FAILURE", - "REVOKED", - "NOT_FOUND", - "UNKNOWN", - ], - } -}` - -Return Key: - -| Name | Type | Description | -|----------|---------|-------------------| -| PENDING | String | Task ID returned from POST. | -| STAGING | String | The staging process of the retrieval task has started. The task can still be canceled during staging. | -| STARTED | String | The retrieval task has started, and cannot be canceled. | -| SUCCESS | String | The retrieval task is complete. | -| FAILURE | String | The retrieval task has failed. Check the original task input parameters and create a new task. | -| REVOKED | String | The retrieval task has been canceled through a DELETE operation. | -| NOT_FOUND | String | The retrieval task cannot be found. | -| UNKNOWN | String | An error occurred while locating the retrieval task. | - -Parameters: - -| Parameter | Parameter Type | Type | Description | -|-----------------|-------------------------|---------|------------------| -| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| Task ID | URL. Passed in request URL. | Query String Parameter | The tracking ID shown in the response. | - -Authorization: - -| Authorization Type | Pass As | Description | -|-----------------------------|-------------|------------------| -| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | - -Example Request: -`curl "https://mixpanel.com/api/app/data-retrievals/v3.0/1583958896131033662/?token=591b3354bb2bdd96f72f23bf56911673" --H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc"` - -Example Return: -`{"status": "ok", "results": {"status": "PENDING", "result": "", "distinct_ids": ["1"]}}` - -#### Create a Deletion Task -Request Type: POST - -Description: Creates a task that specifies a list of users in a particular project to delete. This will schedule a deletion job that will delete all data, including events and user profile data, for the users specified by distinct_ids. This deletion job may be canceled until it reaches the STARTED stage. It may take up to 30 days to complete a deletion task in a customer’s Mixpanel database. Mixpanel may retain records of deletion tasks for legal compliance purposes or for a short time based on our legitimate interest in providing a service continuity. - -Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` - -Parameters: - -| Parameter | Parameter Type | Type | Description | -|-----------------|-------------------------|---------|------------------| -| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| distinct_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 1999 distinct IDs. | -| compliance_type | Body. Passed in JSON blob format. | String | Select CCPA or GDPR. Default is GDPR. | - -Authorization: - -| Authorization Type | Pass As | Description | -|-----------------------------|-------------|------------------| -| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | - -Example Request: -`curl "https://mixpanel.com/api/app/data-deletions/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" --H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" -d '{"compliance_type":"CCPA", "distinct_ids":["1"]}'` - -Example Return: -`{"status":"ok","results":[{"status":"PENDING", "disclosure_type":"DATA", "date_requested":"2020-03-09T22:28:55.078315", "tracking_id":"1583792934719392965", "project_id":1978118, "compliance_type":"ccpa", "destination_url":null, "requesting_user":"pat.davis@mixpanel.com", "distinct_id_count":1}]}` - -#### Check Status of a Deletion Task -Request Type: **GET** - -Description: Checks the status of an existing deletion task. - -Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` - -Return Format: -` "results": { - "status": -//You will get one of the following returns -oneOf [ - "PENDING", - "STAGING", - "STARTED", - "SUCCESS", - "FAILURE", - "REVOKED", - "NOT_FOUND", - "UNKNOWN", - ], - } -}` - -Return Key: - -| Name | Type | Description | -|----------|---------|-------------------| -| PENDING | String | Task ID returned from POST. | -| STAGING | String | The staging process of the deletion task has started. The task can still be canceled during staging. | -| STARTED | String | The deletion task has started, and cannot be canceled. | -| SUCCESS | String | The deletion task is complete. | -| FAILURE | String | The deletion task has failed. Check the original task input parameters and create a new task. | -| REVOKED | String | The deletion task has been canceled through a DELETE operation. | -| NOT_FOUND | String | The deletion task cannot be found. | -| UNKNOWN | String | An error occurred while locating the deletion task. | - -Parameters: - -| Parameter | Parameter Type | Type | Description | -|-----------------|-------------------------|---------|------------------| -| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| Task ID | URL. Passed in request URL. | Query String Parameter | The tracking ID shown in the response. | - -Authorization: - -| Authorization Type | Pass As | Description | -|-----------------------------|-------------|------------------| -| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | - -Example Request: -`curl "https://mixpanel.com/api/app/data-deletions/v3.0/35bd8477-f71f-4088-af55-c88a6fb4ad4b/?token=591b3354bb2bdd96f72f23bf56911674" -H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc"` - -Example Return: -`{"status": "ok", "results": {"status": "PENDING", "result": "", "distinct_ids": ["1"]}}` - -#### Cancel Deletion -Request Type: **DELETE** - -Description: Cancels an existing deletion task. Deletion jobs can be canceled until the STARTED stage initiates. - -Endpoint: `https://mixpanel.com/api/app/data-deletions/v3.0/?token=` - -Return Format: `204 NoContent` or `405 MethodNotAllowed` - -Return Key: - -| Name | Type | Description | -|----------|----------|------------------| -| 204 NoContent | Query String Parameter `required` | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| 405 MethodNotAllowed | Query String Parameter `required` | Task ID returned from POST. | - -Parameters: - -| Parameter | Parameter Type | Type | Description | -|-----------------|-------------------------|---------|------------------| -| Token | URL. Passed in request URL. | Query String Parameter | Your Mixpanel [project token](https://docs.mixpanel.com/docs/orgs-and-projects/managing-projects#find-your-project-tokens). | -| distinct_ids | Body. Passed in JSON blob format. | Array of strings | A list of distinct IDs associated with the users whose data you would like to export. You can add up to 1999 distinct IDs. | - -Authorization: - -| Authorization Type | Pass As | Description | -|-----------------------------|-------------|------------------| -| Bearer | Body. Passed in JSON blob format. | Your [OAuth token](https://docs.mixpanel.com/docs/privacy/end-user-data-management#generate-oauth-token) for GDPR APIs. | - -Example Request: -`curl "https://mixpanel.com/api/app/data-deletions/v3.0/?token=591b3354bb2bdd96f72f23bf56911673" --H "Authorization: Bearer vZcErNw8JCq42BZUJyWoZmDWCKBxXc" -d '{"distinct_ids":["1"]}'` - -Example Return: -`{"status": "ok", "results": {"task_id": "35bd8477-f71f-4088-af55-c88a6fb4ad4a"}}` diff --git a/reference/Identity API/_order.yaml b/reference/Identity API/_order.yaml new file mode 100644 index 0000000000..289c85ebf6 --- /dev/null +++ b/reference/Identity API/_order.yaml @@ -0,0 +1 @@ +- identities diff --git a/reference/Identity API/identities.md b/reference/Identity API/identities.md deleted file mode 100644 index 041ed3dd3f..0000000000 --- a/reference/Identity API/identities.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Identities" -slug: "identities" -hidden: false -createdAt: "2021-08-04T20:46:15.584Z" -updatedAt: "2023-09-26T21:06:37.340Z" ---- diff --git a/reference/Identity API/identities/_order.yaml b/reference/Identity API/identities/_order.yaml new file mode 100644 index 0000000000..2c0626d974 --- /dev/null +++ b/reference/Identity API/identities/_order.yaml @@ -0,0 +1,3 @@ +- create-identity +- identity-create-alias +- identity-merge diff --git a/reference/Identity API/identities/create-identity.md b/reference/Identity API/identities/create-identity.md index 9004c35fde..841951adbe 100644 --- a/reference/Identity API/identities/create-identity.md +++ b/reference/Identity API/identities/create-identity.md @@ -1,24 +1,19 @@ --- -title: "Create Identity" -slug: "create-identity" -excerpt: "" -hidden: false -createdAt: "2021-08-04T20:56:14.330Z" -updatedAt: "2023-09-26T21:06:37.368Z" +title: Create Identity +category: + uri: Identity API +content: + excerpt: '' +privacy: + view: public --- -[block:callout] -{ - "type": "info", - "body": "The $identify event payload is only useful for projects using the Original ID Merge system; it has no functionality in other ID management systems. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information." -} -[/block] + + The `$identify` event payload is only useful for projects using the Original ID Merge system; it has no functionality in other ID management systems. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information. + -[block:callout] -{ - "type": "info", - "body": "You can also use the import endpoint: https://api.mixpanel.com/import/" -} -[/block] + + You can also use the import endpoint: [https://api.mixpanel.com/import/](https://api.mixpanel.com/import/) + ```sh curl --request POST \ @@ -37,16 +32,15 @@ curl --request POST \ ``` **Identify Criteria:** -![Identity Management - Identify](https://files.readme.io/d0066f0-ID_management_identify_3-HTTP.png) - +![](https://files.readme.io/d0066f0-ID_management_identify_3-HTTP.png) -**Required [Event Object](https://docs.mixpanel.com/docs/tracking/reference/data-model#anatomy-of-an-event) attributes** +**Required[Event Object](https://docs.mixpanel.com/docs/tracking/reference/data-model#anatomy-of-an-event) attributes** -| Event Object property | Type | Description | -| ----------------------------- | ----------------------- | ------------------------------------------------------------------- | -| **event** | String
required| value must be: `$identify` | -| **properties** | Object
required| | -| **properties.distinct_id** | String
optional| The distinct ID post-identification (same as $identified_id - it will be inferred from $identified_id if not included)| -| **properties.$identified_id** | String
required| A distinct_id to merge with the $anon_id. | -| **properties.$anon_id** | String
required| A distinct_id to merge with the $identified_id. The $anon_id must be [UUID v4](https://en.wikipedia.org/wiki/Universally_unique_identifier) format and not already merged to an $identified_id.| -| **properties.token** | String
required| The project token. | +| Event Object property | Type | Description | +| :---------------------------- | :---------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **event** | String
required | value must be: `$identify` | +| **properties** | Object
required | | +| **properties.distinct_id** | String
optional | The distinct ID post-identification (same as $identified_id - it will be inferred from $identified_id if not included) | +| **properties.$identified_id** | String
required | A distinct_id to merge with the $anon_id. | +| **properties.$anon_id** | String
required | A distinct_id to merge with the $identified_id. The $anon_id must be [UUID v4](https://en.wikipedia.org/wiki/Universally_unique_identifier) format and not already merged to an $identified_id. | +| **properties.token** | String
required | The project token. | diff --git a/reference/Identity API/identities/identity-create-alias.md b/reference/Identity API/identities/identity-create-alias.md index fee01623ce..badca72a12 100644 --- a/reference/Identity API/identities/identity-create-alias.md +++ b/reference/Identity API/identities/identity-create-alias.md @@ -1,52 +1,86 @@ --- -title: "Create Alias" -slug: "identity-create-alias" -excerpt: "" -hidden: false -createdAt: "2021-08-04T20:46:15.948Z" -updatedAt: "2023-09-26T21:06:37.385Z" +title: Create Alias +category: + uri: Identity API +content: + excerpt: '' +privacy: + view: public --- + + The `$create_alias` event payload is only useful for projects using the Original ID Merge system and the Legacy ID Management System; it has no functionality in the Simplified ID Merge system. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information. + -[block:callout] -{ - "type": "info", - "body": "The $create_alias event payload is only useful for projects using the Original ID Merge system and the Legacy ID Management System; it has no functionality in the Simplified ID Merge system. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information." -} -[/block] - -[block:callout] -{ - "type": "info", - "body": "You can also use the import endpoint: https://api.mixpanel.com/import/" -} -[/block] + + You can also use the import endpoint: [https://api.mixpanel.com/import/](https://api.mixpanel.com/import/) + Mixpanel supports adding an alias to a distinct id. An alias is a new value that will be interpreted by Mixpanel as an existing value. That means that you can send messages to Mixpanel using the new value, and Mixpanel will continue to use the old value for calculating funnels and retention reports, or applying updates to user profiles. **Alias Criteria:** -[block:image] -{ - "images": [ - { - "image": [ - "https://files.readme.io/d16f1d3-ID_management_alias_3-HTTP.png", - "Identity Management - Alias", - 960, - 697, - "#cad5da" - ] - } - ] -} -[/block] - -**Required [Event Object](https://docs.mixpanel.com/docs/tracking/reference/data-model#anatomy-of-an-event) attributes** - -| Event Object property | Type | Description | -| ------------------------- | ----------------------- | ------------------------------------------------------- | -| **event** | String
required| value must be: `$create_alias` | -| **properties** | Object
required| | -| **properties.distinct_id**| String
required| A distinct_id to be merged with the alias. | -| **properties.alias** | String
required| A new distinct_id to be merged with the original distinct_id. Each alias can only map to one distinct_id.| -| **properties.token** | String
required| The project token. | +960 + +**Required[Event Object](https://docs.mixpanel.com/docs/tracking/reference/data-model#anatomy-of-an-event) attributes** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event Object propertyTypeDescription
**event** + String
required +
value must be:
`$create_alias`
**properties** + Object
required +
+
**properties.distinct\_id** + String
required +
A distinct\_id to be merged with the alias.
**properties.alias** + String
required +
A new distinct\_id to be merged with the original distinct\_id. Each alias can only map to one distinct\_id.
**properties.token** + String
required +
The project token.
diff --git a/reference/Identity API/identities/identity-merge.md b/reference/Identity API/identities/identity-merge.md index 3103db01b8..187f1a1f72 100644 --- a/reference/Identity API/identities/identity-merge.md +++ b/reference/Identity API/identities/identity-merge.md @@ -1,39 +1,22 @@ --- -title: "Merge Identities" -slug: "identity-merge" -excerpt: "" -hidden: false -createdAt: "2021-08-04T20:46:15.950Z" -updatedAt: "2023-09-26T21:06:37.416Z" +title: Merge Identities +category: + uri: Identity API +content: + excerpt: '' +privacy: + view: public --- -[block:callout] -{ - "type": "info", - "body": "The $merge event payload is only useful for projects using the Original ID Merge system; it has no functionality in other ID management systems. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information." -} -[/block] + + The `$merge` event payload is only useful for projects using the Original ID Merge system; it has no functionality in other ID management systems. Please review [this section of our documentation](https://docs.mixpanel.com/docs/tracking-methods/id-management#identity-merge-apis) for more information. + -[block:callout] -{ - "type": "danger", - "title": "Merging identities is irreversible", - "body": "`$merge` is a very powerful tool, so we will only accept `$merge` events that are sent via `https://api.mixpanel.com/import`, which is protected by the project api secret. You **cannot** unmerge `distinct_id`." -} -[/block] + + Merging identities is irreversible + + `$merge` is a very powerful tool, so we will only accept `$merge` events that are sent via `https://api.mixpanel.com/import`, which is protected by the project api secret. You **cannot** unmerge `distinct_id`. + **Merge Criteria:** -[block:image] -{ - "images": [ - { - "image": [ - "https://files.readme.io/be66940-merge_.png", - "Identity Management - Merge", - 960, - 446, - "#d0d7d3" - ] - } - ] -} -[/block] + +960 diff --git a/reference/Ingestion API/_order.yaml b/reference/Ingestion API/_order.yaml new file mode 100644 index 0000000000..41539d59cf --- /dev/null +++ b/reference/Ingestion API/_order.yaml @@ -0,0 +1,6 @@ +- ingestion-api +- ingestion-api-authentication +- events +- group-profiles +- lookup-tables +- user-profiles diff --git a/reference/Ingestion API/events.md b/reference/Ingestion API/events.md deleted file mode 100644 index 1e63dbfc65..0000000000 --- a/reference/Ingestion API/events.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Events" -slug: "events" -hidden: false -createdAt: "2020-10-20T00:41:25.532Z" -updatedAt: "2023-09-26T21:06:38.562Z" ---- diff --git a/reference/Ingestion API/events/_order.yaml b/reference/Ingestion API/events/_order.yaml new file mode 100644 index 0000000000..7b5372db4b --- /dev/null +++ b/reference/Ingestion API/events/_order.yaml @@ -0,0 +1,3 @@ +- import-events +- track-event +- event-deduplication diff --git a/reference/Ingestion API/events/event-deduplication.md b/reference/Ingestion API/events/event-deduplication.md new file mode 100644 index 0000000000..11f18430ff --- /dev/null +++ b/reference/Ingestion API/events/event-deduplication.md @@ -0,0 +1,129 @@ +--- +title: Event Deduplication +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public +--- +Mixpanel provides an event deduplication mechanism to ensure that duplicate events do not skew your analytics. Deduplication is essential when events may be sent multiple times due to network retries, client-side batching, or integration with multiple data sources. + +## How Deduplication Works + +Mixpanel deduplicates events using a combination of four key event properties: + +* Event Name (`event`) +* Distinct ID (`distinct_id`) +* Timestamp (`time`) +* Insert ID (`$insert_id`) + +If all four of these properties are identical across two or more events, Mixpanel considers them duplicates and will only show the most recent version of that event in your reports. This applies regardless of whether the events are sent via SDKs, APIs, or other integrations. + +The `$insert_id` should be a randomly generated, unique value for each event to ensure proper deduplication. If `$insert_id` are reused, events may be unintentionally deduplicated. + +Only the four key event properties listed above are used for deduplication. Additional event properties are not considered for the deduplication mechanism. For example, if two events share the same Event Name, Distinct ID, Timestamp, and Insert ID, but have different $city value, they are still considered duplicate events. + +### Deduplication Example + +Deduplication occurs when a subset of the event data (event name, distinct\_id, timestamp, $insert\_id) is identical. Other event properties are not considered. + +**Required[Event Object](doc:data-model#anatomy-of-an-event) attributes** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event Object propertyTypeDescription
**event** + String
required +
A name for the event. For example, "Signed up", or "Uploaded Photo".
**properties** + Object
required +
**properties.distinct\_id** + String
required +
The value of `distinct_id` will be treated as a string, and used to uniquely identify a user associated with your event. If you provide a distinct\_id property with your events, you can track a given user through funnels and distinguish unique users for retention analyses. You should always send the same distinct\_id when an event is triggered by the same user.
**properties.token** + String
required +
The Mixpanel token associated with your project. You can find your Mixpanel token in the project settings dialog in the Mixpanel app. Events without a valid token will be ignored.
**properties.time** + String
required +
The time an event occurred. If present, the value should be a unix timestamp (seconds since midnight, January 1st, 1970 - UTC). If this property is not included in your request, Mixpanel will use the time the event arrives at the server.
**properties.$insert\_id** + String
required +
A unique UUID tied to exactly one occurrence of an event.
+ +In other words, each event containing an `$insert_id` is checked for duplication after being minimized to the following shape: + +```json +{ + "event": "Item Purchased", + "properties": { + "token": "my_project_token", + "distinct_id": "user123xyz", + "time": 1601412131000, + "$insert_id": "88B7hahbaschhhB66cbsg" + } +} +``` + +If this minimized event object is an exact match to any other minimized event object, it is marked as a duplicate. Ingested events that have been marked as a duplicates will be deduplicated. + +If an event is sent to the Ingestion API without an `$insert_id`, one will be generated for it. However, it will not qualify for the deduplication process. + +## Deduplication Mechanisms + +Mixpanel uses two main deduplication processes: + +### Query-Time Deduplication + +* When: Happens immediately when you query data in the Mixpanel UI. +* How: If multiple events share the same event\_name, distinct\_id, timestamp, and $insert\_id, only the most recent version of the event is shown in reports (based on the API ingestion time). This ensures that duplicate events do not affect your analytics in real time. +* Scope: This deduplication is visible in the Mixpanel UI and reports, but not in raw data exports. Raw event export will contain all data as they were ingested, without any deduplication. + +### Compaction-Time Deduplication + +* When: Runs periodically in the backend, typically after a few hours and again after about 20 days, once data ingestion for a day is complete. +* How: During compaction, Mixpanel scans for events with the same event name, distinct\_id, and $insert\_id (timestamp does not need to match exactly, just the same calendar day). The older event is deleted, and only the latest remains in storage. +* Scope: This process helps reduce storage of duplicate events and may affect event counts if duplicates were present with different timestamps + +
+ +## Important Notes + +**Raw Event Export** - Deduplication is not applied to raw data exports. If you export events via the API, you may see duplicates. It is recommended to apply the same deduplication logic (event name, distinct\_id, timestamp, $insert\_id) to your exported data + +**Insert ID Best Practice** - Always generate a unique $insert\_id for each event. Reusing $insert\_id (e.g., setting it to the user’s distinct\_id) can cause unintended deduplication and data loss + +**Deduplication Timing** - Query-time deduplication is immediate. Compaction-time deduplication timing is not guaranteed and may take hours to days to complete.s diff --git a/reference/Ingestion API/events/import-events.md b/reference/Ingestion API/events/import-events.md index fe1b007058..7676e746c7 100644 --- a/reference/Ingestion API/events/import-events.md +++ b/reference/Ingestion API/events/import-events.md @@ -1,11 +1,12 @@ --- -title: "Import Events" -slug: "import-events" -hidden: false -createdAt: "2020-10-20T00:41:26.243Z" -updatedAt: "2023-09-26T21:06:38.671Z" +title: Import Events +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- - Use this API to send batches of events from your servers to Mixpanel. ## Request Format @@ -29,21 +30,22 @@ We also support `Content-Encoding: gzip` to reduce network egress. ## Authentication - `/import` requires an Owner or Admin [Service Account](https://developer.mixpanel.com/reference/service-accounts). project_id, service account username, and service account password are required to authenticate a request. + `/import` requires an Owner or Admin [Service Account](https://developer.mixpanel.com/reference/service-accounts). project\_id, service account username, and service account password are required to authenticate a request. -`/import` also supports [Project Token](https://developer.mixpanel.com/reference/project-token) as an authentication method. You can provide your token as the basic auth username value with an empty password. If project_id is not specified, the request will be authenticated using the provided token. +`/import` also supports [Project Token](https://developer.mixpanel.com/reference/project-token) as an authentication method. You can provide your token as the basic auth username value with an empty password. If project\_id is not specified, the request will be authenticated using the provided token. ## Validation + If you provide the `strict=1` parameter (recommended), `/import` will validate the supplied events and return a 400 status code if **any** of the events fail validation with details of the error. If some events pass validation and others fail, Mixpanel will ingest the events that pass validation. When you encounter a 400 error in production, simply log the JSON response, as it will contain the `$insert_id`s of the invalid events, which can be used to debug. ### High-level requirements -- Each event must be properly formatted JSON. -- Each event must contain an event name, time, distinct_id, and $insert_id. These are used to deduplicate events so that this endpoint can be safely retried. -- Each event must be smaller than 1MB of uncompressed JSON. -- Each event must have fewer than 255 properties. -- All nested object properties must have fewer than 255 keys and a max nesting depth is 3. -- All array properties must have fewer than 255 elements. +* Each event must be properly formatted JSON. +* Each event must contain an event name, time, distinct\_id, and $insert\_id. These are used to deduplicate events so that this endpoint can be safely retried. +* Each event must be smaller than 1MB of uncompressed JSON. +* Each event must have fewer than 255 properties. +* All nested object properties must have fewer than 255 keys and a max nesting depth is 3. +* All array properties must have fewer than 255 elements. ### Example of an event @@ -60,23 +62,30 @@ If you provide the `strict=1` parameter (recommended), `/import` will validate t } } ``` + #### event + This is the name of the event. If you're loading data from a data warehouse, we recommend using the name of the table as the name of the event. We recommend keeping the number of unique event names relatively small and using properties for any variable context attached to the event. For example, instead of tracking events with names "Paid Signup" and "Free Signup", we would recommend tracking an event called "Signup" and having a property "Account Type" with the value "paid" or "free". #### properties + This is a JSON object representing all the properties about the event. If you're loading data from a data warehouse, we recommend using column names as the names of properties. ##### properties.time + The time at which the event occurred, in seconds or milliseconds since epoch. We require a value for time. We will reject events with time values that are before 1971-01-01 or more than 1 hour in the future as measured on our servers. -##### properties.distinct_id -`distinct_id` identifies the user who performed the event. distinct_id must be specified on every event, as it is crucial for Mixpanel to perform behavioral analysis (unique users, funnels, retention, cohorts) correctly and efficiently. +If the time value is set in the future, it will be overwritten with the current present time at ingestion. + +##### properties.distinct\_id -If the event is not associated with any user, set distinct_id to the empty string. Events with an empty distinct_id will be excluded from all behavioral analysis. +`distinct_id` identifies the user who performed the event. distinct\_id must be specified on every event, as it is crucial for Mixpanel to perform behavioral analysis (unique users, funnels, retention, cohorts) correctly and efficiently. -To prevent accidental implementation mistakes, we disallow the following values for distinct_id: +If the event is not associated with any user, set distinct\_id to the empty string. Events with an empty distinct\_id will be excluded from all behavioral analysis. + +To prevent accidental implementation mistakes, we disallow the following values for distinct\_id: ``` - 00000000-0000-0000-0000-000000000000 @@ -98,10 +107,11 @@ To prevent accidental implementation mistakes, we disallow the following values - {} ``` -##### properties.$insert_id -We require that $insert_id be specified on every event. $insert_id provides a unique identifier for the event, which we use for deduplication. Events with identical values for (event, time, distinct_id, $insert_id) are considered duplicates and only one of them will be surfaced in queries. +##### properties.$insert\_id + +We require that $insert\_id be specified on every event. $insert\_id provides a unique identifier for the event, which we use for deduplication. Events with identical values for (event, time, distinct\_id, $insert\_id) are considered duplicates and only one of them will be surfaced in queries. -$insert_ids must be ≤ 36 bytes and contain only alphanumeric characters or "-". We also disallow any value for $insert_id from the list of invalid IDs provided for distinct_id above. +$insert\_ids must be ≤ 36 bytes and contain only alphanumeric characters or "-". We also disallow any value for $insert\_id from the list of invalid IDs provided for distinct\_id above. ### Example of a validation error @@ -170,25 +180,29 @@ This is an example of an event before and after enrichment: ``` ## Rate Limit -To ensure real-time ingestion and quality-of-service, we have a rate limit of 2GB of uncompressed JSON/minute or ~30k events per second, measured on a rolling 1 minute basis. + +To ensure real-time ingestion and quality-of-service, we have a rate limit of 2GB of uncompressed JSON/minute or \~30k events per second, measured on a rolling 1 minute basis. We recommend the following when it comes to sending data to our API at scale: -- Send data as quickly as possible with concurrent clients until the server returns 429. We see the best results with 10-20 concurrent clients sending 2K events per batch. -- When you see 429s, employ an [exponential backoff with jitter](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) strategy. We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter. -- We recommend gzip compression and using `Content-Encoding: gzip` to reduce network egress and transfer time. -- In the rare event that our API returns a 502 or 503 status code, we recommend employing the same exponential backoff strategy as with 429s. -- Please do not retry validation errors (400 status code), as they will consistently fail and count toward the rate limit. +* Send data as quickly as possible with concurrent clients until the server returns 429. We see the best results with 10-20 concurrent clients sending 2K events per batch. +* When you see 429s, employ an [exponential backoff with jitter](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) strategy. We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter. +* We recommend gzip compression and using `Content-Encoding: gzip` to reduce network egress and transfer time. +* In the rare event that our API returns a 502 or 503 status code, we recommend employing the same exponential backoff strategy as with 429s. +* Please do not retry validation errors (400 status code), as they will consistently fail and count toward the rate limit. -If you are an enterprise customer and require a higher limit for a 1-time backfill, please reach out to your sales representative with your project_id and use-case. +If you are an enterprise customer and require a higher limit for a 1-time backfill, please reach out to your sales representative with your project\_id and use-case. ## Common Issues -`$insert_id` is required on all events. This makes it safe to retry `/import` requests. If your events don't already have a unique ID (eg: a UUID/GUID), we recommend computing a hash of some set of properties that make the event semantically unique (eg: distinct_id + timestamp + some other property) and using the first 36 characters of that hash as the $insert_id. + +`$insert_id` is required on all events. This makes it safe to retry `/import` requests. If your events don't already have a unique ID (eg: a UUID/GUID), we recommend computing a hash of some set of properties that make the event semantically unique (eg: distinct\_id + timestamp + some other property) and using the first 36 characters of that hash as the $insert\_id. We truncate all strings down to 255 characters. Here's what we recommend for the various cases in which this typically happens: -- URLs: We recommend parsing the URL and tracking its individual components (host, path, url params) as properties. This is more useful in analysis, as you can segment events by hostname or a particular URL parameter. -- JSON encoded strings: Sometimes a long string may be a JSON object encoded as a string. We recommend parsing the JSON and flattening it into properties to send with the event. This is similarly much more useful in analysis, as you can filter or breakdown by any key within the JSON. -- Free text / user generated content: Some long fields may include full-text (eg: a search term or a comment). If this property isn't useful for analysis, we recommend excluding it from tracking to Mixpanel to avoid accidentally sending over any PII. + +* URLs: We recommend parsing the URL and tracking its individual components (host, path, url params) as properties. This is more useful in analysis, as you can segment events by hostname or a particular URL parameter. +* JSON encoded strings: Sometimes a long string may be a JSON object encoded as a string. We recommend parsing the JSON and flattening it into properties to send with the event. This is similarly much more useful in analysis, as you can filter or breakdown by any key within the JSON. +* Free text / user generated content: Some long fields may include full-text (eg: a search term or a comment). If this property isn't useful for analysis, we recommend excluding it from tracking to Mixpanel to avoid accidentally sending over any PII. ## Guides + See our Cloud Ingestion guides for example usage of this API to integrate with [Google Pub/Sub](https://docs.mixpanel.com/docs/tracking-methods/integrations/google-pubsub), [Amazon S3](https://docs.mixpanel.com/docs/tracking-methods/integrations/amazon-s3), or [Google Cloud Storage](https://docs.mixpanel.com/docs/tracking-methods/integrations/google-cloud-storage). diff --git a/reference/Ingestion API/events/track-event.md b/reference/Ingestion API/events/track-event.md index 5e0bb4ea4b..2ac56ceb68 100644 --- a/reference/Ingestion API/events/track-event.md +++ b/reference/Ingestion API/events/track-event.md @@ -1,31 +1,31 @@ --- -title: "Track Events" -slug: "track-event" -excerpt: "" -hidden: false -createdAt: "2021-07-27T00:06:02.814Z" -updatedAt: "2023-09-26T21:06:38.693Z" +title: Track Events +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- - Track events to Mixpanel from client devices. We recommend using one of our client-side SDKs instead of using /track directly, as our SDKs provide queueing, retrying, batching, and more. ## When to use /track vs /import Typically, we recommend using /import for server-side integrations as it is more scalable and supports ingesting historical data. We only recommend /track for client-side tracking in an environment for which we don't have SDK support or if you're sending data via some other untrusted environment (eg: third-party webhooks that send data to Mixpanel). -| | /track | /import | -| --------------------------- | ---------------------------------------------- | ----------------------------------------------------- | -| Events per request | 2000 | 2000 | -| Authentication | Project Token, intended for untrusted clients. | Project Secret/Service Accounts, intended for server-side integration. | -| Compression | Gzip allowed | Gzip allowed | -| Content-Type | application/x-www-form-urlencoded | application/json or application/x-ndjson | -| Ingesting historical events | Last 5 days only. | Any time after 1971-01-01. | +| | /track | /import | +| --------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | +| Events per request | 2000 | 2000 | +| Authentication | Project Token, intended for untrusted clients. | Project Secret/Service Account, intended for server-side integration. | +| Compression | Gzip allowed | Gzip allowed | +| Content-Type | application/x-www-form-urlencoded | application/json or application/x-ndjson | +| Ingesting historical events | Last 5 days only. | Any time after 1971-01-01. | ## Limits The limits for track are the same as /import, [see here](https://developer.mixpanel.com/reference/import-events#rate-limits). -Each line of event has the following size limits: +Each event has the following size limits: - Must be smaller than 1MB of uncompressed JSON. - Must have fewer than 255 properties. @@ -42,4 +42,4 @@ We recommend the following when it comes to sending data to our API at scale: - In the rare event that our API returns a 502 or 503 status code, we recommend employing the same exponential backoff strategy as with 429s. - Please do not retry validation errors (400 status code), as they will consistently fail and count toward the rate limit. -If you are an Enterprise customer that requires a higher rate limit, please reach out to your CSM with your project_id and use case. +If you are an Enterprise customer that requires a higher rate limit, please reach out to your CSM with your `project_id` and use case. diff --git a/reference/Ingestion API/group-profiles.md b/reference/Ingestion API/group-profiles.md deleted file mode 100644 index 473d4f082a..0000000000 --- a/reference/Ingestion API/group-profiles.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Group Profiles" -slug: "group-profiles" -hidden: false -createdAt: "2020-10-20T00:41:25.536Z" -updatedAt: "2023-09-26T21:06:38.596Z" ---- diff --git a/reference/Ingestion API/group-profiles/_order.yaml b/reference/Ingestion API/group-profiles/_order.yaml new file mode 100644 index 0000000000..e2d71f6b16 --- /dev/null +++ b/reference/Ingestion API/group-profiles/_order.yaml @@ -0,0 +1,8 @@ +- group-set-property +- group-set-property-once +- group-delete-property +- group-remove-from-list-property +- group-union +- group-batch-update +- delete-group +- limits-1 diff --git a/reference/Ingestion API/group-profiles/delete-group.md b/reference/Ingestion API/group-profiles/delete-group.md index 58931edc8b..1095591cb6 100644 --- a/reference/Ingestion API/group-profiles/delete-group.md +++ b/reference/Ingestion API/group-profiles/delete-group.md @@ -1,8 +1,10 @@ --- -title: "Delete Group" -slug: "delete-group" -excerpt: "Deletes a group profile from Mixpanel." -hidden: false -createdAt: "2020-10-20T00:41:26.265Z" -updatedAt: "2023-09-26T21:06:39.053Z" +title: Delete Group +category: + uri: Ingestion API +content: + excerpt: Deletes a group profile from Mixpanel. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-batch-update.md b/reference/Ingestion API/group-profiles/group-batch-update.md index 8d7b155e0c..5c5eb9bbde 100644 --- a/reference/Ingestion API/group-profiles/group-batch-update.md +++ b/reference/Ingestion API/group-profiles/group-batch-update.md @@ -1,8 +1,17 @@ --- -title: "Batch Update Group Profiles" -slug: "group-batch-update" -excerpt: "Send a batch of group profile updates. Instead of sending a single JSON object as the data query parameter, send a JSON list of objects as the data parameter of an application/x-www-form-urlencoded POST or GET request body" -hidden: false -createdAt: "2021-04-15T17:31:51.660Z" -updatedAt: "2023-09-26T21:06:39.041Z" +title: Batch Update Group Profiles +category: + uri: Ingestion API +content: + excerpt: >- + Send a batch of group profile updates. Instead of sending a single JSON + object as the data query parameter, send a JSON list of objects as the data + parameter of an application/x-www-form-urlencoded POST or GET request body. + + + Refer to the respective group profile update commands ($set, $set_once, + $add, $union, $remove, $unset, and $delete) on syntax for their parameters. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-delete-property.md b/reference/Ingestion API/group-profiles/group-delete-property.md index 3814de90b1..8121345689 100644 --- a/reference/Ingestion API/group-profiles/group-delete-property.md +++ b/reference/Ingestion API/group-profiles/group-delete-property.md @@ -1,8 +1,10 @@ --- -title: "Delete Property" -slug: "group-delete-property" -excerpt: "Unsets specific properties on the group profile." -hidden: false -createdAt: "2020-10-20T00:41:26.260Z" -updatedAt: "2023-09-26T21:06:39.009Z" +title: Delete Property +category: + uri: Ingestion API +content: + excerpt: Unsets specific properties on the group profile. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-remove-from-list-property.md b/reference/Ingestion API/group-profiles/group-remove-from-list-property.md index 820d13076b..21f295e207 100644 --- a/reference/Ingestion API/group-profiles/group-remove-from-list-property.md +++ b/reference/Ingestion API/group-profiles/group-remove-from-list-property.md @@ -1,8 +1,10 @@ --- -title: "Remove from List Property" -slug: "group-remove-from-list-property" -excerpt: "Removes a specific value in a list property." -hidden: false -createdAt: "2020-10-20T00:41:26.259Z" -updatedAt: "2023-09-26T21:06:39.020Z" +title: Remove from List Property +category: + uri: Ingestion API +content: + excerpt: Removes a specific value in a list property. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-set-property-once.md b/reference/Ingestion API/group-profiles/group-set-property-once.md index e68eddd00d..18ebea5c12 100644 --- a/reference/Ingestion API/group-profiles/group-set-property-once.md +++ b/reference/Ingestion API/group-profiles/group-set-property-once.md @@ -1,8 +1,12 @@ --- -title: "Set Property Once" -slug: "group-set-property-once" -excerpt: "Adds properties to a group only if the property is not already set. The profile is created if it does not exist." -hidden: false -createdAt: "2020-10-20T00:41:26.258Z" -updatedAt: "2023-09-26T21:06:38.998Z" +title: Set Property Once +category: + uri: Ingestion API +content: + excerpt: >- + Adds properties to a group only if the property is not already set. The + profile is created if it does not exist. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-set-property.md b/reference/Ingestion API/group-profiles/group-set-property.md index e18f76a777..801a607659 100644 --- a/reference/Ingestion API/group-profiles/group-set-property.md +++ b/reference/Ingestion API/group-profiles/group-set-property.md @@ -1,8 +1,12 @@ --- -title: "Update Property" -slug: "group-set-property" -excerpt: "Updates or adds properties to a group profile. The profile is created if it does not exist." -hidden: false -createdAt: "2020-10-20T00:41:26.256Z" -updatedAt: "2023-09-26T21:06:38.987Z" +title: Update Property +category: + uri: Ingestion API +content: + excerpt: >- + Updates or adds properties to a group profile. The profile is created if it + does not exist. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/group-union.md b/reference/Ingestion API/group-profiles/group-union.md index 09c8bb65ab..581c9b24c0 100644 --- a/reference/Ingestion API/group-profiles/group-union.md +++ b/reference/Ingestion API/group-profiles/group-union.md @@ -1,8 +1,13 @@ --- -title: "Union To List Property" -slug: "group-union" -excerpt: "Adds the specified values to a list property on a group profile and ensures that those values only appear once. The profile is created if it does not exist." -hidden: false -createdAt: "2020-10-20T00:41:26.264Z" -updatedAt: "2023-09-26T21:06:39.030Z" +title: Union To List Property +category: + uri: Ingestion API +content: + excerpt: >- + Adds the specified values to a list property on a group profile and ensures + that those values only appear once. The profile is created if it does not + exist. +privacy: + view: public --- + diff --git a/reference/Ingestion API/group-profiles/limits-1.md b/reference/Ingestion API/group-profiles/limits-1.md index 3714f363c1..7c597a9b33 100644 --- a/reference/Ingestion API/group-profiles/limits-1.md +++ b/reference/Ingestion API/group-profiles/limits-1.md @@ -1,8 +1,10 @@ --- -title: "Limits" -slug: "limits-1" -hidden: false -createdAt: "2022-03-31T20:39:06.399Z" -updatedAt: "2022-03-31T20:42:30.062Z" +title: Limits +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- The Groups Profile API imposes limits on the total number profile updates that can be sent per request to **2000** as well as limits each individual update in the request to a maximum of **1 MB**. If you are running up against these limits, we suggest breaking your request into smaller batches. Usually, these limits are only hit if you are attempting to do a bulk create/update. diff --git a/reference/Ingestion API/ingestion-api-authentication.md b/reference/Ingestion API/ingestion-api-authentication.md index faa05ecad6..6f80cc66ed 100644 --- a/reference/Ingestion API/ingestion-api-authentication.md +++ b/reference/Ingestion API/ingestion-api-authentication.md @@ -1,8 +1,10 @@ --- -title: "Authentication" -slug: "ingestion-api-authentication" -hidden: false -createdAt: "2021-11-03T20:32:05.864Z" -updatedAt: "2023-06-21T19:29:59.787Z" +title: Authentication +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- -Most of our Ingestion API calls such as [Import Events](ref:import-events), [Track Events](ref:track-event), [User Profiles](ref:user-profiles), and [Group Profiles](ref:group-profiles) only require a [Project Token](ref:project-token). Because these APIs are often called from our client-side SDKs, we do not want to expose credentials, but we do need to know which project to send data to so we use the Project Token for that purpose. However, a few of the more powerful APIs such as [Lookup Tables](ref:lookup-tables) **do require authentication**. For these, it's recommended to use a [Service Account](ref:authentication#service-account). We also have legacy support for [Project Secret](ref:project-secret) but suggest any new integrations use a Service Account. \ No newline at end of file +Most of our Ingestion API calls such as [Import Events](ref:import-events), [Track Events](ref:track-event), [User Profiles](ref:user-profiles), and [Group Profiles](ref:group-profiles) only require a [Project Token](ref:project-token). Because these APIs are often called from our client-side SDKs, we do not want to expose credentials, but we do need to know which project to send data to so we use the Project Token for that purpose. However, a few of the more powerful APIs such as [Lookup Tables](ref:lookup-tables) **do require authentication**. For these, it's recommended to use a [Service Account](ref:service-account). We also have legacy support for [Project Secret](ref:project-secret) but suggest any new integrations use a Service Account. diff --git a/reference/Ingestion API/ingestion-api.md b/reference/Ingestion API/ingestion-api.md index ddc5c0f977..ab2eed4d6f 100644 --- a/reference/Ingestion API/ingestion-api.md +++ b/reference/Ingestion API/ingestion-api.md @@ -1,9 +1,11 @@ --- -title: "Overview" -slug: "ingestion-api" -hidden: false -createdAt: "2020-10-20T01:00:32.287Z" -updatedAt: "2023-05-22T22:08:16.158Z" +title: Overview +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- Mixpanel's Ingestion APIs allow you to send event or profile data to Mixpanel, which can be analyzed in our reporting interface. @@ -13,8 +15,8 @@ See our [Client-Side vs Server-Side Tracking](https://docs.mixpanel.com/docs/get ## Ingestion HTTP APIs -- [Events](ref:events) -- [Identities](ref:identities) -- [User Profiles](ref:user-profiles) -- [Group Profiles](ref:group-profiles) -- [Lookup Tables](ref:lookup-tables) \ No newline at end of file +* [Events](ref:events) +* [Identities](ref:identities) +* [User Profiles](ref:user-profiles) +* [Group Profiles](ref:group-profiles) +* [Lookup Tables](ref:lookup-tables) diff --git a/reference/Ingestion API/lookup-tables.md b/reference/Ingestion API/lookup-tables.md deleted file mode 100644 index 9e2f70f49e..0000000000 --- a/reference/Ingestion API/lookup-tables.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Lookup Tables" -slug: "lookup-tables" -hidden: false -createdAt: "2020-10-20T00:41:25.537Z" -updatedAt: "2023-09-26T21:06:38.612Z" ---- -Lookup Tables are mutable tables that describe non-user entities like accounts, product SKUs, or geographies. These tables can be used to enrich events at query-time. In star schema terms: events are like facts and Lookup Tables are like dimensions. - -Lookup Tables are [created via the Mixpanel UI](https://help.mixpanel.com/hc/en-us/articles/360044139291-Lookup-tables#stepbystep-guide). This API supports replacing the contents of an existing Lookup Table, which can be used to keep Mixpanel in sync with a source-of-truth system. - -These APIs use [Service Accounts](ref:service-accounts) for authentication. \ No newline at end of file diff --git a/reference/Ingestion API/lookup-tables/_order.yaml b/reference/Ingestion API/lookup-tables/_order.yaml new file mode 100644 index 0000000000..0ac3d26f0f --- /dev/null +++ b/reference/Ingestion API/lookup-tables/_order.yaml @@ -0,0 +1,2 @@ +- list-lookup-tables +- replace-lookup-table diff --git a/reference/Ingestion API/lookup-tables/list-lookup-tables.md b/reference/Ingestion API/lookup-tables/list-lookup-tables.md index 4358713de1..3c2177d824 100644 --- a/reference/Ingestion API/lookup-tables/list-lookup-tables.md +++ b/reference/Ingestion API/lookup-tables/list-lookup-tables.md @@ -1,8 +1,10 @@ --- -title: "List Lookup Tables" -slug: "list-lookup-tables" -excerpt: "Get a list of Lookup Tables defined in the project." -hidden: false -createdAt: "2021-10-05T01:49:31.010Z" -updatedAt: "2023-09-26T21:06:39.072Z" +title: List Lookup Tables +category: + uri: Ingestion API +content: + excerpt: Get a list of Lookup Tables defined in the project. +privacy: + view: public --- + diff --git a/reference/Ingestion API/lookup-tables/replace-lookup-table.md b/reference/Ingestion API/lookup-tables/replace-lookup-table.md index 5f48446f6e..1e139bb15b 100644 --- a/reference/Ingestion API/lookup-tables/replace-lookup-table.md +++ b/reference/Ingestion API/lookup-tables/replace-lookup-table.md @@ -1,10 +1,11 @@ --- -title: "Replace a Lookup Table" -slug: "replace-lookup-table" -excerpt: "" -hidden: false -createdAt: "2021-10-05T01:49:31.011Z" -updatedAt: "2023-09-26T21:06:39.089Z" +title: Replace a Lookup Table +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- Lookup Tables must be [created via our UI](https://docs.mixpanel.com/docs/data-structure/lookup-tables#how-do-i-upload-a-lookup-table). Once a Lookup Table is created, its contents can be replaced via this API. @@ -40,12 +41,14 @@ print(resp.json() ``` ### Validation + * The first column of the lookup table is assumed to be the ID of the row. All ID values must be unique. * The first row of the lookup table is a header row. The values in the header must be unique, as each one uniquely identifies a column of the table. These will appear as properties of the lookup table in Mixpanel's UI. * The CSV must be valid according to RFC4180. * If the `Content-Encoding: gzip` header is supplied, the table will be decompressed before parsing. #### Types + * Integers or floats will be parsed as numbers. * RFC3339 timestamps (`2021-08-21T05:36:01Z`) will parsed as datetimes. * `true` or `false` (case-insensitive) will be parsed as boolean. @@ -54,6 +57,7 @@ print(resp.json() * All other values will be treated as strings. #### Errors + Lookup Tables are replaced in their entirety or not replaced at all. When the Lookup Table fails to meet the above validation, we return an error that looks as follows: ```json @@ -76,6 +80,7 @@ Lookup Tables are replaced in their entirety or not replaced at all. When the Lo We will return at most the first 10 rows that failed validation. ### Limits + This endpoint will return a 429 error if called more than 100 times in a rolling 24 hour window. We recommend updating lookup tables at most hourly to stay within this limit. -This endpoint will return a 413 error if a Lookup Table exceeds 100MB uncompressed. In practice, this translates to 1-2M rows. If you have a lookup table that exceeds the limit, we recommend pruning the number of columns to those that are useful to analysis. Removing long URLs or user-generated content can bring a lookup table within this limit. If you still exceed the limit, please reach out to us at apis@mixpanel.com -- we'd love to hear your use case! +This endpoint will return a 413 error if a Lookup Table exceeds 100MB uncompressed. In practice, this translates to 1-2M rows. If you have a lookup table that exceeds the limit, we recommend pruning the number of columns to those that are useful to analysis. Removing long URLs or user-generated content can bring a lookup table within this limit. If you still exceed the limit, please reach out to us at [apis@mixpanel.com](mailto:apis@mixpanel.com) -- we'd love to hear your use case! diff --git a/reference/Ingestion API/user-profiles.md b/reference/Ingestion API/user-profiles.md deleted file mode 100644 index c9a2926f15..0000000000 --- a/reference/Ingestion API/user-profiles.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "User Profiles" -slug: "user-profiles" -hidden: false -createdAt: "2020-10-20T00:41:25.535Z" -updatedAt: "2023-09-26T21:06:38.575Z" ---- diff --git a/reference/Ingestion API/user-profiles/_order.yaml b/reference/Ingestion API/user-profiles/_order.yaml new file mode 100644 index 0000000000..883e81b02f --- /dev/null +++ b/reference/Ingestion API/user-profiles/_order.yaml @@ -0,0 +1,10 @@ +- profile-set +- profile-set-property-once +- profile-numerical-add +- user-profile-union +- profile-append-to-list-property +- profile-remove-from-list-property +- profile-delete-property +- profile-batch-update +- delete-profile +- user-profile-limits diff --git a/reference/Ingestion API/user-profiles/delete-profile.md b/reference/Ingestion API/user-profiles/delete-profile.md index f4e7a99247..fe87320f00 100644 --- a/reference/Ingestion API/user-profiles/delete-profile.md +++ b/reference/Ingestion API/user-profiles/delete-profile.md @@ -1,10 +1,18 @@ --- -title: "Delete Profile" -slug: "delete-profile" -excerpt: "Permanently delete the profile from Mixpanel, along with all of its properties. The $delete object value is ignored - the profile is determined by the $distinct_id from the request itself. +title: Delete Profile +category: + uri: Ingestion API +content: + excerpt: > + Permanently delete the profile from Mixpanel, along with all of its + properties. The $delete object value is ignored - the profile is determined + by the $distinct_id from the request itself. -If you have duplicate profiles, use property $ignore_alias set to true so that you don't delete the original profile when trying to delete the duplicate (as they pass in the alias as the distinct_id)." -hidden: false -createdAt: "2020-10-20T00:41:26.255Z" -updatedAt: "2023-09-26T21:06:38.970Z" + + If you have duplicate profiles, use property $ignore_alias set to true so + that you don't delete the original profile when trying to delete the + duplicate (as they pass in the alias as the distinct_id). +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-append-to-list-property.md b/reference/Ingestion API/user-profiles/profile-append-to-list-property.md index db67411c24..224db279ec 100644 --- a/reference/Ingestion API/user-profiles/profile-append-to-list-property.md +++ b/reference/Ingestion API/user-profiles/profile-append-to-list-property.md @@ -1,8 +1,14 @@ --- -title: "Append to List Property" -slug: "profile-append-to-list-property" -excerpt: "Takes a JSON object containing keys and values, and appends each to a list associated with the corresponding property name. Appending to a property that doesn't exist will result in assigning a list with one element to that property." -hidden: false -createdAt: "2020-10-20T00:41:26.251Z" -updatedAt: "2023-09-26T21:06:38.789Z" +title: Append to List Property +category: + uri: Ingestion API +content: + excerpt: >- + Takes a JSON object containing keys and values, and appends each to a list + associated with the corresponding property name. Appending to a property + that doesn't exist will result in assigning a list with one element to that + property. +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-batch-update.md b/reference/Ingestion API/user-profiles/profile-batch-update.md index 0ed39c8a96..33e540664e 100644 --- a/reference/Ingestion API/user-profiles/profile-batch-update.md +++ b/reference/Ingestion API/user-profiles/profile-batch-update.md @@ -1,9 +1,20 @@ --- -title: "Update Multiple Profiles" -slug: "profile-batch-update" -excerpt: "Send a batch of profile updates. Instead of sending a single JSON object as the data query parameter, send a JSON list of objects as the data parameter of an application/json POST or GET request body" -hidden: false -createdAt: "2020-10-20T00:41:26.254Z" -updatedAt: "2023-09-26T21:06:38.914Z" +title: Update Multiple Profiles +category: + uri: Ingestion API +content: + excerpt: >- + Send a batch of profile updates. Instead of sending a single JSON object as + the data query parameter, send a JSON list of objects as the data parameter + of an application/json POST or GET request body. + + + Refer to the respective user profile update commands ($set, $set_once, $add, + $union, $append, $remove, $unset, and $delete) on syntax for their + parameters. +privacy: + view: public --- -[block:callout] { "type": "info", "body": "This API will return a 200 OK even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body." } [/block] +> 📘 +> +> This API will return a 200 OK even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body. diff --git a/reference/Ingestion API/user-profiles/profile-delete-property.md b/reference/Ingestion API/user-profiles/profile-delete-property.md index 51a316487a..cb3a782adf 100644 --- a/reference/Ingestion API/user-profiles/profile-delete-property.md +++ b/reference/Ingestion API/user-profiles/profile-delete-property.md @@ -1,8 +1,12 @@ --- -title: "Delete Property" -slug: "profile-delete-property" -excerpt: "Takes a JSON list of string property names, and permanently removes the properties and their values from a profile." -hidden: false -createdAt: "2020-10-20T00:41:26.253Z" -updatedAt: "2023-09-26T21:06:38.851Z" +title: Delete Property +category: + uri: Ingestion API +content: + excerpt: >- + Takes a JSON list of string property names, and permanently removes the + properties and their values from a profile. +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-numerical-add.md b/reference/Ingestion API/user-profiles/profile-numerical-add.md index 126d98340a..847505f347 100644 --- a/reference/Ingestion API/user-profiles/profile-numerical-add.md +++ b/reference/Ingestion API/user-profiles/profile-numerical-add.md @@ -1,8 +1,17 @@ --- -title: "Increment Numerical Property" -slug: "profile-numerical-add" -excerpt: 'Takes a JSON object containing keys and numerical values. $add will increment the value of a user profile property. When processed, the property values are added to the existing values of the properties on the profile. If the property is not present on the profile, the value will be added to 0. It is possible to decrement by calling "$add" with negative values. This is useful for maintaining the values of properties like "Number of Logins" or "Files Uploaded".' -hidden: false -createdAt: "2020-10-20T00:41:26.250Z" -updatedAt: "2023-09-26T21:06:38.737Z" +title: Increment Numerical Property +category: + uri: Ingestion API +content: + excerpt: >- + Takes a JSON object containing keys and numerical values. $add will + increment the value of a user profile property. When processed, the property + values are added to the existing values of the properties on the profile. If + the property is not present on the profile, the value will be added to 0. It + is possible to decrement by calling "$add" with negative values. This is + useful for maintaining the values of properties like "Number of Logins" or + "Files Uploaded". +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-remove-from-list-property.md b/reference/Ingestion API/user-profiles/profile-remove-from-list-property.md index 85364d1533..807a8d3944 100644 --- a/reference/Ingestion API/user-profiles/profile-remove-from-list-property.md +++ b/reference/Ingestion API/user-profiles/profile-remove-from-list-property.md @@ -1,8 +1,13 @@ --- -title: "Remove from List Property" -slug: "profile-remove-from-list-property" -excerpt: "Takes a JSON object containing keys and values. The value in the request is removed from the existing list on the user profile. If it does not exist, no updates are made." -hidden: false -createdAt: "2020-10-20T00:41:26.252Z" -updatedAt: "2023-09-26T21:06:38.815Z" +title: Remove from List Property +category: + uri: Ingestion API +content: + excerpt: >- + Takes a JSON object containing keys and values. The value in the request is + removed from the existing list on the user profile. If it does not exist, no + updates are made. +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-set-property-once.md b/reference/Ingestion API/user-profiles/profile-set-property-once.md index a7c38056a5..e966f6532b 100644 --- a/reference/Ingestion API/user-profiles/profile-set-property-once.md +++ b/reference/Ingestion API/user-profiles/profile-set-property-once.md @@ -1,8 +1,12 @@ --- -title: "Set Property Once" -slug: "profile-set-property-once" -excerpt: 'Works just like "$set", except it will not overwrite existing property values. This is useful for properties like "First login date".' -hidden: false -createdAt: "2020-10-20T00:41:26.249Z" -updatedAt: "2023-09-26T21:06:38.722Z" +title: Set Property Once +category: + uri: Ingestion API +content: + excerpt: >- + Works just like "$set", except it will not overwrite existing property + values. This is useful for properties like "First login date". +privacy: + view: public --- + diff --git a/reference/Ingestion API/user-profiles/profile-set.md b/reference/Ingestion API/user-profiles/profile-set.md index a81f878e07..746aa9dbbd 100644 --- a/reference/Ingestion API/user-profiles/profile-set.md +++ b/reference/Ingestion API/user-profiles/profile-set.md @@ -1,22 +1,19 @@ --- -title: "Set Property" -slug: "profile-set" -excerpt: "[block:callout]{ \"type\": \"info\", \"body\": \"This API will return a `200 OK` even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body.\"}[/block] [block:callout]{ \"type\": \"info\", \"body\": \"This API does not support gzip encoding.\"}[/block] Takes a JSON object containing names and values of profile properties. If the profile does not exist, it creates it with these properties. If it does exist, it sets the properties to these values, overwriting existing values." -hidden: false -createdAt: "2020-10-20T00:41:26.248Z" -updatedAt: "2023-09-28T17:17:26.122Z" +title: Set Property +category: + uri: Ingestion API +content: + excerpt: >- + Takes a JSON object containing names and values of profile properties. If + the profile does not exist, it creates it with these properties. If it does + exist, it sets the properties to these values, overwriting existing values. +privacy: + view: public --- + + This API will return a `200 OK` even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body. + -[block:callout] -{ - "type": "info", - "body": "This API will return a `200 OK` even if there are data validation issues. To ensure the request actually succeeded, you need to check the response body." -} -[/block] - -[block:callout] -{ - "type": "info", - "body": "This API does not support gzip encoding." -} -[/block] + + This API does not support gzip encoding. + diff --git a/reference/Ingestion API/user-profiles/user-profile-limits.md b/reference/Ingestion API/user-profiles/user-profile-limits.md index 6af94f47d2..d8ad82594f 100644 --- a/reference/Ingestion API/user-profiles/user-profile-limits.md +++ b/reference/Ingestion API/user-profiles/user-profile-limits.md @@ -1,8 +1,10 @@ --- -title: "Limits" -slug: "user-profile-limits" -hidden: false -createdAt: "2022-01-14T01:16:51.270Z" -updatedAt: "2022-01-14T01:28:26.579Z" +title: Limits +category: + uri: Ingestion API +content: + excerpt: '' +privacy: + view: public --- -The User Profile API imposes limits on the total number profile updates that can be sent per request to **2000** as well as limit each individual update in the request to a maximum of **1 MB**. If you are running up against these limits, we suggest breaking your request into smaller batches. Usually these limits are only hit if you are attempting to do a bulk create/update. \ No newline at end of file +The User Profile API imposes limits on the total number profile updates that can be sent per request to **2000** as well as limit each individual update in the request to a maximum of **1 MB**. If you are running up against these limits, we suggest breaking your request into smaller batches. Usually these limits are only hit if you are attempting to do a bulk create/update. diff --git a/reference/Ingestion API/user-profiles/user-profile-union.md b/reference/Ingestion API/user-profiles/user-profile-union.md index d1d301b302..e2e6b85d3d 100644 --- a/reference/Ingestion API/user-profiles/user-profile-union.md +++ b/reference/Ingestion API/user-profiles/user-profile-union.md @@ -1,8 +1,13 @@ --- -title: "Union To List Property" -slug: "user-profile-union" -excerpt: "Adds the specified values to a list property on a user profile and ensures that those values only appear once. The profile is created if it does not exist." -hidden: false -createdAt: "2021-09-15T18:16:59.818Z" -updatedAt: "2023-09-26T21:06:38.756Z" +title: Union To List Property +category: + uri: Ingestion API +content: + excerpt: >- + Adds the specified values to a list property on a user profile and ensures + that those values only appear once. The profile is created if it does not + exist. +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/_order.yaml b/reference/Lexicon Schemas API/_order.yaml new file mode 100644 index 0000000000..8b6b8d9546 --- /dev/null +++ b/reference/Lexicon Schemas API/_order.yaml @@ -0,0 +1,6 @@ +- lexicon-schemas-api +- lexicon-schemas-api-authentication +- create-schemas +- delete-schemas +- retrieve-schemas +- limits diff --git a/reference/Lexicon Schemas API/create-schemas.md b/reference/Lexicon Schemas API/create-schemas.md deleted file mode 100644 index ee0d4143b5..0000000000 --- a/reference/Lexicon Schemas API/create-schemas.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Create Schemas" -slug: "create-schemas" -hidden: false -createdAt: "2020-11-20T21:23:19.270Z" -updatedAt: "2023-09-26T21:06:38.722Z" ---- diff --git a/reference/Lexicon Schemas API/create-schemas/_order.yaml b/reference/Lexicon Schemas API/create-schemas/_order.yaml new file mode 100644 index 0000000000..efe13d9d94 --- /dev/null +++ b/reference/Lexicon Schemas API/create-schemas/_order.yaml @@ -0,0 +1,2 @@ +- upload-schemas-for-project +- upload-schema-by-entity-and-name diff --git a/reference/Lexicon Schemas API/create-schemas/upload-schema-by-entity-and-name.md b/reference/Lexicon Schemas API/create-schemas/upload-schema-by-entity-and-name.md index ffe055d388..37426f0d19 100644 --- a/reference/Lexicon Schemas API/create-schemas/upload-schema-by-entity-and-name.md +++ b/reference/Lexicon Schemas API/create-schemas/upload-schema-by-entity-and-name.md @@ -1,8 +1,120 @@ --- -title: "Create/Replace One" -slug: "upload-schema-by-entity-and-name" -excerpt: "Upload a schema for a single entity. If a schema already exists for a specified entity, it will be replaced by the one you upload.\n[block:callout] {\n \"type\": \"warning\",\n \"title\": \"Metadata merging behavior\",\n \"body\": \"If the new schema is missing `metadata` properties that are currently set in the existing schema for that entity, those properties will be merged into the new schema. For example, if your current schema has `{\\\"metadata\\\": {\\\"com.mixpanel\\\": {\\\"hidden\\\": true}}}` and you upload a new schema without \\\"hidden\\\", we will merge `\\\"hidden\\\": true` to your uploaded schema's metadata. If you want to remove that property, set the value to `null`.\"\n} [/block]\n[block:callout] {\n \"type\": \"info\",\n \"title\": \"Adding a schema for User Profiles\",\n \"body\": \"To add a schema for your [User Profiles](https://help.mixpanel.com/hc/en-us/articles/115004501966-User-Profiles), specify the `entityType` as `profile` and the `name` as `$user`.\"\n} [/block]\n### Example POST Body\n```json\n{\n \"$schema\": \"http://json-schema.org/draft-07/schema\",\n \"description\": \"Tracked when a user adds an item to their cart.\",\n \"required\": [\n \"item_name\",\n \"item_id\",\n \"item_price\"\n ],\n \"additionalProperties\": true,\n \"metadata\": {\n \"com.mixpanel\": {\n \"tags\": [\n \"Shopping\",\n \"KPIs\"\n ],\n \"displayName\": \"Item Purchased\",\n \"hidden\": false,\n \"dropped\": false,\n \"owners\": [\n {\n \"name\": \"Pat Davis\",\n \"email\": \"pat.david@mixpanel.com\"\n }\n ]\n }\n },\n \"properties\": {\n \"item_name\": {\n \"type\": \"string\",\n \"description\": \"The name of the item\",\n \"examples\": [\n \"Blue Widget\"\n ],\n \"metadata\": {\n \"com.mixpanel\": {\n \"displayName\": \"Item Name\"\n }\n }\n },\n \"item_id\": {\n \"type\": \"integer\",\n \"description\": \"The internal id of the item\",\n \"examples\": [\n 12345\n ],\n \"metadata\": {\n \"com.mixpanel\": {\n \"displayName\": \"Item ID\"\n }\n }\n },\n \"item_price\": {\n \"type\": \"number\",\n \"description\": \"The current price of the item\",\n \"examples\": [\n 25.35\n ],\n \"metadata\": {\n \"com.mixpanel\": {\n \"displayName\": \"Price\"\n }\n }\n },\n \"promo_id\": {\n \"type\": \"integer\",\n \"description\": \"The id of any promo in progress for this item\",\n \"examples\": [\n 82523,\n 18382\n ],\n \"metadata\": {\n \"com.mixpanel\": {\n \"displayName\": \"Promo ID\"\n }\n }\n },\n \"date_added_to_catalog\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"The date this item was added to the store catalog\",\n \"examples\": [\n \"2015-03-05T15:25:23\"\n ],\n \"metadata\": {\n \"com.mixpanel\": {\n \"displayName\": \"Date Added\"\n }\n }\n }\n }\n} ```" -hidden: false -createdAt: "2020-11-20T21:23:20.204Z" -updatedAt: "2023-09-26T21:06:39.074Z" +title: Create/Replace One +category: + uri: Lexicon Schemas API +content: + excerpt: >- + Upload a schema for a single entity. If a schema already exists for a + specified entity, it will be replaced by the one you upload. + + [block:callout] { + "type": "warning", + "title": "Metadata merging behavior", + "body": "If the new schema is missing `metadata` properties that are currently set in the existing schema for that entity, those properties will be merged into the new schema. For example, if your current schema has `{\"metadata\": {\"com.mixpanel\": {\"hidden\": true}}}` and you upload a new schema without \"hidden\", we will merge `\"hidden\": true` to your uploaded schema's metadata. If you want to remove that property, set the value to `null`." + } [/block] + + [block:callout] { + "type": "info", + "title": "Adding a schema for User Profiles", + "body": "To add a schema for your [User Profiles](https://help.mixpanel.com/hc/en-us/articles/115004501966-User-Profiles), specify the `entityType` as `profile` and the `name` as `$user`." + } [/block] + + ### Example POST Body + + ```json + + { + "$schema": "http://json-schema.org/draft-07/schema", + "description": "Tracked when a user adds an item to their cart.", + "required": [ + "item_name", + "item_id", + "item_price" + ], + "additionalProperties": true, + "metadata": { + "com.mixpanel": { + "tags": [ + "Shopping", + "KPIs" + ], + "displayName": "Item Purchased", + "hidden": false, + "dropped": false, + "owners": [ + { + "name": "First Last", + "email": "first.last@mixpanel.com" + } + ] + } + }, + "properties": { + "item_name": { + "type": "string", + "description": "The name of the item", + "examples": [ + "Blue Widget" + ], + "metadata": { + "com.mixpanel": { + "displayName": "Item Name" + } + } + }, + "item_id": { + "type": "integer", + "description": "The internal id of the item", + "examples": [ + 12345 + ], + "metadata": { + "com.mixpanel": { + "displayName": "Item ID" + } + } + }, + "item_price": { + "type": "number", + "description": "The current price of the item", + "examples": [ + 25.35 + ], + "metadata": { + "com.mixpanel": { + "displayName": "Price" + } + } + }, + "promo_id": { + "type": "integer", + "description": "The id of any promo in progress for this item", + "examples": [ + 82523, + 18382 + ], + "metadata": { + "com.mixpanel": { + "displayName": "Promo ID" + } + } + }, + "date_added_to_catalog": { + "type": "string", + "format": "date-time", + "description": "The date this item was added to the store catalog", + "examples": [ + "2015-03-05T15:25:23" + ], + "metadata": { + "com.mixpanel": { + "displayName": "Date Added" + } + } + } + } + } ``` +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/create-schemas/upload-schemas-for-project.md b/reference/Lexicon Schemas API/create-schemas/upload-schemas-for-project.md index 4a0a1c5a17..1287cd72c9 100644 --- a/reference/Lexicon Schemas API/create-schemas/upload-schemas-for-project.md +++ b/reference/Lexicon Schemas API/create-schemas/upload-schemas-for-project.md @@ -1,27 +1,28 @@ --- -title: "Create/Replace Multiple" -slug: "upload-schemas-for-project" -excerpt: "" -hidden: false -createdAt: "2020-11-20T21:23:20.196Z" -updatedAt: "2023-09-26T21:06:38.963Z" +title: Create/Replace Multiple +category: + uri: Lexicon Schemas API +content: + excerpt: '' +privacy: + view: public --- - Upload schemas in bulk to the specified project. If a schema already exists for a specified entity, it will be replaced by the one you upload. -[block:callout] { - "type": "warning", - "title": "Metadata merging behavior", - "body": "If the new schema is missing `metadata` properties that are currently set in the existing schema for that entity, those properties will be merged into the new schema. For example, if your current schema has `{\"metadata\": {\"com.mixpanel\": {\"hidden\": true}}}` and you upload a new schema without \"hidden\", we will merge `\"hidden\": true` to your uploaded schema's metadata. If you want to remove that property, set the value to `null`." -} [/block] + + Metadata merging behavior + + If the new schema is missing `metadata` properties that are currently set in the existing schema for that entity, those properties will be merged into the new schema. For example, if your current schema has `{"metadata": {"com.mixpanel": {"hidden": true}}}` and you upload a new schema without "hidden", we will merge `"hidden": true` to your uploaded schema's metadata. If you want to remove that property, set the value to `null`. + -[block:callout] { - "type": "info", - "title": "Adding a schema for User Profiles", - "body": "To add a schema for your [User Profiles](https://help.mixpanel.com/hc/en-us/articles/115004501966-User-Profiles), specify the `entityType` as `profile` and the `name` as `$user`." -} [/block] + + Adding a schema for User Profiles + + To add a schema for your [User Profiles](https://help.mixpanel.com/hc/en-us/articles/115004501966-User-Profiles), specify the `entityType` as `profile` and the `name` as `$user`. + ### Example POST Body + ```json { "entries": [ @@ -48,8 +49,8 @@ Upload schemas in bulk to the specified project. If a schema already exists for "dropped": false, "owners": [ { - "name": "Pat Davis", - "email": "pat.davis@mixpanel.com" + "name": "First Last", + "email": "first.last@mixpanel.com" } ] } diff --git a/reference/Lexicon Schemas API/delete-schemas.md b/reference/Lexicon Schemas API/delete-schemas.md deleted file mode 100644 index 11205d56d5..0000000000 --- a/reference/Lexicon Schemas API/delete-schemas.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Delete Schemas" -slug: "delete-schemas" -hidden: false -createdAt: "2020-11-20T21:23:19.272Z" -updatedAt: "2023-09-26T21:06:38.877Z" ---- diff --git a/reference/Lexicon Schemas API/delete-schemas/_order.yaml b/reference/Lexicon Schemas API/delete-schemas/_order.yaml new file mode 100644 index 0000000000..3e07c22400 --- /dev/null +++ b/reference/Lexicon Schemas API/delete-schemas/_order.yaml @@ -0,0 +1,3 @@ +- delete-all-schemas-in-project +- delete-schemas-for-entity +- delete-schema-by-entity-and-name diff --git a/reference/Lexicon Schemas API/delete-schemas/delete-all-schemas-in-project.md b/reference/Lexicon Schemas API/delete-schemas/delete-all-schemas-in-project.md index 1c273dba5c..52e9051095 100644 --- a/reference/Lexicon Schemas API/delete-schemas/delete-all-schemas-in-project.md +++ b/reference/Lexicon Schemas API/delete-schemas/delete-all-schemas-in-project.md @@ -1,8 +1,10 @@ --- -title: "Delete all Schemas" -slug: "delete-all-schemas-in-project" -excerpt: "Delete all schemas in a project" -hidden: false -createdAt: "2020-11-20T21:23:20.197Z" -updatedAt: "2023-09-26T21:06:39.020Z" +title: Delete all Schemas +category: + uri: Lexicon Schemas API +content: + excerpt: Delete all schemas in a project +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/delete-schemas/delete-schema-by-entity-and-name.md b/reference/Lexicon Schemas API/delete-schemas/delete-schema-by-entity-and-name.md index 3a20e49046..7252710aa8 100644 --- a/reference/Lexicon Schemas API/delete-schemas/delete-schema-by-entity-and-name.md +++ b/reference/Lexicon Schemas API/delete-schemas/delete-schema-by-entity-and-name.md @@ -1,8 +1,10 @@ --- -title: "Delete for Entity and Name" -slug: "delete-schema-by-entity-and-name" -excerpt: "Delete schema for an entity type and entity name" -hidden: false -createdAt: "2020-11-20T21:23:20.202Z" -updatedAt: "2023-09-26T21:06:39.067Z" +title: Delete for Entity and Name +category: + uri: Lexicon Schemas API +content: + excerpt: Delete schema for an entity type and entity name +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/delete-schemas/delete-schemas-for-entity.md b/reference/Lexicon Schemas API/delete-schemas/delete-schemas-for-entity.md index 7691a27451..36195c9dc5 100644 --- a/reference/Lexicon Schemas API/delete-schemas/delete-schemas-for-entity.md +++ b/reference/Lexicon Schemas API/delete-schemas/delete-schemas-for-entity.md @@ -1,10 +1,10 @@ --- -title: "Delete for Entity (and optional Name)" -slug: "delete-schemas-for-entity" -excerpt: "Delete all schemas of a specific entity type" -hidden: false -createdAt: "2020-11-20T21:23:20.200Z" -updatedAt: "2023-09-26T21:06:39.043Z" +title: Delete for Entity +category: + uri: Lexicon Schemas API +content: + excerpt: Delete all schemas of a specific entity type +privacy: + view: public --- -If you need to delete an entity name that contains "/", you can add it as the query string here. diff --git a/reference/Lexicon Schemas API/lexicon-schemas-api-authentication.md b/reference/Lexicon Schemas API/lexicon-schemas-api-authentication.md index 38ce6060e4..ed6c92b5be 100644 --- a/reference/Lexicon Schemas API/lexicon-schemas-api-authentication.md +++ b/reference/Lexicon Schemas API/lexicon-schemas-api-authentication.md @@ -1,18 +1,22 @@ --- -title: "Authentication" -slug: "lexicon-schemas-api-authentication" -hidden: false -createdAt: "2020-10-20T01:10:25.616Z" -updatedAt: "2023-05-22T22:09:27.660Z" +title: Authentication +category: + uri: Lexicon Schemas API +content: + excerpt: '' +privacy: + view: public --- ## Service Account -> 📘 Roles & Permissions -> -> To modify (create, edit, delete) a schema, the Service Account must have the role of admin or owner. + + Roles & Permissions -[Service Account Authentication Details](ref:authentication#service-accounts) + To modify (create, edit, delete) a schema, the Service Account must have the role of admin or owner. + -**Projects with [Classified Data](https://docs.mixpanel.com/docs/admin/data-governance/data-views-data-classification#data-classification)** +[Service Account Authentication Details](ref:service-accounts) -- The Service Account must have permission to access classified data. \ No newline at end of file +**Projects with[Classified Data](https://docs.mixpanel.com/docs/admin/data-governance/data-views-data-classification#data-classification)** + +* The Service Account must have permission to access classified data. diff --git a/reference/Lexicon Schemas API/lexicon-schemas-api.md b/reference/Lexicon Schemas API/lexicon-schemas-api.md index ff73e56f52..84a3822339 100644 --- a/reference/Lexicon Schemas API/lexicon-schemas-api.md +++ b/reference/Lexicon Schemas API/lexicon-schemas-api.md @@ -1,43 +1,47 @@ --- -title: "Overview" -slug: "lexicon-schemas-api" -hidden: false -createdAt: "2020-10-20T01:10:14.742Z" -updatedAt: "2021-04-09T15:23:27.964Z" +title: Overview +category: + uri: Lexicon Schemas API +content: + excerpt: '' +privacy: + view: public --- Sync your internal data dictionary or tracking plan with Mixpanel using Schemas. A Schema is used to describe the data you are sending to Mixpanel and represents an individual entry into your data dictionary. Schemas that you upload will be used to populate Lexicon and provide additional context for your data across the query UI. A Schema represents a single entity (usually an event) and is defined with json-schema. -[block:callout] -{ - "type": "info", - "title": "Lexicon UI vs Lexicon Schemas API", - "body": "The data returned from the Lexicon Schemas API is most likely *not* 1:1 with the data you see in Lexicon. This because **schemas are a subset of the data that appears in Lexicon**. The Lexicon UI shows you events & properties that either:\n1. have an associated schema **or**\n2. have been sent to your project in the last 30 days (sometimes the look-back period is shorter depending on your data volume).\n\nThe Lexicon Schemas API only returns events with associated schemas. If an event that you see in Lexicon has no associated schema, it will not be returned by the Lexicon Schemas API. If a property on an event is not specified in the event schema, it will not be returned by the Lexicon Schemas API." -} -[/block] -[block:callout] -{ - "type": "info", - "title": "When is a Lexicon Schema created?", - "body": "A schema is created and associated to an event in a few different ways:\n1) By uploading a schema through this API\n2) By importing Lexicon entries via CSV\n3) By adding metadata in the UI (such as adding a description, hiding/showing, adding tags, etc.)" -} -[/block] + + Lexicon UI vs Lexicon Schemas API -[block:callout] -{ - "type": "info", - "title": "How can I export all of my data from Lexicon?", - "body": "As mentioned above, the Lexicon Schemas API is unlikely to return all of the data you see in Lexicon. If you want all of the data, you can do a CSV export from the Lexicon UI. The resulting CSV will contain events and properties that have associated schemas and events and properties that were sent in the last 30 days even if they do not have associated schemas." -} -[/block] + The data returned from the Lexicon Schemas API is most likely _not_ 1:1 with the data you see in Lexicon. This because **schemas are a subset of the data that appears in Lexicon**. The Lexicon UI shows you events & properties that either: + + 1. have an associated schema **or** + 2. have been sent to your project in the last 30 days (sometimes the look-back period is shorter depending on your data volume). + + The Lexicon Schemas API only returns events with associated schemas. If an event that you see in Lexicon has no associated schema, it will not be returned by the Lexicon Schemas API. If a property on an event is not specified in the event schema, it will not be returned by the Lexicon Schemas API. + + + + When is a Lexicon Schema created? + + A schema is created and associated to an event in a few different ways: + + 1. By uploading a schema through this API + 2. By importing Lexicon entries via CSV + 3. By adding metadata in the UI (such as adding a description, hiding/showing, adding tags, etc.) + + + + How can I export all of my data from Lexicon? + + As mentioned above, the Lexicon Schemas API is unlikely to return all of the data you see in Lexicon. If you want all of the data, you can do a CSV export from the Lexicon UI. The resulting CSV will contain events and properties that have associated schemas and events and properties that were sent in the last 30 days even if they do not have associated schemas. + + +## Example -[block:api-header] -{ - "title": "Example" -} -[/block] The following is an example of how an event can be described by a schema: Event + ```json { "event": "Added to Cart", @@ -50,6 +54,7 @@ Event ``` Schema + ```json { "$schema": "http://json-schema.org/draft-07/schema", @@ -84,4 +89,4 @@ Schema } } } -``` \ No newline at end of file +``` diff --git a/reference/Lexicon Schemas API/limits.md b/reference/Lexicon Schemas API/limits.md index 4b043de8bb..c7366bd21e 100644 --- a/reference/Lexicon Schemas API/limits.md +++ b/reference/Lexicon Schemas API/limits.md @@ -1,14 +1,16 @@ --- -title: "Limits" -slug: "limits" -hidden: false -createdAt: "2021-03-22T20:05:44.327Z" -updatedAt: "2025-05-21T16:27:48.437Z" +title: Limits +category: + uri: Lexicon Schemas API +content: + excerpt: '' +privacy: + view: public --- The Schemas API has the following limits: -- requests per organization per minute: 5 -- events and properties updated per organization per minute: 4000 -- total truncations/deletions per request: 3000 +* requests per organization per minute: 5 +* events and properties updated per organization per minute: 4000 +* total truncations/deletions per request: 3000 -If you are running up against these limits, we suggest breaking your request into smaller batches. Usually these limits are only hit if you are attempting to do a bulk create/update. +If you approach these limits, consider breaking your requests into smaller batches. These limits are typically reached when performing bulk create or update operations. diff --git a/reference/Lexicon Schemas API/retrieve-schemas.md b/reference/Lexicon Schemas API/retrieve-schemas.md deleted file mode 100644 index 9994d7060b..0000000000 --- a/reference/Lexicon Schemas API/retrieve-schemas.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Retrieve Schemas" -slug: "retrieve-schemas" -hidden: false -createdAt: "2020-11-20T21:23:19.268Z" -updatedAt: "2023-09-26T21:06:38.659Z" ---- diff --git a/reference/Lexicon Schemas API/retrieve-schemas/_order.yaml b/reference/Lexicon Schemas API/retrieve-schemas/_order.yaml new file mode 100644 index 0000000000..2328bac6f1 --- /dev/null +++ b/reference/Lexicon Schemas API/retrieve-schemas/_order.yaml @@ -0,0 +1,3 @@ +- list-all-schemas-for-project +- list-schemas-for-entity +- list-schemas-by-entity-and-name diff --git a/reference/Lexicon Schemas API/retrieve-schemas/list-all-schemas-for-project.md b/reference/Lexicon Schemas API/retrieve-schemas/list-all-schemas-for-project.md index 270ff566e7..1f56052126 100644 --- a/reference/Lexicon Schemas API/retrieve-schemas/list-all-schemas-for-project.md +++ b/reference/Lexicon Schemas API/retrieve-schemas/list-all-schemas-for-project.md @@ -1,8 +1,10 @@ --- -title: "List Schemas" -slug: "list-all-schemas-for-project" -excerpt: "List all schemas in a project" -hidden: false -createdAt: "2020-11-20T21:23:20.194Z" -updatedAt: "2023-09-26T21:06:38.928Z" +title: List Schemas +category: + uri: Lexicon Schemas API +content: + excerpt: List all schemas in a project +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-by-entity-and-name.md b/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-by-entity-and-name.md index 1801e28436..4bbab50ff8 100644 --- a/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-by-entity-and-name.md +++ b/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-by-entity-and-name.md @@ -1,8 +1,10 @@ --- -title: "List for Entity and Name" -slug: "list-schemas-by-entity-and-name" -excerpt: "Get the schema for a specific entity type and entity name" -hidden: false -createdAt: "2020-11-20T21:23:20.201Z" -updatedAt: "2023-09-26T21:06:39.053Z" +title: List for Entity and Name +category: + uri: Lexicon Schemas API +content: + excerpt: Get the schema for a specific entity type and entity name +privacy: + view: public --- + diff --git a/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-for-entity.md b/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-for-entity.md index b11f6b968b..f527605265 100644 --- a/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-for-entity.md +++ b/reference/Lexicon Schemas API/retrieve-schemas/list-schemas-for-entity.md @@ -1,8 +1,10 @@ --- -title: "List for Entity" -slug: "list-schemas-for-entity" -excerpt: "Get all schemas for a specific entity type" -hidden: false -createdAt: "2020-11-20T21:23:20.199Z" -updatedAt: "2023-09-26T21:06:39.030Z" +title: List for Entity +category: + uri: Lexicon Schemas API +content: + excerpt: Get all schemas for a specific entity type +privacy: + view: public --- + diff --git a/reference/Mixpanel APIs/_order.yaml b/reference/Mixpanel APIs/_order.yaml new file mode 100644 index 0000000000..b587324622 --- /dev/null +++ b/reference/Mixpanel APIs/_order.yaml @@ -0,0 +1,4 @@ +- overview +- authentication +- segmentation-expressions +- rate-limits diff --git a/reference/Mixpanel APIs/authentication.md b/reference/Mixpanel APIs/authentication.md deleted file mode 100644 index 37086a283f..0000000000 --- a/reference/Mixpanel APIs/authentication.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Authentication Methods" -slug: "authentication" -hidden: false -createdAt: "2020-08-13T17:14:54.607Z" -updatedAt: "2023-06-21T19:31:29.821Z" ---- -Most of our APIs require authentication for which we recommend using [Service Accounts](ref:service-accounts) to authenticate. However, most of our [Ingestion API](ref:ingestion-api) calls such as [Import Events](ref:import-events), [Track Events](ref:track-event), [User Profiles](ref:user-profiles), and [Group Profiles](ref:group-profiles) only require a [Project Token](ref:project-token). Because these APIs are often called from our client-side SDKs, we do not want to expose credentials, but we do need to know which project to send data to so we use the Project Token for that purpose. - -> 🚧 HTTPS Only -> -> Our APIs will reject calls made over HTTP to protect request and response information. diff --git a/reference/Mixpanel APIs/authentication/_order.yaml b/reference/Mixpanel APIs/authentication/_order.yaml new file mode 100644 index 0000000000..026fbfe416 --- /dev/null +++ b/reference/Mixpanel APIs/authentication/_order.yaml @@ -0,0 +1,4 @@ +- service-accounts +- project-token +- project-secret +- request-signature diff --git a/reference/Mixpanel APIs/authentication/project-secret.md b/reference/Mixpanel APIs/authentication/project-secret.md index 82a4c6ac4b..d12596f866 100644 --- a/reference/Mixpanel APIs/authentication/project-secret.md +++ b/reference/Mixpanel APIs/authentication/project-secret.md @@ -1,25 +1,23 @@ --- -title: "Project Secret [Deprecating]" -slug: "project-secret" -hidden: false -createdAt: "2020-08-13T17:23:22.954Z" -updatedAt: "2021-10-07T15:15:08.278Z" +title: 'Project Secret [Deprecating]' +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- -[block:callout] -{ - "type": "danger", - "title": "Deprecation Warning", - "body": "This authentication method is in the process of being deprecated. Please use Service Accounts instead. We will continue to support Project Secret authentication for legacy customers indefinitely so you aren't at risk of your existing scripts breaking, but we highly recommend migrating to Service Accounts for any subsequent usage." -} -[/block] + + Deprecation Warning + + This authentication method is in the process of being deprecated. Please use Service Accounts instead. We will continue to support Project Secret authentication for legacy customers indefinitely so you aren't at risk of your existing scripts breaking, but we highly recommend migrating to Service Accounts for any subsequent usage. + + Before we introduced Service Accounts, Project Secret was the standard authentication mechanism for importing and exporting data in your project. Your Project Secret is very powerful so be sure to keep it secure. Do not share your secret in publicly accessible or insecure places such as source code or plain-text configs. -[block:api-header] -{ - "title": "Authenticating with a Project Secret" -} -[/block] + +## Authenticating with a Project Secret Project secret authentication is performed via [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme). Provide your secret as the basic auth username value with an empty password. Make sure you use HTTPS and not HTTP - our API rejects requests made over HTTP since this sends your API Secret over the internet in plain text. @@ -29,11 +27,8 @@ Project secret authentication is performed via [HTTP Basic Auth](https://develop -d data= ``` -[block:api-header] -{ - "title": "Managing a Project's Secret" -} -[/block] -A project's secret can be found in the Access Keys section of a project's settings overview page: https://mixpanel.com/settings/project/. +## Managing a Project's Secret + +A project's secret can be found in the Access Keys section of a project's settings overview page: [https://mixpanel.com/settings/project/](https://mixpanel.com/settings/project/). - To learn more, view our [project settings guide](https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings). \ No newline at end of file +To learn more, view our [project settings guide](https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings). diff --git a/reference/Mixpanel APIs/authentication/project-token.md b/reference/Mixpanel APIs/authentication/project-token.md index a686dafd48..6b9592502f 100644 --- a/reference/Mixpanel APIs/authentication/project-token.md +++ b/reference/Mixpanel APIs/authentication/project-token.md @@ -1,9 +1,11 @@ --- -title: "Project Token" -slug: "project-token" -hidden: false -createdAt: "2020-08-13T18:08:34.151Z" -updatedAt: "2023-06-21T22:51:50.849Z" +title: Project Token +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- Every Mixpanel project has a unique alphanumerical token for collecting data. A project's token is not a secret value. In front-end implementation, such as our javascript library, this token will be available to anyone visiting your page. @@ -62,6 +64,6 @@ For [Import Events](ref:import-events), the token is provided in the header as t ## Managing a Project's Token -A project's token can be found in the Access Keys section of a project's settings overview page: . +A project's token can be found in the Access Keys section of a project's settings overview page: [https://mixpanel.com/settings/project/](https://mixpanel.com/settings/project/). - To learn more, view our [project settings guide](https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings). \ No newline at end of file + To learn more, view our [project settings guide](https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings). diff --git a/reference/Mixpanel APIs/authentication/request-signature.md b/reference/Mixpanel APIs/authentication/request-signature.md index 2ad7cebf88..9b2b7badbe 100644 --- a/reference/Mixpanel APIs/authentication/request-signature.md +++ b/reference/Mixpanel APIs/authentication/request-signature.md @@ -1,23 +1,22 @@ --- -title: "Request Signature [Deprecated]" -slug: "request-signature" -hidden: false -createdAt: "2020-10-20T00:18:42.820Z" -updatedAt: "2021-10-07T14:36:59.941Z" +title: 'Request Signature [Deprecated]' +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- -[block:callout] -{ - "type": "danger", - "body": "API authentication via request signature is an outdated authentication. The documentation below has been included for your reference. Please migrate existing code to use Service Account authentication.", - "title": "Deprecation Warning" -} -[/block] + + Deprecation Warning + + API authentication via request signature is an outdated authentication. The documentation below has been included for your reference. Please migrate existing code to use Service Account authentication. + + Request signature authentication is the process of creating an encrypted token unique to a set of request parameters and their values. It was useful when requests were made insecurely or needed to be expirable. However, superior and more simplistic security practices have made this approach obsolete. -[block:api-header] -{ - "title": "Calculating a Signature" -} -[/block] + +## Calculating a Signature + In order to generate a request signature you will need the following information: **api_key**: This is the token from the corresponding to the project you wish to consume from. @@ -26,10 +25,11 @@ In order to generate a request signature you will need the following information **all other request parameters**: All of the information for the API request being performed Calculating the signature is done in parts: -1) Alphabetically sort all parameters being used in the request. This excludes your api_secret -2) alphabetically sorted order, concatenate the parameter and parameter value joined by an equal sign. For example: `param1=value1param2=value2` -2) append the api_secret to the string of concatenated parameters. -3) md5 hash the final string + +1. Alphabetically sort all parameters being used in the request. This excludes your api_secret +2. alphabetically sorted order, concatenate the parameter and parameter value joined by an equal sign. For example: `param1=value1param2=value2` +3. append the api_secret to the string of concatenated parameters. +4. md5 hash the final string The resulting hash is the request signature. @@ -53,16 +53,14 @@ for param in sorted_parameter_names: request_signature = md5(combined_params + api_secret)request_signature = md5(combined_params + api_secret) ``` -[block:api-header] -{ - "title": "Authenticating with a Request Signature" -} -[/block] +## Authenticating with a Request Signature + The generated signature needs to be provided with the parameters you used to calculate it. It will not work if any parameters or values change and it will not be valid after the expiry time. Your URL should look similar to this however varying on the endpoint you are requesting data from: Request with Signature + ```txt https://mixpanel.com/api/2.0/events/ &interval=7 diff --git a/reference/Mixpanel APIs/authentication/service-accounts.md b/reference/Mixpanel APIs/authentication/service-accounts.md index d81a11534d..3e6ca3c423 100644 --- a/reference/Mixpanel APIs/authentication/service-accounts.md +++ b/reference/Mixpanel APIs/authentication/service-accounts.md @@ -1,101 +1,123 @@ --- -title: "Service Accounts" -slug: "service-accounts" -hidden: false -createdAt: "2020-06-17T00:38:51.169Z" -updatedAt: "2021-10-07T14:36:29.747Z" +title: Service Accounts +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- -[block:callout] -{ - "type": "success", - "title": "Recommended Authentication", - "body": "" -} -[/block] -A service account is a special type of Mixpanel user intended to represent a non-human entity such as a script or back end service. Similar to a normal user it can be granted access to any number of projects and workspaces within an organization. Permissions are set by defining the role of the service account for each project or workspace. A service account can only belong to one organization. -[block:api-header] -{ - "title": "Authenticating with a Service Account" -} -[/block] -Service Account authentication is performed via [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme). While the Basic access standard calls for a base64 encoding of the colon-joined credentials our authentication accepts both base64 encoding and plain-text. + + Recommended Authentication + + +A service account is a special type of Mixpanel user intended to represent a non-human entity such as a script or back end service. Similar to a normal user it can be granted access to any number of projects and workspaces within an organization. Permissions are set by defining the role of the service account for each project or workspace. A service account can only belong to one organization. + +## Authenticating with a Service Account + +Service Account authentication is performed via [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme). While the Basic access standard calls for a base64 encoding of the colon-joined credentials our authentication accepts both base64 encoding and plain-text. Provide a service account's username and secret as the basic authentication credentials. -[block:code] -{ - "codes": [ - { - "code": "curl https://mixpanel.com/api/app/me \\\n\t--user \":\"", - "language": "curl", - "name": "cURL Basic Auth" - }, - { - "code": "curl https://mixpanel.com/api/app/me \\\n\t--header 'authorization: Basic :'", - "language": "shell", - "name": "cURL Header" - }, - { - "code": "import requests\nrequests.get(\n 'https://mixpanel.com/api/app/me', \n auth=('', ''),\n)", - "language": "python", - "name": "Python Requests" - } - ] -} -[/block] -[block:api-header] -{ - "title": "Managing Service Accounts" -} -[/block] +```curl cURL Basic Auth +curl https://mixpanel.com/api/app/me \ + --user ":" +``` +```shell cURL Header +curl https://mixpanel.com/api/app/me \ + --header 'authorization: Basic :' +``` +```python Python Requests +import requests +requests.get( + 'https://mixpanel.com/api/app/me', + auth=('', ''), +) +``` -[block:callout] -{ - "type": "warning", - "title": "Owner or Admin Permissions Required", - "body": "You must have Owner or Admin permissions to manage a project's Service Accounts. Learn more in our [permissions help doc](https://mixpanelsupport.zendesk.com/hc/en-us/articles/360024613412)." -} -[/block] +## Managing Service Accounts -[block:html] -{ - "html": "
\n\t
\n

\n You can view and create service accounts in your organization in the Service Accounts tab in your Organization settings\n

\n

\n You will be asked to select the role and granted projects of the when creating a service account from the organization's settings page. Deleting a service account from the organization will immediately revoke access to all projects in the organization.\n

\n
\n
\n \t \n
\n
\n
\n
\n \t\n
\n
\n

\n You can also manage service accounts in your project settings.\n

\n
\n
\n\n" -} -[/block] -Any service account you create from the project settings page will be automatically be assigned an admin role. Deleting a service account will revoke access only from that project. -[block:html] -{ - "html": "
\n \n
\n \n" -} -[/block] +> 🚧 Owner or Admin Permissions Required +> +> You must have Owner or Admin permissions to manage a project's Service Accounts. Learn more in our [permissions help doc](https://mixpanelsupport.zendesk.com/hc/en-us/articles/360024613412). + +{` +
+
+

+ You can view and create service accounts in your organization in the Service Accounts tab in your Organization settings +

+

+ You will be asked to select the role and granted projects of the when creating a service account from the organization's settings page. Deleting a service account from the organization will immediately revoke access to all projects in the organization. +

+
+
+ +
+
+
+
+ +
+
+

+ You can also manage service accounts in your project settings. +

+
+
-[block:callout] -{ - "type": "warning", - "body": "It's very important you save your service account secret somewhere secure as you won't be able to access it again after creation.", - "title": "Immediately store your credentials in a safe place" -} -[/block] + +`}
-[block:api-header] -{ - "title": "Service Account Expiration" -} -[/block] -By default, service accounts have no expiration. However, when you create a service account you can optionally specify how long you want it to be valid for. This may provide increased security and force a credential rotation policy. After the credentials expire, API requests using the service account will not be authorized. -[block:image] -{ - "images": [ - { - "image": [ - "https://files.readme.io/3668062-image_12.png", - "image (12).png", - 1484, - 559, - "#eeeef0" - ], - "sizing": "80" +Any service account you create from the project settings page will be automatically be assigned an admin role. Deleting a service account will revoke access only from that project. + +{` + + + +`} + +> 🚧 Immediately store your credentials in a safe place +> +> It's very important you save your service account secret somewhere secure as you won't be able to access it again after creation. + +## Service Account Expiration + +By default, service accounts have no expiration. However, when you create a service account you can optionally specify how long you want it to be valid for. This may provide increased security and force a credential rotation policy. After the credentials expire, API requests using the service account will not be authorized. + + diff --git a/reference/Mixpanel APIs/overview.md b/reference/Mixpanel APIs/overview.md index 1b5ca48f87..faa2170495 100644 --- a/reference/Mixpanel APIs/overview.md +++ b/reference/Mixpanel APIs/overview.md @@ -1,11 +1,12 @@ --- -title: "Overview" -slug: "overview" -hidden: false -createdAt: "2020-08-13T17:28:39.814Z" -updatedAt: "2024-08-05T19:31:43.295Z" +title: Overview +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- - Mixpanel supports API endpoints that can query, export, and import data as well as manipulate Mixpanel metadata (such as data definitions). The API endpoints are organized by the function that they support. The API structure is as follows: @@ -15,11 +16,11 @@ The API endpoints are organized by the function that they support. The API struc **Standard Server:** `api.mixpanel.com` **EU Residency Server:** `api-eu.mixpanel.com` **India Residency Server:** `api-in.mixpanel.com` -Use the Ingestion API to get your data into Mixpanel. This includes live events, historical imports, and user profile data. +Use the Ingestion API to get your data into Mixpanel. This includes live events, historical imports, and user profile data. -> 🚧 Data Residency -> -> To ensure data ingests into your project, use the correct Ingestion API subdomain for your project's data residency. For more information, you can learn more about: [EU Residency](https://docs.mixpanel.com/docs/privacy/eu-residency) and [IN Residency](https://docs.mixpanel.com/docs/privacy/in-residency). + + To ensure data ingests into your project, use the correct Ingestion API subdomain for your project's data residency. For more information, you can learn more about: [EU Residency](https://docs.mixpanel.com/docs/privacy/eu-residency) and [IN Residency](https://docs.mixpanel.com/docs/privacy/in-residency). + ### [**Query API**](ref:query-api) @@ -28,7 +29,7 @@ Use the Ingestion API to get your data into Mixpanel. This includes live events, **India Residency Server:** `in.mixpanel.com/api` Use the Query AP to get the same calculated data the powers Mixpanel's web application. This includes Insights, Funnels, Retention, and custom JQL Queries. -### [**Raw Data Export API **](ref:raw-data-export-api) +### [**Raw Data Export API**](ref:raw-data-export-api) **Standard Server:** `data.mixpanel.com/api/2.0/export` **EU Residency Server:** `data-eu.mixpanel.com/api/2.0/export` diff --git a/reference/Mixpanel APIs/rate-limits.md b/reference/Mixpanel APIs/rate-limits.md index 55a2a4d903..a92e63c9c8 100644 --- a/reference/Mixpanel APIs/rate-limits.md +++ b/reference/Mixpanel APIs/rate-limits.md @@ -1,29 +1,31 @@ --- -title: "Rate Limits" -slug: "rate-limits" -hidden: false -categorySlug: "mixpanel-apis" -createdAt: "2023-10-31T15:28:39.814Z" -updatedAt: "2023-10-31T15:38:48.152Z" +title: Rate Limits +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- We enforce a rate limit on our API to ensure the integrity of our system as well as prevent a single project from monopolizing the available resources for other projects. Getting a 429 response code from our API means that you have reached our rate-limit. The rate limits are as follows: -### [**Ingestion API**](ref:ingestion-api) -2GB of uncompressed JSON/minute or ~30k events per second, measured on a rolling 1 minute basis. Please click [here](https://developer.mixpanel.com/reference/import-events#rate-limits) for more details. +### [**Ingestion API**](ref:ingestion-api) +2GB of uncompressed JSON/minute or \~30k events per second, measured on a rolling 1 minute basis. Please click [here](https://developer.mixpanel.com/reference/import-events#rate-limits) for more details. + +### [**Query API**](ref:query-api) -### [**Query API**](ref:query-api) A maximum of 5 concurrent queries and 60 queries per hour. -### [**Raw Data Export API **](ref:raw-data-export-api) -A maximum of 100 concurrent queries, 60 queries per hour, and 3 queries per second. +### [**Raw Data Export API**](ref:raw-data-export-api) +A maximum of 100 concurrent queries, 60 queries per hour, and 3 queries per second. -### [**Lexicon Schemas API**](ref:lexicon-schemas-api) -The Lexicon Schemas API imposes an 8mb body size limit and the request cannot take longer than two minutes. If you are running up against these limits, we suggest breaking your request into smaller batches. Usually these limits are only hit if you are attempting to do a bulk create/update. +### [**Lexicon Schemas API**](ref:lexicon-schemas-api) +A maximum of 5 requests per minute, under 4000 events and properties updated in each minute, and less than 3000 total truncations/deletions per request. ### You can reduce rate-limiting errors using one of the two approaches: diff --git a/reference/Mixpanel APIs/segmentation-expressions.md b/reference/Mixpanel APIs/segmentation-expressions.md index 7f3b30fa10..04c2dbff5f 100644 --- a/reference/Mixpanel APIs/segmentation-expressions.md +++ b/reference/Mixpanel APIs/segmentation-expressions.md @@ -1,13 +1,16 @@ --- -title: "Segmentation Expressions" -slug: "segmentation-expressions" -hidden: false -createdAt: "2020-10-21T23:25:38.408Z" -updatedAt: "2021-11-03T19:36:47.214Z" +title: Segmentation Expressions +category: + uri: Mixpanel APIs +content: + excerpt: '' +privacy: + view: public --- Segmentation Expressions are used in [Query API](ref:query-api) and [Raw Data Export API](raw-data-export-api) to allow for more specificity when querying your data. The power of segmentation comes from the ability to define custom expressions based on property names in the where and on parameters. An expression consists of a property, combined with one or more operators that can perform mathematical operations, logical operations, or typecasts. Expression are then applied in the where and on parameters of the segmentation API. The full grammar for expressions is given here: + ```txt ::= 'properties["' '"]' | @@ -26,30 +29,64 @@ The power of segmentation comes from the ability to define custom expressions ba ::= 'properties["' '"]' ``` -[block:api-header] -{ - "title": "Examples" -} -[/block] - -[block:parameters] -{ - "data": { - "h-0": "Expression", - "h-1": "Description", - "0-0": "`properties[\"account_id\"] in [1,2,3,4]`", - "0-1": "Returns `true` if `account_id` event property is 1, 2, 3, or 4, otherwise `false`.", - "1-0": "`user[\"$email\"] == \"allison@example.com\"`", - "1-1": "Returns `true` if `$email` user property is \"allison@example.com\" otherwise `false`.", - "2-0": "`defined(properties[\"My Prop\"])`", - "2-1": "Returns `true` if `My Prop` event property has any value, otherwise `false`. This is the same as \"is set\" in the UI.", - "3-0": "`not defined(properties[\"city\"])`", - "3-1": "Returns `false` if `city` event property has any value, otherwise `true`. This is the same as \"is not set\" in the UI." - }, - "cols": 2, - "rows": 4 -} -[/block] +## Examples + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Expression + + Description +
+ `properties["account_id"] in [1,2,3,4]` + + Returns `true` if `account_id` event property is 1, 2, 3, or 4, otherwise `false`. +
+ `user["$email"] == "allison@example.com"` + + Returns `true` if `$email` user property is "[allison@example.com](mailto:allison@example.com)" otherwise `false`. +
+ `defined(properties["My Prop"])` + + Returns `true` if `My Prop` event property has any value, otherwise `false`. This is the same as "is set" in the UI. +
+ `not defined(properties["city"])` + + Returns `false` if `city` event property has any value, otherwise `true`. This is the same as "is not set" in the UI. +
+ ## Typecast Operations Internally, all properties of events have a type. This type is determined when we parse the event sent to us into a JSON object. Currently, there are three types, string, number, and boolean, which may be specified directly. A property may also have the values null and undefined, which are only handled internally. The default type is string. If you wish to treat an expression as another type, you may use the typecast operators to cast a property to a different type. For example, if `properties["signed up"]` has values of `"true"` and `"false"` as strings, and you wish to encode them as booleans, you may cast them by using the `boolean() typecast function: boolean(properties["signed up"])`. @@ -57,47 +94,161 @@ Internally, all properties of events have a type. This type is determined when w The typecasting rules are described below. ## Casting to String -[block:parameters] -{ - "data": { - "0-0": "**Type**", - "0-1": "Result", - "1-0": "**String**", - "1-1": "Same String", - "2-0": "**Number**", - "2-1": "String containing the decimal representation of the number.", - "3-0": "**Boolean**", - "3-1": "\"true\" or \"false\"", - "4-0": "**null**", - "4-1": "null", - "5-0": "**Undefined**", - "5-1": "undefined" - }, - "cols": 2, - "rows": 6 -} -[/block] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ **Type** + + Result +
+ **String** + + Same String +
+ **Number** + + String containing the decimal representation of the number. +
+ **Boolean** + + "true" or "false" +
+ **null** + + null +
+ **Undefined** + + undefined +
+ ## Casting to Number -[block:parameters] -{ - "data": { - "0-0": "**Type**", - "0-1": "Result", - "1-0": "**String**", - "1-1": "Attempts to interpret the string as a decimal. If this fails, the value becomes undefined.", - "2-0": "**Number**", - "2-1": "Same number", - "3-0": "**Boolean**", - "3-1": "1.0 if true, 0.0 if false", - "4-0": "**null**", - "4-1": "undefined", - "5-0": "**undefined**", - "5-1": "undefined" - }, - "cols": 2, - "rows": 6 -} -[/block] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ **Type** + + Result +
+ **String** + + Attempts to interpret the string as a decimal. If this fails, the value becomes undefined. +
+ **Number** + + Same number +
+ **Boolean** + + 1.0 if true, 0.0 if false +
+ **null** + + undefined +
+ **undefined** + + undefined +
+ ## Binary Operations The arithmetic operators `"-"`, `"*"`, `"/"`, `"%"` perform the subtraction, multiplication, division, and remainder operations, respectively. The division operator will return undefined if the divisor is 0. The sign of the value of the remainder will be equivalent to the dividend. All four of these operators expect both operands to be of the type number, or else the result is undefined. @@ -118,4 +269,4 @@ The `"-"` operator will negate an operand of type number, and return undefined o The `"not"` operator will perform the logical not on an operand of type boolean. It will also evaluate an operand of type undefined as true. All other operands will be evaluated to undefined. -The `"floor"`, `"round"`, and `"ceil"` functions perform their mathematical operations on an operand of type number. On all other types, it will return undefined. \ No newline at end of file +The `"floor"`, `"round"`, and `"ceil"` functions perform their mathematical operations on an operand of type number. On all other types, it will return undefined. diff --git a/reference/Partner Integrations/_order.yaml b/reference/Partner Integrations/_order.yaml new file mode 100644 index 0000000000..0d9fc9bc53 --- /dev/null +++ b/reference/Partner Integrations/_order.yaml @@ -0,0 +1 @@ +- partner-cohort-integrations diff --git a/reference/Partner Integrations/partner-cohort-integrations.md b/reference/Partner Integrations/partner-cohort-integrations.md new file mode 100644 index 0000000000..800eeea274 --- /dev/null +++ b/reference/Partner Integrations/partner-cohort-integrations.md @@ -0,0 +1,59 @@ +--- +title: Partner Cohort Integrations +category: + uri: Partner Integrations +content: + excerpt: '' +privacy: + view: anyone_with_link +--- +This page documents Mixpanel’s specifications for matching computed sets of users (“Cohorts”) to [technology partner products](https://mixpanel.com/partners/becomeapartner-technology/) via a webhooks-based approach. + +This spec is intended for technology partners building cohort sync integrations alongside the Mixpanel team. Please confirm with the Mixpanel Partnerships team if you wish to leverage this connection. + +If you are instead a Mixpanel customer looking to pull cohorts for use, please refer to the [Cohorts API](https://developer.mixpanel.com/reference/cohorts). + +## Partner Onboarding and Requirements + +The channel for routing cohorts from Mixpanel to your product will be a *single webhook endpoint* established by your team. Mixpanel’s team will work with you to incorporate this endpoint into the Mixpanel product to create a UX in line with our existing integration set. + +Please provide the following elements as part of your integration build process:\ +Webhook URL, for delivering cohort groups & actions\ +Links to your help center articles on the integration (only applicable if passing data back to Mixpanel e.g. user events)\ +Authorization format you intend to use (see below section on Authorization)\ +How you would like to perform user ID resolution (see section below. If opting for a special joining key, please specify the value. If instead requiring mutual customers implement the same ID system in both tools, please specify)\ +Company logo SVG, to include in the Mixpanel UI\ +Return values for errors, to allow Mixpanel to display integration status in our UI + +## End User Workflow + +Users will be able to initialize the integration through Mixpanel’s integrations tab, where they will be prompted to enter an API key / token / etc., pulled from their account on your platform: + + + +As users define a cohort through Mixpanel’s UI (e.g. “users who made a playlist in the last week”), they’ll have the option to export that set of users through Mixpanel’s cohort manager to your platform (seen below with Airship as an example): + + + +Users may then select from two types of exports - One time and Dynamic\ +One time exports will send the full set of users computed at the time of export\ +Dynamic exports will recompute the group at 2-hour intervals and send updates + +Later iterations will allow users to create these exports programmatically. For each run of a sync, the cohort will be sent to the webhook URL, whose format is described below. + +## Webhook Requests + Responses + +All webhook requests contain a few core components:\ +A header of the format “x-api-key”: \”\ +This is the key the user entered in the modal during integration initialization. Use this to reference the user’s account / workspace / etc. to attribute the cohort to\ +An action describing what action to take based on the message. There are two actions:\ +members\ +remove\_members\ +A few parameters for the given action + +Reach out to the Mixpanel partnerships team to request the full Swagger spec + +NOTE] +Have some\ +Have someone from Eng upload the Swagger doc to readme (they have to do an update to the /analytics repo, so it has to be someone on eng) - that'll get the nice auto-populated\ + NOTE] diff --git a/reference/Query API/_order.yaml b/reference/Query API/_order.yaml new file mode 100644 index 0000000000..04a71a4b39 --- /dev/null +++ b/reference/Query API/_order.yaml @@ -0,0 +1,11 @@ +- query-api +- query-api-authentication +- activity-feed +- cohorts +- engage +- event-breakdown +- funnels +- insights +- jql +- retention +- segmentation diff --git a/reference/Query API/activity-feed.md b/reference/Query API/activity-feed.md deleted file mode 100644 index 91b26cdc3c..0000000000 --- a/reference/Query API/activity-feed.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Activity Feed" -slug: "activity-feed" -hidden: false -createdAt: "2020-10-20T00:41:46.095Z" -updatedAt: "2023-09-26T21:06:38.895Z" ---- diff --git a/reference/Query API/activity-feed/_order.yaml b/reference/Query API/activity-feed/_order.yaml new file mode 100644 index 0000000000..fd25c97236 --- /dev/null +++ b/reference/Query API/activity-feed/_order.yaml @@ -0,0 +1 @@ +- activity-stream-query diff --git a/reference/Query API/activity-feed/activity-stream-query.md b/reference/Query API/activity-feed/activity-stream-query.md index aa939db652..ed30bb8b2b 100644 --- a/reference/Query API/activity-feed/activity-stream-query.md +++ b/reference/Query API/activity-feed/activity-stream-query.md @@ -1,8 +1,13 @@ --- -title: "Profile Event Activity" -slug: "activity-stream-query" -excerpt: "This endpoint returns the activity feed for specified users." -hidden: false -createdAt: "2020-10-20T00:41:48.202Z" -updatedAt: "2023-09-26T21:06:39.076Z" +title: Profile Event Activity +category: + uri: Query API +content: + excerpt: >- + This endpoint returns the activity feed for specified users. The Query API + has a rate limit of 60 queries per hour and a maximum of 5 concurrent + queries. +privacy: + view: public --- + diff --git a/reference/Query API/cohorts.md b/reference/Query API/cohorts.md deleted file mode 100644 index 9ae0c17c57..0000000000 --- a/reference/Query API/cohorts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Cohorts" -slug: "cohorts" -hidden: false -createdAt: "2020-10-20T00:41:46.097Z" -updatedAt: "2023-09-26T21:06:38.905Z" ---- diff --git a/reference/Query API/cohorts/_order.yaml b/reference/Query API/cohorts/_order.yaml new file mode 100644 index 0000000000..f120a8da14 --- /dev/null +++ b/reference/Query API/cohorts/_order.yaml @@ -0,0 +1 @@ +- cohorts-list diff --git a/reference/Query API/cohorts/cohorts-list.md b/reference/Query API/cohorts/cohorts-list.md index 6b5f1a6029..20659b48bf 100644 --- a/reference/Query API/cohorts/cohorts-list.md +++ b/reference/Query API/cohorts/cohorts-list.md @@ -1,12 +1,23 @@ --- -title: "List Saved Cohorts" -slug: "cohorts-list" -excerpt: "" -hidden: false -createdAt: "2020-10-20T00:41:48.203Z" -updatedAt: "2023-09-26T21:06:39.085Z" ---- +title: List Saved Cohorts +category: + uri: Query API +content: + excerpt: > + The list endpoint returns all of the cohorts in a given project. The JSON + formatted return contains the cohort name, id, count, description, creation + date, and visibility for every cohort in the project. + + If you're trying to get a list of users in a cohort, you can use the + [`/engage` endpoint with the `filter_by_cohort` + parameter](ref:engage#engage-query). + + The Query API has a rate limit of 60 queries per hour and a maximum of 5 + concurrent queries. +privacy: + view: public +--- The list endpoint returns all of the cohorts in a given project. The JSON formatted return contains the cohort name, id, count, description, creation date, and visibility for every cohort in the project. If you're trying to get a list of users in a cohort, you can use the [`/engage` endpoint with the `filter_by_cohort` parameter](ref:engage#engage-query). diff --git a/reference/Query API/engage.md b/reference/Query API/engage.md deleted file mode 100644 index e12050f9a6..0000000000 --- a/reference/Query API/engage.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Engage" -slug: "engage" -hidden: false -createdAt: "2020-10-20T00:41:46.098Z" -updatedAt: "2023-09-26T21:06:38.912Z" ---- diff --git a/reference/Query API/engage/_order.yaml b/reference/Query API/engage/_order.yaml new file mode 100644 index 0000000000..1e428facd4 --- /dev/null +++ b/reference/Query API/engage/_order.yaml @@ -0,0 +1 @@ +- engage-query diff --git a/reference/Query API/engage/engage-query.md b/reference/Query API/engage/engage-query.md index 29517af556..fb920ae219 100644 --- a/reference/Query API/engage/engage-query.md +++ b/reference/Query API/engage/engage-query.md @@ -1,12 +1,12 @@ --- -title: "Query Profiles" -slug: "engage-query" -excerpt: "" -hidden: false -createdAt: "2020-10-20T00:41:48.205Z" -updatedAt: "2023-09-26T21:06:39.094Z" +title: Query Profiles +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- - Query user (or group) profile data and return list of users (or groups) that fit specified parameters. API responses will return at most `page_size` records for each request. To request additional records, callers should repeat their call to the API using the same `where` param, but provide a `session_id` parameter with a value taken from the first response, and include a `page` parameter with a value one greater than the value of page in the response. diff --git a/reference/Query API/event-breakdown.md b/reference/Query API/event-breakdown.md deleted file mode 100644 index 9087bc8313..0000000000 --- a/reference/Query API/event-breakdown.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Event Breakdown" -slug: "event-breakdown" -hidden: false -createdAt: "2020-10-20T00:41:46.100Z" -updatedAt: "2023-09-26T21:06:38.919Z" ---- diff --git a/reference/Query API/event-breakdown/_order.yaml b/reference/Query API/event-breakdown/_order.yaml new file mode 100644 index 0000000000..3dae000bbf --- /dev/null +++ b/reference/Query API/event-breakdown/_order.yaml @@ -0,0 +1,6 @@ +- list-recent-events +- query-top-events +- query-months-top-event-names +- query-event-properties +- query-events-top-properties +- query-events-top-property-values diff --git a/reference/Query API/event-breakdown/list-recent-events.md b/reference/Query API/event-breakdown/list-recent-events.md index 9e39135fb4..6dafc36313 100644 --- a/reference/Query API/event-breakdown/list-recent-events.md +++ b/reference/Query API/event-breakdown/list-recent-events.md @@ -1,8 +1,15 @@ --- -title: "Aggregate Event Counts" -slug: "list-recent-events" -excerpt: "Get unique, total, or average data for a set of events over N days, weeks, or months." -hidden: false -createdAt: "2020-10-20T00:41:48.206Z" -updatedAt: "2023-09-26T21:06:39.102Z" +title: Aggregate Event Counts +category: + uri: Query API +content: + excerpt: >- + Get unique, total, or average data for a set of events over N days, weeks, + or months. + + The Query API has a rate limit of 60 queries per hour and a maximum of 5 + concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/event-breakdown/query-event-properties.md b/reference/Query API/event-breakdown/query-event-properties.md index d820550dd3..a219797639 100644 --- a/reference/Query API/event-breakdown/query-event-properties.md +++ b/reference/Query API/event-breakdown/query-event-properties.md @@ -1,8 +1,14 @@ --- -title: "Aggregated Event Property Values" -slug: "query-event-properties" -excerpt: "Get unique, total, or average data for of a single event and property over days, weeks, or months." -hidden: false -createdAt: "2020-10-20T00:41:48.210Z" -updatedAt: "2023-09-26T21:06:39.130Z" +title: Aggregated Event Property Values +category: + uri: Query API + excerpt: >- + Get unique, total, or average data for of a single event and property over + days, weeks, or months. + + The Query API has a rate limit of 60 queries per hour and a maximum of 5 + concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/event-breakdown/query-events-top-properties.md b/reference/Query API/event-breakdown/query-events-top-properties.md index cf96ae984e..f69752b72c 100644 --- a/reference/Query API/event-breakdown/query-events-top-properties.md +++ b/reference/Query API/event-breakdown/query-events-top-properties.md @@ -1,8 +1,12 @@ --- -title: "Top Event Properties" -slug: "query-events-top-properties" -excerpt: "Get the top property names for an event." -hidden: false -createdAt: "2020-10-20T00:41:48.211Z" -updatedAt: "2023-09-26T21:06:39.141Z" +title: Top Event Properties +category: + uri: Query API +content: + excerpt: >- + Get the top property names for an event. The Query API has a rate limit of + 60 queries per hour and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/event-breakdown/query-events-top-property-values.md b/reference/Query API/event-breakdown/query-events-top-property-values.md index b529902b16..8ff68ebf53 100644 --- a/reference/Query API/event-breakdown/query-events-top-property-values.md +++ b/reference/Query API/event-breakdown/query-events-top-property-values.md @@ -1,8 +1,12 @@ --- -title: "Top Event Property Values" -slug: "query-events-top-property-values" -excerpt: "Get the top values for a property." -hidden: false -createdAt: "2020-10-20T00:41:48.212Z" -updatedAt: "2023-09-26T21:06:39.154Z" +title: Top Event Property Values +category: + uri: Query API +content: + excerpt: >- + Get the top values for a property. The Query API has a rate limit of 60 + queries per hour and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/event-breakdown/query-months-top-event-names.md b/reference/Query API/event-breakdown/query-months-top-event-names.md index 5ed6e917ef..658c18b4bb 100644 --- a/reference/Query API/event-breakdown/query-months-top-event-names.md +++ b/reference/Query API/event-breakdown/query-months-top-event-names.md @@ -1,8 +1,13 @@ --- -title: "Top Events" -slug: "query-months-top-event-names" -excerpt: "Get a list of the most common events over the last 31 days." -hidden: false -createdAt: "2020-10-20T00:41:48.208Z" -updatedAt: "2023-09-26T21:06:39.119Z" +title: Top Events +category: + uri: Query API +content: + excerpt: >- + Get a list of the most common events over the last 31 days. The Query API + has a rate limit of 60 queries per hour and a maximum of 5 concurrent + queries. +privacy: + view: public --- + diff --git a/reference/Query API/event-breakdown/query-top-events.md b/reference/Query API/event-breakdown/query-top-events.md index 8f106c31b6..989e797d5a 100644 --- a/reference/Query API/event-breakdown/query-top-events.md +++ b/reference/Query API/event-breakdown/query-top-events.md @@ -1,8 +1,15 @@ --- -title: "Today's Top Events" -slug: "query-top-events" -excerpt: "Get the top events for today, with their counts and the normalized percent change from yesterday." -hidden: false -createdAt: "2020-10-20T00:41:48.207Z" -updatedAt: "2023-09-26T21:06:39.110Z" +title: Today's Top Events +category: + uri: Query API +content: + excerpt: >- + Get the top events for today, with their counts and the normalized percent + change from yesterday. + + The Query API has a rate limit of 60 queries per hour and a maximum of 5 + concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/funnels.md b/reference/Query API/funnels.md deleted file mode 100644 index 35790fd4b0..0000000000 --- a/reference/Query API/funnels.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Funnels" -slug: "funnels" -hidden: false -createdAt: "2020-10-20T00:41:46.089Z" -updatedAt: "2023-09-26T21:06:38.873Z" ---- diff --git a/reference/Query API/funnels/_order.yaml b/reference/Query API/funnels/_order.yaml new file mode 100644 index 0000000000..9514a3d6b2 --- /dev/null +++ b/reference/Query API/funnels/_order.yaml @@ -0,0 +1,2 @@ +- funnels-query +- funnels-list-saved diff --git a/reference/Query API/funnels/funnels-list-saved.md b/reference/Query API/funnels/funnels-list-saved.md index 9bac60fd42..cdcf9d593a 100644 --- a/reference/Query API/funnels/funnels-list-saved.md +++ b/reference/Query API/funnels/funnels-list-saved.md @@ -1,8 +1,10 @@ --- -title: "List Saved Funnels" -slug: "funnels-list-saved" -excerpt: "Get the names and funnel_ids of your funnels." -hidden: false -createdAt: "2020-10-20T00:41:48.193Z" -updatedAt: "2023-09-26T21:06:38.971Z" +title: List Saved Funnels +category: + uri: Query API +content: + excerpt: Get the names and funnel_ids of your funnels. +privacy: + view: public --- + diff --git a/reference/Query API/funnels/funnels-query.md b/reference/Query API/funnels/funnels-query.md index 0b9e8ce57c..6d4072f624 100644 --- a/reference/Query API/funnels/funnels-query.md +++ b/reference/Query API/funnels/funnels-query.md @@ -1,8 +1,12 @@ --- -title: "Query Saved Report" -slug: "funnels-query" -excerpt: "Get data for a funnel." -hidden: false -createdAt: "2020-10-20T00:41:48.192Z" -updatedAt: "2023-09-26T21:06:38.962Z" +title: Query Saved Report +category: + uri: Query API +content: + excerpt: >- + Get data for a funnel. The Query API has a rate limit of 60 queries per hour + and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/insights.md b/reference/Query API/insights.md deleted file mode 100644 index 61d2d8dc1b..0000000000 --- a/reference/Query API/insights.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Insights" -slug: "insights" -hidden: false -createdAt: "2020-10-20T00:41:46.086Z" -updatedAt: "2023-09-26T21:06:38.864Z" ---- diff --git a/reference/Query API/insights/_order.yaml b/reference/Query API/insights/_order.yaml new file mode 100644 index 0000000000..b9e20b25e0 --- /dev/null +++ b/reference/Query API/insights/_order.yaml @@ -0,0 +1 @@ +- insights-query diff --git a/reference/Query API/insights/insights-query.md b/reference/Query API/insights/insights-query.md index 233dc781dd..f7258d196c 100644 --- a/reference/Query API/insights/insights-query.md +++ b/reference/Query API/insights/insights-query.md @@ -1,8 +1,12 @@ --- -title: "Query Saved Report" -slug: "insights-query" -excerpt: "Get data from your Insights reports." -hidden: false -createdAt: "2020-10-20T00:41:48.190Z" -updatedAt: "2023-09-26T21:06:38.952Z" +title: Query Saved Report +category: + uri: Query API +content: + excerpt: >- + Get data from your Insights reports. The Query API has a rate limit of 60 + queries per hour and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/jql.md b/reference/Query API/jql.md deleted file mode 100644 index 98b32c170a..0000000000 --- a/reference/Query API/jql.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "JQL" -slug: "jql" -hidden: false -createdAt: "2020-10-20T00:41:46.102Z" -updatedAt: "2023-09-26T21:06:38.928Z" ---- diff --git a/reference/Query API/jql/_order.yaml b/reference/Query API/jql/_order.yaml new file mode 100644 index 0000000000..b14fa08328 --- /dev/null +++ b/reference/Query API/jql/_order.yaml @@ -0,0 +1,2 @@ +- query-jql +- jql-additional-info diff --git a/reference/Query API/jql/jql-additional-info.md b/reference/Query API/jql/jql-additional-info.md index 1427bc2e93..4a08ade0e6 100644 --- a/reference/Query API/jql/jql-additional-info.md +++ b/reference/Query API/jql/jql-additional-info.md @@ -1,9 +1,10 @@ --- -title: "Additional Information" -slug: "jql-additional-info" -hidden: false -createdAt: "2020-10-20T22:19:11.453Z" -updatedAt: "2020-10-20T22:21:59.752Z" -type: "link" -link_url: "https://developer.mixpanel.com/docs/jql-overview" +title: Additional Information +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- + diff --git a/reference/Query API/jql/query-jql.md b/reference/Query API/jql/query-jql.md index a84bb8f82e..a2fa30ea20 100644 --- a/reference/Query API/jql/query-jql.md +++ b/reference/Query API/jql/query-jql.md @@ -1,20 +1,21 @@ --- -title: "Custom JQL Query" -slug: "query-jql" -excerpt: "" -hidden: false -createdAt: "2020-10-20T00:41:48.213Z" -updatedAt: "2023-09-26T21:06:39.162Z" +title: Custom JQL Query +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- - > ❗️JQL is currently in maintenance mode and will be completely deprecated December 31, 2025. We recommend discontinuing use of JQL and using an [alternate method](https://docs.mixpanel.com/docs/export-methods) to get the data you need. Below are alternatives for common use cases and you need help deciding the best method for you, reach out to [support](mixpanel.com/get-support). -> - Raw Event export: [Export API](https://developer.mixpanel.com/reference/raw-data-export-api) or [Data Pipelines](https://docs.mixpanel.com/docs/data-pipelines) -> - User Profile export: [Engage Query API](https://developer.mixpanel.com/reference/engage-query) or [Data Pipelines](https://docs.mixpanel.com/docs/data-pipelines) -> - Other reporting: [Query API](https://developer.mixpanel.com/reference/query-api) or in-app [Core Reports](https://docs.mixpanel.com/docs/reports) +> +> * Raw Event export: [Export API](https://developer.mixpanel.com/reference/raw-data-export-api) or [Data Pipelines](https://docs.mixpanel.com/docs/data-pipelines) +> * User Profile export: [Engage Query API](https://developer.mixpanel.com/reference/engage-query) or [Data Pipelines](https://docs.mixpanel.com/docs/data-pipelines) +> * Other reporting: [Query API](https://developer.mixpanel.com/reference/query-api) or in-app [Core Reports](https://docs.mixpanel.com/docs/reports) The HTTP API is the lowest-level way to use JQL. At its core, the API is very simple: you write a script, and you post it to an API endpoint with some authentication parameters. -For longer scripts, you will likely want to keep the code in a file. If you had your script in a file called my_query.js, you could run it using the following cURL command: +For longer scripts, you will likely want to keep the code in a file. If you had your script in a file called my\_query.js, you could run it using the following cURL command: ```sh curl https://mixpanel.com/api/query/jql \ @@ -45,7 +46,7 @@ curl --request POST \ Note -- The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. -- Queries will timeout after 2 minutes of run-time. -- You cannot make remote network requests (using XMLHttpRequest) from JavaScript. -- Queries to the JQL endpoint contribute to Query API rate limit and have their own individual limit as well. There is a maximum of 5 concurrent queries and of 60 queries per hour. There is also a 5 GB limit on data that can be processed in a single query, and a 2 GB limit on the resulting output data. +* The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. +* Queries will timeout after 2 minutes of run-time. +* You cannot make remote network requests (using XMLHttpRequest) from JavaScript. +* Queries to the JQL endpoint contribute to Query API rate limit and have their own individual limit as well. There is a maximum of 5 concurrent queries and of 60 queries per hour. There is also a 5 GB limit on data that can be processed in a single query, and a 2 GB limit on the resulting output data. diff --git a/reference/Query API/query-api-authentication.md b/reference/Query API/query-api-authentication.md index 52883b40f5..234889b12b 100644 --- a/reference/Query API/query-api-authentication.md +++ b/reference/Query API/query-api-authentication.md @@ -1,39 +1,36 @@ --- -title: "Authentication" -slug: "query-api-authentication" -hidden: false -createdAt: "2020-10-20T01:08:17.902Z" -updatedAt: "2020-10-20T22:16:31.458Z" +title: Authentication +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- -[block:api-header] -{ - "title": "Service Account" -} -[/block] -[Service Account Authentication Details](ref:authentication#service-account) -[block:callout] -{ - "type": "success", - "body": "This is the preferred authentication method for Query API." -} -[/block] -- Requests parameters must include a `project_id`. - -**Projects with [Data Views](https://help.mixpanel.com/hc/en-us/articles/360043782572-Data-Views)** -- In addition to `project_id`, you should include the global data view's `workspace_id` as a request parameter. - -**Projects with [Classified Data](https://help.mixpanel.com/hc/en-us/articles/360044295131-Data-Classification)** -- Your results may be filtered based on the Service Account's sensitivity settings. -[block:api-header] -{ - "title": "Project Secret" -} -[/block] -[Project Secret Authentication Details](ref:authentication#project-secret) -[block:callout] -{ - "type": "danger", - "body": "Project Secret authentication is in the process of being deprecated. This authentication method does not currently have an EOL date.", - "title": "Please migrate existing integrations to use Service Account authentication" -} -[/block] \ No newline at end of file +## Service Account + +[Service Account Authentication Details](ref:service-accounts) + + + This is the preferred authentication method for Query API. + + +* Requests parameters must include a `project_id`. + +**Projects with[Data Views](https://help.mixpanel.com/hc/en-us/articles/360043782572-Data-Views)** + +* In addition to `project_id`, you should include the global data view's `workspace_id` as a request parameter. + +**Projects with[Classified Data](https://help.mixpanel.com/hc/en-us/articles/360044295131-Data-Classification)** + +* Your results may be filtered based on the Service Account's sensitivity settings. + +## Project Secret + +[Project Secret Authentication Details](ref:project-secret) + + + Please migrate existing integrations to use Service Account authentication + + Project Secret authentication is in the process of being deprecated. This authentication method does not currently have an EOL date. + diff --git a/reference/Query API/query-api.md b/reference/Query API/query-api.md index c75363cff1..5569f37587 100644 --- a/reference/Query API/query-api.md +++ b/reference/Query API/query-api.md @@ -1,9 +1,11 @@ --- -title: "Overview" -slug: "query-api" -hidden: false -createdAt: "2020-10-20T01:07:58.032Z" -updatedAt: "2020-10-20T19:14:28.849Z" +title: Overview +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- The Query API allows you to obtain the same calculated and formatted results that you see from a report in our web app. @@ -15,4 +17,4 @@ The Mixpanel Query API endpoints can: * Return user profiles. * Return an activity/event stream for a user. * Return a cohort of users. -* And more! \ No newline at end of file +* And more! diff --git a/reference/Query API/retention.md b/reference/Query API/retention.md deleted file mode 100644 index e5b6bb5d9a..0000000000 --- a/reference/Query API/retention.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Retention" -slug: "retention" -hidden: false -createdAt: "2020-10-20T00:41:46.091Z" -updatedAt: "2023-09-26T21:06:38.880Z" ---- diff --git a/reference/Query API/retention/_order.yaml b/reference/Query API/retention/_order.yaml new file mode 100644 index 0000000000..44a472d833 --- /dev/null +++ b/reference/Query API/retention/_order.yaml @@ -0,0 +1,2 @@ +- retention-query +- retention-frequency-query diff --git a/reference/Query API/retention/retention-frequency-query.md b/reference/Query API/retention/retention-frequency-query.md index 26985bd758..4d08caf115 100644 --- a/reference/Query API/retention/retention-frequency-query.md +++ b/reference/Query API/retention/retention-frequency-query.md @@ -1,15 +1,15 @@ --- -title: "Query Frequency Report" -slug: "retention-frequency-query" -excerpt: "" -hidden: false -createdAt: "2020-10-20T00:41:48.196Z" -updatedAt: "2023-09-26T21:06:39.027Z" +title: Query Frequency Report +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- - Get data about how frequently users are performing events. -Let's breakdown an example response. If you specify `day` as \"unit\" and `hour` as \"addiction_unit\", you will get a response that looks like this: +Let's breakdown an example response. If you specify `day` as \"unit\" and `hour` as \"addiction\_unit\", you will get a response that looks like this: ```json { diff --git a/reference/Query API/retention/retention-query.md b/reference/Query API/retention/retention-query.md index 29a1ecd2e6..777986d4a0 100644 --- a/reference/Query API/retention/retention-query.md +++ b/reference/Query API/retention/retention-query.md @@ -1,12 +1,12 @@ --- -title: "Query Retention Report" -slug: "retention-query" -excerpt: "" -hidden: false -createdAt: "2020-10-20T00:41:48.195Z" -updatedAt: "2023-09-26T21:06:38.986Z" +title: Query Retention Report +category: + uri: Query API +content: + excerpt: '' +privacy: + view: public --- - Get cohort analysis. If you specify neither an `interval` nor a `unit`, the `interval` is 1 day. This means that each user gets 24 hours in each interval to do the specified event. diff --git a/reference/Query API/segmentation.md b/reference/Query API/segmentation.md deleted file mode 100644 index 16df6b3855..0000000000 --- a/reference/Query API/segmentation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Segmentation" -slug: "segmentation" -hidden: false -createdAt: "2020-10-20T00:41:46.093Z" -updatedAt: "2023-09-26T21:06:38.888Z" ---- diff --git a/reference/Query API/segmentation/_order.yaml b/reference/Query API/segmentation/_order.yaml new file mode 100644 index 0000000000..27cdb33025 --- /dev/null +++ b/reference/Query API/segmentation/_order.yaml @@ -0,0 +1,4 @@ +- segmentation-query +- segmentation-numeric-query +- segmentation-sum-query +- segmentation-query-average diff --git a/reference/Query API/segmentation/segmentation-numeric-query.md b/reference/Query API/segmentation/segmentation-numeric-query.md index 9bd039e449..0693f57274 100644 --- a/reference/Query API/segmentation/segmentation-numeric-query.md +++ b/reference/Query API/segmentation/segmentation-numeric-query.md @@ -1,8 +1,15 @@ --- -title: "Numerically Bucket" -slug: "segmentation-numeric-query" -excerpt: "Get data for an event, segmented and filtered by properties, with values placed into numeric buckets." -hidden: false -createdAt: "2020-10-20T00:41:48.198Z" -updatedAt: "2023-09-26T21:06:39.047Z" +title: Numerically Bucket +category: + uri: Query API +content: + excerpt: >- + Get data for an event, segmented and filtered by properties, with values + placed into numeric buckets. + + The Query API has a rate limit of 60 queries per hour and a maximum of 5 + concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/segmentation/segmentation-query-average.md b/reference/Query API/segmentation/segmentation-query-average.md index c96f0a5609..6cfda9825a 100644 --- a/reference/Query API/segmentation/segmentation-query-average.md +++ b/reference/Query API/segmentation/segmentation-query-average.md @@ -1,8 +1,12 @@ --- -title: "Numerically Average" -slug: "segmentation-query-average" -excerpt: "Averages an expression for events per unit time." -hidden: false -createdAt: "2020-10-20T00:41:48.201Z" -updatedAt: "2023-09-26T21:06:39.068Z" +title: Numerically Average +category: + uri: Query API +content: + excerpt: >- + Averages an expression for events per unit time. The Query API has a rate + limit of 60 queries per hour and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Query API/segmentation/segmentation-query.md b/reference/Query API/segmentation/segmentation-query.md index afd47c5ff3..e8cd19f14c 100644 --- a/reference/Query API/segmentation/segmentation-query.md +++ b/reference/Query API/segmentation/segmentation-query.md @@ -1,8 +1,13 @@ --- -title: "Query Segmentation Report" -slug: "segmentation-query" -excerpt: "Get data for an event, segmented and filtered by properties." -hidden: false -createdAt: "2020-10-20T00:41:48.197Z" -updatedAt: "2023-09-26T21:06:39.038Z" +title: Query Segmentation Report +category: + uri: Query API +content: + excerpt: >- + Get data for an event, segmented and filtered by properties. The Query API + has a rate limit of 60 queries per hour and a maximum of 5 concurrent + queries. +privacy: + view: public --- + diff --git a/reference/Query API/segmentation/segmentation-sum-query.md b/reference/Query API/segmentation/segmentation-sum-query.md index b09932acb2..3292877eaf 100644 --- a/reference/Query API/segmentation/segmentation-sum-query.md +++ b/reference/Query API/segmentation/segmentation-sum-query.md @@ -1,8 +1,12 @@ --- -title: "Numerically Sum" -slug: "segmentation-sum-query" -excerpt: "Sums an expression for events per unit time." -hidden: false -createdAt: "2020-10-20T00:41:48.200Z" -updatedAt: "2023-09-26T21:06:39.057Z" +title: Numerically Sum +category: + uri: Query API +content: + excerpt: >- + Sums an expression for events per unit time. The Query API has a rate limit + of 60 queries per hour and a maximum of 5 concurrent queries. +privacy: + view: public --- + diff --git a/reference/Service Accounts API/_order.yaml b/reference/Service Accounts API/_order.yaml new file mode 100644 index 0000000000..4c8f0996c7 --- /dev/null +++ b/reference/Service Accounts API/_order.yaml @@ -0,0 +1,6 @@ +- service-accounts-api +- service-accounts-api-authentication +- create-service-accounts +- delete-service-accounts +- project-membership +- retrieve-service-accounts diff --git a/reference/Service Accounts API/create-service-accounts.md b/reference/Service Accounts API/create-service-accounts.md deleted file mode 100644 index bb64f7a6c8..0000000000 --- a/reference/Service Accounts API/create-service-accounts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Create Service Accounts" -slug: "create-service-accounts" -hidden: false -createdAt: "2021-09-16T19:11:24.551Z" -updatedAt: "2023-09-26T21:06:38.574Z" ---- diff --git a/reference/Service Accounts API/create-service-accounts/_order.yaml b/reference/Service Accounts API/create-service-accounts/_order.yaml new file mode 100644 index 0000000000..8c96970b09 --- /dev/null +++ b/reference/Service Accounts API/create-service-accounts/_order.yaml @@ -0,0 +1 @@ +- create-service-account diff --git a/reference/Service Accounts API/create-service-accounts/create-service-account.md b/reference/Service Accounts API/create-service-accounts/create-service-account.md index 44bc8cc0e0..4e1370e580 100644 --- a/reference/Service Accounts API/create-service-accounts/create-service-account.md +++ b/reference/Service Accounts API/create-service-accounts/create-service-account.md @@ -1,8 +1,12 @@ --- -title: "Create Service Account" -slug: "create-service-account" -excerpt: "Create a new service account for your organization and optionally add it to one or more projects in your organization" -hidden: false -createdAt: "2021-09-16T19:11:25.186Z" -updatedAt: "2023-09-26T21:06:38.700Z" +title: Create Service Account +category: + uri: Service Accounts API +content: + excerpt: >- + Create a new service account for your organization and optionally add it to + one or more projects in your organization +privacy: + view: public --- + diff --git a/reference/Service Accounts API/delete-service-accounts.md b/reference/Service Accounts API/delete-service-accounts.md deleted file mode 100644 index 7565de7559..0000000000 --- a/reference/Service Accounts API/delete-service-accounts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Delete Service Accounts" -slug: "delete-service-accounts" -hidden: false -createdAt: "2021-09-16T19:11:24.551Z" -updatedAt: "2023-09-26T21:06:38.600Z" ---- diff --git a/reference/Service Accounts API/delete-service-accounts/_order.yaml b/reference/Service Accounts API/delete-service-accounts/_order.yaml new file mode 100644 index 0000000000..888a10080c --- /dev/null +++ b/reference/Service Accounts API/delete-service-accounts/_order.yaml @@ -0,0 +1 @@ +- delete-service-account diff --git a/reference/Service Accounts API/delete-service-accounts/delete-service-account.md b/reference/Service Accounts API/delete-service-accounts/delete-service-account.md index 300683e160..dcb321265c 100644 --- a/reference/Service Accounts API/delete-service-accounts/delete-service-account.md +++ b/reference/Service Accounts API/delete-service-accounts/delete-service-account.md @@ -1,8 +1,12 @@ --- -title: "Delete Service Account" -slug: "delete-service-account" -excerpt: "Removes the service account from all associated projects and deletes it from the organization" -hidden: false -createdAt: "2021-09-16T19:11:25.187Z" -updatedAt: "2023-09-26T21:06:38.731Z" +title: Delete Service Account +category: + uri: Service Accounts API +content: + excerpt: >- + Removes the service account from all associated projects and deletes it from + the organization +privacy: + view: public --- + diff --git a/reference/Service Accounts API/project-membership.md b/reference/Service Accounts API/project-membership.md deleted file mode 100644 index 46b3eb3799..0000000000 --- a/reference/Service Accounts API/project-membership.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Project Membership" -slug: "project-membership" -hidden: false -createdAt: "2021-09-16T19:11:24.551Z" -updatedAt: "2023-09-26T21:06:38.633Z" ---- diff --git a/reference/Service Accounts API/project-membership/_order.yaml b/reference/Service Accounts API/project-membership/_order.yaml new file mode 100644 index 0000000000..1233cb4d58 --- /dev/null +++ b/reference/Service Accounts API/project-membership/_order.yaml @@ -0,0 +1,3 @@ +- list-project-service-accounts +- add-service-accounts-to-projects +- remove-service-accounts-from-projects diff --git a/reference/Service Accounts API/project-membership/add-service-accounts-to-projects.md b/reference/Service Accounts API/project-membership/add-service-accounts-to-projects.md index c670a280cf..87b537ce28 100644 --- a/reference/Service Accounts API/project-membership/add-service-accounts-to-projects.md +++ b/reference/Service Accounts API/project-membership/add-service-accounts-to-projects.md @@ -1,8 +1,12 @@ --- -title: "Add Service Accounts To Projects" -slug: "add-service-accounts-to-projects" -excerpt: "Adds a list of service account ids to a list of project ids with the specified role" -hidden: false -createdAt: "2021-09-16T19:11:25.188Z" -updatedAt: "2023-09-26T21:06:38.777Z" +title: Add Service Accounts To Projects +category: + uri: Service Accounts API +content: + excerpt: >- + Adds a list of service account ids to a list of project ids with the + specified role +privacy: + view: public --- + diff --git a/reference/Service Accounts API/project-membership/list-project-service-accounts.md b/reference/Service Accounts API/project-membership/list-project-service-accounts.md index d00e56ff3c..f794137387 100644 --- a/reference/Service Accounts API/project-membership/list-project-service-accounts.md +++ b/reference/Service Accounts API/project-membership/list-project-service-accounts.md @@ -1,8 +1,12 @@ --- -title: "List Service Accounts For Project" -slug: "list-project-service-accounts" -excerpt: "Retrieve a list of service accounts that are members of the specified project" -hidden: false -createdAt: "2021-09-16T19:11:25.187Z" -updatedAt: "2023-09-26T21:06:38.748Z" +title: List Service Accounts For Project +category: + uri: Service Accounts API +content: + excerpt: >- + Retrieve a list of service accounts that are members of the specified + project +privacy: + view: public --- + diff --git a/reference/Service Accounts API/project-membership/remove-service-accounts-from-projects.md b/reference/Service Accounts API/project-membership/remove-service-accounts-from-projects.md index 33c1373797..343c2332b8 100644 --- a/reference/Service Accounts API/project-membership/remove-service-accounts-from-projects.md +++ b/reference/Service Accounts API/project-membership/remove-service-accounts-from-projects.md @@ -1,8 +1,10 @@ --- -title: "Remove Service Accounts From Projects" -slug: "remove-service-accounts-from-projects" -excerpt: "Removes a list of service account ids from a list of project ids" -hidden: false -createdAt: "2021-09-16T19:11:25.189Z" -updatedAt: "2023-09-26T21:06:38.809Z" +title: Remove Service Accounts From Projects +category: + uri: Service Accounts API +content: + excerpt: Removes a list of service account ids from a list of project ids +privacy: + view: public --- + diff --git a/reference/Service Accounts API/retrieve-service-accounts.md b/reference/Service Accounts API/retrieve-service-accounts.md deleted file mode 100644 index 54c0df6c52..0000000000 --- a/reference/Service Accounts API/retrieve-service-accounts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: "Retrieve Service Accounts" -slug: "retrieve-service-accounts" -hidden: false -createdAt: "2021-09-16T19:11:24.550Z" -updatedAt: "2023-09-26T21:06:38.535Z" ---- diff --git a/reference/Service Accounts API/retrieve-service-accounts/_order.yaml b/reference/Service Accounts API/retrieve-service-accounts/_order.yaml new file mode 100644 index 0000000000..510e37cabf --- /dev/null +++ b/reference/Service Accounts API/retrieve-service-accounts/_order.yaml @@ -0,0 +1,2 @@ +- list-service-accounts +- get-service-account diff --git a/reference/Service Accounts API/retrieve-service-accounts/get-service-account.md b/reference/Service Accounts API/retrieve-service-accounts/get-service-account.md index 2c3e1d3ab2..402ca49064 100644 --- a/reference/Service Accounts API/retrieve-service-accounts/get-service-account.md +++ b/reference/Service Accounts API/retrieve-service-accounts/get-service-account.md @@ -1,8 +1,10 @@ --- -title: "Get Service Account" -slug: "get-service-account" -excerpt: "Return service account details by id" -hidden: false -createdAt: "2021-09-16T19:11:25.186Z" -updatedAt: "2023-09-26T21:06:38.712Z" +title: Get Service Account +category: + uri: Service Accounts API +content: + excerpt: Return service account details by id +privacy: + view: public --- + diff --git a/reference/Service Accounts API/retrieve-service-accounts/list-service-accounts.md b/reference/Service Accounts API/retrieve-service-accounts/list-service-accounts.md index 98c3e076ac..0419dbeb42 100644 --- a/reference/Service Accounts API/retrieve-service-accounts/list-service-accounts.md +++ b/reference/Service Accounts API/retrieve-service-accounts/list-service-accounts.md @@ -1,8 +1,10 @@ --- -title: "List Service Accounts" -slug: "list-service-accounts" -excerpt: "Return a list of all service accounts for your organization" -hidden: false -createdAt: "2021-09-16T19:11:25.185Z" -updatedAt: "2023-09-26T21:06:38.684Z" +title: List Service Accounts +category: + uri: Service Accounts API +content: + excerpt: Return a list of all service accounts for your organization +privacy: + view: public --- + diff --git a/reference/Service Accounts API/service-accounts-api-authentication.md b/reference/Service Accounts API/service-accounts-api-authentication.md index 12bae578b2..77cd7c781b 100644 --- a/reference/Service Accounts API/service-accounts-api-authentication.md +++ b/reference/Service Accounts API/service-accounts-api-authentication.md @@ -1,24 +1,22 @@ --- -title: "Authentication" -slug: "service-accounts-api-authentication" -hidden: false -createdAt: "2021-09-16T19:14:35.980Z" -updatedAt: "2021-09-16T19:25:23.569Z" +title: Authentication +category: + uri: Service Accounts API +content: + excerpt: '' +privacy: + view: public --- -[block:api-header] -{ - "title": "Service Account" -} -[/block] +## Service Account + + + Roles & Permissions + + To modify (create, delete) a service account, the service account used for authentication must have the role of admin or owner. + -[block:callout] -{ - "type": "info", - "body": "To modify (create, delete) a service account, the service account used for authentication must have the role of admin or owner.", - "title": "Roles & Permissions" -} -[/block] [Service Account Authentication Details](ref:authentication#service-accounts) + ```sh curl --request GET \ --url https://mixpanel.com/api/app/organizations/12345/service-accounts \ diff --git a/reference/Service Accounts API/service-accounts-api.md b/reference/Service Accounts API/service-accounts-api.md index 83a135190a..507f873460 100644 --- a/reference/Service Accounts API/service-accounts-api.md +++ b/reference/Service Accounts API/service-accounts-api.md @@ -1,15 +1,16 @@ --- -title: "Overview" -slug: "service-accounts-api" -hidden: false -createdAt: "2021-09-16T19:13:54.703Z" -updatedAt: "2021-09-16T19:24:26.515Z" +title: Overview +category: + uri: Service Accounts API +content: + excerpt: '' +privacy: + view: public --- The Service Accounts API lets you manage your service accounts programmatically. You can get a list of your organizations service accounts, see when they were last used, see when they expire, create new service accounts, delete service accounts, and add/remove service accounts to/from projects. This API is useful for automated key management and rotation. -[block:callout] -{ - "type": "info", - "title": "Roles & Permissions", - "body": "To modify (create, delete) service accounts, the service account used for authentication must have the role of admin or owner." -} -[/block] \ No newline at end of file + + + Roles & Permissions + + To modify (create, delete) service accounts, the service account used for authentication must have the role of admin or owner. + diff --git a/reference/Warehouse Connectors API/_order.yaml b/reference/Warehouse Connectors API/_order.yaml new file mode 100644 index 0000000000..504bd39471 --- /dev/null +++ b/reference/Warehouse Connectors API/_order.yaml @@ -0,0 +1,3 @@ +- warehouse-connectors-api +- warehouse-connectors-api-authentication +- run-an-import diff --git a/reference/Warehouse Connectors API/run-an-import/_order.yaml b/reference/Warehouse Connectors API/run-an-import/_order.yaml new file mode 100644 index 0000000000..7150aa8d49 --- /dev/null +++ b/reference/Warehouse Connectors API/run-an-import/_order.yaml @@ -0,0 +1 @@ +- run-an-import-1 diff --git a/reference/Warehouse Connectors API/run-an-import/run-an-import-1.md b/reference/Warehouse Connectors API/run-an-import/run-an-import-1.md new file mode 100644 index 0000000000..678d60bb28 --- /dev/null +++ b/reference/Warehouse Connectors API/run-an-import/run-an-import-1.md @@ -0,0 +1,10 @@ +--- +title: Run an import +category: + uri: Warehouse Connectors API +content: + excerpt: This API endpoint triggers an immediate sync for a given warehouse import. +privacy: + view: public +--- + diff --git a/reference/Warehouse Connectors API/authentication.md b/reference/Warehouse Connectors API/warehouse-connectors-api-authentication.md similarity index 58% rename from reference/Warehouse Connectors API/authentication.md rename to reference/Warehouse Connectors API/warehouse-connectors-api-authentication.md index 4546094820..483ca66a97 100644 --- a/reference/Warehouse Connectors API/authentication.md +++ b/reference/Warehouse Connectors API/warehouse-connectors-api-authentication.md @@ -1,13 +1,13 @@ --- -title: "Authentication" -slug: "warehouse-connectors-api-authentication" -hidden: false -createdAt: "2024-08-08T19:31:43.295Z" -updatedAt: "2024-08-08T19:31:43.295Z" -categorySlug: "warehouse-connectors-api" +title: Authentication +category: + uri: Warehouse Connectors API +content: + excerpt: '' +privacy: + view: public --- - -A [service account](https://developer.mixpanel.com/reference/service-accounts) is necessary to authenticate Warehouse Connectors API requests. Once you have created a service account and obtained your user name and secret, you can make a request to trigger a warehouse import. +A [service account](ref:service-accounts) is necessary to authenticate Warehouse Connectors API requests. Once you have created a service account and obtained your user name and secret, you can make a request to trigger a warehouse import. ```bash cURL Basic Auth curl -X PUT https://mixpanel.com/api/app/projects//warehouse-sources/imports//manual-sync \ diff --git a/reference/Warehouse Connectors API/overview.md b/reference/Warehouse Connectors API/warehouse-connectors-api.md similarity index 51% rename from reference/Warehouse Connectors API/overview.md rename to reference/Warehouse Connectors API/warehouse-connectors-api.md index f3b6892b19..5ff3d28990 100644 --- a/reference/Warehouse Connectors API/overview.md +++ b/reference/Warehouse Connectors API/warehouse-connectors-api.md @@ -1,12 +1,12 @@ --- -title: "Overview" -slug: "warehouse-connectors-api" -hidden: false -createdAt: "2024-08-05T19:31:43.295Z" -updatedAt: "2024-08-05T19:31:43.295Z" -categorySlug: "warehouse-connectors-api" +title: Overview +category: + uri: Warehouse Connectors API +content: + excerpt: '' +privacy: + view: public --- - Warehouse Connectors allow you to connect a warehouse of your choice to import events, users, groups, and lookup tables. Use Warehouse Connectors API to run a specific import manually. diff --git a/reference/_order.yaml b/reference/_order.yaml new file mode 100644 index 0000000000..0d6e52cc90 --- /dev/null +++ b/reference/_order.yaml @@ -0,0 +1,14 @@ +- ReadMeConfig +- Mixpanel APIs +- Ingestion API +- Identity API +- Query API +- Event Export API +- Lexicon Schemas API +- Data Pipelines API +- Partner Integrations +- Service Accounts API +- Annotations API +- GDPR API +- Warehouse Connectors API +- Hidden Test Page for CSS changes