@factorim/monotui 0.1.0 → 0.3.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 (467) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/config.json +14 -0
  3. package/.github/workflows/ci.yml +5 -2
  4. package/.github/workflows/release.yml +77 -0
  5. package/.vscode/settings.json +1 -0
  6. package/CHANGELOG.md +9 -0
  7. package/README.md +2 -0
  8. package/dist/app/pages/WorkspacePage.d.ts.map +1 -1
  9. package/dist/app/pages/WorkspacePage.js +3 -3
  10. package/dist/app/pages/WorkspacePage.js.map +1 -1
  11. package/dist/commands/init.d.ts +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +33 -4
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/components/features/ProjectGrid/ColPackageJson.d.ts +2 -2
  16. package/dist/components/features/ProjectGrid/ColPackageJson.d.ts.map +1 -1
  17. package/dist/components/features/ProjectGrid/ColPackageJson.js.map +1 -1
  18. package/dist/components/features/WorkspaceGrid/WorkspaceGrid.js +1 -1
  19. package/dist/components/features/WorkspaceGrid/WorkspaceInfo.d.ts.map +1 -1
  20. package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js +1 -1
  21. package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js.map +1 -1
  22. package/dist/components/features/WorkspaceGrid/WorkspaceRow.js +2 -2
  23. package/dist/components/features/WorkspaceGrid/WorkspaceRow.js.map +1 -1
  24. package/dist/components/layouts/Header/Header.d.ts.map +1 -1
  25. package/dist/components/layouts/Header/Header.js +3 -7
  26. package/dist/components/layouts/Header/Header.js.map +1 -1
  27. package/dist/config/config.d.ts.map +1 -1
  28. package/dist/config/config.js +21 -21
  29. package/dist/config/config.js.map +1 -1
  30. package/dist/config/defaults.d.ts +2 -2
  31. package/dist/config/defaults.js +2 -2
  32. package/dist/config/validation.d.ts +54 -0
  33. package/dist/config/validation.d.ts.map +1 -0
  34. package/dist/config/validation.js +79 -0
  35. package/dist/config/validation.js.map +1 -0
  36. package/dist/contexts/ProjectGridContext.d.ts +1 -1
  37. package/dist/contexts/ProjectGridContext.d.ts.map +1 -1
  38. package/dist/contexts/WorkspaceDiscoveryContext.d.ts +2 -2
  39. package/dist/contexts/WorkspaceDiscoveryContext.d.ts.map +1 -1
  40. package/dist/contexts/WorkspaceDiscoveryContext.js +3 -3
  41. package/dist/contexts/WorkspaceDiscoveryContext.js.map +1 -1
  42. package/dist/contexts/WorkspaceGridContext.d.ts +1 -1
  43. package/dist/contexts/WorkspaceGridContext.d.ts.map +1 -1
  44. package/dist/contexts/WorkspaceGridContext.js +1 -1
  45. package/dist/contexts/WorkspaceGridContext.js.map +1 -1
  46. package/dist/hooks/useInterval.d.ts +5 -0
  47. package/dist/hooks/useInterval.d.ts.map +1 -0
  48. package/dist/hooks/useInterval.js +19 -0
  49. package/dist/hooks/useInterval.js.map +1 -0
  50. package/dist/hooks/useWorkspaceDiscovery.d.ts +3 -3
  51. package/dist/hooks/useWorkspaceDiscovery.d.ts.map +1 -1
  52. package/dist/hooks/useWorkspaceDiscovery.js +8 -13
  53. package/dist/hooks/useWorkspaceDiscovery.js.map +1 -1
  54. package/dist/hooks/useWorkspaceQuickActions.d.ts +1 -1
  55. package/dist/hooks/useWorkspaceQuickActions.d.ts.map +1 -1
  56. package/dist/hooks/useWorkspaceRuntime.d.ts +1 -1
  57. package/dist/hooks/useWorkspaceRuntime.d.ts.map +1 -1
  58. package/dist/hooks/useWorkspaceRuntime.js +30 -8
  59. package/dist/hooks/useWorkspaceRuntime.js.map +1 -1
  60. package/dist/services/discovery/facets/compose-parser.d.ts +1 -1
  61. package/dist/services/discovery/facets/compose-parser.d.ts.map +1 -1
  62. package/dist/services/discovery/facets/makefile-parser.d.ts +1 -1
  63. package/dist/services/discovery/facets/makefile-parser.d.ts.map +1 -1
  64. package/dist/services/discovery/facets/package-json-parser.d.ts +1 -1
  65. package/dist/services/discovery/facets/package-json-parser.d.ts.map +1 -1
  66. package/dist/services/discovery/workspace-discovery.d.ts +3 -3
  67. package/dist/services/discovery/workspace-discovery.d.ts.map +1 -1
  68. package/dist/services/discovery/workspace-discovery.js +17 -7
  69. package/dist/services/discovery/workspace-discovery.js.map +1 -1
  70. package/dist/services/runtime/docker-runtime.d.ts +1 -1
  71. package/dist/services/runtime/docker-runtime.d.ts.map +1 -1
  72. package/dist/services/runtime/node-runtime.d.ts +2 -2
  73. package/dist/services/runtime/node-runtime.d.ts.map +1 -1
  74. package/dist/theme/theme.js +1 -1
  75. package/dist/theme/theme.js.map +1 -1
  76. package/dist/types/project-grid.d.ts +1 -1
  77. package/dist/types/project-grid.d.ts.map +1 -1
  78. package/dist/types/workspace-grid.d.ts +2 -2
  79. package/dist/types/workspace-grid.d.ts.map +1 -1
  80. package/dist/types/workspace.d.ts +9 -2
  81. package/dist/types/workspace.d.ts.map +1 -1
  82. package/dist/utils/logging/logger.js +2 -2
  83. package/dist/utils/logging/logger.js.map +1 -1
  84. package/dist/utils/project/project-grid.d.ts +1 -1
  85. package/dist/utils/project/project-grid.d.ts.map +1 -1
  86. package/dist/utils/project/project-grid.js.map +1 -1
  87. package/dist/utils/workspace/workspace-grid.d.ts +1 -1
  88. package/dist/utils/workspace/workspace-grid.d.ts.map +1 -1
  89. package/dist/utils/workspace/workspace-grid.js +5 -18
  90. package/dist/utils/workspace/workspace-grid.js.map +1 -1
  91. package/dist/utils/workspace/workspace-helper.d.ts +1 -1
  92. package/dist/utils/workspace/workspace-helper.d.ts.map +1 -1
  93. package/docs/images/monotui-screenshot-v0.2.0.png +0 -0
  94. package/package.json +11 -4
  95. package/src/app/pages/WorkspacePage.tsx +5 -3
  96. package/src/commands/init.ts +34 -4
  97. package/src/components/features/ProjectGrid/ColPackageJson.tsx +3 -2
  98. package/src/components/features/WorkspaceGrid/WorkspaceGrid.tsx +2 -2
  99. package/src/components/features/WorkspaceGrid/WorkspaceInfo.tsx +7 -9
  100. package/src/components/features/WorkspaceGrid/WorkspaceRow.tsx +6 -6
  101. package/src/components/layouts/Header/Header.tsx +2 -9
  102. package/src/config/config.ts +24 -21
  103. package/src/config/defaults.ts +2 -2
  104. package/src/config/validation.ts +90 -0
  105. package/src/contexts/ProjectGridContext.tsx +1 -1
  106. package/src/contexts/WorkspaceDiscoveryContext.tsx +5 -5
  107. package/src/contexts/WorkspaceGridContext.tsx +2 -2
  108. package/src/hooks/useWorkspaceDiscovery.ts +16 -17
  109. package/src/hooks/useWorkspaceQuickActions.ts +1 -1
  110. package/src/hooks/useWorkspaceRuntime.ts +52 -12
  111. package/src/services/discovery/facets/compose-parser.ts +1 -1
  112. package/src/services/discovery/facets/makefile-parser.ts +2 -2
  113. package/src/services/discovery/facets/package-json-parser.ts +1 -1
  114. package/src/services/discovery/workspace-discovery.ts +21 -11
  115. package/src/services/runtime/docker-runtime.ts +1 -1
  116. package/src/services/runtime/node-runtime.ts +2 -2
  117. package/src/theme/theme.ts +1 -1
  118. package/src/types/project-grid.ts +1 -1
  119. package/src/types/workspace-grid.ts +2 -2
  120. package/src/types/{project.ts → workspace.ts} +9 -2
  121. package/src/utils/logging/logger.ts +2 -2
  122. package/src/utils/project/project-grid.test.ts +175 -0
  123. package/src/utils/project/project-grid.ts +1 -2
  124. package/src/utils/workspace/workspace-grid.ts +6 -20
  125. package/src/utils/workspace/workspace-helper.ts +1 -1
  126. package/.github/workflows/publish-to-npm.yml +0 -36
  127. package/dist/app/pages/About.d.ts +0 -2
  128. package/dist/app/pages/About.d.ts.map +0 -1
  129. package/dist/app/pages/About.js +0 -6
  130. package/dist/app/pages/About.js.map +0 -1
  131. package/dist/app/pages/AboutPage.d.ts +0 -2
  132. package/dist/app/pages/AboutPage.d.ts.map +0 -1
  133. package/dist/app/pages/AboutPage.js +0 -6
  134. package/dist/app/pages/AboutPage.js.map +0 -1
  135. package/dist/app/pages/Workspace.d.ts +0 -2
  136. package/dist/app/pages/Workspace.d.ts.map +0 -1
  137. package/dist/app/pages/Workspace.js +0 -14
  138. package/dist/app/pages/Workspace.js.map +0 -1
  139. package/dist/app/pages/Workspaces.d.ts +0 -2
  140. package/dist/app/pages/Workspaces.d.ts.map +0 -1
  141. package/dist/app/pages/Workspaces.js +0 -16
  142. package/dist/app/pages/Workspaces.js.map +0 -1
  143. package/dist/app/pages/WorkspacesPage.d.ts +0 -2
  144. package/dist/app/pages/WorkspacesPage.d.ts.map +0 -1
  145. package/dist/app/pages/WorkspacesPage.js +0 -15
  146. package/dist/app/pages/WorkspacesPage.js.map +0 -1
  147. package/dist/components/features/ProjectGrid/ProjectCommands.d.ts +0 -2
  148. package/dist/components/features/ProjectGrid/ProjectCommands.d.ts.map +0 -1
  149. package/dist/components/features/ProjectGrid/ProjectCommands.js +0 -6
  150. package/dist/components/features/ProjectGrid/ProjectCommands.js.map +0 -1
  151. package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts +0 -2
  152. package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts.map +0 -1
  153. package/dist/components/features/ProjectGrid/WorkspaceCommands.js +0 -6
  154. package/dist/components/features/ProjectGrid/WorkspaceCommands.js.map +0 -1
  155. package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts +0 -2
  156. package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts.map +0 -1
  157. package/dist/components/features/ProjectGrid/WorkspaceDetail.js +0 -16
  158. package/dist/components/features/ProjectGrid/WorkspaceDetail.js.map +0 -1
  159. package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts +0 -2
  160. package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts.map +0 -1
  161. package/dist/components/features/ProjectGrid/WorkspaceInfo.js +0 -11
  162. package/dist/components/features/ProjectGrid/WorkspaceInfo.js.map +0 -1
  163. package/dist/components/features/WorkspaceDetail/ColCompose.d.ts +0 -10
  164. package/dist/components/features/WorkspaceDetail/ColCompose.d.ts.map +0 -1
  165. package/dist/components/features/WorkspaceDetail/ColCompose.js +0 -6
  166. package/dist/components/features/WorkspaceDetail/ColCompose.js.map +0 -1
  167. package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts +0 -9
  168. package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts.map +0 -1
  169. package/dist/components/features/WorkspaceDetail/ColMakefile.js +0 -6
  170. package/dist/components/features/WorkspaceDetail/ColMakefile.js.map +0 -1
  171. package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts +0 -11
  172. package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts.map +0 -1
  173. package/dist/components/features/WorkspaceDetail/ColPackageJson.js +0 -6
  174. package/dist/components/features/WorkspaceDetail/ColPackageJson.js.map +0 -1
  175. package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts +0 -1
  176. package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts.map +0 -1
  177. package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js +0 -2
  178. package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js.map +0 -1
  179. package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts +0 -1
  180. package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts.map +0 -1
  181. package/dist/components/features/WorkspaceDetail/ComposeCol copy.js +0 -2
  182. package/dist/components/features/WorkspaceDetail/ComposeCol copy.js.map +0 -1
  183. package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts +0 -1
  184. package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts.map +0 -1
  185. package/dist/components/features/WorkspaceDetail/ComposeCol.js +0 -2
  186. package/dist/components/features/WorkspaceDetail/ComposeCol.js.map +0 -1
  187. package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts +0 -2
  188. package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts.map +0 -1
  189. package/dist/components/features/WorkspaceDetail/EmptyCol.js +0 -6
  190. package/dist/components/features/WorkspaceDetail/EmptyCol.js.map +0 -1
  191. package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts +0 -2
  192. package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts.map +0 -1
  193. package/dist/components/features/WorkspaceDetail/EmptyRow.js +0 -6
  194. package/dist/components/features/WorkspaceDetail/EmptyRow.js.map +0 -1
  195. package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts +0 -1
  196. package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts.map +0 -1
  197. package/dist/components/features/WorkspaceDetail/PackageJsonCol.js +0 -2
  198. package/dist/components/features/WorkspaceDetail/PackageJsonCol.js.map +0 -1
  199. package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts +0 -2
  200. package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts.map +0 -1
  201. package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js +0 -12
  202. package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js.map +0 -1
  203. package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts +0 -2
  204. package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts.map +0 -1
  205. package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js +0 -16
  206. package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js.map +0 -1
  207. package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts +0 -2
  208. package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts.map +0 -1
  209. package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js +0 -11
  210. package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js.map +0 -1
  211. package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts +0 -2
  212. package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts.map +0 -1
  213. package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js +0 -6
  214. package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js.map +0 -1
  215. package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts +0 -2
  216. package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts.map +0 -1
  217. package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js +0 -11
  218. package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js.map +0 -1
  219. package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts +0 -2
  220. package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts.map +0 -1
  221. package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js +0 -10
  222. package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js.map +0 -1
  223. package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts +0 -2
  224. package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts.map +0 -1
  225. package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js +0 -11
  226. package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js.map +0 -1
  227. package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts +0 -8
  228. package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts.map +0 -1
  229. package/dist/components/features/WorkspaceGrid/WorkspacesRow.js +0 -18
  230. package/dist/components/features/WorkspaceGrid/WorkspacesRow.js.map +0 -1
  231. package/dist/components/features/WorkspaceList/WorkspaceList.d.ts +0 -2
  232. package/dist/components/features/WorkspaceList/WorkspaceList.d.ts.map +0 -1
  233. package/dist/components/features/WorkspaceList/WorkspaceList.js +0 -10
  234. package/dist/components/features/WorkspaceList/WorkspaceList.js.map +0 -1
  235. package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts +0 -8
  236. package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts.map +0 -1
  237. package/dist/components/features/WorkspaceList/WorkspacesRow.js +0 -15
  238. package/dist/components/features/WorkspaceList/WorkspacesRow.js.map +0 -1
  239. package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts +0 -4
  240. package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts.map +0 -1
  241. package/dist/components/features/WorkspaceList/responsiveColumnWidths.js +0 -11
  242. package/dist/components/features/WorkspaceList/responsiveColumnWidths.js.map +0 -1
  243. package/dist/components/features/WorkspaceList/responsiveWidth.d.ts +0 -4
  244. package/dist/components/features/WorkspaceList/responsiveWidth.d.ts.map +0 -1
  245. package/dist/components/features/WorkspaceList/responsiveWidth.js +0 -11
  246. package/dist/components/features/WorkspaceList/responsiveWidth.js.map +0 -1
  247. package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts +0 -2
  248. package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts.map +0 -1
  249. package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js +0 -13
  250. package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js.map +0 -1
  251. package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts +0 -2
  252. package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts.map +0 -1
  253. package/dist/components/features/WorkspacesGrid/WorkspaceList.js +0 -10
  254. package/dist/components/features/WorkspacesGrid/WorkspaceList.js.map +0 -1
  255. package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts +0 -2
  256. package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts.map +0 -1
  257. package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js +0 -10
  258. package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js.map +0 -1
  259. package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts +0 -2
  260. package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts.map +0 -1
  261. package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js +0 -11
  262. package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js.map +0 -1
  263. package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts +0 -8
  264. package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts.map +0 -1
  265. package/dist/components/features/WorkspacesGrid/WorkspacesRow.js +0 -18
  266. package/dist/components/features/WorkspacesGrid/WorkspacesRow.js.map +0 -1
  267. package/dist/components/layouts/Footer/Footer.d.ts +0 -2
  268. package/dist/components/layouts/Footer/Footer.d.ts.map +0 -1
  269. package/dist/components/layouts/Footer/Footer.js +0 -7
  270. package/dist/components/layouts/Footer/Footer.js.map +0 -1
  271. package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts +0 -2
  272. package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts.map +0 -1
  273. package/dist/components/layouts/Header/WorkspaceCommands copy.js +0 -6
  274. package/dist/components/layouts/Header/WorkspaceCommands copy.js.map +0 -1
  275. package/dist/contexts/NavigationContext.d.ts +0 -27
  276. package/dist/contexts/NavigationContext.d.ts.map +0 -1
  277. package/dist/contexts/NavigationContext.js +0 -33
  278. package/dist/contexts/NavigationContext.js.map +0 -1
  279. package/dist/contexts/ProjectNavigationContext.d.ts +0 -20
  280. package/dist/contexts/ProjectNavigationContext.d.ts.map +0 -1
  281. package/dist/contexts/ProjectNavigationContext.js +0 -35
  282. package/dist/contexts/ProjectNavigationContext.js.map +0 -1
  283. package/dist/contexts/ResponsizeContext.d.ts +0 -14
  284. package/dist/contexts/ResponsizeContext.d.ts.map +0 -1
  285. package/dist/contexts/ResponsizeContext.js +0 -34
  286. package/dist/contexts/ResponsizeContext.js.map +0 -1
  287. package/dist/contexts/WorkspaceNavigationContext.d.ts +0 -29
  288. package/dist/contexts/WorkspaceNavigationContext.d.ts.map +0 -1
  289. package/dist/contexts/WorkspaceNavigationContext.js +0 -41
  290. package/dist/contexts/WorkspaceNavigationContext.js.map +0 -1
  291. package/dist/contexts/WorkspacesNavigationContext.d.ts +0 -29
  292. package/dist/contexts/WorkspacesNavigationContext.d.ts.map +0 -1
  293. package/dist/contexts/WorkspacesNavigationContext.js +0 -37
  294. package/dist/contexts/WorkspacesNavigationContext.js.map +0 -1
  295. package/dist/hooks/useDisovery.d.ts +0 -7
  296. package/dist/hooks/useDisovery.d.ts.map +0 -1
  297. package/dist/hooks/useDisovery.js +0 -38
  298. package/dist/hooks/useDisovery.js.map +0 -1
  299. package/dist/hooks/useGridNavigation.d.ts +0 -19
  300. package/dist/hooks/useGridNavigation.d.ts.map +0 -1
  301. package/dist/hooks/useGridNavigation.js +0 -52
  302. package/dist/hooks/useGridNavigation.js.map +0 -1
  303. package/dist/hooks/useNavigation.d.ts +0 -10
  304. package/dist/hooks/useNavigation.d.ts.map +0 -1
  305. package/dist/hooks/useNavigation.js +0 -43
  306. package/dist/hooks/useNavigation.js.map +0 -1
  307. package/dist/hooks/useNavigationMatrix.d.ts +0 -6
  308. package/dist/hooks/useNavigationMatrix.d.ts.map +0 -1
  309. package/dist/hooks/useNavigationMatrix.js +0 -34
  310. package/dist/hooks/useNavigationMatrix.js.map +0 -1
  311. package/dist/hooks/useRuntime.d.ts +0 -1
  312. package/dist/hooks/useRuntime.d.ts.map +0 -1
  313. package/dist/hooks/useRuntime.js +0 -2
  314. package/dist/hooks/useRuntime.js.map +0 -1
  315. package/dist/hooks/useWorkspaceNavigation.d.ts +0 -10
  316. package/dist/hooks/useWorkspaceNavigation.d.ts.map +0 -1
  317. package/dist/hooks/useWorkspaceNavigation.js +0 -31
  318. package/dist/hooks/useWorkspaceNavigation.js.map +0 -1
  319. package/dist/hooks/useWorkspaceQuickActionts.d.ts +0 -4
  320. package/dist/hooks/useWorkspaceQuickActionts.d.ts.map +0 -1
  321. package/dist/hooks/useWorkspaceQuickActionts.js +0 -28
  322. package/dist/hooks/useWorkspaceQuickActionts.js.map +0 -1
  323. package/dist/hooks/useWorkspacesGrid copy.d.ts +0 -10
  324. package/dist/hooks/useWorkspacesGrid copy.d.ts.map +0 -1
  325. package/dist/hooks/useWorkspacesGrid copy.js +0 -31
  326. package/dist/hooks/useWorkspacesGrid copy.js.map +0 -1
  327. package/dist/hooks/useWorkspacesGrid.d.ts +0 -11
  328. package/dist/hooks/useWorkspacesGrid.d.ts.map +0 -1
  329. package/dist/hooks/useWorkspacesGrid.js +0 -31
  330. package/dist/hooks/useWorkspacesGrid.js.map +0 -1
  331. package/dist/hooks/useWorkspacesNavigation.d.ts +0 -10
  332. package/dist/hooks/useWorkspacesNavigation.d.ts.map +0 -1
  333. package/dist/hooks/useWorkspacesNavigation.js +0 -31
  334. package/dist/hooks/useWorkspacesNavigation.js.map +0 -1
  335. package/dist/services/discovery/facets/biome-parser.d.ts +0 -3
  336. package/dist/services/discovery/facets/biome-parser.d.ts.map +0 -1
  337. package/dist/services/discovery/facets/biome-parser.js +0 -73
  338. package/dist/services/discovery/facets/biome-parser.js.map +0 -1
  339. package/dist/services/discovery/facets/composeParser.d.ts +0 -1
  340. package/dist/services/discovery/facets/composeParser.d.ts.map +0 -1
  341. package/dist/services/discovery/facets/composeParser.js +0 -2
  342. package/dist/services/discovery/facets/composeParser.js.map +0 -1
  343. package/dist/services/discovery/facets/makefileParser.d.ts +0 -1
  344. package/dist/services/discovery/facets/makefileParser.d.ts.map +0 -1
  345. package/dist/services/discovery/facets/makefileParser.js +0 -2
  346. package/dist/services/discovery/facets/makefileParser.js.map +0 -1
  347. package/dist/services/discovery/facets/manifest-parser.d.ts +0 -7
  348. package/dist/services/discovery/facets/manifest-parser.d.ts.map +0 -1
  349. package/dist/services/discovery/facets/manifest-parser.js +0 -43
  350. package/dist/services/discovery/facets/manifest-parser.js.map +0 -1
  351. package/dist/services/discovery/facets/manifestParser.d.ts +0 -1
  352. package/dist/services/discovery/facets/manifestParser.d.ts.map +0 -1
  353. package/dist/services/discovery/facets/manifestParser.js +0 -2
  354. package/dist/services/discovery/facets/manifestParser.js.map +0 -1
  355. package/dist/services/discovery/workspaceDiscovery.d.ts +0 -3
  356. package/dist/services/discovery/workspaceDiscovery.d.ts.map +0 -1
  357. package/dist/services/discovery/workspaceDiscovery.js +0 -17
  358. package/dist/services/discovery/workspaceDiscovery.js.map +0 -1
  359. package/dist/services/runtime/resolve-runtime-conflicts.d.ts +0 -15
  360. package/dist/services/runtime/resolve-runtime-conflicts.d.ts.map +0 -1
  361. package/dist/services/runtime/resolve-runtime-conflicts.js +0 -36
  362. package/dist/services/runtime/resolve-runtime-conflicts.js.map +0 -1
  363. package/dist/types/navigation.d.ts +0 -10
  364. package/dist/types/navigation.d.ts.map +0 -1
  365. package/dist/types/navigation.js +0 -59
  366. package/dist/types/navigation.js.map +0 -1
  367. package/dist/types/projects-grid.d.ts +0 -32
  368. package/dist/types/projects-grid.d.ts.map +0 -1
  369. package/dist/types/projects-grid.js +0 -2
  370. package/dist/types/projects-grid.js.map +0 -1
  371. package/dist/types/quick-actions.d.ts +0 -7
  372. package/dist/types/quick-actions.d.ts.map +0 -1
  373. package/dist/types/quick-actions.js +0 -2
  374. package/dist/types/quick-actions.js.map +0 -1
  375. package/dist/types/runtime.d.ts +0 -16
  376. package/dist/types/runtime.d.ts.map +0 -1
  377. package/dist/types/runtime.js +0 -2
  378. package/dist/types/runtime.js.map +0 -1
  379. package/dist/types/workpace-grid.d.ts +0 -32
  380. package/dist/types/workpace-grid.d.ts.map +0 -1
  381. package/dist/types/workpace-grid.js +0 -2
  382. package/dist/types/workpace-grid.js.map +0 -1
  383. package/dist/types/workspace-navigation.d.ts +0 -37
  384. package/dist/types/workspace-navigation.d.ts.map +0 -1
  385. package/dist/types/workspace-navigation.js +0 -7
  386. package/dist/types/workspace-navigation.js.map +0 -1
  387. package/dist/types/workspaces-grid copy.d.ts +0 -37
  388. package/dist/types/workspaces-grid copy.d.ts.map +0 -1
  389. package/dist/types/workspaces-grid copy.js +0 -7
  390. package/dist/types/workspaces-grid copy.js.map +0 -1
  391. package/dist/types/workspaces-grid.d.ts +0 -37
  392. package/dist/types/workspaces-grid.d.ts.map +0 -1
  393. package/dist/types/workspaces-grid.js +0 -7
  394. package/dist/types/workspaces-grid.js.map +0 -1
  395. package/dist/types/worspace-state.d.ts +0 -19
  396. package/dist/types/worspace-state.d.ts.map +0 -1
  397. package/dist/types/worspace-state.js +0 -2
  398. package/dist/types/worspace-state.js.map +0 -1
  399. package/dist/utils/framework-detector.d.ts +0 -7
  400. package/dist/utils/framework-detector.d.ts.map +0 -1
  401. package/dist/utils/framework-detector.js +0 -111
  402. package/dist/utils/framework-detector.js.map +0 -1
  403. package/dist/utils/fs/scanner.d.ts +0 -6
  404. package/dist/utils/fs/scanner.d.ts.map +0 -1
  405. package/dist/utils/fs/scanner.js +0 -32
  406. package/dist/utils/fs/scanner.js.map +0 -1
  407. package/dist/utils/getPackageVersion.d.ts +0 -2
  408. package/dist/utils/getPackageVersion.d.ts.map +0 -1
  409. package/dist/utils/getPackageVersion.js +0 -6
  410. package/dist/utils/getPackageVersion.js.map +0 -1
  411. package/dist/utils/logger.d.ts +0 -14
  412. package/dist/utils/logger.d.ts.map +0 -1
  413. package/dist/utils/logger.js +0 -99
  414. package/dist/utils/logger.js.map +0 -1
  415. package/dist/utils/navigation-helper.d.ts +0 -9
  416. package/dist/utils/navigation-helper.d.ts.map +0 -1
  417. package/dist/utils/navigation-helper.js +0 -53
  418. package/dist/utils/navigation-helper.js.map +0 -1
  419. package/dist/utils/package-json.d.ts +0 -2
  420. package/dist/utils/package-json.d.ts.map +0 -1
  421. package/dist/utils/package-json.js +0 -11
  422. package/dist/utils/package-json.js.map +0 -1
  423. package/dist/utils/port.d.ts +0 -6
  424. package/dist/utils/port.d.ts.map +0 -1
  425. package/dist/utils/port.js +0 -24
  426. package/dist/utils/port.js.map +0 -1
  427. package/dist/utils/project/workspace-grid.d.ts +0 -17
  428. package/dist/utils/project/workspace-grid.d.ts.map +0 -1
  429. package/dist/utils/project/workspace-grid.js +0 -121
  430. package/dist/utils/project/workspace-grid.js.map +0 -1
  431. package/dist/utils/workpace/workspace-grid.d.ts +0 -17
  432. package/dist/utils/workpace/workspace-grid.d.ts.map +0 -1
  433. package/dist/utils/workpace/workspace-grid.js +0 -121
  434. package/dist/utils/workpace/workspace-grid.js.map +0 -1
  435. package/dist/utils/workpace/workspace-helper.d.ts +0 -7
  436. package/dist/utils/workpace/workspace-helper.d.ts.map +0 -1
  437. package/dist/utils/workpace/workspace-helper.js +0 -10
  438. package/dist/utils/workpace/workspace-helper.js.map +0 -1
  439. package/dist/utils/workpace/workspace-navigation.d.ts +0 -17
  440. package/dist/utils/workpace/workspace-navigation.d.ts.map +0 -1
  441. package/dist/utils/workpace/workspace-navigation.js +0 -123
  442. package/dist/utils/workpace/workspace-navigation.js.map +0 -1
  443. package/dist/utils/workpace/workspaces-grid copy.d.ts +0 -30
  444. package/dist/utils/workpace/workspaces-grid copy.d.ts.map +0 -1
  445. package/dist/utils/workpace/workspaces-grid copy.js +0 -97
  446. package/dist/utils/workpace/workspaces-grid copy.js.map +0 -1
  447. package/dist/utils/workpace/workspaces-grid.d.ts +0 -22
  448. package/dist/utils/workpace/workspaces-grid.d.ts.map +0 -1
  449. package/dist/utils/workpace/workspaces-grid.js +0 -123
  450. package/dist/utils/workpace/workspaces-grid.js.map +0 -1
  451. package/dist/utils/workpace/worspace-state.d.ts +0 -18
  452. package/dist/utils/workpace/worspace-state.d.ts.map +0 -1
  453. package/dist/utils/workpace/worspace-state.js +0 -2
  454. package/dist/utils/workpace/worspace-state.js.map +0 -1
  455. package/dist/utils/workspace/workspaces-grid.d.ts +0 -22
  456. package/dist/utils/workspace/workspaces-grid.d.ts.map +0 -1
  457. package/dist/utils/workspace/workspaces-grid.js +0 -123
  458. package/dist/utils/workspace/workspaces-grid.js.map +0 -1
  459. package/dist/utils/workspace-helper.d.ts +0 -10
  460. package/dist/utils/workspace-helper.d.ts.map +0 -1
  461. package/dist/utils/workspace-helper.js +0 -46
  462. package/dist/utils/workspace-helper.js.map +0 -1
  463. package/dist/utils/workspace-navigation.d.ts +0 -1
  464. package/dist/utils/workspace-navigation.d.ts.map +0 -1
  465. package/dist/utils/workspace-navigation.js +0 -2
  466. package/dist/utils/workspace-navigation.js.map +0 -1
  467. package/src/utils/navigation/grid-navigation.ts +0 -60
