← Lesson
Human in the Loop
Joeven
Run
Reset
Python loads on first run
NEEDS_APPROVAL = {"refund", "send_email"} def request_approval(name, args): return { "status": "waiting_human", "tool": name, "frozen_args": dict(args), } def resume(ticket, decision, extra_args=None): if decision == "deny": return {"status": "denied", "tool": ticket["tool"]} args = dict(ticket["frozen_args"]) if extra_args: args.update(extra_args) if args != ticket["frozen_args"]: return {"status": "rejected_mutation", "got": args} return {"status": "approved_run", "tool": ticket["tool"], "args": args} t = request_approval("refund", {"order_id": "99", "amount": 40}) print("pause", t["status"], t["frozen_args"]) print(resume(t, "deny")) print(resume(t, "approve")) print(resume(t, "approve", {"amount": 400}))
Run to execute this in your browser. Nothing is sent to a server.