Singularity to Flow Engine Migration
Complete asset inventory with disposition for the singularity-lib -> flow-engine-lib transformation
Singularity -> Flow Engine Migration - Session 136
Overview
singularity-lib was renamed to flow-engine-lib and repositioned as a Visual Flow Builder for data operations and logic. User-facing name: "Flow Builder".
Directory Change
- Before:
libs/libs-structural/singularity-lib/ - After:
libs/libs-structural/flow-engine-lib/ - Import path:
@libs-structural/singularity-lib->@libs-structural/flow-engine-lib
Route Change
- Before:
/space/:slug/singularity/* - After:
/space/:slug/flow-engine/* - Backward compat:
/singularityredirects to/flow-engine - Nav label: "Flow Builder" (was "Singularity")
- Nav icon:
fas fa-diagram-project(wasfas fa-atom)
Files Updated (21 total)
Configuration Files
| File | Change |
|---|---|
tsconfig.base.json |
Path mapping updated |
package.json |
Build script updated |
libs/libs-structural/flow-engine-lib/project.json |
Name, paths, build commands updated |
libs/libs-structural/flow-engine-lib/tsconfig.lib.json |
outDir, tsBuildInfoFile updated |
App Files
| File | Change |
|---|---|
apps/gograb-space/src/app/app.routes.ts |
Import renamed, route path changed, redirect added |
apps/gograb-space/src/app/app.config.ts |
Manifest import aliased |
Library Import Updates (15 files)
All imports from @libs-structural/singularity-lib updated to @libs-structural/flow-engine-lib:
modular-universe(4 files)widget-builder(1 file)editor-ui(2 files)modularity-lib(1 file)editor-web-lib(2 files)universe-canvas(2 files)unified-builder(2 files)module-utils-lib(2 files)
Unified Builder Tool References
- Tool ID:
singularity->flow-engine - Tool label: "Logic" -> "Flows"
- Tool icon:
fa-code-branch->fa-diagram-project - State key:
singularity->flowEngine - Method:
onOpenSingularity()->onOpenFlowEngine()
Asset Inventory
PRESERVED (kept in flow-engine-lib)
| Asset | Type | Purpose |
|---|---|---|
LogicBuilderComponent |
Component | Main flow canvas with SVG connections |
LogicBlockComponent |
Component | Individual block rendering with ports |
BlockLibraryComponent |
Component | 97+ block browser with search/filter |
CanvasControlsComponent |
Component | Zoom/pan controls |
BlockConfigPanelComponent |
Component | Block configuration |
CustomBlockCreatorComponent |
Component | Custom block creation UI |
FlowTesterComponent |
Component | Flow testing panel |
AIAssistantComponent |
Component | AI-assisted flow building |
FlowComposerComponent |
Component | Multi-flow composition |
FlowSelectorComponent |
Component | Flow selection |
SingularityEmbeddableComponent |
Component | Embeddable wrapper for unified-builder |
LogicExecutionEngineService |
Service | 3,500+ line execution engine |
FlowCompositionService |
Service | Flow CRUD and composition |
FlowTemplateService |
Service | Template management |
VariableResolverService |
Service | {{variable}} resolution |
DynamicEventRegistryService |
Service | Runtime event binding |
WidgetFlowExecutorService |
Service | Widget-to-flow bridge |
BackendFlowClientService |
Service | Backend API client |
FlowAttachmentService |
Service | Flow-to-page attachment |
FlowExportService |
Service | Flow export |
FlowImportService |
Service | Flow import |
OrchestrationService |
Service | Cross-tool orchestration |
LogicAIService |
Service | AI flow generation |
ActionRegistryBridgeService |
Service | Action registry bridge |
EditorBridgeService |
Service | Editor integration |
SpaceMapBridgeService |
Service | Space map integration |
StorageBridgeService |
Service | Storage integration |
BlockVariantsService |
Service | Block variant management |
crud-flow-templates.ts |
Templates | 5 CRUD flow templates |
database-block-templates.ts |
Templates | Database operation blocks |
database-management-blocks.ts |
Templates | MongoDB management blocks |
platform-block-templates.ts |
Templates | 97+ platform blocks |
pre-built-flow-templates.ts |
Templates | Pre-built flow examples |
logic-builder.types.ts |
Types | Core type system (BlockTemplate, ConnectionPoint, LogicFlow) |
singularity-canvas.types.ts |
Types | Canvas types |
dynamic-systems.types.ts |
Types | Dynamic system types |
canvas-transform.service.ts |
Service | Pan/zoom infrastructure |
singularity.routes.ts |
Routes | Route definitions |
singularity.module.ts |
Module | Module manifest (Golden Template) |
TO STRIP (Phase 2 future work - not yet removed)
| Asset | Type | Reason |
|---|---|---|
SingularityDashboardComponent |
Component | Mock metrics not connected to real monitoring |
SingularityMainComponent |
Component | Layout wrapper, not needed |
SingularityLayoutComponent |
Component | Layout wrapper, not needed |
UniversalLogicRegistryService |
Service | Cross-app sync not needed |
DatabaseMonitoringService |
Service | Thin wrapper over storage-system |
ModuleStoreComponent |
Component | Redundant with modularity's module browser |
TO ADD (Phase 2 future work)
| Asset | Type | Purpose |
|---|---|---|
FlowBackendExecutionService |
Service | Map block operations to UniverseDataController |
FlowSchemaService |
Service | Entity schema management via new schema endpoints |
EntityDefinitionComponent |
Component | Visual entity/field definition step |
FlowBuilderDashboardComponent |
Component | Lightweight landing (entities, flows, activity) |
Backend Changes
New Schema Endpoints (added to UniverseDataController)
POST /api/spaces/:spaceId/universes/:universeId/data/schemas- Upsert schemaGET /api/spaces/:spaceId/universes/:universeId/data/schemas- List schemasGET /api/spaces/:spaceId/universes/:universeId/data/schemas/:collection- Get schemaDELETE /api/spaces/:spaceId/universes/:universeId/data/schemas/:collection- Delete schema
New Types (in data.controller.ts)
EntityFieldType- Field type enumEntityFieldValidation- Validation rulesEntityField- Field definition