meshagent-cli 0.46.2__tar.gz → 0.46.4__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.2 → meshagent_cli-0.46.4}/PKG-INFO +17 -17
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/ask.py +1 -1
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/ask_test.py +24 -24
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/chatbot.py +5 -5
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_test.py +9 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/helper.py +4 -4
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/mailbot.py +4 -4
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/mailboxes.py +1 -2
- meshagent_cli-0.46.4/meshagent/cli/mailboxes_test.py +43 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/process.py +147 -56
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/process_test.py +305 -95
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/queue.py +2 -2
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/queue_test.py +70 -2
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/root_commands.py +20 -45
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/root_commands_test.py +126 -5
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/task_runner.py +5 -5
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tool_integrations.py +1 -1
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tool_integrations_test.py +19 -19
- meshagent_cli-0.46.4/meshagent/cli/version.py +1 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/worker.py +4 -4
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/PKG-INFO +17 -17
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/SOURCES.txt +1 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/requires.txt +16 -16
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/pyproject.toml +16 -16
- meshagent_cli-0.46.2/meshagent/cli/version.py +0 -1
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/LICENSE +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/README.md +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/__init__.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/_filedrop.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agent.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agent_cli_options_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agent_package_cli.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agent_package_cli_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agents.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/agents_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/async_typer.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/async_typer_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/auth.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/auth_async.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/auth_async_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/auth_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/call.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/cli.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/cli_mcp.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/cli_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/common_options.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/config.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/config_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/containers.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/containers_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_project_templates/__init__.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_project_templates/python/backend-agent/server.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_project_templates/python/contact-form/server.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_project_templates/python/task-queue-dashboard/server.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/create_project_templates/python/webserver/server.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/dataset.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/dataset_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/developer.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/developer_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/doctor.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/doctor_dockerfiles/__init__.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/doctor_templates/__init__.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/doctor_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/feeds.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/helper_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/helpers.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/host.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/iam.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/iam_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/image.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/image_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/launch.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/launch_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/llm.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/llm_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/local_settings.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/local_settings_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/mailbot_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/meeting_transcriber.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/memory.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/memory_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/meshagent_images.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/meshagent_images_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/messaging.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/messaging_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/multi.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/oci_archive.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/oci_archive_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/participant_token.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/port.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/port_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/preamble_rules.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/preamble_rules_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/process_live_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/projects.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/projects_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/registry.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/registry_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/room.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/room_connect.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/room_connect_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/room_services.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/room_services_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/rooms.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/rooms_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/routes.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/routes_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/scheduled_tasks.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/scheduled_tasks_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/secrets.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/secrets_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/service_accounts.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/service_accounts_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/services.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/services_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sessions.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sessions_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sqlite.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sqlite_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/storage.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/storage_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/subscriptions.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sync.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/sync_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/task_runner_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/testing.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/thread_inspect.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/thread_inspect_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/thread_sidebar.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tool_call_summary.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tool_call_summary_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/__init__.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/auth_switch.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/auth_switch_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/create.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/deploy_room.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/deploy_room_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/project_activate.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/project_activate_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/setup.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/setup_splash_frames.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/tui/setup_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/version_check.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/version_check_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/voicebot.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/webserver.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/webserver_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent/cli/worker_test.py +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/dependency_links.txt +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/entry_points.txt +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/meshagent_cli.egg-info/top_level.txt +0 -0
- {meshagent_cli-0.46.2 → meshagent_cli-0.46.4}/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.4
|
|
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.4
|
|
26
|
+
Requires-Dist: meshagent-codex==0.46.4
|
|
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.4; extra == "all"
|
|
36
|
+
Requires-Dist: meshagent-api[all]==0.46.4; extra == "all"
|
|
37
|
+
Requires-Dist: meshagent-commoncrawl==0.46.4; extra == "all"
|
|
38
|
+
Requires-Dist: meshagent-scrapy==0.46.4; extra == "all"
|
|
39
|
+
Requires-Dist: meshagent-computers==0.46.4; extra == "all"
|
|
40
|
+
Requires-Dist: meshagent-openai==0.46.4; extra == "all"
|
|
41
|
+
Requires-Dist: meshagent-anthropic==0.46.4; extra == "all"
|
|
42
|
+
Requires-Dist: meshagent-otel==0.46.4; extra == "all"
|
|
43
|
+
Requires-Dist: meshagent-mcp==0.46.4; extra == "all"
|
|
44
|
+
Requires-Dist: meshagent-tools==0.46.4; 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.4; extra == "mcp-service"
|
|
49
|
+
Requires-Dist: meshagent-api==0.46.4; extra == "mcp-service"
|
|
50
|
+
Requires-Dist: meshagent-mcp==0.46.4; extra == "mcp-service"
|
|
51
|
+
Requires-Dist: meshagent-tools==0.46.4; extra == "mcp-service"
|
|
52
52
|
Requires-Dist: supabase-auth~=2.28.0; extra == "mcp-service"
|
|
53
53
|
Dynamic: license-file
|
|
54
54
|
|
|
@@ -151,7 +151,7 @@ from meshagent.tools.storage import StorageToolLocalMount, StorageToolkit
|
|
|
151
151
|
|
|
152
152
|
_MESHAGENT_PROJECT_ID_HEADER = "Meshagent-Project-Id"
|
|
153
153
|
_MESHAGENT_TOKEN_ENV = "MESHAGENT_TOKEN"
|
|
154
|
-
_DEFAULT_ASK_MODEL = "gpt-5.
|
|
154
|
+
_DEFAULT_ASK_MODEL = "gpt-5.6-sol"
|
|
155
155
|
_ASK_ACTIVE_STATUS_STATES = {"queued", "in_progress", "running", "pending"}
|
|
156
156
|
_ASK_TERMINAL_STATUS_STATES = {
|
|
157
157
|
"completed",
|
|
@@ -61,7 +61,7 @@ class _PromptSendSession:
|
|
|
61
61
|
|
|
62
62
|
class _FakeAskAdapter(LLMAdapter[object]):
|
|
63
63
|
def default_model(self) -> str:
|
|
64
|
-
return "gpt-5.
|
|
64
|
+
return "gpt-5.6-sol"
|
|
65
65
|
|
|
66
66
|
def create_session(self, *, usage_callback=None) -> AgentSessionContext:
|
|
67
67
|
return AgentSessionContext()
|
|
@@ -87,7 +87,7 @@ class _FakeAskAdapter(LLMAdapter[object]):
|
|
|
87
87
|
del on_behalf_of
|
|
88
88
|
del tool_choice
|
|
89
89
|
del options
|
|
90
|
-
assert model == "gpt-5.
|
|
90
|
+
assert model == "gpt-5.6-sol"
|
|
91
91
|
thread_id = str(context.metadata["thread_id"])
|
|
92
92
|
turn_id = str(context.metadata["turn_id"])
|
|
93
93
|
assert event_handler is not None
|
|
@@ -259,7 +259,7 @@ async def test_build_ask_toolkits_mounts_create_samples_read_only(tmp_path) -> N
|
|
|
259
259
|
sample_file.write_text("print('hello from sample')\n", encoding="utf-8")
|
|
260
260
|
|
|
261
261
|
toolkits = ask_module._build_ask_toolkits(
|
|
262
|
-
model="gpt-5.
|
|
262
|
+
model="gpt-5.6-sol",
|
|
263
263
|
current_working_directory=str(project_dir),
|
|
264
264
|
create_samples_path=str(samples_dir),
|
|
265
265
|
)
|
|
@@ -464,7 +464,7 @@ def test_format_ask_tool_call_entry_hides_traceback_logs_for_failed_tools() -> N
|
|
|
464
464
|
async def test_run_ask_process_returns_text_output() -> None:
|
|
465
465
|
result = await ask_module._run_ask_process(
|
|
466
466
|
prompt="hi",
|
|
467
|
-
model="gpt-5.
|
|
467
|
+
model="gpt-5.6-sol",
|
|
468
468
|
llm_adapter=_FakeAskAdapter(),
|
|
469
469
|
)
|
|
470
470
|
|
|
@@ -481,7 +481,7 @@ async def test_run_ask_process_streams_text_deltas() -> None:
|
|
|
481
481
|
|
|
482
482
|
result = await ask_module._run_ask_process(
|
|
483
483
|
prompt="hi",
|
|
484
|
-
model="gpt-5.
|
|
484
|
+
model="gpt-5.6-sol",
|
|
485
485
|
llm_adapter=_FakeAskAdapter(),
|
|
486
486
|
on_message=_on_message,
|
|
487
487
|
)
|
|
@@ -500,7 +500,7 @@ async def test_run_ask_process_awaits_async_text_delta_callback() -> None:
|
|
|
500
500
|
|
|
501
501
|
result = await ask_module._run_ask_process(
|
|
502
502
|
prompt="hi",
|
|
503
|
-
model="gpt-5.
|
|
503
|
+
model="gpt-5.6-sol",
|
|
504
504
|
llm_adapter=_FakeAskAdapter(),
|
|
505
505
|
on_message=_on_message,
|
|
506
506
|
)
|
|
@@ -512,7 +512,7 @@ async def test_run_ask_process_awaits_async_text_delta_callback() -> None:
|
|
|
512
512
|
@pytest.mark.asyncio
|
|
513
513
|
async def test_ask_session_reuses_process_for_multiple_prompts() -> None:
|
|
514
514
|
async with ask_module._AskSession(
|
|
515
|
-
model="gpt-5.
|
|
515
|
+
model="gpt-5.6-sol",
|
|
516
516
|
llm_adapter=_FakeAskAdapter(),
|
|
517
517
|
) as session:
|
|
518
518
|
first = await session.ask(prompt="first")
|
|
@@ -527,7 +527,7 @@ async def test_ask_session_emits_custom_event_status_messages() -> None:
|
|
|
527
527
|
statuses: list[str | None] = []
|
|
528
528
|
|
|
529
529
|
async with ask_module._AskSession(
|
|
530
|
-
model="gpt-5.
|
|
530
|
+
model="gpt-5.6-sol",
|
|
531
531
|
llm_adapter=_FakeStatusAskAdapter(),
|
|
532
532
|
) as session:
|
|
533
533
|
result = await session.ask(
|
|
@@ -1559,7 +1559,7 @@ def test_agent_file_content_delta_preserves_pdf_uri_for_tui_hydration() -> None:
|
|
|
1559
1559
|
@pytest.mark.asyncio
|
|
1560
1560
|
async def test_ask_session_adds_cwd_storage_and_builtin_tools() -> None:
|
|
1561
1561
|
session = ask_module._AskSession(
|
|
1562
|
-
model="gpt-5.
|
|
1562
|
+
model="gpt-5.6-sol",
|
|
1563
1563
|
llm_adapter=_FakeAskAdapter(),
|
|
1564
1564
|
current_working_directory="/tmp/ask-project",
|
|
1565
1565
|
)
|
|
@@ -1585,7 +1585,7 @@ async def test_ask_session_adds_cwd_storage_and_builtin_tools() -> None:
|
|
|
1585
1585
|
@pytest.mark.asyncio
|
|
1586
1586
|
async def test_ask_session_adds_noninteractive_instruction_for_non_tty_mode() -> None:
|
|
1587
1587
|
session = ask_module._AskSession(
|
|
1588
|
-
model="gpt-5.
|
|
1588
|
+
model="gpt-5.6-sol",
|
|
1589
1589
|
llm_adapter=_FakeAskAdapter(),
|
|
1590
1590
|
current_working_directory="/tmp/ask-project",
|
|
1591
1591
|
interactive=False,
|
|
@@ -1636,7 +1636,7 @@ def test_suppress_ask_process_logs_restores_logger_state() -> None:
|
|
|
1636
1636
|
|
|
1637
1637
|
def test_build_ask_adapter_uses_websocket_mode_for_openai() -> None:
|
|
1638
1638
|
adapter = ask_module._build_ask_adapter(
|
|
1639
|
-
model="gpt-5.
|
|
1639
|
+
model="gpt-5.6-sol",
|
|
1640
1640
|
project_id="project-123",
|
|
1641
1641
|
access_token="oauth-token",
|
|
1642
1642
|
)
|
|
@@ -1735,11 +1735,11 @@ async def test_ask_command_uses_oauth_token_and_renders_markdown_by_default(
|
|
|
1735
1735
|
await ask_module.ask(
|
|
1736
1736
|
project_id="project-123",
|
|
1737
1737
|
message="hello",
|
|
1738
|
-
model="gpt-5.
|
|
1738
|
+
model="gpt-5.6-sol",
|
|
1739
1739
|
)
|
|
1740
1740
|
|
|
1741
1741
|
assert captured == {
|
|
1742
|
-
"model": "gpt-5.
|
|
1742
|
+
"model": "gpt-5.6-sol",
|
|
1743
1743
|
"project_id": "project-123",
|
|
1744
1744
|
"access_token": "oauth-token",
|
|
1745
1745
|
}
|
|
@@ -1782,7 +1782,7 @@ def test_meshagent_ask_cli_invocation_prints_streamed_response(
|
|
|
1782
1782
|
"--format",
|
|
1783
1783
|
"text",
|
|
1784
1784
|
"--model",
|
|
1785
|
-
"gpt-5.
|
|
1785
|
+
"gpt-5.6-sol",
|
|
1786
1786
|
],
|
|
1787
1787
|
)
|
|
1788
1788
|
|
|
@@ -1790,7 +1790,7 @@ def test_meshagent_ask_cli_invocation_prints_streamed_response(
|
|
|
1790
1790
|
captured_stdout = result.output or capsys.readouterr().out
|
|
1791
1791
|
assert captured_stdout == "hello world\n"
|
|
1792
1792
|
assert captured == {
|
|
1793
|
-
"model": "gpt-5.
|
|
1793
|
+
"model": "gpt-5.6-sol",
|
|
1794
1794
|
"project_id": "project-123",
|
|
1795
1795
|
"access_token": "cli-token",
|
|
1796
1796
|
}
|
|
@@ -1914,11 +1914,11 @@ async def test_ask_command_prints_markdown_without_streaming(monkeypatch) -> Non
|
|
|
1914
1914
|
project_id="project-123",
|
|
1915
1915
|
message="hello",
|
|
1916
1916
|
format="markdown",
|
|
1917
|
-
model="gpt-5.
|
|
1917
|
+
model="gpt-5.6-sol",
|
|
1918
1918
|
)
|
|
1919
1919
|
|
|
1920
1920
|
assert captured == {
|
|
1921
|
-
"model": "gpt-5.
|
|
1921
|
+
"model": "gpt-5.6-sol",
|
|
1922
1922
|
"project_id": "project-123",
|
|
1923
1923
|
"access_token": "oauth-token",
|
|
1924
1924
|
}
|
|
@@ -1966,13 +1966,13 @@ async def test_ask_command_launches_tui_when_prompt_missing_in_tty(monkeypatch)
|
|
|
1966
1966
|
await ask_module.ask(
|
|
1967
1967
|
project_id="project-123",
|
|
1968
1968
|
message=None,
|
|
1969
|
-
model="gpt-5.
|
|
1969
|
+
model="gpt-5.6-sol",
|
|
1970
1970
|
)
|
|
1971
1971
|
|
|
1972
|
-
assert captured["model"] == "gpt-5.
|
|
1972
|
+
assert captured["model"] == "gpt-5.6-sol"
|
|
1973
1973
|
assert captured["project_id"] == "project-123"
|
|
1974
1974
|
assert captured["access_token"] == "oauth-token"
|
|
1975
|
-
assert captured["tui_model"] == "gpt-5.
|
|
1975
|
+
assert captured["tui_model"] == "gpt-5.6-sol"
|
|
1976
1976
|
assert captured["preamble_rule"] is True
|
|
1977
1977
|
|
|
1978
1978
|
|
|
@@ -1998,7 +1998,7 @@ async def test_ask_command_requires_message_when_not_tty(monkeypatch) -> None:
|
|
|
1998
1998
|
await ask_module.ask(
|
|
1999
1999
|
project_id="project-123",
|
|
2000
2000
|
message=None,
|
|
2001
|
-
model="gpt-5.
|
|
2001
|
+
model="gpt-5.6-sol",
|
|
2002
2002
|
)
|
|
2003
2003
|
|
|
2004
2004
|
assert exc.value.exit_code == 1
|
|
@@ -2027,7 +2027,7 @@ async def test_ask_command_requires_oauth_access_token(monkeypatch) -> None:
|
|
|
2027
2027
|
await ask_module.ask(
|
|
2028
2028
|
project_id="project-123",
|
|
2029
2029
|
message="hello",
|
|
2030
|
-
model="gpt-5.
|
|
2030
|
+
model="gpt-5.6-sol",
|
|
2031
2031
|
)
|
|
2032
2032
|
|
|
2033
2033
|
assert exc.value.exit_code == 1
|
|
@@ -2076,11 +2076,11 @@ async def test_ask_command_prefers_meshagent_token_over_oauth(monkeypatch) -> No
|
|
|
2076
2076
|
project_id="project-123",
|
|
2077
2077
|
message="hello",
|
|
2078
2078
|
format="text",
|
|
2079
|
-
model="gpt-5.
|
|
2079
|
+
model="gpt-5.6-sol",
|
|
2080
2080
|
)
|
|
2081
2081
|
|
|
2082
2082
|
assert captured == {
|
|
2083
|
-
"model": "gpt-5.
|
|
2083
|
+
"model": "gpt-5.6-sol",
|
|
2084
2084
|
"project_id": "project-123",
|
|
2085
2085
|
"access_token": "room-token",
|
|
2086
2086
|
}
|
|
@@ -2859,7 +2859,7 @@ async def join(
|
|
|
2859
2859
|
] = [],
|
|
2860
2860
|
model: Annotated[
|
|
2861
2861
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
2862
|
-
] = "gpt-5.
|
|
2862
|
+
] = "gpt-5.6-sol",
|
|
2863
2863
|
image_generation: Annotated[
|
|
2864
2864
|
Optional[str], typer.Option(..., help="Name of an image gen model")
|
|
2865
2865
|
] = None,
|
|
@@ -3268,7 +3268,7 @@ async def service(
|
|
|
3268
3268
|
] = [],
|
|
3269
3269
|
model: Annotated[
|
|
3270
3270
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
3271
|
-
] = "gpt-5.
|
|
3271
|
+
] = "gpt-5.6-sol",
|
|
3272
3272
|
image_generation: Annotated[
|
|
3273
3273
|
Optional[str], typer.Option(..., help="Name of an image gen model")
|
|
3274
3274
|
] = None,
|
|
@@ -3639,7 +3639,7 @@ async def spec(
|
|
|
3639
3639
|
] = [],
|
|
3640
3640
|
model: Annotated[
|
|
3641
3641
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
3642
|
-
] = "gpt-5.
|
|
3642
|
+
] = "gpt-5.6-sol",
|
|
3643
3643
|
image_generation: Annotated[
|
|
3644
3644
|
Optional[str], typer.Option(..., help="Name of an image gen model")
|
|
3645
3645
|
] = None,
|
|
@@ -4013,7 +4013,7 @@ async def deploy(
|
|
|
4013
4013
|
] = [],
|
|
4014
4014
|
model: Annotated[
|
|
4015
4015
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
4016
|
-
] = "gpt-5.
|
|
4016
|
+
] = "gpt-5.6-sol",
|
|
4017
4017
|
image_generation: Annotated[
|
|
4018
4018
|
Optional[str], typer.Option(..., help="Name of an image gen model")
|
|
4019
4019
|
] = None,
|
|
@@ -6072,7 +6072,7 @@ async def run(
|
|
|
6072
6072
|
] = [],
|
|
6073
6073
|
model: Annotated[
|
|
6074
6074
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
6075
|
-
] = "gpt-5.
|
|
6075
|
+
] = "gpt-5.6-sol",
|
|
6076
6076
|
image_generation: Annotated[
|
|
6077
6077
|
Optional[str], typer.Option(..., help="Name of an image gen model")
|
|
6078
6078
|
] = None,
|
|
@@ -1976,6 +1976,15 @@ def test_init_creates_flutter_webserver_non_interactively(tmp_path) -> None:
|
|
|
1976
1976
|
dev_sh = (tmp_path / "scripts" / "dev.sh").read_text(encoding="utf-8")
|
|
1977
1977
|
deploy_sh = (tmp_path / "scripts" / "deploy.sh").read_text(encoding="utf-8")
|
|
1978
1978
|
_assert_template_dockerfile(tmp_path)
|
|
1979
|
+
dockerfile = (tmp_path / "Dockerfile").read_text(encoding="utf-8")
|
|
1980
|
+
assert "ghcr.io/cirruslabs/flutter" not in dockerfile
|
|
1981
|
+
assert (
|
|
1982
|
+
"FROM --platform=${FLUTTER_IMAGE_PLATFORM} ubuntu:24.04 AS build" in dockerfile
|
|
1983
|
+
)
|
|
1984
|
+
assert "ARG FLUTTER_VERSION=3.44.6" in dockerfile
|
|
1985
|
+
assert (
|
|
1986
|
+
"a6320fd72e9a2690c08e2a6a70874a30cb120dee7c78f49d2c628bd7c9e20525" in dockerfile
|
|
1987
|
+
)
|
|
1979
1988
|
assert 'PUB_CACHE="${PUB_CACHE:-$ROOT/.pub-cache}"' in install_sh
|
|
1980
1989
|
assert "command -v flutter" in install_sh
|
|
1981
1990
|
assert "command -v docker" not in install_sh
|
|
@@ -87,7 +87,6 @@ DEPRECATED_REQUIRE_OPTION_ALIASES = {
|
|
|
87
87
|
"--require-uuid": "--uuid",
|
|
88
88
|
"--require-table-read": "--table-read",
|
|
89
89
|
"--require-table-write": "--table-write",
|
|
90
|
-
"--require-document-authoring": "--document-authoring",
|
|
91
90
|
"--require-discovery": "--discovery",
|
|
92
91
|
}
|
|
93
92
|
|
|
@@ -299,17 +298,18 @@ class CustomMeshagentClient(Meshagent):
|
|
|
299
298
|
return await super().connect_room(project_id=project_id, room=room)
|
|
300
299
|
|
|
301
300
|
|
|
302
|
-
async def get_client():
|
|
301
|
+
async def get_client(*, api_url: str | None = None):
|
|
302
|
+
resolved_api_url = resolve_api_url(api_url=api_url)
|
|
303
303
|
key = os.getenv("MESHAGENT_API_KEY") or os.getenv("MESHAGENT_TOKEN")
|
|
304
304
|
if key is not None or os.getenv("MESHAGENT_SESSION_ID") is not None:
|
|
305
305
|
return CustomMeshagentClient(
|
|
306
|
-
base_url=
|
|
306
|
+
base_url=resolved_api_url,
|
|
307
307
|
token=key,
|
|
308
308
|
)
|
|
309
309
|
else:
|
|
310
310
|
access_token = await auth_async.get_access_token()
|
|
311
311
|
return CustomMeshagentClient(
|
|
312
|
-
base_url=
|
|
312
|
+
base_url=resolved_api_url,
|
|
313
313
|
token=access_token,
|
|
314
314
|
)
|
|
315
315
|
|
|
@@ -659,7 +659,7 @@ async def join(
|
|
|
659
659
|
] = [],
|
|
660
660
|
model: Annotated[
|
|
661
661
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
662
|
-
] = "gpt-5.
|
|
662
|
+
] = "gpt-5.6-sol",
|
|
663
663
|
require_shell: Annotated[
|
|
664
664
|
Optional[bool],
|
|
665
665
|
typer.Option("--shell", help="Enable function shell tool calling"),
|
|
@@ -976,7 +976,7 @@ async def service(
|
|
|
976
976
|
] = [],
|
|
977
977
|
model: Annotated[
|
|
978
978
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
979
|
-
] = "gpt-5.
|
|
979
|
+
] = "gpt-5.6-sol",
|
|
980
980
|
require_shell: Annotated[
|
|
981
981
|
Optional[bool],
|
|
982
982
|
typer.Option("--shell", help="Enable function shell tool calling"),
|
|
@@ -1270,7 +1270,7 @@ async def spec(
|
|
|
1270
1270
|
] = [],
|
|
1271
1271
|
model: Annotated[
|
|
1272
1272
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
1273
|
-
] = "gpt-5.
|
|
1273
|
+
] = "gpt-5.6-sol",
|
|
1274
1274
|
require_shell: Annotated[
|
|
1275
1275
|
Optional[bool],
|
|
1276
1276
|
typer.Option("--shell", help="Enable function shell tool calling"),
|
|
@@ -1575,7 +1575,7 @@ async def deploy(
|
|
|
1575
1575
|
] = [],
|
|
1576
1576
|
model: Annotated[
|
|
1577
1577
|
str, typer.Option(..., help="Name of the LLM model to use for the chatbot")
|
|
1578
|
-
] = "gpt-5.
|
|
1578
|
+
] = "gpt-5.6-sol",
|
|
1579
1579
|
require_shell: Annotated[
|
|
1580
1580
|
Optional[bool],
|
|
1581
1581
|
typer.Option("--shell", help="Enable function shell tool calling"),
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
from meshagent.cli import mailboxes
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@pytest.mark.asyncio
|
|
7
|
+
async def test_mailbox_list_project_uses_page_size_client_argument(
|
|
8
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
9
|
+
):
|
|
10
|
+
captured: dict[str, object] = {}
|
|
11
|
+
|
|
12
|
+
class FakeClient:
|
|
13
|
+
async def list_mailboxes(self, **kwargs):
|
|
14
|
+
captured["list_mailboxes"] = kwargs
|
|
15
|
+
return []
|
|
16
|
+
|
|
17
|
+
async def close(self):
|
|
18
|
+
captured["closed"] = True
|
|
19
|
+
|
|
20
|
+
async def fake_get_client():
|
|
21
|
+
return FakeClient()
|
|
22
|
+
|
|
23
|
+
async def fake_resolve_project_id(project_id=None):
|
|
24
|
+
return project_id or "project-1"
|
|
25
|
+
|
|
26
|
+
monkeypatch.setattr(mailboxes, "get_client", fake_get_client)
|
|
27
|
+
monkeypatch.setattr(mailboxes, "resolve_project_id", fake_resolve_project_id)
|
|
28
|
+
|
|
29
|
+
await mailboxes.mailbox_list(
|
|
30
|
+
project_id="project-1",
|
|
31
|
+
room=None,
|
|
32
|
+
filter="support",
|
|
33
|
+
count=25,
|
|
34
|
+
offset=9,
|
|
35
|
+
o="json",
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
assert captured["list_mailboxes"] == {
|
|
39
|
+
"project_id": "project-1",
|
|
40
|
+
"page_size": 25,
|
|
41
|
+
"filter": "support",
|
|
42
|
+
}
|
|
43
|
+
assert captured["closed"] is True
|