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,
|
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(
|
||||||
|
|||||||
Reference in New Issue
Block a user