No description
Find a file
valentinbvro 42cefaddb2 feat: Platform Kernel v1 -- workspaces, ExecutionContext, /v1/navigation, event envelope
Specul de arhitectura cere Platform Kernel INAINTEA modulelor de domeniu.
Modulele A1/A2 au fost construite peste un kernel caruia ii lipseau exact
piesele astea. Le adaug acum, aditiv, fara sa rup ce merge.

- workspaces: tenant != workspace. Workspace-ul e contextul de lucru DIN
  tenant. Backfill: fiecare tenant existent primeste workspace implicit,
  altfel SessionGuard i-ar respinge toate requesturile.
- memberships.workspace_id + valid_from/valid_until: rol per workspace si
  acces delegat cu expirare (contabil pana la o data). SessionGuard respinge
  membership expirat si membership legat de alt workspace.
- ExecutionContext inlocuieste sesiunea subtire (userId+tenantId+role):
  requestId, correlationId, workspaceId, membershipId, roles, permissions,
  purpose, timezone, source. Tipul vechi ramane exportat sub acelasi nume,
  ca sa nu ating ~15 module de domeniu doar pentru o redenumire.
- GET /v1/navigation: menu registry mutat in backend. Filtreaza pe rol, tip
  de workspace, permisiuni si feature flags; intoarce doar itemii autorizati.
  Ramane UX, nu securitate -- fiecare endpoint verifica din nou.
- event envelope: workspace_id, occurred_at, actor_id, aggregate_type,
  causation_id, classification, provenance
- audit envelope: workspace_id, actor_type, purpose, changed_fields,
  before/after hash, session_id
2026-07-29 11:46:20 +02:00
drizzle feat: Platform Kernel v1 -- workspaces, ExecutionContext, /v1/navigation, event envelope 2026-07-29 11:46:20 +02:00
src feat: Platform Kernel v1 -- workspaces, ExecutionContext, /v1/navigation, event envelope 2026-07-29 11:46:20 +02:00
.dockerignore fix: correct ceo-api Dockerfile port and dependency install 2026-07-21 02:50:53 +02:00
.env.example security: enforce TenantGuard and ThrottlerGuard globally, lock down CORS 2026-07-21 19:48:17 +02:00
.gitignore feat: scaffold NestJS API skeleton with health check 2026-07-20 22:26:33 +02:00
Dockerfile fix: force devDependencies install in ceo-api Docker build stage 2026-07-21 12:03:42 +02:00
drizzle.config.ts feat: add Drizzle ORM, Supabase admin client, Swagger, Helmet, Pino logging, rate limiting 2026-07-20 22:41:09 +02:00
jest.config.js feat: multi-tenant core -- session auth, RBAC, organizations, tasks, audit 2026-07-28 21:15:43 +02:00
nest-cli.json feat: add agent niche registry (SKILL.md-style) grouping AI tools by domain 2026-07-24 00:00:42 +02:00
package-lock.json feat: multi-tenant core -- session auth, RBAC, organizations, tasks, audit 2026-07-28 21:15:43 +02:00
package.json feat: multi-tenant core -- session auth, RBAC, organizations, tasks, audit 2026-07-28 21:15:43 +02:00
README.md feat: add Drizzle ORM, Supabase admin client, Swagger, Helmet, Pino logging, rate limiting 2026-07-20 22:41:09 +02:00
tsconfig.json fix: scope tsconfig to src/ so nest build emits dist/main.js 2026-07-21 12:07:06 +02:00

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