diff --git a/api/openapi/model-registry.yaml b/api/openapi/model-registry.yaml index 1b8eedb5..362b9f6f 100644 --- a/api/openapi/model-registry.yaml +++ b/api/openapi/model-registry.yaml @@ -86,7 +86,7 @@ paths: "/api/model_registry/v1alpha3/model_artifacts/{modelartifactId}": summary: Path used to manage a single ModelArtifact. description: >- - The REST endpoint/path used to get, update, and delete single instances of an `ModelArtifact`. This path contains `GET`, `PUT`, and `DELETE` operations used to perform the get, update, and delete tasks, respectively. + The REST endpoint/path used to get and update single instances of an `ModelArtifact`. This path contains `GET` and `PATCH` operations used to perform the get and update tasks, respectively. get: tags: - ModelRegistryService @@ -180,7 +180,7 @@ paths: "/api/model_registry/v1alpha3/model_versions/{modelversionId}": summary: Path used to manage a single ModelVersion. description: >- - The REST endpoint/path used to get, update, and delete single instances of an `ModelVersion`. This path contains `GET`, `PUT`, and `DELETE` operations used to perform the get, update, and delete tasks, respectively. + The REST endpoint/path used to get and update single instances of an `ModelVersion`. This path contains `GET` and `PATCH` operations used to perform the get and update tasks, respectively. get: tags: - ModelRegistryService @@ -296,7 +296,7 @@ paths: "/api/model_registry/v1alpha3/registered_models/{registeredmodelId}": summary: Path used to manage a single RegisteredModel. description: >- - The REST endpoint/path used to get, update, and delete single instances of an `RegisteredModel`. This path contains `GET`, `PUT`, and `DELETE` operations used to perform the get, update, and delete tasks, respectively. + The REST endpoint/path used to get and update single instances of an `RegisteredModel`. This path contains `GET` and `PATCH` operations used to perform the get and update tasks, respectively. get: tags: - ModelRegistryService @@ -486,7 +486,7 @@ paths: "/api/model_registry/v1alpha3/inference_services/{inferenceserviceId}": summary: Path used to manage a single InferenceService. description: >- - The REST endpoint/path used to get, update, and delete single instances of an `InferenceService`. This path contains `GET`, `PUT`, and `DELETE` operations used to perform the get, update, and delete tasks, respectively. + The REST endpoint/path used to get and update single instances of an `InferenceService`. This path contains `GET` and `PATCH` operations used to perform the get and update tasks, respectively. get: tags: - ModelRegistryService @@ -650,7 +650,7 @@ paths: "/api/model_registry/v1alpha3/serving_environments/{servingenvironmentId}": summary: Path used to manage a single ServingEnvironment. description: >- - The REST endpoint/path used to get, update, and delete single instances of an `ServingEnvironment`. This path contains `GET`, `PUT`, and `DELETE` operations used to perform the get, update, and delete tasks, respectively. + The REST endpoint/path used to get and update single instances of an `ServingEnvironment`. This path contains `GET` and `PATCH` operations used to perform the get and update tasks, respectively. get: tags: - ModelRegistryService @@ -1636,9 +1636,6 @@ components: in: query required: false nextPageToken: - examples: - nextPageToken: - value: IkhlbGxvLCB3b3JsZC4i name: nextPageToken description: Token to use to retrieve next page of results. schema: diff --git a/clients/python/Makefile b/clients/python/Makefile index 83903165..5b60ca9e 100644 --- a/clients/python/Makefile +++ b/clients/python/Makefile @@ -1,3 +1,5 @@ +all: install tidy + .PHONY: install install: ../../bin/openapi-generator-cli generate -i ../../api/openapi/model-registry.yaml -g python -o src/ --package-name mr_openapi --additional-properties=library=asyncio,generateSourceCodeOnly=true,useOneOfDiscriminatorLookup=true @@ -13,22 +15,23 @@ clean: test: poetry run pytest -s -.PHONY: lint-check -lint-check: +.PHONY: lint +lint: poetry run ruff check poetry run black src/mr_openapi --check -.PHONY: lint-apply -lint-apply: +.PHONY: tidy +tidy: + rm -rf src/mr_openapi/docs poetry run ruff check --fix --unsafe-fixes || true poetry run black src/mr_openapi .PHONY: build -build: install lint-apply +build: install tidy poetry build .PHONY: publish -publish: install +publish: build poetry publish --build -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} .PHONY: update diff --git a/clients/python/README.md b/clients/python/README.md index 3cb83a76..2b1e8f82 100644 --- a/clients/python/README.md +++ b/clients/python/README.md @@ -1,6 +1,6 @@ # Model Registry Python Client -[![Python](https://img.shields.io/badge/python%20-3.9%7C3.10-blue)](https://github.com/kubeflow/model-registry) +[![Python](https://img.shields.io/badge/python%20-3.9%7C3.10%7C3.11%7C3.12-blue)](https://github.com/kubeflow/model-registry) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](../../../LICENSE) This library provides a high level interface for interacting with a model registry server. @@ -45,10 +45,6 @@ When registering models stored on S3-compatible object storage, you should use ` unambiguous URI for your artifact. ```py -from model_registry import ModelRegistry, utils - -registry = ModelRegistry(server_address="server-address", port=9090, author="author") - model = registry.register_model( "my-model", # model name uri=utils.s3_uri_from("path/to/model", "my-bucket"), @@ -102,6 +98,31 @@ There are caveats to be noted when using this method: ) ``` +### Listing models + +To list models you can use +```py +for model in registry.get_registered_models(): + ... + +# and versions associated with a model +for version in registry.get_model_versions("my-model"): + ... +``` + +To customize sorting order or query limits you can also use + +```py +latest_updates = registry.get_model_versions("my-model").order_by_update_time().descending().limit(20) +for version in latest_updates: + ... +``` + +You can use `order_by_creation_time`, `order_by_update_time`, or `order_by_id` to change the sorting order. + +> Note that the `limit()` method only limits the query size, not the actual loop boundaries -- even if your limit is 1 +> you will still get all the models, with one query each. + ## Development Common tasks, such as building documentation and running tests, can be executed using [`nox`](https://github.com/wntrblm/nox) sessions. diff --git a/clients/python/docs/reference.md b/clients/python/docs/reference.md index 404eeaf7..8ef28ab9 100644 --- a/clients/python/docs/reference.md +++ b/clients/python/docs/reference.md @@ -17,13 +17,13 @@ To create a client you should use the {py:meth}`model_registry.core.ModelRegistr ```py from model_registry.core import ModelRegistryAPIClient -insecure_registry = ModelRegistryAPIClient.insecure_connection( +insecure_mr_client = ModelRegistryAPIClient.insecure_connection( "server-address", "port", # optionally, you can identify yourself # user_token=os.environ["MY_TOKEN"] ) -insecure_registry = ModelRegistryAPIClient.insecure_connection( +mr_client = ModelRegistryAPIClient.secure_connection( "server-address", "port", user_token=os.environ["MY_TOKEN"] # this is necessary on a secure connection # optionally, use a custom_ca @@ -42,7 +42,7 @@ from model_registry.types import RegisteredModel, ModelVersion, ModelArtifact from model_registry.utils import s3_uri_from async def register_a_model(): - model = await registry.upsert_registered_model( + model = await mr_client.upsert_registered_model( RegisteredModel( name="HAL", owner="me ", @@ -51,7 +51,7 @@ async def register_a_model(): assert model.id # this should be valid now # we need a registered model to associate the version to - version = await registry.upsert_model_version( + version = await mr_client.upsert_model_version( ModelVersion( name="9000", author="Mr. Tom A.I.", @@ -62,7 +62,7 @@ async def register_a_model(): assert version.id # we need a version to associate a trained model to - trained_model = await registry.upsert_model_artifact( + trained_model = await mr_client.upsert_model_artifact( ModelArtifact( name="HAL-core", uri=s3_uri_from("build/onnx/hal.onnx", "cool-bucket"), @@ -80,6 +80,23 @@ async def register_a_model(): As objects are only assigned IDs upon creation, you can use this property to verify whether an object exists. +You can associate multiple artifacts with the same version as well: + +```py +from model_registry.types import DocArtifact + +readme = await mr_client.upsert_model_version_artifact( + DocArtifact( + name="README", + uri="https://github.com/my-org/my-model/blob/main/README.md", + description="Model information" + ), version.id +) +``` + +> Note: document artifacts currently have no `storage_*` attributes, so you have to keep track of any credentials +> necessary to access it manually. + ### Query objects There are several ways to get registered objects from the registry. @@ -89,9 +106,9 @@ There are several ways to get registered objects from the registry. After upserting an object you can use its `id` to fetch it again. ```py -new_model = await registry.upsert_registered_model(RegisteredModel("new_model")) +new_model = await mr_client.upsert_registered_model(RegisteredModel("new_model")) -maybe_new_model = await registry.get_registered_model_by_id(new_model.id) +maybe_new_model = await mr_client.get_registered_model_by_id(new_model.id) assert maybe_new_model == new_model # True ``` @@ -132,22 +149,22 @@ You can also perform queries by parameters: ```py # We can get the model artifact associated to a version -another_trained_model = await registry.get_model_artifact_by_params(name="my_model_name", model_version_id=another_version.id) +another_trained_model = await mr_client.get_model_artifact_by_params(name="my_model_name", model_version_id=another_version.id) # Or by its unique identifier -trained_model = await registry.get_model_artifact_by_params(external_id="unique_reference") +trained_model = await mr_client.get_model_artifact_by_params(external_id="unique_reference") # Same thing for a version -version = await registry.get_model_version_by_params(external_id="unique_reference") +version = await mr_client.get_model_version_by_params(external_id="unique_reference") # Or for a model -model = await registry.get_registered_model_by_params(external_id="another_unique_reference") +model = await mr_client.get_registered_model_by_params(external_id="another_unique_reference") # We can also get a version by its name and associated model id -version = await registry.get_model_version_by_params(version="v1.0", registered_model_id="x") +version = await mr_client.get_model_version_by_params(version="v1.0", registered_model_id="x") # And we can get a model by simply calling its name -model = await registry.get_registered_model_by_params(name="my_model_name") +model = await mr_client.get_registered_model_by_params(name="my_model_name") ``` ### Query multiple objects @@ -155,29 +172,65 @@ model = await registry.get_registered_model_by_params(name="my_model_name") We can query all objects of a type ```py -models = await registry.get_registered_models() +models = await mr_client.get_registered_models() -versions = await registry.get_model_versions("registered_model_id") +versions = await mr_client.get_model_versions("registered_model_id") -# We can get a list of all model artifacts -all_model_artifacts = await registry.get_model_artifacts() +# We can get a list of the first 20 model artifacts +all_model_artifacts = await mr_client.get_model_artifacts() ``` -To limit or order the query, provide a {py:class}`model_registry.types.ListOptions` object. +To limit or sort the query by another parameter, provide a {py:class}`model_registry.types.ListOptions` object. ```py -from model_registry import ListOptions +from model_registry.types import ListOptions options = ListOptions(limit=50) -first_50_models = await registry.get_registered_models(options) +first_50_models = await mr_client.get_registered_models(options) # By default we get ascending order options = ListOptions.order_by_creation_time(is_asc=False) -last_50_models = await registry.get_registered_models(options) +last_50_models = await mr_client.get_registered_models(options) +``` + +You can also use the high-level {py:class}`model_registry.types.Pager` to get an iterator. + +```py +from model_registry.types import Pager + +models = Pager(mr_client.get_registered_models) + +async for model in models: + ... +``` + +Note that the iterator currently only works with methods that take a `ListOptions` argument, so if you want to use a +method that needs additional arguments, you'll need to provide a partial application like in the example below. + +```py +model_version_artifacts = Pager(lambda o: mr_client.get_model_version_artifacts(mv.id, o)) +``` + +> ⚠️ Also note that a [`partial`](https://docs.python.org/3/library/functools.html#functools.partial) definition won't work as the `options` argument is optional, and thus has to be overriden as a positional argument. + +The iterator provides methods for setting up the {py:class}`model_registry.types.ListOptions` that will be used in each +call. + +```py +reverse_model_version_artifacts = model_version_artifacts.order_by_creation_time().descending().limit(100) ``` +You can also get each page separately and iterate yourself: + +```py +page = await reverse_model_version_artifacts.next_page() +``` + +> Note: the iterator will be automagically sync or async depending on the paging function passed in for initialization. + + ```{eval-rst} .. automodule:: model_registry.core ``` @@ -188,6 +241,8 @@ last_50_models = await registry.get_registered_models(options) Registry objects can be created by doing + + ```py from model_registry.types import ModelArtifact, ModelVersion, RegisteredModel @@ -195,6 +250,8 @@ trained_model = ModelArtifact( name="model-exec", uri="resource_URI", description="Model description", + model_format_name="onnx", + model_format_version="1", ) version = ModelVersion( diff --git a/clients/python/poetry.lock b/clients/python/poetry.lock index babf9b27..a7972499 100644 --- a/clients/python/poetry.lock +++ b/clients/python/poetry.lock @@ -231,6 +231,52 @@ soupsieve = ">1.2" html5lib = ["html5lib"] lxml = ["lxml"] +[[package]] +name = "black" +version = "24.4.2" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.8" +files = [ + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, +] + +[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 = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + [[package]] name = "certifi" version = "2024.7.4" @@ -368,63 +414,63 @@ files = [ [[package]] name = "coverage" -version = "7.5.4" +version = "7.6.0" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cfb5a4f556bb51aba274588200a46e4dd6b505fb1a5f8c5ae408222eb416f99"}, - {file = "coverage-7.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2174e7c23e0a454ffe12267a10732c273243b4f2d50d07544a91198f05c48f47"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2214ee920787d85db1b6a0bd9da5f8503ccc8fcd5814d90796c2f2493a2f4d2e"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1137f46adb28e3813dec8c01fefadcb8c614f33576f672962e323b5128d9a68d"}, - {file = "coverage-7.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b385d49609f8e9efc885790a5a0e89f2e3ae042cdf12958b6034cc442de428d3"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b4a474f799456e0eb46d78ab07303286a84a3140e9700b9e154cfebc8f527016"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5cd64adedf3be66f8ccee418473c2916492d53cbafbfcff851cbec5a8454b136"}, - {file = "coverage-7.5.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e564c2cf45d2f44a9da56f4e3a26b2236504a496eb4cb0ca7221cd4cc7a9aca9"}, - {file = "coverage-7.5.4-cp310-cp310-win32.whl", hash = "sha256:7076b4b3a5f6d2b5d7f1185fde25b1e54eb66e647a1dfef0e2c2bfaf9b4c88c8"}, - {file = "coverage-7.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:018a12985185038a5b2bcafab04ab833a9a0f2c59995b3cec07e10074c78635f"}, - {file = "coverage-7.5.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db14f552ac38f10758ad14dd7b983dbab424e731588d300c7db25b6f89e335b5"}, - {file = "coverage-7.5.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3257fdd8e574805f27bb5342b77bc65578e98cbc004a92232106344053f319ba"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a6612c99081d8d6134005b1354191e103ec9705d7ba2754e848211ac8cacc6b"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d45d3cbd94159c468b9b8c5a556e3f6b81a8d1af2a92b77320e887c3e7a5d080"}, - {file = "coverage-7.5.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed550e7442f278af76d9d65af48069f1fb84c9f745ae249c1a183c1e9d1b025c"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7a892be37ca35eb5019ec85402c3371b0f7cda5ab5056023a7f13da0961e60da"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8192794d120167e2a64721d88dbd688584675e86e15d0569599257566dec9bf0"}, - {file = "coverage-7.5.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:820bc841faa502e727a48311948e0461132a9c8baa42f6b2b84a29ced24cc078"}, - {file = "coverage-7.5.4-cp311-cp311-win32.whl", hash = "sha256:6aae5cce399a0f065da65c7bb1e8abd5c7a3043da9dceb429ebe1b289bc07806"}, - {file = "coverage-7.5.4-cp311-cp311-win_amd64.whl", hash = "sha256:d2e344d6adc8ef81c5a233d3a57b3c7d5181f40e79e05e1c143da143ccb6377d"}, - {file = "coverage-7.5.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:54317c2b806354cbb2dc7ac27e2b93f97096912cc16b18289c5d4e44fc663233"}, - {file = "coverage-7.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:042183de01f8b6d531e10c197f7f0315a61e8d805ab29c5f7b51a01d62782747"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6bb74ed465d5fb204b2ec41d79bcd28afccf817de721e8a807d5141c3426638"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3d45ff86efb129c599a3b287ae2e44c1e281ae0f9a9bad0edc202179bcc3a2e"}, - {file = "coverage-7.5.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5013ed890dc917cef2c9f765c4c6a8ae9df983cd60dbb635df8ed9f4ebc9f555"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1014fbf665fef86cdfd6cb5b7371496ce35e4d2a00cda501cf9f5b9e6fced69f"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3684bc2ff328f935981847082ba4fdc950d58906a40eafa93510d1b54c08a66c"}, - {file = "coverage-7.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:581ea96f92bf71a5ec0974001f900db495488434a6928a2ca7f01eee20c23805"}, - {file = "coverage-7.5.4-cp312-cp312-win32.whl", hash = "sha256:73ca8fbc5bc622e54627314c1a6f1dfdd8db69788f3443e752c215f29fa87a0b"}, - {file = "coverage-7.5.4-cp312-cp312-win_amd64.whl", hash = "sha256:cef4649ec906ea7ea5e9e796e68b987f83fa9a718514fe147f538cfeda76d7a7"}, - {file = "coverage-7.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdd31315fc20868c194130de9ee6bfd99755cc9565edff98ecc12585b90be882"}, - {file = "coverage-7.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:02ff6e898197cc1e9fa375581382b72498eb2e6d5fc0b53f03e496cfee3fac6d"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d05c16cf4b4c2fc880cb12ba4c9b526e9e5d5bb1d81313d4d732a5b9fe2b9d53"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5986ee7ea0795a4095ac4d113cbb3448601efca7f158ec7f7087a6c705304e4"}, - {file = "coverage-7.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5df54843b88901fdc2f598ac06737f03d71168fd1175728054c8f5a2739ac3e4"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ab73b35e8d109bffbda9a3e91c64e29fe26e03e49addf5b43d85fc426dde11f9"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:aea072a941b033813f5e4814541fc265a5c12ed9720daef11ca516aeacd3bd7f"}, - {file = "coverage-7.5.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:16852febd96acd953b0d55fc842ce2dac1710f26729b31c80b940b9afcd9896f"}, - {file = "coverage-7.5.4-cp38-cp38-win32.whl", hash = "sha256:8f894208794b164e6bd4bba61fc98bf6b06be4d390cf2daacfa6eca0a6d2bb4f"}, - {file = "coverage-7.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:e2afe743289273209c992075a5a4913e8d007d569a406ffed0bd080ea02b0633"}, - {file = "coverage-7.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b95c3a8cb0463ba9f77383d0fa8c9194cf91f64445a63fc26fb2327e1e1eb088"}, - {file = "coverage-7.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3d7564cc09dd91b5a6001754a5b3c6ecc4aba6323baf33a12bd751036c998be4"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44da56a2589b684813f86d07597fdf8a9c6ce77f58976727329272f5a01f99f7"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e16f3d6b491c48c5ae726308e6ab1e18ee830b4cdd6913f2d7f77354b33f91c8"}, - {file = "coverage-7.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbc5958cb471e5a5af41b0ddaea96a37e74ed289535e8deca404811f6cb0bc3d"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a04e990a2a41740b02d6182b498ee9796cf60eefe40cf859b016650147908029"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ddbd2f9713a79e8e7242d7c51f1929611e991d855f414ca9996c20e44a895f7c"}, - {file = "coverage-7.5.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b1ccf5e728ccf83acd313c89f07c22d70d6c375a9c6f339233dcf792094bcbf7"}, - {file = "coverage-7.5.4-cp39-cp39-win32.whl", hash = "sha256:56b4eafa21c6c175b3ede004ca12c653a88b6f922494b023aeb1e836df953ace"}, - {file = "coverage-7.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:65e528e2e921ba8fd67d9055e6b9f9e34b21ebd6768ae1c1723f4ea6ace1234d"}, - {file = "coverage-7.5.4-pp38.pp39.pp310-none-any.whl", hash = "sha256:79b356f3dd5b26f3ad23b35c75dbdaf1f9e2450b6bcefc6d0825ea0aa3f86ca5"}, - {file = "coverage-7.5.4.tar.gz", hash = "sha256:a44963520b069e12789d0faea4e9fdb1e410cdc4aab89d94f7f55cbb7fef0353"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"}, + {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"}, + {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"}, + {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"}, + {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"}, + {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"}, + {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"}, + {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"}, + {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"}, + {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"}, + {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"}, + {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"}, + {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"}, ] [package.dependencies] @@ -1089,6 +1135,33 @@ files = [ {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] + [[package]] name = "pluggy" version = "1.5.0" @@ -1106,109 +1179,122 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pydantic" -version = "2.7.4" +version = "2.8.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"}, - {file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"}, + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.18.4" -typing-extensions = ">=4.6.1" +pydantic-core = "2.20.1" +typing-extensions = [ + {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, + {version = ">=4.6.1", markers = "python_version < \"3.13\""}, +] [package.extras] email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.18.4" +version = "2.20.1" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.18.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4"}, - {file = "pydantic_core-2.18.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb"}, - {file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c"}, - {file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e"}, - {file = "pydantic_core-2.18.4-cp310-none-win32.whl", hash = "sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc"}, - {file = "pydantic_core-2.18.4-cp310-none-win_amd64.whl", hash = "sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0"}, - {file = "pydantic_core-2.18.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:942ba11e7dfb66dc70f9ae66b33452f51ac7bb90676da39a7345e99ffb55402d"}, - {file = "pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b2ebef0e0b4454320274f5e83a41844c63438fdc874ea40a8b5b4ecb7693f1c4"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a642295cd0c8df1b86fc3dced1d067874c353a188dc8e0f744626d49e9aa51c4"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f09baa656c904807e832cf9cce799c6460c450c4ad80803517032da0cd062e2"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98906207f29bc2c459ff64fa007afd10a8c8ac080f7e4d5beff4c97086a3dabd"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19894b95aacfa98e7cb093cd7881a0c76f55731efad31073db4521e2b6ff5b7d"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fbbdc827fe5e42e4d196c746b890b3d72876bdbf160b0eafe9f0334525119c8"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f85d05aa0918283cf29a30b547b4df2fbb56b45b135f9e35b6807cb28bc47951"}, - {file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e85637bc8fe81ddb73fda9e56bab24560bdddfa98aa64f87aaa4e4b6730c23d2"}, - {file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2f5966897e5461f818e136b8451d0551a2e77259eb0f73a837027b47dc95dab9"}, - {file = "pydantic_core-2.18.4-cp311-none-win32.whl", hash = "sha256:44c7486a4228413c317952e9d89598bcdfb06399735e49e0f8df643e1ccd0558"}, - {file = "pydantic_core-2.18.4-cp311-none-win_amd64.whl", hash = "sha256:8a7164fe2005d03c64fd3b85649891cd4953a8de53107940bf272500ba8a788b"}, - {file = "pydantic_core-2.18.4-cp311-none-win_arm64.whl", hash = "sha256:4e99bc050fe65c450344421017f98298a97cefc18c53bb2f7b3531eb39bc7805"}, - {file = "pydantic_core-2.18.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6f5c4d41b2771c730ea1c34e458e781b18cc668d194958e0112455fff4e402b2"}, - {file = "pydantic_core-2.18.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2fdf2156aa3d017fddf8aea5adfba9f777db1d6022d392b682d2a8329e087cef"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4748321b5078216070b151d5271ef3e7cc905ab170bbfd27d5c83ee3ec436695"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847a35c4d58721c5dc3dba599878ebbdfd96784f3fb8bb2c356e123bdcd73f34"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c40d4eaad41f78e3bbda31b89edc46a3f3dc6e171bf0ecf097ff7a0ffff7cb1"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:21a5e440dbe315ab9825fcd459b8814bb92b27c974cbc23c3e8baa2b76890077"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01dd777215e2aa86dfd664daed5957704b769e726626393438f9c87690ce78c3"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4b06beb3b3f1479d32befd1f3079cc47b34fa2da62457cdf6c963393340b56e9"}, - {file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:564d7922e4b13a16b98772441879fcdcbe82ff50daa622d681dd682175ea918c"}, - {file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0eb2a4f660fcd8e2b1c90ad566db2b98d7f3f4717c64fe0a83e0adb39766d5b8"}, - {file = "pydantic_core-2.18.4-cp312-none-win32.whl", hash = "sha256:8b8bab4c97248095ae0c4455b5a1cd1cdd96e4e4769306ab19dda135ea4cdb07"}, - {file = "pydantic_core-2.18.4-cp312-none-win_amd64.whl", hash = "sha256:14601cdb733d741b8958224030e2bfe21a4a881fb3dd6fbb21f071cabd48fa0a"}, - {file = "pydantic_core-2.18.4-cp312-none-win_arm64.whl", hash = "sha256:c1322d7dd74713dcc157a2b7898a564ab091ca6c58302d5c7b4c07296e3fd00f"}, - {file = "pydantic_core-2.18.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:823be1deb01793da05ecb0484d6c9e20baebb39bd42b5d72636ae9cf8350dbd2"}, - {file = "pydantic_core-2.18.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebef0dd9bf9b812bf75bda96743f2a6c5734a02092ae7f721c048d156d5fabae"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae1d6df168efb88d7d522664693607b80b4080be6750c913eefb77e34c12c71a"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9899c94762343f2cc2fc64c13e7cae4c3cc65cdfc87dd810a31654c9b7358cc"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99457f184ad90235cfe8461c4d70ab7dd2680e28821c29eca00252ba90308c78"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18f469a3d2a2fdafe99296a87e8a4c37748b5080a26b806a707f25a902c040a8"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cdf28938ac6b8b49ae5e92f2735056a7ba99c9b110a474473fd71185c1af5d"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:938cb21650855054dc54dfd9120a851c974f95450f00683399006aa6e8abb057"}, - {file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:44cd83ab6a51da80fb5adbd9560e26018e2ac7826f9626bc06ca3dc074cd198b"}, - {file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:972658f4a72d02b8abfa2581d92d59f59897d2e9f7e708fdabe922f9087773af"}, - {file = "pydantic_core-2.18.4-cp38-none-win32.whl", hash = "sha256:1d886dc848e60cb7666f771e406acae54ab279b9f1e4143babc9c2258213daa2"}, - {file = "pydantic_core-2.18.4-cp38-none-win_amd64.whl", hash = "sha256:bb4462bd43c2460774914b8525f79b00f8f407c945d50881568f294c1d9b4443"}, - {file = "pydantic_core-2.18.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:44a688331d4a4e2129140a8118479443bd6f1905231138971372fcde37e43528"}, - {file = "pydantic_core-2.18.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a2fdd81edd64342c85ac7cf2753ccae0b79bf2dfa063785503cb85a7d3593223"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86110d7e1907ab36691f80b33eb2da87d780f4739ae773e5fc83fb272f88825f"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:46387e38bd641b3ee5ce247563b60c5ca098da9c56c75c157a05eaa0933ed154"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:123c3cec203e3f5ac7b000bd82235f1a3eced8665b63d18be751f115588fea30"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dc1803ac5c32ec324c5261c7209e8f8ce88e83254c4e1aebdc8b0a39f9ddb443"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53db086f9f6ab2b4061958d9c276d1dbe3690e8dd727d6abf2321d6cce37fa94"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:abc267fa9837245cc28ea6929f19fa335f3dc330a35d2e45509b6566dc18be23"}, - {file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a0d829524aaefdebccb869eed855e2d04c21d2d7479b6cada7ace5448416597b"}, - {file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:509daade3b8649f80d4e5ff21aa5673e4ebe58590b25fe42fac5f0f52c6f034a"}, - {file = "pydantic_core-2.18.4-cp39-none-win32.whl", hash = "sha256:ca26a1e73c48cfc54c4a76ff78df3727b9d9f4ccc8dbee4ae3f73306a591676d"}, - {file = "pydantic_core-2.18.4-cp39-none-win_amd64.whl", hash = "sha256:c67598100338d5d985db1b3d21f3619ef392e185e71b8d52bceacc4a7771ea7e"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9"}, - {file = "pydantic_core-2.18.4.tar.gz", hash = "sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, ] [package.dependencies] @@ -1383,29 +1469,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.5.1" +version = "0.5.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.5.1-py3-none-linux_armv6l.whl", hash = "sha256:6ecf968fcf94d942d42b700af18ede94b07521bd188aaf2cd7bc898dd8cb63b6"}, - {file = "ruff-0.5.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:204fb0a472f00f2e6280a7c8c7c066e11e20e23a37557d63045bf27a616ba61c"}, - {file = "ruff-0.5.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d235968460e8758d1e1297e1de59a38d94102f60cafb4d5382033c324404ee9d"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38beace10b8d5f9b6bdc91619310af6d63dd2019f3fb2d17a2da26360d7962fa"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e478d2f09cf06add143cf8c4540ef77b6599191e0c50ed976582f06e588c994"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0368d765eec8247b8550251c49ebb20554cc4e812f383ff9f5bf0d5d94190b0"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3a9a9a1b582e37669b0138b7c1d9d60b9edac880b80eb2baba6d0e566bdeca4d"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bdd9f723e16003623423affabcc0a807a66552ee6a29f90eddad87a40c750b78"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:be9fd62c1e99539da05fcdc1e90d20f74aec1b7a1613463ed77870057cd6bd96"}, - {file = "ruff-0.5.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e216fc75a80ea1fbd96af94a6233d90190d5b65cc3d5dfacf2bd48c3e067d3e1"}, - {file = "ruff-0.5.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c4c2112e9883a40967827d5c24803525145e7dab315497fae149764979ac7929"}, - {file = "ruff-0.5.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dfaf11c8a116394da3b65cd4b36de30d8552fa45b8119b9ef5ca6638ab964fa3"}, - {file = "ruff-0.5.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d7ceb9b2fe700ee09a0c6b192c5ef03c56eb82a0514218d8ff700f6ade004108"}, - {file = "ruff-0.5.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bac6288e82f6296f82ed5285f597713acb2a6ae26618ffc6b429c597b392535c"}, - {file = "ruff-0.5.1-py3-none-win32.whl", hash = "sha256:5c441d9c24ec09e1cb190a04535c5379b36b73c4bc20aa180c54812c27d1cca4"}, - {file = "ruff-0.5.1-py3-none-win_amd64.whl", hash = "sha256:b1789bf2cd3d1b5a7d38397cac1398ddf3ad7f73f4de01b1e913e2abc7dfc51d"}, - {file = "ruff-0.5.1-py3-none-win_arm64.whl", hash = "sha256:2875b7596a740cbbd492f32d24be73e545a4ce0a3daf51e4f4e609962bfd3cd2"}, - {file = "ruff-0.5.1.tar.gz", hash = "sha256:3164488aebd89b1745b47fd00604fb4358d774465f20d1fcd907f9c0fc1b0655"}, + {file = "ruff-0.5.2-py3-none-linux_armv6l.whl", hash = "sha256:7bab8345df60f9368d5f4594bfb8b71157496b44c30ff035d1d01972e764d3be"}, + {file = "ruff-0.5.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1aa7acad382ada0189dbe76095cf0a36cd0036779607c397ffdea16517f535b1"}, + {file = "ruff-0.5.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:aec618d5a0cdba5592c60c2dee7d9c865180627f1a4a691257dea14ac1aa264d"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0b62adc5ce81780ff04077e88bac0986363e4a3260ad3ef11ae9c14aa0e67ef"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dc42ebf56ede83cb080a50eba35a06e636775649a1ffd03dc986533f878702a3"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c15c6e9f88c67ffa442681365d11df38afb11059fc44238e71a9d9f1fd51de70"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d3de9a5960f72c335ef00763d861fc5005ef0644cb260ba1b5a115a102157251"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe5a968ae933e8f7627a7b2fc8893336ac2be0eb0aace762d3421f6e8f7b7f83"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a04f54a9018f75615ae52f36ea1c5515e356e5d5e214b22609ddb546baef7132"}, + {file = "ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed02fb52e3741f0738db5f93e10ae0fb5c71eb33a4f2ba87c9a2fa97462a649"}, + {file = "ruff-0.5.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3cf8fe659f6362530435d97d738eb413e9f090e7e993f88711b0377fbdc99f60"}, + {file = "ruff-0.5.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:237a37e673e9f3cbfff0d2243e797c4862a44c93d2f52a52021c1a1b0899f846"}, + {file = "ruff-0.5.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2a2949ce7c1cbd8317432ada80fe32156df825b2fd611688814c8557824ef060"}, + {file = "ruff-0.5.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:481af57c8e99da92ad168924fd82220266043c8255942a1cb87958b108ac9335"}, + {file = "ruff-0.5.2-py3-none-win32.whl", hash = "sha256:f1aea290c56d913e363066d83d3fc26848814a1fed3d72144ff9c930e8c7c718"}, + {file = "ruff-0.5.2-py3-none-win_amd64.whl", hash = "sha256:8532660b72b5d94d2a0a7a27ae7b9b40053662d00357bb2a6864dd7e38819084"}, + {file = "ruff-0.5.2-py3-none-win_arm64.whl", hash = "sha256:73439805c5cb68f364d826a5c5c4b6c798ded6b7ebaa4011f01ce6c94e4d5583"}, + {file = "ruff-0.5.2.tar.gz", hash = "sha256:2c0df2d2de685433794a14d8d2e240df619b748fbe3367346baa519d8e6f1ca2"}, ] [[package]] @@ -1469,27 +1555,27 @@ files = [ [[package]] name = "sphinx" -version = "7.3.7" +version = "7.4.3" description = "Python documentation generator" optional = false python-versions = ">=3.9" files = [ - {file = "sphinx-7.3.7-py3-none-any.whl", hash = "sha256:413f75440be4cacf328f580b4274ada4565fb2187d696a84970c23f77b64d8c3"}, - {file = "sphinx-7.3.7.tar.gz", hash = "sha256:a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc"}, + {file = "sphinx-7.4.3-py3-none-any.whl", hash = "sha256:a3c295d0e8be6277e0a5ba5c6909a308bd208876b0f4f68c7cc591f566129412"}, + {file = "sphinx-7.4.3.tar.gz", hash = "sha256:bd846bcb09fd2b6e94ce3e1ad50f4618bccf03cc7c17d0f3fa87393c0bd9178b"}, ] [package.dependencies] alabaster = ">=0.7.14,<0.8.0" -babel = ">=2.9" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.18.1,<0.22" +babel = ">=2.13" +colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} +docutils = ">=0.20,<0.22" imagesize = ">=1.3" -importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""} -Jinja2 = ">=3.0" -packaging = ">=21.0" -Pygments = ">=2.14" -requests = ">=2.25.0" -snowballstemmer = ">=2.0" +importlib-metadata = {version = ">=6.0", markers = "python_version < \"3.10\""} +Jinja2 = ">=3.1" +packaging = ">=23.0" +Pygments = ">=2.17" +requests = ">=2.30.0" +snowballstemmer = ">=2.2" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" sphinxcontrib-htmlhelp = ">=2.0.0" @@ -1500,8 +1586,8 @@ tomli = {version = ">=2", markers = "python_version < \"3.11\""} [package.extras] docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=3.5.0)", "importlib_metadata", "mypy (==1.9.0)", "pytest (>=6.0)", "ruff (==0.3.7)", "sphinx-lint", "tomli", "types-docutils", "types-requests"] -test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=6.0)", "setuptools (>=67.0)"] +lint = ["flake8 (>=6.0)", "importlib-metadata (>=6.0)", "mypy (==1.10.1)", "pytest (>=6.0)", "ruff (==0.5.2)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-docutils (==0.21.0.20240711)", "types-requests (>=2.30.0)"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] [[package]] name = "sphinx-autobuild" @@ -2048,4 +2134,4 @@ hf = ["huggingface-hub"] [metadata] lock-version = "2.0" python-versions = ">= 3.9, < 4.0" -content-hash = "de2a1166f92dcc1f80d829de86a17dbdd93834c56992f476dda1f3bed4174fec" +content-hash = "52bee21152345aa00eef00b9e2be6e08113ad9cd7bc883c8c339bcf635a1974b" diff --git a/clients/python/pyproject.toml b/clients/python/pyproject.toml index 28b07ada..834c5488 100644 --- a/clients/python/pyproject.toml +++ b/clients/python/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "model-registry" -version = "0.2.3a1" +version = "0.2.4a1" description = "Client for Kubeflow Model Registry" authors = ["Isabella Basso do Amaral "] license = "Apache-2.0" @@ -44,10 +44,11 @@ sphinx-autobuild = ">=2021.3.14,<2025.0.0" pytest = ">=7.4.2,<9.0.0" coverage = { extras = ["toml"], version = "^7.3.2" } pytest-cov = ">=4.1,<6.0" -ruff = "0.5.1" +ruff = "^0.5.2" mypy = "^1.7.0" pytest-asyncio = "^0.23.7" requests = "^2.32.2" +black = "^24.4.2" [tool.coverage.run] branch = true diff --git a/clients/python/src/model_registry/__init__.py b/clients/python/src/model_registry/__init__.py index b7f7c7a1..646fcdec 100644 --- a/clients/python/src/model_registry/__init__.py +++ b/clients/python/src/model_registry/__init__.py @@ -1,6 +1,6 @@ -"""Main package for the ODH model registry.""" +"""Main package for the Kubeflow model registry.""" -__version__ = "0.2.3a1" +__version__ = "0.2.4a1" from ._client import ModelRegistry diff --git a/clients/python/src/model_registry/_client.py b/clients/python/src/model_registry/_client.py index 2d263e52..25393d0d 100644 --- a/clients/python/src/model_registry/_client.py +++ b/clients/python/src/model_registry/_client.py @@ -9,7 +9,14 @@ from .core import ModelRegistryAPIClient from .exceptions import StoreError -from .types import ModelArtifact, ModelVersion, RegisteredModel, SupportedTypes +from .types import ( + ListOptions, + ModelArtifact, + ModelVersion, + Pager, + RegisteredModel, + SupportedTypes, +) class ModelRegistry: @@ -327,3 +334,38 @@ def get_model_artifact(self, name: str, version: str) -> ModelArtifact | None: raise StoreError(msg) assert mv.id return self.async_runner(self._api.get_model_artifact_by_params(name, mv.id)) + + def get_registered_models(self) -> Pager[RegisteredModel]: + """Get a pager for registered models. + + Returns: + Iterable pager for registered models. + """ + + def rm_list(options: ListOptions) -> list[RegisteredModel]: + return self.async_runner(self._api.get_registered_models(options)) + + return Pager[RegisteredModel](rm_list) + + def get_model_versions(self, name: str) -> Pager[ModelVersion]: + """Get a pager for model versions. + + Args: + name: Name of the model. + + Returns: + Iterable pager for model versions. + + Raises: + StoreException: If the model does not exist. + """ + if not (rm := self.get_registered_model(name)): + msg = f"Model {name} does not exist" + raise StoreError(msg) + + def rm_versions(options: ListOptions) -> list[ModelVersion]: + # type checkers can't restrict the type inside a nested function: https://mypy.readthedocs.io/en/stable/common_issues.html#narrowing-and-inner-functions + assert rm.id + return self.async_runner(self._api.get_model_versions(rm.id, options)) + + return Pager[ModelVersion](rm_versions) diff --git a/clients/python/src/model_registry/core.py b/clients/python/src/model_registry/core.py index a9b267e3..4586668f 100644 --- a/clients/python/src/model_registry/core.py +++ b/clients/python/src/model_registry/core.py @@ -5,6 +5,7 @@ from collections.abc import AsyncIterator from contextlib import asynccontextmanager from dataclasses import dataclass +from typing import TypeVar, cast from mr_openapi import ( ApiClient, @@ -25,6 +26,8 @@ RegisteredModel, ) +ArtifactT = TypeVar("ArtifactT", bound=Artifact) + @dataclass class ModelRegistryAPIClient: @@ -169,11 +172,14 @@ async def get_registered_models( Registered models. """ async with self.get_client() as client: - rms = await client.get_registered_models( + rm_list = await client.get_registered_models( **(options or ListOptions()).as_options() ) - return [RegisteredModel.from_basemodel(rm) for rm in rms.items or []] + if options: + options.next_page_token = rm_list.next_page_token + + return [RegisteredModel.from_basemodel(rm) for rm in rm_list.items or []] async def upsert_model_version( self, model_version: ModelVersion, registered_model_id: str @@ -233,11 +239,14 @@ async def get_model_versions( Model versions. """ async with self.get_client() as client: - mvs = await client.get_registered_model_versions( + mv_list = await client.get_registered_model_versions( registered_model_id, **(options or ListOptions()).as_options() ) - return [ModelVersion.from_basemodel(mv) for mv in mvs.items or []] + if options: + options.next_page_token = mv_list.next_page_token + + return [ModelVersion.from_basemodel(mv) for mv in mv_list.items or []] @overload async def get_model_version_by_params( @@ -298,17 +307,41 @@ async def upsert_model_artifact( Returns: New model artifact. """ + if not model_artifact.id: + return await self.create_model_version_artifact( + model_artifact, model_version_id + ) + async with self.get_client() as client: - if model_artifact.id: - ma = await client.update_model_artifact( + return ModelArtifact.from_basemodel( + await client.update_model_artifact( model_artifact.id, model_artifact.update() ) - return ModelArtifact.from_basemodel(ma) + ) + + async def create_model_version_artifact( + self, artifact: ArtifactT, model_version_id: str + ) -> ArtifactT: + """Creates a model version artifact. + + Creates a model version artifact on the server. - art = await client.create_model_version_artifact( - model_version_id, model_artifact.wrap() + Args: + artifact: Model version artifact to upsert. + model_version_id: ID of the model version this artifact will be associated to. + + Returns: + New model version artifact. + """ + async with self.get_client() as client: + return cast( + ArtifactT, + Artifact.validate_artifact( + await client.create_model_version_artifact( + model_version_id, artifact.wrap() + ) + ), ) - return ModelArtifact.from_artifact(art) async def get_model_artifact_by_id(self, id: str) -> ModelArtifact | None: """Fetch a model artifact by its ID. @@ -388,17 +421,43 @@ async def get_model_artifacts( """ async with self.get_client() as client: if model_version_id: - arts = await client.get_model_version_artifacts( + art_list = await client.get_model_version_artifacts( model_version_id, **(options or ListOptions()).as_options() ) + if options: + options.next_page_token = art_list.next_page_token models = [] - for art in arts.items or []: + for art in art_list.items or []: converted = Artifact.validate_artifact(art) if isinstance(converted, ModelArtifact): models.append(converted) return models - mas = await client.get_model_artifacts( + ma_list = await client.get_model_artifacts( **(options or ListOptions()).as_options() ) - return [ModelArtifact.from_basemodel(ma) for ma in mas.items or []] + if options: + options.next_page_token = ma_list.next_page_token + return [ModelArtifact.from_basemodel(ma) for ma in ma_list.items or []] + + async def get_model_version_artifacts( + self, + model_version_id: str, + options: ListOptions | None = None, + ) -> list[Artifact]: + """Fetches model artifacts. + + Args: + model_version_id: ID of the associated model version. + options: Options for listing model artifacts. + + Returns: + Model artifacts. + """ + async with self.get_client() as client: + art_list = await client.get_model_version_artifacts( + model_version_id, **(options or ListOptions()).as_options() + ) + if options: + options.next_page_token = art_list.next_page_token + return [Artifact.validate_artifact(art) for art in art_list.items or []] diff --git a/clients/python/src/model_registry/types/__init__.py b/clients/python/src/model_registry/types/__init__.py index e63612a8..59329a56 100644 --- a/clients/python/src/model_registry/types/__init__.py +++ b/clients/python/src/model_registry/types/__init__.py @@ -3,7 +3,7 @@ Types are based on [ML Metadata](https://github.com/google/ml-metadata), with Pythonic class wrappers. """ -from .artifacts import Artifact, ArtifactState, ModelArtifact +from .artifacts import Artifact, ArtifactState, DocArtifact, ModelArtifact from .base import SupportedTypes from .contexts import ( ModelVersion, @@ -12,11 +12,13 @@ RegisteredModelState, ) from .options import ListOptions +from .pager import Pager __all__ = [ # Artifacts "Artifact", "ArtifactState", + "DocArtifact", "ModelArtifact", # Contexts "ModelVersion", @@ -26,4 +28,6 @@ "SupportedTypes", # Options "ListOptions", + # Pager + "Pager", ] diff --git a/clients/python/src/model_registry/types/options.py b/clients/python/src/model_registry/types/options.py index 3be74ef4..13f8b88a 100644 --- a/clients/python/src/model_registry/types/options.py +++ b/clients/python/src/model_registry/types/options.py @@ -19,11 +19,13 @@ class ListOptions: limit: Maximum number of objects to return. order_by: Field to order by. is_asc: Whether to order in ascending order. Defaults to True. + next_page_token: Token to use to retrieve next page of results. """ limit: int | None = None order_by: OrderByField | None = None is_asc: bool = True + next_page_token: str | None = None @classmethod def order_by_creation_time(cls, **kwargs) -> ListOptions: @@ -49,4 +51,6 @@ def as_options(self) -> dict[str, Any]: options["order_by"] = self.order_by if self.is_asc is not None: options["sort_order"] = SortOrder.ASC if self.is_asc else SortOrder.DESC + if self.next_page_token is not None: + options["next_page_token"] = self.next_page_token return options diff --git a/clients/python/src/model_registry/types/pager.py b/clients/python/src/model_registry/types/pager.py new file mode 100644 index 00000000..a789f248 --- /dev/null +++ b/clients/python/src/model_registry/types/pager.py @@ -0,0 +1,179 @@ +"""Pager for iterating over items.""" + +from __future__ import annotations + +import asyncio +from collections.abc import AsyncIterator, Awaitable, Iterator +from dataclasses import dataclass, field +from typing import Callable, Generic, TypeVar, cast + +from .base import BaseModel +from .options import ListOptions, OrderByField + +T = TypeVar("T", bound=BaseModel) + + +@dataclass +class Pager(Generic[T], Iterator[T], AsyncIterator[T]): + """Pager for iterating over items. + + Assumes that page_fn is a paged function that takes ListOptions and returns a list of items. + """ + + page_fn: ( + Callable[[ListOptions], list[T]] | Callable[[ListOptions], Awaitable[list[T]]] + ) + options: ListOptions = field(default_factory=ListOptions) + + def __post_init__(self): + self.restart() + if asyncio.iscoroutinefunction(self.page_fn): + self.__next__ = NotImplemented + self.next_page = self._anext_page + self.next_item = self._anext_item + else: + self.__anext__ = NotImplemented + self.next_page = self._next_page + self.next_item = self._next_item + + def restart(self) -> Pager[T]: + """Reset the pager. + + This keeps the current options and page function, but resets the internal state. + """ + # as MLMD loops over pages, we need to keep track of the first page or we'll loop forever + self._start = None + self._current_page = None + # tracks the next item on the current page + self._i = 0 + self.options.next_page_token = None + return self + + def order_by_creation_time(self) -> Pager[T]: + """Order items by creation time. + + This resets the pager. + """ + self.options.order_by = OrderByField.CREATE_TIME + return self.restart() + + def order_by_update_time(self) -> Pager[T]: + """Order items by update time. + + This resets the pager. + """ + self.options.order_by = OrderByField.LAST_UPDATE_TIME + return self.restart() + + def order_by_id(self) -> Pager[T]: + """Order items by ID. + + This resets the pager. + """ + self.options.order_by = OrderByField.ID + return self.restart() + + def limit(self, limit: int) -> Pager[T]: + """Limit the number of items to return. + + This resets the pager. + """ + self.options.limit = limit + return self.restart() + + def ascending(self) -> Pager[T]: + """Order items in ascending order. + + This resets the pager. + """ + self.options.is_asc = True + return self.restart() + + def descending(self) -> Pager[T]: + """Order items in descending order. + + This resets the pager. + """ + self.options.is_asc = False + return self.restart() + + def _next_page(self) -> list[T]: + """Get the next page of items. + + This will automatically loop over pages. + """ + return cast(list[T], self.page_fn(self.options)) + + async def _anext_page(self) -> list[T]: + """Get the next page of items. + + This will automatically loop over pages. + """ + return await cast(Awaitable[list[T]], self.page_fn(self.options)) + + def _needs_fetch(self) -> bool: + return not self._current_page or self._i >= len(self._current_page) + + def _next_item(self) -> T: + """Get the next item in the pager. + + This variant won't check for looping, so it's useful for manual iteration/scripting. + + NOTE: This won't check for looping, so use with caution. + If you want to check for looping, use the pythonic `next()`. + """ + if self._needs_fetch(): + self._current_page = self._next_page() + self._i = 0 + assert self._current_page + + item = self._current_page[self._i] + self._i += 1 + return item + + async def _anext_item(self) -> T: + """Get the next item in the pager. + + This variant won't check for looping, so it's useful for manual iteration/scripting. + + NOTE: This won't check for looping, so use with caution. + If you want to check for looping, use the pythonic `next()`. + """ + if self._needs_fetch(): + self._current_page = await self._anext_page() + self._i = 0 + assert self._current_page + + item = self._current_page[self._i] + self._i += 1 + return item + + def __next__(self) -> T: + check_looping = self._needs_fetch() + + item = self._next_item() + + if not self._start: + self._start = self.options.next_page_token + elif check_looping and self.options.next_page_token == self._start: + raise StopIteration + + return item + + async def __anext__(self) -> T: + check_looping = self._needs_fetch() + + item = await self._anext_item() + + if not self._start: + self._start = self.options.next_page_token + elif check_looping and self.options.next_page_token == self._start: + raise StopAsyncIteration + + return item + + def __iter__(self) -> Iterator[T]: + return self + + def __aiter__(self) -> AsyncIterator[T]: + return self diff --git a/clients/python/src/mr_openapi/docs/Artifact.md b/clients/python/src/mr_openapi/docs/Artifact.md deleted file mode 100644 index c13542ff..00000000 --- a/clients/python/src/mr_openapi/docs/Artifact.md +++ /dev/null @@ -1,44 +0,0 @@ -# Artifact - -A metadata Artifact Entity. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**artifact_type** | **str** | | [default to 'doc-artifact'] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] -**model_format_name** | **str** | Name of the model format. | [optional] -**storage_key** | **str** | Storage secret name. | [optional] -**storage_path** | **str** | Path for model in storage provided by `storageKey`. | [optional] -**model_format_version** | **str** | Version of the model format. | [optional] -**service_account_name** | **str** | Name of the service account with storage secret. | [optional] - -## Example - -```python -from mr_openapi.models.artifact import Artifact - -# TODO update the JSON string below -json = "{}" -# create an instance of Artifact from a JSON string -artifact_instance = Artifact.from_json(json) -# print the JSON string representation of the object -print(Artifact.to_json()) - -# convert the object into a dict -artifact_dict = artifact_instance.to_dict() -# create an instance of Artifact from a dict -artifact_from_dict = Artifact.from_dict(artifact_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ArtifactList.md b/clients/python/src/mr_openapi/docs/ArtifactList.md deleted file mode 100644 index 99f18e8b..00000000 --- a/clients/python/src/mr_openapi/docs/ArtifactList.md +++ /dev/null @@ -1,33 +0,0 @@ -# ArtifactList - -A list of Artifact entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[Artifact]**](Artifact.md) | Array of `Artifact` entities. | [optional] - -## Example - -```python -from mr_openapi.models.artifact_list import ArtifactList - -# TODO update the JSON string below -json = "{}" -# create an instance of ArtifactList from a JSON string -artifact_list_instance = ArtifactList.from_json(json) -# print the JSON string representation of the object -print(ArtifactList.to_json()) - -# convert the object into a dict -artifact_list_dict = artifact_list_instance.to_dict() -# create an instance of ArtifactList from a dict -artifact_list_from_dict = ArtifactList.from_dict(artifact_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ArtifactState.md b/clients/python/src/mr_openapi/docs/ArtifactState.md deleted file mode 100644 index 3c7442e9..00000000 --- a/clients/python/src/mr_openapi/docs/ArtifactState.md +++ /dev/null @@ -1,12 +0,0 @@ -# ArtifactState - - - PENDING: A state indicating that the artifact may exist. - LIVE: A state indicating that the artifact should exist, unless something external to the system deletes it. - MARKED_FOR_DELETION: A state indicating that the artifact should be deleted. - DELETED: A state indicating that the artifact has been deleted. - ABANDONED: A state indicating that the artifact has been abandoned, which may be due to a failed or cancelled execution. - REFERENCE: A state indicating that the artifact is a reference artifact. At execution start time, the orchestrator produces an output artifact for each output key with state PENDING. However, for an intermediate artifact, this first artifact's state will be REFERENCE. Intermediate artifacts emitted during a component's execution will copy the REFERENCE artifact's attributes. At the end of an execution, the artifact state should remain REFERENCE instead of being changed to LIVE. See also: ml-metadata Artifact.State - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseArtifact.md b/clients/python/src/mr_openapi/docs/BaseArtifact.md deleted file mode 100644 index 9f3b683a..00000000 --- a/clients/python/src/mr_openapi/docs/BaseArtifact.md +++ /dev/null @@ -1,37 +0,0 @@ -# BaseArtifact - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.base_artifact import BaseArtifact - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseArtifact from a JSON string -base_artifact_instance = BaseArtifact.from_json(json) -# print the JSON string representation of the object -print(BaseArtifact.to_json()) - -# convert the object into a dict -base_artifact_dict = base_artifact_instance.to_dict() -# create an instance of BaseArtifact from a dict -base_artifact_from_dict = BaseArtifact.from_dict(base_artifact_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseArtifactCreate.md b/clients/python/src/mr_openapi/docs/BaseArtifactCreate.md deleted file mode 100644 index f7399106..00000000 --- a/clients/python/src/mr_openapi/docs/BaseArtifactCreate.md +++ /dev/null @@ -1,34 +0,0 @@ -# BaseArtifactCreate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] - -## Example - -```python -from mr_openapi.models.base_artifact_create import BaseArtifactCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseArtifactCreate from a JSON string -base_artifact_create_instance = BaseArtifactCreate.from_json(json) -# print the JSON string representation of the object -print(BaseArtifactCreate.to_json()) - -# convert the object into a dict -base_artifact_create_dict = base_artifact_create_instance.to_dict() -# create an instance of BaseArtifactCreate from a dict -base_artifact_create_from_dict = BaseArtifactCreate.from_dict(base_artifact_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseArtifactUpdate.md b/clients/python/src/mr_openapi/docs/BaseArtifactUpdate.md deleted file mode 100644 index 60b7d36a..00000000 --- a/clients/python/src/mr_openapi/docs/BaseArtifactUpdate.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseArtifactUpdate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.base_artifact_update import BaseArtifactUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseArtifactUpdate from a JSON string -base_artifact_update_instance = BaseArtifactUpdate.from_json(json) -# print the JSON string representation of the object -print(BaseArtifactUpdate.to_json()) - -# convert the object into a dict -base_artifact_update_dict = base_artifact_update_instance.to_dict() -# create an instance of BaseArtifactUpdate from a dict -base_artifact_update_from_dict = BaseArtifactUpdate.from_dict(base_artifact_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseExecution.md b/clients/python/src/mr_openapi/docs/BaseExecution.md deleted file mode 100644 index e8c9fd53..00000000 --- a/clients/python/src/mr_openapi/docs/BaseExecution.md +++ /dev/null @@ -1,36 +0,0 @@ -# BaseExecution - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.base_execution import BaseExecution - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseExecution from a JSON string -base_execution_instance = BaseExecution.from_json(json) -# print the JSON string representation of the object -print(BaseExecution.to_json()) - -# convert the object into a dict -base_execution_dict = base_execution_instance.to_dict() -# create an instance of BaseExecution from a dict -base_execution_from_dict = BaseExecution.from_dict(base_execution_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseExecutionCreate.md b/clients/python/src/mr_openapi/docs/BaseExecutionCreate.md deleted file mode 100644 index 020df818..00000000 --- a/clients/python/src/mr_openapi/docs/BaseExecutionCreate.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseExecutionCreate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] - -## Example - -```python -from mr_openapi.models.base_execution_create import BaseExecutionCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseExecutionCreate from a JSON string -base_execution_create_instance = BaseExecutionCreate.from_json(json) -# print the JSON string representation of the object -print(BaseExecutionCreate.to_json()) - -# convert the object into a dict -base_execution_create_dict = base_execution_create_instance.to_dict() -# create an instance of BaseExecutionCreate from a dict -base_execution_create_from_dict = BaseExecutionCreate.from_dict(base_execution_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseExecutionUpdate.md b/clients/python/src/mr_openapi/docs/BaseExecutionUpdate.md deleted file mode 100644 index f14627cd..00000000 --- a/clients/python/src/mr_openapi/docs/BaseExecutionUpdate.md +++ /dev/null @@ -1,32 +0,0 @@ -# BaseExecutionUpdate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.base_execution_update import BaseExecutionUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseExecutionUpdate from a JSON string -base_execution_update_instance = BaseExecutionUpdate.from_json(json) -# print the JSON string representation of the object -print(BaseExecutionUpdate.to_json()) - -# convert the object into a dict -base_execution_update_dict = base_execution_update_instance.to_dict() -# create an instance of BaseExecutionUpdate from a dict -base_execution_update_from_dict = BaseExecutionUpdate.from_dict(base_execution_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseResource.md b/clients/python/src/mr_openapi/docs/BaseResource.md deleted file mode 100644 index 7eab714f..00000000 --- a/clients/python/src/mr_openapi/docs/BaseResource.md +++ /dev/null @@ -1,35 +0,0 @@ -# BaseResource - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.base_resource import BaseResource - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResource from a JSON string -base_resource_instance = BaseResource.from_json(json) -# print the JSON string representation of the object -print(BaseResource.to_json()) - -# convert the object into a dict -base_resource_dict = base_resource_instance.to_dict() -# create an instance of BaseResource from a dict -base_resource_from_dict = BaseResource.from_dict(base_resource_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseResourceCreate.md b/clients/python/src/mr_openapi/docs/BaseResourceCreate.md deleted file mode 100644 index 7d238cf9..00000000 --- a/clients/python/src/mr_openapi/docs/BaseResourceCreate.md +++ /dev/null @@ -1,32 +0,0 @@ -# BaseResourceCreate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] - -## Example - -```python -from mr_openapi.models.base_resource_create import BaseResourceCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResourceCreate from a JSON string -base_resource_create_instance = BaseResourceCreate.from_json(json) -# print the JSON string representation of the object -print(BaseResourceCreate.to_json()) - -# convert the object into a dict -base_resource_create_dict = base_resource_create_instance.to_dict() -# create an instance of BaseResourceCreate from a dict -base_resource_create_from_dict = BaseResourceCreate.from_dict(base_resource_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseResourceList.md b/clients/python/src/mr_openapi/docs/BaseResourceList.md deleted file mode 100644 index d60063b0..00000000 --- a/clients/python/src/mr_openapi/docs/BaseResourceList.md +++ /dev/null @@ -1,31 +0,0 @@ -# BaseResourceList - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | - -## Example - -```python -from mr_openapi.models.base_resource_list import BaseResourceList - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResourceList from a JSON string -base_resource_list_instance = BaseResourceList.from_json(json) -# print the JSON string representation of the object -print(BaseResourceList.to_json()) - -# convert the object into a dict -base_resource_list_dict = base_resource_list_instance.to_dict() -# create an instance of BaseResourceList from a dict -base_resource_list_from_dict = BaseResourceList.from_dict(base_resource_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/BaseResourceUpdate.md b/clients/python/src/mr_openapi/docs/BaseResourceUpdate.md deleted file mode 100644 index d9b0ac40..00000000 --- a/clients/python/src/mr_openapi/docs/BaseResourceUpdate.md +++ /dev/null @@ -1,31 +0,0 @@ -# BaseResourceUpdate - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] - -## Example - -```python -from mr_openapi.models.base_resource_update import BaseResourceUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResourceUpdate from a JSON string -base_resource_update_instance = BaseResourceUpdate.from_json(json) -# print the JSON string representation of the object -print(BaseResourceUpdate.to_json()) - -# convert the object into a dict -base_resource_update_dict = base_resource_update_instance.to_dict() -# create an instance of BaseResourceUpdate from a dict -base_resource_update_from_dict = BaseResourceUpdate.from_dict(base_resource_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/DocArtifact.md b/clients/python/src/mr_openapi/docs/DocArtifact.md deleted file mode 100644 index cbde80cf..00000000 --- a/clients/python/src/mr_openapi/docs/DocArtifact.md +++ /dev/null @@ -1,39 +0,0 @@ -# DocArtifact - -A document. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**artifact_type** | **str** | | [default to 'doc-artifact'] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.doc_artifact import DocArtifact - -# TODO update the JSON string below -json = "{}" -# create an instance of DocArtifact from a JSON string -doc_artifact_instance = DocArtifact.from_json(json) -# print the JSON string representation of the object -print(DocArtifact.to_json()) - -# convert the object into a dict -doc_artifact_dict = doc_artifact_instance.to_dict() -# create an instance of DocArtifact from a dict -doc_artifact_from_dict = DocArtifact.from_dict(doc_artifact_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/Error.md b/clients/python/src/mr_openapi/docs/Error.md deleted file mode 100644 index 20319b22..00000000 --- a/clients/python/src/mr_openapi/docs/Error.md +++ /dev/null @@ -1,31 +0,0 @@ -# Error - -Error code and message. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**code** | **str** | Error code | -**message** | **str** | Error message | - -## Example - -```python -from mr_openapi.models.error import Error - -# TODO update the JSON string below -json = "{}" -# create an instance of Error from a JSON string -error_instance = Error.from_json(json) -# print the JSON string representation of the object -print(Error.to_json()) - -# convert the object into a dict -error_dict = error_instance.to_dict() -# create an instance of Error from a dict -error_from_dict = Error.from_dict(error_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ExecutionState.md b/clients/python/src/mr_openapi/docs/ExecutionState.md deleted file mode 100644 index 49bb37cc..00000000 --- a/clients/python/src/mr_openapi/docs/ExecutionState.md +++ /dev/null @@ -1,12 +0,0 @@ -# ExecutionState - -The state of the Execution. The state transitions are NEW -> RUNNING -> COMPLETE | CACHED | FAILED | CANCELED CACHED means the execution is skipped due to cached results. CANCELED means the execution is skipped due to precondition not met. It is different from CACHED in that a CANCELED execution will not have any event associated with it. It is different from FAILED in that there is no unexpected error happened and it is regarded as a normal state. See also: ml-metadata Execution.State - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/InferenceService.md b/clients/python/src/mr_openapi/docs/InferenceService.md deleted file mode 100644 index 9c8dc21d..00000000 --- a/clients/python/src/mr_openapi/docs/InferenceService.md +++ /dev/null @@ -1,41 +0,0 @@ -# InferenceService - -An `InferenceService` entity in a `ServingEnvironment` represents a deployed `ModelVersion` from a `RegisteredModel` created by Model Serving. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] -**model_version_id** | **str** | ID of the `ModelVersion` to serve. If it's unspecified, then the latest `ModelVersion` by creation order will be served. | [optional] -**runtime** | **str** | Model runtime. | [optional] -**desired_state** | [**InferenceServiceState**](InferenceServiceState.md) | | [optional] -**registered_model_id** | **str** | ID of the `RegisteredModel` to serve. | -**serving_environment_id** | **str** | ID of the parent `ServingEnvironment` for this `InferenceService` entity. | - -## Example - -```python -from mr_openapi.models.inference_service import InferenceService - -# TODO update the JSON string below -json = "{}" -# create an instance of InferenceService from a JSON string -inference_service_instance = InferenceService.from_json(json) -# print the JSON string representation of the object -print(InferenceService.to_json()) - -# convert the object into a dict -inference_service_dict = inference_service_instance.to_dict() -# create an instance of InferenceService from a dict -inference_service_from_dict = InferenceService.from_dict(inference_service_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/InferenceServiceCreate.md b/clients/python/src/mr_openapi/docs/InferenceServiceCreate.md deleted file mode 100644 index c3d74550..00000000 --- a/clients/python/src/mr_openapi/docs/InferenceServiceCreate.md +++ /dev/null @@ -1,38 +0,0 @@ -# InferenceServiceCreate - -An `InferenceService` entity in a `ServingEnvironment` represents a deployed `ModelVersion` from a `RegisteredModel` created by Model Serving. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**model_version_id** | **str** | ID of the `ModelVersion` to serve. If it's unspecified, then the latest `ModelVersion` by creation order will be served. | [optional] -**runtime** | **str** | Model runtime. | [optional] -**desired_state** | [**InferenceServiceState**](InferenceServiceState.md) | | [optional] -**registered_model_id** | **str** | ID of the `RegisteredModel` to serve. | -**serving_environment_id** | **str** | ID of the parent `ServingEnvironment` for this `InferenceService` entity. | - -## Example - -```python -from mr_openapi.models.inference_service_create import InferenceServiceCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of InferenceServiceCreate from a JSON string -inference_service_create_instance = InferenceServiceCreate.from_json(json) -# print the JSON string representation of the object -print(InferenceServiceCreate.to_json()) - -# convert the object into a dict -inference_service_create_dict = inference_service_create_instance.to_dict() -# create an instance of InferenceServiceCreate from a dict -inference_service_create_from_dict = InferenceServiceCreate.from_dict(inference_service_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/InferenceServiceList.md b/clients/python/src/mr_openapi/docs/InferenceServiceList.md deleted file mode 100644 index 2063707f..00000000 --- a/clients/python/src/mr_openapi/docs/InferenceServiceList.md +++ /dev/null @@ -1,33 +0,0 @@ -# InferenceServiceList - -List of InferenceServices. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[InferenceService]**](InferenceService.md) | | [optional] - -## Example - -```python -from mr_openapi.models.inference_service_list import InferenceServiceList - -# TODO update the JSON string below -json = "{}" -# create an instance of InferenceServiceList from a JSON string -inference_service_list_instance = InferenceServiceList.from_json(json) -# print the JSON string representation of the object -print(InferenceServiceList.to_json()) - -# convert the object into a dict -inference_service_list_dict = inference_service_list_instance.to_dict() -# create an instance of InferenceServiceList from a dict -inference_service_list_from_dict = InferenceServiceList.from_dict(inference_service_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/InferenceServiceState.md b/clients/python/src/mr_openapi/docs/InferenceServiceState.md deleted file mode 100644 index 6c4276f9..00000000 --- a/clients/python/src/mr_openapi/docs/InferenceServiceState.md +++ /dev/null @@ -1,12 +0,0 @@ -# InferenceServiceState - -- DEPLOYED: A state indicating that the `InferenceService` should be deployed. - UNDEPLOYED: A state indicating that the `InferenceService` should be un-deployed. The state indicates the desired state of inference service. See the associated `ServeModel` for the actual status of service deployment action. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/InferenceServiceUpdate.md b/clients/python/src/mr_openapi/docs/InferenceServiceUpdate.md deleted file mode 100644 index 238747d7..00000000 --- a/clients/python/src/mr_openapi/docs/InferenceServiceUpdate.md +++ /dev/null @@ -1,35 +0,0 @@ -# InferenceServiceUpdate - -An `InferenceService` entity in a `ServingEnvironment` represents a deployed `ModelVersion` from a `RegisteredModel` created by Model Serving. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**model_version_id** | **str** | ID of the `ModelVersion` to serve. If it's unspecified, then the latest `ModelVersion` by creation order will be served. | [optional] -**runtime** | **str** | Model runtime. | [optional] -**desired_state** | [**InferenceServiceState**](InferenceServiceState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.inference_service_update import InferenceServiceUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of InferenceServiceUpdate from a JSON string -inference_service_update_instance = InferenceServiceUpdate.from_json(json) -# print the JSON string representation of the object -print(InferenceServiceUpdate.to_json()) - -# convert the object into a dict -inference_service_update_dict = inference_service_update_instance.to_dict() -# create an instance of InferenceServiceUpdate from a dict -inference_service_update_from_dict = InferenceServiceUpdate.from_dict(inference_service_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataBoolValue.md b/clients/python/src/mr_openapi/docs/MetadataBoolValue.md deleted file mode 100644 index 9ed8ace8..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataBoolValue.md +++ /dev/null @@ -1,31 +0,0 @@ -# MetadataBoolValue - -A bool property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**bool_value** | **bool** | | -**metadata_type** | **str** | | [default to 'MetadataBoolValue'] - -## Example - -```python -from mr_openapi.models.metadata_bool_value import MetadataBoolValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataBoolValue from a JSON string -metadata_bool_value_instance = MetadataBoolValue.from_json(json) -# print the JSON string representation of the object -print(MetadataBoolValue.to_json()) - -# convert the object into a dict -metadata_bool_value_dict = metadata_bool_value_instance.to_dict() -# create an instance of MetadataBoolValue from a dict -metadata_bool_value_from_dict = MetadataBoolValue.from_dict(metadata_bool_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataDoubleValue.md b/clients/python/src/mr_openapi/docs/MetadataDoubleValue.md deleted file mode 100644 index 735ed72f..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataDoubleValue.md +++ /dev/null @@ -1,31 +0,0 @@ -# MetadataDoubleValue - -A double property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**double_value** | **float** | | -**metadata_type** | **str** | | [default to 'MetadataDoubleValue'] - -## Example - -```python -from mr_openapi.models.metadata_double_value import MetadataDoubleValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataDoubleValue from a JSON string -metadata_double_value_instance = MetadataDoubleValue.from_json(json) -# print the JSON string representation of the object -print(MetadataDoubleValue.to_json()) - -# convert the object into a dict -metadata_double_value_dict = metadata_double_value_instance.to_dict() -# create an instance of MetadataDoubleValue from a dict -metadata_double_value_from_dict = MetadataDoubleValue.from_dict(metadata_double_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataIntValue.md b/clients/python/src/mr_openapi/docs/MetadataIntValue.md deleted file mode 100644 index e7666324..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataIntValue.md +++ /dev/null @@ -1,31 +0,0 @@ -# MetadataIntValue - -An integer (int64) property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**int_value** | **str** | | -**metadata_type** | **str** | | [default to 'MetadataIntValue'] - -## Example - -```python -from mr_openapi.models.metadata_int_value import MetadataIntValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataIntValue from a JSON string -metadata_int_value_instance = MetadataIntValue.from_json(json) -# print the JSON string representation of the object -print(MetadataIntValue.to_json()) - -# convert the object into a dict -metadata_int_value_dict = metadata_int_value_instance.to_dict() -# create an instance of MetadataIntValue from a dict -metadata_int_value_from_dict = MetadataIntValue.from_dict(metadata_int_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataProtoValue.md b/clients/python/src/mr_openapi/docs/MetadataProtoValue.md deleted file mode 100644 index bf90cc94..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataProtoValue.md +++ /dev/null @@ -1,32 +0,0 @@ -# MetadataProtoValue - -A proto property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **str** | url describing proto value | -**proto_value** | **str** | Base64 encoded bytes for proto value | -**metadata_type** | **str** | | [default to 'MetadataProtoValue'] - -## Example - -```python -from mr_openapi.models.metadata_proto_value import MetadataProtoValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataProtoValue from a JSON string -metadata_proto_value_instance = MetadataProtoValue.from_json(json) -# print the JSON string representation of the object -print(MetadataProtoValue.to_json()) - -# convert the object into a dict -metadata_proto_value_dict = metadata_proto_value_instance.to_dict() -# create an instance of MetadataProtoValue from a dict -metadata_proto_value_from_dict = MetadataProtoValue.from_dict(metadata_proto_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataStringValue.md b/clients/python/src/mr_openapi/docs/MetadataStringValue.md deleted file mode 100644 index 3288dc2c..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataStringValue.md +++ /dev/null @@ -1,31 +0,0 @@ -# MetadataStringValue - -A string property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**string_value** | **str** | | -**metadata_type** | **str** | | [default to 'MetadataStringValue'] - -## Example - -```python -from mr_openapi.models.metadata_string_value import MetadataStringValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataStringValue from a JSON string -metadata_string_value_instance = MetadataStringValue.from_json(json) -# print the JSON string representation of the object -print(MetadataStringValue.to_json()) - -# convert the object into a dict -metadata_string_value_dict = metadata_string_value_instance.to_dict() -# create an instance of MetadataStringValue from a dict -metadata_string_value_from_dict = MetadataStringValue.from_dict(metadata_string_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataStructValue.md b/clients/python/src/mr_openapi/docs/MetadataStructValue.md deleted file mode 100644 index d3bccba4..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataStructValue.md +++ /dev/null @@ -1,31 +0,0 @@ -# MetadataStructValue - -A struct property value. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**struct_value** | **str** | Base64 encoded bytes for struct value | -**metadata_type** | **str** | | [default to 'MetadataStructValue'] - -## Example - -```python -from mr_openapi.models.metadata_struct_value import MetadataStructValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataStructValue from a JSON string -metadata_struct_value_instance = MetadataStructValue.from_json(json) -# print the JSON string representation of the object -print(MetadataStructValue.to_json()) - -# convert the object into a dict -metadata_struct_value_dict = metadata_struct_value_instance.to_dict() -# create an instance of MetadataStructValue from a dict -metadata_struct_value_from_dict = MetadataStructValue.from_dict(metadata_struct_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/MetadataValue.md b/clients/python/src/mr_openapi/docs/MetadataValue.md deleted file mode 100644 index a2b818f5..00000000 --- a/clients/python/src/mr_openapi/docs/MetadataValue.md +++ /dev/null @@ -1,37 +0,0 @@ -# MetadataValue - -A value in properties. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**int_value** | **str** | | -**metadata_type** | **str** | | [default to 'MetadataBoolValue'] -**double_value** | **float** | | -**string_value** | **str** | | -**struct_value** | **str** | Base64 encoded bytes for struct value | -**type** | **str** | url describing proto value | -**proto_value** | **str** | Base64 encoded bytes for proto value | -**bool_value** | **bool** | | - -## Example - -```python -from mr_openapi.models.metadata_value import MetadataValue - -# TODO update the JSON string below -json = "{}" -# create an instance of MetadataValue from a JSON string -metadata_value_instance = MetadataValue.from_json(json) -# print the JSON string representation of the object -print(MetadataValue.to_json()) - -# convert the object into a dict -metadata_value_dict = metadata_value_instance.to_dict() -# create an instance of MetadataValue from a dict -metadata_value_from_dict = MetadataValue.from_dict(metadata_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelArtifact.md b/clients/python/src/mr_openapi/docs/ModelArtifact.md deleted file mode 100644 index a29f2386..00000000 --- a/clients/python/src/mr_openapi/docs/ModelArtifact.md +++ /dev/null @@ -1,44 +0,0 @@ -# ModelArtifact - -An ML model artifact. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**artifact_type** | **str** | | [default to 'model-artifact'] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] -**model_format_name** | **str** | Name of the model format. | [optional] -**storage_key** | **str** | Storage secret name. | [optional] -**storage_path** | **str** | Path for model in storage provided by `storageKey`. | [optional] -**model_format_version** | **str** | Version of the model format. | [optional] -**service_account_name** | **str** | Name of the service account with storage secret. | [optional] - -## Example - -```python -from mr_openapi.models.model_artifact import ModelArtifact - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelArtifact from a JSON string -model_artifact_instance = ModelArtifact.from_json(json) -# print the JSON string representation of the object -print(ModelArtifact.to_json()) - -# convert the object into a dict -model_artifact_dict = model_artifact_instance.to_dict() -# create an instance of ModelArtifact from a dict -model_artifact_from_dict = ModelArtifact.from_dict(model_artifact_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelArtifactCreate.md b/clients/python/src/mr_openapi/docs/ModelArtifactCreate.md deleted file mode 100644 index 24fa8f02..00000000 --- a/clients/python/src/mr_openapi/docs/ModelArtifactCreate.md +++ /dev/null @@ -1,40 +0,0 @@ -# ModelArtifactCreate - -An ML model artifact. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**model_format_name** | **str** | Name of the model format. | [optional] -**storage_key** | **str** | Storage secret name. | [optional] -**storage_path** | **str** | Path for model in storage provided by `storageKey`. | [optional] -**model_format_version** | **str** | Version of the model format. | [optional] -**service_account_name** | **str** | Name of the service account with storage secret. | [optional] - -## Example - -```python -from mr_openapi.models.model_artifact_create import ModelArtifactCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelArtifactCreate from a JSON string -model_artifact_create_instance = ModelArtifactCreate.from_json(json) -# print the JSON string representation of the object -print(ModelArtifactCreate.to_json()) - -# convert the object into a dict -model_artifact_create_dict = model_artifact_create_instance.to_dict() -# create an instance of ModelArtifactCreate from a dict -model_artifact_create_from_dict = ModelArtifactCreate.from_dict(model_artifact_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelArtifactList.md b/clients/python/src/mr_openapi/docs/ModelArtifactList.md deleted file mode 100644 index f1438408..00000000 --- a/clients/python/src/mr_openapi/docs/ModelArtifactList.md +++ /dev/null @@ -1,33 +0,0 @@ -# ModelArtifactList - -List of ModelArtifact entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[ModelArtifact]**](ModelArtifact.md) | Array of `ModelArtifact` entities. | [optional] - -## Example - -```python -from mr_openapi.models.model_artifact_list import ModelArtifactList - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelArtifactList from a JSON string -model_artifact_list_instance = ModelArtifactList.from_json(json) -# print the JSON string representation of the object -print(ModelArtifactList.to_json()) - -# convert the object into a dict -model_artifact_list_dict = model_artifact_list_instance.to_dict() -# create an instance of ModelArtifactList from a dict -model_artifact_list_from_dict = ModelArtifactList.from_dict(model_artifact_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelArtifactUpdate.md b/clients/python/src/mr_openapi/docs/ModelArtifactUpdate.md deleted file mode 100644 index a8ea3add..00000000 --- a/clients/python/src/mr_openapi/docs/ModelArtifactUpdate.md +++ /dev/null @@ -1,39 +0,0 @@ -# ModelArtifactUpdate - -An ML model artifact. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**uri** | **str** | The uniform resource identifier of the physical artifact. May be empty if there is no physical artifact. | [optional] -**state** | [**ArtifactState**](ArtifactState.md) | | [optional] -**model_format_name** | **str** | Name of the model format. | [optional] -**storage_key** | **str** | Storage secret name. | [optional] -**storage_path** | **str** | Path for model in storage provided by `storageKey`. | [optional] -**model_format_version** | **str** | Version of the model format. | [optional] -**service_account_name** | **str** | Name of the service account with storage secret. | [optional] - -## Example - -```python -from mr_openapi.models.model_artifact_update import ModelArtifactUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelArtifactUpdate from a JSON string -model_artifact_update_instance = ModelArtifactUpdate.from_json(json) -# print the JSON string representation of the object -print(ModelArtifactUpdate.to_json()) - -# convert the object into a dict -model_artifact_update_dict = model_artifact_update_instance.to_dict() -# create an instance of ModelArtifactUpdate from a dict -model_artifact_update_from_dict = ModelArtifactUpdate.from_dict(model_artifact_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelRegistryServiceApi.md b/clients/python/src/mr_openapi/docs/ModelRegistryServiceApi.md deleted file mode 100644 index f6ebff98..00000000 --- a/clients/python/src/mr_openapi/docs/ModelRegistryServiceApi.md +++ /dev/null @@ -1,3030 +0,0 @@ -# mr_openapi.ModelRegistryServiceApi - -All URIs are relative to *https://localhost:8080* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**create_environment_inference_service**](ModelRegistryServiceApi.md#create_environment_inference_service) | **POST** /api/model_registry/v1alpha3/serving_environments/{servingenvironmentId}/inference_services | Create a InferenceService in ServingEnvironment -[**create_inference_service**](ModelRegistryServiceApi.md#create_inference_service) | **POST** /api/model_registry/v1alpha3/inference_services | Create a InferenceService -[**create_inference_service_serve**](ModelRegistryServiceApi.md#create_inference_service_serve) | **POST** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId}/serves | Create a ServeModel action in a InferenceService -[**create_model_artifact**](ModelRegistryServiceApi.md#create_model_artifact) | **POST** /api/model_registry/v1alpha3/model_artifacts | Create a ModelArtifact -[**create_model_version**](ModelRegistryServiceApi.md#create_model_version) | **POST** /api/model_registry/v1alpha3/model_versions | Create a ModelVersion -[**create_model_version_artifact**](ModelRegistryServiceApi.md#create_model_version_artifact) | **POST** /api/model_registry/v1alpha3/model_versions/{modelversionId}/artifacts | Create an Artifact in a ModelVersion -[**create_registered_model**](ModelRegistryServiceApi.md#create_registered_model) | **POST** /api/model_registry/v1alpha3/registered_models | Create a RegisteredModel -[**create_registered_model_version**](ModelRegistryServiceApi.md#create_registered_model_version) | **POST** /api/model_registry/v1alpha3/registered_models/{registeredmodelId}/versions | Create a ModelVersion in RegisteredModel -[**create_serving_environment**](ModelRegistryServiceApi.md#create_serving_environment) | **POST** /api/model_registry/v1alpha3/serving_environments | Create a ServingEnvironment -[**find_inference_service**](ModelRegistryServiceApi.md#find_inference_service) | **GET** /api/model_registry/v1alpha3/inference_service | Get an InferenceServices that matches search parameters. -[**find_model_artifact**](ModelRegistryServiceApi.md#find_model_artifact) | **GET** /api/model_registry/v1alpha3/model_artifact | Get a ModelArtifact that matches search parameters. -[**find_model_version**](ModelRegistryServiceApi.md#find_model_version) | **GET** /api/model_registry/v1alpha3/model_version | Get a ModelVersion that matches search parameters. -[**find_registered_model**](ModelRegistryServiceApi.md#find_registered_model) | **GET** /api/model_registry/v1alpha3/registered_model | Get a RegisteredModel that matches search parameters. -[**find_serving_environment**](ModelRegistryServiceApi.md#find_serving_environment) | **GET** /api/model_registry/v1alpha3/serving_environment | Find ServingEnvironment -[**get_environment_inference_services**](ModelRegistryServiceApi.md#get_environment_inference_services) | **GET** /api/model_registry/v1alpha3/serving_environments/{servingenvironmentId}/inference_services | List All ServingEnvironment's InferenceServices -[**get_inference_service**](ModelRegistryServiceApi.md#get_inference_service) | **GET** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId} | Get a InferenceService -[**get_inference_service_model**](ModelRegistryServiceApi.md#get_inference_service_model) | **GET** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId}/model | Get InferenceService's RegisteredModel -[**get_inference_service_serves**](ModelRegistryServiceApi.md#get_inference_service_serves) | **GET** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId}/serves | List All InferenceService's ServeModel actions -[**get_inference_service_version**](ModelRegistryServiceApi.md#get_inference_service_version) | **GET** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId}/version | Get InferenceService's ModelVersion -[**get_inference_services**](ModelRegistryServiceApi.md#get_inference_services) | **GET** /api/model_registry/v1alpha3/inference_services | List All InferenceServices -[**get_model_artifact**](ModelRegistryServiceApi.md#get_model_artifact) | **GET** /api/model_registry/v1alpha3/model_artifacts/{modelartifactId} | Get a ModelArtifact -[**get_model_artifacts**](ModelRegistryServiceApi.md#get_model_artifacts) | **GET** /api/model_registry/v1alpha3/model_artifacts | List All ModelArtifacts -[**get_model_version**](ModelRegistryServiceApi.md#get_model_version) | **GET** /api/model_registry/v1alpha3/model_versions/{modelversionId} | Get a ModelVersion -[**get_model_version_artifacts**](ModelRegistryServiceApi.md#get_model_version_artifacts) | **GET** /api/model_registry/v1alpha3/model_versions/{modelversionId}/artifacts | List all artifacts associated with the `ModelVersion` -[**get_model_versions**](ModelRegistryServiceApi.md#get_model_versions) | **GET** /api/model_registry/v1alpha3/model_versions | List All ModelVersions -[**get_registered_model**](ModelRegistryServiceApi.md#get_registered_model) | **GET** /api/model_registry/v1alpha3/registered_models/{registeredmodelId} | Get a RegisteredModel -[**get_registered_model_versions**](ModelRegistryServiceApi.md#get_registered_model_versions) | **GET** /api/model_registry/v1alpha3/registered_models/{registeredmodelId}/versions | List All RegisteredModel's ModelVersions -[**get_registered_models**](ModelRegistryServiceApi.md#get_registered_models) | **GET** /api/model_registry/v1alpha3/registered_models | List All RegisteredModels -[**get_serving_environment**](ModelRegistryServiceApi.md#get_serving_environment) | **GET** /api/model_registry/v1alpha3/serving_environments/{servingenvironmentId} | Get a ServingEnvironment -[**get_serving_environments**](ModelRegistryServiceApi.md#get_serving_environments) | **GET** /api/model_registry/v1alpha3/serving_environments | List All ServingEnvironments -[**update_inference_service**](ModelRegistryServiceApi.md#update_inference_service) | **PATCH** /api/model_registry/v1alpha3/inference_services/{inferenceserviceId} | Update a InferenceService -[**update_model_artifact**](ModelRegistryServiceApi.md#update_model_artifact) | **PATCH** /api/model_registry/v1alpha3/model_artifacts/{modelartifactId} | Update a ModelArtifact -[**update_model_version**](ModelRegistryServiceApi.md#update_model_version) | **PATCH** /api/model_registry/v1alpha3/model_versions/{modelversionId} | Update a ModelVersion -[**update_registered_model**](ModelRegistryServiceApi.md#update_registered_model) | **PATCH** /api/model_registry/v1alpha3/registered_models/{registeredmodelId} | Update a RegisteredModel -[**update_serving_environment**](ModelRegistryServiceApi.md#update_serving_environment) | **PATCH** /api/model_registry/v1alpha3/serving_environments/{servingenvironmentId} | Update a ServingEnvironment - - -# **create_environment_inference_service** -> InferenceService create_environment_inference_service(servingenvironment_id, inference_service_create) - -Create a InferenceService in ServingEnvironment - -Creates a new instance of a `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service import InferenceService -from mr_openapi.models.inference_service_create import InferenceServiceCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - servingenvironment_id = 'servingenvironment_id_example' # str | A unique identifier for a `ServingEnvironment`. - inference_service_create = mr_openapi.InferenceServiceCreate() # InferenceServiceCreate | A new `InferenceService` to be created. - - try: - # Create a InferenceService in ServingEnvironment - api_response = await api_instance.create_environment_inference_service(servingenvironment_id, inference_service_create) - print("The response of ModelRegistryServiceApi->create_environment_inference_service:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_environment_inference_service: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **servingenvironment_id** | **str**| A unique identifier for a `ServingEnvironment`. | - **inference_service_create** | [**InferenceServiceCreate**](InferenceServiceCreate.md)| A new `InferenceService` to be created. | - -### Return type - -[**InferenceService**](InferenceService.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `InferenceService` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_inference_service** -> InferenceService create_inference_service(inference_service_create) - -Create a InferenceService - -Creates a new instance of a `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service import InferenceService -from mr_openapi.models.inference_service_create import InferenceServiceCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inference_service_create = mr_openapi.InferenceServiceCreate() # InferenceServiceCreate | A new `InferenceService` to be created. - - try: - # Create a InferenceService - api_response = await api_instance.create_inference_service(inference_service_create) - print("The response of ModelRegistryServiceApi->create_inference_service:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_inference_service: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inference_service_create** | [**InferenceServiceCreate**](InferenceServiceCreate.md)| A new `InferenceService` to be created. | - -### Return type - -[**InferenceService**](InferenceService.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `InferenceService` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_inference_service_serve** -> ServeModel create_inference_service_serve(inferenceservice_id, serve_model_create) - -Create a ServeModel action in a InferenceService - -Creates a new instance of a `ServeModel` associated with `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.serve_model import ServeModel -from mr_openapi.models.serve_model_create import ServeModelCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - serve_model_create = mr_openapi.ServeModelCreate() # ServeModelCreate | A new `ServeModel` to be associated with the `InferenceService`. - - try: - # Create a ServeModel action in a InferenceService - api_response = await api_instance.create_inference_service_serve(inferenceservice_id, serve_model_create) - print("The response of ModelRegistryServiceApi->create_inference_service_serve:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_inference_service_serve: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - **serve_model_create** | [**ServeModelCreate**](ServeModelCreate.md)| A new `ServeModel` to be associated with the `InferenceService`. | - -### Return type - -[**ServeModel**](ServeModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `ServeModel` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_model_artifact** -> ModelArtifact create_model_artifact(model_artifact_create) - -Create a ModelArtifact - -Creates a new instance of a `ModelArtifact`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_artifact import ModelArtifact -from mr_openapi.models.model_artifact_create import ModelArtifactCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - model_artifact_create = mr_openapi.ModelArtifactCreate() # ModelArtifactCreate | A new `ModelArtifact` to be created. - - try: - # Create a ModelArtifact - api_response = await api_instance.create_model_artifact(model_artifact_create) - print("The response of ModelRegistryServiceApi->create_model_artifact:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_model_artifact: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **model_artifact_create** | [**ModelArtifactCreate**](ModelArtifactCreate.md)| A new `ModelArtifact` to be created. | - -### Return type - -[**ModelArtifact**](ModelArtifact.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `ModelArtifact` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_model_version** -> ModelVersion create_model_version(model_version_create) - -Create a ModelVersion - -Creates a new instance of a `ModelVersion`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.models.model_version_create import ModelVersionCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - model_version_create = mr_openapi.ModelVersionCreate() # ModelVersionCreate | A new `ModelVersion` to be created. - - try: - # Create a ModelVersion - api_response = await api_instance.create_model_version(model_version_create) - print("The response of ModelRegistryServiceApi->create_model_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_model_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **model_version_create** | [**ModelVersionCreate**](ModelVersionCreate.md)| A new `ModelVersion` to be created. | - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `ModelVersion` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_model_version_artifact** -> Artifact create_model_version_artifact(modelversion_id, artifact) - -Create an Artifact in a ModelVersion - -Creates a new instance of an Artifact if needed and associates it with `ModelVersion`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.artifact import Artifact -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelversion_id = 'modelversion_id_example' # str | A unique identifier for a `ModelVersion`. - artifact = mr_openapi.Artifact() # Artifact | A new or existing `Artifact` to be associated with the `ModelVersion`. - - try: - # Create an Artifact in a ModelVersion - api_response = await api_instance.create_model_version_artifact(modelversion_id, artifact) - print("The response of ModelRegistryServiceApi->create_model_version_artifact:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_model_version_artifact: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelversion_id** | **str**| A unique identifier for a `ModelVersion`. | - **artifact** | [**Artifact**](Artifact.md)| A new or existing `Artifact` to be associated with the `ModelVersion`. | - -### Return type - -[**Artifact**](Artifact.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing an `Artifact` entity. | - | -**201** | A response containing an `Artifact` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_registered_model** -> RegisteredModel create_registered_model(registered_model_create) - -Create a RegisteredModel - -Creates a new instance of a `RegisteredModel`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.registered_model import RegisteredModel -from mr_openapi.models.registered_model_create import RegisteredModelCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - registered_model_create = mr_openapi.RegisteredModelCreate() # RegisteredModelCreate | A new `RegisteredModel` to be created. - - try: - # Create a RegisteredModel - api_response = await api_instance.create_registered_model(registered_model_create) - print("The response of ModelRegistryServiceApi->create_registered_model:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_registered_model: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **registered_model_create** | [**RegisteredModelCreate**](RegisteredModelCreate.md)| A new `RegisteredModel` to be created. | - -### Return type - -[**RegisteredModel**](RegisteredModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `RegisteredModel` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_registered_model_version** -> ModelVersion create_registered_model_version(registeredmodel_id, model_version) - -Create a ModelVersion in RegisteredModel - -Creates a new instance of a `ModelVersion`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - registeredmodel_id = 'registeredmodel_id_example' # str | A unique identifier for a `RegisteredModel`. - model_version = mr_openapi.ModelVersion() # ModelVersion | A new `ModelVersion` to be created. - - try: - # Create a ModelVersion in RegisteredModel - api_response = await api_instance.create_registered_model_version(registeredmodel_id, model_version) - print("The response of ModelRegistryServiceApi->create_registered_model_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_registered_model_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **registeredmodel_id** | **str**| A unique identifier for a `RegisteredModel`. | - **model_version** | [**ModelVersion**](ModelVersion.md)| A new `ModelVersion` to be created. | - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `ModelVersion` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **create_serving_environment** -> ServingEnvironment create_serving_environment(serving_environment_create) - -Create a ServingEnvironment - -Creates a new instance of a `ServingEnvironment`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.serving_environment import ServingEnvironment -from mr_openapi.models.serving_environment_create import ServingEnvironmentCreate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - serving_environment_create = mr_openapi.ServingEnvironmentCreate() # ServingEnvironmentCreate | A new `ServingEnvironment` to be created. - - try: - # Create a ServingEnvironment - api_response = await api_instance.create_serving_environment(serving_environment_create) - print("The response of ModelRegistryServiceApi->create_serving_environment:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->create_serving_environment: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **serving_environment_create** | [**ServingEnvironmentCreate**](ServingEnvironmentCreate.md)| A new `ServingEnvironment` to be created. | - -### Return type - -[**ServingEnvironment**](ServingEnvironment.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | A response containing a `ServingEnvironment` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **find_inference_service** -> InferenceService find_inference_service(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - -Get an InferenceServices that matches search parameters. - -Gets the details of a single instance of `InferenceService` that matches search parameters. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service import InferenceService -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - parent_resource_id = '10' # str | ID of the parent resource to use for search. (optional) - - try: - # Get an InferenceServices that matches search parameters. - api_response = await api_instance.find_inference_service(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - print("The response of ModelRegistryServiceApi->find_inference_service:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->find_inference_service: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **parent_resource_id** | **str**| ID of the parent resource to use for search. | [optional] - -### Return type - -[**InferenceService**](InferenceService.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `InferenceService` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **find_model_artifact** -> ModelArtifact find_model_artifact(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - -Get a ModelArtifact that matches search parameters. - -Gets the details of a single instance of a `ModelArtifact` that matches search parameters. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_artifact import ModelArtifact -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - parent_resource_id = '10' # str | ID of the parent resource to use for search. (optional) - - try: - # Get a ModelArtifact that matches search parameters. - api_response = await api_instance.find_model_artifact(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - print("The response of ModelRegistryServiceApi->find_model_artifact:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->find_model_artifact: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **parent_resource_id** | **str**| ID of the parent resource to use for search. | [optional] - -### Return type - -[**ModelArtifact**](ModelArtifact.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelArtifact` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **find_model_version** -> ModelVersion find_model_version(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - -Get a ModelVersion that matches search parameters. - -Gets the details of a single instance of a `ModelVersion` that matches search parameters. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - parent_resource_id = '10' # str | ID of the parent resource to use for search. (optional) - - try: - # Get a ModelVersion that matches search parameters. - api_response = await api_instance.find_model_version(name=name, external_id=external_id, parent_resource_id=parent_resource_id) - print("The response of ModelRegistryServiceApi->find_model_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->find_model_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **parent_resource_id** | **str**| ID of the parent resource to use for search. | [optional] - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelVersion` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **find_registered_model** -> RegisteredModel find_registered_model(name=name, external_id=external_id) - -Get a RegisteredModel that matches search parameters. - -Gets the details of a single instance of a `RegisteredModel` that matches search parameters. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.registered_model import RegisteredModel -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - - try: - # Get a RegisteredModel that matches search parameters. - api_response = await api_instance.find_registered_model(name=name, external_id=external_id) - print("The response of ModelRegistryServiceApi->find_registered_model:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->find_registered_model: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - -### Return type - -[**RegisteredModel**](RegisteredModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `RegisteredModel` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **find_serving_environment** -> ServingEnvironment find_serving_environment(name=name, external_id=external_id) - -Find ServingEnvironment - -Finds a `ServingEnvironment` entity that matches query parameters. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.serving_environment import ServingEnvironment -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - - try: - # Find ServingEnvironment - api_response = await api_instance.find_serving_environment(name=name, external_id=external_id) - print("The response of ModelRegistryServiceApi->find_serving_environment:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->find_serving_environment: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - -### Return type - -[**ServingEnvironment**](ServingEnvironment.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ServingEnvironment` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_environment_inference_services** -> InferenceServiceList get_environment_inference_services(servingenvironment_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All ServingEnvironment's InferenceServices - -Gets a list of all `InferenceService` entities for the `ServingEnvironment`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service_list import InferenceServiceList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - servingenvironment_id = 'servingenvironment_id_example' # str | A unique identifier for a `ServingEnvironment`. - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All ServingEnvironment's InferenceServices - api_response = await api_instance.get_environment_inference_services(servingenvironment_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_environment_inference_services:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_environment_inference_services: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **servingenvironment_id** | **str**| A unique identifier for a `ServingEnvironment`. | - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**InferenceServiceList**](InferenceServiceList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `InferenceService` entities. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_inference_service** -> InferenceService get_inference_service(inferenceservice_id) - -Get a InferenceService - -Gets the details of a single instance of a `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service import InferenceService -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - - try: - # Get a InferenceService - api_response = await api_instance.get_inference_service(inferenceservice_id) - print("The response of ModelRegistryServiceApi->get_inference_service:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_inference_service: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - -### Return type - -[**InferenceService**](InferenceService.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `InferenceService` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_inference_service_model** -> RegisteredModel get_inference_service_model(inferenceservice_id) - -Get InferenceService's RegisteredModel - -Gets the `RegisteredModel` entity for the `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.registered_model import RegisteredModel -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - - try: - # Get InferenceService's RegisteredModel - api_response = await api_instance.get_inference_service_model(inferenceservice_id) - print("The response of ModelRegistryServiceApi->get_inference_service_model:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_inference_service_model: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - -### Return type - -[**RegisteredModel**](RegisteredModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `RegisteredModel` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_inference_service_serves** -> ServeModelList get_inference_service_serves(inferenceservice_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All InferenceService's ServeModel actions - -Gets a list of all `ServeModel` entities for the `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.serve_model_list import ServeModelList -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All InferenceService's ServeModel actions - api_response = await api_instance.get_inference_service_serves(inferenceservice_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_inference_service_serves:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_inference_service_serves: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ServeModelList**](ServeModelList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `ServeModel` entities. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_inference_service_version** -> ModelVersion get_inference_service_version(inferenceservice_id) - -Get InferenceService's ModelVersion - -Gets the `ModelVersion` entity for the `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - - try: - # Get InferenceService's ModelVersion - api_response = await api_instance.get_inference_service_version(inferenceservice_id) - print("The response of ModelRegistryServiceApi->get_inference_service_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_inference_service_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelVersion` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_inference_services** -> InferenceServiceList get_inference_services(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All InferenceServices - -Gets a list of all `InferenceService` entities. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service_list import InferenceServiceList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All InferenceServices - api_response = await api_instance.get_inference_services(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_inference_services:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_inference_services: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**InferenceServiceList**](InferenceServiceList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `InferenceService` entities. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_model_artifact** -> ModelArtifact get_model_artifact(modelartifact_id) - -Get a ModelArtifact - -Gets the details of a single instance of a `ModelArtifact`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_artifact import ModelArtifact -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelartifact_id = 'modelartifact_id_example' # str | A unique identifier for a `ModelArtifact`. - - try: - # Get a ModelArtifact - api_response = await api_instance.get_model_artifact(modelartifact_id) - print("The response of ModelRegistryServiceApi->get_model_artifact:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_model_artifact: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelartifact_id** | **str**| A unique identifier for a `ModelArtifact`. | - -### Return type - -[**ModelArtifact**](ModelArtifact.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelArtifact` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_model_artifacts** -> ModelArtifactList get_model_artifacts(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All ModelArtifacts - -Gets a list of all `ModelArtifact` entities. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_artifact_list import ModelArtifactList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All ModelArtifacts - api_response = await api_instance.get_model_artifacts(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_model_artifacts:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_model_artifacts: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ModelArtifactList**](ModelArtifactList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of ModelArtifact entities. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_model_version** -> ModelVersion get_model_version(modelversion_id) - -Get a ModelVersion - -Gets the details of a single instance of a `ModelVersion`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelversion_id = 'modelversion_id_example' # str | A unique identifier for a `ModelVersion`. - - try: - # Get a ModelVersion - api_response = await api_instance.get_model_version(modelversion_id) - print("The response of ModelRegistryServiceApi->get_model_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_model_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelversion_id** | **str**| A unique identifier for a `ModelVersion`. | - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelVersion` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_model_version_artifacts** -> ArtifactList get_model_version_artifacts(modelversion_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List all artifacts associated with the `ModelVersion` - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.artifact_list import ArtifactList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelversion_id = 'modelversion_id_example' # str | A unique identifier for a `ModelVersion`. - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List all artifacts associated with the `ModelVersion` - api_response = await api_instance.get_model_version_artifacts(modelversion_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_model_version_artifacts:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_model_version_artifacts: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelversion_id** | **str**| A unique identifier for a `ModelVersion`. | - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ArtifactList**](ArtifactList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `Artifact` entities. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_model_versions** -> ModelVersionList get_model_versions(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All ModelVersions - -Gets a list of all `ModelVersion` entities. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version_list import ModelVersionList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All ModelVersions - api_response = await api_instance.get_model_versions(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_model_versions:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_model_versions: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ModelVersionList**](ModelVersionList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `ModelVersion` entities. | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_registered_model** -> RegisteredModel get_registered_model(registeredmodel_id) - -Get a RegisteredModel - -Gets the details of a single instance of a `RegisteredModel`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.registered_model import RegisteredModel -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - registeredmodel_id = 'registeredmodel_id_example' # str | A unique identifier for a `RegisteredModel`. - - try: - # Get a RegisteredModel - api_response = await api_instance.get_registered_model(registeredmodel_id) - print("The response of ModelRegistryServiceApi->get_registered_model:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_registered_model: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **registeredmodel_id** | **str**| A unique identifier for a `RegisteredModel`. | - -### Return type - -[**RegisteredModel**](RegisteredModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `RegisteredModel` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_registered_model_versions** -> ModelVersionList get_registered_model_versions(registeredmodel_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All RegisteredModel's ModelVersions - -Gets a list of all `ModelVersion` entities for the `RegisteredModel`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version_list import ModelVersionList -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - registeredmodel_id = 'registeredmodel_id_example' # str | A unique identifier for a `RegisteredModel`. - name = 'entity-name' # str | Name of entity to search. (optional) - external_id = '10' # str | External ID of entity to search. (optional) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All RegisteredModel's ModelVersions - api_response = await api_instance.get_registered_model_versions(registeredmodel_id, name=name, external_id=external_id, page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_registered_model_versions:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_registered_model_versions: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **registeredmodel_id** | **str**| A unique identifier for a `RegisteredModel`. | - **name** | **str**| Name of entity to search. | [optional] - **external_id** | **str**| External ID of entity to search. | [optional] - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ModelVersionList**](ModelVersionList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `ModelVersion` entities. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_registered_models** -> RegisteredModelList get_registered_models(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All RegisteredModels - -Gets a list of all `RegisteredModel` entities. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.registered_model_list import RegisteredModelList -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All RegisteredModels - api_response = await api_instance.get_registered_models(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_registered_models:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_registered_models: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**RegisteredModelList**](RegisteredModelList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `RegisteredModel` entities. | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_serving_environment** -> ServingEnvironment get_serving_environment(servingenvironment_id) - -Get a ServingEnvironment - -Gets the details of a single instance of a `ServingEnvironment`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.serving_environment import ServingEnvironment -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - servingenvironment_id = 'servingenvironment_id_example' # str | A unique identifier for a `ServingEnvironment`. - - try: - # Get a ServingEnvironment - api_response = await api_instance.get_serving_environment(servingenvironment_id) - print("The response of ModelRegistryServiceApi->get_serving_environment:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_serving_environment: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **servingenvironment_id** | **str**| A unique identifier for a `ServingEnvironment`. | - -### Return type - -[**ServingEnvironment**](ServingEnvironment.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ServingEnvironment` entity. | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_serving_environments** -> ServingEnvironmentList get_serving_environments(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - -List All ServingEnvironments - -Gets a list of all `ServingEnvironment` entities. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.order_by_field import OrderByField -from mr_openapi.models.serving_environment_list import ServingEnvironmentList -from mr_openapi.models.sort_order import SortOrder -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - page_size = '100' # str | Number of entities in each page. (optional) - order_by = mr_openapi.OrderByField() # OrderByField | Specifies the order by criteria for listing entities. (optional) - sort_order = mr_openapi.SortOrder() # SortOrder | Specifies the sort order for listing entities, defaults to ASC. (optional) - next_page_token = 'IkhlbGxvLCB3b3JsZC4i' # str | Token to use to retrieve next page of results. (optional) - - try: - # List All ServingEnvironments - api_response = await api_instance.get_serving_environments(page_size=page_size, order_by=order_by, sort_order=sort_order, next_page_token=next_page_token) - print("The response of ModelRegistryServiceApi->get_serving_environments:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->get_serving_environments: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **page_size** | **str**| Number of entities in each page. | [optional] - **order_by** | [**OrderByField**](.md)| Specifies the order by criteria for listing entities. | [optional] - **sort_order** | [**SortOrder**](.md)| Specifies the sort order for listing entities, defaults to ASC. | [optional] - **next_page_token** | **str**| Token to use to retrieve next page of results. | [optional] - -### Return type - -[**ServingEnvironmentList**](ServingEnvironmentList.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a list of `ServingEnvironment` entities. | - | -**401** | Unauthorized | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_inference_service** -> InferenceService update_inference_service(inferenceservice_id, inference_service_update) - -Update a InferenceService - -Updates an existing `InferenceService`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.inference_service import InferenceService -from mr_openapi.models.inference_service_update import InferenceServiceUpdate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - inferenceservice_id = 'inferenceservice_id_example' # str | A unique identifier for a `InferenceService`. - inference_service_update = mr_openapi.InferenceServiceUpdate() # InferenceServiceUpdate | Updated `InferenceService` information. - - try: - # Update a InferenceService - api_response = await api_instance.update_inference_service(inferenceservice_id, inference_service_update) - print("The response of ModelRegistryServiceApi->update_inference_service:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->update_inference_service: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **inferenceservice_id** | **str**| A unique identifier for a `InferenceService`. | - **inference_service_update** | [**InferenceServiceUpdate**](InferenceServiceUpdate.md)| Updated `InferenceService` information. | - -### Return type - -[**InferenceService**](InferenceService.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `InferenceService` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_model_artifact** -> ModelArtifact update_model_artifact(modelartifact_id, model_artifact_update) - -Update a ModelArtifact - -Updates an existing `ModelArtifact`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_artifact import ModelArtifact -from mr_openapi.models.model_artifact_update import ModelArtifactUpdate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelartifact_id = 'modelartifact_id_example' # str | A unique identifier for a `ModelArtifact`. - model_artifact_update = mr_openapi.ModelArtifactUpdate() # ModelArtifactUpdate | Updated `ModelArtifact` information. - - try: - # Update a ModelArtifact - api_response = await api_instance.update_model_artifact(modelartifact_id, model_artifact_update) - print("The response of ModelRegistryServiceApi->update_model_artifact:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->update_model_artifact: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelartifact_id** | **str**| A unique identifier for a `ModelArtifact`. | - **model_artifact_update** | [**ModelArtifactUpdate**](ModelArtifactUpdate.md)| Updated `ModelArtifact` information. | - -### Return type - -[**ModelArtifact**](ModelArtifact.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelArtifact` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_model_version** -> ModelVersion update_model_version(modelversion_id, model_version_update) - -Update a ModelVersion - -Updates an existing `ModelVersion`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.model_version import ModelVersion -from mr_openapi.models.model_version_update import ModelVersionUpdate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - modelversion_id = 'modelversion_id_example' # str | A unique identifier for a `ModelVersion`. - model_version_update = mr_openapi.ModelVersionUpdate() # ModelVersionUpdate | Updated `ModelVersion` information. - - try: - # Update a ModelVersion - api_response = await api_instance.update_model_version(modelversion_id, model_version_update) - print("The response of ModelRegistryServiceApi->update_model_version:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->update_model_version: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **modelversion_id** | **str**| A unique identifier for a `ModelVersion`. | - **model_version_update** | [**ModelVersionUpdate**](ModelVersionUpdate.md)| Updated `ModelVersion` information. | - -### Return type - -[**ModelVersion**](ModelVersion.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ModelVersion` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_registered_model** -> RegisteredModel update_registered_model(registeredmodel_id, registered_model_update) - -Update a RegisteredModel - -Updates an existing `RegisteredModel`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.registered_model import RegisteredModel -from mr_openapi.models.registered_model_update import RegisteredModelUpdate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - registeredmodel_id = 'registeredmodel_id_example' # str | A unique identifier for a `RegisteredModel`. - registered_model_update = mr_openapi.RegisteredModelUpdate() # RegisteredModelUpdate | Updated `RegisteredModel` information. - - try: - # Update a RegisteredModel - api_response = await api_instance.update_registered_model(registeredmodel_id, registered_model_update) - print("The response of ModelRegistryServiceApi->update_registered_model:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->update_registered_model: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **registeredmodel_id** | **str**| A unique identifier for a `RegisteredModel`. | - **registered_model_update** | [**RegisteredModelUpdate**](RegisteredModelUpdate.md)| Updated `RegisteredModel` information. | - -### Return type - -[**RegisteredModel**](RegisteredModel.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `RegisteredModel` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_serving_environment** -> ServingEnvironment update_serving_environment(servingenvironment_id, serving_environment_update) - -Update a ServingEnvironment - -Updates an existing `ServingEnvironment`. - -### Example - -* Bearer (JWT) Authentication (Bearer): - -```python -import mr_openapi -from mr_openapi.models.serving_environment import ServingEnvironment -from mr_openapi.models.serving_environment_update import ServingEnvironmentUpdate -from mr_openapi.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = mr_openapi.Configuration( - host = "https://localhost:8080" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization (JWT): Bearer -configuration = mr_openapi.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -async with mr_openapi.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = mr_openapi.ModelRegistryServiceApi(api_client) - servingenvironment_id = 'servingenvironment_id_example' # str | A unique identifier for a `ServingEnvironment`. - serving_environment_update = mr_openapi.ServingEnvironmentUpdate() # ServingEnvironmentUpdate | Updated `ServingEnvironment` information. - - try: - # Update a ServingEnvironment - api_response = await api_instance.update_serving_environment(servingenvironment_id, serving_environment_update) - print("The response of ModelRegistryServiceApi->update_serving_environment:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ModelRegistryServiceApi->update_serving_environment: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **servingenvironment_id** | **str**| A unique identifier for a `ServingEnvironment`. | - **serving_environment_update** | [**ServingEnvironmentUpdate**](ServingEnvironmentUpdate.md)| Updated `ServingEnvironment` information. | - -### Return type - -[**ServingEnvironment**](ServingEnvironment.md) - -### Authorization - -[Bearer](../README.md#Bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | A response containing a `ServingEnvironment` entity. | - | -**400** | Bad Request parameters | - | -**401** | Unauthorized | - | -**404** | The specified resource was not found | - | -**500** | Unexpected internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/clients/python/src/mr_openapi/docs/ModelVersion.md b/clients/python/src/mr_openapi/docs/ModelVersion.md deleted file mode 100644 index 71995e11..00000000 --- a/clients/python/src/mr_openapi/docs/ModelVersion.md +++ /dev/null @@ -1,39 +0,0 @@ -# ModelVersion - -Represents a ModelVersion belonging to a RegisteredModel. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**state** | [**ModelVersionState**](ModelVersionState.md) | | [optional] -**author** | **str** | Name of the author. | [optional] -**registered_model_id** | **str** | ID of the `RegisteredModel` to which this version belongs. | -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.model_version import ModelVersion - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelVersion from a JSON string -model_version_instance = ModelVersion.from_json(json) -# print the JSON string representation of the object -print(ModelVersion.to_json()) - -# convert the object into a dict -model_version_dict = model_version_instance.to_dict() -# create an instance of ModelVersion from a dict -model_version_from_dict = ModelVersion.from_dict(model_version_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelVersionCreate.md b/clients/python/src/mr_openapi/docs/ModelVersionCreate.md deleted file mode 100644 index 18e6adc5..00000000 --- a/clients/python/src/mr_openapi/docs/ModelVersionCreate.md +++ /dev/null @@ -1,36 +0,0 @@ -# ModelVersionCreate - -Represents a ModelVersion belonging to a RegisteredModel. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**state** | [**ModelVersionState**](ModelVersionState.md) | | [optional] -**author** | **str** | Name of the author. | [optional] -**registered_model_id** | **str** | ID of the `RegisteredModel` to which this version belongs. | - -## Example - -```python -from mr_openapi.models.model_version_create import ModelVersionCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelVersionCreate from a JSON string -model_version_create_instance = ModelVersionCreate.from_json(json) -# print the JSON string representation of the object -print(ModelVersionCreate.to_json()) - -# convert the object into a dict -model_version_create_dict = model_version_create_instance.to_dict() -# create an instance of ModelVersionCreate from a dict -model_version_create_from_dict = ModelVersionCreate.from_dict(model_version_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelVersionList.md b/clients/python/src/mr_openapi/docs/ModelVersionList.md deleted file mode 100644 index 4b09362d..00000000 --- a/clients/python/src/mr_openapi/docs/ModelVersionList.md +++ /dev/null @@ -1,33 +0,0 @@ -# ModelVersionList - -List of ModelVersion entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[ModelVersion]**](ModelVersion.md) | Array of `ModelVersion` entities. | [optional] - -## Example - -```python -from mr_openapi.models.model_version_list import ModelVersionList - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelVersionList from a JSON string -model_version_list_instance = ModelVersionList.from_json(json) -# print the JSON string representation of the object -print(ModelVersionList.to_json()) - -# convert the object into a dict -model_version_list_dict = model_version_list_instance.to_dict() -# create an instance of ModelVersionList from a dict -model_version_list_from_dict = ModelVersionList.from_dict(model_version_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelVersionState.md b/clients/python/src/mr_openapi/docs/ModelVersionState.md deleted file mode 100644 index 0686f480..00000000 --- a/clients/python/src/mr_openapi/docs/ModelVersionState.md +++ /dev/null @@ -1,12 +0,0 @@ -# ModelVersionState - -- LIVE: A state indicating that the `ModelVersion` exists - ARCHIVED: A state indicating that the `ModelVersion` has been archived. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ModelVersionUpdate.md b/clients/python/src/mr_openapi/docs/ModelVersionUpdate.md deleted file mode 100644 index 6b52b668..00000000 --- a/clients/python/src/mr_openapi/docs/ModelVersionUpdate.md +++ /dev/null @@ -1,34 +0,0 @@ -# ModelVersionUpdate - -Represents a ModelVersion belonging to a RegisteredModel. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**state** | [**ModelVersionState**](ModelVersionState.md) | | [optional] -**author** | **str** | Name of the author. | [optional] - -## Example - -```python -from mr_openapi.models.model_version_update import ModelVersionUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of ModelVersionUpdate from a JSON string -model_version_update_instance = ModelVersionUpdate.from_json(json) -# print the JSON string representation of the object -print(ModelVersionUpdate.to_json()) - -# convert the object into a dict -model_version_update_dict = model_version_update_instance.to_dict() -# create an instance of ModelVersionUpdate from a dict -model_version_update_from_dict = ModelVersionUpdate.from_dict(model_version_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/OrderByField.md b/clients/python/src/mr_openapi/docs/OrderByField.md deleted file mode 100644 index 00620847..00000000 --- a/clients/python/src/mr_openapi/docs/OrderByField.md +++ /dev/null @@ -1,12 +0,0 @@ -# OrderByField - -Supported fields for ordering result entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/RegisteredModel.md b/clients/python/src/mr_openapi/docs/RegisteredModel.md deleted file mode 100644 index d66b1fbd..00000000 --- a/clients/python/src/mr_openapi/docs/RegisteredModel.md +++ /dev/null @@ -1,38 +0,0 @@ -# RegisteredModel - -A registered model in model registry. A registered model has ModelVersion children. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] -**owner** | **str** | | [optional] -**state** | [**RegisteredModelState**](RegisteredModelState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.registered_model import RegisteredModel - -# TODO update the JSON string below -json = "{}" -# create an instance of RegisteredModel from a JSON string -registered_model_instance = RegisteredModel.from_json(json) -# print the JSON string representation of the object -print(RegisteredModel.to_json()) - -# convert the object into a dict -registered_model_dict = registered_model_instance.to_dict() -# create an instance of RegisteredModel from a dict -registered_model_from_dict = RegisteredModel.from_dict(registered_model_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/RegisteredModelCreate.md b/clients/python/src/mr_openapi/docs/RegisteredModelCreate.md deleted file mode 100644 index 0002e320..00000000 --- a/clients/python/src/mr_openapi/docs/RegisteredModelCreate.md +++ /dev/null @@ -1,35 +0,0 @@ -# RegisteredModelCreate - -A registered model in model registry. A registered model has ModelVersion children. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**owner** | **str** | | [optional] -**state** | [**RegisteredModelState**](RegisteredModelState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.registered_model_create import RegisteredModelCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of RegisteredModelCreate from a JSON string -registered_model_create_instance = RegisteredModelCreate.from_json(json) -# print the JSON string representation of the object -print(RegisteredModelCreate.to_json()) - -# convert the object into a dict -registered_model_create_dict = registered_model_create_instance.to_dict() -# create an instance of RegisteredModelCreate from a dict -registered_model_create_from_dict = RegisteredModelCreate.from_dict(registered_model_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/RegisteredModelList.md b/clients/python/src/mr_openapi/docs/RegisteredModelList.md deleted file mode 100644 index d29840b1..00000000 --- a/clients/python/src/mr_openapi/docs/RegisteredModelList.md +++ /dev/null @@ -1,33 +0,0 @@ -# RegisteredModelList - -List of RegisteredModels. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[RegisteredModel]**](RegisteredModel.md) | | [optional] - -## Example - -```python -from mr_openapi.models.registered_model_list import RegisteredModelList - -# TODO update the JSON string below -json = "{}" -# create an instance of RegisteredModelList from a JSON string -registered_model_list_instance = RegisteredModelList.from_json(json) -# print the JSON string representation of the object -print(RegisteredModelList.to_json()) - -# convert the object into a dict -registered_model_list_dict = registered_model_list_instance.to_dict() -# create an instance of RegisteredModelList from a dict -registered_model_list_from_dict = RegisteredModelList.from_dict(registered_model_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/RegisteredModelState.md b/clients/python/src/mr_openapi/docs/RegisteredModelState.md deleted file mode 100644 index 77ed5c6c..00000000 --- a/clients/python/src/mr_openapi/docs/RegisteredModelState.md +++ /dev/null @@ -1,12 +0,0 @@ -# RegisteredModelState - -- LIVE: A state indicating that the `RegisteredModel` exists - ARCHIVED: A state indicating that the `RegisteredModel` has been archived. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/RegisteredModelUpdate.md b/clients/python/src/mr_openapi/docs/RegisteredModelUpdate.md deleted file mode 100644 index b6987971..00000000 --- a/clients/python/src/mr_openapi/docs/RegisteredModelUpdate.md +++ /dev/null @@ -1,34 +0,0 @@ -# RegisteredModelUpdate - -A registered model in model registry. A registered model has ModelVersion children. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**owner** | **str** | | [optional] -**state** | [**RegisteredModelState**](RegisteredModelState.md) | | [optional] - -## Example - -```python -from mr_openapi.models.registered_model_update import RegisteredModelUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of RegisteredModelUpdate from a JSON string -registered_model_update_instance = RegisteredModelUpdate.from_json(json) -# print the JSON string representation of the object -print(RegisteredModelUpdate.to_json()) - -# convert the object into a dict -registered_model_update_dict = registered_model_update_instance.to_dict() -# create an instance of RegisteredModelUpdate from a dict -registered_model_update_from_dict = RegisteredModelUpdate.from_dict(registered_model_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServeModel.md b/clients/python/src/mr_openapi/docs/ServeModel.md deleted file mode 100644 index a8268842..00000000 --- a/clients/python/src/mr_openapi/docs/ServeModel.md +++ /dev/null @@ -1,38 +0,0 @@ -# ServeModel - -An ML model serving action. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] -**model_version_id** | **str** | ID of the `ModelVersion` that was served in `InferenceService`. | - -## Example - -```python -from mr_openapi.models.serve_model import ServeModel - -# TODO update the JSON string below -json = "{}" -# create an instance of ServeModel from a JSON string -serve_model_instance = ServeModel.from_json(json) -# print the JSON string representation of the object -print(ServeModel.to_json()) - -# convert the object into a dict -serve_model_dict = serve_model_instance.to_dict() -# create an instance of ServeModel from a dict -serve_model_from_dict = ServeModel.from_dict(serve_model_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServeModelCreate.md b/clients/python/src/mr_openapi/docs/ServeModelCreate.md deleted file mode 100644 index bca34428..00000000 --- a/clients/python/src/mr_openapi/docs/ServeModelCreate.md +++ /dev/null @@ -1,35 +0,0 @@ -# ServeModelCreate - -An ML model serving action. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**model_version_id** | **str** | ID of the `ModelVersion` that was served in `InferenceService`. | - -## Example - -```python -from mr_openapi.models.serve_model_create import ServeModelCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of ServeModelCreate from a JSON string -serve_model_create_instance = ServeModelCreate.from_json(json) -# print the JSON string representation of the object -print(ServeModelCreate.to_json()) - -# convert the object into a dict -serve_model_create_dict = serve_model_create_instance.to_dict() -# create an instance of ServeModelCreate from a dict -serve_model_create_from_dict = ServeModelCreate.from_dict(serve_model_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServeModelList.md b/clients/python/src/mr_openapi/docs/ServeModelList.md deleted file mode 100644 index 8cc65106..00000000 --- a/clients/python/src/mr_openapi/docs/ServeModelList.md +++ /dev/null @@ -1,33 +0,0 @@ -# ServeModelList - -List of ServeModel entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[ServeModel]**](ServeModel.md) | Array of `ModelArtifact` entities. | [optional] - -## Example - -```python -from mr_openapi.models.serve_model_list import ServeModelList - -# TODO update the JSON string below -json = "{}" -# create an instance of ServeModelList from a JSON string -serve_model_list_instance = ServeModelList.from_json(json) -# print the JSON string representation of the object -print(ServeModelList.to_json()) - -# convert the object into a dict -serve_model_list_dict = serve_model_list_instance.to_dict() -# create an instance of ServeModelList from a dict -serve_model_list_from_dict = ServeModelList.from_dict(serve_model_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServeModelUpdate.md b/clients/python/src/mr_openapi/docs/ServeModelUpdate.md deleted file mode 100644 index 6a80a919..00000000 --- a/clients/python/src/mr_openapi/docs/ServeModelUpdate.md +++ /dev/null @@ -1,33 +0,0 @@ -# ServeModelUpdate - -An ML model serving action. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_known_state** | [**ExecutionState**](ExecutionState.md) | | [optional] -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] - -## Example - -```python -from mr_openapi.models.serve_model_update import ServeModelUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of ServeModelUpdate from a JSON string -serve_model_update_instance = ServeModelUpdate.from_json(json) -# print the JSON string representation of the object -print(ServeModelUpdate.to_json()) - -# convert the object into a dict -serve_model_update_dict = serve_model_update_instance.to_dict() -# create an instance of ServeModelUpdate from a dict -serve_model_update_from_dict = ServeModelUpdate.from_dict(serve_model_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServingEnvironment.md b/clients/python/src/mr_openapi/docs/ServingEnvironment.md deleted file mode 100644 index f7ea335e..00000000 --- a/clients/python/src/mr_openapi/docs/ServingEnvironment.md +++ /dev/null @@ -1,36 +0,0 @@ -# ServingEnvironment - -A Model Serving environment for serving `RegisteredModels`. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] -**id** | **str** | Output only. The unique server generated id of the resource. | [optional] [readonly] -**create_time_since_epoch** | **str** | Output only. Create time of the resource in millisecond since epoch. | [optional] [readonly] -**last_update_time_since_epoch** | **str** | Output only. Last update time of the resource since epoch in millisecond since epoch. | [optional] [readonly] - -## Example - -```python -from mr_openapi.models.serving_environment import ServingEnvironment - -# TODO update the JSON string below -json = "{}" -# create an instance of ServingEnvironment from a JSON string -serving_environment_instance = ServingEnvironment.from_json(json) -# print the JSON string representation of the object -print(ServingEnvironment.to_json()) - -# convert the object into a dict -serving_environment_dict = serving_environment_instance.to_dict() -# create an instance of ServingEnvironment from a dict -serving_environment_from_dict = ServingEnvironment.from_dict(serving_environment_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServingEnvironmentCreate.md b/clients/python/src/mr_openapi/docs/ServingEnvironmentCreate.md deleted file mode 100644 index afaaf134..00000000 --- a/clients/python/src/mr_openapi/docs/ServingEnvironmentCreate.md +++ /dev/null @@ -1,33 +0,0 @@ -# ServingEnvironmentCreate - -A Model Serving environment for serving `RegisteredModels`. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] -**name** | **str** | The client provided name of the artifact. This field is optional. If set, it must be unique among all the artifacts of the same artifact type within a database instance and cannot be changed once set. | [optional] - -## Example - -```python -from mr_openapi.models.serving_environment_create import ServingEnvironmentCreate - -# TODO update the JSON string below -json = "{}" -# create an instance of ServingEnvironmentCreate from a JSON string -serving_environment_create_instance = ServingEnvironmentCreate.from_json(json) -# print the JSON string representation of the object -print(ServingEnvironmentCreate.to_json()) - -# convert the object into a dict -serving_environment_create_dict = serving_environment_create_instance.to_dict() -# create an instance of ServingEnvironmentCreate from a dict -serving_environment_create_from_dict = ServingEnvironmentCreate.from_dict(serving_environment_create_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServingEnvironmentList.md b/clients/python/src/mr_openapi/docs/ServingEnvironmentList.md deleted file mode 100644 index 43e6e136..00000000 --- a/clients/python/src/mr_openapi/docs/ServingEnvironmentList.md +++ /dev/null @@ -1,33 +0,0 @@ -# ServingEnvironmentList - -List of ServingEnvironments. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**next_page_token** | **str** | Token to use to retrieve next page of results. | -**page_size** | **int** | Maximum number of resources to return in the result. | -**size** | **int** | Number of items in result list. | -**items** | [**List[ServingEnvironment]**](ServingEnvironment.md) | | [optional] - -## Example - -```python -from mr_openapi.models.serving_environment_list import ServingEnvironmentList - -# TODO update the JSON string below -json = "{}" -# create an instance of ServingEnvironmentList from a JSON string -serving_environment_list_instance = ServingEnvironmentList.from_json(json) -# print the JSON string representation of the object -print(ServingEnvironmentList.to_json()) - -# convert the object into a dict -serving_environment_list_dict = serving_environment_list_instance.to_dict() -# create an instance of ServingEnvironmentList from a dict -serving_environment_list_from_dict = ServingEnvironmentList.from_dict(serving_environment_list_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/ServingEnvironmentUpdate.md b/clients/python/src/mr_openapi/docs/ServingEnvironmentUpdate.md deleted file mode 100644 index 1dac7bd1..00000000 --- a/clients/python/src/mr_openapi/docs/ServingEnvironmentUpdate.md +++ /dev/null @@ -1,32 +0,0 @@ -# ServingEnvironmentUpdate - -A Model Serving environment for serving `RegisteredModels`. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_properties** | [**Dict[str, MetadataValue]**](MetadataValue.md) | User provided custom properties which are not defined by its type. | [optional] -**description** | **str** | An optional description about the resource. | [optional] -**external_id** | **str** | The external id that come from the clients’ system. This field is optional. If set, it must be unique among all resources within a database instance. | [optional] - -## Example - -```python -from mr_openapi.models.serving_environment_update import ServingEnvironmentUpdate - -# TODO update the JSON string below -json = "{}" -# create an instance of ServingEnvironmentUpdate from a JSON string -serving_environment_update_instance = ServingEnvironmentUpdate.from_json(json) -# print the JSON string representation of the object -print(ServingEnvironmentUpdate.to_json()) - -# convert the object into a dict -serving_environment_update_dict = serving_environment_update_instance.to_dict() -# create an instance of ServingEnvironmentUpdate from a dict -serving_environment_update_from_dict = ServingEnvironmentUpdate.from_dict(serving_environment_update_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/src/mr_openapi/docs/SortOrder.md b/clients/python/src/mr_openapi/docs/SortOrder.md deleted file mode 100644 index 2793df4c..00000000 --- a/clients/python/src/mr_openapi/docs/SortOrder.md +++ /dev/null @@ -1,12 +0,0 @@ -# SortOrder - -Supported sort direction for ordering result entities. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/clients/python/tests/test_client.py b/clients/python/tests/test_client.py index 698ac68a..aa8ab39f 100644 --- a/clients/python/tests/test_client.py +++ b/clients/python/tests/test_client.py @@ -1,4 +1,5 @@ import os +from itertools import islice import pytest from model_registry import ModelRegistry, utils @@ -94,6 +95,7 @@ async def test_get(client: ModelRegistry): metadata=metadata, ) + assert rm.id assert (_rm := client.get_registered_model(name)) assert rm.id == _rm.id @@ -109,6 +111,117 @@ async def test_get(client: ModelRegistry): assert ma.id == _ma.id +def test_get_registered_models(client: ModelRegistry): + models = 21 + + for name in [f"test_model{i}" for i in range(models)]: + client.register_model( + name, + "s3", + model_format_name="test_format", + model_format_version="test_version", + version="1.0.0", + ) + + rm_iter = client.get_registered_models().limit(10) + i = 0 + prev_tok = None + changes = 0 + with pytest.raises(StopIteration): # noqa: PT012 + while i < 50 and next(rm_iter): + if rm_iter.options.next_page_token != prev_tok: + print( + f"Token changed from {prev_tok} to {rm_iter.options.next_page_token} at {i}" + ) + prev_tok = rm_iter.options.next_page_token + changes += 1 + i += 1 + + assert changes == 3 + assert i == models + + +def test_get_registered_models_and_reset(client: ModelRegistry): + model_count = 6 + page = model_count // 2 + + for name in [f"test_model{i}" for i in range(model_count)]: + client.register_model( + name, + "s3", + model_format_name="test_format", + model_format_version="test_version", + version="1.0.0", + ) + + rm_iter = client.get_registered_models().limit(model_count - 1) + models = [] + for rm in islice(rm_iter, page): + models.append(rm) + assert len(models) == page + rm_iter.restart() + complete = list(rm_iter) + assert len(complete) == model_count + assert complete[:page] == models + + +def test_get_model_versions(client: ModelRegistry): + name = "test_model" + models = 21 + + for v in [f"1.0.{i}" for i in range(models)]: + client.register_model( + name, + "s3", + model_format_name="test_format", + model_format_version="test_version", + version=v, + ) + + mv_iter = client.get_model_versions(name).limit(10) + i = 0 + prev_tok = None + changes = 0 + with pytest.raises(StopIteration): # noqa: PT012 + while i < 50 and next(mv_iter): + if mv_iter.options.next_page_token != prev_tok: + print( + f"Token changed from {prev_tok} to {mv_iter.options.next_page_token} at {i}" + ) + prev_tok = mv_iter.options.next_page_token + changes += 1 + i += 1 + + assert changes == 3 + assert i == models + + +def test_get_model_versions_and_reset(client: ModelRegistry): + name = "test_model" + + model_count = 6 + page = model_count // 2 + + for v in [f"1.0.{i}" for i in range(model_count)]: + client.register_model( + name, + "s3", + model_format_name="test_format", + model_format_version="test_version", + version=v, + ) + + mv_iter = client.get_model_versions(name).limit(model_count - 1) + models = [] + for rm in islice(mv_iter, page): + models.append(rm) + assert len(models) == page + mv_iter.restart() + complete = list(mv_iter) + assert len(complete) == model_count + assert complete[:page] == models + + def test_hf_import(client: ModelRegistry): pytest.importorskip("huggingface_hub") name = "openai-community/gpt2" diff --git a/clients/python/tests/test_core.py b/clients/python/tests/test_core.py index 9ea6071c..27463838 100644 --- a/clients/python/tests/test_core.py +++ b/clients/python/tests/test_core.py @@ -2,7 +2,13 @@ import pytest from model_registry.core import ModelRegistryAPIClient -from model_registry.types import ModelArtifact, ModelVersion, RegisteredModel +from model_registry.types import ( + DocArtifact, + ModelArtifact, + ModelVersion, + Pager, + RegisteredModel, +) from .conftest import REGISTRY_HOST, REGISTRY_PORT, cleanup @@ -81,6 +87,17 @@ async def test_get_registered_models( assert [registered_model, rm2] == rms +async def test_page_through_registered_models(client: ModelRegistryAPIClient): + models = 6 + for i in range(models): + await client.upsert_registered_model(RegisteredModel(name=f"rm{i}")) + pager = Pager(client.get_registered_models).limit(5) + total = 0 + async for _ in pager: + total += 1 + assert total == models + + async def test_insert_model_version( client: ModelRegistryAPIClient, registered_model: RegisteredModel, @@ -144,7 +161,7 @@ async def test_get_model_version_by_external_id( ): assert ( mv := await client.get_model_version_by_params( - external_id=model_version.external_id + external_id=str(model_version.external_id) ) ) assert mv == model_version @@ -163,6 +180,23 @@ async def test_get_model_versions( assert [model_version, mv2] == mvs +async def test_page_through_model_versions( + client: ModelRegistryAPIClient, registered_model: RegisteredModel +): + models = 6 + for i in range(models): + await client.upsert_model_version( + ModelVersion(name=f"mv{i}"), str(registered_model.id) + ) + pager = Pager( + lambda o: client.get_model_versions(str(registered_model.id), o) + ).limit(5) + total = 0 + async for _ in pager: + total += 1 + assert total == models + + async def test_insert_model_artifact( client: ModelRegistryAPIClient, model_version: ModelVersion, @@ -229,7 +263,7 @@ async def test_get_model_artifact_by_name( ): assert ( ma := await client.get_model_artifact_by_params( - name=model.name, model_version_id=str(model_version.id) + name=str(model.name), model_version_id=str(model_version.id) ) ) assert ma == model @@ -239,7 +273,9 @@ async def test_get_model_artifact_by_external_id( client: ModelRegistryAPIClient, model: ModelArtifact ): assert ( - ma := await client.get_model_artifact_by_params(external_id=model.external_id) + ma := await client.get_model_artifact_by_params( + external_id=str(model.external_id) + ) ) assert ma == model @@ -264,3 +300,25 @@ async def test_get_model_artifacts_by_mv_id( mas = await client.get_model_artifacts(str(model_version.id)) assert [model, ma2] == mas + + +async def test_page_through_model_version_artifacts( + client: ModelRegistryAPIClient, + registered_model: RegisteredModel, + model_version: ModelVersion, +): + _ = registered_model + models = 6 + for i in range(models): + if i % 2 == 0: + art = ModelArtifact(name=f"ma{i}", uri="uri") + else: + art = DocArtifact(name=f"ma{i}", uri="uri") + await client.create_model_version_artifact(art, str(model_version.id)) + pager = Pager( + lambda o: client.get_model_version_artifacts(str(model_version.id), o) + ).limit(5) + total = 0 + async for _ in pager: + total += 1 + assert total == models diff --git a/clients/ui/bff/OWNERS b/clients/ui/OWNERS similarity index 100% rename from clients/ui/bff/OWNERS rename to clients/ui/OWNERS diff --git a/clients/ui/bff/Makefile b/clients/ui/bff/Makefile index 921823d3..36da91c5 100644 --- a/clients/ui/bff/Makefile +++ b/clients/ui/bff/Makefile @@ -1,5 +1,7 @@ CONTAINER_TOOL ?= docker IMG ?= model-registry-bff:latest +PORT ?= 4000 +MOCK_K8S_CLIENT ?= false .PHONY: all all: build @@ -30,8 +32,8 @@ build: fmt vet test .PHONY: run run: fmt vet - PORT=4000 go run ./cmd/main.go + go run ./cmd/main.go --port=$(PORT) --mock-k8s-client=$(MOCK_K8S_CLIENT) .PHONY: docker-build docker-build: - $(CONTAINER_TOOL) build -t ${IMG} . \ No newline at end of file + $(CONTAINER_TOOL) build -t ${IMG} . diff --git a/clients/ui/bff/README.md b/clients/ui/bff/README.md index c4e863c5..7e99e1ab 100644 --- a/clients/ui/bff/README.md +++ b/clients/ui/bff/README.md @@ -1,11 +1,54 @@ # Kubeflow Model Registry UI BFF The Kubeflow Model Registry UI BFF is the _backend for frontend_ (BFF) used by the Kubeflow Model Registry UI. -# Building and Deploying -TBD +## Pre-requisites: + +### Dependencies +- Go >= 1.22.2 + +### Running model registry & ml-metadata +To be operational, our BFF needs the Model Registry & Ml-metadata backend running. + +> **NOTE:** Docker compose must be installed in your environment. + +There are two `docker-compose` files located at the [root](https://github.com/kubeflow/model-registry) of Model Registry repository that make the startup of both model registry and ml-metadata easier by simply running: + +```shell +docker compose -f docker-compose[-local].yaml up +``` + +The main difference between the two docker compose files is that `-local` one builds the model registry from source, the other one, instead, download the `latest` pushed [quay.io](https://quay.io/repository/opendatahub/model-registry?tab=tags) image. + +When shutting down the docker compose, you might want to clean-up the SQLite db file generated by ML Metadata, for example `./test/config/ml-metadata/metadata.sqlite.db` # Development -TBD + +Run the following command to build the BFF: +```shell +make build +``` +After building it, you can run our app with: +```shell +make run +``` +If you want to use a different port or mock kubernetes client, useful for front-end development, you can run: +```shell +make run PORT=8000 MOCK_K8S_CLIENT=true +``` + +# Building and Deploying + +Run the following command to build the BFF: +```shell +make build +``` +The BFF binary will be inside `bin` directory + +You can also build BFF docker image with: +```shell +make docker-build +``` + ## Getting started @@ -48,4 +91,4 @@ curl -i -X POST "http://localhost:4000/api/v1/model-registry/model-registry/regi "owner": "eder", "state": "LIVE" }' -``` \ No newline at end of file +``` diff --git a/clients/ui/bff/api/app.go b/clients/ui/bff/api/app.go index 0e1ad17c..6e17df90 100644 --- a/clients/ui/bff/api/app.go +++ b/clients/ui/bff/api/app.go @@ -5,6 +5,7 @@ import ( "github.com/kubeflow/model-registry/ui/bff/config" "github.com/kubeflow/model-registry/ui/bff/data" "github.com/kubeflow/model-registry/ui/bff/integrations" + "github.com/kubeflow/model-registry/ui/bff/internals/mocks" "log/slog" "net/http" @@ -28,7 +29,15 @@ type App struct { } func NewApp(cfg config.EnvConfig, logger *slog.Logger) (*App, error) { - k8sClient, err := integrations.NewKubernetesClient(logger) + var k8sClient integrations.KubernetesClientInterface + var err error + if cfg.MockK8Client { + //mock all k8s calls + k8sClient, err = mocks.NewKubernetesClient(logger) + } else { + k8sClient, err = integrations.NewKubernetesClient(logger) + } + if err != nil { return nil, fmt.Errorf("failed to create Kubernetes client: %w", err) } diff --git a/clients/ui/bff/api/model_registry_handler_test.go b/clients/ui/bff/api/model_registry_handler_test.go index 4bf44104..47a91b6c 100644 --- a/clients/ui/bff/api/model_registry_handler_test.go +++ b/clients/ui/bff/api/model_registry_handler_test.go @@ -12,8 +12,7 @@ import ( ) func TestModelRegistryHandler(t *testing.T) { - mockK8sClient := new(mocks.KubernetesClientMock) - mockK8sClient.On("GetServiceNames").Return(mockK8sClient.MockServiceNames(), nil) + mockK8sClient, _ := mocks.NewKubernetesClient(nil) testApp := App{ kubernetesClient: mockK8sClient, @@ -46,12 +45,12 @@ func TestModelRegistryHandler(t *testing.T) { var expected = Envelope{ "model_registry": []data.ModelRegistryModel{ - {Name: mockK8sClient.MockServiceNames()[0]}, - {Name: mockK8sClient.MockServiceNames()[1]}, + {Name: "model-registry"}, + {Name: "model-registry-dora"}, + {Name: "model-registry-bella"}, }, } assert.Equal(t, expected, modelRegistryRes) - mockK8sClient.AssertExpectations(t) } diff --git a/clients/ui/bff/cmd/main.go b/clients/ui/bff/cmd/main.go index b3d505eb..5b52d907 100644 --- a/clients/ui/bff/cmd/main.go +++ b/clients/ui/bff/cmd/main.go @@ -16,6 +16,8 @@ import ( func main() { var cfg config.EnvConfig flag.IntVar(&cfg.Port, "port", getEnvAsInt("PORT", 4000), "API server port") + flag.BoolVar(&cfg.MockK8Client, "mock-k8s-client", false, "Use mock Kubernetes client") + flag.Parse() logger := slog.New(slog.NewTextHandler(os.Stdout, nil)) diff --git a/clients/ui/bff/config/environment.go b/clients/ui/bff/config/environment.go index 5acd1ce6..0abcd067 100644 --- a/clients/ui/bff/config/environment.go +++ b/clients/ui/bff/config/environment.go @@ -1,5 +1,6 @@ package config type EnvConfig struct { - Port int + Port int + MockK8Client bool } diff --git a/clients/ui/bff/data/model_registry_test.go b/clients/ui/bff/data/model_registry_test.go index b95df4d6..0a8bb543 100644 --- a/clients/ui/bff/data/model_registry_test.go +++ b/clients/ui/bff/data/model_registry_test.go @@ -7,9 +7,7 @@ import ( ) func TestFetchAllModelRegistry(t *testing.T) { - mockK8sClient := new(mocks.KubernetesClientMock) - - mockK8sClient.On("GetServiceNames").Return(mockK8sClient.MockServiceNames(), nil) + mockK8sClient, _ := mocks.NewKubernetesClient(nil) model := ModelRegistryModel{} @@ -18,10 +16,10 @@ func TestFetchAllModelRegistry(t *testing.T) { assert.NoError(t, err) expectedRegistries := []ModelRegistryModel{ - {Name: mockK8sClient.MockServiceNames()[0]}, - {Name: mockK8sClient.MockServiceNames()[1]}, + {Name: "model-registry"}, + {Name: "model-registry-dora"}, + {Name: "model-registry-bella"}, } assert.Equal(t, expectedRegistries, registries) - mockK8sClient.AssertExpectations(t) } diff --git a/clients/ui/bff/internals/mocks/k8s_mock.go b/clients/ui/bff/internals/mocks/k8s_mock.go index 7c824cca..5652ed54 100644 --- a/clients/ui/bff/internals/mocks/k8s_mock.go +++ b/clients/ui/bff/internals/mocks/k8s_mock.go @@ -3,26 +3,30 @@ package mocks import ( k8s "github.com/kubeflow/model-registry/ui/bff/integrations" "github.com/stretchr/testify/mock" + "log/slog" ) type KubernetesClientMock struct { mock.Mock } +func NewKubernetesClient(logger *slog.Logger) (k8s.KubernetesClientInterface, error) { + return &KubernetesClientMock{}, nil +} + func (m *KubernetesClientMock) GetServiceNames() ([]string, error) { - args := m.Called() - return args.Get(0).([]string), args.Error(1) + return []string{"model-registry", "model-registry-dora", "model-registry-bella"}, nil } func (m *KubernetesClientMock) BearerToken() (string, error) { - args := m.Called() - return args.String(0), args.Error(1) + return "FAKE BEARER TOKEN", nil } func (m *KubernetesClientMock) GetServiceDetailsByName(serviceName string) (k8s.ServiceDetails, error) { - args := m.Called(serviceName) - return args.Get(0).(k8s.ServiceDetails), args.Error(1) -} -func (m *KubernetesClientMock) MockServiceNames() []string { - return []string{"model-registry-dora", "model-registry-bella"} + //expected forward to docker compose -f docker-compose.yaml up + return k8s.ServiceDetails{ + Name: serviceName, + ClusterIP: "127.0.0.1", + HTTPPort: 8080, + }, nil } diff --git a/clients/ui/frontend/package-lock.json b/clients/ui/frontend/package-lock.json index 58253e34..398e1d53 100644 --- a/clients/ui/frontend/package-lock.json +++ b/clients/ui/frontend/package-lock.json @@ -42,8 +42,6 @@ "prettier": "^3.3.0", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", - "react-axe": "^3.5.4", - "react-docgen-typescript-loader": "^3.7.2", "react-router-dom": "^5.3.4", "regenerator-runtime": "^0.13.11", "rimraf": "^5.0.7", @@ -2747,66 +2745,6 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", @@ -2830,139 +2768,6 @@ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, "node_modules/@webpack-cli/configtest": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", @@ -3119,16 +2924,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, "node_modules/ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", @@ -3250,13 +3045,6 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "peer": true - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3272,36 +3060,6 @@ "dequal": "^2.0.3" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", @@ -3353,16 +3111,6 @@ "node": ">=8" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", @@ -3451,91 +3199,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "peer": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true, - "peer": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "peer": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/attr-accept": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", @@ -3559,15 +3228,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axe-core": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", - "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -3771,199 +3431,70 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, - "peer": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, - "peer": true, "dependencies": { - "kind-of": "^6.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "peer": true, "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "peer": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "peer": true - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true, - "peer": true - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" + "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/ms": { @@ -4006,176 +3537,6 @@ "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "peer": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true, - "peer": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "peer": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "peer": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "peer": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", - "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.4", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.6", - "readable-stream": "^3.6.2", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "peer": true, - "dependencies": { - "pako": "~1.0.5" - } - }, "node_modules/browserslist": { "version": "4.22.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", @@ -4226,140 +3587,22 @@ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "peer": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true, - "peer": true - }, - "node_modules/buffer/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "peer": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true, - "peer": true - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "peer": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "peer": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "peer": true - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "peer": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node-int64": "^0.4.0" } }, - "node_modules/cache-base/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, "node_modules/call-bind": { @@ -4548,13 +3791,6 @@ "node": ">=8.0" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true, - "peer": true - }, "node_modules/chrome-trace-event": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", @@ -4588,62 +3824,12 @@ "node": ">=8" } }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, "node_modules/cjs-module-lexer": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "peer": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -4688,20 +3874,6 @@ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "peer": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4747,20 +3919,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true, - "peer": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true, - "peer": true - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -4821,22 +3979,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -4846,13 +3988,6 @@ "node": ">=0.8" } }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true, - "peer": true - }, "node_modules/console-clear": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", @@ -4861,13 +3996,6 @@ "node": ">=4" } }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true, - "peer": true - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -4924,44 +4052,6 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "peer": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -5062,53 +4152,6 @@ "node": ">=10" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "peer": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "peer": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -5214,29 +4257,6 @@ "node": ">= 8" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "peer": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, "node_modules/css-declaration-sorter": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", @@ -5604,23 +4624,6 @@ "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==", "dev": true }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true, - "peer": true - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -5749,16 +4752,6 @@ "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/dedent": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", @@ -5843,71 +4836,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "peer": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5935,17 +4863,6 @@ "node": ">=6" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -5980,25 +4897,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -6070,17 +4968,6 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", @@ -6192,19 +5079,6 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "peer": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -6223,29 +5097,6 @@ "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==", "dev": true }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, "node_modules/emittery": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", @@ -6282,16 +5133,6 @@ "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "peer": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enhanced-resolve": { "version": "5.16.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz", @@ -6331,21 +5172,8 @@ "bin": { "envinfo": "dist/cli.js" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "peer": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" + "engines": { + "node": ">=4" } }, "node_modules/error-ex": { @@ -6547,43 +5375,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -6802,20 +5593,6 @@ "node": ">=4.0" } }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7035,27 +5812,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esniff/node_modules/type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true - }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -7179,16 +5935,6 @@ "node": ">= 0.6" } }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -7204,17 +5950,6 @@ "node": ">=0.8.x" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "peer": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, "node_modules/execa": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", @@ -7259,68 +5994,6 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "peer": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true - }, "node_modules/expect": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", @@ -7438,135 +6111,6 @@ "node": ">= 0.8" } }, - "node_modules/ext": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", - "dev": true, - "dependencies": { - "type": "^2.5.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", - "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "peer": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "peer": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "peer": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "peer": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7655,13 +6199,6 @@ "bser": "2.1.1" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true, - "peer": true - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -7754,43 +6291,6 @@ "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "peer": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -7819,96 +6319,18 @@ } }, "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "peer": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "peer": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "peer": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "peer": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "peer": true, - "dependencies": { - "find-up": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, "node_modules/find-up": { @@ -7967,17 +6389,6 @@ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, "node_modules/focus-trap": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", @@ -8015,16 +6426,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -8076,19 +6477,6 @@ "node": ">= 0.6" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "peer": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -8098,36 +6486,12 @@ "node": ">= 0.6" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, "node_modules/fs-monkey": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", "dev": true }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -8267,16 +6631,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", @@ -8297,32 +6651,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -8473,120 +6801,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "peer": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-value/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "peer": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -8622,18 +6836,6 @@ "value-equal": "^1.0.1" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "peer": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -8970,13 +7172,6 @@ } } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true, - "peer": true - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -9043,13 +7238,6 @@ } ] }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true, - "peer": true - }, "node_modules/ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -9177,13 +7365,6 @@ "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true, - "peer": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -9232,32 +7413,6 @@ "node": ">= 10" } }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -9351,13 +7506,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "peer": true - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -9382,32 +7530,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-data-view": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", @@ -9438,31 +7560,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "peer": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-docker": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", @@ -9478,16 +7575,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -9575,19 +7662,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-number-object": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", @@ -9595,22 +7669,9 @@ "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-path-inside": { @@ -9780,16 +7841,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -11779,13 +9830,6 @@ "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "peer": true - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -11903,42 +9947,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/local-access": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz", @@ -11983,31 +9991,6 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "dependencies": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -12049,30 +10032,6 @@ "lz-string": "bin/bin.js" } }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "peer": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -12088,41 +10047,6 @@ "tmpl": "1.0.5" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "peer": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "peer": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -12150,17 +10074,6 @@ "node": ">= 4.0.0" } }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "peer": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -12249,27 +10162,6 @@ "node": ">=8.0" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -12356,13 +10248,6 @@ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true, - "peer": true - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -12390,96 +10275,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "peer": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "peer": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "peer": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "peer": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "peer": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/mri": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", @@ -12515,14 +10310,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -12541,29 +10328,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "peer": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12585,12 +10349,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -12616,45 +10374,6 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "peer": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "peer": true - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", @@ -12708,47 +10427,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "peer": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -12783,29 +10461,6 @@ "node": ">= 0.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "peer": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-visit/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object.assign": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", @@ -12854,46 +10509,23 @@ }, "funding": { "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "peer": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, - "peer": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { @@ -12990,13 +10622,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true, - "peer": true - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -13058,25 +10683,6 @@ "node": ">=6" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true, - "peer": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "peer": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -13099,20 +10705,6 @@ "node": ">=6" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "peer": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13150,31 +10742,6 @@ "tslib": "^2.0.3" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true, - "peer": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -13251,23 +10818,6 @@ "node": ">=8" } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "peer": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/peek-readable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", @@ -13299,16 +10849,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", @@ -13330,16 +10870,6 @@ "node": ">=8" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -13930,29 +11460,12 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true, - "peer": true - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -14003,75 +11516,12 @@ "node": ">= 0.10" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true, - "peer": true - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "peer": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "peer": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "peer": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "peer": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -14112,27 +11562,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -14168,17 +11597,6 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -14255,258 +11673,15 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-axe": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/react-axe/-/react-axe-3.5.4.tgz", - "integrity": "sha512-5xNO0QVCCEZnJiyhAGox0MGFyclgU3XL8se+5H+whdxV1VTtA9/uux9BSCF5mGNSgtSZkb+tQtrOaF+zGf/oWw==", - "deprecated": "deprecated", - "dev": true, - "dependencies": { - "axe-core": "^3.5.0", - "requestidlecallback": "^0.3.0" - } - }, - "node_modules/react-docgen-typescript": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.16.4.tgz", - "integrity": "sha512-9NkfxDnLB+zYPRE4JBWoNc/JB0N1YWkZEq91al4F/e6BGMKHtAOESaEmrqdooxBLlxDhGKUGCXhPGJHHsG6bFQ==", - "dev": true, - "peerDependencies": { - "typescript": ">= 3.x" - } - }, - "node_modules/react-docgen-typescript-loader": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/react-docgen-typescript-loader/-/react-docgen-typescript-loader-3.7.2.tgz", - "integrity": "sha512-fNzUayyUGzSyoOl7E89VaPKJk9dpvdSgyXg81cUkwy0u+NBvkzQG3FC5WBIlXda0k/iaxS+PWi+OC+tUiGxzPA==", - "dev": true, - "dependencies": { - "@webpack-contrib/schema-utils": "^1.0.0-beta.0", - "loader-utils": "^1.2.3", - "react-docgen-typescript": "^1.15.0" - }, - "peerDependencies": { - "typescript": "*" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/@webpack-contrib/schema-utils": { - "version": "1.0.0-beta.0", - "resolved": "https://registry.npmjs.org/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz", - "integrity": "sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chalk": "^2.3.2", - "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "webpack-log": "^1.1.2" - }, - "engines": { - "node": ">= 6.9.0 || >= 8.9.0" - }, - "peerDependencies": { - "webpack": "^3.0.0 || ^4.0.0" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "peer": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "peer": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "peer": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/webpack": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", - "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/react-docgen-typescript-loader/node_modules/webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" + "loose-envify": "^1.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, "node_modules/react-dom": { @@ -14713,20 +11888,6 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "peer": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -14754,34 +11915,6 @@ "node": ">= 0.10" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10" - } - }, "node_modules/replace-ext": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", @@ -14791,12 +11924,6 @@ "node": ">= 10" } }, - "node_modules/requestidlecallback": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/requestidlecallback/-/requestidlecallback-0.3.0.tgz", - "integrity": "sha1-b7dOBzP5DfP6pIOPn2oqX5t0KsU=", - "dev": true - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14865,14 +11992,6 @@ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", "dev": true }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true, - "peer": true - }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -14882,16 +12001,6 @@ "node": ">=10" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.12" - } - }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -14975,17 +12084,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "peer": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -15009,16 +12107,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "peer": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, "node_modules/sade": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz", @@ -15060,16 +12148,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "peer": true, - "dependencies": { - "ret": "~0.1.10" - } - }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", @@ -15264,16 +12342,6 @@ "node": ">= 0.8" } }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -15381,62 +12449,12 @@ "node": ">= 0.4" } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "peer": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true, - "peer": true - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -15455,287 +12473,109 @@ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sirv-cli": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-2.0.2.tgz", - "integrity": "sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==", - "dependencies": { - "console-clear": "^1.1.0", - "get-port": "^3.2.0", - "kleur": "^4.1.4", - "local-access": "^1.0.1", - "sade": "^1.6.0", - "semiver": "^1.0.0", - "sirv": "^2.0.0", - "tinydate": "^1.0.0" - }, - "bin": { - "sirv": "bin.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sirv-cli/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "peer": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "peer": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "peer": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-node/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "peer": true, "dependencies": { - "is-buffer": "^1.1.5" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.0.0" - } + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "peer": true, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dependencies": { - "is-descriptor": "^0.1.0" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "peer": true, + "node_modules/sirv-cli": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-2.0.2.tgz", + "integrity": "sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==", "dependencies": { - "is-extendable": "^0.1.0" + "console-clear": "^1.1.0", + "get-port": "^3.2.0", + "kleur": "^4.1.4", + "local-access": "^1.0.1", + "sade": "^1.6.0", + "semiver": "^1.0.0", + "sirv": "^2.0.0", + "tinydate": "^1.0.0" + }, + "bin": { + "sirv": "bin.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true + "node_modules/sirv-cli/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/sockjs": { @@ -15758,13 +12598,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true, - "peer": true - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -15783,21 +12616,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "peer": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -15808,14 +12626,6 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true, - "peer": true - }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -15860,35 +12670,12 @@ "node": ">= 6" } }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "peer": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "peer": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -15910,33 +12697,6 @@ "node": ">=8" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "peer": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "peer": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -15958,49 +12718,6 @@ "node": ">= 0.4" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "peer": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "peer": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true, - "peer": true - }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -16342,34 +13059,6 @@ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dev": true, - "peer": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", @@ -16519,36 +13208,12 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "peer": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "peer": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/tiny-invariant": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", @@ -16566,85 +13231,22 @@ "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz", "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==", "engines": { - "node": ">=4" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true, - "peer": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "peer": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "peer": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "peer": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true, - "peer": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/toidentifier": { @@ -17005,19 +13607,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true, - "peer": true - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -17125,13 +13714,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true, - "peer": true - }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -17166,42 +13748,6 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "peer": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "peer": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "peer": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -17211,87 +13757,6 @@ "node": ">= 0.8" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "peer": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "peer": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "peer": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "peer": true - }, - "node_modules/unset-value/node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -17331,25 +13796,6 @@ "punycode": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true, - "peer": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "peer": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "node_modules/url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", @@ -17419,46 +13865,12 @@ "requires-port": "^1.0.0" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true, - "peer": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "2.0.3" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true, - "peer": true - }, "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", @@ -17474,16 +13886,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/v8-to-istanbul": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", @@ -17519,13 +13921,6 @@ "node": ">= 0.8" } }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true, - "peer": true - }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -17547,170 +13942,6 @@ "makeerror": "1.0.12" } }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", @@ -18053,17 +14284,6 @@ "node": ">=10.0.0" } }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "peer": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "node_modules/webpack/node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -18450,16 +14670,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "peer": true, - "dependencies": { - "errno": "~0.1.7" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -18616,23 +14826,6 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true, - "peer": true - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", diff --git a/clients/ui/frontend/package.json b/clients/ui/frontend/package.json index ce8beadc..2831b478 100644 --- a/clients/ui/frontend/package.json +++ b/clients/ui/frontend/package.json @@ -49,8 +49,6 @@ "prettier": "^3.3.0", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", - "react-axe": "^3.5.4", - "react-docgen-typescript-loader": "^3.7.2", "react-router-dom": "^5.3.4", "regenerator-runtime": "^0.13.11", "rimraf": "^5.0.7", diff --git a/clients/ui/frontend/src/index.tsx b/clients/ui/frontend/src/index.tsx index 3f7c3c81..aca5ab6e 100644 --- a/clients/ui/frontend/src/index.tsx +++ b/clients/ui/frontend/src/index.tsx @@ -12,8 +12,6 @@ if (process.env.NODE_ENV !== 'production') { ] }; // eslint-disable-next-line @typescript-eslint/no-var-requires, no-undef - const axe = require('react-axe'); - axe(React, ReactDOM, 1000, config); } const root = ReactDOM.createRoot(document.getElementById('root') as Element); diff --git a/cmd/proxy.go b/cmd/proxy.go index f940ce56..c313607b 100644 --- a/cmd/proxy.go +++ b/cmd/proxy.go @@ -15,18 +15,16 @@ import ( "google.golang.org/grpc/credentials/insecure" ) -var ( - // proxyCmd represents the proxy command - proxyCmd = &cobra.Command{ - Use: "proxy", - Short: "Starts the ml-metadata go OpenAPI proxy", - Long: `This command launches the ml-metadata go OpenAPI proxy server. +// proxyCmd represents the proxy command +var proxyCmd = &cobra.Command{ + Use: "proxy", + Short: "Starts the ml-metadata go OpenAPI proxy", + Long: `This command launches the ml-metadata go OpenAPI proxy server. The server connects to a mlmd CPP server. It supports options to customize the hostname and port where it listens.'`, - RunE: runProxyServer, - } -) + RunE: runProxyServer, +} func runProxyServer(cmd *cobra.Command, args []string) error { glog.Infof("proxy server started at %s:%v", cfg.Hostname, cfg.Port) @@ -36,11 +34,11 @@ func runProxyServer(cmd *cobra.Command, args []string) error { mlmdAddr := fmt.Sprintf("%s:%d", proxyCfg.MLMDHostname, proxyCfg.MLMDPort) glog.Infof("connecting to MLMD server %s..", mlmdAddr) - conn, err := grpc.DialContext( + conn, err := grpc.DialContext( // nolint:staticcheck ctxTimeout, mlmdAddr, - grpc.WithReturnConnectionError(), - grpc.WithBlock(), + grpc.WithReturnConnectionError(), // nolint:staticcheck + grpc.WithBlock(), // nolint:staticcheck grpc.WithTransportCredentials(insecure.NewCredentials()), ) if err != nil { diff --git a/go.mod b/go.mod index 6e2cdf18..dfb3aa9f 100644 --- a/go.mod +++ b/go.mod @@ -5,13 +5,13 @@ go 1.21 require ( github.com/go-chi/chi/v5 v5.1.0 github.com/go-chi/cors v1.2.1 - github.com/golang/glog v1.2.1 + github.com/golang/glog v1.2.2 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.9.0 github.com/testcontainers/testcontainers-go v0.32.0 - google.golang.org/grpc v1.63.2 + google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 ) @@ -27,7 +27,7 @@ require ( go.opentelemetry.io/otel v1.24.0 // indirect go.opentelemetry.io/otel/metric v1.24.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect - golang.org/x/crypto v0.22.0 // indirect + golang.org/x/crypto v0.23.0 // indirect ) require ( @@ -78,10 +78,10 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 - golang.org/x/net v0.23.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 6caaf3f3..af59b7b0 100644 --- a/go.sum +++ b/go.sum @@ -52,8 +52,8 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= -github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -178,8 +178,8 @@ go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTV golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -188,8 +188,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -203,14 +203,14 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -221,13 +221,13 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= -google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 h1:rIo7ocm2roD9DcFIX67Ym8icoGCKSARAiPljFhh5suQ= -google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c h1:lfpJ/2rWPa/kJgxyyXM8PrNnfCzcmxJ265mADgwmvLI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 h1:7whR9kGa5LUwFtpLm2ArCEejtnxlGeLbAyjFY8sGNFw= +google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/testutils/test_container_utils.go b/internal/testutils/test_container_utils.go index 2795b2a7..0a1c21c3 100644 --- a/internal/testutils/test_container_utils.go +++ b/internal/testutils/test_container_utils.go @@ -121,11 +121,11 @@ func SetupMLMetadataTestContainer(t *testing.T) (*grpc.ClientConn, proto.Metadat t.Log("MLMD test container running at: ", mlmdAddr) // setup grpc connection - conn, err := grpc.DialContext( + conn, err := grpc.DialContext( // nolint:staticcheck context.Background(), mlmdAddr, - grpc.WithReturnConnectionError(), - grpc.WithBlock(), + grpc.WithReturnConnectionError(), // nolint:staticcheck + grpc.WithBlock(), // nolint:staticcheck grpc.WithTransportCredentials(insecure.NewCredentials()), ) if err != nil {