@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,394 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sessions Items Builder
|
|
3
|
+
*
|
|
4
|
+
* Pure functions that build the flat content item list for SessionsExperimentView.
|
|
5
|
+
* Extracted from useSessionsExperiment to enable unit testing without React hooks.
|
|
6
|
+
*/
|
|
7
|
+
import { getProjectGroupKey } from "@jacques-ai/core";
|
|
8
|
+
/**
|
|
9
|
+
* Build the complete flat item list and selectable indices for the sessions view.
|
|
10
|
+
*/
|
|
11
|
+
export function buildSessionItems(params) {
|
|
12
|
+
const { sortedSessions, allProjects, worktrees, selectedProject, showAllWorktrees, isCreatingWorktree, removingWorktreePath, repoRoot, worktreesByRepo, } = params;
|
|
13
|
+
const result = [];
|
|
14
|
+
const selectable = [];
|
|
15
|
+
// Group all sessions by project key
|
|
16
|
+
const sessionsByProject = new Map();
|
|
17
|
+
for (const session of sortedSessions) {
|
|
18
|
+
const key = getProjectGroupKey(session);
|
|
19
|
+
const existing = sessionsByProject.get(key) || [];
|
|
20
|
+
existing.push(session);
|
|
21
|
+
sessionsByProject.set(key, existing);
|
|
22
|
+
}
|
|
23
|
+
// Find the current project's data
|
|
24
|
+
const currentProjectData = selectedProject
|
|
25
|
+
? allProjects.find((p) => p.name === selectedProject)
|
|
26
|
+
: null;
|
|
27
|
+
// Current project first
|
|
28
|
+
if (selectedProject) {
|
|
29
|
+
const currentSessions = sessionsByProject.get(selectedProject) || [];
|
|
30
|
+
sessionsByProject.delete(selectedProject);
|
|
31
|
+
result.push({
|
|
32
|
+
kind: "project-header",
|
|
33
|
+
projectName: selectedProject,
|
|
34
|
+
gitRepoRoot: currentProjectData?.gitRepoRoot || null,
|
|
35
|
+
sessionCount: currentSessions.length,
|
|
36
|
+
isCurrent: true,
|
|
37
|
+
});
|
|
38
|
+
buildCurrentProjectItems(currentSessions, result, selectable, worktrees, repoRoot, isCreatingWorktree, showAllWorktrees, removingWorktreePath, worktreesByRepo);
|
|
39
|
+
}
|
|
40
|
+
// Other projects with active sessions, sorted by session count desc
|
|
41
|
+
const otherProjects = [...sessionsByProject.entries()]
|
|
42
|
+
.sort((a, b) => b[1].length - a[1].length || a[0].localeCompare(b[0]));
|
|
43
|
+
const renderedProjects = new Set();
|
|
44
|
+
if (selectedProject)
|
|
45
|
+
renderedProjects.add(selectedProject);
|
|
46
|
+
for (const [projectKey, projectSessions] of otherProjects) {
|
|
47
|
+
const projectData = allProjects.find((p) => p.name === projectKey);
|
|
48
|
+
renderedProjects.add(projectKey);
|
|
49
|
+
result.push({ kind: "spacer" });
|
|
50
|
+
result.push({
|
|
51
|
+
kind: "project-header",
|
|
52
|
+
projectName: projectKey,
|
|
53
|
+
gitRepoRoot: projectData?.gitRepoRoot || null,
|
|
54
|
+
sessionCount: projectSessions.length,
|
|
55
|
+
isCurrent: false,
|
|
56
|
+
});
|
|
57
|
+
buildOtherProjectItems(projectSessions, projectData?.gitRepoRoot || null, projectData?.projectPaths?.[0] || null, result, selectable, showAllWorktrees, worktreesByRepo);
|
|
58
|
+
}
|
|
59
|
+
// When details mode is on, also show projects with no active sessions
|
|
60
|
+
if (showAllWorktrees) {
|
|
61
|
+
const inactiveProjects = allProjects
|
|
62
|
+
.filter((p) => !renderedProjects.has(p.name))
|
|
63
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
64
|
+
for (const project of inactiveProjects) {
|
|
65
|
+
result.push({ kind: "spacer" });
|
|
66
|
+
result.push({
|
|
67
|
+
kind: "project-header",
|
|
68
|
+
projectName: project.name,
|
|
69
|
+
gitRepoRoot: project.gitRepoRoot,
|
|
70
|
+
sessionCount: 0,
|
|
71
|
+
isCurrent: false,
|
|
72
|
+
});
|
|
73
|
+
buildOtherProjectItems([], project.gitRepoRoot, project.projectPaths?.[0] || null, result, selectable, showAllWorktrees, worktreesByRepo);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { items: result, selectableIndices: selectable };
|
|
77
|
+
}
|
|
78
|
+
// ---- Internal helpers ----
|
|
79
|
+
/** Extract divergence data from the first session in a group (all share the same branch). */
|
|
80
|
+
function getDivergence(sessions) {
|
|
81
|
+
const first = sessions[0];
|
|
82
|
+
if (!first)
|
|
83
|
+
return {};
|
|
84
|
+
return {
|
|
85
|
+
ahead: first.git_ahead ?? undefined,
|
|
86
|
+
behind: first.git_behind ?? undefined,
|
|
87
|
+
dirty: first.git_dirty ?? undefined,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build worktree-grouped items for the current project (has full WorktreeItem data).
|
|
92
|
+
*/
|
|
93
|
+
function buildCurrentProjectItems(projectSessions, result, selectable, worktrees, repoRoot, isCreatingWorktree, showAllWorktrees, removingWorktreePath, worktreesByRepo) {
|
|
94
|
+
// If worktrees haven't loaded yet, use session-derived grouping
|
|
95
|
+
if (worktrees.length === 0) {
|
|
96
|
+
buildOtherProjectItems(projectSessions, repoRoot, repoRoot, result, selectable, showAllWorktrees, worktreesByRepo);
|
|
97
|
+
// Still show new worktree button if we have repo root
|
|
98
|
+
if (repoRoot) {
|
|
99
|
+
result.push({ kind: "spacer" });
|
|
100
|
+
selectable.push(result.length);
|
|
101
|
+
if (isCreatingWorktree) {
|
|
102
|
+
result.push({ kind: "new-worktree-input" });
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
result.push({ kind: "new-worktree-button" });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Match sessions to worktrees
|
|
111
|
+
const sessionsByWorktree = new Map();
|
|
112
|
+
const unmatched = [];
|
|
113
|
+
for (const session of projectSessions) {
|
|
114
|
+
let matched = false;
|
|
115
|
+
const wtId = session.git_worktree || null;
|
|
116
|
+
for (const wt of worktrees) {
|
|
117
|
+
if ((wtId === null && wt.isMain) ||
|
|
118
|
+
(wtId !== null && (wtId === wt.name || wtId === wt.branch)) ||
|
|
119
|
+
(session.cwd && (session.cwd === wt.path || session.cwd.startsWith(wt.path + '/')))) {
|
|
120
|
+
const existing = sessionsByWorktree.get(wt.name) || [];
|
|
121
|
+
existing.push(session);
|
|
122
|
+
sessionsByWorktree.set(wt.name, existing);
|
|
123
|
+
matched = true;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (!matched) {
|
|
128
|
+
unmatched.push(session);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Determine which worktrees are visible
|
|
132
|
+
let hiddenEmptyCount = 0;
|
|
133
|
+
const visibleWorktrees = [];
|
|
134
|
+
for (const wt of worktrees) {
|
|
135
|
+
const wtSessions = sessionsByWorktree.get(wt.name) || [];
|
|
136
|
+
if (wt.isMain || wtSessions.length > 0 || showAllWorktrees) {
|
|
137
|
+
visibleWorktrees.push(wt);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
hiddenEmptyCount++;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// hiddenEmptyCount used by show-all-worktrees-button (currently unused but kept for reference)
|
|
144
|
+
void hiddenEmptyCount;
|
|
145
|
+
// Build items per visible worktree
|
|
146
|
+
visibleWorktrees.forEach((wt) => {
|
|
147
|
+
const wtSessions = sessionsByWorktree.get(wt.name) || [];
|
|
148
|
+
if (result.length > 0) {
|
|
149
|
+
result.push({ kind: "spacer" });
|
|
150
|
+
}
|
|
151
|
+
result.push({
|
|
152
|
+
kind: "worktree-header",
|
|
153
|
+
name: wt.name,
|
|
154
|
+
branch: wt.branch,
|
|
155
|
+
isMain: wt.isMain,
|
|
156
|
+
sessionCount: wtSessions.length,
|
|
157
|
+
...getDivergence(wtSessions),
|
|
158
|
+
dirty: wt.status.hasUncommittedChanges,
|
|
159
|
+
merged: wt.status.isMergedToMain,
|
|
160
|
+
});
|
|
161
|
+
for (const session of wtSessions) {
|
|
162
|
+
selectable.push(result.length);
|
|
163
|
+
result.push({ kind: "session", session });
|
|
164
|
+
}
|
|
165
|
+
// New session button after each worktree's sessions
|
|
166
|
+
selectable.push(result.length);
|
|
167
|
+
result.push({ kind: "new-session-button", worktreePath: wt.path });
|
|
168
|
+
// Remove worktree button (only for non-main worktrees when showing all)
|
|
169
|
+
if (showAllWorktrees && !wt.isMain) {
|
|
170
|
+
selectable.push(result.length);
|
|
171
|
+
if (removingWorktreePath === wt.path) {
|
|
172
|
+
result.push({
|
|
173
|
+
kind: "remove-worktree-confirm",
|
|
174
|
+
worktreePath: wt.path,
|
|
175
|
+
worktreeName: wt.name,
|
|
176
|
+
branch: wt.branch,
|
|
177
|
+
hasUncommittedChanges: wt.status.hasUncommittedChanges,
|
|
178
|
+
isMergedToMain: wt.status.isMergedToMain,
|
|
179
|
+
sessionCount: wtSessions.length,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
result.push({
|
|
184
|
+
kind: "remove-worktree-button",
|
|
185
|
+
worktreePath: wt.path,
|
|
186
|
+
worktreeName: wt.name,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
// Unmatched sessions — group by branch for meaningful headers
|
|
192
|
+
if (unmatched.length > 0) {
|
|
193
|
+
const unmatchedGroups = new Map();
|
|
194
|
+
for (const session of unmatched) {
|
|
195
|
+
const key = session.git_branch || session.git_worktree || "other";
|
|
196
|
+
const existing = unmatchedGroups.get(key) || [];
|
|
197
|
+
existing.push(session);
|
|
198
|
+
unmatchedGroups.set(key, existing);
|
|
199
|
+
}
|
|
200
|
+
for (const [branchName, groupSessions] of unmatchedGroups) {
|
|
201
|
+
if (visibleWorktrees.length > 0 || result.length > 0) {
|
|
202
|
+
result.push({ kind: "spacer" });
|
|
203
|
+
}
|
|
204
|
+
result.push({
|
|
205
|
+
kind: "worktree-header",
|
|
206
|
+
name: branchName,
|
|
207
|
+
branch: branchName,
|
|
208
|
+
isMain: false,
|
|
209
|
+
sessionCount: groupSessions.length,
|
|
210
|
+
...getDivergence(groupSessions),
|
|
211
|
+
});
|
|
212
|
+
for (const session of groupSessions) {
|
|
213
|
+
selectable.push(result.length);
|
|
214
|
+
result.push({ kind: "session", session });
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// New worktree button (or input if creating)
|
|
219
|
+
if (repoRoot) {
|
|
220
|
+
result.push({ kind: "spacer" });
|
|
221
|
+
selectable.push(result.length);
|
|
222
|
+
if (isCreatingWorktree) {
|
|
223
|
+
result.push({ kind: "new-worktree-input" });
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
result.push({ kind: "new-worktree-button" });
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Build worktree-grouped items for other projects (uses worktreesByRepo or session-derived grouping).
|
|
232
|
+
*/
|
|
233
|
+
function buildOtherProjectItems(projectSessions, projectGitRoot, projectPath, result, selectable, showAllWorktrees, worktreesByRepo) {
|
|
234
|
+
// Non-git project: just show sessions and a New Session button
|
|
235
|
+
if (!projectGitRoot) {
|
|
236
|
+
for (const session of projectSessions) {
|
|
237
|
+
selectable.push(result.length);
|
|
238
|
+
result.push({ kind: "session", session });
|
|
239
|
+
}
|
|
240
|
+
const launchCwd = projectSessions[0]?.cwd || projectSessions[0]?.workspace?.project_dir || projectPath;
|
|
241
|
+
if (launchCwd) {
|
|
242
|
+
selectable.push(result.length);
|
|
243
|
+
result.push({ kind: "new-session-button", worktreePath: launchCwd });
|
|
244
|
+
}
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
// Check if we have real worktree data for this project
|
|
248
|
+
const projectWorktrees = projectGitRoot ? worktreesByRepo.get(projectGitRoot) : null;
|
|
249
|
+
if (showAllWorktrees && projectWorktrees && projectWorktrees.length > 0) {
|
|
250
|
+
// Full worktree display using real data
|
|
251
|
+
const sessionsByWt = new Map();
|
|
252
|
+
const unmatched = [];
|
|
253
|
+
for (const session of projectSessions) {
|
|
254
|
+
let matched = false;
|
|
255
|
+
for (const wt of projectWorktrees) {
|
|
256
|
+
if ((session.git_branch && session.git_branch === wt.branch) ||
|
|
257
|
+
(session.git_worktree && (session.git_worktree === wt.name || session.git_worktree === wt.branch)) ||
|
|
258
|
+
(session.cwd && (session.cwd === wt.path || session.cwd.startsWith(wt.path + "/")))) {
|
|
259
|
+
const existing = sessionsByWt.get(wt.name) || [];
|
|
260
|
+
existing.push(session);
|
|
261
|
+
sessionsByWt.set(wt.name, existing);
|
|
262
|
+
matched = true;
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (!matched) {
|
|
267
|
+
// No branch info → assign to main
|
|
268
|
+
if (!session.git_branch && !session.git_worktree) {
|
|
269
|
+
const mainWt = projectWorktrees.find((w) => w.isMain);
|
|
270
|
+
if (mainWt) {
|
|
271
|
+
const existing = sessionsByWt.get(mainWt.name) || [];
|
|
272
|
+
existing.push(session);
|
|
273
|
+
sessionsByWt.set(mainWt.name, existing);
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
unmatched.push(session);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Show all worktrees (main first, then alphabetical)
|
|
281
|
+
const sorted = [...projectWorktrees].sort((a, b) => {
|
|
282
|
+
if (a.isMain && !b.isMain)
|
|
283
|
+
return -1;
|
|
284
|
+
if (!a.isMain && b.isMain)
|
|
285
|
+
return 1;
|
|
286
|
+
return a.name.localeCompare(b.name);
|
|
287
|
+
});
|
|
288
|
+
for (const wt of sorted) {
|
|
289
|
+
const wtSessions = sessionsByWt.get(wt.name) || [];
|
|
290
|
+
if (result.length > 0) {
|
|
291
|
+
result.push({ kind: "spacer" });
|
|
292
|
+
}
|
|
293
|
+
result.push({
|
|
294
|
+
kind: "worktree-header",
|
|
295
|
+
name: wt.name,
|
|
296
|
+
branch: wt.branch,
|
|
297
|
+
isMain: wt.isMain,
|
|
298
|
+
sessionCount: wtSessions.length,
|
|
299
|
+
...getDivergence(wtSessions),
|
|
300
|
+
dirty: wt.status.hasUncommittedChanges,
|
|
301
|
+
merged: wt.status.isMergedToMain,
|
|
302
|
+
});
|
|
303
|
+
for (const session of wtSessions) {
|
|
304
|
+
selectable.push(result.length);
|
|
305
|
+
result.push({ kind: "session", session });
|
|
306
|
+
}
|
|
307
|
+
selectable.push(result.length);
|
|
308
|
+
result.push({ kind: "new-session-button", worktreePath: wt.path });
|
|
309
|
+
}
|
|
310
|
+
if (unmatched.length > 0) {
|
|
311
|
+
const unmatchedGroups = new Map();
|
|
312
|
+
for (const session of unmatched) {
|
|
313
|
+
const key = session.git_branch || session.git_worktree || "other";
|
|
314
|
+
const existing = unmatchedGroups.get(key) || [];
|
|
315
|
+
existing.push(session);
|
|
316
|
+
unmatchedGroups.set(key, existing);
|
|
317
|
+
}
|
|
318
|
+
for (const [branchName, groupSessions] of unmatchedGroups) {
|
|
319
|
+
result.push({ kind: "spacer" });
|
|
320
|
+
result.push({
|
|
321
|
+
kind: "worktree-header",
|
|
322
|
+
name: branchName,
|
|
323
|
+
branch: branchName,
|
|
324
|
+
isMain: false,
|
|
325
|
+
sessionCount: groupSessions.length,
|
|
326
|
+
...getDivergence(groupSessions),
|
|
327
|
+
});
|
|
328
|
+
for (const session of groupSessions) {
|
|
329
|
+
selectable.push(result.length);
|
|
330
|
+
result.push({ kind: "session", session });
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
// New Worktree button
|
|
335
|
+
if (projectGitRoot) {
|
|
336
|
+
result.push({ kind: "spacer" });
|
|
337
|
+
selectable.push(result.length);
|
|
338
|
+
result.push({ kind: "new-worktree-button", targetRepoRoot: projectGitRoot });
|
|
339
|
+
}
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
// Fallback: session-derived grouping
|
|
343
|
+
const wtGroups = new Map();
|
|
344
|
+
for (const session of projectSessions) {
|
|
345
|
+
const key = session.git_branch || session.git_worktree || "main";
|
|
346
|
+
const existing = wtGroups.get(key) || [];
|
|
347
|
+
existing.push(session);
|
|
348
|
+
wtGroups.set(key, existing);
|
|
349
|
+
}
|
|
350
|
+
// Ensure master/main always appears
|
|
351
|
+
const hasMainGroup = [...wtGroups.keys()].some((k) => k === "main" || k === "master");
|
|
352
|
+
if (!hasMainGroup && projectGitRoot) {
|
|
353
|
+
wtGroups.set("master", []);
|
|
354
|
+
}
|
|
355
|
+
const sortedKeys = [...wtGroups.keys()].sort((a, b) => {
|
|
356
|
+
if (a === "main" || a === "master")
|
|
357
|
+
return -1;
|
|
358
|
+
if (b === "main" || b === "master")
|
|
359
|
+
return 1;
|
|
360
|
+
return a.localeCompare(b);
|
|
361
|
+
});
|
|
362
|
+
for (const key of sortedKeys) {
|
|
363
|
+
const wtSessions = wtGroups.get(key);
|
|
364
|
+
const isMain = key === "main" || key === "master";
|
|
365
|
+
if (result.length > 0) {
|
|
366
|
+
result.push({ kind: "spacer" });
|
|
367
|
+
}
|
|
368
|
+
result.push({
|
|
369
|
+
kind: "worktree-header",
|
|
370
|
+
name: key,
|
|
371
|
+
branch: key,
|
|
372
|
+
isMain,
|
|
373
|
+
sessionCount: wtSessions.length,
|
|
374
|
+
...getDivergence(wtSessions),
|
|
375
|
+
});
|
|
376
|
+
for (const session of wtSessions) {
|
|
377
|
+
selectable.push(result.length);
|
|
378
|
+
result.push({ kind: "session", session });
|
|
379
|
+
}
|
|
380
|
+
// New session button
|
|
381
|
+
const launchCwd = wtSessions[0]?.cwd || wtSessions[0]?.workspace?.project_dir || (isMain ? projectGitRoot : null);
|
|
382
|
+
if (launchCwd) {
|
|
383
|
+
selectable.push(result.length);
|
|
384
|
+
result.push({ kind: "new-session-button", worktreePath: launchCwd });
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
// New Worktree button (details mode only)
|
|
388
|
+
if (showAllWorktrees && projectGitRoot) {
|
|
389
|
+
result.push({ kind: "spacer" });
|
|
390
|
+
selectable.push(result.length);
|
|
391
|
+
result.push({ kind: "new-worktree-button", targetRepoRoot: projectGitRoot });
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
//# sourceMappingURL=sessions-items-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions-items-builder.js","sourceRoot":"","sources":["../../src/utils/sessions-items-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Settings Utility
|
|
3
|
+
*
|
|
4
|
+
* Reads and writes ~/.claude/settings.json for auto-compact toggle.
|
|
5
|
+
* Also manages Jacques-specific settings in ~/.jacques/config.json.
|
|
6
|
+
*/
|
|
7
|
+
export interface ClaudeSettings {
|
|
8
|
+
autoCompact?: boolean;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read Claude settings from ~/.claude/settings.json
|
|
13
|
+
*/
|
|
14
|
+
export declare function getClaudeSettings(): ClaudeSettings;
|
|
15
|
+
/**
|
|
16
|
+
* Write Claude settings to ~/.claude/settings.json
|
|
17
|
+
*/
|
|
18
|
+
export declare function setClaudeSettings(settings: ClaudeSettings): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Get current auto-compact status
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAutoCompactEnabled(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Set auto-compact status
|
|
25
|
+
*/
|
|
26
|
+
export declare function setAutoCompact(enabled: boolean): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Toggle auto-compact status and return new value
|
|
29
|
+
*/
|
|
30
|
+
export declare function toggleAutoCompact(): {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
warning?: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Get auto-compact threshold from environment variable
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAutoCompactThreshold(): number;
|
|
38
|
+
export interface ArchiveSettings {
|
|
39
|
+
autoArchive: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface JacquesConfig {
|
|
42
|
+
archive?: ArchiveSettings;
|
|
43
|
+
skipPermissions?: boolean;
|
|
44
|
+
sources?: {
|
|
45
|
+
obsidian?: {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
vaultPath: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
[key: string]: unknown;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get default archive settings
|
|
54
|
+
*/
|
|
55
|
+
export declare function getDefaultArchiveSettings(): ArchiveSettings;
|
|
56
|
+
/**
|
|
57
|
+
* Read Jacques config from ~/.jacques/config.json
|
|
58
|
+
*/
|
|
59
|
+
export declare function getJacquesConfig(): JacquesConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Write Jacques config to ~/.jacques/config.json
|
|
62
|
+
*/
|
|
63
|
+
export declare function setJacquesConfig(config: JacquesConfig): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get archive settings
|
|
66
|
+
*/
|
|
67
|
+
export declare function getArchiveSettings(): ArchiveSettings;
|
|
68
|
+
/**
|
|
69
|
+
* Set archive settings
|
|
70
|
+
*/
|
|
71
|
+
export declare function setArchiveSettings(settings: ArchiveSettings): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Get auto-archive enabled status
|
|
74
|
+
*/
|
|
75
|
+
export declare function getAutoArchiveEnabled(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Set auto-archive enabled status
|
|
78
|
+
*/
|
|
79
|
+
export declare function setAutoArchiveEnabled(enabled: boolean): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Toggle auto-archive and return new value
|
|
82
|
+
*/
|
|
83
|
+
export declare function toggleAutoArchive(): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Get archive path
|
|
86
|
+
*/
|
|
87
|
+
export declare function getArchivePath(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Get skip-permissions status from Jacques config
|
|
90
|
+
*/
|
|
91
|
+
export declare function getSkipPermissions(): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Set skip-permissions status
|
|
94
|
+
*/
|
|
95
|
+
export declare function setSkipPermissions(enabled: boolean): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Toggle skip-permissions and return new value
|
|
98
|
+
*/
|
|
99
|
+
export declare function toggleSkipPermissions(): boolean;
|
|
100
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAUlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAWnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAI/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB1E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAShD;AAMD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAI3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAUhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAW/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAIrE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAK/C"}
|