meshagent-cli 0.46.0__tar.gz → 0.46.1__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.46.0 → meshagent_cli-0.46.1}/PKG-INFO +17 -17
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agents.py +1 -3
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agents_test.py +9 -6
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/projects.py +26 -43
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/projects_test.py +13 -8
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/room.py +3 -5
- meshagent_cli-0.46.1/meshagent/cli/sqlite.py +1017 -0
- meshagent_cli-0.46.1/meshagent/cli/sqlite_test.py +68 -0
- meshagent_cli-0.46.1/meshagent/cli/version.py +1 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/PKG-INFO +17 -17
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/SOURCES.txt +2 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/requires.txt +16 -16
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/pyproject.toml +16 -16
- meshagent_cli-0.46.0/meshagent/cli/version.py +0 -1
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/LICENSE +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/README.md +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/__init__.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/_filedrop.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agent.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agent_cli_options_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agent_package_cli.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/agent_package_cli_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/ask.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/ask_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/async_typer.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/async_typer_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/auth.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/auth_async.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/auth_async_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/auth_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/call.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/chatbot.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/cli.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/cli_mcp.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/cli_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/common_options.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/config.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/config_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/containers.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/containers_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_project_templates/__init__.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_project_templates/python/backend-agent/server.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_project_templates/python/contact-form/server.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_project_templates/python/task-queue-dashboard/server.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_project_templates/python/webserver/server.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/create_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/dataset.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/dataset_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/developer.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/developer_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/doctor.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/doctor_dockerfiles/__init__.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/doctor_templates/__init__.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/doctor_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/feeds.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/helper.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/helper_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/helpers.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/host.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/iam.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/iam_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/image.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/image_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/launch.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/launch_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/llm.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/llm_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/local_settings.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/local_settings_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/mailbot.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/mailbot_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/mailboxes.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/meeting_transcriber.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/memory.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/memory_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/meshagent_images.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/meshagent_images_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/messaging.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/messaging_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/multi.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/oci_archive.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/oci_archive_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/participant_token.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/port.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/port_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/preamble_rules.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/preamble_rules_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/process.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/process_live_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/process_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/queue.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/queue_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/registry.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/registry_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/room_connect.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/room_connect_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/room_services.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/room_services_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/rooms.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/rooms_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/root_commands.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/root_commands_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/routes.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/scheduled_tasks.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/scheduled_tasks_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/secrets.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/secrets_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/service_accounts.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/service_accounts_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/services.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/services_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/sessions.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/sessions_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/storage.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/storage_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/subscriptions.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/sync.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/sync_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/task_runner.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/task_runner_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/testing.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/thread_inspect.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/thread_inspect_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/thread_sidebar.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tool_call_summary.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tool_call_summary_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tool_integrations.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tool_integrations_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/__init__.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/auth_switch.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/auth_switch_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/create.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/deploy_room.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/deploy_room_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/project_activate.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/project_activate_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/setup.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/setup_splash_frames.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/tui/setup_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/version_check.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/version_check_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/voicebot.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/webserver.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/webserver_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/worker.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent/cli/worker_test.py +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/dependency_links.txt +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/entry_points.txt +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/meshagent_cli.egg-info/top_level.txt +0 -0
- {meshagent_cli-0.46.0 → meshagent_cli-0.46.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-cli
|
|
3
|
-
Version: 0.46.
|
|
3
|
+
Version: 0.46.1
|
|
4
4
|
Summary: CLI for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -22,8 +22,8 @@ Requires-Dist: openpyxl~=3.1
|
|
|
22
22
|
Requires-Dist: xlsxwriter~=3.2
|
|
23
23
|
Requires-Dist: pathspec<2,>=1.0.3
|
|
24
24
|
Requires-Dist: zstandard~=0.25.0
|
|
25
|
-
Requires-Dist: meshagent-llm-proxy==0.46.
|
|
26
|
-
Requires-Dist: meshagent-codex==0.46.
|
|
25
|
+
Requires-Dist: meshagent-llm-proxy==0.46.1
|
|
26
|
+
Requires-Dist: meshagent-codex==0.46.1
|
|
27
27
|
Requires-Dist: rich~=14.3.0
|
|
28
28
|
Requires-Dist: sounddevice~=0.5
|
|
29
29
|
Requires-Dist: textual<9.0,>=8.2.3
|
|
@@ -32,23 +32,23 @@ Requires-Dist: prompt-toolkit~=3.0.52
|
|
|
32
32
|
Requires-Dist: ascii-magic~=2.3
|
|
33
33
|
Requires-Dist: pillow~=11.3.0
|
|
34
34
|
Provides-Extra: all
|
|
35
|
-
Requires-Dist: meshagent-agents[all]==0.46.
|
|
36
|
-
Requires-Dist: meshagent-api[all]==0.46.
|
|
37
|
-
Requires-Dist: meshagent-commoncrawl==0.46.
|
|
38
|
-
Requires-Dist: meshagent-scrapy==0.46.
|
|
39
|
-
Requires-Dist: meshagent-computers==0.46.
|
|
40
|
-
Requires-Dist: meshagent-openai==0.46.
|
|
41
|
-
Requires-Dist: meshagent-anthropic==0.46.
|
|
42
|
-
Requires-Dist: meshagent-otel==0.46.
|
|
43
|
-
Requires-Dist: meshagent-mcp==0.46.
|
|
44
|
-
Requires-Dist: meshagent-tools==0.46.
|
|
35
|
+
Requires-Dist: meshagent-agents[all]==0.46.1; extra == "all"
|
|
36
|
+
Requires-Dist: meshagent-api[all]==0.46.1; extra == "all"
|
|
37
|
+
Requires-Dist: meshagent-commoncrawl==0.46.1; extra == "all"
|
|
38
|
+
Requires-Dist: meshagent-scrapy==0.46.1; extra == "all"
|
|
39
|
+
Requires-Dist: meshagent-computers==0.46.1; extra == "all"
|
|
40
|
+
Requires-Dist: meshagent-openai==0.46.1; extra == "all"
|
|
41
|
+
Requires-Dist: meshagent-anthropic==0.46.1; extra == "all"
|
|
42
|
+
Requires-Dist: meshagent-otel==0.46.1; extra == "all"
|
|
43
|
+
Requires-Dist: meshagent-mcp==0.46.1; extra == "all"
|
|
44
|
+
Requires-Dist: meshagent-tools==0.46.1; extra == "all"
|
|
45
45
|
Requires-Dist: supabase-auth~=2.28.0; extra == "all"
|
|
46
46
|
Requires-Dist: prompt-toolkit~=3.0.52; extra == "all"
|
|
47
47
|
Provides-Extra: mcp-service
|
|
48
|
-
Requires-Dist: meshagent-agents[all]==0.46.
|
|
49
|
-
Requires-Dist: meshagent-api==0.46.
|
|
50
|
-
Requires-Dist: meshagent-mcp==0.46.
|
|
51
|
-
Requires-Dist: meshagent-tools==0.46.
|
|
48
|
+
Requires-Dist: meshagent-agents[all]==0.46.1; extra == "mcp-service"
|
|
49
|
+
Requires-Dist: meshagent-api==0.46.1; extra == "mcp-service"
|
|
50
|
+
Requires-Dist: meshagent-mcp==0.46.1; extra == "mcp-service"
|
|
51
|
+
Requires-Dist: meshagent-tools==0.46.1; extra == "mcp-service"
|
|
52
52
|
Requires-Dist: supabase-auth~=2.28.0; extra == "mcp-service"
|
|
53
53
|
Dynamic: license-file
|
|
54
54
|
|
|
@@ -609,9 +609,7 @@ async def agent_list_command(
|
|
|
609
609
|
project_id = await resolve_project_id(project_id=project_id)
|
|
610
610
|
agents = await account_client.list_agents(
|
|
611
611
|
project_id=project_id,
|
|
612
|
-
|
|
613
|
-
offset=offset,
|
|
614
|
-
order_by=order_by,
|
|
612
|
+
page_size=limit if limit is not None else count,
|
|
615
613
|
filter=filter,
|
|
616
614
|
)
|
|
617
615
|
output = [
|
|
@@ -64,17 +64,13 @@ class _FakeAgentClient:
|
|
|
64
64
|
self,
|
|
65
65
|
*,
|
|
66
66
|
project_id: str,
|
|
67
|
-
|
|
68
|
-
offset: int,
|
|
69
|
-
order_by: str,
|
|
67
|
+
page_size: int,
|
|
70
68
|
filter: str | None = None,
|
|
71
69
|
) -> list[ManagedAgent]:
|
|
72
70
|
self.list_agents_calls.append(
|
|
73
71
|
{
|
|
74
72
|
"project_id": project_id,
|
|
75
|
-
"
|
|
76
|
-
"offset": offset,
|
|
77
|
-
"order_by": order_by,
|
|
73
|
+
"page_size": page_size,
|
|
78
74
|
"filter": filter,
|
|
79
75
|
}
|
|
80
76
|
)
|
|
@@ -269,6 +265,13 @@ async def test_agent_list_command_outputs_current_agent_shape(
|
|
|
269
265
|
|
|
270
266
|
await agents.agent_list_command(project_id="project-1")
|
|
271
267
|
|
|
268
|
+
assert client.list_agents_calls == [
|
|
269
|
+
{
|
|
270
|
+
"project_id": "resolved-project",
|
|
271
|
+
"page_size": 100,
|
|
272
|
+
"filter": None,
|
|
273
|
+
}
|
|
274
|
+
]
|
|
272
275
|
assert printed == [
|
|
273
276
|
(
|
|
274
277
|
[
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import builtins
|
|
2
1
|
import sys
|
|
3
2
|
from dataclasses import dataclass
|
|
4
3
|
from typing import Annotated
|
|
@@ -6,7 +5,7 @@ from typing import Annotated
|
|
|
6
5
|
import typer
|
|
7
6
|
from rich import print
|
|
8
7
|
|
|
9
|
-
from meshagent.api.client import Meshagent, NotFoundError
|
|
8
|
+
from meshagent.api.client import Meshagent, NotFoundError, ProjectInfo, ProjectsPage
|
|
10
9
|
from meshagent.cli import async_typer
|
|
11
10
|
from meshagent.cli.helper import (
|
|
12
11
|
get_client,
|
|
@@ -27,35 +26,17 @@ class ListedProject:
|
|
|
27
26
|
|
|
28
27
|
|
|
29
28
|
def _parse_listed_projects(
|
|
30
|
-
response:
|
|
29
|
+
response: ProjectsPage,
|
|
31
30
|
*,
|
|
32
31
|
active_project_id: str | None,
|
|
33
32
|
) -> list[ListedProject]:
|
|
34
|
-
if not isinstance(response, dict):
|
|
35
|
-
return []
|
|
36
|
-
|
|
37
|
-
project_rows = response.get("projects")
|
|
38
|
-
if not isinstance(project_rows, builtins.list):
|
|
39
|
-
return []
|
|
40
|
-
|
|
41
33
|
selectable_projects: list[ListedProject] = []
|
|
42
|
-
for row in
|
|
43
|
-
|
|
44
|
-
continue
|
|
45
|
-
|
|
46
|
-
project_id = row.get("id")
|
|
47
|
-
if not isinstance(project_id, str):
|
|
48
|
-
continue
|
|
49
|
-
resolved_project_id = project_id.strip()
|
|
34
|
+
for row in response.projects:
|
|
35
|
+
resolved_project_id = row.id.strip()
|
|
50
36
|
if resolved_project_id == "":
|
|
51
37
|
continue
|
|
52
38
|
|
|
53
|
-
|
|
54
|
-
resolved_project_name = (
|
|
55
|
-
project_name.strip()
|
|
56
|
-
if isinstance(project_name, str) and project_name.strip() != ""
|
|
57
|
-
else resolved_project_id
|
|
58
|
-
)
|
|
39
|
+
resolved_project_name = row.name.strip() or resolved_project_id
|
|
59
40
|
|
|
60
41
|
selectable_projects.append(
|
|
61
42
|
ListedProject(
|
|
@@ -85,25 +66,18 @@ async def _create_project_id(
|
|
|
85
66
|
project_name: str,
|
|
86
67
|
) -> str:
|
|
87
68
|
created = await client.create_project(project_name)
|
|
88
|
-
|
|
89
|
-
raise RuntimeError("Project creation did not return a valid id.")
|
|
90
|
-
|
|
91
|
-
created_project_id = created.get("id")
|
|
92
|
-
if not isinstance(created_project_id, str):
|
|
93
|
-
raise RuntimeError("Project creation did not return a valid id.")
|
|
94
|
-
|
|
95
|
-
resolved_project_id = created_project_id.strip()
|
|
69
|
+
resolved_project_id = created.id.strip()
|
|
96
70
|
if resolved_project_id == "":
|
|
97
71
|
raise RuntimeError("Project creation did not return a valid id.")
|
|
98
72
|
|
|
99
73
|
return resolved_project_id
|
|
100
74
|
|
|
101
75
|
|
|
102
|
-
def _project_id_from_payload(project:
|
|
103
|
-
project_id = project.
|
|
104
|
-
if
|
|
76
|
+
def _project_id_from_payload(project: ProjectInfo) -> str:
|
|
77
|
+
project_id = project.id.strip()
|
|
78
|
+
if project_id == "":
|
|
105
79
|
raise RuntimeError("Project lookup did not return a valid id.")
|
|
106
|
-
return project_id
|
|
80
|
+
return project_id
|
|
107
81
|
|
|
108
82
|
|
|
109
83
|
async def _resolve_project_id_or_key(client: Meshagent, selector: str) -> str:
|
|
@@ -186,7 +160,7 @@ async def create(name: str):
|
|
|
186
160
|
client = await get_client()
|
|
187
161
|
try:
|
|
188
162
|
result = await client.create_project(name)
|
|
189
|
-
print(f"[green]Project created:[/] {result
|
|
163
|
+
print(f"[green]Project created:[/] {result.id}")
|
|
190
164
|
finally:
|
|
191
165
|
await client.close()
|
|
192
166
|
|
|
@@ -198,14 +172,18 @@ async def list(
|
|
|
198
172
|
client = await get_client()
|
|
199
173
|
projects = await client.list_projects()
|
|
200
174
|
active_project = await get_active_project()
|
|
201
|
-
|
|
175
|
+
output = [
|
|
176
|
+
project.model_dump(mode="json", exclude_none=True)
|
|
177
|
+
for project in projects.projects
|
|
178
|
+
]
|
|
179
|
+
for project in output:
|
|
202
180
|
if project["id"] == active_project:
|
|
203
|
-
project["name"] = "*" + project["name"]
|
|
181
|
+
project["name"] = "*" + str(project["name"])
|
|
204
182
|
|
|
205
183
|
if o == "json":
|
|
206
|
-
print(projects)
|
|
184
|
+
print({"projects": output})
|
|
207
185
|
else:
|
|
208
|
-
print_json_table(
|
|
186
|
+
print_json_table(output, "id", "name", "project_key")
|
|
209
187
|
await client.close()
|
|
210
188
|
|
|
211
189
|
|
|
@@ -219,9 +197,14 @@ async def get(
|
|
|
219
197
|
project_id = await _resolve_project_id_or_key(client, project)
|
|
220
198
|
project_info = await client.get_project(project_id)
|
|
221
199
|
if o == "json":
|
|
222
|
-
print(project_info)
|
|
200
|
+
print(project_info.model_dump(mode="json", exclude_none=True))
|
|
223
201
|
else:
|
|
224
|
-
print_json_table(
|
|
202
|
+
print_json_table(
|
|
203
|
+
[project_info.model_dump(mode="json", exclude_none=True)],
|
|
204
|
+
"id",
|
|
205
|
+
"name",
|
|
206
|
+
"project_key",
|
|
207
|
+
)
|
|
225
208
|
finally:
|
|
226
209
|
await client.close()
|
|
227
210
|
|
|
@@ -3,6 +3,7 @@ from types import SimpleNamespace
|
|
|
3
3
|
import pytest
|
|
4
4
|
|
|
5
5
|
from meshagent.api.client import NotFoundError
|
|
6
|
+
from meshagent.api.client import ProjectInfo, ProjectsPage
|
|
6
7
|
from meshagent.cli import projects
|
|
7
8
|
|
|
8
9
|
|
|
@@ -18,22 +19,26 @@ class _FakeClient:
|
|
|
18
19
|
self.created_project_names: list[str] = []
|
|
19
20
|
self.closed = False
|
|
20
21
|
|
|
21
|
-
async def list_projects(self) ->
|
|
22
|
-
return
|
|
22
|
+
async def list_projects(self) -> ProjectsPage:
|
|
23
|
+
return ProjectsPage(
|
|
24
|
+
projects=[
|
|
25
|
+
ProjectInfo.model_validate(project) for project in self._project_rows
|
|
26
|
+
]
|
|
27
|
+
)
|
|
23
28
|
|
|
24
|
-
async def get_project(self, project_id: str) ->
|
|
29
|
+
async def get_project(self, project_id: str) -> ProjectInfo:
|
|
25
30
|
for project in self._project_rows:
|
|
26
31
|
if project["id"] == project_id:
|
|
27
|
-
return project
|
|
32
|
+
return ProjectInfo.model_validate(project)
|
|
28
33
|
raise NotFoundError("not found")
|
|
29
34
|
|
|
30
|
-
async def get_project_by_key(self, project_key: str) ->
|
|
35
|
+
async def get_project_by_key(self, project_key: str) -> ProjectInfo:
|
|
31
36
|
for project in self._project_rows:
|
|
32
37
|
if project.get("project_key") == project_key:
|
|
33
|
-
return project
|
|
38
|
+
return ProjectInfo.model_validate(project)
|
|
34
39
|
raise NotFoundError("not found")
|
|
35
40
|
|
|
36
|
-
async def create_project(self, name: str) ->
|
|
41
|
+
async def create_project(self, name: str) -> ProjectInfo:
|
|
37
42
|
self.created_project_names.append(name)
|
|
38
43
|
created_row = {
|
|
39
44
|
"id": self._created_project_id,
|
|
@@ -41,7 +46,7 @@ class _FakeClient:
|
|
|
41
46
|
"project_key": name.lower().replace(" ", "-"),
|
|
42
47
|
}
|
|
43
48
|
self._project_rows.append(created_row)
|
|
44
|
-
return created_row
|
|
49
|
+
return ProjectInfo.model_validate(created_row)
|
|
45
50
|
|
|
46
51
|
async def close(self) -> None:
|
|
47
52
|
self.closed = True
|
|
@@ -51,11 +51,9 @@ app.add_lazy_command(
|
|
|
51
51
|
help="Manage dataset tables in a room",
|
|
52
52
|
)
|
|
53
53
|
app.add_lazy_command(
|
|
54
|
-
name="
|
|
55
|
-
module="meshagent.cli.
|
|
56
|
-
help="Manage
|
|
57
|
-
hidden=True,
|
|
58
|
-
deprecated=True,
|
|
54
|
+
name="sqlite",
|
|
55
|
+
module="meshagent.cli.sqlite",
|
|
56
|
+
help="Manage SQLite databases and tables in a room",
|
|
59
57
|
)
|
|
60
58
|
app.add_lazy_command(
|
|
61
59
|
name="memory",
|