diff --git a/agent.py b/agent.py index 95a0c25..d0c9c10 100644 --- a/agent.py +++ b/agent.py @@ -339,7 +339,7 @@ class AgentComplianceAuditor(A2AAgent[AgentComplianceAuditorConfig, NoAuth]): output_dir = _output_dir(audit_id) files = await _write_json_bundle(ctx, output_dir, {"inventory.json": inventory}, warnings) await _event(ctx, "audit_completed", audit_id=audit_id, skill="inventory_agent", findings=0) - return {"audit_id": audit_id, "target": _dump(request.target), "status": status, "output_dir": output_dir, "generated_files": [_dump(f) for f in files], "inventory": inventory, "evidence": [_dump(e) for e in evidence], "warnings": warnings, "mutations_performed": False} + 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") async def audit_configuration(self, ctx: RunContext[NoAuth], request: AuditConfigurationRequest) -> FindingResult: @@ -387,7 +387,7 @@ class AgentComplianceAuditor(A2AAgent[AgentComplianceAuditorConfig, NoAuth]): output_dir = _output_dir(audit_id) files = await _write_json_bundle(ctx, output_dir, {"remediation.md": markdown, "sarif.json": sarif, "risk-summary.json": risk_summary}, []) await _event(ctx, "audit_completed", audit_id=audit_id, skill="generate_remediation", findings=len(findings)) - return RemediationResult(audit_id=audit_id, target=request.target, status="ok", output_dir=output_dir, generated_files=files, remediation_markdown=markdown, sarif=sarif) + return {"audit_id": audit_id, "target": _dump(request.target), "status": "ok", "output_dir": output_dir, "generated_files": [_dump(f) for f in files], "remediation_markdown": markdown, "sarif": sarif, "warnings": [], "mutations_performed": False} async def _collect_inventory(agent: AgentComplianceAuditor, ctx: RunContext[NoAuth], target: AuditTarget, options: AuditOptions, audit_id: str) -> tuple[dict[str, Any], list[Evidence], list[str], Literal["ok", "partial", "unreachable", "setup_required"]]: