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>
123 lines
5.1 KiB
Python
123 lines
5.1 KiB
Python
"""Intelligence layer API — deterministic JSON; optional ten-in-ten bridge."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from fastapi import APIRouter, Body
|
|
|
|
from auto_client_acquisition.innovation.ten_in_ten import build_ten_opportunities
|
|
from auto_client_acquisition.intelligence_layer.action_graph import build_action_graph_trace
|
|
from auto_client_acquisition.intelligence_layer.board_brief import build_board_brief
|
|
from auto_client_acquisition.intelligence_layer.competitive_moves import build_competitive_moves
|
|
from auto_client_acquisition.intelligence_layer.decision_memory import list_decisions, record_decision
|
|
from auto_client_acquisition.intelligence_layer.growth_brain import build_growth_profile
|
|
from auto_client_acquisition.intelligence_layer.intel_command_feed import build_intel_command_feed
|
|
from auto_client_acquisition.intelligence_layer.mission_engine import get_mission, list_mission_catalog
|
|
from auto_client_acquisition.intelligence_layer.opportunity_simulator import simulate_opportunities
|
|
from auto_client_acquisition.intelligence_layer.revenue_dna import build_revenue_dna
|
|
from auto_client_acquisition.intelligence_layer.trust_score import compute_trust_score
|
|
|
|
router = APIRouter(prefix="/api/v1/intelligence", tags=["intelligence_layer"])
|
|
|
|
|
|
@router.post("/growth-profile")
|
|
async def growth_profile(company: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return build_growth_profile(company or {})
|
|
|
|
|
|
@router.get("/command-feed")
|
|
async def intel_command_feed() -> dict[str, Any]:
|
|
return build_intel_command_feed()
|
|
|
|
|
|
@router.get("/command-feed/demo")
|
|
async def intel_command_feed_demo() -> dict[str, Any]:
|
|
"""Alias of ``GET /command-feed`` for product/docs compatibility."""
|
|
return build_intel_command_feed()
|
|
|
|
|
|
@router.post("/missions/first-10-opportunities")
|
|
async def missions_first_10_opportunities(
|
|
payload: dict[str, Any] = Body(default_factory=dict),
|
|
) -> dict[str, Any]:
|
|
"""Thin wrapper around innovation ``build_ten_opportunities`` — no duplicate logic."""
|
|
return build_ten_opportunities(payload or None)
|
|
|
|
|
|
@router.get("/missions/catalog")
|
|
async def missions_catalog() -> dict[str, Any]:
|
|
"""Mission engine metadata + pointer to innovation missions."""
|
|
return list_mission_catalog()
|
|
|
|
|
|
@router.get("/missions/{mission_id}")
|
|
async def mission_detail(mission_id: str) -> dict[str, Any]:
|
|
return get_mission(mission_id)
|
|
|
|
|
|
@router.post("/action-graph/demo")
|
|
async def action_graph_demo(payload: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return build_action_graph_trace(payload or {})
|
|
|
|
|
|
@router.get("/decision-memory/demo")
|
|
async def decision_memory_demo() -> dict[str, Any]:
|
|
return list_decisions(limit=20)
|
|
|
|
|
|
@router.post("/decision-memory/record")
|
|
async def decision_memory_record(entry: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return record_decision(entry or {})
|
|
|
|
|
|
@router.post("/trust-score")
|
|
async def trust_score(signals: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return compute_trust_score(signals or {})
|
|
|
|
|
|
@router.post("/revenue-dna")
|
|
async def revenue_dna(context: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return build_revenue_dna(context or {})
|
|
|
|
|
|
@router.post("/opportunity-simulator")
|
|
async def opportunity_simulator(inputs: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return simulate_opportunities(inputs or {})
|
|
|
|
|
|
@router.post("/board-brief")
|
|
async def board_brief(snapshot: dict[str, Any] = Body(default_factory=dict)) -> dict[str, Any]:
|
|
return build_board_brief(snapshot or {})
|
|
|
|
|
|
@router.get("/competitive-moves")
|
|
async def competitive_moves(sector: str | None = None) -> dict[str, Any]:
|
|
return build_competitive_moves(sector)
|
|
|
|
|
|
@router.post("/bundle")
|
|
async def intelligence_bundle(
|
|
payload: dict[str, Any] = Body(default_factory=dict),
|
|
) -> dict[str, Any]:
|
|
"""
|
|
Single round-trip for demos. Optional ``include_ten_in_ten`` merges
|
|
``build_ten_opportunities`` without exposing a duplicate HTTP path.
|
|
"""
|
|
company = payload.get("company") if isinstance(payload.get("company"), dict) else {}
|
|
out: dict[str, Any] = {
|
|
"growth_profile": build_growth_profile(company),
|
|
"intel_command_feed": build_intel_command_feed({"append_custom": payload.get("extra_card")}),
|
|
"trust_score": compute_trust_score(payload.get("trust_signals") if isinstance(payload.get("trust_signals"), dict) else {}),
|
|
"revenue_dna": build_revenue_dna(payload.get("revenue_context") if isinstance(payload.get("revenue_context"), dict) else {}),
|
|
"opportunity_simulator": simulate_opportunities(
|
|
payload.get("simulator") if isinstance(payload.get("simulator"), dict) else {}
|
|
),
|
|
"board_brief": build_board_brief(payload.get("board") if isinstance(payload.get("board"), dict) else {}),
|
|
"competitive_moves": build_competitive_moves(str(payload.get("sector") or "") or None),
|
|
}
|
|
if payload.get("include_ten_in_ten"):
|
|
ten_payload = payload.get("ten_in_ten") if isinstance(payload.get("ten_in_ten"), dict) else company
|
|
out["ten_in_ten"] = build_ten_opportunities(ten_payload)
|
|
return out
|