meshagent-cli 0.28.2__tar.gz → 0.28.3__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.28.2 → meshagent_cli-0.28.3}/PKG-INFO +13 -13
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/chatbot.py +0 -1
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/port.py +42 -4
- meshagent_cli-0.28.3/meshagent/cli/port_test.py +38 -0
- meshagent_cli-0.28.3/meshagent/cli/version.py +1 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent_cli.egg-info/PKG-INFO +13 -13
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent_cli.egg-info/SOURCES.txt +1 -0
- meshagent_cli-0.28.3/meshagent_cli.egg-info/requires.txt +29 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/pyproject.toml +12 -12
- meshagent_cli-0.28.2/meshagent/cli/version.py +0 -1
- meshagent_cli-0.28.2/meshagent_cli.egg-info/requires.txt +0 -29
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/README.md +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/__init__.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/agent.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/api_keys.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/async_typer.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/auth.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/auth_async.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/call.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/cli.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/cli_mcp.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/cli_secrets.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/codex.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/common_options.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/containers.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/database.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/developer.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/helper.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/helpers.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/host.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/mailbot.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/mailboxes.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/meeting_transcriber.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/memory.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/messaging.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/multi.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/oauth2.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/participant_token.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/projects.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/queue.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/room.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/room_services.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/rooms.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/routes.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/services.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/sessions.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/storage.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/sync.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/task_runner.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/test.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/voicebot.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/webhook.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/webserver.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent/cli/worker.py +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent_cli.egg-info/dependency_links.txt +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent_cli.egg-info/entry_points.txt +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/meshagent_cli.egg-info/top_level.txt +0 -0
- {meshagent_cli-0.28.2 → meshagent_cli-0.28.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-cli
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.3
|
|
4
4
|
Summary: CLI for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -19,21 +19,21 @@ Requires-Dist: rich~=14.3.0
|
|
|
19
19
|
Requires-Dist: textual<2.0,>=0.50
|
|
20
20
|
Requires-Dist: prompt-toolkit~=3.0.52
|
|
21
21
|
Provides-Extra: all
|
|
22
|
-
Requires-Dist: meshagent-agents[all]~=0.28.
|
|
23
|
-
Requires-Dist: meshagent-api[all]~=0.28.
|
|
24
|
-
Requires-Dist: meshagent-computers~=0.28.
|
|
25
|
-
Requires-Dist: meshagent-openai~=0.28.
|
|
26
|
-
Requires-Dist: meshagent-anthropic~=0.28.
|
|
27
|
-
Requires-Dist: meshagent-codex~=0.28.
|
|
28
|
-
Requires-Dist: meshagent-mcp~=0.28.
|
|
29
|
-
Requires-Dist: meshagent-tools~=0.28.
|
|
22
|
+
Requires-Dist: meshagent-agents[all]~=0.28.3; extra == "all"
|
|
23
|
+
Requires-Dist: meshagent-api[all]~=0.28.3; extra == "all"
|
|
24
|
+
Requires-Dist: meshagent-computers~=0.28.3; extra == "all"
|
|
25
|
+
Requires-Dist: meshagent-openai~=0.28.3; extra == "all"
|
|
26
|
+
Requires-Dist: meshagent-anthropic~=0.28.3; extra == "all"
|
|
27
|
+
Requires-Dist: meshagent-codex~=0.28.3; extra == "all"
|
|
28
|
+
Requires-Dist: meshagent-mcp~=0.28.3; extra == "all"
|
|
29
|
+
Requires-Dist: meshagent-tools~=0.28.3; extra == "all"
|
|
30
30
|
Requires-Dist: supabase-auth~=2.28.0; extra == "all"
|
|
31
31
|
Requires-Dist: prompt-toolkit~=3.0.52; extra == "all"
|
|
32
32
|
Provides-Extra: mcp-service
|
|
33
|
-
Requires-Dist: meshagent-agents[all]~=0.28.
|
|
34
|
-
Requires-Dist: meshagent-api~=0.28.
|
|
35
|
-
Requires-Dist: meshagent-mcp~=0.28.
|
|
36
|
-
Requires-Dist: meshagent-tools~=0.28.
|
|
33
|
+
Requires-Dist: meshagent-agents[all]~=0.28.3; extra == "mcp-service"
|
|
34
|
+
Requires-Dist: meshagent-api~=0.28.3; extra == "mcp-service"
|
|
35
|
+
Requires-Dist: meshagent-mcp~=0.28.3; extra == "mcp-service"
|
|
36
|
+
Requires-Dist: meshagent-tools~=0.28.3; extra == "mcp-service"
|
|
37
37
|
Requires-Dist: supabase-auth~=2.28.0; extra == "mcp-service"
|
|
38
38
|
|
|
39
39
|
# [Meshagent](https://www.meshagent.com)
|
|
@@ -8,6 +8,7 @@ from meshagent.api.helpers import websocket_room_url
|
|
|
8
8
|
from typing import Annotated, Optional
|
|
9
9
|
|
|
10
10
|
import typer
|
|
11
|
+
from rich import print
|
|
11
12
|
|
|
12
13
|
from meshagent.cli import async_typer
|
|
13
14
|
from meshagent.cli.common_options import ProjectIdOption
|
|
@@ -18,6 +19,41 @@ from meshagent.api.port_forward import port_forward
|
|
|
18
19
|
app = async_typer.AsyncTyper(help="Port forwarding into room containers")
|
|
19
20
|
|
|
20
21
|
|
|
22
|
+
def _parse_port_mapping(value: str) -> tuple[int, int]:
|
|
23
|
+
raw = value.strip()
|
|
24
|
+
if raw == "":
|
|
25
|
+
raise typer.BadParameter("--port cannot be empty")
|
|
26
|
+
|
|
27
|
+
parts = [part.strip() for part in raw.split(":")]
|
|
28
|
+
if len(parts) != 2:
|
|
29
|
+
raise typer.BadParameter("Expected --port in LOCAL:REMOTE format")
|
|
30
|
+
|
|
31
|
+
local_raw, remote_raw = parts
|
|
32
|
+
if local_raw == "" or remote_raw == "":
|
|
33
|
+
raise typer.BadParameter("Expected --port in LOCAL:REMOTE format")
|
|
34
|
+
|
|
35
|
+
try:
|
|
36
|
+
local_port = int(local_raw)
|
|
37
|
+
except ValueError as exc:
|
|
38
|
+
raise typer.BadParameter(
|
|
39
|
+
f"LOCAL port must be an integer, got: {local_raw}"
|
|
40
|
+
) from exc
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
remote_port = int(remote_raw)
|
|
44
|
+
except ValueError as exc:
|
|
45
|
+
raise typer.BadParameter(
|
|
46
|
+
f"REMOTE port must be an integer, got: {remote_raw}"
|
|
47
|
+
) from exc
|
|
48
|
+
|
|
49
|
+
if not (0 <= local_port <= 65535):
|
|
50
|
+
raise typer.BadParameter("LOCAL port must be between 0 and 65535")
|
|
51
|
+
if not (1 <= remote_port <= 65535):
|
|
52
|
+
raise typer.BadParameter("REMOTE port must be between 1 and 65535")
|
|
53
|
+
|
|
54
|
+
return local_port, remote_port
|
|
55
|
+
|
|
56
|
+
|
|
21
57
|
@app.async_command("forward", help="Forward a container port to localhost")
|
|
22
58
|
async def forward(
|
|
23
59
|
*,
|
|
@@ -59,12 +95,11 @@ async def forward(
|
|
|
59
95
|
|
|
60
96
|
client = await get_client()
|
|
61
97
|
try:
|
|
98
|
+
local_port, remote_port = _parse_port_mapping(port)
|
|
62
99
|
project_id = await resolve_project_id(project_id)
|
|
63
100
|
|
|
64
101
|
connection = await client.connect_room(project_id=project_id, room=room)
|
|
65
102
|
|
|
66
|
-
ports = port.split(":")
|
|
67
|
-
|
|
68
103
|
if name is not None:
|
|
69
104
|
async with RoomClient(
|
|
70
105
|
protocol=WebSocketClientProtocol(
|
|
@@ -86,8 +121,8 @@ async def forward(
|
|
|
86
121
|
raise typer.Exit(1)
|
|
87
122
|
|
|
88
123
|
handler = await port_forward(
|
|
89
|
-
listen_port=
|
|
90
|
-
port=
|
|
124
|
+
listen_port=local_port,
|
|
125
|
+
port=remote_port,
|
|
91
126
|
container_id=container_id,
|
|
92
127
|
token=connection.jwt,
|
|
93
128
|
)
|
|
@@ -95,6 +130,9 @@ async def forward(
|
|
|
95
130
|
await asyncio.sleep(10000)
|
|
96
131
|
|
|
97
132
|
await handler.close()
|
|
133
|
+
except typer.BadParameter as exc:
|
|
134
|
+
print(f"[red]{exc}[/red]")
|
|
135
|
+
raise typer.Exit(1) from exc
|
|
98
136
|
|
|
99
137
|
finally:
|
|
100
138
|
await client.close()
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
import typer
|
|
3
|
+
|
|
4
|
+
from meshagent.cli.port import _parse_port_mapping
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@pytest.mark.parametrize(
|
|
8
|
+
("value", "expected"),
|
|
9
|
+
[
|
|
10
|
+
("3000:3000", (3000, 3000)),
|
|
11
|
+
("0:3000", (0, 3000)),
|
|
12
|
+
(" 8080 : 80 ", (8080, 80)),
|
|
13
|
+
],
|
|
14
|
+
)
|
|
15
|
+
def test_parse_port_mapping_accepts_valid_values(
|
|
16
|
+
value: str, expected: tuple[int, int]
|
|
17
|
+
) -> None:
|
|
18
|
+
assert _parse_port_mapping(value) == expected
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@pytest.mark.parametrize(
|
|
22
|
+
"value",
|
|
23
|
+
[
|
|
24
|
+
"",
|
|
25
|
+
"3000",
|
|
26
|
+
":3000",
|
|
27
|
+
"3000:",
|
|
28
|
+
"abc:3000",
|
|
29
|
+
"3000:abc",
|
|
30
|
+
"-1:3000",
|
|
31
|
+
"70000:3000",
|
|
32
|
+
"3000:0",
|
|
33
|
+
"3000:70000",
|
|
34
|
+
],
|
|
35
|
+
)
|
|
36
|
+
def test_parse_port_mapping_rejects_invalid_values(value: str) -> None:
|
|
37
|
+
with pytest.raises(typer.BadParameter):
|
|
38
|
+
_parse_port_mapping(value)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.28.3"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-cli
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.3
|
|
4
4
|
Summary: CLI for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -19,21 +19,21 @@ Requires-Dist: rich~=14.3.0
|
|
|
19
19
|
Requires-Dist: textual<2.0,>=0.50
|
|
20
20
|
Requires-Dist: prompt-toolkit~=3.0.52
|
|
21
21
|
Provides-Extra: all
|
|
22
|
-
Requires-Dist: meshagent-agents[all]~=0.28.
|
|
23
|
-
Requires-Dist: meshagent-api[all]~=0.28.
|
|
24
|
-
Requires-Dist: meshagent-computers~=0.28.
|
|
25
|
-
Requires-Dist: meshagent-openai~=0.28.
|
|
26
|
-
Requires-Dist: meshagent-anthropic~=0.28.
|
|
27
|
-
Requires-Dist: meshagent-codex~=0.28.
|
|
28
|
-
Requires-Dist: meshagent-mcp~=0.28.
|
|
29
|
-
Requires-Dist: meshagent-tools~=0.28.
|
|
22
|
+
Requires-Dist: meshagent-agents[all]~=0.28.3; extra == "all"
|
|
23
|
+
Requires-Dist: meshagent-api[all]~=0.28.3; extra == "all"
|
|
24
|
+
Requires-Dist: meshagent-computers~=0.28.3; extra == "all"
|
|
25
|
+
Requires-Dist: meshagent-openai~=0.28.3; extra == "all"
|
|
26
|
+
Requires-Dist: meshagent-anthropic~=0.28.3; extra == "all"
|
|
27
|
+
Requires-Dist: meshagent-codex~=0.28.3; extra == "all"
|
|
28
|
+
Requires-Dist: meshagent-mcp~=0.28.3; extra == "all"
|
|
29
|
+
Requires-Dist: meshagent-tools~=0.28.3; extra == "all"
|
|
30
30
|
Requires-Dist: supabase-auth~=2.28.0; extra == "all"
|
|
31
31
|
Requires-Dist: prompt-toolkit~=3.0.52; extra == "all"
|
|
32
32
|
Provides-Extra: mcp-service
|
|
33
|
-
Requires-Dist: meshagent-agents[all]~=0.28.
|
|
34
|
-
Requires-Dist: meshagent-api~=0.28.
|
|
35
|
-
Requires-Dist: meshagent-mcp~=0.28.
|
|
36
|
-
Requires-Dist: meshagent-tools~=0.28.
|
|
33
|
+
Requires-Dist: meshagent-agents[all]~=0.28.3; extra == "mcp-service"
|
|
34
|
+
Requires-Dist: meshagent-api~=0.28.3; extra == "mcp-service"
|
|
35
|
+
Requires-Dist: meshagent-mcp~=0.28.3; extra == "mcp-service"
|
|
36
|
+
Requires-Dist: meshagent-tools~=0.28.3; extra == "mcp-service"
|
|
37
37
|
Requires-Dist: supabase-auth~=2.28.0; extra == "mcp-service"
|
|
38
38
|
|
|
39
39
|
# [Meshagent](https://www.meshagent.com)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
typer~=0.21
|
|
2
|
+
fastmcp~=2.8
|
|
3
|
+
opentelemetry-distro~=0.59b0
|
|
4
|
+
opentelemetry-exporter-otlp-proto-http~=1.33
|
|
5
|
+
art~=6.5
|
|
6
|
+
pydantic-yaml~=1.5
|
|
7
|
+
pathspec~=0.12.1
|
|
8
|
+
rich~=14.3.0
|
|
9
|
+
textual<2.0,>=0.50
|
|
10
|
+
prompt-toolkit~=3.0.52
|
|
11
|
+
|
|
12
|
+
[all]
|
|
13
|
+
meshagent-agents[all]~=0.28.3
|
|
14
|
+
meshagent-api[all]~=0.28.3
|
|
15
|
+
meshagent-computers~=0.28.3
|
|
16
|
+
meshagent-openai~=0.28.3
|
|
17
|
+
meshagent-anthropic~=0.28.3
|
|
18
|
+
meshagent-codex~=0.28.3
|
|
19
|
+
meshagent-mcp~=0.28.3
|
|
20
|
+
meshagent-tools~=0.28.3
|
|
21
|
+
supabase-auth~=2.28.0
|
|
22
|
+
prompt-toolkit~=3.0.52
|
|
23
|
+
|
|
24
|
+
[mcp-service]
|
|
25
|
+
meshagent-agents[all]~=0.28.3
|
|
26
|
+
meshagent-api~=0.28.3
|
|
27
|
+
meshagent-mcp~=0.28.3
|
|
28
|
+
meshagent-tools~=0.28.3
|
|
29
|
+
supabase-auth~=2.28.0
|
|
@@ -26,23 +26,23 @@ dynamic = ["version", "readme"]
|
|
|
26
26
|
[project.optional-dependencies]
|
|
27
27
|
|
|
28
28
|
all = [
|
|
29
|
-
"meshagent-agents[all]~=0.28.
|
|
30
|
-
"meshagent-api[all]~=0.28.
|
|
31
|
-
"meshagent-computers~=0.28.
|
|
32
|
-
"meshagent-openai~=0.28.
|
|
33
|
-
"meshagent-anthropic~=0.28.
|
|
34
|
-
"meshagent-codex~=0.28.
|
|
35
|
-
"meshagent-mcp~=0.28.
|
|
36
|
-
"meshagent-tools~=0.28.
|
|
29
|
+
"meshagent-agents[all]~=0.28.3",
|
|
30
|
+
"meshagent-api[all]~=0.28.3",
|
|
31
|
+
"meshagent-computers~=0.28.3",
|
|
32
|
+
"meshagent-openai~=0.28.3",
|
|
33
|
+
"meshagent-anthropic~=0.28.3",
|
|
34
|
+
"meshagent-codex~=0.28.3",
|
|
35
|
+
"meshagent-mcp~=0.28.3",
|
|
36
|
+
"meshagent-tools~=0.28.3",
|
|
37
37
|
"supabase-auth~=2.28.0",
|
|
38
38
|
"prompt-toolkit~=3.0.52"
|
|
39
39
|
]
|
|
40
40
|
|
|
41
41
|
mcp-service = [
|
|
42
|
-
"meshagent-agents[all]~=0.28.
|
|
43
|
-
"meshagent-api~=0.28.
|
|
44
|
-
"meshagent-mcp~=0.28.
|
|
45
|
-
"meshagent-tools~=0.28.
|
|
42
|
+
"meshagent-agents[all]~=0.28.3",
|
|
43
|
+
"meshagent-api~=0.28.3",
|
|
44
|
+
"meshagent-mcp~=0.28.3",
|
|
45
|
+
"meshagent-tools~=0.28.3",
|
|
46
46
|
"supabase-auth~=2.28.0"
|
|
47
47
|
]
|
|
48
48
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.28.2"
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
typer~=0.21
|
|
2
|
-
fastmcp~=2.8
|
|
3
|
-
opentelemetry-distro~=0.59b0
|
|
4
|
-
opentelemetry-exporter-otlp-proto-http~=1.33
|
|
5
|
-
art~=6.5
|
|
6
|
-
pydantic-yaml~=1.5
|
|
7
|
-
pathspec~=0.12.1
|
|
8
|
-
rich~=14.3.0
|
|
9
|
-
textual<2.0,>=0.50
|
|
10
|
-
prompt-toolkit~=3.0.52
|
|
11
|
-
|
|
12
|
-
[all]
|
|
13
|
-
meshagent-agents[all]~=0.28.2
|
|
14
|
-
meshagent-api[all]~=0.28.2
|
|
15
|
-
meshagent-computers~=0.28.2
|
|
16
|
-
meshagent-openai~=0.28.2
|
|
17
|
-
meshagent-anthropic~=0.28.2
|
|
18
|
-
meshagent-codex~=0.28.2
|
|
19
|
-
meshagent-mcp~=0.28.2
|
|
20
|
-
meshagent-tools~=0.28.2
|
|
21
|
-
supabase-auth~=2.28.0
|
|
22
|
-
prompt-toolkit~=3.0.52
|
|
23
|
-
|
|
24
|
-
[mcp-service]
|
|
25
|
-
meshagent-agents[all]~=0.28.2
|
|
26
|
-
meshagent-api~=0.28.2
|
|
27
|
-
meshagent-mcp~=0.28.2
|
|
28
|
-
meshagent-tools~=0.28.2
|
|
29
|
-
supabase-auth~=2.28.0
|
|
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
|
|
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
|
|
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
|