meshagent-cli 0.0.27__py3-none-any.whl → 0.0.29__py3-none-any.whl

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.

Potentially problematic release.


This version of meshagent-cli might be problematic. Click here for more details.

meshagent/cli/cli_mcp.py CHANGED
@@ -5,7 +5,7 @@ from mcp.client.stdio import stdio_client, StdioServerParameters
5
5
 
6
6
  import typer
7
7
  from rich import print
8
- from typing import Annotated, Optional
8
+ from typing import Annotated, Optional, List
9
9
 
10
10
  from meshagent.api.helpers import meshagent_base_url, websocket_room_url
11
11
  from meshagent.api import RoomClient, ParticipantToken, WebSocketClientProtocol, RoomException
@@ -21,13 +21,17 @@ from pathlib import Path
21
21
  from meshagent.api.services import ServiceHost
22
22
  import os
23
23
 
24
+ from meshagent.cli.services import _kv_to_dict
24
25
 
25
26
  import shlex
26
27
 
27
28
  app = async_typer.AsyncTyper()
28
29
 
29
30
  @app.async_command("sse")
30
- async def sse(*, project_id: str = None, room: Annotated[str, typer.Option()], token_path: Annotated[Optional[str], typer.Option()] = None, api_key_id: Annotated[Optional[str], typer.Option()] = None, name: Annotated[str, typer.Option(..., help="Participant name")] = "cli", role: str = "tool", url: Annotated[str, typer.Option()]):
31
+ async def sse(*, project_id: str = None, room: Annotated[str, typer.Option()], token_path: Annotated[Optional[str], typer.Option()] = None, api_key_id: Annotated[Optional[str], typer.Option()] = None, name: Annotated[str, typer.Option(..., help="Participant name")] = "cli", role: str = "tool", url: Annotated[str, typer.Option()], toolkit_name: Annotated[Optional[str], typer.Option()] = None):
32
+ if toolkit_name == None:
33
+ toolkit_name = "mcp"
34
+
31
35
  account_client = await get_client()
32
36
  try:
33
37
  project_id = await resolve_project_id(project_id=project_id)
