Jobins / main.py
Abhisingh-18's picture
Mirror of github.com/Abhisingh18/Jobins
b6c100d verified
Raw
History Blame Contribute Delete
1.2 kB
"""Entry point.
Usage:
python main.py "your task here" # run one task
python main.py --all-tests # run the 5-task evaluation suite
"""
from __future__ import annotations
import json
import os
import sys
if hasattr(sys.stdout, "reconfigure"):
sys.stdout.reconfigure(encoding="utf-8", errors="replace")
from agent.budget import BudgetEnforcer
from agent.loop import run_agent
def make_budget() -> BudgetEnforcer:
return BudgetEnforcer(
max_llm_calls=int(os.environ.get("MAX_LLM_CALLS", "10")),
max_cost_usd=float(os.environ.get("MAX_COST_USD", "0.20")),
price_per_1k_tokens=float(os.environ.get("MOCK_PRICE_PER_1K_TOKENS", "0.01")),
)
def main() -> None:
if len(sys.argv) < 2:
print(__doc__)
sys.exit(1)
if sys.argv[1] == "--all-tests":
from run_tests import run_all
run_all()
return
task = " ".join(sys.argv[1:])
report = run_agent(task, make_budget())
print("\n" + "=" * 60)
print("FINAL REPORT")
print("=" * 60)
print(json.dumps(report, indent=2, ensure_ascii=False))
if __name__ == "__main__":
main()