@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,129 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { SCENE_FULL, SCENE_COMPACT, dotLine, sectionLine, progressBar, formatTokens, formatDuration, formatDate, truncate, pad, } from "./ascii-art/index.js";
|
|
4
|
+
import { ACCENT_COLOR, MUTED_TEXT, SUCCESS_COLOR } from "./layout/index.js";
|
|
5
|
+
// Layout constants
|
|
6
|
+
const FULL_LAYOUT_MIN_WIDTH = 90;
|
|
7
|
+
const COMPACT_LAYOUT_MIN_WIDTH = 70;
|
|
8
|
+
const VISIBLE_SESSIONS = 4;
|
|
9
|
+
const VISIBLE_PLANS = 3;
|
|
10
|
+
const SCENE_COLOR = MUTED_TEXT;
|
|
11
|
+
/**
|
|
12
|
+
* Render the full layout (≥90 chars)
|
|
13
|
+
*/
|
|
14
|
+
function FullLayout({ projectName, terminalWidth, statistics, sessions, plans, activeSection, selectedIndex, scrollOffset, planProgress, }) {
|
|
15
|
+
// Left side: Scene + Sessions/Plans
|
|
16
|
+
// Right side: Statistics
|
|
17
|
+
const leftWidth = Math.floor(terminalWidth * 0.65);
|
|
18
|
+
const rightWidth = terminalWidth - leftWidth - 2;
|
|
19
|
+
return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Box, { flexDirection: "column", width: 52, children: SCENE_FULL.map((line, i) => (_jsx(Text, { color: SCENE_COLOR, children: line }, i))) }), _jsxs(Box, { flexDirection: "column", justifyContent: "flex-end", marginLeft: 4, children: [_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "PROJECT DASHBOARD" }), _jsx(Text, { color: MUTED_TEXT, children: truncate(projectName, 30) })] })] }), _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", width: leftWidth, children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: activeSection === "sessions" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "SESSIONS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(leftWidth - 2) }), _jsx(SessionsList, { sessions: sessions, isActive: activeSection === "sessions", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: leftWidth - 2 })] }), _jsx(Box, { height: 1 }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: activeSection === "plans" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "PLANS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(leftWidth - 2) }), _jsx(PlansList, { plans: plans, isActive: activeSection === "plans", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: leftWidth - 2, planProgress: planProgress })] })] }), _jsxs(Box, { flexDirection: "column", marginLeft: 2, width: rightWidth, children: [_jsx(Text, { color: MUTED_TEXT, bold: true, children: "STATISTICS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(rightWidth - 2) }), _jsx(StatisticsPanel, { statistics: statistics, width: rightWidth - 2 })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }) }), _jsxs(Text, { color: MUTED_TEXT, children: [" ", "[Tab] Section [\u2191\u2193] Navigate [Enter] View Plan [Esc] Back"] }), _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) })] }));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Render the compact layout (70-89 chars)
|
|
23
|
+
*/
|
|
24
|
+
function CompactLayout({ projectName, terminalWidth, statistics, sessions, plans, activeSection, selectedIndex, scrollOffset, planProgress, }) {
|
|
25
|
+
return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Box, { flexDirection: "column", width: 32, children: SCENE_COMPACT.map((line, i) => (_jsx(Text, { color: SCENE_COLOR, children: line }, i))) }), _jsxs(Box, { flexDirection: "column", justifyContent: "center", marginLeft: 2, children: [_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "PROJECT DASHBOARD" }), _jsx(Text, { color: MUTED_TEXT, children: truncate(projectName, 25) })] })] }), _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", width: Math.floor(terminalWidth * 0.55), children: [_jsx(Text, { color: activeSection === "sessions" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "SESSIONS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(Math.floor(terminalWidth * 0.5)) }), _jsx(SessionsList, { sessions: sessions.slice(0, 3), isActive: activeSection === "sessions", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: Math.floor(terminalWidth * 0.5), compact: true }), _jsx(Box, { height: 1 }), _jsx(Text, { color: activeSection === "plans" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "PLANS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(Math.floor(terminalWidth * 0.5)) }), _jsx(PlansList, { plans: plans.slice(0, 2), isActive: activeSection === "plans", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: Math.floor(terminalWidth * 0.5), planProgress: planProgress })] }), _jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [_jsx(Text, { color: MUTED_TEXT, bold: true, children: "STATISTICS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(20) }), _jsx(StatisticsPanel, { statistics: statistics, width: 20, compact: true })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }) }), _jsxs(Text, { color: MUTED_TEXT, children: [" ", "[Tab] Section [\u2191\u2193] Navigate [Esc] Back"] })] }));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Render the minimal layout (<70 chars)
|
|
29
|
+
*/
|
|
30
|
+
function MinimalLayout({ projectName, terminalWidth, statistics, sessions, plans, activeSection, selectedIndex, scrollOffset, planProgress, }) {
|
|
31
|
+
return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { bold: true, color: ACCENT_COLOR, children: "PROJECT DASHBOARD" }) }), _jsx(Text, { color: MUTED_TEXT, children: truncate(projectName, terminalWidth - 2) }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(terminalWidth - 2) }), _jsx(Box, { height: 1 }), _jsx(Text, { color: activeSection === "sessions" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "SESSIONS" }), _jsx(SessionsList, { sessions: sessions.slice(0, 3), isActive: activeSection === "sessions", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: terminalWidth - 2, compact: true }), _jsx(Box, { height: 1 }), _jsx(Text, { color: activeSection === "plans" ? ACCENT_COLOR : MUTED_TEXT, bold: true, children: "PLANS" }), _jsx(PlansList, { plans: plans.slice(0, 2), isActive: activeSection === "plans", selectedIndex: selectedIndex, scrollOffset: scrollOffset, maxWidth: terminalWidth - 2, planProgress: planProgress }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }) }), _jsx(Text, { color: MUTED_TEXT, children: " [\u2191\u2193] Navigate [Esc] Back" })] }));
|
|
32
|
+
}
|
|
33
|
+
function SessionsList({ sessions, isActive, selectedIndex, scrollOffset, maxWidth, compact = false, }) {
|
|
34
|
+
const visibleCount = compact ? 3 : VISIBLE_SESSIONS;
|
|
35
|
+
const visibleSessions = sessions.slice(scrollOffset, scrollOffset + visibleCount);
|
|
36
|
+
const hasMore = sessions.length > scrollOffset + visibleCount;
|
|
37
|
+
if (sessions.length === 0) {
|
|
38
|
+
return _jsx(Text, { color: MUTED_TEXT, children: "No sessions yet" });
|
|
39
|
+
}
|
|
40
|
+
const titleWidth = compact ? maxWidth - 12 : maxWidth - 20;
|
|
41
|
+
return (_jsxs(Box, { flexDirection: "column", children: [visibleSessions.map((session, i) => {
|
|
42
|
+
const globalIndex = scrollOffset + i;
|
|
43
|
+
const isSelected = isActive && globalIndex === selectedIndex;
|
|
44
|
+
const prefix = session.isActive ? (_jsx(Text, { color: SUCCESS_COLOR, children: "\u25CF " })) : (_jsx(Text, { children: " " }));
|
|
45
|
+
// Format the date
|
|
46
|
+
const dateStr = formatDate(new Date(session.date));
|
|
47
|
+
// Context or duration
|
|
48
|
+
const suffix = session.contextPercent !== undefined
|
|
49
|
+
? `${session.contextPercent}%`
|
|
50
|
+
: formatDuration(session.durationMinutes);
|
|
51
|
+
return (_jsxs(Text, { color: isSelected ? "white" : MUTED_TEXT, children: [isSelected ? "> " : " ", prefix, session.isActive ? (_jsx(Text, { color: "white", children: "Active" })) : (_jsx(Text, { children: dateStr })), " ", _jsx(Text, { color: isSelected ? "white" : undefined, children: truncate(session.title, titleWidth) }), " ", _jsx(Text, { children: pad(suffix, 5, "right") })] }, session.id));
|
|
52
|
+
}), hasMore && (_jsxs(Text, { color: MUTED_TEXT, children: [" ", "\u25BC ", sessions.length - scrollOffset - visibleCount, " more"] }))] }));
|
|
53
|
+
}
|
|
54
|
+
/** Width reserved for progress display: "████░░░░ 100%" = ~14 chars */
|
|
55
|
+
const PROGRESS_DISPLAY_WIDTH = 14;
|
|
56
|
+
function PlansList({ plans, isActive, selectedIndex, scrollOffset, maxWidth, planProgress, }) {
|
|
57
|
+
const visiblePlans = plans.slice(scrollOffset, scrollOffset + VISIBLE_PLANS);
|
|
58
|
+
const hasMore = plans.length > scrollOffset + VISIBLE_PLANS;
|
|
59
|
+
if (plans.length === 0) {
|
|
60
|
+
return _jsx(Text, { color: MUTED_TEXT, children: "No plans yet" });
|
|
61
|
+
}
|
|
62
|
+
// Calculate title width (reserve space for progress if available)
|
|
63
|
+
const hasProgress = planProgress && planProgress.size > 0;
|
|
64
|
+
const titleWidth = hasProgress ? maxWidth - 4 - PROGRESS_DISPLAY_WIDTH : maxWidth - 4;
|
|
65
|
+
return (_jsxs(Box, { flexDirection: "column", children: [visiblePlans.map((plan, i) => {
|
|
66
|
+
const globalIndex = scrollOffset + i;
|
|
67
|
+
const isSelected = isActive && globalIndex === selectedIndex;
|
|
68
|
+
const progress = planProgress?.get(plan.id);
|
|
69
|
+
// Progress bar display
|
|
70
|
+
let progressDisplay = "";
|
|
71
|
+
let progressColor = MUTED_TEXT;
|
|
72
|
+
if (progress && !progress.loading) {
|
|
73
|
+
const pct = progress.percentage;
|
|
74
|
+
progressDisplay = `${progressBar(pct, 6)} ${pad(pct.toString(), 3, "left")}%`;
|
|
75
|
+
if (pct === 100) {
|
|
76
|
+
progressColor = SUCCESS_COLOR;
|
|
77
|
+
}
|
|
78
|
+
else if (pct > 0) {
|
|
79
|
+
progressColor = ACCENT_COLOR;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (progress?.loading) {
|
|
83
|
+
progressDisplay = "...";
|
|
84
|
+
}
|
|
85
|
+
return (_jsxs(Text, { color: isSelected ? "white" : MUTED_TEXT, children: [isSelected ? "> " : " ", _jsx(Text, { color: isSelected ? "white" : undefined, children: truncate(plan.title, titleWidth) }), hasProgress && (_jsxs(_Fragment, { children: [" ", _jsx(Text, { color: isSelected ? "white" : progressColor, children: progressDisplay })] }))] }, plan.id));
|
|
86
|
+
}), hasMore && (_jsxs(Text, { color: MUTED_TEXT, children: [" ", "\u25BC more"] }))] }));
|
|
87
|
+
}
|
|
88
|
+
function StatisticsPanel({ statistics, width, compact = false, }) {
|
|
89
|
+
if (!statistics) {
|
|
90
|
+
return _jsx(Text, { color: MUTED_TEXT, children: "Loading..." });
|
|
91
|
+
}
|
|
92
|
+
const barWidth = compact ? 8 : 12;
|
|
93
|
+
// Calculate token percentages (assume 200k context window max for visualization)
|
|
94
|
+
const maxTokens = 200_000;
|
|
95
|
+
const inputPercent = Math.min(100, (statistics.totalInputTokens / maxTokens) * 100);
|
|
96
|
+
const outputPercent = Math.min(100, (statistics.totalOutputTokens / maxTokens) * 100);
|
|
97
|
+
// Model usage entries
|
|
98
|
+
const modelEntries = Object.entries(statistics.modelUsage)
|
|
99
|
+
.sort((a, b) => b[1] - a[1])
|
|
100
|
+
.slice(0, compact ? 2 : 4);
|
|
101
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: MUTED_TEXT, children: "Tokens" }), _jsxs(Text, { children: ["in ", progressBar(inputPercent, barWidth), " ", formatTokens(statistics.totalInputTokens)] }), _jsxs(Text, { children: ["out ", progressBar(outputPercent, barWidth), " ", formatTokens(statistics.totalOutputTokens)] }), _jsx(Box, { height: 1 }), _jsxs(Text, { color: MUTED_TEXT, children: ["Sessions: ", statistics.totalSessions, " Handoffs: ", statistics.totalHandoffs] }), !compact && modelEntries.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Box, { height: 1 }), _jsx(Text, { color: MUTED_TEXT, bold: true, children: "MODELS" }), _jsx(Text, { color: MUTED_TEXT, children: sectionLine(width) }), modelEntries.map(([model, count]) => {
|
|
102
|
+
const percent = (count / statistics.totalSessions) * 100;
|
|
103
|
+
// Shorten model names
|
|
104
|
+
const shortName = model.replace("Claude ", "").toLowerCase();
|
|
105
|
+
return (_jsxs(Text, { children: [pad(shortName, 7), " ", progressBar(percent, 8), " ", count] }, model));
|
|
106
|
+
})] }))] }));
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Main ProjectDashboardView component
|
|
110
|
+
*/
|
|
111
|
+
export function ProjectDashboardView(props) {
|
|
112
|
+
const { terminalWidth, loading } = props;
|
|
113
|
+
if (loading) {
|
|
114
|
+
return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, children: [_jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: ACCENT_COLOR, children: "Loading project dashboard..." }) }), _jsx(Text, { color: MUTED_TEXT, children: dotLine(terminalWidth) })] }));
|
|
115
|
+
}
|
|
116
|
+
// Choose layout based on terminal width
|
|
117
|
+
if (terminalWidth >= FULL_LAYOUT_MIN_WIDTH) {
|
|
118
|
+
return _jsx(FullLayout, { ...props });
|
|
119
|
+
}
|
|
120
|
+
else if (terminalWidth >= COMPACT_LAYOUT_MIN_WIDTH) {
|
|
121
|
+
return _jsx(CompactLayout, { ...props });
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return _jsx(MinimalLayout, { ...props });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Export constants for use in App.tsx
|
|
128
|
+
export { VISIBLE_SESSIONS, VISIBLE_PLANS };
|
|
129
|
+
//# sourceMappingURL=ProjectDashboardView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectDashboardView.js","sourceRoot":"","sources":["../../src/components/ProjectDashboardView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Save Context View
|
|
3
|
+
*
|
|
4
|
+
* Displays session preview, label input, and save result.
|
|
5
|
+
* Extracted from Dashboard.tsx.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
export interface SavePreviewData {
|
|
9
|
+
sessionSlug: string;
|
|
10
|
+
messageCount: number;
|
|
11
|
+
userMessages: number;
|
|
12
|
+
assistantMessages: number;
|
|
13
|
+
toolCalls: number;
|
|
14
|
+
durationMinutes: number;
|
|
15
|
+
filterLabel?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SaveSuccessData {
|
|
18
|
+
filename: string;
|
|
19
|
+
filePath: string;
|
|
20
|
+
fileSize: string;
|
|
21
|
+
}
|
|
22
|
+
interface SaveContextViewProps {
|
|
23
|
+
preview?: SavePreviewData | null;
|
|
24
|
+
label?: string;
|
|
25
|
+
error?: string | null;
|
|
26
|
+
success?: SaveSuccessData | null;
|
|
27
|
+
terminalWidth: number;
|
|
28
|
+
scrollOffset?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare function SaveContextView({ preview, label, error, success, terminalWidth, scrollOffset, }: SaveContextViewProps): React.ReactElement;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=SaveContextView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveContextView.d.ts","sourceRoot":"","sources":["../../src/components/SaveContextView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,YAAgB,GACjB,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAqI3C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { HorizontalLayout, VerticalLayout, ACCENT_COLOR, MUTED_TEXT, SUCCESS_COLOR, ERROR_COLOR, HORIZONTAL_LAYOUT_MIN_WIDTH, FIXED_CONTENT_HEIGHT, } from "./layout/index.js";
|
|
4
|
+
export function SaveContextView({ preview, label, error, success, terminalWidth, scrollOffset = 0, }) {
|
|
5
|
+
const useHorizontalLayout = terminalWidth >= HORIZONTAL_LAYOUT_MIN_WIDTH;
|
|
6
|
+
const showVersion = terminalWidth >= 65;
|
|
7
|
+
const allContentLines = [];
|
|
8
|
+
if (success) {
|
|
9
|
+
allContentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Save Context" }), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(40) }), _jsx(Box, {}), _jsx(Text, { color: SUCCESS_COLOR, children: "\u2713 Saved successfully!" }), _jsx(Box, {}), _jsx(Text, { bold: true, children: success.filename }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "Local: .jacques/sessions/" }), _jsx(Text, { color: MUTED_TEXT, children: "Global: ~/.jacques/archive/" }), _jsxs(Text, { color: MUTED_TEXT, children: ["Size: ", success.fileSize] }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "[Enter] or [Esc] to continue" }));
|
|
10
|
+
}
|
|
11
|
+
else if (error) {
|
|
12
|
+
allContentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Save Context" }), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(40) }), _jsx(Box, {}), _jsxs(Text, { color: ERROR_COLOR, children: ["\u2717 ", error] }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(40) }), _jsx(Text, { color: MUTED_TEXT, children: "[Esc] Back" }));
|
|
13
|
+
}
|
|
14
|
+
else if (preview) {
|
|
15
|
+
allContentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Save Context" }), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(40) }), _jsx(Box, {}), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Session: " }), preview.sessionSlug] }), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Messages: " }), preview.userMessages, " user, ", preview.assistantMessages, " assistant"] }), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Tool calls: " }), preview.toolCalls] }), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Duration: " }), preview.durationMinutes, " min"] }), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Filter: " }), preview.filterLabel || "Without Tools", _jsx(Text, { color: MUTED_TEXT, children: " (from Settings)" })] }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "Saves to:" }), _jsx(Text, { color: MUTED_TEXT, children: " \u2022 Local: .jacques/sessions/" }), _jsx(Text, { color: MUTED_TEXT, children: " \u2022 Global: ~/.jacques/archive/" }), _jsx(Box, {}), _jsxs(Text, { children: [_jsx(Text, { color: MUTED_TEXT, children: "Label (optional): " }), label || "", "_"] }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "[Enter] Save [Esc] Back" }));
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
allContentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Save Context" }), _jsx(Text, { color: MUTED_TEXT, children: "─".repeat(40) }), _jsx(Box, {}), _jsx(Text, { color: MUTED_TEXT, children: "Loading session data..." }));
|
|
19
|
+
}
|
|
20
|
+
// Apply scrolling - calculate visible window
|
|
21
|
+
const HEADER_LINES = 2; // title + separator
|
|
22
|
+
const maxVisibleItems = FIXED_CONTENT_HEIGHT - HEADER_LINES;
|
|
23
|
+
const totalItems = allContentLines.length;
|
|
24
|
+
const canScrollUp = scrollOffset > 0;
|
|
25
|
+
const canScrollDown = scrollOffset + maxVisibleItems < totalItems;
|
|
26
|
+
// Get visible slice
|
|
27
|
+
const visibleContent = allContentLines.slice(scrollOffset, scrollOffset + maxVisibleItems);
|
|
28
|
+
// Build final content with scroll indicators
|
|
29
|
+
const contentLines = [];
|
|
30
|
+
// Add scroll-up indicator if needed
|
|
31
|
+
if (canScrollUp) {
|
|
32
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "\u25B2 scroll up" }));
|
|
33
|
+
}
|
|
34
|
+
contentLines.push(...visibleContent);
|
|
35
|
+
// Add scroll-down indicator if needed
|
|
36
|
+
if (canScrollDown) {
|
|
37
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "\u25BC scroll down" }));
|
|
38
|
+
}
|
|
39
|
+
return useHorizontalLayout ? (_jsx(HorizontalLayout, { content: contentLines, terminalWidth: terminalWidth, title: "Jacques", showVersion: showVersion })) : (_jsx(VerticalLayout, { content: contentLines, title: "Jacques", showVersion: showVersion }));
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=SaveContextView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveContextView.js","sourceRoot":"","sources":["../../src/components/SaveContextView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionDetails Component
|
|
3
|
+
*
|
|
4
|
+
* Displays detailed information about the focused session.
|
|
5
|
+
* Shows title, model, project, context usage, auto-compact status, and warnings.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
import type { Session } from "@jacques-ai/core";
|
|
9
|
+
interface SessionDetailsProps {
|
|
10
|
+
session: Session | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare function SessionDetails({ session, }: SessionDetailsProps): React.ReactElement;
|
|
13
|
+
export default SessionDetails;
|
|
14
|
+
//# sourceMappingURL=SessionDetails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionDetails.d.ts","sourceRoot":"","sources":["../../src/components/SessionDetails.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,kBAAkB,CAAC;AAEnE,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,GACR,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAwD1C;AA6JD,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { ProgressBar } from "./ProgressBar.js";
|
|
4
|
+
import { formatTokens } from "../utils/format.js";
|
|
5
|
+
import { ACCENT_COLOR, WARNING_COLOR, ERROR_COLOR, SUCCESS_COLOR } from "./layout/theme.js";
|
|
6
|
+
export function SessionDetails({ session, }) {
|
|
7
|
+
if (!session) {
|
|
8
|
+
return (_jsx(Box, { flexDirection: "column", paddingLeft: 1, children: _jsx(Text, { color: "gray", children: "No session focused" }) }));
|
|
9
|
+
}
|
|
10
|
+
const title = session.session_title || "Untitled Session";
|
|
11
|
+
const model = session.model?.display_name || session.model?.id || "Unknown";
|
|
12
|
+
const statusIcon = getStatusIcon(session.status);
|
|
13
|
+
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: "white", children: ["Active Session:", " "] }), _jsx(Text, { children: title })] }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: "white", children: ["Model:", " "] }), _jsxs(Text, { children: [model, " "] }), _jsxs(Text, { children: [statusIcon, " "] }), _jsx(Text, { color: "gray", children: session.status })] }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: "white", children: ["Project:", " "] }), _jsx(Text, { color: ACCENT_COLOR, children: session.project })] }), _jsx(Box, { marginTop: 1, children: _jsx(ContextMetricsDisplay, { session: session }) }), _jsx(Box, { marginTop: 1, children: _jsx(AutoCompactDisplay, { autocompact: session.autocompact, contextUsed: session.context_metrics?.used_percentage }) }), _jsxs(Text, { color: "gray", children: ["Last activity: ", formatRelativeTime(session.last_activity)] })] }));
|
|
14
|
+
}
|
|
15
|
+
function ContextMetricsDisplay({ session, }) {
|
|
16
|
+
const metrics = session.context_metrics;
|
|
17
|
+
if (!metrics) {
|
|
18
|
+
return _jsx(Text, { color: "gray", children: "Context metrics not yet available" });
|
|
19
|
+
}
|
|
20
|
+
const pct = metrics.used_percentage;
|
|
21
|
+
const total = formatTokens(metrics.context_window_size, { precise: true });
|
|
22
|
+
const used = formatTokens(metrics.total_input_tokens + metrics.total_output_tokens, { precise: true });
|
|
23
|
+
const isEstimate = metrics.is_estimate ?? false;
|
|
24
|
+
const estimatePrefix = isEstimate ? "~" : "";
|
|
25
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: "white", children: ["Context Used:", " "] }), _jsxs(Text, { children: [estimatePrefix, pct.toFixed(1), "%"] })] }), _jsxs(Box, { children: [_jsx(ProgressBar, { percentage: pct, width: 30, showLabel: false, isEstimate: isEstimate }), _jsxs(Text, { color: "gray", children: [" ", estimatePrefix, used, " / ", total] })] }), pct >= 80 && (_jsx(Text, { color: ERROR_COLOR, bold: true, children: "\u26A0\uFE0F Context nearly full! Consider compacting." })), pct >= 60 && pct < 80 && (_jsx(Text, { color: WARNING_COLOR, children: "\u26A0\uFE0F Context usage is moderate" }))] }));
|
|
26
|
+
}
|
|
27
|
+
function AutoCompactDisplay({ autocompact, contextUsed, }) {
|
|
28
|
+
if (!autocompact) {
|
|
29
|
+
return (_jsxs(Text, { color: "gray", children: [_jsxs(Text, { bold: true, color: "white", children: ["Auto-compact:", " "] }), _jsx(Text, { children: "Unknown (press [a] to toggle)" })] }));
|
|
30
|
+
}
|
|
31
|
+
const { enabled, threshold, bug_threshold } = autocompact;
|
|
32
|
+
const pct = contextUsed ?? 0;
|
|
33
|
+
// Determine warning level based on context usage and auto-compact settings
|
|
34
|
+
let warningText = null;
|
|
35
|
+
let warningColor = WARNING_COLOR;
|
|
36
|
+
if (!enabled && bug_threshold) {
|
|
37
|
+
// Auto-compact disabled but bug may trigger at 78%
|
|
38
|
+
// IMPORTANT: Known bug #18264 - setting is IGNORED, triggers at ~78% anyway
|
|
39
|
+
if (pct >= 70) {
|
|
40
|
+
warningText = `⚠️ CRITICAL: Bug #18264 may trigger auto-compact at ~${bug_threshold}%!`;
|
|
41
|
+
warningColor = ERROR_COLOR;
|
|
42
|
+
}
|
|
43
|
+
else if (pct >= 60) {
|
|
44
|
+
warningText = `Warning: Bug #18264 may trigger at ~${bug_threshold}% despite setting`;
|
|
45
|
+
warningColor = WARNING_COLOR;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (enabled) {
|
|
49
|
+
// Auto-compact enabled, warn when approaching threshold
|
|
50
|
+
const warningThreshold = threshold - 15;
|
|
51
|
+
if (pct >= warningThreshold) {
|
|
52
|
+
warningText = `Approaching auto-compact at ${threshold}%`;
|
|
53
|
+
warningColor = pct >= threshold - 5 ? ERROR_COLOR : WARNING_COLOR;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: "white", children: ["Auto-compact:", " "] }), _jsxs(Text, { color: enabled ? SUCCESS_COLOR : WARNING_COLOR, bold: true, children: ["[", enabled ? "ON" : "OFF", "]"] }), enabled ? (_jsxs(Text, { color: "gray", children: [" at ", threshold, "%"] })) : (_jsxs(Text, { color: ERROR_COLOR, children: [" (BUG: still triggers at ~", bug_threshold, "%!)"] })), _jsx(Text, { color: "gray", children: " [a] toggle" })] }), warningText && _jsx(Text, { color: warningColor, children: warningText })] }));
|
|
57
|
+
}
|
|
58
|
+
function getStatusIcon(status) {
|
|
59
|
+
switch (status) {
|
|
60
|
+
case "working":
|
|
61
|
+
return "⚡";
|
|
62
|
+
case "idle":
|
|
63
|
+
return "💤";
|
|
64
|
+
case "active":
|
|
65
|
+
return "●";
|
|
66
|
+
default:
|
|
67
|
+
return "○";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function formatRelativeTime(timestamp) {
|
|
71
|
+
const now = Date.now() / 1000;
|
|
72
|
+
const diff = now - timestamp;
|
|
73
|
+
if (diff < 60) {
|
|
74
|
+
return `${Math.floor(diff)}s ago`;
|
|
75
|
+
}
|
|
76
|
+
else if (diff < 3600) {
|
|
77
|
+
return `${Math.floor(diff / 60)}m ago`;
|
|
78
|
+
}
|
|
79
|
+
else if (diff < 86400) {
|
|
80
|
+
return `${Math.floor(diff / 3600)}h ago`;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return `${Math.floor(diff / 86400)}d ago`;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export default SessionDetails;
|
|
87
|
+
//# sourceMappingURL=SessionDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionDetails.js","sourceRoot":"","sources":["../../src/components/SessionDetails.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAO5F,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,GACa;IACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACxC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mCAA0B,GACxC,CACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,kBAAkB,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC;IAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aAExC,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,gCACN,GAAG,IACd,EACP,KAAC,IAAI,cAAE,KAAK,GAAQ,IACf,EACP,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,uBACf,GAAG,IACL,EACP,MAAC,IAAI,eAAE,KAAK,SAAS,EACrB,MAAC,IAAI,eAAE,UAAU,SAAS,EAC1B,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,OAAO,CAAC,MAAM,GAAQ,IACrC,EACP,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,yBACb,GAAG,IACP,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,YAAG,OAAO,CAAC,OAAO,GAAQ,IAC9C,EAGP,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,GAAI,GACvC,EAGN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,kBAAkB,IACjB,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE,eAAe,GACrD,GACE,EAGN,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gCACA,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,IACpD,IACH,CACP,CAAC;AACJ,CAAC;AAMD,SAAS,qBAAqB,CAAC,EAC7B,OAAO,GACoB;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kDAAyC,CAAC;IACrE,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IACpC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,YAAY,CACvB,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,EACxD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;IAChD,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,8BACR,GAAG,IACZ,EACP,MAAC,IAAI,eACF,cAAc,EACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SACV,IACF,EACP,MAAC,GAAG,eACF,KAAC,WAAW,IACV,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,EAAE,EACT,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,UAAU,GACtB,EACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,GAAG,EACH,cAAc,EACd,IAAI,SAAK,KAAK,IACV,IACH,EAGL,GAAG,IAAI,EAAE,IAAI,CACZ,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,6EAEvB,CACR,EACA,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,CACxB,KAAC,IAAI,IAAC,KAAK,EAAE,aAAa,uDAAqC,CAChE,IACG,CACP,CAAC;AACJ,CAAC;AAOD,SAAS,kBAAkB,CAAC,EAC1B,WAAW,EACX,WAAW,GACa;IACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAChB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,8BACR,GAAG,IACZ,EACP,KAAC,IAAI,gDAAqC,IACrC,CACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAC1D,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,CAAC;IAE7B,2EAA2E;IAC3E,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,YAAY,GAAW,aAAa,CAAC;IAEzC,IAAI,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC;QAC9B,mDAAmD;QACnD,4EAA4E;QAC5E,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YACd,WAAW,GAAG,wDAAwD,aAAa,IAAI,CAAC;YACxF,YAAY,GAAG,WAAW,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YACrB,WAAW,GAAG,uCAAuC,aAAa,mBAAmB,CAAC;YACtF,YAAY,GAAG,aAAa,CAAC;QAC/B,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,SAAS,GAAG,EAAE,CAAC;QACxC,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC5B,WAAW,GAAG,+BAA+B,SAAS,GAAG,CAAC;YAC1D,YAAY,GAAG,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,8BACR,GAAG,IACZ,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,wBACtD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SACnB,EACN,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,qBAAM,SAAS,SAAS,CAC3C,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,KAAK,EAAE,WAAW,2CAA6B,aAAa,WAAW,CAC9E,EACD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,4BAAmB,IAChC,EACN,WAAW,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,YAAG,WAAW,GAAQ,IAC3D,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC;IAE7B,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;SAAM,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;IACzC,CAAC;SAAM,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionsExperimentView Component
|
|
3
|
+
*
|
|
4
|
+
* Active sessions grouped by worktree. Responsive layout:
|
|
5
|
+
* - Wide (≥62): bordered box with mascot column + shortcuts
|
|
6
|
+
* - Narrow (<62): flat vertical with mascot at top, no border
|
|
7
|
+
*
|
|
8
|
+
* Both layouts render at natural/minimum height and scroll
|
|
9
|
+
* when the terminal is shorter than the content.
|
|
10
|
+
*/
|
|
11
|
+
import React from "react";
|
|
12
|
+
import type { ContentItem } from "../hooks/useSessionsExperiment.js";
|
|
13
|
+
interface SessionsExperimentViewProps {
|
|
14
|
+
items: ContentItem[];
|
|
15
|
+
selectableIndices: number[];
|
|
16
|
+
selectedIndex: number;
|
|
17
|
+
selectedIds: Set<string>;
|
|
18
|
+
showHelp: boolean;
|
|
19
|
+
scrollBias: number;
|
|
20
|
+
notification: string | null;
|
|
21
|
+
terminalWidth: number;
|
|
22
|
+
terminalHeight: number;
|
|
23
|
+
isCreatingWorktree: boolean;
|
|
24
|
+
newWorktreeName: string;
|
|
25
|
+
worktreeCreateError: string | null;
|
|
26
|
+
repoRoot: string | null;
|
|
27
|
+
creatingForRepoRoot: string | null;
|
|
28
|
+
projectName: string | null;
|
|
29
|
+
removeDeleteBranch: boolean;
|
|
30
|
+
removeForce: boolean;
|
|
31
|
+
scanning?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function SessionsExperimentView({ items, selectableIndices, selectedIndex, selectedIds, showHelp, scrollBias, notification, terminalWidth, terminalHeight, isCreatingWorktree, newWorktreeName, worktreeCreateError, repoRoot, creatingForRepoRoot, projectName, removeDeleteBranch, removeForce, scanning, }: SessionsExperimentViewProps): React.ReactElement;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=SessionsExperimentView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionsExperimentView.d.ts","sourceRoot":"","sources":["../../src/components/SessionsExperimentView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAiB,MAAM,OAAO,CAAC;AAiBtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAMrE,UAAU,2BAA2B;IACnC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkBD,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,QAAQ,GACT,EAAE,2BAA2B,GAAG,KAAK,CAAC,YAAY,CAyiBlD"}
|