jumbo-cli 3.1.0 → 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 (597) 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/get/SessionContext.d.ts +2 -2
  181. package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +1 -1
  182. package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
  183. package/dist/application/context/sessions/get/SessionContextQueryHandler.js +3 -1
  184. package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
  185. package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +2 -7
  186. package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
  187. package/dist/application/context/sessions/start/LocalStartSessionGateway.js +4 -35
  188. package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
  189. package/dist/application/context/sessions/start/SessionStartResponse.d.ts +4 -4
  190. package/dist/application/context/sessions/start/SessionStartResponse.d.ts.map +1 -1
  191. package/dist/application/daemons/IProcessManager.d.ts +28 -0
  192. package/dist/application/daemons/IProcessManager.d.ts.map +1 -0
  193. package/dist/application/daemons/IProcessManager.js +2 -0
  194. package/dist/application/daemons/IProcessManager.js.map +1 -0
  195. package/dist/application/daemons/IShutdownSignal.d.ts +5 -0
  196. package/dist/application/daemons/IShutdownSignal.d.ts.map +1 -0
  197. package/dist/application/daemons/IShutdownSignal.js +2 -0
  198. package/dist/application/daemons/IShutdownSignal.js.map +1 -0
  199. package/dist/application/daemons/ITicker.d.ts +4 -0
  200. package/dist/application/daemons/ITicker.d.ts.map +1 -0
  201. package/dist/application/daemons/ITicker.js +2 -0
  202. package/dist/application/daemons/ITicker.js.map +1 -0
  203. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts +30 -0
  204. package/dist/application/daemons/IWorkerDaemonProcessController.d.ts.map +1 -0
  205. package/dist/application/daemons/IWorkerDaemonProcessController.js +2 -0
  206. package/dist/application/daemons/IWorkerDaemonProcessController.js.map +1 -0
  207. package/dist/application/daemons/PollingLoop.d.ts +13 -0
  208. package/dist/application/daemons/PollingLoop.d.ts.map +1 -0
  209. package/dist/application/daemons/PollingLoop.js +15 -0
  210. package/dist/application/daemons/PollingLoop.js.map +1 -0
  211. package/dist/application/daemons/WorkerDaemonCatalog.d.ts +11 -0
  212. package/dist/application/daemons/WorkerDaemonCatalog.d.ts.map +1 -0
  213. package/dist/application/daemons/WorkerDaemonCatalog.js +12 -0
  214. package/dist/application/daemons/WorkerDaemonCatalog.js.map +1 -0
  215. package/dist/application/host/IApplicationContainer.d.ts +6 -0
  216. package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
  217. package/dist/application/settings/Settings.d.ts +11 -0
  218. package/dist/application/settings/Settings.d.ts.map +1 -1
  219. package/dist/cli.js +68 -5
  220. package/dist/cli.js.map +1 -1
  221. package/dist/domain/project/JumboMdContent.js +1 -1
  222. package/dist/infrastructure/agents/AgentCliGateway.d.ts +15 -0
  223. package/dist/infrastructure/agents/AgentCliGateway.d.ts.map +1 -0
  224. package/dist/infrastructure/agents/AgentCliGateway.js +82 -0
  225. package/dist/infrastructure/agents/AgentCliGateway.js.map +1 -0
  226. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts +8 -0
  227. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts.map +1 -1
  228. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js +45 -0
  229. package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js.map +1 -1
  230. package/dist/infrastructure/context/decisions/migrations/002-add-decision-search-indexes.sql +11 -0
  231. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts +3 -0
  232. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts.map +1 -1
  233. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js +57 -0
  234. package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js.map +1 -1
  235. package/dist/infrastructure/context/dependencies/migrations/003-add-dependency-search-indexes.sql +12 -0
  236. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts +8 -0
  237. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts.map +1 -1
  238. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js +31 -0
  239. package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js.map +1 -1
  240. package/dist/infrastructure/context/guidelines/migrations/003-add-guideline-search-indexes.sql +17 -0
  241. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts +8 -0
  242. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts.map +1 -1
  243. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js +31 -0
  244. package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js.map +1 -1
  245. package/dist/infrastructure/context/invariants/migrations/003-add-invariant-search-indexes.sql +6 -0
  246. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts +5 -0
  247. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts.map +1 -1
  248. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js +34 -2
  249. package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js.map +1 -1
  250. package/dist/infrastructure/daemons/IntervalTicker.d.ts +7 -0
  251. package/dist/infrastructure/daemons/IntervalTicker.d.ts.map +1 -0
  252. package/dist/infrastructure/daemons/IntervalTicker.js +11 -0
  253. package/dist/infrastructure/daemons/IntervalTicker.js.map +1 -0
  254. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +12 -0
  255. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -0
  256. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +56 -0
  257. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -0
  258. package/dist/infrastructure/daemons/ProcessSignalSource.d.ts +10 -0
  259. package/dist/infrastructure/daemons/ProcessSignalSource.d.ts.map +1 -0
  260. package/dist/infrastructure/daemons/ProcessSignalSource.js +24 -0
  261. package/dist/infrastructure/daemons/ProcessSignalSource.js.map +1 -0
  262. package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
  263. package/dist/infrastructure/host/HostBuilder.js +16 -1
  264. package/dist/infrastructure/host/HostBuilder.js.map +1 -1
  265. package/dist/infrastructure/logging/FileLogger.js +1 -1
  266. package/dist/infrastructure/settings/DefaultSettings.d.ts.map +1 -1
  267. package/dist/infrastructure/settings/DefaultSettings.js +3 -0
  268. package/dist/infrastructure/settings/DefaultSettings.js.map +1 -1
  269. package/dist/infrastructure/settings/FsSettingsInitializer.d.ts.map +1 -1
  270. package/dist/infrastructure/settings/FsSettingsInitializer.js +6 -0
  271. package/dist/infrastructure/settings/FsSettingsInitializer.js.map +1 -1
  272. package/dist/infrastructure/settings/FsSettingsReader.d.ts.map +1 -1
  273. package/dist/infrastructure/settings/FsSettingsReader.js +10 -0
  274. package/dist/infrastructure/settings/FsSettingsReader.js.map +1 -1
  275. package/dist/presentation/cli/AppRunner.d.ts +7 -1
  276. package/dist/presentation/cli/AppRunner.d.ts.map +1 -1
  277. package/dist/presentation/cli/AppRunner.js +10 -5
  278. package/dist/presentation/cli/AppRunner.js.map +1 -1
  279. package/dist/presentation/cli/CliBootstrapPlan.d.ts +12 -0
  280. package/dist/presentation/cli/CliBootstrapPlan.d.ts.map +1 -0
  281. package/dist/presentation/cli/CliBootstrapPlan.js +23 -0
  282. package/dist/presentation/cli/CliBootstrapPlan.js.map +1 -0
  283. package/dist/presentation/cli/banner/AnimationFrames.d.ts +6 -1
  284. package/dist/presentation/cli/banner/AnimationFrames.d.ts.map +1 -1
  285. package/dist/presentation/cli/banner/AnimationFrames.js +307 -288
  286. package/dist/presentation/cli/banner/AnimationFrames.js.map +1 -1
  287. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts +17 -0
  288. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts.map +1 -0
  289. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js +90 -0
  290. package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js.map +1 -0
  291. package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts +22 -0
  292. package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts.map +1 -0
  293. package/dist/presentation/cli/commands/decisions/search/decisions.search.js +93 -0
  294. package/dist/presentation/cli/commands/decisions/search/decisions.search.js.map +1 -0
  295. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts +16 -0
  296. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts.map +1 -0
  297. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js +85 -0
  298. package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js.map +1 -0
  299. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts +21 -0
  300. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts.map +1 -0
  301. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js +111 -0
  302. package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js.map +1 -0
  303. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts +22 -0
  304. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts.map +1 -0
  305. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js +86 -0
  306. package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js.map +1 -0
  307. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts +21 -0
  308. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts.map +1 -0
  309. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js +92 -0
  310. package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js.map +1 -0
  311. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts +22 -0
  312. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts.map +1 -0
  313. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js +79 -0
  314. package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js.map +1 -0
  315. package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts +20 -0
  316. package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts.map +1 -0
  317. package/dist/presentation/cli/commands/invariants/search/invariants.search.js +80 -0
  318. package/dist/presentation/cli/commands/invariants/search/invariants.search.js.map +1 -0
  319. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts +14 -0
  320. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts.map +1 -0
  321. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js +84 -0
  322. package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js.map +1 -0
  323. package/dist/presentation/cli/commands/project/show/project.show.d.ts +12 -0
  324. package/dist/presentation/cli/commands/project/show/project.show.d.ts.map +1 -0
  325. package/dist/presentation/cli/commands/project/show/project.show.js +59 -0
  326. package/dist/presentation/cli/commands/project/show/project.show.js.map +1 -0
  327. package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
  328. package/dist/presentation/cli/commands/registry/generated-commands.js +30 -0
  329. package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
  330. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +1 -1
  331. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
  332. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +3 -2
  333. package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
  334. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +8 -9
  335. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -1
  336. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +107 -42
  337. package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -1
  338. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts +3 -2
  339. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts.map +1 -1
  340. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js +24 -10
  341. package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js.map +1 -1
  342. package/dist/presentation/cli/commands/sessions/start/session.start.d.ts.map +1 -1
  343. package/dist/presentation/cli/commands/sessions/start/session.start.js +2 -5
  344. package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
  345. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts +7 -4
  346. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts.map +1 -1
  347. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js +11 -4
  348. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js.map +1 -1
  349. package/dist/presentation/shared/DesignTokens.d.ts +94 -0
  350. package/dist/presentation/shared/DesignTokens.d.ts.map +1 -0
  351. package/dist/presentation/shared/DesignTokens.js +94 -0
  352. package/dist/presentation/shared/DesignTokens.js.map +1 -0
  353. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts +12 -0
  354. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts.map +1 -0
  355. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js +21 -0
  356. package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js.map +1 -0
  357. package/dist/presentation/tui/application-shell/Footer.d.ts +16 -0
  358. package/dist/presentation/tui/application-shell/Footer.d.ts.map +1 -0
  359. package/dist/presentation/tui/application-shell/Footer.js +37 -0
  360. package/dist/presentation/tui/application-shell/Footer.js.map +1 -0
  361. package/dist/presentation/tui/application-shell/Header.d.ts +10 -0
  362. package/dist/presentation/tui/application-shell/Header.d.ts.map +1 -0
  363. package/dist/presentation/tui/application-shell/Header.js +44 -0
  364. package/dist/presentation/tui/application-shell/Header.js.map +1 -0
  365. package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts +16 -0
  366. package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts.map +1 -0
  367. package/dist/presentation/tui/application-shell/NotificationDrawer.js +56 -0
  368. package/dist/presentation/tui/application-shell/NotificationDrawer.js.map +1 -0
  369. package/dist/presentation/tui/application-shell/TuiApp.d.ts +25 -0
  370. package/dist/presentation/tui/application-shell/TuiApp.d.ts.map +1 -0
  371. package/dist/presentation/tui/application-shell/TuiApp.js +230 -0
  372. package/dist/presentation/tui/application-shell/TuiApp.js.map +1 -0
  373. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts +19 -0
  374. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts.map +1 -0
  375. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js +46 -0
  376. package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js.map +1 -0
  377. package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts +11 -0
  378. package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts.map +1 -0
  379. package/dist/presentation/tui/billboard/AnimatedBillboard.js +406 -0
  380. package/dist/presentation/tui/billboard/AnimatedBillboard.js.map +1 -0
  381. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts +13 -0
  382. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts.map +1 -0
  383. package/dist/presentation/tui/cockpit/AnimatedBanner.js +193 -0
  384. package/dist/presentation/tui/cockpit/AnimatedBanner.js.map +1 -0
  385. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts +10 -0
  386. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts.map +1 -0
  387. package/dist/presentation/tui/cockpit/CenteredPrompt.js +14 -0
  388. package/dist/presentation/tui/cockpit/CenteredPrompt.js.map +1 -0
  389. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts +8 -0
  390. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts.map +1 -0
  391. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js +33 -0
  392. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js.map +1 -0
  393. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts +14 -0
  394. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts.map +1 -0
  395. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js +146 -0
  396. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js.map +1 -0
  397. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts +39 -0
  398. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts.map +1 -0
  399. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js +183 -0
  400. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js.map +1 -0
  401. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts +27 -0
  402. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -0
  403. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +108 -0
  404. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -0
  405. package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts +3 -0
  406. package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts.map +1 -0
  407. package/dist/presentation/tui/cockpit/CockpitGreeterView.js +17 -0
  408. package/dist/presentation/tui/cockpit/CockpitGreeterView.js.map +1 -0
  409. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts +25 -0
  410. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -0
  411. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +217 -0
  412. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -0
  413. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts +3 -0
  414. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts.map +1 -0
  415. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js +16 -0
  416. package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js.map +1 -0
  417. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts +3 -0
  418. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts.map +1 -0
  419. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js +22 -0
  420. package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js.map +1 -0
  421. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts +20 -0
  422. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts.map +1 -0
  423. package/dist/presentation/tui/cockpit/CockpitScreen.js +55 -0
  424. package/dist/presentation/tui/cockpit/CockpitScreen.js.map +1 -0
  425. package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts +3 -0
  426. package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts.map +1 -0
  427. package/dist/presentation/tui/cockpit/CockpitUnprimedView.js +27 -0
  428. package/dist/presentation/tui/cockpit/CockpitUnprimedView.js.map +1 -0
  429. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts +42 -0
  430. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts.map +1 -0
  431. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js +2 -0
  432. package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js.map +1 -0
  433. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts +11 -0
  434. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts.map +1 -0
  435. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js +30 -0
  436. package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js.map +1 -0
  437. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts +8 -0
  438. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts.map +1 -0
  439. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js +10 -0
  440. package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js.map +1 -0
  441. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts +22 -0
  442. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts.map +1 -0
  443. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js +257 -0
  444. package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js.map +1 -0
  445. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts +22 -0
  446. package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts.map +1 -0
  447. package/dist/presentation/tui/goals/GoalAuthoringFlow.js +227 -0
  448. package/dist/presentation/tui/goals/GoalAuthoringFlow.js.map +1 -0
  449. package/dist/presentation/tui/goals/GoalsScreen.d.ts +3 -0
  450. package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -0
  451. package/dist/presentation/tui/goals/GoalsScreen.js +159 -0
  452. package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -0
  453. package/dist/presentation/tui/index.d.ts +8 -0
  454. package/dist/presentation/tui/index.d.ts.map +1 -0
  455. package/dist/presentation/tui/index.js +5 -0
  456. package/dist/presentation/tui/index.js.map +1 -0
  457. package/dist/presentation/tui/memory/MemoryScreen.d.ts +3 -0
  458. package/dist/presentation/tui/memory/MemoryScreen.d.ts.map +1 -0
  459. package/dist/presentation/tui/memory/MemoryScreen.js +13 -0
  460. package/dist/presentation/tui/memory/MemoryScreen.js.map +1 -0
  461. package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts +14 -0
  462. package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts.map +1 -0
  463. package/dist/presentation/tui/memory/components/ComponentAddFlow.js +46 -0
  464. package/dist/presentation/tui/memory/components/ComponentAddFlow.js.map +1 -0
  465. package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts +3 -0
  466. package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts.map +1 -0
  467. package/dist/presentation/tui/memory/components/ComponentsScreen.js +17 -0
  468. package/dist/presentation/tui/memory/components/ComponentsScreen.js.map +1 -0
  469. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts +15 -0
  470. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts.map +1 -0
  471. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js +63 -0
  472. package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js.map +1 -0
  473. package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts +3 -0
  474. package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts.map +1 -0
  475. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js +18 -0
  476. package/dist/presentation/tui/memory/decisions/DecisionsScreen.js.map +1 -0
  477. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts +3 -0
  478. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts.map +1 -0
  479. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js +19 -0
  480. package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js.map +1 -0
  481. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts +16 -0
  482. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts.map +1 -0
  483. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js +56 -0
  484. package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js.map +1 -0
  485. package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts +14 -0
  486. package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts.map +1 -0
  487. package/dist/presentation/tui/memory/entity-browser/EntityColumn.js +21 -0
  488. package/dist/presentation/tui/memory/entity-browser/EntityColumn.js.map +1 -0
  489. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts +10 -0
  490. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts.map +1 -0
  491. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js +85 -0
  492. package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js.map +1 -0
  493. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts +13 -0
  494. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts.map +1 -0
  495. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js +80 -0
  496. package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js.map +1 -0
  497. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts +41 -0
  498. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts.map +1 -0
  499. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js +2 -0
  500. package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js.map +1 -0
  501. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts +15 -0
  502. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts.map +1 -0
  503. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js +57 -0
  504. package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js.map +1 -0
  505. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts +3 -0
  506. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts.map +1 -0
  507. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js +18 -0
  508. package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js.map +1 -0
  509. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts +13 -0
  510. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts.map +1 -0
  511. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js +41 -0
  512. package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js.map +1 -0
  513. package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts +3 -0
  514. package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts.map +1 -0
  515. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js +16 -0
  516. package/dist/presentation/tui/memory/invariants/InvariantsScreen.js.map +1 -0
  517. package/dist/presentation/tui/navigation/MegaMenu.d.ts +10 -0
  518. package/dist/presentation/tui/navigation/MegaMenu.d.ts.map +1 -0
  519. package/dist/presentation/tui/navigation/MegaMenu.js +164 -0
  520. package/dist/presentation/tui/navigation/MegaMenu.js.map +1 -0
  521. package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts +17 -0
  522. package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts.map +1 -0
  523. package/dist/presentation/tui/navigation/MegaMenuDefinitions.js +162 -0
  524. package/dist/presentation/tui/navigation/MegaMenuDefinitions.js.map +1 -0
  525. package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts +36 -0
  526. package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts.map +1 -0
  527. package/dist/presentation/tui/navigation/ScreenDefinitions.js +12 -0
  528. package/dist/presentation/tui/navigation/ScreenDefinitions.js.map +1 -0
  529. package/dist/presentation/tui/navigation/ScreenRouter.d.ts +19 -0
  530. package/dist/presentation/tui/navigation/ScreenRouter.d.ts.map +1 -0
  531. package/dist/presentation/tui/navigation/ScreenRouter.js +31 -0
  532. package/dist/presentation/tui/navigation/ScreenRouter.js.map +1 -0
  533. package/dist/presentation/tui/project-initialization/InitFlow.d.ts +24 -0
  534. package/dist/presentation/tui/project-initialization/InitFlow.d.ts.map +1 -0
  535. package/dist/presentation/tui/project-initialization/InitFlow.js +629 -0
  536. package/dist/presentation/tui/project-initialization/InitFlow.js.map +1 -0
  537. package/dist/presentation/tui/sessions/SessionScreen.d.ts +3 -0
  538. package/dist/presentation/tui/sessions/SessionScreen.d.ts.map +1 -0
  539. package/dist/presentation/tui/sessions/SessionScreen.js +38 -0
  540. package/dist/presentation/tui/sessions/SessionScreen.js.map +1 -0
  541. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts +58 -0
  542. package/dist/presentation/tui/state-reading/TuiStateReader.d.ts.map +1 -0
  543. package/dist/presentation/tui/state-reading/TuiStateReader.js +150 -0
  544. package/dist/presentation/tui/state-reading/TuiStateReader.js.map +1 -0
  545. package/dist/presentation/tui/ui-primitives/DetailPane.d.ts +15 -0
  546. package/dist/presentation/tui/ui-primitives/DetailPane.d.ts.map +1 -0
  547. package/dist/presentation/tui/ui-primitives/DetailPane.js +12 -0
  548. package/dist/presentation/tui/ui-primitives/DetailPane.js.map +1 -0
  549. package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts +11 -0
  550. package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts.map +1 -0
  551. package/dist/presentation/tui/ui-primitives/KeyBadge.js +9 -0
  552. package/dist/presentation/tui/ui-primitives/KeyBadge.js.map +1 -0
  553. package/dist/presentation/tui/ui-primitives/ListPanel.d.ts +16 -0
  554. package/dist/presentation/tui/ui-primitives/ListPanel.d.ts.map +1 -0
  555. package/dist/presentation/tui/ui-primitives/ListPanel.js +15 -0
  556. package/dist/presentation/tui/ui-primitives/ListPanel.js.map +1 -0
  557. package/dist/presentation/tui/ui-primitives/Panel.d.ts +15 -0
  558. package/dist/presentation/tui/ui-primitives/Panel.d.ts.map +1 -0
  559. package/dist/presentation/tui/ui-primitives/Panel.js +9 -0
  560. package/dist/presentation/tui/ui-primitives/Panel.js.map +1 -0
  561. package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts +8 -0
  562. package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts.map +1 -0
  563. package/dist/presentation/tui/ui-primitives/SectionHeading.js +9 -0
  564. package/dist/presentation/tui/ui-primitives/SectionHeading.js.map +1 -0
  565. package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts +9 -0
  566. package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts.map +1 -0
  567. package/dist/presentation/tui/ui-primitives/StatusIndicator.js +21 -0
  568. package/dist/presentation/tui/ui-primitives/StatusIndicator.js.map +1 -0
  569. package/dist/presentation/tui/ui-primitives/Tumbler.d.ts +18 -0
  570. package/dist/presentation/tui/ui-primitives/Tumbler.d.ts.map +1 -0
  571. package/dist/presentation/tui/ui-primitives/Tumbler.js +101 -0
  572. package/dist/presentation/tui/ui-primitives/Tumbler.js.map +1 -0
  573. package/dist/presentation/tui/wizard/Wizard.d.ts +53 -0
  574. package/dist/presentation/tui/wizard/Wizard.d.ts.map +1 -0
  575. package/dist/presentation/tui/wizard/Wizard.js +385 -0
  576. package/dist/presentation/tui/wizard/Wizard.js.map +1 -0
  577. package/dist/presentation/tui/wizard/WizardTextInput.d.ts +12 -0
  578. package/dist/presentation/tui/wizard/WizardTextInput.d.ts.map +1 -0
  579. package/dist/presentation/tui/wizard/WizardTextInput.js +39 -0
  580. package/dist/presentation/tui/wizard/WizardTextInput.js.map +1 -0
  581. package/dist/presentation/work/codifier.daemon.d.ts +3 -0
  582. package/dist/presentation/work/codifier.daemon.d.ts.map +1 -0
  583. package/dist/presentation/work/codifier.daemon.js +75 -0
  584. package/dist/presentation/work/codifier.daemon.js.map +1 -0
  585. package/dist/presentation/work/refiner.daemon.d.ts +3 -0
  586. package/dist/presentation/work/refiner.daemon.d.ts.map +1 -0
  587. package/dist/presentation/work/refiner.daemon.js +60 -0
  588. package/dist/presentation/work/refiner.daemon.js.map +1 -0
  589. package/dist/presentation/work/reviewer.daemon.d.ts +3 -0
  590. package/dist/presentation/work/reviewer.daemon.d.ts.map +1 -0
  591. package/dist/presentation/work/reviewer.daemon.js +60 -0
  592. package/dist/presentation/work/reviewer.daemon.js.map +1 -0
  593. package/package.json +5 -1
  594. package/dist/application/context/project/get/ContextualProjectView.d.ts +0 -24
  595. package/dist/application/context/project/get/ContextualProjectView.d.ts.map +0 -1
  596. package/dist/application/context/project/get/ContextualProjectView.js +0 -2
  597. package/dist/application/context/project/get/ContextualProjectView.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { TuiRequestController } from "../action-dispatch/TuiActionDispatcher.js";
3
+ import type { PlanProjectInitRequest } from "../../../application/context/project/init/PlanProjectInitRequest.js";
4
+ import type { PlanProjectInitResponse } from "../../../application/context/project/init/PlanProjectInitResponse.js";
5
+ import type { InitializeProjectRequest } from "../../../application/context/project/init/InitializeProjectRequest.js";
6
+ import type { InitializeProjectResponse } from "../../../application/context/project/init/InitializeProjectResponse.js";
7
+ import type { AddAudienceRequest } from "../../../application/context/audiences/add/AddAudienceRequest.js";
8
+ import type { AddAudienceResponse } from "../../../application/context/audiences/add/AddAudienceResponse.js";
9
+ import type { AddValuePropositionRequest } from "../../../application/context/value-propositions/add/AddValuePropositionRequest.js";
10
+ import type { AddValuePropositionResponse } from "../../../application/context/value-propositions/add/AddValuePropositionResponse.js";
11
+ export interface InitFlowActionControllers {
12
+ readonly planProjectInitController?: TuiRequestController<PlanProjectInitRequest, PlanProjectInitResponse>;
13
+ readonly initializeProjectController?: TuiRequestController<InitializeProjectRequest, InitializeProjectResponse>;
14
+ readonly addAudienceController?: TuiRequestController<AddAudienceRequest, AddAudienceResponse>;
15
+ readonly addValuePropositionController?: TuiRequestController<AddValuePropositionRequest, AddValuePropositionResponse>;
16
+ }
17
+ interface InitFlowProps {
18
+ readonly actionControllers?: InitFlowActionControllers;
19
+ readonly onComplete: (values: Record<string, string>) => void | Promise<void>;
20
+ readonly onCancel: () => void;
21
+ }
22
+ export declare function InitFlow({ actionControllers, onComplete, onCancel, }: InitFlowProps): React.ReactElement;
23
+ export {};
24
+ //# sourceMappingURL=InitFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitFlow.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/project-initialization/InitFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AACpH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wEAAwE,CAAC;AACxH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AACpI,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oFAAoF,CAAC;AA0DtI,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,oBAAoB,CACvD,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;IACF,QAAQ,CAAC,2BAA2B,CAAC,EAAE,oBAAoB,CACzD,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC;IACF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,oBAAoB,CACnD,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IACF,QAAQ,CAAC,6BAA6B,CAAC,EAAE,oBAAoB,CAC3D,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;CACH;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AA4JD,wBAAgB,QAAQ,CAAC,EACvB,iBAAsB,EACtB,UAAU,EACV,QAAQ,GACT,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA8TpC"}
@@ -0,0 +1,629 @@
1
+ import React, { useMemo, useState } from "react";
2
+ import { Box, Text } from "ink";
3
+ import { Wizard } from "../wizard/Wizard.js";
4
+ import { dispatchTuiAction } from "../action-dispatch/TuiActionDispatcher.js";
5
+ import { SemanticColors } from "../../shared/DesignTokens.js";
6
+ const YES_NO_MESSAGE = "Enter yes or no";
7
+ const REQUIRED_PLAN_CONTROLLER_ERROR = "Project initialization planning is unavailable. Restart Jumbo and try again.";
8
+ const REQUIRED_INIT_CONTROLLER_ERROR = "Project initialization is unavailable. Restart Jumbo and try again.";
9
+ const REQUIRED_AUDIENCE_CONTROLLER_ERROR = "Audience registration is unavailable. Restart Jumbo and try again.";
10
+ const REQUIRED_VALUE_PROPOSITION_CONTROLLER_ERROR = "Value proposition registration is unavailable. Restart Jumbo and try again.";
11
+ const INIT_FLOW_STAGES_WITH_AGENT_SELECTION = [
12
+ "project",
13
+ "audience-gate",
14
+ "audience",
15
+ "value-gate",
16
+ "value",
17
+ "agent-selection",
18
+ "confirmation",
19
+ ];
20
+ const INIT_FLOW_STAGES_WITHOUT_AGENT_SELECTION = [
21
+ "project",
22
+ "audience-gate",
23
+ "audience",
24
+ "value-gate",
25
+ "value",
26
+ "confirmation",
27
+ ];
28
+ const CONFIRMATION_FILE_REVIEW_PAGE_SIZE = 10;
29
+ const PROJECT_STEPS = [
30
+ {
31
+ title: "Project Name",
32
+ description: "What is your project called? This name will appear in context packets served to coding agents.",
33
+ fields: [
34
+ {
35
+ key: "projectName",
36
+ label: "Project name",
37
+ placeholder: "e.g. Jumbo",
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ title: "Purpose",
43
+ description: "Describe the purpose of your project. What problem does it solve? This helps agents understand the north-star.",
44
+ fields: [
45
+ {
46
+ key: "purpose",
47
+ label: "Project purpose",
48
+ placeholder: "e.g. Context management for LLM coding agents",
49
+ required: false,
50
+ },
51
+ ],
52
+ },
53
+ ];
54
+ const AUDIENCE_GATE_STEPS = [
55
+ {
56
+ title: "Audiences",
57
+ description: "Who are the primary audiences for your project? Understanding your users helps agents make better decisions.",
58
+ fields: [
59
+ {
60
+ key: "addAudience",
61
+ label: "Add an audience?",
62
+ kind: "yes-no",
63
+ defaultValue: "no",
64
+ required: false,
65
+ validate: validateOptionalYesNo,
66
+ },
67
+ ],
68
+ },
69
+ ];
70
+ const AUDIENCE_STEPS = [
71
+ {
72
+ title: "Audiences",
73
+ description: "Who are the primary audiences for your project? Understanding your users helps agents make better decisions.",
74
+ fields: [
75
+ {
76
+ key: "audienceName",
77
+ label: "Audience name",
78
+ placeholder: "e.g. Software Developers",
79
+ },
80
+ {
81
+ key: "audienceDescription",
82
+ label: "Audience description",
83
+ placeholder: "e.g. Developers collaborating with LLM coding agents",
84
+ },
85
+ {
86
+ key: "audiencePriority",
87
+ label: "Audience priority",
88
+ kind: "single-select",
89
+ options: [
90
+ { value: "primary", label: "Primary" },
91
+ { value: "secondary", label: "Secondary" },
92
+ { value: "tertiary", label: "Tertiary" },
93
+ ],
94
+ defaultValue: "primary",
95
+ validate: validateAudiencePriority,
96
+ },
97
+ {
98
+ key: "addAnotherAudience",
99
+ label: "Add another audience?",
100
+ kind: "yes-no",
101
+ defaultValue: "no",
102
+ required: false,
103
+ validate: validateOptionalYesNo,
104
+ },
105
+ ],
106
+ },
107
+ ];
108
+ const VALUE_GATE_STEPS = [
109
+ {
110
+ title: "Value Propositions",
111
+ description: "What value does your project deliver? These propositions guide what capabilities matter most.",
112
+ fields: [
113
+ {
114
+ key: "addValueProposition",
115
+ label: "Add a value proposition?",
116
+ kind: "yes-no",
117
+ defaultValue: "no",
118
+ required: false,
119
+ validate: validateOptionalYesNo,
120
+ },
121
+ ],
122
+ },
123
+ ];
124
+ const VALUE_STEPS = [
125
+ {
126
+ title: "Value Propositions",
127
+ description: "What value does your project deliver? These propositions guide what capabilities matter most.",
128
+ fields: [
129
+ {
130
+ key: "valueTitle",
131
+ label: "Value proposition title",
132
+ placeholder: "e.g. Persistent context across sessions",
133
+ },
134
+ {
135
+ key: "valueDescription",
136
+ label: "Description",
137
+ placeholder: "e.g. Detailed explanation of the value",
138
+ },
139
+ {
140
+ key: "valueBenefit",
141
+ label: "Benefit",
142
+ placeholder: "e.g. Agents never lose important project context",
143
+ },
144
+ {
145
+ key: "valueMeasurableOutcome",
146
+ label: "Measurable outcome",
147
+ placeholder: "optional",
148
+ required: false,
149
+ },
150
+ {
151
+ key: "addAnotherValueProposition",
152
+ label: "Add another value proposition?",
153
+ kind: "yes-no",
154
+ defaultValue: "no",
155
+ required: false,
156
+ validate: validateOptionalYesNo,
157
+ },
158
+ ],
159
+ },
160
+ ];
161
+ const INIT_FLOW_STAGE_STEP_COUNTS = {
162
+ project: PROJECT_STEPS.length,
163
+ "audience-gate": AUDIENCE_GATE_STEPS.length,
164
+ audience: AUDIENCE_STEPS.length,
165
+ "value-gate": VALUE_GATE_STEPS.length,
166
+ value: VALUE_STEPS.length,
167
+ "agent-selection": 1,
168
+ confirmation: 1,
169
+ success: 0,
170
+ };
171
+ export function InitFlow({ actionControllers = {}, onComplete, onCancel, }) {
172
+ const [stage, setStage] = useState("project");
173
+ const [stageHistory, setStageHistory] = useState([]);
174
+ const [projectDetails, setProjectDetails] = useState(null);
175
+ const [audiences, setAudiences] = useState([]);
176
+ const [valuePropositions, setValuePropositions] = useState([]);
177
+ const [planResponse, setPlanResponse] = useState(null);
178
+ const [selectedAgentIds, setSelectedAgentIds] = useState(undefined);
179
+ const [dispatchError, setDispatchError] = useState(null);
180
+ const [working, setWorking] = useState(false);
181
+ const [restoreStepIndex, setRestoreStepIndex] = useState(0);
182
+ const [confirmationReviewOpen, setConfirmationReviewOpen] = useState(false);
183
+ const [confirmationReviewOffset, setConfirmationReviewOffset] = useState(0);
184
+ const agentSelectionSteps = useMemo(() => buildAgentSelectionSteps(planResponse), [planResponse]);
185
+ const confirmationSteps = useMemo(() => buildConfirmationSteps(planResponse?.plannedChanges ?? [], confirmationReviewOpen, confirmationReviewOffset), [confirmationReviewOffset, confirmationReviewOpen, planResponse]);
186
+ const navigateToStage = (nextStage, rollback) => {
187
+ setStageHistory((current) => [
188
+ ...current,
189
+ {
190
+ stage,
191
+ restoreStepIndex: Math.max(INIT_FLOW_STAGE_STEP_COUNTS[stage] - 1, 0),
192
+ rollback,
193
+ },
194
+ ]);
195
+ setStage(nextStage);
196
+ setRestoreStepIndex(0);
197
+ };
198
+ const handleWizardBack = () => {
199
+ const previousEntry = stageHistory[stageHistory.length - 1];
200
+ if (previousEntry === undefined) {
201
+ return;
202
+ }
203
+ setStageHistory(stageHistory.slice(0, -1));
204
+ applyRollback(previousEntry.rollback);
205
+ setStage(previousEntry.stage);
206
+ setRestoreStepIndex(previousEntry.restoreStepIndex);
207
+ };
208
+ const applyRollback = (rollback) => {
209
+ if (rollback === "audience") {
210
+ setAudiences((current) => current.slice(0, -1));
211
+ return;
212
+ }
213
+ if (rollback === "value-proposition") {
214
+ setValuePropositions((current) => current.slice(0, -1));
215
+ return;
216
+ }
217
+ if (rollback === "plan") {
218
+ setPlanResponse(null);
219
+ setSelectedAgentIds(undefined);
220
+ setConfirmationReviewOpen(false);
221
+ setConfirmationReviewOffset(0);
222
+ }
223
+ };
224
+ const handleProjectConfirm = async (values) => {
225
+ const nextProjectDetails = {
226
+ name: values.projectName.trim(),
227
+ purpose: (values.purpose ?? "").trim() || undefined,
228
+ };
229
+ setProjectDetails(nextProjectDetails);
230
+ navigateToStage("audience-gate");
231
+ };
232
+ const handleAudienceGateConfirm = (values) => {
233
+ navigateToStage(isYes(values.addAudience ?? "") ? "audience" : "value-gate");
234
+ };
235
+ const handleAudienceConfirm = (values) => {
236
+ setAudiences((current) => [
237
+ ...current,
238
+ {
239
+ name: values.audienceName.trim(),
240
+ description: values.audienceDescription.trim(),
241
+ priority: toAudiencePriority(values.audiencePriority),
242
+ },
243
+ ]);
244
+ navigateToStage(isYes(values.addAnotherAudience ?? "") ? "audience" : "value-gate", "audience");
245
+ };
246
+ const handleValueGateConfirm = async (values) => {
247
+ if (isYes(values.addValueProposition ?? "")) {
248
+ navigateToStage("value");
249
+ return;
250
+ }
251
+ await planProjectInit(undefined, "plan");
252
+ };
253
+ const handleValueConfirm = async (values) => {
254
+ const nextValuePropositions = [
255
+ ...valuePropositions,
256
+ {
257
+ title: values.valueTitle.trim(),
258
+ description: values.valueDescription.trim(),
259
+ benefit: values.valueBenefit.trim(),
260
+ measurableOutcome: (values.valueMeasurableOutcome ?? "").trim().length === 0
261
+ ? undefined
262
+ : values.valueMeasurableOutcome.trim(),
263
+ },
264
+ ];
265
+ setValuePropositions(nextValuePropositions);
266
+ if (isYes(values.addAnotherValueProposition ?? "")) {
267
+ navigateToStage("value", "value-proposition");
268
+ return;
269
+ }
270
+ await planProjectInit(undefined, "value-proposition");
271
+ };
272
+ const handleAgentSelectionConfirm = async (values) => {
273
+ const parsedAgentIds = parseAgentSelection(values.selectedAgentIds ?? "");
274
+ setSelectedAgentIds(parsedAgentIds);
275
+ await planProjectInit(parsedAgentIds);
276
+ };
277
+ const handleWizardInput = (input, key) => {
278
+ if (stage !== "confirmation") {
279
+ return false;
280
+ }
281
+ const plannedChanges = planResponse?.plannedChanges ?? [];
282
+ if (input === "v" || input === "V") {
283
+ setConfirmationReviewOpen((isOpen) => !isOpen);
284
+ setConfirmationReviewOffset(0);
285
+ return true;
286
+ }
287
+ if (!confirmationReviewOpen) {
288
+ return false;
289
+ }
290
+ if (key.upArrow) {
291
+ setConfirmationReviewOffset((offset) => Math.max(offset - 1, 0));
292
+ return true;
293
+ }
294
+ if (key.downArrow) {
295
+ setConfirmationReviewOffset((offset) => Math.min(offset + 1, Math.max(plannedChanges.length - CONFIRMATION_FILE_REVIEW_PAGE_SIZE, 0)));
296
+ return true;
297
+ }
298
+ return false;
299
+ };
300
+ const handleConfirmationConfirm = async (values) => {
301
+ if (isExplicitNo(values.confirmInitialization ?? "")) {
302
+ onCancel();
303
+ return;
304
+ }
305
+ await initializeProject();
306
+ };
307
+ const planProjectInit = async (nextSelectedAgentIds, rollback) => {
308
+ const controller = actionControllers.planProjectInitController;
309
+ if (controller === undefined) {
310
+ setDispatchError(REQUIRED_PLAN_CONTROLLER_ERROR);
311
+ return;
312
+ }
313
+ setWorking(true);
314
+ setDispatchError(null);
315
+ const result = await dispatchTuiAction(controller, {
316
+ projectRoot: process.cwd(),
317
+ selectedAgentIds: nextSelectedAgentIds,
318
+ });
319
+ setWorking(false);
320
+ if (!result.ok) {
321
+ setDispatchError(result.error.message);
322
+ return;
323
+ }
324
+ setPlanResponse(result.response);
325
+ if (nextSelectedAgentIds === undefined &&
326
+ result.response.availableAgents.length > 0) {
327
+ navigateToStage("agent-selection", rollback);
328
+ }
329
+ else {
330
+ navigateToStage("confirmation", rollback);
331
+ }
332
+ };
333
+ const initializeProject = async () => {
334
+ if (projectDetails === null) {
335
+ setDispatchError("Project details are required before initialization.");
336
+ return;
337
+ }
338
+ const initializeController = actionControllers.initializeProjectController;
339
+ if (initializeController === undefined) {
340
+ setDispatchError(REQUIRED_INIT_CONTROLLER_ERROR);
341
+ return;
342
+ }
343
+ setWorking(true);
344
+ setDispatchError(null);
345
+ const initResult = await dispatchTuiAction(initializeController, {
346
+ name: projectDetails.name,
347
+ purpose: projectDetails.purpose,
348
+ projectRoot: process.cwd(),
349
+ selectedAgentIds,
350
+ });
351
+ if (!initResult.ok) {
352
+ setWorking(false);
353
+ setDispatchError(initResult.error.message);
354
+ return;
355
+ }
356
+ const primitiveResult = await persistCollectedPrimitives(actionControllers, audiences, valuePropositions);
357
+ setWorking(false);
358
+ if (!primitiveResult.ok) {
359
+ setDispatchError(primitiveResult.error.message);
360
+ return;
361
+ }
362
+ setStage("success");
363
+ await onComplete({
364
+ ...flattenCollectedValues(projectDetails, audiences, valuePropositions),
365
+ projectId: initResult.response.projectId,
366
+ });
367
+ };
368
+ if (stage === "success") {
369
+ return (React.createElement(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", flexGrow: 1 },
370
+ React.createElement(Text, { color: SemanticColors.success, bold: true }, "Project initialized successfully.")));
371
+ }
372
+ return (React.createElement(Wizard, { title: "Initialize Project", steps: resolveSteps(stage, agentSelectionSteps, confirmationSteps), onConfirm: resolveConfirmHandler(stage, {
373
+ handleProjectConfirm,
374
+ handleAudienceGateConfirm,
375
+ handleAudienceConfirm,
376
+ handleValueGateConfirm,
377
+ handleValueConfirm,
378
+ handleAgentSelectionConfirm,
379
+ handleConfirmationConfirm,
380
+ }), onCancel: onCancel, onBack: stageHistory.length > 0 ? handleWizardBack : undefined, initialStepIndex: restoreStepIndex, initialValues: resolveInitialValues(stage, projectDetails), dispatchError: dispatchError, disabled: working, progressLabel: (currentStepIndex) => resolveProgressLabel(stage, planResponse, currentStepIndex), extraHints: stage === "confirmation"
381
+ ? [
382
+ {
383
+ char: "v",
384
+ label: confirmationReviewOpen ? "Summary" : "View files",
385
+ },
386
+ ]
387
+ : [], onInput: handleWizardInput }));
388
+ }
389
+ function resolveSteps(stage, agentSelectionSteps, confirmationSteps) {
390
+ if (stage === "project")
391
+ return PROJECT_STEPS;
392
+ if (stage === "audience-gate")
393
+ return AUDIENCE_GATE_STEPS;
394
+ if (stage === "audience")
395
+ return AUDIENCE_STEPS;
396
+ if (stage === "value-gate")
397
+ return VALUE_GATE_STEPS;
398
+ if (stage === "value")
399
+ return VALUE_STEPS;
400
+ if (stage === "agent-selection")
401
+ return agentSelectionSteps;
402
+ return confirmationSteps;
403
+ }
404
+ function resolveConfirmHandler(stage, handlers) {
405
+ if (stage === "project")
406
+ return handlers.handleProjectConfirm;
407
+ if (stage === "audience-gate")
408
+ return handlers.handleAudienceGateConfirm;
409
+ if (stage === "audience")
410
+ return handlers.handleAudienceConfirm;
411
+ if (stage === "value-gate")
412
+ return handlers.handleValueGateConfirm;
413
+ if (stage === "value")
414
+ return handlers.handleValueConfirm;
415
+ if (stage === "agent-selection")
416
+ return handlers.handleAgentSelectionConfirm;
417
+ return handlers.handleConfirmationConfirm;
418
+ }
419
+ function resolveInitialValues(stage, projectDetails) {
420
+ if (stage !== "project" || projectDetails === null) {
421
+ return {};
422
+ }
423
+ return {
424
+ projectName: projectDetails.name,
425
+ purpose: projectDetails.purpose ?? "",
426
+ };
427
+ }
428
+ function buildAgentSelectionSteps(planResponse) {
429
+ const availableAgents = planResponse?.availableAgents ?? [];
430
+ return [
431
+ {
432
+ title: "Agent Selection",
433
+ description: "Select agents to configure.",
434
+ fields: [
435
+ {
436
+ key: "selectedAgentIds",
437
+ label: "Agents",
438
+ kind: "multi-select",
439
+ options: availableAgents.map((agent) => ({
440
+ value: agent.id,
441
+ label: `${agent.name} (${agent.id})`,
442
+ })),
443
+ defaultValue: availableAgents.map((agent) => agent.id).join(","),
444
+ required: false,
445
+ validate: (value) => validateAgentSelection(value, availableAgents.map((agent) => agent.id)),
446
+ },
447
+ ],
448
+ },
449
+ ];
450
+ }
451
+ function buildConfirmationSteps(plannedChanges, reviewOpen, reviewOffset) {
452
+ return [
453
+ {
454
+ title: "Confirmation",
455
+ description: reviewOpen
456
+ ? formatPlannedChangeReview(plannedChanges, reviewOffset)
457
+ : formatPlannedChangeSummary(plannedChanges),
458
+ fields: [
459
+ {
460
+ key: "confirmInitialization",
461
+ label: "Proceed with initialization?",
462
+ kind: "yes-no",
463
+ defaultValue: "yes",
464
+ required: false,
465
+ validate: validateOptionalYesNo,
466
+ },
467
+ ],
468
+ },
469
+ ];
470
+ }
471
+ function resolveProgressLabel(stage, planResponse, currentStepIndex) {
472
+ const stages = planResponse !== null && planResponse.availableAgents.length === 0
473
+ ? INIT_FLOW_STAGES_WITHOUT_AGENT_SELECTION
474
+ : INIT_FLOW_STAGES_WITH_AGENT_SELECTION;
475
+ const stageIndex = stages.indexOf(stage);
476
+ if (stageIndex < 0) {
477
+ return undefined;
478
+ }
479
+ const completedSteps = stages
480
+ .slice(0, stageIndex)
481
+ .reduce((total, flowStage) => total + INIT_FLOW_STAGE_STEP_COUNTS[flowStage], 0);
482
+ const totalSteps = stages.reduce((total, flowStage) => total + INIT_FLOW_STAGE_STEP_COUNTS[flowStage], 0);
483
+ return `${completedSteps + currentStepIndex + 1}/${totalSteps}`;
484
+ }
485
+ function formatPlannedChangeSummary(plannedChanges) {
486
+ if (plannedChanges.length === 0) {
487
+ return "No file changes are required. Confirm to initialize project state.";
488
+ }
489
+ const createCount = plannedChanges.filter((change) => change.action === "create").length;
490
+ const modifyCount = plannedChanges.filter((change) => change.action === "modify").length;
491
+ const groupCounts = summarizePlannedChangeGroups(plannedChanges);
492
+ return [
493
+ "Jumbo will create project memory and configure selected agents.",
494
+ "",
495
+ "Planned changes",
496
+ `Create: ${createCount} files`,
497
+ `Modify: ${modifyCount} files`,
498
+ "",
499
+ "Existing content is preserved.",
500
+ "Jumbo only creates missing files and appends or updates managed configuration where needed.",
501
+ "",
502
+ "Agent configuration",
503
+ ...groupCounts.map((group) => `${group.label}: ${group.count} files`),
504
+ ].join("\n");
505
+ }
506
+ function formatPlannedChangeReview(plannedChanges, reviewOffset) {
507
+ if (plannedChanges.length === 0) {
508
+ return "No file changes are required.";
509
+ }
510
+ const visibleChanges = plannedChanges.slice(reviewOffset, reviewOffset + CONFIRMATION_FILE_REVIEW_PAGE_SIZE);
511
+ const from = reviewOffset + 1;
512
+ const to = reviewOffset + visibleChanges.length;
513
+ return [
514
+ `Files ${from}-${to} of ${plannedChanges.length}`,
515
+ "",
516
+ ...visibleChanges.map((change) => `${change.action}: ${change.path} - ${change.description}`),
517
+ ].join("\n");
518
+ }
519
+ function summarizePlannedChangeGroups(plannedChanges) {
520
+ const counts = new Map();
521
+ for (const change of plannedChanges) {
522
+ const group = classifyPlannedChangeGroup(change.path);
523
+ counts.set(group, (counts.get(group) ?? 0) + 1);
524
+ }
525
+ return ["Shared", "Claude", "Codex", "Gemini", "Copilot", "Cursor", "Vibe"]
526
+ .map((label) => ({ label, count: counts.get(label) ?? 0 }))
527
+ .filter((group) => group.count > 0);
528
+ }
529
+ function classifyPlannedChangeGroup(path) {
530
+ if (path === "CLAUDE.md" || path.startsWith(".claude/"))
531
+ return "Claude";
532
+ if (path.startsWith(".codex/"))
533
+ return "Codex";
534
+ if (path === "GEMINI.md" || path.startsWith(".gemini/"))
535
+ return "Gemini";
536
+ if (path.startsWith(".github/"))
537
+ return "Copilot";
538
+ if (path.startsWith(".cursor/"))
539
+ return "Cursor";
540
+ if (path.startsWith(".vibe/"))
541
+ return "Vibe";
542
+ return "Shared";
543
+ }
544
+ function validateYesNo(value) {
545
+ const normalized = value.trim().toLowerCase();
546
+ if (normalized === "yes" || normalized === "y" || normalized === "no" || normalized === "n") {
547
+ return null;
548
+ }
549
+ return YES_NO_MESSAGE;
550
+ }
551
+ function validateOptionalYesNo(value) {
552
+ if (value.trim().length === 0) {
553
+ return null;
554
+ }
555
+ return validateYesNo(value);
556
+ }
557
+ function validateAudiencePriority(value) {
558
+ const normalized = value.trim().toLowerCase();
559
+ if (normalized === "primary" ||
560
+ normalized === "secondary" ||
561
+ normalized === "tertiary") {
562
+ return null;
563
+ }
564
+ return "Enter primary, secondary, or tertiary";
565
+ }
566
+ function validateAgentSelection(value, availableAgentIds) {
567
+ const selectedAgentIds = parseAgentSelection(value);
568
+ if (selectedAgentIds.length === 0) {
569
+ return "Select at least one agent";
570
+ }
571
+ const unknownAgentIds = selectedAgentIds.filter((agentId) => !availableAgentIds.includes(agentId));
572
+ if (unknownAgentIds.length > 0) {
573
+ return `Unknown agent id: ${unknownAgentIds.join(", ")}`;
574
+ }
575
+ return null;
576
+ }
577
+ function parseAgentSelection(value) {
578
+ return value
579
+ .split(",")
580
+ .map((agentId) => agentId.trim())
581
+ .filter((agentId) => agentId.length > 0);
582
+ }
583
+ function isYes(value) {
584
+ const normalized = value.trim().toLowerCase();
585
+ return normalized === "yes" || normalized === "y";
586
+ }
587
+ function isExplicitNo(value) {
588
+ const normalized = value.trim().toLowerCase();
589
+ return normalized === "no" || normalized === "n";
590
+ }
591
+ function toAudiencePriority(value) {
592
+ return value.trim().toLowerCase();
593
+ }
594
+ async function persistCollectedPrimitives(controllers, audiences, valuePropositions) {
595
+ for (const audience of audiences) {
596
+ if (controllers.addAudienceController === undefined) {
597
+ return {
598
+ ok: false,
599
+ error: new Error(REQUIRED_AUDIENCE_CONTROLLER_ERROR),
600
+ };
601
+ }
602
+ const result = await dispatchTuiAction(controllers.addAudienceController, audience);
603
+ if (!result.ok) {
604
+ return result;
605
+ }
606
+ }
607
+ for (const valueProposition of valuePropositions) {
608
+ if (controllers.addValuePropositionController === undefined) {
609
+ return {
610
+ ok: false,
611
+ error: new Error(REQUIRED_VALUE_PROPOSITION_CONTROLLER_ERROR),
612
+ };
613
+ }
614
+ const result = await dispatchTuiAction(controllers.addValuePropositionController, valueProposition);
615
+ if (!result.ok) {
616
+ return result;
617
+ }
618
+ }
619
+ return { ok: true };
620
+ }
621
+ function flattenCollectedValues(projectDetails, audiences, valuePropositions) {
622
+ return {
623
+ projectName: projectDetails?.name ?? "",
624
+ purpose: projectDetails?.purpose ?? "",
625
+ audienceCount: String(audiences.length),
626
+ valuePropositionCount: String(valuePropositions.length),
627
+ };
628
+ }
629
+ //# sourceMappingURL=InitFlow.js.map