@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,156 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from "ink";
|
|
3
|
+
import { HorizontalLayout, VerticalLayout, ACCENT_COLOR, MUTED_TEXT, SUCCESS_COLOR, WARNING_COLOR, ERROR_COLOR, HORIZONTAL_LAYOUT_MIN_WIDTH, FIXED_CONTENT_HEIGHT, } from "./layout/index.js";
|
|
4
|
+
import { buildBottomControls } from "../utils/bottom-controls.js";
|
|
5
|
+
import { DEFAULT_NOTIFICATION_SETTINGS } from "@jacques-ai/core/notifications";
|
|
6
|
+
// Settings items:
|
|
7
|
+
// Index 0: Claude Connection
|
|
8
|
+
// Index 1: Auto-archive toggle
|
|
9
|
+
// Index 2: Skip Permissions toggle
|
|
10
|
+
// Index 3: Sync New
|
|
11
|
+
// Index 4: Re-sync All
|
|
12
|
+
// Index 5: Browse Archive
|
|
13
|
+
// Index 6: Notifications master toggle
|
|
14
|
+
// Index 7-12: Notification category toggles (8=operation and 12=bug-alert are disabled/skipped)
|
|
15
|
+
const TOTAL_ITEMS = 13;
|
|
16
|
+
/** Indices that should be skipped during navigation (disabled categories) */
|
|
17
|
+
const DISABLED_INDICES = new Set([8, 12]);
|
|
18
|
+
const NOTIFICATION_CATEGORIES = [
|
|
19
|
+
{ key: "context", label: "Context thresholds" },
|
|
20
|
+
{ key: "operation", label: "Large operations", disabled: true },
|
|
21
|
+
{ key: "plan", label: "Plan creation" },
|
|
22
|
+
{ key: "auto-compact", label: "Auto-compact" },
|
|
23
|
+
{ key: "handoff", label: "Handoff ready" },
|
|
24
|
+
{ key: "bug-alert", label: "Bug alert", disabled: true },
|
|
25
|
+
];
|
|
26
|
+
export { TOTAL_ITEMS as SETTINGS_TOTAL_ITEMS, DISABLED_INDICES as SETTINGS_DISABLED_INDICES };
|
|
27
|
+
function renderUsageDots(percentage) {
|
|
28
|
+
const total = 10;
|
|
29
|
+
const filled = Math.round((percentage / 100) * total);
|
|
30
|
+
const empty = total - filled;
|
|
31
|
+
const color = percentage < 50 ? SUCCESS_COLOR : percentage < 80 ? WARNING_COLOR : ERROR_COLOR;
|
|
32
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: color, children: "\u25CF".repeat(filled) }), _jsx(Text, { color: MUTED_TEXT, children: "\u25CB".repeat(empty) })] }));
|
|
33
|
+
}
|
|
34
|
+
export function SettingsView({ terminalWidth, selectedIndex, autoArchive, skipPermissions, stats, loading = false, scrollOffset = 0, syncProgress = null, usageLimits = null, usageLoading = false, claudeConnected = false, claudeTokenMasked = null, claudeTokenInput = "", claudeTokenError = null, isTokenInputMode = false, isTokenVerifying = false, showConnectionSuccess = false, notificationSettings, notificationsLoading = false, }) {
|
|
35
|
+
const useHorizontalLayout = terminalWidth >= HORIZONTAL_LAYOUT_MIN_WIDTH;
|
|
36
|
+
const showVersion = terminalWidth >= 70;
|
|
37
|
+
const contentLines = [];
|
|
38
|
+
// Title
|
|
39
|
+
contentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Settings" }, "title"));
|
|
40
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "\u2500".repeat(30) }, "sep"));
|
|
41
|
+
// Claude Code Connection section (index 0)
|
|
42
|
+
contentLines.push(_jsx(Text, { children: " " }, "claude-space"));
|
|
43
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "Claude Code Connection:" }, "claude-label"));
|
|
44
|
+
const claudeSelected = selectedIndex === 0;
|
|
45
|
+
if (claudeConnected && claudeTokenMasked) {
|
|
46
|
+
contentLines.push(_jsxs(Text, { color: claudeSelected ? ACCENT_COLOR : "white", children: [claudeSelected ? "> " : " ", _jsx(Text, { color: SUCCESS_COLOR, children: "\u25CF" }), " Connected", _jsxs(Text, { color: MUTED_TEXT, children: [" (", claudeTokenMasked, ")"] })] }, "claude-val"));
|
|
47
|
+
}
|
|
48
|
+
else if (isTokenInputMode) {
|
|
49
|
+
contentLines.push(_jsxs(Text, { color: MUTED_TEXT, wrap: "truncate", children: [" ", "1. Run: ", _jsx(Text, { color: "white", children: "claude setup-token" })] }, "claude-step1"));
|
|
50
|
+
contentLines.push(_jsxs(Text, { color: MUTED_TEXT, wrap: "truncate", children: [" ", "2. Paste token here:"] }, "claude-step2"));
|
|
51
|
+
const maxDisplayLength = 20;
|
|
52
|
+
let displayToken = claudeTokenInput || "";
|
|
53
|
+
if (displayToken.length > maxDisplayLength) {
|
|
54
|
+
displayToken = "..." + displayToken.slice(-maxDisplayLength);
|
|
55
|
+
}
|
|
56
|
+
if (isTokenVerifying) {
|
|
57
|
+
contentLines.push(_jsxs(Text, { color: ACCENT_COLOR, wrap: "truncate", children: [" ", "Verifying..."] }, "claude-verify"));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
contentLines.push(_jsxs(Text, { color: ACCENT_COLOR, wrap: "truncate", children: [" ", displayToken, "_"] }, "claude-input"));
|
|
61
|
+
}
|
|
62
|
+
if (claudeTokenError) {
|
|
63
|
+
contentLines.push(_jsxs(Text, { color: ERROR_COLOR, wrap: "truncate", children: [" ", claudeTokenError] }, "claude-err"));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
contentLines.push(_jsxs(Text, { color: claudeSelected ? ACCENT_COLOR : "white", children: [claudeSelected ? "> " : " ", _jsx(Text, { color: MUTED_TEXT, children: "\u25CB" }), " Not connected", _jsx(Text, { color: MUTED_TEXT, children: " (press Enter to connect)" })] }, "claude-val"));
|
|
68
|
+
}
|
|
69
|
+
// Auto-archive toggle (index 1)
|
|
70
|
+
contentLines.push(_jsx(Text, { children: " " }, "archive-space"));
|
|
71
|
+
const autoArchiveSelected = selectedIndex === 1;
|
|
72
|
+
const archiveCheck = autoArchive ? "[x]" : "[ ]";
|
|
73
|
+
contentLines.push(_jsxs(Text, { color: autoArchiveSelected ? ACCENT_COLOR : "white", children: [autoArchiveSelected ? "> " : " ", archiveCheck, " Auto-archive on session end"] }, "archive-val"));
|
|
74
|
+
// Skip permissions toggle (index 2)
|
|
75
|
+
const skipSelected = selectedIndex === 2;
|
|
76
|
+
const skipCheck = skipPermissions ? "[x]" : "[ ]";
|
|
77
|
+
contentLines.push(_jsxs(Text, { color: skipSelected ? ACCENT_COLOR : "white", children: [skipSelected ? "> " : " ", skipCheck, " ", _jsx(Text, { color: skipPermissions ? ERROR_COLOR : "white", children: "Dangerously skip permissions" })] }, "skip-val"));
|
|
78
|
+
// Sync section (indices 3-4)
|
|
79
|
+
contentLines.push(_jsx(Text, { children: " " }, "sync-space"));
|
|
80
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "Sync:" }, "sync-label"));
|
|
81
|
+
if (syncProgress) {
|
|
82
|
+
contentLines.push(_jsxs(Text, { color: ACCENT_COLOR, children: [" ", syncProgress] }, "sync-progress"));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const syncNewSelected = selectedIndex === 3;
|
|
86
|
+
contentLines.push(_jsxs(Text, { color: syncNewSelected ? ACCENT_COLOR : "white", children: [syncNewSelected ? "> " : " ", "Sync New"] }, "sync-new"));
|
|
87
|
+
const resyncSelected = selectedIndex === 4;
|
|
88
|
+
contentLines.push(_jsxs(Text, { color: resyncSelected ? ACCENT_COLOR : "white", children: [resyncSelected ? "> " : " ", "Re-sync All"] }, "resync"));
|
|
89
|
+
}
|
|
90
|
+
// Usage section
|
|
91
|
+
contentLines.push(_jsx(Text, { children: " " }, "usage-space"));
|
|
92
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "Usage:" }, "usage-label"));
|
|
93
|
+
if (usageLoading) {
|
|
94
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: " Loading..." }, "usage-loading"));
|
|
95
|
+
}
|
|
96
|
+
else if (usageLimits) {
|
|
97
|
+
if (usageLimits.current) {
|
|
98
|
+
const c = usageLimits.current;
|
|
99
|
+
contentLines.push(_jsxs(Text, { children: [" ", "current ", renderUsageDots(c.percentage), _jsxs(Text, { color: ACCENT_COLOR, children: [" ", c.percentage.toFixed(0), "%"] }), _jsxs(Text, { color: MUTED_TEXT, children: [" resets ", c.resetsAt] })] }, "usage-current"));
|
|
100
|
+
}
|
|
101
|
+
if (usageLimits.weekly) {
|
|
102
|
+
const w = usageLimits.weekly;
|
|
103
|
+
contentLines.push(_jsxs(Text, { children: [" ", "weekly ", renderUsageDots(w.percentage), _jsxs(Text, { color: ACCENT_COLOR, children: [" ", w.percentage.toFixed(0), "%"] }), _jsxs(Text, { color: MUTED_TEXT, children: [" resets ", w.resetsAt] })] }, "usage-weekly"));
|
|
104
|
+
}
|
|
105
|
+
if (!usageLimits.current && !usageLimits.weekly) {
|
|
106
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: " No usage data available" }, "usage-none"));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: " No usage data available" }, "usage-none"));
|
|
111
|
+
}
|
|
112
|
+
// Browse Archive (index 5)
|
|
113
|
+
contentLines.push(_jsx(Text, { children: " " }, "browse-space"));
|
|
114
|
+
const browseSelected = selectedIndex === 5;
|
|
115
|
+
contentLines.push(_jsxs(Text, { color: browseSelected ? ACCENT_COLOR : "white", children: [browseSelected ? "> " : " ", "Browse Archive", _jsx(Text, { color: MUTED_TEXT, children: " (view conversations)" })] }, "browse-val"));
|
|
116
|
+
// Notifications section (indices 6-14)
|
|
117
|
+
contentLines.push(_jsx(Text, { children: " " }, "notif-space"));
|
|
118
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "Notifications:" }, "notif-label"));
|
|
119
|
+
if (notificationsLoading) {
|
|
120
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: " Loading..." }, "notif-loading"));
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const ns = notificationSettings ?? DEFAULT_NOTIFICATION_SETTINGS;
|
|
124
|
+
const dimmed = !ns.enabled;
|
|
125
|
+
// Master toggle (index 6)
|
|
126
|
+
const masterSelected = selectedIndex === 6;
|
|
127
|
+
const masterCheck = ns.enabled ? "[x]" : "[ ]";
|
|
128
|
+
contentLines.push(_jsxs(Text, { color: masterSelected ? ACCENT_COLOR : "white", children: [masterSelected ? "> " : " ", masterCheck, " Enable notifications"] }, "notif-master"));
|
|
129
|
+
// Category toggles (indices 7-12)
|
|
130
|
+
for (let i = 0; i < NOTIFICATION_CATEGORIES.length; i++) {
|
|
131
|
+
const cat = NOTIFICATION_CATEGORIES[i];
|
|
132
|
+
const catIndex = 7 + i;
|
|
133
|
+
const catSelected = selectedIndex === catIndex;
|
|
134
|
+
if (cat.disabled) {
|
|
135
|
+
contentLines.push(_jsxs(Text, { color: MUTED_TEXT, children: [" ", "[ ] ", cat.label, " ", _jsx(Text, { color: MUTED_TEXT, children: "(coming soon)" })] }, `notif-cat-${cat.key}`));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
const catCheck = ns.categories[cat.key] ? "[x]" : "[ ]";
|
|
139
|
+
contentLines.push(_jsxs(Text, { color: catSelected ? ACCENT_COLOR : (dimmed ? MUTED_TEXT : "white"), children: [catSelected ? "> " : " ", catCheck, " ", cat.label] }, `notif-cat-${cat.key}`));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Apply scroll to content (keep header, scroll body)
|
|
144
|
+
const HEADER_LINES = 2;
|
|
145
|
+
const maxVisible = FIXED_CONTENT_HEIGHT - HEADER_LINES;
|
|
146
|
+
const bodyLines = contentLines.slice(HEADER_LINES);
|
|
147
|
+
const visibleBody = bodyLines.slice(scrollOffset, scrollOffset + maxVisible);
|
|
148
|
+
const finalContent = [...contentLines.slice(0, HEADER_LINES), ...visibleBody];
|
|
149
|
+
// Notification for connection success
|
|
150
|
+
const notification = showConnectionSuccess ? "Connected!" : null;
|
|
151
|
+
const bottomHints = [{ key: "Esc", label: " back" }];
|
|
152
|
+
const { element: bottomControls, width: controlsWidth } = buildBottomControls(bottomHints);
|
|
153
|
+
return useHorizontalLayout ? (_jsx(HorizontalLayout, { content: finalContent, terminalWidth: terminalWidth, title: "Jacques", showVersion: showVersion, notification: notification, bottomControls: bottomControls, bottomControlsWidth: controlsWidth })) : (_jsx(VerticalLayout, { content: finalContent, title: "Jacques", showVersion: showVersion, notification: notification, bottomControls: bottomControls }));
|
|
154
|
+
}
|
|
155
|
+
export default SettingsView;
|
|
156
|
+
//# sourceMappingURL=SettingsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsView.js","sourceRoot":"","sources":["../../src/components/SettingsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SourceSelectionView Component
|
|
3
|
+
*
|
|
4
|
+
* Shows available external sources (Obsidian, Google Docs, Notion).
|
|
5
|
+
* Uses the same bordered layout with mascot as the main dashboard.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
export interface SourceItem {
|
|
9
|
+
key: string;
|
|
10
|
+
label: string;
|
|
11
|
+
connected: boolean;
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
statusText?: string;
|
|
14
|
+
}
|
|
15
|
+
interface SourceSelectionViewProps {
|
|
16
|
+
sources: SourceItem[];
|
|
17
|
+
selectedIndex: number;
|
|
18
|
+
terminalWidth: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function SourceSelectionView({ sources, selectedIndex, terminalWidth, }: SourceSelectionViewProps): React.ReactElement;
|
|
21
|
+
/**
|
|
22
|
+
* Build source items list from config state
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildSourceItems(isObsidianConnected: boolean, isGoogleDocsConnected?: boolean, isNotionConnected?: boolean): SourceItem[];
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=SourceSelectionView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SourceSelectionView.d.ts","sourceRoot":"","sources":["../../src/components/SourceSelectionView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,wBAAwB;IAChC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAuE/C;AA6HD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,OAAO,EAC5B,qBAAqB,GAAE,OAAe,EACtC,iBAAiB,GAAE,OAAe,GACjC,UAAU,EAAE,CAuBd"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { MASCOT_ANSI } from "../assets/mascot-ansi.js";
|
|
4
|
+
import { ACCENT_COLOR, MUTED_TEXT, BORDER_COLOR, SUCCESS_COLOR } from "./layout/index.js";
|
|
5
|
+
const MASCOT_WIDTH = 14;
|
|
6
|
+
const MIN_CONTENT_WIDTH = 42;
|
|
7
|
+
const CONTENT_PADDING = 2;
|
|
8
|
+
const HORIZONTAL_LAYOUT_MIN_WIDTH = 62;
|
|
9
|
+
const FIXED_CONTENT_HEIGHT = 10;
|
|
10
|
+
export function SourceSelectionView({ sources, selectedIndex, terminalWidth, }) {
|
|
11
|
+
const useHorizontalLayout = terminalWidth >= HORIZONTAL_LAYOUT_MIN_WIDTH;
|
|
12
|
+
const showVersion = terminalWidth >= 70;
|
|
13
|
+
// Build content lines
|
|
14
|
+
const contentLines = [];
|
|
15
|
+
// Title
|
|
16
|
+
contentLines.push(_jsx(Text, { bold: true, color: ACCENT_COLOR, children: "Select Source" }, "title"));
|
|
17
|
+
// Separator
|
|
18
|
+
contentLines.push(_jsx(Text, { color: MUTED_TEXT, children: "─".repeat(35) }, "sep"));
|
|
19
|
+
// Source list
|
|
20
|
+
for (let i = 0; i < sources.length; i++) {
|
|
21
|
+
const source = sources[i];
|
|
22
|
+
const isSelected = i === selectedIndex;
|
|
23
|
+
const textColor = source.enabled
|
|
24
|
+
? isSelected
|
|
25
|
+
? ACCENT_COLOR
|
|
26
|
+
: "white"
|
|
27
|
+
: MUTED_TEXT;
|
|
28
|
+
// Status indicator
|
|
29
|
+
let statusElement = null;
|
|
30
|
+
if (!source.enabled) {
|
|
31
|
+
statusElement = _jsx(Text, { color: MUTED_TEXT, children: " (coming soon)" });
|
|
32
|
+
}
|
|
33
|
+
else if (source.connected) {
|
|
34
|
+
statusElement = _jsx(Text, { color: SUCCESS_COLOR, children: " \u25CF Connected" });
|
|
35
|
+
}
|
|
36
|
+
else if (source.statusText) {
|
|
37
|
+
// Show custom status text (e.g., "Connect via GUI")
|
|
38
|
+
statusElement = _jsxs(Text, { color: MUTED_TEXT, children: [" \u25CB ", source.statusText] });
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
statusElement = _jsx(Text, { color: MUTED_TEXT, children: " \u25CB Not connected" });
|
|
42
|
+
}
|
|
43
|
+
contentLines.push(_jsxs(Text, { color: textColor, bold: isSelected, children: [isSelected ? "> " : " ", source.label, statusElement] }, source.key));
|
|
44
|
+
}
|
|
45
|
+
// Pad to fixed height
|
|
46
|
+
while (contentLines.length < FIXED_CONTENT_HEIGHT) {
|
|
47
|
+
contentLines.push(_jsx(Box, {}, `pad-${contentLines.length}`));
|
|
48
|
+
}
|
|
49
|
+
return (_jsx(Box, { width: terminalWidth, flexDirection: "column", children: useHorizontalLayout ? (_jsx(SourceHorizontalLayout, { content: contentLines, terminalWidth: terminalWidth, showVersion: showVersion })) : (_jsx(SourceVerticalLayout, { content: contentLines, showVersion: showVersion })) }));
|
|
50
|
+
}
|
|
51
|
+
function SourceVerticalLayout({ content, showVersion, }) {
|
|
52
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: ACCENT_COLOR, children: ["Jacques", showVersion && _jsx(Text, { color: MUTED_TEXT, children: " v0.1.0" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { wrap: "truncate-end", children: MASCOT_ANSI }) }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: content.map((line, index) => (_jsx(Box, { children: line }, index))) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: MUTED_TEXT, children: "[\u2191\u2193] Navigate [Enter] Select [Esc] Back" }) })] }));
|
|
53
|
+
}
|
|
54
|
+
function SourceHorizontalLayout({ content, terminalWidth = 80, showVersion, }) {
|
|
55
|
+
const mascotVisualWidth = MASCOT_WIDTH;
|
|
56
|
+
const mascotPadding = 3;
|
|
57
|
+
const mascotDisplayWidth = mascotVisualWidth + mascotPadding;
|
|
58
|
+
const contentWidth = Math.max(MIN_CONTENT_WIDTH, terminalWidth - mascotDisplayWidth - 3);
|
|
59
|
+
const mascotLines = MASCOT_ANSI.split("\n").filter((line) => line.trim().length > 0);
|
|
60
|
+
const mascotHeight = mascotLines.length;
|
|
61
|
+
const totalHeight = FIXED_CONTENT_HEIGHT;
|
|
62
|
+
const mascotTopPadding = Math.floor((totalHeight - mascotHeight) / 2);
|
|
63
|
+
const visibleContent = content.slice(0, totalHeight);
|
|
64
|
+
const titlePart = "─ Jacques";
|
|
65
|
+
const versionPart = showVersion ? " v0.1.0" : "";
|
|
66
|
+
const titleLength = titlePart.length + versionPart.length;
|
|
67
|
+
const remainingBorder = Math.max(0, terminalWidth - titleLength - 3);
|
|
68
|
+
const bottomControlsText = "[Enter] Select [Esc] Back";
|
|
69
|
+
const bottomControlsLength = bottomControlsText.length;
|
|
70
|
+
const totalBottomDashes = terminalWidth - bottomControlsLength - 2;
|
|
71
|
+
const bottomLeftBorder = Math.max(0, Math.floor(totalBottomDashes / 2));
|
|
72
|
+
const bottomRightBorder = Math.max(0, totalBottomDashes - bottomLeftBorder);
|
|
73
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: BORDER_COLOR, children: "\u256D" }), _jsx(Text, { color: ACCENT_COLOR, children: titlePart }), showVersion && _jsx(Text, { color: MUTED_TEXT, children: versionPart }), _jsxs(Text, { color: BORDER_COLOR, children: [" ", "─".repeat(remainingBorder), "\u256E"] })] }), Array.from({ length: totalHeight }).map((_, rowIndex) => {
|
|
74
|
+
const mascotLineIndex = rowIndex - mascotTopPadding;
|
|
75
|
+
const mascotLine = mascotLineIndex >= 0 && mascotLineIndex < mascotLines.length
|
|
76
|
+
? mascotLines[mascotLineIndex]
|
|
77
|
+
: "";
|
|
78
|
+
const contentLine = visibleContent[rowIndex];
|
|
79
|
+
return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: BORDER_COLOR, children: "\u2502" }), _jsx(Box, { width: mascotDisplayWidth, justifyContent: "center", flexShrink: 0, children: _jsx(Text, { wrap: "truncate-end", children: mascotLine }) }), _jsx(Text, { color: BORDER_COLOR, children: "\u2502" }), _jsx(Box, { width: contentWidth, paddingLeft: CONTENT_PADDING, paddingRight: CONTENT_PADDING, flexShrink: 0, children: contentLine || _jsx(Text, { children: " " }) }), _jsx(Text, { color: BORDER_COLOR, children: "\u2502" })] }, rowIndex));
|
|
80
|
+
}), _jsxs(Box, { children: [_jsxs(Text, { color: BORDER_COLOR, children: ["\u2570", "─".repeat(bottomLeftBorder)] }), _jsx(Text, { color: ACCENT_COLOR, children: "[Enter]" }), _jsx(Text, { color: MUTED_TEXT, children: " Select " }), _jsx(Text, { color: ACCENT_COLOR, children: "[Esc]" }), _jsx(Text, { color: MUTED_TEXT, children: " Back" }), _jsxs(Text, { color: BORDER_COLOR, children: ["─".repeat(bottomRightBorder), "\u256F"] })] })] }));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Build source items list from config state
|
|
84
|
+
*/
|
|
85
|
+
export function buildSourceItems(isObsidianConnected, isGoogleDocsConnected = false, isNotionConnected = false) {
|
|
86
|
+
return [
|
|
87
|
+
{
|
|
88
|
+
key: "obsidian",
|
|
89
|
+
label: "Obsidian",
|
|
90
|
+
connected: isObsidianConnected,
|
|
91
|
+
enabled: true,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
key: "google_docs",
|
|
95
|
+
label: "Google Docs",
|
|
96
|
+
connected: isGoogleDocsConnected,
|
|
97
|
+
enabled: true,
|
|
98
|
+
statusText: isGoogleDocsConnected ? undefined : "Connect via GUI (localhost:5173)",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: "notion",
|
|
102
|
+
label: "Notion",
|
|
103
|
+
connected: isNotionConnected,
|
|
104
|
+
enabled: true,
|
|
105
|
+
statusText: isNotionConnected ? undefined : "Connect via GUI (localhost:5173)",
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=SourceSelectionView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SourceSelectionView.js","sourceRoot":"","sources":["../../src/components/SourceSelectionView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VerticalMenu Component
|
|
3
|
+
*
|
|
4
|
+
* Vertical list with selection indicator
|
|
5
|
+
*/
|
|
6
|
+
import React from "react";
|
|
7
|
+
export interface VerticalMenuItem {
|
|
8
|
+
key: string;
|
|
9
|
+
label: string;
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface VerticalMenuProps {
|
|
13
|
+
items: VerticalMenuItem[];
|
|
14
|
+
selectedIndex: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function VerticalMenu({ items, selectedIndex, }: VerticalMenuProps): React.ReactElement;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=VerticalMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerticalMenu.d.ts","sourceRoot":"","sources":["../../src/components/VerticalMenu.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAa,GACd,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAsBxC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { ACCENT_COLOR } from "./layout/theme.js";
|
|
4
|
+
export function VerticalMenu({ items, selectedIndex, }) {
|
|
5
|
+
return (_jsx(Box, { flexDirection: "column", children: items.map((item, index) => {
|
|
6
|
+
const isSelected = index === selectedIndex;
|
|
7
|
+
const textColor = item.enabled
|
|
8
|
+
? isSelected
|
|
9
|
+
? ACCENT_COLOR
|
|
10
|
+
: "white"
|
|
11
|
+
: "gray";
|
|
12
|
+
return (_jsx(Box, { children: _jsxs(Text, { color: textColor, bold: isSelected, children: [isSelected ? "> " : " ", item.label] }) }, item.key));
|
|
13
|
+
}) }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=VerticalMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerticalMenu.js","sourceRoot":"","sources":["../../src/components/VerticalMenu.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAajD,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,aAAa,GACK;IAClB,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;gBAC5B,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,OAAO;gBACX,CAAC,CAAC,MAAM,CAAC;YAEX,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,aACrC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACxB,IAAI,CAAC,KAAK,IACN,IAJC,IAAI,CAAC,GAAG,CAKZ,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ASCII art module for dashboard visual elements
|
|
3
|
+
*/
|
|
4
|
+
export { SCENE_FULL, SCENE_COMPACT, SCENE_FULL_WIDTH, SCENE_COMPACT_WIDTH, SCENE_FULL_HEIGHT, SCENE_COMPACT_HEIGHT, dotLine, sectionLine, getScene, getSceneDimensions, } from "./scene.js";
|
|
5
|
+
export { progressBar, progressBarWithLabel, formatTokens, formatDuration, formatDate, tokenPercentage, truncate, pad, } from "./progress.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ascii-art/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,QAAQ,EACR,GAAG,GACJ,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ASCII art module for dashboard visual elements
|
|
3
|
+
*/
|
|
4
|
+
export { SCENE_FULL, SCENE_COMPACT, SCENE_FULL_WIDTH, SCENE_COMPACT_WIDTH, SCENE_FULL_HEIGHT, SCENE_COMPACT_HEIGHT, dotLine, sectionLine, getScene, getSceneDimensions, } from "./scene.js";
|
|
5
|
+
export { progressBar, progressBarWithLabel, formatTokens, formatDuration, formatDate, tokenPercentage, truncate, pad, } from "./progress.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ascii-art/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,QAAQ,EACR,GAAG,GACJ,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gradient progress bars and formatting utilities
|
|
3
|
+
* Uses block characters: █ (full) ░ (empty) for clean visualization
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a gradient progress bar
|
|
7
|
+
* @param percent - Value from 0-100
|
|
8
|
+
* @param width - Total bar width in characters (default 12)
|
|
9
|
+
* @returns String with filled and empty blocks
|
|
10
|
+
*/
|
|
11
|
+
export declare function progressBar(percent: number, width?: number): string;
|
|
12
|
+
/**
|
|
13
|
+
* Create a progress bar with a label
|
|
14
|
+
* @param percent - Value from 0-100
|
|
15
|
+
* @param width - Total bar width in characters
|
|
16
|
+
* @param label - Label to append after the bar
|
|
17
|
+
*/
|
|
18
|
+
export declare function progressBarWithLabel(percent: number, width: number, label: string): string;
|
|
19
|
+
export { formatTokens } from "../../utils/format.js";
|
|
20
|
+
/**
|
|
21
|
+
* Format duration in minutes to human-readable
|
|
22
|
+
* @param minutes - Duration in minutes
|
|
23
|
+
* @returns Formatted string (e.g., "45m", "2h 30m")
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatDuration(minutes: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Format a date for display
|
|
28
|
+
* @param date - Date to format
|
|
29
|
+
* @returns Formatted string (e.g., "Jan 31")
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatDate(date: Date): string;
|
|
32
|
+
/**
|
|
33
|
+
* Calculate percentage for progress bar from token counts
|
|
34
|
+
* @param used - Used tokens
|
|
35
|
+
* @param total - Total available tokens
|
|
36
|
+
* @returns Percentage (0-100)
|
|
37
|
+
*/
|
|
38
|
+
export declare function tokenPercentage(used: number, total: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* Truncate a string to fit within a width, adding ellipsis if needed
|
|
41
|
+
* @param str - String to truncate
|
|
42
|
+
* @param maxWidth - Maximum width
|
|
43
|
+
* @returns Truncated string with … if needed
|
|
44
|
+
*/
|
|
45
|
+
export declare function truncate(str: string, maxWidth: number): string;
|
|
46
|
+
/**
|
|
47
|
+
* Pad a string to a fixed width (left or right aligned)
|
|
48
|
+
* @param str - String to pad
|
|
49
|
+
* @param width - Target width
|
|
50
|
+
* @param align - Alignment ('left' or 'right')
|
|
51
|
+
*/
|
|
52
|
+
export declare function pad(str: string, width: number, align?: "left" | "right"): string;
|
|
53
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/components/ascii-art/progress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,MAAM,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAgB7C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAM,GAAG,OAAgB,GAC/B,MAAM,CAIR"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gradient progress bars and formatting utilities
|
|
3
|
+
* Uses block characters: █ (full) ░ (empty) for clean visualization
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a gradient progress bar
|
|
7
|
+
* @param percent - Value from 0-100
|
|
8
|
+
* @param width - Total bar width in characters (default 12)
|
|
9
|
+
* @returns String with filled and empty blocks
|
|
10
|
+
*/
|
|
11
|
+
export function progressBar(percent, width = 12) {
|
|
12
|
+
const clampedPercent = Math.max(0, Math.min(100, percent));
|
|
13
|
+
const filled = Math.round((clampedPercent / 100) * width);
|
|
14
|
+
const empty = width - filled;
|
|
15
|
+
return "█".repeat(filled) + "░".repeat(empty);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a progress bar with a label
|
|
19
|
+
* @param percent - Value from 0-100
|
|
20
|
+
* @param width - Total bar width in characters
|
|
21
|
+
* @param label - Label to append after the bar
|
|
22
|
+
*/
|
|
23
|
+
export function progressBarWithLabel(percent, width, label) {
|
|
24
|
+
return `${progressBar(percent, width)} ${label}`;
|
|
25
|
+
}
|
|
26
|
+
// Re-export from shared utility (was duplicated here)
|
|
27
|
+
export { formatTokens } from "../../utils/format.js";
|
|
28
|
+
/**
|
|
29
|
+
* Format duration in minutes to human-readable
|
|
30
|
+
* @param minutes - Duration in minutes
|
|
31
|
+
* @returns Formatted string (e.g., "45m", "2h 30m")
|
|
32
|
+
*/
|
|
33
|
+
export function formatDuration(minutes) {
|
|
34
|
+
if (minutes < 60) {
|
|
35
|
+
return `${Math.round(minutes)}m`;
|
|
36
|
+
}
|
|
37
|
+
const hours = Math.floor(minutes / 60);
|
|
38
|
+
const remainingMinutes = Math.round(minutes % 60);
|
|
39
|
+
if (remainingMinutes === 0) {
|
|
40
|
+
return `${hours}h`;
|
|
41
|
+
}
|
|
42
|
+
return `${hours}h ${remainingMinutes}m`;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Format a date for display
|
|
46
|
+
* @param date - Date to format
|
|
47
|
+
* @returns Formatted string (e.g., "Jan 31")
|
|
48
|
+
*/
|
|
49
|
+
export function formatDate(date) {
|
|
50
|
+
const months = [
|
|
51
|
+
"Jan",
|
|
52
|
+
"Feb",
|
|
53
|
+
"Mar",
|
|
54
|
+
"Apr",
|
|
55
|
+
"May",
|
|
56
|
+
"Jun",
|
|
57
|
+
"Jul",
|
|
58
|
+
"Aug",
|
|
59
|
+
"Sep",
|
|
60
|
+
"Oct",
|
|
61
|
+
"Nov",
|
|
62
|
+
"Dec",
|
|
63
|
+
];
|
|
64
|
+
return `${months[date.getMonth()]} ${date.getDate()}`;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Calculate percentage for progress bar from token counts
|
|
68
|
+
* @param used - Used tokens
|
|
69
|
+
* @param total - Total available tokens
|
|
70
|
+
* @returns Percentage (0-100)
|
|
71
|
+
*/
|
|
72
|
+
export function tokenPercentage(used, total) {
|
|
73
|
+
if (total <= 0)
|
|
74
|
+
return 0;
|
|
75
|
+
return Math.round((used / total) * 100);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Truncate a string to fit within a width, adding ellipsis if needed
|
|
79
|
+
* @param str - String to truncate
|
|
80
|
+
* @param maxWidth - Maximum width
|
|
81
|
+
* @returns Truncated string with … if needed
|
|
82
|
+
*/
|
|
83
|
+
export function truncate(str, maxWidth) {
|
|
84
|
+
if (str.length <= maxWidth)
|
|
85
|
+
return str;
|
|
86
|
+
if (maxWidth <= 1)
|
|
87
|
+
return "…";
|
|
88
|
+
return str.slice(0, maxWidth - 1) + "…";
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Pad a string to a fixed width (left or right aligned)
|
|
92
|
+
* @param str - String to pad
|
|
93
|
+
* @param width - Target width
|
|
94
|
+
* @param align - Alignment ('left' or 'right')
|
|
95
|
+
*/
|
|
96
|
+
export function pad(str, width, align = "left") {
|
|
97
|
+
if (str.length >= width)
|
|
98
|
+
return str.slice(0, width);
|
|
99
|
+
const padding = " ".repeat(width - str.length);
|
|
100
|
+
return align === "left" ? str + padding : padding + str;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/components/ascii-art/progress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,QAAgB,EAAE;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,KAAa,EACb,KAAa;IAEb,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IACnC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAClD,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,GAAG,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,KAAK,KAAK,gBAAgB,GAAG,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,MAAM,MAAM,GAAG;QACb,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;KACN,CAAC;IACF,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,GAAG,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACjB,GAAW,EACX,KAAa,EACb,QAA0B,MAAM;IAEhC,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimalist night sky scene with gradient block art
|
|
3
|
+
* Uses: █ ▓ ▒ ░ for shading, * for stars
|
|
4
|
+
*
|
|
5
|
+
* Design philosophy: Sparse, zen-like, professional
|
|
6
|
+
*/
|
|
7
|
+
export declare const SCENE_FULL: string[];
|
|
8
|
+
export declare const SCENE_COMPACT: string[];
|
|
9
|
+
export declare const SCENE_FULL_WIDTH = 52;
|
|
10
|
+
export declare const SCENE_COMPACT_WIDTH = 30;
|
|
11
|
+
export declare const SCENE_FULL_HEIGHT = 12;
|
|
12
|
+
export declare const SCENE_COMPACT_HEIGHT = 4;
|
|
13
|
+
/**
|
|
14
|
+
* Generate a dotted border line
|
|
15
|
+
* Uses the … (horizontal ellipsis) character for a subtle, zen border
|
|
16
|
+
*/
|
|
17
|
+
export declare function dotLine(width: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Generate a thin section separator line
|
|
20
|
+
* Uses ─ (box drawing horizontal) for clean section breaks
|
|
21
|
+
*/
|
|
22
|
+
export declare function sectionLine(width: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Get the appropriate scene for terminal width
|
|
25
|
+
*/
|
|
26
|
+
export declare function getScene(terminalWidth: number): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Get scene dimensions for layout calculations
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSceneDimensions(terminalWidth: number): {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=scene.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../../src/components/ascii-art/scene.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,UAAU,UAatB,CAAC;AAGF,eAAO,MAAM,aAAa,UAKzB,CAAC;AAGF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAOxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAOA"}
|