jumbo-cli 3.6.1 → 3.7.2

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 (209) hide show
  1. package/dist/application/context/project/stats/GetProjectStatsQueryHandler.d.ts +9 -0
  2. package/dist/application/context/project/stats/GetProjectStatsQueryHandler.d.ts.map +1 -0
  3. package/dist/application/context/project/stats/GetProjectStatsQueryHandler.js +9 -0
  4. package/dist/application/context/project/stats/GetProjectStatsQueryHandler.js.map +1 -0
  5. package/dist/application/context/project/stats/IProjectStatsGateway.d.ts +6 -0
  6. package/dist/application/context/project/stats/IProjectStatsGateway.d.ts.map +1 -0
  7. package/dist/application/context/project/stats/IProjectStatsGateway.js +2 -0
  8. package/dist/application/context/project/stats/IProjectStatsGateway.js.map +1 -0
  9. package/dist/application/context/project/stats/IProjectStatsQuery.d.ts +5 -0
  10. package/dist/application/context/project/stats/IProjectStatsQuery.d.ts.map +1 -0
  11. package/dist/application/context/project/stats/IProjectStatsQuery.js +2 -0
  12. package/dist/application/context/project/stats/IProjectStatsQuery.js.map +1 -0
  13. package/dist/application/context/project/stats/LocalProjectStatsGateway.d.ts +10 -0
  14. package/dist/application/context/project/stats/LocalProjectStatsGateway.d.ts.map +1 -0
  15. package/dist/application/context/project/stats/LocalProjectStatsGateway.js +11 -0
  16. package/dist/application/context/project/stats/LocalProjectStatsGateway.js.map +1 -0
  17. package/dist/application/context/project/stats/ProjectStatsController.d.ts +9 -0
  18. package/dist/application/context/project/stats/ProjectStatsController.d.ts.map +1 -0
  19. package/dist/application/context/project/stats/ProjectStatsController.js +9 -0
  20. package/dist/application/context/project/stats/ProjectStatsController.js.map +1 -0
  21. package/dist/application/context/project/stats/ProjectStatsRequest.d.ts +4 -0
  22. package/dist/application/context/project/stats/ProjectStatsRequest.d.ts.map +1 -0
  23. package/dist/application/context/project/stats/ProjectStatsRequest.js +2 -0
  24. package/dist/application/context/project/stats/ProjectStatsRequest.js.map +1 -0
  25. package/dist/application/context/project/stats/ProjectStatsResponse.d.ts +5 -0
  26. package/dist/application/context/project/stats/ProjectStatsResponse.d.ts.map +1 -0
  27. package/dist/application/context/project/stats/ProjectStatsResponse.js +2 -0
  28. package/dist/application/context/project/stats/ProjectStatsResponse.js.map +1 -0
  29. package/dist/application/context/project/stats/ProjectStatsSnapshotView.d.ts +79 -0
  30. package/dist/application/context/project/stats/ProjectStatsSnapshotView.d.ts.map +1 -0
  31. package/dist/application/context/project/stats/ProjectStatsSnapshotView.js +2 -0
  32. package/dist/application/context/project/stats/ProjectStatsSnapshotView.js.map +1 -0
  33. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts +29 -1
  34. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts.map +1 -1
  35. package/dist/application/daemons/IWorkerDaemonProcessController.js +1 -1
  36. package/dist/application/daemons/IWorkerDaemonProcessController.js.map +1 -1
  37. package/dist/application/host/IApplicationContainer.d.ts +2 -0
  38. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  39. package/dist/infrastructure/context/project/stats/SqliteProjectStatsQuery.d.ts +12 -0
  40. package/dist/infrastructure/context/project/stats/SqliteProjectStatsQuery.d.ts.map +1 -0
  41. package/dist/infrastructure/context/project/stats/SqliteProjectStatsQuery.js +79 -0
  42. package/dist/infrastructure/context/project/stats/SqliteProjectStatsQuery.js.map +1 -0
  43. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +2 -2
  44. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -1
  45. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +52 -5
  46. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -1
  47. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  48. package/dist/infrastructure/host/HostBuilder.js +9 -0
  49. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  50. package/dist/presentation/cli/AppRunner.d.ts +1 -1
  51. package/dist/presentation/cli/AppRunner.d.ts.map +1 -1
  52. package/dist/presentation/cli/AppRunner.js +3 -1
  53. package/dist/presentation/cli/AppRunner.js.map +1 -1
  54. package/dist/presentation/cli/commands/project/stats/ProjectStatsOutputBuilder.d.ts +10 -0
  55. package/dist/presentation/cli/commands/project/stats/ProjectStatsOutputBuilder.d.ts.map +1 -0
  56. package/dist/presentation/cli/commands/project/stats/ProjectStatsOutputBuilder.js +55 -0
  57. package/dist/presentation/cli/commands/project/stats/ProjectStatsOutputBuilder.js.map +1 -0
  58. package/dist/presentation/cli/commands/project/stats/project.stats.d.ts +5 -0
  59. package/dist/presentation/cli/commands/project/stats/project.stats.d.ts.map +1 -0
  60. package/dist/presentation/cli/commands/project/stats/project.stats.js +44 -0
  61. package/dist/presentation/cli/commands/project/stats/project.stats.js.map +1 -0
  62. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  63. package/dist/presentation/cli/commands/registry/generated-commands.js +6 -0
  64. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  65. package/dist/presentation/shared/DesignTokens.d.ts +9 -5
  66. package/dist/presentation/shared/DesignTokens.d.ts.map +1 -1
  67. package/dist/presentation/shared/DesignTokens.js +7 -3
  68. package/dist/presentation/shared/DesignTokens.js.map +1 -1
  69. package/dist/presentation/tui/application-shell/TuiApp.d.ts +2 -1
  70. package/dist/presentation/tui/application-shell/TuiApp.d.ts.map +1 -1
  71. package/dist/presentation/tui/application-shell/TuiApp.js +2 -1
  72. package/dist/presentation/tui/application-shell/TuiApp.js.map +1 -1
  73. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts +1 -1
  74. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts.map +1 -1
  75. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js +1 -0
  76. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js.map +1 -1
  77. package/dist/presentation/tui/cockpit/CockpitDaemonPanelCopy.d.ts +1 -0
  78. package/dist/presentation/tui/cockpit/CockpitDaemonPanelCopy.d.ts.map +1 -1
  79. package/dist/presentation/tui/cockpit/CockpitDaemonPanelCopy.js +1 -0
  80. package/dist/presentation/tui/cockpit/CockpitDaemonPanelCopy.js.map +1 -1
  81. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.d.ts.map +1 -1
  82. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js +9 -8
  83. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js.map +1 -1
  84. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -1
  85. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +5 -0
  86. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -1
  87. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts.map +1 -1
  88. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js +12 -9
  89. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js.map +1 -1
  90. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcomeCopy.d.ts +1 -1
  91. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcomeCopy.js +1 -1
  92. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcomeCopy.js.map +1 -1
  93. package/dist/presentation/tui/cockpit/CockpitProjectStatsPanel.d.ts +3 -0
  94. package/dist/presentation/tui/cockpit/CockpitProjectStatsPanel.d.ts.map +1 -0
  95. package/dist/presentation/tui/cockpit/CockpitProjectStatsPanel.js +60 -0
  96. package/dist/presentation/tui/cockpit/CockpitProjectStatsPanel.js.map +1 -0
  97. package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts.map +1 -1
  98. package/dist/presentation/tui/cockpit/DaemonActionLine.js +10 -3
  99. package/dist/presentation/tui/cockpit/DaemonActionLine.js.map +1 -1
  100. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js +1 -2
  101. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js.map +1 -1
  102. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js +1 -1
  103. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js.map +1 -1
  104. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts +3 -0
  105. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts.map +1 -1
  106. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessCopy.d.ts +1 -0
  107. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessCopy.d.ts.map +1 -1
  108. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessCopy.js +1 -0
  109. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessCopy.js.map +1 -1
  110. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts +3 -0
  111. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts.map +1 -1
  112. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js +80 -28
  113. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js.map +1 -1
  114. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessSnapshot.d.ts +1 -0
  115. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessSnapshot.d.ts.map +1 -1
  116. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessSnapshotMapper.d.ts.map +1 -1
  117. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessSnapshotMapper.js +1 -0
  118. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessSnapshotMapper.js.map +1 -1
  119. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessStatus.d.ts +1 -0
  120. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessStatus.d.ts.map +1 -1
  121. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessStatus.js +1 -0
  122. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessStatus.js.map +1 -1
  123. package/dist/presentation/tui/goals/GoalsScreen.js +1 -1
  124. package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -1
  125. package/dist/presentation/tui/index.d.ts +13 -2
  126. package/dist/presentation/tui/index.d.ts.map +1 -1
  127. package/dist/presentation/tui/index.js +10 -1
  128. package/dist/presentation/tui/index.js.map +1 -1
  129. package/dist/presentation/tui/memory/components/ComponentsScreen.js +1 -1
  130. package/dist/presentation/tui/memory/components/ComponentsScreen.js.map +1 -1
  131. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js +1 -1
  132. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js.map +1 -1
  133. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js +1 -1
  134. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js.map +1 -1
  135. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js +1 -1
  136. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js.map +1 -1
  137. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js +1 -1
  138. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js.map +1 -1
  139. package/dist/presentation/tui/sessions/SessionScreen.js +1 -1
  140. package/dist/presentation/tui/sessions/SessionScreen.js.map +1 -1
  141. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts +2 -49
  142. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts.map +1 -1
  143. package/dist/presentation/tui/state-reading/TuiStateReader.js +3 -143
  144. package/dist/presentation/tui/state-reading/TuiStateReader.js.map +1 -1
  145. package/dist/presentation/tui/state-reading/TuiStateReaderContext.d.ts +8 -0
  146. package/dist/presentation/tui/state-reading/TuiStateReaderContext.d.ts.map +1 -0
  147. package/dist/presentation/tui/state-reading/TuiStateReaderContext.js +3 -0
  148. package/dist/presentation/tui/state-reading/TuiStateReaderContext.js.map +1 -0
  149. package/dist/presentation/tui/state-reading/TuiStateReaderControllers.d.ts +21 -0
  150. package/dist/presentation/tui/state-reading/TuiStateReaderControllers.d.ts.map +1 -0
  151. package/dist/presentation/tui/state-reading/TuiStateReaderControllers.js +2 -0
  152. package/dist/presentation/tui/state-reading/TuiStateReaderControllers.js.map +1 -0
  153. package/dist/presentation/tui/state-reading/TuiStateReaderDefaults.d.ts +2 -0
  154. package/dist/presentation/tui/state-reading/TuiStateReaderDefaults.d.ts.map +1 -0
  155. package/dist/presentation/tui/state-reading/TuiStateReaderDefaults.js +2 -0
  156. package/dist/presentation/tui/state-reading/TuiStateReaderDefaults.js.map +1 -0
  157. package/dist/presentation/tui/state-reading/TuiStateReaderOptions.d.ts +4 -0
  158. package/dist/presentation/tui/state-reading/TuiStateReaderOptions.d.ts.map +1 -0
  159. package/dist/presentation/tui/state-reading/TuiStateReaderOptions.js +2 -0
  160. package/dist/presentation/tui/state-reading/TuiStateReaderOptions.js.map +1 -0
  161. package/dist/presentation/tui/state-reading/TuiStateSnapshot.d.ts +7 -0
  162. package/dist/presentation/tui/state-reading/TuiStateSnapshot.d.ts.map +1 -0
  163. package/dist/presentation/tui/state-reading/TuiStateSnapshot.js +2 -0
  164. package/dist/presentation/tui/state-reading/TuiStateSnapshot.js.map +1 -0
  165. package/dist/presentation/tui/state-reading/useComponentsList.d.ts +5 -0
  166. package/dist/presentation/tui/state-reading/useComponentsList.d.ts.map +1 -0
  167. package/dist/presentation/tui/state-reading/useComponentsList.js +18 -0
  168. package/dist/presentation/tui/state-reading/useComponentsList.js.map +1 -0
  169. package/dist/presentation/tui/state-reading/useDecisionsList.d.ts +5 -0
  170. package/dist/presentation/tui/state-reading/useDecisionsList.d.ts.map +1 -0
  171. package/dist/presentation/tui/state-reading/useDecisionsList.js +18 -0
  172. package/dist/presentation/tui/state-reading/useDecisionsList.js.map +1 -0
  173. package/dist/presentation/tui/state-reading/useDependenciesList.d.ts +5 -0
  174. package/dist/presentation/tui/state-reading/useDependenciesList.d.ts.map +1 -0
  175. package/dist/presentation/tui/state-reading/useDependenciesList.js +17 -0
  176. package/dist/presentation/tui/state-reading/useDependenciesList.js.map +1 -0
  177. package/dist/presentation/tui/state-reading/useGoalsList.d.ts +5 -0
  178. package/dist/presentation/tui/state-reading/useGoalsList.d.ts.map +1 -0
  179. package/dist/presentation/tui/state-reading/useGoalsList.js +18 -0
  180. package/dist/presentation/tui/state-reading/useGoalsList.js.map +1 -0
  181. package/dist/presentation/tui/state-reading/useGuidelinesList.d.ts +4 -0
  182. package/dist/presentation/tui/state-reading/useGuidelinesList.d.ts.map +1 -0
  183. package/dist/presentation/tui/state-reading/useGuidelinesList.js +17 -0
  184. package/dist/presentation/tui/state-reading/useGuidelinesList.js.map +1 -0
  185. package/dist/presentation/tui/state-reading/useInvariantsList.d.ts +4 -0
  186. package/dist/presentation/tui/state-reading/useInvariantsList.d.ts.map +1 -0
  187. package/dist/presentation/tui/state-reading/useInvariantsList.js +17 -0
  188. package/dist/presentation/tui/state-reading/useInvariantsList.js.map +1 -0
  189. package/dist/presentation/tui/state-reading/useProjectContext.d.ts +4 -0
  190. package/dist/presentation/tui/state-reading/useProjectContext.d.ts.map +1 -0
  191. package/dist/presentation/tui/state-reading/useProjectContext.js +17 -0
  192. package/dist/presentation/tui/state-reading/useProjectContext.js.map +1 -0
  193. package/dist/presentation/tui/state-reading/useProjectStats.d.ts +4 -0
  194. package/dist/presentation/tui/state-reading/useProjectStats.d.ts.map +1 -0
  195. package/dist/presentation/tui/state-reading/useProjectStats.js +17 -0
  196. package/dist/presentation/tui/state-reading/useProjectStats.js.map +1 -0
  197. package/dist/presentation/tui/state-reading/useSessionsList.d.ts +5 -0
  198. package/dist/presentation/tui/state-reading/useSessionsList.d.ts.map +1 -0
  199. package/dist/presentation/tui/state-reading/useSessionsList.js +17 -0
  200. package/dist/presentation/tui/state-reading/useSessionsList.js.map +1 -0
  201. package/dist/presentation/tui/state-reading/useTickingReadModel.d.ts +3 -0
  202. package/dist/presentation/tui/state-reading/useTickingReadModel.d.ts.map +1 -0
  203. package/dist/presentation/tui/state-reading/useTickingReadModel.js +43 -0
  204. package/dist/presentation/tui/state-reading/useTickingReadModel.js.map +1 -0
  205. package/dist/presentation/tui/ui-primitives/HorizontalRule.d.ts +10 -0
  206. package/dist/presentation/tui/ui-primitives/HorizontalRule.d.ts.map +1 -0
  207. package/dist/presentation/tui/ui-primitives/HorizontalRule.js +25 -0
  208. package/dist/presentation/tui/ui-primitives/HorizontalRule.js.map +1 -0
  209. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useDependenciesList(filter) {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getDependenciesController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.handle(filter === undefined ? {} : { filter });
13
+ }, [controller, filter]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useDependenciesList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDependenciesList.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useDependenciesList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,mBAAmB,CACjC,MAA6B;IAE7B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAElE,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EACxB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { GetGoalsResponse } from "../../../application/context/goals/get/GetGoalsResponse.js";
2
+ import type { GoalStatusType } from "../../../domain/goals/Constants.js";
3
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
4
+ export declare function useGoalsList(statusFilter?: GoalStatusType): TuiStateSnapshot<GetGoalsResponse>;
5
+ //# sourceMappingURL=useGoalsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGoalsList.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useGoalsList.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,YAAY,CAC1B,YAAY,CAAC,EAAE,cAAc,GAC5B,gBAAgB,CAAC,gBAAgB,CAAC,CAkBpC"}
@@ -0,0 +1,18 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useGoalsList(statusFilter) {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getGoalsController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ const request = statusFilter === undefined ? {} : { statuses: [statusFilter] };
13
+ return controller.handle(request);
14
+ }, [controller, statusFilter]), controller === undefined
15
+ ? 0
16
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
17
+ }
18
+ //# sourceMappingURL=useGoalsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGoalsList.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useGoalsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,YAAY,CAC1B,YAA6B;IAE7B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAE3D,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GACX,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,EAC9B,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { GetGuidelinesResponse } from "../../../application/context/guidelines/get/GetGuidelinesResponse.js";
2
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
3
+ export declare function useGuidelinesList(category?: string): TuiStateSnapshot<GetGuidelinesResponse>;
4
+ //# sourceMappingURL=useGuidelinesList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGuidelinesList.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useGuidelinesList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sEAAsE,CAAC;AAGlH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,iBAAiB,CAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,gBAAgB,CAAC,qBAAqB,CAAC,CAgBzC"}
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useGuidelinesList(category) {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getGuidelinesController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.handle(category === undefined ? {} : { category });
13
+ }, [category, controller]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useGuidelinesList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGuidelinesList.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useGuidelinesList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAC/B,QAAiB;IAEjB,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC;IAEhE,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAC1B,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { GetAllInvariantsResponse } from "../../../application/context/invariants/get/GetAllInvariantsResponse.js";
2
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
3
+ export declare function useInvariantsList(): TuiStateSnapshot<GetAllInvariantsResponse>;
4
+ //# sourceMappingURL=useInvariantsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInvariantsList.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useInvariantsList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yEAAyE,CAAC;AAGxH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,iBAAiB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAgB9E"}
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useInvariantsList() {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getInvariantsController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.getAllInvariants({});
13
+ }, [controller]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useInvariantsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInvariantsList.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useInvariantsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC;IAEhE,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAChB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ProjectSummaryView } from "../../../application/context/project/ProjectSummaryView.js";
2
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
3
+ export declare function useProjectContext(): TuiStateSnapshot<ProjectSummaryView>;
4
+ //# sourceMappingURL=useProjectContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useProjectContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAGrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,iBAAiB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAgBxE"}
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useProjectContext() {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getProjectSummaryQueryHandler;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.execute();
13
+ }, [controller]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useProjectContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectContext.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useProjectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,6BAA6B,CAAC;IAEtE,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAChB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ProjectStatsResponse } from "../../../application/context/project/stats/ProjectStatsResponse.js";
2
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
3
+ export declare function useProjectStats(): TuiStateSnapshot<ProjectStatsResponse>;
4
+ //# sourceMappingURL=useProjectStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectStats.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useProjectStats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;AAG/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,eAAe,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAkBxE"}
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useProjectStats() {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.projectStatsController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.handle({ currentOnly: true });
13
+ }, [controller]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useProjectStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectStats.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useProjectStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,sBAE3B,CAAC;IAEd,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAChB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { GetSessionsResponse } from "../../../application/context/sessions/get/GetSessionsResponse.js";
2
+ import type { SessionStatusFilter } from "../../../application/context/sessions/get/ISessionViewReader.js";
3
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
4
+ export declare function useSessionsList(status?: SessionStatusFilter): TuiStateSnapshot<GetSessionsResponse>;
5
+ //# sourceMappingURL=useSessionsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionsList.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useSessionsList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iEAAiE,CAAC;AAG3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,wBAAgB,eAAe,CAC7B,MAAM,GAAE,mBAA2B,GAClC,gBAAgB,CAAC,mBAAmB,CAAC,CAgBvC"}
@@ -0,0 +1,17 @@
1
+ import { useCallback, useContext } from "react";
2
+ import { TuiStateReaderContext } from "./TuiStateReaderContext.js";
3
+ import { DEFAULT_TUI_STATE_READER_TICK_MS } from "./TuiStateReaderDefaults.js";
4
+ import { useTickingReadModel } from "./useTickingReadModel.js";
5
+ export function useSessionsList(status = "all") {
6
+ const context = useContext(TuiStateReaderContext);
7
+ const controller = context?.controllers.getSessionsController;
8
+ return useTickingReadModel(useCallback(async () => {
9
+ if (controller === undefined) {
10
+ return null;
11
+ }
12
+ return controller.handle({ status });
13
+ }, [controller, status]), controller === undefined
14
+ ? 0
15
+ : context?.tickMs ?? DEFAULT_TUI_STATE_READER_TICK_MS);
16
+ }
17
+ //# sourceMappingURL=useSessionsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionsList.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useSessionsList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,eAAe,CAC7B,SAA8B,KAAK;IAEnC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;IAE9D,OAAO,mBAAmB,CACxB,WAAW,CAAC,KAAK,IAAI,EAAE;QACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EACxB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,gCAAgC,CACxD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TuiStateSnapshot } from "./TuiStateSnapshot.js";
2
+ export declare function useTickingReadModel<TData>(read: () => Promise<TData | null>, tickMs: number): TuiStateSnapshot<TData>;
3
+ //# sourceMappingURL=useTickingReadModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTickingReadModel.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useTickingReadModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,mBAAmB,CAAC,KAAK,EACvC,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EACjC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAAC,KAAK,CAAC,CAsCzB"}
@@ -0,0 +1,43 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ export function useTickingReadModel(read, tickMs) {
3
+ const [data, setData] = useState(null);
4
+ const [error, setError] = useState(null);
5
+ const [loading, setLoading] = useState(true);
6
+ const refresh = useCallback(async () => {
7
+ setLoading(true);
8
+ try {
9
+ const nextData = await read();
10
+ setData(nextData);
11
+ setError(null);
12
+ }
13
+ catch (caughtError) {
14
+ setError(toError(caughtError));
15
+ }
16
+ finally {
17
+ setLoading(false);
18
+ }
19
+ }, [read]);
20
+ useEffect(() => {
21
+ void refresh();
22
+ if (tickMs <= 0) {
23
+ return undefined;
24
+ }
25
+ const interval = setInterval(() => {
26
+ void refresh();
27
+ }, tickMs);
28
+ return () => clearInterval(interval);
29
+ }, [refresh, tickMs]);
30
+ return {
31
+ data,
32
+ error,
33
+ loading,
34
+ refresh,
35
+ };
36
+ }
37
+ function toError(caughtError) {
38
+ if (caughtError instanceof Error) {
39
+ return caughtError;
40
+ }
41
+ return new Error(String(caughtError));
42
+ }
43
+ //# sourceMappingURL=useTickingReadModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTickingReadModel.js","sourceRoot":"","sources":["../../../../src/presentation/tui/state-reading/useTickingReadModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,UAAU,mBAAmB,CACjC,IAAiC,EACjC,MAAc;IAEd,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,EAAE,CAAC;QAEf,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO;QACL,IAAI;QACJ,KAAK;QACL,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,WAAoB;IACnC,IAAI,WAAW,YAAY,KAAK,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface HorizontalRuleProps {
3
+ readonly color: string;
4
+ readonly width?: number;
5
+ }
6
+ export declare function HorizontalRule({ color, width, }: HorizontalRuleProps): React.ReactElement;
7
+ export declare function HorizontalRuleText({ color, width, }: Required<HorizontalRuleProps>): React.ReactElement;
8
+ export declare function resolveHorizontalRuleWidth(explicitWidth: number | undefined, terminalWidth: number | undefined): number;
9
+ export {};
10
+ //# sourceMappingURL=HorizontalRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HorizontalRule.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/ui-primitives/HorizontalRule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAIjE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,KAAK,GACN,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA2B1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,GACN,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,YAAY,CAMpD;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,MAAM,CAER"}
@@ -0,0 +1,25 @@
1
+ import React, { useLayoutEffect, useRef, useState } from "react";
2
+ import { Box, Text, measureElement, useStdout } from "ink";
3
+ import { TuiGlyphs } from "../../shared/DesignTokens.js";
4
+ export function HorizontalRule({ color, width, }) {
5
+ const { stdout } = useStdout();
6
+ const containerRef = useRef(null);
7
+ const [measuredWidth, setMeasuredWidth] = useState(undefined);
8
+ const lineWidth = resolveHorizontalRuleWidth(width, measuredWidth ?? stdout.columns);
9
+ useLayoutEffect(() => {
10
+ if (width !== undefined || containerRef.current === null) {
11
+ return;
12
+ }
13
+ const nextWidth = measureElement(containerRef.current).width;
14
+ setMeasuredWidth((currentWidth) => currentWidth === nextWidth ? currentWidth : nextWidth);
15
+ });
16
+ return (React.createElement(Box, { ref: containerRef, width: "100%", height: 1, overflow: "hidden" },
17
+ React.createElement(HorizontalRuleText, { color: color, width: lineWidth })));
18
+ }
19
+ export function HorizontalRuleText({ color, width, }) {
20
+ return (React.createElement(Text, { color: color }, TuiGlyphs.divider.repeat(width)));
21
+ }
22
+ export function resolveHorizontalRuleWidth(explicitWidth, terminalWidth) {
23
+ return Math.max(0, Math.floor(explicitWidth ?? terminalWidth ?? 80));
24
+ }
25
+ //# sourceMappingURL=HorizontalRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HorizontalRule.js","sourceRoot":"","sources":["../../../../src/presentation/tui/ui-primitives/HorizontalRule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAmB,MAAM,KAAK,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOzD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,KAAK,GACe;IACpB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,SAAS,CACV,CAAC;IACF,MAAM,SAAS,GAAG,0BAA0B,CAC1C,KAAK,EACL,aAAa,IAAI,MAAM,CAAC,OAAO,CAChC,CAAC;IAEF,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QAC7D,gBAAgB,CAAC,CAAC,YAAY,EAAE,EAAE,CAChC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ;QAC/D,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAI,CAClD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,GACyB;IAC9B,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,IACf,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,aAAiC,EACjC,aAAiC;IAEjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jumbo-cli",
3
- "version": "3.6.1",
3
+ "version": "3.7.2",
4
4
  "description": "Memory and Context Orchestration for Coding Agents",
5
5
  "keywords": [
6
6
  "cli",