diff --git a/.fern/metadata.json b/.fern/metadata.json index e2ee4864..7c58847d 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.65.2", + "cliVersion": "5.59.0", "generatorName": "fernapi/fern-python-sdk", "generatorVersion": "4.61.0", "generatorConfig": { @@ -23,6 +23,7 @@ "optional": true }, "eval-type-backport": "^0.2.0", + "aiofiles": "^24.1.0", "exceptiongroup": "^1.3.0" }, "extra_dev_dependencies": { @@ -37,7 +38,8 @@ ] }, "testbook": "^0.4.2", - "pydocstyle": "^6.1.1" + "pydocstyle": "^6.1.1", + "types-aiofiles": "^24.1.0.20240626" }, "extras": { "examples": [ @@ -62,6 +64,6 @@ } ] }, - "originGitCommit": "2968d0bfb0c9e8d381a274972edb6f7948cf77c6", - "sdkVersion": "0.14.0" + "originGitCommit": "a9228b44b6272141a6d9431f0e95f4195b0c76e9", + "sdkVersion": "0.14.1" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock index dcd4fc01..9e99eadf 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -12,7 +12,13 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 4.61.0 -current_generation: fe01fd08770ba763f2599c946a16b6b338e6e86f + - commit_sha: b36e07b5917b182b08d3bf57b92245b1da58d393 + tree_hash: ff282b78f5e54d9e60967892c922225d6f4e266e + timestamp: 2026-07-09T14:22:54.214Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 4.61.0 +current_generation: b36e07b5917b182b08d3bf57b92245b1da58d393 patches: - id: patch-ece510a1 content_hash: sha256:2296c327028f8024cba5c6ffccf276bca01550441a8ddc9ec88499b9e056f429 @@ -171,3 +177,279 @@ patches: examples=["jupyter"] microphone=["sounddevice"] status: unresolved + - id: patch-660ad969 + content_hash: sha256:a199931206f95b99cdf7c48c199c60c6d567cebaf9884f65e824be4d8a895d97 + original_commit: 660ad9694a7a4fa844262c17134bc06011588a8a + original_message: bump version to 0.14.0 (#488) + original_author: Zachary Greathouse <26175515+zgreathouse@users.noreply.github.com> + base_generation: 3955934c6659aac3d3cac19ef77ac519e7146fb3 + files: + - pyproject.toml + - src/hume/core/client_wrapper.py + patch_content: | + diff --git a/pyproject.toml b/pyproject.toml + index f0fe992..29341d2 100644 + --- a/pyproject.toml + +++ b/pyproject.toml + @@ -4,7 +4,7 @@ dynamic = ["version"] + + [tool.poetry] + name = "hume" + -version = "0.13.14" + +version = "0.14.0" + description = "A Python SDK for Hume AI" + readme = "README.md" + authors = [] + diff --git a/src/hume/core/client_wrapper.py b/src/hume/core/client_wrapper.py + index df93ad4..b22e882 100644 + --- a/src/hume/core/client_wrapper.py + +++ b/src/hume/core/client_wrapper.py + @@ -28,12 +28,12 @@ class BaseClientWrapper: + import platform + + headers: typing.Dict[str, str] = { + - "User-Agent": "hume/0.13.14", + + "User-Agent": "hume/0.14.0", + "X-Fern-Language": "Python", + "X-Fern-Runtime": f"python/{platform.python_version()}", + "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", + "X-Fern-SDK-Name": "hume", + - "X-Fern-SDK-Version": "0.13.14", + + "X-Fern-SDK-Version": "0.14.0", + **(self.get_custom_headers() or {}), + } + if self.api_key is not None: + theirs_snapshot: + pyproject.toml: | + [project] + name = "hume" + dynamic = ["version"] + + [tool.poetry] + name = "hume" + version = "0.14.0" + description = "A Python SDK for Hume AI" + readme = "README.md" + authors = [] + keywords = [ + "hume", + "ai", + "evi", + "empathic", + "multimodal", + "expression", + "analysis", + "sentiment", + "voice", + "recognition", + "detection", + "emotion", + "interface", + "speech", + "audio", + "vision", + "expressive", + "embeddings", + "communication", + "learning" + ] + license = "MIT" + classifiers = [ + "Intended Audience :: Developers", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", + "Operating System :: OS Independent", + "Operating System :: POSIX", + "Operating System :: MacOS", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", + "Topic :: Software Development :: Libraries :: Python Modules", + "Typing :: Typed", + "License :: OSI Approved :: MIT License" + ] + packages = [ + { include = "hume", from = "src"} + ] + + [tool.poetry.urls] + Documentation = 'https://dev.hume.ai' + Homepage = 'https://www.hume.ai/' + Repository = 'https://github.com/HumeAI/hume-python-sdk' + + [tool.poetry.dependencies] + python = ">=3.9,<4" + eval-type-backport = "^0.2.0" + exceptiongroup = "^1.3.0" + httpx = ">=0.21.2" + jupyter = { version = "^1.0.0", optional = true} + pydantic = ">= 1.9.2" + pydantic-core = ">=2.18.2" + sounddevice = { version = "^0.4.6", optional = true} + typing_extensions = ">= 4.0.0" + websockets = ">=12.0" + + [tool.poetry.group.dev.dependencies] + mypy = "==1.13.0" + pytest = "^7.4.0" + pytest-asyncio = "^0.23.5" + pytest-xdist = "^3.6.1" + python-dateutil = "^2.9.0" + types-python-dateutil = "^2.9.0.20240316" + requests = "^2.31.0" + types-requests = "^2.31.0" + covcheck = { version = "^0.4.3", extras = ["toml"]} + pydocstyle = "^6.1.1" + pydub-stubs = "^0.25.1" + pylint = "^2.16.2" + pytest-cov = "^4.0.0" + ruff = "==0.11.5" + semver = "^2.13.0" + testbook = "^0.4.2" + + [tool.pytest.ini_options] + testpaths = [ "tests" ] + asyncio_mode = "auto" + + [tool.mypy] + plugins = ["pydantic.mypy"] + + [tool.ruff] + line-length = 120 + + [tool.ruff.lint] + select = [ + "E", # pycodestyle errors + "F", # pyflakes + "I", # isort + ] + ignore = [ + "E402", # Module level import not at top of file + "E501", # Line too long + "E711", # Comparison to `None` should be `cond is not None` + "E712", # Avoid equality comparisons to `True`; use `if ...:` checks + "E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks + "E722", # Do not use bare `except` + "E731", # Do not assign a `lambda` expression, use a `def` + "F821", # Undefined name + "F841" # Local variable ... is assigned to but never used + ] + + [tool.ruff.lint.isort] + section-order = ["future", "standard-library", "third-party", "first-party"] + + [build-system] + requires = ["poetry-core"] + build-backend = "poetry.core.masonry.api" + + [tool.poetry.extras] + examples=["jupyter"] + microphone=["sounddevice"] + src/hume/core/client_wrapper.py: | + # This file was auto-generated by Fern from our API Definition. + + import typing + + import httpx + from ..environment import HumeClientEnvironment + from .http_client import AsyncHttpClient, HttpClient + from .logging import LogConfig, Logger + + + class BaseClientWrapper: + def __init__( + self, + *, + api_key: typing.Optional[str] = None, + headers: typing.Optional[typing.Dict[str, str]] = None, + environment: HumeClientEnvironment, + timeout: typing.Optional[float] = None, + logging: typing.Optional[typing.Union[LogConfig, Logger]] = None, + ): + self.api_key = api_key + self._headers = headers + self._environment = environment + self._timeout = timeout + self._logging = logging + + def get_headers(self) -> typing.Dict[str, str]: + import platform + + headers: typing.Dict[str, str] = { + "User-Agent": "hume/0.14.0", + "X-Fern-Language": "Python", + "X-Fern-Runtime": f"python/{platform.python_version()}", + "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", + "X-Fern-SDK-Name": "hume", + "X-Fern-SDK-Version": "0.14.0", + **(self.get_custom_headers() or {}), + } + if self.api_key is not None: + headers["X-Hume-Api-Key"] = self.api_key + return headers + + def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]: + return self._headers + + def get_environment(self) -> HumeClientEnvironment: + return self._environment + + def get_timeout(self) -> typing.Optional[float]: + return self._timeout + + + class SyncClientWrapper(BaseClientWrapper): + def __init__( + self, + *, + api_key: typing.Optional[str] = None, + headers: typing.Optional[typing.Dict[str, str]] = None, + environment: HumeClientEnvironment, + timeout: typing.Optional[float] = None, + logging: typing.Optional[typing.Union[LogConfig, Logger]] = None, + httpx_client: httpx.Client, + ): + super().__init__(api_key=api_key, headers=headers, environment=environment, timeout=timeout, logging=logging) + self.httpx_client = HttpClient( + httpx_client=httpx_client, + base_headers=self.get_headers, + base_timeout=self.get_timeout, + logging_config=self._logging, + ) + + + class AsyncClientWrapper(BaseClientWrapper): + def __init__( + self, + *, + api_key: typing.Optional[str] = None, + headers: typing.Optional[typing.Dict[str, str]] = None, + environment: HumeClientEnvironment, + timeout: typing.Optional[float] = None, + logging: typing.Optional[typing.Union[LogConfig, Logger]] = None, + async_token: typing.Optional[typing.Callable[[], typing.Awaitable[str]]] = None, + httpx_client: httpx.AsyncClient, + ): + super().__init__(api_key=api_key, headers=headers, environment=environment, timeout=timeout, logging=logging) + self._async_token = async_token + self.httpx_client = AsyncHttpClient( + httpx_client=httpx_client, + base_headers=self.get_headers, + base_timeout=self.get_timeout, + async_base_headers=self.async_get_headers, + logging_config=self._logging, + ) + + async def async_get_headers(self) -> typing.Dict[str, str]: + headers = self.get_headers() + if self._async_token is not None: + token = await self._async_token() + headers["Authorization"] = f"Bearer {token}" + return headers + status: unresolved diff --git a/poetry.lock b/poetry.lock index 91357150..85537a93 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,15 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. + +[[package]] +name = "aiofiles" +version = "24.1.0" +description = "File support for asyncio." +optional = false +python-versions = ">=3.8" +files = [ + {file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"}, + {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, +] [[package]] name = "annotated-types" @@ -6,7 +17,6 @@ version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, @@ -18,7 +28,6 @@ version = "4.12.1" description = "High-level concurrency and networking framework on top of asyncio or Trio" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c"}, {file = "anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703"}, @@ -30,7 +39,7 @@ idna = ">=2.8" typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] -trio = ["trio (>=0.31.0) ; python_version < \"3.10\"", "trio (>=0.32.0) ; python_version >= \"3.10\""] +trio = ["trio (>=0.31.0)", "trio (>=0.32.0)"] [[package]] name = "appnope" @@ -38,8 +47,6 @@ version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"examples\" and platform_system == \"Darwin\"" files = [ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, @@ -51,8 +58,6 @@ version = "25.1.0" description = "Argon2 for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741"}, {file = "argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1"}, @@ -67,8 +72,6 @@ version = "25.1.0" description = "Low-level CFFI bindings for Argon2" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f"}, {file = "argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b"}, @@ -110,8 +113,6 @@ version = "1.4.0" description = "Better dates & times for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205"}, {file = "arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7"}, @@ -131,7 +132,6 @@ version = "2.15.8" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.7.2" -groups = ["dev"] files = [ {file = "astroid-2.15.8-py3-none-any.whl", hash = "sha256:1aa149fc5c6589e3d0ece885b4491acd80af4f087baafa3fb5203b113e68cd3c"}, {file = "astroid-2.15.8.tar.gz", hash = "sha256:6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a"}, @@ -151,8 +151,6 @@ version = "3.0.1" description = "Annotate AST trees with source code positions" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a"}, {file = "asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7"}, @@ -168,8 +166,6 @@ version = "2.0.5" description = "Simple LRU cache for asyncio" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943"}, {file = "async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb"}, @@ -184,12 +180,10 @@ version = "26.1.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"}, {file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"}, ] -markers = {main = "extra == \"examples\""} [[package]] name = "babel" @@ -197,15 +191,13 @@ version = "2.18.0" description = "Internationalization utilities" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35"}, {file = "babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d"}, ] [package.extras] -dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata ; sys_platform == \"win32\""] +dev = ["backports.zoneinfo", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata"] [[package]] name = "beautifulsoup4" @@ -213,8 +205,6 @@ version = "4.15.0" description = "Screen-scraping library" optional = true python-versions = ">=3.7.0" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "beautifulsoup4-4.15.0-py3-none-any.whl", hash = "sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9"}, {file = "beautifulsoup4-4.15.0.tar.gz", hash = "sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7"}, @@ -237,8 +227,6 @@ version = "6.2.0" description = "An easy safelist-based HTML-sanitizing tool." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"}, {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"}, @@ -253,14 +241,13 @@ css = ["tinycss2 (>=1.1.0,<1.5)"] [[package]] name = "certifi" -version = "2026.5.20" +version = "2026.6.17" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.7" -groups = ["main", "dev"] files = [ - {file = "certifi-2026.5.20-py3-none-any.whl", hash = "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897"}, - {file = "certifi-2026.5.20.tar.gz", hash = "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d"}, + {file = "certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"}, + {file = "certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432"}, ] [[package]] @@ -269,7 +256,6 @@ version = "2.0.0" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44"}, {file = "cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49"}, @@ -356,148 +342,110 @@ files = [ {file = "cffi-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:b882b3df248017dba09d6b16defe9b5c407fe32fc7c65a9c69798e6175601be9"}, {file = "cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529"}, ] -markers = {main = "extra == \"examples\" or extra == \"microphone\"", dev = "implementation_name == \"pypy\""} [package.dependencies] pycparser = {version = "*", markers = "implementation_name != \"PyPy\""} [[package]] name = "charset-normalizer" -version = "3.4.7" +version = "3.4.9" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" -groups = ["main", "dev"] -files = [ - {file = "charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943"}, - {file = "charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00"}, - {file = "charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6"}, - {file = "charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110"}, - {file = "charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f"}, - {file = "charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c"}, - {file = "charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-win32.whl", hash = "sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207"}, - {file = "charset_normalizer-3.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win32.whl", hash = "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444"}, - {file = "charset_normalizer-3.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c"}, - {file = "charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d"}, - {file = "charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5"}, +files = [ + {file = "charset_normalizer-3.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd6280cf040f233bd7d3407b743b4b4c74f70e8e1c4199cb112a62c941c0772a"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa99adc8f081b475a12843953db36831eaf83ec33eb46a90629ca6a5de45a616"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c1225416b463483160e4af85d5fc3a9690ccb53fd4b1865a6437825f5ede3209"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:16d10d789dd9bcca1173c95af82c58433122564b7bc39385124be735a35cbe99"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bb41182d93ea91f60b4bc8fbf4c820c69ef8a12ab2d917f3f1834f1acad07e8"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:bcf74c1df76758a395bf0af608c04c82257523f55c9868b334f06270d0f2112b"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b5314963fce9b0b12743891de876e724997864ee22aa496f903f426c7e2fa5b2"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e9701d0049d92c16703a42771b98d560b95248949f23f8cf7b4eddd201814fb9"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:65a7ff3f705e57d392f7261b6d0550fe137c3019477431f1c355e0db0a7d3e15"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79580094b00d1789d1f93ea55bc43cb2f611910c72235b7657f3482ddcc1b22d"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-win32.whl", hash = "sha256:432786d3561e69aeeae6c7e8648964ce0ad05736120135601f87ac26b9c83381"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:8c041122946b7ba21bb32c45b1aa57b1be35527690aeb3c5c234521085632eee"}, + {file = "charset_normalizer-3.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:375b83ed0aecfce76c16d198fbc21f3b11b337d68662bea0a995046682a11419"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0e94703ec9684807f20cfb5eed95c70f67f2a8f21ad620146d7b5a13677b93e5"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a441ea71902098ffe78c5abe6c494f44160b4af614ed16c3d9a3b1d17fd8ee2"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:304b13570067b2547562e308af560b3963857b1fa90bd6afd978130130fe2d6a"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4773092f8019072343a7447203308b176e10199920eb02d6195e81bbb3274c29"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:04ce310cb89c15df659582aee80a0603788732a5e017d5bd5c81158106ce249c"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:c0323c9daef75ef2e5083624b4585018a0c9d5e3b40f607eed81a311270b934b"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:871ff67ea1aad4dfd91736464934d56b32dac49f9fbe16cddba36198a7b3a0db"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:67830fc78e67501f47bb950471b2dcb9b35b140084429318e862895a8e89c993"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3d92613ec25e43b05f042302531ec0f00b8445190e43325880cbd6ab7c2581da"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:280081916dc341820640489a66e4696049401ef1cf6dd672f672e70ad915aca3"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-win32.whl", hash = "sha256:ac351b3b8014eead140e77e9717e2992c6bbe30b63bc3422422eb84865412e3d"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:6366a16e1a25018694d6a5d784d09b046edc9eac40ea2b54065c3052672516a1"}, + {file = "charset_normalizer-3.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:1d22856ffbe153a602df38e4a5464f0b748a54002e0d69ac6d2ad0a197cc99ec"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:45b0cc4e3556cd875e09102988d1ab8356c998b596c9fced84547c8138b487a0"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9b2aff1c7b3884512b9512c3eaadd9bab39fb45042ffaaa1dd08ff2b9f8109d9"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9104ed0bd76a429d46f9ec0dbc9b08ad1d2dcdf2b00a5a0daa1c145329b35b44"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7b86a2b16095d250c6f58b3d9b2eee6f4147754344f3dab0922f7c9bf7d226c9"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e226f6218febc71f6c1fc2fafb91c226f75bdc1d8fb12d66823716e891608fd"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:90c44bc373b7687f6948b693cceaea1348ae0975d7474746559494468e3c1d84"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cdef90ae47919cae358d8ab15797a800ed41da7aba5d72419fb510729e2ed4b"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:60f44ade2cf573dad7a277e6f8ca9a51a21dda572b13bd7d8539bb3cd5dbedde"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a1786910334ed46ab1dd73222f2cd1e05c2c3bb39f6dddb4f8b36fc382058a39"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03d07803992c6c7bbc976327f34b18b6160327fc81cb82c9d504720ac0be3b62"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-win32.whl", hash = "sha256:78841cccf1af7b40f6f716338d50c0902dbe88d9f800b3c973b7a9a0a693a642"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:4b3dac63058cc36820b0dd072f89898604e2d39686fe05321729d00d8ac185a0"}, + {file = "charset_normalizer-3.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:78fa18e436a1a0e58dbd7e02fc4473f3f32cceb12df9dfca542d075961c307d2"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:440eede837960000d74978f0eba527be106b5b9aee0daf779d395276ed0b0614"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e764fd1e70b6a3e205a0e46f3051701f98a8cb3fad66eeb80e48bb502f8698"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e4fd89cc178bced6ad29cb3e6dd4aa63fa5017c3524dbd0b25998fb64a87cc8b"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bd47ba7fc3ca94896759ea0109775132d3e7ab921fbf54038e1bab2e46c313c9"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:84fd18bcc17526fc2b3c1af7d2b9217d32c9c04448c16ec693b9b4f1985c3d33"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:5b10cd92fc5c498b35a8635df6d5a100207f88b63a4dc1de7ef9a548e1e2cd63"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4fbdde9dd4a9ce5fd52c2b3a347bb50cc89483ef783f1cb00d408c13f7a96c0"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:416c229f77e5ea25b3dfd4b582f8d73d7e43c22320302b9ab128a2d3a0b38efe"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:75286256590a6320cf106a0d28970d3560aad9ee09aa7b34fb40524792436d35"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:69b157c5d3292bcd443faca052f3096f637f1e074b98212a933c074ae23dc3b8"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-win32.whl", hash = "sha256:51307f5c71007673a2bf8232ad973483d281e74cb99c8c5a990af1eefa6277d9"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:fe2c7201c642b7c308f1675355ad7ff7b66acfe3541625efe5a3ad38f29d6115"}, + {file = "charset_normalizer-3.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:611057cc5d5c0afc743ba8be6bd828c17e0aaa8643f9d0a9b9bb7dea80eb8012"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0327fcd59a935777d83410750c50600ee9571af2846f71ce40f25b13da1ef380"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a79d9f4d8001473a30c163556b3c3bfebec837495a412dde78b51672f6134f9"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:33bdcc2a32c0a0e861f60841a512c8acc658c87c2ac59d89e3a46dacf7d866e4"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f840ed6d8ecba8255df8c42b87fadeda98ddfc6eeec05e2dc66e26d46dd6f58a"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c25fe15c70c59eb7c5ce8c06a1f3fa1da0ecc5ea1e7a5922c40fd2fa9b0d5046"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:f7fb7d750cfa0a070d2c24e831fd3481019a60dd317ea2b39acbcebc08b6ed81"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1c96a7a18b9690a4d46df09e3e3382406ae3213727cd1019ebade1c4a81917"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a4cfde78a9f2880208d16a93b795726a3017d5977e08d1e162a7a31322479c41"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4d6fcde76f94f5cb9e43e9e9a61f16dacefd228cbbf6f1a09bd9b219a92f1a1"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:898f0e9068ca27d37f8e83a5b962821df851532e6c4a7d615c1c033f9da6eedf"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-win32.whl", hash = "sha256:c1c948747b03be832dceed96ca815cef7360de9aa19d37c730f8e3f6101aca48"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:16b65ea0f2465b6fb52aa22de5eca612aa964ddfec00a912e26f4656cbef890b"}, + {file = "charset_normalizer-3.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:40a126142a56b2dfc0aacbad1de8310cbf60da7656db0e6b16eebd48e3e93519"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:609b3ba8fcc0fb5ab7af00719d0fb6ad0cb518e48e7712d12fd68f1327951198"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51447e9aa2684679af07ca5021c3db526e0284347ebf4ffcec1154c3350cfe32"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cc1b0fff8ead343dae06305f954eb8468ba0ec1a97881f42489d198e4ce3c632"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fa36ec09ef71d158186bc79e359ff5fdd6e7996fe8ab638f00d6b93139ba4fcf"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:df115d4d83168fdf2cae48ef1ff6d1cb4c466364e30861b37121de0f3bf1b990"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:f86c6358749bd4fda175388691e3ba8c46e24c5347d0afd20f9b7edfc9faf07d"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:32286a2c8d167e897177b673176c1e3e00d4057caf5d2b64eef9a3666b03018e"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:83aed2c10721ddd90f68140685391b50811a880af20654c59af6b6c66c40513c"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cd6c3d4b783c556fa00bf540854e42f135e2f256abd29669fcd0da0f2dec79c2"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ee2f2a527e3c1a6e6411eb4209642e138b544a2d72fe5d0d76daf77b24063534"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-win32.whl", hash = "sha256:0d861473f743244d349b50f850d10eb87aeb22bbdcc8e64f79273c94af5a8226"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:9b8e0f3107e2200b76f6054de99016eac3ee6762713587b36baaa7e4bd2ae177"}, + {file = "charset_normalizer-3.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:19ac87f93086ce37b86e098888555c4b4bc48102279bae3350098c0ed664b501"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:253a4a220747e8b5faf57ec320c4f5efb0cef05f647420bf267143ec15dba10a"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:68ce9f4d6b26d5ccbf7fd4459bf75f74a0a146677ebba80597df60cbdb20e6f4"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:58150c9f9b9a552505912d182ccdf26f6396fb6094816ceebcbb20eecabaed94"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df7276909358e5635ae203673ab7e509ddd224225a8d6b0790bf13eb2bde1cc5"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c09a49d6cde137258beb3d551994a2927fd35ad5cf96aed573f61bbd67c5f84"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:231ddcbb35e2ff8973e1365db41fe0572662893b99a05deb183b68ad4c0c8bd4"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:920079c3f7456fa213e0829ed2073aaa727fd39d889ead5b4f35d0de5460d04f"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0fa1aec2d32bcc03c8fa0f6f1712caad1adc38509f31142112e5c9daf5b9c833"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ad41ba96094304aa090f5a30cb6e4fb3b3f1c264c523394b4c39bbacc4dc92ba"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:43b9e366a31fdd1c87d0eb08f579b4a82b723ea54338f040d6b4e518a026ea29"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-win32.whl", hash = "sha256:93d59d504b230e83c7a843251681959a0b6a9cd76f6e146ce1b8a80eb8739af9"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-win_amd64.whl", hash = "sha256:ddf4af30b417d9fe16481e9b81c27ab2a7cde1ff7ba3e85653b02db7d145dc7b"}, + {file = "charset_normalizer-3.4.9-cp39-cp39-win_arm64.whl", hash = "sha256:476743fe6dfe14a2da12e3ac79125dc84a3b2cf8094369a47a1529b0cd8549fe"}, + {file = "charset_normalizer-3.4.9-py3-none-any.whl", hash = "sha256:68e5f26a1ad57ded6d1cfb85331d1c1a195314756471d97758c48498bb4dcdf5"}, + {file = "charset_normalizer-3.4.9.tar.gz", hash = "sha256:673611bbd43f0810bec0b0f028ddeaaa501190339cac411f347ac76917c3ae7b"}, ] [[package]] @@ -506,12 +454,10 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main", "dev"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -markers = {main = "extra == \"examples\" and sys_platform == \"win32\"", dev = "sys_platform == \"win32\""} [[package]] name = "comm" @@ -519,8 +465,6 @@ version = "0.2.3" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417"}, {file = "comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971"}, @@ -535,7 +479,6 @@ version = "0.4.3" description = "Code coverage validation" optional = false python-versions = ">=3.8.1" -groups = ["dev"] files = [ {file = "covcheck-0.4.3-py3-none-any.whl", hash = "sha256:31cc069b779840b2d758f434bee3bc83b47a4ce8f3161bac32b88dc7fd82543a"}, {file = "covcheck-0.4.3.tar.gz", hash = "sha256:2c7bbb7e6a5f6992b63cae75a319fa8c883161401ac7035f577b5ec0f2ad0b90"}, @@ -553,7 +496,6 @@ version = "7.10.7" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a"}, {file = "coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5"}, @@ -665,7 +607,7 @@ files = [ tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} [package.extras] -toml = ["tomli ; python_full_version <= \"3.11.0a6\""] +toml = ["tomli"] [[package]] name = "debugpy" @@ -673,8 +615,6 @@ version = "1.8.21" description = "An implementation of the Debug Adapter Protocol for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "debugpy-1.8.21-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:8eeab7b5462f683452c57c0126aaa5ec4e974ddb705f39ba87dff8818c8e08f9"}, {file = "debugpy-1.8.21-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:0fddfdc130ac6d8bfc0415b0409822fa901c8f310e5c945ac5653a0352532344"}, @@ -714,8 +654,6 @@ version = "5.3.1" description = "Decorators for Humans" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "decorator-5.3.1-py3-none-any.whl", hash = "sha256:f47fe6fdbd2edd623ecfe36875d37aba411624e2670dd395dddae1358689bb3c"}, {file = "decorator-5.3.1.tar.gz", hash = "sha256:4cbcdd55a6efadb9dbea26b858f4fb3264567b52d69ca0d25b721b553f60ea82"}, @@ -727,8 +665,6 @@ version = "0.7.1" description = "XML bomb protection for Python stdlib modules" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -740,7 +676,6 @@ version = "0.4.1" description = "serialize all of Python" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "dill-0.4.1-py3-none-any.whl", hash = "sha256:1e1ce33e978ae97fcfcff5638477032b801c46c7c65cf717f95fbc2248f79a9d"}, {file = "dill-0.4.1.tar.gz", hash = "sha256:423092df4182177d4d8ba8290c8a5b640c66ab35ec7da59ccfa00f6fa3eea5fa"}, @@ -756,7 +691,6 @@ version = "0.2.2" description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a"}, {file = "eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1"}, @@ -771,12 +705,10 @@ version = "1.3.1" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" -groups = ["main", "dev"] files = [ {file = "exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598"}, {file = "exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219"}, ] -markers = {dev = "python_version < \"3.11\""} [package.dependencies] typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} @@ -790,7 +722,6 @@ version = "2.1.2" description = "execnet: rapid multi-Python deployment" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "execnet-2.1.2-py3-none-any.whl", hash = "sha256:67fba928dd5a544b783f6056f449e5e3931a5c378b128bc18501f7ea79e296ec"}, {file = "execnet-2.1.2.tar.gz", hash = "sha256:63d83bfdd9a23e35b9c6a3261412324f964c2ec8dcd8d3c6916ee9373e0befcd"}, @@ -805,15 +736,13 @@ version = "2.2.1" description = "Get the currently executing AST node of a frame, and other information" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017"}, {file = "executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4"}, ] [package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich ; python_version >= \"3.11\""] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] [[package]] name = "fastjsonschema" @@ -821,12 +750,10 @@ version = "2.21.2" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" -groups = ["main", "dev"] files = [ {file = "fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463"}, {file = "fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de"}, ] -markers = {main = "extra == \"examples\""} [package.extras] devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] @@ -837,8 +764,6 @@ version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" optional = true python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, @@ -850,7 +775,6 @@ version = "0.16.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, @@ -862,7 +786,6 @@ version = "1.0.9" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"}, {file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"}, @@ -884,7 +807,6 @@ version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -897,7 +819,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] +brotli = ["brotli", "brotlicffi"] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -909,7 +831,6 @@ version = "3.18" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2"}, {file = "idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"}, @@ -924,24 +845,22 @@ version = "8.7.1" description = "Read metadata from Python packages" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151"}, {file = "importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb"}, ] -markers = {main = "extra == \"examples\" and python_version < \"3.10\"", dev = "python_version < \"3.10\""} [package.dependencies] zipp = ">=3.20" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=3.4)"] perf = ["ipython"] test = ["flufl.flake8", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["mypy (<1.19) ; platform_python_implementation == \"PyPy\"", "pytest-mypy (>=1.0.1)"] +type = ["mypy (<1.19)", "pytest-mypy (>=1.0.1)"] [[package]] name = "iniconfig" @@ -949,7 +868,6 @@ version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, @@ -961,8 +879,6 @@ version = "6.31.0" description = "IPython Kernel for Jupyter" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "ipykernel-6.31.0-py3-none-any.whl", hash = "sha256:abe5386f6ced727a70e0eb0cf1da801fa7c5fa6ff82147747d5a0406cd8c94af"}, {file = "ipykernel-6.31.0.tar.gz", hash = "sha256:2372ce8bc1ff4f34e58cafed3a0feb2194b91fc7cad0fc72e79e47b45ee9e8f6"}, @@ -996,8 +912,6 @@ version = "8.18.1" description = "IPython: Productive Interactive Computing" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, @@ -1035,8 +949,6 @@ version = "8.1.8" description = "Jupyter interactive widgets" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "ipywidgets-8.1.8-py3-none-any.whl", hash = "sha256:ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e"}, {file = "ipywidgets-8.1.8.tar.gz", hash = "sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668"}, @@ -1058,8 +970,6 @@ version = "20.11.0" description = "Operations with ISO 8601 durations" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, @@ -1074,7 +984,6 @@ version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" -groups = ["dev"] files = [ {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, @@ -1089,8 +998,6 @@ version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1110,8 +1017,6 @@ version = "3.1.6" description = "A very fast and expressive template engine." optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, @@ -1125,15 +1030,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "json5" -version = "0.14.0" +version = "0.15.0" description = "A Python implementation of the JSON5 data format." optional = true python-versions = ">=3.8.0" -groups = ["main"] -markers = "extra == \"examples\"" files = [ - {file = "json5-0.14.0-py3-none-any.whl", hash = "sha256:56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a"}, - {file = "json5-0.14.0.tar.gz", hash = "sha256:b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb"}, + {file = "json5-0.15.0-py3-none-any.whl", hash = "sha256:56636a30c0e8a4665fe2179c0212f32eae3796dea89ea6f649b9436ecdb39618"}, + {file = "json5-0.15.0.tar.gz", hash = "sha256:7424d1f1eb1d56da6e3d70643f53619862b4ce81440bdb8ecfd6f875e5ba4a71"}, ] [[package]] @@ -1142,8 +1045,6 @@ version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -1155,12 +1056,10 @@ version = "4.25.1" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63"}, {file = "jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] attrs = ">=22.2.0" @@ -1187,12 +1086,10 @@ version = "2025.9.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe"}, {file = "jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] referencing = ">=0.31.0" @@ -1203,8 +1100,6 @@ version = "1.1.1" description = "Jupyter metapackage. Install all the Jupyter components in one go." optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, @@ -1224,12 +1119,10 @@ version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} @@ -1241,7 +1134,7 @@ traitlets = ">=5.3" [package.extras] docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko ; sys_platform == \"win32\"", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-console" @@ -1249,8 +1142,6 @@ version = "6.6.3" description = "Jupyter terminal console" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, @@ -1275,12 +1166,10 @@ version = "5.8.1" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0"}, {file = "jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] platformdirs = ">=2.5" @@ -1297,8 +1186,6 @@ version = "0.12.1" description = "Jupyter Event System library" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter_events-0.12.1-py3-none-any.whl", hash = "sha256:c366585253f537a627da52fa7ca7410c5b5301fe893f511e7b077c2d93ec8bcf"}, {file = "jupyter_events-0.12.1.tar.gz", hash = "sha256:faff25f77218335752f35f23c5fe6e4a392a7bd99a5939ccb9b8fbf594636cf3"}, @@ -1325,8 +1212,6 @@ version = "2.3.1" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter_lsp-2.3.1-py3-none-any.whl", hash = "sha256:71b954d834e85ff3096400554f2eefaf7fe37053036f9a782b0f7c5e42dadb81"}, {file = "jupyter_lsp-2.3.1.tar.gz", hash = "sha256:fdf8a4aa7d85813976d6e29e95e6a2c8f752701f926f2715305249a3829805a6"}, @@ -1342,8 +1227,6 @@ version = "2.18.2" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter_server-2.18.2-py3-none-any.whl", hash = "sha256:fa5e46539ded65791838035a2b6001f13e54d5f64b8b3752eb1e91fdd641a5b8"}, {file = "jupyter_server-2.18.2.tar.gz", hash = "sha256:06b4f40d8a7a00bb39d5216859c81374a0e7cfefe6d8a5a7facc5a5c37c679a7"}, @@ -1380,8 +1263,6 @@ version = "0.5.4" description = "A Jupyter Server Extension Providing Terminals." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyter_server_terminals-0.5.4-py3-none-any.whl", hash = "sha256:55be353fc74a80bc7f3b20e6be50a55a61cd525626f578dcb66a5708e2007d14"}, {file = "jupyter_server_terminals-0.5.4.tar.gz", hash = "sha256:bbda128ed41d0be9020349f9f1f2a4ab9952a73ed5f5ac9f1419794761fb87f5"}, @@ -1397,15 +1278,13 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> [[package]] name = "jupyterlab" -version = "4.5.8" +version = "4.5.9" description = "JupyterLab computational environment" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ - {file = "jupyterlab-4.5.8-py3-none-any.whl", hash = "sha256:7d514c856d0d607601ec7692374da4f26e2aaf3b6e7cd363136b422a50588d6c"}, - {file = "jupyterlab-4.5.8.tar.gz", hash = "sha256:af54d7242cc689a1e6c3ad213cc9b6d9781787d9ec67c52ec9a8f4707088cadd"}, + {file = "jupyterlab-4.5.9-py3-none-any.whl", hash = "sha256:5ff0f908e8ac0afbed32b106fdef360f101c0a6654d1bf4a81e98a293ae1b336"}, + {file = "jupyterlab-4.5.9.tar.gz", hash = "sha256:dd79a073fecae7a39066ea99e4627ed6c76269ac926e95a810e1e1df6358d865"}, ] [package.dependencies] @@ -1438,8 +1317,6 @@ version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, @@ -1451,8 +1328,6 @@ version = "2.28.0" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968"}, {file = "jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c"}, @@ -1479,8 +1354,6 @@ version = "3.0.16" description = "Jupyter interactive widgets for JupyterLab" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8"}, {file = "jupyterlab_widgets-3.0.16.tar.gz", hash = "sha256:423da05071d55cf27a9e602216d35a3a65a3e41cdf9c5d3b643b814ce38c19e0"}, @@ -1492,8 +1365,6 @@ version = "1.3.1" description = "a modern parsing library" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12"}, {file = "lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905"}, @@ -1511,7 +1382,6 @@ version = "1.12.0" description = "A fast and thorough lazy object proxy." optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "lazy_object_proxy-1.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61d5e3310a4aa5792c2b599a7a78ccf8687292c8eb09cf187cca8f09cf6a7519"}, {file = "lazy_object_proxy-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1ca33565f698ac1aece152a10f432415d1a2aa9a42dfe23e5ba2bc255ab91f6"}, @@ -1565,8 +1435,6 @@ version = "3.0.3" description = "Safely add untrusted strings to HTML/XML markup." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559"}, {file = "markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419"}, @@ -1665,8 +1533,6 @@ version = "0.2.2" description = "Inline Matplotlib backend for Jupyter" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6"}, {file = "matplotlib_inline-0.2.2.tar.gz", hash = "sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79"}, @@ -1684,7 +1550,6 @@ version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false python-versions = ">=3.6" -groups = ["dev"] files = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, @@ -1692,15 +1557,13 @@ files = [ [[package]] name = "mistune" -version = "3.2.1" +version = "3.3.3" description = "A sane and fast Markdown parser with useful plugins and renderers" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ - {file = "mistune-3.2.1-py3-none-any.whl", hash = "sha256:78cdb0ba5e938053ccf63651b352508d2efa9411dc8810bfb05f2dc5140c0048"}, - {file = "mistune-3.2.1.tar.gz", hash = "sha256:7c8e5501d38bac1582e067e46c8343f17d57ea1aaa735823f3aba1fd59c88a28"}, + {file = "mistune-3.3.3-py3-none-any.whl", hash = "sha256:99de1585e42dcbd826faa9e11a202727a5e202e4e4722a4c69ac1ff615793dd7"}, + {file = "mistune-3.3.3.tar.gz", hash = "sha256:c4c6c0c840b8637a2e9b8b6d607eb7c8f00888bf14c754409bcd339e848c2477"}, ] [package.dependencies] @@ -1712,7 +1575,6 @@ version = "1.13.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "mypy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6607e0f1dd1fb7f0aca14d936d13fd19eba5e17e1cd2a14f808fa5f8f6d8f60a"}, {file = "mypy-1.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a21be69bd26fa81b1f80a61ee7ab05b076c674d9b18fb56239d72e21d9f4c80"}, @@ -1766,7 +1628,6 @@ version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, @@ -1778,12 +1639,10 @@ version = "0.10.2" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.9.0" -groups = ["main", "dev"] files = [ {file = "nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d"}, {file = "nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] jupyter-client = ">=6.1.12" @@ -1802,8 +1661,6 @@ version = "7.17.1" description = "Convert Jupyter Notebooks (.ipynb files) to other formats." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8"}, {file = "nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2"}, @@ -1841,12 +1698,10 @@ version = "5.10.4" description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] fastjsonschema = ">=2.15" @@ -1864,8 +1719,6 @@ version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = true python-versions = ">=3.5" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -1877,8 +1730,6 @@ version = "7.5.7" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "notebook-7.5.7-py3-none-any.whl", hash = "sha256:1f95f79d117e47d20b5555b5c85a397d2cfecf136978aaab767cf0314b09165b"}, {file = "notebook-7.5.7.tar.gz", hash = "sha256:d6d59288a25303b25e1dcb71e9b017ec3a785f7d92f38b9bc288ca1970d5b0a8"}, @@ -1894,7 +1745,7 @@ tornado = ">=6.2.0" [package.extras] dev = ["hatch", "pre-commit"] docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0) ; python_version < \"3.10\"", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.28.0,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.28.0,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] [[package]] name = "notebook-shim" @@ -1902,8 +1753,6 @@ version = "0.2.4" description = "A shim layer for notebook traits and config" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, @@ -1921,8 +1770,6 @@ version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"examples\" and python_version <= \"3.11\"" files = [ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, @@ -1934,12 +1781,10 @@ version = "26.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e"}, {file = "packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661"}, ] -markers = {main = "extra == \"examples\""} [[package]] name = "pandocfilters" @@ -1947,8 +1792,6 @@ version = "1.5.1" description = "Utilities for writing pandoc filters in python" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, @@ -1960,8 +1803,6 @@ version = "0.8.7" description = "A Python Parser" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c"}, {file = "parso-0.8.7.tar.gz", hash = "sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1"}, @@ -1977,8 +1818,6 @@ version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\" and sys_platform != \"win32\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -1993,12 +1832,10 @@ version = "4.4.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85"}, {file = "platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf"}, ] -markers = {main = "extra == \"examples\""} [package.extras] docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] @@ -2011,7 +1848,6 @@ version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, @@ -2027,8 +1863,6 @@ version = "0.25.0" description = "Python client for the Prometheus monitoring system." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "prometheus_client-0.25.0-py3-none-any.whl", hash = "sha256:d5aec89e349a6ec230805d0df882f3807f74fd6c1a2fa86864e3c2279059fed1"}, {file = "prometheus_client-0.25.0.tar.gz", hash = "sha256:5e373b75c31afb3c86f1a52fa1ad470c9aace18082d39ec0d2f918d11cc9ba28"}, @@ -2045,8 +1879,6 @@ version = "3.0.52" description = "Library for building powerful interactive command lines in Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955"}, {file = "prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855"}, @@ -2061,8 +1893,6 @@ version = "7.2.2" description = "Cross-platform lib for process and system monitoring." optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b"}, {file = "psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea"}, @@ -2088,8 +1918,8 @@ files = [ ] [package.extras] -dev = ["abi3audit", "black", "check-manifest", "colorama ; os_name == \"nt\"", "coverage", "packaging", "psleak", "pylint", "pyperf", "pypinfo", "pyreadline3 ; os_name == \"nt\"", "pytest", "pytest-cov", "pytest-instafail", "pytest-xdist", "pywin32 ; os_name == \"nt\" and implementation_name != \"pypy\"", "requests", "rstcheck", "ruff", "setuptools", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "validate-pyproject[all]", "virtualenv", "vulture", "wheel", "wheel ; os_name == \"nt\" and implementation_name != \"pypy\"", "wmi ; os_name == \"nt\" and implementation_name != \"pypy\""] -test = ["psleak", "pytest", "pytest-instafail", "pytest-xdist", "pywin32 ; os_name == \"nt\" and implementation_name != \"pypy\"", "setuptools", "wheel ; os_name == \"nt\" and implementation_name != \"pypy\"", "wmi ; os_name == \"nt\" and implementation_name != \"pypy\""] +dev = ["abi3audit", "black", "check-manifest", "colorama", "coverage", "packaging", "psleak", "pylint", "pyperf", "pypinfo", "pyreadline3", "pytest", "pytest-cov", "pytest-instafail", "pytest-xdist", "pywin32", "requests", "rstcheck", "ruff", "setuptools", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "validate-pyproject[all]", "virtualenv", "vulture", "wheel", "wheel", "wmi"] +test = ["psleak", "pytest", "pytest-instafail", "pytest-xdist", "pywin32", "setuptools", "wheel", "wmi"] [[package]] name = "ptyprocess" @@ -2097,8 +1927,6 @@ version = "0.7.0" description = "Run a subprocess in a pseudo terminal" optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\" and (os_name != \"nt\" or sys_platform != \"win32\")" files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -2110,8 +1938,6 @@ version = "0.2.3" description = "Safely evaluate AST nodes without side effects" optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, @@ -2126,12 +1952,10 @@ version = "2.23" description = "C parser in Python" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934"}, {file = "pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2"}, ] -markers = {main = "implementation_name != \"PyPy\" and (extra == \"examples\" or extra == \"microphone\")", dev = "implementation_name == \"pypy\""} [[package]] name = "pydantic" @@ -2139,7 +1963,6 @@ version = "2.13.4" description = "Data validation using Python type hints" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba"}, {file = "pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6"}, @@ -2153,7 +1976,7 @@ typing-inspection = ">=0.4.2" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] +timezone = ["tzdata"] [[package]] name = "pydantic-core" @@ -2161,7 +1984,6 @@ version = "2.46.4" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4"}, {file = "pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5"}, @@ -2294,7 +2116,6 @@ version = "6.3.0" description = "Python docstring style checker" optional = false python-versions = ">=3.6" -groups = ["dev"] files = [ {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, @@ -2304,7 +2125,7 @@ files = [ snowballstemmer = ">=2.2.0" [package.extras] -toml = ["tomli (>=1.2.3) ; python_version < \"3.11\""] +toml = ["tomli (>=1.2.3)"] [[package]] name = "pydub-stubs" @@ -2312,7 +2133,6 @@ version = "0.25.1.6" description = "Stub-only package containing type information for pydub" optional = false python-versions = "<4.0,>=3.9" -groups = ["dev"] files = [ {file = "pydub_stubs-0.25.1.6-py3-none-any.whl", hash = "sha256:235be0707485c48fe3d6537c751171bfeca21480c914e7e7bc9db2d6ed65f8ae"}, {file = "pydub_stubs-0.25.1.6.tar.gz", hash = "sha256:38e9a1e490b11e9fdd3c5a0b01667e2d959c817aadb56555b124c6c8be028ff5"}, @@ -2327,8 +2147,6 @@ version = "2.20.0" description = "Pygments is a syntax highlighting package written in Python." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176"}, {file = "pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f"}, @@ -2343,7 +2161,6 @@ version = "2.17.7" description = "python code static checker" optional = false python-versions = ">=3.7.2" -groups = ["dev"] files = [ {file = "pylint-2.17.7-py3-none-any.whl", hash = "sha256:27a8d4c7ddc8c2f8c18aa0050148f89ffc09838142193fdbe98f172781a3ff87"}, {file = "pylint-2.17.7.tar.gz", hash = "sha256:f4fcac7ae74cfe36bc8451e931d8438e4a476c20314b1101c458ad0f05191fad"}, @@ -2373,7 +2190,6 @@ version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, @@ -2396,7 +2212,6 @@ version = "0.23.8" description = "Pytest support for asyncio" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "pytest_asyncio-0.23.8-py3-none-any.whl", hash = "sha256:50265d892689a5faefb84df80819d1ecef566eb3549cf915dfb33569359d1ce2"}, {file = "pytest_asyncio-0.23.8.tar.gz", hash = "sha256:759b10b33a6dc61cce40a8bd5205e302978bbbcc00e279a8b61d9a6a3c82e4d3"}, @@ -2415,7 +2230,6 @@ version = "4.1.0" description = "Pytest plugin for measuring coverage." optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"}, {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"}, @@ -2434,7 +2248,6 @@ version = "3.8.0" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "pytest_xdist-3.8.0-py3-none-any.whl", hash = "sha256:202ca578cfeb7370784a8c33d6d05bc6e13b4f25b5053c30a152269fd10f0b88"}, {file = "pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1"}, @@ -2455,7 +2268,6 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main", "dev"] files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, @@ -2470,8 +2282,6 @@ version = "4.0.0" description = "JSON Log Formatter for the Python Logging Package" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2"}, {file = "python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f"}, @@ -2481,7 +2291,7 @@ files = [ typing_extensions = {version = "*", markers = "python_version < \"3.10\""} [package.extras] -dev = ["backports.zoneinfo ; python_version < \"3.9\"", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec ; implementation_name != \"pypy\"", "mypy", "orjson ; implementation_name != \"pypy\"", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] +dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] [[package]] name = "pywin32" @@ -2489,7 +2299,6 @@ version = "312" description = "Python for Windows Extensions" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "pywin32-312-cp310-cp310-win32.whl", hash = "sha256:772235332b5d1024c696f11cea1ae4be7930f0a8b894bb43db14e3f435f1ff7e"}, {file = "pywin32-312-cp310-cp310-win_amd64.whl", hash = "sha256:5dbc35d2b5320dc07f25fa31269cfb767471002b17de5eb067d03da68c7cb2db"}, @@ -2513,7 +2322,6 @@ files = [ {file = "pywin32-312-cp39-cp39-win_amd64.whl", hash = "sha256:dc90147579a905b8635e1b0ec6514967dcb07e6e0d9c42f1477feef14cac23bb"}, {file = "pywin32-312-cp39-cp39-win_arm64.whl", hash = "sha256:02ebca0f0242b75292e218065004310d6a477407c09fa449bfe4f6022bc0c0fc"}, ] -markers = {main = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\" and extra == \"examples\"", dev = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} [[package]] name = "pywinpty" @@ -2521,8 +2329,6 @@ version = "3.0.3" description = "Pseudo terminal support for Windows from Python." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\" and os_name == \"nt\"" files = [ {file = "pywinpty-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:ff05f12d775b142b11c6fe085129bdd759b61cf7d41da6c745e78e3a1ef5bf40"}, {file = "pywinpty-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:340ccacb4d74278a631923794ccd758471cfc8eeeeee4610b280420a17ad1e82"}, @@ -2548,8 +2354,6 @@ version = "6.0.3" description = "YAML parser and emitter for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "PyYAML-6.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f"}, {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4"}, @@ -2632,7 +2436,6 @@ version = "27.1.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4"}, {file = "pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556"}, @@ -2727,7 +2530,6 @@ files = [ {file = "pyzmq-27.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff8d114d14ac671d88c89b9224c63d6c4e5a613fe8acd5594ce53d752a3aafe9"}, {file = "pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} @@ -2738,12 +2540,10 @@ version = "0.36.2" description = "JSON Referencing + Python" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] -markers = {main = "extra == \"examples\""} [package.dependencies] attrs = ">=22.2.0" @@ -2756,7 +2556,6 @@ version = "2.32.5" description = "Python HTTP for Humans." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"}, {file = "requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"}, @@ -2778,8 +2577,6 @@ version = "0.1.4" description = "A pure python RFC3339 validator" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, @@ -2794,8 +2591,6 @@ version = "0.1.1" description = "Pure python rfc3986 validator" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, @@ -2807,8 +2602,6 @@ version = "1.1.0" description = "Helper functions to syntactically validate strings according to RFC 3987." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f"}, {file = "rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d"}, @@ -2826,7 +2619,6 @@ version = "0.27.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef"}, {file = "rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be"}, @@ -2984,7 +2776,6 @@ files = [ {file = "rpds_py-0.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4fc9b7fe29478824361ead6e14e4f5aed570d477e06088826537e202d25fe859"}, {file = "rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8"}, ] -markers = {main = "extra == \"examples\""} [[package]] name = "ruff" @@ -2992,7 +2783,6 @@ version = "0.11.5" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "ruff-0.11.5-py3-none-linux_armv6l.whl", hash = "sha256:2561294e108eb648e50f210671cc56aee590fb6167b594144401532138c66c7b"}, {file = "ruff-0.11.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ac12884b9e005c12d0bd121f56ccf8033e1614f736f766c118ad60780882a077"}, @@ -3020,7 +2810,6 @@ version = "2.13.0" description = "Python helper for Semantic Versioning (http://semver.org/)" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["dev"] files = [ {file = "semver-2.13.0-py2.py3-none-any.whl", hash = "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4"}, {file = "semver-2.13.0.tar.gz", hash = "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f"}, @@ -3032,15 +2821,13 @@ version = "2.1.0" description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c"}, {file = "send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459"}, ] [package.extras] -nativelib = ["pyobjc (>=9.0) ; sys_platform == \"darwin\"", "pywin32 (>=305) ; sys_platform == \"win32\""] +nativelib = ["pyobjc (>=9.0)", "pywin32 (>=305)"] test = ["pytest (>=8)"] [[package]] @@ -3049,21 +2836,19 @@ version = "82.0.1" description = "Most extensible Python build backend with support for C/C++ extension modules" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb"}, {file = "setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.13.0) ; sys_platform != \"cygwin\""] -core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.13.0)"] +core = ["importlib_metadata (>=6)", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.18.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.18.*)", "pytest-mypy"] [[package]] name = "six" @@ -3071,7 +2856,6 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main", "dev"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -3083,7 +2867,6 @@ version = "3.1.1" description = "This package provides 36 stemmers for 34 languages generated from Snowball algorithms." optional = false python-versions = ">=3.3" -groups = ["dev"] files = [ {file = "snowballstemmer-3.1.1-py3-none-any.whl", hash = "sha256:7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752"}, {file = "snowballstemmer-3.1.1.tar.gz", hash = "sha256:e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260"}, @@ -3095,8 +2878,6 @@ version = "0.4.7" description = "Play and Record Sound with Python" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"microphone\"" files = [ {file = "sounddevice-0.4.7-py3-none-any.whl", hash = "sha256:1c3f18bfa4d9a257f5715f2ab83f2c0eb412a09f3e6a9fa73720886ca88f6bc7"}, {file = "sounddevice-0.4.7-py3-none-macosx_10_6_x86_64.macosx_10_6_universal2.whl", hash = "sha256:d6ddfd341ad7412b14ca001f2c4dbf5fa2503bdc9eb15ad2c3105f6c260b698a"}, @@ -3117,8 +2898,6 @@ version = "2.8.4" description = "A modern CSS selector implementation for Beautiful Soup." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "soupsieve-2.8.4-py3-none-any.whl", hash = "sha256:e7e6b0769c8f51ed59acab6e994b00621096cfb1c640a7509295987388fbaf65"}, {file = "soupsieve-2.8.4.tar.gz", hash = "sha256:e121fd02e975c695e4e9e8774a5ee35d74714b59307868dcc5319ad2d9e3328e"}, @@ -3130,8 +2909,6 @@ version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, @@ -3151,8 +2928,6 @@ version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, @@ -3174,7 +2949,6 @@ version = "0.4.2" description = "A unit testing framework for Jupyter Notebooks" optional = false python-versions = ">=3.6" -groups = ["dev"] files = [ {file = "testbook-0.4.2-py3-none-any.whl", hash = "sha256:21e03818017d1315607e117c101cf4b5f5b6dcd5ead77eab65ac9508a281f644"}, ] @@ -3184,9 +2958,9 @@ nbclient = ">=0.4.0" nbformat = ">=5.0.4" [package.extras] -dev = ["black ; python_version >= \"3.6\"", "bumpversion", "check-manifest", "codecov", "coverage", "flake8", "ipykernel", "ipython", "ipywidgets", "pandas", "pip (>=18.1)", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "setuptools (>=38.6.0)", "tox", "twine (>=1.11.0)", "wheel (>=0.31.0)", "xmltodict"] +dev = ["black", "bumpversion", "check-manifest", "codecov", "coverage", "flake8", "ipykernel", "ipython", "ipywidgets", "pandas", "pip (>=18.1)", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "setuptools (>=38.6.0)", "tox", "twine (>=1.11.0)", "wheel (>=0.31.0)", "xmltodict"] sphinx = ["Sphinx (>=1.7,<3.0)", "myst-parser (==0.9.1)", "sphinx-book-theme (==0.0.35)"] -test = ["black ; python_version >= \"3.6\"", "bumpversion", "check-manifest", "codecov", "coverage", "flake8", "ipykernel", "ipython", "ipywidgets", "pandas", "pip (>=18.1)", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "setuptools (>=38.6.0)", "tox", "twine (>=1.11.0)", "wheel (>=0.31.0)", "xmltodict"] +test = ["black", "bumpversion", "check-manifest", "codecov", "coverage", "flake8", "ipykernel", "ipython", "ipywidgets", "pandas", "pip (>=18.1)", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "setuptools (>=38.6.0)", "tox", "twine (>=1.11.0)", "wheel (>=0.31.0)", "xmltodict"] [[package]] name = "tinycss2" @@ -3194,8 +2968,6 @@ version = "1.4.0" description = "A tiny CSS parser" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, @@ -3214,7 +2986,6 @@ version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -groups = ["dev"] files = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, @@ -3226,7 +2997,6 @@ version = "2.4.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30"}, {file = "tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a"}, @@ -3276,7 +3046,6 @@ files = [ {file = "tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe"}, {file = "tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f"}, ] -markers = {main = "python_version < \"3.11\" and extra == \"examples\"", dev = "python_version < \"3.11\""} [[package]] name = "tomlkit" @@ -3284,7 +3053,6 @@ version = "0.15.0" description = "Style preserving TOML library" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "tomlkit-0.15.0-py3-none-any.whl", hash = "sha256:4dbc8f0fc024412b57ced8757ac7461305126a648ff8c2c807fcb8e133a78738"}, {file = "tomlkit-0.15.0.tar.gz", hash = "sha256:7d1a9ecba3086638211b13814ea79c90dd54dd11993564376f3aa92271f5c7a3"}, @@ -3296,7 +3064,6 @@ version = "6.5.7" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "tornado-6.5.7-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:148b2eb15c2c765a50796172c1e499649b35f30d2e3c3d3e15913cfa56bfb163"}, {file = "tornado-6.5.7-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9da38de27f1da3b78a966f0dae12b5a1ea9afe72ca805d84ff06508272ddf100"}, @@ -3309,7 +3076,6 @@ files = [ {file = "tornado-6.5.7-cp39-abi3-win_arm64.whl", hash = "sha256:ff934fce95643af5f11efdae618eaa73d469dc588641e5c8d19295a0c65c4796"}, {file = "tornado-6.5.7.tar.gz", hash = "sha256:66c513a76cda70d53907bc27cf1447557699c2e95aa48ba27a442ff61c3ddfc2"}, ] -markers = {main = "extra == \"examples\""} [[package]] name = "traitlets" @@ -3317,24 +3083,32 @@ version = "5.15.1" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "traitlets-5.15.1-py3-none-any.whl", hash = "sha256:770a53705f84b81ac107e83a1b3328ff2dae16094d8fc3cfc004e4b22dfd8e92"}, {file = "traitlets-5.15.1.tar.gz", hash = "sha256:7b1c07854fe25acb39e009bae49f11b79ff6cbb2f27999104e9110e7a6b53722"}, ] -markers = {main = "extra == \"examples\""} [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["argcomplete (>=3.0.3)", "mypy (>=1.17.0,<1.19)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] +[[package]] +name = "types-aiofiles" +version = "24.1.0.20250822" +description = "Typing stubs for aiofiles" +optional = false +python-versions = ">=3.9" +files = [ + {file = "types_aiofiles-24.1.0.20250822-py3-none-any.whl", hash = "sha256:0ec8f8909e1a85a5a79aed0573af7901f53120dd2a29771dd0b3ef48e12328b0"}, + {file = "types_aiofiles-24.1.0.20250822.tar.gz", hash = "sha256:9ab90d8e0c307fe97a7cf09338301e3f01a163e39f3b529ace82466355c84a7b"}, +] + [[package]] name = "types-python-dateutil" version = "2.9.0.20260124" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "types_python_dateutil-2.9.0.20260124-py3-none-any.whl", hash = "sha256:f802977ae08bf2260142e7ca1ab9d4403772a254409f7bbdf652229997124951"}, {file = "types_python_dateutil-2.9.0.20260124.tar.gz", hash = "sha256:7d2db9f860820c30e5b8152bfe78dbdf795f7d1c6176057424e8b3fdd1f581af"}, @@ -3346,7 +3120,6 @@ version = "2.32.4.20260107" description = "Typing stubs for requests" optional = false python-versions = ">=3.9" -groups = ["dev"] files = [ {file = "types_requests-2.32.4.20260107-py3-none-any.whl", hash = "sha256:b703fe72f8ce5b31ef031264fe9395cac8f46a04661a79f7ed31a80fb308730d"}, {file = "types_requests-2.32.4.20260107.tar.gz", hash = "sha256:018a11ac158f801bfa84857ddec1650750e393df8a004a8a9ae2a9bec6fcb24f"}, @@ -3357,14 +3130,13 @@ urllib3 = ">=2" [[package]] name = "typing-extensions" -version = "4.15.0" +version = "4.16.0" description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ - {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, - {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, + {file = "typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"}, + {file = "typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5"}, ] [[package]] @@ -3373,7 +3145,6 @@ version = "0.4.2" description = "Runtime typing introspection tools" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"}, {file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"}, @@ -3388,8 +3159,6 @@ version = "2026.2" description = "Provider of IANA time zone data" optional = true python-versions = ">=2" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7"}, {file = "tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10"}, @@ -3401,8 +3170,6 @@ version = "1.3.0" description = "RFC 6570 URI Template Processor" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, @@ -3417,29 +3184,26 @@ version = "2.6.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"}, {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"}, ] [package.extras] -brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] +brotli = ["brotli (>=1.2.0)", "brotlicffi (>=1.2.0.0)"] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] +zstd = ["backports-zstd (>=1.0.0)"] [[package]] name = "wcwidth" -version = "0.8.1" +version = "0.8.2" description = "Measures the displayed width of unicode strings in a terminal" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"examples\"" files = [ - {file = "wcwidth-0.8.1-py3-none-any.whl", hash = "sha256:f453740b1e4a4f3291faa37944c555d71056c4da08d59809b307ef4feba695c8"}, - {file = "wcwidth-0.8.1.tar.gz", hash = "sha256:faf5b4a5366a72dc49cad48cdf21f52bdf63bdda995178e483ba247ff79089b9"}, + {file = "wcwidth-0.8.2-py3-none-any.whl", hash = "sha256:d63947694a0539a1d51e01eda7caf800c291020e6cdd7e28ad7b14dd33ad4f85"}, + {file = "wcwidth-0.8.2.tar.gz", hash = "sha256:91fbef97204b96a3d4d421609b80340b760cf33e26da123ff243d76b1fda8dda"}, ] [[package]] @@ -3448,8 +3212,6 @@ version = "24.11.1" description = "A library for working with the color formats defined by HTML and CSS." optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"}, {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"}, @@ -3461,8 +3223,6 @@ version = "0.5.1" description = "Character encoding aliases for legacy web content" optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, @@ -3474,8 +3234,6 @@ version = "1.9.0" description = "WebSocket client for Python with low level API options" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "websocket_client-1.9.0-py3-none-any.whl", hash = "sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef"}, {file = "websocket_client-1.9.0.tar.gz", hash = "sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98"}, @@ -3492,7 +3250,6 @@ version = "15.0.1" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b"}, {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205"}, @@ -3571,8 +3328,6 @@ version = "4.0.15" description = "Jupyter interactive widgets for Jupyter Notebook" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"examples\"" files = [ {file = "widgetsnbextension-4.0.15-py3-none-any.whl", hash = "sha256:8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366"}, {file = "widgetsnbextension-4.0.15.tar.gz", hash = "sha256:de8610639996f1567952d763a5a41af8af37f2575a41f9852a38f947eb82a3b9"}, @@ -3584,7 +3339,6 @@ version = "1.17.3" description = "Module for decorators, wrappers and monkey patching." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04"}, {file = "wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2"}, @@ -3675,15 +3429,13 @@ version = "3.23.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] files = [ {file = "zipp-3.23.1-py3-none-any.whl", hash = "sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc"}, {file = "zipp-3.23.1.tar.gz", hash = "sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110"}, ] -markers = {main = "extra == \"examples\" and python_version < \"3.10\"", dev = "python_version < \"3.10\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] @@ -3695,6 +3447,6 @@ examples = ["jupyter"] microphone = ["sounddevice"] [metadata] -lock-version = "2.1" +lock-version = "2.0" python-versions = ">=3.9,<4" -content-hash = "9c095f82d42cb1d1bb89c2a9de82740c987b7ea74cfca88ab03e0598481fc09c" +content-hash = "0ec4eef60479d73e9ed22b1b6576d7e8745363c006bbe425285f6cd802f47e3a" diff --git a/pyproject.toml b/pyproject.toml index 29341d26..c9cd9857 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "hume" -version = "0.14.0" +version = "0.14.1" description = "A Python SDK for Hume AI" readme = "README.md" authors = [] @@ -62,6 +62,7 @@ Repository = 'https://github.com/HumeAI/hume-python-sdk' [tool.poetry.dependencies] python = ">=3.9,<4" +aiofiles = "^24.1.0" eval-type-backport = "^0.2.0" exceptiongroup = "^1.3.0" httpx = ">=0.21.2" @@ -89,6 +90,7 @@ pytest-cov = "^4.0.0" ruff = "==0.11.5" semver = "^2.13.0" testbook = "^0.4.2" +types-aiofiles = "^24.1.0.20240626" [tool.pytest.ini_options] testpaths = [ "tests" ] diff --git a/requirements.txt b/requirements.txt index 05fa0566..43eb260e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +aiofiles==24.1.0 eval-type-backport==0.2.0 exceptiongroup==1.3.0 httpx>=0.21.2 diff --git a/src/hume/base_client.py b/src/hume/base_client.py index 949525ee..2bf7fb24 100644 --- a/src/hume/base_client.py +++ b/src/hume/base_client.py @@ -80,16 +80,8 @@ def __init__( timeout=_defaulted_timeout, logging=logging, ) - self._empathic_voice: typing.Optional[EmpathicVoiceClient] = None self._tts: typing.Optional[TtsClient] = None - - @property - def empathic_voice(self): - if self._empathic_voice is None: - from .empathic_voice.client import EmpathicVoiceClient # noqa: E402 - - self._empathic_voice = EmpathicVoiceClient(client_wrapper=self._client_wrapper) - return self._empathic_voice + self._empathic_voice: typing.Optional[EmpathicVoiceClient] = None @property def tts(self): @@ -99,6 +91,14 @@ def tts(self): self._tts = TtsClient(client_wrapper=self._client_wrapper) return self._tts + @property + def empathic_voice(self): + if self._empathic_voice is None: + from .empathic_voice.client import EmpathicVoiceClient # noqa: E402 + + self._empathic_voice = EmpathicVoiceClient(client_wrapper=self._client_wrapper) + return self._empathic_voice + class AsyncBaseHumeClient: """ @@ -166,16 +166,8 @@ def __init__( timeout=_defaulted_timeout, logging=logging, ) - self._empathic_voice: typing.Optional[AsyncEmpathicVoiceClient] = None self._tts: typing.Optional[AsyncTtsClient] = None - - @property - def empathic_voice(self): - if self._empathic_voice is None: - from .empathic_voice.client import AsyncEmpathicVoiceClient # noqa: E402 - - self._empathic_voice = AsyncEmpathicVoiceClient(client_wrapper=self._client_wrapper) - return self._empathic_voice + self._empathic_voice: typing.Optional[AsyncEmpathicVoiceClient] = None @property def tts(self): @@ -184,3 +176,11 @@ def tts(self): self._tts = AsyncTtsClient(client_wrapper=self._client_wrapper) return self._tts + + @property + def empathic_voice(self): + if self._empathic_voice is None: + from .empathic_voice.client import AsyncEmpathicVoiceClient # noqa: E402 + + self._empathic_voice = AsyncEmpathicVoiceClient(client_wrapper=self._client_wrapper) + return self._empathic_voice diff --git a/src/hume/core/client_wrapper.py b/src/hume/core/client_wrapper.py index b22e8828..e00c47af 100644 --- a/src/hume/core/client_wrapper.py +++ b/src/hume/core/client_wrapper.py @@ -28,12 +28,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "hume/0.14.0", + "User-Agent": "hume/0.14.1", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "hume", - "X-Fern-SDK-Version": "0.14.0", + "X-Fern-SDK-Version": "0.14.1", **(self.get_custom_headers() or {}), } if self.api_key is not None: diff --git a/src/hume/empathic_voice/__init__.py b/src/hume/empathic_voice/__init__.py index 86369c40..42b9b577 100644 --- a/src/hume/empathic_voice/__init__.py +++ b/src/hume/empathic_voice/__init__.py @@ -22,7 +22,6 @@ ConnectSessionSettings, ConnectSessionSettingsAudio, ConnectSessionSettingsContext, - ConnectSessionSettingsVariablesValue, Context, ContextType, ControlPlanePublishEvent, @@ -35,6 +34,7 @@ InterruptionSpec, JsonMessage, LanguageModelType, + LocationItem, MillisecondInterval, ModelProviderEnum, PauseAssistantMessage, @@ -44,6 +44,9 @@ PostedEllmModel, PostedEventMessageSpec, PostedEventMessageSpecs, + PostedEventMessageSpecsOnInactivityTimeout, + PostedEventMessageSpecsOnMaxDurationTimeout, + PostedEventMessageSpecsOnNewChat, PostedInterruptionSpec, PostedLanguageModel, PostedNudgeSpec, @@ -78,7 +81,14 @@ ReturnChatPagedEventsStatus, ReturnChatStatus, ReturnConfig, + ReturnConfigEllmModel, + ReturnConfigEventMessages, + ReturnConfigLanguageModel, + ReturnConfigNudges, + ReturnConfigPrompt, + ReturnConfigPromptVersionType, ReturnConfigSpec, + ReturnConfigTimeouts, ReturnEllmModel, ReturnEventMessageSpec, ReturnEventMessageSpecs, @@ -105,7 +115,6 @@ ReturnWebhookSpec, Role, SessionSettings, - SessionSettingsVariablesValue, SubscribeEvent, Tool, ToolCallMessage, @@ -117,7 +126,7 @@ UserInterruption, UserMessage, ValidationError, - ValidationErrorLocItem, + VariablesValue, VoiceId, VoiceName, VoiceProvider, @@ -134,6 +143,19 @@ from .errors import BadRequestError, UnprocessableEntityError from . import chat, chat_groups, chats, configs, control_plane, prompts, tools from .chat import PublishEvent + from .configs import ( + PostedConfigEllmModel, + PostedConfigEventMessages, + PostedConfigEventMessagesOnInactivityTimeout, + PostedConfigEventMessagesOnMaxDurationTimeout, + PostedConfigEventMessagesOnNewChat, + PostedConfigLanguageModel, + PostedConfigNudges, + PostedConfigPrompt, + PostedConfigTimeouts, + PostedConfigTimeoutsInactivity, + PostedConfigTimeoutsMaxDuration, + ) _dynamic_imports: typing.Dict[str, str] = { "AssistantEnd": ".types", "AssistantInput": ".types", @@ -151,7 +173,6 @@ "ConnectSessionSettings": ".types", "ConnectSessionSettingsAudio": ".types", "ConnectSessionSettingsContext": ".types", - "ConnectSessionSettingsVariablesValue": ".types", "Context": ".types", "ContextType": ".types", "ControlPlanePublishEvent": ".types", @@ -164,15 +185,30 @@ "InterruptionSpec": ".types", "JsonMessage": ".types", "LanguageModelType": ".types", + "LocationItem": ".types", "MillisecondInterval": ".types", "ModelProviderEnum": ".types", "PauseAssistantMessage": ".types", "PostedBuiltinTool": ".types", "PostedBuiltinToolName": ".types", + "PostedConfigEllmModel": ".configs", + "PostedConfigEventMessages": ".configs", + "PostedConfigEventMessagesOnInactivityTimeout": ".configs", + "PostedConfigEventMessagesOnMaxDurationTimeout": ".configs", + "PostedConfigEventMessagesOnNewChat": ".configs", + "PostedConfigLanguageModel": ".configs", + "PostedConfigNudges": ".configs", + "PostedConfigPrompt": ".configs", "PostedConfigPromptSpec": ".types", + "PostedConfigTimeouts": ".configs", + "PostedConfigTimeoutsInactivity": ".configs", + "PostedConfigTimeoutsMaxDuration": ".configs", "PostedEllmModel": ".types", "PostedEventMessageSpec": ".types", "PostedEventMessageSpecs": ".types", + "PostedEventMessageSpecsOnInactivityTimeout": ".types", + "PostedEventMessageSpecsOnMaxDurationTimeout": ".types", + "PostedEventMessageSpecsOnNewChat": ".types", "PostedInterruptionSpec": ".types", "PostedLanguageModel": ".types", "PostedNudgeSpec": ".types", @@ -208,7 +244,14 @@ "ReturnChatPagedEventsStatus": ".types", "ReturnChatStatus": ".types", "ReturnConfig": ".types", + "ReturnConfigEllmModel": ".types", + "ReturnConfigEventMessages": ".types", + "ReturnConfigLanguageModel": ".types", + "ReturnConfigNudges": ".types", + "ReturnConfigPrompt": ".types", + "ReturnConfigPromptVersionType": ".types", "ReturnConfigSpec": ".types", + "ReturnConfigTimeouts": ".types", "ReturnEllmModel": ".types", "ReturnEventMessageSpec": ".types", "ReturnEventMessageSpecs": ".types", @@ -235,7 +278,6 @@ "ReturnWebhookSpec": ".types", "Role": ".types", "SessionSettings": ".types", - "SessionSettingsVariablesValue": ".types", "SubscribeEvent": ".types", "Tool": ".types", "ToolCallMessage": ".types", @@ -248,7 +290,7 @@ "UserInterruption": ".types", "UserMessage": ".types", "ValidationError": ".types", - "ValidationErrorLocItem": ".types", + "VariablesValue": ".types", "VoiceId": ".types", "VoiceName": ".types", "VoiceProvider": ".types", @@ -309,7 +351,6 @@ def __dir__(): "ConnectSessionSettings", "ConnectSessionSettingsAudio", "ConnectSessionSettingsContext", - "ConnectSessionSettingsVariablesValue", "Context", "ContextType", "ControlPlanePublishEvent", @@ -322,15 +363,30 @@ def __dir__(): "InterruptionSpec", "JsonMessage", "LanguageModelType", + "LocationItem", "MillisecondInterval", "ModelProviderEnum", "PauseAssistantMessage", "PostedBuiltinTool", "PostedBuiltinToolName", + "PostedConfigEllmModel", + "PostedConfigEventMessages", + "PostedConfigEventMessagesOnInactivityTimeout", + "PostedConfigEventMessagesOnMaxDurationTimeout", + "PostedConfigEventMessagesOnNewChat", + "PostedConfigLanguageModel", + "PostedConfigNudges", + "PostedConfigPrompt", "PostedConfigPromptSpec", + "PostedConfigTimeouts", + "PostedConfigTimeoutsInactivity", + "PostedConfigTimeoutsMaxDuration", "PostedEllmModel", "PostedEventMessageSpec", "PostedEventMessageSpecs", + "PostedEventMessageSpecsOnInactivityTimeout", + "PostedEventMessageSpecsOnMaxDurationTimeout", + "PostedEventMessageSpecsOnNewChat", "PostedInterruptionSpec", "PostedLanguageModel", "PostedNudgeSpec", @@ -366,7 +422,14 @@ def __dir__(): "ReturnChatPagedEventsStatus", "ReturnChatStatus", "ReturnConfig", + "ReturnConfigEllmModel", + "ReturnConfigEventMessages", + "ReturnConfigLanguageModel", + "ReturnConfigNudges", + "ReturnConfigPrompt", + "ReturnConfigPromptVersionType", "ReturnConfigSpec", + "ReturnConfigTimeouts", "ReturnEllmModel", "ReturnEventMessageSpec", "ReturnEventMessageSpecs", @@ -393,7 +456,6 @@ def __dir__(): "ReturnWebhookSpec", "Role", "SessionSettings", - "SessionSettingsVariablesValue", "SubscribeEvent", "Tool", "ToolCallMessage", @@ -406,7 +468,7 @@ def __dir__(): "UserInterruption", "UserMessage", "ValidationError", - "ValidationErrorLocItem", + "VariablesValue", "VoiceId", "VoiceName", "VoiceProvider", diff --git a/src/hume/empathic_voice/configs/__init__.py b/src/hume/empathic_voice/configs/__init__.py index 5cde0202..aff95d32 100644 --- a/src/hume/empathic_voice/configs/__init__.py +++ b/src/hume/empathic_voice/configs/__init__.py @@ -2,3 +2,69 @@ # isort: skip_file +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .types import ( + PostedConfigEllmModel, + PostedConfigEventMessages, + PostedConfigEventMessagesOnInactivityTimeout, + PostedConfigEventMessagesOnMaxDurationTimeout, + PostedConfigEventMessagesOnNewChat, + PostedConfigLanguageModel, + PostedConfigNudges, + PostedConfigPrompt, + PostedConfigTimeouts, + PostedConfigTimeoutsInactivity, + PostedConfigTimeoutsMaxDuration, + ) +_dynamic_imports: typing.Dict[str, str] = { + "PostedConfigEllmModel": ".types", + "PostedConfigEventMessages": ".types", + "PostedConfigEventMessagesOnInactivityTimeout": ".types", + "PostedConfigEventMessagesOnMaxDurationTimeout": ".types", + "PostedConfigEventMessagesOnNewChat": ".types", + "PostedConfigLanguageModel": ".types", + "PostedConfigNudges": ".types", + "PostedConfigPrompt": ".types", + "PostedConfigTimeouts": ".types", + "PostedConfigTimeoutsInactivity": ".types", + "PostedConfigTimeoutsMaxDuration": ".types", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = [ + "PostedConfigEllmModel", + "PostedConfigEventMessages", + "PostedConfigEventMessagesOnInactivityTimeout", + "PostedConfigEventMessagesOnMaxDurationTimeout", + "PostedConfigEventMessagesOnNewChat", + "PostedConfigLanguageModel", + "PostedConfigNudges", + "PostedConfigPrompt", + "PostedConfigTimeouts", + "PostedConfigTimeoutsInactivity", + "PostedConfigTimeoutsMaxDuration", +] diff --git a/src/hume/empathic_voice/configs/client.py b/src/hume/empathic_voice/configs/client.py index 8dc6aca1..4017ab72 100644 --- a/src/hume/empathic_voice/configs/client.py +++ b/src/hume/empathic_voice/configs/client.py @@ -20,6 +20,12 @@ from ..types.return_paged_configs import ReturnPagedConfigs from ..types.voice_ref import VoiceRef from .raw_client import AsyncRawConfigsClient, RawConfigsClient +from .types.posted_config_ellm_model import PostedConfigEllmModel +from .types.posted_config_event_messages import PostedConfigEventMessages +from .types.posted_config_language_model import PostedConfigLanguageModel +from .types.posted_config_nudges import PostedConfigNudges +from .types.posted_config_prompt import PostedConfigPrompt +from .types.posted_config_timeouts import PostedConfigTimeouts # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) @@ -111,13 +117,13 @@ def create_config( evi_version: str, name: str, builtin_tools: typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] = OMIT, - ellm_model: typing.Optional[PostedEllmModel] = OMIT, - event_messages: typing.Optional[PostedEventMessageSpecs] = OMIT, + ellm_model: typing.Optional[PostedConfigEllmModel] = OMIT, + event_messages: typing.Optional[PostedConfigEventMessages] = OMIT, interruption: typing.Optional[PostedInterruptionSpec] = OMIT, - language_model: typing.Optional[PostedLanguageModel] = OMIT, - nudges: typing.Optional[PostedNudgeSpec] = OMIT, - prompt: typing.Optional[PostedConfigPromptSpec] = OMIT, - timeouts: typing.Optional[PostedTimeoutSpecs] = OMIT, + language_model: typing.Optional[PostedConfigLanguageModel] = OMIT, + nudges: typing.Optional[PostedConfigNudges] = OMIT, + prompt: typing.Optional[PostedConfigPrompt] = OMIT, + timeouts: typing.Optional[PostedConfigTimeouts] = OMIT, tools: typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] = OMIT, turn_detection: typing.Optional[PostedTurnDetectionSpec] = OMIT, version_description: typing.Optional[str] = OMIT, @@ -141,19 +147,29 @@ def create_config( builtin_tools : typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] Built-in tool specification for a Config. - ellm_model : typing.Optional[PostedEllmModel] + ellm_model : typing.Optional[PostedConfigEllmModel] + The eLLM setup associated with this Config. - event_messages : typing.Optional[PostedEventMessageSpecs] + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + + event_messages : typing.Optional[PostedConfigEventMessages] + Map of event messages associated with this config. interruption : typing.Optional[PostedInterruptionSpec] - language_model : typing.Optional[PostedLanguageModel] + language_model : typing.Optional[PostedConfigLanguageModel] + The supplemental language model associated with this Config. - nudges : typing.Optional[PostedNudgeSpec] + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. - prompt : typing.Optional[PostedConfigPromptSpec] + nudges : typing.Optional[PostedConfigNudges] + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. - timeouts : typing.Optional[PostedTimeoutSpecs] + prompt : typing.Optional[PostedConfigPrompt] + A Prompt associated with this Config. + + timeouts : typing.Optional[PostedConfigTimeouts] + Map of timeouts associated with this config. tools : typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] Tool specification for a Config. @@ -180,12 +196,14 @@ def create_config( Examples -------- from hume import HumeClient - from hume.empathic_voice import ( - PostedConfigPromptSpec, - PostedEventMessageSpec, - PostedEventMessageSpecs, - PostedLanguageModel, - VoiceName, + from hume.empathic_voice import VoiceName + from hume.empathic_voice.configs import ( + PostedConfigEventMessages, + PostedConfigEventMessagesOnInactivityTimeout, + PostedConfigEventMessagesOnMaxDurationTimeout, + PostedConfigEventMessagesOnNewChat, + PostedConfigLanguageModel, + PostedConfigPrompt, ) client = HumeClient( @@ -193,7 +211,7 @@ def create_config( ) client.empathic_voice.configs.create_config( name="Weather Assistant Config", - prompt=PostedConfigPromptSpec( + prompt=PostedConfigPrompt( id="", version=0, ), @@ -202,21 +220,21 @@ def create_config( provider="HUME_AI", name="Ava Song", ), - language_model=PostedLanguageModel( + language_model=PostedConfigLanguageModel( model_provider="ANTHROPIC", model_resource="claude-3-7-sonnet-latest", temperature=1.0, ), - event_messages=PostedEventMessageSpecs( - on_new_chat=PostedEventMessageSpec( + event_messages=PostedConfigEventMessages( + on_new_chat=PostedConfigEventMessagesOnNewChat( enabled=False, text="", ), - on_inactivity_timeout=PostedEventMessageSpec( + on_inactivity_timeout=PostedConfigEventMessagesOnInactivityTimeout( enabled=False, text="", ), - on_max_duration_timeout=PostedEventMessageSpec( + on_max_duration_timeout=PostedConfigEventMessagesOnMaxDurationTimeout( enabled=False, text="", ), @@ -384,8 +402,10 @@ def create_config_version( from hume.empathic_voice import ( PostedConfigPromptSpec, PostedEllmModel, - PostedEventMessageSpec, PostedEventMessageSpecs, + PostedEventMessageSpecsOnInactivityTimeout, + PostedEventMessageSpecsOnMaxDurationTimeout, + PostedEventMessageSpecsOnNewChat, PostedLanguageModel, VoiceName, ) @@ -414,15 +434,15 @@ def create_config_version( allow_short_responses=True, ), event_messages=PostedEventMessageSpecs( - on_new_chat=PostedEventMessageSpec( + on_new_chat=PostedEventMessageSpecsOnNewChat( enabled=False, text="", ), - on_inactivity_timeout=PostedEventMessageSpec( + on_inactivity_timeout=PostedEventMessageSpecsOnInactivityTimeout( enabled=False, text="", ), - on_max_duration_timeout=PostedEventMessageSpec( + on_max_duration_timeout=PostedEventMessageSpecsOnMaxDurationTimeout( enabled=False, text="", ), @@ -753,13 +773,13 @@ async def create_config( evi_version: str, name: str, builtin_tools: typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] = OMIT, - ellm_model: typing.Optional[PostedEllmModel] = OMIT, - event_messages: typing.Optional[PostedEventMessageSpecs] = OMIT, + ellm_model: typing.Optional[PostedConfigEllmModel] = OMIT, + event_messages: typing.Optional[PostedConfigEventMessages] = OMIT, interruption: typing.Optional[PostedInterruptionSpec] = OMIT, - language_model: typing.Optional[PostedLanguageModel] = OMIT, - nudges: typing.Optional[PostedNudgeSpec] = OMIT, - prompt: typing.Optional[PostedConfigPromptSpec] = OMIT, - timeouts: typing.Optional[PostedTimeoutSpecs] = OMIT, + language_model: typing.Optional[PostedConfigLanguageModel] = OMIT, + nudges: typing.Optional[PostedConfigNudges] = OMIT, + prompt: typing.Optional[PostedConfigPrompt] = OMIT, + timeouts: typing.Optional[PostedConfigTimeouts] = OMIT, tools: typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] = OMIT, turn_detection: typing.Optional[PostedTurnDetectionSpec] = OMIT, version_description: typing.Optional[str] = OMIT, @@ -783,19 +803,29 @@ async def create_config( builtin_tools : typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] Built-in tool specification for a Config. - ellm_model : typing.Optional[PostedEllmModel] + ellm_model : typing.Optional[PostedConfigEllmModel] + The eLLM setup associated with this Config. - event_messages : typing.Optional[PostedEventMessageSpecs] + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + + event_messages : typing.Optional[PostedConfigEventMessages] + Map of event messages associated with this config. interruption : typing.Optional[PostedInterruptionSpec] - language_model : typing.Optional[PostedLanguageModel] + language_model : typing.Optional[PostedConfigLanguageModel] + The supplemental language model associated with this Config. - nudges : typing.Optional[PostedNudgeSpec] + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. - prompt : typing.Optional[PostedConfigPromptSpec] + nudges : typing.Optional[PostedConfigNudges] + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. - timeouts : typing.Optional[PostedTimeoutSpecs] + prompt : typing.Optional[PostedConfigPrompt] + A Prompt associated with this Config. + + timeouts : typing.Optional[PostedConfigTimeouts] + Map of timeouts associated with this config. tools : typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] Tool specification for a Config. @@ -824,12 +854,14 @@ async def create_config( import asyncio from hume import AsyncHumeClient - from hume.empathic_voice import ( - PostedConfigPromptSpec, - PostedEventMessageSpec, - PostedEventMessageSpecs, - PostedLanguageModel, - VoiceName, + from hume.empathic_voice import VoiceName + from hume.empathic_voice.configs import ( + PostedConfigEventMessages, + PostedConfigEventMessagesOnInactivityTimeout, + PostedConfigEventMessagesOnMaxDurationTimeout, + PostedConfigEventMessagesOnNewChat, + PostedConfigLanguageModel, + PostedConfigPrompt, ) client = AsyncHumeClient( @@ -840,7 +872,7 @@ async def create_config( async def main() -> None: await client.empathic_voice.configs.create_config( name="Weather Assistant Config", - prompt=PostedConfigPromptSpec( + prompt=PostedConfigPrompt( id="", version=0, ), @@ -849,21 +881,21 @@ async def main() -> None: provider="HUME_AI", name="Ava Song", ), - language_model=PostedLanguageModel( + language_model=PostedConfigLanguageModel( model_provider="ANTHROPIC", model_resource="claude-3-7-sonnet-latest", temperature=1.0, ), - event_messages=PostedEventMessageSpecs( - on_new_chat=PostedEventMessageSpec( + event_messages=PostedConfigEventMessages( + on_new_chat=PostedConfigEventMessagesOnNewChat( enabled=False, text="", ), - on_inactivity_timeout=PostedEventMessageSpec( + on_inactivity_timeout=PostedConfigEventMessagesOnInactivityTimeout( enabled=False, text="", ), - on_max_duration_timeout=PostedEventMessageSpec( + on_max_duration_timeout=PostedConfigEventMessagesOnMaxDurationTimeout( enabled=False, text="", ), @@ -1045,8 +1077,10 @@ async def create_config_version( from hume.empathic_voice import ( PostedConfigPromptSpec, PostedEllmModel, - PostedEventMessageSpec, PostedEventMessageSpecs, + PostedEventMessageSpecsOnInactivityTimeout, + PostedEventMessageSpecsOnMaxDurationTimeout, + PostedEventMessageSpecsOnNewChat, PostedLanguageModel, VoiceName, ) @@ -1078,15 +1112,15 @@ async def main() -> None: allow_short_responses=True, ), event_messages=PostedEventMessageSpecs( - on_new_chat=PostedEventMessageSpec( + on_new_chat=PostedEventMessageSpecsOnNewChat( enabled=False, text="", ), - on_inactivity_timeout=PostedEventMessageSpec( + on_inactivity_timeout=PostedEventMessageSpecsOnInactivityTimeout( enabled=False, text="", ), - on_max_duration_timeout=PostedEventMessageSpec( + on_max_duration_timeout=PostedEventMessageSpecsOnMaxDurationTimeout( enabled=False, text="", ), diff --git a/src/hume/empathic_voice/configs/raw_client.py b/src/hume/empathic_voice/configs/raw_client.py index 7a08eec1..cb245c1f 100644 --- a/src/hume/empathic_voice/configs/raw_client.py +++ b/src/hume/empathic_voice/configs/raw_client.py @@ -27,6 +27,12 @@ from ..types.return_config import ReturnConfig from ..types.return_paged_configs import ReturnPagedConfigs from ..types.voice_ref import VoiceRef +from .types.posted_config_ellm_model import PostedConfigEllmModel +from .types.posted_config_event_messages import PostedConfigEventMessages +from .types.posted_config_language_model import PostedConfigLanguageModel +from .types.posted_config_nudges import PostedConfigNudges +from .types.posted_config_prompt import PostedConfigPrompt +from .types.posted_config_timeouts import PostedConfigTimeouts # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) @@ -131,13 +137,13 @@ def create_config( evi_version: str, name: str, builtin_tools: typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] = OMIT, - ellm_model: typing.Optional[PostedEllmModel] = OMIT, - event_messages: typing.Optional[PostedEventMessageSpecs] = OMIT, + ellm_model: typing.Optional[PostedConfigEllmModel] = OMIT, + event_messages: typing.Optional[PostedConfigEventMessages] = OMIT, interruption: typing.Optional[PostedInterruptionSpec] = OMIT, - language_model: typing.Optional[PostedLanguageModel] = OMIT, - nudges: typing.Optional[PostedNudgeSpec] = OMIT, - prompt: typing.Optional[PostedConfigPromptSpec] = OMIT, - timeouts: typing.Optional[PostedTimeoutSpecs] = OMIT, + language_model: typing.Optional[PostedConfigLanguageModel] = OMIT, + nudges: typing.Optional[PostedConfigNudges] = OMIT, + prompt: typing.Optional[PostedConfigPrompt] = OMIT, + timeouts: typing.Optional[PostedConfigTimeouts] = OMIT, tools: typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] = OMIT, turn_detection: typing.Optional[PostedTurnDetectionSpec] = OMIT, version_description: typing.Optional[str] = OMIT, @@ -161,19 +167,29 @@ def create_config( builtin_tools : typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] Built-in tool specification for a Config. - ellm_model : typing.Optional[PostedEllmModel] + ellm_model : typing.Optional[PostedConfigEllmModel] + The eLLM setup associated with this Config. - event_messages : typing.Optional[PostedEventMessageSpecs] + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + + event_messages : typing.Optional[PostedConfigEventMessages] + Map of event messages associated with this config. interruption : typing.Optional[PostedInterruptionSpec] - language_model : typing.Optional[PostedLanguageModel] + language_model : typing.Optional[PostedConfigLanguageModel] + The supplemental language model associated with this Config. - nudges : typing.Optional[PostedNudgeSpec] + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. - prompt : typing.Optional[PostedConfigPromptSpec] + nudges : typing.Optional[PostedConfigNudges] + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. - timeouts : typing.Optional[PostedTimeoutSpecs] + prompt : typing.Optional[PostedConfigPrompt] + A Prompt associated with this Config. + + timeouts : typing.Optional[PostedConfigTimeouts] + Map of timeouts associated with this config. tools : typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] Tool specification for a Config. @@ -208,27 +224,27 @@ def create_config( direction="write", ), "ellm_model": convert_and_respect_annotation_metadata( - object_=ellm_model, annotation=PostedEllmModel, direction="write" + object_=ellm_model, annotation=PostedConfigEllmModel, direction="write" ), "event_messages": convert_and_respect_annotation_metadata( - object_=event_messages, annotation=PostedEventMessageSpecs, direction="write" + object_=event_messages, annotation=PostedConfigEventMessages, direction="write" ), "evi_version": evi_version, "interruption": convert_and_respect_annotation_metadata( object_=interruption, annotation=PostedInterruptionSpec, direction="write" ), "language_model": convert_and_respect_annotation_metadata( - object_=language_model, annotation=PostedLanguageModel, direction="write" + object_=language_model, annotation=PostedConfigLanguageModel, direction="write" ), "name": name, "nudges": convert_and_respect_annotation_metadata( - object_=nudges, annotation=PostedNudgeSpec, direction="write" + object_=nudges, annotation=PostedConfigNudges, direction="write" ), "prompt": convert_and_respect_annotation_metadata( - object_=prompt, annotation=PostedConfigPromptSpec, direction="write" + object_=prompt, annotation=PostedConfigPrompt, direction="write" ), "timeouts": convert_and_respect_annotation_metadata( - object_=timeouts, annotation=PostedTimeoutSpecs, direction="write" + object_=timeouts, annotation=PostedConfigTimeouts, direction="write" ), "tools": convert_and_respect_annotation_metadata( object_=tools, @@ -902,13 +918,13 @@ async def create_config( evi_version: str, name: str, builtin_tools: typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] = OMIT, - ellm_model: typing.Optional[PostedEllmModel] = OMIT, - event_messages: typing.Optional[PostedEventMessageSpecs] = OMIT, + ellm_model: typing.Optional[PostedConfigEllmModel] = OMIT, + event_messages: typing.Optional[PostedConfigEventMessages] = OMIT, interruption: typing.Optional[PostedInterruptionSpec] = OMIT, - language_model: typing.Optional[PostedLanguageModel] = OMIT, - nudges: typing.Optional[PostedNudgeSpec] = OMIT, - prompt: typing.Optional[PostedConfigPromptSpec] = OMIT, - timeouts: typing.Optional[PostedTimeoutSpecs] = OMIT, + language_model: typing.Optional[PostedConfigLanguageModel] = OMIT, + nudges: typing.Optional[PostedConfigNudges] = OMIT, + prompt: typing.Optional[PostedConfigPrompt] = OMIT, + timeouts: typing.Optional[PostedConfigTimeouts] = OMIT, tools: typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] = OMIT, turn_detection: typing.Optional[PostedTurnDetectionSpec] = OMIT, version_description: typing.Optional[str] = OMIT, @@ -932,19 +948,29 @@ async def create_config( builtin_tools : typing.Optional[typing.Sequence[typing.Optional[PostedBuiltinTool]]] Built-in tool specification for a Config. - ellm_model : typing.Optional[PostedEllmModel] + ellm_model : typing.Optional[PostedConfigEllmModel] + The eLLM setup associated with this Config. - event_messages : typing.Optional[PostedEventMessageSpecs] + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + + event_messages : typing.Optional[PostedConfigEventMessages] + Map of event messages associated with this config. interruption : typing.Optional[PostedInterruptionSpec] - language_model : typing.Optional[PostedLanguageModel] + language_model : typing.Optional[PostedConfigLanguageModel] + The supplemental language model associated with this Config. - nudges : typing.Optional[PostedNudgeSpec] + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. - prompt : typing.Optional[PostedConfigPromptSpec] + nudges : typing.Optional[PostedConfigNudges] + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. - timeouts : typing.Optional[PostedTimeoutSpecs] + prompt : typing.Optional[PostedConfigPrompt] + A Prompt associated with this Config. + + timeouts : typing.Optional[PostedConfigTimeouts] + Map of timeouts associated with this config. tools : typing.Optional[typing.Sequence[typing.Optional[PostedUserDefinedToolSpec]]] Tool specification for a Config. @@ -979,27 +1005,27 @@ async def create_config( direction="write", ), "ellm_model": convert_and_respect_annotation_metadata( - object_=ellm_model, annotation=PostedEllmModel, direction="write" + object_=ellm_model, annotation=PostedConfigEllmModel, direction="write" ), "event_messages": convert_and_respect_annotation_metadata( - object_=event_messages, annotation=PostedEventMessageSpecs, direction="write" + object_=event_messages, annotation=PostedConfigEventMessages, direction="write" ), "evi_version": evi_version, "interruption": convert_and_respect_annotation_metadata( object_=interruption, annotation=PostedInterruptionSpec, direction="write" ), "language_model": convert_and_respect_annotation_metadata( - object_=language_model, annotation=PostedLanguageModel, direction="write" + object_=language_model, annotation=PostedConfigLanguageModel, direction="write" ), "name": name, "nudges": convert_and_respect_annotation_metadata( - object_=nudges, annotation=PostedNudgeSpec, direction="write" + object_=nudges, annotation=PostedConfigNudges, direction="write" ), "prompt": convert_and_respect_annotation_metadata( - object_=prompt, annotation=PostedConfigPromptSpec, direction="write" + object_=prompt, annotation=PostedConfigPrompt, direction="write" ), "timeouts": convert_and_respect_annotation_metadata( - object_=timeouts, annotation=PostedTimeoutSpecs, direction="write" + object_=timeouts, annotation=PostedConfigTimeouts, direction="write" ), "tools": convert_and_respect_annotation_metadata( object_=tools, diff --git a/src/hume/empathic_voice/configs/types/__init__.py b/src/hume/empathic_voice/configs/types/__init__.py new file mode 100644 index 00000000..adfbb779 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/__init__.py @@ -0,0 +1,68 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .posted_config_ellm_model import PostedConfigEllmModel + from .posted_config_event_messages import PostedConfigEventMessages + from .posted_config_event_messages_on_inactivity_timeout import PostedConfigEventMessagesOnInactivityTimeout + from .posted_config_event_messages_on_max_duration_timeout import PostedConfigEventMessagesOnMaxDurationTimeout + from .posted_config_event_messages_on_new_chat import PostedConfigEventMessagesOnNewChat + from .posted_config_language_model import PostedConfigLanguageModel + from .posted_config_nudges import PostedConfigNudges + from .posted_config_prompt import PostedConfigPrompt + from .posted_config_timeouts import PostedConfigTimeouts + from .posted_config_timeouts_inactivity import PostedConfigTimeoutsInactivity + from .posted_config_timeouts_max_duration import PostedConfigTimeoutsMaxDuration +_dynamic_imports: typing.Dict[str, str] = { + "PostedConfigEllmModel": ".posted_config_ellm_model", + "PostedConfigEventMessages": ".posted_config_event_messages", + "PostedConfigEventMessagesOnInactivityTimeout": ".posted_config_event_messages_on_inactivity_timeout", + "PostedConfigEventMessagesOnMaxDurationTimeout": ".posted_config_event_messages_on_max_duration_timeout", + "PostedConfigEventMessagesOnNewChat": ".posted_config_event_messages_on_new_chat", + "PostedConfigLanguageModel": ".posted_config_language_model", + "PostedConfigNudges": ".posted_config_nudges", + "PostedConfigPrompt": ".posted_config_prompt", + "PostedConfigTimeouts": ".posted_config_timeouts", + "PostedConfigTimeoutsInactivity": ".posted_config_timeouts_inactivity", + "PostedConfigTimeoutsMaxDuration": ".posted_config_timeouts_max_duration", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = [ + "PostedConfigEllmModel", + "PostedConfigEventMessages", + "PostedConfigEventMessagesOnInactivityTimeout", + "PostedConfigEventMessagesOnMaxDurationTimeout", + "PostedConfigEventMessagesOnNewChat", + "PostedConfigLanguageModel", + "PostedConfigNudges", + "PostedConfigPrompt", + "PostedConfigTimeouts", + "PostedConfigTimeoutsInactivity", + "PostedConfigTimeoutsMaxDuration", +] diff --git a/src/hume/empathic_voice/configs/types/posted_config_ellm_model.py b/src/hume/empathic_voice/configs/types/posted_config_ellm_model.py new file mode 100644 index 00000000..554dd51a --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_ellm_model.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigEllmModel(UniversalBaseModel): + """ + The eLLM setup associated with this Config. + + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + """ + + allow_short_responses: typing.Optional[bool] = pydantic.Field(default=None) + """ + Boolean indicating if the eLLM is allowed to generate short responses (new EVI 3 configs default to disabled; new versions inherit prior value when omitted). + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_event_messages.py b/src/hume/empathic_voice/configs/types/posted_config_event_messages.py new file mode 100644 index 00000000..6a7f9529 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_event_messages.py @@ -0,0 +1,47 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .posted_config_event_messages_on_inactivity_timeout import PostedConfigEventMessagesOnInactivityTimeout +from .posted_config_event_messages_on_max_duration_timeout import PostedConfigEventMessagesOnMaxDurationTimeout +from .posted_config_event_messages_on_new_chat import PostedConfigEventMessagesOnNewChat + + +class PostedConfigEventMessages(UniversalBaseModel): + """ + Map of event messages associated with this config. + """ + + on_inactivity_timeout: typing.Optional[PostedConfigEventMessagesOnInactivityTimeout] = pydantic.Field(default=None) + """ + Specifies the message EVI provides when the chat is about to be disconnected due to a user inactivity timeout, such as a message mentioning a lack of user input for a period of time. + + Enabling an inactivity message allows developers to use this message event for "checking in" with the user if they are not responding to see if they are still active. + + If the user does not respond in the number of seconds specified in the `inactivity_timeout` field, then EVI will say the message and the user has 15 seconds to respond. If they respond in time, the conversation will continue; if not, the conversation will end. + + However, if the inactivity message is not enabled, then reaching the inactivity timeout will immediately end the connection. + """ + + on_max_duration_timeout: typing.Optional[PostedConfigEventMessagesOnMaxDurationTimeout] = pydantic.Field( + default=None + ) + """ + Specifies the message EVI provides when the chat is disconnected due to reaching the maximum chat duration, such as a message mentioning the time limit for the chat has been reached. + """ + + on_new_chat: typing.Optional[PostedConfigEventMessagesOnNewChat] = pydantic.Field(default=None) + """ + Specifies the initial message EVI provides when a new chat is started, such as a greeting or welcome message. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_inactivity_timeout.py b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_inactivity_timeout.py new file mode 100644 index 00000000..1eae6990 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_inactivity_timeout.py @@ -0,0 +1,39 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigEventMessagesOnInactivityTimeout(UniversalBaseModel): + """ + Specifies the message EVI provides when the chat is about to be disconnected due to a user inactivity timeout, such as a message mentioning a lack of user input for a period of time. + + Enabling an inactivity message allows developers to use this message event for "checking in" with the user if they are not responding to see if they are still active. + + If the user does not respond in the number of seconds specified in the `inactivity_timeout` field, then EVI will say the message and the user has 15 seconds to respond. If they respond in time, the conversation will continue; if not, the conversation will end. + + However, if the inactivity message is not enabled, then reaching the inactivity timeout will immediately end the connection. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_max_duration_timeout.py b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_max_duration_timeout.py new file mode 100644 index 00000000..bade0afd --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_max_duration_timeout.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigEventMessagesOnMaxDurationTimeout(UniversalBaseModel): + """ + Specifies the message EVI provides when the chat is disconnected due to reaching the maximum chat duration, such as a message mentioning the time limit for the chat has been reached. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_new_chat.py b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_new_chat.py new file mode 100644 index 00000000..8d25ceb9 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_event_messages_on_new_chat.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigEventMessagesOnNewChat(UniversalBaseModel): + """ + Specifies the initial message EVI provides when a new chat is started, such as a greeting or welcome message. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_language_model.py b/src/hume/empathic_voice/configs/types/posted_config_language_model.py new file mode 100644 index 00000000..cfd0d4d0 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_language_model.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ...types.language_model_type import LanguageModelType +from ...types.model_provider_enum import ModelProviderEnum + + +class PostedConfigLanguageModel(UniversalBaseModel): + """ + The supplemental language model associated with this Config. + + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. + """ + + model_provider: typing.Optional[ModelProviderEnum] = None + model_resource: typing.Optional[LanguageModelType] = None + temperature: typing.Optional[float] = pydantic.Field(default=None) + """ + The model temperature, with values between 0 to 1 (inclusive). + + Controls the randomness of the LLM's output, with values closer to 0 yielding focused, deterministic responses and values closer to 1 producing more creative, diverse responses. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_nudges.py b/src/hume/empathic_voice/configs/types/posted_config_nudges.py new file mode 100644 index 00000000..3542cfdb --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_nudges.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigNudges(UniversalBaseModel): + """ + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. + """ + + enabled: typing.Optional[bool] = pydantic.Field(default=None) + """ + If true, EVI will 'nudge' the user to speak after a determined interval of silence. + """ + + interval_secs: typing.Optional[int] = pydantic.Field(default=None) + """ + The interval of inactivity (in seconds) before a nudge is triggered. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_prompt.py b/src/hume/empathic_voice/configs/types/posted_config_prompt.py new file mode 100644 index 00000000..89cb160e --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_prompt.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ...types.prompt_expansion_spec import PromptExpansionSpec + + +class PostedConfigPrompt(UniversalBaseModel): + """ + A Prompt associated with this Config. + """ + + id: typing.Optional[str] = pydantic.Field(default=None) + """ + Identifier for a Prompt. Formatted as a UUID. + """ + + prompt_expansion: typing.Optional[PromptExpansionSpec] = None + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text used to create a new prompt for a particular config. + """ + + version: typing.Optional[int] = pydantic.Field(default=None) + """ + Version number for a Prompt. Version numbers should be integers. The combination of configId and version number is unique. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_timeouts.py b/src/hume/empathic_voice/configs/types/posted_config_timeouts.py new file mode 100644 index 00000000..87504072 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_timeouts.py @@ -0,0 +1,26 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .posted_config_timeouts_inactivity import PostedConfigTimeoutsInactivity +from .posted_config_timeouts_max_duration import PostedConfigTimeoutsMaxDuration + + +class PostedConfigTimeouts(UniversalBaseModel): + """ + Map of timeouts associated with this config. + """ + + inactivity: typing.Optional[PostedConfigTimeoutsInactivity] = None + max_duration: typing.Optional[PostedConfigTimeoutsMaxDuration] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_timeouts_inactivity.py b/src/hume/empathic_voice/configs/types/posted_config_timeouts_inactivity.py new file mode 100644 index 00000000..043b4922 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_timeouts_inactivity.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigTimeoutsInactivity(UniversalBaseModel): + duration_secs: typing.Optional[int] = None + enabled: bool + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/configs/types/posted_config_timeouts_max_duration.py b/src/hume/empathic_voice/configs/types/posted_config_timeouts_max_duration.py new file mode 100644 index 00000000..125206a6 --- /dev/null +++ b/src/hume/empathic_voice/configs/types/posted_config_timeouts_max_duration.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ....core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedConfigTimeoutsMaxDuration(UniversalBaseModel): + duration_secs: typing.Optional[int] = None + enabled: bool + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/control_plane/raw_client.py b/src/hume/empathic_voice/control_plane/raw_client.py index b8f2412c..b16bd493 100644 --- a/src/hume/empathic_voice/control_plane/raw_client.py +++ b/src/hume/empathic_voice/control_plane/raw_client.py @@ -64,9 +64,6 @@ def send( json=convert_and_respect_annotation_metadata( object_=request, annotation=ControlPlanePublishEvent, direction="write" ), - headers={ - "content-type": "application/json", - }, request_options=request_options, omit=OMIT, ) @@ -191,9 +188,6 @@ async def send( json=convert_and_respect_annotation_metadata( object_=request, annotation=ControlPlanePublishEvent, direction="write" ), - headers={ - "content-type": "application/json", - }, request_options=request_options, omit=OMIT, ) diff --git a/src/hume/empathic_voice/types/__init__.py b/src/hume/empathic_voice/types/__init__.py index c862dd9f..0d345b9d 100644 --- a/src/hume/empathic_voice/types/__init__.py +++ b/src/hume/empathic_voice/types/__init__.py @@ -21,7 +21,6 @@ from .connect_session_settings import ConnectSessionSettings from .connect_session_settings_audio import ConnectSessionSettingsAudio from .connect_session_settings_context import ConnectSessionSettingsContext - from .connect_session_settings_variables_value import ConnectSessionSettingsVariablesValue from .context import Context from .context_type import ContextType from .control_plane_publish_event import ControlPlanePublishEvent @@ -34,6 +33,7 @@ from .interruption_spec import InterruptionSpec from .json_message import JsonMessage from .language_model_type import LanguageModelType + from .location_item import LocationItem from .millisecond_interval import MillisecondInterval from .model_provider_enum import ModelProviderEnum from .pause_assistant_message import PauseAssistantMessage @@ -43,6 +43,9 @@ from .posted_ellm_model import PostedEllmModel from .posted_event_message_spec import PostedEventMessageSpec from .posted_event_message_specs import PostedEventMessageSpecs + from .posted_event_message_specs_on_inactivity_timeout import PostedEventMessageSpecsOnInactivityTimeout + from .posted_event_message_specs_on_max_duration_timeout import PostedEventMessageSpecsOnMaxDurationTimeout + from .posted_event_message_specs_on_new_chat import PostedEventMessageSpecsOnNewChat from .posted_interruption_spec import PostedInterruptionSpec from .posted_language_model import PostedLanguageModel from .posted_nudge_spec import PostedNudgeSpec @@ -79,7 +82,14 @@ from .return_chat_paged_events_status import ReturnChatPagedEventsStatus from .return_chat_status import ReturnChatStatus from .return_config import ReturnConfig + from .return_config_ellm_model import ReturnConfigEllmModel + from .return_config_event_messages import ReturnConfigEventMessages + from .return_config_language_model import ReturnConfigLanguageModel + from .return_config_nudges import ReturnConfigNudges + from .return_config_prompt import ReturnConfigPrompt + from .return_config_prompt_version_type import ReturnConfigPromptVersionType from .return_config_spec import ReturnConfigSpec + from .return_config_timeouts import ReturnConfigTimeouts from .return_ellm_model import ReturnEllmModel from .return_event_message_spec import ReturnEventMessageSpec from .return_event_message_specs import ReturnEventMessageSpecs @@ -106,7 +116,6 @@ from .return_webhook_spec import ReturnWebhookSpec from .role import Role from .session_settings import SessionSettings - from .session_settings_variables_value import SessionSettingsVariablesValue from .subscribe_event import SubscribeEvent from .tool import Tool from .tool_call_message import ToolCallMessage @@ -118,7 +127,7 @@ from .user_interruption import UserInterruption from .user_message import UserMessage from .validation_error import ValidationError - from .validation_error_loc_item import ValidationErrorLocItem + from .variables_value import VariablesValue from .voice_id import VoiceId from .voice_name import VoiceName from .voice_provider import VoiceProvider @@ -147,7 +156,6 @@ "ConnectSessionSettings": ".connect_session_settings", "ConnectSessionSettingsAudio": ".connect_session_settings_audio", "ConnectSessionSettingsContext": ".connect_session_settings_context", - "ConnectSessionSettingsVariablesValue": ".connect_session_settings_variables_value", "Context": ".context", "ContextType": ".context_type", "ControlPlanePublishEvent": ".control_plane_publish_event", @@ -160,6 +168,7 @@ "InterruptionSpec": ".interruption_spec", "JsonMessage": ".json_message", "LanguageModelType": ".language_model_type", + "LocationItem": ".location_item", "MillisecondInterval": ".millisecond_interval", "ModelProviderEnum": ".model_provider_enum", "PauseAssistantMessage": ".pause_assistant_message", @@ -169,6 +178,9 @@ "PostedEllmModel": ".posted_ellm_model", "PostedEventMessageSpec": ".posted_event_message_spec", "PostedEventMessageSpecs": ".posted_event_message_specs", + "PostedEventMessageSpecsOnInactivityTimeout": ".posted_event_message_specs_on_inactivity_timeout", + "PostedEventMessageSpecsOnMaxDurationTimeout": ".posted_event_message_specs_on_max_duration_timeout", + "PostedEventMessageSpecsOnNewChat": ".posted_event_message_specs_on_new_chat", "PostedInterruptionSpec": ".posted_interruption_spec", "PostedLanguageModel": ".posted_language_model", "PostedNudgeSpec": ".posted_nudge_spec", @@ -203,7 +215,14 @@ "ReturnChatPagedEventsStatus": ".return_chat_paged_events_status", "ReturnChatStatus": ".return_chat_status", "ReturnConfig": ".return_config", + "ReturnConfigEllmModel": ".return_config_ellm_model", + "ReturnConfigEventMessages": ".return_config_event_messages", + "ReturnConfigLanguageModel": ".return_config_language_model", + "ReturnConfigNudges": ".return_config_nudges", + "ReturnConfigPrompt": ".return_config_prompt", + "ReturnConfigPromptVersionType": ".return_config_prompt_version_type", "ReturnConfigSpec": ".return_config_spec", + "ReturnConfigTimeouts": ".return_config_timeouts", "ReturnEllmModel": ".return_ellm_model", "ReturnEventMessageSpec": ".return_event_message_spec", "ReturnEventMessageSpecs": ".return_event_message_specs", @@ -230,7 +249,6 @@ "ReturnWebhookSpec": ".return_webhook_spec", "Role": ".role", "SessionSettings": ".session_settings", - "SessionSettingsVariablesValue": ".session_settings_variables_value", "SubscribeEvent": ".subscribe_event", "Tool": ".tool", "ToolCallMessage": ".tool_call_message", @@ -242,7 +260,7 @@ "UserInterruption": ".user_interruption", "UserMessage": ".user_message", "ValidationError": ".validation_error", - "ValidationErrorLocItem": ".validation_error_loc_item", + "VariablesValue": ".variables_value", "VoiceId": ".voice_id", "VoiceName": ".voice_name", "VoiceProvider": ".voice_provider", @@ -295,7 +313,6 @@ def __dir__(): "ConnectSessionSettings", "ConnectSessionSettingsAudio", "ConnectSessionSettingsContext", - "ConnectSessionSettingsVariablesValue", "Context", "ContextType", "ControlPlanePublishEvent", @@ -308,6 +325,7 @@ def __dir__(): "InterruptionSpec", "JsonMessage", "LanguageModelType", + "LocationItem", "MillisecondInterval", "ModelProviderEnum", "PauseAssistantMessage", @@ -317,6 +335,9 @@ def __dir__(): "PostedEllmModel", "PostedEventMessageSpec", "PostedEventMessageSpecs", + "PostedEventMessageSpecsOnInactivityTimeout", + "PostedEventMessageSpecsOnMaxDurationTimeout", + "PostedEventMessageSpecsOnNewChat", "PostedInterruptionSpec", "PostedLanguageModel", "PostedNudgeSpec", @@ -351,7 +372,14 @@ def __dir__(): "ReturnChatPagedEventsStatus", "ReturnChatStatus", "ReturnConfig", + "ReturnConfigEllmModel", + "ReturnConfigEventMessages", + "ReturnConfigLanguageModel", + "ReturnConfigNudges", + "ReturnConfigPrompt", + "ReturnConfigPromptVersionType", "ReturnConfigSpec", + "ReturnConfigTimeouts", "ReturnEllmModel", "ReturnEventMessageSpec", "ReturnEventMessageSpecs", @@ -378,7 +406,6 @@ def __dir__(): "ReturnWebhookSpec", "Role", "SessionSettings", - "SessionSettingsVariablesValue", "SubscribeEvent", "Tool", "ToolCallMessage", @@ -390,7 +417,7 @@ def __dir__(): "UserInterruption", "UserMessage", "ValidationError", - "ValidationErrorLocItem", + "VariablesValue", "VoiceId", "VoiceName", "VoiceProvider", diff --git a/src/hume/empathic_voice/types/connect_session_settings.py b/src/hume/empathic_voice/types/connect_session_settings.py index f62b0332..c85bc7f1 100644 --- a/src/hume/empathic_voice/types/connect_session_settings.py +++ b/src/hume/empathic_voice/types/connect_session_settings.py @@ -6,7 +6,7 @@ from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from .connect_session_settings_audio import ConnectSessionSettingsAudio from .connect_session_settings_context import ConnectSessionSettingsContext -from .connect_session_settings_variables_value import ConnectSessionSettingsVariablesValue +from .variables_value import VariablesValue class ConnectSessionSettings(UniversalBaseModel): @@ -63,7 +63,7 @@ class ConnectSessionSettings(UniversalBaseModel): Allows you to change the voice during an active chat. Updating the voice does not affect chat context or conversation history. """ - variables: typing.Optional[typing.Dict[str, ConnectSessionSettingsVariablesValue]] = pydantic.Field(default=None) + variables: typing.Optional[typing.Dict[str, VariablesValue]] = pydantic.Field(default=None) """ This field allows you to assign values to dynamic variables referenced in your system prompt. diff --git a/src/hume/empathic_voice/types/connect_session_settings_variables_value.py b/src/hume/empathic_voice/types/connect_session_settings_variables_value.py deleted file mode 100644 index ff379848..00000000 --- a/src/hume/empathic_voice/types/connect_session_settings_variables_value.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -ConnectSessionSettingsVariablesValue = typing.Union[str, float, bool] diff --git a/src/hume/empathic_voice/types/validation_error_loc_item.py b/src/hume/empathic_voice/types/location_item.py similarity index 62% rename from src/hume/empathic_voice/types/validation_error_loc_item.py rename to src/hume/empathic_voice/types/location_item.py index 9a0a83fe..39dc74b2 100644 --- a/src/hume/empathic_voice/types/validation_error_loc_item.py +++ b/src/hume/empathic_voice/types/location_item.py @@ -2,4 +2,4 @@ import typing -ValidationErrorLocItem = typing.Union[str, int] +LocationItem = typing.Union[str, int] diff --git a/src/hume/empathic_voice/types/posted_event_message_specs.py b/src/hume/empathic_voice/types/posted_event_message_specs.py index ba31d6b6..e1869d8a 100644 --- a/src/hume/empathic_voice/types/posted_event_message_specs.py +++ b/src/hume/empathic_voice/types/posted_event_message_specs.py @@ -4,7 +4,9 @@ import pydantic from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .posted_event_message_spec import PostedEventMessageSpec +from .posted_event_message_specs_on_inactivity_timeout import PostedEventMessageSpecsOnInactivityTimeout +from .posted_event_message_specs_on_max_duration_timeout import PostedEventMessageSpecsOnMaxDurationTimeout +from .posted_event_message_specs_on_new_chat import PostedEventMessageSpecsOnNewChat class PostedEventMessageSpecs(UniversalBaseModel): @@ -14,9 +16,26 @@ class PostedEventMessageSpecs(UniversalBaseModel): Event messages are sent by the server when specific events occur during a chat session. These messages are used to configure behaviors for EVI, such as controlling how EVI starts a new conversation. """ - on_inactivity_timeout: typing.Optional[PostedEventMessageSpec] = None - on_max_duration_timeout: typing.Optional[PostedEventMessageSpec] = None - on_new_chat: typing.Optional[PostedEventMessageSpec] = None + on_inactivity_timeout: typing.Optional[PostedEventMessageSpecsOnInactivityTimeout] = pydantic.Field(default=None) + """ + Specifies the message EVI provides when the chat is about to be disconnected due to a user inactivity timeout, such as a message mentioning a lack of user input for a period of time. + + Enabling an inactivity message allows developers to use this message event for "checking in" with the user if they are not responding to see if they are still active. + + If the user does not respond in the number of seconds specified in the `inactivity_timeout` field, then EVI will say the message and the user has 15 seconds to respond. If they respond in time, the conversation will continue; if not, the conversation will end. + + However, if the inactivity message is not enabled, then reaching the inactivity timeout will immediately end the connection. + """ + + on_max_duration_timeout: typing.Optional[PostedEventMessageSpecsOnMaxDurationTimeout] = pydantic.Field(default=None) + """ + Specifies the message EVI provides when the chat is disconnected due to reaching the maximum chat duration, such as a message mentioning the time limit for the chat has been reached. + """ + + on_new_chat: typing.Optional[PostedEventMessageSpecsOnNewChat] = pydantic.Field(default=None) + """ + Specifies the initial message EVI provides when a new chat is started, such as a greeting or welcome message. + """ if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/hume/empathic_voice/types/posted_event_message_specs_on_inactivity_timeout.py b/src/hume/empathic_voice/types/posted_event_message_specs_on_inactivity_timeout.py new file mode 100644 index 00000000..e48fa084 --- /dev/null +++ b/src/hume/empathic_voice/types/posted_event_message_specs_on_inactivity_timeout.py @@ -0,0 +1,39 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedEventMessageSpecsOnInactivityTimeout(UniversalBaseModel): + """ + Specifies the message EVI provides when the chat is about to be disconnected due to a user inactivity timeout, such as a message mentioning a lack of user input for a period of time. + + Enabling an inactivity message allows developers to use this message event for "checking in" with the user if they are not responding to see if they are still active. + + If the user does not respond in the number of seconds specified in the `inactivity_timeout` field, then EVI will say the message and the user has 15 seconds to respond. If they respond in time, the conversation will continue; if not, the conversation will end. + + However, if the inactivity message is not enabled, then reaching the inactivity timeout will immediately end the connection. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/posted_event_message_specs_on_max_duration_timeout.py b/src/hume/empathic_voice/types/posted_event_message_specs_on_max_duration_timeout.py new file mode 100644 index 00000000..efdb7c0b --- /dev/null +++ b/src/hume/empathic_voice/types/posted_event_message_specs_on_max_duration_timeout.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedEventMessageSpecsOnMaxDurationTimeout(UniversalBaseModel): + """ + Specifies the message EVI provides when the chat is disconnected due to reaching the maximum chat duration, such as a message mentioning the time limit for the chat has been reached. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/posted_event_message_specs_on_new_chat.py b/src/hume/empathic_voice/types/posted_event_message_specs_on_new_chat.py new file mode 100644 index 00000000..3fb575be --- /dev/null +++ b/src/hume/empathic_voice/types/posted_event_message_specs_on_new_chat.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PostedEventMessageSpecsOnNewChat(UniversalBaseModel): + """ + Specifies the initial message EVI provides when a new chat is started, such as a greeting or welcome message. + """ + + enabled: bool = pydantic.Field() + """ + Boolean indicating if this event message is enabled. + + If set to `true`, a message will be sent when the circumstances for the specific event are met. + """ + + text: typing.Optional[str] = pydantic.Field(default=None) + """ + Text to use as the event message when the corresponding event occurs. If no text is specified, EVI will generate an appropriate message based on its current context and the system prompt. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_ellm_model.py b/src/hume/empathic_voice/types/return_config_ellm_model.py new file mode 100644 index 00000000..85681d8e --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_ellm_model.py @@ -0,0 +1,28 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class ReturnConfigEllmModel(UniversalBaseModel): + """ + The eLLM setup associated with this Config. + + Hume's eLLM (empathic Large Language Model) is a multimodal language model that takes into account both expression measures and language. The eLLM generates short, empathic language responses and guides text-to-speech (TTS) prosody. + """ + + allow_short_responses: bool = pydantic.Field() + """ + Boolean indicating if the eLLM is allowed to generate short responses (new EVI 3 configs default to disabled; new versions inherit prior value when omitted). + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_event_messages.py b/src/hume/empathic_voice/types/return_config_event_messages.py new file mode 100644 index 00000000..8f658637 --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_event_messages.py @@ -0,0 +1,26 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .return_event_message_spec import ReturnEventMessageSpec + + +class ReturnConfigEventMessages(UniversalBaseModel): + """ + Map of event messages associated with this config. + """ + + on_inactivity_timeout: typing.Optional[ReturnEventMessageSpec] = None + on_max_duration_timeout: typing.Optional[ReturnEventMessageSpec] = None + on_new_chat: typing.Optional[ReturnEventMessageSpec] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_language_model.py b/src/hume/empathic_voice/types/return_config_language_model.py new file mode 100644 index 00000000..13e3153f --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_language_model.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .language_model_type import LanguageModelType +from .model_provider_enum import ModelProviderEnum + + +class ReturnConfigLanguageModel(UniversalBaseModel): + """ + The supplemental language model associated with this Config. + + This model is used to generate longer, more detailed responses from EVI. Choosing an appropriate supplemental language model for your use case is crucial for generating fast, high-quality responses from EVI. + """ + + model_provider: typing.Optional[ModelProviderEnum] = None + model_resource: typing.Optional[LanguageModelType] = None + temperature: typing.Optional[float] = pydantic.Field(default=None) + """ + The model temperature, with values between 0 to 1 (inclusive). + + Controls the randomness of the LLM's output, with values closer to 0 yielding focused, deterministic responses and values closer to 1 producing more creative, diverse responses. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_nudges.py b/src/hume/empathic_voice/types/return_config_nudges.py new file mode 100644 index 00000000..313924a4 --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_nudges.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class ReturnConfigNudges(UniversalBaseModel): + """ + Configures nudges, brief audio prompts that can guide conversations when users pause or need encouragement to continue speaking. Nudges help create more natural, flowing interactions by providing gentle conversational cues. + """ + + enabled: bool = pydantic.Field() + """ + If true, EVI will 'nudge' the user to speak after a determined interval of silence. + """ + + interval_secs: typing.Optional[int] = pydantic.Field(default=None) + """ + The interval of inactivity (in seconds) before a nudge is triggered. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_prompt.py b/src/hume/empathic_voice/types/return_config_prompt.py new file mode 100644 index 00000000..f63c457e --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_prompt.py @@ -0,0 +1,61 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .return_config_prompt_version_type import ReturnConfigPromptVersionType + + +class ReturnConfigPrompt(UniversalBaseModel): + """ + A Prompt associated with this Config. + """ + + created_on: int = pydantic.Field() + """ + Time at which the Prompt was created. Measured in seconds since the Unix epoch. + """ + + id: str = pydantic.Field() + """ + Identifier for a Prompt. Formatted as a UUID. + """ + + modified_on: int = pydantic.Field() + """ + Time at which the Prompt was last modified. Measured in seconds since the Unix epoch. + """ + + name: str = pydantic.Field() + """ + Name applied to all versions of a particular Prompt. + """ + + text: str = pydantic.Field() + """ + Instructions used to shape EVI's behavior, responses, and style. + + You can use the Prompt to define a specific goal or role for EVI, specifying how it should act or what it should focus on during the conversation. For example, EVI can be instructed to act as a customer support representative, a fitness coach, or a travel advisor, each with its own set of behaviors and response styles. For help writing a system prompt, see our [Prompting Guide](/docs/speech-to-speech-evi/guides/prompting). + """ + + version: int = pydantic.Field() + """ + Version number for a Prompt. Version numbers should be integers. The combination of configId and version number is unique. + """ + + version_description: typing.Optional[str] = pydantic.Field(default=None) + """ + An optional description of the Prompt version. + """ + + version_type: ReturnConfigPromptVersionType + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/return_config_prompt_version_type.py b/src/hume/empathic_voice/types/return_config_prompt_version_type.py new file mode 100644 index 00000000..46c8200a --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_prompt_version_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ReturnConfigPromptVersionType = typing.Union[typing.Literal["FIXED", "LATEST"], typing.Any] diff --git a/src/hume/empathic_voice/types/return_config_timeouts.py b/src/hume/empathic_voice/types/return_config_timeouts.py new file mode 100644 index 00000000..187d3386 --- /dev/null +++ b/src/hume/empathic_voice/types/return_config_timeouts.py @@ -0,0 +1,25 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .return_timeout_spec import ReturnTimeoutSpec + + +class ReturnConfigTimeouts(UniversalBaseModel): + """ + Map of timeouts associated with this config. + """ + + inactivity: ReturnTimeoutSpec + max_duration: ReturnTimeoutSpec + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/hume/empathic_voice/types/session_settings.py b/src/hume/empathic_voice/types/session_settings.py index 98abde5e..9162abb7 100644 --- a/src/hume/empathic_voice/types/session_settings.py +++ b/src/hume/empathic_voice/types/session_settings.py @@ -7,8 +7,8 @@ from .audio_configuration import AudioConfiguration from .builtin_tool_config import BuiltinToolConfig from .context import Context -from .session_settings_variables_value import SessionSettingsVariablesValue from .tool import Tool +from .variables_value import VariablesValue class SessionSettings(UniversalBaseModel): @@ -87,7 +87,7 @@ class SessionSettings(UniversalBaseModel): For more information, please refer to the [Session Settings section](/docs/empathic-voice-interface-evi/configuration#session-settings) on the EVI Configuration page. """ - variables: typing.Optional[typing.Dict[str, SessionSettingsVariablesValue]] = pydantic.Field(default=None) + variables: typing.Optional[typing.Dict[str, VariablesValue]] = pydantic.Field(default=None) """ This field allows you to assign values to dynamic variables referenced in your system prompt. diff --git a/src/hume/empathic_voice/types/validation_error.py b/src/hume/empathic_voice/types/validation_error.py index 0f49fed8..79192137 100644 --- a/src/hume/empathic_voice/types/validation_error.py +++ b/src/hume/empathic_voice/types/validation_error.py @@ -4,11 +4,11 @@ import pydantic from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .validation_error_loc_item import ValidationErrorLocItem +from .location_item import LocationItem class ValidationError(UniversalBaseModel): - loc: typing.List[ValidationErrorLocItem] + loc: typing.List[LocationItem] msg: str type: str diff --git a/src/hume/tts/types/validation_error_loc_item.py b/src/hume/empathic_voice/types/variables_value.py similarity index 62% rename from src/hume/tts/types/validation_error_loc_item.py rename to src/hume/empathic_voice/types/variables_value.py index 9a0a83fe..4ad8d5c5 100644 --- a/src/hume/tts/types/validation_error_loc_item.py +++ b/src/hume/empathic_voice/types/variables_value.py @@ -2,4 +2,4 @@ import typing -ValidationErrorLocItem = typing.Union[str, int] +VariablesValue = typing.Union[str, float, bool] diff --git a/src/hume/tts/__init__.py b/src/hume/tts/__init__.py index 84d98931..80ca265b 100644 --- a/src/hume/tts/__init__.py +++ b/src/hume/tts/__init__.py @@ -15,6 +15,7 @@ FormatPcm, FormatWav, HttpValidationError, + LocationItem, MillisecondInterval, OctaveVersion, PostedContext, @@ -37,7 +38,6 @@ TimestampType, TtsOutput, ValidationError, - ValidationErrorLocItem, VoiceProvider, ) from .errors import BadRequestError, UnprocessableEntityError @@ -52,6 +52,7 @@ "FormatPcm": ".types", "FormatWav": ".types", "HttpValidationError": ".types", + "LocationItem": ".types", "MillisecondInterval": ".types", "OctaveVersion": ".types", "PostedContext": ".types", @@ -75,7 +76,6 @@ "TtsOutput": ".types", "UnprocessableEntityError": ".errors", "ValidationError": ".types", - "ValidationErrorLocItem": ".types", "VoiceProvider": ".types", "stream_input": ".stream_input", "voices": ".voices", @@ -113,6 +113,7 @@ def __dir__(): "FormatPcm", "FormatWav", "HttpValidationError", + "LocationItem", "MillisecondInterval", "OctaveVersion", "PostedContext", @@ -136,7 +137,6 @@ def __dir__(): "TtsOutput", "UnprocessableEntityError", "ValidationError", - "ValidationErrorLocItem", "VoiceProvider", "stream_input", "voices", diff --git a/src/hume/tts/types/__init__.py b/src/hume/tts/types/__init__.py index 26e055e9..733642de 100644 --- a/src/hume/tts/types/__init__.py +++ b/src/hume/tts/types/__init__.py @@ -14,6 +14,7 @@ from .format_pcm import FormatPcm from .format_wav import FormatWav from .http_validation_error import HttpValidationError + from .location_item import LocationItem from .millisecond_interval import MillisecondInterval from .octave_version import OctaveVersion from .posted_context import PostedContext @@ -36,7 +37,6 @@ from .timestamp_type import TimestampType from .tts_output import TtsOutput from .validation_error import ValidationError - from .validation_error_loc_item import ValidationErrorLocItem from .voice_provider import VoiceProvider _dynamic_imports: typing.Dict[str, str] = { "AudioEncoding": ".audio_encoding", @@ -47,6 +47,7 @@ "FormatPcm": ".format_pcm", "FormatWav": ".format_wav", "HttpValidationError": ".http_validation_error", + "LocationItem": ".location_item", "MillisecondInterval": ".millisecond_interval", "OctaveVersion": ".octave_version", "PostedContext": ".posted_context", @@ -69,7 +70,6 @@ "TimestampType": ".timestamp_type", "TtsOutput": ".tts_output", "ValidationError": ".validation_error", - "ValidationErrorLocItem": ".validation_error_loc_item", "VoiceProvider": ".voice_provider", } @@ -104,6 +104,7 @@ def __dir__(): "FormatPcm", "FormatWav", "HttpValidationError", + "LocationItem", "MillisecondInterval", "OctaveVersion", "PostedContext", @@ -126,6 +127,5 @@ def __dir__(): "TimestampType", "TtsOutput", "ValidationError", - "ValidationErrorLocItem", "VoiceProvider", ] diff --git a/src/hume/empathic_voice/types/session_settings_variables_value.py b/src/hume/tts/types/location_item.py similarity index 55% rename from src/hume/empathic_voice/types/session_settings_variables_value.py rename to src/hume/tts/types/location_item.py index 85548feb..39dc74b2 100644 --- a/src/hume/empathic_voice/types/session_settings_variables_value.py +++ b/src/hume/tts/types/location_item.py @@ -2,4 +2,4 @@ import typing -SessionSettingsVariablesValue = typing.Union[str, float, bool] +LocationItem = typing.Union[str, int] diff --git a/src/hume/tts/types/validation_error.py b/src/hume/tts/types/validation_error.py index 0f49fed8..79192137 100644 --- a/src/hume/tts/types/validation_error.py +++ b/src/hume/tts/types/validation_error.py @@ -4,11 +4,11 @@ import pydantic from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .validation_error_loc_item import ValidationErrorLocItem +from .location_item import LocationItem class ValidationError(UniversalBaseModel): - loc: typing.List[ValidationErrorLocItem] + loc: typing.List[LocationItem] msg: str type: str diff --git a/wiremock/wiremock-mappings.json b/wiremock/wiremock-mappings.json index 1932fa9c..1c553fa9 100644 --- a/wiremock/wiremock-mappings.json +++ b/wiremock/wiremock-mappings.json @@ -1 +1 @@ -{"mappings":[{"id":"e0fc3f32-35c4-4c49-89f2-eaa4e21b9444","name":"Send Message - default","request":{"urlPathTemplate":"/v0/evi/chat/{chat_id}/send","method":"POST","pathParameters":{"chat_id":{"equalTo":"chat_id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e0fc3f32-35c4-4c49-89f2-eaa4e21b9444","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7e5b16a7-b7b9-4e7d-b0a9-61b1ac4b5f7d","name":"List chat_groups - default","request":{"urlPathTemplate":"/v0/evi/chat_groups","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chat_groups_page\": [\n {\n \"id\": \"697056f0-6c7e-487d-9bd8-9c19df79f05f\",\n \"first_start_timestamp\": 1721844196397,\n \"most_recent_start_timestamp\": 1721861821717,\n \"active\": false,\n \"most_recent_chat_id\": \"dfdbdd4d-0ddf-418b-8fc4-80a266579d36\",\n \"num_chats\": 5\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"7e5b16a7-b7b9-4e7d-b0a9-61b1ac4b5f7d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"52c3c012-9681-44fd-b0dd-d644aac44f8c","name":"Get chat_group - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"first_start_timestamp\": 1712334213647,\n \"most_recent_start_timestamp\": 1712334213647,\n \"num_chats\": 1,\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chats_page\": [\n {\n \"id\": \"6375d4f8-cd3e-4d6b-b13b-ace66b7c8aaa\",\n \"chat_group_id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1712334213647,\n \"end_timestamp\": 1712334332571,\n \"event_count\": 0,\n \"metadata\": null,\n \"config\": null\n }\n ],\n \"active\": false\n}","headers":{"Content-Type":"application/json"}},"uuid":"52c3c012-9681-44fd-b0dd-d644aac44f8c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ef5bd433-148e-481b-b653-7b4676a3fbbb","name":"Get chat group audio - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}/audio","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"num_chats\": 1,\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"audio_reconstructions_page\": [\n {\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"status\": \"COMPLETE\",\n \"filename\": \"e6235940-cfda-3988-9147-ff531627cf42/470a49f6-1dec-4afe-8b61-035d3b2d63b0/reconstructed_audio.mp4\",\n \"modified_at\": 1729875432555,\n \"signed_audio_url\": \"https://storage.googleapis.com/...etc.\",\n \"signed_url_expiration_timestamp_millis\": 1730232816964\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ef5bd433-148e-481b-b653-7b4676a3fbbb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"63f657bf-ebac-4bc4-bbae-5a46d2babec4","name":"List chat events from a specific chat_group - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}/events","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"697056f0-6c7e-487d-9bd8-9c19df79f05f\",\n \"page_number\": 0,\n \"page_size\": 3,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"events_page\": [\n {\n \"id\": \"5d44bdbb-49a3-40fb-871d-32bf7e76efe7\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244940762,\n \"role\": \"SYSTEM\",\n \"type\": \"SYSTEM_PROMPT\",\n \"message_text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\",\n \"emotion_features\": \"\",\n \"metadata\": \"\"\n },\n {\n \"id\": \"5976ddf6-d093-4bb9-ba60-8f6c25832dde\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244956278,\n \"role\": \"USER\",\n \"type\": \"USER_MESSAGE\",\n \"message_text\": \"Hello.\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.09906005859375, \\\"Adoration\\\": 0.12213134765625, \\\"Aesthetic Appreciation\\\": 0.05035400390625, \\\"Amusement\\\": 0.16552734375, \\\"Anger\\\": 0.0037384033203125, \\\"Anxiety\\\": 0.010101318359375, \\\"Awe\\\": 0.058197021484375, \\\"Awkwardness\\\": 0.10552978515625, \\\"Boredom\\\": 0.1141357421875, \\\"Calmness\\\": 0.115234375, \\\"Concentration\\\": 0.00444793701171875, \\\"Confusion\\\": 0.0343017578125, \\\"Contemplation\\\": 0.00812530517578125, \\\"Contempt\\\": 0.009002685546875, \\\"Contentment\\\": 0.087158203125, \\\"Craving\\\": 0.00818634033203125, \\\"Desire\\\": 0.018310546875, \\\"Determination\\\": 0.003238677978515625, \\\"Disappointment\\\": 0.024169921875, \\\"Disgust\\\": 0.00702667236328125, \\\"Distress\\\": 0.00936126708984375, \\\"Doubt\\\": 0.00632476806640625, \\\"Ecstasy\\\": 0.0293731689453125, \\\"Embarrassment\\\": 0.01800537109375, \\\"Empathic Pain\\\": 0.0088348388671875, \\\"Entrancement\\\": 0.013397216796875, \\\"Envy\\\": 0.02557373046875, \\\"Excitement\\\": 0.12109375, \\\"Fear\\\": 0.004413604736328125, \\\"Guilt\\\": 0.016571044921875, \\\"Horror\\\": 0.00274658203125, \\\"Interest\\\": 0.2142333984375, \\\"Joy\\\": 0.29638671875, \\\"Love\\\": 0.16015625, \\\"Nostalgia\\\": 0.007843017578125, \\\"Pain\\\": 0.007160186767578125, \\\"Pride\\\": 0.00508880615234375, \\\"Realization\\\": 0.054229736328125, \\\"Relief\\\": 0.048736572265625, \\\"Romance\\\": 0.026397705078125, \\\"Sadness\\\": 0.0265350341796875, \\\"Satisfaction\\\": 0.051361083984375, \\\"Shame\\\": 0.00974273681640625, \\\"Surprise (negative)\\\": 0.0218963623046875, \\\"Surprise (positive)\\\": 0.216064453125, \\\"Sympathy\\\": 0.021728515625, \\\"Tiredness\\\": 0.0173797607421875, \\\"Triumph\\\": 0.004520416259765625}\",\n \"metadata\": \"{\\\"segments\\\": [{\\\"content\\\": \\\"Hello.\\\", \\\"embedding\\\": [0.6181640625, 0.1763916015625, -30.921875, 1.2705078125, 0.927734375, 0.63720703125, 2.865234375, 0.1080322265625, 0.2978515625, 1.0107421875, 1.34375, 0.74560546875, 0.416259765625, 0.99462890625, -0.333740234375, 0.361083984375, -1.388671875, 1.0107421875, 1.3173828125, 0.55615234375, 0.541015625, -0.1837158203125, 1.697265625, 0.228515625, 2.087890625, -0.311767578125, 0.053680419921875, 1.3349609375, 0.95068359375, 0.00441741943359375, 0.705078125, 1.8916015625, -0.939453125, 0.93701171875, -0.28955078125, 1.513671875, 0.5595703125, 1.0126953125, -0.1624755859375, 1.4072265625, -0.28857421875, -0.4560546875, -0.1500244140625, -0.1102294921875, -0.222412109375, 0.8779296875, 1.275390625, 1.6689453125, 0.80712890625, -0.34814453125, -0.325439453125, 0.412841796875, 0.81689453125, 0.55126953125, 1.671875, 0.6611328125, 0.7451171875, 1.50390625, 1.0224609375, -1.671875, 0.7373046875, 2.1328125, 2.166015625, 0.41015625, -0.127685546875, 1.9345703125, -4.2734375, 0.332275390625, 0.26171875, 0.76708984375, 0.2685546875, 0.468017578125, 1.208984375, -1.517578125, 1.083984375, 0.84814453125, 1.0244140625, -0.0072174072265625, 1.34375, 1.0712890625, 1.517578125, -0.52001953125, 0.59228515625, 0.8154296875, -0.951171875, -0.07757568359375, 1.3330078125, 1.125, 0.61181640625, 1.494140625, 0.357421875, 1.1796875, 1.482421875, 0.8046875, 0.1536865234375, 1.8076171875, 0.68115234375, -15.171875, 1.2294921875, 0.319091796875, 0.499755859375, 1.5771484375, 0.94677734375, -0.2490234375, 0.88525390625, 3.47265625, 0.75927734375, 0.71044921875, 1.2333984375, 1.4169921875, -0.56640625, -1.8095703125, 1.37109375, 0.428955078125, 1.89453125, -0.39013671875, 0.1734619140625, 1.5595703125, -1.2294921875, 2.552734375, 0.58349609375, 0.2156982421875, -0.00984954833984375, -0.6865234375, -0.0272979736328125, -0.2264404296875, 2.853515625, 1.3896484375, 0.52978515625, 0.783203125, 3.0390625, 0.75537109375, 0.219970703125, 0.384521484375, 0.385986328125, 2.0546875, -0.10443115234375, 1.5146484375, 1.4296875, 1.9716796875, 1.1318359375, 0.31591796875, 0.338623046875, 1.654296875, -0.88037109375, -0.21484375, 1.45703125, 1.0380859375, -0.52294921875, -0.47802734375, 0.1650390625, 1.2392578125, -1.138671875, 0.56787109375, 1.318359375, 0.4287109375, 0.1981201171875, 2.4375, 0.281005859375, 0.89404296875, -0.1552734375, 0.6474609375, -0.08331298828125, 0.00740814208984375, -0.045501708984375, -0.578125, 2.02734375, 0.59228515625, 0.35693359375, 1.2919921875, 1.22265625, 1.0537109375, 0.145263671875, 1.05859375, -0.369140625, 0.207275390625, 0.78857421875, 0.599609375, 0.99072265625, 0.24462890625, 1.26953125, 0.08404541015625, 1.349609375, 0.73291015625, 1.3212890625, 0.388916015625, 1.0869140625, 0.9931640625, -1.5673828125, 0.0462646484375, 0.650390625, 0.253662109375, 0.58251953125, 1.8134765625, 0.8642578125, 2.591796875, 0.7314453125, 0.85986328125, 0.5615234375, 0.9296875, 0.04144287109375, 1.66015625, 1.99609375, 1.171875, 1.181640625, 1.5126953125, 0.0224456787109375, 0.58349609375, -1.4931640625, 0.81884765625, 0.732421875, -0.6455078125, -0.62451171875, 1.7802734375, 0.01526641845703125, -0.423095703125, 0.461669921875, 4.87890625, 1.2392578125, -0.6953125, 0.6689453125, 0.62451171875, -1.521484375, 1.7685546875, 0.810546875, 0.65478515625, 0.26123046875, 1.6396484375, 0.87548828125, 1.7353515625, 2.046875, 1.5634765625, 0.69384765625, 1.375, 0.8916015625, 1.0107421875, 0.1304931640625, 2.009765625, 0.06402587890625, -0.08428955078125, 0.04351806640625, -1.7529296875, 2.02734375, 3.521484375, 0.404541015625, 1.6337890625, -0.276611328125, 0.8837890625, -0.1287841796875, 0.91064453125, 0.8193359375, 0.701171875, 0.036529541015625, 1.26171875, 1.0478515625, -0.1422119140625, 1.0634765625, 0.61083984375, 1.3505859375, 1.208984375, 0.57275390625, 1.3623046875, 2.267578125, 0.484375, 0.9150390625, 0.56787109375, -0.70068359375, 0.27587890625, -0.70654296875, 0.8466796875, 0.57568359375, 1.6162109375, 0.87939453125, 2.248046875, -0.5458984375, 1.7744140625, 1.328125, 1.232421875, 0.6806640625, 0.9365234375, 1.052734375, -1.08984375, 1.8330078125, -0.4033203125, 1.0673828125, 0.297607421875, 1.5703125, 1.67578125, 1.34765625, 2.8203125, 2.025390625, -0.48583984375, 0.7626953125, 0.01007843017578125, 1.435546875, 0.007205963134765625, 0.05157470703125, -0.9853515625, 0.26708984375, 1.16796875, 1.2041015625, 1.99609375, -0.07916259765625, 1.244140625, -0.32080078125, 0.6748046875, 0.419921875, 1.3212890625, 1.291015625, 0.599609375, 0.0550537109375, 0.9599609375, 0.93505859375, 0.111083984375, 1.302734375, 0.0833740234375, 2.244140625, 1.25390625, 1.6015625, 0.58349609375, 1.7568359375, -0.263427734375, -0.019866943359375, -0.24658203125, -0.1871337890625, 0.927734375, 0.62255859375, 0.275146484375, 0.79541015625, 1.1796875, 1.1767578125, -0.26123046875, -0.268310546875, 1.8994140625, 1.318359375, 2.1875, 0.2469482421875, 1.41015625, 0.03973388671875, 1.2685546875, 1.1025390625, 0.9560546875, 0.865234375, -1.92578125, 1.154296875, 0.389892578125, 1.130859375, 0.95947265625, 0.72314453125, 2.244140625, 0.048553466796875, 0.626953125, 0.42919921875, 0.82275390625, 0.311767578125, -0.320556640625, 0.01041412353515625, 0.1483154296875, 0.10809326171875, -0.3173828125, 1.1337890625, -0.8642578125, 1.4033203125, 0.048828125, 1.1787109375, 0.98779296875, 1.818359375, 1.1552734375, 0.6015625, 1.2392578125, -1.2685546875, 0.39208984375, 0.83251953125, 0.224365234375, 0.0019989013671875, 0.87548828125, 1.6572265625, 1.107421875, 0.434814453125, 1.8251953125, 0.442626953125, 1.2587890625, 0.09320068359375, -0.896484375, 1.8017578125, 1.451171875, -0.0755615234375, 0.6083984375, 2.06640625, 0.673828125, -0.33740234375, 0.192138671875, 0.21435546875, 0.80224609375, -1.490234375, 0.9501953125, 0.86083984375, -0.40283203125, 4.109375, 2.533203125, 1.2529296875, 0.8271484375, 0.225830078125, 1.0478515625, -1.9755859375, 0.841796875, 0.392822265625, 0.525390625, 0.33935546875, -0.79443359375, 0.71630859375, 0.97998046875, -0.175537109375, 0.97705078125, 1.705078125, 0.29638671875, 0.68359375, 0.54150390625, 0.435791015625, 0.99755859375, -0.369140625, 1.009765625, -0.140380859375, 0.426513671875, 0.189697265625, 1.8193359375, 1.1201171875, -0.5009765625, -0.331298828125, 0.759765625, -0.09442138671875, 0.74609375, -1.947265625, 1.3544921875, -3.935546875, 2.544921875, 1.359375, 0.1363525390625, 0.79296875, 0.79931640625, -0.3466796875, 1.1396484375, -0.33447265625, 2.0078125, -0.241455078125, 0.6318359375, 0.365234375, 0.296142578125, 0.830078125, 1.0458984375, 0.5830078125, 0.61572265625, 14.0703125, -2.0078125, -0.381591796875, 1.228515625, 0.08282470703125, -0.67822265625, -0.04339599609375, 0.397216796875, 0.1656494140625, 0.137451171875, 0.244873046875, 1.1611328125, -1.3818359375, 0.8447265625, 1.171875, 0.36328125, 0.252685546875, 0.1197509765625, 0.232177734375, -0.020172119140625, 0.64404296875, -0.01100921630859375, -1.9267578125, 0.222412109375, 0.56005859375, 1.3046875, 1.1630859375, 1.197265625, 1.02734375, 1.6806640625, -0.043731689453125, 1.4697265625, 0.81201171875, 1.5390625, 1.240234375, -0.7353515625, 1.828125, 1.115234375, 1.931640625, -0.517578125, 0.77880859375, 1.0546875, 0.95361328125, 3.42578125, 0.0160369873046875, 0.875, 0.56005859375, 1.2421875, 1.986328125, 1.4814453125, 0.0948486328125, 1.115234375, 0.00665283203125, 2.09375, 0.3544921875, -0.52783203125, 1.2099609375, 0.45068359375, 0.65625, 0.1112060546875, 1.0751953125, -0.9521484375, -0.30029296875, 1.4462890625, 2.046875, 3.212890625, 1.68359375, 1.07421875, -0.5263671875, 0.74560546875, 1.37890625, 0.15283203125, 0.2440185546875, 0.62646484375, -0.1280517578125, 0.7646484375, -0.515625, -0.35693359375, 1.2958984375, 0.96923828125, 0.58935546875, 1.3701171875, 1.0673828125, 0.2337646484375, 0.93115234375, 0.66357421875, 6.0, 1.1025390625, -0.51708984375, -0.38330078125, 0.7197265625, 0.246826171875, -0.45166015625, 1.9521484375, 0.5546875, 0.08807373046875, 0.18505859375, 0.8857421875, -0.57177734375, 0.251708984375, 0.234375, 2.57421875, 0.9599609375, 0.5029296875, 0.10382080078125, 0.08331298828125, 0.66748046875, -0.349609375, 1.287109375, 0.259765625, 2.015625, 2.828125, -0.3095703125, -0.164306640625, -0.3408203125, 0.486572265625, 0.8466796875, 1.9130859375, 0.09088134765625, 0.66552734375, 0.00972747802734375, -0.83154296875, 1.755859375, 0.654296875, 0.173828125, 0.27587890625, -0.47607421875, -0.264404296875, 0.7529296875, 0.6533203125, 0.7275390625, 0.499755859375, 0.833984375, -0.44775390625, -0.05078125, -0.454833984375, 0.75439453125, 0.68505859375, 0.210693359375, -0.283935546875, -0.53564453125, 0.96826171875, 0.861328125, -3.33984375, -0.26171875, 0.77734375, 0.26513671875, -0.14111328125, -0.042236328125, -0.84814453125, 0.2137451171875, 0.94921875, 0.65185546875, -0.5380859375, 0.1529541015625, -0.360595703125, -0.0333251953125, -0.69189453125, 0.8974609375, 0.7109375, 0.81494140625, -0.259521484375, 1.1904296875, 0.62158203125, 1.345703125, 0.89404296875, 0.70556640625, 1.0673828125, 1.392578125, 0.5068359375, 0.962890625, 0.736328125, 1.55078125, 0.50390625, -0.398681640625, 2.361328125, 0.345947265625, -0.61962890625, 0.330078125, 0.75439453125, -0.673828125, -0.2379150390625, 1.5673828125, 1.369140625, 0.1119384765625, -0.1834716796875, 1.4599609375, -0.77587890625, 0.5556640625, 0.09954833984375, 0.0285186767578125, 0.58935546875, -0.501953125, 0.212890625, 0.02679443359375, 0.1715087890625, 0.03466796875, -0.564453125, 2.029296875, 2.45703125, -0.72216796875, 2.138671875, 0.50830078125, -0.09356689453125, 0.230224609375, 1.6943359375, 1.5126953125, 0.39453125, 0.411376953125, 1.07421875, -0.8046875, 0.51416015625, 0.2271728515625, -0.283447265625, 0.38427734375, 0.73388671875, 0.6962890625, 1.4990234375, 0.02813720703125, 0.40478515625, 1.2451171875, 1.1162109375, -5.5703125, 0.76171875, 0.322021484375, 1.0361328125, 1.197265625, 0.1163330078125, 0.2425537109375, 1.5595703125, 1.5791015625, -0.0921630859375, 0.484619140625, 1.9052734375, 5.31640625, 1.6337890625, 0.95947265625, -0.1751708984375, 0.466552734375, 0.8330078125, 1.03125, 0.2044677734375, 0.31298828125, -1.1220703125, 0.5517578125, 0.93505859375, 0.45166015625, 1.951171875, 0.65478515625, 1.30859375, 1.0859375, 0.56494140625, 2.322265625, 0.242919921875, 1.81640625, -0.469970703125, -0.841796875, 0.90869140625, 1.5361328125, 0.923828125, 1.0595703125, 0.356689453125, -0.46142578125, 2.134765625, 1.3037109375, -0.32373046875, -9.2265625, 0.4521484375, 0.88037109375, -0.53955078125, 0.96484375, 0.7705078125, 0.84521484375, 1.580078125, -0.1448974609375, 0.7607421875, 1.0166015625, -0.086669921875, 1.611328125, 0.05938720703125, 0.5078125, 0.8427734375, 2.431640625, 0.66357421875, 3.203125, 0.132080078125, 0.461181640625, 0.779296875, 1.9482421875, 1.8720703125, 0.845703125, -1.3837890625, -0.138916015625, 0.35546875, 0.2457275390625, 0.75341796875, 1.828125, 1.4169921875, 0.60791015625, 1.0068359375, 1.109375, 0.484130859375, -0.302001953125, 0.4951171875, 0.802734375, 1.9482421875, 0.916015625, 0.1646728515625, 2.599609375, 1.7177734375, -0.2374267578125, 0.98046875, 0.39306640625, -1.1396484375, 1.6533203125, 0.375244140625], \\\"scores\\\": [0.09906005859375, 0.12213134765625, 0.05035400390625, 0.16552734375, 0.0037384033203125, 0.010101318359375, 0.058197021484375, 0.10552978515625, 0.1141357421875, 0.115234375, 0.00444793701171875, 0.00812530517578125, 0.0343017578125, 0.009002685546875, 0.087158203125, 0.00818634033203125, 0.003238677978515625, 0.024169921875, 0.00702667236328125, 0.00936126708984375, 0.00632476806640625, 0.0293731689453125, 0.01800537109375, 0.0088348388671875, 0.013397216796875, 0.02557373046875, 0.12109375, 0.004413604736328125, 0.016571044921875, 0.00274658203125, 0.2142333984375, 0.29638671875, 0.16015625, 0.007843017578125, 0.007160186767578125, 0.00508880615234375, 0.054229736328125, 0.048736572265625, 0.026397705078125, 0.0265350341796875, 0.051361083984375, 0.018310546875, 0.00974273681640625, 0.0218963623046875, 0.216064453125, 0.021728515625, 0.0173797607421875, 0.004520416259765625], \\\"stoks\\\": [52, 52, 52, 52, 52, 41, 41, 374, 303, 303, 303, 427], \\\"time\\\": {\\\"begin_ms\\\": 640, \\\"end_ms\\\": 1140}}]}\"\n },\n {\n \"id\": \"7645a0d1-2e64-410d-83a8-b96040432e9a\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244957031,\n \"role\": \"AGENT\",\n \"type\": \"AGENT_MESSAGE\",\n \"message_text\": \"Hello!\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.044921875, \\\"Adoration\\\": 0.0253753662109375, \\\"Aesthetic Appreciation\\\": 0.03265380859375, \\\"Amusement\\\": 0.118408203125, \\\"Anger\\\": 0.06719970703125, \\\"Anxiety\\\": 0.0411376953125, \\\"Awe\\\": 0.03802490234375, \\\"Awkwardness\\\": 0.056549072265625, \\\"Boredom\\\": 0.04217529296875, \\\"Calmness\\\": 0.08709716796875, \\\"Concentration\\\": 0.070556640625, \\\"Confusion\\\": 0.06964111328125, \\\"Contemplation\\\": 0.0343017578125, \\\"Contempt\\\": 0.037689208984375, \\\"Contentment\\\": 0.059417724609375, \\\"Craving\\\": 0.01132965087890625, \\\"Desire\\\": 0.01406097412109375, \\\"Determination\\\": 0.1143798828125, \\\"Disappointment\\\": 0.051177978515625, \\\"Disgust\\\": 0.028594970703125, \\\"Distress\\\": 0.054901123046875, \\\"Doubt\\\": 0.04638671875, \\\"Ecstasy\\\": 0.0258026123046875, \\\"Embarrassment\\\": 0.0222015380859375, \\\"Empathic Pain\\\": 0.015777587890625, \\\"Entrancement\\\": 0.0160980224609375, \\\"Envy\\\": 0.0163421630859375, \\\"Excitement\\\": 0.129638671875, \\\"Fear\\\": 0.03125, \\\"Guilt\\\": 0.01483917236328125, \\\"Horror\\\": 0.0194549560546875, \\\"Interest\\\": 0.1341552734375, \\\"Joy\\\": 0.0738525390625, \\\"Love\\\": 0.0216522216796875, \\\"Nostalgia\\\": 0.0210418701171875, \\\"Pain\\\": 0.020721435546875, \\\"Pride\\\": 0.05499267578125, \\\"Realization\\\": 0.0728759765625, \\\"Relief\\\": 0.04052734375, \\\"Romance\\\": 0.0129241943359375, \\\"Sadness\\\": 0.0254669189453125, \\\"Satisfaction\\\": 0.07159423828125, \\\"Shame\\\": 0.01495361328125, \\\"Surprise (negative)\\\": 0.05560302734375, \\\"Surprise (positive)\\\": 0.07965087890625, \\\"Sympathy\\\": 0.022247314453125, \\\"Tiredness\\\": 0.0194549560546875, \\\"Triumph\\\": 0.04107666015625}\",\n \"metadata\": \"\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"63f657bf-ebac-4bc4-bbae-5a46d2babec4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"741b2853-034c-43df-9eb0-7e4ff5d57dec","name":"List chats - default","request":{"urlPathTemplate":"/v0/evi/chats","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chats_page\": [\n {\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"chat_group_id\": \"9fc18597-3567-42d5-94d6-935bde84bf2f\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1716244940648,\n \"end_timestamp\": 1716244958546,\n \"event_count\": 3,\n \"metadata\": \"\",\n \"config\": {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"741b2853-034c-43df-9eb0-7e4ff5d57dec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"333ce95c-76c7-4621-aa72-bb0ed90fcf50","name":"List chat events - default","request":{"urlPathTemplate":"/v0/evi/chats/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-id"}}},"response":{"status":200,"body":"{\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"chat_group_id\": \"9fc18597-3567-42d5-94d6-935bde84bf2f\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1716244940648,\n \"pagination_direction\": \"ASC\",\n \"events_page\": [\n {\n \"id\": \"5d44bdbb-49a3-40fb-871d-32bf7e76efe7\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244940762,\n \"role\": \"SYSTEM\",\n \"type\": \"SYSTEM_PROMPT\",\n \"message_text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\",\n \"emotion_features\": \"\",\n \"metadata\": \"\"\n },\n {\n \"id\": \"5976ddf6-d093-4bb9-ba60-8f6c25832dde\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244956278,\n \"role\": \"USER\",\n \"type\": \"USER_MESSAGE\",\n \"message_text\": \"Hello.\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.09906005859375, \\\"Adoration\\\": 0.12213134765625, \\\"Aesthetic Appreciation\\\": 0.05035400390625, \\\"Amusement\\\": 0.16552734375, \\\"Anger\\\": 0.0037384033203125, \\\"Anxiety\\\": 0.010101318359375, \\\"Awe\\\": 0.058197021484375, \\\"Awkwardness\\\": 0.10552978515625, \\\"Boredom\\\": 0.1141357421875, \\\"Calmness\\\": 0.115234375, \\\"Concentration\\\": 0.00444793701171875, \\\"Confusion\\\": 0.0343017578125, \\\"Contemplation\\\": 0.00812530517578125, \\\"Contempt\\\": 0.009002685546875, \\\"Contentment\\\": 0.087158203125, \\\"Craving\\\": 0.00818634033203125, \\\"Desire\\\": 0.018310546875, \\\"Determination\\\": 0.003238677978515625, \\\"Disappointment\\\": 0.024169921875, \\\"Disgust\\\": 0.00702667236328125, \\\"Distress\\\": 0.00936126708984375, \\\"Doubt\\\": 0.00632476806640625, \\\"Ecstasy\\\": 0.0293731689453125, \\\"Embarrassment\\\": 0.01800537109375, \\\"Empathic Pain\\\": 0.0088348388671875, \\\"Entrancement\\\": 0.013397216796875, \\\"Envy\\\": 0.02557373046875, \\\"Excitement\\\": 0.12109375, \\\"Fear\\\": 0.004413604736328125, \\\"Guilt\\\": 0.016571044921875, \\\"Horror\\\": 0.00274658203125, \\\"Interest\\\": 0.2142333984375, \\\"Joy\\\": 0.29638671875, \\\"Love\\\": 0.16015625, \\\"Nostalgia\\\": 0.007843017578125, \\\"Pain\\\": 0.007160186767578125, \\\"Pride\\\": 0.00508880615234375, \\\"Realization\\\": 0.054229736328125, \\\"Relief\\\": 0.048736572265625, \\\"Romance\\\": 0.026397705078125, \\\"Sadness\\\": 0.0265350341796875, \\\"Satisfaction\\\": 0.051361083984375, \\\"Shame\\\": 0.00974273681640625, \\\"Surprise (negative)\\\": 0.0218963623046875, \\\"Surprise (positive)\\\": 0.216064453125, \\\"Sympathy\\\": 0.021728515625, \\\"Tiredness\\\": 0.0173797607421875, \\\"Triumph\\\": 0.004520416259765625}\",\n \"metadata\": \"{\\\"segments\\\": [{\\\"content\\\": \\\"Hello.\\\", \\\"embedding\\\": [0.6181640625, 0.1763916015625, -30.921875, 1.2705078125, 0.927734375, 0.63720703125, 2.865234375, 0.1080322265625, 0.2978515625, 1.0107421875, 1.34375, 0.74560546875, 0.416259765625, 0.99462890625, -0.333740234375, 0.361083984375, -1.388671875, 1.0107421875, 1.3173828125, 0.55615234375, 0.541015625, -0.1837158203125, 1.697265625, 0.228515625, 2.087890625, -0.311767578125, 0.053680419921875, 1.3349609375, 0.95068359375, 0.00441741943359375, 0.705078125, 1.8916015625, -0.939453125, 0.93701171875, -0.28955078125, 1.513671875, 0.5595703125, 1.0126953125, -0.1624755859375, 1.4072265625, -0.28857421875, -0.4560546875, -0.1500244140625, -0.1102294921875, -0.222412109375, 0.8779296875, 1.275390625, 1.6689453125, 0.80712890625, -0.34814453125, -0.325439453125, 0.412841796875, 0.81689453125, 0.55126953125, 1.671875, 0.6611328125, 0.7451171875, 1.50390625, 1.0224609375, -1.671875, 0.7373046875, 2.1328125, 2.166015625, 0.41015625, -0.127685546875, 1.9345703125, -4.2734375, 0.332275390625, 0.26171875, 0.76708984375, 0.2685546875, 0.468017578125, 1.208984375, -1.517578125, 1.083984375, 0.84814453125, 1.0244140625, -0.0072174072265625, 1.34375, 1.0712890625, 1.517578125, -0.52001953125, 0.59228515625, 0.8154296875, -0.951171875, -0.07757568359375, 1.3330078125, 1.125, 0.61181640625, 1.494140625, 0.357421875, 1.1796875, 1.482421875, 0.8046875, 0.1536865234375, 1.8076171875, 0.68115234375, -15.171875, 1.2294921875, 0.319091796875, 0.499755859375, 1.5771484375, 0.94677734375, -0.2490234375, 0.88525390625, 3.47265625, 0.75927734375, 0.71044921875, 1.2333984375, 1.4169921875, -0.56640625, -1.8095703125, 1.37109375, 0.428955078125, 1.89453125, -0.39013671875, 0.1734619140625, 1.5595703125, -1.2294921875, 2.552734375, 0.58349609375, 0.2156982421875, -0.00984954833984375, -0.6865234375, -0.0272979736328125, -0.2264404296875, 2.853515625, 1.3896484375, 0.52978515625, 0.783203125, 3.0390625, 0.75537109375, 0.219970703125, 0.384521484375, 0.385986328125, 2.0546875, -0.10443115234375, 1.5146484375, 1.4296875, 1.9716796875, 1.1318359375, 0.31591796875, 0.338623046875, 1.654296875, -0.88037109375, -0.21484375, 1.45703125, 1.0380859375, -0.52294921875, -0.47802734375, 0.1650390625, 1.2392578125, -1.138671875, 0.56787109375, 1.318359375, 0.4287109375, 0.1981201171875, 2.4375, 0.281005859375, 0.89404296875, -0.1552734375, 0.6474609375, -0.08331298828125, 0.00740814208984375, -0.045501708984375, -0.578125, 2.02734375, 0.59228515625, 0.35693359375, 1.2919921875, 1.22265625, 1.0537109375, 0.145263671875, 1.05859375, -0.369140625, 0.207275390625, 0.78857421875, 0.599609375, 0.99072265625, 0.24462890625, 1.26953125, 0.08404541015625, 1.349609375, 0.73291015625, 1.3212890625, 0.388916015625, 1.0869140625, 0.9931640625, -1.5673828125, 0.0462646484375, 0.650390625, 0.253662109375, 0.58251953125, 1.8134765625, 0.8642578125, 2.591796875, 0.7314453125, 0.85986328125, 0.5615234375, 0.9296875, 0.04144287109375, 1.66015625, 1.99609375, 1.171875, 1.181640625, 1.5126953125, 0.0224456787109375, 0.58349609375, -1.4931640625, 0.81884765625, 0.732421875, -0.6455078125, -0.62451171875, 1.7802734375, 0.01526641845703125, -0.423095703125, 0.461669921875, 4.87890625, 1.2392578125, -0.6953125, 0.6689453125, 0.62451171875, -1.521484375, 1.7685546875, 0.810546875, 0.65478515625, 0.26123046875, 1.6396484375, 0.87548828125, 1.7353515625, 2.046875, 1.5634765625, 0.69384765625, 1.375, 0.8916015625, 1.0107421875, 0.1304931640625, 2.009765625, 0.06402587890625, -0.08428955078125, 0.04351806640625, -1.7529296875, 2.02734375, 3.521484375, 0.404541015625, 1.6337890625, -0.276611328125, 0.8837890625, -0.1287841796875, 0.91064453125, 0.8193359375, 0.701171875, 0.036529541015625, 1.26171875, 1.0478515625, -0.1422119140625, 1.0634765625, 0.61083984375, 1.3505859375, 1.208984375, 0.57275390625, 1.3623046875, 2.267578125, 0.484375, 0.9150390625, 0.56787109375, -0.70068359375, 0.27587890625, -0.70654296875, 0.8466796875, 0.57568359375, 1.6162109375, 0.87939453125, 2.248046875, -0.5458984375, 1.7744140625, 1.328125, 1.232421875, 0.6806640625, 0.9365234375, 1.052734375, -1.08984375, 1.8330078125, -0.4033203125, 1.0673828125, 0.297607421875, 1.5703125, 1.67578125, 1.34765625, 2.8203125, 2.025390625, -0.48583984375, 0.7626953125, 0.01007843017578125, 1.435546875, 0.007205963134765625, 0.05157470703125, -0.9853515625, 0.26708984375, 1.16796875, 1.2041015625, 1.99609375, -0.07916259765625, 1.244140625, -0.32080078125, 0.6748046875, 0.419921875, 1.3212890625, 1.291015625, 0.599609375, 0.0550537109375, 0.9599609375, 0.93505859375, 0.111083984375, 1.302734375, 0.0833740234375, 2.244140625, 1.25390625, 1.6015625, 0.58349609375, 1.7568359375, -0.263427734375, -0.019866943359375, -0.24658203125, -0.1871337890625, 0.927734375, 0.62255859375, 0.275146484375, 0.79541015625, 1.1796875, 1.1767578125, -0.26123046875, -0.268310546875, 1.8994140625, 1.318359375, 2.1875, 0.2469482421875, 1.41015625, 0.03973388671875, 1.2685546875, 1.1025390625, 0.9560546875, 0.865234375, -1.92578125, 1.154296875, 0.389892578125, 1.130859375, 0.95947265625, 0.72314453125, 2.244140625, 0.048553466796875, 0.626953125, 0.42919921875, 0.82275390625, 0.311767578125, -0.320556640625, 0.01041412353515625, 0.1483154296875, 0.10809326171875, -0.3173828125, 1.1337890625, -0.8642578125, 1.4033203125, 0.048828125, 1.1787109375, 0.98779296875, 1.818359375, 1.1552734375, 0.6015625, 1.2392578125, -1.2685546875, 0.39208984375, 0.83251953125, 0.224365234375, 0.0019989013671875, 0.87548828125, 1.6572265625, 1.107421875, 0.434814453125, 1.8251953125, 0.442626953125, 1.2587890625, 0.09320068359375, -0.896484375, 1.8017578125, 1.451171875, -0.0755615234375, 0.6083984375, 2.06640625, 0.673828125, -0.33740234375, 0.192138671875, 0.21435546875, 0.80224609375, -1.490234375, 0.9501953125, 0.86083984375, -0.40283203125, 4.109375, 2.533203125, 1.2529296875, 0.8271484375, 0.225830078125, 1.0478515625, -1.9755859375, 0.841796875, 0.392822265625, 0.525390625, 0.33935546875, -0.79443359375, 0.71630859375, 0.97998046875, -0.175537109375, 0.97705078125, 1.705078125, 0.29638671875, 0.68359375, 0.54150390625, 0.435791015625, 0.99755859375, -0.369140625, 1.009765625, -0.140380859375, 0.426513671875, 0.189697265625, 1.8193359375, 1.1201171875, -0.5009765625, -0.331298828125, 0.759765625, -0.09442138671875, 0.74609375, -1.947265625, 1.3544921875, -3.935546875, 2.544921875, 1.359375, 0.1363525390625, 0.79296875, 0.79931640625, -0.3466796875, 1.1396484375, -0.33447265625, 2.0078125, -0.241455078125, 0.6318359375, 0.365234375, 0.296142578125, 0.830078125, 1.0458984375, 0.5830078125, 0.61572265625, 14.0703125, -2.0078125, -0.381591796875, 1.228515625, 0.08282470703125, -0.67822265625, -0.04339599609375, 0.397216796875, 0.1656494140625, 0.137451171875, 0.244873046875, 1.1611328125, -1.3818359375, 0.8447265625, 1.171875, 0.36328125, 0.252685546875, 0.1197509765625, 0.232177734375, -0.020172119140625, 0.64404296875, -0.01100921630859375, -1.9267578125, 0.222412109375, 0.56005859375, 1.3046875, 1.1630859375, 1.197265625, 1.02734375, 1.6806640625, -0.043731689453125, 1.4697265625, 0.81201171875, 1.5390625, 1.240234375, -0.7353515625, 1.828125, 1.115234375, 1.931640625, -0.517578125, 0.77880859375, 1.0546875, 0.95361328125, 3.42578125, 0.0160369873046875, 0.875, 0.56005859375, 1.2421875, 1.986328125, 1.4814453125, 0.0948486328125, 1.115234375, 0.00665283203125, 2.09375, 0.3544921875, -0.52783203125, 1.2099609375, 0.45068359375, 0.65625, 0.1112060546875, 1.0751953125, -0.9521484375, -0.30029296875, 1.4462890625, 2.046875, 3.212890625, 1.68359375, 1.07421875, -0.5263671875, 0.74560546875, 1.37890625, 0.15283203125, 0.2440185546875, 0.62646484375, -0.1280517578125, 0.7646484375, -0.515625, -0.35693359375, 1.2958984375, 0.96923828125, 0.58935546875, 1.3701171875, 1.0673828125, 0.2337646484375, 0.93115234375, 0.66357421875, 6.0, 1.1025390625, -0.51708984375, -0.38330078125, 0.7197265625, 0.246826171875, -0.45166015625, 1.9521484375, 0.5546875, 0.08807373046875, 0.18505859375, 0.8857421875, -0.57177734375, 0.251708984375, 0.234375, 2.57421875, 0.9599609375, 0.5029296875, 0.10382080078125, 0.08331298828125, 0.66748046875, -0.349609375, 1.287109375, 0.259765625, 2.015625, 2.828125, -0.3095703125, -0.164306640625, -0.3408203125, 0.486572265625, 0.8466796875, 1.9130859375, 0.09088134765625, 0.66552734375, 0.00972747802734375, -0.83154296875, 1.755859375, 0.654296875, 0.173828125, 0.27587890625, -0.47607421875, -0.264404296875, 0.7529296875, 0.6533203125, 0.7275390625, 0.499755859375, 0.833984375, -0.44775390625, -0.05078125, -0.454833984375, 0.75439453125, 0.68505859375, 0.210693359375, -0.283935546875, -0.53564453125, 0.96826171875, 0.861328125, -3.33984375, -0.26171875, 0.77734375, 0.26513671875, -0.14111328125, -0.042236328125, -0.84814453125, 0.2137451171875, 0.94921875, 0.65185546875, -0.5380859375, 0.1529541015625, -0.360595703125, -0.0333251953125, -0.69189453125, 0.8974609375, 0.7109375, 0.81494140625, -0.259521484375, 1.1904296875, 0.62158203125, 1.345703125, 0.89404296875, 0.70556640625, 1.0673828125, 1.392578125, 0.5068359375, 0.962890625, 0.736328125, 1.55078125, 0.50390625, -0.398681640625, 2.361328125, 0.345947265625, -0.61962890625, 0.330078125, 0.75439453125, -0.673828125, -0.2379150390625, 1.5673828125, 1.369140625, 0.1119384765625, -0.1834716796875, 1.4599609375, -0.77587890625, 0.5556640625, 0.09954833984375, 0.0285186767578125, 0.58935546875, -0.501953125, 0.212890625, 0.02679443359375, 0.1715087890625, 0.03466796875, -0.564453125, 2.029296875, 2.45703125, -0.72216796875, 2.138671875, 0.50830078125, -0.09356689453125, 0.230224609375, 1.6943359375, 1.5126953125, 0.39453125, 0.411376953125, 1.07421875, -0.8046875, 0.51416015625, 0.2271728515625, -0.283447265625, 0.38427734375, 0.73388671875, 0.6962890625, 1.4990234375, 0.02813720703125, 0.40478515625, 1.2451171875, 1.1162109375, -5.5703125, 0.76171875, 0.322021484375, 1.0361328125, 1.197265625, 0.1163330078125, 0.2425537109375, 1.5595703125, 1.5791015625, -0.0921630859375, 0.484619140625, 1.9052734375, 5.31640625, 1.6337890625, 0.95947265625, -0.1751708984375, 0.466552734375, 0.8330078125, 1.03125, 0.2044677734375, 0.31298828125, -1.1220703125, 0.5517578125, 0.93505859375, 0.45166015625, 1.951171875, 0.65478515625, 1.30859375, 1.0859375, 0.56494140625, 2.322265625, 0.242919921875, 1.81640625, -0.469970703125, -0.841796875, 0.90869140625, 1.5361328125, 0.923828125, 1.0595703125, 0.356689453125, -0.46142578125, 2.134765625, 1.3037109375, -0.32373046875, -9.2265625, 0.4521484375, 0.88037109375, -0.53955078125, 0.96484375, 0.7705078125, 0.84521484375, 1.580078125, -0.1448974609375, 0.7607421875, 1.0166015625, -0.086669921875, 1.611328125, 0.05938720703125, 0.5078125, 0.8427734375, 2.431640625, 0.66357421875, 3.203125, 0.132080078125, 0.461181640625, 0.779296875, 1.9482421875, 1.8720703125, 0.845703125, -1.3837890625, -0.138916015625, 0.35546875, 0.2457275390625, 0.75341796875, 1.828125, 1.4169921875, 0.60791015625, 1.0068359375, 1.109375, 0.484130859375, -0.302001953125, 0.4951171875, 0.802734375, 1.9482421875, 0.916015625, 0.1646728515625, 2.599609375, 1.7177734375, -0.2374267578125, 0.98046875, 0.39306640625, -1.1396484375, 1.6533203125, 0.375244140625], \\\"scores\\\": [0.09906005859375, 0.12213134765625, 0.05035400390625, 0.16552734375, 0.0037384033203125, 0.010101318359375, 0.058197021484375, 0.10552978515625, 0.1141357421875, 0.115234375, 0.00444793701171875, 0.00812530517578125, 0.0343017578125, 0.009002685546875, 0.087158203125, 0.00818634033203125, 0.003238677978515625, 0.024169921875, 0.00702667236328125, 0.00936126708984375, 0.00632476806640625, 0.0293731689453125, 0.01800537109375, 0.0088348388671875, 0.013397216796875, 0.02557373046875, 0.12109375, 0.004413604736328125, 0.016571044921875, 0.00274658203125, 0.2142333984375, 0.29638671875, 0.16015625, 0.007843017578125, 0.007160186767578125, 0.00508880615234375, 0.054229736328125, 0.048736572265625, 0.026397705078125, 0.0265350341796875, 0.051361083984375, 0.018310546875, 0.00974273681640625, 0.0218963623046875, 0.216064453125, 0.021728515625, 0.0173797607421875, 0.004520416259765625], \\\"stoks\\\": [52, 52, 52, 52, 52, 41, 41, 374, 303, 303, 303, 427], \\\"time\\\": {\\\"begin_ms\\\": 640, \\\"end_ms\\\": 1140}}]}\"\n },\n {\n \"id\": \"7645a0d1-2e64-410d-83a8-b96040432e9a\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244957031,\n \"role\": \"AGENT\",\n \"type\": \"AGENT_MESSAGE\",\n \"message_text\": \"Hello!\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.044921875, \\\"Adoration\\\": 0.0253753662109375, \\\"Aesthetic Appreciation\\\": 0.03265380859375, \\\"Amusement\\\": 0.118408203125, \\\"Anger\\\": 0.06719970703125, \\\"Anxiety\\\": 0.0411376953125, \\\"Awe\\\": 0.03802490234375, \\\"Awkwardness\\\": 0.056549072265625, \\\"Boredom\\\": 0.04217529296875, \\\"Calmness\\\": 0.08709716796875, \\\"Concentration\\\": 0.070556640625, \\\"Confusion\\\": 0.06964111328125, \\\"Contemplation\\\": 0.0343017578125, \\\"Contempt\\\": 0.037689208984375, \\\"Contentment\\\": 0.059417724609375, \\\"Craving\\\": 0.01132965087890625, \\\"Desire\\\": 0.01406097412109375, \\\"Determination\\\": 0.1143798828125, \\\"Disappointment\\\": 0.051177978515625, \\\"Disgust\\\": 0.028594970703125, \\\"Distress\\\": 0.054901123046875, \\\"Doubt\\\": 0.04638671875, \\\"Ecstasy\\\": 0.0258026123046875, \\\"Embarrassment\\\": 0.0222015380859375, \\\"Empathic Pain\\\": 0.015777587890625, \\\"Entrancement\\\": 0.0160980224609375, \\\"Envy\\\": 0.0163421630859375, \\\"Excitement\\\": 0.129638671875, \\\"Fear\\\": 0.03125, \\\"Guilt\\\": 0.01483917236328125, \\\"Horror\\\": 0.0194549560546875, \\\"Interest\\\": 0.1341552734375, \\\"Joy\\\": 0.0738525390625, \\\"Love\\\": 0.0216522216796875, \\\"Nostalgia\\\": 0.0210418701171875, \\\"Pain\\\": 0.020721435546875, \\\"Pride\\\": 0.05499267578125, \\\"Realization\\\": 0.0728759765625, \\\"Relief\\\": 0.04052734375, \\\"Romance\\\": 0.0129241943359375, \\\"Sadness\\\": 0.0254669189453125, \\\"Satisfaction\\\": 0.07159423828125, \\\"Shame\\\": 0.01495361328125, \\\"Surprise (negative)\\\": 0.05560302734375, \\\"Surprise (positive)\\\": 0.07965087890625, \\\"Sympathy\\\": 0.022247314453125, \\\"Tiredness\\\": 0.0194549560546875, \\\"Triumph\\\": 0.04107666015625}\",\n \"metadata\": \"\"\n }\n ],\n \"page_number\": 0,\n \"page_size\": 3,\n \"total_pages\": 1,\n \"end_timestamp\": 1716244958546,\n \"metadata\": \"\",\n \"config\": {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"333ce95c-76c7-4621-aa72-bb0ed90fcf50","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1c210e60-fc3e-4020-ba31-155c211461a5","name":"Get chat audio - default","request":{"urlPathTemplate":"/v0/evi/chats/{id}/audio","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-id"}}},"response":{"status":200,"body":"{\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"status\": \"COMPLETE\",\n \"filename\": \"e6235940-cfda-3988-9147-ff531627cf42/470a49f6-1dec-4afe-8b61-035d3b2d63b0/reconstructed_audio.mp4\",\n \"modified_at\": 1729875432555,\n \"signed_audio_url\": \"https://storage.googleapis.com/...etc.\",\n \"signed_url_expiration_timestamp_millis\": 1730232816964\n}","headers":{"Content-Type":"application/json"}},"uuid":"1c210e60-fc3e-4020-ba31-155c211461a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"95990ecd-a7f2-495c-84ec-e0b2f0f1e471","name":"List configs - default","request":{"urlPathTemplate":"/v0/evi/configs","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"configs_page\": [\n {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"95990ecd-a7f2-495c-84ec-e0b2f0f1e471","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"73a53d69-e4fb-44c0-a4cc-3ebdee8e8c36","name":"Create config - default","request":{"urlPathTemplate":"/v0/evi/configs","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"73a53d69-e4fb-44c0-a4cc-3ebdee8e8c36","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9fa7c906-3213-4358-9fd3-fb98a80ccff9","name":"List config versions - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"configs_page\": [\n {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"9fa7c906-3213-4358-9fd3-fb98a80ccff9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"66129a1a-71df-4899-a702-a2582339ad92","name":"Create config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":201,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"This is an updated version of the Weather Assistant Config.\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1722642242998,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": true\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"66129a1a-71df-4899-a702-a2582339ad92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"96ab709e-8ce5-42ad-8930-11174405a07f","name":"Delete config - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"96ab709e-8ce5-42ad-8930-11174405a07f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ac036d7f-9200-454a-ad8b-058cedce8018","name":"Update config name - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ac036d7f-9200-454a-ad8b-058cedce8018","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"336e4516-6577-4544-8e15-559222ec726d","name":"Get config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"336e4516-6577-4544-8e15-559222ec726d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3631f032-af11-4788-9ada-63c97ec90d03","name":"Delete config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"3631f032-af11-4788-9ada-63c97ec90d03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4a8a419e-4772-4077-95b5-281c2bd2851b","name":"Update config description - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"This is an updated version_description.\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"4a8a419e-4772-4077-95b5-281c2bd2851b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3760f9c4-fbaa-40e9-9770-35af4592adb1","name":"List prompts - default","request":{"urlPathTemplate":"/v0/evi/prompts","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 2,\n \"total_pages\": 1,\n \"prompts_page\": [\n {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n {\n \"id\": \"616b2b4c-a096-4445-9c23-64058b564fc2\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Web Search Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI web search assistant designed to help users find accurate and relevant information on the web. Respond to user queries promptly, using the built-in web search tool to retrieve up-to-date results. Present information clearly and concisely, summarizing key points where necessary. Use simple language and avoid technical jargon. If needed, provide helpful tips for refining search queries to obtain better results.\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"3760f9c4-fbaa-40e9-9770-35af4592adb1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"1fab19ce-cf01-4f16-b221-518ebe235e05","name":"Create prompt - default","request":{"urlPathTemplate":"/v0/evi/prompts","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": null,\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1fab19ce-cf01-4f16-b221-518ebe235e05","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"818fa71c-38b4-45da-92f3-167567201251","name":"List prompt versions - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"prompts_page\": [\n {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"818fa71c-38b4-45da-92f3-167567201251","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b2978df3-51e4-4d99-b160-6287c20dda6f","name":"Create prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":201,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"This is an updated version of the Weather Assistant Prompt.\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722635140150,\n \"text\": \"You are an updated version of an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"b2978df3-51e4-4d99-b160-6287c20dda6f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"722d1802-e538-4d83-9720-79ff982e0011","name":"Delete prompt - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"722d1802-e538-4d83-9720-79ff982e0011","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e0c3636-6d00-4e26-92d7-40460ef14c6c","name":"Update prompt name - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6e0c3636-6d00-4e26-92d7-40460ef14c6c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3812aa90-4c73-4d5b-a38b-d5ca8efde008","name":"Get prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"0"}}},"response":{"status":200,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3812aa90-4c73-4d5b-a38b-d5ca8efde008","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27f84b39-bfde-4b0f-a49e-fbd93767a180","name":"Delete prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"27f84b39-bfde-4b0f-a49e-fbd93767a180","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"760d3795-9a2c-4a38-940a-6b7459dff285","name":"Update prompt description - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"This is an updated version_description.\",\n \"name\": \"string\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722634770585,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"760d3795-9a2c-4a38-940a-6b7459dff285","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"76070823-253f-4b18-9c68-a80f6d2373ee","name":"List tools - default","request":{"urlPathTemplate":"/v0/evi/tools","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 2,\n \"total_pages\": 1,\n \"tools_page\": [\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"d20827af-5d8d-4f66-b6b9-ce2e3e1ea2b2\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches user's current location.\",\n \"name\": \"get_current_location\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"fallback_content\": \"Unable to fetch location.\",\n \"description\": \"Fetches user's current location.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }}, \\\"required\\\": [\\\"location\\\"] }\"\n },\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"4442f3ea-9038-40e3-a2ce-1522b7de770f\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715266126705,\n \"modified_on\": 1715266126705,\n \"fallback_content\": \"Unable to fetch location.\",\n \"description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"76070823-253f-4b18-9c68-a80f6d2373ee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"7dc71f1b-3d70-4527-a21f-326f7db77dec","name":"Create tool - default","request":{"urlPathTemplate":"/v0/evi/tools","method":"POST"},"response":{"status":201,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"aa9b71c4-723c-47ff-9f83-1a1829e74376\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"7dc71f1b-3d70-4527-a21f-326f7db77dec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"97f54c38-2fe1-4344-9355-88765ad39e92","name":"List tool versions - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"tools_page\": [\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"97f54c38-2fe1-4344-9355-88765ad39e92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1230a7c7-82ee-4940-98d3-3f0e1acc2cba","name":"Create tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":201,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1230a7c7-82ee-4940-98d3-3f0e1acc2cba","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e58cf98-dbd8-465b-a6cc-53941c38f006","name":"Delete tool - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6e58cf98-dbd8-465b-a6cc-53941c38f006","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7bb920f0-9b75-4374-bdfb-540a599f3fce","name":"Update tool name - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"7bb920f0-9b75-4374-bdfb-540a599f3fce","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f4fe78ec-6b74-402d-8aef-0cbd04c6a473","name":"Get tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"string\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f4fe78ec-6b74-402d-8aef-0cbd04c6a473","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"74ef73ce-49e2-492e-a4cb-ea6a1dc9b948","name":"Delete tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"74ef73ce-49e2-492e-a4cb-ea6a1dc9b948","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"82d8c062-5280-4378-afad-8057ebea037a","name":"Update tool description - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current temperature, precipitation, wind speed, AQI, and other weather conditions. Uses Celsius, Fahrenheit, or kelvin depending on user's region.\",\n \"name\": \"string\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"82d8c062-5280-4378-afad-8057ebea037a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1d60b8ea-f512-4ce0-92ad-0a086a4717a2","name":"List voices - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"voices_page\": [\n {\n \"id\": \"c42352c0-4566-455d-b180-0f654b65b525\",\n \"name\": \"David Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n },\n {\n \"id\": \"d87352b0-26a3-4b11-081b-d157a5674d19\",\n \"name\": \"Goliath Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"1d60b8ea-f512-4ce0-92ad-0a086a4717a2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"2c434990-d686-4fec-940d-7b86327bf9d5","name":"Create voice - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"c42352c0-4566-455d-b180-0f654b65b525\",\n \"name\": \"David Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2c434990-d686-4fec-940d-7b86327bf9d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"69163bef-50c2-4c89-b4f9-70f5a04bfec8","name":"Delete voice - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"DELETE"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"69163bef-50c2-4c89-b4f9-70f5a04bfec8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a9089ce-a462-43bb-afa5-ed028dd296e5","name":"Text-to-Speech (Json) - default","request":{"urlPathTemplate":"/v0/tts","method":"POST"},"response":{"status":200,"body":"{\n \"generations\": [\n {\n \"audio\": \"//PExAA0DDYRvkpNfhv3JI5JZ...etc.\",\n \"duration\": 7.44225,\n \"encoding\": {\n \"format\": \"mp3\",\n \"sample_rate\": 48000\n },\n \"file_size\": 120192,\n \"generation_id\": \"795c949a-1510-4a80-9646-7d0863b023ab\",\n \"snippets\": [\n [\n {\n \"audio\": \"//PExAA0DDYRvkpNfhv3JI5JZ...etc.\",\n \"generation_id\": \"795c949a-1510-4a80-9646-7d0863b023ab\",\n \"id\": \"37b1b1b1-1b1b-1b1b-1b1b-1b1b1b1b1b1b\",\n \"text\": \"Beauty is no quality in things themselves: It exists merely in the mind which contemplates them.\",\n \"utterance_index\": 0,\n \"timestamps\": []\n }\n ]\n ]\n }\n ],\n \"request_id\": \"66e01f90-4501-4aa0-bbaf-74f45dc15aa725906\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a9089ce-a462-43bb-afa5-ed028dd296e5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"449bb149-6027-4735-a265-0a0a5bc0d0ef","name":"Text-to-Speech (File) - default","request":{"urlPathTemplate":"/v0/tts/file","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"449bb149-6027-4735-a265-0a0a5bc0d0ef","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd6bbe04-a38a-4d6e-bc3a-f8cf25725dbe","name":"Text-to-Speech (Streamed File) - default","request":{"urlPathTemplate":"/v0/tts/stream/file","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fd6bbe04-a38a-4d6e-bc3a-f8cf25725dbe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8e8e8262-38fd-4f81-836b-c9d7ee07cd84","name":"Text-to-Speech (Streamed JSON) - default","request":{"urlPathTemplate":"/v0/tts/stream/json","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"8e8e8262-38fd-4f81-836b-c9d7ee07cd84","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f75e0a57-c1d9-44df-80c7-c8485a7a76d6","name":"Voice Conversion (Streamed JSON) - default","request":{"urlPathTemplate":"/v0/tts/voice_conversion/json","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f75e0a57-c1d9-44df-80c7-c8485a7a76d6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}}],"meta":{"total":43}} \ No newline at end of file +{"mappings":[{"id":"1d60b8ea-f512-4ce0-92ad-0a086a4717a2","name":"List voices - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"voices_page\": [\n {\n \"id\": \"c42352c0-4566-455d-b180-0f654b65b525\",\n \"name\": \"David Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n },\n {\n \"id\": \"d87352b0-26a3-4b11-081b-d157a5674d19\",\n \"name\": \"Goliath Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"1d60b8ea-f512-4ce0-92ad-0a086a4717a2","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"2c434990-d686-4fec-940d-7b86327bf9d5","name":"Create voice - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"POST"},"response":{"status":200,"body":"{\n \"id\": \"c42352c0-4566-455d-b180-0f654b65b525\",\n \"name\": \"David Hume\",\n \"provider\": \"CUSTOM_VOICE\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"2c434990-d686-4fec-940d-7b86327bf9d5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"69163bef-50c2-4c89-b4f9-70f5a04bfec8","name":"Delete voice - default","request":{"urlPathTemplate":"/v0/tts/voices","method":"DELETE"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"69163bef-50c2-4c89-b4f9-70f5a04bfec8","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1a9089ce-a462-43bb-afa5-ed028dd296e5","name":"Text-to-Speech (Json) - default","request":{"urlPathTemplate":"/v0/tts","method":"POST"},"response":{"status":200,"body":"{\n \"generations\": [\n {\n \"audio\": \"//PExAA0DDYRvkpNfhv3JI5JZ...etc.\",\n \"duration\": 7.44225,\n \"encoding\": {\n \"format\": \"mp3\",\n \"sample_rate\": 48000\n },\n \"file_size\": 120192,\n \"generation_id\": \"795c949a-1510-4a80-9646-7d0863b023ab\",\n \"snippets\": [\n [\n {\n \"audio\": \"//PExAA0DDYRvkpNfhv3JI5JZ...etc.\",\n \"generation_id\": \"795c949a-1510-4a80-9646-7d0863b023ab\",\n \"id\": \"37b1b1b1-1b1b-1b1b-1b1b-1b1b1b1b1b1b\",\n \"text\": \"Beauty is no quality in things themselves: It exists merely in the mind which contemplates them.\",\n \"utterance_index\": 0,\n \"timestamps\": []\n }\n ]\n ]\n }\n ],\n \"request_id\": \"66e01f90-4501-4aa0-bbaf-74f45dc15aa725906\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1a9089ce-a462-43bb-afa5-ed028dd296e5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"449bb149-6027-4735-a265-0a0a5bc0d0ef","name":"Text-to-Speech (File) - default","request":{"urlPathTemplate":"/v0/tts/file","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"449bb149-6027-4735-a265-0a0a5bc0d0ef","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"fd6bbe04-a38a-4d6e-bc3a-f8cf25725dbe","name":"Text-to-Speech (Streamed File) - default","request":{"urlPathTemplate":"/v0/tts/stream/file","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"fd6bbe04-a38a-4d6e-bc3a-f8cf25725dbe","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"8e8e8262-38fd-4f81-836b-c9d7ee07cd84","name":"Text-to-Speech (Streamed JSON) - default","request":{"urlPathTemplate":"/v0/tts/stream/json","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"8e8e8262-38fd-4f81-836b-c9d7ee07cd84","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f75e0a57-c1d9-44df-80c7-c8485a7a76d6","name":"Voice Conversion (Streamed JSON) - default","request":{"urlPathTemplate":"/v0/tts/voice_conversion/json","method":"POST"},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"f75e0a57-c1d9-44df-80c7-c8485a7a76d6","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"e0fc3f32-35c4-4c49-89f2-eaa4e21b9444","name":"Send Message - default","request":{"urlPathTemplate":"/v0/evi/chat/{chat_id}/send","method":"POST","pathParameters":{"chat_id":{"equalTo":"chat_id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"e0fc3f32-35c4-4c49-89f2-eaa4e21b9444","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7e5b16a7-b7b9-4e7d-b0a9-61b1ac4b5f7d","name":"List chat_groups - default","request":{"urlPathTemplate":"/v0/evi/chat_groups","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chat_groups_page\": [\n {\n \"id\": \"697056f0-6c7e-487d-9bd8-9c19df79f05f\",\n \"first_start_timestamp\": 1721844196397,\n \"most_recent_start_timestamp\": 1721861821717,\n \"active\": false,\n \"most_recent_chat_id\": \"dfdbdd4d-0ddf-418b-8fc4-80a266579d36\",\n \"num_chats\": 5\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"7e5b16a7-b7b9-4e7d-b0a9-61b1ac4b5f7d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"52c3c012-9681-44fd-b0dd-d644aac44f8c","name":"Get chat_group - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"first_start_timestamp\": 1712334213647,\n \"most_recent_start_timestamp\": 1712334213647,\n \"num_chats\": 1,\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chats_page\": [\n {\n \"id\": \"6375d4f8-cd3e-4d6b-b13b-ace66b7c8aaa\",\n \"chat_group_id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1712334213647,\n \"end_timestamp\": 1712334332571,\n \"event_count\": 0,\n \"metadata\": null,\n \"config\": null\n }\n ],\n \"active\": false\n}","headers":{"Content-Type":"application/json"}},"uuid":"52c3c012-9681-44fd-b0dd-d644aac44f8c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ef5bd433-148e-481b-b653-7b4676a3fbbb","name":"Get chat group audio - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}/audio","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"369846cf-6ad5-404d-905e-a8acb5cdfc78\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"num_chats\": 1,\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"audio_reconstructions_page\": [\n {\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"status\": \"COMPLETE\",\n \"filename\": \"e6235940-cfda-3988-9147-ff531627cf42/470a49f6-1dec-4afe-8b61-035d3b2d63b0/reconstructed_audio.mp4\",\n \"modified_at\": 1729875432555,\n \"signed_audio_url\": \"https://storage.googleapis.com/...etc.\",\n \"signed_url_expiration_timestamp_millis\": 1730232816964\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"ef5bd433-148e-481b-b653-7b4676a3fbbb","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"63f657bf-ebac-4bc4-bbae-5a46d2babec4","name":"List chat events from a specific chat_group - default","request":{"urlPathTemplate":"/v0/evi/chat_groups/{id}/events","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-group-id"}}},"response":{"status":200,"body":"{\n \"id\": \"697056f0-6c7e-487d-9bd8-9c19df79f05f\",\n \"page_number\": 0,\n \"page_size\": 3,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"events_page\": [\n {\n \"id\": \"5d44bdbb-49a3-40fb-871d-32bf7e76efe7\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244940762,\n \"role\": \"SYSTEM\",\n \"type\": \"SYSTEM_PROMPT\",\n \"message_text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\",\n \"emotion_features\": \"\",\n \"metadata\": \"\"\n },\n {\n \"id\": \"5976ddf6-d093-4bb9-ba60-8f6c25832dde\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244956278,\n \"role\": \"USER\",\n \"type\": \"USER_MESSAGE\",\n \"message_text\": \"Hello.\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.09906005859375, \\\"Adoration\\\": 0.12213134765625, \\\"Aesthetic Appreciation\\\": 0.05035400390625, \\\"Amusement\\\": 0.16552734375, \\\"Anger\\\": 0.0037384033203125, \\\"Anxiety\\\": 0.010101318359375, \\\"Awe\\\": 0.058197021484375, \\\"Awkwardness\\\": 0.10552978515625, \\\"Boredom\\\": 0.1141357421875, \\\"Calmness\\\": 0.115234375, \\\"Concentration\\\": 0.00444793701171875, \\\"Confusion\\\": 0.0343017578125, \\\"Contemplation\\\": 0.00812530517578125, \\\"Contempt\\\": 0.009002685546875, \\\"Contentment\\\": 0.087158203125, \\\"Craving\\\": 0.00818634033203125, \\\"Desire\\\": 0.018310546875, \\\"Determination\\\": 0.003238677978515625, \\\"Disappointment\\\": 0.024169921875, \\\"Disgust\\\": 0.00702667236328125, \\\"Distress\\\": 0.00936126708984375, \\\"Doubt\\\": 0.00632476806640625, \\\"Ecstasy\\\": 0.0293731689453125, \\\"Embarrassment\\\": 0.01800537109375, \\\"Empathic Pain\\\": 0.0088348388671875, \\\"Entrancement\\\": 0.013397216796875, \\\"Envy\\\": 0.02557373046875, \\\"Excitement\\\": 0.12109375, \\\"Fear\\\": 0.004413604736328125, \\\"Guilt\\\": 0.016571044921875, \\\"Horror\\\": 0.00274658203125, \\\"Interest\\\": 0.2142333984375, \\\"Joy\\\": 0.29638671875, \\\"Love\\\": 0.16015625, \\\"Nostalgia\\\": 0.007843017578125, \\\"Pain\\\": 0.007160186767578125, \\\"Pride\\\": 0.00508880615234375, \\\"Realization\\\": 0.054229736328125, \\\"Relief\\\": 0.048736572265625, \\\"Romance\\\": 0.026397705078125, \\\"Sadness\\\": 0.0265350341796875, \\\"Satisfaction\\\": 0.051361083984375, \\\"Shame\\\": 0.00974273681640625, \\\"Surprise (negative)\\\": 0.0218963623046875, \\\"Surprise (positive)\\\": 0.216064453125, \\\"Sympathy\\\": 0.021728515625, \\\"Tiredness\\\": 0.0173797607421875, \\\"Triumph\\\": 0.004520416259765625}\",\n \"metadata\": \"{\\\"segments\\\": [{\\\"content\\\": \\\"Hello.\\\", \\\"embedding\\\": [0.6181640625, 0.1763916015625, -30.921875, 1.2705078125, 0.927734375, 0.63720703125, 2.865234375, 0.1080322265625, 0.2978515625, 1.0107421875, 1.34375, 0.74560546875, 0.416259765625, 0.99462890625, -0.333740234375, 0.361083984375, -1.388671875, 1.0107421875, 1.3173828125, 0.55615234375, 0.541015625, -0.1837158203125, 1.697265625, 0.228515625, 2.087890625, -0.311767578125, 0.053680419921875, 1.3349609375, 0.95068359375, 0.00441741943359375, 0.705078125, 1.8916015625, -0.939453125, 0.93701171875, -0.28955078125, 1.513671875, 0.5595703125, 1.0126953125, -0.1624755859375, 1.4072265625, -0.28857421875, -0.4560546875, -0.1500244140625, -0.1102294921875, -0.222412109375, 0.8779296875, 1.275390625, 1.6689453125, 0.80712890625, -0.34814453125, -0.325439453125, 0.412841796875, 0.81689453125, 0.55126953125, 1.671875, 0.6611328125, 0.7451171875, 1.50390625, 1.0224609375, -1.671875, 0.7373046875, 2.1328125, 2.166015625, 0.41015625, -0.127685546875, 1.9345703125, -4.2734375, 0.332275390625, 0.26171875, 0.76708984375, 0.2685546875, 0.468017578125, 1.208984375, -1.517578125, 1.083984375, 0.84814453125, 1.0244140625, -0.0072174072265625, 1.34375, 1.0712890625, 1.517578125, -0.52001953125, 0.59228515625, 0.8154296875, -0.951171875, -0.07757568359375, 1.3330078125, 1.125, 0.61181640625, 1.494140625, 0.357421875, 1.1796875, 1.482421875, 0.8046875, 0.1536865234375, 1.8076171875, 0.68115234375, -15.171875, 1.2294921875, 0.319091796875, 0.499755859375, 1.5771484375, 0.94677734375, -0.2490234375, 0.88525390625, 3.47265625, 0.75927734375, 0.71044921875, 1.2333984375, 1.4169921875, -0.56640625, -1.8095703125, 1.37109375, 0.428955078125, 1.89453125, -0.39013671875, 0.1734619140625, 1.5595703125, -1.2294921875, 2.552734375, 0.58349609375, 0.2156982421875, -0.00984954833984375, -0.6865234375, -0.0272979736328125, -0.2264404296875, 2.853515625, 1.3896484375, 0.52978515625, 0.783203125, 3.0390625, 0.75537109375, 0.219970703125, 0.384521484375, 0.385986328125, 2.0546875, -0.10443115234375, 1.5146484375, 1.4296875, 1.9716796875, 1.1318359375, 0.31591796875, 0.338623046875, 1.654296875, -0.88037109375, -0.21484375, 1.45703125, 1.0380859375, -0.52294921875, -0.47802734375, 0.1650390625, 1.2392578125, -1.138671875, 0.56787109375, 1.318359375, 0.4287109375, 0.1981201171875, 2.4375, 0.281005859375, 0.89404296875, -0.1552734375, 0.6474609375, -0.08331298828125, 0.00740814208984375, -0.045501708984375, -0.578125, 2.02734375, 0.59228515625, 0.35693359375, 1.2919921875, 1.22265625, 1.0537109375, 0.145263671875, 1.05859375, -0.369140625, 0.207275390625, 0.78857421875, 0.599609375, 0.99072265625, 0.24462890625, 1.26953125, 0.08404541015625, 1.349609375, 0.73291015625, 1.3212890625, 0.388916015625, 1.0869140625, 0.9931640625, -1.5673828125, 0.0462646484375, 0.650390625, 0.253662109375, 0.58251953125, 1.8134765625, 0.8642578125, 2.591796875, 0.7314453125, 0.85986328125, 0.5615234375, 0.9296875, 0.04144287109375, 1.66015625, 1.99609375, 1.171875, 1.181640625, 1.5126953125, 0.0224456787109375, 0.58349609375, -1.4931640625, 0.81884765625, 0.732421875, -0.6455078125, -0.62451171875, 1.7802734375, 0.01526641845703125, -0.423095703125, 0.461669921875, 4.87890625, 1.2392578125, -0.6953125, 0.6689453125, 0.62451171875, -1.521484375, 1.7685546875, 0.810546875, 0.65478515625, 0.26123046875, 1.6396484375, 0.87548828125, 1.7353515625, 2.046875, 1.5634765625, 0.69384765625, 1.375, 0.8916015625, 1.0107421875, 0.1304931640625, 2.009765625, 0.06402587890625, -0.08428955078125, 0.04351806640625, -1.7529296875, 2.02734375, 3.521484375, 0.404541015625, 1.6337890625, -0.276611328125, 0.8837890625, -0.1287841796875, 0.91064453125, 0.8193359375, 0.701171875, 0.036529541015625, 1.26171875, 1.0478515625, -0.1422119140625, 1.0634765625, 0.61083984375, 1.3505859375, 1.208984375, 0.57275390625, 1.3623046875, 2.267578125, 0.484375, 0.9150390625, 0.56787109375, -0.70068359375, 0.27587890625, -0.70654296875, 0.8466796875, 0.57568359375, 1.6162109375, 0.87939453125, 2.248046875, -0.5458984375, 1.7744140625, 1.328125, 1.232421875, 0.6806640625, 0.9365234375, 1.052734375, -1.08984375, 1.8330078125, -0.4033203125, 1.0673828125, 0.297607421875, 1.5703125, 1.67578125, 1.34765625, 2.8203125, 2.025390625, -0.48583984375, 0.7626953125, 0.01007843017578125, 1.435546875, 0.007205963134765625, 0.05157470703125, -0.9853515625, 0.26708984375, 1.16796875, 1.2041015625, 1.99609375, -0.07916259765625, 1.244140625, -0.32080078125, 0.6748046875, 0.419921875, 1.3212890625, 1.291015625, 0.599609375, 0.0550537109375, 0.9599609375, 0.93505859375, 0.111083984375, 1.302734375, 0.0833740234375, 2.244140625, 1.25390625, 1.6015625, 0.58349609375, 1.7568359375, -0.263427734375, -0.019866943359375, -0.24658203125, -0.1871337890625, 0.927734375, 0.62255859375, 0.275146484375, 0.79541015625, 1.1796875, 1.1767578125, -0.26123046875, -0.268310546875, 1.8994140625, 1.318359375, 2.1875, 0.2469482421875, 1.41015625, 0.03973388671875, 1.2685546875, 1.1025390625, 0.9560546875, 0.865234375, -1.92578125, 1.154296875, 0.389892578125, 1.130859375, 0.95947265625, 0.72314453125, 2.244140625, 0.048553466796875, 0.626953125, 0.42919921875, 0.82275390625, 0.311767578125, -0.320556640625, 0.01041412353515625, 0.1483154296875, 0.10809326171875, -0.3173828125, 1.1337890625, -0.8642578125, 1.4033203125, 0.048828125, 1.1787109375, 0.98779296875, 1.818359375, 1.1552734375, 0.6015625, 1.2392578125, -1.2685546875, 0.39208984375, 0.83251953125, 0.224365234375, 0.0019989013671875, 0.87548828125, 1.6572265625, 1.107421875, 0.434814453125, 1.8251953125, 0.442626953125, 1.2587890625, 0.09320068359375, -0.896484375, 1.8017578125, 1.451171875, -0.0755615234375, 0.6083984375, 2.06640625, 0.673828125, -0.33740234375, 0.192138671875, 0.21435546875, 0.80224609375, -1.490234375, 0.9501953125, 0.86083984375, -0.40283203125, 4.109375, 2.533203125, 1.2529296875, 0.8271484375, 0.225830078125, 1.0478515625, -1.9755859375, 0.841796875, 0.392822265625, 0.525390625, 0.33935546875, -0.79443359375, 0.71630859375, 0.97998046875, -0.175537109375, 0.97705078125, 1.705078125, 0.29638671875, 0.68359375, 0.54150390625, 0.435791015625, 0.99755859375, -0.369140625, 1.009765625, -0.140380859375, 0.426513671875, 0.189697265625, 1.8193359375, 1.1201171875, -0.5009765625, -0.331298828125, 0.759765625, -0.09442138671875, 0.74609375, -1.947265625, 1.3544921875, -3.935546875, 2.544921875, 1.359375, 0.1363525390625, 0.79296875, 0.79931640625, -0.3466796875, 1.1396484375, -0.33447265625, 2.0078125, -0.241455078125, 0.6318359375, 0.365234375, 0.296142578125, 0.830078125, 1.0458984375, 0.5830078125, 0.61572265625, 14.0703125, -2.0078125, -0.381591796875, 1.228515625, 0.08282470703125, -0.67822265625, -0.04339599609375, 0.397216796875, 0.1656494140625, 0.137451171875, 0.244873046875, 1.1611328125, -1.3818359375, 0.8447265625, 1.171875, 0.36328125, 0.252685546875, 0.1197509765625, 0.232177734375, -0.020172119140625, 0.64404296875, -0.01100921630859375, -1.9267578125, 0.222412109375, 0.56005859375, 1.3046875, 1.1630859375, 1.197265625, 1.02734375, 1.6806640625, -0.043731689453125, 1.4697265625, 0.81201171875, 1.5390625, 1.240234375, -0.7353515625, 1.828125, 1.115234375, 1.931640625, -0.517578125, 0.77880859375, 1.0546875, 0.95361328125, 3.42578125, 0.0160369873046875, 0.875, 0.56005859375, 1.2421875, 1.986328125, 1.4814453125, 0.0948486328125, 1.115234375, 0.00665283203125, 2.09375, 0.3544921875, -0.52783203125, 1.2099609375, 0.45068359375, 0.65625, 0.1112060546875, 1.0751953125, -0.9521484375, -0.30029296875, 1.4462890625, 2.046875, 3.212890625, 1.68359375, 1.07421875, -0.5263671875, 0.74560546875, 1.37890625, 0.15283203125, 0.2440185546875, 0.62646484375, -0.1280517578125, 0.7646484375, -0.515625, -0.35693359375, 1.2958984375, 0.96923828125, 0.58935546875, 1.3701171875, 1.0673828125, 0.2337646484375, 0.93115234375, 0.66357421875, 6.0, 1.1025390625, -0.51708984375, -0.38330078125, 0.7197265625, 0.246826171875, -0.45166015625, 1.9521484375, 0.5546875, 0.08807373046875, 0.18505859375, 0.8857421875, -0.57177734375, 0.251708984375, 0.234375, 2.57421875, 0.9599609375, 0.5029296875, 0.10382080078125, 0.08331298828125, 0.66748046875, -0.349609375, 1.287109375, 0.259765625, 2.015625, 2.828125, -0.3095703125, -0.164306640625, -0.3408203125, 0.486572265625, 0.8466796875, 1.9130859375, 0.09088134765625, 0.66552734375, 0.00972747802734375, -0.83154296875, 1.755859375, 0.654296875, 0.173828125, 0.27587890625, -0.47607421875, -0.264404296875, 0.7529296875, 0.6533203125, 0.7275390625, 0.499755859375, 0.833984375, -0.44775390625, -0.05078125, -0.454833984375, 0.75439453125, 0.68505859375, 0.210693359375, -0.283935546875, -0.53564453125, 0.96826171875, 0.861328125, -3.33984375, -0.26171875, 0.77734375, 0.26513671875, -0.14111328125, -0.042236328125, -0.84814453125, 0.2137451171875, 0.94921875, 0.65185546875, -0.5380859375, 0.1529541015625, -0.360595703125, -0.0333251953125, -0.69189453125, 0.8974609375, 0.7109375, 0.81494140625, -0.259521484375, 1.1904296875, 0.62158203125, 1.345703125, 0.89404296875, 0.70556640625, 1.0673828125, 1.392578125, 0.5068359375, 0.962890625, 0.736328125, 1.55078125, 0.50390625, -0.398681640625, 2.361328125, 0.345947265625, -0.61962890625, 0.330078125, 0.75439453125, -0.673828125, -0.2379150390625, 1.5673828125, 1.369140625, 0.1119384765625, -0.1834716796875, 1.4599609375, -0.77587890625, 0.5556640625, 0.09954833984375, 0.0285186767578125, 0.58935546875, -0.501953125, 0.212890625, 0.02679443359375, 0.1715087890625, 0.03466796875, -0.564453125, 2.029296875, 2.45703125, -0.72216796875, 2.138671875, 0.50830078125, -0.09356689453125, 0.230224609375, 1.6943359375, 1.5126953125, 0.39453125, 0.411376953125, 1.07421875, -0.8046875, 0.51416015625, 0.2271728515625, -0.283447265625, 0.38427734375, 0.73388671875, 0.6962890625, 1.4990234375, 0.02813720703125, 0.40478515625, 1.2451171875, 1.1162109375, -5.5703125, 0.76171875, 0.322021484375, 1.0361328125, 1.197265625, 0.1163330078125, 0.2425537109375, 1.5595703125, 1.5791015625, -0.0921630859375, 0.484619140625, 1.9052734375, 5.31640625, 1.6337890625, 0.95947265625, -0.1751708984375, 0.466552734375, 0.8330078125, 1.03125, 0.2044677734375, 0.31298828125, -1.1220703125, 0.5517578125, 0.93505859375, 0.45166015625, 1.951171875, 0.65478515625, 1.30859375, 1.0859375, 0.56494140625, 2.322265625, 0.242919921875, 1.81640625, -0.469970703125, -0.841796875, 0.90869140625, 1.5361328125, 0.923828125, 1.0595703125, 0.356689453125, -0.46142578125, 2.134765625, 1.3037109375, -0.32373046875, -9.2265625, 0.4521484375, 0.88037109375, -0.53955078125, 0.96484375, 0.7705078125, 0.84521484375, 1.580078125, -0.1448974609375, 0.7607421875, 1.0166015625, -0.086669921875, 1.611328125, 0.05938720703125, 0.5078125, 0.8427734375, 2.431640625, 0.66357421875, 3.203125, 0.132080078125, 0.461181640625, 0.779296875, 1.9482421875, 1.8720703125, 0.845703125, -1.3837890625, -0.138916015625, 0.35546875, 0.2457275390625, 0.75341796875, 1.828125, 1.4169921875, 0.60791015625, 1.0068359375, 1.109375, 0.484130859375, -0.302001953125, 0.4951171875, 0.802734375, 1.9482421875, 0.916015625, 0.1646728515625, 2.599609375, 1.7177734375, -0.2374267578125, 0.98046875, 0.39306640625, -1.1396484375, 1.6533203125, 0.375244140625], \\\"scores\\\": [0.09906005859375, 0.12213134765625, 0.05035400390625, 0.16552734375, 0.0037384033203125, 0.010101318359375, 0.058197021484375, 0.10552978515625, 0.1141357421875, 0.115234375, 0.00444793701171875, 0.00812530517578125, 0.0343017578125, 0.009002685546875, 0.087158203125, 0.00818634033203125, 0.003238677978515625, 0.024169921875, 0.00702667236328125, 0.00936126708984375, 0.00632476806640625, 0.0293731689453125, 0.01800537109375, 0.0088348388671875, 0.013397216796875, 0.02557373046875, 0.12109375, 0.004413604736328125, 0.016571044921875, 0.00274658203125, 0.2142333984375, 0.29638671875, 0.16015625, 0.007843017578125, 0.007160186767578125, 0.00508880615234375, 0.054229736328125, 0.048736572265625, 0.026397705078125, 0.0265350341796875, 0.051361083984375, 0.018310546875, 0.00974273681640625, 0.0218963623046875, 0.216064453125, 0.021728515625, 0.0173797607421875, 0.004520416259765625], \\\"stoks\\\": [52, 52, 52, 52, 52, 41, 41, 374, 303, 303, 303, 427], \\\"time\\\": {\\\"begin_ms\\\": 640, \\\"end_ms\\\": 1140}}]}\"\n },\n {\n \"id\": \"7645a0d1-2e64-410d-83a8-b96040432e9a\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244957031,\n \"role\": \"AGENT\",\n \"type\": \"AGENT_MESSAGE\",\n \"message_text\": \"Hello!\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.044921875, \\\"Adoration\\\": 0.0253753662109375, \\\"Aesthetic Appreciation\\\": 0.03265380859375, \\\"Amusement\\\": 0.118408203125, \\\"Anger\\\": 0.06719970703125, \\\"Anxiety\\\": 0.0411376953125, \\\"Awe\\\": 0.03802490234375, \\\"Awkwardness\\\": 0.056549072265625, \\\"Boredom\\\": 0.04217529296875, \\\"Calmness\\\": 0.08709716796875, \\\"Concentration\\\": 0.070556640625, \\\"Confusion\\\": 0.06964111328125, \\\"Contemplation\\\": 0.0343017578125, \\\"Contempt\\\": 0.037689208984375, \\\"Contentment\\\": 0.059417724609375, \\\"Craving\\\": 0.01132965087890625, \\\"Desire\\\": 0.01406097412109375, \\\"Determination\\\": 0.1143798828125, \\\"Disappointment\\\": 0.051177978515625, \\\"Disgust\\\": 0.028594970703125, \\\"Distress\\\": 0.054901123046875, \\\"Doubt\\\": 0.04638671875, \\\"Ecstasy\\\": 0.0258026123046875, \\\"Embarrassment\\\": 0.0222015380859375, \\\"Empathic Pain\\\": 0.015777587890625, \\\"Entrancement\\\": 0.0160980224609375, \\\"Envy\\\": 0.0163421630859375, \\\"Excitement\\\": 0.129638671875, \\\"Fear\\\": 0.03125, \\\"Guilt\\\": 0.01483917236328125, \\\"Horror\\\": 0.0194549560546875, \\\"Interest\\\": 0.1341552734375, \\\"Joy\\\": 0.0738525390625, \\\"Love\\\": 0.0216522216796875, \\\"Nostalgia\\\": 0.0210418701171875, \\\"Pain\\\": 0.020721435546875, \\\"Pride\\\": 0.05499267578125, \\\"Realization\\\": 0.0728759765625, \\\"Relief\\\": 0.04052734375, \\\"Romance\\\": 0.0129241943359375, \\\"Sadness\\\": 0.0254669189453125, \\\"Satisfaction\\\": 0.07159423828125, \\\"Shame\\\": 0.01495361328125, \\\"Surprise (negative)\\\": 0.05560302734375, \\\"Surprise (positive)\\\": 0.07965087890625, \\\"Sympathy\\\": 0.022247314453125, \\\"Tiredness\\\": 0.0194549560546875, \\\"Triumph\\\": 0.04107666015625}\",\n \"metadata\": \"\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"63f657bf-ebac-4bc4-bbae-5a46d2babec4","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"741b2853-034c-43df-9eb0-7e4ff5d57dec","name":"List chats - default","request":{"urlPathTemplate":"/v0/evi/chats","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"pagination_direction\": \"ASC\",\n \"chats_page\": [\n {\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"chat_group_id\": \"9fc18597-3567-42d5-94d6-935bde84bf2f\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1716244940648,\n \"end_timestamp\": 1716244958546,\n \"event_count\": 3,\n \"metadata\": \"\",\n \"config\": {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"741b2853-034c-43df-9eb0-7e4ff5d57dec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"333ce95c-76c7-4621-aa72-bb0ed90fcf50","name":"List chat events - default","request":{"urlPathTemplate":"/v0/evi/chats/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-id"}}},"response":{"status":200,"body":"{\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"chat_group_id\": \"9fc18597-3567-42d5-94d6-935bde84bf2f\",\n \"status\": \"USER_ENDED\",\n \"start_timestamp\": 1716244940648,\n \"pagination_direction\": \"ASC\",\n \"events_page\": [\n {\n \"id\": \"5d44bdbb-49a3-40fb-871d-32bf7e76efe7\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244940762,\n \"role\": \"SYSTEM\",\n \"type\": \"SYSTEM_PROMPT\",\n \"message_text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\",\n \"emotion_features\": \"\",\n \"metadata\": \"\"\n },\n {\n \"id\": \"5976ddf6-d093-4bb9-ba60-8f6c25832dde\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244956278,\n \"role\": \"USER\",\n \"type\": \"USER_MESSAGE\",\n \"message_text\": \"Hello.\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.09906005859375, \\\"Adoration\\\": 0.12213134765625, \\\"Aesthetic Appreciation\\\": 0.05035400390625, \\\"Amusement\\\": 0.16552734375, \\\"Anger\\\": 0.0037384033203125, \\\"Anxiety\\\": 0.010101318359375, \\\"Awe\\\": 0.058197021484375, \\\"Awkwardness\\\": 0.10552978515625, \\\"Boredom\\\": 0.1141357421875, \\\"Calmness\\\": 0.115234375, \\\"Concentration\\\": 0.00444793701171875, \\\"Confusion\\\": 0.0343017578125, \\\"Contemplation\\\": 0.00812530517578125, \\\"Contempt\\\": 0.009002685546875, \\\"Contentment\\\": 0.087158203125, \\\"Craving\\\": 0.00818634033203125, \\\"Desire\\\": 0.018310546875, \\\"Determination\\\": 0.003238677978515625, \\\"Disappointment\\\": 0.024169921875, \\\"Disgust\\\": 0.00702667236328125, \\\"Distress\\\": 0.00936126708984375, \\\"Doubt\\\": 0.00632476806640625, \\\"Ecstasy\\\": 0.0293731689453125, \\\"Embarrassment\\\": 0.01800537109375, \\\"Empathic Pain\\\": 0.0088348388671875, \\\"Entrancement\\\": 0.013397216796875, \\\"Envy\\\": 0.02557373046875, \\\"Excitement\\\": 0.12109375, \\\"Fear\\\": 0.004413604736328125, \\\"Guilt\\\": 0.016571044921875, \\\"Horror\\\": 0.00274658203125, \\\"Interest\\\": 0.2142333984375, \\\"Joy\\\": 0.29638671875, \\\"Love\\\": 0.16015625, \\\"Nostalgia\\\": 0.007843017578125, \\\"Pain\\\": 0.007160186767578125, \\\"Pride\\\": 0.00508880615234375, \\\"Realization\\\": 0.054229736328125, \\\"Relief\\\": 0.048736572265625, \\\"Romance\\\": 0.026397705078125, \\\"Sadness\\\": 0.0265350341796875, \\\"Satisfaction\\\": 0.051361083984375, \\\"Shame\\\": 0.00974273681640625, \\\"Surprise (negative)\\\": 0.0218963623046875, \\\"Surprise (positive)\\\": 0.216064453125, \\\"Sympathy\\\": 0.021728515625, \\\"Tiredness\\\": 0.0173797607421875, \\\"Triumph\\\": 0.004520416259765625}\",\n \"metadata\": \"{\\\"segments\\\": [{\\\"content\\\": \\\"Hello.\\\", \\\"embedding\\\": [0.6181640625, 0.1763916015625, -30.921875, 1.2705078125, 0.927734375, 0.63720703125, 2.865234375, 0.1080322265625, 0.2978515625, 1.0107421875, 1.34375, 0.74560546875, 0.416259765625, 0.99462890625, -0.333740234375, 0.361083984375, -1.388671875, 1.0107421875, 1.3173828125, 0.55615234375, 0.541015625, -0.1837158203125, 1.697265625, 0.228515625, 2.087890625, -0.311767578125, 0.053680419921875, 1.3349609375, 0.95068359375, 0.00441741943359375, 0.705078125, 1.8916015625, -0.939453125, 0.93701171875, -0.28955078125, 1.513671875, 0.5595703125, 1.0126953125, -0.1624755859375, 1.4072265625, -0.28857421875, -0.4560546875, -0.1500244140625, -0.1102294921875, -0.222412109375, 0.8779296875, 1.275390625, 1.6689453125, 0.80712890625, -0.34814453125, -0.325439453125, 0.412841796875, 0.81689453125, 0.55126953125, 1.671875, 0.6611328125, 0.7451171875, 1.50390625, 1.0224609375, -1.671875, 0.7373046875, 2.1328125, 2.166015625, 0.41015625, -0.127685546875, 1.9345703125, -4.2734375, 0.332275390625, 0.26171875, 0.76708984375, 0.2685546875, 0.468017578125, 1.208984375, -1.517578125, 1.083984375, 0.84814453125, 1.0244140625, -0.0072174072265625, 1.34375, 1.0712890625, 1.517578125, -0.52001953125, 0.59228515625, 0.8154296875, -0.951171875, -0.07757568359375, 1.3330078125, 1.125, 0.61181640625, 1.494140625, 0.357421875, 1.1796875, 1.482421875, 0.8046875, 0.1536865234375, 1.8076171875, 0.68115234375, -15.171875, 1.2294921875, 0.319091796875, 0.499755859375, 1.5771484375, 0.94677734375, -0.2490234375, 0.88525390625, 3.47265625, 0.75927734375, 0.71044921875, 1.2333984375, 1.4169921875, -0.56640625, -1.8095703125, 1.37109375, 0.428955078125, 1.89453125, -0.39013671875, 0.1734619140625, 1.5595703125, -1.2294921875, 2.552734375, 0.58349609375, 0.2156982421875, -0.00984954833984375, -0.6865234375, -0.0272979736328125, -0.2264404296875, 2.853515625, 1.3896484375, 0.52978515625, 0.783203125, 3.0390625, 0.75537109375, 0.219970703125, 0.384521484375, 0.385986328125, 2.0546875, -0.10443115234375, 1.5146484375, 1.4296875, 1.9716796875, 1.1318359375, 0.31591796875, 0.338623046875, 1.654296875, -0.88037109375, -0.21484375, 1.45703125, 1.0380859375, -0.52294921875, -0.47802734375, 0.1650390625, 1.2392578125, -1.138671875, 0.56787109375, 1.318359375, 0.4287109375, 0.1981201171875, 2.4375, 0.281005859375, 0.89404296875, -0.1552734375, 0.6474609375, -0.08331298828125, 0.00740814208984375, -0.045501708984375, -0.578125, 2.02734375, 0.59228515625, 0.35693359375, 1.2919921875, 1.22265625, 1.0537109375, 0.145263671875, 1.05859375, -0.369140625, 0.207275390625, 0.78857421875, 0.599609375, 0.99072265625, 0.24462890625, 1.26953125, 0.08404541015625, 1.349609375, 0.73291015625, 1.3212890625, 0.388916015625, 1.0869140625, 0.9931640625, -1.5673828125, 0.0462646484375, 0.650390625, 0.253662109375, 0.58251953125, 1.8134765625, 0.8642578125, 2.591796875, 0.7314453125, 0.85986328125, 0.5615234375, 0.9296875, 0.04144287109375, 1.66015625, 1.99609375, 1.171875, 1.181640625, 1.5126953125, 0.0224456787109375, 0.58349609375, -1.4931640625, 0.81884765625, 0.732421875, -0.6455078125, -0.62451171875, 1.7802734375, 0.01526641845703125, -0.423095703125, 0.461669921875, 4.87890625, 1.2392578125, -0.6953125, 0.6689453125, 0.62451171875, -1.521484375, 1.7685546875, 0.810546875, 0.65478515625, 0.26123046875, 1.6396484375, 0.87548828125, 1.7353515625, 2.046875, 1.5634765625, 0.69384765625, 1.375, 0.8916015625, 1.0107421875, 0.1304931640625, 2.009765625, 0.06402587890625, -0.08428955078125, 0.04351806640625, -1.7529296875, 2.02734375, 3.521484375, 0.404541015625, 1.6337890625, -0.276611328125, 0.8837890625, -0.1287841796875, 0.91064453125, 0.8193359375, 0.701171875, 0.036529541015625, 1.26171875, 1.0478515625, -0.1422119140625, 1.0634765625, 0.61083984375, 1.3505859375, 1.208984375, 0.57275390625, 1.3623046875, 2.267578125, 0.484375, 0.9150390625, 0.56787109375, -0.70068359375, 0.27587890625, -0.70654296875, 0.8466796875, 0.57568359375, 1.6162109375, 0.87939453125, 2.248046875, -0.5458984375, 1.7744140625, 1.328125, 1.232421875, 0.6806640625, 0.9365234375, 1.052734375, -1.08984375, 1.8330078125, -0.4033203125, 1.0673828125, 0.297607421875, 1.5703125, 1.67578125, 1.34765625, 2.8203125, 2.025390625, -0.48583984375, 0.7626953125, 0.01007843017578125, 1.435546875, 0.007205963134765625, 0.05157470703125, -0.9853515625, 0.26708984375, 1.16796875, 1.2041015625, 1.99609375, -0.07916259765625, 1.244140625, -0.32080078125, 0.6748046875, 0.419921875, 1.3212890625, 1.291015625, 0.599609375, 0.0550537109375, 0.9599609375, 0.93505859375, 0.111083984375, 1.302734375, 0.0833740234375, 2.244140625, 1.25390625, 1.6015625, 0.58349609375, 1.7568359375, -0.263427734375, -0.019866943359375, -0.24658203125, -0.1871337890625, 0.927734375, 0.62255859375, 0.275146484375, 0.79541015625, 1.1796875, 1.1767578125, -0.26123046875, -0.268310546875, 1.8994140625, 1.318359375, 2.1875, 0.2469482421875, 1.41015625, 0.03973388671875, 1.2685546875, 1.1025390625, 0.9560546875, 0.865234375, -1.92578125, 1.154296875, 0.389892578125, 1.130859375, 0.95947265625, 0.72314453125, 2.244140625, 0.048553466796875, 0.626953125, 0.42919921875, 0.82275390625, 0.311767578125, -0.320556640625, 0.01041412353515625, 0.1483154296875, 0.10809326171875, -0.3173828125, 1.1337890625, -0.8642578125, 1.4033203125, 0.048828125, 1.1787109375, 0.98779296875, 1.818359375, 1.1552734375, 0.6015625, 1.2392578125, -1.2685546875, 0.39208984375, 0.83251953125, 0.224365234375, 0.0019989013671875, 0.87548828125, 1.6572265625, 1.107421875, 0.434814453125, 1.8251953125, 0.442626953125, 1.2587890625, 0.09320068359375, -0.896484375, 1.8017578125, 1.451171875, -0.0755615234375, 0.6083984375, 2.06640625, 0.673828125, -0.33740234375, 0.192138671875, 0.21435546875, 0.80224609375, -1.490234375, 0.9501953125, 0.86083984375, -0.40283203125, 4.109375, 2.533203125, 1.2529296875, 0.8271484375, 0.225830078125, 1.0478515625, -1.9755859375, 0.841796875, 0.392822265625, 0.525390625, 0.33935546875, -0.79443359375, 0.71630859375, 0.97998046875, -0.175537109375, 0.97705078125, 1.705078125, 0.29638671875, 0.68359375, 0.54150390625, 0.435791015625, 0.99755859375, -0.369140625, 1.009765625, -0.140380859375, 0.426513671875, 0.189697265625, 1.8193359375, 1.1201171875, -0.5009765625, -0.331298828125, 0.759765625, -0.09442138671875, 0.74609375, -1.947265625, 1.3544921875, -3.935546875, 2.544921875, 1.359375, 0.1363525390625, 0.79296875, 0.79931640625, -0.3466796875, 1.1396484375, -0.33447265625, 2.0078125, -0.241455078125, 0.6318359375, 0.365234375, 0.296142578125, 0.830078125, 1.0458984375, 0.5830078125, 0.61572265625, 14.0703125, -2.0078125, -0.381591796875, 1.228515625, 0.08282470703125, -0.67822265625, -0.04339599609375, 0.397216796875, 0.1656494140625, 0.137451171875, 0.244873046875, 1.1611328125, -1.3818359375, 0.8447265625, 1.171875, 0.36328125, 0.252685546875, 0.1197509765625, 0.232177734375, -0.020172119140625, 0.64404296875, -0.01100921630859375, -1.9267578125, 0.222412109375, 0.56005859375, 1.3046875, 1.1630859375, 1.197265625, 1.02734375, 1.6806640625, -0.043731689453125, 1.4697265625, 0.81201171875, 1.5390625, 1.240234375, -0.7353515625, 1.828125, 1.115234375, 1.931640625, -0.517578125, 0.77880859375, 1.0546875, 0.95361328125, 3.42578125, 0.0160369873046875, 0.875, 0.56005859375, 1.2421875, 1.986328125, 1.4814453125, 0.0948486328125, 1.115234375, 0.00665283203125, 2.09375, 0.3544921875, -0.52783203125, 1.2099609375, 0.45068359375, 0.65625, 0.1112060546875, 1.0751953125, -0.9521484375, -0.30029296875, 1.4462890625, 2.046875, 3.212890625, 1.68359375, 1.07421875, -0.5263671875, 0.74560546875, 1.37890625, 0.15283203125, 0.2440185546875, 0.62646484375, -0.1280517578125, 0.7646484375, -0.515625, -0.35693359375, 1.2958984375, 0.96923828125, 0.58935546875, 1.3701171875, 1.0673828125, 0.2337646484375, 0.93115234375, 0.66357421875, 6.0, 1.1025390625, -0.51708984375, -0.38330078125, 0.7197265625, 0.246826171875, -0.45166015625, 1.9521484375, 0.5546875, 0.08807373046875, 0.18505859375, 0.8857421875, -0.57177734375, 0.251708984375, 0.234375, 2.57421875, 0.9599609375, 0.5029296875, 0.10382080078125, 0.08331298828125, 0.66748046875, -0.349609375, 1.287109375, 0.259765625, 2.015625, 2.828125, -0.3095703125, -0.164306640625, -0.3408203125, 0.486572265625, 0.8466796875, 1.9130859375, 0.09088134765625, 0.66552734375, 0.00972747802734375, -0.83154296875, 1.755859375, 0.654296875, 0.173828125, 0.27587890625, -0.47607421875, -0.264404296875, 0.7529296875, 0.6533203125, 0.7275390625, 0.499755859375, 0.833984375, -0.44775390625, -0.05078125, -0.454833984375, 0.75439453125, 0.68505859375, 0.210693359375, -0.283935546875, -0.53564453125, 0.96826171875, 0.861328125, -3.33984375, -0.26171875, 0.77734375, 0.26513671875, -0.14111328125, -0.042236328125, -0.84814453125, 0.2137451171875, 0.94921875, 0.65185546875, -0.5380859375, 0.1529541015625, -0.360595703125, -0.0333251953125, -0.69189453125, 0.8974609375, 0.7109375, 0.81494140625, -0.259521484375, 1.1904296875, 0.62158203125, 1.345703125, 0.89404296875, 0.70556640625, 1.0673828125, 1.392578125, 0.5068359375, 0.962890625, 0.736328125, 1.55078125, 0.50390625, -0.398681640625, 2.361328125, 0.345947265625, -0.61962890625, 0.330078125, 0.75439453125, -0.673828125, -0.2379150390625, 1.5673828125, 1.369140625, 0.1119384765625, -0.1834716796875, 1.4599609375, -0.77587890625, 0.5556640625, 0.09954833984375, 0.0285186767578125, 0.58935546875, -0.501953125, 0.212890625, 0.02679443359375, 0.1715087890625, 0.03466796875, -0.564453125, 2.029296875, 2.45703125, -0.72216796875, 2.138671875, 0.50830078125, -0.09356689453125, 0.230224609375, 1.6943359375, 1.5126953125, 0.39453125, 0.411376953125, 1.07421875, -0.8046875, 0.51416015625, 0.2271728515625, -0.283447265625, 0.38427734375, 0.73388671875, 0.6962890625, 1.4990234375, 0.02813720703125, 0.40478515625, 1.2451171875, 1.1162109375, -5.5703125, 0.76171875, 0.322021484375, 1.0361328125, 1.197265625, 0.1163330078125, 0.2425537109375, 1.5595703125, 1.5791015625, -0.0921630859375, 0.484619140625, 1.9052734375, 5.31640625, 1.6337890625, 0.95947265625, -0.1751708984375, 0.466552734375, 0.8330078125, 1.03125, 0.2044677734375, 0.31298828125, -1.1220703125, 0.5517578125, 0.93505859375, 0.45166015625, 1.951171875, 0.65478515625, 1.30859375, 1.0859375, 0.56494140625, 2.322265625, 0.242919921875, 1.81640625, -0.469970703125, -0.841796875, 0.90869140625, 1.5361328125, 0.923828125, 1.0595703125, 0.356689453125, -0.46142578125, 2.134765625, 1.3037109375, -0.32373046875, -9.2265625, 0.4521484375, 0.88037109375, -0.53955078125, 0.96484375, 0.7705078125, 0.84521484375, 1.580078125, -0.1448974609375, 0.7607421875, 1.0166015625, -0.086669921875, 1.611328125, 0.05938720703125, 0.5078125, 0.8427734375, 2.431640625, 0.66357421875, 3.203125, 0.132080078125, 0.461181640625, 0.779296875, 1.9482421875, 1.8720703125, 0.845703125, -1.3837890625, -0.138916015625, 0.35546875, 0.2457275390625, 0.75341796875, 1.828125, 1.4169921875, 0.60791015625, 1.0068359375, 1.109375, 0.484130859375, -0.302001953125, 0.4951171875, 0.802734375, 1.9482421875, 0.916015625, 0.1646728515625, 2.599609375, 1.7177734375, -0.2374267578125, 0.98046875, 0.39306640625, -1.1396484375, 1.6533203125, 0.375244140625], \\\"scores\\\": [0.09906005859375, 0.12213134765625, 0.05035400390625, 0.16552734375, 0.0037384033203125, 0.010101318359375, 0.058197021484375, 0.10552978515625, 0.1141357421875, 0.115234375, 0.00444793701171875, 0.00812530517578125, 0.0343017578125, 0.009002685546875, 0.087158203125, 0.00818634033203125, 0.003238677978515625, 0.024169921875, 0.00702667236328125, 0.00936126708984375, 0.00632476806640625, 0.0293731689453125, 0.01800537109375, 0.0088348388671875, 0.013397216796875, 0.02557373046875, 0.12109375, 0.004413604736328125, 0.016571044921875, 0.00274658203125, 0.2142333984375, 0.29638671875, 0.16015625, 0.007843017578125, 0.007160186767578125, 0.00508880615234375, 0.054229736328125, 0.048736572265625, 0.026397705078125, 0.0265350341796875, 0.051361083984375, 0.018310546875, 0.00974273681640625, 0.0218963623046875, 0.216064453125, 0.021728515625, 0.0173797607421875, 0.004520416259765625], \\\"stoks\\\": [52, 52, 52, 52, 52, 41, 41, 374, 303, 303, 303, 427], \\\"time\\\": {\\\"begin_ms\\\": 640, \\\"end_ms\\\": 1140}}]}\"\n },\n {\n \"id\": \"7645a0d1-2e64-410d-83a8-b96040432e9a\",\n \"chat_id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"timestamp\": 1716244957031,\n \"role\": \"AGENT\",\n \"type\": \"AGENT_MESSAGE\",\n \"message_text\": \"Hello!\",\n \"emotion_features\": \"{\\\"Admiration\\\": 0.044921875, \\\"Adoration\\\": 0.0253753662109375, \\\"Aesthetic Appreciation\\\": 0.03265380859375, \\\"Amusement\\\": 0.118408203125, \\\"Anger\\\": 0.06719970703125, \\\"Anxiety\\\": 0.0411376953125, \\\"Awe\\\": 0.03802490234375, \\\"Awkwardness\\\": 0.056549072265625, \\\"Boredom\\\": 0.04217529296875, \\\"Calmness\\\": 0.08709716796875, \\\"Concentration\\\": 0.070556640625, \\\"Confusion\\\": 0.06964111328125, \\\"Contemplation\\\": 0.0343017578125, \\\"Contempt\\\": 0.037689208984375, \\\"Contentment\\\": 0.059417724609375, \\\"Craving\\\": 0.01132965087890625, \\\"Desire\\\": 0.01406097412109375, \\\"Determination\\\": 0.1143798828125, \\\"Disappointment\\\": 0.051177978515625, \\\"Disgust\\\": 0.028594970703125, \\\"Distress\\\": 0.054901123046875, \\\"Doubt\\\": 0.04638671875, \\\"Ecstasy\\\": 0.0258026123046875, \\\"Embarrassment\\\": 0.0222015380859375, \\\"Empathic Pain\\\": 0.015777587890625, \\\"Entrancement\\\": 0.0160980224609375, \\\"Envy\\\": 0.0163421630859375, \\\"Excitement\\\": 0.129638671875, \\\"Fear\\\": 0.03125, \\\"Guilt\\\": 0.01483917236328125, \\\"Horror\\\": 0.0194549560546875, \\\"Interest\\\": 0.1341552734375, \\\"Joy\\\": 0.0738525390625, \\\"Love\\\": 0.0216522216796875, \\\"Nostalgia\\\": 0.0210418701171875, \\\"Pain\\\": 0.020721435546875, \\\"Pride\\\": 0.05499267578125, \\\"Realization\\\": 0.0728759765625, \\\"Relief\\\": 0.04052734375, \\\"Romance\\\": 0.0129241943359375, \\\"Sadness\\\": 0.0254669189453125, \\\"Satisfaction\\\": 0.07159423828125, \\\"Shame\\\": 0.01495361328125, \\\"Surprise (negative)\\\": 0.05560302734375, \\\"Surprise (positive)\\\": 0.07965087890625, \\\"Sympathy\\\": 0.022247314453125, \\\"Tiredness\\\": 0.0194549560546875, \\\"Triumph\\\": 0.04107666015625}\",\n \"metadata\": \"\"\n }\n ],\n \"page_number\": 0,\n \"page_size\": 3,\n \"total_pages\": 1,\n \"end_timestamp\": 1716244958546,\n \"metadata\": \"\",\n \"config\": {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"333ce95c-76c7-4621-aa72-bb0ed90fcf50","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1c210e60-fc3e-4020-ba31-155c211461a5","name":"Get chat audio - default","request":{"urlPathTemplate":"/v0/evi/chats/{id}/audio","method":"GET","pathParameters":{"id":{"equalTo":"your-chat-id"}}},"response":{"status":200,"body":"{\n \"id\": \"470a49f6-1dec-4afe-8b61-035d3b2d63b0\",\n \"user_id\": \"e6235940-cfda-3988-9147-ff531627cf42\",\n \"status\": \"COMPLETE\",\n \"filename\": \"e6235940-cfda-3988-9147-ff531627cf42/470a49f6-1dec-4afe-8b61-035d3b2d63b0/reconstructed_audio.mp4\",\n \"modified_at\": 1729875432555,\n \"signed_audio_url\": \"https://storage.googleapis.com/...etc.\",\n \"signed_url_expiration_timestamp_millis\": 1730232816964\n}","headers":{"Content-Type":"application/json"}},"uuid":"1c210e60-fc3e-4020-ba31-155c211461a5","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"95990ecd-a7f2-495c-84ec-e0b2f0f1e471","name":"List configs - default","request":{"urlPathTemplate":"/v0/evi/configs","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 1,\n \"total_pages\": 1,\n \"configs_page\": [\n {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"95990ecd-a7f2-495c-84ec-e0b2f0f1e471","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"73a53d69-e4fb-44c0-a4cc-3ebdee8e8c36","name":"Create config - default","request":{"urlPathTemplate":"/v0/evi/configs","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"73a53d69-e4fb-44c0-a4cc-3ebdee8e8c36","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"9fa7c906-3213-4358-9fd3-fb98a80ccff9","name":"List config versions - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"configs_page\": [\n {\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 0,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"9fa7c906-3213-4358-9fd3-fb98a80ccff9","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"66129a1a-71df-4899-a702-a2582339ad92","name":"Create config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":201,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"This is an updated version of the Weather Assistant Config.\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1722642242998,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": true\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"66129a1a-71df-4899-a702-a2582339ad92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"96ab709e-8ce5-42ad-8930-11174405a07f","name":"Delete config - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"96ab709e-8ce5-42ad-8930-11174405a07f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"ac036d7f-9200-454a-ad8b-058cedce8018","name":"Update config name - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-config-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"ac036d7f-9200-454a-ad8b-058cedce8018","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"336e4516-6577-4544-8e15-559222ec726d","name":"Get config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"336e4516-6577-4544-8e15-559222ec726d","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3631f032-af11-4788-9ada-63c97ec90d03","name":"Delete config version - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"3631f032-af11-4788-9ada-63c97ec90d03","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"4a8a419e-4772-4077-95b5-281c2bd2851b","name":"Update config description - default","request":{"urlPathTemplate":"/v0/evi/configs/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-config-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"1b60e1a0-cc59-424a-8d2c-189d354db3f3\",\n \"version\": 1,\n \"version_description\": \"This is an updated version_description.\",\n \"name\": \"Weather Assistant Config\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"evi_version\": \"3\",\n \"prompt\": {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n \"voice\": {\n \"provider\": \"HUME_AI\",\n \"name\": \"Ava Song\",\n \"id\": \"5bb7de05-c8fe-426a-8fcc-ba4fc4ce9f9c\"\n },\n \"language_model\": {\n \"model_provider\": \"ANTHROPIC\",\n \"model_resource\": \"claude-3-7-sonnet-latest\",\n \"temperature\": 1\n },\n \"ellm_model\": {\n \"allow_short_responses\": false\n },\n \"tools\": [],\n \"builtin_tools\": [],\n \"event_messages\": {\n \"on_new_chat\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_inactivity_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n },\n \"on_max_duration_timeout\": {\n \"enabled\": false,\n \"text\": \"\"\n }\n },\n \"timeouts\": {\n \"inactivity\": {\n \"enabled\": true,\n \"duration_secs\": 600\n },\n \"max_duration\": {\n \"enabled\": true,\n \"duration_secs\": 1800\n }\n }\n}","headers":{"Content-Type":"application/json"}},"uuid":"4a8a419e-4772-4077-95b5-281c2bd2851b","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3760f9c4-fbaa-40e9-9770-35af4592adb1","name":"List prompts - default","request":{"urlPathTemplate":"/v0/evi/prompts","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 2,\n \"total_pages\": 1,\n \"prompts_page\": [\n {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n },\n {\n \"id\": \"616b2b4c-a096-4445-9c23-64058b564fc2\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Web Search Assistant Prompt\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"text\": \"You are an AI web search assistant designed to help users find accurate and relevant information on the web. Respond to user queries promptly, using the built-in web search tool to retrieve up-to-date results. Present information clearly and concisely, summarizing key points where necessary. Use simple language and avoid technical jargon. If needed, provide helpful tips for refining search queries to obtain better results.\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"3760f9c4-fbaa-40e9-9770-35af4592adb1","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"1fab19ce-cf01-4f16-b221-518ebe235e05","name":"Create prompt - default","request":{"urlPathTemplate":"/v0/evi/prompts","method":"POST"},"response":{"status":201,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": null,\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1fab19ce-cf01-4f16-b221-518ebe235e05","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"818fa71c-38b4-45da-92f3-167567201251","name":"List prompt versions - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"prompts_page\": [\n {\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"818fa71c-38b4-45da-92f3-167567201251","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"b2978df3-51e4-4d99-b160-6287c20dda6f","name":"Create prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":201,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"This is an updated version of the Weather Assistant Prompt.\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722635140150,\n \"text\": \"You are an updated version of an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"b2978df3-51e4-4d99-b160-6287c20dda6f","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"722d1802-e538-4d83-9720-79ff982e0011","name":"Delete prompt - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"722d1802-e538-4d83-9720-79ff982e0011","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e0c3636-6d00-4e26-92d7-40460ef14c6c","name":"Update prompt name - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-prompt-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6e0c3636-6d00-4e26-92d7-40460ef14c6c","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"3812aa90-4c73-4d5b-a38b-d5ca8efde008","name":"Get prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"0"}}},"response":{"status":200,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"\",\n \"name\": \"Weather Assistant Prompt\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722633247488,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"3812aa90-4c73-4d5b-a38b-d5ca8efde008","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"27f84b39-bfde-4b0f-a49e-fbd93767a180","name":"Delete prompt version - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"27f84b39-bfde-4b0f-a49e-fbd93767a180","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"760d3795-9a2c-4a38-940a-6b7459dff285","name":"Update prompt description - default","request":{"urlPathTemplate":"/v0/evi/prompts/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-prompt-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"id\": \"af699d45-2985-42cc-91b9-af9e5da3bac5\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"This is an updated version_description.\",\n \"name\": \"string\",\n \"created_on\": 1722633247488,\n \"modified_on\": 1722634770585,\n \"text\": \"You are an AI weather assistant providing users with accurate and up-to-date weather information. Respond to user queries concisely and clearly. Use simple language and avoid technical jargon. Provide temperature, precipitation, wind conditions, and any weather alerts. Include helpful tips if severe weather is expected.\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"760d3795-9a2c-4a38-940a-6b7459dff285","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"76070823-253f-4b18-9c68-a80f6d2373ee","name":"List tools - default","request":{"urlPathTemplate":"/v0/evi/tools","method":"GET"},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 2,\n \"total_pages\": 1,\n \"tools_page\": [\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"d20827af-5d8d-4f66-b6b9-ce2e3e1ea2b2\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches user's current location.\",\n \"name\": \"get_current_location\",\n \"created_on\": 1715267200693,\n \"modified_on\": 1715267200693,\n \"fallback_content\": \"Unable to fetch location.\",\n \"description\": \"Fetches user's current location.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }}, \\\"required\\\": [\\\"location\\\"] }\"\n },\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"4442f3ea-9038-40e3-a2ce-1522b7de770f\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715266126705,\n \"modified_on\": 1715266126705,\n \"fallback_content\": \"Unable to fetch location.\",\n \"description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"76070823-253f-4b18-9c68-a80f6d2373ee","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}},"postServeActions":[]},{"id":"7dc71f1b-3d70-4527-a21f-326f7db77dec","name":"Create tool - default","request":{"urlPathTemplate":"/v0/evi/tools","method":"POST"},"response":{"status":201,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"aa9b71c4-723c-47ff-9f83-1a1829e74376\",\n \"version\": 0,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius or fahrenheit based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715275452390,\n \"modified_on\": 1715275452390,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"7dc71f1b-3d70-4527-a21f-326f7db77dec","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"97f54c38-2fe1-4344-9355-88765ad39e92","name":"List tool versions - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"GET","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"{\n \"page_number\": 0,\n \"page_size\": 10,\n \"total_pages\": 1,\n \"tools_page\": [\n {\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n }\n ]\n}","headers":{"Content-Type":"application/json"}},"uuid":"97f54c38-2fe1-4344-9355-88765ad39e92","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"1230a7c7-82ee-4940-98d3-3f0e1acc2cba","name":"Create tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"POST","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":201,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"get_current_weather\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"1230a7c7-82ee-4940-98d3-3f0e1acc2cba","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"6e58cf98-dbd8-465b-a6cc-53941c38f006","name":"Delete tool - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"6e58cf98-dbd8-465b-a6cc-53941c38f006","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"7bb920f0-9b75-4374-bdfb-540a599f3fce","name":"Update tool name - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-tool-id"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"7bb920f0-9b75-4374-bdfb-540a599f3fce","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"f4fe78ec-6b74-402d-8aef-0cbd04c6a473","name":"Get tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"GET","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current weather and uses celsius, fahrenheit, or kelvin based on location of user.\",\n \"name\": \"string\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"f4fe78ec-6b74-402d-8aef-0cbd04c6a473","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"74ef73ce-49e2-492e-a4cb-ea6a1dc9b948","name":"Delete tool version - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"DELETE","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"\"\"","headers":{"Content-Type":"application/json"}},"uuid":"74ef73ce-49e2-492e-a4cb-ea6a1dc9b948","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}},{"id":"82d8c062-5280-4378-afad-8057ebea037a","name":"Update tool description - default","request":{"urlPathTemplate":"/v0/evi/tools/{id}/version/{version}","method":"PATCH","pathParameters":{"id":{"equalTo":"your-tool-id"},"version":{"equalTo":"1"}}},"response":{"status":200,"body":"{\n \"tool_type\": \"FUNCTION\",\n \"id\": \"00183a3f-79ba-413d-9f3b-609864268bea\",\n \"version\": 1,\n \"version_type\": \"FIXED\",\n \"version_description\": \"Fetches current temperature, precipitation, wind speed, AQI, and other weather conditions. Uses Celsius, Fahrenheit, or kelvin depending on user's region.\",\n \"name\": \"string\",\n \"created_on\": 1715277014228,\n \"modified_on\": 1715277602313,\n \"fallback_content\": \"Unable to fetch current weather.\",\n \"description\": \"This tool is for getting the current weather.\",\n \"parameters\": \"{ \\\"type\\\": \\\"object\\\", \\\"properties\\\": { \\\"location\\\": { \\\"type\\\": \\\"string\\\", \\\"description\\\": \\\"The city and state, e.g. San Francisco, CA\\\" }, \\\"format\\\": { \\\"type\\\": \\\"string\\\", \\\"enum\\\": [\\\"celsius\\\", \\\"fahrenheit\\\", \\\"kelvin\\\"], \\\"description\\\": \\\"The temperature unit to use. Infer this from the users location.\\\" } }, \\\"required\\\": [\\\"location\\\", \\\"format\\\"] }\"\n}","headers":{"Content-Type":"application/json"}},"uuid":"82d8c062-5280-4378-afad-8057ebea037a","persistent":true,"priority":3,"metadata":{"mocklab":{"created":{"at":"2020-01-01T00:00:00.000Z","via":"SYSTEM"}}}}],"meta":{"total":43}} \ No newline at end of file