@johpaz/hive 1.7.2 → 1.7.3

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 (427) hide show
  1. package/README.md +178 -36
  2. package/dist/hive.js +315124 -0
  3. package/package.json +11 -3
  4. package/packages/core/src/index.ts +0 -1
  5. package/.dockerignore +0 -9
  6. package/CONTRIBUTING.md +0 -44
  7. package/Dockerfile +0 -67
  8. package/docker-compose.yml +0 -19
  9. package/packages/cli/package.json +0 -28
  10. package/packages/cli/src/commands/agent-run.ts +0 -168
  11. package/packages/cli/src/commands/agents.ts +0 -398
  12. package/packages/cli/src/commands/chat.ts +0 -142
  13. package/packages/cli/src/commands/config.ts +0 -50
  14. package/packages/cli/src/commands/cron.ts +0 -161
  15. package/packages/cli/src/commands/dev.ts +0 -95
  16. package/packages/cli/src/commands/doctor.ts +0 -133
  17. package/packages/cli/src/commands/gateway.ts +0 -422
  18. package/packages/cli/src/commands/logs.ts +0 -57
  19. package/packages/cli/src/commands/mcp.ts +0 -175
  20. package/packages/cli/src/commands/message.ts +0 -77
  21. package/packages/cli/src/commands/onboard.ts +0 -1696
  22. package/packages/cli/src/commands/security.ts +0 -144
  23. package/packages/cli/src/commands/service.ts +0 -50
  24. package/packages/cli/src/commands/sessions.ts +0 -116
  25. package/packages/cli/src/commands/skills.ts +0 -187
  26. package/packages/cli/src/commands/update.ts +0 -25
  27. package/packages/cli/src/index.ts +0 -190
  28. package/packages/cli/src/utils/token.ts +0 -6
  29. package/packages/code-bridge/README.md +0 -78
  30. package/packages/code-bridge/package.json +0 -18
  31. package/packages/code-bridge/src/index.ts +0 -95
  32. package/packages/code-bridge/src/process-manager.ts +0 -212
  33. package/packages/code-bridge/src/schemas.ts +0 -133
  34. package/packages/core/package.json +0 -55
  35. package/packages/core/src/agent/agent-loop.ts +0 -520
  36. package/packages/core/src/agent/compaction.ts +0 -183
  37. package/packages/core/src/agent/context-compiler.ts +0 -544
  38. package/packages/core/src/agent/context-guard.ts +0 -91
  39. package/packages/core/src/agent/conversation-store.ts +0 -193
  40. package/packages/core/src/agent/curator.ts +0 -158
  41. package/packages/core/src/agent/hooks.ts +0 -166
  42. package/packages/core/src/agent/llm-client.ts +0 -503
  43. package/packages/core/src/agent/native-tools.ts +0 -31
  44. package/packages/core/src/agent/playbook-selector.ts +0 -143
  45. package/packages/core/src/agent/prompt-builder.ts +0 -167
  46. package/packages/core/src/agent/providers/index.ts +0 -186
  47. package/packages/core/src/agent/providers.ts +0 -1
  48. package/packages/core/src/agent/reflector.ts +0 -200
  49. package/packages/core/src/agent/service.ts +0 -266
  50. package/packages/core/src/agent/skill-selector.ts +0 -413
  51. package/packages/core/src/agent/stuck-loop.ts +0 -133
  52. package/packages/core/src/agent/tool-selector.ts +0 -623
  53. package/packages/core/src/agent/tracer.ts +0 -102
  54. package/packages/core/src/canvas/canvas-manager.ts +0 -319
  55. package/packages/core/src/canvas/canvas-tools.ts +0 -420
  56. package/packages/core/src/canvas/emitter.ts +0 -119
  57. package/packages/core/src/canvas/index.ts +0 -2
  58. package/packages/core/src/channels/base.ts +0 -140
  59. package/packages/core/src/channels/discord.ts +0 -260
  60. package/packages/core/src/channels/index.ts +0 -7
  61. package/packages/core/src/channels/manager.ts +0 -383
  62. package/packages/core/src/channels/slack.ts +0 -287
  63. package/packages/core/src/channels/telegram.ts +0 -552
  64. package/packages/core/src/channels/webchat.ts +0 -139
  65. package/packages/core/src/channels/whatsapp.ts +0 -375
  66. package/packages/core/src/config/index.ts +0 -12
  67. package/packages/core/src/config/loader.ts +0 -529
  68. package/packages/core/src/events/agent-bus.ts +0 -460
  69. package/packages/core/src/events/event-bus.ts +0 -169
  70. package/packages/core/src/gateway/helpers/cors.ts +0 -32
  71. package/packages/core/src/gateway/helpers/index.ts +0 -4
  72. package/packages/core/src/gateway/helpers/narration.ts +0 -60
  73. package/packages/core/src/gateway/helpers/path.ts +0 -13
  74. package/packages/core/src/gateway/helpers/redact.ts +0 -61
  75. package/packages/core/src/gateway/index.ts +0 -5
  76. package/packages/core/src/gateway/initializer.ts +0 -332
  77. package/packages/core/src/gateway/lane-queue.ts +0 -169
  78. package/packages/core/src/gateway/resolver.ts +0 -108
  79. package/packages/core/src/gateway/router.ts +0 -124
  80. package/packages/core/src/gateway/routes/agents.ts +0 -187
  81. package/packages/core/src/gateway/routes/channels.ts +0 -203
  82. package/packages/core/src/gateway/routes/chat.ts +0 -241
  83. package/packages/core/src/gateway/routes/config.ts +0 -12
  84. package/packages/core/src/gateway/routes/cron.ts +0 -42
  85. package/packages/core/src/gateway/routes/ethics.ts +0 -46
  86. package/packages/core/src/gateway/routes/mcp.ts +0 -346
  87. package/packages/core/src/gateway/routes/models.ts +0 -93
  88. package/packages/core/src/gateway/routes/projects.ts +0 -179
  89. package/packages/core/src/gateway/routes/providers.ts +0 -192
  90. package/packages/core/src/gateway/routes/setup.ts +0 -267
  91. package/packages/core/src/gateway/routes/skills.ts +0 -70
  92. package/packages/core/src/gateway/routes/system.ts +0 -165
  93. package/packages/core/src/gateway/routes/tasks.ts +0 -44
  94. package/packages/core/src/gateway/routes/tools.ts +0 -35
  95. package/packages/core/src/gateway/routes/users.ts +0 -118
  96. package/packages/core/src/gateway/routes/voice.ts +0 -73
  97. package/packages/core/src/gateway/routes/workspace.ts +0 -281
  98. package/packages/core/src/gateway/server.ts +0 -1978
  99. package/packages/core/src/gateway/session.ts +0 -95
  100. package/packages/core/src/gateway/slash-commands.ts +0 -193
  101. package/packages/core/src/heartbeat/index.ts +0 -157
  102. package/packages/core/src/mcp/hot-reload.ts +0 -213
  103. package/packages/core/src/mcp/singleton.ts +0 -21
  104. package/packages/core/src/memory/index.ts +0 -1
  105. package/packages/core/src/memory/notes.ts +0 -68
  106. package/packages/core/src/plugins/api.ts +0 -128
  107. package/packages/core/src/plugins/index.ts +0 -2
  108. package/packages/core/src/plugins/loader.ts +0 -365
  109. package/packages/core/src/resilience/circuit-breaker.ts +0 -225
  110. package/packages/core/src/security/google-chat.ts +0 -269
  111. package/packages/core/src/security/index.ts +0 -192
  112. package/packages/core/src/security/pairing.ts +0 -250
  113. package/packages/core/src/security/rate-limit.ts +0 -270
  114. package/packages/core/src/security/signal.ts +0 -321
  115. package/packages/core/src/state/store.ts +0 -312
  116. package/packages/core/src/storage/crypto.ts +0 -101
  117. package/packages/core/src/storage/onboarding.ts +0 -1609
  118. package/packages/core/src/storage/schema.ts +0 -567
  119. package/packages/core/src/storage/seed.ts +0 -608
  120. package/packages/core/src/storage/sqlite.ts +0 -363
  121. package/packages/core/src/storage/usage.ts +0 -270
  122. package/packages/core/src/tools/agents/index.ts +0 -607
  123. package/packages/core/src/tools/bridge-events.ts +0 -26
  124. package/packages/core/src/tools/canvas/index.ts +0 -281
  125. package/packages/core/src/tools/cli/index.ts +0 -142
  126. package/packages/core/src/tools/codebridge/index.ts +0 -179
  127. package/packages/core/src/tools/core/index.ts +0 -257
  128. package/packages/core/src/tools/cron/index.ts +0 -373
  129. package/packages/core/src/tools/filesystem/fs-delete.ts +0 -78
  130. package/packages/core/src/tools/filesystem/fs-edit.ts +0 -106
  131. package/packages/core/src/tools/filesystem/fs-exists.ts +0 -63
  132. package/packages/core/src/tools/filesystem/fs-glob.ts +0 -108
  133. package/packages/core/src/tools/filesystem/fs-list.ts +0 -129
  134. package/packages/core/src/tools/filesystem/fs-read.ts +0 -72
  135. package/packages/core/src/tools/filesystem/fs-write.ts +0 -67
  136. package/packages/core/src/tools/filesystem/index.ts +0 -34
  137. package/packages/core/src/tools/filesystem/workspace-guard.ts +0 -62
  138. package/packages/core/src/tools/index.ts +0 -197
  139. package/packages/core/src/tools/projects/index.ts +0 -37
  140. package/packages/core/src/tools/projects/project-create.ts +0 -94
  141. package/packages/core/src/tools/projects/project-done.ts +0 -66
  142. package/packages/core/src/tools/projects/project-fail.ts +0 -66
  143. package/packages/core/src/tools/projects/project-list.ts +0 -96
  144. package/packages/core/src/tools/projects/project-update.ts +0 -72
  145. package/packages/core/src/tools/projects/task-create.ts +0 -68
  146. package/packages/core/src/tools/projects/task-evaluate.ts +0 -93
  147. package/packages/core/src/tools/projects/task-update.ts +0 -93
  148. package/packages/core/src/tools/search-knowledge/search-knowledge.ts +0 -155
  149. package/packages/core/src/tools/types.ts +0 -39
  150. package/packages/core/src/tools/voice/index.ts +0 -104
  151. package/packages/core/src/tools/web/browser-click.ts +0 -54
  152. package/packages/core/src/tools/web/browser-navigate.ts +0 -84
  153. package/packages/core/src/tools/web/browser-screenshot.ts +0 -54
  154. package/packages/core/src/tools/web/browser-type.ts +0 -60
  155. package/packages/core/src/tools/web/index.ts +0 -31
  156. package/packages/core/src/tools/web/web-fetch.ts +0 -78
  157. package/packages/core/src/tools/web/web-search.ts +0 -123
  158. package/packages/core/src/utils/benchmark.ts +0 -80
  159. package/packages/core/src/utils/crypto.ts +0 -73
  160. package/packages/core/src/utils/date.ts +0 -42
  161. package/packages/core/src/utils/index.ts +0 -5
  162. package/packages/core/src/utils/logger.ts +0 -389
  163. package/packages/core/src/utils/retry.ts +0 -70
  164. package/packages/core/src/utils/toon.ts +0 -356
  165. package/packages/core/src/voice/index.ts +0 -583
  166. package/packages/hive-ui/README.md +0 -52
  167. package/packages/hive-ui/components.json +0 -20
  168. package/packages/hive-ui/index.html +0 -30
  169. package/packages/hive-ui/package.json +0 -90
  170. package/packages/hive-ui/public/favicon.ico +0 -0
  171. package/packages/hive-ui/public/placeholder.svg +0 -1
  172. package/packages/hive-ui/src/App.tsx +0 -115
  173. package/packages/hive-ui/src/components/CronJobsPanel.tsx +0 -200
  174. package/packages/hive-ui/src/components/NavLink.tsx +0 -34
  175. package/packages/hive-ui/src/components/NotesPanel.tsx +0 -79
  176. package/packages/hive-ui/src/components/SystemMonitor.tsx +0 -270
  177. package/packages/hive-ui/src/components/UsageStatsPanel.tsx +0 -334
  178. package/packages/hive-ui/src/components/WelcomeDialog.tsx +0 -279
  179. package/packages/hive-ui/src/components/ui/accordion.tsx +0 -52
  180. package/packages/hive-ui/src/components/ui/alert-dialog.tsx +0 -104
  181. package/packages/hive-ui/src/components/ui/alert.tsx +0 -45
  182. package/packages/hive-ui/src/components/ui/aspect-ratio.tsx +0 -5
  183. package/packages/hive-ui/src/components/ui/avatar.tsx +0 -38
  184. package/packages/hive-ui/src/components/ui/badge.tsx +0 -29
  185. package/packages/hive-ui/src/components/ui/bee-loader.tsx +0 -68
  186. package/packages/hive-ui/src/components/ui/breadcrumb.tsx +0 -90
  187. package/packages/hive-ui/src/components/ui/button.tsx +0 -47
  188. package/packages/hive-ui/src/components/ui/calendar.tsx +0 -54
  189. package/packages/hive-ui/src/components/ui/card.tsx +0 -45
  190. package/packages/hive-ui/src/components/ui/carousel.tsx +0 -224
  191. package/packages/hive-ui/src/components/ui/chart.tsx +0 -303
  192. package/packages/hive-ui/src/components/ui/checkbox.tsx +0 -26
  193. package/packages/hive-ui/src/components/ui/collapsible.tsx +0 -9
  194. package/packages/hive-ui/src/components/ui/command.tsx +0 -133
  195. package/packages/hive-ui/src/components/ui/context-menu.tsx +0 -178
  196. package/packages/hive-ui/src/components/ui/dialog.tsx +0 -95
  197. package/packages/hive-ui/src/components/ui/drawer.tsx +0 -87
  198. package/packages/hive-ui/src/components/ui/dropdown-menu.tsx +0 -179
  199. package/packages/hive-ui/src/components/ui/form.tsx +0 -129
  200. package/packages/hive-ui/src/components/ui/hover-card.tsx +0 -27
  201. package/packages/hive-ui/src/components/ui/input-otp.tsx +0 -61
  202. package/packages/hive-ui/src/components/ui/input.tsx +0 -22
  203. package/packages/hive-ui/src/components/ui/label.tsx +0 -17
  204. package/packages/hive-ui/src/components/ui/menubar.tsx +0 -207
  205. package/packages/hive-ui/src/components/ui/navigation-menu.tsx +0 -120
  206. package/packages/hive-ui/src/components/ui/pagination.tsx +0 -80
  207. package/packages/hive-ui/src/components/ui/popover.tsx +0 -29
  208. package/packages/hive-ui/src/components/ui/progress.tsx +0 -23
  209. package/packages/hive-ui/src/components/ui/radio-group.tsx +0 -36
  210. package/packages/hive-ui/src/components/ui/resizable.tsx +0 -37
  211. package/packages/hive-ui/src/components/ui/scroll-area.tsx +0 -38
  212. package/packages/hive-ui/src/components/ui/select.tsx +0 -143
  213. package/packages/hive-ui/src/components/ui/separator.tsx +0 -20
  214. package/packages/hive-ui/src/components/ui/sheet.tsx +0 -107
  215. package/packages/hive-ui/src/components/ui/sidebar.tsx +0 -636
  216. package/packages/hive-ui/src/components/ui/skeleton.tsx +0 -7
  217. package/packages/hive-ui/src/components/ui/slider.tsx +0 -23
  218. package/packages/hive-ui/src/components/ui/sonner.tsx +0 -27
  219. package/packages/hive-ui/src/components/ui/switch.tsx +0 -27
  220. package/packages/hive-ui/src/components/ui/table.tsx +0 -72
  221. package/packages/hive-ui/src/components/ui/tabs.tsx +0 -53
  222. package/packages/hive-ui/src/components/ui/textarea.tsx +0 -21
  223. package/packages/hive-ui/src/components/ui/toast.tsx +0 -111
  224. package/packages/hive-ui/src/components/ui/toaster.tsx +0 -24
  225. package/packages/hive-ui/src/components/ui/toggle-group.tsx +0 -49
  226. package/packages/hive-ui/src/components/ui/toggle.tsx +0 -37
  227. package/packages/hive-ui/src/components/ui/tooltip.tsx +0 -28
  228. package/packages/hive-ui/src/components/ui/use-toast.ts +0 -3
  229. package/packages/hive-ui/src/hooks/use-mobile.tsx +0 -19
  230. package/packages/hive-ui/src/hooks/use-toast.ts +0 -186
  231. package/packages/hive-ui/src/hooks/useAgentConfig.ts +0 -25
  232. package/packages/hive-ui/src/hooks/useAgents.ts +0 -38
  233. package/packages/hive-ui/src/hooks/useBridge.ts +0 -38
  234. package/packages/hive-ui/src/hooks/useCanvas.ts +0 -24
  235. package/packages/hive-ui/src/hooks/useChannels.ts +0 -2
  236. package/packages/hive-ui/src/hooks/useEthics.ts +0 -51
  237. package/packages/hive-ui/src/hooks/useProviders.ts +0 -14
  238. package/packages/hive-ui/src/hooks/useTheme.ts +0 -29
  239. package/packages/hive-ui/src/hooks/useUserConfig.ts +0 -17
  240. package/packages/hive-ui/src/hooks/useWebSocket.ts +0 -12
  241. package/packages/hive-ui/src/index.css +0 -620
  242. package/packages/hive-ui/src/lib/api.ts +0 -100
  243. package/packages/hive-ui/src/lib/constants.ts +0 -6
  244. package/packages/hive-ui/src/lib/models.ts +0 -64
  245. package/packages/hive-ui/src/lib/swal.ts +0 -30
  246. package/packages/hive-ui/src/lib/utils.ts +0 -6
  247. package/packages/hive-ui/src/lib/websocket.ts +0 -7
  248. package/packages/hive-ui/src/main.tsx +0 -5
  249. package/packages/hive-ui/src/modules/agent-config/details/AgentDetailsEditor.tsx +0 -524
  250. package/packages/hive-ui/src/modules/agent-config/ethics/EthicsConflictDetector.tsx +0 -18
  251. package/packages/hive-ui/src/modules/agent-config/ethics/EthicsEditor.tsx +0 -19
  252. package/packages/hive-ui/src/modules/agent-config/ethics/EthicsRulesList.tsx +0 -36
  253. package/packages/hive-ui/src/modules/agent-config/ethics/EthicsTemplateGallery.tsx +0 -361
  254. package/packages/hive-ui/src/modules/agent-config/ethics/index.ts +0 -4
  255. package/packages/hive-ui/src/modules/agent-config/index.ts +0 -6
  256. package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerAdd.tsx +0 -322
  257. package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerCard.tsx +0 -93
  258. package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerConfig.tsx +0 -427
  259. package/packages/hive-ui/src/modules/agent-config/mcp/MCPServerList.tsx +0 -85
  260. package/packages/hive-ui/src/modules/agent-config/mcp/MCPToolExplorer.tsx +0 -79
  261. package/packages/hive-ui/src/modules/agent-config/mcp/index.ts +0 -5
  262. package/packages/hive-ui/src/modules/agent-config/shared/ConfigEditorLayout.tsx +0 -30
  263. package/packages/hive-ui/src/modules/agent-config/shared/ConfigExporter.tsx +0 -26
  264. package/packages/hive-ui/src/modules/agent-config/shared/ConfigImporter.tsx +0 -25
  265. package/packages/hive-ui/src/modules/agent-config/shared/DiffViewer.tsx +0 -31
  266. package/packages/hive-ui/src/modules/agent-config/shared/MarkdownEditor.tsx +0 -32
  267. package/packages/hive-ui/src/modules/agent-config/shared/SaveStatusIndicator.tsx +0 -23
  268. package/packages/hive-ui/src/modules/agent-config/shared/ValidationPanel.tsx +0 -36
  269. package/packages/hive-ui/src/modules/agent-config/shared/index.ts +0 -7
  270. package/packages/hive-ui/src/modules/agent-config/skills/SkillCard.tsx +0 -81
  271. package/packages/hive-ui/src/modules/agent-config/skills/SkillConfigEditor.tsx +0 -22
  272. package/packages/hive-ui/src/modules/agent-config/skills/SkillCreator.tsx +0 -60
  273. package/packages/hive-ui/src/modules/agent-config/skills/SkillInstaller.tsx +0 -23
  274. package/packages/hive-ui/src/modules/agent-config/skills/SkillList.tsx +0 -72
  275. package/packages/hive-ui/src/modules/agent-config/skills/SkillsTab.tsx +0 -202
  276. package/packages/hive-ui/src/modules/agent-config/skills/index.ts +0 -5
  277. package/packages/hive-ui/src/modules/agent-config/tools/ToolCard.tsx +0 -27
  278. package/packages/hive-ui/src/modules/agent-config/tools/ToolConfigPanel.tsx +0 -22
  279. package/packages/hive-ui/src/modules/agent-config/tools/ToolManager.tsx +0 -266
  280. package/packages/hive-ui/src/modules/agent-config/tools/ToolPermissions.tsx +0 -287
  281. package/packages/hive-ui/src/modules/agent-config/tools/ToolRegistry.tsx +0 -84
  282. package/packages/hive-ui/src/modules/agent-config/tools/ToolUsageStats.tsx +0 -52
  283. package/packages/hive-ui/src/modules/agent-config/tools/index.ts +0 -4
  284. package/packages/hive-ui/src/modules/agent-config/user/ActiveAgentsList.tsx +0 -109
  285. package/packages/hive-ui/src/modules/agent-config/user/GlobalConfigOverview.tsx +0 -119
  286. package/packages/hive-ui/src/modules/agent-config/user/UserMemoryManager.tsx +0 -54
  287. package/packages/hive-ui/src/modules/agent-config/user/UserPreferencesForm.tsx +0 -163
  288. package/packages/hive-ui/src/modules/agent-config/user/UserProfileEditor.tsx +0 -261
  289. package/packages/hive-ui/src/modules/agent-config/user/index.ts +0 -3
  290. package/packages/hive-ui/src/modules/agents/AgentActivityLog.tsx +0 -25
  291. package/packages/hive-ui/src/modules/agents/AgentCard.tsx +0 -305
  292. package/packages/hive-ui/src/modules/agents/AgentCreateForm.tsx +0 -446
  293. package/packages/hive-ui/src/modules/agents/AgentDetail.tsx +0 -28
  294. package/packages/hive-ui/src/modules/agents/AgentInternalCard.tsx +0 -162
  295. package/packages/hive-ui/src/modules/agents/AgentList.tsx +0 -29
  296. package/packages/hive-ui/src/modules/agents/AgentStatusBadge.tsx +0 -34
  297. package/packages/hive-ui/src/modules/agents/ModelSelector.tsx +0 -151
  298. package/packages/hive-ui/src/modules/bridge/BridgeLogViewer.tsx +0 -61
  299. package/packages/hive-ui/src/modules/bridge/BridgeProcessList.tsx +0 -77
  300. package/packages/hive-ui/src/modules/bridge/BridgeStatus.tsx +0 -23
  301. package/packages/hive-ui/src/modules/bridge/BridgeTerminal.tsx +0 -7
  302. package/packages/hive-ui/src/modules/canvas/CanvasButton.tsx +0 -3
  303. package/packages/hive-ui/src/modules/canvas/CanvasChart.tsx +0 -3
  304. package/packages/hive-ui/src/modules/canvas/CanvasComponentMap.tsx +0 -605
  305. package/packages/hive-ui/src/modules/canvas/CanvasContainer.tsx +0 -360
  306. package/packages/hive-ui/src/modules/canvas/CanvasForm.tsx +0 -3
  307. package/packages/hive-ui/src/modules/canvas/CanvasMarkdown.tsx +0 -3
  308. package/packages/hive-ui/src/modules/canvas/CanvasTable.tsx +0 -3
  309. package/packages/hive-ui/src/modules/canvas/ComponentRenderer.tsx +0 -30
  310. package/packages/hive-ui/src/modules/canvas/DynamicRenderer.tsx +0 -3
  311. package/packages/hive-ui/src/modules/channels/available/AvailableChannelsGrid.tsx +0 -89
  312. package/packages/hive-ui/src/modules/channels/available/ChannelAuthForm.tsx +0 -33
  313. package/packages/hive-ui/src/modules/channels/available/ChannelSetupWizard.tsx +0 -48
  314. package/packages/hive-ui/src/modules/channels/available/ChannelTestConnection.tsx +0 -37
  315. package/packages/hive-ui/src/modules/channels/available/ChannelTypeCard.tsx +0 -30
  316. package/packages/hive-ui/src/modules/channels/available/ChannelWebhookConfig.tsx +0 -30
  317. package/packages/hive-ui/src/modules/channels/available/index.ts +0 -6
  318. package/packages/hive-ui/src/modules/channels/connected/ChannelCard.tsx +0 -95
  319. package/packages/hive-ui/src/modules/channels/connected/ChannelConfigPanel.tsx +0 -260
  320. package/packages/hive-ui/src/modules/channels/connected/ChannelDisconnectButton.tsx +0 -21
  321. package/packages/hive-ui/src/modules/channels/connected/ChannelLogsViewer.tsx +0 -42
  322. package/packages/hive-ui/src/modules/channels/connected/ChannelQRCode.tsx +0 -32
  323. package/packages/hive-ui/src/modules/channels/connected/ChannelReconnectButton.tsx +0 -16
  324. package/packages/hive-ui/src/modules/channels/connected/ChannelStatusBadge.tsx +0 -26
  325. package/packages/hive-ui/src/modules/channels/connected/ConnectedChannelsList.tsx +0 -40
  326. package/packages/hive-ui/src/modules/channels/connected/index.ts +0 -8
  327. package/packages/hive-ui/src/modules/channels/shared/ChannelCard.tsx +0 -84
  328. package/packages/hive-ui/src/modules/channels/shared/ChannelConfigDialog.tsx +0 -279
  329. package/packages/hive-ui/src/modules/channels/shared/ChannelIcon.tsx +0 -40
  330. package/packages/hive-ui/src/modules/channels/shared/ChannelStats.tsx +0 -37
  331. package/packages/hive-ui/src/modules/channels/shared/ChannelTypeBadge.tsx +0 -23
  332. package/packages/hive-ui/src/modules/channels/shared/ConnectionHealthIndicator.tsx +0 -20
  333. package/packages/hive-ui/src/modules/channels/shared/MessagePreview.tsx +0 -19
  334. package/packages/hive-ui/src/modules/channels/shared/index.ts +0 -5
  335. package/packages/hive-ui/src/modules/chat/ChatContainer.tsx +0 -268
  336. package/packages/hive-ui/src/modules/chat/ChatHistory.tsx +0 -101
  337. package/packages/hive-ui/src/modules/chat/ChatInput.tsx +0 -108
  338. package/packages/hive-ui/src/modules/chat/ChatMessage.tsx +0 -137
  339. package/packages/hive-ui/src/modules/chat/ThinkingIndicator.tsx +0 -10
  340. package/packages/hive-ui/src/modules/layout/AppLayout.tsx +0 -45
  341. package/packages/hive-ui/src/modules/layout/ConnectionStatus.tsx +0 -19
  342. package/packages/hive-ui/src/modules/layout/Header.tsx +0 -20
  343. package/packages/hive-ui/src/modules/layout/HiveSidebar.tsx +0 -173
  344. package/packages/hive-ui/src/modules/layout/ThemeToggle.tsx +0 -18
  345. package/packages/hive-ui/src/modules/providers/ProviderCard.tsx +0 -319
  346. package/packages/hive-ui/src/modules/providers/ProviderConfigForm.tsx +0 -146
  347. package/packages/hive-ui/src/modules/providers/ProviderFailoverConfig.tsx +0 -110
  348. package/packages/hive-ui/src/modules/providers/ProviderList.tsx +0 -33
  349. package/packages/hive-ui/src/modules/providers/ProviderStatusIndicator.tsx +0 -23
  350. package/packages/hive-ui/src/modules/providers/configs/ProviderAPIKeyManager.tsx +0 -39
  351. package/packages/hive-ui/src/modules/providers/configs/ProviderEndpointConfig.tsx +0 -27
  352. package/packages/hive-ui/src/modules/providers/configs/ProviderRateLimits.tsx +0 -37
  353. package/packages/hive-ui/src/modules/providers/configs/ProviderRetryPolicy.tsx +0 -46
  354. package/packages/hive-ui/src/modules/providers/configs/index.ts +0 -4
  355. package/packages/hive-ui/src/modules/providers/index.ts +0 -5
  356. package/packages/hive-ui/src/modules/providers/models/ModelBenchmarkBadge.tsx +0 -21
  357. package/packages/hive-ui/src/modules/providers/models/ModelCapabilities.tsx +0 -44
  358. package/packages/hive-ui/src/modules/providers/models/ModelCard.tsx +0 -36
  359. package/packages/hive-ui/src/modules/providers/models/ModelComparisonTable.tsx +0 -47
  360. package/packages/hive-ui/src/modules/providers/models/ModelList.tsx +0 -51
  361. package/packages/hive-ui/src/modules/providers/models/ModelPricingInfo.tsx +0 -17
  362. package/packages/hive-ui/src/modules/providers/models/ModelSelector.tsx +0 -32
  363. package/packages/hive-ui/src/modules/providers/models/index.ts +0 -7
  364. package/packages/hive-ui/src/pages/AgentDetailPage.tsx +0 -74
  365. package/packages/hive-ui/src/pages/AgentNewPage.tsx +0 -5
  366. package/packages/hive-ui/src/pages/AgentsPage.tsx +0 -147
  367. package/packages/hive-ui/src/pages/BridgePage.tsx +0 -83
  368. package/packages/hive-ui/src/pages/CanvasPage.tsx +0 -32
  369. package/packages/hive-ui/src/pages/ChannelsPage.tsx +0 -176
  370. package/packages/hive-ui/src/pages/DashboardPage.tsx +0 -321
  371. package/packages/hive-ui/src/pages/Index.tsx +0 -14
  372. package/packages/hive-ui/src/pages/LogsPage.tsx +0 -252
  373. package/packages/hive-ui/src/pages/NotFound.tsx +0 -24
  374. package/packages/hive-ui/src/pages/ProjectsPage.tsx +0 -241
  375. package/packages/hive-ui/src/pages/ProvidersPage.tsx +0 -111
  376. package/packages/hive-ui/src/pages/SettingsPage.tsx +0 -147
  377. package/packages/hive-ui/src/pages/SetupPage.tsx +0 -1177
  378. package/packages/hive-ui/src/pages/WebChatPage.tsx +0 -15
  379. package/packages/hive-ui/src/stores/agentConfigStore.ts +0 -32
  380. package/packages/hive-ui/src/stores/agentStore.ts +0 -5
  381. package/packages/hive-ui/src/stores/bridgeStore.ts +0 -237
  382. package/packages/hive-ui/src/stores/canvasStore.ts +0 -250
  383. package/packages/hive-ui/src/stores/channelStore.ts +0 -5
  384. package/packages/hive-ui/src/stores/chatStore.ts +0 -42
  385. package/packages/hive-ui/src/stores/ethicsStore.ts +0 -141
  386. package/packages/hive-ui/src/stores/mcpStore.ts +0 -5
  387. package/packages/hive-ui/src/stores/modelStore.ts +0 -2
  388. package/packages/hive-ui/src/stores/projectsStore.ts +0 -141
  389. package/packages/hive-ui/src/stores/providerStore.ts +0 -2
  390. package/packages/hive-ui/src/stores/skillStore.ts +0 -5
  391. package/packages/hive-ui/src/stores/toolStore.ts +0 -5
  392. package/packages/hive-ui/src/stores/useGlobalConfigStore.ts +0 -937
  393. package/packages/hive-ui/src/stores/useLoaderStore.ts +0 -21
  394. package/packages/hive-ui/src/stores/useNotesAndCronsStore.ts +0 -144
  395. package/packages/hive-ui/src/stores/useWebSocketStore.ts +0 -152
  396. package/packages/hive-ui/src/stores/useWelcomeStore.ts +0 -37
  397. package/packages/hive-ui/src/stores/userConfigStore.ts +0 -23
  398. package/packages/hive-ui/src/stores/userStore.ts +0 -82
  399. package/packages/hive-ui/src/test/setup.ts +0 -15
  400. package/packages/hive-ui/src/types/agent-config.ts +0 -33
  401. package/packages/hive-ui/src/types/agent.ts +0 -65
  402. package/packages/hive-ui/src/types/bridge.ts +0 -27
  403. package/packages/hive-ui/src/types/canvas.ts +0 -76
  404. package/packages/hive-ui/src/types/channels.ts +0 -109
  405. package/packages/hive-ui/src/types/chat.ts +0 -25
  406. package/packages/hive-ui/src/types/connections.ts +0 -17
  407. package/packages/hive-ui/src/types/ethics.ts +0 -41
  408. package/packages/hive-ui/src/types/index.ts +0 -15
  409. package/packages/hive-ui/src/types/mcp.ts +0 -36
  410. package/packages/hive-ui/src/types/notes-crons.ts +0 -31
  411. package/packages/hive-ui/src/types/providers.ts +0 -145
  412. package/packages/hive-ui/src/types/skill.ts +0 -12
  413. package/packages/hive-ui/src/types/tool.ts +0 -44
  414. package/packages/hive-ui/src/types/user.ts +0 -26
  415. package/packages/hive-ui/src/types/websocket.ts +0 -14
  416. package/packages/hive-ui/src/vite-env.d.ts +0 -1
  417. package/packages/mcp/package.json +0 -26
  418. package/packages/mcp/src/config.ts +0 -13
  419. package/packages/mcp/src/index.ts +0 -1
  420. package/packages/mcp/src/logger.ts +0 -42
  421. package/packages/mcp/src/manager.ts +0 -439
  422. package/packages/mcp/src/transports/index.ts +0 -67
  423. package/packages/mcp/src/transports/sse.ts +0 -241
  424. package/packages/mcp/src/transports/websocket.ts +0 -159
  425. package/packages/skills/package.json +0 -21
  426. package/packages/skills/src/index.ts +0 -1
  427. package/packages/skills/src/loader.ts +0 -346