@@ -44,7 +48,7 @@ async def sse(*, project_id: str = None, room: Annotated[str, typer.Option()], t
44
48
 
45
49
  mcp_tools_response = await session.list_tools()
46
50
 
47
- toolkit = MCPToolkit(name=name, session=session, tools=mcp_tools_response.tools)
51
+ toolkit = MCPToolkit(name=toolkit_name, session=session, tools=mcp_tools_response.tools)
48
52
 
49
53
  remote_toolkit = RemoteToolkit(name=toolkit.name, tools=toolkit.tools, title=toolkit.title, description=toolkit.description)
50
54
 
@@ -61,7 +65,10 @@ async def sse(*, project_id: str = None, room: Annotated[str, typer.Option()], t
61
65
  await account_client.close()
62
66
 
63
67
  @app.async_command("stdio")
64
- async def stdio(*, project_id: str = None, room: Annotated[str, typer.Option()], token_path: Annotated[Optional[str], typer.Option()] = None, api_key_id: Annotated[Optional[str], typer.Option()] = None, name: Annotated[str, typer.Option(..., help="Participant name")] = "cli", role: str = "tool", command: Annotated[str, typer.Option()]):
68
+ async def stdio(*, project_id: str = None, room: Annotated[str, typer.Option()], token_path: Annotated[Optional[str], typer.Option()] = None, api_key_id: Annotated[Optional[str], typer.Option()] = None, name: Annotated[str, typer.Option(..., help="Participant name")] = "cli", role: str = "tool", command: Annotated[str, typer.Option()], toolkit_name: Annotated[Optional[str], typer.Option()] = None, env: Annotated[List[str], typer.Option("--env", "-e", help="KEY=VALUE")] = []):
69
+ if toolkit_name == None:
70
+ toolkit_name = "mcp"
71
+
65
72
  account_client = await get_client()
66
73
  try:
67
74
  project_id = await resolve_project_id(project_id=project_id)
@@ -77,14 +84,14 @@ async def stdio(*, project_id: str = None, room: Annotated[str, typer.Option()],
77
84
  async with stdio_client(StdioServerParameters(
78
85
  command=parsed_command[0], # Executable
79
86
  args=parsed_command[1:], # Optional command line arguments
80
- env=None, # Optional environment variables
87
+ env=_kv_to_dict(env), # Optional environment variables
81
88
  )) as (read_stream, write_stream):
82
89
 
83
90
  async with ClientSession(read_stream=read_stream, write_stream=write_stream) as session:
84
91
 
85
92
  mcp_tools_response = await session.list_tools()
86
93
 
87
- toolkit = MCPToolkit(name=name, session=session, tools=mcp_tools_response.tools)
94
+ toolkit = MCPToolkit(name=toolkit_name, session=session, tools=mcp_tools_response.tools)
88
95
 
89
96
  remote_toolkit = RemoteToolkit(name=toolkit.name, tools=toolkit.tools, title=toolkit.title, description=toolkit.description)
90
97
 
@@ -102,7 +109,7 @@ async def stdio(*, project_id: str = None, room: Annotated[str, typer.Option()],
102
109
 
103
110
 
104
111
  @app.async_command("stdio-service")
105
- async def stdio_host(*, command: Annotated[str, typer.Option()], host: Annotated[Optional[str], typer.Option()] = None, port: Annotated[Optional[int], typer.Option()] = None, webhook_secret: Annotated[Optional[str], typer.Option()] = None, path: Annotated[Optional[str], typer.Option()] = None):
112
+ async def stdio_host(*, command: Annotated[str, typer.Option()], host: Annotated[Optional[str], typer.Option()] = None, port: Annotated[Optional[int], typer.Option()] = None, webhook_secret: Annotated[Optional[str], typer.Option()] = None, path: Annotated[Optional[str], typer.Option()] = None, toolkit_name: Annotated[Optional[str], typer.Option()] = None, env: Annotated[List[str], typer.Option("--env", "-e", help="KEY=VALUE")] = []):
106
113
 
107
114
  try:
108
115
 
@@ -111,14 +118,17 @@ async def stdio_host(*, command: Annotated[str, typer.Option()], host: Annotat
111
118
  async with stdio_client(StdioServerParameters(
112
119
  command=parsed_command[0], # Executable
113
120
  args=parsed_command[1:], # Optional command line arguments
114
- env=None, # Optional environment variables
121
+ env=_kv_to_dict(env), # Optional environment variables
115
122
  )) as (read_stream, write_stream):
116
123
 
117
124
  async with ClientSession(read_stream=read_stream, write_stream=write_stream) as session:
118
-
125
+
119
126
  mcp_tools_response = await session.list_tools()
120
127
 
121
- toolkit = MCPToolkit(name="mcp", session=session, tools=mcp_tools_response.tools)
128
+ if toolkit_name == None:
129
+ toolkit_name = "mcp"
130
+
131
+ toolkit = MCPToolkit(name=toolkit_name, session=session, tools=mcp_tools_response.tools)
122
132
 
123
133
  if port == None:
124
134
 
meshagent/cli/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.27"
1
+ __version__ = "0.0.29"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshagent-cli
3
- Version: 0.0.27
3
+ Version: 0.0.29
4
4
  Summary: CLI for Meshagent
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Documentation, https://docs.meshagent.com
@@ -10,10 +10,10 @@ Requires-Python: >=3.12
10
10
  Description-Content-Type: text/markdown
11
11
  Requires-Dist: typer~=0.15.3
12
12
  Requires-Dist: pydantic-yaml~=1.4.0
13
- Requires-Dist: meshagent-api~=0.0.27
14
- Requires-Dist: meshagent-agents~=0.0.27
15
- Requires-Dist: meshagent-tools~=0.0.27
16
- Requires-Dist: meshagent-mcp~=0.0.27
13
+ Requires-Dist: meshagent-api~=0.0.29
14
+ Requires-Dist: meshagent-agents~=0.0.29
15
+ Requires-Dist: meshagent-tools~=0.0.29
16
+ Requires-Dist: meshagent-mcp~=0.0.29
17
17
  Requires-Dist: supabase~=2.15.1
18
18
 
19
19
  ### Meshagent CLI
@@ -7,7 +7,7 @@ meshagent/cli/auth_async.py,sha256=LArKxTxQAPmItv0JaGkW3Ybutl6MVmb6_EeSjI18IbI,4
7
7
  meshagent/cli/call.py,sha256=M8oMo-hsYIzQzMF0OMNdJuoYCjDwtYUtdV1hCwZs0co,4610
8
8
  meshagent/cli/chatbot.py,sha256=ylW_jSvY1OWDs7LPsyEIz8-x_BaInnIgmpcQZqwOdmg,3016
9
9
  meshagent/cli/cli.py,sha256=G7RAwd3LzS4LHpvyCD51XS0vjwR2Ml7feUfBP2VdwUs,1338
10
- meshagent/cli/cli_mcp.py,sha256=rHU5rZFJMPiYRWMHvrQub15gIqAuLDS979Q-fMJJ2BU,6830
10
+ meshagent/cli/cli_mcp.py,sha256=-H4DtUGXZeWT2P7P9_5hOLRDq_l9xr1NoRLW_vDToRo,7462
11
11
  meshagent/cli/cli_secrets.py,sha256=U0kdzN3zt7JIqzdRLynAjxdvAsI0enesBd_m7TeXjnQ,13629
12
12
  meshagent/cli/developer.py,sha256=5eoDr3kfi-IufA5d6OESqNr739Bdut_IFBtT3nq0xZU,3002
13
13
  meshagent/cli/helper.py,sha256=hcY6C5BqGnYmwFVIG7nS9NPIZXbdpOoEna-t0mYmHGY,4632
@@ -17,11 +17,11 @@ meshagent/cli/projects.py,sha256=Tut8kRCVvgdWzlAR1Zqf0QxAi4sNfQEIHY9zxfS1nuI,110
17
17
  meshagent/cli/services.py,sha256=5uVfW8LX8IJ_Y03bkaC7wYvuLJltlAhhqNonavgqHqs,11042
18
18
  meshagent/cli/sessions.py,sha256=WWvuztYqRfthSq6ztwL_eQ_sz9JRc33jcN6p7YyM_Fs,782
19
19
  meshagent/cli/storage.py,sha256=BsagaJfThrUWqXFyAk9IvQtUuDAMckE2mffZ_peozMo,33555
20
- meshagent/cli/version.py,sha256=XJ5NZRv5ahaSlYm7_PUNTixULma76xIxwxi2Yy6Eb8w,23
20
+ meshagent/cli/version.py,sha256=x-mEbDNfu7r2SKAGR0A7P0FwPyhhSxJRlutHkucLsHk,23
21
21
  meshagent/cli/voicebot.py,sha256=svsCqz4kP-Xm9uw68SDsmeiezFZpuiakmSdR5nHLTAM,3264
22
22
  meshagent/cli/webhook.py,sha256=KBl8U1TcOX3z2uoyH4YMuUuw0vSVX7xpRxYvzxI5c-Y,2811
23
- meshagent_cli-0.0.27.dist-info/METADATA,sha256=PKyGr5KRC-zC36UeZgEpElCYb5UXVWe10VyVlZ-4flM,605
24
- meshagent_cli-0.0.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
25
- meshagent_cli-0.0.27.dist-info/entry_points.txt,sha256=WRcGGN4vMtvC5Pgl3uRFqsJiQXNoHuLLa-TCSY3gAhQ,52
26
- meshagent_cli-0.0.27.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
27
- meshagent_cli-0.0.27.dist-info/RECORD,,
23
+ meshagent_cli-0.0.29.dist-info/METADATA,sha256=FTwd-E8lAc2jbITtu5uiHRMjEbufxZGHSjHOM0w1pws,605
24
+ meshagent_cli-0.0.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
25
+ meshagent_cli-0.0.29.dist-info/entry_points.txt,sha256=WRcGGN4vMtvC5Pgl3uRFqsJiQXNoHuLLa-TCSY3gAhQ,52
26
+ meshagent_cli-0.0.29.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
27
+ meshagent_cli-0.0.29.dist-info/RECORD,,