code editor: Agent Studio improvement iteration 3 for quote-judge-studio-v1. Goal:
This commit is contained in:
20
agent.py
20
agent.py
@@ -1,6 +1,7 @@
|
|||||||
"""QuoteJudge Studio v1: deterministic quote comparison with durable per-user state."""
|
"""QuoteJudge Studio v1: deterministic quote comparison with durable per-user state."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import asyncio
|
||||||
import base64
|
import base64
|
||||||
import csv
|
import csv
|
||||||
import hashlib
|
import hashlib
|
||||||
@@ -127,7 +128,7 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
|
|||||||
"scoring, persists per-user comparisons, supports browser uploads, and serves "
|
"scoring, persists per-user comparisons, supports browser uploads, and serves "
|
||||||
"a polished packed product UI."
|
"a polished packed product UI."
|
||||||
)
|
)
|
||||||
version = "0.1.2"
|
version = "0.1.3"
|
||||||
|
|
||||||
config_model = QuoteJudgeStudioV1Config
|
config_model = QuoteJudgeStudioV1Config
|
||||||
auth_model = PlatformUserAuth
|
auth_model = PlatformUserAuth
|
||||||
@@ -189,10 +190,21 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
|
|||||||
},
|
},
|
||||||
result=result,
|
result=result,
|
||||||
)
|
)
|
||||||
persisted = _persist_comparison(tenant, comparison_id, result, receipt)
|
persisted = await asyncio.to_thread(_persist_comparison, tenant, comparison_id, result, receipt)
|
||||||
|
if not persisted["ok"]:
|
||||||
|
return {
|
||||||
|
"ok": False,
|
||||||
|
"code": persisted["code"],
|
||||||
|
"comparison_id": comparison_id,
|
||||||
|
"receipt": {
|
||||||
|
"receipt_id": receipt["receipt_id"],
|
||||||
|
"persisted": False,
|
||||||
|
"created_at": receipt["created_at"],
|
||||||
|
},
|
||||||
|
}
|
||||||
result["receipt"] = {
|
result["receipt"] = {
|
||||||
"receipt_id": receipt["receipt_id"],
|
"receipt_id": receipt["receipt_id"],
|
||||||
"persisted": persisted["ok"],
|
"persisted": True,
|
||||||
"created_at": receipt["created_at"],
|
"created_at": receipt["created_at"],
|
||||||
}
|
}
|
||||||
if persisted.get("warning"):
|
if persisted.get("warning"):
|
||||||
@@ -214,7 +226,7 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
|
|||||||
tenant = _tenant_key(ctx)
|
tenant = _tenant_key(ctx)
|
||||||
if not _valid_comparison_id(comparison_id):
|
if not _valid_comparison_id(comparison_id):
|
||||||
return {"ok": False, "code": "invalid_comparison_id", "comparison_id": comparison_id}
|
return {"ok": False, "code": "invalid_comparison_id", "comparison_id": comparison_id}
|
||||||
record = _load_comparison(tenant, comparison_id)
|
record = await asyncio.to_thread(_load_comparison, tenant, comparison_id)
|
||||||
if record is None:
|
if record is None:
|
||||||
return {"ok": False, "code": "comparison_not_found", "comparison_id": comparison_id}
|
return {"ok": False, "code": "comparison_not_found", "comparison_id": comparison_id}
|
||||||
result = dict(record["result"])
|
result = dict(record["result"])
|
||||||
|
|||||||
Reference in New Issue
Block a user