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:
@@ -0,0 +1,35 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from app.models.enums import SourceType
|
||||
|
||||
|
||||
class DiscoverCompanyRequest(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=200)
|
||||
official_website: str | None = Field(default=None, max_length=500)
|
||||
monitoring_focus: str | None = Field(default=None, max_length=2000)
|
||||
competitor_names: list[str] = Field(default_factory=list, max_length=25)
|
||||
alias_names: list[str] = Field(default_factory=list, max_length=25)
|
||||
|
||||
|
||||
class PotentialSource(BaseModel):
|
||||
source_type: SourceType
|
||||
name: str
|
||||
base_url: str | None
|
||||
|
||||
|
||||
class DiscoveredCompanyProfile(BaseModel):
|
||||
name: str
|
||||
official_website: str | None
|
||||
description: str | None
|
||||
monitoring_focus: str | None
|
||||
industry: str | None
|
||||
country: str | None
|
||||
region: str | None
|
||||
headquarters: str | None
|
||||
aliases: list[str]
|
||||
competitors: list[str]
|
||||
public_identifiers: dict[str, str]
|
||||
potential_sources: list[PotentialSource]
|
||||
sources_consulted: list[str]
|
||||
Reference in New Issue
Block a user