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

+5 -5
View File
@@ -75,12 +75,12 @@ class DeviceContext(BaseModel):
extra="allow",
)
host_platform: Literal["WINDOWS", "LINUX", "DARWIN", "MACOS"] | str
mobile_platform: DevicePlatform
device_id: str
host_platform: Literal["WINDOWS", "LINUX", "DARWIN", "MACOS"] | str = "DARWIN"
mobile_platform: DevicePlatform = DevicePlatform.ANDROID
device_id: str = "default-device"
device_width: int
device_height: int
device_width: int = 1080
device_height: int = 2400
def to_str(self):
return (