文件预览

get_task.py

查看 browseanything ai browser agent 技能包中的文件内容。

文件内容

scripts/get_task.py

#!/usr/bin/env python3
"""Get the current state of a task (status, result, error, screenshot ref).

Usage:
    python3 get_task.py <task_id>
    python3 get_task.py --field status <task_id>
"""
from __future__ import annotations

import argparse
import sys

from _client import ApiError, print_json, request


def main() -> int:
    p = argparse.ArgumentParser()
    p.add_argument("task_id")
    p.add_argument("--field", help="Print only one field of task (e.g. status, result).")
    args = p.parse_args()

    try:
        resp = request("GET", f"/api/v1/tasks/{args.task_id}")
    except ApiError as e:
        sys.stderr.write(f"Failed to fetch task: {e}\n")
        return 1

    task = resp["task"]
    if args.field:
        value = task.get(args.field)
        if value is None:
            sys.stderr.write(f"(field '{args.field}' is null/missing)\n")
            return 1
        if isinstance(value, (dict, list)):
            print_json(value)
        else:
            sys.stdout.write(f"{value}\n")
    else:
        print_json(task)
    return 0


if __name__ == "__main__":
    sys.exit(main())