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 -1
View File
@@ -204,6 +204,10 @@ class ModelFactory:
or os.environ.get("GOOGLE_API_KEY")
or os.environ.get("GEMINI_API_KEY")
)
thinking_level = endpoint.thinking_level
if endpoint.model_name and any(v in endpoint.model_name for v in ("2.5", "2.0", "1.5")):
thinking_level = None
kwargs: dict[str, Any] = {
"model": endpoint.model_name,
"temperature": endpoint.temperature,
@@ -211,7 +215,7 @@ class ModelFactory:
"api_key": api_key,
"timeout": endpoint.timeout_seconds,
"thinking_budget": endpoint.thinking_budget,
"thinking_level": endpoint.thinking_level,
"thinking_level": thinking_level,
"include_thoughts": endpoint.include_thoughts,
"safety_settings": {
HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE,