jumbo-cli 3.5.0 → 3.6.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 (302) hide show
  1. package/assets/agent-files/json/claude-settings.fragment.json +41 -0
  2. package/assets/agent-files/json/codex-hooks.fragment.json +36 -0
  3. package/assets/agent-files/json/copilot-hooks.fragment.json +14 -0
  4. package/assets/agent-files/json/cursor-hooks.fragment.json +11 -0
  5. package/assets/agent-files/json/gemini-settings.fragment.json +41 -0
  6. package/assets/agent-files/markdown/AGENTS.md +6 -0
  7. package/assets/agent-files/markdown/CLAUDE.md +6 -0
  8. package/assets/agent-files/markdown/GEMINI.md +6 -0
  9. package/assets/agent-files/markdown/JUMBO.md +7 -0
  10. package/assets/agent-files/markdown/copilot-instructions.md +6 -0
  11. package/assets/agent-files/markdown/cursor-rules.mdc +10 -0
  12. package/assets/skills/jumbo-bootstrap-session/SKILL.md +11 -0
  13. package/assets/skills/jumbo-command-discovery/SKILL.md +11 -0
  14. package/assets/skills/jumbo-context-maintenance/SKILL.md +11 -0
  15. package/assets/skills/jumbo-correction-capture/SKILL.md +11 -0
  16. package/dist/application/context/architecture/get/GetArchitectureRequest.d.ts +1 -2
  17. package/dist/application/context/architecture/get/GetArchitectureRequest.d.ts.map +1 -1
  18. package/dist/application/context/audience-pains/list/GetAudiencePainsRequest.d.ts +1 -2
  19. package/dist/application/context/audience-pains/list/GetAudiencePainsRequest.d.ts.map +1 -1
  20. package/dist/application/context/audiences/list/ListAudiencesRequest.d.ts +1 -2
  21. package/dist/application/context/audiences/list/ListAudiencesRequest.d.ts.map +1 -1
  22. package/dist/application/context/host/workers/view/ViewWorkerRequest.d.ts +1 -2
  23. package/dist/application/context/host/workers/view/ViewWorkerRequest.d.ts.map +1 -1
  24. package/dist/application/context/invariants/get/GetAllInvariantsRequest.d.ts +1 -2
  25. package/dist/application/context/invariants/get/GetAllInvariantsRequest.d.ts.map +1 -1
  26. package/dist/application/context/search/SearchIndexRebuildRequest.d.ts +1 -2
  27. package/dist/application/context/search/SearchIndexRebuildRequest.d.ts.map +1 -1
  28. package/dist/application/context/sessions/start/SessionStartRequest.d.ts +1 -2
  29. package/dist/application/context/sessions/start/SessionStartRequest.d.ts.map +1 -1
  30. package/dist/application/context/sessions/start/StartSessionCommand.d.ts +1 -2
  31. package/dist/application/context/sessions/start/StartSessionCommand.d.ts.map +1 -1
  32. package/dist/application/context/telemetry/get/GetTelemetryStatusRequest.d.ts +1 -2
  33. package/dist/application/context/telemetry/get/GetTelemetryStatusRequest.d.ts.map +1 -1
  34. package/dist/application/context/value-propositions/get/GetValuePropositionsRequest.d.ts +1 -2
  35. package/dist/application/context/value-propositions/get/GetValuePropositionsRequest.d.ts.map +1 -1
  36. package/dist/application/context/work/pause/PauseWorkCommand.d.ts +1 -2
  37. package/dist/application/context/work/pause/PauseWorkCommand.d.ts.map +1 -1
  38. package/dist/application/context/work/pause/PauseWorkRequest.d.ts +1 -2
  39. package/dist/application/context/work/pause/PauseWorkRequest.d.ts.map +1 -1
  40. package/dist/application/context/work/resume/ResumeWorkRequest.d.ts +1 -2
  41. package/dist/application/context/work/resume/ResumeWorkRequest.d.ts.map +1 -1
  42. package/dist/domain/project/AgentFileAssetContent.d.ts +7 -0
  43. package/dist/domain/project/AgentFileAssetContent.d.ts.map +1 -0
  44. package/dist/domain/project/AgentFileAssetContent.js +25 -0
  45. package/dist/domain/project/AgentFileAssetContent.js.map +1 -0
  46. package/dist/domain/project/AgentFileReferenceContent.d.ts +1 -6
  47. package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
  48. package/dist/domain/project/AgentFileReferenceContent.js +3 -12
  49. package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
  50. package/dist/domain/project/AgentsMdContent.d.ts +1 -7
  51. package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
  52. package/dist/domain/project/AgentsMdContent.js +4 -14
  53. package/dist/domain/project/AgentsMdContent.js.map +1 -1
  54. package/dist/domain/project/CopilotInstructionsContent.d.ts +5 -6
  55. package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
  56. package/dist/domain/project/CopilotInstructionsContent.js +10 -17
  57. package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
  58. package/dist/domain/project/CursorRulesContent.d.ts +1 -7
  59. package/dist/domain/project/CursorRulesContent.d.ts.map +1 -1
  60. package/dist/domain/project/CursorRulesContent.js +4 -23
  61. package/dist/domain/project/CursorRulesContent.js.map +1 -1
  62. package/dist/domain/project/JumboMdContent.d.ts +1 -10
  63. package/dist/domain/project/JumboMdContent.d.ts.map +1 -1
  64. package/dist/domain/project/JumboMdContent.js +4 -117
  65. package/dist/domain/project/JumboMdContent.js.map +1 -1
  66. package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
  67. package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +2 -40
  68. package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
  69. package/dist/infrastructure/context/project/init/CodexConfigurer.d.ts.map +1 -1
  70. package/dist/infrastructure/context/project/init/CodexConfigurer.js +2 -35
  71. package/dist/infrastructure/context/project/init/CodexConfigurer.js.map +1 -1
  72. package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
  73. package/dist/infrastructure/context/project/init/CopilotConfigurer.js +4 -26
  74. package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
  75. package/dist/infrastructure/context/project/init/CursorConfigurer.d.ts.map +1 -1
  76. package/dist/infrastructure/context/project/init/CursorConfigurer.js +2 -10
  77. package/dist/infrastructure/context/project/init/CursorConfigurer.js.map +1 -1
  78. package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
  79. package/dist/infrastructure/context/project/init/GeminiConfigurer.js +2 -40
  80. package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
  81. package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts +0 -4
  82. package/dist/infrastructure/messaging/ProjectionBusFactory.d.ts.map +1 -1
  83. package/dist/infrastructure/messaging/ProjectionBusFactory.js +89 -68
  84. package/dist/infrastructure/messaging/ProjectionBusFactory.js.map +1 -1
  85. package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts +1 -2
  86. package/dist/presentation/cli/commands/index/rebuild/index.rebuild.d.ts.map +1 -1
  87. package/dist/presentation/cli/rendering/StyleConfig.d.ts.map +1 -1
  88. package/dist/presentation/cli/rendering/StyleConfig.js +1 -0
  89. package/dist/presentation/cli/rendering/StyleConfig.js.map +1 -1
  90. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts +0 -1
  91. package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts.map +1 -1
  92. package/dist/presentation/tui/cockpit/AnimatedBanner.js +24 -121
  93. package/dist/presentation/tui/cockpit/AnimatedBanner.js.map +1 -1
  94. package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.d.ts +2 -0
  95. package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.d.ts.map +1 -0
  96. package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.js +31 -0
  97. package/dist/presentation/tui/cockpit/AnimatedBannerColorGradient.js.map +1 -0
  98. package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.d.ts +7 -0
  99. package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.d.ts.map +1 -0
  100. package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.js +69 -0
  101. package/dist/presentation/tui/cockpit/AnimatedBannerLineColorSegments.js.map +1 -0
  102. package/dist/presentation/tui/cockpit/AnimatedBannerTiming.d.ts +9 -0
  103. package/dist/presentation/tui/cockpit/AnimatedBannerTiming.d.ts.map +1 -0
  104. package/dist/presentation/tui/cockpit/AnimatedBannerTiming.js +11 -0
  105. package/dist/presentation/tui/cockpit/AnimatedBannerTiming.js.map +1 -0
  106. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts +1 -2
  107. package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts.map +1 -1
  108. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.d.ts +3 -0
  109. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.d.ts.map +1 -0
  110. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js +9 -0
  111. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js.map +1 -0
  112. package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.d.ts +3 -0
  113. package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.d.ts.map +1 -0
  114. package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.js +7 -0
  115. package/dist/presentation/tui/cockpit/CockpitDaemonConfigsUpdater.js.map +1 -0
  116. package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.d.ts +5 -0
  117. package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.d.ts.map +1 -0
  118. package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.js +2 -0
  119. package/dist/presentation/tui/cockpit/CockpitDaemonEventSnapshot.js.map +1 -0
  120. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts +6 -13
  121. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts.map +1 -1
  122. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js +9 -153
  123. package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js.map +1 -1
  124. package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.d.ts +3 -0
  125. package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.d.ts.map +1 -0
  126. package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.js +8 -0
  127. package/dist/presentation/tui/cockpit/CockpitDaemonFocusOrder.js.map +1 -0
  128. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts +30 -36
  129. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts.map +1 -1
  130. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js +37 -174
  131. package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js.map +1 -1
  132. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts +0 -3
  133. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -1
  134. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +3 -42
  135. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -1
  136. package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.d.ts +3 -0
  137. package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.d.ts.map +1 -0
  138. package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.js +9 -0
  139. package/dist/presentation/tui/cockpit/CockpitDaemonPollConfigCycler.js.map +1 -0
  140. package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.d.ts +3 -0
  141. package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.d.ts.map +1 -0
  142. package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.js +9 -0
  143. package/dist/presentation/tui/cockpit/CockpitDaemonRetryConfigCycler.js.map +1 -0
  144. package/dist/presentation/tui/cockpit/CockpitDaemonSnapshot.d.ts +1 -4
  145. package/dist/presentation/tui/cockpit/CockpitDaemonSnapshot.d.ts.map +1 -1
  146. package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.d.ts +6 -0
  147. package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.d.ts.map +1 -0
  148. package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.js +7 -0
  149. package/dist/presentation/tui/cockpit/CockpitLaunchAnimationSize.js.map +1 -0
  150. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.d.ts +45 -0
  151. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.d.ts.map +1 -0
  152. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.js +25 -0
  153. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonDefinitions.js.map +1 -0
  154. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.d.ts +17 -0
  155. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.d.ts.map +1 -0
  156. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js +17 -0
  157. package/dist/presentation/tui/cockpit/CockpitLaunchpadDaemonPanels.js.map +1 -0
  158. package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.d.ts +8 -0
  159. package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.d.ts.map +1 -0
  160. package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.js +11 -0
  161. package/dist/presentation/tui/cockpit/CockpitLaunchpadEventLog.js.map +1 -0
  162. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts +3 -3
  163. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -1
  164. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +30 -144
  165. package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -1
  166. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts +1 -2
  167. package/dist/presentation/tui/cockpit/CockpitScreen.d.ts.map +1 -1
  168. package/dist/presentation/tui/cockpit/CockpitScreen.js +8 -38
  169. package/dist/presentation/tui/cockpit/CockpitScreen.js.map +1 -1
  170. package/dist/presentation/tui/cockpit/CockpitScreenBanner.d.ts +12 -0
  171. package/dist/presentation/tui/cockpit/CockpitScreenBanner.d.ts.map +1 -0
  172. package/dist/presentation/tui/cockpit/CockpitScreenBanner.js +14 -0
  173. package/dist/presentation/tui/cockpit/CockpitScreenBanner.js.map +1 -0
  174. package/dist/presentation/tui/cockpit/CockpitScreenContent.d.ts +17 -0
  175. package/dist/presentation/tui/cockpit/CockpitScreenContent.d.ts.map +1 -0
  176. package/dist/presentation/tui/cockpit/CockpitScreenContent.js +18 -0
  177. package/dist/presentation/tui/cockpit/CockpitScreenContent.js.map +1 -0
  178. package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.d.ts +3 -0
  179. package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.d.ts.map +1 -0
  180. package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.js +31 -0
  181. package/dist/presentation/tui/cockpit/CockpitScreenInfoBoxLines.js.map +1 -0
  182. package/dist/presentation/tui/cockpit/CockpitState.d.ts +4 -0
  183. package/dist/presentation/tui/cockpit/CockpitState.d.ts.map +1 -0
  184. package/dist/presentation/tui/cockpit/CockpitState.js +3 -0
  185. package/dist/presentation/tui/cockpit/CockpitState.js.map +1 -0
  186. package/dist/presentation/tui/cockpit/CodifierFrameFactory.d.ts +9 -0
  187. package/dist/presentation/tui/cockpit/CodifierFrameFactory.d.ts.map +1 -0
  188. package/dist/presentation/tui/cockpit/CodifierFrameFactory.js +45 -0
  189. package/dist/presentation/tui/cockpit/CodifierFrameFactory.js.map +1 -0
  190. package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.d.ts +11 -0
  191. package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.d.ts.map +1 -0
  192. package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.js +11 -0
  193. package/dist/presentation/tui/cockpit/CodifierGlyphDaemonFrame.js.map +1 -0
  194. package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts +8 -0
  195. package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts.map +1 -0
  196. package/dist/presentation/tui/cockpit/DaemonActionLine.js +21 -0
  197. package/dist/presentation/tui/cockpit/DaemonActionLine.js.map +1 -0
  198. package/dist/presentation/tui/cockpit/DaemonConfigWizard.d.ts +8 -0
  199. package/dist/presentation/tui/cockpit/DaemonConfigWizard.d.ts.map +1 -0
  200. package/dist/presentation/tui/cockpit/DaemonConfigWizard.js +24 -0
  201. package/dist/presentation/tui/cockpit/DaemonConfigWizard.js.map +1 -0
  202. package/dist/presentation/tui/cockpit/DaemonEventRow.d.ts +9 -0
  203. package/dist/presentation/tui/cockpit/DaemonEventRow.d.ts.map +1 -0
  204. package/dist/presentation/tui/cockpit/DaemonEventRow.js +2 -0
  205. package/dist/presentation/tui/cockpit/DaemonEventRow.js.map +1 -0
  206. package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.d.ts +7 -0
  207. package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.d.ts.map +1 -0
  208. package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.js +17 -0
  209. package/dist/presentation/tui/cockpit/DaemonEventRowFormatter.js.map +1 -0
  210. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts +7 -0
  211. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts.map +1 -0
  212. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js +35 -0
  213. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js.map +1 -0
  214. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.d.ts +8 -0
  215. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.d.ts.map +1 -0
  216. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js +95 -0
  217. package/dist/presentation/tui/cockpit/DaemonEventRowNormalizer.js.map +1 -0
  218. package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts +10 -0
  219. package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts.map +1 -0
  220. package/dist/presentation/tui/cockpit/DaemonEventRows.js +22 -0
  221. package/dist/presentation/tui/cockpit/DaemonEventRows.js.map +1 -0
  222. package/dist/presentation/tui/cockpit/DaemonFrameDimensions.d.ts +13 -0
  223. package/dist/presentation/tui/cockpit/DaemonFrameDimensions.d.ts.map +1 -0
  224. package/dist/presentation/tui/cockpit/DaemonFrameDimensions.js +13 -0
  225. package/dist/presentation/tui/cockpit/DaemonFrameDimensions.js.map +1 -0
  226. package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.d.ts +11 -0
  227. package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.d.ts.map +1 -0
  228. package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.js +2 -0
  229. package/dist/presentation/tui/cockpit/DaemonFrameGlyphTypes.js.map +1 -0
  230. package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.d.ts +2 -0
  231. package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.d.ts.map +1 -0
  232. package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.js +3 -0
  233. package/dist/presentation/tui/cockpit/DaemonFrameStatusColor.js.map +1 -0
  234. package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.d.ts +15 -0
  235. package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.d.ts.map +1 -0
  236. package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.js +42 -0
  237. package/dist/presentation/tui/cockpit/DaemonFrameStatusOverlay.js.map +1 -0
  238. package/dist/presentation/tui/cockpit/DaemonInfoOverlay.d.ts +6 -0
  239. package/dist/presentation/tui/cockpit/DaemonInfoOverlay.d.ts.map +1 -0
  240. package/dist/presentation/tui/cockpit/DaemonInfoOverlay.js +12 -0
  241. package/dist/presentation/tui/cockpit/DaemonInfoOverlay.js.map +1 -0
  242. package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.d.ts +2 -0
  243. package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.d.ts.map +1 -0
  244. package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.js +5 -0
  245. package/dist/presentation/tui/cockpit/DaemonShortcutBadgeColor.js.map +1 -0
  246. package/dist/presentation/tui/cockpit/DaemonStatusFinder.d.ts +7 -0
  247. package/dist/presentation/tui/cockpit/DaemonStatusFinder.d.ts.map +1 -0
  248. package/dist/presentation/tui/cockpit/DaemonStatusFinder.js +16 -0
  249. package/dist/presentation/tui/cockpit/DaemonStatusFinder.js.map +1 -0
  250. package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.d.ts +10 -0
  251. package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.d.ts.map +1 -0
  252. package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.js +11 -0
  253. package/dist/presentation/tui/cockpit/GlyphCellDaemonFrame.js.map +1 -0
  254. package/dist/presentation/tui/cockpit/GlyphCellSegments.d.ts +7 -0
  255. package/dist/presentation/tui/cockpit/GlyphCellSegments.d.ts.map +1 -0
  256. package/dist/presentation/tui/cockpit/GlyphCellSegments.js +21 -0
  257. package/dist/presentation/tui/cockpit/GlyphCellSegments.js.map +1 -0
  258. package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.d.ts +11 -0
  259. package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.d.ts.map +1 -0
  260. package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.js +67 -0
  261. package/dist/presentation/tui/cockpit/RandomGlyphFrameFactory.js.map +1 -0
  262. package/dist/presentation/tui/cockpit/RenderedDaemonFrame.d.ts +9 -0
  263. package/dist/presentation/tui/cockpit/RenderedDaemonFrame.d.ts.map +1 -0
  264. package/dist/presentation/tui/cockpit/RenderedDaemonFrame.js +13 -0
  265. package/dist/presentation/tui/cockpit/RenderedDaemonFrame.js.map +1 -0
  266. package/dist/presentation/tui/cockpit/StyledGlyphSegments.d.ts +6 -0
  267. package/dist/presentation/tui/cockpit/StyledGlyphSegments.d.ts.map +1 -0
  268. package/dist/presentation/tui/cockpit/StyledGlyphSegments.js +41 -0
  269. package/dist/presentation/tui/cockpit/StyledGlyphSegments.js.map +1 -0
  270. package/dist/presentation/tui/cockpit/daemons/CodifierDaemonFrame.js +2 -2
  271. package/dist/presentation/tui/cockpit/daemons/CodifierDaemonFrame.js.map +1 -1
  272. package/dist/presentation/tui/cockpit/daemons/IDaemonFrame.d.ts +4 -4
  273. package/dist/presentation/tui/cockpit/daemons/IDaemonFrame.d.ts.map +1 -1
  274. package/dist/presentation/tui/cockpit/daemons/RefinerDaemonFrame.js +1 -1
  275. package/dist/presentation/tui/cockpit/daemons/RefinerDaemonFrame.js.map +1 -1
  276. package/dist/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.js +1 -1
  277. package/dist/presentation/tui/cockpit/daemons/ReviewerDaemonFrame.js.map +1 -1
  278. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.d.ts +4 -0
  279. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.d.ts.map +1 -0
  280. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js +15 -0
  281. package/dist/presentation/tui/cockpit/toggleCockpitDaemon.js.map +1 -0
  282. package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.d.ts +6 -0
  283. package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.d.ts.map +1 -0
  284. package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.js +50 -0
  285. package/dist/presentation/tui/cockpit/useCockpitLaunchpadWelcomeVisibility.js.map +1 -0
  286. package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.d.ts +14 -0
  287. package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.d.ts.map +1 -0
  288. package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.js +29 -0
  289. package/dist/presentation/tui/cockpit/useDaemonAnimationFrames.js.map +1 -0
  290. package/dist/presentation/tui/cockpit/useDaemonStatusPolling.d.ts +10 -0
  291. package/dist/presentation/tui/cockpit/useDaemonStatusPolling.d.ts.map +1 -0
  292. package/dist/presentation/tui/cockpit/useDaemonStatusPolling.js +21 -0
  293. package/dist/presentation/tui/cockpit/useDaemonStatusPolling.js.map +1 -0
  294. package/package.json +1 -1
  295. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts +0 -7
  296. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts.map +0 -1
  297. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js +0 -32
  298. package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js.map +0 -1
  299. package/dist/presentation/tui/cockpit/DaemonFrameViews.d.ts +0 -17
  300. package/dist/presentation/tui/cockpit/DaemonFrameViews.d.ts.map +0 -1
  301. package/dist/presentation/tui/cockpit/DaemonFrameViews.js +0 -20
  302. package/dist/presentation/tui/cockpit/DaemonFrameViews.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ const DAEMON_EVENT_MESSAGE_WIDTH = 52;
2
+ export const DaemonEventRowMessageFormatter = {
3
+ format,
4
+ };
5
+ function format(snapshot, event) {
6
+ const parts = [
7
+ event.message === undefined || event.message.trim().length === 0
8
+ ? undefined
9
+ : event.message.trim(),
10
+ event.goalId === undefined ? undefined : shortGoalId(event.goalId),
11
+ formatAttemptDetails(event),
12
+ formatExitDetails(event),
13
+ event.errorMessage ?? snapshot.stderr[snapshot.stderr.length - 1],
14
+ ].filter((part) => part !== undefined && part.length > 0);
15
+ return truncateTail(parts.join(" "), DAEMON_EVENT_MESSAGE_WIDTH);
16
+ }
17
+ function formatAttemptDetails(event) {
18
+ if (event.attempt === undefined && event.maxRetries === undefined) {
19
+ return undefined;
20
+ }
21
+ return `${event.attempt ?? "-"}/${event.maxRetries ?? "-"}`;
22
+ }
23
+ function formatExitDetails(event) {
24
+ return event.exitCode === undefined ? undefined : `exit ${event.exitCode}`;
25
+ }
26
+ function shortGoalId(goalId) {
27
+ if (goalId === undefined) {
28
+ return "-";
29
+ }
30
+ return goalId.length > 8 ? goalId.slice(0, 8) : goalId;
31
+ }
32
+ function truncateTail(text, max) {
33
+ return text.length <= max ? text : text.slice(0, max - 3) + "...";
34
+ }
35
+ //# sourceMappingURL=DaemonEventRowMessageFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonEventRowMessageFormatter.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonEventRowMessageFormatter.ts"],"names":[],"mappings":"AAKA,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,MAAM;CACE,CAAC;AAEX,SAAS,MAAM,CACb,QAA+B,EAC/B,KAA6B;IAE7B,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC9D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QACxB,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QAClE,oBAAoB,CAAC,KAAK,CAAC;QAC3B,iBAAiB,CAAC,KAAK,CAAC;QACxB,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KAClE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1E,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,0BAA0B,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA6B;IACzD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA6B;IACtD,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,MAA0B;IAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,GAAW;IAC7C,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACpE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { TuiSubprocessSnapshot } from "../daemon-subprocesses/ISubprocessManager.js";
2
+ import type { DaemonEventRow } from "./DaemonEventRow.js";
3
+ export declare const DaemonEventRowNormalizer: {
4
+ readonly fromSnapshot: typeof fromSnapshot;
5
+ };
6
+ declare function fromSnapshot(snapshot: TuiSubprocessSnapshot, observedAtMs: number): readonly DaemonEventRow[];
7
+ export {};
8
+ //# sourceMappingURL=DaemonEventRowNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonEventRowNormalizer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonEventRowNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAM1D,eAAO,MAAM,wBAAwB;;CAE3B,CAAC;AAEX,iBAAS,YAAY,CACnB,QAAQ,EAAE,qBAAqB,EAC/B,YAAY,EAAE,MAAM,GACnB,SAAS,cAAc,EAAE,CAW3B"}
@@ -0,0 +1,95 @@
1
+ import { BaseColors } from "../../shared/DesignTokens.js";
2
+ import { TuiDaemonEventStatus as TuiDaemonEventStatusValues } from "../daemon-subprocesses/TuiDaemonEventStatus.js";
3
+ import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
4
+ import { DaemonEventRowMessageFormatter } from "./DaemonEventRowMessageFormatter.js";
5
+ const DAEMON_EVENT_SOURCE_WIDTH = 8;
6
+ const DAEMON_EVENT_CATEGORY_WIDTH = 12;
7
+ export const DaemonEventRowNormalizer = {
8
+ fromSnapshot,
9
+ };
10
+ function fromSnapshot(snapshot, observedAtMs) {
11
+ const eventRows = snapshot.events.map((event, eventIndex) => toDaemonEventRow(snapshot, event, eventIndex, observedAtMs));
12
+ const lifecycleRow = getLifecycleEventRow(snapshot, eventRows.length, observedAtMs);
13
+ if (lifecycleRow === undefined) {
14
+ return eventRows;
15
+ }
16
+ return [...eventRows, lifecycleRow];
17
+ }
18
+ function getLifecycleEventRow(snapshot, eventIndex, observedAtMs) {
19
+ if (snapshot.status === TuiSubprocessStatus.RUNNING &&
20
+ snapshot.stopRequested === true) {
21
+ return createDaemonEventRow(snapshot, TuiDaemonEventStatusValues.STOPPING, eventIndex, observedAtMs);
22
+ }
23
+ if (snapshot.status === TuiSubprocessStatus.RUNNING &&
24
+ snapshot.events.length === 0) {
25
+ return createDaemonEventRow(snapshot, TuiDaemonEventStatusValues.STARTING, eventIndex, observedAtMs);
26
+ }
27
+ if (snapshot.status === TuiSubprocessStatus.FAILED) {
28
+ return createDaemonEventRow(snapshot, TuiDaemonEventStatusValues.FAILED, eventIndex, observedAtMs);
29
+ }
30
+ if (snapshot.status === TuiSubprocessStatus.STOPPED &&
31
+ (snapshot.stopRequested === true ||
32
+ snapshot.exitCode !== undefined ||
33
+ snapshot.exitSignal !== undefined)) {
34
+ return createDaemonEventRow(snapshot, TuiDaemonEventStatusValues.STOPPED, eventIndex, observedAtMs);
35
+ }
36
+ return undefined;
37
+ }
38
+ function createDaemonEventRow(snapshot, status, eventIndex, observedAtMs) {
39
+ return toDaemonEventRow(snapshot, {
40
+ daemon: snapshot.name,
41
+ status,
42
+ errorMessage: snapshot.stderr[snapshot.stderr.length - 1],
43
+ exitCode: snapshot.exitCode ?? undefined,
44
+ }, eventIndex, observedAtMs);
45
+ }
46
+ function toDaemonEventRow(snapshot, event, eventIndex, observedAtMs) {
47
+ const status = normalizeDaemonEventStatus(event.status);
48
+ const timestampMs = event.timestampMs ?? observedAtMs;
49
+ const key = event.timestampMs === undefined
50
+ ? `${snapshot.name}-lifecycle-${status}-${snapshot.pid ?? "none"}-${snapshot.exitCode ?? "none"}-${snapshot.stopRequested ?? false}`
51
+ : `${snapshot.name}-${eventIndex}-${event.status}-${event.goalId ?? "none"}-${timestampMs}`;
52
+ return {
53
+ key,
54
+ source: normalizeDaemonEventSource(snapshot, event),
55
+ category: normalizeDaemonEventCategory(event, status),
56
+ timestampMs,
57
+ message: DaemonEventRowMessageFormatter.format(snapshot, event),
58
+ color: getDaemonEventColor(status),
59
+ };
60
+ }
61
+ function normalizeDaemonEventStatus(status) {
62
+ if (Object.values(TuiDaemonEventStatusValues).includes(status)) {
63
+ return status;
64
+ }
65
+ return TuiDaemonEventStatusValues.PROCESSING;
66
+ }
67
+ function normalizeDaemonEventSource(snapshot, event) {
68
+ return truncateTail(event.source ?? event.daemon ?? snapshot.name, DAEMON_EVENT_SOURCE_WIDTH);
69
+ }
70
+ function normalizeDaemonEventCategory(event, status) {
71
+ return truncateTail(event.category ?? status, DAEMON_EVENT_CATEGORY_WIDTH);
72
+ }
73
+ function getDaemonEventColor(status) {
74
+ if (status === TuiDaemonEventStatusValues.FAILED) {
75
+ return BaseColors.brandRed;
76
+ }
77
+ if (status === TuiDaemonEventStatusValues.COMPLETED) {
78
+ return BaseColors.brandGreen;
79
+ }
80
+ if (status === TuiDaemonEventStatusValues.SKIPPED ||
81
+ status === TuiDaemonEventStatusValues.EXHAUSTED) {
82
+ return BaseColors.brandYellow;
83
+ }
84
+ if (status === TuiDaemonEventStatusValues.PROCESSING ||
85
+ status === TuiDaemonEventStatusValues.CODIFYING ||
86
+ status === TuiDaemonEventStatusValues.STARTING ||
87
+ status === TuiDaemonEventStatusValues.STOPPING) {
88
+ return BaseColors.brandBlue;
89
+ }
90
+ return BaseColors.shade4;
91
+ }
92
+ function truncateTail(text, max) {
93
+ return text.length <= max ? text : text.slice(0, max - 3) + "...";
94
+ }
95
+ //# sourceMappingURL=DaemonEventRowNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonEventRowNormalizer.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonEventRowNormalizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { TuiSubprocessSnapshot } from "../daemon-subprocesses/ISubprocessManager.js";
2
+ import type { DaemonEventRow } from "./DaemonEventRow.js";
3
+ export declare const DaemonEventRows: {
4
+ readonly append: typeof append;
5
+ readonly fromSnapshots: typeof fromSnapshots;
6
+ };
7
+ declare function fromSnapshots(snapshots: readonly TuiSubprocessSnapshot[], observedAtMs: number): readonly DaemonEventRow[];
8
+ declare function append(currentRows: readonly DaemonEventRow[], nextRows: readonly DaemonEventRow[]): readonly DaemonEventRow[];
9
+ export {};
10
+ //# sourceMappingURL=DaemonEventRows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonEventRows.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonEventRows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,iBAAS,aAAa,CACpB,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,YAAY,EAAE,MAAM,GACnB,SAAS,cAAc,EAAE,CAM3B;AAED,iBAAS,MAAM,CACb,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,SAAS,cAAc,EAAE,CAY3B"}
@@ -0,0 +1,22 @@
1
+ import { DaemonEventRowNormalizer } from "./DaemonEventRowNormalizer.js";
2
+ const RENDERED_DAEMON_EVENT_LIMIT = 10;
3
+ export const DaemonEventRows = {
4
+ append,
5
+ fromSnapshots,
6
+ };
7
+ function fromSnapshots(snapshots, observedAtMs) {
8
+ const rows = snapshots.flatMap((snapshot) => DaemonEventRowNormalizer.fromSnapshot(snapshot, observedAtMs));
9
+ return newestFirst(rows).slice(0, RENDERED_DAEMON_EVENT_LIMIT);
10
+ }
11
+ function append(currentRows, nextRows) {
12
+ const currentKeys = new Set(currentRows.map((row) => row.key));
13
+ const appendedRows = nextRows.filter((row) => !currentKeys.has(row.key));
14
+ if (appendedRows.length === 0) {
15
+ return currentRows;
16
+ }
17
+ return newestFirst([...currentRows, ...appendedRows]).slice(0, RENDERED_DAEMON_EVENT_LIMIT);
18
+ }
19
+ function newestFirst(rows) {
20
+ return [...rows].sort((left, right) => right.timestampMs - left.timestampMs);
21
+ }
22
+ //# sourceMappingURL=DaemonEventRows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonEventRows.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonEventRows.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,aAAa;CACL,CAAC;AAEX,SAAS,aAAa,CACpB,SAA2C,EAC3C,YAAoB;IAEpB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1C,wBAAwB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC9D,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,MAAM,CACb,WAAsC,EACtC,QAAmC;IAEnC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CACzD,CAAC,EACD,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAA+B;IAClD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const DaemonFrameDimensions: {
2
+ readonly renderedFrameHeight: 5;
3
+ readonly panelContentWidth: 35;
4
+ readonly refinerFrameCount: 9;
5
+ readonly reviewerFrameCount: 6;
6
+ readonly codifierFrameCount: 6;
7
+ readonly defaultRefinerFrameDurationMs: 500;
8
+ readonly defaultReviewerFrameDurationMs: 350;
9
+ readonly defaultCodifierFrameDurationMs: 200;
10
+ readonly randomGlyphGridHeight: 10;
11
+ readonly codifierGridHeight: 10;
12
+ };
13
+ //# sourceMappingURL=DaemonFrameDimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameDimensions.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameDimensions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAWxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const DaemonFrameDimensions = {
2
+ renderedFrameHeight: 5,
3
+ panelContentWidth: 35,
4
+ refinerFrameCount: 9,
5
+ reviewerFrameCount: 6,
6
+ codifierFrameCount: 6,
7
+ defaultRefinerFrameDurationMs: 500,
8
+ defaultReviewerFrameDurationMs: 350,
9
+ defaultCodifierFrameDurationMs: 200,
10
+ randomGlyphGridHeight: 10,
11
+ codifierGridHeight: 10,
12
+ };
13
+ //# sourceMappingURL=DaemonFrameDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameDimensions.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameDimensions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,kBAAkB,EAAE,CAAC;IACrB,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,GAAG;IACnC,8BAA8B,EAAE,GAAG;IACnC,qBAAqB,EAAE,EAAE;IACzB,kBAAkB,EAAE,EAAE;CACd,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface DaemonFrameGlyphStyle {
2
+ readonly color: string;
3
+ readonly dimColor?: boolean;
4
+ }
5
+ export type DaemonFrameGlyphColorMap = Readonly<Record<string, string>>;
6
+ export type DaemonFrameGlyphPalette = readonly string[];
7
+ export interface DaemonFrameGlyphCell {
8
+ readonly glyph: string;
9
+ readonly color: string;
10
+ }
11
+ //# sourceMappingURL=DaemonFrameGlyphTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameGlyphTypes.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameGlyphTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,uBAAuB,GAAG,SAAS,MAAM,EAAE,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DaemonFrameGlyphTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameGlyphTypes.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameGlyphTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const DaemonFrameStatusColor: "#7b7a77";
2
+ //# sourceMappingURL=DaemonFrameStatusColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameStatusColor.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameStatusColor.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,WAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { BaseColors } from "../../shared/DesignTokens.js";
2
+ export const DaemonFrameStatusColor = BaseColors.shade3;
3
+ //# sourceMappingURL=DaemonFrameStatusColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameStatusColor.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameStatusColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { DaemonFrameGlyphCell } from "./DaemonFrameGlyphTypes.js";
2
+ export declare const DaemonFrameStatusOverlay: {
3
+ readonly isLine: typeof isLine;
4
+ readonly getGlyphCellPrefix: typeof getGlyphCellPrefix;
5
+ readonly getGlyphCellSuffix: typeof getGlyphCellSuffix;
6
+ readonly getGlyphTextPrefix: typeof getGlyphTextPrefix;
7
+ readonly getGlyphTextSuffix: typeof getGlyphTextSuffix;
8
+ };
9
+ declare function isLine(lineIndex: number): boolean;
10
+ declare function getGlyphCellPrefix(line: readonly DaemonFrameGlyphCell[], statusLabel: string, lineIndex: number): readonly DaemonFrameGlyphCell[];
11
+ declare function getGlyphCellSuffix(line: readonly DaemonFrameGlyphCell[], statusLabel: string, lineIndex: number): readonly DaemonFrameGlyphCell[];
12
+ declare function getGlyphTextPrefix(line: string, statusLabel: string, lineIndex: number): string;
13
+ declare function getGlyphTextSuffix(line: string, statusLabel: string, lineIndex: number): string;
14
+ export {};
15
+ //# sourceMappingURL=DaemonFrameStatusOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameStatusOverlay.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameStatusOverlay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC;AAEX,iBAAS,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1C;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,SAAS,oBAAoB,EAAE,EACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,oBAAoB,EAAE,CAMjC;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,SAAS,oBAAoB,EAAE,EACrC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,SAAS,oBAAoB,EAAE,CAMjC;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAMR;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAMR"}
@@ -0,0 +1,42 @@
1
+ import { DaemonFrameDimensions } from "./DaemonFrameDimensions.js";
2
+ export const DaemonFrameStatusOverlay = {
3
+ isLine,
4
+ getGlyphCellPrefix,
5
+ getGlyphCellSuffix,
6
+ getGlyphTextPrefix,
7
+ getGlyphTextSuffix,
8
+ };
9
+ function isLine(lineIndex) {
10
+ return lineIndex === Math.floor(DaemonFrameDimensions.renderedFrameHeight / 2);
11
+ }
12
+ function getGlyphCellPrefix(line, statusLabel, lineIndex) {
13
+ if (!isLine(lineIndex)) {
14
+ return line;
15
+ }
16
+ return line.slice(0, getDaemonStatusOverlayStart(line.length, statusLabel));
17
+ }
18
+ function getGlyphCellSuffix(line, statusLabel, lineIndex) {
19
+ if (!isLine(lineIndex)) {
20
+ return [];
21
+ }
22
+ return line.slice(getDaemonStatusOverlayEnd(line.length, statusLabel));
23
+ }
24
+ function getGlyphTextPrefix(line, statusLabel, lineIndex) {
25
+ if (!isLine(lineIndex)) {
26
+ return line;
27
+ }
28
+ return line.slice(0, getDaemonStatusOverlayStart(line.length, statusLabel));
29
+ }
30
+ function getGlyphTextSuffix(line, statusLabel, lineIndex) {
31
+ if (!isLine(lineIndex)) {
32
+ return "";
33
+ }
34
+ return line.slice(getDaemonStatusOverlayEnd(line.length, statusLabel));
35
+ }
36
+ function getDaemonStatusOverlayStart(lineLength, statusLabel) {
37
+ return Math.max(0, Math.floor((lineLength - statusLabel.length) / 2));
38
+ }
39
+ function getDaemonStatusOverlayEnd(lineLength, statusLabel) {
40
+ return Math.min(lineLength, getDaemonStatusOverlayStart(lineLength, statusLabel) + statusLabel.length);
41
+ }
42
+ //# sourceMappingURL=DaemonFrameStatusOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonFrameStatusOverlay.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonFrameStatusOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM;IACN,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAEX,SAAS,MAAM,CAAC,SAAiB;IAC/B,OAAO,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAqC,EACrC,WAAmB,EACnB,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAqC,EACrC,WAAmB,EACnB,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAY,EACZ,WAAmB,EACnB,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAY,EACZ,WAAmB,EACnB,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAkB,EAClB,WAAmB;IAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAkB,EAClB,WAAmB;IAEnB,OAAO,IAAI,CAAC,GAAG,CACb,UAAU,EACV,2BAA2B,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,CAC1E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { IDaemonConstants } from "./daemons/IDaemonConstants.js";
3
+ export declare function DaemonInfoOverlay({ daemonConstants, }: {
4
+ readonly daemonConstants: IDaemonConstants;
5
+ }): React.ReactElement;
6
+ //# sourceMappingURL=DaemonInfoOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonInfoOverlay.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonInfoOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,GAChB,EAAE;IACD,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC;CAC5C,GAAG,KAAK,CAAC,YAAY,CAyBrB"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { BaseColors } from "../../shared/DesignTokens.js";
4
+ import { CockpitDaemonPanelCopy } from "./CockpitDaemonPanelCopy.js";
5
+ export function DaemonInfoOverlay({ daemonConstants, }) {
6
+ const info = daemonConstants.info;
7
+ return (React.createElement(Box, { borderStyle: "round", borderColor: BaseColors.brandBlue, flexDirection: "column", marginBottom: 1, paddingX: 1, width: "100%" },
8
+ React.createElement(Text, { color: BaseColors.brandBlue, bold: true }, info.title),
9
+ info.lines.map((line) => (React.createElement(Text, { key: line, color: BaseColors.shade2 }, line))),
10
+ React.createElement(Text, { color: BaseColors.shade4 }, CockpitDaemonPanelCopy.closeInfoLabel)));
11
+ }
12
+ //# sourceMappingURL=DaemonInfoOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonInfoOverlay.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonInfoOverlay.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,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,MAAM,UAAU,iBAAiB,CAAC,EAChC,eAAe,GAGhB;IACC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IAElC,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,IAC3B,sBAAsB,CAAC,cAAc,CACjC,CACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getDaemonShortcutBadgeColor(selected: boolean): string;
2
+ //# sourceMappingURL=DaemonShortcutBadgeColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonShortcutBadgeColor.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonShortcutBadgeColor.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAErE"}
@@ -0,0 +1,5 @@
1
+ import { BaseColors } from "../../shared/DesignTokens.js";
2
+ export function getDaemonShortcutBadgeColor(selected) {
3
+ return selected ? BaseColors.brandBlue : BaseColors.shade4;
4
+ }
5
+ //# sourceMappingURL=DaemonShortcutBadgeColor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonShortcutBadgeColor.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonShortcutBadgeColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,UAAU,2BAA2B,CAAC,QAAiB;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TuiDaemonName, TuiSubprocessSnapshot } from "../daemon-subprocesses/ISubprocessManager.js";
2
+ export declare const DaemonStatusFinder: {
3
+ readonly find: typeof find;
4
+ };
5
+ declare function find(statuses: readonly TuiSubprocessSnapshot[], name: TuiDaemonName): TuiSubprocessSnapshot;
6
+ export {};
7
+ //# sourceMappingURL=DaemonStatusFinder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonStatusFinder.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonStatusFinder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAGtD,eAAO,MAAM,kBAAkB;;CAErB,CAAC;AAEX,iBAAS,IAAI,CACX,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAC1C,IAAI,EAAE,aAAa,GAClB,qBAAqB,CASvB"}
@@ -0,0 +1,16 @@
1
+ import { DEFAULT_WORKER_DAEMON_CONFIG } from "../../../application/daemons/WorkerDaemonCatalog.js";
2
+ import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
3
+ export const DaemonStatusFinder = {
4
+ find,
5
+ };
6
+ function find(statuses, name) {
7
+ return statuses.find((status) => status.name === name) ?? {
8
+ name,
9
+ status: TuiSubprocessStatus.STOPPED,
10
+ config: DEFAULT_WORKER_DAEMON_CONFIG,
11
+ stdout: [],
12
+ stderr: [],
13
+ events: [],
14
+ };
15
+ }
16
+ //# sourceMappingURL=DaemonStatusFinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaemonStatusFinder.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/DaemonStatusFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAKnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI;CACI,CAAC;AAEX,SAAS,IAAI,CACX,QAA0C,EAC1C,IAAmB;IAEnB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QACxD,IAAI;QACJ,MAAM,EAAE,mBAAmB,CAAC,OAAO;QACnC,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { CockpitDaemonSnapshot } from "./CockpitDaemonSnapshot.js";
3
+ import { type GlyphCell } from "./CockpitDaemonFrames.js";
4
+ export declare function GlyphCellDaemonFrame({ frame, frameIndex, snapshot, statusLabel, }: {
5
+ readonly frame: readonly (readonly GlyphCell[])[];
6
+ readonly frameIndex: number;
7
+ readonly snapshot: CockpitDaemonSnapshot;
8
+ readonly statusLabel: string;
9
+ }): React.ReactElement;
10
+ //# sourceMappingURL=GlyphCellDaemonFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlyphCellDaemonFrame.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/GlyphCellDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,SAAS,EAAE,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,KAAK,CAAC,YAAY,CAoCrB"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { DAEMON_PANEL_CONTENT_WIDTH, getGlyphCellLinePrefix, getGlyphCellLineSuffix, getGlyphCellSegments, getRenderedDaemonFrame, isDaemonStatusLine, } from "./CockpitDaemonFrames.js";
4
+ import { DaemonFrameStatusColor } from "./DaemonFrameStatusColor.js";
5
+ export function GlyphCellDaemonFrame({ frame, frameIndex, snapshot, statusLabel, }) {
6
+ return (React.createElement(Box, { flexDirection: "column", flexWrap: "nowrap", width: DAEMON_PANEL_CONTENT_WIDTH }, getRenderedDaemonFrame(frame).map((line, lineIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}` },
7
+ getGlyphCellSegments(getGlyphCellLinePrefix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-prefix-${segmentIndex}`, color: segment.color }, segment.text))),
8
+ isDaemonStatusLine(lineIndex) && (React.createElement(Text, { color: DaemonFrameStatusColor, bold: true }, statusLabel)),
9
+ getGlyphCellSegments(getGlyphCellLineSuffix(line, statusLabel, lineIndex), snapshot).map((segment, segmentIndex) => (React.createElement(Text, { key: `${frameIndex}-${lineIndex}-suffix-${segmentIndex}`, color: segment.color }, segment.text))))))));
10
+ }
11
+ //# sourceMappingURL=GlyphCellDaemonFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlyphCellDaemonFrame.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/GlyphCellDaemonFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,GAMZ;IACC,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,IAEnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC;QACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAChC,oBAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,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,IAEnB,OAAO,CAAC,IAAI,CACR,CACR,CAAC,CACG,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CockpitDaemonSnapshot } from "./CockpitDaemonSnapshot.js";
2
+ import type { DaemonFrameGlyphCell } from "./DaemonFrameGlyphTypes.js";
3
+ export declare function getGlyphCellSegments(line: readonly DaemonFrameGlyphCell[], snapshot: CockpitDaemonSnapshot): Array<{
4
+ text: string;
5
+ color: string;
6
+ }>;
7
+ //# sourceMappingURL=GlyphCellSegments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlyphCellSegments.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/GlyphCellSegments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,oBAAoB,EAAE,EACrC,QAAQ,EAAE,qBAAqB,GAC9B,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBxC"}
@@ -0,0 +1,21 @@
1
+ import { BaseColors } from "../../shared/DesignTokens.js";
2
+ import { TuiSubprocessStatus } from "../daemon-subprocesses/TuiSubprocessStatus.js";
3
+ export function getGlyphCellSegments(line, snapshot) {
4
+ const segments = [];
5
+ for (const cell of line) {
6
+ const color = getDaemonGlyphColor(snapshot, cell.color);
7
+ const previousSegment = segments[segments.length - 1];
8
+ if (previousSegment !== undefined && previousSegment.color === color) {
9
+ previousSegment.text += cell.glyph;
10
+ continue;
11
+ }
12
+ segments.push({ text: cell.glyph, color });
13
+ }
14
+ return segments;
15
+ }
16
+ function getDaemonGlyphColor(snapshot, animatedColor) {
17
+ return snapshot.status === TuiSubprocessStatus.RUNNING
18
+ ? animatedColor
19
+ : BaseColors.shade6;
20
+ }
21
+ //# sourceMappingURL=GlyphCellSegments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlyphCellSegments.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/GlyphCellSegments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAIpF,MAAM,UAAU,oBAAoB,CAClC,IAAqC,EACrC,QAA+B;IAE/B,MAAM,QAAQ,GAA2C,EAAE,CAAC;IAE5D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEtD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACrE,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YACnC,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAA+B,EAC/B,aAAqB;IAErB,OAAO,QAAQ,CAAC,MAAM,KAAK,mBAAmB,CAAC,OAAO;QACpD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;AACxB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { DaemonFrameGlyphCell, DaemonFrameGlyphPalette } from "./DaemonFrameGlyphTypes.js";
2
+ export declare const RandomGlyphFrameFactory: {
3
+ readonly defaultGlyphColors: readonly ["#f5f3ee", "#d5d3cf", "#b6b4b1", "#b6b4b1", "#7b7a77", "#5f5e5c", "#444442", "#2b2b2a"];
4
+ readonly refinerFrameCount: 9;
5
+ readonly reviewerFrameCount: 6;
6
+ readonly defaultRefinerFrameDurationMs: 500;
7
+ readonly defaultReviewerFrameDurationMs: 350;
8
+ readonly getRefinerFrame: (index: number, glyphPalette: DaemonFrameGlyphPalette) => DaemonFrameGlyphCell[][];
9
+ readonly getReviewerFrame: (index: number, glyphPalette: DaemonFrameGlyphPalette) => DaemonFrameGlyphCell[][];
10
+ };
11
+ //# sourceMappingURL=RandomGlyphFrameFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomGlyphFrameFactory.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/RandomGlyphFrameFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAqCpC,eAAO,MAAM,uBAAuB;;;;;;sCASzB,MAAM,gBACC,uBAAuB,KACpC,oBAAoB,EAAE,EAAE;uCAGlB,MAAM,gBACC,uBAAuB,KACpC,oBAAoB,EAAE,EAAE;CAEnB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { BaseColors } from "../../shared/DesignTokens.js";
2
+ import { DaemonFrameDimensions } from "./DaemonFrameDimensions.js";
3
+ const REFINER_GLYPHS = ["•"];
4
+ const REVIEWER_GLYPHS = ["─", "│", "■", "▢"];
5
+ const REFINER_GLYPH_FRAME_CONFIG = {
6
+ frameCount: DaemonFrameDimensions.refinerFrameCount,
7
+ gridWidth: DaemonFrameDimensions.panelContentWidth,
8
+ gridHeight: DaemonFrameDimensions.randomGlyphGridHeight,
9
+ glyphs: REFINER_GLYPHS,
10
+ };
11
+ const REVIEWER_GLYPH_FRAME_CONFIG = {
12
+ frameCount: DaemonFrameDimensions.reviewerFrameCount,
13
+ gridWidth: DaemonFrameDimensions.panelContentWidth,
14
+ gridHeight: DaemonFrameDimensions.randomGlyphGridHeight,
15
+ glyphs: REVIEWER_GLYPHS,
16
+ };
17
+ const DEFAULT_RANDOM_GLYPH_COLORS = [
18
+ BaseColors.tint1,
19
+ BaseColors.primary,
20
+ BaseColors.shade1,
21
+ BaseColors.shade2,
22
+ BaseColors.shade3,
23
+ BaseColors.shade4,
24
+ BaseColors.shade5,
25
+ BaseColors.shade6,
26
+ ];
27
+ export const RandomGlyphFrameFactory = {
28
+ defaultGlyphColors: DEFAULT_RANDOM_GLYPH_COLORS,
29
+ refinerFrameCount: DaemonFrameDimensions.refinerFrameCount,
30
+ reviewerFrameCount: DaemonFrameDimensions.reviewerFrameCount,
31
+ defaultRefinerFrameDurationMs: DaemonFrameDimensions.defaultRefinerFrameDurationMs,
32
+ defaultReviewerFrameDurationMs: DaemonFrameDimensions.defaultReviewerFrameDurationMs,
33
+ getRefinerFrame: (index, glyphPalette) => getRandomGlyphFrame(index, glyphPalette, REFINER_GLYPH_FRAME_CONFIG),
34
+ getReviewerFrame: (index, glyphPalette) => getRandomGlyphFrame(index, glyphPalette, REVIEWER_GLYPH_FRAME_CONFIG),
35
+ };
36
+ function getRandomGlyphFrame(index, glyphPalette, config) {
37
+ if (index < 0 || index >= config.frameCount) {
38
+ return [[{ glyph: "error", color: BaseColors.shade3 }]];
39
+ }
40
+ const glyphGrid = createRandomGlyphGrid(index, glyphPalette, config);
41
+ return Array.from({ length: config.gridHeight }, (_, rowIndex) => {
42
+ const start = rowIndex * config.gridWidth;
43
+ return glyphGrid.slice(start, start + config.gridWidth);
44
+ });
45
+ }
46
+ function createRandomGlyphGrid(frameIndex, glyphPalette, config) {
47
+ const gridSize = config.gridWidth * config.gridHeight;
48
+ const random = createSeededRandom(createSeed(frameIndex, gridSize));
49
+ return Array.from({ length: gridSize }, () => ({
50
+ glyph: pickRandomValue(config.glyphs, random),
51
+ color: pickRandomValue(glyphPalette, random),
52
+ }));
53
+ }
54
+ function createSeed(frameIndex, gridSize) {
55
+ return (frameIndex + 1) * 1009 + gridSize * 9176;
56
+ }
57
+ function createSeededRandom(seed) {
58
+ let state = seed >>> 0;
59
+ return () => {
60
+ state = (state * 1664525 + 1013904223) >>> 0;
61
+ return state / 0x100000000;
62
+ };
63
+ }
64
+ function pickRandomValue(values, random) {
65
+ return values[Math.floor(random() * values.length)];
66
+ }
67
+ //# sourceMappingURL=RandomGlyphFrameFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomGlyphFrameFactory.js","sourceRoot":"","sources":["../../../../src/presentation/tui/cockpit/RandomGlyphFrameFactory.ts"],"names":[],"mappings":"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"}