@jacques-ai/cli 0.0.7-alpha.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 (508) hide show
  1. package/dist/assets/mascot-ansi.d.ts +8 -0
  2. package/dist/assets/mascot-ansi.d.ts.map +1 -0
  3. package/dist/assets/mascot-ansi.js +15 -0
  4. package/dist/assets/mascot-ansi.js.map +1 -0
  5. package/dist/cli.d.ts +15 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +53 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/commands/client-helper.d.ts +14 -0
  10. package/dist/commands/client-helper.d.ts.map +1 -0
  11. package/dist/commands/client-helper.js +38 -0
  12. package/dist/commands/client-helper.js.map +1 -0
  13. package/dist/commands/dashboard.d.ts +8 -0
  14. package/dist/commands/dashboard.d.ts.map +1 -0
  15. package/dist/commands/dashboard.js +159 -0
  16. package/dist/commands/dashboard.js.map +1 -0
  17. package/dist/commands/index.d.ts +6 -0
  18. package/dist/commands/index.d.ts.map +1 -0
  19. package/dist/commands/index.js +6 -0
  20. package/dist/commands/index.js.map +1 -0
  21. package/dist/commands/list.d.ts +5 -0
  22. package/dist/commands/list.d.ts.map +1 -0
  23. package/dist/commands/list.js +13 -0
  24. package/dist/commands/list.js.map +1 -0
  25. package/dist/commands/search.d.ts +13 -0
  26. package/dist/commands/search.d.ts.map +1 -0
  27. package/dist/commands/search.js +79 -0
  28. package/dist/commands/search.js.map +1 -0
  29. package/dist/commands/setup.d.ts +8 -0
  30. package/dist/commands/setup.d.ts.map +1 -0
  31. package/dist/commands/setup.js +32 -0
  32. package/dist/commands/setup.js.map +1 -0
  33. package/dist/commands/status.d.ts +5 -0
  34. package/dist/commands/status.d.ts.map +1 -0
  35. package/dist/commands/status.js +27 -0
  36. package/dist/commands/status.js.map +1 -0
  37. package/dist/components/ActiveSessionsView.d.ts +18 -0
  38. package/dist/components/ActiveSessionsView.d.ts.map +1 -0
  39. package/dist/components/ActiveSessionsView.js +68 -0
  40. package/dist/components/ActiveSessionsView.js.map +1 -0
  41. package/dist/components/AddContextConfirmView.d.ts +21 -0
  42. package/dist/components/AddContextConfirmView.d.ts.map +1 -0
  43. package/dist/components/AddContextConfirmView.js +44 -0
  44. package/dist/components/AddContextConfirmView.js.map +1 -0
  45. package/dist/components/App.d.ts +11 -0
  46. package/dist/components/App.d.ts.map +1 -0
  47. package/dist/components/App.js +292 -0
  48. package/dist/components/App.js.map +1 -0
  49. package/dist/components/ArchiveBrowserView.d.ts +40 -0
  50. package/dist/components/ArchiveBrowserView.d.ts.map +1 -0
  51. package/dist/components/ArchiveBrowserView.js +161 -0
  52. package/dist/components/ArchiveBrowserView.js.map +1 -0
  53. package/dist/components/ArchiveInitProgressView.d.ts +16 -0
  54. package/dist/components/ArchiveInitProgressView.d.ts.map +1 -0
  55. package/dist/components/ArchiveInitProgressView.js +72 -0
  56. package/dist/components/ArchiveInitProgressView.js.map +1 -0
  57. package/dist/components/AutoCompactToggle.d.ts +16 -0
  58. package/dist/components/AutoCompactToggle.d.ts.map +1 -0
  59. package/dist/components/AutoCompactToggle.js +12 -0
  60. package/dist/components/AutoCompactToggle.js.map +1 -0
  61. package/dist/components/BottomControls.d.ts +12 -0
  62. package/dist/components/BottomControls.d.ts.map +1 -0
  63. package/dist/components/BottomControls.js +11 -0
  64. package/dist/components/BottomControls.js.map +1 -0
  65. package/dist/components/CompactHeader.d.ts +21 -0
  66. package/dist/components/CompactHeader.d.ts.map +1 -0
  67. package/dist/components/CompactHeader.js +63 -0
  68. package/dist/components/CompactHeader.js.map +1 -0
  69. package/dist/components/CompactPanel.d.ts +22 -0
  70. package/dist/components/CompactPanel.d.ts.map +1 -0
  71. package/dist/components/CompactPanel.js +31 -0
  72. package/dist/components/CompactPanel.js.map +1 -0
  73. package/dist/components/ContentBox.d.ts +14 -0
  74. package/dist/components/ContentBox.d.ts.map +1 -0
  75. package/dist/components/ContentBox.js +24 -0
  76. package/dist/components/ContentBox.js.map +1 -0
  77. package/dist/components/ContextProgress.d.ts +14 -0
  78. package/dist/components/ContextProgress.d.ts.map +1 -0
  79. package/dist/components/ContextProgress.js +36 -0
  80. package/dist/components/ContextProgress.js.map +1 -0
  81. package/dist/components/Dashboard.d.ts +46 -0
  82. package/dist/components/Dashboard.d.ts.map +1 -0
  83. package/dist/components/Dashboard.js +67 -0
  84. package/dist/components/Dashboard.js.map +1 -0
  85. package/dist/components/FilterSelectionView.d.ts +15 -0
  86. package/dist/components/FilterSelectionView.d.ts.map +1 -0
  87. package/dist/components/FilterSelectionView.js +27 -0
  88. package/dist/components/FilterSelectionView.js.map +1 -0
  89. package/dist/components/GoogleDocsBrowserView.d.ts +20 -0
  90. package/dist/components/GoogleDocsBrowserView.d.ts.map +1 -0
  91. package/dist/components/GoogleDocsBrowserView.js +72 -0
  92. package/dist/components/GoogleDocsBrowserView.js.map +1 -0
  93. package/dist/components/HandoffBrowserView.d.ts +20 -0
  94. package/dist/components/HandoffBrowserView.d.ts.map +1 -0
  95. package/dist/components/HandoffBrowserView.js +66 -0
  96. package/dist/components/HandoffBrowserView.js.map +1 -0
  97. package/dist/components/Header.d.ts +14 -0
  98. package/dist/components/Header.d.ts.map +1 -0
  99. package/dist/components/Header.js +16 -0
  100. package/dist/components/Header.js.map +1 -0
  101. package/dist/components/HorizontalMenu.d.ts +24 -0
  102. package/dist/components/HorizontalMenu.d.ts.map +1 -0
  103. package/dist/components/HorizontalMenu.js +20 -0
  104. package/dist/components/HorizontalMenu.js.map +1 -0
  105. package/dist/components/ImageMascot.d.ts +8 -0
  106. package/dist/components/ImageMascot.d.ts.map +1 -0
  107. package/dist/components/ImageMascot.js +7 -0
  108. package/dist/components/ImageMascot.js.map +1 -0
  109. package/dist/components/LLMWorkingView.d.ts +19 -0
  110. package/dist/components/LLMWorkingView.d.ts.map +1 -0
  111. package/dist/components/LLMWorkingView.js +72 -0
  112. package/dist/components/LLMWorkingView.js.map +1 -0
  113. package/dist/components/LoadContextView.d.ts +22 -0
  114. package/dist/components/LoadContextView.d.ts.map +1 -0
  115. package/dist/components/LoadContextView.js +83 -0
  116. package/dist/components/LoadContextView.js.map +1 -0
  117. package/dist/components/MainMenuView.d.ts +20 -0
  118. package/dist/components/MainMenuView.d.ts.map +1 -0
  119. package/dist/components/MainMenuView.js +49 -0
  120. package/dist/components/MainMenuView.js.map +1 -0
  121. package/dist/components/Mascot.d.ts +24 -0
  122. package/dist/components/Mascot.d.ts.map +1 -0
  123. package/dist/components/Mascot.js +32 -0
  124. package/dist/components/Mascot.js.map +1 -0
  125. package/dist/components/Menu.d.ts +22 -0
  126. package/dist/components/Menu.d.ts.map +1 -0
  127. package/dist/components/Menu.js +28 -0
  128. package/dist/components/Menu.js.map +1 -0
  129. package/dist/components/NotionBrowserView.d.ts +21 -0
  130. package/dist/components/NotionBrowserView.d.ts.map +1 -0
  131. package/dist/components/NotionBrowserView.js +75 -0
  132. package/dist/components/NotionBrowserView.js.map +1 -0
  133. package/dist/components/ObsidianBrowserView.d.ts +21 -0
  134. package/dist/components/ObsidianBrowserView.d.ts.map +1 -0
  135. package/dist/components/ObsidianBrowserView.js +74 -0
  136. package/dist/components/ObsidianBrowserView.js.map +1 -0
  137. package/dist/components/ObsidianConfigView.d.ts +19 -0
  138. package/dist/components/ObsidianConfigView.d.ts.map +1 -0
  139. package/dist/components/ObsidianConfigView.js +45 -0
  140. package/dist/components/ObsidianConfigView.js.map +1 -0
  141. package/dist/components/PlaceholderView.d.ts +15 -0
  142. package/dist/components/PlaceholderView.d.ts.map +1 -0
  143. package/dist/components/PlaceholderView.js +20 -0
  144. package/dist/components/PlaceholderView.js.map +1 -0
  145. package/dist/components/PlanViewerView.d.ts +26 -0
  146. package/dist/components/PlanViewerView.d.ts.map +1 -0
  147. package/dist/components/PlanViewerView.js +170 -0
  148. package/dist/components/PlanViewerView.js.map +1 -0
  149. package/dist/components/ProgressBar.d.ts +24 -0
  150. package/dist/components/ProgressBar.d.ts.map +1 -0
  151. package/dist/components/ProgressBar.js +23 -0
  152. package/dist/components/ProgressBar.js.map +1 -0
  153. package/dist/components/ProjectDashboardView.d.ts +38 -0
  154. package/dist/components/ProjectDashboardView.d.ts.map +1 -0
  155. package/dist/components/ProjectDashboardView.js +129 -0
  156. package/dist/components/ProjectDashboardView.js.map +1 -0
  157. package/dist/components/SaveContextView.d.ts +32 -0
  158. package/dist/components/SaveContextView.d.ts.map +1 -0
  159. package/dist/components/SaveContextView.js +41 -0
  160. package/dist/components/SaveContextView.js.map +1 -0
  161. package/dist/components/SessionDetails.d.ts +14 -0
  162. package/dist/components/SessionDetails.d.ts.map +1 -0
  163. package/dist/components/SessionDetails.js +87 -0
  164. package/dist/components/SessionDetails.js.map +1 -0
  165. package/dist/components/SessionsExperimentView.d.ts +35 -0
  166. package/dist/components/SessionsExperimentView.d.ts.map +1 -0
  167. package/dist/components/SessionsExperimentView.js +347 -0
  168. package/dist/components/SessionsExperimentView.js.map +1 -0
  169. package/dist/components/SessionsList.d.ts +20 -0
  170. package/dist/components/SessionsList.d.ts.map +1 -0
  171. package/dist/components/SessionsList.js +75 -0
  172. package/dist/components/SessionsList.js.map +1 -0
  173. package/dist/components/SettingsView.d.ts +48 -0
  174. package/dist/components/SettingsView.d.ts.map +1 -0
  175. package/dist/components/SettingsView.js +156 -0
  176. package/dist/components/SettingsView.js.map +1 -0
  177. package/dist/components/SourceSelectionView.d.ts +26 -0
  178. package/dist/components/SourceSelectionView.d.ts.map +1 -0
  179. package/dist/components/SourceSelectionView.js +109 -0
  180. package/dist/components/SourceSelectionView.js.map +1 -0
  181. package/dist/components/VerticalMenu.d.ts +18 -0
  182. package/dist/components/VerticalMenu.d.ts.map +1 -0
  183. package/dist/components/VerticalMenu.js +15 -0
  184. package/dist/components/VerticalMenu.js.map +1 -0
  185. package/dist/components/ascii-art/index.d.ts +6 -0
  186. package/dist/components/ascii-art/index.d.ts.map +1 -0
  187. package/dist/components/ascii-art/index.js +6 -0
  188. package/dist/components/ascii-art/index.js.map +1 -0
  189. package/dist/components/ascii-art/progress.d.ts +53 -0
  190. package/dist/components/ascii-art/progress.d.ts.map +1 -0
  191. package/dist/components/ascii-art/progress.js +102 -0
  192. package/dist/components/ascii-art/progress.js.map +1 -0
  193. package/dist/components/ascii-art/scene.d.ts +34 -0
  194. package/dist/components/ascii-art/scene.d.ts.map +1 -0
  195. package/dist/components/ascii-art/scene.js +72 -0
  196. package/dist/components/ascii-art/scene.js.map +1 -0
  197. package/dist/components/index.d.ts +27 -0
  198. package/dist/components/index.d.ts.map +1 -0
  199. package/dist/components/index.js +25 -0
  200. package/dist/components/index.js.map +1 -0
  201. package/dist/components/layout/HorizontalLayout.d.ts +19 -0
  202. package/dist/components/layout/HorizontalLayout.d.ts.map +1 -0
  203. package/dist/components/layout/HorizontalLayout.js +62 -0
  204. package/dist/components/layout/HorizontalLayout.js.map +1 -0
  205. package/dist/components/layout/VerticalLayout.d.ts +16 -0
  206. package/dist/components/layout/VerticalLayout.d.ts.map +1 -0
  207. package/dist/components/layout/VerticalLayout.js +32 -0
  208. package/dist/components/layout/VerticalLayout.js.map +1 -0
  209. package/dist/components/layout/index.d.ts +6 -0
  210. package/dist/components/layout/index.d.ts.map +1 -0
  211. package/dist/components/layout/index.js +4 -0
  212. package/dist/components/layout/index.js.map +1 -0
  213. package/dist/components/layout/theme.d.ts +20 -0
  214. package/dist/components/layout/theme.d.ts.map +1 -0
  215. package/dist/components/layout/theme.js +23 -0
  216. package/dist/components/layout/theme.js.map +1 -0
  217. package/dist/components/setup/DoneStep.d.ts +7 -0
  218. package/dist/components/setup/DoneStep.d.ts.map +1 -0
  219. package/dist/components/setup/DoneStep.js +31 -0
  220. package/dist/components/setup/DoneStep.js.map +1 -0
  221. package/dist/components/setup/InstallingStep.d.ts +11 -0
  222. package/dist/components/setup/InstallingStep.d.ts.map +1 -0
  223. package/dist/components/setup/InstallingStep.js +27 -0
  224. package/dist/components/setup/InstallingStep.js.map +1 -0
  225. package/dist/components/setup/OptionsStep.d.ts +9 -0
  226. package/dist/components/setup/OptionsStep.d.ts.map +1 -0
  227. package/dist/components/setup/OptionsStep.js +39 -0
  228. package/dist/components/setup/OptionsStep.js.map +1 -0
  229. package/dist/components/setup/PrerequisitesStep.d.ts +7 -0
  230. package/dist/components/setup/PrerequisitesStep.d.ts.map +1 -0
  231. package/dist/components/setup/PrerequisitesStep.js +31 -0
  232. package/dist/components/setup/PrerequisitesStep.js.map +1 -0
  233. package/dist/components/setup/SetupFrame.d.ts +17 -0
  234. package/dist/components/setup/SetupFrame.d.ts.map +1 -0
  235. package/dist/components/setup/SetupFrame.js +33 -0
  236. package/dist/components/setup/SetupFrame.js.map +1 -0
  237. package/dist/components/setup/SetupWizard.d.ts +9 -0
  238. package/dist/components/setup/SetupWizard.d.ts.map +1 -0
  239. package/dist/components/setup/SetupWizard.js +149 -0
  240. package/dist/components/setup/SetupWizard.js.map +1 -0
  241. package/dist/components/setup/Spinner.d.ts +10 -0
  242. package/dist/components/setup/Spinner.d.ts.map +1 -0
  243. package/dist/components/setup/Spinner.js +20 -0
  244. package/dist/components/setup/Spinner.js.map +1 -0
  245. package/dist/components/setup/SyncStep.d.ts +11 -0
  246. package/dist/components/setup/SyncStep.d.ts.map +1 -0
  247. package/dist/components/setup/SyncStep.js +47 -0
  248. package/dist/components/setup/SyncStep.js.map +1 -0
  249. package/dist/components/setup/VerificationStep.d.ts +7 -0
  250. package/dist/components/setup/VerificationStep.d.ts.map +1 -0
  251. package/dist/components/setup/VerificationStep.js +27 -0
  252. package/dist/components/setup/VerificationStep.js.map +1 -0
  253. package/dist/components/setup/WelcomeStep.d.ts +6 -0
  254. package/dist/components/setup/WelcomeStep.d.ts.map +1 -0
  255. package/dist/components/setup/WelcomeStep.js +17 -0
  256. package/dist/components/setup/WelcomeStep.js.map +1 -0
  257. package/dist/components/shared/ProgressLine.d.ts +10 -0
  258. package/dist/components/shared/ProgressLine.d.ts.map +1 -0
  259. package/dist/components/shared/ProgressLine.js +18 -0
  260. package/dist/components/shared/ProgressLine.js.map +1 -0
  261. package/dist/components/shared/ProjectLine.d.ts +10 -0
  262. package/dist/components/shared/ProjectLine.d.ts.map +1 -0
  263. package/dist/components/shared/ProjectLine.js +19 -0
  264. package/dist/components/shared/ProjectLine.js.map +1 -0
  265. package/dist/components/shared/ScanningIndicator.d.ts +9 -0
  266. package/dist/components/shared/ScanningIndicator.d.ts.map +1 -0
  267. package/dist/components/shared/ScanningIndicator.js +22 -0
  268. package/dist/components/shared/ScanningIndicator.js.map +1 -0
  269. package/dist/components/shared/StatusLine.d.ts +13 -0
  270. package/dist/components/shared/StatusLine.d.ts.map +1 -0
  271. package/dist/components/shared/StatusLine.js +24 -0
  272. package/dist/components/shared/StatusLine.js.map +1 -0
  273. package/dist/components/shared/StatusLine.test.d.ts +8 -0
  274. package/dist/components/shared/StatusLine.test.d.ts.map +1 -0
  275. package/dist/components/shared/StatusLine.test.js +50 -0
  276. package/dist/components/shared/StatusLine.test.js.map +1 -0
  277. package/dist/components/shared/index.d.ts +4 -0
  278. package/dist/components/shared/index.d.ts.map +1 -0
  279. package/dist/components/shared/index.js +4 -0
  280. package/dist/components/shared/index.js.map +1 -0
  281. package/dist/handoff/catalog.test.d.ts +5 -0
  282. package/dist/handoff/catalog.test.d.ts.map +1 -0
  283. package/dist/handoff/catalog.test.js +172 -0
  284. package/dist/handoff/catalog.test.js.map +1 -0
  285. package/dist/handoff/subagents.test.d.ts +8 -0
  286. package/dist/handoff/subagents.test.d.ts.map +1 -0
  287. package/dist/handoff/subagents.test.js +139 -0
  288. package/dist/handoff/subagents.test.js.map +1 -0
  289. package/dist/hooks/useAddContextFlow.d.ts +29 -0
  290. package/dist/hooks/useAddContextFlow.d.ts.map +1 -0
  291. package/dist/hooks/useAddContextFlow.js +83 -0
  292. package/dist/hooks/useAddContextFlow.js.map +1 -0
  293. package/dist/hooks/useArchiveBrowser.d.ts +37 -0
  294. package/dist/hooks/useArchiveBrowser.d.ts.map +1 -0
  295. package/dist/hooks/useArchiveBrowser.js +175 -0
  296. package/dist/hooks/useArchiveBrowser.js.map +1 -0
  297. package/dist/hooks/useClaudeToken.d.ts +29 -0
  298. package/dist/hooks/useClaudeToken.d.ts.map +1 -0
  299. package/dist/hooks/useClaudeToken.js +166 -0
  300. package/dist/hooks/useClaudeToken.js.map +1 -0
  301. package/dist/hooks/useGoogleDocsBrowser.d.ts +29 -0
  302. package/dist/hooks/useGoogleDocsBrowser.d.ts.map +1 -0
  303. package/dist/hooks/useGoogleDocsBrowser.js +146 -0
  304. package/dist/hooks/useGoogleDocsBrowser.js.map +1 -0
  305. package/dist/hooks/useHandoffBrowser.d.ts +27 -0
  306. package/dist/hooks/useHandoffBrowser.d.ts.map +1 -0
  307. package/dist/hooks/useHandoffBrowser.js +92 -0
  308. package/dist/hooks/useHandoffBrowser.js.map +1 -0
  309. package/dist/hooks/useJacquesClient.d.ts +69 -0
  310. package/dist/hooks/useJacquesClient.d.ts.map +1 -0
  311. package/dist/hooks/useJacquesClient.js +248 -0
  312. package/dist/hooks/useJacquesClient.js.map +1 -0
  313. package/dist/hooks/useLlmWorking.d.ts +30 -0
  314. package/dist/hooks/useLlmWorking.d.ts.map +1 -0
  315. package/dist/hooks/useLlmWorking.js +127 -0
  316. package/dist/hooks/useLlmWorking.js.map +1 -0
  317. package/dist/hooks/useLoadContext.d.ts +27 -0
  318. package/dist/hooks/useLoadContext.d.ts.map +1 -0
  319. package/dist/hooks/useLoadContext.js +102 -0
  320. package/dist/hooks/useLoadContext.js.map +1 -0
  321. package/dist/hooks/useNotification.d.ts +36 -0
  322. package/dist/hooks/useNotification.d.ts.map +1 -0
  323. package/dist/hooks/useNotification.js +89 -0
  324. package/dist/hooks/useNotification.js.map +1 -0
  325. package/dist/hooks/useNotification.test.d.ts +9 -0
  326. package/dist/hooks/useNotification.test.d.ts.map +1 -0
  327. package/dist/hooks/useNotification.test.js +144 -0
  328. package/dist/hooks/useNotification.test.js.map +1 -0
  329. package/dist/hooks/useNotionBrowser.d.ts +30 -0
  330. package/dist/hooks/useNotionBrowser.d.ts.map +1 -0
  331. package/dist/hooks/useNotionBrowser.js +154 -0
  332. package/dist/hooks/useNotionBrowser.js.map +1 -0
  333. package/dist/hooks/useObsidianBrowser.d.ts +42 -0
  334. package/dist/hooks/useObsidianBrowser.d.ts.map +1 -0
  335. package/dist/hooks/useObsidianBrowser.js +63 -0
  336. package/dist/hooks/useObsidianBrowser.js.map +1 -0
  337. package/dist/hooks/useObsidianConfig.d.ts +28 -0
  338. package/dist/hooks/useObsidianConfig.d.ts.map +1 -0
  339. package/dist/hooks/useObsidianConfig.js +119 -0
  340. package/dist/hooks/useObsidianConfig.js.map +1 -0
  341. package/dist/hooks/useObsidianFileBrowser.d.ts +29 -0
  342. package/dist/hooks/useObsidianFileBrowser.d.ts.map +1 -0
  343. package/dist/hooks/useObsidianFileBrowser.js +114 -0
  344. package/dist/hooks/useObsidianFileBrowser.js.map +1 -0
  345. package/dist/hooks/useProjectDashboard.d.ts +38 -0
  346. package/dist/hooks/useProjectDashboard.d.ts.map +1 -0
  347. package/dist/hooks/useProjectDashboard.js +224 -0
  348. package/dist/hooks/useProjectDashboard.js.map +1 -0
  349. package/dist/hooks/useProjectSelector.d.ts +17 -0
  350. package/dist/hooks/useProjectSelector.d.ts.map +1 -0
  351. package/dist/hooks/useProjectSelector.js +43 -0
  352. package/dist/hooks/useProjectSelector.js.map +1 -0
  353. package/dist/hooks/useProjectSelector.test.d.ts +7 -0
  354. package/dist/hooks/useProjectSelector.test.d.ts.map +1 -0
  355. package/dist/hooks/useProjectSelector.test.js +117 -0
  356. package/dist/hooks/useProjectSelector.test.js.map +1 -0
  357. package/dist/hooks/useSaveFlow.d.ts +30 -0
  358. package/dist/hooks/useSaveFlow.d.ts.map +1 -0
  359. package/dist/hooks/useSaveFlow.js +195 -0
  360. package/dist/hooks/useSaveFlow.js.map +1 -0
  361. package/dist/hooks/useSessions.test.d.ts +7 -0
  362. package/dist/hooks/useSessions.test.d.ts.map +1 -0
  363. package/dist/hooks/useSessions.test.js +153 -0
  364. package/dist/hooks/useSessions.test.js.map +1 -0
  365. package/dist/hooks/useSessionsExperiment.d.ts +97 -0
  366. package/dist/hooks/useSessionsExperiment.d.ts.map +1 -0
  367. package/dist/hooks/useSessionsExperiment.js +321 -0
  368. package/dist/hooks/useSessionsExperiment.js.map +1 -0
  369. package/dist/hooks/useSettings.d.ts +47 -0
  370. package/dist/hooks/useSettings.d.ts.map +1 -0
  371. package/dist/hooks/useSettings.js +245 -0
  372. package/dist/hooks/useSettings.js.map +1 -0
  373. package/dist/hooks/useSetupWizard.d.ts +35 -0
  374. package/dist/hooks/useSetupWizard.d.ts.map +1 -0
  375. package/dist/hooks/useSetupWizard.js +438 -0
  376. package/dist/hooks/useSetupWizard.js.map +1 -0
  377. package/dist/hooks/useUsageLimits.d.ts +24 -0
  378. package/dist/hooks/useUsageLimits.d.ts.map +1 -0
  379. package/dist/hooks/useUsageLimits.js +58 -0
  380. package/dist/hooks/useUsageLimits.js.map +1 -0
  381. package/dist/hooks/useUsageLimits.test.d.ts +7 -0
  382. package/dist/hooks/useUsageLimits.test.d.ts.map +1 -0
  383. package/dist/hooks/useUsageLimits.test.js +136 -0
  384. package/dist/hooks/useUsageLimits.test.js.map +1 -0
  385. package/dist/hooks/useWorktrees.d.ts +28 -0
  386. package/dist/hooks/useWorktrees.d.ts.map +1 -0
  387. package/dist/hooks/useWorktrees.js +57 -0
  388. package/dist/hooks/useWorktrees.js.map +1 -0
  389. package/dist/hooks/useWorktrees.test.d.ts +7 -0
  390. package/dist/hooks/useWorktrees.test.d.ts.map +1 -0
  391. package/dist/hooks/useWorktrees.test.js +119 -0
  392. package/dist/hooks/useWorktrees.test.js.map +1 -0
  393. package/dist/templates/compact-prompt.d.ts +16 -0
  394. package/dist/templates/compact-prompt.d.ts.map +1 -0
  395. package/dist/templates/compact-prompt.js +47 -0
  396. package/dist/templates/compact-prompt.js.map +1 -0
  397. package/dist/templates/context-skill.d.ts +8 -0
  398. package/dist/templates/context-skill.d.ts.map +1 -0
  399. package/dist/templates/context-skill.js +42 -0
  400. package/dist/templates/context-skill.js.map +1 -0
  401. package/dist/types.d.ts +127 -0
  402. package/dist/types.d.ts.map +1 -0
  403. package/dist/types.js +8 -0
  404. package/dist/types.js.map +1 -0
  405. package/dist/utils/activity.d.ts +17 -0
  406. package/dist/utils/activity.d.ts.map +1 -0
  407. package/dist/utils/activity.js +78 -0
  408. package/dist/utils/activity.js.map +1 -0
  409. package/dist/utils/bottom-controls.d.ts +24 -0
  410. package/dist/utils/bottom-controls.d.ts.map +1 -0
  411. package/dist/utils/bottom-controls.js +29 -0
  412. package/dist/utils/bottom-controls.js.map +1 -0
  413. package/dist/utils/clipboard.d.ts +2 -0
  414. package/dist/utils/clipboard.d.ts.map +1 -0
  415. package/dist/utils/clipboard.js +20 -0
  416. package/dist/utils/clipboard.js.map +1 -0
  417. package/dist/utils/constants.d.ts +6 -0
  418. package/dist/utils/constants.d.ts.map +1 -0
  419. package/dist/utils/constants.js +6 -0
  420. package/dist/utils/constants.js.map +1 -0
  421. package/dist/utils/format.d.ts +17 -0
  422. package/dist/utils/format.d.ts.map +1 -0
  423. package/dist/utils/format.js +31 -0
  424. package/dist/utils/format.js.map +1 -0
  425. package/dist/utils/session-mode.d.ts +14 -0
  426. package/dist/utils/session-mode.d.ts.map +1 -0
  427. package/dist/utils/session-mode.js +29 -0
  428. package/dist/utils/session-mode.js.map +1 -0
  429. package/dist/utils/session-mode.test.d.ts +7 -0
  430. package/dist/utils/session-mode.test.d.ts.map +1 -0
  431. package/dist/utils/session-mode.test.js +102 -0
  432. package/dist/utils/session-mode.test.js.map +1 -0
  433. package/dist/utils/sessions-items-builder.d.ts +29 -0
  434. package/dist/utils/sessions-items-builder.d.ts.map +1 -0
  435. package/dist/utils/sessions-items-builder.js +394 -0
  436. package/dist/utils/sessions-items-builder.js.map +1 -0
  437. package/dist/utils/settings.d.ts +100 -0
  438. package/dist/utils/settings.d.ts.map +1 -0
  439. package/dist/utils/settings.js +206 -0
  440. package/dist/utils/settings.js.map +1 -0
  441. package/dist/websocket-client.d.ts +70 -0
  442. package/dist/websocket-client.d.ts.map +1 -0
  443. package/dist/websocket-client.js +188 -0
  444. package/dist/websocket-client.js.map +1 -0
  445. package/hooks/adapters/__init__.py +17 -0
  446. package/hooks/adapters/__pycache__/__init__.cpython-311.pyc +0 -0
  447. package/hooks/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
  448. package/hooks/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
  449. package/hooks/adapters/__pycache__/base.cpython-311.pyc +0 -0
  450. package/hooks/adapters/__pycache__/base.cpython-313.pyc +0 -0
  451. package/hooks/adapters/__pycache__/base.cpython-314.pyc +0 -0
  452. package/hooks/adapters/__pycache__/calibration.cpython-311.pyc +0 -0
  453. package/hooks/adapters/__pycache__/calibration.cpython-313.pyc +0 -0
  454. package/hooks/adapters/__pycache__/calibration.cpython-314.pyc +0 -0
  455. package/hooks/adapters/__pycache__/claude_code.cpython-311.pyc +0 -0
  456. package/hooks/adapters/__pycache__/claude_code.cpython-313.pyc +0 -0
  457. package/hooks/adapters/__pycache__/claude_code.cpython-314.pyc +0 -0
  458. package/hooks/adapters/__pycache__/cursor.cpython-311.pyc +0 -0
  459. package/hooks/adapters/__pycache__/cursor.cpython-313.pyc +0 -0
  460. package/hooks/adapters/__pycache__/cursor.cpython-314.pyc +0 -0
  461. package/hooks/adapters/__pycache__/skills.cpython-311.pyc +0 -0
  462. package/hooks/adapters/__pycache__/skills.cpython-313.pyc +0 -0
  463. package/hooks/adapters/__pycache__/skills.cpython-314.pyc +0 -0
  464. package/hooks/adapters/__pycache__/test_adapters.cpython-311-pytest-9.0.2.pyc +0 -0
  465. package/hooks/adapters/__pycache__/test_adapters.cpython-313.pyc +0 -0
  466. package/hooks/adapters/__pycache__/test_calibration.cpython-311-pytest-9.0.2.pyc +0 -0
  467. package/hooks/adapters/__pycache__/test_skills.cpython-311-pytest-9.0.2.pyc +0 -0
  468. package/hooks/adapters/__pycache__/test_tokenizer.cpython-311-pytest-9.0.2.pyc +0 -0
  469. package/hooks/adapters/__pycache__/tokenizer.cpython-311.pyc +0 -0
  470. package/hooks/adapters/__pycache__/tokenizer.cpython-313.pyc +0 -0
  471. package/hooks/adapters/__pycache__/tokenizer.cpython-314.pyc +0 -0
  472. package/hooks/adapters/base.py +459 -0
  473. package/hooks/adapters/calibration.py +236 -0
  474. package/hooks/adapters/claude_code.py +316 -0
  475. package/hooks/adapters/context_parser.py +288 -0
  476. package/hooks/adapters/cursor.py +258 -0
  477. package/hooks/adapters/skills.py +160 -0
  478. package/hooks/adapters/template.py +281 -0
  479. package/hooks/adapters/test_adapters.py +516 -0
  480. package/hooks/adapters/test_calibration.py +235 -0
  481. package/hooks/adapters/test_skills.py +162 -0
  482. package/hooks/adapters/test_tokenizer.py +158 -0
  483. package/hooks/adapters/tokenizer.py +192 -0
  484. package/hooks/claude-code/pre-tool-use.py +36 -0
  485. package/hooks/claude-code/register-session.py +35 -0
  486. package/hooks/claude-code/report-activity.py +32 -0
  487. package/hooks/claude-code/session-idle.py +32 -0
  488. package/hooks/claude-code/statusline.sh +91 -0
  489. package/hooks/claude-code/unregister-session.py +32 -0
  490. package/hooks/cursor/README.md +61 -0
  491. package/hooks/cursor/after-agent-response.py +97 -0
  492. package/hooks/cursor/hooks.json.template +30 -0
  493. package/hooks/cursor/post-tool-use.py +32 -0
  494. package/hooks/cursor/pre-compact.py +61 -0
  495. package/hooks/cursor/session-end.py +32 -0
  496. package/hooks/cursor/session-start.py +66 -0
  497. package/hooks/git-detect.sh +47 -0
  498. package/hooks/install.py +441 -0
  499. package/hooks/jacques-register-session.py +286 -0
  500. package/hooks/jacques-report-activity.py +145 -0
  501. package/hooks/jacques-session-idle.py +57 -0
  502. package/hooks/jacques-unregister-session.py +57 -0
  503. package/hooks/requirements.txt +9 -0
  504. package/hooks/statusline.py +457 -0
  505. package/hooks/statusline.sh +212 -0
  506. package/package.json +63 -0
  507. package/skills/jacques-continue/SKILL.md +87 -0
  508. package/skills/jacques-handoff/SKILL.md +147 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SetupFrame — shared visual chrome for all setup wizard steps.
