diff --git a/agent.py b/agent.py index 66fdc9b..4c67ba7 100644 --- a/agent.py +++ b/agent.py @@ -28,6 +28,8 @@ from a2a_pack import ( RunContext, State, UploadedFile, + WorkspaceAccess, + WorkspaceMode, ) @@ -43,6 +45,10 @@ class QuoteJudgeStudioV1Config(BaseModel): """No caller-provided configuration is required.""" +class QuoteJudgeState(BaseModel): + last_comparison_id: str | None = None + + class QuoteInput(BaseModel): vendor: str = Field(..., min_length=1, max_length=MAX_VENDOR_LEN) 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) 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( databases=( AgentDatabase(