meshagent-cli 0.21.0__tar.gz → 0.23.0__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.
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/PKG-INFO +13 -11
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/agent.py +8 -2
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/call.py +15 -28
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/chatbot.py +580 -76
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/cli.py +3 -3
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/helper.py +40 -2
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/helpers.py +0 -3
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/host.py +4 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/mailbot.py +137 -76
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/meeting_transcriber.py +19 -11
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/messaging.py +1 -4
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/multi.py +53 -98
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/oauth2.py +164 -35
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/room.py +6 -2
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/services.py +238 -15
- meshagent_cli-0.23.0/meshagent/cli/sync.py +434 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/task_runner.py +625 -78
- meshagent_cli-0.23.0/meshagent/cli/version.py +1 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/voicebot.py +54 -34
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/worker.py +151 -75
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent_cli.egg-info/PKG-INFO +13 -11
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent_cli.egg-info/SOURCES.txt +1 -0
- meshagent_cli-0.23.0/meshagent_cli.egg-info/requires.txt +25 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/pyproject.toml +14 -11
- meshagent_cli-0.21.0/meshagent/cli/version.py +0 -1
- meshagent_cli-0.21.0/meshagent_cli.egg-info/requires.txt +0 -23
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/README.md +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/__init__.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/api_keys.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/async_typer.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/auth.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/auth_async.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/cli_mcp.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/cli_secrets.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/common_options.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/containers.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/database.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/developer.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/exec.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/mailboxes.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/participant_token.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/port.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/projects.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/queue.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/rooms.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/sessions.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/storage.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent/cli/webhook.py +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent_cli.egg-info/dependency_links.txt +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent_cli.egg-info/entry_points.txt +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/meshagent_cli.egg-info/top_level.txt +0 -0
- {meshagent_cli-0.21.0 → meshagent_cli-0.23.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.23.0
|
|
4
4
|
Summary: CLI for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -16,18 +16,20 @@ Requires-Dist: art~=6.5
|
|
|
16
16
|
Requires-Dist: pydantic-yaml~=1.5
|
|
17
17
|
Requires-Dist: pathspec~=0.12.1
|
|
18
18
|
Provides-Extra: all
|
|
19
|
-
Requires-Dist: meshagent-agents[all]~=0.
|
|
20
|
-
Requires-Dist: meshagent-api[all]~=0.
|
|
21
|
-
Requires-Dist: meshagent-computers~=0.
|
|
22
|
-
Requires-Dist: meshagent-openai~=0.
|
|
23
|
-
Requires-Dist: meshagent-
|
|
24
|
-
Requires-Dist: meshagent-
|
|
19
|
+
Requires-Dist: meshagent-agents[all]~=0.23.0; extra == "all"
|
|
20
|
+
Requires-Dist: meshagent-api[all]~=0.23.0; extra == "all"
|
|
21
|
+
Requires-Dist: meshagent-computers~=0.23.0; extra == "all"
|
|
22
|
+
Requires-Dist: meshagent-openai~=0.23.0; extra == "all"
|
|
23
|
+
Requires-Dist: meshagent-anthropic~=0.23.0; extra == "all"
|
|
24
|
+
Requires-Dist: meshagent-mcp~=0.23.0; extra == "all"
|
|
25
|
+
Requires-Dist: meshagent-tools~=0.23.0; extra == "all"
|
|
25
26
|
Requires-Dist: supabase-auth~=2.22.3; extra == "all"
|
|
27
|
+
Requires-Dist: prompt-toolkit~=3.0.52; extra == "all"
|
|
26
28
|
Provides-Extra: mcp-service
|
|
27
|
-
Requires-Dist: meshagent-agents[all]~=0.
|
|
28
|
-
Requires-Dist: meshagent-api~=0.
|
|
29
|
-
Requires-Dist: meshagent-mcp~=0.
|
|
30
|
-
Requires-Dist: meshagent-tools~=0.
|
|
29
|
+
Requires-Dist: meshagent-agents[all]~=0.23.0; extra == "mcp-service"
|
|
30
|
+
Requires-Dist: meshagent-api~=0.23.0; extra == "mcp-service"
|
|
31
|
+
Requires-Dist: meshagent-mcp~=0.23.0; extra == "mcp-service"
|
|
32
|
+
Requires-Dist: meshagent-tools~=0.23.0; extra == "mcp-service"
|
|
31
33
|
Requires-Dist: supabase-auth~=2.22.3; extra == "mcp-service"
|
|
32
34
|
|
|
33
35
|
# [Meshagent](https://www.meshagent.com)
|
|
@@ -10,6 +10,8 @@ from meshagent.api import (
|
|
|
10
10
|
RoomClient,
|
|
11
11
|
WebSocketClientProtocol,
|
|
12
12
|
RoomException,
|
|
13
|
+
TextResponse,
|
|
14
|
+
JsonResponse,
|
|
13
15
|
)
|
|
14
16
|
from meshagent.cli.helper import resolve_project_id
|
|
15
17
|
from meshagent.cli import async_typer
|
|
@@ -71,7 +73,12 @@ async def ask(
|
|
|
71
73
|
print("[magenta]Asking agent...[/magenta]")
|
|
72
74
|
|
|
73
75
|
response = await client.agents.ask(agent=agent, arguments=json.loads(input))
|
|
74
|
-
|
|
76
|
+
if isinstance(response, TextResponse):
|
|
77
|
+
print(response.text)
|
|
78
|
+
elif isinstance(response, JsonResponse):
|
|
79
|
+
print(json.dumps(response.json))
|
|
80
|
+
else:
|
|
81
|
+
print(response)
|
|
75
82
|
except RoomException as e:
|
|
76
83
|
print(f"[red]{e}[/red]")
|
|
77
84
|
finally:
|
|
@@ -196,7 +203,6 @@ async def list_agents_command(
|
|
|
196
203
|
"name": agent.name,
|
|
197
204
|
"title": agent.title,
|
|
198
205
|
"description": agent.description,
|
|
199
|
-
"requires": [r.to_json() for r in agent.requires],
|
|
200
206
|
"supports_tools": agent.supports_tools,
|
|
201
207
|
"labels": agent.labels,
|
|
202
208
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import typer
|
|
2
|
+
import os
|
|
2
3
|
from rich import print
|
|
3
4
|
from typing import Annotated, Optional
|
|
4
5
|
from meshagent.cli.common_options import ProjectIdOption, RoomOption
|
|
@@ -78,10 +79,6 @@ async def make_call(
|
|
|
78
79
|
room: RoomOption,
|
|
79
80
|
role: str = "agent",
|
|
80
81
|
local: Optional[bool] = None,
|
|
81
|
-
agent_name: Annotated[
|
|
82
|
-
Optional[str], typer.Option(..., help="deprecated and unused", hidden=True)
|
|
83
|
-
] = None,
|
|
84
|
-
name: Annotated[str, typer.Option(..., help="deprecated", hidden=True)] = None,
|
|
85
82
|
participant_name: Annotated[
|
|
86
83
|
Optional[str],
|
|
87
84
|
typer.Option(..., help="the participant name to be used by the callee"),
|
|
@@ -126,8 +123,6 @@ async def make_call(
|
|
|
126
123
|
room=room,
|
|
127
124
|
role=role,
|
|
128
125
|
local=local,
|
|
129
|
-
agent_name=agent_name,
|
|
130
|
-
name=name,
|
|
131
126
|
participant_name=participant_name,
|
|
132
127
|
url=url,
|
|
133
128
|
arguments=arguments,
|
|
@@ -142,10 +137,6 @@ async def _make_call(
|
|
|
142
137
|
room: RoomOption,
|
|
143
138
|
role: str = "agent",
|
|
144
139
|
local: Optional[bool] = None,
|
|
145
|
-
agent_name: Annotated[
|
|
146
|
-
Optional[str], typer.Option(..., help="deprecated and unused", hidden=True)
|
|
147
|
-
] = None,
|
|
148
|
-
name: Annotated[str, typer.Option(..., help="deprecated", hidden=True)] = None,
|
|
149
140
|
participant_name: Annotated[
|
|
150
141
|
Optional[str],
|
|
151
142
|
typer.Option(..., help="the participant name to be used by the callee"),
|
|
@@ -162,15 +153,6 @@ async def _make_call(
|
|
|
162
153
|
Instruct an agent to 'call' a given URL with specific arguments.
|
|
163
154
|
|
|
164
155
|
"""
|
|
165
|
-
if name is not None:
|
|
166
|
-
print("[yellow]name is deprecated and should no longer be passed[/yellow]")
|
|
167
|
-
|
|
168
|
-
if agent_name is not None:
|
|
169
|
-
print(
|
|
170
|
-
"[yellow]agent-name is deprecated and should no longer be passed, use participant-name instead[/yellow]"
|
|
171
|
-
)
|
|
172
|
-
participant_name = agent_name
|
|
173
|
-
|
|
174
156
|
if participant_name is None:
|
|
175
157
|
print("[red]--participant-name is required[/red]")
|
|
176
158
|
raise typer.Exit(1)
|
|
@@ -182,13 +164,18 @@ async def _make_call(
|
|
|
182
164
|
room = resolve_room(room)
|
|
183
165
|
|
|
184
166
|
if token is None:
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
167
|
+
jwt = os.getenv("MESHAGENT_TOKEN")
|
|
168
|
+
if jwt is None:
|
|
169
|
+
token = ParticipantToken(
|
|
170
|
+
name=participant_name,
|
|
171
|
+
)
|
|
172
|
+
token.add_api_grant(permissions or ApiScope.agent_default())
|
|
173
|
+
token.add_role_grant(role=role)
|
|
174
|
+
token.add_room_grant(room)
|
|
175
|
+
token.grants.append(ParticipantGrant(name="tunnel_ports", scope="9000"))
|
|
176
|
+
jwt = token.to_jwt(api_key=key)
|
|
177
|
+
else:
|
|
178
|
+
jwt = token.to_jwt(api_key=key)
|
|
192
179
|
|
|
193
180
|
if local is None:
|
|
194
181
|
local = is_local_url(url)
|
|
@@ -199,7 +186,7 @@ async def _make_call(
|
|
|
199
186
|
data = {
|
|
200
187
|
"room_url": websocket_room_url(room_name=room),
|
|
201
188
|
"room_name": room,
|
|
202
|
-
"token":
|
|
189
|
+
"token": jwt,
|
|
203
190
|
"arguments": json.loads(arguments)
|
|
204
191
|
if isinstance(arguments, str)
|
|
205
192
|
else arguments,
|
|
@@ -215,7 +202,7 @@ async def _make_call(
|
|
|
215
202
|
url=websocket_room_url(
|
|
216
203
|
room_name=room, base_url=meshagent_base_url()
|
|
217
204
|
),
|
|
218
|
-
token=
|
|
205
|
+
token=jwt,
|
|
219
206
|
)
|
|
220
207
|
) as client:
|
|
221
208
|
print("[bold green]Making agent call...[/bold green]")
|