@@ -0,0 +1,79 @@
1
+ import { z } from "zod";
2
+ const facetQuickActionSchema = z.object({
3
+ facetPath: z.string(),
4
+ name: z.string(),
5
+ command: z.string(),
6
+ exec: z.string(),
7
+ order: z.number().optional(),
8
+ });
9
+ const workspaceQuickActionSchema = z.object({
10
+ workspacePath: z.string(),
11
+ facets: z.array(facetQuickActionSchema),
12
+ });
13
+ const discoverySchema = z
14
+ .object({
15
+ maxDepth: z.number().int().nonnegative().optional(),
16
+ ignore: z.array(z.string()).optional(),
17
+ folders: z
18
+ .object({
19
+ app: z.array(z.string()).optional(),
20
+ package: z.array(z.string()).optional(),
21
+ infra: z.array(z.string()).optional(),
22
+ contract: z.array(z.string()).optional(),
23
+ })
24
+ .optional(),
25
+ scripts: z
26
+ .object({
27
+ include: z.array(z.string()).optional(),
28
+ exclude: z.array(z.string()).optional(),
29
+ })
30
+ .optional(),
31
+ env: z
32
+ .object({
33
+ files: z.array(z.string()).optional(),
34
+ portKeys: z.array(z.string()).optional(),
35
+ })
36
+ .optional(),
37
+ order: z.array(z.string()).optional(),
38
+ makefile: z
39
+ .object({
40
+ showDefault: z.boolean().optional(),
41
+ })
42
+ .optional(),
43
+ })
44
+ .optional();
45
+ const executionSchema = z
46
+ .object({
47
+ useTmux: z.boolean().optional(),
48
+ })
49
+ .optional();
50
+ const loggingSchema = z
51
+ .object({
52
+ level: z.enum(["debug", "info", "warn", "error"]).optional(),
53
+ file: z.boolean().optional(),
54
+ logDir: z.string().optional(),
55
+ prettyPrint: z.boolean().optional(),
56
+ truncateOnStart: z.boolean().optional(),
57
+ })
58
+ .optional();
59
+ export const configSchema = z.object({
60
+ discovery: discoverySchema,
61
+ quickActions: z.array(workspaceQuickActionSchema),
62
+ execution: executionSchema,
63
+ logging: loggingSchema,
64
+ theme: z.literal("dark").optional(),
65
+ });
66
+ export function validateConfig(config) {
67
+ const result = configSchema.safeParse(config);
68
+ if (result.success) {
69
+ return result.data;
70
+ }
71
+ const details = result.error.issues
72
+ .map((issue) => {
73
+ const path = issue.path.length > 0 ? issue.path.join(".") : "root";
74
+ return `${path}: ${issue.message}`;
75
+ })
76
+ .join("; ");
77
+ throw new Error(`Invalid monotui config: ${details}`);
78
+ }
79
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { Page } from "../types/page.js";
3
- import type { Project } from "../types/project.js";
4
3
  import type { ProjectGridGrid } from "../types/project-grid.js";
4
+ import type { Project } from "../types/workspace.js";
5
5
  interface ProjectGridContextType {
6
6
  project?: Project;
7
7
  workspaceNavigationGrid: ProjectGridGrid;
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGridContext.d.ts","sourceRoot":"","sources":["../../src/contexts/ProjectGridContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAA;AASxE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAM/D,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,EAAE,eAAe,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,kBAAkB,iDAE9B,CAAA;AAQD,UAAU,wBAAwB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAC9C;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,GACX,EAAE,wBAAwB,2CA6C1B"}
1
+ {"version":3,"file":"ProjectGridContext.d.ts","sourceRoot":"","sources":["../../src/contexts/ProjectGridContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAA;AASxE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAMpD,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,EAAE,eAAe,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,kBAAkB,iDAE9B,CAAA;AAQD,UAAU,wBAAwB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAC9C;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,GACX,EAAE,wBAAwB,2CA6C1B"}
@@ -1,8 +1,8 @@
1
1
  import { type ReactNode } from "react";
2
- import type { Project } from "../types/project.js";
2
+ import type { Project, Workspace } from "../types/workspace.js";
3
3
  import type { WorkspaceRuntimeState } from "../types/workspace-runtime.js";
4
4
  interface WorkspaceDiscoveryContextType {
5
- projects: Project[];
5
+ workspace: Workspace | null;
6
6
  workspaceRuntimes: WorkspaceRuntimeState[];
7
7
  project: Project | null;
8
8
  setProject: (project: Project | null) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceDiscoveryContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorkspaceDiscoveryContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,UAAU,6BAA6B;IACrC,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;IAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAC9C;AAED,eAAO,MAAM,yBAAyB,wDAGnC,CAAA;AAOH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;CACpB,2CAWA"}
1
+ {"version":3,"file":"WorkspaceDiscoveryContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorkspaceDiscoveryContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,UAAU,6BAA6B;IACrC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;IAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CAC9C;AAED,eAAO,MAAM,yBAAyB,wDAGnC,CAAA;AAOH,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;CACpB,2CAWA"}
@@ -7,8 +7,8 @@ const Provider = WorkspaceDiscoveryContext;
7
7
  export function WorkspaceDiscoveryProvider({ children, }) {
8
8
  const [project, setProject] = useState(null);
9
9
  const rootPath = useMemo(() => process.cwd(), []);
10
- const { projects } = useWorkspaceDiscovery(rootPath);
11
- const workspaceRuntimes = useWorkspaceRuntime(projects);
12
- return (_jsx(Provider, { value: { projects, workspaceRuntimes, project, setProject }, children: children }));
10
+ const { workspace } = useWorkspaceDiscovery(rootPath);
11
+ const workspaceRuntimes = useWorkspaceRuntime(workspace?.projects || []);
12
+ return (_jsx(Provider, { value: { workspace, workspaceRuntimes, project, setProject }, children: children }));
13
13
  }
14
14
  //# sourceMappingURL=WorkspaceDiscoveryContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceDiscoveryContext.js","sourceRoot":"","sources":["../../src/contexts/WorkspaceDiscoveryContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAGb,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAWrE,MAAM,CAAC,MAAM,yBAAyB,GACpC,aAAa,CACX,EAAmC,CACpC,CAAA;AAEH,MAAM,QAAQ,GAAG,yBAGA,CAAA;AAEjB,MAAM,UAAU,0BAA0B,CAAC,EACzC,QAAQ,GAGT;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAEvD,OAAO,CACL,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,YAClE,QAAQ,GACA,CACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"WorkspaceDiscoveryContext.js","sourceRoot":"","sources":["../../src/contexts/WorkspaceDiscoveryContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EAGb,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAWrE,MAAM,CAAC,MAAM,yBAAyB,GACpC,aAAa,CACX,EAAmC,CACpC,CAAA;AAEH,MAAM,QAAQ,GAAG,yBAGA,CAAA;AAEjB,MAAM,UAAU,0BAA0B,CAAC,EACzC,QAAQ,GAGT;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;IAExE,OAAO,CACL,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,YACnE,QAAQ,GACA,CACZ,CAAA;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { Page } from "../types/page.js";
3
- import type { Project } from "../types/project.js";
3
+ import type { Project } from "../types/workspace.js";
4
4
  import type { CursorPosition } from "../types/workspace-grid.js";
5
5
  import type { WorkspaceQuickAction } from "../types/workspace-quick-actions.js";
6
6
  import type { WorkspaceRuntimeState } from "../types/workspace-runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceGridContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorkspaceGridContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAA;AAOxE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EACL,mBAAmB,EAEpB,MAAM,sCAAsC,CAAA;AAE7C,UAAU,wBAAwB;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC9C,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC3C,wBAAwB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAChE,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,oBAAoB,mDAEhC,CAAA;AAQD,UAAU,iCAAiC;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC9C,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;IAC1C,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;CACtD;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,UAAU,EACV,gBAAgB,GACjB,EAAE,iCAAiC,2CAuDnC"}
1
+ {"version":3,"file":"WorkspaceGridContext.d.ts","sourceRoot":"","sources":["../../src/contexts/WorkspaceGridContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAW,MAAM,OAAO,CAAA;AAOxE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EACL,mBAAmB,EAEpB,MAAM,sCAAsC,CAAA;AAE7C,UAAU,wBAAwB;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC9C,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC3C,wBAAwB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAChE,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,oBAAoB,mDAEhC,CAAA;AAQD,UAAU,iCAAiC;IACzC,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAC9C,iBAAiB,EAAE,qBAAqB,EAAE,CAAA;IAC1C,eAAe,CAAC,EAAE,cAAc,CAAA;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;CACtD;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,UAAU,EACV,gBAAgB,GACjB,EAAE,iCAAiC,2CAuDnC"}
@@ -19,7 +19,7 @@ export function WorkspacesNavigationProvider({ children, projects, workspaceQuic
19
19
  onPositionChange?.({ row: newRow, col: newCol });
20
20
  if (selectedCell?.type === "workspace") {
21
21
  setPage(Page.Project);
22
- setProject(selectedCell.workspace);
22
+ setProject(selectedCell.project);
23
23
  }
24
24
  else if (selectedCell?.type === "quickAction") {
25
25
  const workspace = projects[newRow];
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceGridContext.js","sourceRoot":"","sources":["../../src/contexts/WorkspaceGridContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAA4B,OAAO,EAAE,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAKvC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,sCAAsC,CAAA;AAW7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,EAA8B,CAC/B,CAAA;AAED,6BAA6B;AAC7B,MAAM,QAAQ,GAAG,oBAGA,CAAA;AAajB,MAAM,UAAU,4BAA4B,CAAC,EAC3C,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,UAAU,EACV,gBAAgB,GACkB;IAClC,MAAM,wBAAwB,GAAG,OAAO,CACtC,GAAG,EAAE,CACH,mBAAmB,CACjB,QAAQ,EACR,qBAAqB,IAAI,EAAE,EAC3B,iBAAiB,CAClB,EACH,CAAC,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CACrD,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACpC,IAAI,EAAE,wBAAwB;QAC9B,eAAe;QACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,YAAY,GAAG,0BAA0B,CAC7C,wBAAwB,EACxB,MAAM,EACN,MAAM,CACP,CAAA;YAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,SAAS,MAAM,EAAE,CAAC,CAAA;YAC/D,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;YAEhD,IAAI,YAAY,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrB,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YACpC,CAAC;iBAAM,IAAI,YAAY,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAClC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC/D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;gBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE;YACL,QAAQ;YACR,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,YAEA,QAAQ,GACA,CACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"WorkspaceGridContext.js","sourceRoot":"","sources":["../../src/contexts/WorkspaceGridContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAA4B,OAAO,EAAE,MAAM,OAAO,CAAA;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAKvC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,sCAAsC,CAAA;AAW7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAC/C,EAA8B,CAC/B,CAAA;AAED,6BAA6B;AAC7B,MAAM,QAAQ,GAAG,oBAGA,CAAA;AAajB,MAAM,UAAU,4BAA4B,CAAC,EAC3C,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,UAAU,EACV,gBAAgB,GACkB;IAClC,MAAM,wBAAwB,GAAG,OAAO,CACtC,GAAG,EAAE,CACH,mBAAmB,CACjB,QAAQ,EACR,qBAAqB,IAAI,EAAE,EAC3B,iBAAiB,CAClB,EACH,CAAC,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CACrD,CAAA;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACpC,IAAI,EAAE,wBAAwB;QAC9B,eAAe;QACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,YAAY,GAAG,0BAA0B,CAC7C,wBAAwB,EACxB,MAAM,EACN,MAAM,CACP,CAAA;YAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,MAAM,SAAS,MAAM,EAAE,CAAC,CAAA;YAC/D,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;YAEhD,IAAI,YAAY,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrB,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC;iBAAM,IAAI,YAAY,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAClC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC/D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;gBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE;YACL,QAAQ;YACR,qBAAqB;YACrB,iBAAiB;YACjB,wBAAwB;YACxB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;SAClB,YAEA,QAAQ,GACA,CACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ type IntervalCallback = () => void;
2
+ type UseIntervalDelay = number | null;
3
+ export declare function useInterval(callback: IntervalCallback, delay: UseIntervalDelay): void;
4
+ export {};
5
+ //# sourceMappingURL=useInterval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInterval.d.ts","sourceRoot":"","sources":["../../src/hooks/useInterval.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GAAG,MAAM,IAAI,CAAA;AAElC,KAAK,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAA;AAErC,wBAAgB,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,gBAAgB,QAqBxB"}
@@ -0,0 +1,19 @@
1
+ import { useEffect, useRef } from "react";
2
+ export function useInterval(callback, delay) {
3
+ const savedCallback = useRef(callback);
4
+ useEffect(() => {
5
+ savedCallback.current = callback;
6
+ }, [callback]);
7
+ useEffect(() => {
8
+ if (delay === null || delay <= 0) {
9
+ return;
10
+ }
11
+ const intervalId = setInterval(() => {
12
+ savedCallback.current();
13
+ }, delay);
14
+ return () => {
15
+ clearInterval(intervalId);
16
+ };
17
+ }, [delay]);
18
+ }
19
+ //# sourceMappingURL=useInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInterval.js","sourceRoot":"","sources":["../../src/hooks/useInterval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAMzC,MAAM,UAAU,WAAW,CACzB,QAA0B,EAC1B,KAAuB;IAEvB,MAAM,aAAa,GAAG,MAAM,CAAmB,QAAQ,CAAC,CAAA;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAA;IAClC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,aAAa,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AACb,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { Project } from "../types/project.js";
1
+ import type { Workspace } from "../types/workspace.js";
2
2
  interface UseWorkspaceDiscoveryOptions {
3
3
  refreshIntervalMs?: number;
4
4
  }
5
- export declare function useWorkspaceDiscovery(rootPath: string, options?: UseWorkspaceDiscoveryOptions): {
5
+ export declare function useWorkspaceDiscovery(rootPath: string, _options?: UseWorkspaceDiscoveryOptions): {
6
6
  loading: boolean;
7
- projects: Project[];
7
+ workspace: Workspace | null;
8
8
  error: Error | null;
9
9
  };
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceDiscovery.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceDiscovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,UAAU,4BAA4B;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,4BAA4B;;;;EAgDvC"}
1
+ {"version":3,"file":"useWorkspaceDiscovery.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceDiscovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,UAAU,4BAA4B;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,4BAA4B,GACtC;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB,CA0CA"}
@@ -1,11 +1,10 @@
1
1
  import { useEffect, useState } from "react";
2
- import { discoverWorkspaces } from "../services/discovery/workspace-discovery.js";
2
+ import { workspaceDiscovery } from "../services/discovery/workspace-discovery.js";
3
3
  import { logger } from "../utils/logging/logger.js";
4
- export function useWorkspaceDiscovery(rootPath, options) {
4
+ export function useWorkspaceDiscovery(rootPath, _options) {
5
5
  const [loading, setLoading] = useState(true);
6
- const [projects, setProjects] = useState([]);
6
+ const [workspace, setWorkspace] = useState(null);
7
7
  const [error, setError] = useState(null);
8
- const refreshIntervalMs = options?.refreshIntervalMs ?? 0;
9
8
  useEffect(() => {
10
9
  let cancelled = false;
11
10
  let pending = false;
@@ -17,11 +16,11 @@ export function useWorkspaceDiscovery(rootPath, options) {
17
16
  setLoading(true);
18
17
  setError(null);
19
18
  try {
20
- const result = await discoverWorkspaces(rootPath);
19
+ const workspace = await workspaceDiscovery(rootPath);
21
20
  logger.debug(rootPath, "discovered workspaces");
22
21
  if (!cancelled) {
23
- setProjects(result);
24
- logger.debug(`Workspace discovery result count: ${result.length}`);
22
+ setWorkspace(workspace);
23
+ logger.debug(`Workspace discovery result count: ${workspace.projects.length}`);
25
24
  }
26
25
  }
27
26
  catch (err) {
@@ -35,14 +34,10 @@ export function useWorkspaceDiscovery(rootPath, options) {
35
34
  }
36
35
  }
37
36
  load();
38
- const intervalId = refreshIntervalMs > 0 ? setInterval(load, refreshIntervalMs) : null;
39
37
  return () => {
40
38
  cancelled = true;
41
- if (intervalId) {
42
- clearInterval(intervalId);
43
- }
44
39
  };
45
- }, [rootPath, refreshIntervalMs]);
46
- return { loading, projects, error };
40
+ }, [rootPath]);
41
+ return { loading, workspace, error };
47
42
  }
48
43
  //# sourceMappingURL=useWorkspaceDiscovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceDiscovery.js","sourceRoot":"","sources":["../../src/hooks/useWorkspaceDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMnD,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,OAAsC;IAEtC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAA;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;IACtD,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,KAAK,UAAU,IAAI;YACjB,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC;YAED,OAAO,GAAG,IAAI,CAAA;YACd,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;gBACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAA;gBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,WAAW,CAAC,MAAM,CAAC,CAAA;oBACnB,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS;oBAAE,QAAQ,CAAC,GAAY,CAAC,CAAA;YACxC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjC,OAAO,GAAG,KAAK,CAAA;YACjB,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAA;QAEN,MAAM,UAAU,GACd,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAErE,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAEjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"useWorkspaceDiscovery.js","sourceRoot":"","sources":["../../src/hooks/useWorkspaceDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AAEjF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMnD,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,QAAuC;IAMvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAA;IAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,KAAK,UAAU,IAAI;YACjB,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC;YAED,OAAO,GAAG,IAAI,CAAA;YACd,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAA;gBACpD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAA;gBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,MAAM,CAAC,KAAK,CACV,qCAAqC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CACjE,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS;oBAAE,QAAQ,CAAC,GAAY,CAAC,CAAA;YACxC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjC,OAAO,GAAG,KAAK,CAAA;YACjB,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAA;QAEN,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AACtC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Project } from "../types/project.js";
1
+ import type { Project } from "../types/workspace.js";
2
2
  import type { WorkspaceQuickAction } from "../types/workspace-quick-actions.js";
3
3
  export declare function useWorkspaceQuickActions(projects: Project[]): WorkspaceQuickAction[];
4
4
  //# sourceMappingURL=useWorkspaceQuickActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceQuickActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceQuickActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,qCAAqC,CAAA;AAG5C,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,0BA0G3D"}
1
+ {"version":3,"file":"useWorkspaceQuickActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceQuickActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,qCAAqC,CAAA;AAG5C,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,0BA0G3D"}
@@ -1,4 +1,4 @@
1
- import type { Project } from "../types/project.js";
1
+ import type { Project } from "../types/workspace.js";
2
2
  import type { WorkspaceRuntimeState } from "../types/workspace-runtime.js";
3
3
  export declare function useWorkspaceRuntime(projects: Project[]): WorkspaceRuntimeState[];
4
4
  //# sourceMappingURL=useWorkspaceRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceRuntime.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceRuntime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAmC1E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,2BAkDtD"}
1
+ {"version":3,"file":"useWorkspaceRuntime.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorkspaceRuntime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AA+E1E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,2BA8CtD"}
@@ -26,6 +26,30 @@ function mergeTransientStatuses(previous, next) {
26
26
  }),
27
27
  }));
28
28
  }
29
+ function areRuntimeStatesEqual(left, right) {
30
+ if (left.length !== right.length) {
31
+ return false;
32
+ }
33
+ for (let workspaceIndex = 0; workspaceIndex < left.length; workspaceIndex += 1) {
34
+ const leftWorkspace = left[workspaceIndex];
35
+ const rightWorkspace = right[workspaceIndex];
36
+ if (leftWorkspace.workspacePath !== rightWorkspace.workspacePath) {
37
+ return false;
38
+ }
39
+ if (leftWorkspace.runStates.length !== rightWorkspace.runStates.length) {
40
+ return false;
41
+ }
42
+ for (let stateIndex = 0; stateIndex < leftWorkspace.runStates.length; stateIndex += 1) {
43
+ const leftState = leftWorkspace.runStates[stateIndex];
44
+ const rightState = rightWorkspace.runStates[stateIndex];
45
+ if (leftState.id !== rightState.id ||
46
+ leftState.status !== rightState.status) {
47
+ return false;
48
+ }
49
+ }
50
+ }
51
+ return true;
52
+ }
29
53
  export function useWorkspaceRuntime(projects) {
30
54
  const [runtimeStates, setRuntimeStates] = useState([]);
31
55
  useEffect(() => {
@@ -35,10 +59,6 @@ export function useWorkspaceRuntime(projects) {
35
59
  for (const project of projects) {
36
60
  const scripts = project.facets.packageJson?.scripts ?? [];
37
61
  const services = project.facets.compose?.services ?? [];
38
- // const [nodeStates, dockerStates] = await Promise.all([
39
- // getNodeRunStates(project.absolutePath, project.path, scripts),
40
- // getDockerRunStates(project.path, services),
41
- // ])
42
62
  const nodeStates = await getNodeRunStates(project.absolutePath, project.path, scripts);
43
63
  const dockerStates = await getDockerRunStates(project.path, services);
44
64
  // Resolve conflicts between node and docker run states
@@ -48,15 +68,17 @@ export function useWorkspaceRuntime(projects) {
48
68
  runStates: [...resolvedNodeStates, ...resolvedDockerStates],
49
69
  });
50
70
  }
51
- if (!cancelled) {
52
- setRuntimeStates((previous) => mergeTransientStatuses(previous, results));
71
+ if (cancelled) {
72
+ return;
53
73
  }
74
+ setRuntimeStates((previous) => {
75
+ const merged = mergeTransientStatuses(previous, results);
76
+ return areRuntimeStatesEqual(previous, merged) ? previous : merged;
77
+ });
54
78
  }
55
79
  fetchStatus();
56
- const interval = setInterval(fetchStatus, 5000);
57
80
  return () => {
58
81
  cancelled = true;
59
- clearInterval(interval);
60
82
  };
61
83
  }, [projects]);
62
84
  logger.debug(runtimeStates, "Runtime States");
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceRuntime.js","sourceRoot":"","sources":["../../src/hooks/useWorkspaceRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWorkspaceRuntime.js","sourceRoot":"","sources":["../../src/hooks/useWorkspaceRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ComposeFacet } from "../../../types/project.js";
1
+ import type { ComposeFacet } from "../../../types/workspace.js";
2
2
  /**
3
3
  * Extract and resolve host ports from a compose service's port mappings.
4
4
  * Resolves env variables (${VAR}, ${VAR:-default}, $VAR) using the
@@ -1 +1 @@
1
- {"version":3,"file":"compose-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/compose-parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AA+F7D;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,SAAS,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA8F9B"}
1
+ {"version":3,"file":"compose-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/compose-parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AA+F/D;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,SAAS,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA8F9B"}
@@ -1,4 +1,4 @@
1
- import type { MakefileFacet } from "../../../types/project.js";
1
+ import type { MakefileFacet } from "../../../types/workspace.js";
2
2
  export interface MakefileParseOptions {
3
3
  include?: string[];
4
4
  exclude?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"makefile-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/makefile-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAI9D,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAyD/B"}
1
+ {"version":3,"file":"makefile-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/makefile-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAyD/B"}
@@ -1,4 +1,4 @@
1
- import type { PackageJsonFacet } from "../../../types/project.js";
1
+ import type { PackageJsonFacet } from "../../../types/workspace.js";
2
2
  export interface ManifestParseOptions {
3
3
  include?: string[];
4
4
  exclude?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"package-json-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/package-json-parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,2BAA2B,CAAA;AAIlC,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA+BlC"}
1
+ {"version":3,"file":"package-json-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/discovery/facets/package-json-parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,6BAA6B,CAAA;AAIpC,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA+BlC"}
@@ -1,4 +1,4 @@
1
- import type { Project } from "../../types/project";
2
- export declare function discoverWorkspaces(rootPath: string): Promise<Project[]>;
3
- export declare function orderWorkspaces(workspaces: Project[], order: string[]): Project[];
1
+ import type { Project, Workspace } from "../../types/workspace.js";
2
+ export declare function workspaceDiscovery(rootPath: string): Promise<Workspace>;
3
+ export declare function orderProjects(workspaces: Project[], order: string[]): Project[];
4
4
  //# sourceMappingURL=workspace-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-discovery.d.ts","sourceRoot":"","sources":["../../../src/services/discovery/workspace-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAA;AAO/D,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA0C7E;AAyCD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,EAAE,EACrB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,EAAE,CAQX"}
1
+ {"version":3,"file":"workspace-discovery.d.ts","sourceRoot":"","sources":["../../../src/services/discovery/workspace-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAe,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAO/E,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAoD7E;AAyCD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,OAAO,EAAE,EACrB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,EAAE,CAQX"}
@@ -5,24 +5,27 @@ import { logger } from "../../utils/logging/logger.js";
5
5
  import { parseDockerCompose } from "./facets/compose-parser.js";
6
6
  import { parseMakefile } from "./facets/makefile-parser.js";
7
7
  import { parsePackageJson } from "./facets/package-json-parser.js";
8
- export async function discoverWorkspaces(rootPath) {
8
+ export async function workspaceDiscovery(rootPath) {
9
9
  const config = getConfig();
10
10
  const directories = await scanDirectories(rootPath, {
11
11
  maxDepth: 4,
12
12
  ignore: config.discovery?.ignore || [],
13
13
  });
14
14
  logger.debug(directories, "Scanned Directories");
15
- const workspaces = [];
15
+ const projects = [];
16
16
  for (const dir of directories) {
17
17
  const packageFacet = await parsePackageJson(dir);
18
18
  const composeFacet = await parseDockerCompose(dir);
19
19
  const makefileFacet = await parseMakefile(dir);
20
+ // packageFacet?.name || composeFacet?.name || makefileFacet?.name || ""
21
+ const name = packageFacet?.name || basename(dir);
20
22
  if (packageFacet || composeFacet || makefileFacet) {
21
23
  const relPath = dir.startsWith(rootPath)
22
24
  ? dir.slice(rootPath.length).replace(/^\/+/, "")
23
25
  : dir;
24
26
  const type = await determineProjectType(relPath);
25
- const workspace = {
27
+ const project = {
28
+ name,
26
29
  type,
27
30
  folder: basename(dir),
28
31
  path: relPath || ".",
@@ -33,11 +36,18 @@ export async function discoverWorkspaces(rootPath) {
33
36
  makefile: makefileFacet || undefined,
34
37
  },
35
38
  };
36
- workspaces.push(workspace);
39
+ projects.push(project);
37
40
  }
38
41
  }
39
- const orderedWorkspaces = orderWorkspaces(workspaces, config.discovery?.order || []);
40
- return orderedWorkspaces;
42
+ const orderedProjects = orderProjects(projects, config.discovery?.order || []);
43
+ const rootPackageName = projects.find((project) => project.path === ".")
44
+ ?.facets.packageJson?.name;
45
+ const workspace = {
46
+ name: rootPackageName || basename(rootPath),
47
+ absolutePath: rootPath,
48
+ projects: orderedProjects,
49
+ };
50
+ return workspace;
41
51
  }
42
52
  /**
43
53
  * Determine the workspace type based on location and facets
@@ -74,7 +84,7 @@ async function determineProjectType(dir) {
74
84
  // 5. Default to 'app'
75
85
  return "app";
76
86
  }
77
- export function orderWorkspaces(workspaces, order) {
87
+ export function orderProjects(workspaces, order) {
78
88
  return workspaces
79
89
  .filter((w) => order.includes(w.type))
80
90
  .sort((a, b) => {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-discovery.js","sourceRoot":"","sources":["../../../src/services/discovery/workspace-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-discovery.js","sourceRoot":"","sources":["../../../src/services/discovery/workspace-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ComposeService } from "../../types/project";
1
+ import type { ComposeService } from "../../types/workspace.js";
2
2
  import type { RunState } from "../../types/workspace-runtime";
3
3
  /**
4
4
  * Build RunState[] for compose services.
@@ -1 +1 @@
1
- {"version":3,"file":"docker-runtime.d.ts","sourceRoot":"","sources":["../../../src/services/runtime/docker-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,+BAA+B,CAAA;AAyD5E;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+FrB"}
1
+ {"version":3,"file":"docker-runtime.d.ts","sourceRoot":"","sources":["../../../src/services/runtime/docker-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,+BAA+B,CAAA;AAyD5E;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+FrB"}
@@ -1,4 +1,4 @@
1
- import type { PackageJsonScript } from "../../types/project";
2
- import type { RunState } from "../../types/workspace-runtime";
1
+ import type { PackageJsonScript } from "../../types/workspace.js";
2
+ import type { RunState } from "../../types/workspace-runtime.js";
3
3
  export declare function getNodeRunStates(absolutePath: string, workspacePath: string, scripts: PackageJsonScript[]): Promise<RunState[]>;
4
4
  //# sourceMappingURL=node-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-runtime.d.ts","sourceRoot":"","sources":["../../../src/services/runtime/node-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAmL7D,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,iBAAiB,EAAE,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiErB"}
1
+ {"version":3,"file":"node-runtime.d.ts","sourceRoot":"","sources":["../../../src/services/runtime/node-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAmLhE,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,iBAAiB,EAAE,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiErB"}
@@ -18,7 +18,7 @@ const gridTheme = {
18
18
  color: "white",
19
19
  }),
20
20
  info: () => ({
21
- color: "cyan",
21
+ color: "white",
22
22
  }),
23
23
  workspaceName: () => ({
24
24
  color: "white",
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAI1E,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE;QACN,SAAS,EAAE,GAAa,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,MAAM;SACpB,CAAC;KACH;CACuB,CAAA;AAE1B,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,GAAc,EAAE,CAAC,CAAC;YACvB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,UAAU,EAAE,GAAc,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,EAAE,GAAc,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,EAAE,GAAc,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,aAAa,EAAE,GAAc,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,OAAO;SACf,CAAC;QACF,MAAM,EAAE,GAAc,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,KAAK,EAAE,GAAc,EAAE,CAAC,CAAC;YACvB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,MAAM,EAAE,GAAa,EAAE,CAAC,CAAC;YACvB,WAAW,EAAE,MAAM;SACpB,CAAC;QACF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAuB,EAAa,EAAE,CAAC,CAAC;YACxD,KAAK,EACH,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU;gBAC1C,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU;oBAC9C,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,OAAO;SAClB,CAAC;KACH;CACuB,CAAA;AAK1B,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;IACjD,UAAU,EAAE;QACV,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,SAAS;KACrB;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAwC;IAClD,IAAI,EAAE,SAAS;CAChB,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,SAAqB;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAI1E,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE;QACN,SAAS,EAAE,GAAa,EAAE,CAAC,CAAC;YAC1B,WAAW,EAAE,MAAM;SACpB,CAAC;KACH;CACuB,CAAA;AAE1B,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,GAAc,EAAE,CAAC,CAAC;YACvB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,UAAU,EAAE,GAAc,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,EAAE,GAAc,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,EAAE,GAAc,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,OAAO;SACf,CAAC;QACF,aAAa,EAAE,GAAc,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,OAAO;SACf,CAAC;QACF,MAAM,EAAE,GAAc,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,MAAM;SACd,CAAC;QACF,KAAK,EAAE,GAAc,EAAE,CAAC,CAAC;YACvB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,MAAM,EAAE,GAAa,EAAE,CAAC,CAAC;YACvB,WAAW,EAAE,MAAM;SACpB,CAAC;QACF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAuB,EAAa,EAAE,CAAC,CAAC;YACxD,KAAK,EACH,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU;gBAC1C,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU;oBAC9C,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,KAAK,SAAS;wBACpB,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,OAAO;SAClB,CAAC;KACH;CACuB,CAAA;AAK1B,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;IACjD,UAAU,EAAE;QACV,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,SAAS;KACrB;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAwC;IAClD,IAAI,EAAE,SAAS;CAChB,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,SAAqB;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAA;AACvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ComposeService, MakefileCommand, PackageJsonScript } from "./project.js";
1
+ import type { ComposeService, MakefileCommand, PackageJsonScript } from "./workspace.js";
2
2
  export type ProjectGridGrid = {
3
3
  packageJsonCells: PackageJsonCell[];
4
4
  composeCommandCells: ComposeCommandCell[];