meshagent-cli 0.3.0__py3-none-any.whl → 0.4.1__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/chatbot.py +26 -0
- meshagent/cli/cli.py +2 -0
- meshagent/cli/mailbot.py +241 -0
- meshagent/cli/projects.py +15 -2
- meshagent/cli/version.py +1 -1
- meshagent/cli/voicebot.py +17 -0
- {meshagent_cli-0.3.0.dist-info → meshagent_cli-0.4.1.dist-info}/METADATA +7 -7
- {meshagent_cli-0.3.0.dist-info → meshagent_cli-0.4.1.dist-info}/RECORD +11 -10
- {meshagent_cli-0.3.0.dist-info → meshagent_cli-0.4.1.dist-info}/WHEEL +0 -0
- {meshagent_cli-0.3.0.dist-info → meshagent_cli-0.4.1.dist-info}/entry_points.txt +0 -0
- {meshagent_cli-0.3.0.dist-info → meshagent_cli-0.4.1.dist-info}/top_level.txt +0 -0
meshagent/cli/chatbot.py
CHANGED
|
@@ -22,7 +22,9 @@ from meshagent.agents.chat import (
|
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
from typing import List
|
|
25
|
+
from pathlib import Path
|
|
25
26
|
|
|
27
|
+
from meshagent.openai.tools.responses_adapter import WebSearchTool
|
|
26
28
|
from meshagent.api import RequiredToolkit, RequiredSchema
|
|
27
29
|
|
|
28
30
|
app = async_typer.AsyncTyper()
|
|
@@ -38,6 +40,8 @@ def build_chatbot(
|
|
|
38
40
|
image_generation: Optional[str] = None,
|
|
39
41
|
local_shell: bool,
|
|
40
42
|
computer_use: bool,
|
|
43
|
+
web_search: bool,
|
|
44
|
+
rules_file: Optional[str] = None,
|
|
41
45
|
):
|
|
42
46
|
requirements = []
|
|
43
47
|
|
|
@@ -49,6 +53,13 @@ def build_chatbot(
|
|
|
49
53
|
for t in schema:
|
|
50
54
|
requirements.append(RequiredSchema(name=t))
|
|
51
55
|
|
|
56
|
+
if rules_file is not None:
|
|
57
|
+
try:
|
|
58
|
+
with open(Path(rules_file).resolve(), "r") as f:
|
|
59
|
+
rule.extend(f.read().splitlines())
|
|
60
|
+
except FileNotFoundError:
|
|
61
|
+
print(f"[yellow]rules file not found at {rules_file}[/yellow]")
|
|
62
|
+
|
|
52
63
|
BaseClass = ChatBot
|
|
53
64
|
if computer_use:
|
|
54
65
|
BaseClass = ComputerAgent
|
|
@@ -95,6 +106,9 @@ def build_chatbot(
|
|
|
95
106
|
)
|
|
96
107
|
)
|
|
97
108
|
|
|
109
|
+
if web_search:
|
|
110
|
+
thread_toolkit.tools.append(WebSearchTool())
|
|
111
|
+
|
|
98
112
|
toolkits.append(thread_toolkit)
|
|
99
113
|
return toolkits
|
|
100
114
|
|
|
@@ -111,6 +125,7 @@ async def make_call(
|
|
|
111
125
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
112
126
|
token_path: Annotated[Optional[str], typer.Option()] = None,
|
|
113
127
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
128
|
+
rules_file: Optional[str] = None,
|
|
114
129
|
toolkit: Annotated[
|
|
115
130
|
List[str],
|
|
116
131
|
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
@@ -134,6 +149,9 @@ async def make_call(
|
|
|
134
149
|
local_shell: Annotated[
|
|
135
150
|
Optional[bool], typer.Option(..., help="Enable local shell tool calling")
|
|
136
151
|
] = False,
|
|
152
|
+
web_search: Annotated[
|
|
153
|
+
Optional[bool], typer.Option(..., help="Enable web search tool calling")
|
|
154
|
+
] = False,
|
|
137
155
|
):
|
|
138
156
|
account_client = await get_client()
|
|
139
157
|
try:
|
|
@@ -174,6 +192,8 @@ async def make_call(
|
|
|
174
192
|
toolkit=toolkit,
|
|
175
193
|
schema=schema,
|
|
176
194
|
image_generation=image_generation,
|
|
195
|
+
web_search=web_search,
|
|
196
|
+
rules_file=rules_file,
|
|
177
197
|
)
|
|
178
198
|
|
|
179
199
|
bot = CustomChatbot()
|
|
@@ -198,6 +218,7 @@ async def service(
|
|
|
198
218
|
room: Annotated[Optional[str], typer.Option()] = None,
|
|
199
219
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
200
220
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
221
|
+
rules_file: Optional[str] = None,
|
|
201
222
|
toolkit: Annotated[
|
|
202
223
|
List[str],
|
|
203
224
|
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
@@ -221,6 +242,9 @@ async def service(
|
|
|
221
242
|
..., help="Enable computer use (requires computer-use-preview model)"
|
|
222
243
|
),
|
|
223
244
|
] = False,
|
|
245
|
+
web_search: Annotated[
|
|
246
|
+
Optional[bool], typer.Option(..., help="Enable web search tool calling")
|
|
247
|
+
] = False,
|
|
224
248
|
host: Annotated[Optional[str], typer.Option()] = None,
|
|
225
249
|
port: Annotated[Optional[int], typer.Option()] = None,
|
|
226
250
|
path: Annotated[str, typer.Option()] = "/agent",
|
|
@@ -240,7 +264,9 @@ async def service(
|
|
|
240
264
|
rule=rule,
|
|
241
265
|
toolkit=toolkit,
|
|
242
266
|
schema=schema,
|
|
267
|
+
web_search=web_search,
|
|
243
268
|
image_generation=image_generation,
|
|
269
|
+
rules_file=rules_file,
|
|
244
270
|
),
|
|
245
271
|
)
|
|
246
272
|
|
meshagent/cli/cli.py
CHANGED
|
@@ -21,6 +21,7 @@ from meshagent.cli import call
|
|
|
21
21
|
from meshagent.cli import cli_mcp
|
|
22
22
|
from meshagent.cli import chatbot
|
|
23
23
|
from meshagent.cli import voicebot
|
|
24
|
+
from meshagent.cli import mailbot
|
|
24
25
|
from meshagent.cli.exec import register as register_exec
|
|
25
26
|
|
|
26
27
|
from meshagent.cli import otel
|
|
@@ -59,6 +60,7 @@ app.add_typer(queue.app, name="queue")
|
|
|
59
60
|
app.add_typer(cli_mcp.app, name="mcp")
|
|
60
61
|
app.add_typer(chatbot.app, name="chatbot")
|
|
61
62
|
app.add_typer(voicebot.app, name="voicebot")
|
|
63
|
+
app.add_typer(mailbot.app, name="mailbot")
|
|
62
64
|
|
|
63
65
|
register_exec(app)
|
|
64
66
|
|
meshagent/cli/mailbot.py
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
from meshagent.agents.mail import MailWorker
|
|
2
|
+
|
|
3
|
+
import typer
|
|
4
|
+
from rich import print
|
|
5
|
+
from typing import Annotated, Optional
|
|
6
|
+
from meshagent.tools import Toolkit
|
|
7
|
+
from meshagent.api import RoomClient, WebSocketClientProtocol
|
|
8
|
+
from meshagent.api.helpers import meshagent_base_url, websocket_room_url
|
|
9
|
+
from meshagent.cli import async_typer
|
|
10
|
+
from meshagent.cli.helper import (
|
|
11
|
+
get_client,
|
|
12
|
+
resolve_project_id,
|
|
13
|
+
resolve_api_key,
|
|
14
|
+
resolve_token_jwt,
|
|
15
|
+
resolve_room,
|
|
16
|
+
)
|
|
17
|
+
from meshagent.openai import OpenAIResponsesAdapter
|
|
18
|
+
from meshagent.openai.tools.responses_adapter import ImageGenerationTool, LocalShellTool
|
|
19
|
+
from meshagent.api.services import ServiceHost
|
|
20
|
+
|
|
21
|
+
from meshagent.agents.mail import room_address
|
|
22
|
+
from typing import List
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
|
|
25
|
+
from meshagent.api import RequiredToolkit, RequiredSchema
|
|
26
|
+
from meshagent.openai.tools.responses_adapter import WebSearchTool
|
|
27
|
+
|
|
28
|
+
app = async_typer.AsyncTyper()
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def build_mailbot(
|
|
32
|
+
*,
|
|
33
|
+
model: str,
|
|
34
|
+
agent_name: str,
|
|
35
|
+
rule: List[str],
|
|
36
|
+
toolkit: List[str],
|
|
37
|
+
schema: List[str],
|
|
38
|
+
image_generation: Optional[str] = None,
|
|
39
|
+
local_shell: bool,
|
|
40
|
+
computer_use: bool,
|
|
41
|
+
rules_file: Optional[str] = None,
|
|
42
|
+
web_search: Annotated[
|
|
43
|
+
Optional[bool], typer.Option(..., help="Enable web search tool calling")
|
|
44
|
+
] = False,
|
|
45
|
+
):
|
|
46
|
+
requirements = []
|
|
47
|
+
|
|
48
|
+
toolkits = []
|
|
49
|
+
|
|
50
|
+
for t in toolkit:
|
|
51
|
+
requirements.append(RequiredToolkit(name=t))
|
|
52
|
+
|
|
53
|
+
for t in schema:
|
|
54
|
+
requirements.append(RequiredSchema(name=t))
|
|
55
|
+
|
|
56
|
+
if rules_file is not None:
|
|
57
|
+
try:
|
|
58
|
+
with open(Path(rules_file).resolve(), "r") as f:
|
|
59
|
+
rule.extend(f.read().splitlines())
|
|
60
|
+
except FileNotFoundError:
|
|
61
|
+
print(f"[yellow]rules file not found at {rules_file}[/yellow]")
|
|
62
|
+
|
|
63
|
+
BaseClass = MailWorker
|
|
64
|
+
if computer_use:
|
|
65
|
+
raise ValueError("computer use is not yet supported for the mail agent")
|
|
66
|
+
else:
|
|
67
|
+
llm_adapter = OpenAIResponsesAdapter(model=model)
|
|
68
|
+
|
|
69
|
+
class CustomMailbot(BaseClass):
|
|
70
|
+
def __init__(self):
|
|
71
|
+
super().__init__(
|
|
72
|
+
llm_adapter=llm_adapter,
|
|
73
|
+
name=agent_name,
|
|
74
|
+
requires=requirements,
|
|
75
|
+
toolkits=toolkits,
|
|
76
|
+
rules=rule if len(rule) > 0 else None,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
async def get_thread_toolkits(self, *, thread_context):
|
|
80
|
+
toolkits = await super().get_thread_toolkits(thread_context=thread_context)
|
|
81
|
+
|
|
82
|
+
thread_toolkit = Toolkit(name="thread_toolkit", tools=[])
|
|
83
|
+
|
|
84
|
+
if local_shell:
|
|
85
|
+
thread_toolkit.tools.append(
|
|
86
|
+
LocalShellTool(thread_context=thread_context)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
if image_generation is not None:
|
|
90
|
+
print("adding openai image gen to thread", flush=True)
|
|
91
|
+
thread_toolkit.tools.append(
|
|
92
|
+
ImageGenerationTool(
|
|
93
|
+
model=image_generation,
|
|
94
|
+
thread_context=thread_context,
|
|
95
|
+
partial_images=3,
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
if web_search:
|
|
100
|
+
thread_toolkit.tools.append(WebSearchTool())
|
|
101
|
+
|
|
102
|
+
toolkits.append(thread_toolkit)
|
|
103
|
+
return toolkits
|
|
104
|
+
|
|
105
|
+
return CustomMailbot
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
@app.async_command("join")
|
|
109
|
+
async def make_call(
|
|
110
|
+
*,
|
|
111
|
+
project_id: str = None,
|
|
112
|
+
room: Annotated[Optional[str], typer.Option()] = None,
|
|
113
|
+
api_key_id: Annotated[Optional[str], typer.Option()] = None,
|
|
114
|
+
role: str = "agent",
|
|
115
|
+
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
116
|
+
token_path: Annotated[Optional[str], typer.Option()] = None,
|
|
117
|
+
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
118
|
+
rules_file: Optional[str] = None,
|
|
119
|
+
toolkit: Annotated[
|
|
120
|
+
List[str],
|
|
121
|
+
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
122
|
+
] = [],
|
|
123
|
+
schema: Annotated[
|
|
124
|
+
List[str],
|
|
125
|
+
typer.Option("--schema", "-s", help="the name or url of a required schema"),
|
|
126
|
+
] = [],
|
|
127
|
+
model: Annotated[
|
|
128
|
+
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
129
|
+
] = "gpt-4o",
|
|
130
|
+
local_shell: Annotated[
|
|
131
|
+
Optional[bool], typer.Option(..., help="Enable local shell tool calling")
|
|
132
|
+
] = False,
|
|
133
|
+
web_search: Annotated[
|
|
134
|
+
Optional[bool], typer.Option(..., help="Enable web search tool calling")
|
|
135
|
+
] = False,
|
|
136
|
+
):
|
|
137
|
+
account_client = await get_client()
|
|
138
|
+
try:
|
|
139
|
+
project_id = await resolve_project_id(project_id=project_id)
|
|
140
|
+
api_key_id = await resolve_api_key(project_id, api_key_id)
|
|
141
|
+
|
|
142
|
+
room = resolve_room(room)
|
|
143
|
+
jwt = await resolve_token_jwt(
|
|
144
|
+
project_id=project_id,
|
|
145
|
+
api_key_id=api_key_id,
|
|
146
|
+
token_path=token_path,
|
|
147
|
+
name=agent_name,
|
|
148
|
+
role=role,
|
|
149
|
+
room=room,
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
print("[bold green]Connecting to room...[/bold green]", flush=True)
|
|
153
|
+
async with RoomClient(
|
|
154
|
+
protocol=WebSocketClientProtocol(
|
|
155
|
+
url=websocket_room_url(room_name=room, base_url=meshagent_base_url()),
|
|
156
|
+
token=jwt,
|
|
157
|
+
)
|
|
158
|
+
) as client:
|
|
159
|
+
requirements = []
|
|
160
|
+
|
|
161
|
+
for t in toolkit:
|
|
162
|
+
requirements.append(RequiredToolkit(name=t))
|
|
163
|
+
|
|
164
|
+
for t in schema:
|
|
165
|
+
requirements.append(RequiredSchema(name=t))
|
|
166
|
+
|
|
167
|
+
CustomMailbot = build_mailbot(
|
|
168
|
+
computer_use=None,
|
|
169
|
+
model=model,
|
|
170
|
+
local_shell=local_shell,
|
|
171
|
+
agent_name=agent_name,
|
|
172
|
+
rule=rule,
|
|
173
|
+
toolkit=toolkit,
|
|
174
|
+
schema=schema,
|
|
175
|
+
image_generation=None,
|
|
176
|
+
web_search=web_search,
|
|
177
|
+
rules_file=rules_file,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
bot = CustomMailbot()
|
|
181
|
+
|
|
182
|
+
await bot.start(room=client)
|
|
183
|
+
try:
|
|
184
|
+
print(
|
|
185
|
+
f"[bold green]Send an email interact with your agent: {room_address(project_id=project_id, room_name=room)}[/bold green]",
|
|
186
|
+
flush=True,
|
|
187
|
+
)
|
|
188
|
+
await client.protocol.wait_for_close()
|
|
189
|
+
except KeyboardInterrupt:
|
|
190
|
+
await bot.stop()
|
|
191
|
+
|
|
192
|
+
finally:
|
|
193
|
+
await account_client.close()
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
@app.async_command("service")
|
|
197
|
+
async def service(
|
|
198
|
+
*,
|
|
199
|
+
room: Annotated[Optional[str], typer.Option()] = None,
|
|
200
|
+
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
201
|
+
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
202
|
+
rules_file: Optional[str] = None,
|
|
203
|
+
toolkit: Annotated[
|
|
204
|
+
List[str],
|
|
205
|
+
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
206
|
+
] = [],
|
|
207
|
+
schema: Annotated[
|
|
208
|
+
List[str],
|
|
209
|
+
typer.Option("--schema", "-s", help="the name or url of a required schema"),
|
|
210
|
+
] = [],
|
|
211
|
+
model: Annotated[
|
|
212
|
+
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
213
|
+
] = "gpt-4o",
|
|
214
|
+
local_shell: Annotated[
|
|
215
|
+
Optional[bool], typer.Option(..., help="Enable local shell tool calling")
|
|
216
|
+
] = False,
|
|
217
|
+
host: Annotated[Optional[str], typer.Option()] = None,
|
|
218
|
+
port: Annotated[Optional[int], typer.Option()] = None,
|
|
219
|
+
path: Annotated[str, typer.Option()] = "/agent",
|
|
220
|
+
):
|
|
221
|
+
room = resolve_room(room)
|
|
222
|
+
|
|
223
|
+
print("[bold green]Connecting to room...[/bold green]", flush=True)
|
|
224
|
+
|
|
225
|
+
service = ServiceHost(host=host, port=port)
|
|
226
|
+
service.add_path(
|
|
227
|
+
path=path,
|
|
228
|
+
cls=build_mailbot(
|
|
229
|
+
computer_use=None,
|
|
230
|
+
model=model,
|
|
231
|
+
local_shell=local_shell,
|
|
232
|
+
agent_name=agent_name,
|
|
233
|
+
rule=rule,
|
|
234
|
+
toolkit=toolkit,
|
|
235
|
+
schema=schema,
|
|
236
|
+
image_generation=None,
|
|
237
|
+
rules_file=rules_file,
|
|
238
|
+
),
|
|
239
|
+
)
|
|
240
|
+
|
|
241
|
+
await service.run()
|
meshagent/cli/projects.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import typer
|
|
2
2
|
from rich import print
|
|
3
|
+
from typing import Annotated
|
|
3
4
|
from meshagent.cli import async_typer
|
|
4
5
|
from meshagent.cli.helper import (
|
|
5
6
|
get_client,
|
|
@@ -22,7 +23,16 @@ async def create(name: str):
|
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
@app.async_command("list")
|
|
25
|
-
async def list(
|
|
26
|
+
async def list(
|
|
27
|
+
o: Annotated[
|
|
28
|
+
str,
|
|
29
|
+
typer.Option(
|
|
30
|
+
"--output",
|
|
31
|
+
"-o",
|
|
32
|
+
help="output format [json|table]",
|
|
33
|
+
),
|
|
34
|
+
] = "table",
|
|
35
|
+
):
|
|
26
36
|
client = await get_client()
|
|
27
37
|
projects = await client.list_projects()
|
|
28
38
|
active_project = await get_active_project()
|
|
@@ -30,7 +40,10 @@ async def list():
|
|
|
30
40
|
if project["id"] == active_project:
|
|
31
41
|
project["name"] = "*" + project["name"]
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
if o == "json":
|
|
44
|
+
print(projects)
|
|
45
|
+
else:
|
|
46
|
+
print_json_table(projects["projects"], "id", "name")
|
|
34
47
|
await client.close()
|
|
35
48
|
|
|
36
49
|
|
meshagent/cli/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "0.4.1"
|
meshagent/cli/voicebot.py
CHANGED
|
@@ -15,6 +15,7 @@ from typing import List
|
|
|
15
15
|
|
|
16
16
|
from meshagent.api import RequiredToolkit, RequiredSchema
|
|
17
17
|
from meshagent.api.services import ServiceHost
|
|
18
|
+
from pathlib import Path
|
|
18
19
|
|
|
19
20
|
try:
|
|
20
21
|
from meshagent.livekit.agents.voice import VoiceBot
|
|
@@ -41,6 +42,7 @@ async def make_call(
|
|
|
41
42
|
role: str = "agent",
|
|
42
43
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
43
44
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
45
|
+
rules_file: Optional[str] = None,
|
|
44
46
|
toolkit: Annotated[
|
|
45
47
|
List[str],
|
|
46
48
|
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
@@ -68,6 +70,13 @@ async def make_call(
|
|
|
68
70
|
room=room,
|
|
69
71
|
)
|
|
70
72
|
|
|
73
|
+
if rules_file is not None:
|
|
74
|
+
try:
|
|
75
|
+
with open(Path(rules_file).resolve(), "r") as f:
|
|
76
|
+
rule.extend(f.read().splitlines())
|
|
77
|
+
except FileNotFoundError:
|
|
78
|
+
print(f"[yellow]rules file not found at {rules_file}[/yellow]")
|
|
79
|
+
|
|
71
80
|
print("[bold green]Connecting to room...[/bold green]", flush=True)
|
|
72
81
|
async with RoomClient(
|
|
73
82
|
protocol=WebSocketClientProtocol(
|
|
@@ -112,6 +121,7 @@ async def service(
|
|
|
112
121
|
project_id: str = None,
|
|
113
122
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
114
123
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
124
|
+
rules_file: Optional[str] = None,
|
|
115
125
|
toolkit: Annotated[
|
|
116
126
|
List[str],
|
|
117
127
|
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
@@ -134,6 +144,13 @@ async def service(
|
|
|
134
144
|
for t in schema:
|
|
135
145
|
requirements.append(RequiredSchema(name=t))
|
|
136
146
|
|
|
147
|
+
if rules_file is not None:
|
|
148
|
+
try:
|
|
149
|
+
with open(Path(rules_file).resolve(), "r") as f:
|
|
150
|
+
rule.extend(f.read().splitlines())
|
|
151
|
+
except FileNotFoundError:
|
|
152
|
+
print(f"[yellow]rules file not found at {rules_file}[/yellow]")
|
|
153
|
+
|
|
137
154
|
service = ServiceHost(host=host, port=port)
|
|
138
155
|
|
|
139
156
|
@service.path(path=path)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: CLI for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -10,12 +10,12 @@ Requires-Python: >=3.12
|
|
|
10
10
|
Description-Content-Type: text/markdown
|
|
11
11
|
Requires-Dist: typer~=0.15
|
|
12
12
|
Requires-Dist: pydantic-yaml~=1.4
|
|
13
|
-
Requires-Dist: meshagent-api~=0.
|
|
14
|
-
Requires-Dist: meshagent-agents~=0.
|
|
15
|
-
Requires-Dist: meshagent-computers~=0.
|
|
16
|
-
Requires-Dist: meshagent-openai~=0.
|
|
17
|
-
Requires-Dist: meshagent-tools~=0.
|
|
18
|
-
Requires-Dist: meshagent-mcp~=0.
|
|
13
|
+
Requires-Dist: meshagent-api~=0.4.1
|
|
14
|
+
Requires-Dist: meshagent-agents~=0.4.1
|
|
15
|
+
Requires-Dist: meshagent-computers~=0.4.1
|
|
16
|
+
Requires-Dist: meshagent-openai~=0.4.1
|
|
17
|
+
Requires-Dist: meshagent-tools~=0.4.1
|
|
18
|
+
Requires-Dist: meshagent-mcp~=0.4.1
|
|
19
19
|
Requires-Dist: supabase~=2.15
|
|
20
20
|
Requires-Dist: fastmcp~=2.8
|
|
21
21
|
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
@@ -5,26 +5,27 @@ meshagent/cli/async_typer.py,sha256=GCeSefBDbpd-V4V8LrvHGUTBMth3HspVMfFa-HUZ0cg,
|
|
|
5
5
|
meshagent/cli/auth.py,sha256=tPipbOtHnsrvJ-OUOE-lyfvvIhkTIGYlkgS81hLdyB8,783
|
|
6
6
|
meshagent/cli/auth_async.py,sha256=mi2-u949M412PAMN-PCdHEiF9hGf0W3m1RAseZX07-w,4058
|
|
7
7
|
meshagent/cli/call.py,sha256=aVRs-7QDZWxK8jYc71oACNIkHuoDe1KUyfl8EtUbj-0,5306
|
|
8
|
-
meshagent/cli/chatbot.py,sha256=
|
|
9
|
-
meshagent/cli/cli.py,sha256=
|
|
8
|
+
meshagent/cli/chatbot.py,sha256=eeQsO_94x34WyWER1H8LnutH6p4xnm3XL6SCeuoV1K0,8888
|
|
9
|
+
meshagent/cli/cli.py,sha256=vxAIGcc_XF9X07PQYxgBK3vtHpWBUvILVEmZhCSbEns,6524
|
|
10
10
|
meshagent/cli/cli_mcp.py,sha256=BTTAMn3u4i1uTDItFxmxMTsSAvFaWtdI3YdZngHz11g,10641
|
|
11
11
|
meshagent/cli/cli_secrets.py,sha256=lkfR8tVjOA5KdynAhKCg5Z2EJkgrHFTX43pdB60YiU4,13767
|
|
12
12
|
meshagent/cli/developer.py,sha256=JWz-qcduCbFopQ1DNGbwrknzFt59KBLIXx8DyD6PxZM,3081
|
|
13
13
|
meshagent/cli/exec.py,sha256=H5_AOu5vic7ijFmRFotGj0WHf5t3jbEjZRCAp2-S3WQ,11551
|
|
14
14
|
meshagent/cli/helper.py,sha256=gbd6Tvlp7CObPp3srWm-mbAe7tBD0iacg6PitGWJdtw,4874
|
|
15
|
+
meshagent/cli/mailbot.py,sha256=cWB68ZXBeSJVTft7LgJ1qSftPnS7SE4rNp3XvBHUoKE,7826
|
|
15
16
|
meshagent/cli/messaging.py,sha256=cr-oVAu_s8uEPUm3GELSq8yaVDnEWlt02D5V4KbA6wc,6437
|
|
16
17
|
meshagent/cli/otel.py,sha256=1yoMGivskLV9f7M_LqCLKbttTTAPmFY5yhWXqFzvRN8,4066
|
|
17
18
|
meshagent/cli/participant_token.py,sha256=N07hblRjj0zDKxl5CQXJjIMmft5s9mWgKZKz-VZyhKw,1400
|
|
18
|
-
meshagent/cli/projects.py,sha256=
|
|
19
|
+
meshagent/cli/projects.py,sha256=yr2nPyUBepR4V52nInOyVsbsFMflHCiyoKq_JoFgMhc,3564
|
|
19
20
|
meshagent/cli/queue.py,sha256=iCbFOFRvX5opeCL0YMk2d3l-4vDWIsi1joe0r2gQeMM,3820
|
|
20
21
|
meshagent/cli/services.py,sha256=1afeMH41Kj0-1uAKB72buWnPFcgaqT4xFVO4FEpTPC0,19308
|
|
21
22
|
meshagent/cli/sessions.py,sha256=MP7XhrtkUrealdpl8IKrTR3u9sjF15sG175-Y_m7nps,800
|
|
22
23
|
meshagent/cli/storage.py,sha256=wtLKYFyfsErCePxCG962Xb--moCN-zj9uVCtRPhIpfA,35572
|
|
23
|
-
meshagent/cli/version.py,sha256=
|
|
24
|
-
meshagent/cli/voicebot.py,sha256=
|
|
24
|
+
meshagent/cli/version.py,sha256=pMtTmSUht-XtbR_7Doz6bsQqopJJd8rZ8I8zy2HwwoA,22
|
|
25
|
+
meshagent/cli/voicebot.py,sha256=eTPaw4yEIBgNclZxlH8aXv0GquKcUTpqBH9WUuKRwsg,5691
|
|
25
26
|
meshagent/cli/webhook.py,sha256=r5zct-UBQYSq3BWmnZRrHVOEHVlkY0j8uDxGVn3Pbxo,2902
|
|
26
|
-
meshagent_cli-0.
|
|
27
|
-
meshagent_cli-0.
|
|
28
|
-
meshagent_cli-0.
|
|
29
|
-
meshagent_cli-0.
|
|
30
|
-
meshagent_cli-0.
|
|
27
|
+
meshagent_cli-0.4.1.dist-info/METADATA,sha256=Cz1CvoRkxOCLe4SENejQN8j4BotktW6c5MU-cddOfWY,1448
|
|
28
|
+
meshagent_cli-0.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
29
|
+
meshagent_cli-0.4.1.dist-info/entry_points.txt,sha256=WRcGGN4vMtvC5Pgl3uRFqsJiQXNoHuLLa-TCSY3gAhQ,52
|
|
30
|
+
meshagent_cli-0.4.1.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
|
|
31
|
+
meshagent_cli-0.4.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|