mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
- API routers, ACA modules, integrations (draft operators) - Docs, landing pages, scripts (launch readiness, scorecard) - Tests and CI workflow updates for Dealix Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
"""Security curator API — redact and inspect diffs."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from fastapi import APIRouter, Body
|
|
|
|
from auto_client_acquisition.security_curator.patch_firewall import inspect_diff
|
|
from auto_client_acquisition.security_curator.secret_redactor import redact_secrets, scan_payload
|
|
from auto_client_acquisition.security_curator.trace_redactor import redact_trace_payload
|
|
|
|
router = APIRouter(prefix="/api/v1/security-curator", tags=["security_curator"])
|
|
|
|
|
|
@router.get("/demo")
|
|
async def demo() -> dict[str, Any]:
|
|
return {"ok": True, "message_ar": "طبقة أمان للوكلاء — redaction وفحص فرق قبل التطبيق.", "demo": True}
|
|
|
|
|
|
@router.post("/redact")
|
|
async def redact(payload: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
text = str(payload.get("text") or "")
|
|
return {"redacted": redact_secrets(text), "findings": scan_payload(payload)}
|
|
|
|
|
|
@router.post("/inspect-diff")
|
|
async def inspect_diff_route(payload: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
diff = str(payload.get("diff_text") or "")
|
|
return inspect_diff(diff)
|
|
|
|
|
|
@router.post("/trace/sanitize")
|
|
async def trace_sanitize(payload: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
"""Redact nested trace/span metadata before export to observability backends."""
|
|
body = payload.get("payload") if isinstance(payload.get("payload"), dict) else payload
|
|
return {"sanitized": redact_trace_payload(body or {}), "demo": True}
|