@@ -1,51 +0,0 @@
1
- import { ScrollArea } from "@/components/ui/scroll-area";
2
- import { Badge } from "@/components/ui/badge";
3
- import { Input } from "@/components/ui/input";
4
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
5
- import { useProviders } from "@/hooks/useProviders";
6
- import { ModelCard } from "./ModelCard";
7
- import { Search } from "lucide-react";
8
- import { useState } from "react";
9
-
10
- export function ModelList() {
11
- const { availableModels, providers } = useProviders();
12
- const [filter, setFilter] = useState("");
13
- const [providerFilter, setProviderFilter] = useState("all");
14
-
15
- const filtered = availableModels.filter((m) => {
16
- const matchesSearch = m.name.toLowerCase().includes(filter.toLowerCase()) || m.id.toLowerCase().includes(filter.toLowerCase());
17
- const matchesProvider = providerFilter === "all" || m.providerId === providerFilter || m.provider_id === providerFilter;
18
- return matchesSearch && matchesProvider;
19
- });
20
-
21
- return (
22
- <div className="space-y-4">
23
- <div className="flex items-center justify-between">
24
- <h3 className="text-sm font-semibold">Modelos Disponibles</h3>
25
- <Badge variant="secondary">{filtered.length}</Badge>
26
- </div>
27
- <div className="flex gap-2">
28
- <div className="relative flex-1">
29
- <Search className="absolute left-2 top-2 h-4 w-4 text-muted-foreground" />
30
- <Input placeholder="Buscar modelo..." className="h-8 pl-8 text-sm" value={filter} onChange={(e) => setFilter(e.target.value)} />
31
- </div>
32
- <Select value={providerFilter} onValueChange={setProviderFilter}>
33
- <SelectTrigger className="h-8 w-40 text-sm"><SelectValue placeholder="Provider" /></SelectTrigger>
34
- <SelectContent>
35
- <SelectItem value="all">Todos</SelectItem>
36
- {providers.map((p) => (
37
- <SelectItem key={p.id} value={p.id}>{p.name}</SelectItem>
38
- ))}
39
- </SelectContent>
40
- </Select>
41
- </div>
42
- <ScrollArea className="h-[calc(100vh-20rem)]">
43
- <div className="space-y-2">
44
- {filtered.map((model) => (
45
- <ModelCard key={model.id} model={model} />
46
- ))}
47
- </div>
48
- </ScrollArea>
49
- </div>
50
- );
51
- }
@@ -1,17 +0,0 @@
1
- import type { ModelPricing } from "@/types";
2
-
3
- interface ModelPricingInfoProps {
4
- pricing: ModelPricing;
5
- }
6
-
7
- export function ModelPricingInfo({ pricing }: ModelPricingInfoProps) {
8
- if (pricing.inputPer1M === 0 && pricing.outputPer1M === 0) {
9
- return <span className="text-xs font-medium text-hive-connected">Gratis (local)</span>;
10
- }
11
- return (
12
- <div className="text-right text-[10px] text-muted-foreground">
13
- <p>In: ${pricing.inputPer1M}/1M</p>
14
- <p>Out: ${pricing.outputPer1M}/1M</p>
15
- </div>
16
- );
17
- }
@@ -1,32 +0,0 @@
1
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
2
- import { useProviders } from "@/hooks/useProviders";
3
- import type { Model } from "@/types";
4
-
5
- interface ModelSelectorProps {
6
- value?: string;
7
- onSelect?: (modelId: string) => void;
8
- providerFilter?: string;
9
- }
10
-
11
- export function ModelSelector({ value, onSelect, providerFilter }: ModelSelectorProps) {
12
- const { availableModels } = useProviders();
13
- const models = providerFilter ? availableModels.filter((m) => m.providerId === providerFilter) : availableModels;
14
-
15
- return (
16
- <Select value={value} onValueChange={onSelect}>
17
- <SelectTrigger className="h-8 text-sm">
18
- <SelectValue placeholder="Seleccionar modelo..." />
19
- </SelectTrigger>
20
- <SelectContent>
21
- {models.map((model) => (
22
- <SelectItem key={model.id} value={model.id}>
23
- <span className="flex items-center gap-2">
24
- <span>{model.name}</span>
25
- <span className="text-muted-foreground">({model.providerId})</span>
26
- </span>
27
- </SelectItem>
28
- ))}
29
- </SelectContent>
30
- </Select>
31
- );
32
- }
@@ -1,7 +0,0 @@
1
- export { ModelList } from "./ModelList";
2
- export { ModelCard } from "./ModelCard";
3
- export { ModelSelector } from "./ModelSelector";
4
- export { ModelPricingInfo } from "./ModelPricingInfo";
5
- export { ModelCapabilities } from "./ModelCapabilities";
6
- export { ModelBenchmarkBadge } from "./ModelBenchmarkBadge";
7
- export { ModelComparisonTable } from "./ModelComparisonTable";
@@ -1,74 +0,0 @@
1
- import { useParams, useNavigate } from "react-router-dom";
2
- import { AgentDetailsEditor } from "@/modules/agent-config/details/AgentDetailsEditor";
3
- import { AgentInternalCard } from "@/modules/agents/AgentInternalCard";
4
- import { useAgents } from "@/stores/useGlobalConfigStore";
5
- import { ChevronLeft, LayoutGrid, Activity } from "lucide-react";
6
- import { Button } from "@/components/ui/button";
7
- import { useEffect } from "react";
8
-
9
- export function AgentDetailPage() {
10
- const { id } = useParams<{ id: string }>();
11
- const navigate = useNavigate();
12
- const agentId = id ?? "unknown";
13
- const { agents, fetchAgents, isLoading } = useAgents();
14
-
15
- useEffect(() => {
16
- fetchAgents();
17
- }, [fetchAgents]);
18
-
19
- const agent = agents.find(a => a.id === agentId);
20
-
21
- return (
22
- <div className="min-h-screen bg-transparent pb-20">
23
- <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 animate-in fade-in slide-in-from-bottom-4 duration-700">
24
-
25
- {/* Navigation Header */}
26
- <div className="flex items-center justify-between mb-8">
27
- <Button
28
- variant="ghost"
29
- onClick={() => navigate("/agents")}
30
- className="group flex items-center gap-2 text-white/40 hover:text-white hover:bg-white/5 px-4 py-2 rounded-xl transition-all"
31
- >
32
- <ChevronLeft className="h-4 w-4 transition-transform group-hover:-translate-x-1" />
33
- <span className="text-sm font-bold uppercase tracking-widest">Volver a la Colmena</span>
34
- </Button>
35
-
36
- <div className="flex items-center gap-4 text-white/20">
37
- <div className="flex items-center gap-2">
38
- <LayoutGrid className="h-4 w-4" />
39
- <span className="text-[10px] font-bold uppercase tracking-widest">Agentes</span>
40
- </div>
41
- <div className="h-4 w-px bg-white/10" />
42
- <div className="flex items-center gap-2">
43
- <Activity className="h-4 w-4" />
44
- <span className="text-[10px] font-bold uppercase tracking-widest">Detalles Operativos</span>
45
- </div>
46
- </div>
47
- </div>
48
-
49
- {/* Hero Card */}
50
- {agent ? (
51
- <>
52
- <AgentInternalCard agent={agent} />
53
- <div className="grid grid-cols-1 gap-8">
54
- <AgentDetailsEditor agentId={agentId} />
55
- </div>
56
- </>
57
- ) : (
58
- <div className="flex flex-col items-center justify-center h-[60vh] text-center space-y-6">
59
- <div className="relative">
60
- <div className="h-24 w-24 rounded-full border-4 border-t-blue-500 border-white/5 animate-spin" />
61
- <Activity className="absolute inset-0 m-auto h-8 w-8 text-blue-400 animate-pulse" />
62
- </div>
63
- <div>
64
- <h3 className="text-xl font-bold text-white mb-2">Sincronizando con el Nodo</h3>
65
- <p className="text-white/40 max-w-xs mx-auto">
66
- Estamos recuperando la configuración cuántica de este agente desde la base de datos central.
67
- </p>
68
- </div>
69
- </div>
70
- )}
71
- </div>
72
- </div>
73
- );
74
- }
@@ -1,5 +0,0 @@
1
- import { AgentCreateForm } from "@/modules/agents/AgentCreateForm";
2
-
3
- export function AgentNewPage() {
4
- return <AgentCreateForm />;
5
- }
@@ -1,147 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import { AgentList } from "@/modules/agents/AgentList";
3
- import { AgentCreateForm } from "@/modules/agents/AgentCreateForm";
4
- import { Plus, RefreshCw, type LucideProps, X, Bot } from "lucide-react";
5
- import { useAgents } from "@/stores/useGlobalConfigStore";
6
- import type { Agent } from "@/types";
7
-
8
- // Wrapper to fix React 19 + Lucide type compatibility
9
- function Icon({ icon: IconComponent, ...props }: { icon: React.ComponentType<LucideProps> } & LucideProps) {
10
- return <IconComponent {...props} />;
11
- }
12
-
13
- export function AgentsPage() {
14
- const { agents, isLoading, error, fetchAgents } = useAgents();
15
- const [isFormOpen, setIsFormOpen] = useState(false);
16
- const [editingAgent, setEditingAgent] = useState<Agent | undefined>(undefined);
17
-
18
- useEffect(() => {
19
- fetchAgents();
20
- }, [fetchAgents]);
21
-
22
- const handleEdit = (agent: Agent) => {
23
- setEditingAgent(agent);
24
- setIsFormOpen(true);
25
- };
26
-
27
- const handleCreate = () => {
28
- setEditingAgent(undefined);
29
- setIsFormOpen(true);
30
- };
31
-
32
- const handleSuccess = () => {
33
- setIsFormOpen(false);
34
- setEditingAgent(undefined);
35
- };
36
-
37
- return (
38
- <div className="hive-page mt-10 animate-in fade-in duration-700">
39
- <div className="hive-page-container">
40
- {/* Header Section */}
41
- <div className="hive-page-header flex flex-col sm:flex-row sm:items-end justify-between gap-6 relative z-10 mb-8">
42
- <div className="relative z-10 animate-in slide-in-from-left-8 duration-700">
43
- <div className="hive-page-header__eyebrow mb-3 opacity-80">
44
- <div className="hive-page-header__dot animate-pulse shadow-[0_0_10px_rgba(59,130,246,0.6)]" />
45
- <span className="hive-page-header__label tracking-widest font-semibold text-blue-400">NEXO CENTRAL</span>
46
- </div>
47
- <h2 className="text-4xl md:text-5xl font-black tracking-tight text-white drop-shadow-lg mb-4">
48
- Agentes <span className="text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-purple-500">Inteligentes</span>
49
- </h2>
50
- <p className="text-white/60 text-sm max-w-xl leading-relaxed font-light">
51
- Configura y despliega inteligencias autónomas. Cada nodo amplía las capacidades de tu infraestructura personal y de negocio con precisión absoluta.
52
- </p>
53
- </div>
54
-
55
- <div className="flex items-center gap-3 relative z-10 animate-in slide-in-from-right-8 duration-700">
56
- <button
57
- className="px-4 py-2 bg-white/5 hover:bg-white/10 text-white/70 hover:text-white rounded-lg border border-white/10 hover:border-white/20 transition-all duration-300 flex items-center gap-2 font-medium text-sm backdrop-blur-sm group"
58
- onClick={() => fetchAgents()}
59
- disabled={isLoading}
60
- >
61
- <RefreshCw className={`h-4 w-4 transition-transform duration-500 group-hover:rotate-180 text-blue-400 ${isLoading ? "animate-spin" : ""}`} />
62
- <span>Sincronizar</span>
63
- </button>
64
-
65
- <button
66
- onClick={handleCreate}
67
- className="px-4 py-2 bg-blue-600 hover:bg-blue-500 text-white rounded-lg border border-blue-500/50 hover:border-blue-400/50 shadow-[0_0_15px_rgba(37,99,235,0.3)] hover:shadow-[0_0_25px_rgba(59,130,246,0.5)] transition-all duration-300 flex items-center gap-2 font-medium text-sm group"
68
- >
69
- <Plus className="h-4 w-4 transition-transform duration-300 group-hover:rotate-90" />
70
- <span>Desplegar Nodo</span>
71
- </button>
72
- </div>
73
- </div>
74
-
75
- {/* Content Section */}
76
- <div className="relative mt-8">
77
- {/* Ambient Glows */}
78
- <div className="absolute -top-40 -left-40 h-[500px] w-[500px] bg-blue-600/10 rounded-full blur-[120px] pointer-events-none mix-blend-screen opacity-50" />
79
- <div className="absolute top-40 -right-40 h-[400px] w-[400px] bg-purple-600/10 rounded-full blur-[100px] pointer-events-none mix-blend-screen opacity-50" />
80
-
81
- {error ? (
82
- <div className="relative overflow-hidden rounded-2xl border border-red-500/20 bg-red-500/5 backdrop-blur-lg">
83
- <div className="absolute top-0 left-0 w-1 h-full bg-red-500" />
84
- <div className="px-6 py-5 flex items-center gap-4 text-red-400 relative z-10">
85
- <div className="p-3 rounded-xl bg-red-500/10 border border-red-500/20 shadow-[0_0_15px_rgba(239,68,68,0.15)]">
86
- <X className="h-6 w-6" />
87
- </div>
88
- <div>
89
- <p className="text-sm font-bold uppercase tracking-widest drop-shadow-sm">Error de Enlace</p>
90
- <p className="text-sm text-red-300/70 mt-1 font-light">{error}</p>
91
- </div>
92
- </div>
93
- </div>
94
- ) : (
95
- <div className="relative z-10">
96
- {isLoading && agents.length === 0 ? (
97
- <div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
98
- {[1, 2, 3].map((i) => (
99
- <div key={i} className="h-64 rounded-2xl border border-white/5 bg-white/[0.02] animate-pulse" />
100
- ))}
101
- </div>
102
- ) : agents.length === 0 ? (
103
- <div className="flex flex-col items-center justify-center py-20 px-4 text-center border border-white/5 rounded-3xl bg-black/20 backdrop-blur-sm animate-in fade-in duration-1000">
104
- <div className="h-20 w-20 rounded-full bg-blue-500/10 border border-blue-500/20 flex items-center justify-center mb-6 shadow-[0_0_30px_rgba(59,130,246,0.15)]">
105
- <Bot className="h-10 w-10 text-blue-400" />
106
- </div>
107
- <h3 className="text-xl font-bold text-white mb-2">Colmena inactiva</h3>
108
- <p className="text-white/50 max-w-md mx-auto mb-8 leading-relaxed">
109
- La red neuronal está esperando ser poblada. Despliega tu primer nodo agente para comenzar a automatizar tus operaciones.
110
- </p>
111
- <button
112
- onClick={handleCreate}
113
- className="px-6 py-3 bg-blue-600 hover:bg-blue-500 text-white rounded-xl border border-blue-500/50 hover:border-blue-400/50 shadow-[0_0_20px_rgba(37,99,235,0.4)] transition-all duration-300 flex items-center gap-2 font-bold group"
114
- >
115
- <Plus className="h-5 w-5 transition-transform duration-300 group-hover:scale-125" />
116
- <span>INICIAR DESPLIEGUE</span>
117
- </button>
118
- </div>
119
- ) : (
120
- <div className="animate-in slide-in-from-bottom-8 duration-1000 fade-in fill-mode-both">
121
- <AgentList agents={agents} onEdit={handleEdit} />
122
- </div>
123
- )}
124
- </div>
125
- )}
126
- </div>
127
- </div>
128
-
129
- {/* Modern Overlay Form */}
130
- {isFormOpen && (
131
- <div className="fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6 animate-in fade-in duration-300">
132
- <div
133
- className="absolute inset-0 bg-black/60 backdrop-blur-md transition-opacity"
134
- onClick={() => setIsFormOpen(false)}
135
- />
136
- <div className="relative w-full max-w-4xl max-h-[90vh] overflow-y-auto bg-[#09090b] border border-white/10 rounded-2xl shadow-2xl animate-in zoom-in-95 duration-300">
137
- <AgentCreateForm
138
- initialData={editingAgent}
139
- onSuccess={handleSuccess}
140
- onCancel={() => setIsFormOpen(false)}
141
- />
142
- </div>
143
- </div>
144
- )}
145
- </div>
146
- );
147
- }
@@ -1,83 +0,0 @@
1
- import { useEffect } from "react";
2
- import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
3
- import { BridgeStatus } from "@/modules/bridge/BridgeStatus";
4
- import { BridgeProcessList } from "@/modules/bridge/BridgeProcessList";
5
- import { BridgeLogViewer } from "@/modules/bridge/BridgeLogViewer";
6
- import { useBridgeStore } from "@/stores/bridgeStore";
7
- import { RefreshCw, Terminal } from "lucide-react";
8
- import { Button } from "@/components/ui/button";
9
-
10
- export function BridgePage() {
11
- const { isConnected, connect, connectGateway, processes, logs } = useBridgeStore();
12
-
13
- useEffect(() => {
14
- connect();
15
- connectGateway();
16
- }, [connect, connectGateway]);
17
-
18
- const status: "connected" | "connecting" | "disconnected" | "error" = isConnected
19
- ? "connected"
20
- : "disconnected";
21
-
22
- const runningCount = processes.filter((p) => p.status === "running").length;
23
-
24
- return (
25
- <div className="hive-page mt-10">
26
- <div className="hive-page-container">
27
- {/* Header */}
28
- <div className="flex items-center justify-between">
29
- <div>
30
- <h1 className="text-xl font-semibold flex items-center gap-2">
31
- <Terminal className="h-5 w-5" />
32
- Code Bridge
33
- </h1>
34
- <p className="text-sm text-muted-foreground mt-0.5">
35
- Monitoreo de comandos CLI y procesos del agente
36
- </p>
37
- </div>
38
- <div className="flex items-center gap-3">
39
- {runningCount > 0 && (
40
- <span className="text-xs text-yellow-400 font-mono">
41
- {runningCount} proceso{runningCount > 1 ? "s" : ""} activo{runningCount > 1 ? "s" : ""}
42
- </span>
43
- )}
44
- <BridgeStatus status={status} />
45
- <Button variant="outline" size="sm" onClick={() => { connect(); connectGateway(); }}>
46
- <RefreshCw className="h-3.5 w-3.5 mr-1.5" />
47
- Reconectar
48
- </Button>
49
- </div>
50
- </div>
51
-
52
- {/* Main content */}
53
- <div className="mt-4 grid grid-cols-1 lg:grid-cols-2 gap-4 h-[calc(100vh-14rem)]">
54
- {/* Processes */}
55
- <Card className="flex flex-col overflow-hidden">
56
- <CardHeader className="py-3 px-4 border-b">
57
- <CardTitle className="text-sm flex items-center justify-between">
58
- <span>Procesos</span>
59
- <span className="text-xs text-muted-foreground font-normal">{processes.length} total</span>
60
- </CardTitle>
61
- </CardHeader>
62
- <CardContent className="flex-1 overflow-y-auto p-2">
63
- <BridgeProcessList />
64
- </CardContent>
65
- </Card>
66
-
67
- {/* Logs */}
68
- <Card className="flex flex-col overflow-hidden">
69
- <CardHeader className="py-3 px-4 border-b">
70
- <CardTitle className="text-sm flex items-center justify-between">
71
- <span>Logs</span>
72
- <span className="text-xs text-muted-foreground font-normal">{logs.length} entradas</span>
73
- </CardTitle>
74
- </CardHeader>
75
- <CardContent className="flex-1 overflow-hidden p-0">
76
- <BridgeLogViewer />
77
- </CardContent>
78
- </Card>
79
- </div>
80
- </div>
81
- </div>
82
- );
83
- }
@@ -1,32 +0,0 @@
1
- import { useParams } from "react-router-dom";
2
- import { CanvasContainer } from "@/modules/canvas/CanvasContainer";
3
- import { useUserStore } from "@/stores/userStore";
4
-
5
- export function CanvasPage() {
6
- const { sessionId: paramSessionId } = useParams<{ sessionId: string }>();
7
- const { currentUser } = useUserStore();
8
-
9
- // Priorizar el ID del usuario real si el parámetro es "default" o no existe
10
- const sessionId = (paramSessionId && paramSessionId !== "default") ? paramSessionId : currentUser?.id;
11
-
12
- if (!sessionId) {
13
- return (
14
- <div className="flex h-[calc(100vh-4rem)] items-center justify-center">
15
- <div className="flex flex-col items-center gap-2">
16
- <div className="h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent" />
17
- <p className="text-sm text-muted-foreground">Cargando sesión...</p>
18
- </div>
19
- </div>
20
- );
21
- }
22
-
23
- return (
24
- <div className="flex h-[calc(100vh-4rem)] flex-col bg-background/50 backdrop-blur-sm">
25
- <div className="flex-1 overflow-hidden p-4 lg:p-8">
26
- <div className="mx-auto h-full max-w-7xl">
27
- <CanvasContainer sessionId={sessionId} />
28
- </div>
29
- </div>
30
- </div>
31
- );
32
- }
@@ -1,176 +0,0 @@
1
- import { useState, useEffect, useMemo } from "react";
2
- import { Plus, RefreshCw, Layers, Zap, Info } from "lucide-react";
3
- import { Button } from "@/components/ui/button";
4
- import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
5
- import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
6
- import { useChannels } from "@/hooks/useChannels";
7
- import { ChannelCard } from "@/modules/channels/shared/ChannelCard";
8
- import { ChannelConfigDialog } from "@/modules/channels/shared/ChannelConfigDialog";
9
- import type { ConnectedChannel } from "@/types";
10
-
11
- export function ChannelsPage() {
12
- const {
13
- channels,
14
- activeChannels,
15
- fetchChannels,
16
- isLoading,
17
- toggleChannel,
18
- updateChannel
19
- } = useChannels();
20
-
21
- const [activeTab, setActiveTab] = useState("all");
22
- const [selectedChannel, setSelectedChannel] = useState<ConnectedChannel | null>(null);
23
- const [isDialogOpen, setIsDialogOpen] = useState(false);
24
-
25
- useEffect(() => {
26
- fetchChannels();
27
- // eslint-disable-next-line react-hooks/exhaustive-deps
28
- }, []);
29
-
30
- const filteredChannels = useMemo(() => {
31
- if (activeTab === "all") return channels;
32
- if (activeTab === "active") return channels.filter(c => c.active);
33
- if (activeTab === "inactive") return channels.filter(c => !c.active);
34
- return channels;
35
- }, [channels, activeTab]);
36
-
37
- const handleEdit = (channel: ConnectedChannel) => {
38
- setSelectedChannel(channel);
39
- setIsDialogOpen(true);
40
- };
41
-
42
- const handleAdd = () => {
43
- setSelectedChannel(null);
44
- setIsDialogOpen(true);
45
- };
46
-
47
- const handleSave = async (id: string, data: Partial<ConnectedChannel>) => {
48
- if (id === "new") {
49
- // Logic for adding new channel would go here (API POST)
50
- console.log("Add new channel", data);
51
- } else {
52
- await updateChannel(id, data);
53
- }
54
- };
55
-
56
- return (
57
- <div className="hive-page-container animate-fade-in mt-10">
58
-
59
- {/* ── Header ────────────────────────────────────────────────────────── */}
60
- <div className="hive-page-header">
61
- <div className="flex flex-col md:flex-row md:items-center justify-between gap-6">
62
- <div>
63
- <div className="flex items-center gap-3 mb-2">
64
- <div className="h-10 w-10 rounded-xl bg-blue-500/10 border border-blue-500/20 flex items-center justify-center text-blue-400">
65
- <Layers className="h-6 w-6" />
66
- </div>
67
- <h1 className="text-3xl font-black text-white uppercase tracking-tighter">Canales</h1>
68
- </div>
69
- <p className="hive-subtitle">
70
- Gestiona tus puntos de entrada y salida de comunicación en la red Hive.
71
- </p>
72
- </div>
73
-
74
- <div className="flex items-center gap-3">
75
- <button
76
- onClick={() => fetchChannels()}
77
- disabled={isLoading}
78
- className="hive-btn hive-btn--ghost px-6 text-[10px]"
79
- >
80
- <RefreshCw className={`h-3.5 w-3.5 mr-2 ${isLoading ? "animate-spin" : ""}`} />
81
- SINCRONIZAR
82
- </button>
83
- <button
84
- onClick={handleAdd}
85
- className="hive-btn hive-btn--primary px-8 text-[10px]"
86
- >
87
- <Plus className="h-3.5 w-3.5 mr-2" />
88
- NUEVO CANAL
89
- </button>
90
- </div>
91
- </div>
92
- </div>
93
-
94
- <div className="hive-card border-blue-500/10 !bg-blue-500/[0.02] mb-8 overflow-hidden relative">
95
- <div className="hive-card-body py-4 px-6 flex items-center justify-between relative z-10">
96
- <div className="flex items-center gap-4">
97
- <div className="h-8 w-8 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-400">
98
- <Zap className="h-4 w-4" />
99
- </div>
100
- <div>
101
- <p className="text-[10px] font-black tracking-widest text-blue-500/50 uppercase">Estado Operativo</p>
102
- <p className="text-xs text-white/60">
103
- Actualmente tienes <span className="text-blue-400 font-black">{activeChannels.length}</span> canales procesando datos.
104
- </p>
105
- </div>
106
- </div>
107
- <div className="text-[10px] text-white/20 font-black tracking-widest uppercase">
108
- HIVE NODE SECURE
109
- </div>
110
- </div>
111
- <div className="hive-glow-blob hive-glow-blob--blue -top-10 -right-10 h-32 w-32 opacity-10" />
112
- </div>
113
-
114
- <div className="flex items-center gap-1.5 p-1 bg-white/5 rounded-2xl w-fit border border-white/5 mb-8">
115
- {[
116
- { id: "all", label: `TODOS (${channels.length})` },
117
- { id: "active", label: "ACTIVOS" },
118
- { id: "inactive", label: "INACTIVOS" }
119
- ].map(tab => (
120
- <button
121
- key={tab.id}
122
- onClick={() => setActiveTab(tab.id)}
123
- className={`px-8 py-2.5 rounded-xl text-[10px] font-black tracking-widest uppercase transition-all duration-300 ${activeTab === tab.id
124
- ? 'bg-blue-500 text-white shadow-blue-glow'
125
- : 'text-white/20 hover:text-white/40 hover:bg-white/5'
126
- }`}
127
- >
128
- {tab.label}
129
- </button>
130
- ))}
131
- </div>
132
-
133
- <div className="animate-fade-in">
134
- {filteredChannels.length > 0 ? (
135
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
136
- {filteredChannels.map((channel) => (
137
- <ChannelCard
138
- key={channel.id}
139
- channel={channel}
140
- onEdit={handleEdit}
141
- onToggle={toggleChannel}
142
- />
143
- ))}
144
- </div>
145
- ) : (
146
- <div className="hive-card border-dashed border-white/10 bg-white/[0.02]">
147
- <div className="hive-card-body flex flex-col items-center justify-center py-20 px-4">
148
- <div className="h-20 w-20 rounded-2xl bg-white/5 flex items-center justify-center mb-6">
149
- <Layers className="h-10 w-10 text-white/10" />
150
- </div>
151
- <div className="text-center">
152
- <p className="hive-title-section text-center mb-2">No se detectaron canales</p>
153
- <p className="text-xs text-white/40 mb-8 max-w-[300px] mx-auto leading-relaxed">
154
- Configura tu primer punto de enlace para empezar a recibir datos en tiempo real.
155
- </p>
156
- <button
157
- onClick={handleAdd}
158
- className="hive-btn hive-btn--primary px-10 text-[10px]"
159
- >
160
- ESTABLECER CONEXIÓNHORA
161
- </button>
162
- </div>
163
- </div>
164
- </div>
165
- )}
166
- </div>
167
-
168
- <ChannelConfigDialog
169
- channel={selectedChannel}
170
- isOpen={isDialogOpen}
171
- onClose={() => setIsDialogOpen(false)}
172
- onSave={handleSave}
173
- />
174
- </div>
175
- );
176
- }