jumbo-cli 3.0.3 → 3.2.1

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 (602) hide show
  1. package/README.md +1 -1
  2. package/assets/skills/codify-jumbo-goal/SKILL.md +0 -6
  3. package/assets/skills/define-jumbo-goals/SKILL.md +24 -25
  4. package/assets/skills/jumbo-add-component/SKILL.md +9 -0
  5. package/assets/skills/jumbo-add-decision/SKILL.md +9 -0
  6. package/assets/skills/jumbo-add-dependency/SKILL.md +9 -0
  7. package/assets/skills/jumbo-add-guideline/SKILL.md +9 -0
  8. package/assets/skills/jumbo-add-invariant/SKILL.md +9 -0
  9. package/assets/skills/jumbo-design-goal/SKILL.md +1 -1
  10. package/assets/skills/refine-jumbo-goals/SKILL.md +4 -4
  11. package/dist/application/agents/AgentInvocation.d.ts +10 -0
  12. package/dist/application/agents/AgentInvocation.d.ts.map +1 -0
  13. package/dist/application/agents/AgentInvocation.js +2 -0
  14. package/dist/application/agents/AgentInvocation.js.map +1 -0
  15. package/dist/application/agents/IAgentGateway.d.ts +5 -0
  16. package/dist/application/agents/IAgentGateway.d.ts.map +1 -0
  17. package/dist/application/agents/IAgentGateway.js +2 -0
  18. package/dist/application/agents/IAgentGateway.js.map +1 -0
  19. package/dist/application/context/decisions/get/IDecisionViewReader.d.ts +7 -0
  20. package/dist/application/context/decisions/get/IDecisionViewReader.d.ts.map +1 -1
  21. package/dist/application/context/decisions/search/DecisionSearchCriteria.d.ts +17 -0
  22. package/dist/application/context/decisions/search/DecisionSearchCriteria.d.ts.map +1 -0
  23. package/dist/application/context/decisions/search/DecisionSearchCriteria.js +12 -0
  24. package/dist/application/context/decisions/search/DecisionSearchCriteria.js.map +1 -0
  25. package/dist/application/context/decisions/search/ISearchDecisionsGateway.d.ts +10 -0
  26. package/dist/application/context/decisions/search/ISearchDecisionsGateway.d.ts.map +1 -0
  27. package/dist/application/context/decisions/search/ISearchDecisionsGateway.js +6 -0
  28. package/dist/application/context/decisions/search/ISearchDecisionsGateway.js.map +1 -0
  29. package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.d.ts +14 -0
  30. package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.d.ts.map +1 -0
  31. package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.js +14 -0
  32. package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.js.map +1 -0
  33. package/dist/application/context/decisions/search/SearchDecisionsController.d.ts +13 -0
  34. package/dist/application/context/decisions/search/SearchDecisionsController.d.ts.map +1 -0
  35. package/dist/application/context/decisions/search/SearchDecisionsController.js +13 -0
  36. package/dist/application/context/decisions/search/SearchDecisionsController.js.map +1 -0
  37. package/dist/application/context/decisions/search/SearchDecisionsRequest.d.ts +8 -0
  38. package/dist/application/context/decisions/search/SearchDecisionsRequest.d.ts.map +1 -0
  39. package/dist/application/context/decisions/search/SearchDecisionsRequest.js +5 -0
  40. package/dist/application/context/decisions/search/SearchDecisionsRequest.js.map +1 -0
  41. package/dist/application/context/decisions/search/SearchDecisionsResponse.d.ts +8 -0
  42. package/dist/application/context/decisions/search/SearchDecisionsResponse.d.ts.map +1 -0
  43. package/dist/application/context/decisions/search/SearchDecisionsResponse.js +5 -0
  44. package/dist/application/context/decisions/search/SearchDecisionsResponse.js.map +1 -0
  45. package/dist/application/context/dependencies/get/IDependencyViewReader.d.ts +7 -0
  46. package/dist/application/context/dependencies/get/IDependencyViewReader.d.ts.map +1 -1
  47. package/dist/application/context/dependencies/search/DependencySearchCriteria.d.ts +22 -0
  48. package/dist/application/context/dependencies/search/DependencySearchCriteria.d.ts.map +1 -0
  49. package/dist/application/context/dependencies/search/DependencySearchCriteria.js +12 -0
  50. package/dist/application/context/dependencies/search/DependencySearchCriteria.js.map +1 -0
  51. package/dist/application/context/dependencies/search/ISearchDependenciesGateway.d.ts +10 -0
  52. package/dist/application/context/dependencies/search/ISearchDependenciesGateway.d.ts.map +1 -0
  53. package/dist/application/context/dependencies/search/ISearchDependenciesGateway.js +6 -0
  54. package/dist/application/context/dependencies/search/ISearchDependenciesGateway.js.map +1 -0
  55. package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.d.ts +14 -0
  56. package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.d.ts.map +1 -0
  57. package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.js +14 -0
  58. package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.js.map +1 -0
  59. package/dist/application/context/dependencies/search/SearchDependenciesController.d.ts +13 -0
  60. package/dist/application/context/dependencies/search/SearchDependenciesController.d.ts.map +1 -0
  61. package/dist/application/context/dependencies/search/SearchDependenciesController.js +13 -0
  62. package/dist/application/context/dependencies/search/SearchDependenciesController.js.map +1 -0
  63. package/dist/application/context/dependencies/search/SearchDependenciesRequest.d.ts +8 -0
  64. package/dist/application/context/dependencies/search/SearchDependenciesRequest.d.ts.map +1 -0
  65. package/dist/application/context/dependencies/search/SearchDependenciesRequest.js +5 -0
  66. package/dist/application/context/dependencies/search/SearchDependenciesRequest.js.map +1 -0
  67. package/dist/application/context/dependencies/search/SearchDependenciesResponse.d.ts +8 -0
  68. package/dist/application/context/dependencies/search/SearchDependenciesResponse.d.ts.map +1 -0
  69. package/dist/application/context/dependencies/search/SearchDependenciesResponse.js +5 -0
  70. package/dist/application/context/dependencies/search/SearchDependenciesResponse.js.map +1 -0
  71. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts +34 -0
  72. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts.map +1 -0
  73. package/dist/application/context/goals/codify/CodifierProcessManager.js +171 -0
  74. package/dist/application/context/goals/codify/CodifierProcessManager.js.map +1 -0
  75. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts +28 -0
  76. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts.map +1 -0
  77. package/dist/application/context/goals/refine/RefinerProcessManager.js +147 -0
  78. package/dist/application/context/goals/refine/RefinerProcessManager.js.map +1 -0
  79. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts +28 -0
  80. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts.map +1 -0
  81. package/dist/application/context/goals/review/ReviewerProcessManager.js +161 -0
  82. package/dist/application/context/goals/review/ReviewerProcessManager.js.map +1 -0
  83. package/dist/application/context/guidelines/get/IGuidelineViewReader.d.ts +7 -0
  84. package/dist/application/context/guidelines/get/IGuidelineViewReader.d.ts.map +1 -1
  85. package/dist/application/context/guidelines/search/GuidelineSearchCriteria.d.ts +17 -0
  86. package/dist/application/context/guidelines/search/GuidelineSearchCriteria.d.ts.map +1 -0
  87. package/dist/application/context/guidelines/search/GuidelineSearchCriteria.js +12 -0
  88. package/dist/application/context/guidelines/search/GuidelineSearchCriteria.js.map +1 -0
  89. package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.d.ts +10 -0
  90. package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.d.ts.map +1 -0
  91. package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.js +6 -0
  92. package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.js.map +1 -0
  93. package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.d.ts +14 -0
  94. package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.d.ts.map +1 -0
  95. package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.js +14 -0
  96. package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.js.map +1 -0
  97. package/dist/application/context/guidelines/search/SearchGuidelinesController.d.ts +13 -0
  98. package/dist/application/context/guidelines/search/SearchGuidelinesController.d.ts.map +1 -0
  99. package/dist/application/context/guidelines/search/SearchGuidelinesController.js +13 -0
  100. package/dist/application/context/guidelines/search/SearchGuidelinesController.js.map +1 -0
  101. package/dist/application/context/guidelines/search/SearchGuidelinesRequest.d.ts +8 -0
  102. package/dist/application/context/guidelines/search/SearchGuidelinesRequest.d.ts.map +1 -0
  103. package/dist/application/context/guidelines/search/SearchGuidelinesRequest.js +5 -0
  104. package/dist/application/context/guidelines/search/SearchGuidelinesRequest.js.map +1 -0
  105. package/dist/application/context/guidelines/search/SearchGuidelinesResponse.d.ts +8 -0
  106. package/dist/application/context/guidelines/search/SearchGuidelinesResponse.d.ts.map +1 -0
  107. package/dist/application/context/guidelines/search/SearchGuidelinesResponse.js +5 -0
  108. package/dist/application/context/guidelines/search/SearchGuidelinesResponse.js.map +1 -0
  109. package/dist/application/context/invariants/get/IInvariantViewReader.d.ts +7 -0
  110. package/dist/application/context/invariants/get/IInvariantViewReader.d.ts.map +1 -1
  111. package/dist/application/context/invariants/search/ISearchInvariantsGateway.d.ts +10 -0
  112. package/dist/application/context/invariants/search/ISearchInvariantsGateway.d.ts.map +1 -0
  113. package/dist/application/context/invariants/search/ISearchInvariantsGateway.js +6 -0
  114. package/dist/application/context/invariants/search/ISearchInvariantsGateway.js.map +1 -0
  115. package/dist/application/context/invariants/search/InvariantSearchCriteria.d.ts +14 -0
  116. package/dist/application/context/invariants/search/InvariantSearchCriteria.d.ts.map +1 -0
  117. package/dist/application/context/invariants/search/InvariantSearchCriteria.js +11 -0
  118. package/dist/application/context/invariants/search/InvariantSearchCriteria.js.map +1 -0
  119. package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.d.ts +14 -0
  120. package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.d.ts.map +1 -0
  121. package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.js +14 -0
  122. package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.js.map +1 -0
  123. package/dist/application/context/invariants/search/SearchInvariantsController.d.ts +13 -0
  124. package/dist/application/context/invariants/search/SearchInvariantsController.d.ts.map +1 -0
  125. package/dist/application/context/invariants/search/SearchInvariantsController.js +13 -0
  126. package/dist/application/context/invariants/search/SearchInvariantsController.js.map +1 -0
  127. package/dist/application/context/invariants/search/SearchInvariantsRequest.d.ts +8 -0
  128. package/dist/application/context/invariants/search/SearchInvariantsRequest.d.ts.map +1 -0
  129. package/dist/application/context/invariants/search/SearchInvariantsRequest.js +5 -0
  130. package/dist/application/context/invariants/search/SearchInvariantsRequest.js.map +1 -0
  131. package/dist/application/context/invariants/search/SearchInvariantsResponse.d.ts +8 -0
  132. package/dist/application/context/invariants/search/SearchInvariantsResponse.d.ts.map +1 -0
  133. package/dist/application/context/invariants/search/SearchInvariantsResponse.js +5 -0
  134. package/dist/application/context/invariants/search/SearchInvariantsResponse.js.map +1 -0
  135. package/dist/application/context/project/ProjectKnowledgeInventoryView.d.ts +12 -0
  136. package/dist/application/context/project/ProjectKnowledgeInventoryView.d.ts.map +1 -0
  137. package/dist/application/context/project/ProjectKnowledgeInventoryView.js +2 -0
  138. package/dist/application/context/project/ProjectKnowledgeInventoryView.js.map +1 -0
  139. package/dist/application/context/project/ProjectLifecycleState.d.ts +7 -0
  140. package/dist/application/context/project/ProjectLifecycleState.d.ts.map +1 -0
  141. package/dist/application/context/project/ProjectLifecycleState.js +2 -0
  142. package/dist/application/context/project/ProjectLifecycleState.js.map +1 -0
  143. package/dist/application/context/project/ProjectSummaryView.d.ts +2 -0
  144. package/dist/application/context/project/ProjectSummaryView.d.ts.map +1 -1
  145. package/dist/application/context/project/ProjectView.d.ts +2 -0
  146. package/dist/application/context/project/ProjectView.d.ts.map +1 -1
  147. package/dist/application/context/project/query/GetProjectSummaryQueryHandler.d.ts.map +1 -1
  148. package/dist/application/context/project/query/GetProjectSummaryQueryHandler.js +3 -0
  149. package/dist/application/context/project/query/GetProjectSummaryQueryHandler.js.map +1 -1
  150. package/dist/application/context/project/query/IProjectContextReader.d.ts +10 -0
  151. package/dist/application/context/project/query/IProjectContextReader.d.ts.map +1 -1
  152. package/dist/application/context/project/query/ProjectLifecycleClassifier.d.ts +9 -0
  153. package/dist/application/context/project/query/ProjectLifecycleClassifier.d.ts.map +1 -0
  154. package/dist/application/context/project/query/ProjectLifecycleClassifier.js +18 -0
  155. package/dist/application/context/project/query/ProjectLifecycleClassifier.js.map +1 -0
  156. package/dist/application/context/project/query/north-star/ProjectNorthStarView.d.ts +20 -0
  157. package/dist/application/context/project/query/north-star/ProjectNorthStarView.d.ts.map +1 -0
  158. package/dist/application/context/project/query/north-star/ProjectNorthStarView.js +2 -0
  159. package/dist/application/context/project/query/north-star/ProjectNorthStarView.js.map +1 -0
  160. package/dist/application/context/project/show/IShowProjectGateway.d.ts +6 -0
  161. package/dist/application/context/project/show/IShowProjectGateway.d.ts.map +1 -0
  162. package/dist/application/context/project/show/IShowProjectGateway.js +2 -0
  163. package/dist/application/context/project/show/IShowProjectGateway.js.map +1 -0
  164. package/dist/application/context/project/show/LocalShowProjectGateway.d.ts +16 -0
  165. package/dist/application/context/project/show/LocalShowProjectGateway.d.ts.map +1 -0
  166. package/dist/application/context/project/show/LocalShowProjectGateway.js +32 -0
  167. package/dist/application/context/project/show/LocalShowProjectGateway.js.map +1 -0
  168. package/dist/application/context/project/show/ShowProjectController.d.ts +9 -0
  169. package/dist/application/context/project/show/ShowProjectController.d.ts.map +1 -0
  170. package/dist/application/context/project/show/ShowProjectController.js +9 -0
  171. package/dist/application/context/project/show/ShowProjectController.js.map +1 -0
  172. package/dist/application/context/project/show/ShowProjectRequest.d.ts +4 -0
  173. package/dist/application/context/project/show/ShowProjectRequest.d.ts.map +1 -0
  174. package/dist/application/context/project/show/ShowProjectRequest.js +2 -0
  175. package/dist/application/context/project/show/ShowProjectRequest.js.map +1 -0
  176. package/dist/application/context/project/show/ShowProjectResponse.d.ts +7 -0
  177. package/dist/application/context/project/show/ShowProjectResponse.d.ts.map +1 -0
  178. package/dist/application/context/project/show/ShowProjectResponse.js +2 -0
  179. package/dist/application/context/project/show/ShowProjectResponse.js.map +1 -0
  180. package/dist/application/context/sessions/SessionInstructionSignal.d.ts +0 -1
  181. package/dist/application/context/sessions/SessionInstructionSignal.d.ts.map +1 -1
  182. package/dist/application/context/sessions/SessionInstructionSignal.js +0 -1
  183. package/dist/application/context/sessions/SessionInstructionSignal.js.map +1 -1
  184. package/dist/application/context/sessions/get/SessionContext.d.ts +3 -3
  185. package/dist/application/context/sessions/get/SessionContext.d.ts.map +1 -1
  186. package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +2 -8
  187. package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
  188. package/dist/application/context/sessions/get/SessionContextQueryHandler.js +4 -13
  189. package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
  190. package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +2 -8
  191. package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
  192. package/dist/application/context/sessions/start/LocalStartSessionGateway.js +4 -47
  193. package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
  194. package/dist/application/context/sessions/start/SessionStartResponse.d.ts +4 -4
  195. package/dist/application/context/sessions/start/SessionStartResponse.d.ts.map +1 -1
  196. package/dist/application/daemons/IProcessManager.d.ts +28 -0
  197. package/dist/application/daemons/IProcessManager.d.ts.map +1 -0
  198. package/dist/application/daemons/IProcessManager.js +2 -0
  199. package/dist/application/daemons/IProcessManager.js.map +1 -0
  200. package/dist/application/daemons/IShutdownSignal.d.ts +5 -0
  201. package/dist/application/daemons/IShutdownSignal.d.ts.map +1 -0
  202. package/dist/application/daemons/IShutdownSignal.js +2 -0
  203. package/dist/application/daemons/IShutdownSignal.js.map +1 -0
  204. package/dist/application/daemons/ITicker.d.ts +4 -0
  205. package/dist/application/daemons/ITicker.d.ts.map +1 -0
  206. package/dist/application/daemons/ITicker.js +2 -0
  207. package/dist/application/daemons/ITicker.js.map +1 -0
  208. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts +30 -0
  209. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts.map +1 -0
  210. package/dist/application/daemons/IWorkerDaemonProcessController.js +2 -0
  211. package/dist/application/daemons/IWorkerDaemonProcessController.js.map +1 -0
  212. package/dist/application/daemons/PollingLoop.d.ts +13 -0
  213. package/dist/application/daemons/PollingLoop.d.ts.map +1 -0
  214. package/dist/application/daemons/PollingLoop.js +15 -0
  215. package/dist/application/daemons/PollingLoop.js.map +1 -0
  216. package/dist/application/daemons/WorkerDaemonCatalog.d.ts +11 -0
  217. package/dist/application/daemons/WorkerDaemonCatalog.d.ts.map +1 -0
  218. package/dist/application/daemons/WorkerDaemonCatalog.js +12 -0
  219. package/dist/application/daemons/WorkerDaemonCatalog.js.map +1 -0
  220. package/dist/application/host/IApplicationContainer.d.ts +6 -0
  221. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  222. package/dist/application/settings/Settings.d.ts +11 -0
  223. package/dist/application/settings/Settings.d.ts.map +1 -1
  224. package/dist/cli.js +68 -5
  225. package/dist/cli.js.map +1 -1
  226. package/dist/domain/project/JumboMdContent.js +1 -1
  227. package/dist/infrastructure/agents/AgentCliGateway.d.ts +15 -0
  228. package/dist/infrastructure/agents/AgentCliGateway.d.ts.map +1 -0
  229. package/dist/infrastructure/agents/AgentCliGateway.js +82 -0
  230. package/dist/infrastructure/agents/AgentCliGateway.js.map +1 -0
  231. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts +8 -0
  232. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts.map +1 -1
  233. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js +45 -0
  234. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js.map +1 -1
  235. package/dist/infrastructure/context/decisions/migrations/002-add-decision-search-indexes.sql +11 -0
  236. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts +3 -0
  237. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts.map +1 -1
  238. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js +57 -0
  239. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js.map +1 -1
  240. package/dist/infrastructure/context/dependencies/migrations/003-add-dependency-search-indexes.sql +12 -0
  241. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts +8 -0
  242. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts.map +1 -1
  243. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js +31 -0
  244. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js.map +1 -1
  245. package/dist/infrastructure/context/guidelines/migrations/003-add-guideline-search-indexes.sql +17 -0
  246. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts +8 -0
  247. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts.map +1 -1
  248. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js +31 -0
  249. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js.map +1 -1
  250. package/dist/infrastructure/context/invariants/migrations/003-add-invariant-search-indexes.sql +6 -0
  251. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts +5 -0
  252. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts.map +1 -1
  253. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js +34 -2
  254. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js.map +1 -1
  255. package/dist/infrastructure/daemons/IntervalTicker.d.ts +7 -0
  256. package/dist/infrastructure/daemons/IntervalTicker.d.ts.map +1 -0
  257. package/dist/infrastructure/daemons/IntervalTicker.js +11 -0
  258. package/dist/infrastructure/daemons/IntervalTicker.js.map +1 -0
  259. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +12 -0
  260. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -0
  261. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +56 -0
  262. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -0
  263. package/dist/infrastructure/daemons/ProcessSignalSource.d.ts +10 -0
  264. package/dist/infrastructure/daemons/ProcessSignalSource.d.ts.map +1 -0
  265. package/dist/infrastructure/daemons/ProcessSignalSource.js +24 -0
  266. package/dist/infrastructure/daemons/ProcessSignalSource.js.map +1 -0
  267. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  268. package/dist/infrastructure/host/HostBuilder.js +17 -2
  269. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  270. package/dist/infrastructure/logging/FileLogger.js +1 -1
  271. package/dist/infrastructure/settings/DefaultSettings.d.ts.map +1 -1
  272. package/dist/infrastructure/settings/DefaultSettings.js +3 -0
  273. package/dist/infrastructure/settings/DefaultSettings.js.map +1 -1
  274. package/dist/infrastructure/settings/FsSettingsInitializer.d.ts.map +1 -1
  275. package/dist/infrastructure/settings/FsSettingsInitializer.js +6 -0
  276. package/dist/infrastructure/settings/FsSettingsInitializer.js.map +1 -1
  277. package/dist/infrastructure/settings/FsSettingsReader.d.ts.map +1 -1
  278. package/dist/infrastructure/settings/FsSettingsReader.js +10 -0
  279. package/dist/infrastructure/settings/FsSettingsReader.js.map +1 -1
  280. package/dist/presentation/cli/AppRunner.d.ts +7 -1
  281. package/dist/presentation/cli/AppRunner.d.ts.map +1 -1
  282. package/dist/presentation/cli/AppRunner.js +10 -5
  283. package/dist/presentation/cli/AppRunner.js.map +1 -1
  284. package/dist/presentation/cli/CliBootstrapPlan.d.ts +12 -0
  285. package/dist/presentation/cli/CliBootstrapPlan.d.ts.map +1 -0
  286. package/dist/presentation/cli/CliBootstrapPlan.js +23 -0
  287. package/dist/presentation/cli/CliBootstrapPlan.js.map +1 -0
  288. package/dist/presentation/cli/banner/AnimationFrames.d.ts +6 -1
  289. package/dist/presentation/cli/banner/AnimationFrames.d.ts.map +1 -1
  290. package/dist/presentation/cli/banner/AnimationFrames.js +307 -288
  291. package/dist/presentation/cli/banner/AnimationFrames.js.map +1 -1
  292. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts +17 -0
  293. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts.map +1 -0
  294. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js +90 -0
  295. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js.map +1 -0
  296. package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts +22 -0
  297. package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts.map +1 -0
  298. package/dist/presentation/cli/commands/decisions/search/decisions.search.js +93 -0
  299. package/dist/presentation/cli/commands/decisions/search/decisions.search.js.map +1 -0
  300. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts +16 -0
  301. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts.map +1 -0
  302. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js +85 -0
  303. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js.map +1 -0
  304. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts +21 -0
  305. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts.map +1 -0
  306. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js +111 -0
  307. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js.map +1 -0
  308. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts +22 -0
  309. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts.map +1 -0
  310. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js +86 -0
  311. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js.map +1 -0
  312. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts +21 -0
  313. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts.map +1 -0
  314. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js +92 -0
  315. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js.map +1 -0
  316. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts +22 -0
  317. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts.map +1 -0
  318. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js +79 -0
  319. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js.map +1 -0
  320. package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts +20 -0
  321. package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts.map +1 -0
  322. package/dist/presentation/cli/commands/invariants/search/invariants.search.js +80 -0
  323. package/dist/presentation/cli/commands/invariants/search/invariants.search.js.map +1 -0
  324. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts +14 -0
  325. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts.map +1 -0
  326. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js +84 -0
  327. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js.map +1 -0
  328. package/dist/presentation/cli/commands/project/show/project.show.d.ts +12 -0
  329. package/dist/presentation/cli/commands/project/show/project.show.d.ts.map +1 -0
  330. package/dist/presentation/cli/commands/project/show/project.show.js +59 -0
  331. package/dist/presentation/cli/commands/project/show/project.show.js.map +1 -0
  332. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  333. package/dist/presentation/cli/commands/registry/generated-commands.js +30 -0
  334. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  335. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +0 -1
  336. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
  337. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +2 -43
  338. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
  339. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +8 -9
  340. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -1
  341. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +107 -42
  342. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -1
  343. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts +3 -2
  344. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts.map +1 -1
  345. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js +24 -10
  346. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js.map +1 -1
  347. package/dist/presentation/cli/commands/sessions/start/session.start.d.ts.map +1 -1
  348. package/dist/presentation/cli/commands/sessions/start/session.start.js +2 -5
  349. package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
  350. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts +7 -4
  351. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts.map +1 -1
  352. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js +11 -4
  353. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js.map +1 -1
  354. package/dist/presentation/shared/DesignTokens.d.ts +94 -0
  355. package/dist/presentation/shared/DesignTokens.d.ts.map +1 -0
  356. package/dist/presentation/shared/DesignTokens.js +94 -0
  357. package/dist/presentation/shared/DesignTokens.js.map +1 -0
  358. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts +12 -0
  359. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts.map +1 -0
  360. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js +21 -0
  361. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js.map +1 -0
  362. package/dist/presentation/tui/application-shell/Footer.d.ts +16 -0
  363. package/dist/presentation/tui/application-shell/Footer.d.ts.map +1 -0
  364. package/dist/presentation/tui/application-shell/Footer.js +37 -0
  365. package/dist/presentation/tui/application-shell/Footer.js.map +1 -0
  366. package/dist/presentation/tui/application-shell/Header.d.ts +10 -0
  367. package/dist/presentation/tui/application-shell/Header.d.ts.map +1 -0
  368. package/dist/presentation/tui/application-shell/Header.js +44 -0
  369. package/dist/presentation/tui/application-shell/Header.js.map +1 -0
  370. package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts +16 -0
  371. package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts.map +1 -0
  372. package/dist/presentation/tui/application-shell/NotificationDrawer.js +56 -0
  373. package/dist/presentation/tui/application-shell/NotificationDrawer.js.map +1 -0
  374. package/dist/presentation/tui/application-shell/TuiApp.d.ts +25 -0
  375. package/dist/presentation/tui/application-shell/TuiApp.d.ts.map +1 -0
  376. package/dist/presentation/tui/application-shell/TuiApp.js +230 -0
  377. package/dist/presentation/tui/application-shell/TuiApp.js.map +1 -0
  378. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts +19 -0
  379. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts.map +1 -0
  380. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js +46 -0
  381. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js.map +1 -0
  382. package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts +11 -0
  383. package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts.map +1 -0
  384. package/dist/presentation/tui/billboard/AnimatedBillboard.js +406 -0
  385. package/dist/presentation/tui/billboard/AnimatedBillboard.js.map +1 -0
  386. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts +13 -0
  387. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts.map +1 -0
  388. package/dist/presentation/tui/cockpit/AnimatedBanner.js +193 -0
  389. package/dist/presentation/tui/cockpit/AnimatedBanner.js.map +1 -0
  390. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts +10 -0
  391. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts.map +1 -0
  392. package/dist/presentation/tui/cockpit/CenteredPrompt.js +14 -0
  393. package/dist/presentation/tui/cockpit/CenteredPrompt.js.map +1 -0
  394. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts +8 -0
  395. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts.map +1 -0
  396. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js +33 -0
  397. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js.map +1 -0
  398. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts +14 -0
  399. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts.map +1 -0
  400. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js +146 -0
  401. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js.map +1 -0
  402. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts +39 -0
  403. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts.map +1 -0
  404. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js +183 -0
  405. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js.map +1 -0
  406. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts +27 -0
  407. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -0
  408. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +108 -0
  409. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -0
  410. package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts +3 -0
  411. package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts.map +1 -0
  412. package/dist/presentation/tui/cockpit/CockpitGreeterView.js +17 -0
  413. package/dist/presentation/tui/cockpit/CockpitGreeterView.js.map +1 -0
  414. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts +25 -0
  415. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -0
  416. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +217 -0
  417. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -0
  418. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts +3 -0
  419. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts.map +1 -0
  420. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js +16 -0
  421. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js.map +1 -0
  422. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts +3 -0
  423. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts.map +1 -0
  424. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js +22 -0
  425. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js.map +1 -0
  426. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts +20 -0
  427. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts.map +1 -0
  428. package/dist/presentation/tui/cockpit/CockpitScreen.js +55 -0
  429. package/dist/presentation/tui/cockpit/CockpitScreen.js.map +1 -0
  430. package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts +3 -0
  431. package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts.map +1 -0
  432. package/dist/presentation/tui/cockpit/CockpitUnprimedView.js +27 -0
  433. package/dist/presentation/tui/cockpit/CockpitUnprimedView.js.map +1 -0
  434. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts +42 -0
  435. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts.map +1 -0
  436. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js +2 -0
  437. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js.map +1 -0
  438. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts +11 -0
  439. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts.map +1 -0
  440. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js +30 -0
  441. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js.map +1 -0
  442. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts +8 -0
  443. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts.map +1 -0
  444. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js +10 -0
  445. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js.map +1 -0
  446. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts +22 -0
  447. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts.map +1 -0
  448. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js +257 -0
  449. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js.map +1 -0
  450. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts +22 -0
  451. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts.map +1 -0
  452. package/dist/presentation/tui/goals/GoalAuthoringFlow.js +227 -0
  453. package/dist/presentation/tui/goals/GoalAuthoringFlow.js.map +1 -0
  454. package/dist/presentation/tui/goals/GoalsScreen.d.ts +3 -0
  455. package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -0
  456. package/dist/presentation/tui/goals/GoalsScreen.js +159 -0
  457. package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -0
  458. package/dist/presentation/tui/index.d.ts +8 -0
  459. package/dist/presentation/tui/index.d.ts.map +1 -0
  460. package/dist/presentation/tui/index.js +5 -0
  461. package/dist/presentation/tui/index.js.map +1 -0
  462. package/dist/presentation/tui/memory/MemoryScreen.d.ts +3 -0
  463. package/dist/presentation/tui/memory/MemoryScreen.d.ts.map +1 -0
  464. package/dist/presentation/tui/memory/MemoryScreen.js +13 -0
  465. package/dist/presentation/tui/memory/MemoryScreen.js.map +1 -0
  466. package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts +14 -0
  467. package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts.map +1 -0
  468. package/dist/presentation/tui/memory/components/ComponentAddFlow.js +46 -0
  469. package/dist/presentation/tui/memory/components/ComponentAddFlow.js.map +1 -0
  470. package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts +3 -0
  471. package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts.map +1 -0
  472. package/dist/presentation/tui/memory/components/ComponentsScreen.js +17 -0
  473. package/dist/presentation/tui/memory/components/ComponentsScreen.js.map +1 -0
  474. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts +15 -0
  475. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts.map +1 -0
  476. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js +63 -0
  477. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js.map +1 -0
  478. package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts +3 -0
  479. package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts.map +1 -0
  480. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js +18 -0
  481. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js.map +1 -0
  482. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts +3 -0
  483. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts.map +1 -0
  484. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js +19 -0
  485. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js.map +1 -0
  486. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts +16 -0
  487. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts.map +1 -0
  488. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js +56 -0
  489. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js.map +1 -0
  490. package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts +14 -0
  491. package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts.map +1 -0
  492. package/dist/presentation/tui/memory/entity-browser/EntityColumn.js +21 -0
  493. package/dist/presentation/tui/memory/entity-browser/EntityColumn.js.map +1 -0
  494. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts +10 -0
  495. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts.map +1 -0
  496. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js +85 -0
  497. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js.map +1 -0
  498. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts +13 -0
  499. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts.map +1 -0
  500. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js +80 -0
  501. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js.map +1 -0
  502. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts +41 -0
  503. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts.map +1 -0
  504. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js +2 -0
  505. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js.map +1 -0
  506. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts +15 -0
  507. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts.map +1 -0
  508. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js +57 -0
  509. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js.map +1 -0
  510. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts +3 -0
  511. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts.map +1 -0
  512. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js +18 -0
  513. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js.map +1 -0
  514. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts +13 -0
  515. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts.map +1 -0
  516. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js +41 -0
  517. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js.map +1 -0
  518. package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts +3 -0
  519. package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts.map +1 -0
  520. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js +16 -0
  521. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js.map +1 -0
  522. package/dist/presentation/tui/navigation/MegaMenu.d.ts +10 -0
  523. package/dist/presentation/tui/navigation/MegaMenu.d.ts.map +1 -0
  524. package/dist/presentation/tui/navigation/MegaMenu.js +164 -0
  525. package/dist/presentation/tui/navigation/MegaMenu.js.map +1 -0
  526. package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts +17 -0
  527. package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts.map +1 -0
  528. package/dist/presentation/tui/navigation/MegaMenuDefinitions.js +162 -0
  529. package/dist/presentation/tui/navigation/MegaMenuDefinitions.js.map +1 -0
  530. package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts +36 -0
  531. package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts.map +1 -0
  532. package/dist/presentation/tui/navigation/ScreenDefinitions.js +12 -0
  533. package/dist/presentation/tui/navigation/ScreenDefinitions.js.map +1 -0
  534. package/dist/presentation/tui/navigation/ScreenRouter.d.ts +19 -0
  535. package/dist/presentation/tui/navigation/ScreenRouter.d.ts.map +1 -0
  536. package/dist/presentation/tui/navigation/ScreenRouter.js +31 -0
  537. package/dist/presentation/tui/navigation/ScreenRouter.js.map +1 -0
  538. package/dist/presentation/tui/project-initialization/InitFlow.d.ts +24 -0
  539. package/dist/presentation/tui/project-initialization/InitFlow.d.ts.map +1 -0
  540. package/dist/presentation/tui/project-initialization/InitFlow.js +629 -0
  541. package/dist/presentation/tui/project-initialization/InitFlow.js.map +1 -0
  542. package/dist/presentation/tui/sessions/SessionScreen.d.ts +3 -0
  543. package/dist/presentation/tui/sessions/SessionScreen.d.ts.map +1 -0
  544. package/dist/presentation/tui/sessions/SessionScreen.js +38 -0
  545. package/dist/presentation/tui/sessions/SessionScreen.js.map +1 -0
  546. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts +58 -0
  547. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts.map +1 -0
  548. package/dist/presentation/tui/state-reading/TuiStateReader.js +150 -0
  549. package/dist/presentation/tui/state-reading/TuiStateReader.js.map +1 -0
  550. package/dist/presentation/tui/ui-primitives/DetailPane.d.ts +15 -0
  551. package/dist/presentation/tui/ui-primitives/DetailPane.d.ts.map +1 -0
  552. package/dist/presentation/tui/ui-primitives/DetailPane.js +12 -0
  553. package/dist/presentation/tui/ui-primitives/DetailPane.js.map +1 -0
  554. package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts +11 -0
  555. package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts.map +1 -0
  556. package/dist/presentation/tui/ui-primitives/KeyBadge.js +9 -0
  557. package/dist/presentation/tui/ui-primitives/KeyBadge.js.map +1 -0
  558. package/dist/presentation/tui/ui-primitives/ListPanel.d.ts +16 -0
  559. package/dist/presentation/tui/ui-primitives/ListPanel.d.ts.map +1 -0
  560. package/dist/presentation/tui/ui-primitives/ListPanel.js +15 -0
  561. package/dist/presentation/tui/ui-primitives/ListPanel.js.map +1 -0
  562. package/dist/presentation/tui/ui-primitives/Panel.d.ts +15 -0
  563. package/dist/presentation/tui/ui-primitives/Panel.d.ts.map +1 -0
  564. package/dist/presentation/tui/ui-primitives/Panel.js +9 -0
  565. package/dist/presentation/tui/ui-primitives/Panel.js.map +1 -0
  566. package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts +8 -0
  567. package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts.map +1 -0
  568. package/dist/presentation/tui/ui-primitives/SectionHeading.js +9 -0
  569. package/dist/presentation/tui/ui-primitives/SectionHeading.js.map +1 -0
  570. package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts +9 -0
  571. package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts.map +1 -0
  572. package/dist/presentation/tui/ui-primitives/StatusIndicator.js +21 -0
  573. package/dist/presentation/tui/ui-primitives/StatusIndicator.js.map +1 -0
  574. package/dist/presentation/tui/ui-primitives/Tumbler.d.ts +18 -0
  575. package/dist/presentation/tui/ui-primitives/Tumbler.d.ts.map +1 -0
  576. package/dist/presentation/tui/ui-primitives/Tumbler.js +101 -0
  577. package/dist/presentation/tui/ui-primitives/Tumbler.js.map +1 -0
  578. package/dist/presentation/tui/wizard/Wizard.d.ts +53 -0
  579. package/dist/presentation/tui/wizard/Wizard.d.ts.map +1 -0
  580. package/dist/presentation/tui/wizard/Wizard.js +385 -0
  581. package/dist/presentation/tui/wizard/Wizard.js.map +1 -0
  582. package/dist/presentation/tui/wizard/WizardTextInput.d.ts +12 -0
  583. package/dist/presentation/tui/wizard/WizardTextInput.d.ts.map +1 -0
  584. package/dist/presentation/tui/wizard/WizardTextInput.js +39 -0
  585. package/dist/presentation/tui/wizard/WizardTextInput.js.map +1 -0
  586. package/dist/presentation/work/codifier.daemon.d.ts +3 -0
  587. package/dist/presentation/work/codifier.daemon.d.ts.map +1 -0
  588. package/dist/presentation/work/codifier.daemon.js +75 -0
  589. package/dist/presentation/work/codifier.daemon.js.map +1 -0
  590. package/dist/presentation/work/refiner.daemon.d.ts +3 -0
  591. package/dist/presentation/work/refiner.daemon.d.ts.map +1 -0
  592. package/dist/presentation/work/refiner.daemon.js +60 -0
  593. package/dist/presentation/work/refiner.daemon.js.map +1 -0
  594. package/dist/presentation/work/reviewer.daemon.d.ts +3 -0
  595. package/dist/presentation/work/reviewer.daemon.d.ts.map +1 -0
  596. package/dist/presentation/work/reviewer.daemon.js +60 -0
  597. package/dist/presentation/work/reviewer.daemon.js.map +1 -0
  598. package/package.json +5 -1
  599. package/dist/application/context/project/get/ContextualProjectView.d.ts +0 -24
  600. package/dist/application/context/project/get/ContextualProjectView.d.ts.map +0 -1
  601. package/dist/application/context/project/get/ContextualProjectView.js +0 -2
  602. package/dist/application/context/project/get/ContextualProjectView.js.map +0 -1
