@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.
- package/dist/assets/mascot-ansi.d.ts +8 -0
- package/dist/assets/mascot-ansi.d.ts.map +1 -0
- package/dist/assets/mascot-ansi.js +15 -0
- package/dist/assets/mascot-ansi.js.map +1 -0
- package/dist/cli.d.ts +15 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +53 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/client-helper.d.ts +14 -0
- package/dist/commands/client-helper.d.ts.map +1 -0
- package/dist/commands/client-helper.js +38 -0
- package/dist/commands/client-helper.js.map +1 -0
- package/dist/commands/dashboard.d.ts +8 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +159 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +6 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/list.d.ts +5 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +13 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/search.d.ts +13 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +79 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/setup.d.ts +8 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +32 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +5 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +27 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/components/ActiveSessionsView.d.ts +18 -0
- package/dist/components/ActiveSessionsView.d.ts.map +1 -0
- package/dist/components/ActiveSessionsView.js +68 -0
- package/dist/components/ActiveSessionsView.js.map +1 -0
- package/dist/components/AddContextConfirmView.d.ts +21 -0
- package/dist/components/AddContextConfirmView.d.ts.map +1 -0
- package/dist/components/AddContextConfirmView.js +44 -0
- package/dist/components/AddContextConfirmView.js.map +1 -0
- package/dist/components/App.d.ts +11 -0
- package/dist/components/App.d.ts.map +1 -0
- package/dist/components/App.js +292 -0
- package/dist/components/App.js.map +1 -0
- package/dist/components/ArchiveBrowserView.d.ts +40 -0
- package/dist/components/ArchiveBrowserView.d.ts.map +1 -0
- package/dist/components/ArchiveBrowserView.js +161 -0
- package/dist/components/ArchiveBrowserView.js.map +1 -0
- package/dist/components/ArchiveInitProgressView.d.ts +16 -0
- package/dist/components/ArchiveInitProgressView.d.ts.map +1 -0
- package/dist/components/ArchiveInitProgressView.js +72 -0
- package/dist/components/ArchiveInitProgressView.js.map +1 -0
- package/dist/components/AutoCompactToggle.d.ts +16 -0
- package/dist/components/AutoCompactToggle.d.ts.map +1 -0
- package/dist/components/AutoCompactToggle.js +12 -0
- package/dist/components/AutoCompactToggle.js.map +1 -0
- package/dist/components/BottomControls.d.ts +12 -0
- package/dist/components/BottomControls.d.ts.map +1 -0
- package/dist/components/BottomControls.js +11 -0
- package/dist/components/BottomControls.js.map +1 -0
- package/dist/components/CompactHeader.d.ts +21 -0
- package/dist/components/CompactHeader.d.ts.map +1 -0
- package/dist/components/CompactHeader.js +63 -0
- package/dist/components/CompactHeader.js.map +1 -0
- package/dist/components/CompactPanel.d.ts +22 -0
- package/dist/components/CompactPanel.d.ts.map +1 -0
- package/dist/components/CompactPanel.js +31 -0
- package/dist/components/CompactPanel.js.map +1 -0
- package/dist/components/ContentBox.d.ts +14 -0
- package/dist/components/ContentBox.d.ts.map +1 -0
- package/dist/components/ContentBox.js +24 -0
- package/dist/components/ContentBox.js.map +1 -0
- package/dist/components/ContextProgress.d.ts +14 -0
- package/dist/components/ContextProgress.d.ts.map +1 -0
- package/dist/components/ContextProgress.js +36 -0
- package/dist/components/ContextProgress.js.map +1 -0
- package/dist/components/Dashboard.d.ts +46 -0
- package/dist/components/Dashboard.d.ts.map +1 -0
- package/dist/components/Dashboard.js +67 -0
- package/dist/components/Dashboard.js.map +1 -0
- package/dist/components/FilterSelectionView.d.ts +15 -0
- package/dist/components/FilterSelectionView.d.ts.map +1 -0
- package/dist/components/FilterSelectionView.js +27 -0
- package/dist/components/FilterSelectionView.js.map +1 -0
- package/dist/components/GoogleDocsBrowserView.d.ts +20 -0
- package/dist/components/GoogleDocsBrowserView.d.ts.map +1 -0
- package/dist/components/GoogleDocsBrowserView.js +72 -0
- package/dist/components/GoogleDocsBrowserView.js.map +1 -0
- package/dist/components/HandoffBrowserView.d.ts +20 -0
- package/dist/components/HandoffBrowserView.d.ts.map +1 -0
- package/dist/components/HandoffBrowserView.js +66 -0
- package/dist/components/HandoffBrowserView.js.map +1 -0
- package/dist/components/Header.d.ts +14 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/Header.js +16 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/HorizontalMenu.d.ts +24 -0
- package/dist/components/HorizontalMenu.d.ts.map +1 -0
- package/dist/components/HorizontalMenu.js +20 -0
- package/dist/components/HorizontalMenu.js.map +1 -0
- package/dist/components/ImageMascot.d.ts +8 -0
- package/dist/components/ImageMascot.d.ts.map +1 -0
- package/dist/components/ImageMascot.js +7 -0
- package/dist/components/ImageMascot.js.map +1 -0
- package/dist/components/LLMWorkingView.d.ts +19 -0
- package/dist/components/LLMWorkingView.d.ts.map +1 -0
- package/dist/components/LLMWorkingView.js +72 -0
- package/dist/components/LLMWorkingView.js.map +1 -0
- package/dist/components/LoadContextView.d.ts +22 -0
- package/dist/components/LoadContextView.d.ts.map +1 -0
- package/dist/components/LoadContextView.js +83 -0
- package/dist/components/LoadContextView.js.map +1 -0
- package/dist/components/MainMenuView.d.ts +20 -0
- package/dist/components/MainMenuView.d.ts.map +1 -0
- package/dist/components/MainMenuView.js +49 -0
- package/dist/components/MainMenuView.js.map +1 -0
- package/dist/components/Mascot.d.ts +24 -0
- package/dist/components/Mascot.d.ts.map +1 -0
- package/dist/components/Mascot.js +32 -0
- package/dist/components/Mascot.js.map +1 -0
- package/dist/components/Menu.d.ts +22 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +28 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/NotionBrowserView.d.ts +21 -0
- package/dist/components/NotionBrowserView.d.ts.map +1 -0
- package/dist/components/NotionBrowserView.js +75 -0
- package/dist/components/NotionBrowserView.js.map +1 -0
- package/dist/components/ObsidianBrowserView.d.ts +21 -0
- package/dist/components/ObsidianBrowserView.d.ts.map +1 -0
- package/dist/components/ObsidianBrowserView.js +74 -0
- package/dist/components/ObsidianBrowserView.js.map +1 -0
- package/dist/components/ObsidianConfigView.d.ts +19 -0
- package/dist/components/ObsidianConfigView.d.ts.map +1 -0
- package/dist/components/ObsidianConfigView.js +45 -0
- package/dist/components/ObsidianConfigView.js.map +1 -0
- package/dist/components/PlaceholderView.d.ts +15 -0
- package/dist/components/PlaceholderView.d.ts.map +1 -0
- package/dist/components/PlaceholderView.js +20 -0
- package/dist/components/PlaceholderView.js.map +1 -0
- package/dist/components/PlanViewerView.d.ts +26 -0
- package/dist/components/PlanViewerView.d.ts.map +1 -0
- package/dist/components/PlanViewerView.js +170 -0
- package/dist/components/PlanViewerView.js.map +1 -0
- package/dist/components/ProgressBar.d.ts +24 -0
- package/dist/components/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar.js +23 -0
- package/dist/components/ProgressBar.js.map +1 -0
- package/dist/components/ProjectDashboardView.d.ts +38 -0
- package/dist/components/ProjectDashboardView.d.ts.map +1 -0
- package/dist/components/ProjectDashboardView.js +129 -0
- package/dist/components/ProjectDashboardView.js.map +1 -0
- package/dist/components/SaveContextView.d.ts +32 -0
- package/dist/components/SaveContextView.d.ts.map +1 -0
- package/dist/components/SaveContextView.js +41 -0
- package/dist/components/SaveContextView.js.map +1 -0
- package/dist/components/SessionDetails.d.ts +14 -0
- package/dist/components/SessionDetails.d.ts.map +1 -0
- package/dist/components/SessionDetails.js +87 -0
- package/dist/components/SessionDetails.js.map +1 -0
- package/dist/components/SessionsExperimentView.d.ts +35 -0
- package/dist/components/SessionsExperimentView.d.ts.map +1 -0
- package/dist/components/SessionsExperimentView.js +347 -0
- package/dist/components/SessionsExperimentView.js.map +1 -0
- package/dist/components/SessionsList.d.ts +20 -0
- package/dist/components/SessionsList.d.ts.map +1 -0
- package/dist/components/SessionsList.js +75 -0
- package/dist/components/SessionsList.js.map +1 -0
- package/dist/components/SettingsView.d.ts +48 -0
- package/dist/components/SettingsView.d.ts.map +1 -0
- package/dist/components/SettingsView.js +156 -0
- package/dist/components/SettingsView.js.map +1 -0
- package/dist/components/SourceSelectionView.d.ts +26 -0
- package/dist/components/SourceSelectionView.d.ts.map +1 -0
- package/dist/components/SourceSelectionView.js +109 -0
- package/dist/components/SourceSelectionView.js.map +1 -0
- package/dist/components/VerticalMenu.d.ts +18 -0
- package/dist/components/VerticalMenu.d.ts.map +1 -0
- package/dist/components/VerticalMenu.js +15 -0
- package/dist/components/VerticalMenu.js.map +1 -0
- package/dist/components/ascii-art/index.d.ts +6 -0
- package/dist/components/ascii-art/index.d.ts.map +1 -0
- package/dist/components/ascii-art/index.js +6 -0
- package/dist/components/ascii-art/index.js.map +1 -0
- package/dist/components/ascii-art/progress.d.ts +53 -0
- package/dist/components/ascii-art/progress.d.ts.map +1 -0
- package/dist/components/ascii-art/progress.js +102 -0
- package/dist/components/ascii-art/progress.js.map +1 -0
- package/dist/components/ascii-art/scene.d.ts +34 -0
- package/dist/components/ascii-art/scene.d.ts.map +1 -0
- package/dist/components/ascii-art/scene.js +72 -0
- package/dist/components/ascii-art/scene.js.map +1 -0
- package/dist/components/index.d.ts +27 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +25 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layout/HorizontalLayout.d.ts +19 -0
- package/dist/components/layout/HorizontalLayout.d.ts.map +1 -0
- package/dist/components/layout/HorizontalLayout.js +62 -0
- package/dist/components/layout/HorizontalLayout.js.map +1 -0
- package/dist/components/layout/VerticalLayout.d.ts +16 -0
- package/dist/components/layout/VerticalLayout.d.ts.map +1 -0
- package/dist/components/layout/VerticalLayout.js +32 -0
- package/dist/components/layout/VerticalLayout.js.map +1 -0
- package/dist/components/layout/index.d.ts +6 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +4 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/theme.d.ts +20 -0
- package/dist/components/layout/theme.d.ts.map +1 -0
- package/dist/components/layout/theme.js +23 -0
- package/dist/components/layout/theme.js.map +1 -0
- package/dist/components/setup/DoneStep.d.ts +7 -0
- package/dist/components/setup/DoneStep.d.ts.map +1 -0
- package/dist/components/setup/DoneStep.js +31 -0
- package/dist/components/setup/DoneStep.js.map +1 -0
- package/dist/components/setup/InstallingStep.d.ts +11 -0
- package/dist/components/setup/InstallingStep.d.ts.map +1 -0
- package/dist/components/setup/InstallingStep.js +27 -0
- package/dist/components/setup/InstallingStep.js.map +1 -0
- package/dist/components/setup/OptionsStep.d.ts +9 -0
- package/dist/components/setup/OptionsStep.d.ts.map +1 -0
- package/dist/components/setup/OptionsStep.js +39 -0
- package/dist/components/setup/OptionsStep.js.map +1 -0
- package/dist/components/setup/PrerequisitesStep.d.ts +7 -0
- package/dist/components/setup/PrerequisitesStep.d.ts.map +1 -0
- package/dist/components/setup/PrerequisitesStep.js +31 -0
- package/dist/components/setup/PrerequisitesStep.js.map +1 -0
- package/dist/components/setup/SetupFrame.d.ts +17 -0
- package/dist/components/setup/SetupFrame.d.ts.map +1 -0
- package/dist/components/setup/SetupFrame.js +33 -0
- package/dist/components/setup/SetupFrame.js.map +1 -0
- package/dist/components/setup/SetupWizard.d.ts +9 -0
- package/dist/components/setup/SetupWizard.d.ts.map +1 -0
- package/dist/components/setup/SetupWizard.js +149 -0
- package/dist/components/setup/SetupWizard.js.map +1 -0
- package/dist/components/setup/Spinner.d.ts +10 -0
- package/dist/components/setup/Spinner.d.ts.map +1 -0
- package/dist/components/setup/Spinner.js +20 -0
- package/dist/components/setup/Spinner.js.map +1 -0
- package/dist/components/setup/SyncStep.d.ts +11 -0
- package/dist/components/setup/SyncStep.d.ts.map +1 -0
- package/dist/components/setup/SyncStep.js +47 -0
- package/dist/components/setup/SyncStep.js.map +1 -0
- package/dist/components/setup/VerificationStep.d.ts +7 -0
- package/dist/components/setup/VerificationStep.d.ts.map +1 -0
- package/dist/components/setup/VerificationStep.js +27 -0
- package/dist/components/setup/VerificationStep.js.map +1 -0
- package/dist/components/setup/WelcomeStep.d.ts +6 -0
- package/dist/components/setup/WelcomeStep.d.ts.map +1 -0
- package/dist/components/setup/WelcomeStep.js +17 -0
- package/dist/components/setup/WelcomeStep.js.map +1 -0
- package/dist/components/shared/ProgressLine.d.ts +10 -0
- package/dist/components/shared/ProgressLine.d.ts.map +1 -0
- package/dist/components/shared/ProgressLine.js +18 -0
- package/dist/components/shared/ProgressLine.js.map +1 -0
- package/dist/components/shared/ProjectLine.d.ts +10 -0
- package/dist/components/shared/ProjectLine.d.ts.map +1 -0
- package/dist/components/shared/ProjectLine.js +19 -0
- package/dist/components/shared/ProjectLine.js.map +1 -0
- package/dist/components/shared/ScanningIndicator.d.ts +9 -0
- package/dist/components/shared/ScanningIndicator.d.ts.map +1 -0
- package/dist/components/shared/ScanningIndicator.js +22 -0
- package/dist/components/shared/ScanningIndicator.js.map +1 -0
- package/dist/components/shared/StatusLine.d.ts +13 -0
- package/dist/components/shared/StatusLine.d.ts.map +1 -0
- package/dist/components/shared/StatusLine.js +24 -0
- package/dist/components/shared/StatusLine.js.map +1 -0
- package/dist/components/shared/StatusLine.test.d.ts +8 -0
- package/dist/components/shared/StatusLine.test.d.ts.map +1 -0
- package/dist/components/shared/StatusLine.test.js +50 -0
- package/dist/components/shared/StatusLine.test.js.map +1 -0
- package/dist/components/shared/index.d.ts +4 -0
- package/dist/components/shared/index.d.ts.map +1 -0
- package/dist/components/shared/index.js +4 -0
- package/dist/components/shared/index.js.map +1 -0
- package/dist/handoff/catalog.test.d.ts +5 -0
- package/dist/handoff/catalog.test.d.ts.map +1 -0
- package/dist/handoff/catalog.test.js +172 -0
- package/dist/handoff/catalog.test.js.map +1 -0
- package/dist/handoff/subagents.test.d.ts +8 -0
- package/dist/handoff/subagents.test.d.ts.map +1 -0
- package/dist/handoff/subagents.test.js +139 -0
- package/dist/handoff/subagents.test.js.map +1 -0
- package/dist/hooks/useAddContextFlow.d.ts +29 -0
- package/dist/hooks/useAddContextFlow.d.ts.map +1 -0
- package/dist/hooks/useAddContextFlow.js +83 -0
- package/dist/hooks/useAddContextFlow.js.map +1 -0
- package/dist/hooks/useArchiveBrowser.d.ts +37 -0
- package/dist/hooks/useArchiveBrowser.d.ts.map +1 -0
- package/dist/hooks/useArchiveBrowser.js +175 -0
- package/dist/hooks/useArchiveBrowser.js.map +1 -0
- package/dist/hooks/useClaudeToken.d.ts +29 -0
- package/dist/hooks/useClaudeToken.d.ts.map +1 -0
- package/dist/hooks/useClaudeToken.js +166 -0
- package/dist/hooks/useClaudeToken.js.map +1 -0
- package/dist/hooks/useGoogleDocsBrowser.d.ts +29 -0
- package/dist/hooks/useGoogleDocsBrowser.d.ts.map +1 -0
- package/dist/hooks/useGoogleDocsBrowser.js +146 -0
- package/dist/hooks/useGoogleDocsBrowser.js.map +1 -0
- package/dist/hooks/useHandoffBrowser.d.ts +27 -0
- package/dist/hooks/useHandoffBrowser.d.ts.map +1 -0
- package/dist/hooks/useHandoffBrowser.js +92 -0
- package/dist/hooks/useHandoffBrowser.js.map +1 -0
- package/dist/hooks/useJacquesClient.d.ts +69 -0
- package/dist/hooks/useJacquesClient.d.ts.map +1 -0
- package/dist/hooks/useJacquesClient.js +248 -0
- package/dist/hooks/useJacquesClient.js.map +1 -0
- package/dist/hooks/useLlmWorking.d.ts +30 -0
- package/dist/hooks/useLlmWorking.d.ts.map +1 -0
- package/dist/hooks/useLlmWorking.js +127 -0
- package/dist/hooks/useLlmWorking.js.map +1 -0
- package/dist/hooks/useLoadContext.d.ts +27 -0
- package/dist/hooks/useLoadContext.d.ts.map +1 -0
- package/dist/hooks/useLoadContext.js +102 -0
- package/dist/hooks/useLoadContext.js.map +1 -0
- package/dist/hooks/useNotification.d.ts +36 -0
- package/dist/hooks/useNotification.d.ts.map +1 -0
- package/dist/hooks/useNotification.js +89 -0
- package/dist/hooks/useNotification.js.map +1 -0
- package/dist/hooks/useNotification.test.d.ts +9 -0
- package/dist/hooks/useNotification.test.d.ts.map +1 -0
- package/dist/hooks/useNotification.test.js +144 -0
- package/dist/hooks/useNotification.test.js.map +1 -0
- package/dist/hooks/useNotionBrowser.d.ts +30 -0
- package/dist/hooks/useNotionBrowser.d.ts.map +1 -0
- package/dist/hooks/useNotionBrowser.js +154 -0
- package/dist/hooks/useNotionBrowser.js.map +1 -0
- package/dist/hooks/useObsidianBrowser.d.ts +42 -0
- package/dist/hooks/useObsidianBrowser.d.ts.map +1 -0
- package/dist/hooks/useObsidianBrowser.js +63 -0
- package/dist/hooks/useObsidianBrowser.js.map +1 -0
- package/dist/hooks/useObsidianConfig.d.ts +28 -0
- package/dist/hooks/useObsidianConfig.d.ts.map +1 -0
- package/dist/hooks/useObsidianConfig.js +119 -0
- package/dist/hooks/useObsidianConfig.js.map +1 -0
- package/dist/hooks/useObsidianFileBrowser.d.ts +29 -0
- package/dist/hooks/useObsidianFileBrowser.d.ts.map +1 -0
- package/dist/hooks/useObsidianFileBrowser.js +114 -0
- package/dist/hooks/useObsidianFileBrowser.js.map +1 -0
- package/dist/hooks/useProjectDashboard.d.ts +38 -0
- package/dist/hooks/useProjectDashboard.d.ts.map +1 -0
- package/dist/hooks/useProjectDashboard.js +224 -0
- package/dist/hooks/useProjectDashboard.js.map +1 -0
- package/dist/hooks/useProjectSelector.d.ts +17 -0
- package/dist/hooks/useProjectSelector.d.ts.map +1 -0
- package/dist/hooks/useProjectSelector.js +43 -0
- package/dist/hooks/useProjectSelector.js.map +1 -0
- package/dist/hooks/useProjectSelector.test.d.ts +7 -0
- package/dist/hooks/useProjectSelector.test.d.ts.map +1 -0
- package/dist/hooks/useProjectSelector.test.js +117 -0
- package/dist/hooks/useProjectSelector.test.js.map +1 -0
- package/dist/hooks/useSaveFlow.d.ts +30 -0
- package/dist/hooks/useSaveFlow.d.ts.map +1 -0
- package/dist/hooks/useSaveFlow.js +195 -0
- package/dist/hooks/useSaveFlow.js.map +1 -0
- package/dist/hooks/useSessions.test.d.ts +7 -0
- package/dist/hooks/useSessions.test.d.ts.map +1 -0
- package/dist/hooks/useSessions.test.js +153 -0
- package/dist/hooks/useSessions.test.js.map +1 -0
- package/dist/hooks/useSessionsExperiment.d.ts +97 -0
- package/dist/hooks/useSessionsExperiment.d.ts.map +1 -0
- package/dist/hooks/useSessionsExperiment.js +321 -0
- package/dist/hooks/useSessionsExperiment.js.map +1 -0
- package/dist/hooks/useSettings.d.ts +47 -0
- package/dist/hooks/useSettings.d.ts.map +1 -0
- package/dist/hooks/useSettings.js +245 -0
- package/dist/hooks/useSettings.js.map +1 -0
- package/dist/hooks/useSetupWizard.d.ts +35 -0
- package/dist/hooks/useSetupWizard.d.ts.map +1 -0
- package/dist/hooks/useSetupWizard.js +438 -0
- package/dist/hooks/useSetupWizard.js.map +1 -0
- package/dist/hooks/useUsageLimits.d.ts +24 -0
- package/dist/hooks/useUsageLimits.d.ts.map +1 -0
- package/dist/hooks/useUsageLimits.js +58 -0
- package/dist/hooks/useUsageLimits.js.map +1 -0
- package/dist/hooks/useUsageLimits.test.d.ts +7 -0
- package/dist/hooks/useUsageLimits.test.d.ts.map +1 -0
- package/dist/hooks/useUsageLimits.test.js +136 -0
- package/dist/hooks/useUsageLimits.test.js.map +1 -0
- package/dist/hooks/useWorktrees.d.ts +28 -0
- package/dist/hooks/useWorktrees.d.ts.map +1 -0
- package/dist/hooks/useWorktrees.js +57 -0
- package/dist/hooks/useWorktrees.js.map +1 -0
- package/dist/hooks/useWorktrees.test.d.ts +7 -0
- package/dist/hooks/useWorktrees.test.d.ts.map +1 -0
- package/dist/hooks/useWorktrees.test.js +119 -0
- package/dist/hooks/useWorktrees.test.js.map +1 -0
- package/dist/templates/compact-prompt.d.ts +16 -0
- package/dist/templates/compact-prompt.d.ts.map +1 -0
- package/dist/templates/compact-prompt.js +47 -0
- package/dist/templates/compact-prompt.js.map +1 -0
- package/dist/templates/context-skill.d.ts +8 -0
- package/dist/templates/context-skill.d.ts.map +1 -0
- package/dist/templates/context-skill.js +42 -0
- package/dist/templates/context-skill.js.map +1 -0
- package/dist/types.d.ts +127 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/activity.d.ts +17 -0
- package/dist/utils/activity.d.ts.map +1 -0
- package/dist/utils/activity.js +78 -0
- package/dist/utils/activity.js.map +1 -0
- package/dist/utils/bottom-controls.d.ts +24 -0
- package/dist/utils/bottom-controls.d.ts.map +1 -0
- package/dist/utils/bottom-controls.js +29 -0
- package/dist/utils/bottom-controls.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +20 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/constants.d.ts +6 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +6 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/format.d.ts +17 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +31 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/session-mode.d.ts +14 -0
- package/dist/utils/session-mode.d.ts.map +1 -0
- package/dist/utils/session-mode.js +29 -0
- package/dist/utils/session-mode.js.map +1 -0
- package/dist/utils/session-mode.test.d.ts +7 -0
- package/dist/utils/session-mode.test.d.ts.map +1 -0
- package/dist/utils/session-mode.test.js +102 -0
- package/dist/utils/session-mode.test.js.map +1 -0
- package/dist/utils/sessions-items-builder.d.ts +29 -0
- package/dist/utils/sessions-items-builder.d.ts.map +1 -0
- package/dist/utils/sessions-items-builder.js +394 -0
- package/dist/utils/sessions-items-builder.js.map +1 -0
- package/dist/utils/settings.d.ts +100 -0
- package/dist/utils/settings.d.ts.map +1 -0
- package/dist/utils/settings.js +206 -0
- package/dist/utils/settings.js.map +1 -0
- package/dist/websocket-client.d.ts +70 -0
- package/dist/websocket-client.d.ts.map +1 -0
- package/dist/websocket-client.js +188 -0
- package/dist/websocket-client.js.map +1 -0
- package/hooks/adapters/__init__.py +17 -0
- package/hooks/adapters/__pycache__/__init__.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/base.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/base.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/base.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/calibration.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/calibration.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/calibration.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/claude_code.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/claude_code.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/claude_code.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/cursor.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/cursor.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/cursor.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/skills.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/skills.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/skills.cpython-314.pyc +0 -0
- package/hooks/adapters/__pycache__/test_adapters.cpython-311-pytest-9.0.2.pyc +0 -0
- package/hooks/adapters/__pycache__/test_adapters.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/test_calibration.cpython-311-pytest-9.0.2.pyc +0 -0
- package/hooks/adapters/__pycache__/test_skills.cpython-311-pytest-9.0.2.pyc +0 -0
- package/hooks/adapters/__pycache__/test_tokenizer.cpython-311-pytest-9.0.2.pyc +0 -0
- package/hooks/adapters/__pycache__/tokenizer.cpython-311.pyc +0 -0
- package/hooks/adapters/__pycache__/tokenizer.cpython-313.pyc +0 -0
- package/hooks/adapters/__pycache__/tokenizer.cpython-314.pyc +0 -0
- package/hooks/adapters/base.py +459 -0
- package/hooks/adapters/calibration.py +236 -0
- package/hooks/adapters/claude_code.py +316 -0
- package/hooks/adapters/context_parser.py +288 -0
- package/hooks/adapters/cursor.py +258 -0
- package/hooks/adapters/skills.py +160 -0
- package/hooks/adapters/template.py +281 -0
- package/hooks/adapters/test_adapters.py +516 -0
- package/hooks/adapters/test_calibration.py +235 -0
- package/hooks/adapters/test_skills.py +162 -0
- package/hooks/adapters/test_tokenizer.py +158 -0
- package/hooks/adapters/tokenizer.py +192 -0
- package/hooks/claude-code/pre-tool-use.py +36 -0
- package/hooks/claude-code/register-session.py +35 -0
- package/hooks/claude-code/report-activity.py +32 -0
- package/hooks/claude-code/session-idle.py +32 -0
- package/hooks/claude-code/statusline.sh +91 -0
- package/hooks/claude-code/unregister-session.py +32 -0
- package/hooks/cursor/README.md +61 -0
- package/hooks/cursor/after-agent-response.py +97 -0
- package/hooks/cursor/hooks.json.template +30 -0
- package/hooks/cursor/post-tool-use.py +32 -0
- package/hooks/cursor/pre-compact.py +61 -0
- package/hooks/cursor/session-end.py +32 -0
- package/hooks/cursor/session-start.py +66 -0
- package/hooks/git-detect.sh +47 -0
- package/hooks/install.py +441 -0
- package/hooks/jacques-register-session.py +286 -0
- package/hooks/jacques-report-activity.py +145 -0
- package/hooks/jacques-session-idle.py +57 -0
- package/hooks/jacques-unregister-session.py +57 -0
- package/hooks/requirements.txt +9 -0
- package/hooks/statusline.py +457 -0
- package/hooks/statusline.sh +212 -0
- package/package.json +63 -0
- package/skills/jacques-continue/SKILL.md +87 -0
- 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 @@
|
|
|
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
|