trace / test_api.py
Ayush
Update
4156f51
Raw
History Blame Contribute Delete
2.87 kB
"""Quick test script for the Trace Environment API flow using TraceEnvClient."""
import time
import json
from client import TraceEnvClient
from models import TraceAction
BASE = "http://127.0.0.1:8000"
def test_full_flow():
print("=" * 60)
print("TEST: Full Trace Environment flow via TraceEnvClient")
print("=" * 60)
# Use port 8000 (default)
with TraceEnvClient(base_url=BASE).sync() as client:
# 1. Reset
print("\n[1] Reset episode...")
result = client.reset()
obs = result.observation
print(f" Episode ID: {obs.episode_id}")
print(f" Instruction: {obs.instruction}")
print(f" Step: {obs.step}")
# 2. Wait a bit (simulating user thinking) then PLAN
print("\n (Waiting 1 second...)")
time.sleep(1)
print("\n[2] Step: PLAN...")
result = client.step(TraceAction(
action_type="PLAN",
content="Step 1: Query Gmail for receipts in 2025. Step 2: Memorize key findings. Step 3: Verify results. Step 4: Submit final answer.",
))
print(f" Done: {result.done}")
print(f" Reward: {result.reward}")
print(f" Context: {result.observation.context[:120]}")
# 3. RETRIEVE from gmail
print("\n[3] Step: RETRIEVE from gmail...")
result = client.step(TraceAction(
action_type="RETRIEVE",
content="receipt 2025",
source="gmail",
))
print(f" Done: {result.done}")
print(f" Reward: {result.reward}")
print(f" Context: {result.observation.context[:120]}")
# 4. MEMORIZE
print("\n[4] Step: MEMORIZE...")
result = client.step(TraceAction(
action_type="MEMORIZE",
content="Found receipts from Gmail for 2025 transactions.",
))
print(f" Done: {result.done}")
print(f" Reward: {result.reward}")
# 5. VERIFY
print("\n[5] Step: VERIFY...")
result = client.step(TraceAction(
action_type="VERIFY",
content="Receipts were found in Gmail for 2025.",
))
print(f" Done: {result.done}")
print(f" Reward: {result.reward}")
print(f" Verified: {result.observation.context[:120]}")
# 6. ANSWER
print("\n[6] Step: ANSWER...")
result = client.step(TraceAction(
action_type="ANSWER",
content="Based on my search of Gmail, I found several receipts from 2025 including order confirmations, invoices, and subscription renewals.",
))
print(f" Done: {result.done}")
print(f" Reward: {result.reward}")
assert result.done == True
print("\n" + "=" * 60)
print("ALL TESTS PASSED!")
print("=" * 60)
if __name__ == "__main__":
test_full_flow()