a2a-source-edit: write agent.py

This commit is contained in:
a2a-cloud
2026-07-13 03:07:10 +00:00
parent 86c93480de
commit 7561b443c2

View File

@@ -318,7 +318,7 @@ class AgentComplianceAuditor(A2AAgent[AgentComplianceAuditorConfig, NoAuth]):
await _event(ctx, "audit_completed", audit_id=audit_id, skill="inventory_agent", findings=0) await _event(ctx, "audit_completed", audit_id=audit_id, skill="inventory_agent", findings=0)
return InventoryResult(audit_id=audit_id, target=request.target, status=status, output_dir=output_dir, generated_files=files, inventory=inventory, evidence=evidence, warnings=warnings) return InventoryResult(audit_id=audit_id, target=request.target, status=status, output_dir=output_dir, generated_files=files, inventory=inventory, evidence=evidence, warnings=warnings)
@a2a.tool(description="Audit static configuration and repository files against A2A security, privacy, and platform controls", timeout_seconds=180, idempotent=True, cost_class="read-only", input_schema=_tool_schema("configuration")) @a2a.tool(description="Audit static configuration and repository files against A2A security, privacy, and platform controls", timeout_seconds=180, idempotent=True, cost_class="read-only")
async def audit_configuration(self, ctx: RunContext[NoAuth], request: AuditConfigurationRequest) -> FindingResult: async def audit_configuration(self, ctx: RunContext[NoAuth], request: AuditConfigurationRequest) -> FindingResult:
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_configuration", target=request.target.agent_name) await _event(ctx, "audit_started", audit_id=audit_id, skill="audit_configuration", target=request.target.agent_name)
@@ -342,7 +342,7 @@ class AgentComplianceAuditor(A2AAgent[AgentComplianceAuditorConfig, NoAuth]):
await _event(ctx, "audit_completed", audit_id=audit_id, skill="audit_runtime", findings=len(findings)) await _event(ctx, "audit_completed", audit_id=audit_id, skill="audit_runtime", findings=len(findings))
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="Deduplicate findings, map evidence to controls, and score severity, confidence, and aggregate risk", timeout_seconds=120, idempotent=True, cost_class="read-only") @a2a.tool(description="Deduplicate findings, map evidence to controls, and score severity, confidence, and aggregate risk", timeout_seconds=120, idempotent=True, cost_class="read-only", input_schema=_tool_schema("risk"))
async def assess_risk(self, ctx: RunContext[NoAuth], request: AssessRiskRequest) -> RiskSummaryResult: async def assess_risk(self, ctx: RunContext[NoAuth], request: AssessRiskRequest) -> RiskSummaryResult:
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="assess_risk", target=request.target.agent_name) await _event(ctx, "audit_started", audit_id=audit_id, skill="assess_risk", target=request.target.agent_name)