Initial commit: CI Agent competitive-intelligence monitoring app

FastAPI + Celery + Next.js + Postgres/Redis app with company monitoring,
source collection, LLM-based change analysis, enrichment, and account
security (Turnstile, escalating lockout, email verification).
This commit is contained in:
2026-08-05 10:48:20 -04:00
commit 1a4c80958f
365 changed files with 43541 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"name": "@ci-agent/shared",
"version": "0.1.0",
"private": true,
"description": "Types and constants shared between apps/web and documentation of the apps/api contract. Not build-wired yet; values here should stay in sync with apps/api/app/schemas by hand until a codegen step is added.",
"main": "src/index.ts",
"types": "src/index.ts"
}
+40
View File
@@ -0,0 +1,40 @@
// Shared enums/constants mirrored from apps/api/app/models. Keep in sync by
// hand for now; see packages/shared/package.json for context.
export const MONITORING_FREQUENCIES = [
"hourly",
"every_6_hours",
"every_12_hours",
"daily",
"every_2_days",
"weekly",
"every_2_weeks",
"monthly",
"custom",
] as const;
export type MonitoringFrequency = (typeof MONITORING_FREQUENCIES)[number];
export const SEVERITY_LEVELS = ["critical", "high", "medium", "low"] as const;
export type SeverityLevel = (typeof SEVERITY_LEVELS)[number];
export const NOTIFICATION_TYPES = ["email", "sms", "console"] as const;
export type NotificationType = (typeof NOTIFICATION_TYPES)[number];
export const MONITORING_RUN_STATUSES = [
"queued",
"running",
"successful",
"partial",
"failed",
] as const;
export type MonitoringRunStatus = (typeof MONITORING_RUN_STATUSES)[number];
export const SOURCE_STATUSES = [
"active",
"disabled",
"rate_limited",
"auth_required",
"blocked_by_policy",
"failed",
] as const;
export type SourceStatus = (typeof SOURCE_STATUSES)[number];