forked from 0xWheatyz/SPARC
Add historical analysis diffing between runs for same company #1695
Open
AI-Manager
wants to merge 3 commits from
feature/historical-analysis-diff into main
pull from: feature/historical-analysis-diff
merge into: leeworks-agents:main
leeworks-agents:main
leeworks-agents:feature/multi-tenant-isolation
leeworks-agents:feature/1686-rate-limit-dashboard
leeworks-agents:feature/1684-cursor-pagination
leeworks-agents:feature/patent-classification-tags
leeworks-agents:feature/webhook-task-queue
leeworks-agents:feature/1674-batch-export-zip
leeworks-agents:feature/1685-stricter-company-name-validation
leeworks-agents:feature/api-key-auth
leeworks-agents:feature/1675-rate-limit-admin
leeworks-agents:feature/1669-cursor-pagination
leeworks-agents:feature/1670-company-name-validation
leeworks-agents:feature/1678-update-roadmap
leeworks-agents:feature/1656-tracked-company-admin-tests
leeworks-agents:feature/1661-analyze-single-patent-tests
leeworks-agents:feature/1660-s3-storage-tests
leeworks-agents:feature/1659-update-roadmap
leeworks-agents:feature/1658-scheduler-pooled-db
leeworks-agents:feature/1657-webhook-integration-tests
leeworks-agents:feature/1655-export-endpoint-tests
leeworks-agents:feature/1605-dark-mode
leeworks-agents:feature/1624-jwt-auth-tests
leeworks-agents:feature/1559-1560-enable-ci-linting-and-tests
leeworks-agents:feature/docs-patent-volume-mount
leeworks-agents:feature/1324-dark-mode-variants
leeworks-agents:feature/1013-multi-model
leeworks-agents:feature/426-generate-ts-api-client
leeworks-agents:feature/351-frontend-model-picker
leeworks-agents:feature/343-batch-loading-states
leeworks-agents:feature/env-example-updates
leeworks-agents:feature/260-tsc-ci
leeworks-agents:feature/export-pdf
leeworks-agents:feature/multi-model
leeworks-agents:feature/openapi-client-gen
leeworks-agents:feature/trend-charts
leeworks-agents:feature/compare-view
leeworks-agents:feature/s3-storage
leeworks-agents:feature/webhooks
leeworks-agents:feature/scheduled-analysis
leeworks-agents:feature/export-csv
leeworks-agents:feature/cursor-pagination
leeworks-agents:feature/dark-mode
leeworks-agents:feature/loading-error-states
leeworks-agents:feature/fix-single-patent-download
leeworks-agents:feature/structured-logging
leeworks-agents:feature/ci-tsc-lint
leeworks-agents:feature/ci-testing-linting
leeworks-agents:feature/db-client-pooling
leeworks-agents:feature/p2-config-improvements
leeworks-agents:feature/jwt-auth-tests
leeworks-agents:feature/persist-job-state
leeworks-agents:feature/p2-docs-and-lockfile
leeworks-agents:feature/rate-limiting
leeworks-agents:feature/p1-security-hardening
leeworks-agents:chore/add-roadmap
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
144d0fdf6a |
Add historical analysis diffing for same-company runs
- Add GET /analyze/{company_name}/diff endpoint with from/to query params
- Add GET /analyze/{company_name}/history endpoint for run selection
- Add database methods get_analysis_by_id and list_company_analyses
- Add frontend HistoryDiff page with run selector and diff visualization
- Add Compare with previous button on Analysis results page
- Add navigation link in Layout sidebar
- Add 11 tests covering helpers, happy-path, and 404 scenarios
Closes leeworks-agents/SPARC#1671
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
||
|
|
e9ad97d1e8 |
Add rate limiting dashboard to admin panel
- Enhance GET /admin/rate-limits to return per-IP breakdown, 24h throttled count, and hourly time-series of rejected requests - Add AdminRateLimits React page with auto-refresh (configurable interval), summary cards, throttled-over-time bar chart, endpoint table, and per-IP breakdown table - Add TypeScript types (RateLimitStatsResponse, etc.) and adminApi.getRateLimits() - Wire up /admin/rate-limits route and nav link (admin-only) - Expand unit tests: auth, empty state, per-IP, throttled_24h, time-series, response shape contract (10 tests total) Closes leeworks-agents/SPARC#1686 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
3d8922366e |
Add user-level API key generation for programmatic access
- Add api_keys table (id, user_id, key_hash, label, created_at) to schema
- Add POST /auth/apikeys to generate 32-byte hex API keys (bcrypt-hashed)
- Add GET /auth/apikeys to list active key metadata (no secrets)
- Add DELETE /auth/apikeys/{key_id} to revoke keys
- Extend get_current_user to accept either JWT Bearer or X-API-Key header
- Plaintext key returned only at creation time
- 16 new tests covering creation, listing, revocation, auth, and full flow
Closes leeworks-agents/SPARC#1673
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|