3
+ *
4
+ * Renders a bordered box with step indicator, content area, and bottom controls.
5
+ */
6
+ import React from "react";
7
+ import type { ControlItem } from "../../utils/bottom-controls.js";
8
+ interface SetupFrameProps {
9
+ stepNumber: number;
10
+ terminalWidth: number;
11
+ terminalHeight: number;
12
+ controls: ControlItem[];
13
+ children: React.ReactNode;
14
+ }
15
+ export declare function SetupFrame({ stepNumber, terminalWidth, terminalHeight, controls, children, }: SetupFrameProps): React.ReactElement;
16
+ export {};
17
+ //# sourceMappingURL=SetupFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupFrame.d.ts","sourceRoot":"","sources":["../../../src/components/setup/SetupFrame.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAalE,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAwEtC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { ACCENT_COLOR, BORDER_COLOR, MUTED_TEXT } from "../layout/theme.js";
4
+ import { buildBottomControls } from "../../utils/bottom-controls.js";
5
+ const STEP_NAMES = [
6
+ "Welcome",
7
+ "Prerequisites",
8
+ "Configuration",
9
+ "Installing",
10
+ "Verification",
11
+ "Sync",
12
+ "Complete",
13
+ ];
14
+ export function SetupFrame({ stepNumber, terminalWidth, terminalHeight, controls, children, }) {
15
+ const innerWidth = Math.max(40, terminalWidth - 4); // 2 for borders + 2 padding
16
+ const stepName = STEP_NAMES[stepNumber - 1] || "";
17
+ // Build bottom controls
18
+ const { element: bottomElement, width: controlsWidth } = buildBottomControls(controls);
19
+ // Top border with title
20
+ const title = " Jacques Setup ";
21
+ const topLeftCorner = "╭─";
22
+ const topRightCorner = "─╮";
23
+ const topFillLeft = "─".repeat(1);
24
+ const topFillRight = "─".repeat(Math.max(0, innerWidth - topLeftCorner.length - topFillLeft.length - title.length - topRightCorner.length + 2));
25
+ // Bottom border with controls
26
+ const bottomLeftCorner = "╰─";
27
+ const bottomRightCorner = "─╯";
28
+ const bottomFillRight = "─".repeat(Math.max(0, innerWidth - bottomLeftCorner.length - controlsWidth - bottomRightCorner.length + 2));
29
+ // Content height: terminal height minus top border, step line, separator, bottom border (4 lines)
30
+ const contentHeight = Math.max(5, terminalHeight - 4);
31
+ return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsxs(Text, { children: [_jsx(Text, { color: BORDER_COLOR, children: "╭─" }), _jsx(Text, { color: ACCENT_COLOR, bold: true, children: title }), _jsx(Text, { color: BORDER_COLOR, children: "─".repeat(Math.max(0, innerWidth - title.length - 2)) }), _jsx(Text, { color: BORDER_COLOR, children: "╮" })] }), _jsxs(Text, { children: [_jsx(Text, { color: BORDER_COLOR, children: "│ " }), _jsxs(Text, { color: ACCENT_COLOR, children: ["Step ", stepNumber, "/7"] }), _jsxs(Text, { color: MUTED_TEXT, children: [" \u00B7 ", stepName] }), _jsxs(Text, { color: BORDER_COLOR, children: [" ".repeat(Math.max(0, innerWidth - `Step ${stepNumber}/7 · ${stepName}`.length - 2)), "│"] })] }), _jsxs(Text, { children: [_jsx(Text, { color: BORDER_COLOR, children: "│ " }), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(Math.max(0, innerWidth - 2)) }), _jsx(Text, { color: BORDER_COLOR, children: " │" })] }), _jsx(Box, { flexDirection: "column", height: contentHeight, width: terminalWidth, children: children }), _jsxs(Text, { children: [_jsx(Text, { color: BORDER_COLOR, children: "╰─" }), bottomElement, _jsxs(Text, { color: BORDER_COLOR, children: [bottomFillRight, "╯"] })] })] }));
32
+ }
33
+ //# sourceMappingURL=SetupFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupFrame.js","sourceRoot":"","sources":["../../../src/components/setup/SetupFrame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SetupWizard — top-level orchestrator for the setup wizard TUI.
3
+ *
4
+ * Uses HorizontalLayout/VerticalLayout (same as main dashboard)
5
+ * with mascot on the left and wizard steps on the right.
6
+ */
7
+ import React from "react";
8
+ export declare function SetupWizard(): React.ReactElement;
9
+ //# sourceMappingURL=SetupWizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWizard.d.ts","sourceRoot":"","sources":["../../../src/components/setup/SetupWizard.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAuFnD,wBAAgB,WAAW,IAAI,KAAK,CAAC,YAAY,CAoHhD"}
@@ -0,0 +1,149 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * SetupWizard — top-level orchestrator for the setup wizard TUI.
4
+ *
5
+ * Uses HorizontalLayout/VerticalLayout (same as main dashboard)
6
+ * with mascot on the left and wizard steps on the right.
7
+ */
8
+ import { useState, useEffect } from "react";
9
+ import { Text, useInput, useStdout } from "ink";
10
+ import { useSetupWizard } from "../../hooks/useSetupWizard.js";
11
+ import { HorizontalLayout, VerticalLayout, ACCENT_COLOR, MUTED_TEXT, HORIZONTAL_LAYOUT_MIN_WIDTH, } from "../layout/index.js";
12
+ import { buildBottomControls } from "../../utils/bottom-controls.js";
13
+ import { buildWelcomeContent } from "./WelcomeStep.js";
14
+ import { buildPrerequisitesContent } from "./PrerequisitesStep.js";
15
+ import { buildOptionsContent } from "./OptionsStep.js";
16
+ import { buildInstallingContent } from "./InstallingStep.js";
17
+ import { buildVerificationContent } from "./VerificationStep.js";
18
+ import { buildSyncContent } from "./SyncStep.js";
19
+ import { buildDoneContent } from "./DoneStep.js";
20
+ const STEP_NAMES = [
21
+ "Welcome",
22
+ "Prerequisites",
23
+ "Configuration",
24
+ "Installing",
25
+ "Verification",
26
+ "Sync",
27
+ "Complete",
28
+ ];
29
+ function getControls(step, extra) {
30
+ switch (step) {
31
+ case "welcome":
32
+ return [
33
+ { key: "Enter", label: " start" },
34
+ { key: "Q", label: "uit" },
35
+ ];
36
+ case "prerequisites":
37
+ if (extra.prereqChecking)
38
+ return [{ key: "Q", label: "uit" }];
39
+ if (extra.prereqFailed)
40
+ return [
41
+ { key: "Esc", label: " back" },
42
+ { key: "Q", label: "uit" },
43
+ ];
44
+ return [
45
+ { key: "Enter", label: " continue" },
46
+ { key: "Esc", label: " back" },
47
+ { key: "Q", label: "uit" },
48
+ ];
49
+ case "options":
50
+ return [
51
+ { key: "↑↓", label: " navigate" },
52
+ { key: "Space", label: " toggle" },
53
+ { key: "Enter", label: " continue" },
54
+ { key: "Esc", label: " back" },
55
+ ];
56
+ case "installing":
57
+ if (!extra.installDone)
58
+ return [];
59
+ return [{ key: "Enter", label: " continue" }];
60
+ case "verification":
61
+ if (extra.verifyChecking)
62
+ return [];
63
+ return [{ key: "Enter", label: " continue" }];
64
+ case "sync":
65
+ if (extra.syncPhase === "ask")
66
+ return [
67
+ { key: "←→", label: " select" },
68
+ { key: "Enter", label: " confirm" },
69
+ ];
70
+ if (extra.syncPhase === "done" || extra.syncPhase === "error")
71
+ return [{ key: "Enter", label: " continue" }];
72
+ return [];
73
+ case "done":
74
+ return [{ key: "Enter", label: " exit" }];
75
+ default:
76
+ return [];
77
+ }
78
+ }
79
+ export function SetupWizard() {
80
+ const wizard = useSetupWizard();
81
+ const { stdout } = useStdout();
82
+ const [terminalWidth, setTerminalWidth] = useState(stdout?.columns || 80);
83
+ useEffect(() => {
84
+ const handleResize = () => {
85
+ if (stdout && "write" in stdout && typeof stdout.write === "function") {
86
+ stdout.write("\x1Bc");
87
+ }
88
+ if (stdout?.columns)
89
+ setTerminalWidth(stdout.columns);
90
+ };
91
+ if (stdout && "on" in stdout && typeof stdout.on === "function") {
92
+ stdout.on("resize", handleResize);
93
+ return () => {
94
+ if ("off" in stdout && typeof stdout.off === "function") {
95
+ stdout.off("resize", handleResize);
96
+ }
97
+ };
98
+ }
99
+ }, [stdout]);
100
+ useInput((input, key) => {
101
+ wizard.handleInput(input, key);
102
+ });
103
+ const prereqFailed = wizard.prereqResults.some((r) => r.status === "fail");
104
+ const controls = getControls(wizard.currentStep, {
105
+ prereqChecking: wizard.prereqChecking,
106
+ prereqFailed,
107
+ installDone: wizard.installDone,
108
+ verifyChecking: wizard.verifyChecking,
109
+ syncPhase: wizard.syncPhase,
110
+ });
111
+ const { element: bottomControls, width: controlsWidth } = buildBottomControls(controls);
112
+ const useHorizontalLayout = terminalWidth >= HORIZONTAL_LAYOUT_MIN_WIDTH;
113
+ const showVersion = terminalWidth >= 70;
114
+ // Build content lines: step indicator + step content
115
+ const stepName = STEP_NAMES[wizard.stepNumber - 1] || "";
116
+ const contentLines = [];
117
+ // Step indicator (line 1 of 10)
118
+ contentLines.push(_jsxs(Text, { children: [_jsxs(Text, { color: ACCENT_COLOR, children: ["Step ", wizard.stepNumber, "/7"] }), _jsxs(Text, { color: MUTED_TEXT, children: [" \u00B7 ", stepName] })] }, "step-indicator"));
119
+ // Step-specific content (lines 2-10)
120
+ let stepContent;
121
+ switch (wizard.currentStep) {
122
+ case "welcome":
123
+ stepContent = buildWelcomeContent();
124
+ break;
125
+ case "prerequisites":
126
+ stepContent = buildPrerequisitesContent(wizard.prereqResults, wizard.prereqChecking, wizard.prereqCurrentCheck);
127
+ break;
128
+ case "options":
129
+ stepContent = buildOptionsContent(wizard.options, wizard.optionsIndex);
130
+ break;
131
+ case "installing":
132
+ stepContent = buildInstallingContent(wizard.installSubsteps, wizard.installCurrentIndex);
133
+ break;
134
+ case "verification":
135
+ stepContent = buildVerificationContent(wizard.verifyResults, wizard.verifyChecking);
136
+ break;
137
+ case "sync":
138
+ stepContent = buildSyncContent(wizard.syncPhase, wizard.syncSelectedOption, wizard.syncProgress, wizard.syncResult, wizard.syncErrorMessage);
139
+ break;
140
+ case "done":
141
+ stepContent = buildDoneContent(wizard.options, wizard.syncResult);
142
+ break;
143
+ default:
144
+ stepContent = [];
145
+ }
146
+ contentLines.push(...stepContent);
147
+ return useHorizontalLayout ? (_jsx(HorizontalLayout, { content: contentLines, terminalWidth: terminalWidth, title: "Jacques Setup", showVersion: showVersion, bottomControls: bottomControls, bottomControlsWidth: controlsWidth })) : (_jsx(VerticalLayout, { content: contentLines, title: "Jacques Setup", showVersion: showVersion, bottomControls: bottomControls }));
148
+ }
149
+ //# sourceMappingURL=SetupWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWizard.js","sourceRoot":"","sources":["../../../src/components/setup/SetupWizard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Animated braille spinner for the setup wizard.
3
+ */
4
+ import React from "react";
5
+ interface SpinnerProps {
6
+ color?: string;
7
+ }
8
+ export declare function Spinner({ color }: SpinnerProps): React.ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/setup/Spinner.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAoB,EAAE,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAWlF"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Animated braille spinner for the setup wizard.
4
+ */
5
+ import { useState, useEffect } from "react";
6
+ import { Text } from "ink";
7
+ import { ACCENT_COLOR } from "../layout/theme.js";
8
+ const FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
9
+ const INTERVAL = 80;
10
+ export function Spinner({ color = ACCENT_COLOR }) {
11
+ const [index, setIndex] = useState(0);
12
+ useEffect(() => {
13
+ const timer = setInterval(() => {
14
+ setIndex((prev) => (prev + 1) % FRAMES.length);
15
+ }, INTERVAL);
16
+ return () => clearInterval(timer);
17
+ }, []);
18
+ return _jsx(Text, { color: color, children: FRAMES[index] });
19
+ }
20
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/components/setup/Spinner.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,EAAE,CAAC;AAMpB,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,GAAG,YAAY,EAAgB;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAG,MAAM,CAAC,KAAK,CAAC,GAAQ,CAAC;AACpD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SyncStep — optional initial sync of existing conversations.
3
+ */
4
+ import React from "react";
5
+ import type { SyncResult } from "@jacques-ai/core";
6
+ export declare function buildSyncContent(phase: "ask" | "starting" | "running" | "done" | "error", selectedOption: number, progress: {
7
+ current: number;
8
+ total: number;
9
+ phase: string;
10
+ } | null, result: SyncResult | null, errorMessage?: string): React.ReactNode[];
11
+ //# sourceMappingURL=SyncStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncStep.d.ts","sourceRoot":"","sources":["../../../src/components/setup/SyncStep.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,EACxD,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAClE,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,KAAK,CAAC,SAAS,EAAE,CA6GnB"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { ACCENT_COLOR, MUTED_TEXT, SUCCESS_COLOR, ERROR_COLOR, } from "../layout/theme.js";
4
+ import { Spinner } from "./Spinner.js";
5
+ export function buildSyncContent(phase, selectedOption, progress, result, errorMessage) {
6
+ const lines = [];
7
+ lines.push(_jsx(Text, { color: "white", bold: true, children: "Initial Sync" }, "heading"));
8
+ lines.push(_jsx(Text, { children: " " }, "spacer-1"));
9
+ if (phase === "ask") {
10
+ lines.push(_jsx(Text, { color: MUTED_TEXT, children: "Jacques can index your existing Claude Code" }, "desc-1"));
11
+ lines.push(_jsx(Text, { color: MUTED_TEXT, children: "conversations to populate session history." }, "desc-2"));
12
+ lines.push(_jsx(Text, { children: " " }, "spacer-2"));
13
+ lines.push(_jsxs(Text, { children: [_jsx(Text, { color: selectedOption === 0 ? ACCENT_COLOR : MUTED_TEXT, children: selectedOption === 0 ? "› " : " " }), _jsx(Text, { color: selectedOption === 0 ? ACCENT_COLOR : "white", bold: selectedOption === 0, children: "[Yes] Sync now" }), " ", _jsx(Text, { color: selectedOption === 1 ? ACCENT_COLOR : MUTED_TEXT, children: selectedOption === 1 ? "› " : " " }), _jsx(Text, { color: selectedOption === 1 ? ACCENT_COLOR : "white", bold: selectedOption === 1, children: "[No] Skip" })] }, "options"));
14
+ }
15
+ if (phase === "starting") {
16
+ lines.push(_jsxs(Text, { children: [_jsx(Spinner, {}), _jsx(Text, { color: MUTED_TEXT, children: " Starting server..." })] }, "starting"));
17
+ }
18
+ if (phase === "running" && progress) {
19
+ const barWidth = 25;
20
+ const percent = progress.total > 0
21
+ ? Math.round((progress.current / progress.total) * 100)
22
+ : 0;
23
+ const filled = Math.round((progress.current / Math.max(1, progress.total)) * barWidth);
24
+ const empty = barWidth - filled;
25
+ lines.push(_jsx(Text, { color: MUTED_TEXT, children: "Syncing conversations..." }, "syncing"));
26
+ lines.push(_jsx(Text, { children: " " }, "spacer-r"));
27
+ lines.push(_jsxs(Text, { children: [_jsx(Text, { color: ACCENT_COLOR, children: "█".repeat(filled) }), _jsx(Text, { color: MUTED_TEXT, children: "░".repeat(empty) }), _jsxs(Text, { color: MUTED_TEXT, children: [" ", progress.current, "/", progress.total, " (", percent, "%)"] })] }, "progress"));
28
+ lines.push(_jsx(Text, { color: MUTED_TEXT, children: progress.phase === "extracting" ? "Extracting..." : "Indexing..." }, "phase"));
29
+ }
30
+ if (phase === "done" && result) {
31
+ lines.push(_jsx(Text, { color: SUCCESS_COLOR, children: "\u2713 Sync complete" }, "done"));
32
+ lines.push(_jsxs(Text, { color: MUTED_TEXT, children: [" ", result.totalSessions, " sessions found, ", result.indexed, " indexed"] }, "stats"));
33
+ if (result.errors > 0) {
34
+ lines.push(_jsxs(Text, { color: ERROR_COLOR, children: [" ", result.errors, " errors"] }, "errors"));
35
+ }
36
+ }
37
+ if (phase === "error") {
38
+ lines.push(_jsxs(Text, { color: ERROR_COLOR, children: ["\u2717 ", errorMessage || "Sync failed"] }, "error"));
39
+ lines.push(_jsx(Text, { color: MUTED_TEXT, children: "You can sync later from the Jacques dashboard." }, "fallback"));
40
+ }
41
+ // Pad to 9 lines
42
+ while (lines.length < 9) {
43
+ lines.push(_jsx(Text, { children: " " }, `pad-${lines.length}`));
44
+ }
45
+ return lines;
46
+ }
47
+ //# sourceMappingURL=SyncStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncStep.js","sourceRoot":"","sources":["../../../src/components/setup/SyncStep.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * VerificationStep — post-installation validation.
3
+ */
4
+ import React from "react";
5
+ import type { VerificationResult } from "@jacques-ai/core";
6
+ export declare function buildVerificationContent(results: VerificationResult[], checking: boolean): React.ReactNode[];
7
+ //# sourceMappingURL=VerificationStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationStep.d.ts","sourceRoot":"","sources":["../../../src/components/setup/VerificationStep.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,QAAQ,EAAE,OAAO,GAChB,KAAK,CAAC,SAAS,EAAE,CAyCnB"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { MUTED_TEXT, SUCCESS_COLOR, WARNING_COLOR, ERROR_COLOR, } from "../layout/theme.js";
4
+ import { Spinner } from "./Spinner.js";
5
+ export function buildVerificationContent(results, checking) {
6
+ const allPassed = !checking && results.length > 0 && results.every((r) => r.status !== "fail");
7
+ const lines = [];
8
+ lines.push(_jsx(Text, { color: "white", bold: true, children: "Verification" }, "heading"));
9
+ lines.push(_jsx(Text, { children: " " }, "spacer-1"));
10
+ for (let i = 0; i < results.length; i++) {
11
+ const result = results[i];
12
+ lines.push(_jsxs(Text, { children: [result.status === "pass" && _jsx(Text, { color: SUCCESS_COLOR, children: "\u2713" }), result.status === "fail" && _jsx(Text, { color: ERROR_COLOR, children: "\u2717" }), result.status === "warn" && _jsx(Text, { color: WARNING_COLOR, children: "\u26A0" }), " ", _jsx(Text, { color: "white", children: result.message })] }, `result-${i}`));
13
+ }
14
+ if (checking) {
15
+ lines.push(_jsxs(Text, { children: [_jsx(Spinner, {}), _jsx(Text, { color: MUTED_TEXT, children: " Verifying..." })] }, "checking"));
16
+ }
17
+ lines.push(_jsx(Text, { children: " " }, "spacer-2"));
18
+ if (allPassed) {
19
+ lines.push(_jsx(Text, { color: SUCCESS_COLOR, bold: true, children: "All checks passed!" }, "status"));
20
+ }
21
+ // Pad to 9 lines
22
+ while (lines.length < 9) {
23
+ lines.push(_jsx(Text, { children: " " }, `pad-${lines.length}`));
24
+ }
25
+ return lines;
26
+ }
27
+ //# sourceMappingURL=VerificationStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationStep.js","sourceRoot":"","sources":["../../../src/components/setup/VerificationStep.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,MAAM,UAAU,wBAAwB,CACtC,OAA6B,EAC7B,QAAiB;IAEjB,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAsB,EAAE,CAAC;IAEpC,KAAK,CAAC,IAAI,CAAC,KAAC,IAAI,IAAe,KAAK,EAAC,OAAO,EAAC,IAAI,oCAA5B,SAAS,CAAuC,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,KAAC,IAAI,qBAAK,UAAU,CAAS,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,MAAC,IAAI,eACF,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,aAAa,uBAAU,EAChE,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,uBAAU,EAC9D,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,aAAa,uBAAU,EAChE,GAAG,EACJ,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,MAAM,CAAC,OAAO,GAAQ,KALlC,UAAU,CAAC,EAAE,CAMjB,CACR,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CACR,MAAC,IAAI,eACH,KAAC,OAAO,KAAG,EACX,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,8BAAsB,KAFrC,UAAU,CAGb,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAC,IAAI,qBAAK,UAAU,CAAS,CAAC,CAAC;IAE1C,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAC,IAAI,IAAc,KAAK,EAAE,aAAa,EAAE,IAAI,0CAAnC,QAAQ,CAAqD,CAAC,CAAC;IACtF,CAAC;IAED,iBAAiB;IACjB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,KAAC,IAAI,qBAAM,OAAO,KAAK,CAAC,MAAM,EAAE,CAAU,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WelcomeStep — first screen content for the setup wizard.
3
+ */
4
+ import React from "react";
5
+ export declare function buildWelcomeContent(): React.ReactNode[];
6
+ //# sourceMappingURL=WelcomeStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeStep.d.ts","sourceRoot":"","sources":["../../../src/components/setup/WelcomeStep.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,mBAAmB,IAAI,KAAK,CAAC,SAAS,EAAE,CAYvD"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { ACCENT_COLOR, MUTED_TEXT } from "../layout/theme.js";
4
+ export function buildWelcomeContent() {
5
+ return [
6
+ _jsx(Text, { children: " " }, "spacer-1"),
7
+ _jsx(Text, { color: "white", bold: true, children: "Welcome to Jacques!" }, "heading"),
8
+ _jsx(Text, { children: " " }, "spacer-2"),
9
+ _jsx(Text, { color: MUTED_TEXT, children: "Real-time context monitor for Claude Code." }, "desc"),
10
+ _jsx(Text, { children: " " }, "spacer-3"),
11
+ _jsx(Text, { color: ACCENT_COLOR, children: "What will be set up:" }, "label"),
12
+ _jsx(Text, { color: MUTED_TEXT, children: " * Hook scripts for session tracking" }, "item-1"),
13
+ _jsx(Text, { color: MUTED_TEXT, children: " * Optional status line integration" }, "item-2"),
14
+ _jsx(Text, { color: MUTED_TEXT, children: " * Optional slash command skills" }, "item-3"),
15
+ ];
16
+ }
17
+ //# sourceMappingURL=WelcomeStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeStep.js","sourceRoot":"","sources":["../../../src/components/setup/WelcomeStep.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAC,IAAI,qBAAK,UAAU,CAAS;QAC7B,KAAC,IAAI,IAAe,KAAK,EAAC,OAAO,EAAC,IAAI,2CAA5B,SAAS,CAA8C;QACjE,KAAC,IAAI,qBAAK,UAAU,CAAS;QAC7B,KAAC,IAAI,IAAY,KAAK,EAAE,UAAU,4DAAxB,MAAM,CAAqE;QACrF,KAAC,IAAI,qBAAK,UAAU,CAAS;QAC7B,KAAC,IAAI,IAAa,KAAK,EAAE,YAAY,sCAA3B,OAAO,CAAiD;QAClE,KAAC,IAAI,IAAc,KAAK,EAAE,UAAU,uDAA1B,QAAQ,CAAgE;QAClF,KAAC,IAAI,IAAc,KAAK,EAAE,UAAU,sDAA1B,QAAQ,CAA+D;QACjF,KAAC,IAAI,IAAc,KAAK,EAAE,UAAU,mDAA1B,QAAQ,CAA4D;KAC/E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Context usage progress bar line with percentage and token counts.
3
+ * Extracted from Dashboard.tsx. Previously duplicated in CompactHeader.tsx.
4
+ */
5
+ import React from "react";
6
+ import type { Session } from "@jacques-ai/core";
7
+ export declare function ProgressLine({ session, }: {
8
+ session: Session | null;
9
+ }): React.ReactElement;
10
+ //# sourceMappingURL=ProgressLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressLine.d.ts","sourceRoot":"","sources":["../../../src/components/shared/ProgressLine.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,GAAG,KAAK,CAAC,YAAY,CA+BrB"}
@@ -0,0 +1,18 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { ACCENT_COLOR, MUTED_TEXT } from "../layout/theme.js";
4
+ import { formatTokens } from "../../utils/format.js";
5
+ export function ProgressLine({ session, }) {
6
+ if (!session || !session.context_metrics) {
7
+ return (_jsxs(Text, { color: MUTED_TEXT, wrap: "truncate-end", children: ["\u2591".repeat(20), " N/A"] }));
8
+ }
9
+ const metrics = session.context_metrics;
10
+ const percentage = metrics.used_percentage;
11
+ const maxTokens = metrics.context_window_size;
12
+ const currentTokens = Math.round(maxTokens * (percentage / 100));
13
+ const barWidth = 20;
14
+ const filled = Math.round((percentage / 100) * barWidth);
15
+ const empty = barWidth - filled;
16
+ return (_jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: ACCENT_COLOR, children: "\u2588".repeat(filled) }), _jsx(Text, { color: MUTED_TEXT, children: "\u2591".repeat(empty) }), _jsxs(Text, { color: ACCENT_COLOR, children: [" ", metrics.is_estimate ? "~" : "", percentage.toFixed(1), "%"] }), _jsxs(Text, { color: MUTED_TEXT, children: [" ", "(", formatTokens(currentTokens), "/", formatTokens(maxTokens), ")"] })] }));
17
+ }
18
+ //# sourceMappingURL=ProgressLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressLine.js","sourceRoot":"","sources":["../../../src/components/shared/ProgressLine.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,GAGR;IACC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACzC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,cAAc,aAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEhC,OAAO,CACL,MAAC,IAAI,IAAC,IAAI,EAAC,cAAc,aACvB,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAQ,EAC3D,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,YAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAQ,EACxD,MAAC,IAAI,IAAC,KAAK,EAAE,YAAY,aACtB,GAAG,EACH,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAC9B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SACjB,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,aACpB,GAAG,OACF,YAAY,CAAC,aAAa,CAAC,OAAG,YAAY,CAAC,SAAS,CAAC,SAClD,IACF,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Project and session title line.
3
+ * Extracted from Dashboard.tsx. Previously duplicated in CompactHeader.tsx.
4
+ */
5
+ import React from "react";
6
+ import type { Session } from "@jacques-ai/core";
7
+ export declare function ProjectLine({ session, }: {
8
+ session: Session | null;
9
+ }): React.ReactElement;
10
+ //# sourceMappingURL=ProjectLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectLine.d.ts","sourceRoot":"","sources":["../../../src/components/shared/ProjectLine.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,GAAG,KAAK,CAAC,YAAY,CA0BrB"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { MUTED_TEXT } from "../layout/theme.js";
4
+ export function ProjectLine({ session, }) {
5
+ if (!session) {
6
+ return _jsx(Text, { color: MUTED_TEXT, children: "No active session" });
7
+ }
8
+ const project = session.project || "unknown";
9
+ const title = session.session_title || "Untitled";
10
+ const maxLength = 35;
11
+ const truncatedProject = project.length > maxLength
12
+ ? project.substring(0, maxLength - 3) + "..."
13
+ : project;
14
+ const truncatedTitle = title.length > maxLength
15
+ ? title.substring(0, maxLength - 3) + "..."
16
+ : title;
17
+ return (_jsxs(Text, { children: [truncatedProject, _jsx(Text, { color: MUTED_TEXT, children: " / " }), truncatedTitle] }));
18
+ }
19
+ //# sourceMappingURL=ProjectLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectLine.js","sourceRoot":"","sources":["../../../src/components/shared/ProjectLine.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,GAGR;IACC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,kCAA0B,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;IAElD,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,gBAAgB,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS;QACxB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK;QAC7C,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,cAAc,GAClB,KAAK,CAAC,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK;QAC3C,CAAC,CAAC,KAAK,CAAC;IAEZ,OAAO,CACL,MAAC,IAAI,eACF,gBAAgB,EACjB,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,oBAAY,EAClC,cAAc,IACV,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * ScanningIndicator Component
3
+ *
4
+ * Animated "Scanning for sessions..." indicator shown during
5
+ * server startup while session discovery is in progress.
6
+ */
7
+ import React from "react";
8
+ export declare function ScanningIndicator(): React.ReactElement;
9
+ //# sourceMappingURL=ScanningIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScanningIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/shared/ScanningIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,wBAAgB,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAetD"}
@@ -0,0 +1,22 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * ScanningIndicator Component
4
+ *
5
+ * Animated "Scanning for sessions..." indicator shown during
6
+ * server startup while session discovery is in progress.
7
+ */
8
+ import { useState, useEffect } from "react";
9
+ import { Text } from "ink";
10
+ import { ACCENT_COLOR } from "../layout/theme.js";
11
+ const SPINNER_FRAMES = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
12
+ export function ScanningIndicator() {
13
+ const [frame, setFrame] = useState(0);
14
+ useEffect(() => {
15
+ const interval = setInterval(() => {
16
+ setFrame((f) => (f + 1) % SPINNER_FRAMES.length);
17
+ }, 80);
18
+ return () => clearInterval(interval);
19
+ }, []);
20
+ return (_jsxs(Text, { color: ACCENT_COLOR, children: [SPINNER_FRAMES[frame], " Scanning for sessions..."] }));
21
+ }
22
+ //# sourceMappingURL=ScanningIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScanningIndicator.js","sourceRoot":"","sources":["../../../src/components/shared/ScanningIndicator.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE5H,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,YAAY,aACtB,cAAc,CAAC,KAAK,CAAC,iCACjB,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * StatusLine Component
3
+ *
4
+ * Shows session status, mode, and worktree/branch info in a compact line.
5
+ * Replaces ProjectLine in the main view.
6
+ */
7
+ import React from "react";
8
+ import type { Session } from "@jacques-ai/core";
9
+ export declare function getSessionStatus(session: Session): string;
10
+ export declare function StatusLine({ session, }: {
11
+ session: Session | null;
12
+ }): React.ReactElement;
13
+ //# sourceMappingURL=StatusLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusLine.d.ts","sourceRoot":"","sources":["../../../src/components/shared/StatusLine.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAKzD;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,GAAG,KAAK,CAAC,YAAY,CAkBrB"}
@@ -0,0 +1,24 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { MUTED_TEXT } from "../layout/theme.js";
4
+ import { getCliActivity } from "../../utils/activity.js";
5
+ import { getSessionModeDisplay } from "../../utils/session-mode.js";
6
+ export function getSessionStatus(session) {
7
+ if (session.status === "working" || session.status === "tool_use")
8
+ return "working";
9
+ if (session.status === "waiting")
10
+ return "awaiting";
11
+ if (session.status === "idle")
12
+ return "idle";
13
+ return "active";
14
+ }
15
+ export function StatusLine({ session, }) {
16
+ if (!session) {
17
+ return _jsxs(Text, { color: MUTED_TEXT, children: ["\u25CB", " No active session"] });
18
+ }
19
+ const activity = getCliActivity(session.status, session.last_tool_name);
20
+ const { label: modeLabel, color: modeColor } = getSessionModeDisplay(session);
21
+ const worktree = session.git_worktree || session.git_branch || "\u2014";
22
+ return (_jsxs(Text, { wrap: "truncate-end", children: [_jsxs(Text, { color: activity.color, children: [activity.icon, " ", activity.label] }), _jsx(Text, { color: MUTED_TEXT, children: " \u2502 " }), _jsx(Text, { color: modeColor, children: modeLabel }), _jsx(Text, { color: MUTED_TEXT, children: " \u2502 " }), _jsx(Text, { color: MUTED_TEXT, children: worktree })] }));
23
+ }
24
+ //# sourceMappingURL=StatusLine.js.map