a2a-source-edit: write agent.py

This commit is contained in:
a2a-cloud
2026-07-18 02:35:36 +00:00
parent c406d91595
commit 09461dab39

View File

@@ -28,6 +28,8 @@ from a2a_pack import (
RunContext, RunContext,
State, State,
UploadedFile, UploadedFile,
WorkspaceAccess,
WorkspaceMode,
) )
@@ -43,6 +45,10 @@ class QuoteJudgeStudioV1Config(BaseModel):
"""No caller-provided configuration is required.""" """No caller-provided configuration is required."""
class QuoteJudgeState(BaseModel):
last_comparison_id: str | None = None
class QuoteInput(BaseModel): class QuoteInput(BaseModel):
vendor: str = Field(..., min_length=1, max_length=MAX_VENDOR_LEN) vendor: str = Field(..., min_length=1, max_length=MAX_VENDOR_LEN)
unit_price: float = Field(..., gt=0, le=1_000_000) unit_price: float = Field(..., gt=0, le=1_000_000)
@@ -104,6 +110,13 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
) )
resources = Resources(cpu="500m", memory="512Mi", max_runtime_seconds=120) resources = Resources(cpu="500m", memory="512Mi", max_runtime_seconds=120)
state = State.DURABLE state = State.DURABLE
state_model = QuoteJudgeState
workspace_access = WorkspaceAccess.dynamic(
max_files=4,
allowed_modes=(WorkspaceMode.READ_ONLY,),
require_reason=False,
max_total_size_bytes=MAX_UPLOAD_BYTES * 4,
)
platform_resources = AgentPlatformResources( platform_resources = AgentPlatformResources(
databases=( databases=(
AgentDatabase( AgentDatabase(