AutoTeam-F / src /autoteam /playwright_probe.py
ZRainbow's picture
fix: align provider auth seat semantics
c73b0b0
Raw
History Blame Contribute Delete
1.33 kB
"""Short-lived Playwright probe process.
Runs browser probes that are allowed to be killed as a whole process tree by the
parent process. This keeps periodic background checks from accumulating stuck
Playwright / Chromium children.
"""
from __future__ import annotations
import json
import logging
import sys
logging.basicConfig(level=logging.WARNING)
def _probe_team_member_count() -> dict[str, int]:
from autoteam.account_ops import fetch_team_state
from autoteam.chatgpt_api import ChatGPTTeamAPI
chatgpt = ChatGPTTeamAPI()
try:
chatgpt.start()
members, invites = fetch_team_state(chatgpt)
count = len(members)
invite_count = len(invites)
return {"count": count, "invites": invite_count, "occupancy": count + invite_count}
finally:
chatgpt.stop()
def main() -> None:
action = (sys.argv[1] if len(sys.argv) > 1 else "").strip().lower()
try:
if action == "team-member-count":
result = _probe_team_member_count()
else:
raise RuntimeError(f"unknown probe action: {action or 'empty'}")
except Exception as exc:
print(json.dumps({"error": str(exc)}, ensure_ascii=False))
raise SystemExit(1) from exc
print(json.dumps(result, ensure_ascii=False))
if __name__ == "__main__":
main()