a2a-source-edit: write agent.py
This commit is contained in:
13
agent.py
13
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(
|
||||
|
||||
Reference in New Issue
Block a user