No description
- AiGatewayService: punct unic de acces la modele (LiteLLM -> OpenRouter). Clasele de actiuni din blueprint 14.3 sunt aplicate hard: high_risk blocat permanent, material blocat pana exista coada de aprobare + idempotency; doar read_only si draft ruleaza. - Spotlighting (design doc Strat 1): continutul untrusted (date Apollo) e impachetat in <untrusted-data> cu instructiune de sistem ca e DATE, nu comenzi -- plus redactie PII deterministica (email/telefon/CNP) inainte sa plece catre provider extern. - ai_requests: adaugat action_class + context_manifest complet (nu doar hash) pentru audit; cost_usd_minor_units (integer) inlocuit cu cost_usd numeric(12,6) -- costurile reale sunt fractiuni de cent. - research-briefs: POST /draft genereaza un rezumat AI din datele Apollo fara sa salveze nimic (clasa draft -- userul revizuieste, apoi salveaza). - briefing: aiExplanation devine narativ real peste prioritizarea determinista; esecul AI intoarce null, nu strica briefingul. - teste: clase de actiuni blocate, spotlighting, redactie PII. |
||
|---|---|---|
| drizzle | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| jest.config.js | ||
| nest-cli.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
ceo-api
NestJS API pentru CEO-OS. Se conecteaza la Supabase (Postgres/Auth) si Redis, deployat prin Coolify pe proiectul CEO-OS.
Dezvoltare
npm install
cp .env.example .env
npm run start:dev
GET /health returneaza statusul serviciului. GET /docs expune Swagger UI.
Stack
NestJS, Drizzle ORM (src/db), Supabase Admin SDK (src/supabase), BullMQ/Redis, class-validator/Zod, Helmet, rate limiting (Throttler), logging Pino.
Migratii
npm run db:generate
npm run db:migrate