feat(web-test): status реально пингует сервер, а не верит файлу сессии

cmdStatus проверял только наличие .browser-session.json, поэтому после
падения/перезагрузки оставшийся файл читался как живая сессия (ложное
ok:true). Сервер уже отдаёт реальную живость через GET /status
(browser.isConnected()) — CLI теперь им пользуется:

- ok:true/ready:true только если сервер ответил connected:true (exit 0);
- server-unreachable (сервер мёртв, файл остался) → exit 1 + самоочистка
  stale-файла; browser-disconnected → exit 1;
- контракт кода возврата сохранён: exit 0 = живая готовая сессия.
- SKILL.md: ждать готовности поллингом status (exit 0), а не ловлей
  stdout долгоживущего start.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-16 15:06:37 +03:00
parent b81a7504ce
commit 115a966f0f
3 changed files with 29 additions and 9 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env node
// web-test run v1.18 — CLI entry-point (распилено по cli/)
// web-test run v1.19 — CLI entry-point (распилено по cli/)
// Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
/**
* CLI runner for 1C web client automation.
@@ -59,7 +59,7 @@ switch (cmd) {
case 'exec': await cmdExec(args[0], flags); break;
case 'shot': await cmdShot(args[0]); break;
case 'stop': await cmdStop(); break;
case 'status': cmdStatus(); break;
case 'status': await cmdStatus(); break;
case 'test': await cmdTest(rawArgs); break;
default: usage();
}