@friggframework/devtools 2.0.0--canary.522.cbd3d5a.0 → 2.0.0--canary.517.21b69ac.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.eslintrc.json +3 -0
  2. package/CHANGELOG.md +132 -0
  3. package/frigg-cli/README.md +1 -1
  4. package/frigg-cli/__tests__/unit/commands/doctor.test.js +2 -0
  5. package/frigg-cli/__tests__/unit/commands/install.test.js +17 -21
  6. package/frigg-cli/doctor-command/index.js +16 -17
  7. package/frigg-cli/index.js +6 -21
  8. package/frigg-cli/index.test.js +1 -7
  9. package/frigg-cli/init-command/backend-first-handler.js +42 -124
  10. package/frigg-cli/init-command/index.js +1 -2
  11. package/frigg-cli/init-command/template-handler.js +3 -13
  12. package/frigg-cli/install-command/backend-js.js +3 -3
  13. package/frigg-cli/install-command/environment-variables.js +19 -16
  14. package/frigg-cli/install-command/environment-variables.test.js +13 -12
  15. package/frigg-cli/install-command/index.js +9 -14
  16. package/frigg-cli/install-command/integration-file.js +3 -3
  17. package/frigg-cli/install-command/logger.js +12 -0
  18. package/frigg-cli/install-command/validate-package.js +9 -5
  19. package/frigg-cli/jest.config.js +1 -4
  20. package/frigg-cli/repair-command/index.js +128 -101
  21. package/frigg-cli/start-command/index.js +2 -246
  22. package/frigg-cli/ui-command/index.js +36 -58
  23. package/frigg-cli/utils/repo-detection.js +37 -85
  24. package/infrastructure/docs/iam-policy-templates.md +1 -1
  25. package/infrastructure/domains/networking/vpc-builder.test.js +4 -2
  26. package/infrastructure/domains/networking/vpc-resolver.test.js +1 -1
  27. package/infrastructure/domains/shared/cloudformation-discovery.test.js +7 -4
  28. package/infrastructure/domains/shared/resource-discovery.js +5 -5
  29. package/infrastructure/domains/shared/types/discovery-result.test.js +1 -1
  30. package/infrastructure/domains/shared/utilities/base-definition-factory.js +2 -25
  31. package/infrastructure/domains/shared/utilities/base-definition-factory.test.js +2 -2
  32. package/infrastructure/infrastructure-composer.test.js +2 -2
  33. package/layers/prisma/.build-complete +3 -0
  34. package/layers/prisma/nodejs/package.json +8 -0
  35. package/management-ui/.eslintrc.js +22 -0
  36. package/management-ui/README.md +109 -245
  37. package/management-ui/components.json +21 -0
  38. package/management-ui/docs/phase2-integration-guide.md +320 -0
  39. package/management-ui/index.html +13 -0
  40. package/management-ui/package.json +76 -0
  41. package/management-ui/packages/devtools/frigg-cli/ui-command/index.js +302 -0
  42. package/management-ui/postcss.config.js +6 -0
  43. package/management-ui/server/api/backend.js +256 -0
  44. package/management-ui/server/api/cli.js +315 -0
  45. package/management-ui/server/api/codegen.js +663 -0
  46. package/management-ui/server/api/connections.js +857 -0
  47. package/management-ui/server/api/discovery.js +185 -0
  48. package/management-ui/server/api/environment/index.js +1 -0
  49. package/management-ui/server/api/environment/router.js +378 -0
  50. package/management-ui/server/api/environment.js +328 -0
  51. package/management-ui/server/api/integrations.js +876 -0
  52. package/management-ui/server/api/logs.js +248 -0
  53. package/management-ui/server/api/monitoring.js +282 -0
  54. package/management-ui/server/api/open-ide.js +31 -0
  55. package/management-ui/server/api/project.js +1029 -0
  56. package/management-ui/server/api/users/sessions.js +371 -0
  57. package/management-ui/server/api/users/simulation.js +254 -0
  58. package/management-ui/server/api/users.js +362 -0
  59. package/management-ui/server/api-contract.md +275 -0
  60. package/management-ui/server/index.js +873 -0
  61. package/management-ui/server/middleware/errorHandler.js +93 -0
  62. package/management-ui/server/middleware/security.js +32 -0
  63. package/management-ui/server/processManager.js +296 -0
  64. package/management-ui/server/server.js +346 -0
  65. package/management-ui/server/services/aws-monitor.js +413 -0
  66. package/management-ui/server/services/npm-registry.js +347 -0
  67. package/management-ui/server/services/template-engine.js +538 -0
  68. package/management-ui/server/utils/cliIntegration.js +220 -0
  69. package/management-ui/server/utils/environment/auditLogger.js +471 -0
  70. package/management-ui/server/utils/environment/awsParameterStore.js +275 -0
  71. package/management-ui/server/utils/environment/encryption.js +278 -0
  72. package/management-ui/server/utils/environment/envFileManager.js +286 -0
  73. package/management-ui/server/utils/import-commonjs.js +28 -0
  74. package/management-ui/server/utils/response.js +83 -0
  75. package/management-ui/server/websocket/handler.js +325 -0
  76. package/management-ui/src/App.jsx +25 -0
  77. package/management-ui/src/assets/FriggLogo.svg +1 -0
  78. package/management-ui/src/components/AppRouter.jsx +65 -0
  79. package/management-ui/src/components/Button.jsx +70 -0
  80. package/management-ui/src/components/Card.jsx +97 -0
  81. package/management-ui/src/components/EnvironmentCompare.jsx +400 -0
  82. package/management-ui/src/components/EnvironmentEditor.jsx +372 -0
  83. package/management-ui/src/components/EnvironmentImportExport.jsx +469 -0
  84. package/management-ui/src/components/EnvironmentSchema.jsx +491 -0
  85. package/management-ui/src/components/EnvironmentSecurity.jsx +463 -0
  86. package/management-ui/src/components/ErrorBoundary.jsx +73 -0
  87. package/management-ui/src/components/IntegrationCard.jsx +481 -0
  88. package/management-ui/src/components/IntegrationCardEnhanced.jsx +770 -0
  89. package/management-ui/src/components/IntegrationExplorer.jsx +379 -0
  90. package/management-ui/src/components/IntegrationStatus.jsx +336 -0
  91. package/management-ui/src/components/Layout.jsx +716 -0
  92. package/management-ui/src/components/LoadingSpinner.jsx +113 -0
  93. package/management-ui/src/components/RepositoryPicker.jsx +248 -0
  94. package/management-ui/src/components/SessionMonitor.jsx +350 -0
  95. package/management-ui/src/components/StatusBadge.jsx +208 -0
  96. package/management-ui/src/components/UserContextSwitcher.jsx +212 -0
  97. package/management-ui/src/components/UserSimulation.jsx +327 -0
  98. package/management-ui/src/components/Welcome.jsx +434 -0
  99. package/management-ui/src/components/codegen/APIEndpointGenerator.jsx +637 -0
  100. package/management-ui/src/components/codegen/APIModuleSelector.jsx +227 -0
  101. package/management-ui/src/components/codegen/CodeGenerationWizard.jsx +247 -0
  102. package/management-ui/src/components/codegen/CodePreviewEditor.jsx +316 -0
  103. package/management-ui/src/components/codegen/DynamicModuleForm.jsx +271 -0
  104. package/management-ui/src/components/codegen/FormBuilder.jsx +737 -0
  105. package/management-ui/src/components/codegen/IntegrationGenerator.jsx +855 -0
  106. package/management-ui/src/components/codegen/ProjectScaffoldWizard.jsx +797 -0
  107. package/management-ui/src/components/codegen/SchemaBuilder.jsx +303 -0
  108. package/management-ui/src/components/codegen/TemplateSelector.jsx +586 -0
  109. package/management-ui/src/components/codegen/index.js +10 -0
  110. package/management-ui/src/components/connections/ConnectionConfigForm.jsx +362 -0
  111. package/management-ui/src/components/connections/ConnectionHealthMonitor.jsx +182 -0
  112. package/management-ui/src/components/connections/ConnectionTester.jsx +200 -0
  113. package/management-ui/src/components/connections/EntityRelationshipMapper.jsx +292 -0
  114. package/management-ui/src/components/connections/OAuthFlow.jsx +204 -0
  115. package/management-ui/src/components/connections/index.js +5 -0
  116. package/management-ui/src/components/index.js +21 -0
  117. package/management-ui/src/components/monitoring/APIGatewayMetrics.jsx +222 -0
  118. package/management-ui/src/components/monitoring/LambdaMetrics.jsx +169 -0
  119. package/management-ui/src/components/monitoring/MetricsChart.jsx +197 -0
  120. package/management-ui/src/components/monitoring/MonitoringDashboard.jsx +393 -0
  121. package/management-ui/src/components/monitoring/SQSMetrics.jsx +246 -0
  122. package/management-ui/src/components/monitoring/index.js +6 -0
  123. package/management-ui/src/components/monitoring/monitoring.css +218 -0
  124. package/management-ui/src/components/theme-provider.jsx +52 -0
  125. package/management-ui/src/components/theme-toggle.jsx +39 -0
  126. package/management-ui/src/components/ui/badge.tsx +36 -0
  127. package/management-ui/src/components/ui/button.test.jsx +56 -0
  128. package/management-ui/src/components/ui/button.tsx +57 -0
  129. package/management-ui/src/components/ui/card.tsx +76 -0
  130. package/management-ui/src/components/ui/dropdown-menu.tsx +199 -0
  131. package/management-ui/src/components/ui/select.tsx +157 -0
  132. package/management-ui/src/components/ui/skeleton.jsx +15 -0
  133. package/management-ui/src/hooks/useFrigg.jsx +387 -0
  134. package/management-ui/src/hooks/useSocket.jsx +58 -0
  135. package/management-ui/src/index.css +193 -0
  136. package/management-ui/src/lib/utils.ts +6 -0
  137. package/management-ui/src/main.jsx +10 -0
  138. package/management-ui/src/pages/CodeGeneration.jsx +14 -0
  139. package/management-ui/src/pages/Connections.jsx +252 -0
  140. package/management-ui/src/pages/ConnectionsEnhanced.jsx +633 -0
  141. package/management-ui/src/pages/Dashboard.jsx +311 -0
  142. package/management-ui/src/pages/Environment.jsx +314 -0
  143. package/management-ui/src/pages/IntegrationConfigure.jsx +669 -0
  144. package/management-ui/src/pages/IntegrationDiscovery.jsx +567 -0
  145. package/management-ui/src/pages/IntegrationTest.jsx +742 -0
  146. package/management-ui/src/pages/Integrations.jsx +253 -0
  147. package/management-ui/src/pages/Monitoring.jsx +17 -0
  148. package/management-ui/src/pages/Simulation.jsx +155 -0
  149. package/management-ui/src/pages/Users.jsx +492 -0
  150. package/management-ui/src/services/api.js +41 -0
  151. package/management-ui/src/services/apiModuleService.js +193 -0
  152. package/management-ui/src/services/websocket-handlers.js +120 -0
  153. package/management-ui/src/test/api/project.test.js +273 -0
  154. package/management-ui/src/test/components/Welcome.test.jsx +378 -0
  155. package/management-ui/src/test/mocks/server.js +178 -0
  156. package/management-ui/src/test/setup.js +61 -0
  157. package/management-ui/src/test/utils/test-utils.jsx +134 -0
  158. package/management-ui/src/utils/repository.js +98 -0
  159. package/management-ui/src/utils/repository.test.js +118 -0
  160. package/management-ui/src/workflows/phase2-integration-workflows.js +884 -0
  161. package/management-ui/tailwind.config.js +63 -0
  162. package/management-ui/tsconfig.json +37 -0
  163. package/management-ui/tsconfig.node.json +10 -0
  164. package/management-ui/vite.config.js +26 -0
  165. package/management-ui/vitest.config.js +38 -0
  166. package/package.json +7 -17
  167. package/frigg-cli/__tests__/application/use-cases/AddApiModuleToIntegrationUseCase.test.js +0 -326
  168. package/frigg-cli/__tests__/application/use-cases/CreateApiModuleUseCase.test.js +0 -337
  169. package/frigg-cli/__tests__/domain/entities/ApiModule.test.js +0 -373
  170. package/frigg-cli/__tests__/domain/entities/AppDefinition.test.js +0 -313
  171. package/frigg-cli/__tests__/domain/services/IntegrationValidator.test.js +0 -269
  172. package/frigg-cli/__tests__/domain/value-objects/IntegrationName.test.js +0 -82
  173. package/frigg-cli/__tests__/infrastructure/adapters/IntegrationJsUpdater.test.js +0 -408
  174. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemApiModuleRepository.test.js +0 -583
  175. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemAppDefinitionRepository.test.js +0 -314
  176. package/frigg-cli/__tests__/infrastructure/repositories/FileSystemIntegrationRepository.test.js +0 -430
  177. package/frigg-cli/__tests__/unit/commands/init.test.js +0 -406
  178. package/frigg-cli/__tests__/unit/commands/repair.test.js +0 -275
  179. package/frigg-cli/__tests__/unit/start-command/application/RunPreflightChecksUseCase.test.js +0 -411
  180. package/frigg-cli/__tests__/unit/start-command/infrastructure/DatabaseAdapter.test.js +0 -405
  181. package/frigg-cli/__tests__/unit/start-command/infrastructure/DockerAdapter.test.js +0 -496
  182. package/frigg-cli/__tests__/unit/start-command/presentation/InteractivePromptAdapter.test.js +0 -474
  183. package/frigg-cli/__tests__/unit/utils/output.test.js +0 -196
  184. package/frigg-cli/application/use-cases/AddApiModuleToIntegrationUseCase.js +0 -93
  185. package/frigg-cli/application/use-cases/CreateApiModuleUseCase.js +0 -93
  186. package/frigg-cli/application/use-cases/CreateIntegrationUseCase.js +0 -103
  187. package/frigg-cli/container.js +0 -172
  188. package/frigg-cli/docs/OUTPUT_MIGRATION_GUIDE.md +0 -286
  189. package/frigg-cli/domain/entities/ApiModule.js +0 -272
  190. package/frigg-cli/domain/entities/AppDefinition.js +0 -227
  191. package/frigg-cli/domain/entities/Integration.js +0 -198
  192. package/frigg-cli/domain/exceptions/DomainException.js +0 -24
  193. package/frigg-cli/domain/ports/IApiModuleRepository.js +0 -53
  194. package/frigg-cli/domain/ports/IAppDefinitionRepository.js +0 -43
  195. package/frigg-cli/domain/ports/IIntegrationRepository.js +0 -61
  196. package/frigg-cli/domain/services/IntegrationValidator.js +0 -185
  197. package/frigg-cli/domain/value-objects/IntegrationId.js +0 -42
  198. package/frigg-cli/domain/value-objects/IntegrationName.js +0 -60
  199. package/frigg-cli/domain/value-objects/SemanticVersion.js +0 -70
  200. package/frigg-cli/infrastructure/UnitOfWork.js +0 -46
  201. package/frigg-cli/infrastructure/adapters/BackendJsUpdater.js +0 -197
  202. package/frigg-cli/infrastructure/adapters/FileSystemAdapter.js +0 -224
  203. package/frigg-cli/infrastructure/adapters/IntegrationJsUpdater.js +0 -249
  204. package/frigg-cli/infrastructure/adapters/SchemaValidator.js +0 -92
  205. package/frigg-cli/infrastructure/repositories/FileSystemApiModuleRepository.js +0 -373
  206. package/frigg-cli/infrastructure/repositories/FileSystemAppDefinitionRepository.js +0 -116
  207. package/frigg-cli/infrastructure/repositories/FileSystemIntegrationRepository.js +0 -277
  208. package/frigg-cli/package-lock.json +0 -16226
  209. package/frigg-cli/start-command/application/RunPreflightChecksUseCase.js +0 -376
  210. package/frigg-cli/start-command/infrastructure/DatabaseAdapter.js +0 -591
  211. package/frigg-cli/start-command/infrastructure/DockerAdapter.js +0 -306
  212. package/frigg-cli/start-command/presentation/InteractivePromptAdapter.js +0 -329
  213. package/frigg-cli/templates/backend/.env.example +0 -62
  214. package/frigg-cli/templates/backend/.eslintrc.json +0 -12
  215. package/frigg-cli/templates/backend/.prettierrc +0 -6
  216. package/frigg-cli/templates/backend/docker-compose.yml +0 -22
  217. package/frigg-cli/templates/backend/index.js +0 -96
  218. package/frigg-cli/templates/backend/infrastructure.js +0 -12
  219. package/frigg-cli/templates/backend/jest.config.js +0 -17
  220. package/frigg-cli/templates/backend/package.json +0 -50
  221. package/frigg-cli/templates/backend/src/api-modules/.gitkeep +0 -10
  222. package/frigg-cli/templates/backend/src/base/.gitkeep +0 -7
  223. package/frigg-cli/templates/backend/src/integrations/.gitkeep +0 -10
  224. package/frigg-cli/templates/backend/src/integrations/ExampleIntegration.js +0 -65
  225. package/frigg-cli/templates/backend/src/utils/.gitkeep +0 -7
  226. package/frigg-cli/templates/backend/test/setup.js +0 -30
  227. package/frigg-cli/templates/backend/ui-extensions/.gitkeep +0 -0
  228. package/frigg-cli/templates/backend/ui-extensions/README.md +0 -77
  229. package/frigg-cli/utils/__tests__/repo-detection.test.js +0 -436
  230. package/frigg-cli/utils/output.js +0 -382
  231. package/frigg-cli/validate-command/__tests__/adapters/validate-command.test.js +0 -205
  232. package/frigg-cli/validate-command/__tests__/application/validate-app-use-case.test.js +0 -104
  233. package/frigg-cli/validate-command/__tests__/domain/fix-suggestion.test.js +0 -153
  234. package/frigg-cli/validate-command/__tests__/domain/validation-error.test.js +0 -162
  235. package/frigg-cli/validate-command/__tests__/domain/validation-result.test.js +0 -152
  236. package/frigg-cli/validate-command/__tests__/infrastructure/api-module-validator.test.js +0 -332
  237. package/frigg-cli/validate-command/__tests__/infrastructure/app-definition-validator.test.js +0 -191
  238. package/frigg-cli/validate-command/__tests__/infrastructure/integration-class-validator.test.js +0 -146
  239. package/frigg-cli/validate-command/__tests__/infrastructure/template-validation.test.js +0 -155
  240. package/frigg-cli/validate-command/adapters/cli/validate-command.js +0 -199
  241. package/frigg-cli/validate-command/application/use-cases/validate-app-use-case.js +0 -35
  242. package/frigg-cli/validate-command/domain/entities/validation-result.js +0 -74
  243. package/frigg-cli/validate-command/domain/value-objects/fix-suggestion.js +0 -74
  244. package/frigg-cli/validate-command/domain/value-objects/validation-error.js +0 -68
  245. package/frigg-cli/validate-command/infrastructure/validators/api-module-validator.js +0 -181
  246. package/frigg-cli/validate-command/infrastructure/validators/app-definition-validator.js +0 -128
  247. package/frigg-cli/validate-command/infrastructure/validators/integration-class-validator.js +0 -113
