AI Pipeline Consolidation
Backend responsibilities, Vitto flow generation extension, and ai-gateway pattern absorption
AI Pipeline Consolidation - Session 136
Backend Responsibilities (Locked In)
backend-api (port 3000) - Persistence + Validation
Owns: CRUD for all entities, UniverseDataController, deployment, schemas.
| Capability | Endpoint Pattern |
|---|---|
| Space CRUD | /api/spaces/* |
| Universe CRUD | /api/spaces/:id/universes/* |
| Galaxy CRUD | /api/spaces/:id/universes/:id/galaxies/* |
| Module CRUD | /api/spaces/:id/modules/* |
| Page CRUD | /api/spaces/:id/space-pages/* |
| Widget CRUD | /api/spaces/:id/widgets/* |
| Dynamic Data CRUD | /api/spaces/:id/universes/:id/data/:collection/* |
| Entity Schemas | /api/spaces/:id/universes/:id/data/schemas/* (Session 136) |
| Deployment | /api/universes/:id/publish, /api/:tenantId/deployment/* |
| Global Resources | /api/global-modules/*, /api/global-widgets/*, /api/global-flows/* |
| Unified Discovery | /api/modules/unified/* |
| UI Builder | /api/ui-builder/* |
| Platform Code | /api/platforms/* |
backend-ai-api (port 3001) - AI Execution
Owns: LLM calls, code generation, module intelligence, pattern extraction.
| Capability | Endpoint Pattern |
|---|---|
| Platform AI Training | /ai-api/platform/* |
| AI Agent Registry | /ai-api/platform/agents/* |
| Platform Orchestration | /ai-api/workflow/platform/* |
| Generated Modules | /ai-api/modules/* |
| Module Intelligence | /ai-api/ai-agents/module-intelligence/* |
| Chat Sessions | /ai-api/sessions/* |
backend-vitto-api (port 3003) - Orchestration
Owns: Agent chains, NL-to-blueprint, multi-agent coordination, flow generation.
| Capability | Endpoint Pattern |
|---|---|
| Space Builder (NL -> Universe) | /vitto-api/space-builder/* |
| Module Generation Pipeline | /vitto-api/module-generation/* |
| Agent-to-Agent Protocol | /vitto-api/a2a/* |
| Vitto Engine | /vitto-api/engine/* |
| Skills | /vitto-api/engine/skills/* |
| Channels | /vitto-api/engine/channels/* |
| Workflows | /vitto-api/engine/workflows/* |
| Memory | /vitto-api/engine/memories/* |
Extending Vitto to Generate Flows
New Capability: NL -> Entity + CRUD Flows + Pages
When a user says: "Create a product management system"
Vitto should generate:
Entity schemas (via
POST /api/.../data/schemas){ "collection": "products", "displayName": "Products", "fields": [ { "name": "name", "type": "string", "required": true, "label": "Product Name" }, { "name": "price", "type": "number", "required": true, "label": "Price" }, { "name": "description", "type": "string", "required": false, "label": "Description" }, { "name": "category", "type": "string", "required": false, "label": "Category" } ] }CRUD flows (using existing
CrudFlowTemplatefrom flow-engine-lib)- Create Product flow
- List Products flow
- Update Product flow
- Delete Product flow
- Get Product flow
Page layouts
- Products List page (with data table widget bound to List flow)
- Product Detail page (with form widget bound to Get/Update flow)
- Create Product page (with form widget bound to Create flow)
Module definition (linking flows to pages)
- "Product Management" module with 3 pages
- Navigation items
- Dashboard widget
Implementation Location
Add to backend-vitto-api/src/app/space-builder/:
- Extend
NlToUniverseServiceto detect entity-creation intents - Call
UniverseDataControllerschema endpoint to define entities - Use
CrudFlowTemplateinterfaces to generate flow JSON - Save flows and pages via backend-api
gmodules1 ai-gateway Patterns to Absorb
1. Template Registry
Source: gmodules1/apps/ai-gateway/src/app/templates/template-registry.service.ts
What it does: Maintains a registry of code templates (CRUD, Dashboard, Analytics, Integration, Basic) with variable substitution. Reduces LLM token usage by 25-45%.
Target: Add TemplateRegistryService to backend-vitto-api/src/app/module-generation/
2. Phase-Based Workflow
Source: gmodules1/apps/ai-gateway/src/app/modules/modules.service.ts
Phases: spec (5 min) -> implement (10 min) -> finalize (8 min) -> test-e2e (5 min, optional)
What it does: Each phase has timeouts, max iterations, checkpoint saves. If a phase fails, it can retry from checkpoint.
Target: Integrate into backend-vitto-api/src/app/module-generation/module-generation.service.ts
3. Checkpoint/Recovery
Source: gmodules1/apps/ai-gateway/src/app/context/
What it does: Saves generation state between phases. If the process crashes, it can resume from the last checkpoint.
Target: Add to backend-vitto-api module generation pipeline
4. Multi-Provider LLM Abstraction
Source: gmodules1/apps/ai-gateway/src/app/providers/
Providers: Claude, Gemini, DeepSeek -- all extend BaseLLMProvider
What it does: Abstract base class with standardized interface for tool calling, streaming, retry logic, token estimation.
Evaluation: backend-ai-api may already have provider abstraction. Compare before porting.
Overlap Resolution
Module Generation
| Capability | gmodules1 ai-gateway | backend-vitto-api | backend-ai-api | Resolution |
|---|---|---|---|---|
| Generate module spec | Phase 1 (spec) | /module-generation/generate |
- | Use vitto-api, port phases |
| Generate module code | Phase 2 (implement) | /module-generation/generate-single |
/workflow/platform/deploy-modules |
Use vitto-api for generation, ai-api for deployment |
| Template pre-generation | Template registry | - | - | Port to vitto-api |
| Multi-provider LLM | BaseLLMProvider | - | Has own provider system | Evaluate ai-api's system |
| NL to universe | - | /space-builder/blueprint + /build |
- | Keep in vitto-api |
| Agent chains | - | /space-builder/chain |
- | Keep in vitto-api |
Clear Boundaries After Consolidation
User Intent
│
▼
backend-vitto-api (Orchestration)
├── NL → Blueprint (space-builder)
├── Blueprint → Module specs (module-generation)
├── Module specs → Code generation requests (→ sends to ai-api)
├── Flow generation (new: entity + CRUD flows)
└── Agent chain coordination
│
▼
backend-ai-api (Execution)
├── LLM calls (Claude, Gemini, etc.)
├── Code generation
├── Module intelligence
└── Pattern extraction
│
▼
backend-api (Persistence)
├── Save modules, pages, widgets
├── Save entity schemas
├── Save flows
└── Deploy