diff --git a/src/pyob/autoreviewer.py b/src/pyob/autoreviewer.py index ed4841a..734831e 100644 --- a/src/pyob/autoreviewer.py +++ b/src/pyob/autoreviewer.py @@ -249,8 +249,8 @@ def get_valid_edit( if response_text.startswith("ERROR_CODE_429"): if key: - logger.warning("⚠️ Key hit a 429 rate limit. Timeout 20m.") - self.key_cooldowns[key] = time.time() + 1200 + logger.warning("⚠️ Key hit a 429 rate limit. Timeout 2m.") + self.key_cooldowns[key] = time.time() + 120 time.sleep(60) attempts += 1 continue diff --git a/src/pyob/entrance.py b/src/pyob/entrance.py index e7fe5f5..fceb337 100644 --- a/src/pyob/entrance.py +++ b/src/pyob/entrance.py @@ -692,8 +692,10 @@ def update_ledger_for_file(self, rel_path: str, code: str): except Exception as e: logger.warning(f"Failed to parse Python AST for {rel_path}: {e}") elif ext in [".js", ".ts"]: + # Improved regex to capture more JS/TS definition patterns, including export/async modifiers defs = re.findall( - r"(?:function|class|const|var|let)\s+([a-zA-Z0-9_$]+)", code + r"(?:export\s+|async\s+)?(?:function\*?|class|const|var|let)\s+([a-zA-Z0-9_$]+)", + code, ) for d in defs: if len(d) > 3: