meshagent-cli 0.0.36__py3-none-any.whl → 0.0.38__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/__init__.py +3 -1
- meshagent/cli/agent.py +139 -70
- meshagent/cli/api_keys.py +27 -9
- meshagent/cli/auth.py +9 -4
- meshagent/cli/auth_async.py +40 -17
- meshagent/cli/call.py +45 -36
- meshagent/cli/chatbot.py +127 -73
- meshagent/cli/cli.py +32 -19
- meshagent/cli/cli_mcp.py +183 -79
- meshagent/cli/cli_secrets.py +50 -20
- meshagent/cli/developer.py +19 -9
- meshagent/cli/helper.py +59 -39
- meshagent/cli/messaging.py +54 -31
- meshagent/cli/otel.py +36 -32
- meshagent/cli/participant_token.py +21 -12
- meshagent/cli/projects.py +3 -2
- meshagent/cli/services.py +50 -29
- meshagent/cli/sessions.py +9 -3
- meshagent/cli/storage.py +222 -94
- meshagent/cli/tty.py +24 -28
- meshagent/cli/version.py +1 -1
- meshagent/cli/voicebot.py +57 -34
- meshagent/cli/webhook.py +14 -5
- meshagent_cli-0.0.38.dist-info/METADATA +35 -0
- meshagent_cli-0.0.38.dist-info/RECORD +29 -0
- meshagent_cli-0.0.36.dist-info/METADATA +0 -28
- meshagent_cli-0.0.36.dist-info/RECORD +0 -29
- {meshagent_cli-0.0.36.dist-info → meshagent_cli-0.0.38.dist-info}/WHEEL +0 -0
- {meshagent_cli-0.0.36.dist-info → meshagent_cli-0.0.38.dist-info}/entry_points.txt +0 -0
- {meshagent_cli-0.0.36.dist-info → meshagent_cli-0.0.38.dist-info}/top_level.txt +0 -0
meshagent/cli/tty.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import pathlib
|
|
2
1
|
import sys
|
|
3
2
|
import tty
|
|
4
3
|
import termios
|
|
@@ -10,27 +9,24 @@ import typer
|
|
|
10
9
|
from rich import print
|
|
11
10
|
import aiohttp
|
|
12
11
|
|
|
13
|
-
from meshagent.api import
|
|
12
|
+
from meshagent.api import ParticipantToken
|
|
14
13
|
from meshagent.cli import async_typer
|
|
15
14
|
from meshagent.cli.helper import (
|
|
16
15
|
get_client,
|
|
17
|
-
print_json_table,
|
|
18
|
-
set_active_project,
|
|
19
16
|
resolve_project_id,
|
|
20
17
|
resolve_api_key,
|
|
21
18
|
)
|
|
22
19
|
|
|
23
|
-
import os
|
|
24
20
|
|
|
25
21
|
app = async_typer.AsyncTyper()
|
|
26
22
|
|
|
23
|
+
|
|
27
24
|
@app.async_command("connect")
|
|
28
25
|
async def tty_command(
|
|
29
26
|
*,
|
|
30
27
|
project_id: str = None,
|
|
31
28
|
room: Annotated[str, typer.Option()],
|
|
32
29
|
api_key_id: Annotated[Optional[str], typer.Option()] = None,
|
|
33
|
-
|
|
34
30
|
):
|
|
35
31
|
"""Open an interactive websocket‑based TTY."""
|
|
36
32
|
client = await get_client()
|
|
@@ -38,18 +34,20 @@ async def tty_command(
|
|
|
38
34
|
project_id = await resolve_project_id(project_id=project_id)
|
|
39
35
|
api_key_id = await resolve_api_key(project_id=project_id, api_key_id=api_key_id)
|
|
40
36
|
|
|
41
|
-
key = (await client.decrypt_project_api_key(project_id=project_id, id=api_key_id))["token"]
|
|
42
|
-
|
|
43
37
|
token = ParticipantToken(
|
|
44
|
-
name="tty",
|
|
45
|
-
project_id=project_id,
|
|
46
|
-
api_key_id=api_key_id
|
|
38
|
+
name="tty", project_id=project_id, api_key_id=api_key_id
|
|
47
39
|
)
|
|
48
40
|
|
|
41
|
+
key = (
|
|
42
|
+
await client.decrypt_project_api_key(project_id=project_id, id=api_key_id)
|
|
43
|
+
)["token"]
|
|
44
|
+
|
|
49
45
|
token.add_role_grant(role="user")
|
|
50
46
|
token.add_room_grant(room)
|
|
51
47
|
|
|
52
|
-
ws_url =
|
|
48
|
+
ws_url = (
|
|
49
|
+
websocket_room_url(room_name=room) + f"/tty?token={token.to_jwt(token=key)}"
|
|
50
|
+
)
|
|
53
51
|
|
|
54
52
|
print(f"[bold green]Connecting to[/bold green] {room}")
|
|
55
53
|
|
|
@@ -57,23 +55,20 @@ async def tty_command(
|
|
|
57
55
|
old_tty_settings = termios.tcgetattr(sys.stdin)
|
|
58
56
|
try:
|
|
59
57
|
async with aiohttp.ClientSession() as session:
|
|
60
|
-
|
|
61
58
|
async with session.ws_connect(ws_url) as websocket:
|
|
62
|
-
|
|
63
59
|
print(f"[bold green]Connected to[/bold green] {room}")
|
|
64
60
|
|
|
65
61
|
tty.setraw(sys.stdin)
|
|
66
62
|
|
|
67
63
|
async def recv_from_websocket():
|
|
68
64
|
async for message in websocket:
|
|
69
|
-
|
|
70
65
|
if message.type == aiohttp.WSMsgType.CLOSE:
|
|
71
66
|
await websocket.close()
|
|
72
|
-
|
|
67
|
+
|
|
73
68
|
elif message.type == aiohttp.WSMsgType.ERROR:
|
|
74
69
|
await websocket.close()
|
|
75
|
-
|
|
76
|
-
data
|
|
70
|
+
|
|
71
|
+
data: bytes = message.data
|
|
77
72
|
sys.stdout.write(data.decode("utf-8"))
|
|
78
73
|
sys.stdout.flush()
|
|
79
74
|
|
|
@@ -83,19 +78,18 @@ async def tty_command(
|
|
|
83
78
|
reader = asyncio.StreamReader()
|
|
84
79
|
protocol = asyncio.StreamReaderProtocol(reader)
|
|
85
80
|
await loop.connect_read_pipe(lambda: protocol, sys.stdin)
|
|
86
|
-
|
|
81
|
+
|
|
87
82
|
while True:
|
|
88
83
|
# Read one character at a time from stdin without blocking the event loop.
|
|
89
84
|
|
|
90
|
-
|
|
91
85
|
data = await reader.read(1)
|
|
92
86
|
if not data:
|
|
93
87
|
break
|
|
94
88
|
|
|
95
89
|
if websocket.closed:
|
|
96
90
|
break
|
|
97
|
-
|
|
98
|
-
if data == b
|
|
91
|
+
|
|
92
|
+
if data == b"\x03":
|
|
99
93
|
print("<CTRL-C>\n")
|
|
100
94
|
break
|
|
101
95
|
|
|
@@ -105,18 +99,20 @@ async def tty_command(
|
|
|
105
99
|
await websocket.close(code=1000)
|
|
106
100
|
break
|
|
107
101
|
|
|
108
|
-
done, pending = await asyncio.wait(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
done, pending = await asyncio.wait(
|
|
103
|
+
[
|
|
104
|
+
asyncio.create_task(recv_from_websocket()),
|
|
105
|
+
asyncio.create_task(send_to_websocket()),
|
|
106
|
+
],
|
|
107
|
+
return_when=asyncio.FIRST_COMPLETED,
|
|
108
|
+
)
|
|
112
109
|
|
|
113
110
|
for task in pending:
|
|
114
|
-
task.cancel()
|
|
111
|
+
task.cancel()
|
|
115
112
|
|
|
116
113
|
finally:
|
|
117
114
|
# Restore original terminal settings even if the coroutine is cancelled.
|
|
118
115
|
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_tty_settings)
|
|
119
116
|
|
|
120
117
|
finally:
|
|
121
|
-
|
|
122
118
|
await client.close()
|
meshagent/cli/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.0.
|
|
1
|
+
__version__ = "0.0.38"
|
meshagent/cli/voicebot.py
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
|
|
2
1
|
import typer
|
|
3
2
|
from rich import print
|
|
4
3
|
from typing import Annotated, Optional
|
|
5
|
-
import
|
|
6
|
-
import aiohttp
|
|
7
|
-
from meshagent.api import RoomClient, ParticipantToken, WebSocketClientProtocol, RoomException
|
|
4
|
+
from meshagent.api import RoomClient, WebSocketClientProtocol, RoomException
|
|
8
5
|
from meshagent.api.helpers import meshagent_base_url, websocket_room_url
|
|
9
|
-
from meshagent.api.services import send_webhook
|
|
10
6
|
from meshagent.cli import async_typer
|
|
11
|
-
from meshagent.cli.helper import
|
|
12
|
-
|
|
7
|
+
from meshagent.cli.helper import (
|
|
8
|
+
get_client,
|
|
9
|
+
resolve_project_id,
|
|
10
|
+
resolve_api_key,
|
|
11
|
+
resolve_token_jwt,
|
|
12
|
+
resolve_room,
|
|
13
|
+
)
|
|
13
14
|
from typing import List
|
|
14
15
|
|
|
15
16
|
from meshagent.api import RequiredToolkit, RequiredSchema
|
|
16
17
|
from meshagent.api.services import ServiceHost
|
|
17
18
|
|
|
18
19
|
try:
|
|
19
|
-
|
|
20
20
|
from meshagent.livekit.agents.voice import VoiceBot
|
|
21
21
|
|
|
22
22
|
except ImportError:
|
|
23
|
-
|
|
24
|
-
class VoiceBot:
|
|
25
|
-
def __init__(**kwargs):
|
|
26
|
-
raise RoomException("meshagent.livekit module not found, voicebots are not available")
|
|
27
23
|
|
|
24
|
+
class VoiceBot:
|
|
25
|
+
def __init__(self, **kwargs):
|
|
26
|
+
raise RoomException(
|
|
27
|
+
"meshagent.livekit module not found, voicebots are not available"
|
|
28
|
+
)
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
app = async_typer.AsyncTyper()
|
|
31
32
|
|
|
33
|
+
|
|
32
34
|
@app.async_command("join")
|
|
33
35
|
async def make_call(
|
|
34
36
|
*,
|
|
@@ -39,30 +41,45 @@ async def make_call(
|
|
|
39
41
|
role: str = "agent",
|
|
40
42
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
41
43
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
42
|
-
toolkit: Annotated[
|
|
43
|
-
|
|
44
|
+
toolkit: Annotated[
|
|
45
|
+
List[str],
|
|
46
|
+
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
47
|
+
] = [],
|
|
48
|
+
schema: Annotated[
|
|
49
|
+
List[str],
|
|
50
|
+
typer.Option("--schema", "-s", help="the name or url of a required schema"),
|
|
51
|
+
] = [],
|
|
44
52
|
auto_greet_message: Annotated[Optional[str], typer.Option()] = None,
|
|
45
53
|
auto_greet_prompt: Annotated[Optional[str], typer.Option()] = None,
|
|
46
|
-
token_path: Annotated[Optional[str], typer.Option()] = None,
|
|
54
|
+
token_path: Annotated[Optional[str], typer.Option()] = None,
|
|
47
55
|
):
|
|
48
56
|
account_client = await get_client()
|
|
49
57
|
try:
|
|
50
58
|
project_id = await resolve_project_id(project_id=project_id)
|
|
51
59
|
api_key_id = await resolve_api_key(project_id, api_key_id)
|
|
52
|
-
|
|
60
|
+
|
|
53
61
|
room = resolve_room(room)
|
|
54
|
-
jwt = await resolve_token_jwt(
|
|
55
|
-
|
|
62
|
+
jwt = await resolve_token_jwt(
|
|
63
|
+
project_id=project_id,
|
|
64
|
+
api_key_id=api_key_id,
|
|
65
|
+
token_path=token_path,
|
|
66
|
+
name=name,
|
|
67
|
+
role=role,
|
|
68
|
+
room=room,
|
|
69
|
+
)
|
|
70
|
+
|
|
56
71
|
print("[bold green]Connecting to room...[/bold green]", flush=True)
|
|
57
72
|
async with RoomClient(
|
|
58
|
-
protocol=WebSocketClientProtocol(
|
|
73
|
+
protocol=WebSocketClientProtocol(
|
|
74
|
+
url=websocket_room_url(room_name=room, base_url=meshagent_base_url()),
|
|
75
|
+
token=jwt,
|
|
76
|
+
)
|
|
59
77
|
) as client:
|
|
60
|
-
|
|
61
78
|
requirements = []
|
|
62
79
|
|
|
63
80
|
for t in toolkit:
|
|
64
81
|
requirements.append(RequiredToolkit(name=t))
|
|
65
|
-
|
|
82
|
+
|
|
66
83
|
for t in schema:
|
|
67
84
|
requirements.append(RequiredSchema(name=t))
|
|
68
85
|
|
|
@@ -71,16 +88,20 @@ async def make_call(
|
|
|
71
88
|
auto_greet_prompt=auto_greet_prompt,
|
|
72
89
|
name=agent_name,
|
|
73
90
|
requires=requirements,
|
|
74
|
-
rules=rule if len(rule) > 0 else None
|
|
91
|
+
rules=rule if len(rule) > 0 else None,
|
|
75
92
|
)
|
|
76
93
|
|
|
77
94
|
await bot.start(room=client)
|
|
78
95
|
|
|
79
96
|
try:
|
|
97
|
+
print(
|
|
98
|
+
f"[bold green]Open the studio to interact with your agent: {meshagent_base_url().replace('api.', 'studio.')}/projects/{project_id}/rooms/{client.room_name}[/bold green]",
|
|
99
|
+
flush=True,
|
|
100
|
+
)
|
|
80
101
|
await client.protocol.wait_for_close()
|
|
81
102
|
except KeyboardInterrupt:
|
|
82
103
|
await bot.stop()
|
|
83
|
-
|
|
104
|
+
|
|
84
105
|
finally:
|
|
85
106
|
await account_client.close()
|
|
86
107
|
|
|
@@ -91,27 +112,29 @@ async def service(
|
|
|
91
112
|
project_id: str = None,
|
|
92
113
|
agent_name: Annotated[str, typer.Option(..., help="Name of the agent to call")],
|
|
93
114
|
rule: Annotated[List[str], typer.Option("--rule", "-r", help="a system rule")] = [],
|
|
94
|
-
toolkit: Annotated[
|
|
95
|
-
|
|
115
|
+
toolkit: Annotated[
|
|
116
|
+
List[str],
|
|
117
|
+
typer.Option("--toolkit", "-t", help="the name or url of a required toolkit"),
|
|
118
|
+
] = [],
|
|
119
|
+
schema: Annotated[
|
|
120
|
+
List[str],
|
|
121
|
+
typer.Option("--schema", "-s", help="the name or url of a required schema"),
|
|
122
|
+
] = [],
|
|
96
123
|
auto_greet_message: Annotated[Optional[str], typer.Option()] = None,
|
|
97
124
|
auto_greet_prompt: Annotated[Optional[str], typer.Option()] = None,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
port: Annotated[Optional[int], typer.Option()] = None,
|
|
125
|
+
host: Annotated[Optional[str], typer.Option()] = None,
|
|
126
|
+
port: Annotated[Optional[int], typer.Option()] = None,
|
|
101
127
|
path: Annotated[str, typer.Option()] = "/agent",
|
|
102
128
|
):
|
|
103
129
|
requirements = []
|
|
104
130
|
|
|
105
131
|
for t in toolkit:
|
|
106
132
|
requirements.append(RequiredToolkit(name=t))
|
|
107
|
-
|
|
133
|
+
|
|
108
134
|
for t in schema:
|
|
109
135
|
requirements.append(RequiredSchema(name=t))
|
|
110
136
|
|
|
111
|
-
service = ServiceHost(
|
|
112
|
-
host=host,
|
|
113
|
-
port=port
|
|
114
|
-
)
|
|
137
|
+
service = ServiceHost(host=host, port=port)
|
|
115
138
|
|
|
116
139
|
@service.path(path=path)
|
|
117
140
|
class CustomVoiceBot(VoiceBot):
|
|
@@ -121,7 +144,7 @@ async def service(
|
|
|
121
144
|
auto_greet_prompt=auto_greet_prompt,
|
|
122
145
|
name=agent_name,
|
|
123
146
|
requires=requirements,
|
|
124
|
-
rules=rule if len(rule) > 0 else None
|
|
147
|
+
rules=rule if len(rule) > 0 else None,
|
|
125
148
|
)
|
|
126
149
|
|
|
127
150
|
await service.run()
|
meshagent/cli/webhook.py
CHANGED
|
@@ -12,6 +12,7 @@ app = async_typer.AsyncTyper()
|
|
|
12
12
|
# Webhook commands
|
|
13
13
|
# ---------------------------------------------------------------------------
|
|
14
14
|
|
|
15
|
+
|
|
15
16
|
@app.async_command("create")
|
|
16
17
|
async def webhook_create(
|
|
17
18
|
*,
|
|
@@ -21,12 +22,12 @@ async def webhook_create(
|
|
|
21
22
|
event: Annotated[
|
|
22
23
|
List[str],
|
|
23
24
|
typer.Option(
|
|
24
|
-
"-e",
|
|
25
|
-
"--event",
|
|
26
|
-
help="Event to subscribe to (repeat for multiple)."
|
|
25
|
+
"-e", "--event", help="Event to subscribe to (repeat for multiple)."
|
|
27
26
|
),
|
|
28
27
|
],
|
|
29
|
-
description: Annotated[
|
|
28
|
+
description: Annotated[
|
|
29
|
+
str, typer.Option(default="", help="Optional description")
|
|
30
|
+
] = "",
|
|
30
31
|
action: Annotated[
|
|
31
32
|
Optional[str],
|
|
32
33
|
typer.Option("--action", help="Optional action name delivered with each call"),
|
|
@@ -69,7 +70,15 @@ async def webhook_list(
|
|
|
69
70
|
try:
|
|
70
71
|
project_id = await resolve_project_id(project_id=project_id)
|
|
71
72
|
hooks = await client.list_project_webhooks(project_id)
|
|
72
|
-
print_json_table(
|
|
73
|
+
print_json_table(
|
|
74
|
+
hooks.get("webhooks"),
|
|
75
|
+
"id",
|
|
76
|
+
"name",
|
|
77
|
+
"description",
|
|
78
|
+
"url",
|
|
79
|
+
"events",
|
|
80
|
+
"action",
|
|
81
|
+
)
|
|
73
82
|
finally:
|
|
74
83
|
await client.close()
|
|
75
84
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: meshagent-cli
|
|
3
|
+
Version: 0.0.38
|
|
4
|
+
Summary: CLI for Meshagent
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
|
+
Project-URL: Documentation, https://docs.meshagent.com
|
|
7
|
+
Project-URL: Website, https://www.meshagent.com
|
|
8
|
+
Project-URL: Source, https://www.meshagent.com
|
|
9
|
+
Requires-Python: >=3.12
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: typer~=0.15
|
|
12
|
+
Requires-Dist: pydantic-yaml~=1.4
|
|
13
|
+
Requires-Dist: meshagent-api~=0.0.38
|
|
14
|
+
Requires-Dist: meshagent-agents~=0.0.38
|
|
15
|
+
Requires-Dist: meshagent-tools~=0.0.38
|
|
16
|
+
Requires-Dist: meshagent-mcp~=0.0.38
|
|
17
|
+
Requires-Dist: supabase~=2.15
|
|
18
|
+
Requires-Dist: fastmcp~=2.8
|
|
19
|
+
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
20
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http~=1.33
|
|
21
|
+
Requires-Dist: art~=6.5
|
|
22
|
+
|
|
23
|
+
## MeshAgent CLI
|
|
24
|
+
|
|
25
|
+
The ``meshagent.cli`` package installs everything you need to streamline room and agent management from your terminal. The CLI assembles submodules for authentication, projects, API keys, participant tokens, messaging, storage, agents, webhooks, and more.
|
|
26
|
+
Check out the [CLI Quickstart](https://docs.meshagent.com/cli/getting_started) for more details.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
### Learn more about MeshAgent on our website or check out the docs for additional examples!
|
|
30
|
+
|
|
31
|
+
**Website**: [www.meshagent.com](https://www.meshagent.com/)
|
|
32
|
+
|
|
33
|
+
**Documentation**: [docs.meshagent.com](https://docs.meshagent.com/)
|
|
34
|
+
|
|
35
|
+
---
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
meshagent/cli/__init__.py,sha256=X78Z4yEg5XfkNKH0HiIdG4k1q5ktB-ampTuXHLNFrAw,58
|
|
2
|
+
meshagent/cli/agent.py,sha256=bKumeTB87aICqCQwqvAf7ES5WcSZ9Tkp1RpZxMluIlE,10591
|
|
3
|
+
meshagent/cli/api_keys.py,sha256=4mBqyh_WAogaMIYhRBQOCjfsSSp1RY9BqiI_6DaGLmk,4963
|
|
4
|
+
meshagent/cli/async_typer.py,sha256=GCeSefBDbpd-V4V8LrvHGUTBMth3HspVMfFa-HUZ0cg,898
|
|
5
|
+
meshagent/cli/auth.py,sha256=tPipbOtHnsrvJ-OUOE-lyfvvIhkTIGYlkgS81hLdyB8,783
|
|
6
|
+
meshagent/cli/auth_async.py,sha256=mi2-u949M412PAMN-PCdHEiF9hGf0W3m1RAseZX07-w,4058
|
|
7
|
+
meshagent/cli/call.py,sha256=CMPMHbMtsXqFbekuo2ZgupSzXvnKrODBaf2bZugW0yc,4646
|
|
8
|
+
meshagent/cli/chatbot.py,sha256=pK-_G3CiMbV-NC0iXzbjztu4f-ZAeXNzcmOB-HxJWQo,7928
|
|
9
|
+
meshagent/cli/cli.py,sha256=3WgplELmgV6OqfCuRyvm9DvqCCwmGI8yCeeic7oKYUw,6315
|
|
10
|
+
meshagent/cli/cli_mcp.py,sha256=BTTAMn3u4i1uTDItFxmxMTsSAvFaWtdI3YdZngHz11g,10641
|
|
11
|
+
meshagent/cli/cli_secrets.py,sha256=lkfR8tVjOA5KdynAhKCg5Z2EJkgrHFTX43pdB60YiU4,13767
|
|
12
|
+
meshagent/cli/developer.py,sha256=JWz-qcduCbFopQ1DNGbwrknzFt59KBLIXx8DyD6PxZM,3081
|
|
13
|
+
meshagent/cli/helper.py,sha256=gbd6Tvlp7CObPp3srWm-mbAe7tBD0iacg6PitGWJdtw,4874
|
|
14
|
+
meshagent/cli/messaging.py,sha256=cr-oVAu_s8uEPUm3GELSq8yaVDnEWlt02D5V4KbA6wc,6437
|
|
15
|
+
meshagent/cli/otel.py,sha256=1yoMGivskLV9f7M_LqCLKbttTTAPmFY5yhWXqFzvRN8,4066
|
|
16
|
+
meshagent/cli/participant_token.py,sha256=N07hblRjj0zDKxl5CQXJjIMmft5s9mWgKZKz-VZyhKw,1400
|
|
17
|
+
meshagent/cli/projects.py,sha256=WaO7M-D4ghy0nVpvwZ08ZEcybZ_e_cFe6rEoNxyAWkc,3306
|
|
18
|
+
meshagent/cli/services.py,sha256=og4iOwxIT-TgYtTBExGbrABQJva9yo5PjeD_eFLw6dU,11358
|
|
19
|
+
meshagent/cli/sessions.py,sha256=MP7XhrtkUrealdpl8IKrTR3u9sjF15sG175-Y_m7nps,800
|
|
20
|
+
meshagent/cli/storage.py,sha256=Q3ajuC6j4GLlU4jZoUW_Zsl1dOr04vzLibw2DPedJJ4,35564
|
|
21
|
+
meshagent/cli/tty.py,sha256=GBVz5XoAKTCoczMnnJrLLmQiAHTvHE6HYxxSYfw-UZc,3988
|
|
22
|
+
meshagent/cli/version.py,sha256=R5QxTjVaID7odO0eBWpOnyCjNQxBZ7cpyruM_NMOoDc,23
|
|
23
|
+
meshagent/cli/voicebot.py,sha256=Ykn9mUhcwl03ZCPDRua6moeNyrvToGPowQfjhPM0zqA,5032
|
|
24
|
+
meshagent/cli/webhook.py,sha256=r5zct-UBQYSq3BWmnZRrHVOEHVlkY0j8uDxGVn3Pbxo,2902
|
|
25
|
+
meshagent_cli-0.0.38.dist-info/METADATA,sha256=z9NypcG9qqZijrDiDs5g0P1XTvwUKVC47n1HJeGeeLE,1338
|
|
26
|
+
meshagent_cli-0.0.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
+
meshagent_cli-0.0.38.dist-info/entry_points.txt,sha256=WRcGGN4vMtvC5Pgl3uRFqsJiQXNoHuLLa-TCSY3gAhQ,52
|
|
28
|
+
meshagent_cli-0.0.38.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
|
|
29
|
+
meshagent_cli-0.0.38.dist-info/RECORD,,
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: meshagent-cli
|
|
3
|
-
Version: 0.0.36
|
|
4
|
-
Summary: CLI for Meshagent
|
|
5
|
-
License-Expression: Apache-2.0
|
|
6
|
-
Project-URL: Documentation, https://docs.meshagent.com
|
|
7
|
-
Project-URL: Website, https://www.meshagent.com
|
|
8
|
-
Project-URL: Source, https://www.meshagent.com
|
|
9
|
-
Requires-Python: >=3.12
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
Requires-Dist: typer~=0.15
|
|
12
|
-
Requires-Dist: pydantic-yaml~=1.4
|
|
13
|
-
Requires-Dist: meshagent-api~=0.0.36
|
|
14
|
-
Requires-Dist: meshagent-agents~=0.0.36
|
|
15
|
-
Requires-Dist: meshagent-tools~=0.0.36
|
|
16
|
-
Requires-Dist: meshagent-mcp~=0.0.36
|
|
17
|
-
Requires-Dist: supabase~=2.15
|
|
18
|
-
Requires-Dist: fastmcp~=2.8
|
|
19
|
-
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
20
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http~=1.33
|
|
21
|
-
|
|
22
|
-
### Meshagent CLI
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
meshagent/cli/__init__.py,sha256=8zLGg-DfQhnDl2Ky0n-zXpN-8e-g7iR0AcaI4l4Vvpk,32
|
|
2
|
-
meshagent/cli/agent.py,sha256=0VjwJkwZ-G637Mps3OtxxWIfjWbrirJ4TTq2Idvjtug,10023
|
|
3
|
-
meshagent/cli/api_keys.py,sha256=VZynVFCBwxcwJ6dtxcoqKB91B0_QsUfJTim4vUXGvKc,4550
|
|
4
|
-
meshagent/cli/async_typer.py,sha256=GCeSefBDbpd-V4V8LrvHGUTBMth3HspVMfFa-HUZ0cg,898
|
|
5
|
-
meshagent/cli/auth.py,sha256=pZQwYTNWQOWTqpyDrkQLNKuidH-wn9GNE5yEJoxn3-g,767
|
|
6
|
-
meshagent/cli/auth_async.py,sha256=run_J11mRPJQ6BI_aAtV_3O3h52eAl1EOnHuotwhoqQ,4018
|
|
7
|
-
meshagent/cli/call.py,sha256=-6Bf5PCVcsuLMgDpG1g3GiY3S5rgs_-CWgWX4C6AXwg,4739
|
|
8
|
-
meshagent/cli/chatbot.py,sha256=1MDzQOdNPyyux50D3rre_HhqXlySo8tBVfnDu2_std4,7455
|
|
9
|
-
meshagent/cli/cli.py,sha256=HbMyzks8LTDz-D6pGV97OHZAiAX39VqS3DrZZB06Y5A,6166
|
|
10
|
-
meshagent/cli/cli_mcp.py,sha256=SG0r-cL3P7eu-fbwB-1WgjQPCmxKqQBh-X3kTKDli-E,9536
|
|
11
|
-
meshagent/cli/cli_secrets.py,sha256=U0kdzN3zt7JIqzdRLynAjxdvAsI0enesBd_m7TeXjnQ,13629
|
|
12
|
-
meshagent/cli/developer.py,sha256=5eoDr3kfi-IufA5d6OESqNr739Bdut_IFBtT3nq0xZU,3002
|
|
13
|
-
meshagent/cli/helper.py,sha256=39_oznxO4sCi3namCJzYC0eWqeeGNlen1zlOuWF43os,4785
|
|
14
|
-
meshagent/cli/messaging.py,sha256=bHMecKtVwY8P11itXMIvaLxPv-Zm6SpgrXnLDppb4Gc,6282
|
|
15
|
-
meshagent/cli/otel.py,sha256=6XaCrffRwPnQWp2KqGBAz4oPZUdlT6xh5kc-JKanJm4,4056
|
|
16
|
-
meshagent/cli/participant_token.py,sha256=uCGmlUgNOfarYGkDZpzreXwnv9AJrM76tu5Lt690vYU,1456
|
|
17
|
-
meshagent/cli/projects.py,sha256=EQfbO9_GQKkjlFcaSHQfIxqIxsmFR3FbH5Fd17I5IPk,3305
|
|
18
|
-
meshagent/cli/services.py,sha256=pMAyLg0eEO33fhRiin5q0KbNVoTzQyT5wSDgvDqeRYM,11241
|
|
19
|
-
meshagent/cli/sessions.py,sha256=WWvuztYqRfthSq6ztwL_eQ_sz9JRc33jcN6p7YyM_Fs,782
|
|
20
|
-
meshagent/cli/storage.py,sha256=Se_4xhxiihIovSR1ajlEWo_YZ12G7eUY_-lvifJ8pjo,33806
|
|
21
|
-
meshagent/cli/tty.py,sha256=DkgeYQckjil191HNoEGHmheniCi41XNUSMpYY1ilAic,4099
|
|
22
|
-
meshagent/cli/version.py,sha256=oSKhQHo_8dYEVv3A19nCmQysoh4TbOzHl508xX9iHoo,23
|
|
23
|
-
meshagent/cli/voicebot.py,sha256=lkiFHL2vhQuknQU5b2fbLafqzfycDik8DGZ8PkuK1z0,4713
|
|
24
|
-
meshagent/cli/webhook.py,sha256=KBl8U1TcOX3z2uoyH4YMuUuw0vSVX7xpRxYvzxI5c-Y,2811
|
|
25
|
-
meshagent_cli-0.0.36.dist-info/METADATA,sha256=TW6N-7Duj-FnJA6C5NkWpKBF3ovNE18HHcNK6MQKCHM,731
|
|
26
|
-
meshagent_cli-0.0.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
-
meshagent_cli-0.0.36.dist-info/entry_points.txt,sha256=WRcGGN4vMtvC5Pgl3uRFqsJiQXNoHuLLa-TCSY3gAhQ,52
|
|
28
|
-
meshagent_cli-0.0.36.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
|
|
29
|
-
meshagent_cli-0.0.36.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|