diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07a7e0bc9f..c28e317104 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,18 +60,15 @@ jobs: - uses: Swatinem/rust-cache@v2 with: key: ${{ runner.os }} - - name: Build - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: use-cross: true command: build args: "--locked --release --package meta-cli --target ${{ matrix.target }}" - - name: Compress - run: | + - run: | cd target/${{ matrix.target }}/release tar czvf ../../../meta-cli-${{ github.ref_name }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" - - name: Upload - uses: svenstaro/upload-release-action@v2 + - uses: svenstaro/upload-release-action@v2 with: tag: ${{ github.ref }} file: "meta-cli-${{ github.ref_name }}-${{ matrix.target }}.tar.gz" @@ -91,16 +88,14 @@ jobs: with: python-version: ${{ env.PYTHON_VERSION }} cache: "poetry" - - name: Build & publish - working-directory: typegraph + - working-directory: typegraph env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} run: | poetry install --sync poetry build poetry publish - - name: Upload - uses: svenstaro/upload-release-action@v2 + - uses: svenstaro/upload-release-action@v2 with: tag: ${{ github.ref }} file: "typegraph/dist/*" @@ -138,8 +133,7 @@ jobs: - uses: denoland/setup-deno@v1 with: deno-version: v${{ env.DENO_VERSION }} - - name: Bump version - id: bump + - id: bump run: | deno run -A dev/lock.ts --bump prerelease echo "version=$(deno run -A dev/lock.ts --version)" >> $GITHUB_OUTPUT diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b6d1b2c926..4df7e52d93 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -68,8 +68,7 @@ jobs: - uses: denoland/setup-deno@v1 with: deno-version: ${{ env.DENO_VERSION }} - - name: Install - working-directory: website + - working-directory: website run: | pnpm install --frozen-lockfile - uses: pre-commit/action@v3.0.0 @@ -88,8 +87,7 @@ jobs: node-version: ${{ env.NODE_VERSION }} cache: "pnpm" cache-dependency-path: website/pnpm-lock.yaml - - name: Install and test build - working-directory: website + - working-directory: website run: | pnpm install --frozen-lockfile pnpm lint @@ -103,12 +101,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: abatilo/actions-poetry@v2 - with: - poetry-version: ${{ env.POETRY_VERSION }} - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} + - uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ env.POETRY_VERSION }} - uses: actions/cache@v3 with: path: .venv @@ -116,12 +114,11 @@ jobs: - uses: actions/download-artifact@v3 with: name: meta - - run: tar -xvf meta.tar - - name: Install and test build - working-directory: typegraph - run: | - python3 -m venv ../.venv - source ../.venv/bin/activate + - run: | + tar -xvf meta.tar + python3 -m venv .venv + source .venv/bin/activate + cd typegraph poetry install --sync pytest -s tests @@ -138,15 +135,19 @@ jobs: - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} + - uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ env.POETRY_VERSION }} - uses: actions/cache@v3 with: path: .venv key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock') }} - - name: Install and test build - run: | + - run: | python3 -m venv .venv source .venv/bin/activate - pip3 install ./typegraph + cd typegraph + poetry install --sync + cd .. cargo run --locked --package meta-cli -- --help cargo test --locked --package meta-cli tar -cvf meta.tar target/debug/meta @@ -176,15 +177,19 @@ jobs: - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} + - uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ env.POETRY_VERSION }} - uses: actions/cache@v3 with: path: .venv key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock') }} - - name: Install and test build - run: | + - run: | python3 -m venv .venv - ${{ runner.activate }} - pip3 install ./typegraph + ${{ matrix.activate }} + cd typegraph + poetry install --sync + cd .. cargo run --locked --package meta-cli -- --help cargo test --locked --package meta-cli @@ -239,6 +244,9 @@ jobs: - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} + - uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ env.POETRY_VERSION }} - uses: arduino/setup-protoc@v1 with: version: ${{ env.PROTOC_VERSION }} @@ -250,12 +258,13 @@ jobs: - uses: actions/download-artifact@v3 with: name: meta - - run: tar -xvf meta.tar - - name: Install and test build - run: | + - run: | + tar -xvf meta.tar python3 -m venv .venv source .venv/bin/activate - pip3 install ./typegraph + cd typegraph + poetry install --sync + cd .. deno install -A -n deno_bindgen $DENO_BINDGEN_URL OUT_DIR=target deno_bindgen -- --locked --package native -F deno which py-tg @@ -277,6 +286,9 @@ jobs: - uses: actions/setup-python@v4 with: python-version: ${{ env.PYTHON_VERSION }} + - uses: abatilo/actions-poetry@v2 + with: + poetry-version: ${{ env.POETRY_VERSION }} - uses: actions/cache@v3 with: path: .venv @@ -284,12 +296,13 @@ jobs: - uses: actions/download-artifact@v3 with: name: meta - - run: tar -xvf meta.tar - - name: Install and test build - run: | + - run: | + tar -xvf meta.tar python3 -m venv .venv source .venv/bin/activate - pip3 install ./typegraph + cd typegraph + poetry install --sync + cd .. cargo test --locked --exclude meta-cli --exclude native --workspace test-docker: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5a78989cda..800ca8a8e9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ repos: - id: end-of-file-fixer exclude: typegate/deno.lock - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: "v0.0.245" + rev: "v0.0.249" hooks: - id: ruff - repo: https://github.com/psf/black diff --git a/Cargo.lock b/Cargo.lock index d20ecc3638..c69cd57ed0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -35,7 +35,6 @@ checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.8", "once_cell", - "serde", "version_check", ] @@ -120,19 +119,20 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" +checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e" dependencies = [ "async-stream-impl", "futures-core", + "pin-project-lite", ] [[package]] name = "async-stream-impl" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" +checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" dependencies = [ "proc-macro2", "quote", @@ -197,18 +197,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "auto_impl" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7862e21c893d65a1650125d157eaeec691439379a1cee17ee49031b79236ada4" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -228,7 +216,7 @@ dependencies = [ "serde", "serde-xml-rs", "thiserror", - "time 0.3.17", + "time 0.3.19", "url", ] @@ -243,9 +231,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e246206a63c9830e118d12c894f56a82033da1a2361f5544deeee3df85c99d9" +checksum = "2fb79c228270dcf2426e74864cabc94babb5dbab01a4314e702d2f16540e1591" dependencies = [ "async-trait", "axum-core", @@ -492,30 +480,6 @@ dependencies = [ "syn", ] -[[package]] -name = "browserslist-rs" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef956561c9a03c35af46714efd0c135e21768a2a012f900ca8a59b28e75d0cd1" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "chrono", - "either", - "itertools", - "js-sys", - "nom", - "once_cell", - "quote", - "serde", - "serde-wasm-bindgen", - "serde_json", - "string_cache", - "string_cache_codegen", - "thiserror", - "wasm-bindgen", -] - [[package]] name = "bson" version = "2.5.0" @@ -532,15 +496,15 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "time 0.3.17", + "time 0.3.19", "uuid 1.3.0", ] [[package]] name = "bstr" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" dependencies = [ "memchr", "serde", @@ -549,7 +513,7 @@ dependencies = [ [[package]] name = "builtin-psl-connectors" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "connection-string", "either", @@ -666,9 +630,9 @@ checksum = "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a" [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -757,7 +721,7 @@ dependencies = [ [[package]] name = "common" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "anyhow", "base64 0.21.0", @@ -770,25 +734,6 @@ dependencies = [ "tar", ] -[[package]] -name = "config" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d379af7f68bfc21714c6c7dea883544201741d2ce8274bb12fa54f89507f52a7" -dependencies = [ - "async-trait", - "json5", - "lazy_static", - "nom", - "pathdiff", - "ron", - "rust-ini", - "serde", - "serde_json", - "toml", - "yaml-rust", -] - [[package]] name = "connection-string" version = "0.1.14" @@ -989,9 +934,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d59d9acd2a682b4e40605a242f6670eaa58c5957471cbf85e8aa6a0b97a5e8" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -1001,9 +946,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfa40bda659dd5c864e65f4c9a2b0aff19bea56b017b9b77c73d3766a453a38" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -1016,15 +961,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "457ce6757c5c70dc6ecdbda6925b958aae7f959bda7d8fb9bde889e34a09dc03" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf883b7aacd7b2aeb2a7b338648ee19f57c140d4ee8e52c68979c6b2f7f2263" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -1123,7 +1068,7 @@ checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" [[package]] name = "datamodel-renderer" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "base64 0.13.1", "once_cell", @@ -1151,8 +1096,8 @@ dependencies = [ "serde", "swc_atoms", "swc_common", - "swc_ecma_ast 0.96.3", - "swc_ecma_parser 0.124.5", + "swc_ecma_ast", + "swc_ecma_parser", "text_lines", ] @@ -1239,7 +1184,7 @@ dependencies = [ [[package]] name = "diagnostics" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "colored", "indoc 1.0.9", @@ -1307,7 +1252,7 @@ checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" [[package]] name = "dml" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "chrono", "cuid", @@ -1325,7 +1270,7 @@ dependencies = [ [[package]] name = "dmmf" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "bigdecimal", "indexmap", @@ -1337,12 +1282,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "dotenv" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" - [[package]] name = "dprint-core" version = "0.60.0" @@ -1381,8 +1320,8 @@ dependencies = [ "rustc-hash", "swc_atoms", "swc_common", - "swc_ecma_ast 0.96.3", - "swc_ecma_parser 0.124.5", + "swc_ecma_ast", + "swc_ecma_parser", "text_lines", ] @@ -1514,6 +1453,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb" dependencies = [ "enumflags2_derive", + "serde", ] [[package]] @@ -2107,9 +2047,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2331,9 +2271,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.26.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f0f08b46e4379744de2ab67aa8f7de3ffd1da3e275adc41fcc82053ede46ff" +checksum = "fea5b3894afe466b4bcf0388630fc15e11938a6074af0cd637c825ba2ec8a099" dependencies = [ "console", "lazy_static", @@ -2354,7 +2294,7 @@ dependencies = [ [[package]] name = "introspection-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "anyhow", "async-trait", @@ -2369,7 +2309,7 @@ dependencies = [ [[package]] name = "introspection-core" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "async-trait", "introspection-connector", @@ -2451,12 +2391,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "is_ci" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb" - [[package]] name = "itertools" version = "0.10.5" @@ -2484,7 +2418,7 @@ dependencies = [ [[package]] name = "json-rpc-api-build" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "backtrace", "heck 0.3.3", @@ -2495,7 +2429,7 @@ dependencies = [ [[package]] name = "json-rpc-stdio" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "jsonrpc-core", "serde", @@ -2504,26 +2438,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "json5" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" -dependencies = [ - "pest", - "pest_derive", - "serde", -] - -[[package]] -name = "jsonc-parser" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1853e40333206f9a685358046d13ab200169e3ee573019bddf0ede0dc29307" -dependencies = [ - "serde_json", -] - [[package]] name = "jsonrpc-core" version = "17.1.0" @@ -2758,6 +2672,15 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown 0.12.3", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -2791,7 +2714,7 @@ dependencies = [ [[package]] name = "macros" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "proc-macro2", "quote", @@ -2874,7 +2797,7 @@ dependencies = [ [[package]] name = "meta-cli" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "anyhow", "base64 0.21.0", @@ -2882,7 +2805,6 @@ dependencies = [ "colored", "common", "crossbeam-channel", - "datamodel-renderer", "dialoguer", "flate2", "globset", @@ -2903,7 +2825,6 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "swc", "tar", "tiny_http", "tokio", @@ -2998,41 +2919,10 @@ dependencies = [ "sketches-ddsketch", ] -[[package]] -name = "miette" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c90329e44f9208b55f45711f9558cec15d7ef8295cc65ecd6d4188ae8edc58c" -dependencies = [ - "atty", - "backtrace", - "miette-derive", - "once_cell", - "owo-colors", - "supports-color", - "supports-hyperlinks", - "supports-unicode", - "terminal_size", - "textwrap", - "thiserror", - "unicode-width", -] - -[[package]] -name = "miette-derive" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b5bc45b761bcf1b5e6e6c4128cd93b84c218721a8d9b894aa0aff4ed180174c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "migration-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "chrono", "enumflags2", @@ -3047,7 +2937,7 @@ dependencies = [ [[package]] name = "migration-core" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "async-trait", "chrono", @@ -3177,7 +3067,7 @@ dependencies = [ [[package]] name = "mongodb-client" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "mongodb", "once_cell", @@ -3188,7 +3078,7 @@ dependencies = [ [[package]] name = "mongodb-introspection-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "async-trait", "convert_case 0.5.0", @@ -3211,7 +3101,7 @@ dependencies = [ [[package]] name = "mongodb-migration-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "enumflags2", "futures", @@ -3229,7 +3119,7 @@ dependencies = [ [[package]] name = "mongodb-query-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "anyhow", "async-trait", @@ -3262,7 +3152,7 @@ dependencies = [ [[package]] name = "mongodb-schema-describer" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "futures", "mongodb", @@ -3277,8 +3167,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "mysql_async" -version = "0.30.0" -source = "git+https://github.com/prisma/mysql_async?branch=vendored-openssl#b5d16fb211fc6a0d5c892269536a95da803eabae" +version = "0.31.3" +source = "git+https://github.com/prisma/mysql_async?branch=vendored-openssl#d39990b6db77ab5116ee5b5d821b27bd5f54f268" dependencies = [ "bytes", "crossbeam", @@ -3287,7 +3177,7 @@ dependencies = [ "futures-sink", "futures-util", "lazy_static", - "lru", + "lru 0.8.1", "mio", "mysql_common", "native-tls", @@ -3295,12 +3185,13 @@ dependencies = [ "pem", "percent-encoding", "pin-project", + "priority-queue", "serde", "serde_json", "socket2", "thiserror", "tokio", - "tokio-native-tls 0.3.0", + "tokio-native-tls 0.3.1", "tokio-util 0.7.7", "twox-hash", "url", @@ -3339,7 +3230,7 @@ dependencies = [ "smallvec", "subprocess", "thiserror", - "time 0.3.17", + "time 0.3.19", "uuid 1.3.0", ] @@ -3354,17 +3245,15 @@ dependencies = [ [[package]] name = "native" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "anyhow", "common", - "config", "connection-string", "convert_case 0.6.0", "dashmap", "datamodel-renderer", "deno_bindgen", - "dotenv", "env_logger", "envconfig", "http", @@ -3438,15 +3327,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "normpath" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a9da8c9922c35a1033d76f7272dfc2e7ee20392083d75aeea6ced23c6266578" -dependencies = [ - "winapi", -] - [[package]] name = "notify" version = "5.1.0" @@ -3775,12 +3655,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - [[package]] name = "parking_lot" version = "0.11.2" @@ -3832,7 +3706,7 @@ dependencies = [ [[package]] name = "parser-database" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "diagnostics", "either", @@ -3841,12 +3715,6 @@ dependencies = [ "schema-ast", ] -[[package]] -name = "path-clean" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" - [[package]] name = "pathdiff" version = "0.2.1" @@ -4119,24 +3987,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "preset_env_base" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cc85a18e7f8246f3ccdd764d1f51fa3c910293942f84483a1cf1647df47198" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "browserslist-rs", - "dashmap", - "from_variant", - "once_cell", - "semver 1.0.16", - "serde", - "st-map", - "tracing", -] - [[package]] name = "pretty-hex" version = "0.3.0" @@ -4153,10 +4003,20 @@ dependencies = [ "syn", ] +[[package]] +name = "priority-queue" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca9c6be70d989d21a136eb86c2d83e4b328447fac4a88dace2143c179c86267" +dependencies = [ + "autocfg", + "indexmap", +] + [[package]] name = "prisma-models" version = "0.0.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "bigdecimal", "chrono", @@ -4173,7 +4033,7 @@ dependencies = [ [[package]] name = "prisma-value" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "base64 0.12.3", "bigdecimal", @@ -4364,7 +4224,7 @@ dependencies = [ [[package]] name = "psl" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "builtin-psl-connectors", "psl-core", @@ -4373,7 +4233,7 @@ dependencies = [ [[package]] name = "psl-core" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "bigdecimal", "chrono", @@ -4415,7 +4275,7 @@ dependencies = [ [[package]] name = "quaint" version = "0.2.0-alpha.13" -source = "git+https://github.com/prisma/quaint#2e6305d2d9bb3b708784761bf72e26cb06c9ab1f" +source = "git+https://github.com/prisma/quaint#2aa9ac0d501a042d281918ff1d22ec904d9de482" dependencies = [ "async-trait", "base64 0.12.3", @@ -4471,7 +4331,7 @@ dependencies = [ [[package]] name = "query-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "anyhow", "async-trait", @@ -4491,7 +4351,7 @@ dependencies = [ [[package]] name = "query-core" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "async-trait", "base64 0.12.3", @@ -4505,7 +4365,7 @@ dependencies = [ "futures", "indexmap", "itertools", - "lru", + "lru 0.7.8", "mongodb-client", "mongodb-query-connector", "once_cell", @@ -4537,7 +4397,7 @@ dependencies = [ [[package]] name = "query-engine-metrics" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "metrics 0.18.1", "metrics-exporter-prometheus", @@ -4593,12 +4453,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "radix_fmt" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426" - [[package]] name = "radix_trie" version = "0.2.1" @@ -4698,28 +4552,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "rayon" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -4787,7 +4619,7 @@ dependencies = [ [[package]] name = "request-handlers" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "bigdecimal", "connection-string", @@ -4856,12 +4688,6 @@ dependencies = [ "quick-error 1.2.3", ] -[[package]] -name = "retain_mut" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" - [[package]] name = "ring" version = "0.16.20" @@ -4902,17 +4728,6 @@ dependencies = [ "syn", ] -[[package]] -name = "ron" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" -dependencies = [ - "base64 0.13.1", - "bitflags", - "serde", -] - [[package]] name = "rusqlite" version = "0.25.4" @@ -4965,7 +4780,7 @@ dependencies = [ "serde_derive", "sha2 0.10.6", "thiserror", - "time 0.3.17", + "time 0.3.19", "tokio", "tokio-stream", "url", @@ -5155,7 +4970,7 @@ dependencies = [ [[package]] name = "schema" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "once_cell", "prisma-models", @@ -5165,7 +4980,7 @@ dependencies = [ [[package]] name = "schema-ast" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "diagnostics", "pest", @@ -5175,7 +4990,7 @@ dependencies = [ [[package]] name = "schema-builder" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "once_cell", "prisma-models", @@ -5267,9 +5082,9 @@ dependencies = [ [[package]] name = "self_update" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e18819cd93c4799f93cd4cf0ac069ed0e615fea3af28ec78df71e0ea890628a" +checksum = "ca4e4e6f29fddb78b3e7a6e5a395e8274d4aca2d36b2278a297fa49673a5b7c7" dependencies = [ "either", "flate2", @@ -5283,6 +5098,7 @@ dependencies = [ "serde_json", "tar", "tempfile", + "urlencoding", "zip", ] @@ -5300,9 +5116,6 @@ name = "semver" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" -dependencies = [ - "serde", -] [[package]] name = "semver-parser" @@ -5400,7 +5213,7 @@ dependencies = [ "serde", "serde_json", "thiserror", - "time 0.3.17", + "time 0.3.19", "url", "uuid 1.3.0", ] @@ -5414,17 +5227,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-wasm-bindgen" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfc62771e7b829b517cb213419236475f434fb480eddd76112ae182d274434a" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - [[package]] name = "serde-xml-rs" version = "0.5.1" @@ -5526,7 +5328,7 @@ dependencies = [ "serde", "serde_json", "serde_with_macros 2.2.0", - "time 0.3.17", + "time 0.3.19", ] [[package]] @@ -5568,9 +5370,9 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.10.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ "cfg-if", "cpufeatures", @@ -5672,9 +5474,9 @@ checksum = "04d2ecae5fcf33b122e2e6bd520a57ccf152d2dde3b38c71039df1a6867264ee" [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -5694,12 +5496,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "smawk" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" - [[package]] name = "socket2" version = "0.4.7" @@ -5734,12 +5530,12 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "sql-ddl" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" [[package]] name = "sql-introspection-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "anyhow", "async-trait", @@ -5765,7 +5561,7 @@ dependencies = [ [[package]] name = "sql-migration-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "chrono", "connection-string", @@ -5792,7 +5588,7 @@ dependencies = [ [[package]] name = "sql-query-connector" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "anyhow", "async-trait", @@ -5823,7 +5619,7 @@ dependencies = [ [[package]] name = "sql-schema-describer" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "async-trait", "bigdecimal", @@ -5853,34 +5649,12 @@ dependencies = [ "unicode_categories", ] -[[package]] -name = "st-map" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9c9f3a1df5f73b7392bd9773108fef41ad9126f0282412fd5904389f0c0c4f" -dependencies = [ - "arrayvec", - "static-map-macro", -] - [[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "static-map-macro" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "752564de9cd8937fdbc1c55d47ac391758c352ab3755607cc391b659fe87d56b" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -5959,149 +5733,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] -name = "supports-color" -version = "1.3.1" +name = "swc_atoms" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba6faf2ca7ee42fdd458f4347ae0a9bd6bcc445ad7cb57ad82b383f18870d6f" +checksum = "731cf66bd8e11030f056f91f9d8af77f83ec4377ff04d1670778a57d1607402a" dependencies = [ - "atty", - "is_ci", + "once_cell", + "rustc-hash", + "serde", + "string_cache", + "string_cache_codegen", + "triomphe", ] [[package]] -name = "supports-hyperlinks" -version = "1.2.0" +name = "swc_common" +version = "0.29.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "590b34f7c5f01ecc9d78dba4b3f445f31df750a67621cf31626f3b7441ce6406" +checksum = "a97e491d31418cd33fea58e9f893316fc04b30e2b5d0e750c066e2ba4907ae54" dependencies = [ + "ahash 0.7.6", + "ast_node", "atty", + "better_scoped_tls", + "cfg-if", + "either", + "from_variant", + "new_debug_unreachable", + "num-bigint", + "once_cell", + "rustc-hash", + "serde", + "siphasher", + "string_cache", + "swc_atoms", + "swc_eq_ignore_macros", + "swc_visit", + "termcolor", + "tracing", + "unicode-width", + "url", ] [[package]] -name = "supports-unicode" -version = "1.0.2" +name = "swc_config" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8b945e45b417b125a8ec51f1b7df2f8df7920367700d1f98aedd21e5735f8b2" +checksum = "b4de36224eb9498fccd4e68971f0b83326ccf8592c2d424f257f3a1c76b2b211" dependencies = [ - "atty", -] - -[[package]] -name = "swc" -version = "0.232.112" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467e4fc8081b3a1ef702096aa3bce7843fe5f2c9ff684e43a30e791f66e49dc2" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "base64 0.13.1", - "dashmap", - "either", - "indexmap", - "jsonc-parser", - "lru", - "once_cell", - "parking_lot 0.12.1", - "pathdiff", - "regex", - "rustc-hash", - "serde", - "serde_json", - "sourcemap", - "swc_atoms", - "swc_cached", - "swc_common", - "swc_config", - "swc_ecma_ast 0.94.21", - "swc_ecma_codegen", - "swc_ecma_ext_transforms", - "swc_ecma_lints", - "swc_ecma_loader", - "swc_ecma_minifier", - "swc_ecma_parser 0.122.32", - "swc_ecma_preset_env", - "swc_ecma_transforms", - "swc_ecma_transforms_base", - "swc_ecma_transforms_compat", - "swc_ecma_transforms_optimization", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_error_reporters", - "swc_node_comments", - "swc_timer", - "swc_visit", - "tracing", -] - -[[package]] -name = "swc_atoms" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731cf66bd8e11030f056f91f9d8af77f83ec4377ff04d1670778a57d1607402a" -dependencies = [ - "once_cell", - "rustc-hash", - "serde", - "string_cache", - "string_cache_codegen", - "triomphe", -] - -[[package]] -name = "swc_cached" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9745d42d167cb60aeb1e85d2ee813ca455c3185bf7417f11fd102d745ae2b9e1" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "dashmap", - "once_cell", - "regex", - "serde", -] - -[[package]] -name = "swc_common" -version = "0.29.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97e491d31418cd33fea58e9f893316fc04b30e2b5d0e750c066e2ba4907ae54" -dependencies = [ - "ahash 0.7.6", - "ast_node", - "atty", - "better_scoped_tls", - "cfg-if", - "either", - "from_variant", - "new_debug_unreachable", - "num-bigint", - "once_cell", - "parking_lot 0.12.1", - "rustc-hash", - "serde", - "siphasher", - "sourcemap", - "string_cache", - "swc_atoms", - "swc_eq_ignore_macros", - "swc_visit", - "termcolor", - "tracing", - "unicode-width", - "url", -] - -[[package]] -name = "swc_config" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4de36224eb9498fccd4e68971f0b83326ccf8592c2d424f257f3a1c76b2b211" -dependencies = [ - "indexmap", - "serde", - "serde_json", - "swc_config_macro", + "indexmap", + "serde", + "serde_json", + "swc_config_macro", ] [[package]] @@ -6117,23 +5800,6 @@ dependencies = [ "syn", ] -[[package]] -name = "swc_ecma_ast" -version = "0.94.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7823e863bebbcbcabba5d5781dd8cedcf1acb35a770a871c914855b43783e17" -dependencies = [ - "bitflags", - "is-macro", - "num-bigint", - "scoped-tls", - "serde", - "string_enum", - "swc_atoms", - "swc_common", - "unicode-id", -] - [[package]] name = "swc_ecma_ast" version = "0.96.3" @@ -6153,9 +5819,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.127.39" +version = "0.129.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4db075d6aacbb3bfdcd459c40d6f4abc6f6fbd26990d57bc24c30baa6f348300" +checksum = "45f8f20522626a737753381bdf64ee53d568730f9f7e720d35960de97e5ff965" dependencies = [ "memchr", "num-bigint", @@ -6165,7 +5831,7 @@ dependencies = [ "sourcemap", "swc_atoms", "swc_common", - "swc_ecma_ast 0.94.21", + "swc_ecma_ast", "swc_ecma_codegen_macros", "tracing", ] @@ -6183,116 +5849,6 @@ dependencies = [ "syn", ] -[[package]] -name = "swc_ecma_ext_transforms" -version = "0.91.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55d35e4f3273dd927665d23c2dfcd2984199ab01e8ad7dcbd773b4748f74aa11" -dependencies = [ - "phf 0.10.1", - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_lints" -version = "0.66.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed76c5144f5bdd36f4de717c9d47c7f0237d33855d7018b3231a960229b58664" -dependencies = [ - "ahash 0.7.6", - "auto_impl", - "dashmap", - "parking_lot 0.12.1", - "rayon", - "regex", - "serde", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast 0.94.21", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_loader" -version = "0.41.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c996baa947150d496c79fbd153d3df834e38d05c779abc4af987aded90e168a2" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "dashmap", - "lru", - "normpath", - "once_cell", - "parking_lot 0.12.1", - "path-clean", - "pathdiff", - "serde", - "serde_json", - "swc_cached", - "swc_common", - "tracing", -] - -[[package]] -name = "swc_ecma_minifier" -version = "0.159.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a651aaa3399c7c3f7a294acdac949a8f980c9b3f63531d95db1dddfb98fe521c" -dependencies = [ - "ahash 0.7.6", - "arrayvec", - "indexmap", - "num-bigint", - "num_cpus", - "once_cell", - "parking_lot 0.12.1", - "radix_fmt", - "regex", - "retain_mut", - "rustc-hash", - "serde", - "serde_json", - "swc_atoms", - "swc_cached", - "swc_common", - "swc_config", - "swc_ecma_ast 0.94.21", - "swc_ecma_codegen", - "swc_ecma_parser 0.122.32", - "swc_ecma_transforms_base", - "swc_ecma_transforms_optimization", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_timer", - "tracing", -] - -[[package]] -name = "swc_ecma_parser" -version = "0.122.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d96fdbe0817bb029318a064e5543840ab38c0616122b31b910b3a5cda250cf2" -dependencies = [ - "either", - "enum_kind", - "lexical", - "num-bigint", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "tracing", - "typed-arena", -] - [[package]] name = "swc_ecma_parser" version = "0.124.5" @@ -6307,61 +5863,16 @@ dependencies = [ "smallvec", "swc_atoms", "swc_common", - "swc_ecma_ast 0.96.3", + "swc_ecma_ast", "tracing", "typed-arena", ] -[[package]] -name = "swc_ecma_preset_env" -version = "0.174.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f54cdf4265f40f4277f08c8e8b10e1510b5b4e8b0fdbe4c11aa4754dca9671" -dependencies = [ - "ahash 0.7.6", - "anyhow", - "dashmap", - "indexmap", - "once_cell", - "preset_env_base", - "semver 1.0.16", - "serde", - "serde_json", - "st-map", - "string_enum", - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms" -version = "0.198.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053ff23c6063895222c249c83889c8e9e620ca77feec65e97f995d1342c7fdeb" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms_base", - "swc_ecma_transforms_compat", - "swc_ecma_transforms_module", - "swc_ecma_transforms_optimization", - "swc_ecma_transforms_proposal", - "swc_ecma_transforms_react", - "swc_ecma_transforms_typescript", - "swc_ecma_utils", - "swc_ecma_visit", -] - [[package]] name = "swc_ecma_transforms_base" -version = "0.111.59" +version = "0.116.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2542aea061bafff3ebc5b9fed840254e004d0462ac05e2be555d3053f2525674" +checksum = "5f5a212abba41897332f9ab3af8fe5d1a59f83d69e25eea119c27d9b53876688" dependencies = [ "better_scoped_tls", "bitflags", @@ -6372,53 +5883,13 @@ dependencies = [ "smallvec", "swc_atoms", "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_parser 0.122.32", + "swc_ecma_ast", + "swc_ecma_parser", "swc_ecma_utils", "swc_ecma_visit", "tracing", ] -[[package]] -name = "swc_ecma_transforms_classes" -version = "0.100.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e0c7e903b3bbe40d99527e2c29cc534c9f64de7c36c78541ed71cf5ae63145" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms_base", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_compat" -version = "0.136.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a839d225433a2928e24643f47ebf2582535ae9de96cdacfe799e8a1696515b76" -dependencies = [ - "ahash 0.7.6", - "arrayvec", - "indexmap", - "is-macro", - "num-bigint", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms_base", - "swc_ecma_transforms_classes", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - [[package]] name = "swc_ecma_transforms_macros" version = "0.5.0" @@ -6432,83 +5903,11 @@ dependencies = [ "syn", ] -[[package]] -name = "swc_ecma_transforms_module" -version = "0.153.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2ed28c6024de2054e240122567005dda88c36498e93b6a9d0605e87de2a74e" -dependencies = [ - "Inflector", - "ahash 0.7.6", - "anyhow", - "bitflags", - "indexmap", - "is-macro", - "path-clean", - "pathdiff", - "regex", - "serde", - "swc_atoms", - "swc_cached", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_loader", - "swc_ecma_parser 0.122.32", - "swc_ecma_transforms_base", - "swc_ecma_utils", - "swc_ecma_visit", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_optimization" -version = "0.167.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ec5c2592c8a52b3c82be3b0c3f7451a4fddbf0ce6070574d5da2e3b23baca7" -dependencies = [ - "ahash 0.7.6", - "dashmap", - "indexmap", - "once_cell", - "petgraph 0.6.3", - "rustc-hash", - "serde_json", - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_parser 0.122.32", - "swc_ecma_transforms_base", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_fast_graph", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_proposal" -version = "0.144.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9402756ba1cca2e2b07d7d36b8189a15719ebc4ba5f0ded366be02ad253220e" -dependencies = [ - "either", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms_base", - "swc_ecma_transforms_classes", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", -] - [[package]] name = "swc_ecma_transforms_react" -version = "0.155.55" +version = "0.160.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb2b507c388b4b4a4cbb30d92d0d30d5fbca2285991eca56456cd91bc7f94d9" +checksum = "b94e3884668e2e12684e4adf812dbd22d34b17da2d7637b1c9cffe393acad6c2" dependencies = [ "ahash 0.7.6", "base64 0.13.1", @@ -6522,8 +5921,8 @@ dependencies = [ "swc_atoms", "swc_common", "swc_config", - "swc_ecma_ast 0.94.21", - "swc_ecma_parser 0.122.32", + "swc_ecma_ast", + "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", @@ -6532,14 +5931,14 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.159.57" +version = "0.164.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9176ea348412e531fe60becad2acce55e7bdf44dbfaadf834d0da6262440577c" +checksum = "9a885199b43798b46d8b26b4a986f899436f9f2cb37477eb12a183388a5c213f" dependencies = [ "serde", "swc_atoms", "swc_common", - "swc_ecma_ast 0.94.21", + "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_transforms_react", "swc_ecma_utils", @@ -6548,16 +5947,17 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.105.40" +version = "0.107.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bb6ce08b6978bbc17a7a7e22c608d3e5c566218bd765ad4a7f0a83758e8a1b" +checksum = "820687453555366f187cc927b39bbad4137da80ac067763e56471db92d485b78" dependencies = [ "indexmap", "num_cpus", "once_cell", + "rustc-hash", "swc_atoms", "swc_common", - "swc_ecma_ast 0.94.21", + "swc_ecma_ast", "swc_ecma_visit", "tracing", "unicode-id", @@ -6565,31 +5965,18 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.80.21" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c3c5ca0a76f58b8b40e3733e4c67c47a6875c318e40ad11d535a26e44609b6" +checksum = "6b2ee0f4b61d6c426189d0d9da1333705ff3bc4513fb63633ca254595a700f75" dependencies = [ "num-bigint", "swc_atoms", "swc_common", - "swc_ecma_ast 0.94.21", + "swc_ecma_ast", "swc_visit", "tracing", ] -[[package]] -name = "swc_ecmascript" -version = "0.205.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24bb18a1e414a10f430c20df1386b9de747b38cb0fcac66339fd3a9461ee10d" -dependencies = [ - "swc_ecma_ast 0.94.21", - "swc_ecma_codegen", - "swc_ecma_parser 0.122.32", - "swc_ecma_transforms", - "swc_ecma_visit", -] - [[package]] name = "swc_eq_ignore_macros" version = "0.1.1" @@ -6602,31 +5989,6 @@ dependencies = [ "syn", ] -[[package]] -name = "swc_error_reporters" -version = "0.13.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cab7b4d57a38aa721d3b64896f07198567e0d26fa15517eeddc52560f7f7ab8" -dependencies = [ - "anyhow", - "miette", - "once_cell", - "parking_lot 0.12.1", - "swc_common", -] - -[[package]] -name = "swc_fast_graph" -version = "0.17.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42663a304e6b2aa28ff50da0c1cb49fc9d5e84a97d57d68d7eba385602deef95" -dependencies = [ - "ahash 0.7.6", - "indexmap", - "petgraph 0.6.3", - "swc_common", -] - [[package]] name = "swc_macros_common" version = "0.3.6" @@ -6639,38 +6001,6 @@ dependencies = [ "syn", ] -[[package]] -name = "swc_node_comments" -version = "0.16.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12375442b54c8b99a066815c7ef600e05be883d4b73e1869b3bbb60ec4ec1c93" -dependencies = [ - "ahash 0.7.6", - "dashmap", - "swc_atoms", - "swc_common", -] - -[[package]] -name = "swc_timer" -version = "0.17.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ffc2a454f3df82f19268984953b2e37be9a40166bccd3d53611ef78cea793a" -dependencies = [ - "tracing", -] - -[[package]] -name = "swc_trace_macro" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4795c8d23e0de62eef9cac0a20ae52429ee2ffc719768e838490f195b7d7267" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "swc_visit" version = "0.5.4" @@ -6764,7 +6094,7 @@ dependencies = [ [[package]] name = "temporal-client" version = "0.1.0" -source = "git+https://github.com/temporalio/sdk-core#00fc0ffdc2e156292783d0dca99e61dd4297602b" +source = "git+https://github.com/temporalio/sdk-core#af26deed4fd4cfc25500d5b04bcac5fe289da7f5" dependencies = [ "anyhow", "async-trait", @@ -6791,7 +6121,7 @@ dependencies = [ [[package]] name = "temporal-sdk-core-protos" version = "0.1.0" -source = "git+https://github.com/temporalio/sdk-core#00fc0ffdc2e156292783d0dca99e61dd4297602b" +source = "git+https://github.com/temporalio/sdk-core#af26deed4fd4cfc25500d5b04bcac5fe289da7f5" dependencies = [ "anyhow", "base64 0.21.0", @@ -6816,16 +6146,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "text_lines" version = "0.6.0" @@ -6835,17 +6155,6 @@ dependencies = [ "serde", ] -[[package]] -name = "textwrap" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - [[package]] name = "thiserror" version = "1.0.38" @@ -6920,9 +6229,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.17" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" dependencies = [ "itoa", "serde", @@ -6938,9 +6247,9 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" [[package]] name = "time-macros" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" dependencies = [ "time-core", ] @@ -7068,9 +6377,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite", @@ -7380,7 +6689,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "rand 0.7.3", + "rand 0.8.5", "static_assertions", ] @@ -7409,16 +6718,18 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "typescript" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "anyhow", "dprint-plugin-typescript", "lazy_static", "string_cache", "swc_common", - "swc_ecma_ast 0.94.21", - "swc_ecma_transforms", - "swc_ecmascript", + "swc_ecma_ast", + "swc_ecma_codegen", + "swc_ecma_parser", + "swc_ecma_transforms_typescript", + "swc_ecma_visit", ] [[package]] @@ -7484,16 +6795,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" -[[package]] -name = "unicode-linebreak" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" -dependencies = [ - "hashbrown 0.12.3", - "regex", -] - [[package]] name = "unicode-normalization" version = "0.1.22" @@ -7573,10 +6874,16 @@ dependencies = [ "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" + [[package]] name = "user-facing-error-macros" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "proc-macro2", "quote", @@ -7586,7 +6893,7 @@ dependencies = [ [[package]] name = "user-facing-errors" version = "0.1.0" -source = "git+https://github.com/prisma/prisma-engines#1f2d45908d671ccbc5329131ec18665c16cc0cdd" +source = "git+https://github.com/prisma/prisma-engines#b1d5289e9e93ba26d4b023ac7cb3828aa8594668" dependencies = [ "backtrace", "indoc 1.0.9", @@ -7973,7 +7280,7 @@ checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" [[package]] name = "xtask" -version = "0.0.3-dev.3" +version = "0.0.3-dev.4" dependencies = [ "anyhow", "clap", @@ -8010,5 +7317,5 @@ dependencies = [ "crc32fast", "crossbeam-utils", "flate2", - "time 0.3.17", + "time 0.3.19", ] diff --git a/dev/Dockerfile b/dev/Dockerfile index bdb43f0e93..7c8a5be860 100644 --- a/dev/Dockerfile +++ b/dev/Dockerfile @@ -1,4 +1,4 @@ -ARG RUST_VERSION=1.66.1 +ARG RUST_VERSION=1.67.1 ARG DENO_VERSION=1.30.3 FROM lukemathwalker/cargo-chef:latest-rust-${RUST_VERSION} AS base @@ -41,7 +41,8 @@ RUN OUT_DIR=target deno_bindgen --release -- --locked --package native -F deno \ && mv /target/release/libnative.so . WORKDIR /typegate -RUN deno cache --config=deno.json --unstable src/main.ts +RUN deno cache --config=deno.json --unstable src/main.ts \ + && mkdir tmp # @@ -63,6 +64,7 @@ COPY --from=builder /typegate/src ./src # writeable COPY --from=builder --chown=nonroot:nonroot /deno-dir /deno-dir COPY --from=builder --chown=nonroot:nonroot /typegate/deno.lock ./ +COPY --from=builder --chown=nonroot:nonroot /typegate/tmp ./ USER nonroot EXPOSE 7890 diff --git a/dev/lock.yml b/dev/lock.yml index 2b6736421d..c37c30a595 100644 --- a/dev/lock.yml +++ b/dev/lock.yml @@ -31,7 +31,7 @@ dev: PYTHON_VERSION: '3.8' POETRY_VERSION: 1.3.1 PROTOC_VERSION: 3.x - RUST_VERSION: 1.66.1 + RUST_VERSION: 1.67.1 DENO_BINDGEN_URL: 'https://github.com/denoland/deno_bindgen/raw/main/cli.ts' DENO_VERSION: 1.30.3 NODE_VERSION: 18.12.1 diff --git a/examples/poetry.lock b/examples/poetry.lock index a6bdd677b3..fdf24a0e22 100644 --- a/examples/poetry.lock +++ b/examples/poetry.lock @@ -95,6 +95,56 @@ files = [ [package.dependencies] rply = "*" +[[package]] +name = "black" +version = "23.1.0" +description = "The uncompromising code formatter." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-23.1.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:b6a92a41ee34b883b359998f0c8e6eb8e99803aa8bf3123bf2b2e6fec505a221"}, + {file = "black-23.1.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:57c18c5165c1dbe291d5306e53fb3988122890e57bd9b3dcb75f967f13411a26"}, + {file = "black-23.1.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:9880d7d419bb7e709b37e28deb5e68a49227713b623c72b2b931028ea65f619b"}, + {file = "black-23.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6663f91b6feca5d06f2ccd49a10f254f9298cc1f7f49c46e498a0771b507104"}, + {file = "black-23.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9afd3f493666a0cd8f8df9a0200c6359ac53940cbde049dcb1a7eb6ee2dd7074"}, + {file = "black-23.1.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:bfffba28dc52a58f04492181392ee380e95262af14ee01d4bc7bb1b1c6ca8d27"}, + {file = "black-23.1.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c1c476bc7b7d021321e7d93dc2cbd78ce103b84d5a4cf97ed535fbc0d6660648"}, + {file = "black-23.1.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:382998821f58e5c8238d3166c492139573325287820963d2f7de4d518bd76958"}, + {file = "black-23.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf649fda611c8550ca9d7592b69f0637218c2369b7744694c5e4902873b2f3a"}, + {file = "black-23.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:121ca7f10b4a01fd99951234abdbd97728e1240be89fde18480ffac16503d481"}, + {file = "black-23.1.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:a8471939da5e824b891b25751955be52ee7f8a30a916d570a5ba8e0f2eb2ecad"}, + {file = "black-23.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8178318cb74f98bc571eef19068f6ab5613b3e59d4f47771582f04e175570ed8"}, + {file = "black-23.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a436e7881d33acaf2536c46a454bb964a50eff59b21b51c6ccf5a40601fbef24"}, + {file = "black-23.1.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:a59db0a2094d2259c554676403fa2fac3473ccf1354c1c63eccf7ae65aac8ab6"}, + {file = "black-23.1.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:0052dba51dec07ed029ed61b18183942043e00008ec65d5028814afaab9a22fd"}, + {file = "black-23.1.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:49f7b39e30f326a34b5c9a4213213a6b221d7ae9d58ec70df1c4a307cf2a1580"}, + {file = "black-23.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:162e37d49e93bd6eb6f1afc3e17a3d23a823042530c37c3c42eeeaf026f38468"}, + {file = "black-23.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b70eb40a78dfac24842458476135f9b99ab952dd3f2dab738c1881a9b38b753"}, + {file = "black-23.1.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:a29650759a6a0944e7cca036674655c2f0f63806ddecc45ed40b7b8aa314b651"}, + {file = "black-23.1.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:bb460c8561c8c1bec7824ecbc3ce085eb50005883a6203dcfb0122e95797ee06"}, + {file = "black-23.1.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c91dfc2c2a4e50df0026f88d2215e166616e0c80e86004d0003ece0488db2739"}, + {file = "black-23.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a951cc83ab535d248c89f300eccbd625e80ab880fbcfb5ac8afb5f01a258ac9"}, + {file = "black-23.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0680d4380db3719ebcfb2613f34e86c8e6d15ffeabcf8ec59355c5e7b85bb555"}, + {file = "black-23.1.0-py3-none-any.whl", hash = "sha256:7a0f701d314cfa0896b9001df70a530eb2472babb76086344e688829efd97d32"}, + {file = "black-23.1.0.tar.gz", hash = "sha256:b0bd97bea8903f5a2ba7219257a44e3f1f9d00073d6cc1add68f0beec69692ac"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + [[package]] name = "certifi" version = "2022.12.7" @@ -205,6 +255,33 @@ files = [ {file = "charset_normalizer-3.0.1-py3-none-any.whl", hash = "sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24"}, ] +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + [[package]] name = "deepmerge" version = "1.1.0" @@ -481,6 +558,18 @@ files = [ {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, ] +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +category = "main" +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + [[package]] name = "ordered-set" version = "4.1.0" @@ -496,40 +585,90 @@ files = [ [package.extras] dev = ["black", "mypy", "pytest"] +[[package]] +name = "packaging" +version = "23.0" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, + {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, +] + +[[package]] +name = "pathspec" +version = "0.11.0" +description = "Utility library for gitignore style pattern matching of file paths." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pathspec-0.11.0-py3-none-any.whl", hash = "sha256:3a66eb970cbac598f9e5ccb5b2cf58930cd8e3ed86d393d541eaf2d8b1705229"}, + {file = "pathspec-0.11.0.tar.gz", hash = "sha256:64d338d4e0914e91c1792321e6907b5a593f1ab1851de7fc269557a21b30ebbc"}, +] + +[[package]] +name = "platformdirs" +version = "3.0.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.0.0-py3-none-any.whl", hash = "sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567"}, + {file = "platformdirs-3.0.0.tar.gz", hash = "sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9"}, +] + +[package.extras] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] + [[package]] name = "python-box" -version = "6.1.0" +version = "7.0.0" description = "Advanced Python dictionaries with dot notation access" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "python-box-6.1.0.tar.gz", hash = "sha256:6e7c243b356cb36e2c0f0e5ed7850969fede6aa812a7f501de7768996c7744d7"}, - {file = "python_box-6.1.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:c14aa4e72bf30f4d573e62ff8030a86548603a100c3fb534561dbedf4a83f454"}, - {file = "python_box-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab13208b053525ef154a36a4a52873b98a12b18b946edd4c939a4d5080e9a218"}, - {file = "python_box-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:d199cd289b4f4d053770eadd70217c76214aac30b92a23adfb9627fd8558d300"}, - {file = "python_box-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ac44b3b85714a4575cc273b5dbd39ef739f938ef6c522d6757704a29e7797d16"}, - {file = "python_box-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f0036f91e13958d2b37d2bc74c1197aa36ffd66755342eb64910f63d8a2990f"}, - {file = "python_box-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:af6bcee7e1abe9251e9a41ca9ab677e1f679f6059321cfbae7e78a3831e0b736"}, - {file = "python_box-6.1.0-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:11cbe62f0dace8a6e2a10d210a5e87b99ad1a1286865568862516794c923a988"}, - {file = "python_box-6.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa4696b5e09ccf695bf05c16bb5ca1fcc95a141a71a31eb262eee8e2ac07189a"}, - {file = "python_box-6.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3638d3559f19ece7fa29f6a6550bc64696cd3b65e3d4154df07a3d06982252ff"}, - {file = "python_box-6.1.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:53998c3b95e31d1f31e46279ef1d27ac30b137746927260901ee61457f8468a0"}, - {file = "python_box-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:594b0363b187df855ff8649488b1301dddbbeea769629b7caeb584efe779b841"}, - {file = "python_box-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:1d29eafaa287857751e27fbe9a08dd856480f0037fe988b221eba4dac33e5852"}, - {file = "python_box-6.1.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:9dbd92b67c443a97326273c9239fce04d3b6958be815d293f96ab65bc4a9dae7"}, - {file = "python_box-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed6d7fe47d756dc2d9dea448702cea103716580a2efee7c859954929295fe28e"}, - {file = "python_box-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7b73f26e40a7adc57b9e39f5687d026dfa8a336f48aefaf852a223b4e37392ad"}, - {file = "python_box-6.1.0-py3-none-any.whl", hash = "sha256:bdec0a5f5a17b01fc538d292602a077aa8c641fb121e1900dff0591791af80e8"}, + {file = "python_box-7.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fea273a8e40bcaf535a7f1253457e77f940cc2c059766a13769de4d68ccbcf16"}, + {file = "python_box-7.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0c3716334228b939d49d5e1f0e1f2619dbe8a72a9d7c82f19fab41c53f407f7"}, + {file = "python_box-7.0.0-cp310-cp310-manylinux_2_35_x86_64.whl", hash = "sha256:ace7ddd55590c78aacf7b287fc6d346220e46093d10b7acffdb4b66a9ed8ea5c"}, + {file = "python_box-7.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e82a6ebb2d049ba8bd475d64290d5334a1fb2b49fc54ee34809a115b7042aac2"}, + {file = "python_box-7.0.0-cp310-cp310-win32.whl", hash = "sha256:194d1106fdcfde9bbd47cd1cf2a3c743e6b75f8f66c200b7353fa0e51596bbaa"}, + {file = "python_box-7.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:973059f5b72c73feaaff5f3b5a10a34f138d11f197bfa8ef27b4e597ed13f259"}, + {file = "python_box-7.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:87e0ad81bf934ec832df9e51f9880bb3e9b0cd99fe49d5bff9516bbf8108368c"}, + {file = "python_box-7.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a25afebde5ab15f3b7e1eb33b63a98b9ebae24d12a1bc2f34862d4fa36a4ea2"}, + {file = "python_box-7.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ee9a38381c13d886945fda7e332307454aeb4db1478f6a2ce9ed6a45cdc002d0"}, + {file = "python_box-7.0.0-cp311-cp311-win32.whl", hash = "sha256:9330cf1ffd3631e1a40867847cb4ca4b746f1effea7b052c3a8c0046dbae86a1"}, + {file = "python_box-7.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:c05a12aac622a07b8a84be6c5171e24fe2a2e58e1c7870439fa3696a407caa8d"}, + {file = "python_box-7.0.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:78a060b2d2af9a40f0bffce5b588f92fa86e07a68f0f2fa588fdf79e36971cf6"}, + {file = "python_box-7.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011875da351e884658e41f04191df3ba7b7fa74a43506988b03168fb6b597d39"}, + {file = "python_box-7.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bb8b9d00ef3fd5110276202dcfa60d719609c1c98f24a7dd6a1b19676fd512dd"}, + {file = "python_box-7.0.0-cp37-cp37m-win32.whl", hash = "sha256:ed0948c06f1b5a3d959cb79ee6825f509a6979d5599ca7a786fe856e9515fa31"}, + {file = "python_box-7.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:25b93b8710add337c2330e8aa03fec3b06db742a858e2b5c8f3de1c48ac57507"}, + {file = "python_box-7.0.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:bc91dfb5672a6d4e0c7ca2672990bc84096a31a15d6449b9a58fb2f05b196a20"}, + {file = "python_box-7.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c78ae2652566b1ea3095ea581c1c305016aa9a1d7705e4ab84db7d68ab43c5ca"}, + {file = "python_box-7.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8e30a32226da7c4a23919d92fc6d4d4b9bc36e77e0702ecdcd1802e422dabc5d"}, + {file = "python_box-7.0.0-cp38-cp38-win32.whl", hash = "sha256:4c006d2284b7eef0ce9b7eea829bf3efb52ab7b3584df9170c444b3030624057"}, + {file = "python_box-7.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:ee15b02b5d8c034553dd6dcaa0b1f0e56a49ca9f5d95a7c5883e83c00b8bd05c"}, + {file = "python_box-7.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:ec34c6577934b9fe8be82047671b4561f3589cff45b036792797941220317ced"}, + {file = "python_box-7.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:352f29a4fe26f7a77ead771682670740a112ddc14aa6ccf4550a2f8651c1b6b2"}, + {file = "python_box-7.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e76e5b6797851ed6863585f2fdc6d472c4ec3d68886e966acd33da212d5030f5"}, + {file = "python_box-7.0.0-cp39-cp39-win32.whl", hash = "sha256:ae5cb0f58ea299f3ac6b2ef065eaf4cd6192a2f7d3a7a560aa6012777271a724"}, + {file = "python_box-7.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:a681b16b7c6b437340cf1df1834e2a7f835c07a7189371563dd7ac70510a6c09"}, + {file = "python_box-7.0.0.tar.gz", hash = "sha256:727af276177b3c2c0e7e2acea2152269ec85d9fc012a4ffe8df962e2a2d57613"}, ] [package.extras] -all = ["msgpack", "ruamel.yaml (>=0.17)", "toml"] -msgpack = ["msgpack"] -pyyaml = ["PyYAML"] +all = ["msgpack (>=1.0.0)", "ruamel.yaml (>=0.17)", "tomli (>=1.2.3)", "tomli-w (>=1.0.0)"] +msgpack = ["msgpack (>=1.0.0)"] +pyyaml = ["PyYAML (>=6.0)"] ruamel-yaml = ["ruamel.yaml (>=0.17)"] -toml = ["toml"] -tomli = ["tomli", "tomli-w"] +toml = ["toml (>=0.10.2)"] +tomli = ["tomli (>=1.2.3)", "tomli-w (>=1.0.0)"] yaml = ["ruamel.yaml (>=0.17)"] [[package]] @@ -723,9 +862,21 @@ docs = ["myst-parser[linkify]", "sphinx", "sphinx-rtd-theme"] release = ["twine"] test = ["pylint", "pytest", "pytest-black", "pytest-cov", "pytest-pylint"] +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + [[package]] name = "typegraph" -version = "0.0.3-dev.1" +version = "0.0.3-dev.4" description = "Free and open ecosystem for API composition." category = "main" optional = false @@ -736,18 +887,19 @@ develop = true [package.dependencies] astunparse = "^1.6.3" attrs = "^22.2.0" +black = ">=22.12,<24.0" deepmerge = "^1.1.0" frozendict = "2.3.4" gql = {version = "^3.4.0", extras = ["requests"]} graphql-core = "^3.2.3" httpx = {version = ">=0.22,<0.24", extras = ["http2"]} ordered-set = "^4.1.0" -python-box = "^6.1.0" +python-box = "^7.0.0" PyYAML = "^6.0" redbaron = "^0.9.2" semver = "^2.13.0" strenum = "^0.4.9" -typing-extensions = "^4.4.0" +typing-extensions = "^4.5.0" [package.source] type = "directory" @@ -755,14 +907,14 @@ url = "../typegraph" [[package]] name = "typing-extensions" -version = "4.4.0" +version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, - {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, + {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, + {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, ] [[package]] diff --git a/libs/typescript/Cargo.toml b/libs/typescript/Cargo.toml index 427c980a88..b163078900 100644 --- a/libs/typescript/Cargo.toml +++ b/libs/typescript/Cargo.toml @@ -5,16 +5,14 @@ edition = "2021" [dependencies] anyhow = "1.0.69" -swc_common = { version = "0.29.10", features = ["tty-emitter"] } -swc_ecma_ast = "0.94.14" -swc_ecmascript = { version = "0.205.47", features = [ - "visit", - "transforms", - "typescript-parser", - "parser", - "codegen", -] } -swc_ecma_transforms = { version = "0.198.26", features = ["typescript"] } string_cache = "0.8.4" -dprint-plugin-typescript = "0.83.0" lazy_static = "1.4.0" +dprint-plugin-typescript = "0.83.0" + +# https://github.com/denoland/deno_ast/blob/main/Cargo.toml#L42 via dprint +swc_common = { version = "=0.29.29", features = ["tty-emitter"] } +swc_ecma_ast = "=0.96.3" +swc_ecma_parser = "=0.124.5" +swc_ecma_codegen = "=0.129.8" +swc_ecma_visit = "=0.82.3" +swc_ecma_transforms_typescript = "=0.164.10" diff --git a/libs/typescript/src/lib.rs b/libs/typescript/src/lib.rs index 7926cf2ab9..94a746893d 100644 --- a/libs/typescript/src/lib.rs +++ b/libs/typescript/src/lib.rs @@ -5,13 +5,16 @@ pub mod parser; pub use dprint_plugin_typescript as dprint_plugin; pub use string_cache; pub use swc_common; +use swc_common::sync::Lrc; +use swc_common::SourceMap; pub use swc_ecma_ast as ast; -pub use swc_ecmascript::*; +use swc_ecma_ast::{EsVersion, Module}; use anyhow::Result; use dprint_plugin::configuration::Configuration; use lazy_static::lazy_static; -use std::path::Path; +use std::{env, io::Write, path::Path}; +use swc_ecma_codegen::{text_writer::JsWriter, Config, Emitter}; lazy_static! { static ref TS_FORMAT_CONFIG: Configuration = { @@ -30,3 +33,26 @@ lazy_static! { pub fn format_text>(path: P, source: &str) -> Result { Ok(dprint_plugin::format_text(path.as_ref(), source, &TS_FORMAT_CONFIG)?.unwrap()) } + +pub fn print_module(cm: Lrc, module: &Module, writer: W) -> Result<()> { + // ref: https://doc.rust-lang.org/std/env/consts/constant.OS.html + let new_line = match env::consts::OS { + "windows" => "\r\n", // windows := CR LF + _ => "\n", // UNIX or MAC := LF + }; + let mut emitter = Emitter { + cfg: Config { + target: EsVersion::latest(), + ascii_only: true, + minify: false, + omit_last_semi: true, + }, + cm: cm.clone(), + comments: None, + wr: JsWriter::new(cm, new_line, writer, None), + }; + + emitter.emit_module(module)?; + + Ok(()) +} diff --git a/libs/typescript/src/parser.rs b/libs/typescript/src/parser.rs index 2dafec4c67..878470adfb 100644 --- a/libs/typescript/src/parser.rs +++ b/libs/typescript/src/parser.rs @@ -13,15 +13,13 @@ use swc_common::SourceMap; use swc_common::DUMMY_SP; use swc_common::GLOBALS; use swc_ecma_ast::*; -use swc_ecma_transforms::typescript::strip::strip; -use swc_ecmascript::parser::parse_file_as_module; -use swc_ecmascript::parser::parse_file_as_script; -use swc_ecmascript::{ - codegen, - codegen::{text_writer::JsWriter, Emitter}, - parser::Syntax, - visit::{Fold, FoldWith}, -}; +use swc_ecma_codegen::Config; +use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; +use swc_ecma_parser::parse_file_as_module; +use swc_ecma_parser::parse_file_as_script; +use swc_ecma_parser::Syntax; +use swc_ecma_transforms_typescript::strip::strip; +use swc_ecma_visit::{Fold, FoldWith}; /// Creates a named import from the following elements: /// @@ -338,7 +336,7 @@ where { let mut buf = vec![]; let mut emitter = Emitter { - cfg: codegen::Config { + cfg: Config { target: EsVersion::latest(), ascii_only: false, minify: true, diff --git a/libs/xtask/src/codegen/typescript.rs b/libs/xtask/src/codegen/typescript.rs index 42c678ede5..6b9f46888b 100644 --- a/libs/xtask/src/codegen/typescript.rs +++ b/libs/xtask/src/codegen/typescript.rs @@ -5,11 +5,16 @@ use std::io::Write; use std::path::Path; use std::process::{Command, Stdio}; use std::{env, fs}; -use typescript::ast::*; -use typescript::codegen; +use typescript::ast::{ + Decl, ExportDecl, Expr, Ident, Module, ModuleDecl, ModuleItem, TsEntityName, TsLit, TsLitType, + TsPropertySignature, TsType, TsTypeAliasDecl, TsTypeElement, TsTypeRef, + TsUnionOrIntersectionType, TsUnionType, +}; +use typescript::print_module; + use typescript::parser::parse_module_source; use typescript::string_cache::Atom; -use typescript::swc_common::{sync::Lrc, SourceMap, DUMMY_SP}; +use typescript::swc_common::DUMMY_SP; pub fn run() -> Result<()> { println!("Generating TypeScript type definitions for typegraph..."); @@ -99,29 +104,6 @@ pub fn run() -> Result<()> { Ok(()) } -fn print_module(cm: Lrc, module: &Module, writer: W) -> Result<()> { - // ref: https://doc.rust-lang.org/std/env/consts/constant.OS.html - let new_line = match env::consts::OS { - "windows" => "\r\n", // windows := CR LF - _ => "\n", // UNIX or MAC := LF - }; - let mut emitter = codegen::Emitter { - cfg: codegen::Config { - target: EsVersion::latest(), - ascii_only: true, - minify: false, - omit_last_semi: true, - }, - cm: cm.clone(), - comments: None, - wr: codegen::text_writer::JsWriter::new(cm, new_line, writer, None), - }; - - emitter.emit_module(module)?; - - Ok(()) -} - /// Find the exported union type with name `name` and return a clone of its variants #[allow(clippy::vec_box)] fn find_union_type(module: &Module, name: &str) -> Result>)>> { diff --git a/meta-cli/Cargo.toml b/meta-cli/Cargo.toml index 2c970ae9a9..181769defa 100644 --- a/meta-cli/Cargo.toml +++ b/meta-cli/Cargo.toml @@ -24,15 +24,13 @@ name = "meta" path = "src/main.rs" [dependencies] -self_update = { version = "0.35.0", features = [ +self_update = { version = "0.36.0", features = [ "archive-tar", "archive-zip", "compression-flate2", "compression-zip-deflate", "compression-zip-bzip2", ] } -swc = "0.232.52" -datamodel-renderer = { git = "https://github.com/prisma/prisma-engines" } prisma-models = { git = "https://github.com/prisma/prisma-engines" } lazy_static = "1.4.0" tokio = { version = "1.25.0", features = ["full"] } @@ -63,5 +61,5 @@ openssl = { version = "0.10.45", features = ["vendored"] } indexmap = { version = "1.9.2", features = ["serde"] } [dev-dependencies] -insta = "1.26.0" +insta = "1.28.0" project-root = "0.2.2" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 91874cd968..d6a35fe046 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.66.1" +channel = "1.67.1" components = ["rustfmt", "clippy"] diff --git a/typegate/deno.json b/typegate/deno.json index 474d55c802..ed9644675d 100644 --- a/typegate/deno.json +++ b/typegate/deno.json @@ -13,13 +13,13 @@ "dataloader": "npm:dataloader@2.1.0", "chance": "npm:chance@1.1.8", "swc": "https://deno.land/x/swc@0.2.1/mod.ts", - "swc/types": "https://esm.sh/@swc/core@1.2.212/types.d.ts?deno-std=0.170.0", + "swc/types": "https://esm.sh/@swc/core@1.2.212/types.d.ts?pin=v107", "zod": "https://deno.land/x/zod@v3.20.2/mod.ts", - "ajv": "https://esm.sh/ajv@8.12.0?deno-std=0.170.0", - "ajv-formats": "https://esm.sh/ajv-formats@2.1.1?deno-std=0.170.0", + "ajv": "https://esm.sh/ajv@8.12.0?pin=v107", + "ajv-formats": "https://esm.sh/ajv-formats@2.1.1?pin=v107", "monads": "https://deno.land/x/monads@v0.5.10/mod.ts", "jwt": "https://deno.land/x/djwt@v2.7/mod.ts", - "redis": "https://raw.githubusercontent.com/denodrivers/redis/master/mod.ts", + "redis": "https://deno.land/x/redis@v0.29.2/mod.ts", "native": "../bindings/bindings.ts", "bcrypt": "https://deno.land/x/bcrypt@v0.4.0/mod.ts", "_bcrypt": "https://deno.land/x/bcrypt@v0.4.0/src/worker.ts", diff --git a/typegate/deno.lock b/typegate/deno.lock index 3aa34992a5..7944c61fa9 100644 --- a/typegate/deno.lock +++ b/typegate/deno.lock @@ -168,18 +168,6 @@ "https://cdn.skypack.dev/graphql@16.6.0/language/ast?dts": "8ed2b3b60f74407bd8eedb94b091388e72620f24f63b7161200b6f9a17b9683a", "https://cdn.skypack.dev/graphql@16.6.0?dts": "6040960f9706c9e43082d6d083b91a5536723cf921b9560484270735435bf0b7", "https://crux.land/api/get/2KNRVU.ts": "6a77d55844aba78d01520c5ff0b2f0af7f24cc1716a0de8b3bb6bd918c47b5ba", - "https://deno.land/std@0.122.0/_util/assert.ts": "2f868145a042a11d5ad0a3c748dcf580add8a0dbc0e876eaa0026303a5488f58", - "https://deno.land/std@0.122.0/_util/os.ts": "dfb186cc4e968c770ab6cc3288bd65f4871be03b93beecae57d657232ecffcac", - "https://deno.land/std@0.122.0/fmt/colors.ts": "8368ddf2d48dfe413ffd04cdbb7ae6a1009cf0dccc9c7ff1d76259d9c61a0621", - "https://deno.land/std@0.122.0/path/_constants.ts": "1247fee4a79b70c89f23499691ef169b41b6ccf01887a0abd131009c5581b853", - "https://deno.land/std@0.122.0/path/_interface.ts": "1fa73b02aaa24867e481a48492b44f2598cd9dfa513c7b34001437007d3642e4", - "https://deno.land/std@0.122.0/path/_util.ts": "2e06a3b9e79beaf62687196bd4b60a4c391d862cfa007a20fc3a39f778ba073b", - "https://deno.land/std@0.122.0/path/common.ts": "f41a38a0719a1e85aa11c6ba3bea5e37c15dd009d705bd8873f94c833568cbc4", - "https://deno.land/std@0.122.0/path/glob.ts": "7bf2349e818e332a830f3d8874c3f45dd7580b6c742ed50dbf6282d84ab18405", - "https://deno.land/std@0.122.0/path/mod.ts": "4465dc494f271b02569edbb4a18d727063b5dbd6ed84283ff906260970a15d12", - "https://deno.land/std@0.122.0/path/posix.ts": "34349174b9cd121625a2810837a82dd8b986bbaaad5ade690d1de75bbb4555b2", - "https://deno.land/std@0.122.0/path/separator.ts": "8fdcf289b1b76fd726a508f57d3370ca029ae6976fcde5044007f062e643ff1c", - "https://deno.land/std@0.122.0/path/win32.ts": "11549e8c6df8307a8efcfa47ad7b2a75da743eac7d4c89c9723a944661c8bd2e", "https://deno.land/std@0.140.0/encoding/base64.ts": "c8c16b4adaa60d7a8eee047c73ece26844435e8f7f1328d74593dbb2dd58ea4f", "https://deno.land/std@0.140.0/encoding/base64url.ts": "55f9d13df02efac10c6f96169daa3e702606a64e8aa27c0295f645f198c27130", "https://deno.land/std@0.170.0/_util/asserts.ts": "d0844e9b62510f89ce1f9878b046f6a57bf88f208a10304aab50efcb48365272", @@ -269,38 +257,11 @@ "https://deno.land/std@0.176.0/io/buf_reader.ts": "90a7adcb3638d8e1361695cdf844d58bcd97c41711dc6f9f8acc0626ebe097f5", "https://deno.land/std@0.176.0/io/buf_writer.ts": "759c69d304b04d2909976f2a03a24a107276fbd81ed13593c5c2d43d104b52f3", "https://deno.land/std@0.176.0/types.d.ts": "220ed56662a0bd393ba5d124aa6ae2ad36a00d2fcbc0e8666a65f4606aaa9784", - "https://deno.land/std@0.97.0/_util/assert.ts": "2f868145a042a11d5ad0a3c748dcf580add8a0dbc0e876eaa0026303a5488f58", - "https://deno.land/std@0.97.0/_util/os.ts": "e282950a0eaa96760c0cf11e7463e66babd15ec9157d4c9ed49cc0925686f6a7", - "https://deno.land/std@0.97.0/encoding/base64.ts": "eecae390f1f1d1cae6f6c6d732ede5276bf4b9cd29b1d281678c054dc5cc009e", - "https://deno.land/std@0.97.0/encoding/hex.ts": "f952e0727bddb3b2fd2e6889d104eacbd62e92091f540ebd6459317a61932d9b", - "https://deno.land/std@0.97.0/fs/_util.ts": "f2ce811350236ea8c28450ed822a5f42a0892316515b1cd61321dec13569c56b", - "https://deno.land/std@0.97.0/fs/ensure_dir.ts": "b7c103dc41a3d1dbbb522bf183c519c37065fdc234831a4a0f7d671b1ed5fea7", - "https://deno.land/std@0.97.0/fs/exists.ts": "b0d2e31654819cc2a8d37df45d6b14686c0cc1d802e9ff09e902a63e98b85a00", - "https://deno.land/std@0.97.0/hash/_wasm/hash.ts": "cb6ad1ab429f8ac9d6eae48f3286e08236d662e1a2e5cfd681ba1c0f17375895", - "https://deno.land/std@0.97.0/hash/_wasm/wasm.js": "94b1b997ae6fb4e6d2156bcea8f79cfcd1e512a91252b08800a92071e5e84e1a", - "https://deno.land/std@0.97.0/hash/hasher.ts": "57a9ec05dd48a9eceed319ac53463d9873490feea3832d58679df6eec51c176b", - "https://deno.land/std@0.97.0/hash/mod.ts": "5d032bd34186cda2f8d17fc122d621430953a6030d4b3f11172004715e3e2441", - "https://deno.land/std@0.97.0/path/_constants.ts": "1247fee4a79b70c89f23499691ef169b41b6ccf01887a0abd131009c5581b853", - "https://deno.land/std@0.97.0/path/_interface.ts": "1fa73b02aaa24867e481a48492b44f2598cd9dfa513c7b34001437007d3642e4", - "https://deno.land/std@0.97.0/path/_util.ts": "2e06a3b9e79beaf62687196bd4b60a4c391d862cfa007a20fc3a39f778ba073b", - "https://deno.land/std@0.97.0/path/common.ts": "eaf03d08b569e8a87e674e4e265e099f237472b6fd135b3cbeae5827035ea14a", - "https://deno.land/std@0.97.0/path/glob.ts": "314ad9ff263b895795208cdd4d5e35a44618ca3c6dd155e226fb15d065008652", - "https://deno.land/std@0.97.0/path/mod.ts": "4465dc494f271b02569edbb4a18d727063b5dbd6ed84283ff906260970a15d12", - "https://deno.land/std@0.97.0/path/posix.ts": "f56c3c99feb47f30a40ce9d252ef6f00296fa7c0fcb6dd81211bdb3b8b99ca3b", - "https://deno.land/std@0.97.0/path/separator.ts": "8fdcf289b1b76fd726a508f57d3370ca029ae6976fcde5044007f062e643ff1c", - "https://deno.land/std@0.97.0/path/win32.ts": "77f7b3604e0de40f3a7c698e8a79e7f601dc187035a1c21cb1e596666ce112f8", "https://deno.land/x/bcrypt@v0.4.0/mod.ts": "ff09bdae282583cf5f7d87efe37ddcecef7f14f6d12e8b8066a3058db8c6c2f7", "https://deno.land/x/bcrypt@v0.4.0/src/bcrypt/base64.ts": "b8266450a4f1eb6960f60f2f7986afc4dde6b45bd2d7ee7ba10789e67e17b9f7", "https://deno.land/x/bcrypt@v0.4.0/src/bcrypt/bcrypt.ts": "ec221648cc6453ea5e3803bc817c01157dada06aa6f7a0ba6b9f87aae32b21e2", "https://deno.land/x/bcrypt@v0.4.0/src/main.ts": "08d201b289c8d9c46f8839c69cd6625b213863db29775c7a200afc3b540e64f8", "https://deno.land/x/bcrypt@v0.4.0/src/worker.ts": "5a73bdfee9c9e622f47c9733d374b627dce52fb3ec1e74c8226698b3fc57ffac", - "https://deno.land/x/cache@0.2.13/cache.ts": "4005aad54fb9aac9ff02526ffa798032e57f2d7966905fdeb7949263b1c95f2f", - "https://deno.land/x/cache@0.2.13/deps.ts": "6f14e76a1a09f329e3f3830c6e72bd10b53a89a75769d5ea886e5d8603e503e6", - "https://deno.land/x/cache@0.2.13/directories.ts": "ef48531cab3f827252e248596d15cede0de179a2fb15392ae24cf8034519994f", - "https://deno.land/x/cache@0.2.13/file.ts": "5abe7d80c6ac594c98e66eb4262962139f48cd9c49dbe2a77e9608760508a09a", - "https://deno.land/x/cache@0.2.13/file_fetcher.ts": "5c793cc83a5b9377679ec313b2a2321e51bf7ed15380fa82d387f1cdef3b924f", - "https://deno.land/x/cache@0.2.13/helpers.ts": "d1545d6432277b7a0b5ea254d1c51d572b6452a8eadd9faa7ad9c5586a1725c4", - "https://deno.land/x/cache@0.2.13/mod.ts": "3188250d3a013ef6c9eb060e5284cf729083af7944a29e60bb3d8597dd20ebcd", "https://deno.land/x/color_util@1.0.1/colors/cmykcolor.ts": "f717cee02bdec255c7c2879b55033da7547d46c1fbb8ada7980d49bd2c1554ee", "https://deno.land/x/color_util@1.0.1/colors/hexcolor.ts": "3b75112b8d693f157d3e6367f9ec44779f3ccef7c7b5f8e0859897f51eb05c4f", "https://deno.land/x/color_util@1.0.1/colors/hsbcolor.ts": "bdfe171f7e6de43625ea4a33bce2b25dec410fa67f34af71821a6c73f4e23351", @@ -355,8 +316,25 @@ "https://deno.land/x/oauth2_client@v0.2.1/src/oauth2_client.ts": "8dbb00ffeab274b5b89593a9e905ecae3a52263d16072e198b906079ee639c3c", "https://deno.land/x/oauth2_client@v0.2.1/src/refresh_token_grant.ts": "b30094750e86c5cfcb9620575e28d595ffd43b783d220d9a2f7017b33142f825", "https://deno.land/x/oauth2_client@v0.2.1/src/types.ts": "3327c2e81bc483e91843fb103595dd304393c3ac2a530d1c89200b6a5cf75e13", - "https://deno.land/x/plug@0.5.2/deps.ts": "0f53866f60dc4f89bbc3be9d096f7501f2068a51923db220f43f0ad284b6b892", - "https://deno.land/x/plug@0.5.2/plug.ts": "e495c772bc3b19eb30d820bb83f1b75f6047e3009e19d9a5d81dbe68ca642fd9", + "https://deno.land/x/redis@v0.29.2/backoff.ts": "33e4a6e245f8743fbae0ce583993a671a3ac2ecee433a3e7f0bd77b5dd541d84", + "https://deno.land/x/redis@v0.29.2/command.ts": "9d1a679821c9065298fc2b8831b6532605426259b17a1f9d41ee9219180244c7", + "https://deno.land/x/redis@v0.29.2/connection.ts": "335f0aa728b8e0b90353c4015daf5abaa7cae657739eb66cb48324f2d197dcc0", + "https://deno.land/x/redis@v0.29.2/errors.ts": "589c41fc0fbd9fbac896a2517cf461a6af211432dd4bb77e0681f5a256d46e66", + "https://deno.land/x/redis@v0.29.2/executor.ts": "0e78c2756f6d14fc0a001bb7527c50c7055880d8e052a9964ecf070a3045f8c7", + "https://deno.land/x/redis@v0.29.2/mod.ts": "20908f005f5c102525ce6aa9261648c95c5f61c6cf782b2cbb2fce88b1220f69", + "https://deno.land/x/redis@v0.29.2/pipeline.ts": "80cc26a881149264d51dd019f1044c4ec9012399eca9f516057dc81c9b439370", + "https://deno.land/x/redis@v0.29.2/protocol/_util.ts": "0525f7f444a96b92cd36423abdfe221f8d8de4a018dc5cb6750a428a5fc897c2", + "https://deno.land/x/redis@v0.29.2/protocol/command.ts": "610180ecfaad1d99b32c2a1e3fb41521e3374c4eac0314f2b6e27b2cb3d6a4d9", + "https://deno.land/x/redis@v0.29.2/protocol/mod.ts": "f2601df31d8adc71785b5d19f6a7e43dfce94adbb6735c4dafc1fb129169d11a", + "https://deno.land/x/redis@v0.29.2/protocol/reply.ts": "4b7432263924ca611f08af818436eafd9433eef07a835bc0338a08def5db1a30", + "https://deno.land/x/redis@v0.29.2/protocol/types.ts": "6bf515b69712dfd4ab45caf1d0054b8fcdd6e1afb55b2bd9a221e9ecb066f658", + "https://deno.land/x/redis@v0.29.2/pubsub.ts": "58b7431c1383fc20addfc7ab1272b28e35a4d101173ea59ade28612ad7fef573", + "https://deno.land/x/redis@v0.29.2/redis.ts": "dd1aed5b604f2514475dd7f78cc06b1f9f9dc17897f6f3ebda72ef3d5227b3be", + "https://deno.land/x/redis@v0.29.2/stream.ts": "f116d73cfe04590ff9fa8a3c08be8ff85219d902ef2f6929b8c1e88d92a07810", + "https://deno.land/x/redis@v0.29.2/vendor/https/deno.land/std/async/deferred.ts": "ef161b2d69f52e5f2d5250227afb5fcecfa038217a37555868152d3c47c8d61c", + "https://deno.land/x/redis@v0.29.2/vendor/https/deno.land/std/async/delay.ts": "07bb8709c87bf457da6a7460668aa63afcda738719f5941237cb74ef795f49a8", + "https://deno.land/x/redis@v0.29.2/vendor/https/deno.land/std/io/buf_reader.ts": "b8cd05912ca54ebebc77bddbd38612bfff585ca7f053d94038b8c644e6a17e0b", + "https://deno.land/x/redis@v0.29.2/vendor/https/deno.land/std/io/buf_writer.ts": "2137f495110ebfa615bf9ab684ffc5af902a41ab3911cdd997eefc1ae529c54a", "https://deno.land/x/zod@v3.20.2/ZodError.ts": "b4ff327bd2870a7c0930b30cb1d6eb741d36a5a7d0755fc3aa7146c108bc8a0e", "https://deno.land/x/zod@v3.20.2/errors.ts": "5285922d2be9700cc0c70c95e4858952b07ae193aa0224be3cbd5cd5567eabef", "https://deno.land/x/zod@v3.20.2/external.ts": "a6cfbd61e9e097d5f42f8a7ed6f92f93f51ff927d29c9fbaec04f03cbce130fe", @@ -370,89 +348,70 @@ "https://deno.land/x/zod@v3.20.2/locales/en.ts": "ac7210faad6e67ec4f6dbe7062886f04db79ce91ae5ee6c9f64cbdf6221bc80e", "https://deno.land/x/zod@v3.20.2/mod.ts": "64e55237cb4410e17d968cd08975566059f27638ebb0b86048031b987ba251c4", "https://deno.land/x/zod@v3.20.2/types.ts": "82b5fbb30d1ad0ed4c212002ebf4d43f0b253921c358e205936e6ee2308914d1", - "https://esm.sh/ajv-formats@2.1.1?deno-std=0.170.0": "07c480aeff3c81c25da880a83bf56ee3729e868da561eedf9e87121f7f487b45", - "https://esm.sh/ajv@8.12.0?deno-std=0.170.0": "82dc49baff222b42585b924a11ceabc89bbb651639a6dd096ec99363019bfa71", - "https://esm.sh/v106/ajv-formats@2.1.1/X-ZHN2LzAuMTcwLjA/deno/ajv-formats.js": "12a2a8f564edffa13a606887f1d681d3195f41283109f25339048ffdf419156c", - "https://esm.sh/v106/ajv-formats@2.1.1/dist/formats.d.ts": "cef709e74e80f14f7d9dd0d7c10f07f5d52e16f77f584d9f487ae0da9a448c88", - "https://esm.sh/v106/ajv-formats@2.1.1/dist/index.d.ts": "41d64a2669171702b35d1829d3b24bb115ba6ddcacc72a6e94faebdfeb6f21a7", - "https://esm.sh/v106/ajv-formats@2.1.1/dist/limit.d.ts": "9b0e545480dbcd39c0af5e0dd8978a83ec532a7c894feb2f6cf7f20841a9a0a4", - "https://esm.sh/v106/ajv@8.12.0/X-ZHN2LzAuMTcwLjA/deno/ajv.js": "7a0edc39ad0345e208fd5b187cf0107ce041ac5142cb8976eb32d7e9ce12724a", - "https://esm.sh/v106/ajv@8.12.0/X-ZHN2LzAuMTcwLjA/deno/dist/compile/codegen.js": "553346ef301e636140528d7d87a5259ba5cc2e4879fd177ebb73d2a63e684e68", - "https://esm.sh/v106/ajv@8.12.0/X-ZHN2LzAuMTcwLjA/deno/dist/compile/codegen/code.js": "4d8cb3c17b1f9e088c954ee9d8d70aceaab7b82c4f07783ae693cccea5348089", - "https://esm.sh/v106/ajv@8.12.0/X-ZHN2LzAuMTcwLjA/deno/dist/compile/codegen/scope.js": "9484bec345e60e9c4cc1de80520bb547021af407955513e65b970f4ded161cd4", - "https://esm.sh/v106/ajv@8.12.0/dist/ajv.d.ts": "e2efa41fff63778572ae1d04dc9d62048684aa8aad6edd0218e562402ea9e0ec", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/code.d.ts": "2d225e7bda2871c066a7079c88174340950fb604f624f2586d3ea27bb9e5f4ff", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/index.d.ts": "9785e1199bae7389a92831c1f732fa72fc6f34a9c3f8948a5acfc8451e72f833", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/scope.d.ts": "4ad65126bd23e1b8fe40f5375b812676694dccc232060a53bff52ac416aef059", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/errors.d.ts": "65c56e41c3ad2867c1c179e7cb8fd4fcbb4cdaa172e2cc5242fbbfab4be089c0", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/index.d.ts": "dc63e8445111329e56e443e63cc892632015ddbfa76170e4959b4d876535285e", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/ref_error.d.ts": "b5e33c3fb8302173827cb3ee68d45c9ff45d2e8ec2a9b347ede1f0b5e00ccdf3", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/resolve.d.ts": "23d18dca3d3b9b1c85cffc826914219e39db265aa3bd2eb1259cdce013a4a94a", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/rules.d.ts": "18e085a67ae0ea81f7d4539e8f682f0b9b150b12af9e66f7760a03356aec507f", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/util.d.ts": "3acaa483c7cf47fc5ced1473b830ec37a8f0d40238f3d96246657c970e13e6c7", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/dataType.d.ts": "4f56c2ba7307d8d5749dd4b60fadab04dce7d69838e129d04c3837cb397ce5bf", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/index.d.ts": "3e1bff49fa21ad6c11d06b5074fd623443dbd5db8fed3bd78411232401a0313e", - "https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/subschema.d.ts": "79ae0a30e9f503b57d8c698e40f1141de1ff05d36dc9b08bc9b3ed6fe1074f9f", - "https://esm.sh/v106/ajv@8.12.0/dist/core.d.ts": "c0d24ae17225116e4895c1961a957acb2158c3ea3f2164ede7b726fc1112edf7", - "https://esm.sh/v106/ajv@8.12.0/dist/runtime/validation_error.d.ts": "515ba5900e0017f5512f442a31826d4210ac782b9b6fad6dbfcab61b5f8c881f", - "https://esm.sh/v106/ajv@8.12.0/dist/types/index.d.ts": "7fdb4bb0d8c9559e391d89e36061ffb02e30b8b7886c246cffeb793937a5f404", - "https://esm.sh/v106/ajv@8.12.0/dist/types/json-schema.d.ts": "6b6ed4aa017eb6867cef27257379cfe3e16caf628aceae3f0163dbafcaf891ff", - "https://esm.sh/v106/ajv@8.12.0/dist/types/jtd-schema.d.ts": "25f1159094dc0bf3a71313a74e0885426af21c5d6564a254004f2cadf9c5b052", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/additionalItems.d.ts": "810dc8272ea4023b647017ee4ff3ababce2a186c48a1e371e0fb631ed5bf9499", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/additionalProperties.d.ts": "93eafd639403aca489d2a2bd26fb89b46a855a271fa3685df23d3f3cfd6c7781", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/anyOf.d.ts": "3bcf9e93173ce018235392adf8ac6b9d4173b632d2fbd74e083f58c5e8dda50d", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/contains.d.ts": "e271ef23f0eecaa3bc3241429c25694aab4e47d96b8bd564d68e077ca2155251", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/dependencies.d.ts": "4da778139fb84dce56f1bb4ef757c17d891a9e3f0f5cff5b835ebde09ac1e956", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/if.d.ts": "48955ffe23bd06877c1bbc7f364a9e80f2dae56783fbfb79c16520375c376230", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/index.d.ts": "16bea08752cd2ca1eabbeb11ebddd265f4150cf171c1041e11a0501f35a49d4e", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/items2020.d.ts": "263fb5e5115873391f99a45bab2e975b0483e8a45da95bdecdbec6760c127aa4", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/not.d.ts": "869d7db4971ca299ff238ca0ea8b3d5cd752b449ccb6559790db0c8ad0c5dfbe", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/oneOf.d.ts": "385baa5077f5878b7506ec9192fd7ab686f7fda6276b71b877ecc0424c24badb", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/propertyNames.d.ts": "2b379d5bc77776abe065fab1e47f84929f6274e0e380c0c1c27a6965e7f4aabc", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/discriminator/index.d.ts": "d6f1fa129cf004b83f2913b3b3094d510e77b421f87ed6ee69f5f89b493fe91b", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/discriminator/types.d.ts": "cdcdcd676aa93fb9822b91569f06178c6cdcbb216f6dab289cc193ac99638838", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/errors.d.ts": "673f52fa2cc7f047ab6f369d12ed82088358174fd58474329d79fa999e3ce635", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/format/format.d.ts": "1fbffe88e41ab623cdd71ef300206298a6780ed9fd1abfd7d63f1892379c7e9a", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedItems.d.ts": "8b9b8c5189417cda763245be14d202e1a199091f1b0b3a0f4c957bdb85ffd044", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts": "4e10c976131382776b03ab8cee68e7764c9bf7db1ab9132066bb0d1f640c03fe", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/const.d.ts": "90985bc6fed39fd595acab2f8f91ce2274b46c9ec7f68d9624d4a677fb206ae8", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/dependentRequired.d.ts": "632b0af8992f86056e5571fbb148835d582332bb613c4e80fdf6719c501483c5", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/enum.d.ts": "15663b84b4d935e1a282269a9ac1072c96d9351c941fa959469cd1ba2419b148", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/index.d.ts": "d05ad2c8e4613c06e314105aaa7b43caa7a373e5f2671c51053bc9160803fbd5", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/limitNumber.d.ts": "3b4220c15eacf28d3732f9df3a2ad0908b9a388dc9d13c35311233f11c28dd36", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/multipleOf.d.ts": "a62b50d44d9c8d0e26b3b42eb90fe87ad1fad683122aa076e6f8d30fb056ad5f", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/pattern.d.ts": "bc7f68367bbd6bdf9ed47aae8590770c7ec7ad6d44c0de11df696162038224b1", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/required.d.ts": "7a14df7f7a58dd22ca4ca449f39cc0168eec566c95d9d7950e5b91da50bf4415", - "https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/uniqueItems.d.ts": "9a9056c3705215ba3289f7ad913e92babeca6e53091aa8095ee85e66ee2bd089", - "https://esm.sh/v106/fast-deep-equal@3.1.3/X-ZHN2LzAuMTcwLjA/deno/fast-deep-equal.js": "4695b025e9a792678087d71f58e1fa07e8021b636d22fda8c0320fcff65a3c47", - "https://esm.sh/v106/json-schema-traverse@1.0.0/X-ZHN2LzAuMTcwLjA/deno/json-schema-traverse.js": "ff987aaea4950aa9c4eea3ca19c9ec2b3229434e22e711415aa77fb513689a9c", - "https://esm.sh/v106/uri-js@4.4.1/X-ZHN2LzAuMTcwLjA/deno/uri-js.js": "cb0fe68d76c29d62c7b79baf964e1b1c6623039faae892514776f0680711fc3e", - "https://esm.sh/v106/uri-js@4.4.1/dist/es5/uri.all.d.ts": "9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825", - "https://raw.githubusercontent.com/denodrivers/redis/master/backoff.ts": "33e4a6e245f8743fbae0ce583993a671a3ac2ecee433a3e7f0bd77b5dd541d84", - "https://raw.githubusercontent.com/denodrivers/redis/master/command.ts": "9d1a679821c9065298fc2b8831b6532605426259b17a1f9d41ee9219180244c7", - "https://raw.githubusercontent.com/denodrivers/redis/master/connection.ts": "335f0aa728b8e0b90353c4015daf5abaa7cae657739eb66cb48324f2d197dcc0", - "https://raw.githubusercontent.com/denodrivers/redis/master/errors.ts": "589c41fc0fbd9fbac896a2517cf461a6af211432dd4bb77e0681f5a256d46e66", - "https://raw.githubusercontent.com/denodrivers/redis/master/executor.ts": "0e78c2756f6d14fc0a001bb7527c50c7055880d8e052a9964ecf070a3045f8c7", - "https://raw.githubusercontent.com/denodrivers/redis/master/mod.ts": "20908f005f5c102525ce6aa9261648c95c5f61c6cf782b2cbb2fce88b1220f69", - "https://raw.githubusercontent.com/denodrivers/redis/master/pipeline.ts": "80cc26a881149264d51dd019f1044c4ec9012399eca9f516057dc81c9b439370", - "https://raw.githubusercontent.com/denodrivers/redis/master/protocol/_util.ts": "0525f7f444a96b92cd36423abdfe221f8d8de4a018dc5cb6750a428a5fc897c2", - "https://raw.githubusercontent.com/denodrivers/redis/master/protocol/command.ts": "610180ecfaad1d99b32c2a1e3fb41521e3374c4eac0314f2b6e27b2cb3d6a4d9", - "https://raw.githubusercontent.com/denodrivers/redis/master/protocol/mod.ts": "f2601df31d8adc71785b5d19f6a7e43dfce94adbb6735c4dafc1fb129169d11a", - "https://raw.githubusercontent.com/denodrivers/redis/master/protocol/reply.ts": "4b7432263924ca611f08af818436eafd9433eef07a835bc0338a08def5db1a30", - "https://raw.githubusercontent.com/denodrivers/redis/master/protocol/types.ts": "6bf515b69712dfd4ab45caf1d0054b8fcdd6e1afb55b2bd9a221e9ecb066f658", - "https://raw.githubusercontent.com/denodrivers/redis/master/pubsub.ts": "58b7431c1383fc20addfc7ab1272b28e35a4d101173ea59ade28612ad7fef573", - "https://raw.githubusercontent.com/denodrivers/redis/master/redis.ts": "bac44a54df4b19066c86f76fd130516bd89f15e1bdb4158998227fbc32ef1c52", - "https://raw.githubusercontent.com/denodrivers/redis/master/stream.ts": "f116d73cfe04590ff9fa8a3c08be8ff85219d902ef2f6929b8c1e88d92a07810", - "https://raw.githubusercontent.com/denodrivers/redis/master/vendor/https/deno.land/std/async/deferred.ts": "ef161b2d69f52e5f2d5250227afb5fcecfa038217a37555868152d3c47c8d61c", - "https://raw.githubusercontent.com/denodrivers/redis/master/vendor/https/deno.land/std/async/delay.ts": "07bb8709c87bf457da6a7460668aa63afcda738719f5941237cb74ef795f49a8", - "https://raw.githubusercontent.com/denodrivers/redis/master/vendor/https/deno.land/std/io/buf_reader.ts": "b8cd05912ca54ebebc77bddbd38612bfff585ca7f053d94038b8c644e6a17e0b", - "https://raw.githubusercontent.com/denodrivers/redis/master/vendor/https/deno.land/std/io/buf_writer.ts": "2137f495110ebfa615bf9ab684ffc5af902a41ab3911cdd997eefc1ae529c54a" + "https://esm.sh/ajv-formats@2.1.1?pin=v107": "ae805f8f66a12c0e182e16c9c4f15ef3a8dd8a50540758b6622fcc4cde653484", + "https://esm.sh/ajv@8.12.0?pin=v107": "6733b78e3761d634b6f1348da2f09131526bc997c145caea7407737d03f93d75", + "https://esm.sh/v107/ajv-formats@2.1.1/deno/ajv-formats.js": "50ea228983e1787c9f9d844daa5ae52ee21e280aaacb78589bf7da90f8f5482f", + "https://esm.sh/v107/ajv-formats@2.1.1/dist/formats.d.ts": "e088eac58aea651c12c0616a130f1cf862f34ecceb5c09badfd87e7f25187883", + "https://esm.sh/v107/ajv-formats@2.1.1/dist/index.d.ts": "42fda7df6ab2c8b833560dc3675b73950effa3ffb010836b4032cfaf4794251d", + "https://esm.sh/v107/ajv-formats@2.1.1/dist/limit.d.ts": "3d64014a873824f612230b3c7473743a912d43d71f204013bee7cb9cf93b6059", + "https://esm.sh/v107/ajv@8.12.0/deno/ajv.js": "b8dd558216836ae8e887a3d8c44d872eb00dfb624870d6a45541332fe0b7d561", + "https://esm.sh/v107/ajv@8.12.0/deno/dist/compile/codegen.js": "4873a1e556fd2b3a7c1dc595c7de3569da2b36af8d2134f6ba1f6acda0e40e52", + "https://esm.sh/v107/ajv@8.12.0/deno/dist/compile/codegen/code.js": "aa52161908b26a1d66a4c08d651844f5473e3cc4b89b8708de29b35dd816a4a8", + "https://esm.sh/v107/ajv@8.12.0/deno/dist/compile/codegen/scope.js": "4b9a6ccf737f65c6fff9e89d59e20400b5911b4790f620bf2e9a7d6b9bb23523", + "https://esm.sh/v107/ajv@8.12.0/dist/ajv.d.ts": "e2efa41fff63778572ae1d04dc9d62048684aa8aad6edd0218e562402ea9e0ec", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/codegen/code.d.ts": "2d225e7bda2871c066a7079c88174340950fb604f624f2586d3ea27bb9e5f4ff", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/codegen/index.d.ts": "9785e1199bae7389a92831c1f732fa72fc6f34a9c3f8948a5acfc8451e72f833", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/codegen/scope.d.ts": "4ad65126bd23e1b8fe40f5375b812676694dccc232060a53bff52ac416aef059", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/errors.d.ts": "65c56e41c3ad2867c1c179e7cb8fd4fcbb4cdaa172e2cc5242fbbfab4be089c0", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/index.d.ts": "dc63e8445111329e56e443e63cc892632015ddbfa76170e4959b4d876535285e", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/ref_error.d.ts": "b5e33c3fb8302173827cb3ee68d45c9ff45d2e8ec2a9b347ede1f0b5e00ccdf3", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/resolve.d.ts": "1db0be692811ae5bddf8991a85954ca9d6e87b48c608a827f746ab90611011cb", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/rules.d.ts": "18e085a67ae0ea81f7d4539e8f682f0b9b150b12af9e66f7760a03356aec507f", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/util.d.ts": "3acaa483c7cf47fc5ced1473b830ec37a8f0d40238f3d96246657c970e13e6c7", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/validate/dataType.d.ts": "4f56c2ba7307d8d5749dd4b60fadab04dce7d69838e129d04c3837cb397ce5bf", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/validate/index.d.ts": "3e1bff49fa21ad6c11d06b5074fd623443dbd5db8fed3bd78411232401a0313e", + "https://esm.sh/v107/ajv@8.12.0/dist/compile/validate/subschema.d.ts": "79ae0a30e9f503b57d8c698e40f1141de1ff05d36dc9b08bc9b3ed6fe1074f9f", + "https://esm.sh/v107/ajv@8.12.0/dist/core.d.ts": "c0d24ae17225116e4895c1961a957acb2158c3ea3f2164ede7b726fc1112edf7", + "https://esm.sh/v107/ajv@8.12.0/dist/runtime/validation_error.d.ts": "515ba5900e0017f5512f442a31826d4210ac782b9b6fad6dbfcab61b5f8c881f", + "https://esm.sh/v107/ajv@8.12.0/dist/types/index.d.ts": "975524315a200cfaa44b8014557dd39a619577c85ee1082286673836b5613dbd", + "https://esm.sh/v107/ajv@8.12.0/dist/types/json-schema.d.ts": "6b6ed4aa017eb6867cef27257379cfe3e16caf628aceae3f0163dbafcaf891ff", + "https://esm.sh/v107/ajv@8.12.0/dist/types/jtd-schema.d.ts": "25f1159094dc0bf3a71313a74e0885426af21c5d6564a254004f2cadf9c5b052", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/additionalItems.d.ts": "810dc8272ea4023b647017ee4ff3ababce2a186c48a1e371e0fb631ed5bf9499", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/additionalProperties.d.ts": "93eafd639403aca489d2a2bd26fb89b46a855a271fa3685df23d3f3cfd6c7781", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/anyOf.d.ts": "3bcf9e93173ce018235392adf8ac6b9d4173b632d2fbd74e083f58c5e8dda50d", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/contains.d.ts": "e271ef23f0eecaa3bc3241429c25694aab4e47d96b8bd564d68e077ca2155251", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/dependencies.d.ts": "4da778139fb84dce56f1bb4ef757c17d891a9e3f0f5cff5b835ebde09ac1e956", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/if.d.ts": "48955ffe23bd06877c1bbc7f364a9e80f2dae56783fbfb79c16520375c376230", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/index.d.ts": "16bea08752cd2ca1eabbeb11ebddd265f4150cf171c1041e11a0501f35a49d4e", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/items2020.d.ts": "263fb5e5115873391f99a45bab2e975b0483e8a45da95bdecdbec6760c127aa4", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/not.d.ts": "869d7db4971ca299ff238ca0ea8b3d5cd752b449ccb6559790db0c8ad0c5dfbe", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/oneOf.d.ts": "385baa5077f5878b7506ec9192fd7ab686f7fda6276b71b877ecc0424c24badb", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/applicator/propertyNames.d.ts": "2b379d5bc77776abe065fab1e47f84929f6274e0e380c0c1c27a6965e7f4aabc", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/discriminator/index.d.ts": "d6f1fa129cf004b83f2913b3b3094d510e77b421f87ed6ee69f5f89b493fe91b", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/discriminator/types.d.ts": "cdcdcd676aa93fb9822b91569f06178c6cdcbb216f6dab289cc193ac99638838", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/errors.d.ts": "673f52fa2cc7f047ab6f369d12ed82088358174fd58474329d79fa999e3ce635", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/format/format.d.ts": "1fbffe88e41ab623cdd71ef300206298a6780ed9fd1abfd7d63f1892379c7e9a", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedItems.d.ts": "8b9b8c5189417cda763245be14d202e1a199091f1b0b3a0f4c957bdb85ffd044", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts": "4e10c976131382776b03ab8cee68e7764c9bf7db1ab9132066bb0d1f640c03fe", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/const.d.ts": "90985bc6fed39fd595acab2f8f91ce2274b46c9ec7f68d9624d4a677fb206ae8", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/dependentRequired.d.ts": "632b0af8992f86056e5571fbb148835d582332bb613c4e80fdf6719c501483c5", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/enum.d.ts": "15663b84b4d935e1a282269a9ac1072c96d9351c941fa959469cd1ba2419b148", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/index.d.ts": "d05ad2c8e4613c06e314105aaa7b43caa7a373e5f2671c51053bc9160803fbd5", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/limitNumber.d.ts": "3b4220c15eacf28d3732f9df3a2ad0908b9a388dc9d13c35311233f11c28dd36", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/multipleOf.d.ts": "a62b50d44d9c8d0e26b3b42eb90fe87ad1fad683122aa076e6f8d30fb056ad5f", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/pattern.d.ts": "bc7f68367bbd6bdf9ed47aae8590770c7ec7ad6d44c0de11df696162038224b1", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/required.d.ts": "7a14df7f7a58dd22ca4ca449f39cc0168eec566c95d9d7950e5b91da50bf4415", + "https://esm.sh/v107/ajv@8.12.0/dist/vocabularies/validation/uniqueItems.d.ts": "9a9056c3705215ba3289f7ad913e92babeca6e53091aa8095ee85e66ee2bd089", + "https://esm.sh/v107/fast-deep-equal@3.1.3/deno/fast-deep-equal.js": "70031c911ef5a052aeaafaef99a16eb771953f5e1490c596693ae8733bfeaad7", + "https://esm.sh/v107/json-schema-traverse@1.0.0/deno/json-schema-traverse.js": "a1a8b8b978ce71e2da30444d0b5081dbe420a04b051ead165090a39bb7a9f8d2", + "https://esm.sh/v107/uri-js@4.4.1/deno/uri-js.js": "53744ccc7ef6f0496b382d4c78cdb403f281ac25807a68adaff47cd7420cc808", + "https://esm.sh/v107/uri-js@4.4.1/dist/es5/uri.all.d.ts": "9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825" }, "npm": { "specifiers": { "@sentry/node@7.12.1": "@sentry/node@7.12.1", "chance@1.1.8": "chance@1.1.8", - "mathjs": "mathjs@11.5.1" + "mathjs": "mathjs@11.5.0" }, "packages": { "@babel/runtime@7.20.13": { @@ -553,8 +512,8 @@ "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", "dependencies": {} }, - "mathjs@11.5.1": { - "integrity": "sha512-9r35KHkpywim2hfYhJS3QHnKS7u61CODQcYPbJZ6Rov2jXDOAun07mM+8a7SRsJKfiMxtWWMJeiHQXTEnnHyoQ==", + "mathjs@11.5.0": { + "integrity": "sha512-vJ/+SqWtxjW6/aeDRt8xL3TlOVKqwN15BIyTGVqGbIWuiqgY4SxZ0yLuna82YH9CB757iFP7uJ4m3KvVBX7Qcg==", "dependencies": { "@babel/runtime": "@babel/runtime@7.20.13", "complex.js": "complex.js@2.1.1", diff --git a/typegate/native/Cargo.toml b/typegate/native/Cargo.toml index 7240aeed68..12a7444a25 100644 --- a/typegate/native/Cargo.toml +++ b/typegate/native/Cargo.toml @@ -11,7 +11,6 @@ crate-type = ["cdylib"] deno = [] [dependencies] -config = "0.13.3" anyhow = "1.0" deno_bindgen = "0.7.0" serde = { version = "1.0.152", features = ["derive"] } @@ -44,9 +43,6 @@ sentry = "0.29.3" tempfile = "3.3.0" convert_case = "0.6.0" rust-s3 = { git = "https://github.com/zifeo/rust-s3", branch = "order" } -http = "0.2.8" +http = "0.2.9" uuid = { version = "1.3.0", features = ["v4"] } envconfig = "0.10.0" - -[dev-dependencies] -dotenv = "0.15.0" diff --git a/typegate/native/src/lib.rs b/typegate/native/src/lib.rs index 59747ab0d8..9f6226795e 100644 --- a/typegate/native/src/lib.rs +++ b/typegate/native/src/lib.rs @@ -8,7 +8,7 @@ use envconfig::Envconfig; use lazy_static::lazy_static; use log::info; use macros::deno; -use std::{borrow::Cow, panic}; +use std::{borrow::Cow, env, fs, panic, path::PathBuf}; use tokio::runtime::Runtime; lazy_static! { @@ -33,6 +33,11 @@ lazy_static! { }, )) }; + pub static ref TMP_DIR: PathBuf = { + let dir = env::current_dir().expect("no current dir").join("tmp"); + fs::create_dir_all(&dir).expect("failed to create tmp dir"); + dir + }; } #[deno] diff --git a/typegate/native/src/runtimes/prisma/migration.rs b/typegate/native/src/runtimes/prisma/migration.rs index 3d0dced279..490418893b 100644 --- a/typegate/native/src/runtimes/prisma/migration.rs +++ b/typegate/native/src/runtimes/prisma/migration.rs @@ -13,7 +13,9 @@ use migration_core::CoreError; use std::io::Write; use std::path::Path; use std::sync::{Arc, Mutex}; -use tempfile::{tempdir, TempDir}; +use tempfile::{tempdir_in, NamedTempFile, TempDir}; + +use crate::TMP_DIR; #[allow(dead_code)] pub async fn loss( @@ -124,11 +126,7 @@ pub(super) async fn create(input: super::PrismaCreateInp) -> Result Result, CoreError> { +pub async fn diff(datasource: String, datamodel: String, script: bool) -> Result> { let schema = format!("{datasource}{datamodel}"); let buffer = Arc::new(Mutex::new(Some(String::default()))); let api = migration_core::migration_api( @@ -138,10 +136,11 @@ pub async fn diff( )))), )?; - let mut source_file = tempfile::NamedTempFile::new().unwrap(); + let dir = tempdir_in(TMP_DIR.as_path())?; + let mut source_file = NamedTempFile::new_in(&dir)?; writeln!(source_file, "{datasource}").unwrap(); - let mut model_file = tempfile::NamedTempFile::new().unwrap(); + let mut model_file = NamedTempFile::new_in(&dir)?; writeln!(model_file, "{schema}").unwrap(); let params = DiffParams { @@ -197,7 +196,7 @@ struct MigrationsFolder { impl MigrationsFolder { pub fn from(serialized: Option) -> Result { - let tempdir = tempdir()?; + let tempdir = tempdir_in(TMP_DIR.as_path())?; common::migrations::unpack(&tempdir, serialized)?; Ok(Self { dir: tempdir }) } diff --git a/typegate/tests/importers/graphql.py b/typegate/tests/importers/graphql.py deleted file mode 100644 index 4ca2a9803f..0000000000 --- a/typegate/tests/importers/graphql.py +++ /dev/null @@ -1,17 +0,0 @@ -from typegraph import TypeGraph -from typegraph import policies as p -from typegraph.importers.graphql import GraphQLImporter - -# TODO use local graphql (mock) -GraphQLImporter("hivdb", "https://hivdb.stanford.edu/graphql").imp(True) - - -def import_hivdb(): - pass - - -with TypeGraph("GraphQL") as g: - hivdb = import_hivdb() - - public = p.public() - g.expose(**{name: fn.add_policy(public) for name, fn in hivdb.all().items()}) diff --git a/typegate/tests/importers/graphql_original.py b/typegate/tests/importers/graphql_original.py new file mode 100644 index 0000000000..796662501f --- /dev/null +++ b/typegate/tests/importers/graphql_original.py @@ -0,0 +1,29 @@ +import json +from pathlib import Path + +import respx +from httpx import Response + +from typegraph import TypeGraph +from typegraph import policies as p +from typegraph.importers.graphql import GraphQLImporter + +with open(Path(__file__).parent.joinpath("../introspection.json")) as f: + spec = json.load(f) + +with respx.mock: + url = "https://hivdb.stanford.edu/graphql" + m = respx.post(url).mock(return_value=Response(200, json=spec)) + GraphQLImporter("hivdb", url).imp(True) + assert m.called + + +def import_hivdb(): + pass + + +with TypeGraph("GraphQL") as g: + hivdb = import_hivdb() + + public = p.public() + g.expose(**{name: fn.add_policy(public) for name, fn in hivdb.all().items()}) diff --git a/typegate/tests/importers/importers_test.ts b/typegate/tests/importers/importers_test.ts index a51d318fd5..7be6b79677 100644 --- a/typegate/tests/importers/importers_test.ts +++ b/typegate/tests/importers/importers_test.ts @@ -2,12 +2,38 @@ import { assertRejects } from "std/testing/asserts.ts"; import { copyFile, gql, MetaTest, Q, test } from "../utils.ts"; +import * as mf from "test/mock_fetch"; + +mf.install(); + +mf.mock("GET@/api/v3/pet/1", () => { + return new Response(JSON.stringify({ id: 1, name: "jorge", tags: [] }), { + status: 200, + headers: { + "Content-Type": "application/json", + }, + }); +}); + +mf.mock("POST@/graphql", () => { + return new Response( + JSON.stringify({ + data: { mutationPrevalenceSubtypes: [{ name: "jorge" }] }, + }), + { + status: 200, + headers: { + "Content-Type": "application/json", + }, + }, + ); +}); async function testImporter(t: MetaTest, name: string, testQuery?: Q) { const file = `importers/copy/${name}.py`; await t.should("copy source typegraph definition", async () => { - await copyFile(`importers/${name}.py`, file); + await copyFile(`importers/${name}_original.py`, file); }); await t.should("run the importer", async () => { diff --git a/typegate/tests/importers/introspection.json b/typegate/tests/importers/introspection.json new file mode 100644 index 0000000000..ae23435221 --- /dev/null +++ b/typegate/tests/importers/introspection.json @@ -0,0 +1,9223 @@ +{ + "data": { + "__schema": { + "queryType": { + "name": "Root" + }, + "mutationType": null, + "subscriptionType": null, + "types": [ + { + "kind": "OBJECT", + "name": "AAReads", + "description": null, + "fields": [ + { + "name": "aminoAcid", + "description": "A single amino acid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Char", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percent", + "description": "Percent (range: 0 - 100) of this amino acid in the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numReads", + "description": "The number of reads for this amino acid in the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ASIAlgorithm", + "description": "ASI algorithm.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIVDB_7_0", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_7_5", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_7_6", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_7_8", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_7_9", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_7_10", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_0", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_0_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_1_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_2", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_3", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_4", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_5", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_6", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_6_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_7", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_8", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_9", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_8_9p1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_9_0", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_9_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_9_2", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_9_3", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIVDB_9_4", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_26", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_27", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_27stanford2", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_28", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_29", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_30", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_31", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_32", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANRS_33", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Rega_9_1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Rega_10_0", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlgorithmComparison", + "description": null, + "fields": [ + { + "name": "drugClass", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugScores", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComparableDrugScore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlignedGeneSequence", + "description": null, + "fields": [ + { + "name": "gene", + "description": "Sequence gene and the reference sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstAA", + "description": "The first aligned position (start from 1) in protein relative to the reference sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastAA", + "description": "The last aligned position (start from 1) in protein relative to the reference sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstNA", + "description": "The first aligned position (start from 1) in DNA relative to the input sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastNA", + "description": "The last aligned position (start from 1) in DNA relative to the input sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matchPcnt", + "description": "The match percentage of input sequence aligned to the reference sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The amino acid size of this sequence without unsequenced region (Ns).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prettyPairwise", + "description": "Formatted pairwise output of the aligned sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PrettyPairwise", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedNAs", + "description": "Aligned DNA sequence without insertions and insertion gaps.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedAAs", + "description": "Aligned protein sequence without insertions and insertion gaps. Mixtures are represented as \"X\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustedAlignedNAs", + "description": "adjusted aligned DNA sequence without insertions and insertion gaps.", + "args": [ + { + "name": "targetStrain", + "description": "Sequences alignment target strain.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustedAlignedAAs", + "description": "adjusted aligned protein sequence without insertions and insertion gaps. Mixtures are represented as \"X\".", + "args": [ + { + "name": "targetStrain", + "description": "Sequences alignment target strain.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "All mutations found in the aligned sequence.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationCount", + "description": "Number of mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualMutationCount", + "description": "Number of unusual mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "insertionCount", + "description": "Number of insertions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletionCount", + "description": "Number of deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopCodonCount", + "description": "Number of positions with stop codons without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ambiguousMutationCount", + "description": "Number of ambiguous positions without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecMutationCount", + "description": "Number of APOBEC mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecDRMCount", + "description": "Number of APOBEC DRMs without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frameShifts", + "description": "All frame shifts found in this aligned gene sequence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FrameShift", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsequencedRegions", + "description": "The unsequenced regions of this aligned gene sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UnsequencedRegions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "Built-in Boolean", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoundMutationComment", + "description": "Comment bound to a certain mutation object.", + "fields": [ + { + "name": "name", + "description": "Unique name of the comment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": "Corresponding gene.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClass", + "description": "Corresponding drug class.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Mutation type of this comment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Comment text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggeredAAs", + "description": "Mutated amino acid(s) that triggered the comment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `boundMutation { displayAAs }` instead." + }, + { + "name": "boundMutation", + "description": "The mutation that bound to this comment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "highlightText", + "description": "Text should be highlighted in the comment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoundMutationPrevalence", + "description": "Prevalence data for an input mutation.", + "fields": [ + { + "name": "boundMutation", + "description": "The mutation matched these prevalence data.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matched", + "description": "Prevalence data that matched the mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalenceByAA", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "others", + "description": "Other prevalence data at the mutation position.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalenceByAA", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoundSubtype", + "description": "Subtype of certain sequence.", + "fields": [ + { + "name": "name", + "description": "Name of the subtype.", + "args": [], + "type": { + "kind": "ENUM", + "name": "Subtype", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "distancePcnt", + "description": "The distance percentage compares to the subtype of given sequence. 0.0 means completely the same.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "display", + "description": "String of shown subtype and distance percentage. The shown subtype can be in the form of unknown subtype of recombination like \"B + C\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Char", + "description": "Built-in Char as Character", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentType", + "description": "Comment type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "Major", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Accessory", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NNRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Other", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Dosage", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentsByType", + "description": null, + "fields": [ + { + "name": "mutationType", + "description": "Type of these comments.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentType", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `commentType` instead." + }, + { + "name": "commentType", + "description": "Type of these comments.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "Comments belong to this type.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundMutationComment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComparableDrugScore", + "description": null, + "fields": [ + { + "name": "drug", + "description": "Drug of this score.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Drug", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "algorithm", + "description": "The name of algorithm which calculated this score.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIR", + "description": "One of the three step resistance levels of the drug.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SIR", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interpretation", + "description": "Readable resistance level defined by the algorithm for the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "explanation", + "description": "Text explanation on how this level get calculated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomASIAlgorithm", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Algorithm name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "xml", + "description": "ASI XML data.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CutoffKeyPoint", + "description": "Related `mixtureRate` and `minPrevalence`.", + "fields": [ + { + "name": "mixtureRate", + "description": "Mixture rate of all included NAs", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minPrevalence", + "description": "Minimal prevalence of all included codons", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isAboveMixtureRateThreshold", + "description": "Is current `mixtureRate` above the input threshold `maxMixtureRate`?", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isBelowMinPrevalenceThreshold", + "description": "Is current `minPrevalence` below the input argument `minPrevalence`?", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DescriptiveStatistics", + "description": "Descriptive statistics for a list of values.", + "fields": [ + { + "name": "mean", + "description": "The arithmetic mean of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardDeviation", + "description": "The standard deviation of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "min", + "description": "The minimum of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "max", + "description": "The maximum of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "n", + "description": "The number of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sum", + "description": "The sum of the available values.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The set of available values.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentile", + "description": "An estimate for the pth percentile of the stored values.", + "args": [ + { + "name": "p", + "description": "The requested percentile (scaled from 0 - 100)", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Drug", + "description": "Antiviral drug.", + "fields": [ + { + "name": "name", + "description": "Name of the drug.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DrugEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayAbbr", + "description": "Display abbreviation of the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClass", + "description": "Drug class the drug belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugClass", + "description": "Antiviral drug class.", + "fields": [ + { + "name": "name", + "description": "Name of the drug class.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the drug class.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugs", + "description": "Drugs of this drug class.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Drug", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": "Gene the drug class belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugResistMutations", + "description": "All drug resistance mutations (DRMs) of this drug class.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "surveilDrugResistMutations", + "description": "All surveillance drug resistance mutations (SDRMs) of this drug class.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rxSelectedMutations", + "description": "All treatment selected mutations (TSMs) of this drug class.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationTypes", + "description": "Supported mutation types of current gene.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasDrugResistMutations", + "description": "Indicate if any mutation is classified as Drug Resistance Mutation (DRM) for this drug class.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasSurveilDrugResistMutations", + "description": "Indicate if any mutation is classified as Surveillance Drug Resistance Mutation (SDRM) for this drug class.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasRxSelectedMutations", + "description": "Indicate if any mutation is classified as Treatment Selected Mutation (TSM) for this drug class.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DrugClassEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CAI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NNRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DrugEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ABC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ATV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AZT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BIC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAB", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "D4T", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DDI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOR", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DTG", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EFV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ETR", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVG", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FPV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FTC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IDV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LMV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LPV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NFV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NVP", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RPV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SQV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TDF", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TPV", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugPartialScore", + "description": "Partial score by mutation.", + "fields": [ + { + "name": "mutations", + "description": "Score triggering mutations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "score", + "description": "Score number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugResistance", + "description": null, + "fields": [ + { + "name": "version", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugResistanceAlgorithm", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `algorithm` instead." + }, + { + "name": "algorithm", + "description": "Get used drug resistance algorithm.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugResistanceAlgorithm", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": "Gene of the drug resistance report.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugScores", + "description": "List of drug levels and scores.", + "args": [ + { + "name": "drugClass", + "description": "Specify drug class. Leave this argument empty will return all drugs.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugScore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationsByTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationsByType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentsByTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentsByType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugResistanceAlgorithm", + "description": "A drug resistance algorithm.", + "fields": [ + { + "name": "text", + "description": "get key name of this algorithm.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "display", + "description": "algorithm family and version for display.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "family", + "description": "algorithm family.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "algorithm version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strain", + "description": "algorithm target strain.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Strain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "Publish date of this version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugScore", + "description": null, + "fields": [ + { + "name": "drugClass", + "description": "The drug class.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drug", + "description": "The drug.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Drug", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIR", + "description": "One of the three step resistance levels of the drug.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SIR", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "score", + "description": "Resistance score of the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "Resistance level (1 - 5) of the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Readable resistance level of the drug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "partialScores", + "description": "List of partial scores that contributed to this total score.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugPartialScore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EnumGene", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "gag", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pol", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PR", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vif", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vpr", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tat", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rev", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vpu", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "env", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nef", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EnumSequenceReadsHistogramAggregatesOption", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "Codon", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AminoAcid", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Position", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "Built-in Float", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FrameShift", + "description": "Frame shift (NAs length \u003c 3) found in aligned sequence.", + "fields": [ + { + "name": "gene", + "description": "Gene the frame shift belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the frame shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isInsertion", + "description": "The frame shift is an insertion or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeletion", + "description": "The frame shift is a deletion or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "DNA size of the frame shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAs", + "description": "Nucleic acid(s) of the frame shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Formatted readable text of this frame shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Gene", + "description": "Virus genes", + "fields": [ + { + "name": "nameWithStrain", + "description": "Name of the gene (with strain name).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the gene (without strain name).", + "args": [], + "type": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strain", + "description": "Virus strain referred by this gene.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Strain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refSequence", + "description": "Reference sequence of this gene.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `refSequence` instead." + }, + { + "name": "consensus", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `refSequence` instead." + }, + { + "name": "length", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `AASize` instead." + }, + { + "name": "AASize", + "description": "AA length of current gene.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NASize", + "description": "NA length of current gene.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClasses", + "description": "Supported drug classes of current gene.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationTypes", + "description": "Supported mutation types of current gene.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneMutations", + "description": null, + "fields": [ + { + "name": "gene", + "description": "Gene of the mutation set.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "All mutations of this gene.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "includeGenes", + "description": "Specify a gene/genes for filtering the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneSequenceReads", + "description": null, + "fields": [ + { + "name": "gene", + "description": "Sequence gene and the reference sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstAA", + "description": "The first sequenced position (start from 1) in protein relative to the reference sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastAA", + "description": "The last sequenced position (start from 1) in protein relative to the reference sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allPositionCodonReads", + "description": "Position codon reads in this gene sequence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PositionCodonReads", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalJsonAllPositionCodonReads", + "description": "Position codon reads in this gene sequence (json formated).", + "args": [ + { + "name": "mutationOnly", + "description": "Exclude codons matched subtype B consensus.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "maxProportion", + "description": "Exclude codons with proportions higher than specified value (0 - 1).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "minProportion", + "description": "Exclude codons with proportions lower than specified value (0 - 1).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The amino acid size of this sequence including unsequenced region.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numPositions", + "description": "The sequenced positions of this sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDepthStats", + "description": "Descriptive statistics of all read depth.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DescriptiveStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedNAs", + "description": "Aligned DNA sequence without insertions and insertion gaps.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedAAs", + "description": "Aligned protein sequence without insertions and insertion gaps. Mixtures are represented as \"X\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "All mutations found in the aligned sequence.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationCount", + "description": "Number of mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualMutationCount", + "description": "Number of unusual mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "histogram", + "description": "Histogram data for sequence reads.", + "args": [ + { + "name": "pcntLowerLimit", + "description": "Percent lower limit of filtering codon reads (range: 0-100).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "0.001" + }, + { + "name": "pcntUpperLimit", + "description": "Percent lower limit of filtering codon reads (range: 0-100).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "0.2" + }, + { + "name": "numBins", + "description": "Number of bins wanted in this histogram. (either `numBins` or `binTicks` must be provided)", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "binTicks", + "description": "Bin ticks wanted in this histogram. (either `numBins` or `binTicks` must be provided)", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": "[0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2]" + }, + { + "name": "cumulative", + "description": "Generate cumulative histogram data instead.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "aggregatesBy", + "description": "Aggregation option.", + "type": { + "kind": "ENUM", + "name": "EnumSequenceReadsHistogramAggregatesOption", + "ofType": null + }, + "defaultValue": "Position" + } + ], + "type": { + "kind": "OBJECT", + "name": "SequenceReadsHistogram", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsequencedRegions", + "description": "The unsequenced regions of this aligned gene sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UnsequencedRegions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "description": null, + "fields": [ + { + "name": "display", + "description": "The display subtype(s) with the distance percent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayWithoutDistance", + "description": "The display subtype(s) without the distance percent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtype", + "description": "The original subtype found by comparison. The value of this field is UNPROCESSED. You probably want to use field `display` for the final result.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HIVSubtype", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genotype", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "HIVSubtype", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `subtype` instead." + }, + { + "name": "displaySubtypes", + "description": "There are several rules applied for subtype displaying. This field lists subtypes that were used in constructing the final result in `display` and `displayWithoutDistance`.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HIVSubtype", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayGenotypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HIVSubtype", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use field `displaySubtypes` instead." + }, + { + "name": "firstNA", + "description": "The first compared/matched NA position in HXB2.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastNA", + "description": "The last compared/matched NA position in HXB2.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "distance", + "description": "The distance between bound sequence and coressponding reference. Noted that 0 \u003c\u003d distance \u003c\u003d 1.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "distancePcnt", + "description": "The distance between bound sequence and coressponding reference. Noted that 0% \u003c\u003d distancePcnt \u003c\u003d 100%.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceAccession", + "description": "Accession number of the reference being compared.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceCountry", + "description": "Country where this reference sequence was collected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceYear", + "description": "Year this reference sequence was collected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discordanceList", + "description": "A full list of HXB2 positions that present with discordance.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HIVClassificationLevel", + "description": "Classification level of genotypes: species, group or subtype.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SPECIES", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBTYPE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRF", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSUBTYPE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HIVSubtype", + "description": null, + "fields": [ + { + "name": "indexName", + "description": "Short name of current species, group, or subtype. Also used for indexing internally.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "Full name of current species, group, or subtype.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "classificationLevel", + "description": "Classification level of the subtype.", + "args": [], + "type": { + "kind": "ENUM", + "name": "HIVClassificationLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "Built-in Int", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Long", + "description": "Long type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": null, + "fields": [ + { + "name": "gene", + "description": "Mutation gene.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Amino acid reference at this gene sequence position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "consensus", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `reference` instead." + }, + { + "name": "position", + "description": "Position of the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayAAs", + "description": "The mutated AA(s) with possibly inserted AA(s).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AAs", + "description": "The mutated AA(s) with possibly inserted AA(s). Highly ambiguous mixture is not replaced to X.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualAAs", + "description": "The unusual AA(s).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayAAChars", + "description": "A list of AAs.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AAChars", + "description": "A list of AAs. Highly ambiguous mixture is not replaced to X.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triplet", + "description": "The mutated codon when the mutation is extracting from an aligned sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "insertedNAs", + "description": "The inserted codon(s) when the mutation is extracting from an aligned sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isInsertion", + "description": "The mutation is an insertion or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeletion", + "description": "The mutation is a deletion or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isIndel", + "description": "The mutation is an insertion/deletion, or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isAmbiguous", + "description": "The mutation is a highly ambiguous mutation or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isApobecMutation", + "description": "The mutation is a signature APOBEC-mediated G-to-A hypermutation or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isApobecDRM", + "description": "The mutation is a drug resistance mutation (DRM) might be caused by APOBEC-mediated G-to-A hypermutation or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isUnsequenced", + "description": "If the mutation is from unsequenced region.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDRM", + "description": "If the mutation is a drug resistance mutation (DRM) or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRMDrugClass", + "description": "If the mutation is a drug resistance mutation (DRM), which drug class it belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasStop", + "description": "The mutation contains stop codon or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isUnusual", + "description": "The mutation is a low prevalence (unusual) mutation or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isSDRM", + "description": "The mutation is a Surveillance Drug Resistance Mutation (SDRM) or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SDRMDrugClass", + "description": "If the mutation is an SDRM, which drug class it belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TSMDrugClass", + "description": "If the mutation is a TSM, which drug class it belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "Ordered list of mutation type(s). List size can be larger than 1 when the mutation is a mixture.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryType", + "description": "Primary type of the mutation.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "Mutation comments.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundMutationComment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Formatted text of the mutation (without gene).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortText", + "description": "Formatted short text of the mutation (without gene).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalReads", + "description": "Total reads at this position (only available for SequenceReadsAnalysis)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allAAReads", + "description": "A list of read count / prevalence for each amino acid of this mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AAReads", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationPrevalence", + "description": "Prevalence data for a single mutation.", + "fields": [ + { + "name": "AA", + "description": "The amino acid at this position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtype", + "description": "Subtype this prevalence belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtype", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalNaive", + "description": "Total number of naive samples which contain the mutation position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frequencyNaive", + "description": "Total number of naive samples which contain the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentageNaive", + "description": "Proportion of certain mutation occured in the naive samples which contain that position. Equals to 100 * frequencyNaive / totalNaive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTreated", + "description": "Total number of treated samples which contain the mutation position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frequencyTreated", + "description": "Total number of treated samples which contain the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentageTreated", + "description": "Proportion of certain mutation occured in the treated samples which contain that position. Equals to 100 * frequencyTreated / totalTreated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationPrevalenceByAA", + "description": "Prevalence data for a single AA (or ins/deletion).", + "fields": [ + { + "name": "AA", + "description": "The amino acid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtypes", + "description": "Prevalence data of each subtype.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtype", + "description": "Main subtype that mutation prevalence supported.", + "fields": [ + { + "name": "name", + "description": "Subtype name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stats", + "description": "Sbutype statistics by genes.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtypeStat", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtypeStat", + "description": "Statistics data for the subtype.", + "fields": [ + { + "name": "gene", + "description": "Gene the statistic belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalNaive", + "description": "Total number of naive samples.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTreated", + "description": "Total number of treated samples.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "description": "Filter option for mutation set.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APOBEC", + "description": "List only mutations which are APOBEC-mediated G-to-A hypermutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APOBEC_DRM", + "description": "List only drug resistance mutations which are APOBEC-mediated G-to-A hypermutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRM", + "description": "List only mutations which are drug resistance mutation (DRM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRP", + "description": "List all mutations at DRM positions (no need to be DRMs).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notDRM", + "description": "List only mutations which are not drug resistance mutation (DRM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEQUENCED_ONLY", + "description": "Remove all unsequenced positions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PI_DRM", + "description": "List only mutations which are PI DRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dPI` and `filterOptions\u003dDRM` instead." + }, + { + "name": "NRTI_DRM", + "description": "List only mutations which are NRTI DRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNRTI` and `filterOptions\u003dDRM` instead." + }, + { + "name": "NNRTI_DRM", + "description": "List only mutations which are NNRTI DRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNNRTI` and `filterOptions\u003dDRM` instead." + }, + { + "name": "INSTI_DRM", + "description": "List only mutations which are INSTI DRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dINSTI` and `filterOptions\u003dDRM` instead." + }, + { + "name": "SDRM", + "description": "List only mutations which are surveillance drug resistance mutations (SDRM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notSDRM", + "description": "List only mutations which are not sruveillance drug resistance mutation (SDRM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PI_SDRM", + "description": "List only mutations which are PI SDRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dPI` and `filterOptions\u003dSDRM` instead." + }, + { + "name": "NRTI_SDRM", + "description": "List only mutations which are NRTI SDRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNRTI` and `filterOptions\u003dSDRM` instead." + }, + { + "name": "NNRTI_SDRM", + "description": "List only mutations which are NNRTI SDRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNNRTI` and `filterOptions\u003dSDRM` instead." + }, + { + "name": "INSTI_SDRM", + "description": "List only mutations which are INSTI SDRM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dINSTI` and `filterOptions\u003dSDRM` instead." + }, + { + "name": "TSM", + "description": "List only mutations which are treatment-selected mutations (TSM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notTSM", + "description": "List only mutations which are not treatment-selected mutations (TSM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PI_TSM", + "description": "List only mutations which are PI TSM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dPI` and `filterOptions\u003dTSM` instead." + }, + { + "name": "NRTI_TSM", + "description": "List only mutations which are NRTI TSM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNRTI` and `filterOptions\u003dTSM` instead." + }, + { + "name": "NNRTI_TSM", + "description": "List only mutations which are NNRTI TSM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dNNRTI` and `filterOptions\u003dTSM` instead." + }, + { + "name": "INSTI_TSM", + "description": "List only mutations which are INSTI TSM.", + "isDeprecated": true, + "deprecationReason": "Use combination of `drugClass\u003dINSTI` and `filterOptions\u003dTSM` instead." + }, + { + "name": "GENE_PR", + "description": "Use `includeGenes\u003dPR instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENE_RT", + "description": "Use `includeGenes\u003dRT instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENE_IN", + "description": "Use `includeGenes\u003dIN instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_MAJOR", + "description": "Use `mutationType\u003dMajor` instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_ACCESSORY", + "description": "Use `mutationType\u003dAccessory` instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_NRTI", + "description": "Use `mutationType\u003dNRTI` instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_NNRTI", + "description": "Use `mutationType\u003dNNRTI` instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_OTHER", + "description": "Use `mutationType\u003dOther` instead.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSERTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNUSUAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMBIGUOUS", + "description": "List all highly-ambiguous (HBDVN) mutations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STOPCODON", + "description": "List only mutations with stop codon(s).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMLIST", + "description": "Accept a custom list of mutations and find the intersects.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MutationType", + "description": "Mutation type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NNRTI", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Major", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Accessory", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Other", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationsAnalysis", + "description": null, + "fields": [ + { + "name": "name", + "description": "Optional name provided by client to identify this mutation list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationResults", + "description": "Validation results for the mutation list.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allGeneMutations", + "description": "Mutations groupped by gene.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneMutations", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationPrevalences", + "description": "List of mutation prevalence results.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundMutationPrevalence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugResistance", + "description": "List of drug resistance results by genes.", + "args": [ + { + "name": "algorithm", + "description": "One of the built-in ASI algorithms.", + "type": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + }, + "defaultValue": "HIVDB_9_4" + }, + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugResistance", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "algorithmComparison", + "description": "List of ASI comparison results.", + "args": [ + { + "name": "algorithms", + "description": "One or more of the built-in ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "customAlgorithms", + "description": "One or more of custom ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlgorithmComparison", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationsByType", + "description": null, + "fields": [ + { + "name": "drugClass", + "description": "Drug class of these mutations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugClass", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "Type of these mutations.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "Mutations belong to this type.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OneCodonReads", + "description": "A single codon reads.", + "fields": [ + { + "name": "codon", + "description": "The triplet codon. Insertion should be append to the triplet NAs directly. Deletion should use \u0027-\u0027.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reads", + "description": "Number of reads for this codon.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refAminoAcid", + "description": "The corresponding reference amino acid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aminoAcid", + "description": "The corresponding amino acid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "proportion", + "description": "Codon proportion of current position (0.0 - 1.0)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codonPercent", + "description": "Codon prevalence in HIVDB database (0.0 - 1.0)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aaPercent", + "description": "Amino acid prevalence in HIVDB database (0.0 - 1.0)", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isReference", + "description": "The amino acid is the same as the reference (consensus) amino acid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDRM", + "description": "The amino acid is a known drug resistance mutation (DRM).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isUnusual", + "description": "The amino acid is an unusual mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isApobecMutation", + "description": "The amino acid is a signature APOBEC-mediated hypermutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isApobecDRM", + "description": "The amino acid is a drug resistance mutation (DRM) might be caused by APOBEC-mediated G-to-A hypermutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OneCodonReadsCoverage", + "description": null, + "fields": [ + { + "name": "gene", + "description": "Gene of this record.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Codon position in this gene.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalReads", + "description": "Total reads of this position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isTrimmed", + "description": "This position is trimmed or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OneCodonReadsInput", + "description": "A single codon reads.", + "fields": null, + "inputFields": [ + { + "name": "codon", + "description": "The triplet codon. Insertion should be append to the triplet NAs directly. Deletion should use \u0027-\u0027.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reads", + "description": "Number of reads for this codon.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PositionCodonReads", + "description": "Codon reads at a single position.", + "fields": [ + { + "name": "gene", + "description": "Gene of this position.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Codon/amino acid position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalReads", + "description": "Total reads at this position. The field will be automatically calculated from `allCodonReads` if it\u0027s absent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codonReads", + "description": "All codon reads at this position.", + "args": [ + { + "name": "mutationOnly", + "description": "Exclude codons matched subtype B consensus.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "maxProportion", + "description": "Exclude codons with proportions higher than specified value (0 - 1).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "minProportion", + "description": "Exclude codons with proportions lower than specified value (0 - 1).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OneCodonReads", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PositionCodonReadsInput", + "description": "Codon reads at a single position.", + "fields": null, + "inputFields": [ + { + "name": "gene", + "description": "Gene of this position.", + "type": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Codon/amino acid position.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "totalReads", + "description": "Total reads at this position. The field will be automatically calculated from `allCodonReads` if it\u0027s absent.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": "-1" + }, + { + "name": "allCodonReads", + "description": "All codon reads at this position.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OneCodonReadsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PrettyPairwise", + "description": "Formatted pairwise result of the aligned sequence.", + "fields": [ + { + "name": "positionLine", + "description": "Formmated numeric position line.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refAALine", + "description": "Formmated reference protein sequence line.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedNAsLine", + "description": "Formmated aligned DNA sequence line.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationLine", + "description": "Formmated amino acid mutation line.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Root", + "description": null, + "fields": [ + { + "name": "currentVersion", + "description": "Current HIVDB algorithm version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugResistanceAlgorithm", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentProgramVersion", + "description": "Current Sierra program version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SierraVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequenceAnalysis", + "description": "Analyze sequences and output results.", + "args": [ + { + "name": "sequences", + "description": "Sequences to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UnalignedSequenceInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequenceReadsAnalysis", + "description": "Analyze sequence reads and output results.", + "args": [ + { + "name": "sequenceReads", + "description": "Sequence reads to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SequenceReadsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationsAnalysis", + "description": "Analyze a list of mutations belong to a single sequence and output result.", + "args": [ + { + "name": "mutations", + "description": "Mutations to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MutationsAnalysis", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "patternAnalysis", + "description": "Analyze mutation patterns (multiple lists of mutations) and output result.\nThe output list will be in the same order as the input list.", + "args": [ + { + "name": "patterns", + "description": "Lists of mutations to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "patternNames", + "description": "Optional name for each mutation set. Length must be same to patterns.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationsAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genes", + "description": "List all supported genes.", + "args": [ + { + "name": "names", + "description": "Genes to be requested.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationPrevalenceSubtypes", + "description": "List all supported virus subtypes by mutation prevalence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtype", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewer", + "description": "Same as Root. Keep for compatible reason.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Viewer", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `Root` directly." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SIR", + "description": "Three steps of resistance level.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "S", + "description": "Susceptible level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "I", + "description": "Intermediate level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "R", + "description": "Resistance level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "U", + "description": "Unknown level.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceAnalysis", + "description": null, + "fields": [ + { + "name": "inputSequence", + "description": "The original unaligned sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UnalignedSequenceOutput", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strain", + "description": "Virus strain of this sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Strain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isReverseComplement", + "description": "True if the alignment result was based on the reverse complement of input sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableGenes", + "description": "Available genes found in the sequence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationResults", + "description": "Validation results for this sequence.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alignedGeneSequences", + "description": "List of aligned sequence distinguished by genes.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlignedGeneSequence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtypesV2", + "description": "List of virus groups or subtypes, or species. Sorted by the similarity from most to least.", + "args": [ + { + "name": "first", + "description": "Fetch only the first nth closest subtypes. Default to 2.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "2" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bestMatchingSubtype", + "description": "The best matching subtype.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genotypes", + "description": "List of virus groups or subtypes, or species. Sorted by the similarity from most to least.", + "args": [ + { + "name": "first", + "description": "Fetch only the first nth closest genotypes. Default to 2.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "2" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use field `subtypesV2` instead." + }, + { + "name": "bestMatchingGenotype", + "description": "The best matching genotype.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `bestMatchingSubtype` instead." + }, + { + "name": "mixturePcnt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `mixtureRate` * 100 instead." + }, + { + "name": "mixtureRate", + "description": "Mixture rate of the sequence. Notes only RYMWKS are counted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "All mutations found in the aligned sequence.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "includeGenes", + "description": "Specify a gene/genes for filtering the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationCount", + "description": "Number of mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualMutationCount", + "description": "Number of unusual mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "insertionCount", + "description": "Number of insertions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletionCount", + "description": "Number of deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopCodonCount", + "description": "Number of positions with stop codons without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ambiguousMutationCount", + "description": "Number of ambiguous positions without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecMutationCount", + "description": "Number of APOBEC mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecDRMCount", + "description": "Number of APOBEC DRMs without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frameShiftCount", + "description": "Number of frame shifts", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frameShifts", + "description": "List of all frame shifts", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FrameShift", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationPrevalences", + "description": "List of mutation prevalence results.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundMutationPrevalence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtypes", + "description": "List of virus groups or subtypes, or species. Sorted by the similarity from most to least.", + "args": [ + { + "name": "first", + "description": "Fetch only the first nth closest subtypes. Default to 2.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "2" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundSubtype", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use field `subtypesV2` instead." + }, + { + "name": "subtypeText", + "description": "Formatted text for best matching subtype.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use field `bestMatchingSubtype { display }` instead." + }, + { + "name": "drugResistance", + "description": "List of drug resistance results by genes.", + "args": [ + { + "name": "algorithm", + "description": "One of the built-in ASI algorithms.", + "type": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + }, + "defaultValue": "HIVDB_9_4" + }, + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugResistance", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "algorithmComparison", + "description": "List of ASI comparison results.", + "args": [ + { + "name": "algorithms", + "description": "One or more of the built-in ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "customAlgorithms", + "description": "One or more of custom ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlgorithmComparison", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceReadsAnalysis", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of this sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strain", + "description": "Strain of this sequence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Strain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoffSuggestionLooserLimit", + "description": "Algorithm suggested minimal prevalence cutoff. This cutoff is looser and may include more problematic mutations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoffSuggestionStricterLimit", + "description": "Algorithm suggested minimal prevalence cutoff. This cutoff is stricter and include less problematic mutations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationResults", + "description": "Validation results for the sequence reads.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actualMinPrevalence", + "description": "The actual minimal prevalence cutoff applied on this sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minPrevalence", + "description": "The input minimal prevalence cutoff applied on this sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minCodonReads", + "description": "The minimal codon count cutoff applied on this sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minPositionReads", + "description": "The minimal read depth for each position of the sequence reads.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableGenes", + "description": "Available genes found in the sequence reads.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allGeneSequenceReads", + "description": "List of sequence reads distinguished by genes.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneSequenceReads", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtypes", + "description": "List of HIV1 groups or subtypes, or HIV species. Sorted by the similarity from most to least.", + "args": [ + { + "name": "first", + "description": "Fetch only the first nth closest subtypes. Default to 2.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "2" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bestMatchingSubtype", + "description": "The best matching subtype.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "HIVBoundSubtype", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxMixtureRate", + "description": "Maximum allowed mixture percentage specified by input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mixtureRate", + "description": "Post-filter nucleotide mixture percentage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutations", + "description": "All mutations found in the sequence reads.", + "args": [ + { + "name": "filterOptions", + "description": "List of filter options for the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationSetFilterOption", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "includeGenes", + "description": "Specify a gene/genes for filtering the mutation set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + }, + { + "name": "drugClass", + "description": "Specify a drug class for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "DrugClassEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mutationType", + "description": "Specify a mutation type for filtering the mutation set.", + "type": { + "kind": "ENUM", + "name": "MutationType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customList", + "description": "List of possible mutation strings that should be included in this query if presented. Gene need to be prepend if the gene is not able to be inferred from the context.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Mutation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationCount", + "description": "Number of mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualMutationCount", + "description": "Number of unusual mutations without counting unsequenced regions and multiple continuous deletions", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "histogram", + "description": "Histogram data for sequence reads.", + "args": [ + { + "name": "pcntLowerLimit", + "description": "Percent lower limit of filtering codon reads (range: 0-100).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "0.001" + }, + { + "name": "pcntUpperLimit", + "description": "Percent lower limit of filtering codon reads (range: 0-100).", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "0.2" + }, + { + "name": "numBins", + "description": "Number of bins wanted in this histogram. (either `numBins` or `binTicks` must be provided)", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "binTicks", + "description": "Bin ticks wanted in this histogram. (either `numBins` or `binTicks` must be provided)", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": "[0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2]" + }, + { + "name": "cumulative", + "description": "Generate cumulative histogram data instead.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "aggregatesBy", + "description": "Aggregation option.", + "type": { + "kind": "ENUM", + "name": "EnumSequenceReadsHistogramAggregatesOption", + "ofType": null + }, + "defaultValue": "Position" + } + ], + "type": { + "kind": "OBJECT", + "name": "SequenceReadsHistogram", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "histogramByCodonReads", + "description": "Histogram data for sequence reads.", + "args": [ + { + "name": "codonReadsCutoffs", + "description": "Codon count cutoffs wanted in this histogram.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + } + }, + "defaultValue": "[16, 32, 64, 128, 256, 512, 1024, 2048]" + }, + { + "name": "aggregatesBy", + "description": "Aggregation option.", + "type": { + "kind": "ENUM", + "name": "EnumSequenceReadsHistogramAggregatesOption", + "ofType": null + }, + "defaultValue": "Position" + } + ], + "type": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReads", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDepthStats", + "description": "Descriptive statistics of read depth for all positions.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DescriptiveStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDepthStatsDRP", + "description": "Descriptive statistics of read depth for drug resistance positions.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DescriptiveStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codonReadsCoverage", + "description": "Codon reads coverage.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OneCodonReadsCoverage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalJsonCodonReadsCoverage", + "description": "Position codon reads in this gene sequence (json formated).", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoffKeyPoints", + "description": "Cutoff key points showing the interaction between and the effection of different configuration of the cutoff arguments `maxMixtureRate` and `minPrevalence`.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CutoffKeyPoint", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assembledConsensus", + "description": "Unaligned sequence consensus assembled from codon reads and untranslated regions. Ambiguous nucleotides are included.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assembledUnambiguousConsensus", + "description": "Unaligned sequence consensus assembled from codon reads and untranslated regions. Only unambiguous nucleotides are included.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationPrevalences", + "description": "List of mutation prevalence results.", + "args": [ + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoundMutationPrevalence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugResistance", + "description": "List of drug resistance results by genes.", + "args": [ + { + "name": "algorithm", + "description": "One of the built-in ASI algorithms.", + "type": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + }, + "defaultValue": "HIVDB_9_4" + }, + { + "name": "includeGenes", + "description": "Genes to be included in the results", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": "[PR, RT, IN]" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugResistance", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "algorithmComparison", + "description": "List of ASI comparison results.", + "args": [ + { + "name": "algorithms", + "description": "One or more of the built-in ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "customAlgorithms", + "description": "One or more of custom ASI algorithms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomASIAlgorithm", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlgorithmComparison", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceReadsHistogram", + "description": "Histogram data for sequence reads.", + "fields": [ + { + "name": "usualSites", + "description": "Usual sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usualSitesBy", + "description": "Usual sites histogram data. This attribute allows to specify the group of treatment and subtype.", + "args": [ + { + "name": "treatment", + "description": "Specify treatment group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"all\"" + }, + { + "name": "subtype", + "description": "Specify subtype group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"all\"" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drmSites", + "description": "Sites with drug resistance mutations histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualSites", + "description": "Unusual sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualApobecSites", + "description": "Unusual \u0026 APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualNonApobecSites", + "description": "Unusual \u0026 Non-APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecSites", + "description": "APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecDrmSites", + "description": "APOBEC DRM sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopCodonSites", + "description": "Stop codon sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numPositions", + "description": "Total number of positions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceReadsHistogramBin", + "description": "A single bin data of the histogram.", + "fields": [ + { + "name": "percentStart", + "description": "Percent start (X axis) of this bin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentStop", + "description": "Percent stop (X axis) of this bin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Total count (Y axis) of this bin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReads", + "description": "Histogram data for sequence reads.", + "fields": [ + { + "name": "usualSites", + "description": "Usual sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drmSites", + "description": "Sites with drug resistance mutations histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualSites", + "description": "Unusual sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualApobecSites", + "description": "Unusual \u0026 APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unusualNonApobecSites", + "description": "Unusual \u0026 Non-APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecSites", + "description": "APOBEC sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apobecDrmSites", + "description": "APOBEC DRM sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopCodonSites", + "description": "Stop codon sites histogram data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numPositions", + "description": "Total number of positions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SequenceReadsHistogramByCodonReadsBin", + "description": "A single bin data of the histogram.", + "fields": [ + { + "name": "cutoff", + "description": "Codon count cutoff (minimal) of this bin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Total count (Y axis) of this bin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SequenceReadsInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "An identifiable name for identifying the result from the returning list.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "strain", + "description": "Strain of this sequence.", + "type": { + "kind": "ENUM", + "name": "StrainEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "allReads", + "description": "List of all reads belong to this sequence.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PositionCodonReadsInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "untranslatedRegions", + "description": "Optional consensus information of untranslated regions to be added in assembled consensus sequence.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UntranslatedRegionInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "maxMixtureRate", + "description": "The maximum allowed mixture percentage cutoff. Default to one if this field was left empty or had a negative number specified. Valid value ranges from 0 to 1.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "1.0" + }, + { + "name": "minPrevalence", + "description": "The minimal prevalence cutoff to apply on each **codon**. Default to zero if this field was left empty or had a negative number specified. Valid value ranges from 0 to 1.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": "0.0" + }, + { + "name": "minCodonReads", + "description": "The minimal read depth for **codons**. Default to one if this field was left empty or had a negative number specified.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": "1" + }, + { + "name": "minPositionReads", + "description": "The minimal read depth for **positions**. Default to one if this field was left empty or had a negative number specified.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": "1" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SierraVersion", + "description": "Version of Sierra.", + "fields": [ + { + "name": "text", + "description": "Version text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "Publish date of this version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Strain", + "description": "Virus strain.", + "fields": [ + { + "name": "name", + "description": "Short name of this strain.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "display", + "description": "Full name of this strain.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StrainEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIV1", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "Built-in String", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "Subtype", + "description": "SubtypeName", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "A", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A2", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "B", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "C", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "D", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "F", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "F2", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "G", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "H", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "J", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "K", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "N", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "O", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "P", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "U", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X01", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X02", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X03", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X04", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X05", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X06", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X07", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X08", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X09", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X10", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X11", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X12", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X13", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X14", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X15", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X16", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X17", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X18", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X19", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X20", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X21", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X22", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X23", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X24", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X25", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X26", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X27", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X28", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X29", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X30", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X31", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X32", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X33", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X34", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X35", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X36", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X37", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X38", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X39", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X40", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X41", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X42", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X43", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X44", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X45", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X46", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X47", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X48", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X49", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X50", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X51", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X52", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X53", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X54", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X55", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X56", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X57", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X58", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X59", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X60", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X61", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X62", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X63", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X64", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X65", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X67", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X68", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X69", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X70", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X71", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X72", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X73", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X74", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X77", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X78", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X82", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X83", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X85", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X86", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "X87", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnalignedSequenceInput", + "description": "Unaligned sequence Input Type.", + "fields": null, + "inputFields": [ + { + "name": "header", + "description": "Name of the sequence.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sequence", + "description": "The sequence itself as a string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnalignedSequenceOutput", + "description": "Unaligned sequence.", + "fields": [ + { + "name": "header", + "description": "Name of the sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequence", + "description": "The sequence itself as a string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MD5", + "description": "Hex MD5 value of the sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHA512", + "description": "Hex SHA512 value of the sequence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnsequencedRegion", + "description": "An unsequenced region", + "fields": [ + { + "name": "posStart", + "description": "Where the unsequenced region started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "posEnd", + "description": "Where the unsequenced region ended", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Amino acid size of the unsequenced region", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnsequencedRegions", + "description": "A set of unsequenced regions", + "fields": [ + { + "name": "gene", + "description": "The object contains regions for this gene.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "regions", + "description": "The individual unsequenced regions.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UnsequencedRegion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Total size of all unsequenced regions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UntranslatedRegionInput", + "description": "Optional untranslated region data.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of untranslated region.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refStart", + "description": "Absolute position (1-based) where this untranslated region started.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refEnd", + "description": "Absolute position (1-based) where this untranslated region ended.", + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "consensus", + "description": "NA Consensus of this untranslated region.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ValidationLevel", + "description": "Level for validation result.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OK", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOTE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERE_WARNING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationResult", + "description": "Validation result for sequence or mutation list.", + "fields": [ + { + "name": "level", + "description": "The level of this validation result.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ValidationLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Description of this validation result.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Viewer", + "description": null, + "fields": [ + { + "name": "currentVersion", + "description": "Current HIVDB algorithm version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DrugResistanceAlgorithm", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentProgramVersion", + "description": "Current Sierra program version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SierraVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequenceAnalysis", + "description": "Analyze sequences and output results.", + "args": [ + { + "name": "sequences", + "description": "Sequences to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UnalignedSequenceInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequenceReadsAnalysis", + "description": "Analyze sequence reads and output results.", + "args": [ + { + "name": "sequenceReads", + "description": "Sequence reads to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SequenceReadsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SequenceReadsAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationsAnalysis", + "description": "Analyze a list of mutations belong to a single sequence and output result.", + "args": [ + { + "name": "mutations", + "description": "Mutations to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MutationsAnalysis", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "patternAnalysis", + "description": "Analyze mutation patterns (multiple lists of mutations) and output result.\nThe output list will be in the same order as the input list.", + "args": [ + { + "name": "patterns", + "description": "Lists of mutations to be analyzed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "patternNames", + "description": "Optional name for each mutation set. Length must be same to patterns.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationsAnalysis", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genes", + "description": "List all supported genes.", + "args": [ + { + "name": "names", + "description": "Genes to be requested.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EnumGene", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationPrevalenceSubtypes", + "description": "List all supported virus subtypes by mutation prevalence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationPrevalenceSubtype", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onOperation", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onFragment", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onField", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "An enum describing valid locations where a directive can be placed", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Indicates the directive is valid on queries.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Indicates the directive is valid on mutations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Indicates the directive is valid on fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Indicates the directive is valid on fragment definitions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Indicates the directive is valid on fragment spreads.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Indicates the directive is valid on inline fragments.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIABLE_DEFINITION", + "description": "Indicates the directive is valid on variable definitions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Indicates the directive is valid on a schema SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Indicates the directive is valid on a scalar SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates the directive is valid on an object SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Indicates the directive is valid on a field SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Indicates the directive is valid on a field argument SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates the directive is valid on an interface SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates the directive is valid on an union SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates the directive is valid on an enum SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Indicates the directive is valid on an enum value SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates the directive is valid on an input object SDL definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Indicates the directive is valid on an input object field SDL definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "\u0027A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "\u0027If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": null, + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "specifiedByUrl", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given __Type is", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar. \u0027specifiedByUrl\u0027 is a valid field", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + } + ], + "directives": [ + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if`\u0027argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks the field or enum value as deprecated", + "locations": [ + "FIELD_DEFINITION", + "ENUM_VALUE" + ], + "args": [ + { + "name": "reason", + "description": "The reason for the deprecation", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"" + } + ] + }, + { + "name": "specifiedBy", + "description": "Exposes a URL that specifies the behaviour of this scalar.", + "locations": [ + "SCALAR" + ], + "args": [ + { + "name": "url", + "description": "The URL that specifies the behaviour of this scalar.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ] + } + ] + } + } +} diff --git a/typegate/tests/importers/introspection.py b/typegate/tests/importers/introspection.py new file mode 100644 index 0000000000..ffa5fd3e67 --- /dev/null +++ b/typegate/tests/importers/introspection.py @@ -0,0 +1,11 @@ +from pathlib import Path + +import httpx +from graphql import get_introspection_query + +res = httpx.post( + "https://hivdb.stanford.edu/graphql", json={"query": get_introspection_query()} +) + +with open(Path(__file__).parent.joinpath("introspection.json"), "w") as f: + f.write(res.text) diff --git a/typegate/tests/importers/openapi.py b/typegate/tests/importers/openapi.py deleted file mode 100644 index 1597eae906..0000000000 --- a/typegate/tests/importers/openapi.py +++ /dev/null @@ -1,17 +0,0 @@ -from typegraph import TypeGraph -from typegraph import policies as p -from typegraph.importers.openapi import OpenApiImporter - -OpenApiImporter("petstore", url="https://petstore3.swagger.io/api/v3/openapi.json").imp( - True -) - - -def import_petstore(): - pass - - -with TypeGraph(name="OpenAPI") as g: - petstore = import_petstore() - - g.expose(**{name: fn.add_policy(p.public()) for name, fn in petstore.all().items()}) diff --git a/typegate/tests/importers/openapi_original.py b/typegate/tests/importers/openapi_original.py new file mode 100644 index 0000000000..db71b305e2 --- /dev/null +++ b/typegate/tests/importers/openapi_original.py @@ -0,0 +1,28 @@ +import json +from pathlib import Path + +import respx +from httpx import Response + +from typegraph import TypeGraph +from typegraph import policies as p +from typegraph.importers.openapi import OpenApiImporter + +with open(Path(__file__).parent.joinpath("../openapi_schema.json")) as f: + spec = json.load(f) + +with respx.mock: + url = "https://petstore3.swagger.io/api/v3/openapi.json" + m = respx.get(url).mock(return_value=Response(200, json=spec)) + OpenApiImporter("petstore", url=url).imp(True) + assert m.called + + +def import_petstore(): + pass + + +with TypeGraph(name="OpenAPI") as g: + petstore = import_petstore() + + g.expose(**{name: fn.add_policy(p.public()) for name, fn in petstore.all().items()}) diff --git a/typegate/tests/importers/openapi_schema.json b/typegate/tests/importers/openapi_schema.json new file mode 100644 index 0000000000..8d39938ca2 --- /dev/null +++ b/typegate/tests/importers/openapi_schema.json @@ -0,0 +1,791 @@ +{ + "openapi": "3.0.2", + "info": { + "title": "Swagger Petstore - OpenAPI 3.0", + "description": "This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about\nSwagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!\nYou can now help us improve the API whether it's by making changes to the definition itself or to the code.\nThat way, with time, we can improve the API in general, and expose some of the new features in OAS3.\n\nSome useful links:\n- [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)\n- [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)", + "termsOfService": "http://swagger.io/terms/", + "contact": { "email": "apiteam@swagger.io" }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "1.0.17" + }, + "externalDocs": { + "description": "Find out more about Swagger", + "url": "http://swagger.io" + }, + "servers": [{ "url": "/api/v3" }], + "tags": [ + { + "name": "pet", + "description": "Everything about your Pets", + "externalDocs": { + "description": "Find out more", + "url": "http://swagger.io" + } + }, + { + "name": "store", + "description": "Access to Petstore orders", + "externalDocs": { + "description": "Find out more about our store", + "url": "http://swagger.io" + } + }, + { "name": "user", "description": "Operations about user" } + ], + "paths": { + "/pet": { + "put": { + "tags": ["pet"], + "summary": "Update an existing pet", + "description": "Update an existing pet by Id", + "operationId": "updatePet", + "requestBody": { + "description": "Update an existent pet in the store", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + } + }, + "400": { "description": "Invalid ID supplied" }, + "404": { "description": "Pet not found" }, + "405": { "description": "Validation exception" } + }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + }, + "post": { + "tags": ["pet"], + "summary": "Add a new pet to the store", + "description": "Add a new pet to the store", + "operationId": "addPet", + "requestBody": { + "description": "Create a new pet in the store", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + } + }, + "405": { "description": "Invalid input" } + }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + } + }, + "/pet/findByStatus": { + "get": { + "tags": ["pet"], + "summary": "Finds Pets by status", + "description": "Multiple status values can be provided with comma separated strings", + "operationId": "findPetsByStatus", + "parameters": [ + { + "name": "status", + "in": "query", + "description": "Status values that need to be considered for filter", + "required": false, + "explode": true, + "schema": { + "type": "string", + "default": "available", + "enum": ["available", "pending", "sold"] + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/xml": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/Pet" } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/Pet" } + } + } + } + }, + "400": { "description": "Invalid status value" } + }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + } + }, + "/pet/findByTags": { + "get": { + "tags": ["pet"], + "summary": "Finds Pets by tags", + "description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", + "operationId": "findPetsByTags", + "parameters": [ + { + "name": "tags", + "in": "query", + "description": "Tags to filter by", + "required": false, + "explode": true, + "schema": { "type": "array", "items": { "type": "string" } } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/xml": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/Pet" } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/Pet" } + } + } + } + }, + "400": { "description": "Invalid tag value" } + }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + } + }, + "/pet/{petId}": { + "get": { + "tags": ["pet"], + "summary": "Find pet by ID", + "description": "Returns a single pet", + "operationId": "getPetById", + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet to return", + "required": true, + "schema": { "type": "integer", "format": "int64" } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + } + }, + "400": { "description": "Invalid ID supplied" }, + "404": { "description": "Pet not found" } + }, + "security": [ + { "api_key": [] }, + { "petstore_auth": ["write:pets", "read:pets"] } + ] + }, + "post": { + "tags": ["pet"], + "summary": "Updates a pet in the store with form data", + "description": "", + "operationId": "updatePetWithForm", + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet that needs to be updated", + "required": true, + "schema": { "type": "integer", "format": "int64" } + }, + { + "name": "name", + "in": "query", + "description": "Name of pet that needs to be updated", + "schema": { "type": "string" } + }, + { + "name": "status", + "in": "query", + "description": "Status of pet that needs to be updated", + "schema": { "type": "string" } + } + ], + "responses": { "405": { "description": "Invalid input" } }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + }, + "delete": { + "tags": ["pet"], + "summary": "Deletes a pet", + "description": "", + "operationId": "deletePet", + "parameters": [ + { + "name": "api_key", + "in": "header", + "description": "", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "petId", + "in": "path", + "description": "Pet id to delete", + "required": true, + "schema": { "type": "integer", "format": "int64" } + } + ], + "responses": { "400": { "description": "Invalid pet value" } }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + } + }, + "/pet/{petId}/uploadImage": { + "post": { + "tags": ["pet"], + "summary": "uploads an image", + "description": "", + "operationId": "uploadFile", + "parameters": [ + { + "name": "petId", + "in": "path", + "description": "ID of pet to update", + "required": true, + "schema": { "type": "integer", "format": "int64" } + }, + { + "name": "additionalMetadata", + "in": "query", + "description": "Additional Metadata", + "required": false, + "schema": { "type": "string" } + } + ], + "requestBody": { + "content": { + "application/octet-stream": { + "schema": { "type": "string", "format": "binary" } + } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ApiResponse" } + } + } + } + }, + "security": [{ "petstore_auth": ["write:pets", "read:pets"] }] + } + }, + "/store/inventory": { + "get": { + "tags": ["store"], + "summary": "Returns pet inventories by status", + "description": "Returns a map of status codes to quantities", + "operationId": "getInventory", + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + } + } + }, + "security": [{ "api_key": [] }] + } + }, + "/store/order": { + "post": { + "tags": ["store"], + "summary": "Place an order for a pet", + "description": "Place a new order in the store", + "operationId": "placeOrder", + "requestBody": { + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/Order" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/Order" } + }, + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/Order" } + } + } + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/Order" } + } + } + }, + "405": { "description": "Invalid input" } + } + } + }, + "/store/order/{orderId}": { + "get": { + "tags": ["store"], + "summary": "Find purchase order by ID", + "description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.", + "operationId": "getOrderById", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "ID of order that needs to be fetched", + "required": true, + "schema": { "type": "integer", "format": "int64" } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/Order" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/Order" } + } + } + }, + "400": { "description": "Invalid ID supplied" }, + "404": { "description": "Order not found" } + } + }, + "delete": { + "tags": ["store"], + "summary": "Delete purchase order by ID", + "description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", + "operationId": "deleteOrder", + "parameters": [ + { + "name": "orderId", + "in": "path", + "description": "ID of the order that needs to be deleted", + "required": true, + "schema": { "type": "integer", "format": "int64" } + } + ], + "responses": { + "400": { "description": "Invalid ID supplied" }, + "404": { "description": "Order not found" } + } + } + }, + "/user": { + "post": { + "tags": ["user"], + "summary": "Create user", + "description": "This can only be done by the logged in user.", + "operationId": "createUser", + "requestBody": { + "description": "Created user object", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/User" } + } + } + }, + "responses": { + "default": { + "description": "successful operation", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/User" } + } + } + } + } + } + }, + "/user/createWithList": { + "post": { + "tags": ["user"], + "summary": "Creates list of users with given input array", + "description": "Creates list of users with given input array", + "operationId": "createUsersWithListInput", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/User" } + } + } + } + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/User" } + } + } + }, + "default": { "description": "successful operation" } + } + } + }, + "/user/login": { + "get": { + "tags": ["user"], + "summary": "Logs user into the system", + "description": "", + "operationId": "loginUser", + "parameters": [ + { + "name": "username", + "in": "query", + "description": "The user name for login", + "required": false, + "schema": { "type": "string" } + }, + { + "name": "password", + "in": "query", + "description": "The password for login in clear text", + "required": false, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "successful operation", + "headers": { + "X-Rate-Limit": { + "description": "calls per hour allowed by the user", + "schema": { "type": "integer", "format": "int32" } + }, + "X-Expires-After": { + "description": "date in UTC when token expires", + "schema": { "type": "string", "format": "date-time" } + } + }, + "content": { + "application/xml": { "schema": { "type": "string" } }, + "application/json": { "schema": { "type": "string" } } + } + }, + "400": { "description": "Invalid username/password supplied" } + } + } + }, + "/user/logout": { + "get": { + "tags": ["user"], + "summary": "Logs out current logged in user session", + "description": "", + "operationId": "logoutUser", + "parameters": [], + "responses": { "default": { "description": "successful operation" } } + } + }, + "/user/{username}": { + "get": { + "tags": ["user"], + "summary": "Get user by user name", + "description": "", + "operationId": "getUserByName", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "The name that needs to be fetched. Use user1 for testing. ", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "application/xml": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/json": { + "schema": { "$ref": "#/components/schemas/User" } + } + } + }, + "400": { "description": "Invalid username supplied" }, + "404": { "description": "User not found" } + } + }, + "put": { + "tags": ["user"], + "summary": "Update user", + "description": "This can only be done by the logged in user.", + "operationId": "updateUser", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "name that need to be deleted", + "required": true, + "schema": { "type": "string" } + } + ], + "requestBody": { + "description": "Update an existent user in the store", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/User" } + }, + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/User" } + } + } + }, + "responses": { "default": { "description": "successful operation" } } + }, + "delete": { + "tags": ["user"], + "summary": "Delete user", + "description": "This can only be done by the logged in user.", + "operationId": "deleteUser", + "parameters": [ + { + "name": "username", + "in": "path", + "description": "The name that needs to be deleted", + "required": true, + "schema": { "type": "string" } + } + ], + "responses": { + "400": { "description": "Invalid username supplied" }, + "404": { "description": "User not found" } + } + } + } + }, + "components": { + "schemas": { + "Order": { + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64", "example": 10 }, + "petId": { "type": "integer", "format": "int64", "example": 198772 }, + "quantity": { "type": "integer", "format": "int32", "example": 7 }, + "shipDate": { "type": "string", "format": "date-time" }, + "status": { + "type": "string", + "description": "Order Status", + "example": "approved", + "enum": ["placed", "approved", "delivered"] + }, + "complete": { "type": "boolean" } + }, + "xml": { "name": "order" } + }, + "Customer": { + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64", "example": 100000 }, + "username": { "type": "string", "example": "fehguy" }, + "address": { + "type": "array", + "xml": { "name": "addresses", "wrapped": true }, + "items": { "$ref": "#/components/schemas/Address" } + } + }, + "xml": { "name": "customer" } + }, + "Address": { + "type": "object", + "properties": { + "street": { "type": "string", "example": "437 Lytton" }, + "city": { "type": "string", "example": "Palo Alto" }, + "state": { "type": "string", "example": "CA" }, + "zip": { "type": "string", "example": "94301" } + }, + "xml": { "name": "address" } + }, + "Category": { + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64", "example": 1 }, + "name": { "type": "string", "example": "Dogs" } + }, + "xml": { "name": "category" } + }, + "User": { + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64", "example": 10 }, + "username": { "type": "string", "example": "theUser" }, + "firstName": { "type": "string", "example": "John" }, + "lastName": { "type": "string", "example": "James" }, + "email": { "type": "string", "example": "john@email.com" }, + "password": { "type": "string", "example": "12345" }, + "phone": { "type": "string", "example": "12345" }, + "userStatus": { + "type": "integer", + "description": "User Status", + "format": "int32", + "example": 1 + } + }, + "xml": { "name": "user" } + }, + "Tag": { + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64" }, + "name": { "type": "string" } + }, + "xml": { "name": "tag" } + }, + "Pet": { + "required": ["name", "photoUrls"], + "type": "object", + "properties": { + "id": { "type": "integer", "format": "int64", "example": 10 }, + "name": { "type": "string", "example": "doggie" }, + "category": { "$ref": "#/components/schemas/Category" }, + "photoUrls": { + "type": "array", + "xml": { "wrapped": true }, + "items": { "type": "string", "xml": { "name": "photoUrl" } } + }, + "tags": { + "type": "array", + "xml": { "wrapped": true }, + "items": { "$ref": "#/components/schemas/Tag" } + }, + "status": { + "type": "string", + "description": "pet status in the store", + "enum": ["available", "pending", "sold"] + } + }, + "xml": { "name": "pet" } + }, + "ApiResponse": { + "type": "object", + "properties": { + "code": { "type": "integer", "format": "int32" }, + "type": { "type": "string" }, + "message": { "type": "string" } + }, + "xml": { "name": "##default" } + } + }, + "requestBodies": { + "Pet": { + "description": "Pet object that needs to be added to the store", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/Pet" } + }, + "application/xml": { + "schema": { "$ref": "#/components/schemas/Pet" } + } + } + }, + "UserArray": { + "description": "List of user object", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/User" } + } + } + } + } + }, + "securitySchemes": { + "petstore_auth": { + "type": "oauth2", + "flows": { + "implicit": { + "authorizationUrl": "https://petstore3.swagger.io/oauth/authorize", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + } + }, + "api_key": { "type": "apiKey", "name": "api_key", "in": "header" } + } + } +} diff --git a/typegate/tests/importers/openapi_schema.py b/typegate/tests/importers/openapi_schema.py new file mode 100644 index 0000000000..e9a93d533d --- /dev/null +++ b/typegate/tests/importers/openapi_schema.py @@ -0,0 +1,10 @@ +from pathlib import Path + +import httpx + +res = httpx.get( + "https://petstore3.swagger.io/api/v3/openapi.json", +) + +with open(Path(__file__).parent.joinpath("openapi_schema.json"), "w") as f: + f.write(res.text) diff --git a/typegraph/poetry.lock b/typegraph/poetry.lock index 02aac9459e..96761cdc9f 100644 --- a/typegraph/poetry.lock +++ b/typegraph/poetry.lock @@ -68,18 +68,6 @@ docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib- tests = ["attrs[tests-no-zope]", "zope.interface"] tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] -[[package]] -name = "backoff" -version = "2.2.1" -description = "Function decoration for backoff and retry" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, - {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, -] - [[package]] name = "baron" version = "0.10.1" @@ -161,7 +149,7 @@ files = [ name = "charset-normalizer" version = "3.0.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" +category = "dev" optional = false python-versions = "*" files = [ @@ -450,36 +438,6 @@ files = [ {file = "frozendict-2.3.4.tar.gz", hash = "sha256:15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78"}, ] -[[package]] -name = "gql" -version = "3.4.0" -description = "GraphQL client for Python" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "gql-3.4.0-py2.py3-none-any.whl", hash = "sha256:59c8a0b8f0a2f3b0b2ff970c94de86f82f65cb1da3340bfe57143e5f7ea82f71"}, - {file = "gql-3.4.0.tar.gz", hash = "sha256:ca81aa8314fa88a8c57dd1ce34941278e0c352d762eb721edcba0387829ea7c0"}, -] - -[package.dependencies] -backoff = ">=1.11.1,<3.0" -graphql-core = ">=3.2,<3.3" -requests = {version = ">=2.26,<3", optional = true, markers = "extra == \"requests\""} -requests-toolbelt = {version = ">=0.9.1,<1", optional = true, markers = "extra == \"requests\""} -urllib3 = {version = ">=1.26", optional = true, markers = "extra == \"requests\""} -yarl = ">=1.6,<2.0" - -[package.extras] -aiohttp = ["aiohttp (>=3.7.1,<3.9.0)"] -all = ["aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)", "websockets (>=10,<11)", "websockets (>=9,<10)"] -botocore = ["botocore (>=1.21,<2)"] -dev = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "black (==22.3.0)", "botocore (>=1.21,<2)", "check-manifest (>=0.42,<1)", "flake8 (==3.8.1)", "isort (==4.3.21)", "mock (==4.0.2)", "mypy (==0.910)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "sphinx (>=3.0.0,<4)", "sphinx-argparse (==0.2.5)", "sphinx-rtd-theme (>=0.4,<1)", "types-aiofiles", "types-mock", "types-requests", "urllib3 (>=1.26)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] -requests = ["requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)"] -test = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] -test-no-transport = ["aiofiles", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "vcrpy (==4.0.2)"] -websockets = ["websockets (>=10,<11)", "websockets (>=9,<10)"] - [[package]] name = "graphql-core" version = "3.2.3" @@ -693,90 +651,6 @@ files = [ {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, ] -[[package]] -name = "multidict" -version = "6.0.4" -description = "multidict implementation" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, -] - [[package]] name = "mypy-extensions" version = "1.0.0" @@ -1068,7 +942,7 @@ notebook = ["pygments"] name = "requests" version = "2.28.2" description = "Python HTTP for Humans." -category = "main" +category = "dev" optional = false python-versions = ">=3.7, <4" files = [ @@ -1087,19 +961,19 @@ socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] -name = "requests-toolbelt" -version = "0.10.1" -description = "A utility belt for advanced users of python-requests" -category = "main" +name = "respx" +version = "0.20.1" +description = "A utility for mocking out the Python HTTPX and HTTP Core libraries." +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.7" files = [ - {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"}, - {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"}, + {file = "respx-0.20.1-py2.py3-none-any.whl", hash = "sha256:372f06991c03d1f7f480a420a2199d01f1815b6ed5a802f4e4628043a93bd03e"}, + {file = "respx-0.20.1.tar.gz", hash = "sha256:cc47a86d7010806ab65abdcf3b634c56337a737bb5c4d74c19a0dfca83b3bc73"}, ] [package.dependencies] -requests = ">=2.0.1,<3.0.0" +httpx = ">=0.21.0" [[package]] name = "rfc3986" @@ -1253,7 +1127,7 @@ files = [ name = "urllib3" version = "1.26.14" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -1408,95 +1282,7 @@ files = [ {file = "yapf-0.32.0.tar.gz", hash = "sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b"}, ] -[[package]] -name = "yarl" -version = "1.8.2" -description = "Yet another URL library" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bb81f753c815f6b8e2ddd2eef3c855cf7da193b82396ac013c661aaa6cc6b0a5"}, - {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:47d49ac96156f0928f002e2424299b2c91d9db73e08c4cd6742923a086f1c863"}, - {file = "yarl-1.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3fc056e35fa6fba63248d93ff6e672c096f95f7836938241ebc8260e062832fe"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58a3c13d1c3005dbbac5c9f0d3210b60220a65a999b1833aa46bd6677c69b08e"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10b08293cda921157f1e7c2790999d903b3fd28cd5c208cf8826b3b508026996"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de986979bbd87272fe557e0a8fcb66fd40ae2ddfe28a8b1ce4eae22681728fef"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c4fcfa71e2c6a3cb568cf81aadc12768b9995323186a10827beccf5fa23d4f8"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae4d7ff1049f36accde9e1ef7301912a751e5bae0a9d142459646114c70ecba6"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf071f797aec5b96abfc735ab97da9fd8f8768b43ce2abd85356a3127909d146"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:74dece2bfc60f0f70907c34b857ee98f2c6dd0f75185db133770cd67300d505f"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:df60a94d332158b444301c7f569659c926168e4d4aad2cfbf4bce0e8fb8be826"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:63243b21c6e28ec2375f932a10ce7eda65139b5b854c0f6b82ed945ba526bff3"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cfa2bbca929aa742b5084fd4663dd4b87c191c844326fcb21c3afd2d11497f80"}, - {file = "yarl-1.8.2-cp310-cp310-win32.whl", hash = "sha256:b05df9ea7496df11b710081bd90ecc3a3db6adb4fee36f6a411e7bc91a18aa42"}, - {file = "yarl-1.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:24ad1d10c9db1953291f56b5fe76203977f1ed05f82d09ec97acb623a7976574"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2a1fca9588f360036242f379bfea2b8b44cae2721859b1c56d033adfd5893634"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f37db05c6051eff17bc832914fe46869f8849de5b92dc4a3466cd63095d23dfd"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:77e913b846a6b9c5f767b14dc1e759e5aff05502fe73079f6f4176359d832581"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0978f29222e649c351b173da2b9b4665ad1feb8d1daa9d971eb90df08702668a"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388a45dc77198b2460eac0aca1efd6a7c09e976ee768b0d5109173e521a19daf"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2305517e332a862ef75be8fad3606ea10108662bc6fe08509d5ca99503ac2aee"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42430ff511571940d51e75cf42f1e4dbdded477e71c1b7a17f4da76c1da8ea76"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3150078118f62371375e1e69b13b48288e44f6691c1069340081c3fd12c94d5b"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c15163b6125db87c8f53c98baa5e785782078fbd2dbeaa04c6141935eb6dab7a"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4d04acba75c72e6eb90745447d69f84e6c9056390f7a9724605ca9c56b4afcc6"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e7fd20d6576c10306dea2d6a5765f46f0ac5d6f53436217913e952d19237efc4"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:75c16b2a900b3536dfc7014905a128a2bea8fb01f9ee26d2d7d8db0a08e7cb2c"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6d88056a04860a98341a0cf53e950e3ac9f4e51d1b6f61a53b0609df342cc8b2"}, - {file = "yarl-1.8.2-cp311-cp311-win32.whl", hash = "sha256:fb742dcdd5eec9f26b61224c23baea46c9055cf16f62475e11b9b15dfd5c117b"}, - {file = "yarl-1.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:8c46d3d89902c393a1d1e243ac847e0442d0196bbd81aecc94fcebbc2fd5857c"}, - {file = "yarl-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ceff9722e0df2e0a9e8a79c610842004fa54e5b309fe6d218e47cd52f791d7ef"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f6b4aca43b602ba0f1459de647af954769919c4714706be36af670a5f44c9c1"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1684a9bd9077e922300ecd48003ddae7a7474e0412bea38d4631443a91d61077"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebb78745273e51b9832ef90c0898501006670d6e059f2cdb0e999494eb1450c2"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3adeef150d528ded2a8e734ebf9ae2e658f4c49bf413f5f157a470e17a4a2e89"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57a7c87927a468e5a1dc60c17caf9597161d66457a34273ab1760219953f7f4c"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:efff27bd8cbe1f9bd127e7894942ccc20c857aa8b5a0327874f30201e5ce83d0"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a783cd344113cb88c5ff7ca32f1f16532a6f2142185147822187913eb989f739"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:705227dccbe96ab02c7cb2c43e1228e2826e7ead880bb19ec94ef279e9555b5b"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:34c09b43bd538bf6c4b891ecce94b6fa4f1f10663a8d4ca589a079a5018f6ed7"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a48f4f7fea9a51098b02209d90297ac324241bf37ff6be6d2b0149ab2bd51b37"}, - {file = "yarl-1.8.2-cp37-cp37m-win32.whl", hash = "sha256:0414fd91ce0b763d4eadb4456795b307a71524dbacd015c657bb2a39db2eab89"}, - {file = "yarl-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:d881d152ae0007809c2c02e22aa534e702f12071e6b285e90945aa3c376463c5"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5df5e3d04101c1e5c3b1d69710b0574171cc02fddc4b23d1b2813e75f35a30b1"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7a66c506ec67eb3159eea5096acd05f5e788ceec7b96087d30c7d2865a243918"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2b4fa2606adf392051d990c3b3877d768771adc3faf2e117b9de7eb977741229"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e21fb44e1eff06dd6ef971d4bdc611807d6bd3691223d9c01a18cec3677939e"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93202666046d9edadfe9f2e7bf5e0782ea0d497b6d63da322e541665d65a044e"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fc77086ce244453e074e445104f0ecb27530d6fd3a46698e33f6c38951d5a0f1"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dd68a92cab699a233641f5929a40f02a4ede8c009068ca8aa1fe87b8c20ae3"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b372aad2b5f81db66ee7ec085cbad72c4da660d994e8e590c997e9b01e44901"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e6f3515aafe0209dd17fb9bdd3b4e892963370b3de781f53e1746a521fb39fc0"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dfef7350ee369197106805e193d420b75467b6cceac646ea5ed3049fcc950a05"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:728be34f70a190566d20aa13dc1f01dc44b6aa74580e10a3fb159691bc76909d"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ff205b58dc2929191f68162633d5e10e8044398d7a45265f90a0f1d51f85f72c"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baf211dcad448a87a0d9047dc8282d7de59473ade7d7fdf22150b1d23859f946"}, - {file = "yarl-1.8.2-cp38-cp38-win32.whl", hash = "sha256:272b4f1599f1b621bf2aabe4e5b54f39a933971f4e7c9aa311d6d7dc06965165"}, - {file = "yarl-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:326dd1d3caf910cd26a26ccbfb84c03b608ba32499b5d6eeb09252c920bcbe4f"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f8ca8ad414c85bbc50f49c0a106f951613dfa5f948ab69c10ce9b128d368baf8"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:418857f837347e8aaef682679f41e36c24250097f9e2f315d39bae3a99a34cbf"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ae0eec05ab49e91a78700761777f284c2df119376e391db42c38ab46fd662b77"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:009a028127e0a1755c38b03244c0bea9d5565630db9c4cf9572496e947137a87"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3edac5d74bb3209c418805bda77f973117836e1de7c000e9755e572c1f7850d0"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da65c3f263729e47351261351b8679c6429151ef9649bba08ef2528ff2c423b2"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ef8fb25e52663a1c85d608f6dd72e19bd390e2ecaf29c17fb08f730226e3a08"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcd7bb1e5c45274af9a1dd7494d3c52b2be5e6bd8d7e49c612705fd45420b12d"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44ceac0450e648de86da8e42674f9b7077d763ea80c8ceb9d1c3e41f0f0a9951"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:97209cc91189b48e7cfe777237c04af8e7cc51eb369004e061809bcdf4e55220"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:48dd18adcf98ea9cd721a25313aef49d70d413a999d7d89df44f469edfb38a06"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e59399dda559688461762800d7fb34d9e8a6a7444fd76ec33220a926c8be1516"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d617c241c8c3ad5c4e78a08429fa49e4b04bedfc507b34b4d8dceb83b4af3588"}, - {file = "yarl-1.8.2-cp39-cp39-win32.whl", hash = "sha256:cb6d48d80a41f68de41212f3dfd1a9d9898d7841c8f7ce6696cf2fd9cb57ef83"}, - {file = "yarl-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:6604711362f2dbf7160df21c416f81fac0de6dbcf0b5445a2ef25478ecc4c778"}, - {file = "yarl-1.8.2.tar.gz", hash = "sha256:49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" - [metadata] lock-version = "2.0" python-versions = ">=3.8,<4.0" -content-hash = "dd9580c845f267beeb9ac4ec47c764ec2e84b6c2575587e71ab98279ae721b70" +content-hash = "ad2610529247d5c0ceff080e2fcc1bba25d818168a8787e1adec4945c73d92bd" diff --git a/typegraph/pyproject.toml b/typegraph/pyproject.toml index 397766ba24..0327d05e68 100644 --- a/typegraph/pyproject.toml +++ b/typegraph/pyproject.toml @@ -25,9 +25,8 @@ semver = "^2.13.0" PyYAML = "^6.0" deepmerge = "^1.1.0" graphql-core = "^3.2.3" -gql = { extras = ["requests"], version = "^3.4.0" } ordered-set = "^4.1.0" -typing-extensions = "^4.4.0" +typing-extensions = "^4.5.0" attrs = "^22.2.0" astunparse = "^1.6.3" black = ">=22.12,<24.0" @@ -35,10 +34,11 @@ strenum = "^0.4.9" python-box = "^7.0.0" [tool.poetry.group.dev.dependencies] -pytest = "^7.2.0" +pytest = "^7.2.1" pytest-snapshot = "^0.9.0" pydoc-markdown = { git = "https://github.com/metatypedev/pydoc-markdown", branch = "develop" } ruff = "^0.0.245" +respx = "^0.20.1" [build-system] requires = ["poetry-core"] diff --git a/typegraph/typegraph/importers/graphql.py b/typegraph/typegraph/importers/graphql.py index 93ed8736f0..a3b0d7bb8f 100644 --- a/typegraph/typegraph/importers/graphql.py +++ b/typegraph/typegraph/importers/graphql.py @@ -3,9 +3,8 @@ import json from typing import Literal, Optional +import httpx from box import Box -from gql import Client, gql -from gql.transport.requests import RequestsHTTPTransport from graphql import get_introspection_query from typegraph import t @@ -39,11 +38,8 @@ def __init__(self, name: str, url: str, *, file: Optional[str] = None): self.headers.append(f"{name}=GraphQLRuntime('{url}')") if file is None: - transport = RequestsHTTPTransport(url=url, verify=True) - client = Client(transport=transport, fetch_schema_from_transport=True) - query = gql(get_introspection_query()) - schema = client.execute(query) - self.intros = Box(schema) + res = httpx.post(url, json={"query": get_introspection_query()}) + self.intros = Box(res.json()).data else: with open(file) as f: self.intros = Box(json.loads(f.read())) diff --git a/website/docs/reference/changelog.mdx b/website/docs/reference/changelog.mdx index 8a8efcf5dc..65e85762e1 100644 --- a/website/docs/reference/changelog.mdx +++ b/website/docs/reference/changelog.mdx @@ -338,7 +338,34 @@ comments: false -## [v0.0.3-dev.2](https://github.com/metatypedev/metatype/releases/tag/v0.0.3-dev.2) (2/8/2023) +## [v0.0.3-dev.3](https://github.com/metatypedev/metatype/releases/tag/v0.0.3-dev.3) (2/16/2023) + + + +### What's Changed + +#### New features 🎉 + +* chore(deps): bump openssl-src from 111.24.0+1.1.1s to 111.25.0+1.1.1t by @dependabot in [#106](https://github.com/metatypedev/metatype/pull/106) +* chore(deps): bump serde_json from 1.0.92 to 1.0.93 by @dependabot in [#107](https://github.com/metatypedev/metatype/pull/107) +* chore(deps): bump sentry from 0.29.2 to 0.29.3 by @dependabot in [#108](https://github.com/metatypedev/metatype/pull/108) +* chore(deps): bump dprint-plugin-typescript from 0.82.0 to 0.83.0 by @dependabot in [#109](https://github.com/metatypedev/metatype/pull/109) +* Docs by @zifeo in [#101](https://github.com/metatypedev/metatype/pull/101) +* feat(typegraph): support type union by @msga-mmm in [#78](https://github.com/metatypedev/metatype/pull/78) +* chore(deps): bump thehanimo/pr-title-checker from 1.3.6 to 1.3.7 by @dependabot in [#112](https://github.com/metatypedev/metatype/pull/112) +* chore(deps): bump self_update from 0.34.0 to 0.35.0 by @dependabot in [#113](https://github.com/metatypedev/metatype/pull/113) +* Met 18: New way to use prisma runtime by @Natoandro in [#105](https://github.com/metatypedev/metatype/pull/105) +* chore(deps): bump proc-macro2 from 1.0.50 to 1.0.51 by @dependabot in [#119](https://github.com/metatypedev/metatype/pull/119) +* chore(deps): bump temporal-sdk-core-protos from `106b09f` to `454cbea` by @dependabot in [#118](https://github.com/metatypedev/metatype/pull/118) +* chore: small fixes by @zifeo in [#116](https://github.com/metatypedev/metatype/pull/116) +* Met 75 check all todos fixme in the project by @afmika in [#90](https://github.com/metatypedev/metatype/pull/90) +* chore(deps): bump typing-extensions from 4.4.0 to 4.5.0 in /typegraph by @dependabot in [#121](https://github.com/metatypedev/metatype/pull/121) +* chore: update Cargo.lock by @msga-mmm in [#123](https://github.com/metatypedev/metatype/pull/123) + + +**Full Changelog**: [v0.0.3-dev.2...v0.0.3-dev.3](https://github.com/metatypedev/metatype/compare/v0.0.3-dev.2...v0.0.3-dev.3) + +## [v0.0.3-dev.2](https://github.com/metatypedev/metatype/releases/tag/v0.0.3-dev.2) (2/7/2023) diff --git a/website/docs/reference/typegate/typegate/mutations.md b/website/docs/reference/typegate/typegate/mutations.md index a7ee9d9732..4d639ed5b1 100644 --- a/website/docs/reference/typegate/typegate/mutations.md +++ b/website/docs/reference/typegate/typegate/mutations.md @@ -12,7 +12,6 @@ sidebar_position: 2 addTypegraph field Policies: - - admin_only

Arguments

@@ -39,7 +38,6 @@ fromString
removeTypegraph field Policies: - - admin_only

Arguments

diff --git a/website/docs/reference/typegate/typegate/queries.md b/website/docs/reference/typegate/typegate/queries.md index 8b6ef8fedf..e94afb61cb 100644 --- a/website/docs/reference/typegate/typegate/queries.md +++ b/website/docs/reference/typegate/typegate/queries.md @@ -12,7 +12,6 @@ sidebar_position: 1 typegraph field Policies: - - admin_only

Arguments

@@ -39,5 +38,4 @@ name
typegraphs field Policies: - - admin_only diff --git a/website/docs/reference/typegate/typegate/scalars.md b/website/docs/reference/typegate/typegate/scalars.md index 470f958aba..da1921ee54 100644 --- a/website/docs/reference/typegate/typegate/scalars.md +++ b/website/docs/reference/typegate/typegate/scalars.md @@ -11,11 +11,8 @@ The `Boolean` scalar type represents `true` or `false`. ## Int -The `Int` scalar type represents non-fractional signed whole numeric values. Int -can represent values between -(2^31) and 2^31 - 1. +The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ## String -The `String` scalar type represents textual data, represented as UTF-8 character -sequences. The String type is most often used by GraphQL to represent free-form -human-readable text. +The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.