@@ -0,0 +1,108 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { BaseColors } from "../../shared/DesignTokens.js";
4
+ import { Panel } from "../ui-primitives/Panel.js";
5
+ import { KeyBadge } from "../ui-primitives/KeyBadge.js";
6
+ import { DAEMON_PANEL_CONTENT_WIDTH, getGlyphCellLinePrefix, getGlyphCellLineSuffix, getGlyphCellSegments, getGlyphLinePrefix, getGlyphLineSuffix, getRenderedDaemonFrame, getStyledGlyphSegments, isDaemonStatusLine, } from "./CockpitDaemonFrames.js";
7
+ const DAEMON_ACTIVE_VERBS = {
8
+ reviewer: "reviewing",
9
+ refiner: "refining",
10
+ codifier: "codifying",
11
+ };
12
+ const DAEMON_IDLE_VERBS = {
13
+ reviewer: "awaiting submissions",
14
+ refiner: "foraging",
15
+ codifier: "awaiting approvals",
16
+ };
17
+ const DAEMON_INFO_COPY = {
18
+ reviewer: {
19
+ title: "REVIEWER//",
20
+ lines: [
21
+ "Orchestrate background agents to automatically review goal implementations as soon as they submitted.",
22
+ "",
23
+ "Approved goals will get picked up by the codifier (if running).",
24
+ "Rejected goals will get requeued with documented issues to be resolved.",
25
+ ],
26
+ },
27
+ refiner: {
28
+ title: "REFINER//",
29
+ lines: [
30
+ "Automatically apply relevant memories to build goal context for the implementing agent.",
31
+ "",
32
+ "Goals are submitted when finished and ready for implementation.",
33
+ ],
34
+ },
35
+ codifier: {
36
+ title: "CODIFIER//",
37
+ lines: [
38
+ "Codify implementation results automatically as soon as goals are approved.",
39
+ "",
40
+ "Missing decisions, components and documentation will be updated before goals are finally closed.",
41
+ ],
42
+ },
43
+ };
44
+ export function CockpitDaemonPanel({ title, snapshot, pendingConfig, selected, configuring, infoVisible, children, }) {
45
+ return (React.createElement(Panel, { title: title, titleColor: selected ? BaseColors.brandBlue : BaseColors.shade3, borderColor: selected ? BaseColors.brandBlue : BaseColors.shade5, flexGrow: 3, flexBasis: 0, height: "100%", bordered: false },
46
+ React.createElement(Box, { alignItems: "center", flexDirection: "column" },
47
+ children,
48
+ React.createElement(DaemonActionLine, { snapshot: snapshot, selected: selected, infoVisible: infoVisible }),
49
+ configuring && (React.createElement(DaemonConfigWizard, { snapshot: snapshot, pendingConfig: pendingConfig, selected: selected })))));
50
+ }
51
+ export function GlyphCellDaemonFrame({ frame, frameIndex, snapshot, }) {
52
+ const statusLabel = getDaemonPanelStatusLabel(snapshot);
53
+ return (React.createElement(Box, { flexDirection: "column", flexWrap: "nowrap", width: DAEMON_PANEL_CONTENT_WIDTH }, getRenderedDaemonFrame(frame).map((line, lineIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}` },
54
+ getGlyphCellSegments(getGlyphCellLinePrefix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-prefix-${segmentIndex}`, color: segment.color }, segment.text))),
55
+ isDaemonStatusLine(lineIndex) && (React.createElement(Text, { color: getDaemonStatusColor(), bold: true }, statusLabel)),
56
+ getGlyphCellSegments(getGlyphCellLineSuffix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-suffix-${segmentIndex}`, color: segment.color }, segment.text))))))));
57
+ }
58
+ export function CodifierDaemonFrame({ frame, frameIndex, glyphColors, snapshot, }) {
59
+ const statusLabel = getDaemonPanelStatusLabel(snapshot);
60
+ return (React.createElement(Box, { flexDirection: "column", flexWrap: "nowrap", width: DAEMON_PANEL_CONTENT_WIDTH }, getRenderedDaemonFrame(frame).map((line, lineIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}` },
61
+ getStyledGlyphSegments(getGlyphLinePrefix(line, statusLabel, lineIndex), glyphColors, snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-prefix-${segmentIndex}`, color: segment.color, dimColor: segment.dimColor }, segment.text))),
62
+ isDaemonStatusLine(lineIndex) && (React.createElement(Text, { color: getDaemonStatusColor(), bold: true }, statusLabel)),
63
+ getStyledGlyphSegments(getGlyphLineSuffix(line, statusLabel, lineIndex), glyphColors, snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-suffix-${segmentIndex}`, color: segment.color, dimColor: segment.dimColor }, segment.text))))))));
64
+ }
65
+ export function DaemonInfoOverlay({ name, }) {
66
+ const info = DAEMON_INFO_COPY[name];
67
+ return (React.createElement(Box, { borderStyle: "round", borderColor: BaseColors.brandBlue, flexDirection: "column", marginBottom: 1, paddingX: 1, width: "100%" },
68
+ React.createElement(Text, { color: BaseColors.brandBlue, bold: true }, info.title),
69
+ info.lines.map((line) => (React.createElement(Text, { key: line, color: BaseColors.shade2 }, line))),
70
+ React.createElement(Text, { color: BaseColors.shade4 }, "[i] close")));
71
+ }
72
+ function DaemonActionLine({ snapshot, selected, infoVisible, }) {
73
+ const action = snapshot.status === "running" ? "stop" : "start";
74
+ const badgeColor = getDaemonShortcutBadgeColor(selected);
75
+ return (React.createElement(Box, { width: DAEMON_PANEL_CONTENT_WIDTH, marginTop: 1, gap: 1 },
76
+ React.createElement(KeyBadge, { char: "s", label: action, color: badgeColor, labelColor: BaseColors.shade4 }),
77
+ React.createElement(KeyBadge, { char: "@", label: "config", color: badgeColor, labelColor: BaseColors.shade4 }),
78
+ React.createElement(KeyBadge, { char: "i", label: infoVisible ? "info open" : "info", color: badgeColor, labelColor: BaseColors.shade4 })));
79
+ }
80
+ function DaemonConfigWizard({ snapshot, pendingConfig, selected, }) {
81
+ const config = snapshot.status === "running" ? snapshot.config : pendingConfig;
82
+ const badgeColor = getDaemonShortcutBadgeColor(selected);
83
+ return (React.createElement(Box, { width: DAEMON_PANEL_CONTENT_WIDTH, flexDirection: "column" },
84
+ React.createElement(Text, { color: BaseColors.shade4 },
85
+ "pid ",
86
+ snapshot.pid ?? "-"),
87
+ React.createElement(Box, { gap: 1 },
88
+ React.createElement(KeyBadge, { char: "a", label: config.agentId, color: badgeColor, labelColor: BaseColors.shade4 }),
89
+ React.createElement(KeyBadge, { char: "p", label: `${Math.round(config.pollIntervalMs / 1000)}s`, color: badgeColor, labelColor: BaseColors.shade4 }),
90
+ React.createElement(KeyBadge, { char: "x", label: String(config.maxRetries), color: badgeColor, labelColor: BaseColors.shade4 }))));
91
+ }
92
+ function getDaemonShortcutBadgeColor(selected) {
93
+ return selected ? BaseColors.brandBlue : BaseColors.shade4;
94
+ }
95
+ function getDaemonPanelStatusLabel(snapshot) {
96
+ const latestEvent = snapshot.events[snapshot.events.length - 1];
97
+ if (snapshot.status === "running" && latestEvent?.status === "idle") {
98
+ return `[ ${DAEMON_IDLE_VERBS[snapshot.name]} ]`;
99
+ }
100
+ const status = snapshot.status === "running"
101
+ ? DAEMON_ACTIVE_VERBS[snapshot.name]
102
+ : snapshot.status;
103
+ return `[ ${status} ]`;
104
+ }
105
+ function getDaemonStatusColor() {
106
+ return BaseColors.shade3;
107
+ }
108
+ //# sourceMappingURL=CockpitDaemonPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitDaemonPanel.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitDaemonPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GAGnB,MAAM,0BAA0B,CAAC;AAElC,MAAM,mBAAmB,GAAG;IAC1B,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;CAC2B,CAAC;AAEnD,MAAM,iBAAiB,GAAG;IACxB,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,oBAAoB;CACkB,CAAC;AAEnD,MAAM,gBAAgB,GAAG;IACvB,QAAQ,EAAE;QACR,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE;YACL,uGAAuG;YACvG,EAAE;YACF,iEAAiE;YACjE,yEAAyE;SAC1E;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE;YACL,yFAAyF;YACzF,EAAE;YACF,iEAAiE;SAClE;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE;YACL,4EAA4E;YAC5E,EAAE;YACF,kGAAkG;SACnG;KACF;CACsG,CAAC;AAE1G,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,GAST;IACC,OAAO,CACL,oBAAC,KAAK,IACJ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAC/D,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAChE,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,EACZ,MAAM,EAAC,MAAM,EACb,QAAQ,EAAE,KAAK;QAEf,oBAAC,GAAG,IAAC,UAAU,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ;YAC5C,QAAQ;YACT,oBAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB;YACD,WAAW,IAAI,CACd,oBAAC,kBAAkB,IACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GAClB,CACH,CACG,CACA,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,QAAQ,GAKT;IACC,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAExD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAE,0BAA0B,IAC5E,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CACtD,oBAAC,IAAI,IAAC,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,EAAE;QACpC,oBAAoB,CACnB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EACpD,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IACnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC;QACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,UACtC,WAAW,CACP,CACR;QACA,oBAAoB,CACnB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EACpD,QAAQ,CACT,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC/B,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IACnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC,CACG,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GAMT;IACC,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAExD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAE,0BAA0B,IAC5E,sBAAsB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CACtD,oBAAC,IAAI,IAAC,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,EAAE;QACpC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC9H,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IACzB,OAAO,CAAC,IAAI,CACR,CACR,CAAC;QACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,UACtC,WAAW,CACP,CACR;QACA,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CAC9H,oBAAC,IAAI,IACH,GAAG,EAAE,GAAG,UAAU,IAAI,SAAS,WAAW,YAAY,EAAE,EACxD,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IACzB,OAAO,CAAC,IAAI,CACR,CACR,CAAC,CACG,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,GAGL;IACC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,UAAU,CAAC,SAAS,EACjC,aAAa,EAAC,QAAQ,EACtB,YAAY,EAAE,CAAC,EACf,QAAQ,EAAE,CAAC,EACX,KAAK,EAAC,MAAM;QAEZ,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,UACpC,IAAI,CAAC,KAAK,CACN;QACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,IACtC,IAAI,CACA,CACR,CAAC;QACF,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM,gBAEvB,CACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,WAAW,GAKZ;IACC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,GAAG,IAAC,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QAC1D,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B;QACF,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B;QACF,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EACzC,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B,CACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,aAAa,EACb,QAAQ,GAKT;IACC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/E,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,GAAG,IAAC,KAAK,EAAE,0BAA0B,EAAE,aAAa,EAAC,QAAQ;QAC5D,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM;;YACvB,QAAQ,CAAC,GAAG,IAAI,GAAG,CACnB;QACP,oBAAC,GAAG,IAAC,GAAG,EAAE,CAAC;YACT,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,MAAM,CAAC,OAAO,EACrB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B;YACF,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EACrD,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B;YACF,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAChC,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B,CACE,CACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAiB;IACpD,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA+B;IAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;QACpE,OAAO,KAAK,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS;QAC1C,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAEpB,OAAO,KAAK,MAAM,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function CockpitGreeterView(): React.ReactElement;
3
+ //# sourceMappingURL=CockpitGreeterView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitGreeterView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitGreeterView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,YAAY,CAkCvD"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { BaseColors, TuiLayout } from "../../shared/DesignTokens.js";
4
+ import { CenteredPrompt } from "./CenteredPrompt.js";
5
+ export function CockpitGreeterView() {
6
+ return (React.createElement(Box, { flexDirection: "column", flexGrow: 1, width: "100%", paddingY: 1, alignItems: "center" },
7
+ React.createElement(Box, { flexDirection: "column", width: TuiLayout.bannerWidth, paddingX: 2 },
8
+ React.createElement(Box, { flexDirection: "row" },
9
+ React.createElement(Box, { flexBasis: "3%" }),
10
+ React.createElement(Box, { flexDirection: "column", flexBasis: "94%" },
11
+ React.createElement(Box, { marginTop: 1 },
12
+ React.createElement(Text, { color: BaseColors.brandBlue, wrap: "wrap" }, "Hi, I'm Jumbo. I help coding agents stay aligned with your project intent. I capture the decisions, rules, corrections, and goals that matter, then deliver the relevant context back to agents when they need it. That keeps work consistent across sessions and agents without forcing you to rebuild context every time. Get started by initializing this project.")),
13
+ React.createElement(Box, { marginTop: 2 },
14
+ React.createElement(CenteredPrompt, { keyChar: "i", prefix: "Press ", suffix: " to initialize", secondary: "or run 'jumbo init' from another terminal" }))),
15
+ React.createElement(Box, { flexBasis: "3%" })))));
16
+ }
17
+ //# sourceMappingURL=CockpitGreeterView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitGreeterView.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitGreeterView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAkB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,UAAU,kBAAkB;IAChC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ;QACpF,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YACnE,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK;gBACtB,oBAAC,GAAG,IAAC,SAAS,EAAC,IAAI,GAAG;gBACtB,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAC,KAAK;oBACzC,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;wBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,EAAC,MAAM,4WASvC,CACH;oBAEN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;wBACf,oBAAC,cAAc,IACb,OAAO,EAAC,GAAG,EACX,MAAM,EAAC,QAAQ,EACf,MAAM,EAAC,gBAAgB,EACvB,SAAS,EAAC,2CAA2C,GACrD,CACE,CACF;gBACN,oBAAC,GAAG,IAAC,SAAS,EAAC,IAAI,GAAG,CAClB,CACF,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import type { AnimatedBillboardTriggerInput } from "../billboard/AnimatedBillboard.js";
3
+ import type { ISettingsReader } from "../../../application/settings/ISettingsReader.js";
4
+ import { getCodifierFrame, getReviewerFrame, type GlyphColorMap, type GlyphPalette } from "./CockpitDaemonFrames.js";
5
+ interface LaunchAnimationSize {
6
+ readonly width: number;
7
+ readonly height: number;
8
+ }
9
+ export type LaunchAnimationRenderer = (input: AnimatedBillboardTriggerInput) => React.ReactElement;
10
+ interface CockpitLaunchpadViewProps {
11
+ shortcutsEnabled?: boolean;
12
+ launchAnimationSize?: LaunchAnimationSize;
13
+ onLaunchAnimationDone?: () => void;
14
+ launchAnimationRenderer?: LaunchAnimationRenderer;
15
+ refinerGlyphPalette?: GlyphPalette;
16
+ reviewerGlyphPalette?: GlyphPalette;
17
+ codifierGlyphColors?: GlyphColorMap;
18
+ refinerFrameDurationMs?: number;
19
+ reviewerFrameDurationMs?: number;
20
+ codifierFrameDurationMs?: number;
21
+ settingsReader?: Pick<ISettingsReader, "read" | "write">;
22
+ }
23
+ export { getCodifierFrame, getReviewerFrame };
24
+ export declare function CockpitLaunchpadView({ shortcutsEnabled, launchAnimationSize, onLaunchAnimationDone, launchAnimationRenderer, refinerGlyphPalette, reviewerGlyphPalette, codifierGlyphColors, refinerFrameDurationMs, reviewerFrameDurationMs, codifierFrameDurationMs, settingsReader, }?: CockpitLaunchpadViewProps): React.ReactElement;
25
+ //# sourceMappingURL=CockpitLaunchpadView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitLaunchpadView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitLaunchpadView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAIvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAsBxF,OAAO,EASL,gBAAgB,EAGhB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AASlC,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,EAAE,6BAA6B,KACjC,KAAK,CAAC,YAAY,CAAC;AAQxB,UAAU,yBAAyB;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,oBAAoB,CAAC,EAAE,YAAY,CAAC;IACpC,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CAC1D;AAED,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,EACnC,gBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAmD,EACnD,mBAAiD,EACjD,oBAAkD,EAClD,mBAAmD,EACnD,sBAA0D,EAC1D,uBAA4D,EAC5D,uBAA4D,EAC5D,cAAc,GACf,GAAE,yBAA8B,GAAG,KAAK,CAAC,YAAY,CAgOrD"}
@@ -0,0 +1,217 @@
1
+ import React, { useCallback, useEffect, useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import AnimatedBillboard from "../billboard/AnimatedBillboard.js";
4
+ import { BaseColors } from "../../shared/DesignTokens.js";
5
+ import { useSubprocessManager } from "../daemon-subprocesses/SubprocessManagerContext.js";
6
+ import { DEFAULT_WORKER_DAEMON_CONFIGS } from "../../../application/daemons/WorkerDaemonCatalog.js";
7
+ import { appendDaemonEventRows, findDaemonStatus, formatDaemonEventRow, getDaemonEventRows, } from "./CockpitDaemonEvents.js";
8
+ import { getNextFocusedDaemon, nextAgentConfig, nextDaemonConfigs, nextPollConfig, nextRetryConfig, } from "./CockpitDaemonConfiguration.js";
9
+ import { CODIFIER_FRAME_COUNT, DEFAULT_CODIFIER_FRAME_DURATION_MS, DEFAULT_CODIFIER_GLYPH_COLORS, DEFAULT_RANDOM_GLYPH_COLORS, DEFAULT_REFINER_FRAME_DURATION_MS, DEFAULT_REVIEWER_FRAME_DURATION_MS, REFINER_FRAME_COUNT, REVIEWER_FRAME_COUNT, getCodifierFrame, getRefinerFrame, getRenderedFrameIndex, getReviewerFrame, } from "./CockpitDaemonFrames.js";
10
+ import { CockpitDaemonPanel, CodifierDaemonFrame, DaemonInfoOverlay, GlyphCellDaemonFrame, } from "./CockpitDaemonPanel.js";
11
+ import { CockpitLaunchpadWelcome } from "./CockpitLaunchpadWelcome.js";
12
+ const COCKPIT_DAEMON_PANEL_DEFINITIONS = [
13
+ { name: "refiner", title: "REFINER//" },
14
+ { name: "reviewer", title: "REVIEWER//" },
15
+ { name: "codifier", title: "CODIFIER//" },
16
+ ];
17
+ export { getCodifierFrame, getReviewerFrame };
18
+ export function CockpitLaunchpadView({ shortcutsEnabled = true, launchAnimationSize, onLaunchAnimationDone, launchAnimationRenderer = AnimatedBillboard.trigger, refinerGlyphPalette = DEFAULT_RANDOM_GLYPH_COLORS, reviewerGlyphPalette = DEFAULT_RANDOM_GLYPH_COLORS, codifierGlyphColors = DEFAULT_CODIFIER_GLYPH_COLORS, refinerFrameDurationMs = DEFAULT_REFINER_FRAME_DURATION_MS, reviewerFrameDurationMs = DEFAULT_REVIEWER_FRAME_DURATION_MS, codifierFrameDurationMs = DEFAULT_CODIFIER_FRAME_DURATION_MS, settingsReader, } = {}) {
19
+ const subprocessManager = useSubprocessManager();
20
+ const [launchAnimationDone, setLaunchAnimationDone] = useState(launchAnimationSize === undefined);
21
+ const [reviewerFrameIndex, setReviewerFrameIndex] = useState(0);
22
+ const [refinerFrameIndex, setRefinerFrameIndex] = useState(0);
23
+ const [codifierFrameIndex, setCodifierFrameIndex] = useState(0);
24
+ const [selectedDaemon, setSelectedDaemon] = useState("refiner");
25
+ const [configuredDaemon, setConfiguredDaemon] = useState(undefined);
26
+ const [infoDaemon, setInfoDaemon] = useState(undefined);
27
+ const [welcomeVisible, setWelcomeVisible] = useState(settingsReader === undefined ? true : undefined);
28
+ const [daemonConfigs, setDaemonConfigs] = useState(DEFAULT_WORKER_DAEMON_CONFIGS);
29
+ const [daemonStatuses, setDaemonStatuses] = useState(subprocessManager.getAllStatuses());
30
+ const [daemonEventRows, setDaemonEventRows] = useState(() => getDaemonEventRows(subprocessManager.getAllStatuses(), Date.now()));
31
+ const launchAnimationActive = launchAnimationSize !== undefined && !launchAnimationDone;
32
+ useEffect(() => {
33
+ if (launchAnimationSize === undefined) {
34
+ setLaunchAnimationDone(true);
35
+ }
36
+ }, [launchAnimationSize]);
37
+ const handleLaunchAnimationDone = useCallback(() => {
38
+ setLaunchAnimationDone(true);
39
+ onLaunchAnimationDone?.();
40
+ }, [onLaunchAnimationDone]);
41
+ useEffect(() => {
42
+ let mounted = true;
43
+ if (settingsReader === undefined) {
44
+ setWelcomeVisible(true);
45
+ return () => {
46
+ mounted = false;
47
+ };
48
+ }
49
+ setWelcomeVisible(undefined);
50
+ void settingsReader.read()
51
+ .then((settings) => {
52
+ if (mounted) {
53
+ setWelcomeVisible(settings.tui?.showLaunchpadWelcome ?? true);
54
+ }
55
+ })
56
+ .catch(() => {
57
+ if (mounted) {
58
+ setWelcomeVisible(true);
59
+ }
60
+ });
61
+ return () => {
62
+ mounted = false;
63
+ };
64
+ }, [settingsReader]);
65
+ const hideWelcome = useCallback(async () => {
66
+ setWelcomeVisible(false);
67
+ if (settingsReader === undefined) {
68
+ return;
69
+ }
70
+ try {
71
+ const settings = await settingsReader.read();
72
+ await settingsReader.write({
73
+ ...settings,
74
+ tui: {
75
+ ...settings.tui,
76
+ showLaunchpadWelcome: false,
77
+ },
78
+ });
79
+ }
80
+ catch {
81
+ // Keep the in-memory dismissal even if persistence is unavailable.
82
+ }
83
+ }, [settingsReader]);
84
+ useDaemonAnimationFrames({
85
+ reviewerFrameDurationMs,
86
+ refinerFrameDurationMs,
87
+ codifierFrameDurationMs,
88
+ setReviewerFrameIndex,
89
+ setRefinerFrameIndex,
90
+ setCodifierFrameIndex,
91
+ });
92
+ useEffect(() => {
93
+ const timer = setInterval(() => {
94
+ const snapshots = subprocessManager.getAllStatuses();
95
+ setDaemonStatuses(snapshots);
96
+ setDaemonEventRows((currentRows) => appendDaemonEventRows(currentRows, getDaemonEventRows(snapshots, Date.now())));
97
+ }, 500);
98
+ return () => clearInterval(timer);
99
+ }, [subprocessManager]);
100
+ useInput((input, key) => {
101
+ if (key.tab || input === "\t") {
102
+ setSelectedDaemon((currentDaemon) => {
103
+ const nextDaemon = getNextFocusedDaemon(currentDaemon);
104
+ setInfoDaemon((currentInfoDaemon) => currentInfoDaemon === undefined ? undefined : nextDaemon);
105
+ return nextDaemon;
106
+ });
107
+ }
108
+ if (input === "s" || input === "S") {
109
+ void toggleDaemon(selectedDaemon, subprocessManager, daemonConfigs[selectedDaemon], setDaemonStatuses, setDaemonEventRows);
110
+ }
111
+ if (input === "@") {
112
+ setConfiguredDaemon((currentDaemon) => currentDaemon === selectedDaemon ? undefined : selectedDaemon);
113
+ }
114
+ if (input === "i" || input === "I") {
115
+ setInfoDaemon((currentDaemon) => currentDaemon === selectedDaemon ? undefined : selectedDaemon);
116
+ }
117
+ if ((input === "x" || input === "X") &&
118
+ welcomeVisible === true &&
119
+ configuredDaemon === undefined) {
120
+ void hideWelcome();
121
+ return;
122
+ }
123
+ if (input === "a" || input === "A") {
124
+ if (configuredDaemon !== undefined) {
125
+ setDaemonConfigs((configs) => nextDaemonConfigs(configs, configuredDaemon, nextAgentConfig));
126
+ }
127
+ }
128
+ if (input === "p" || input === "P") {
129
+ if (configuredDaemon !== undefined) {
130
+ setDaemonConfigs((configs) => nextDaemonConfigs(configs, configuredDaemon, nextPollConfig));
131
+ }
132
+ }
133
+ if (input === "x" || input === "X") {
134
+ if (configuredDaemon !== undefined) {
135
+ setDaemonConfigs((configs) => nextDaemonConfigs(configs, configuredDaemon, nextRetryConfig));
136
+ }
137
+ }
138
+ }, { isActive: shortcutsEnabled });
139
+ const daemonStatusByName = Object.fromEntries(COCKPIT_DAEMON_PANEL_DEFINITIONS.map(({ name }) => [
140
+ name,
141
+ findDaemonStatus(daemonStatuses, name),
142
+ ]));
143
+ const daemonFrameIndexByName = {
144
+ refiner: getRenderedFrameIndex(daemonStatusByName.refiner, refinerFrameIndex),
145
+ reviewer: getRenderedFrameIndex(daemonStatusByName.reviewer, reviewerFrameIndex),
146
+ codifier: getRenderedFrameIndex(daemonStatusByName.codifier, codifierFrameIndex),
147
+ };
148
+ if (launchAnimationActive) {
149
+ return (React.createElement(Box, { flexDirection: "column", flexGrow: 1, width: "100%", height: "100%" }, launchAnimationRenderer({
150
+ height: launchAnimationSize.height,
151
+ width: launchAnimationSize.width,
152
+ onDone: handleLaunchAnimationDone,
153
+ })));
154
+ }
155
+ return (React.createElement(Box, { flexDirection: "column", width: "100%", height: "100%", paddingX: 1 },
156
+ welcomeVisible === true && (React.createElement(CockpitLaunchpadWelcome, null)),
157
+ React.createElement(Box, { flexDirection: "row", flexShrink: 0, height: 13, width: "100%", gap: 1, marginY: 1 }, COCKPIT_DAEMON_PANEL_DEFINITIONS.map(({ name, title }) => (React.createElement(CockpitDaemonPanel, { key: name, title: title, selected: selectedDaemon === name, configuring: configuredDaemon === name, infoVisible: infoDaemon === name, snapshot: daemonStatusByName[name], pendingConfig: daemonConfigs[name] }, renderDaemonFrame({
158
+ name,
159
+ frameIndex: daemonFrameIndexByName[name],
160
+ snapshot: daemonStatusByName[name],
161
+ refinerGlyphPalette,
162
+ reviewerGlyphPalette,
163
+ codifierGlyphColors,
164
+ }))))),
165
+ React.createElement(Box, { flexDirection: "column", flexGrow: 1, flexBasis: 0, width: "100%", paddingY: 1 },
166
+ infoDaemon !== undefined && (React.createElement(DaemonInfoOverlay, { name: infoDaemon })),
167
+ React.createElement(Text, { color: BaseColors.shade2, bold: true }, "EVENTS//"),
168
+ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, daemonEventRows.map((row) => (React.createElement(Text, { key: row.key, color: row.color }, formatDaemonEventRow(row))))))));
169
+ }
170
+ function renderDaemonFrame({ name, frameIndex, snapshot, refinerGlyphPalette, reviewerGlyphPalette, codifierGlyphColors, }) {
171
+ if (name === "codifier") {
172
+ return (React.createElement(CodifierDaemonFrame, { frame: getCodifierFrame(frameIndex), frameIndex: frameIndex, glyphColors: codifierGlyphColors, snapshot: snapshot }));
173
+ }
174
+ if (name === "reviewer") {
175
+ return (React.createElement(GlyphCellDaemonFrame, { frame: getReviewerFrame(frameIndex, reviewerGlyphPalette), frameIndex: frameIndex, snapshot: snapshot }));
176
+ }
177
+ return (React.createElement(GlyphCellDaemonFrame, { frame: getRefinerFrame(frameIndex, refinerGlyphPalette), frameIndex: frameIndex, snapshot: snapshot }));
178
+ }
179
+ function useDaemonAnimationFrames({ reviewerFrameDurationMs, refinerFrameDurationMs, codifierFrameDurationMs, setReviewerFrameIndex, setRefinerFrameIndex, setCodifierFrameIndex, }) {
180
+ useEffect(() => {
181
+ if (reviewerFrameDurationMs <= 0)
182
+ return;
183
+ const timer = setInterval(() => {
184
+ setReviewerFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % REVIEWER_FRAME_COUNT);
185
+ }, reviewerFrameDurationMs);
186
+ return () => clearInterval(timer);
187
+ }, [reviewerFrameDurationMs, setReviewerFrameIndex]);
188
+ useEffect(() => {
189
+ if (REFINER_FRAME_COUNT <= 1 || refinerFrameDurationMs <= 0)
190
+ return;
191
+ const timer = setInterval(() => {
192
+ setRefinerFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % REFINER_FRAME_COUNT);
193
+ }, refinerFrameDurationMs);
194
+ return () => clearInterval(timer);
195
+ }, [refinerFrameDurationMs, setRefinerFrameIndex]);
196
+ useEffect(() => {
197
+ if (codifierFrameDurationMs <= 0)
198
+ return;
199
+ const timer = setInterval(() => {
200
+ setCodifierFrameIndex((previousFrameIndex) => (previousFrameIndex + 1) % CODIFIER_FRAME_COUNT);
201
+ }, codifierFrameDurationMs);
202
+ return () => clearInterval(timer);
203
+ }, [codifierFrameDurationMs, setCodifierFrameIndex]);
204
+ }
205
+ async function toggleDaemon(name, manager, config, setDaemonStatuses, setDaemonEventRows) {
206
+ const snapshot = manager.getStatus(name);
207
+ if (snapshot.status === "running") {
208
+ await manager.terminate(name);
209
+ }
210
+ else {
211
+ await manager.spawn(name, config);
212
+ }
213
+ const snapshots = manager.getAllStatuses();
214
+ setDaemonStatuses(snapshots);
215
+ setDaemonEventRows((currentRows) => appendDaemonEventRows(currentRows, getDaemonEventRows(snapshots, Date.now())));
216
+ }
217
+ //# sourceMappingURL=CockpitLaunchpadView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitLaunchpadView.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitLaunchpadView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function CockpitLaunchpadWelcome(): React.ReactElement;
3
+ //# sourceMappingURL=CockpitLaunchpadWelcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitLaunchpadWelcome.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitLaunchpadWelcome.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,wBAAgB,uBAAuB,IAAI,KAAK,CAAC,YAAY,CAmC5D"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { BaseColors } from "../../shared/DesignTokens.js";
4
+ import { KeyBadge } from "../ui-primitives/KeyBadge.js";
5
+ export function CockpitLaunchpadWelcome() {
6
+ return (React.createElement(Box, { flexDirection: "column", flexShrink: 0, paddingX: 1, marginY: 1, borderColor: BaseColors.brandBlue, borderStyle: "round" },
7
+ React.createElement(Box, { flexDirection: "row" },
8
+ React.createElement(Text, { color: BaseColors.brandBlue }, "Welcome//")),
9
+ React.createElement(Box, { flexDirection: "row" },
10
+ React.createElement(Text, { color: BaseColors.shade1 }, "Run Jumbo worker daemons to keep goal workflows moving. Each worker watches Jumbo state, starts your configured agent when a goal is ready, and prompts it through the next CLI step: refinement, review, or codification.")),
11
+ React.createElement(Box, { flexDirection: "row", marginTop: 1 },
12
+ React.createElement(Text, { color: BaseColors.shade1 }, "You define and prioritize the work; Jumbo handles the repeatable agent handoffs.")),
13
+ React.createElement(Box, { width: "100%", justifyContent: "flex-end" },
14
+ React.createElement(KeyBadge, { char: "x", label: "hide", color: BaseColors.brandBlue, labelColor: BaseColors.shade4 }))));
15
+ }
16
+ //# sourceMappingURL=CockpitLaunchpadWelcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitLaunchpadWelcome.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitLaunchpadWelcome.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,UAAU,uBAAuB;IACrC,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,EACV,WAAW,EAAE,UAAU,CAAC,SAAS,EACjC,WAAW,EAAC,OAAO;QAEnB,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK;YACtB,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,SAAS,gBAE1B,CACH;QACN,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK;YACtB,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM,iOAEvB,CACH;QACN,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAE,CAAC;YACnC,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,MAAM,uFAEvB,CACH;QACN,oBAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,cAAc,EAAC,UAAU;YACzC,oBAAC,QAAQ,IACP,IAAI,EAAC,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,SAAS,EAC3B,UAAU,EAAE,UAAU,CAAC,MAAM,GAC7B,CACE,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function CockpitPrimedEmptyView(): React.ReactElement;
3
+ //# sourceMappingURL=CockpitPrimedEmptyView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitPrimedEmptyView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitPrimedEmptyView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,wBAAgB,sBAAsB,IAAI,KAAK,CAAC,YAAY,CA2C3D"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { SemanticColors, TuiLayout } from "../../shared/DesignTokens.js";
4
+ import { CenteredPrompt } from "./CenteredPrompt.js";
5
+ import { SectionHeading } from "../ui-primitives/SectionHeading.js";
6
+ export function CockpitPrimedEmptyView() {
7
+ return (React.createElement(Box, { flexDirection: "column", flexGrow: 1, width: "100%", paddingY: 1, alignItems: "center" },
8
+ React.createElement(Box, { flexDirection: "column", width: TuiLayout.bannerWidth, paddingX: 2 },
9
+ React.createElement(Box, { marginTop: 1, flexDirection: "column", alignItems: "center" },
10
+ React.createElement(Text, { color: SemanticColors.primary, wrap: "wrap" }, "Project memory is stored. Ready to create your first goal.")),
11
+ React.createElement(Box, { marginTop: 2 },
12
+ React.createElement(CenteredPrompt, { keyChar: "g", prefix: "Press ", suffix: " to add a goal", secondary: "or run 'jumbo goal add' from another terminal" })),
13
+ React.createElement(Box, { marginTop: 1 },
14
+ React.createElement(SectionHeading, { title: "A PRIMER ON GOALS" })),
15
+ React.createElement(Box, { marginTop: 1 },
16
+ React.createElement(Text, { color: SemanticColors.primary, wrap: "wrap" }, "With Jumbo, you define work as goals, not open-ended agent prompts. A goal is the unit of work: an objective, success criteria, and scope.")),
17
+ React.createElement(Box, { marginTop: 1 },
18
+ React.createElement(Text, { color: SemanticColors.primary, wrap: "wrap" }, "Goals give project memory a single object to organize around. When an agent starts the goal with the Jumbo CLI, Jumbo returns focused project knowledge and workflow instructions for that goal.")),
19
+ React.createElement(Box, { marginTop: 1 },
20
+ React.createElement(Text, { color: SemanticColors.primary, wrap: "wrap" }, "New memories are captured only through explicit Jumbo commands run by the agent or by you as corrections, decisions, and discoveries arise during the work.")))));
21
+ }
22
+ //# sourceMappingURL=CockpitPrimedEmptyView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitPrimedEmptyView.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitPrimedEmptyView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,UAAU,sBAAsB;IACpC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ;QACpF,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;YACnE,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ;gBAC3D,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,iEAEzC,CACH;YACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,cAAc,IACb,OAAO,EAAC,GAAG,EACX,MAAM,EAAC,QAAQ,EACf,MAAM,EAAC,gBAAgB,EACvB,SAAS,EAAC,+CAA+C,GACzD,CACE;YACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,cAAc,IAAC,KAAK,EAAC,mBAAmB,GAAG,CACxC;YACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,iJAGzC,CACH;YACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,uMAIzC,CACH;YACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;gBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,kKAIzC,CACH,CACF,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import type { LaunchAnimationRenderer } from "./CockpitLaunchpadView.js";
3
+ import type { ISettingsReader } from "../../../application/settings/ISettingsReader.js";
4
+ export type CockpitState = "uninitialized" | "unprimed" | "primed-empty" | "primed";
5
+ interface CockpitScreenProps {
6
+ state?: CockpitState;
7
+ shortcutsEnabled?: boolean;
8
+ terminalWidth?: number;
9
+ terminalHeight?: number;
10
+ launchAnimationEnabled?: boolean;
11
+ bannerAnimationComplete?: boolean;
12
+ billboardAnimationComplete?: boolean;
13
+ onBannerAnimationComplete?: () => void;
14
+ onBillboardAnimationComplete?: () => void;
15
+ launchAnimationRenderer?: LaunchAnimationRenderer;
16
+ settingsReader?: Pick<ISettingsReader, "read" | "write">;
17
+ }
18
+ export declare function CockpitScreen({ state, shortcutsEnabled, terminalWidth, terminalHeight, launchAnimationEnabled, bannerAnimationComplete, billboardAnimationComplete, onBannerAnimationComplete, onBillboardAnimationComplete, launchAnimationRenderer, settingsReader, }?: CockpitScreenProps): React.ReactElement;
19
+ export {};
20
+ //# sourceMappingURL=CockpitScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitScreen.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAExF,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,UAAU,GACV,cAAc,GACd,QAAQ,CAAC;AAOb,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,cAAc,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CAC1D;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAiC,EACjC,gBAAuB,EACvB,aAAsC,EACtC,cAA4C,EAC5C,sBAA6B,EAC7B,uBAAuB,EACvB,0BAAkC,EAClC,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,cAAc,GACf,GAAE,kBAAuB,GAAG,KAAK,CAAC,YAAY,CA6E9C"}
@@ -0,0 +1,55 @@
1
+ import React, { useState, useCallback, useMemo } from "react";
2
+ import { Box } from "ink";
3
+ import { AnimatedBanner } from "./AnimatedBanner.js";
4
+ import { generateCustomInfoBoxLines } from "../../cli/banner/AnimationFrames.js";
5
+ import { CockpitGreeterView } from "./CockpitGreeterView.js";
6
+ import { CockpitUnprimedView } from "./CockpitUnprimedView.js";
7
+ import { CockpitPrimedEmptyView } from "./CockpitPrimedEmptyView.js";
8
+ import { CockpitLaunchpadView } from "./CockpitLaunchpadView.js";
9
+ const PLACEHOLDER_COCKPIT_STATE = "uninitialized";
10
+ const PLACEHOLDER_VERSION = "0.0.0";
11
+ const DEFAULT_TERMINAL_WIDTH = 80;
12
+ const DEFAULT_COCKPIT_BODY_HEIGHT = 22;
13
+ export function CockpitScreen({ state = PLACEHOLDER_COCKPIT_STATE, shortcutsEnabled = true, terminalWidth = DEFAULT_TERMINAL_WIDTH, terminalHeight = DEFAULT_COCKPIT_BODY_HEIGHT, launchAnimationEnabled = true, bannerAnimationComplete, billboardAnimationComplete = false, onBannerAnimationComplete, onBillboardAnimationComplete, launchAnimationRenderer, settingsReader, } = {}) {
14
+ const [localBannerComplete, setLocalBannerComplete] = useState(!launchAnimationEnabled);
15
+ const bannerComplete = !launchAnimationEnabled ||
16
+ bannerAnimationComplete === true ||
17
+ localBannerComplete;
18
+ const bannerAnimationActive = launchAnimationEnabled && !bannerComplete;
19
+ const billboardAnimationActive = launchAnimationEnabled && !billboardAnimationComplete;
20
+ const bannerPersists = state === "uninitialized" || state === "unprimed";
21
+ const shouldRenderBanner = state !== "primed" && (bannerAnimationActive || bannerPersists);
22
+ const shouldRenderContent = state === "primed" || bannerComplete;
23
+ const launchAnimationSize = useMemo(() => ({
24
+ height: Math.max(1, Math.floor(terminalHeight)),
25
+ width: Math.max(1, Math.floor(terminalWidth)),
26
+ }), [terminalHeight, terminalWidth]);
27
+ const handleBannerComplete = useCallback(() => {
28
+ setLocalBannerComplete(true);
29
+ onBannerAnimationComplete?.();
30
+ }, [onBannerAnimationComplete]);
31
+ const infoBoxLines = useMemo(() => {
32
+ if (state === "uninitialized") {
33
+ return generateCustomInfoBoxLines([
34
+ { label: "Directory", value: process.cwd() },
35
+ { label: "Status", value: "Uninitialized" },
36
+ ]);
37
+ }
38
+ if (state === "unprimed") {
39
+ return generateCustomInfoBoxLines([
40
+ { label: "Directory", value: process.cwd() },
41
+ { label: "Status", value: "Ready" },
42
+ ]);
43
+ }
44
+ return undefined;
45
+ }, [state]);
46
+ return (React.createElement(Box, { flexDirection: "column", flexGrow: 1, width: "100%" },
47
+ shouldRenderBanner && (React.createElement(Box, { alignSelf: "center", marginTop: 1, flexShrink: 0 },
48
+ React.createElement(AnimatedBanner, { onComplete: handleBannerComplete, persist: bannerPersists, version: PLACEHOLDER_VERSION, infoBoxLines: infoBoxLines, animated: bannerAnimationActive }))),
49
+ shouldRenderContent && (React.createElement(Box, { flexDirection: "column", flexGrow: 1, width: "100%" },
50
+ state === "uninitialized" && React.createElement(CockpitGreeterView, null),
51
+ state === "unprimed" && React.createElement(CockpitUnprimedView, null),
52
+ state === "primed-empty" && React.createElement(CockpitPrimedEmptyView, null),
53
+ state === "primed" && (React.createElement(CockpitLaunchpadView, { shortcutsEnabled: shortcutsEnabled, launchAnimationSize: billboardAnimationActive ? launchAnimationSize : undefined, onLaunchAnimationDone: onBillboardAnimationComplete, launchAnimationRenderer: launchAnimationRenderer, settingsReader: settingsReader }))))));
54
+ }
55
+ //# sourceMappingURL=CockpitScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitScreen.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare function CockpitUnprimedView(): React.ReactElement;
3
+ //# sourceMappingURL=CockpitUnprimedView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CockpitUnprimedView.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/CockpitUnprimedView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,wBAAgB,mBAAmB,IAAI,KAAK,CAAC,YAAY,CA8CxD"}