feat: add multi-device concurrency, server lifecycle CLI, and unified execution stream

- Implement DevicePool and DeviceExecutionLock concurrency modes (per-device FIFO vs global serialization)
- Extend ArtemisClient SDK and CLI with explicit device targeting and concurrency strategy configuration
- Add server lifecycle management (artemis restart, stop, status) with cross-platform PID discovery
- Update MCP server tools to support multi-device dispatch, trace tagging, and per-device execution
- Enhance Showcase UI with step-by-step visual replay, playback speed controls, and device serial badges
- Add comprehensive unit test coverage and edge-case verification scripts
This commit is contained in:
somew1nd committed 2026-08-26 15:53:14 -07:00
1 parent a36a66ce6d
commit c2c90a6378
84 files changed
+5612 -645

No files matched your search

+36 -1
View File
@@ -14,22 +14,57 @@
"""Artemis cross-platform runtime and process supervisor subsystem."""
from artemis.runtime.device_lock import DeviceBusyError, DeviceExecutionLock
from artemis.runtime.device_lock import (
ConcurrencyMode,
DeviceBusyError,
DeviceExecutionLock,
)
from artemis.runtime.device_pool import DevicePool, DeviceStatus, device_pool
from artemis.runtime.daemon_client import (
ensure_daemon_running,
is_daemon_running,
submit_task_to_daemon,
)
from artemis.runtime.awake_service import (
ensure_device_awake,
sanitize_device_state,
screen_awake_service,
shutdown_awake_service,
start_awake_service,
)
from artemis.runtime.server_lifecycle import (
clear_server_info,
find_server_pids,
get_server_status,
is_port_in_use,
read_server_info,
stop_server,
write_server_info,
)
from artemis.runtime.supervisor import ProcessSupervisor, process_supervisor
__all__ = [
"ConcurrencyMode",
"DeviceBusyError",
"DeviceExecutionLock",
"DevicePool",
"DeviceStatus",
"clear_server_info",
"device_pool",
"ensure_daemon_running",
"ensure_device_awake",
"find_server_pids",
"get_server_status",
"is_daemon_running",
"is_port_in_use",
"ProcessSupervisor",
"process_supervisor",
"read_server_info",
"sanitize_device_state",
"screen_awake_service",
"shutdown_awake_service",
"start_awake_service",
"stop_server",
"submit_task_to_daemon",
"write_server_info",
]