a2a-source-edit: write agent.py

This commit is contained in:
a2a-cloud
2026-07-13 03:09:25 +00:00
parent 1d8a242bb8
commit cbf2464836

View File

@@ -213,6 +213,10 @@ class GenerateRemediationRequest(StrictModel):
AgentStatus = Literal["ok", "partial", "unreachable", "setup_required"] AgentStatus = Literal["ok", "partial", "unreachable", "setup_required"]
class AgentComplianceAuditorResult(dict[str, Any]):
"""Compact JSON-shaped result alias for a smaller Agent Card output schema."""
class AgentComplianceAuditorConfig(StrictModel): class AgentComplianceAuditorConfig(StrictModel):
@@ -350,7 +354,7 @@ class AgentComplianceAuditor(A2AAgent[AgentComplianceAuditorConfig, NoAuth]):
return FindingResult(audit_id=audit_id, target=request.target, status="ok", output_dir=output_dir, generated_files=files, findings=findings, evidence=evidence, warnings=warnings) return FindingResult(audit_id=audit_id, target=request.target, status="ok", output_dir=output_dir, generated_files=files, findings=findings, evidence=evidence, warnings=warnings)
@a2a.tool(description="Run bounded non-destructive runtime probes and audit deployment health without mutations", timeout_seconds=180, idempotent=True, cost_class="read-only") @a2a.tool(description="Run bounded non-destructive runtime probes and audit deployment health without mutations", timeout_seconds=180, idempotent=True, cost_class="read-only")
async def audit_runtime(self, ctx: RunContext[NoAuth], request: AuditRuntimeRequest) -> FindingResult: async def audit_runtime(self, ctx: RunContext[NoAuth], request: AuditRuntimeRequest) -> dict[str, Any]:
audit_id = _audit_id(request.target, request.options.audit_id) audit_id = _audit_id(request.target, request.options.audit_id)
await _event(ctx, "audit_started", audit_id=audit_id, skill="audit_runtime", target=request.target.agent_name) await _event(ctx, "audit_started", audit_id=audit_id, skill="audit_runtime", target=request.target.agent_name)
inventory = request.inventory or (await _collect_inventory(self, ctx, request.target, request.options, audit_id))[0] inventory = request.inventory or (await _collect_inventory(self, ctx, request.target, request.options, audit_id))[0]