@@ -0,0 +1,346 @@
1
+ import express from 'express'
2
+ import { createServer } from 'http'
3
+ import { Server } from 'socket.io'
4
+ import cors from 'cors'
5
+ import path from 'path'
6
+ import { fileURLToPath } from 'url'
7
+
8
+ // Import middleware and utilities
9
+ import { errorHandler } from './middleware/errorHandler.js'
10
+ import { createStandardResponse } from './utils/response.js'
11
+ import { setupWebSocket } from './websocket/handler.js'
12
+ import { addLogEntry, LOG_LEVELS } from './api/logs.js'
13
+
14
+ // Import API routes
15
+ import projectRouter from './api/project.js'
16
+ import integrationsRouter from './api/integrations.js'
17
+ import environmentRouter from './api/environment.js'
18
+ import usersRouter from './api/users.js'
19
+ import connectionsRouter from './api/connections.js'
20
+ import cliRouter from './api/cli.js'
21
+ import logsRouter from './api/logs.js'
22
+ <<<<<<< HEAD
23
+ <<<<<<< HEAD
24
+ import monitoringRouter from './api/monitoring.js'
25
+ import codegenRouter from './api/codegen.js'
26
+ import discoveryRouter from './api/discovery.js'
27
+ import openIdeHandler from './api/open-ide.js'
28
+ =======
29
+ <<<<<<< HEAD
30
+ <<<<<<< HEAD
31
+ =======
32
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
33
+ import monitoringRouter from './api/monitoring.js'
34
+ import codegenRouter from './api/codegen.js'
35
+ import discoveryRouter from './api/discovery.js'
36
+ import openIdeHandler from './api/open-ide.js'
37
+ <<<<<<< HEAD
38
+ >>>>>>> d6114470 (feat: add comprehensive DDD/Hexagonal architecture RFC series)
39
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
40
+ =======
41
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
42
+
43
+ const __filename = fileURLToPath(import.meta.url)
44
+ const __dirname = path.dirname(__filename)
45
+
46
+ const app = express()
47
+ const httpServer = createServer(app)
48
+ const io = new Server(httpServer, {
49
+ cors: {
50
+ origin: ["http://localhost:5173", "http://localhost:3000"],
51
+ methods: ["GET", "POST", "PUT", "DELETE"],
52
+ credentials: true
53
+ }
54
+ })
55
+
56
+ // Store io instance in app for route access
57
+ app.set('io', io)
58
+
59
+ // Middleware
60
+ app.use(cors({
61
+ origin: ["http://localhost:5173", "http://localhost:3000"],
62
+ credentials: true
63
+ }))
64
+ app.use(express.json({ limit: '10mb' }))
65
+ app.use(express.urlencoded({ extended: true }))
66
+
67
+ // Request logging middleware
68
+ app.use((req, res, next) => {
69
+ const timestamp = new Date().toISOString()
70
+ console.log(`${timestamp} - ${req.method} ${req.path}`)
71
+
72
+ <<<<<<< HEAD
73
+ =======
74
+ <<<<<<< HEAD
75
+
76
+ =======
77
+
78
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
79
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
80
+ =======
81
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
82
+ // Log API requests
83
+ addLogEntry(LOG_LEVELS.INFO, `${req.method} ${req.path}`, 'api', {
84
+ method: req.method,
85
+ path: req.path,
86
+ query: req.query,
87
+ userAgent: req.get('User-Agent')
88
+ })
89
+
90
+ <<<<<<< HEAD
91
+ =======
92
+ <<<<<<< HEAD
93
+
94
+ =======
95
+
96
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
97
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
98
+ =======
99
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
100
+ next()
101
+ })
102
+
103
+ // Setup WebSocket handling
104
+ setupWebSocket(io)
105
+
106
+ // Health check endpoint
107
+ app.get('/health', (req, res) => {
108
+ res.json(createStandardResponse({
109
+ status: 'healthy',
110
+ timestamp: new Date().toISOString(),
111
+ uptime: process.uptime(),
112
+ version: process.env.npm_package_version || '1.0.0'
113
+ }))
114
+ })
115
+
116
+ <<<<<<< HEAD
117
+ <<<<<<< HEAD
118
+ =======
119
+ <<<<<<< HEAD
120
+ <<<<<<< HEAD
121
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
122
+ =======
123
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
124
+ // Get initial repository info
125
+ app.get('/api/repository/current', (req, res) => {
126
+ const repoInfo = process.env.REPOSITORY_INFO ?
127
+ JSON.parse(process.env.REPOSITORY_INFO) :
128
+ <<<<<<< HEAD
129
+ <<<<<<< HEAD
130
+ =======
131
+ =======
132
+ // Get initial repository info
133
+ app.get('/api/repository/current', (req, res) => {
134
+ const repoInfo = process.env.REPOSITORY_INFO ?
135
+ JSON.parse(process.env.REPOSITORY_INFO) :
136
+ >>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
137
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
138
+ =======
139
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
140
+ null
141
+ res.json(createStandardResponse({ repository: repoInfo }))
142
+ })
143
+
144
+ <<<<<<< HEAD
145
+ <<<<<<< HEAD
146
+ =======
147
+ <<<<<<< HEAD
148
+ =======
149
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
150
+ =======
151
+ >>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
152
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
153
+ =======
154
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
155
+ // API endpoints
156
+ app.use('/api/project', projectRouter)
157
+ app.use('/api/integrations', integrationsRouter)
158
+ app.use('/api/environment', environmentRouter)
159
+ app.use('/api/users', usersRouter)
160
+ app.use('/api/connections', connectionsRouter)
161
+ app.use('/api/cli', cliRouter)
162
+ app.use('/api/logs', logsRouter)
163
+ <<<<<<< HEAD
164
+ <<<<<<< HEAD
165
+ app.use('/api/monitoring', monitoringRouter)
166
+ app.use('/api/codegen', codegenRouter)
167
+ app.use('/api/discovery', discoveryRouter)
168
+ app.post('/api/open-in-ide', openIdeHandler)
169
+ =======
170
+ <<<<<<< HEAD
171
+ <<<<<<< HEAD
172
+ =======
173
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
174
+ app.use('/api/monitoring', monitoringRouter)
175
+ app.use('/api/codegen', codegenRouter)
176
+ app.use('/api/discovery', discoveryRouter)
177
+ app.post('/api/open-in-ide', openIdeHandler)
178
+ <<<<<<< HEAD
179
+ >>>>>>> d6114470 (feat: add comprehensive DDD/Hexagonal architecture RFC series)
180
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
181
+ =======
182
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
183
+
184
+ // API documentation endpoint
185
+ app.get('/api', (req, res) => {
186
+ res.json(createStandardResponse({
187
+ name: 'Frigg Management UI API',
188
+ version: '1.0.0',
189
+ description: 'REST API for Frigg CLI-GUI communication',
190
+ endpoints: {
191
+ project: '/api/project',
192
+ integrations: '/api/integrations',
193
+ environment: '/api/environment',
194
+ users: '/api/users',
195
+ connections: '/api/connections',
196
+ cli: '/api/cli',
197
+ <<<<<<< HEAD
198
+ <<<<<<< HEAD
199
+ logs: '/api/logs',
200
+ monitoring: '/api/monitoring',
201
+ codegen: '/api/codegen'
202
+ =======
203
+ <<<<<<< HEAD
204
+ <<<<<<< HEAD
205
+ logs: '/api/logs',
206
+ monitoring: '/api/monitoring',
207
+ codegen: '/api/codegen'
208
+ =======
209
+ logs: '/api/logs'
210
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
211
+ =======
212
+ logs: '/api/logs',
213
+ monitoring: '/api/monitoring',
214
+ codegen: '/api/codegen'
215
+ >>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
216
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
217
+ =======
218
+ logs: '/api/logs',
219
+ monitoring: '/api/monitoring',
220
+ codegen: '/api/codegen'
221
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
222
+ },
223
+ websocket: {
224
+ url: 'ws://localhost:3001',
225
+ events: [
226
+ 'project:status',
227
+ 'project:logs',
228
+ 'integrations:update',
229
+ 'environment:update',
230
+ 'cli:output',
231
+ 'cli:complete',
232
+ <<<<<<< HEAD
233
+ <<<<<<< HEAD
234
+ 'logs:new',
235
+ 'monitoring:metrics',
236
+ 'monitoring:error'
237
+ =======
238
+ <<<<<<< HEAD
239
+ <<<<<<< HEAD
240
+ 'logs:new',
241
+ 'monitoring:metrics',
242
+ 'monitoring:error'
243
+ =======
244
+ 'logs:new'
245
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
246
+ =======
247
+ 'logs:new',
248
+ 'monitoring:metrics',
249
+ 'monitoring:error'
250
+ >>>>>>> f153939e (refactor: clean up CLI help display and remove unused dependencies)
251
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
252
+ =======
253
+ 'logs:new',
254
+ 'monitoring:metrics',
255
+ 'monitoring:error'
256
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
257
+ ]
258
+ },
259
+ documentation: '/api-contract.md'
260
+ }))
261
+ })
262
+
263
+ // Serve static files in production
264
+ if (process.env.NODE_ENV === 'production') {
265
+ app.use(express.static(path.join(__dirname, '../dist')))
266
+ app.get('*', (req, res) => {
267
+ res.sendFile(path.join(__dirname, '../dist/index.html'))
268
+ })
269
+ }
270
+
271
+ // 404 handler for API routes
272
+ app.use('/api/*', (req, res) => {
273
+ res.status(404).json(createStandardResponse(null, `API endpoint not found: ${req.path}`))
274
+ })
275
+
276
+ // Error handling middleware (must be last)
277
+ app.use(errorHandler)
278
+
279
+ // Start server
280
+ const PORT = process.env.PORT || 3001
281
+ httpServer.listen(PORT, () => {
282
+ console.log(`🚀 Frigg Management UI server running on port ${PORT}`)
283
+ console.log(`📡 WebSocket server ready for connections`)
284
+ console.log(`📚 API documentation: http://localhost:${PORT}/api`)
285
+ console.log(`🏥 Health check: http://localhost:${PORT}/health`)
286
+
287
+ <<<<<<< HEAD
288
+ =======
289
+ <<<<<<< HEAD
290
+
291
+ =======
292
+
293
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
294
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
295
+ =======
296
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
297
+ // Log server startup
298
+ addLogEntry(LOG_LEVELS.INFO, `Server started on port ${PORT}`, 'server', {
299
+ port: PORT,
300
+ nodeVersion: process.version,
301
+ environment: process.env.NODE_ENV || 'development'
302
+ })
303
+ })
304
+
305
+ // Graceful shutdown
306
+ process.on('SIGTERM', () => {
307
+ console.log('SIGTERM received, shutting down gracefully...')
308
+ addLogEntry(LOG_LEVELS.INFO, 'Server shutting down gracefully', 'server')
309
+
310
+ <<<<<<< HEAD
311
+ =======
312
+ <<<<<<< HEAD
313
+
314
+ =======
315
+
316
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
317
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
318
+ =======
319
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
320
+ httpServer.close(() => {
321
+ console.log('Server closed')
322
+ process.exit(0)
323
+ })
324
+ })
325
+
326
+ process.on('SIGINT', () => {
327
+ console.log('SIGINT received, shutting down gracefully...')
328
+ addLogEntry(LOG_LEVELS.INFO, 'Server interrupted, shutting down', 'server')
329
+
330
+ <<<<<<< HEAD
331
+ =======
332
+ <<<<<<< HEAD
333
+
334
+ =======
335
+
336
+ >>>>>>> 652520a5 (Claude Flow RFC related development)
337
+ >>>>>>> 860052b4 (feat: integrate complete management-ui and additional features)
338
+ =======
339
+ >>>>>>> 7e97f01c (fix: resolve ui-command merge conflicts and update package.json)
340
+ httpServer.close(() => {
341
+ console.log('Server closed')
342
+ process.exit(0)
343
+ })
344
+ })
345
+
346
+ export default app