universal-mcp 0.1.24rc11__tar.gz → 0.1.24rc12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/PKG-INFO +2 -1
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/pyproject.toml +2 -1
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/base.py +14 -14
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/llm.py +11 -5
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/.gitignore +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/LICENSE +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/README.md +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/conftest.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_api_generator.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_api_integration.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_applications.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_localserver.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_stores.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_tool.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_tool_manager.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/tests/test_zenquotes.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/README.md +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/client.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/integration.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/registry.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/server.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/auto.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/__main__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/context.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/graph.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/prompts.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/state.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/studio.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/utils.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/cli.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/sandbox.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/test.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/utils.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/hil.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/react.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/simple.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/tools.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/utils.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/analytics.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/application.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/sample/app.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/cli.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/client/oauth.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/client/token_store.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/client/transport.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/config.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/exceptions.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/integrations/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/integrations/integration.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/logger.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/py.typed +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/servers/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/servers/server.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/stores/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/stores/store.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/adapters.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/docstring_parser.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/func_metadata.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/manager.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/registry.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/tools.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/types.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/__init__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/common.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/installation.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/__inti__.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/api_generator.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/api_splitter.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/cli.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/docgen.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/filters.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/openapi.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/postprocessor.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/preprocessor.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/readme.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/test_generator.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/prompts.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/singleton.py +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/templates/README.md.j2 +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/templates/api_client.py.j2 +0 -0
- {universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/testing.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: universal-mcp
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.24rc12
|
4
4
|
Summary: Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more.
|
5
5
|
Author-email: Manoj Bajaj <manojbajaj95@gmail.com>
|
6
6
|
License: MIT
|
@@ -14,6 +14,7 @@ Requires-Dist: jinja2>=3.1.3
|
|
14
14
|
Requires-Dist: jsonref>=1.1.0
|
15
15
|
Requires-Dist: keyring>=25.6.0
|
16
16
|
Requires-Dist: langchain-anthropic>=0.3.19
|
17
|
+
Requires-Dist: langchain-google-genai>=2.1.10
|
17
18
|
Requires-Dist: langchain-google-vertexai>=2.0.28
|
18
19
|
Requires-Dist: langchain-mcp-adapters>=0.1.9
|
19
20
|
Requires-Dist: langchain-openai>=0.3.27
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "universal-mcp"
|
7
|
-
version = "0.1.24-
|
7
|
+
version = "0.1.24-rc12"
|
8
8
|
description = "Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more."
|
9
9
|
readme = "README.md"
|
10
10
|
authors = [
|
@@ -21,6 +21,7 @@ dependencies = [
|
|
21
21
|
"jsonref>=1.1.0",
|
22
22
|
"keyring>=25.6.0",
|
23
23
|
"langchain-anthropic>=0.3.19",
|
24
|
+
"langchain-google-genai>=2.1.10",
|
24
25
|
"langchain-google-vertexai>=2.0.28",
|
25
26
|
"langchain-mcp-adapters>=0.1.9",
|
26
27
|
"langchain-openai>=0.3.27",
|
@@ -6,10 +6,10 @@ from langchain_core.messages import AIMessageChunk
|
|
6
6
|
from langgraph.checkpoint.base import BaseCheckpointSaver
|
7
7
|
from langgraph.checkpoint.memory import MemorySaver
|
8
8
|
from langgraph.types import Command
|
9
|
-
|
10
9
|
from .utils import RichCLI
|
11
10
|
|
12
11
|
|
12
|
+
|
13
13
|
class BaseAgent:
|
14
14
|
def __init__(self, name: str, instructions: str, model: str, memory: BaseCheckpointSaver | None = None, **kwargs):
|
15
15
|
self.name = name
|
@@ -30,6 +30,7 @@ class BaseAgent:
|
|
30
30
|
|
31
31
|
async def stream(self, thread_id: str, user_input: str):
|
32
32
|
await self.ainit()
|
33
|
+
aggregate = None
|
33
34
|
async for event, metadata in self._graph.astream(
|
34
35
|
{"messages": [{"role": "user", "content": user_input}]},
|
35
36
|
config={"configurable": {"thread_id": thread_id}},
|
@@ -38,25 +39,24 @@ class BaseAgent:
|
|
38
39
|
stream_usage=True,
|
39
40
|
):
|
40
41
|
# Only forward assistant token chunks that are not tool-related.
|
41
|
-
|
42
|
-
if
|
43
|
-
#
|
44
|
-
# logger.debug(f"Finish event: {event}")
|
42
|
+
type_ = type(event)
|
43
|
+
if type_ != AIMessageChunk:
|
44
|
+
# TODO: Handle other types of events
|
45
45
|
continue
|
46
|
-
|
47
|
-
|
48
|
-
# - tool_call_chunks present => model is emitting tool call(s)
|
49
|
-
# - metadata tags or node names may indicate tool/quiet phases
|
46
|
+
event = cast(AIMessageChunk, event)
|
47
|
+
aggregate = event if aggregate is None else aggregate + event
|
50
48
|
tags = metadata.get("tags", []) if isinstance(metadata, dict) else []
|
51
|
-
|
52
49
|
is_quiet = isinstance(tags, list) and ("quiet" in tags)
|
53
50
|
|
54
51
|
if is_quiet:
|
55
52
|
continue
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
if "finish_reason" in event.response_metadata:
|
54
|
+
# Got LLM finish reason ignore it
|
55
|
+
# logger.debug(f"Finish event: {event}, Metadata: {metadata}")
|
56
|
+
pass
|
57
|
+
else:
|
58
|
+
# logger.debug(f"Event: {event}, Metadata: {metadata}")
|
59
|
+
yield event
|
60
60
|
# Send a final finished message
|
61
61
|
# The last event would be finish
|
62
62
|
event = cast(AIMessageChunk, event)
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import os
|
1
2
|
from langchain_anthropic import ChatAnthropic
|
2
3
|
from langchain_core.language_models import BaseChatModel
|
4
|
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
3
5
|
from langchain_google_vertexai import ChatVertexAI
|
4
6
|
from langchain_google_vertexai.model_garden import ChatAnthropicVertex
|
5
7
|
from langchain_openai import AzureChatOpenAI
|
@@ -12,15 +14,19 @@ def load_chat_model(fully_specified_name: str, tags: list[str] | None = None) ->
|
|
12
14
|
"""
|
13
15
|
provider, model = fully_specified_name.split("/", maxsplit=1)
|
14
16
|
if provider == "google_anthropic_vertex":
|
15
|
-
return ChatAnthropicVertex(model=model, temperature=0.2, location="asia-east1", tags=tags)
|
17
|
+
return ChatAnthropicVertex(model=model, temperature=0.2, location="asia-east1", tags=tags, stream_usage=True,)
|
16
18
|
elif provider == "anthropic":
|
17
19
|
return ChatAnthropic(
|
18
|
-
model=model, temperature=1, thinking={"type": "enabled", "budget_tokens": 2048}, max_tokens=4096, tags=tags
|
20
|
+
model=model, temperature=1, thinking={"type": "enabled", "budget_tokens": 2048}, max_tokens=4096, tags=tags, stream_usage=True,
|
19
21
|
) # pyright: ignore[reportCallIssue]
|
20
22
|
elif provider == "azure":
|
21
|
-
return AzureChatOpenAI(model=model, api_version="2024-12-01-preview", azure_deployment=model, tags=tags)
|
22
|
-
elif provider == "
|
23
|
-
return
|
23
|
+
return AzureChatOpenAI(model=model, api_version="2024-12-01-preview", azure_deployment=model, tags=tags, stream_usage=True,)
|
24
|
+
elif provider == "gemini":
|
25
|
+
return ChatGoogleGenerativeAI(
|
26
|
+
model= model,
|
27
|
+
temperature=1.0,
|
28
|
+
max_retries=2
|
29
|
+
)
|
24
30
|
else:
|
25
31
|
raise ValueError(f"Unsupported provider: {provider}")
|
26
32
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agentr/integration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/__init__.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/__main__.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/context.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/graph.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/prompts.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/state.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/studio.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/autoagent/utils.py
RENAMED
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/__init__.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/sandbox.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/test.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/agents/codeact/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/__init__.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/application.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/applications/sample/app.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/client/token_store.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/integrations/__init__.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/integrations/integration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/docstring_parser.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/tools/func_metadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/installation.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/__inti__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/cli.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/docgen.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/filters.py
RENAMED
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/openapi.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/openapi/readme.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{universal_mcp-0.1.24rc11 → universal_mcp-0.1.24rc12}/src/universal_mcp/utils/templates/README.md.j2
RENAMED
File without changes
|
File without changes
|
File without changes
|