diff --git a/poetry.lock b/poetry.lock index 06c126a..9f4a91a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -86,12 +86,12 @@ version = "1.2.0" description = "Backport of CPython tarfile module" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\"" files = [ {file = "backports.tarfile-1.2.0-py3-none-any.whl", hash = "sha256:77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34"}, {file = "backports_tarfile-1.2.0.tar.gz", hash = "sha256:d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991"}, ] -markers = {main = "extra == \"mcp\" and python_version < \"3.12\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\""} [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] @@ -673,41 +673,41 @@ test = ["pytest (>=6)"] [[package]] name = "fastmcp" -version = "4.1.3" +version = "4.1.6" description = "The fast, Pythonic way to build MCP servers and clients." optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"mcp\"" files = [ - {file = "fastmcp-4.1.3-py3-none-any.whl", hash = "sha256:b983d8acc44ab1143e0c86fd6da843f25043ee0aeb64ab983b36c527bd1d33e9"}, - {file = "fastmcp-4.1.3.tar.gz", hash = "sha256:a1f79e9db929a1603c75331df603f74530fc236aa711e0ee2e185821c6d9888d"}, + {file = "fastmcp-4.1.6-py3-none-any.whl", hash = "sha256:f54367fdca3d1a37c53164ebf864fb2461acdd92a9d9df731a244078c0332926"}, + {file = "fastmcp-4.1.6.tar.gz", hash = "sha256:5e307ae4ac3048a1b586aac6fc31e08661141bb69b8a2b473070e5becae0176c"}, ] [package.dependencies] -fastmcp-slim = {version = "4.1.3", extras = ["client", "server"]} +fastmcp-slim = {version = "4.1.6", extras = ["client", "server"]} [package.extras] -anthropic = ["fastmcp-slim[anthropic] (==4.1.3)"] -apps = ["fastmcp-slim[apps] (==4.1.3)"] -azure = ["fastmcp-slim[azure] (==4.1.3)"] -code-mode = ["fastmcp-slim[code-mode] (==4.1.3)"] -gemini = ["fastmcp-slim[gemini] (==4.1.3)"] -jev = ["fastmcp-slim[jev] (==4.1.3)"] -openai = ["fastmcp-slim[openai] (==4.1.3)"] -tasks = ["fastmcp-tasks (==4.1.3)"] +anthropic = ["fastmcp-slim[anthropic] (==4.1.6)"] +apps = ["fastmcp-slim[apps] (==4.1.6)"] +azure = ["fastmcp-slim[azure] (==4.1.6)"] +code-mode = ["fastmcp-slim[code-mode] (==4.1.6)"] +gemini = ["fastmcp-slim[gemini] (==4.1.6)"] +jev = ["fastmcp-slim[jev] (==4.1.6)"] +openai = ["fastmcp-slim[openai] (==4.1.6)"] +tasks = ["fastmcp-tasks (==4.1.6)"] [[package]] name = "fastmcp-slim" -version = "4.1.3" +version = "4.1.6" description = "The dependency-slim FastMCP package." optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"mcp\"" files = [ - {file = "fastmcp_slim-4.1.3-py3-none-any.whl", hash = "sha256:81af8699331c33d438caf85b6947f36df6e2f04118e6f318ca00374fd9afea9a"}, - {file = "fastmcp_slim-4.1.3.tar.gz", hash = "sha256:d95277db0979e4cbfa84528cf9016ae079494b41ed8e88cc909fee8233db6035"}, + {file = "fastmcp_slim-4.1.6-py3-none-any.whl", hash = "sha256:d25691ae70a7f2b9d8197d6261bdd0f4b9ff33064087cd35c20539b0b48bb1ca"}, + {file = "fastmcp_slim-4.1.6.tar.gz", hash = "sha256:cd181b9b780161bbfdfc16ca6e417aaa8efd75d0a9ae961fdd20fa992d3d789f"}, ] [package.dependencies] @@ -721,13 +721,13 @@ httpx2 = {version = ">=2.5.0", optional = true, markers = "extra == \"client\" o joserfc = {version = ">=1.5.0", optional = true, markers = "extra == \"server\""} jsonref = {version = ">=1.1.0", optional = true, markers = "extra == \"server\""} jsonschema-path = {version = ">=0.3.4", optional = true, markers = "extra == \"server\""} -mcp = {version = ">=2.2.0,<3.0.0", optional = true, markers = "extra == \"client\" or extra == \"server\""} +mcp = {version = ">=2.3.0,<3.0.0", optional = true, markers = "extra == \"client\" or extra == \"server\""} mcp-types = ">=2.0.0,<3.0.0" openapi-pydantic = {version = ">=0.6.0", optional = true, markers = "extra == \"server\""} opentelemetry-api = {version = ">=1.28.0", optional = true, markers = "extra == \"client\" or extra == \"server\""} packaging = {version = ">=24.0", optional = true, markers = "extra == \"server\""} platformdirs = ">=4.0.0" -py-key-value-aio = {version = ">=0.4.4,<0.5.0", extras = ["filetree", "keyring", "memory"], optional = true, markers = "extra == \"client\" or extra == \"server\""} +py-key-value-aio = {version = ">=0.4.4,<0.5.0", extras = ["filetree", "memory"], optional = true, markers = "extra == \"client\" or extra == \"server\""} pydantic = {version = ">=2.12.0", extras = ["email"]} pydantic-settings = ">=2.0.0" pyperclip = {version = ">=1.9.0", optional = true, markers = "extra == \"server\""} @@ -746,13 +746,13 @@ websockets = {version = ">=15.0.1", optional = true, markers = "extra == \"serve anthropic = ["anthropic (>=0.48.0,<2)", "certifi (>=2026.10.19)"] apps = ["prefab-ui (>=0.18.0)"] azure = ["azure-identity (>=1.16.0)", "certifi (>=2026.10.19)", "pyjwt (>=2.12.0)"] -client = ["authlib (>=1.6.11)", "beartype (>=0.23.0rc2) ; python_version >= \"3.15\"", "exceptiongroup (>=1.2.2)", "httpx2 (>=2.5.0)", "mcp (>=2.2.0,<3.0.0)", "opentelemetry-api (>=1.28.0)", "py-key-value-aio[filetree,keyring,memory] (>=0.4.4,<0.5.0)", "starlette (>=1.0.1)"] +client = ["authlib (>=1.6.11)", "beartype (>=0.23.0rc2) ; python_version >= \"3.15\"", "exceptiongroup (>=1.2.2)", "httpx2 (>=2.5.0)", "mcp (>=2.3.0,<3.0.0)", "opentelemetry-api (>=1.28.0)", "py-key-value-aio[filetree,memory] (>=0.4.4,<0.5.0)", "starlette (>=1.0.1)"] code-mode = ["pydantic-monty (>=1.1,<2)"] gemini = ["certifi (>=2026.10.19)", "google-genai (>=1.18.0)", "jsonref (>=1.1.0)"] jev = ["typesafe-sdk (>=0.5.7)"] -mcp = ["exceptiongroup (>=1.2.2)", "httpx2 (>=2.5.0)", "mcp (>=2.2.0,<3.0.0)", "opentelemetry-api (>=1.28.0)", "starlette (>=1.0.1)"] +mcp = ["exceptiongroup (>=1.2.2)", "httpx2 (>=2.5.0)", "mcp (>=2.3.0,<3.0.0)", "opentelemetry-api (>=1.28.0)", "starlette (>=1.0.1)"] openai = ["certifi (>=2026.10.19)", "openai (>=1.102.0)"] -server = ["authlib (>=1.6.11)", "beartype (>=0.23.0rc2) ; python_version >= \"3.15\"", "certifi (>=2026.10.19)", "cyclopts (>=4.0.0)", "exceptiongroup (>=1.2.2)", "griffelib (>=2.0.0)", "httpx2 (>=2.5.0)", "joserfc (>=1.5.0)", "jsonref (>=1.1.0)", "jsonschema-path (>=0.3.4)", "mcp (>=2.2.0,<3.0.0)", "openapi-pydantic (>=0.6.0)", "opentelemetry-api (>=1.28.0)", "packaging (>=24.0)", "py-key-value-aio[filetree,keyring,memory] (>=0.4.4,<0.5.0)", "pyperclip (>=1.9.0)", "python-multipart (>=0.0.26)", "pyyaml (>=6.0,<7.0)", "starlette (>=1.0.1)", "uncalled-for (>=0.4.0)", "uvicorn (>=0.35)", "watchfiles (>=1.0.0)", "websockets (>=15.0.1)"] +server = ["authlib (>=1.6.11)", "beartype (>=0.23.0rc2) ; python_version >= \"3.15\"", "certifi (>=2026.10.19)", "cyclopts (>=4.0.0)", "exceptiongroup (>=1.2.2)", "griffelib (>=2.0.0)", "httpx2 (>=2.5.0)", "joserfc (>=1.5.0)", "jsonref (>=1.1.0)", "jsonschema-path (>=0.3.4)", "mcp (>=2.3.0,<3.0.0)", "openapi-pydantic (>=0.6.0)", "opentelemetry-api (>=1.28.0)", "packaging (>=24.0)", "py-key-value-aio[filetree,memory] (>=0.4.4,<0.5.0)", "pyperclip (>=1.9.0)", "python-multipart (>=0.0.26)", "pyyaml (>=6.0,<7.0)", "starlette (>=1.0.1)", "uncalled-for (>=0.4.0)", "uvicorn (>=0.35)", "watchfiles (>=1.0.0)", "websockets (>=15.0.1)"] [[package]] name = "filelock" @@ -916,12 +916,12 @@ version = "8.7.1" description = "Read metadata from Python packages" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\"" 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 == \"mcp\" and python_version < \"3.12\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\""} [package.dependencies] zipp = ">=3.20" @@ -953,12 +953,12 @@ version = "3.4.0" description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, ] -markers = {main = "extra == \"mcp\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} [package.dependencies] more-itertools = "*" @@ -973,12 +973,12 @@ version = "6.1.2" description = "Useful decorators and context managers" optional = false python-versions = ">=3.10" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco_context-6.1.2-py3-none-any.whl", hash = "sha256:bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535"}, {file = "jaraco_context-6.1.2.tar.gz", hash = "sha256:f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3"}, ] -markers = {main = "extra == \"mcp\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} [package.dependencies] "backports.tarfile" = {version = "*", markers = "python_version < \"3.12\""} @@ -997,12 +997,12 @@ version = "4.4.0" description = "Functools like those found in stdlib" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "jaraco_functools-4.4.0-py3-none-any.whl", hash = "sha256:9eec1e36f45c818d9bf307c8948eb03b2b56cd44087b3cdc989abca1f20b9176"}, {file = "jaraco_functools-4.4.0.tar.gz", hash = "sha256:da21933b0417b89515562656547a77b4931f98176eb173644c0d35032a33d6bb"}, ] -markers = {main = "extra == \"mcp\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} [package.dependencies] more_itertools = "*" @@ -1021,12 +1021,12 @@ version = "0.9.0" description = "Low-level, pure Python DBus protocol wrapper." optional = false python-versions = ">=3.7" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\"" files = [ {file = "jeepney-0.9.0-py3-none-any.whl", hash = "sha256:97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683"}, {file = "jeepney-0.9.0.tar.gz", hash = "sha256:cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732"}, ] -markers = {main = "extra == \"mcp\" and sys_platform == \"linux\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\""} [package.extras] test = ["async-timeout ; python_version < \"3.11\"", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] @@ -1130,12 +1130,12 @@ version = "25.7.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.9" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "keyring-25.7.0-py3-none-any.whl", hash = "sha256:be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f"}, {file = "keyring-25.7.0.tar.gz", hash = "sha256:fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b"}, ] -markers = {main = "extra == \"mcp\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} [package.dependencies] importlib_metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} @@ -1181,15 +1181,15 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions", "pytest-tim [[package]] name = "mcp" -version = "2.2.0" +version = "2.3.0" description = "Model Context Protocol SDK" optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"mcp\"" files = [ - {file = "mcp-2.2.0-py3-none-any.whl", hash = "sha256:bde982589473a060ae145e3406e9a5333fe538c97229ba841f5a7f92be004f81"}, - {file = "mcp-2.2.0.tar.gz", hash = "sha256:2dc37ecb1974becdcebdbf7561e7c15a07dbbf20ba21ba16c3593b3038b3afbd"}, + {file = "mcp-2.3.0-py3-none-any.whl", hash = "sha256:dd0c44c089d16453e8ae31a3877a0054d7a2314caaa81f5e0541b9b1734b2377"}, + {file = "mcp-2.3.0.tar.gz", hash = "sha256:8b147a50441cf059dc88c684e0aeed3687f0aa0f39c6cde7b90330effd2b34d8"}, ] [package.dependencies] @@ -1197,9 +1197,9 @@ anyio = [ {version = ">=4.9", markers = "python_version < \"3.14\""}, {version = ">=4.10", markers = "python_version >= \"3.14\""}, ] -httpx2 = ">=2.5.0" +httpx2 = ">=2.10.0" jsonschema = ">=4.20.0" -mcp-types = "2.2.0" +mcp-types = "2.3.0" opentelemetry-api = ">=1.28.0" pydantic = ">=2.12.0" pyjwt = {version = ">=2.10.1", extras = ["crypto"]} @@ -1220,15 +1220,15 @@ rich = ["rich (>=13.9.4)"] [[package]] name = "mcp-types" -version = "2.2.0" +version = "2.3.0" description = "Model Context Protocol wire types" optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"mcp\"" files = [ - {file = "mcp_types-2.2.0-py3-none-any.whl", hash = "sha256:ea476b73ee86709ab5abc9452385ed36cc05907e582355622e294595c9a04f13"}, - {file = "mcp_types-2.2.0.tar.gz", hash = "sha256:d3ed53703ddd10d9c6399f29d322bb66f3f67ab41348ac8556ba23e07fedefad"}, + {file = "mcp_types-2.3.0-py3-none-any.whl", hash = "sha256:968efdbdaedfab06adae40d378a34395f1090c5921d4be3c9cde283aaf76d91d"}, + {file = "mcp_types-2.3.0.tar.gz", hash = "sha256:d1e46549edb35ee19a94940fcee6d1addd7e589ab7ea92dda83f5d84781fc362"}, ] [package.dependencies] @@ -1273,12 +1273,12 @@ version = "10.8.0" description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "more_itertools-10.8.0-py3-none-any.whl", hash = "sha256:52d4362373dcf7c52546bc4af9a86ee7c4579df9a8dc268be0a2f949d376cc9b"}, {file = "more_itertools-10.8.0.tar.gz", hash = "sha256:f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd"}, ] -markers = {main = "extra == \"mcp\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\""} [[package]] name = "nh3" @@ -1453,7 +1453,6 @@ aiofile = {version = ">=3.5.0", optional = true, markers = "extra == \"filetree\ anyio = {version = ">=4.4.0", optional = true, markers = "extra == \"filetree\""} beartype = ">=0.20.0" cachetools = {version = ">=5.0.0", optional = true, markers = "extra == \"memory\""} -keyring = {version = ">=25.6.0", optional = true, markers = "extra == \"keyring\""} typing-extensions = ">=4.15.0" [package.extras] @@ -1830,12 +1829,12 @@ version = "0.2.3" description = "A (partial) reimplementation of pywin32 using ctypes/cffi" optional = false python-versions = ">=3.6" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"win32\"" files = [ {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, ] -markers = {main = "extra == \"mcp\" and sys_platform == \"win32\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"win32\""} [[package]] name = "pyyaml" @@ -2182,12 +2181,12 @@ version = "3.5.0" description = "Python bindings to FreeDesktop.org Secret Service API" optional = false python-versions = ">=3.10" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\"" files = [ {file = "secretstorage-3.5.0-py3-none-any.whl", hash = "sha256:0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137"}, {file = "secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be"}, ] -markers = {main = "extra == \"mcp\" and sys_platform == \"linux\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and sys_platform == \"linux\""} [package.dependencies] cryptography = ">=2.0" @@ -2635,12 +2634,12 @@ version = "3.23.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" -groups = ["main", "dev"] +groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\"" files = [ {file = "zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e"}, {file = "zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166"}, ] -markers = {main = "extra == \"mcp\" and python_version < \"3.12\"", dev = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\" and python_version < \"3.12\""} [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] @@ -2656,4 +2655,4 @@ mcp = ["fastmcp"] [metadata] lock-version = "2.1" python-versions = ">=3.10,<4.0" -content-hash = "964165966d842563b9d6c6ad89c942e94932d93c764b91b444a58f5c1dd41e05" +content-hash = "5137c7a7ec80bf19d718edb4132147296993b6f95005787c3f4d9c5f60612b8e" diff --git a/pyproject.toml b/pyproject.toml index 044271a..6c8c1ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ dependencies = [ [project.optional-dependencies] mcp = [ - "fastmcp>=4.1.3,<5.0.0" + "fastmcp>=4.1.6,<5.0.0" ] [project.urls]