feat(core): consolidate config hub, unify daemon scheduling across all entrypoints, and fix step replay
- Unified configuration and paths under artemis.config as single source of truth - Consolidated execution across CLI, SDK, MCP, and Admin Console to default to Artemis Daemon - Fixed frontend step replay to preserve failure steps with proper sequential numbering - Implemented task deduplication, debouncing, and multi-device lock isolation - Added comprehensive end-to-end multi-port integration tests for live phone and emulator
This commit is contained in:
1 parent
e984d17635
commit
5f1ee18bc1
38 files changed
+1426
-203
No files matched your search
@@ -116,3 +116,22 @@ def test_submit_task_to_daemon():
|
||||
assert data["ingress"] == "mcp"
|
||||
assert data["conversation_id"] == "conv-123"
|
||||
|
||||
|
||||
def test_stop_task_on_daemon():
|
||||
from artemis.runtime.daemon_client import stop_task_on_daemon
|
||||
|
||||
mock_resp = MagicMock()
|
||||
mock_resp.status = 200
|
||||
mock_resp.read.return_value = b'{"status": "stopped", "session_id": "test-sess-stop"}'
|
||||
mock_resp.__enter__.return_value = mock_resp
|
||||
|
||||
with patch("urllib.request.urlopen", return_value=mock_resp) as mock_urlopen:
|
||||
assert stop_task_on_daemon("test-sess-stop") is True
|
||||
req = mock_urlopen.call_args[0][0]
|
||||
data = json.loads(req.data.decode("utf-8"))
|
||||
assert data["session_id"] == "test-sess-stop"
|
||||
|
||||
mock_resp.read.return_value = b'{"status": "no_running_task"}'
|
||||
with patch("urllib.request.urlopen", return_value=mock_resp):
|
||||
assert stop_task_on_daemon("non-existent-sess") is False
|
||||
|
||||
Reference in new issue
Block a user