#!/usr/bin/env python3
"""Minimal Wever Labs reference agent client.

Usage:
  python diligence_reference_agent.py
  python diligence_reference_agent.py external-your-agent-001 external_builder_test true

Default mode is an internal Wever Labs reference example and does not count as adoption.
An outside builder who forks/runs from their own environment may pass a non-Wever agent id
and explicitly set record_source/counts_as_adoption for their own test.
"""
import json
import sys
import urllib.request

agent_id = sys.argv[1] if len(sys.argv) > 1 else "weverlabs-reference-diligence-agent-001"
record_source = sys.argv[2] if len(sys.argv) > 2 else "internal_reference_agent"
counts_as_adoption = (sys.argv[3].lower() == "true") if len(sys.argv) > 3 else False

payload = {
    "requester_agent": agent_id,
    "rail": "diligenceops",
    "scope": "reference_agent_receipt_backed_work_order_test",
    "payment_authority": f"reference_agent_allowance:{agent_id}",
    "record_source": record_source,
    "counts_as_adoption": counts_as_adoption,
    "proof_required": ["receipt", "return_package", "verification_packet", "trust_ledger_record"],
    "movement_amount_units": 100,
    "movement_type": "transaction",
    "idempotency_key": agent_id,
}

request = urllib.request.Request(
    "https://weverlabs.com/api/work-orders",
    data=json.dumps(payload).encode("utf-8"),
    headers={"Content-Type": "application/json"},
    method="POST",
)

with urllib.request.urlopen(request, timeout=30) as response:
    result = json.loads(response.read().decode("utf-8"))

print(json.dumps(result, indent=2))
print("\nInspect profile:")
print(f"https://weverlabs.com/api/agent-work-history?agent_id={agent_id}")
