Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
Pause/Resume timer:
- Add paused_at, red_paused_seconds, blue_paused_seconds fields to Test model
- Add pause_timer/resume_timer workflow functions with accumulated pause tracking
- Auto-resume on phase submit; subtract paused time from worklog duration
- Add POST /tests/{id}/pause-timer and resume-timer endpoints
- Update LiveTimer component with pause/resume button and paused visual state
- Wire pause/resume mutations through TestDetailPage and TestDetailHeader
Professional Reporting Engine - Fase 2:
- Add ReportEngine service with Jinja2 HTML rendering, WeasyPrint PDF, and docxtpl DOCX
- Add corporate CSS stylesheet with cover page, data tables, stats grid, findings
- Create purple_campaign, coverage_report, and executive_summary HTML templates
- Add report_generation_service collecting domain data for each report type
- Add professional_reports router: GET /reports/generate/purple-campaign/{id}, coverage-summary, executive-summary
- Add analytics router with flat JSON endpoints for PowerBI: /coverage, /tests, /trends, /operators
- Add advanced_metrics router: /coverage-by-tactic, /never-tested, /avg-validation-time, /detection-rate-trend
- Add weasyprint and docxtpl to requirements.txt
- Add REPORT_TEMPLATES_DIR, REPORT_OUTPUT_DIR, COMPANY_NAME, COMPANY_LOGO_PATH to config
29 lines
345 B
Plaintext
29 lines
345 B
Plaintext
fastapi
|
|
uvicorn[standard]
|
|
sqlalchemy
|
|
psycopg2-binary
|
|
alembic
|
|
python-jose[cryptography]
|
|
passlib[bcrypt]
|
|
bcrypt==4.0.1
|
|
boto3
|
|
apscheduler
|
|
requests
|
|
pyyaml
|
|
pySigma
|
|
toml
|
|
taxii2-client
|
|
python-multipart
|
|
pydantic-settings
|
|
slowapi
|
|
defusedxml
|
|
redis>=5.0.0
|
|
atlassian-python-api>=4.0.0
|
|
weasyprint>=62.0
|
|
docxtpl>=0.18.0
|
|
|
|
# Testing
|
|
pytest
|
|
pytest-asyncio
|
|
httpx
|