@within-7/minto 0.4.1 → 0.4.3
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/cli.cjs +32 -154
- package/cli.js +3255 -0
- package/package.json +25 -40
- package/scripts/postinstall.cjs +19 -136
- package/vendor/ripgrep/arm64-linux/rg +0 -0
- package/vendor/ripgrep/x64-darwin/rg +0 -0
- package/vendor/ripgrep/x64-linux/rg +0 -0
- package/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/dist/Tool.js +0 -39
- package/dist/Tool.js.map +0 -7
- package/dist/commands/agents/AgentsCommand.js +0 -2170
- package/dist/commands/agents/AgentsCommand.js.map +0 -7
- package/dist/commands/agents/constants.js +0 -58
- package/dist/commands/agents/constants.js.map +0 -7
- package/dist/commands/agents/index.js +0 -37
- package/dist/commands/agents/index.js.map +0 -7
- package/dist/commands/agents/types.js +0 -11
- package/dist/commands/agents/types.js.map +0 -7
- package/dist/commands/agents/utils/fileOperations.js +0 -245
- package/dist/commands/agents/utils/fileOperations.js.map +0 -7
- package/dist/commands/agents/utils/index.js +0 -23
- package/dist/commands/agents/utils/index.js.map +0 -7
- package/dist/commands/approvedTools.js +0 -36
- package/dist/commands/approvedTools.js.map +0 -7
- package/dist/commands/bug.js +0 -88
- package/dist/commands/bug.js.map +0 -7
- package/dist/commands/clear.js +0 -40
- package/dist/commands/clear.js.map +0 -7
- package/dist/commands/compact.js +0 -119
- package/dist/commands/compact.js.map +0 -7
- package/dist/commands/config.js +0 -20
- package/dist/commands/config.js.map +0 -7
- package/dist/commands/context.js +0 -116
- package/dist/commands/context.js.map +0 -7
- package/dist/commands/cost.js +0 -19
- package/dist/commands/cost.js.map +0 -7
- package/dist/commands/ctx_viz.js +0 -193
- package/dist/commands/ctx_viz.js.map +0 -7
- package/dist/commands/doctor.js +0 -171
- package/dist/commands/doctor.js.map +0 -7
- package/dist/commands/effort.js +0 -87
- package/dist/commands/effort.js.map +0 -7
- package/dist/commands/export.js +0 -747
- package/dist/commands/export.js.map +0 -7
- package/dist/commands/help.js +0 -20
- package/dist/commands/help.js.map +0 -7
- package/dist/commands/ide.js +0 -18
- package/dist/commands/ide.js.map +0 -7
- package/dist/commands/init.js +0 -38
- package/dist/commands/init.js.map +0 -7
- package/dist/commands/language.js +0 -110
- package/dist/commands/language.js.map +0 -7
- package/dist/commands/mcp-interactive.js +0 -485
- package/dist/commands/mcp-interactive.js.map +0 -7
- package/dist/commands/memory.js +0 -168
- package/dist/commands/memory.js.map +0 -7
- package/dist/commands/model.js +0 -497
- package/dist/commands/model.js.map +0 -7
- package/dist/commands/new.js +0 -56
- package/dist/commands/new.js.map +0 -7
- package/dist/commands/outputStyle.js +0 -64
- package/dist/commands/outputStyle.js.map +0 -7
- package/dist/commands/permissions.js +0 -113
- package/dist/commands/permissions.js.map +0 -7
- package/dist/commands/plugin/AddMarketplaceForm.js +0 -91
- package/dist/commands/plugin/AddMarketplaceForm.js.map +0 -7
- package/dist/commands/plugin/ConfirmDialog.js +0 -84
- package/dist/commands/plugin/ConfirmDialog.js.map +0 -7
- package/dist/commands/plugin/ErrorView.js +0 -34
- package/dist/commands/plugin/ErrorView.js.map +0 -7
- package/dist/commands/plugin/InstalledPluginsByMarketplace.js +0 -152
- package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +0 -7
- package/dist/commands/plugin/InstalledPluginsManager.js +0 -102
- package/dist/commands/plugin/InstalledPluginsManager.js.map +0 -7
- package/dist/commands/plugin/LoadingView.js +0 -14
- package/dist/commands/plugin/LoadingView.js.map +0 -7
- package/dist/commands/plugin/MainMenu.js +0 -67
- package/dist/commands/plugin/MainMenu.js.map +0 -7
- package/dist/commands/plugin/MarketplaceManager.js +0 -201
- package/dist/commands/plugin/MarketplaceManager.js.map +0 -7
- package/dist/commands/plugin/MarketplaceSelector.js +0 -124
- package/dist/commands/plugin/MarketplaceSelector.js.map +0 -7
- package/dist/commands/plugin/PlaceholderScreen.js +0 -31
- package/dist/commands/plugin/PlaceholderScreen.js.map +0 -7
- package/dist/commands/plugin/PluginBrowser.js +0 -183
- package/dist/commands/plugin/PluginBrowser.js.map +0 -7
- package/dist/commands/plugin/PluginDetailsInstall.js +0 -159
- package/dist/commands/plugin/PluginDetailsInstall.js.map +0 -7
- package/dist/commands/plugin/PluginDetailsManage.js +0 -210
- package/dist/commands/plugin/PluginDetailsManage.js.map +0 -7
- package/dist/commands/plugin/components.js +0 -16
- package/dist/commands/plugin/components.js.map +0 -7
- package/dist/commands/plugin/example-usage.js +0 -63
- package/dist/commands/plugin/example-usage.js.map +0 -7
- package/dist/commands/plugin/types.js +0 -1
- package/dist/commands/plugin/types.js.map +0 -7
- package/dist/commands/plugin/utils.js +0 -109
- package/dist/commands/plugin/utils.js.map +0 -7
- package/dist/commands/plugin.js +0 -1410
- package/dist/commands/plugin.js.map +0 -7
- package/dist/commands/quit.js +0 -18
- package/dist/commands/quit.js.map +0 -7
- package/dist/commands/refreshCommands.js +0 -48
- package/dist/commands/refreshCommands.js.map +0 -7
- package/dist/commands/resume.js +0 -271
- package/dist/commands/resume.js.map +0 -7
- package/dist/commands/review.js +0 -51
- package/dist/commands/review.js.map +0 -7
- package/dist/commands/sandbox.js +0 -203
- package/dist/commands/sandbox.js.map +0 -7
- package/dist/commands/sessions.js +0 -224
- package/dist/commands/sessions.js.map +0 -7
- package/dist/commands/setup.js +0 -653
- package/dist/commands/setup.js.map +0 -7
- package/dist/commands/stats.js +0 -292
- package/dist/commands/stats.js.map +0 -7
- package/dist/commands/status.js +0 -127
- package/dist/commands/status.js.map +0 -7
- package/dist/commands/tasks.js +0 -108
- package/dist/commands/tasks.js.map +0 -7
- package/dist/commands/terminalSetup.js +0 -170
- package/dist/commands/terminalSetup.js.map +0 -7
- package/dist/commands/todos.js +0 -123
- package/dist/commands/todos.js.map +0 -7
- package/dist/commands/undo.js +0 -227
- package/dist/commands/undo.js.map +0 -7
- package/dist/commands/vim.js +0 -22
- package/dist/commands/vim.js.map +0 -7
- package/dist/commands.js +0 -128
- package/dist/commands.js.map +0 -7
- package/dist/components/AgentResponseBlock.js +0 -41
- package/dist/components/AgentResponseBlock.js.map +0 -7
- package/dist/components/AgentThinkingBlock.js +0 -32
- package/dist/components/AgentThinkingBlock.js.map +0 -7
- package/dist/components/AsciiLogo.js +0 -18
- package/dist/components/AsciiLogo.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +0 -142
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/QuestionView.js +0 -55
- package/dist/components/AskUserQuestionDialog/QuestionView.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/index.js +0 -7
- package/dist/components/AskUserQuestionDialog/index.js.map +0 -7
- package/dist/components/BackgroundTasksPanel.js +0 -177
- package/dist/components/BackgroundTasksPanel.js.map +0 -7
- package/dist/components/BashStreamingProgress.js +0 -24
- package/dist/components/BashStreamingProgress.js.map +0 -7
- package/dist/components/CollapsibleHint.js +0 -15
- package/dist/components/CollapsibleHint.js.map +0 -7
- package/dist/components/Config.js +0 -181
- package/dist/components/Config.js.map +0 -7
- package/dist/components/ConsoleOAuthFlow.js +0 -179
- package/dist/components/ConsoleOAuthFlow.js.map +0 -7
- package/dist/components/Cost.js +0 -14
- package/dist/components/Cost.js.map +0 -7
- package/dist/components/CostThresholdDialog.js +0 -38
- package/dist/components/CostThresholdDialog.js.map +0 -7
- package/dist/components/CustomSelect/option-map.js +0 -32
- package/dist/components/CustomSelect/option-map.js.map +0 -7
- package/dist/components/CustomSelect/select-option.js +0 -37
- package/dist/components/CustomSelect/select-option.js.map +0 -7
- package/dist/components/CustomSelect/select.js +0 -64
- package/dist/components/CustomSelect/select.js.map +0 -7
- package/dist/components/CustomSelect/theme.js +0 -1
- package/dist/components/CustomSelect/theme.js.map +0 -7
- package/dist/components/CustomSelect/use-select-state.js +0 -220
- package/dist/components/CustomSelect/use-select-state.js.map +0 -7
- package/dist/components/CustomSelect/use-select.js +0 -21
- package/dist/components/CustomSelect/use-select.js.map +0 -7
- package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
- package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
- package/dist/components/FileEditToolUpdatedMessage.js +0 -32
- package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
- package/dist/components/HeaderBar.js +0 -63
- package/dist/components/HeaderBar.js.map +0 -7
- package/dist/components/Help.js +0 -178
- package/dist/components/Help.js.map +0 -7
- package/dist/components/HighlightedCode.js +0 -31
- package/dist/components/HighlightedCode.js.map +0 -7
- package/dist/components/HistorySearchOverlay.js +0 -49
- package/dist/components/HistorySearchOverlay.js.map +0 -7
- package/dist/components/HotkeyHelpPanel.js +0 -136
- package/dist/components/HotkeyHelpPanel.js.map +0 -7
- package/dist/components/InfoPanel/InfoPanel.js +0 -123
- package/dist/components/InfoPanel/InfoPanel.js.map +0 -7
- package/dist/components/InfoPanel/index.js +0 -5
- package/dist/components/InfoPanel/index.js.map +0 -7
- package/dist/components/InfoPanel/types.js +0 -1
- package/dist/components/InfoPanel/types.js.map +0 -7
- package/dist/components/InteractionRoundBlock.js +0 -56
- package/dist/components/InteractionRoundBlock.js.map +0 -7
- package/dist/components/InvalidConfigDialog.js +0 -84
- package/dist/components/InvalidConfigDialog.js.map +0 -7
- package/dist/components/Link.js +0 -18
- package/dist/components/Link.js.map +0 -7
- package/dist/components/LogSelector.js +0 -50
- package/dist/components/LogSelector.js.map +0 -7
- package/dist/components/Logo.js +0 -55
- package/dist/components/Logo.js.map +0 -7
- package/dist/components/MCPServerApprovalDialog.js +0 -81
- package/dist/components/MCPServerApprovalDialog.js.map +0 -7
- package/dist/components/MCPServerDialogCopy.js +0 -12
- package/dist/components/MCPServerDialogCopy.js.map +0 -7
- package/dist/components/MCPServerMultiselectDialog.js +0 -82
- package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
- package/dist/components/Message.js +0 -162
- package/dist/components/Message.js.map +0 -7
- package/dist/components/MessageResponse.js +0 -9
- package/dist/components/MessageResponse.js.map +0 -7
- package/dist/components/MessageSelector.js +0 -127
- package/dist/components/MessageSelector.js.map +0 -7
- package/dist/components/ModeIndicator.js +0 -39
- package/dist/components/ModeIndicator.js.map +0 -7
- package/dist/components/ModelConfig.js +0 -223
- package/dist/components/ModelConfig.js.map +0 -7
- package/dist/components/ModelListManager.js +0 -142
- package/dist/components/ModelListManager.js.map +0 -7
- package/dist/components/ModelSelector/BrandTextInput.js +0 -43
- package/dist/components/ModelSelector/BrandTextInput.js.map +0 -7
- package/dist/components/ModelSelector/ModelSelector.js +0 -2068
- package/dist/components/ModelSelector/ModelSelector.js.map +0 -7
- package/dist/components/ModelSelector/ScreenContainer.js +0 -27
- package/dist/components/ModelSelector/ScreenContainer.js.map +0 -7
- package/dist/components/ModelSelector/WizardContainer.js +0 -45
- package/dist/components/ModelSelector/WizardContainer.js.map +0 -7
- package/dist/components/ModelSelector/constants.js +0 -37
- package/dist/components/ModelSelector/constants.js.map +0 -7
- package/dist/components/ModelSelector/hooks/index.js +0 -5
- package/dist/components/ModelSelector/hooks/index.js.map +0 -7
- package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +0 -21
- package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +0 -7
- package/dist/components/ModelSelector/index.js +0 -15
- package/dist/components/ModelSelector/index.js.map +0 -7
- package/dist/components/ModelSelector/types.js +0 -1
- package/dist/components/ModelSelector/types.js.map +0 -7
- package/dist/components/Onboarding.js +0 -159
- package/dist/components/Onboarding.js.map +0 -7
- package/dist/components/OperationSummary.js +0 -130
- package/dist/components/OperationSummary.js.map +0 -7
- package/dist/components/PressEnterToContinue.js +0 -10
- package/dist/components/PressEnterToContinue.js.map +0 -7
- package/dist/components/ProgressBar.js +0 -74
- package/dist/components/ProgressBar.js.map +0 -7
- package/dist/components/ProjectOnboarding.js +0 -99
- package/dist/components/ProjectOnboarding.js.map +0 -7
- package/dist/components/PromptInput.js +0 -996
- package/dist/components/PromptInput.js.map +0 -7
- package/dist/components/PulseLabel.js +0 -44
- package/dist/components/PulseLabel.js.map +0 -7
- package/dist/components/QuitSummary.js +0 -88
- package/dist/components/QuitSummary.js.map +0 -7
- package/dist/components/RequestStatusIndicator.js +0 -194
- package/dist/components/RequestStatusIndicator.js.map +0 -7
- package/dist/components/SensitiveFileWarning.js +0 -35
- package/dist/components/SensitiveFileWarning.js.map +0 -7
- package/dist/components/SentryErrorBoundary.js +0 -27
- package/dist/components/SentryErrorBoundary.js.map +0 -7
- package/dist/components/SimpleSelector/SimpleSelector.js +0 -154
- package/dist/components/SimpleSelector/SimpleSelector.js.map +0 -7
- package/dist/components/SimpleSelector/index.js +0 -5
- package/dist/components/SimpleSelector/index.js.map +0 -7
- package/dist/components/SimpleSelector/types.js +0 -1
- package/dist/components/SimpleSelector/types.js.map +0 -7
- package/dist/components/Spinner.js +0 -185
- package/dist/components/Spinner.js.map +0 -7
- package/dist/components/SpinnerSymbol.js +0 -72
- package/dist/components/SpinnerSymbol.js.map +0 -7
- package/dist/components/StartupStatus.js +0 -57
- package/dist/components/StartupStatus.js.map +0 -7
- package/dist/components/StatusOverlayContent.js +0 -21
- package/dist/components/StatusOverlayContent.js.map +0 -7
- package/dist/components/StreamingBashOutput.js +0 -71
- package/dist/components/StreamingBashOutput.js.map +0 -7
- package/dist/components/StructuredDiff.js +0 -146
- package/dist/components/StructuredDiff.js.map +0 -7
- package/dist/components/SubagentBlock.js +0 -196
- package/dist/components/SubagentBlock.js.map +0 -7
- package/dist/components/SubagentManager.js +0 -65
- package/dist/components/SubagentManager.js.map +0 -7
- package/dist/components/SubagentProgress.js +0 -123
- package/dist/components/SubagentProgress.js.map +0 -7
- package/dist/components/SubagentStatusMarker.js +0 -37
- package/dist/components/SubagentStatusMarker.js.map +0 -7
- package/dist/components/TabbedListView/ScrollableList.js +0 -117
- package/dist/components/TabbedListView/ScrollableList.js.map +0 -7
- package/dist/components/TabbedListView/SearchInput.js +0 -23
- package/dist/components/TabbedListView/SearchInput.js.map +0 -7
- package/dist/components/TabbedListView/TabBar.js +0 -25
- package/dist/components/TabbedListView/TabBar.js.map +0 -7
- package/dist/components/TabbedListView/TabbedListView.js +0 -246
- package/dist/components/TabbedListView/TabbedListView.js.map +0 -7
- package/dist/components/TabbedListView/index.js +0 -11
- package/dist/components/TabbedListView/index.js.map +0 -7
- package/dist/components/TabbedListView/types.js +0 -1
- package/dist/components/TabbedListView/types.js.map +0 -7
- package/dist/components/TaskCard.js +0 -176
- package/dist/components/TaskCard.js.map +0 -7
- package/dist/components/TextInput.js +0 -108
- package/dist/components/TextInput.js.map +0 -7
- package/dist/components/TimelineRenderer.js +0 -31
- package/dist/components/TimelineRenderer.js.map +0 -7
- package/dist/components/TodoChangeBlock.js +0 -30
- package/dist/components/TodoChangeBlock.js.map +0 -7
- package/dist/components/TodoChangeLine.js +0 -22
- package/dist/components/TodoChangeLine.js.map +0 -7
- package/dist/components/TodoItem.js +0 -35
- package/dist/components/TodoItem.js.map +0 -7
- package/dist/components/TodoPanel.js +0 -166
- package/dist/components/TodoPanel.js.map +0 -7
- package/dist/components/TokenCounter.js +0 -74
- package/dist/components/TokenCounter.js.map +0 -7
- package/dist/components/TokenWarning.js +0 -20
- package/dist/components/TokenWarning.js.map +0 -7
- package/dist/components/ToolExecutionBlock.js +0 -18
- package/dist/components/ToolExecutionBlock.js.map +0 -7
- package/dist/components/ToolUseLoader.js +0 -29
- package/dist/components/ToolUseLoader.js.map +0 -7
- package/dist/components/TreeConnector.js +0 -26
- package/dist/components/TreeConnector.js.map +0 -7
- package/dist/components/TrustDialog.js +0 -71
- package/dist/components/TrustDialog.js.map +0 -7
- package/dist/components/TurnCompletionIndicator.js +0 -18
- package/dist/components/TurnCompletionIndicator.js.map +0 -7
- package/dist/components/UserQueryBlock.js +0 -12
- package/dist/components/UserQueryBlock.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
- package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -92
- package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -140
- package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
- package/dist/components/binary-feedback/utils.js +0 -108
- package/dist/components/binary-feedback/utils.js.map +0 -7
- package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
- package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
- package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantTextMessage.js +0 -89
- package/dist/components/messages/AssistantTextMessage.js.map +0 -7
- package/dist/components/messages/AssistantThinkingMessage.js +0 -42
- package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantToolUseMessage.js +0 -100
- package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
- package/dist/components/messages/GroupRenderer.js +0 -54
- package/dist/components/messages/GroupRenderer.js.map +0 -7
- package/dist/components/messages/NestedTasksPreview.js +0 -24
- package/dist/components/messages/NestedTasksPreview.js.map +0 -7
- package/dist/components/messages/ParallelTasksGroupView.js +0 -93
- package/dist/components/messages/ParallelTasksGroupView.js.map +0 -7
- package/dist/components/messages/TaskInModuleView.js +0 -218
- package/dist/components/messages/TaskInModuleView.js.map +0 -7
- package/dist/components/messages/TaskOutputContent.js +0 -56
- package/dist/components/messages/TaskOutputContent.js.map +0 -7
- package/dist/components/messages/TaskProgressMessage.js +0 -11
- package/dist/components/messages/TaskProgressMessage.js.map +0 -7
- package/dist/components/messages/TaskToolMessage.js +0 -39
- package/dist/components/messages/TaskToolMessage.js.map +0 -7
- package/dist/components/messages/UserBashInputMessage.js +0 -18
- package/dist/components/messages/UserBashInputMessage.js.map +0 -7
- package/dist/components/messages/UserCommandMessage.js +0 -20
- package/dist/components/messages/UserCommandMessage.js.map +0 -7
- package/dist/components/messages/UserKodingInputMessage.js +0 -18
- package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
- package/dist/components/messages/UserPromptMessage.js +0 -25
- package/dist/components/messages/UserPromptMessage.js.map +0 -7
- package/dist/components/messages/UserTextMessage.js +0 -25
- package/dist/components/messages/UserTextMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -11
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -25
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -47
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -22
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/utils.js +0 -50
- package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
- package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequest.js +0 -70
- package/dist/components/permissions/PermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequestTitle.js +0 -52
- package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
- package/dist/components/permissions/hooks.js +0 -23
- package/dist/components/permissions/hooks.js.map +0 -7
- package/dist/components/permissions/toolUseOptions.js +0 -46
- package/dist/components/permissions/toolUseOptions.js.map +0 -7
- package/dist/components/permissions/utils.js +0 -21
- package/dist/components/permissions/utils.js.map +0 -7
- package/dist/constants/claude-asterisk-ascii-art.js +0 -242
- package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
- package/dist/constants/colors.js +0 -192
- package/dist/constants/colors.js.map +0 -7
- package/dist/constants/compressionPrompts.js +0 -73
- package/dist/constants/compressionPrompts.js.map +0 -7
- package/dist/constants/figures.js +0 -6
- package/dist/constants/figures.js.map +0 -7
- package/dist/constants/formatRules.js +0 -102
- package/dist/constants/formatRules.js.map +0 -7
- package/dist/constants/macros.js +0 -11
- package/dist/constants/macros.js.map +0 -7
- package/dist/constants/modelCapabilities.js +0 -239
- package/dist/constants/modelCapabilities.js.map +0 -7
- package/dist/constants/models.js +0 -1034
- package/dist/constants/models.js.map +0 -7
- package/dist/constants/oauth.js +0 -18
- package/dist/constants/oauth.js.map +0 -7
- package/dist/constants/product.js +0 -28
- package/dist/constants/product.js.map +0 -7
- package/dist/constants/prompts/agentPrompt.js +0 -30
- package/dist/constants/prompts/agentPrompt.js.map +0 -7
- package/dist/constants/prompts/codeConventions.js +0 -27
- package/dist/constants/prompts/codeConventions.js.map +0 -7
- package/dist/constants/prompts/doingTasks.js +0 -15
- package/dist/constants/prompts/doingTasks.js.map +0 -7
- package/dist/constants/prompts/envInfo.js +0 -17
- package/dist/constants/prompts/envInfo.js.map +0 -7
- package/dist/constants/prompts/executingWithCare.js +0 -17
- package/dist/constants/prompts/executingWithCare.js.map +0 -7
- package/dist/constants/prompts/identity.js +0 -10
- package/dist/constants/prompts/identity.js.map +0 -7
- package/dist/constants/prompts/index.js +0 -78
- package/dist/constants/prompts/index.js.map +0 -7
- package/dist/constants/prompts/taskManagement.js +0 -60
- package/dist/constants/prompts/taskManagement.js.map +0 -7
- package/dist/constants/prompts/toneAndStyle.js +0 -62
- package/dist/constants/prompts/toneAndStyle.js.map +0 -7
- package/dist/constants/prompts/toolUsagePolicy.js +0 -38
- package/dist/constants/prompts/toolUsagePolicy.js.map +0 -7
- package/dist/constants/prompts.js +0 -13
- package/dist/constants/prompts.js.map +0 -7
- package/dist/constants/providerRegistry.js +0 -235
- package/dist/constants/providerRegistry.js.map +0 -7
- package/dist/constants/providers.js +0 -35
- package/dist/constants/providers.js.map +0 -7
- package/dist/constants/releaseNotes.js +0 -9
- package/dist/constants/releaseNotes.js.map +0 -7
- package/dist/constants/symbols.js +0 -108
- package/dist/constants/symbols.js.map +0 -7
- package/dist/constants/timing.js +0 -39
- package/dist/constants/timing.js.map +0 -7
- package/dist/constants/toolInputExamples.js +0 -88
- package/dist/constants/toolInputExamples.js.map +0 -7
- package/dist/context/PermissionContext.js +0 -110
- package/dist/context/PermissionContext.js.map +0 -7
- package/dist/context.js +0 -334
- package/dist/context.js.map +0 -7
- package/dist/core/backupHook.js +0 -29
- package/dist/core/backupHook.js.map +0 -7
- package/dist/core/backupManager.js +0 -321
- package/dist/core/backupManager.js.map +0 -7
- package/dist/core/config/defaults.js +0 -93
- package/dist/core/config/defaults.js.map +0 -7
- package/dist/core/config/index.js +0 -111
- package/dist/core/config/index.js.map +0 -7
- package/dist/core/config/loader.js +0 -221
- package/dist/core/config/loader.js.map +0 -7
- package/dist/core/config/migrations.js +0 -128
- package/dist/core/config/migrations.js.map +0 -7
- package/dist/core/config/schema.js +0 -196
- package/dist/core/config/schema.js.map +0 -7
- package/dist/core/costTracker.js +0 -131
- package/dist/core/costTracker.js.map +0 -7
- package/dist/core/gitAutoCommit.js +0 -287
- package/dist/core/gitAutoCommit.js.map +0 -7
- package/dist/core/index.js +0 -7
- package/dist/core/index.js.map +0 -7
- package/dist/core/operationTracker.js +0 -212
- package/dist/core/operationTracker.js.map +0 -7
- package/dist/core/permissions/auditLog.js +0 -204
- package/dist/core/permissions/auditLog.js.map +0 -7
- package/dist/core/permissions/engine/index.js +0 -3
- package/dist/core/permissions/engine/index.js.map +0 -7
- package/dist/core/permissions/engine/permissionEngine.js +0 -106
- package/dist/core/permissions/engine/permissionEngine.js.map +0 -7
- package/dist/core/permissions/engine/types.js +0 -1
- package/dist/core/permissions/engine/types.js.map +0 -7
- package/dist/core/permissions/index.js +0 -84
- package/dist/core/permissions/index.js.map +0 -7
- package/dist/core/permissions/ruleEngine.js +0 -259
- package/dist/core/permissions/ruleEngine.js.map +0 -7
- package/dist/core/permissions/rules/allowedToolsRule.js +0 -62
- package/dist/core/permissions/rules/allowedToolsRule.js.map +0 -7
- package/dist/core/permissions/rules/autoEscalationRule.js +0 -296
- package/dist/core/permissions/rules/autoEscalationRule.js.map +0 -7
- package/dist/core/permissions/rules/index.js +0 -46
- package/dist/core/permissions/rules/index.js.map +0 -7
- package/dist/core/permissions/rules/planModeRule.js +0 -55
- package/dist/core/permissions/rules/planModeRule.js.map +0 -7
- package/dist/core/permissions/rules/projectBoundaryRule.js +0 -173
- package/dist/core/permissions/rules/projectBoundaryRule.js.map +0 -7
- package/dist/core/permissions/rules/safeModeRule.js +0 -65
- package/dist/core/permissions/rules/safeModeRule.js.map +0 -7
- package/dist/core/permissions/rules/sensitivePathsRule.js +0 -345
- package/dist/core/permissions/rules/sensitivePathsRule.js.map +0 -7
- package/dist/core/permissions/types.js +0 -127
- package/dist/core/permissions/types.js.map +0 -7
- package/dist/core/tokenStats.js +0 -9
- package/dist/core/tokenStats.js.map +0 -7
- package/dist/core/tokenStatsManager.js +0 -354
- package/dist/core/tokenStatsManager.js.map +0 -7
- package/dist/core/tools/executor.js +0 -143
- package/dist/core/tools/executor.js.map +0 -7
- package/dist/core/tools/index.js +0 -15
- package/dist/core/tools/index.js.map +0 -7
- package/dist/core/tools/registry.js +0 -183
- package/dist/core/tools/registry.js.map +0 -7
- package/dist/core/tools/types.js +0 -1
- package/dist/core/tools/types.js.map +0 -7
- package/dist/cost-tracker.js +0 -68
- package/dist/cost-tracker.js.map +0 -7
- package/dist/entrypoints/bootstrap.js +0 -56
- package/dist/entrypoints/bootstrap.js.map +0 -7
- package/dist/entrypoints/cli.js +0 -1390
- package/dist/entrypoints/cli.js.map +0 -7
- package/dist/entrypoints/mcp.js +0 -153
- package/dist/entrypoints/mcp.js.map +0 -7
- package/dist/history.js +0 -96
- package/dist/history.js.map +0 -7
- package/dist/hooks/useAgentTokenStats.js +0 -72
- package/dist/hooks/useAgentTokenStats.js.map +0 -7
- package/dist/hooks/useAgentTranscripts.js +0 -141
- package/dist/hooks/useAgentTranscripts.js.map +0 -7
- package/dist/hooks/useAnimationSync.js +0 -53
- package/dist/hooks/useAnimationSync.js.map +0 -7
- package/dist/hooks/useApiKeyVerification.js +0 -12
- package/dist/hooks/useApiKeyVerification.js.map +0 -7
- package/dist/hooks/useArrowKeyHistory.js +0 -52
- package/dist/hooks/useArrowKeyHistory.js.map +0 -7
- package/dist/hooks/useAskUser.js +0 -24
- package/dist/hooks/useAskUser.js.map +0 -7
- package/dist/hooks/useBackgroundShells.js +0 -29
- package/dist/hooks/useBackgroundShells.js.map +0 -7
- package/dist/hooks/useCanUseTool.js +0 -89
- package/dist/hooks/useCanUseTool.js.map +0 -7
- package/dist/hooks/useDeferredLoading.js +0 -64
- package/dist/hooks/useDeferredLoading.js.map +0 -7
- package/dist/hooks/useDoublePress.js +0 -31
- package/dist/hooks/useDoublePress.js.map +0 -7
- package/dist/hooks/useExitOnCtrlCD.js +0 -30
- package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
- package/dist/hooks/useHistorySearch.js +0 -62
- package/dist/hooks/useHistorySearch.js.map +0 -7
- package/dist/hooks/useHookStatus.js +0 -40
- package/dist/hooks/useHookStatus.js.map +0 -7
- package/dist/hooks/useInterval.js +0 -18
- package/dist/hooks/useInterval.js.map +0 -7
- package/dist/hooks/useLogMessages.js +0 -41
- package/dist/hooks/useLogMessages.js.map +0 -7
- package/dist/hooks/useLogStartupTime.js +0 -10
- package/dist/hooks/useLogStartupTime.js.map +0 -7
- package/dist/hooks/useMessageGroups.js +0 -43
- package/dist/hooks/useMessageGroups.js.map +0 -7
- package/dist/hooks/useNotifyAfterTimeout.js +0 -42
- package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
- package/dist/hooks/usePermissionRequestLogging.js +0 -23
- package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
- package/dist/hooks/useSessionTracking.js +0 -55
- package/dist/hooks/useSessionTracking.js.map +0 -7
- package/dist/hooks/useTerminalSize.js +0 -115
- package/dist/hooks/useTerminalSize.js.map +0 -7
- package/dist/hooks/useTextInput.js +0 -253
- package/dist/hooks/useTextInput.js.map +0 -7
- package/dist/hooks/useUnifiedCompletion.js +0 -1098
- package/dist/hooks/useUnifiedCompletion.js.map +0 -7
- package/dist/i18n/index.js +0 -109
- package/dist/i18n/index.js.map +0 -7
- package/dist/i18n/locales/en.js +0 -928
- package/dist/i18n/locales/en.js.map +0 -7
- package/dist/i18n/locales/index.js +0 -7
- package/dist/i18n/locales/index.js.map +0 -7
- package/dist/i18n/locales/zh-CN.js +0 -928
- package/dist/i18n/locales/zh-CN.js.map +0 -7
- package/dist/i18n/types.js +0 -8
- package/dist/i18n/types.js.map +0 -7
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -7
- package/dist/messages.js +0 -68
- package/dist/messages.js.map +0 -7
- package/dist/package.json +0 -4
- package/dist/permissions.js +0 -430
- package/dist/permissions.js.map +0 -7
- package/dist/query.js +0 -753
- package/dist/query.js.map +0 -7
- package/dist/screens/LogList.js +0 -55
- package/dist/screens/LogList.js.map +0 -7
- package/dist/screens/REPL.js +0 -1097
- package/dist/screens/REPL.js.map +0 -7
- package/dist/screens/ResumeConversation.js +0 -59
- package/dist/screens/ResumeConversation.js.map +0 -7
- package/dist/services/adapters/base.js +0 -29
- package/dist/services/adapters/base.js.map +0 -7
- package/dist/services/adapters/chatCompletions.js +0 -71
- package/dist/services/adapters/chatCompletions.js.map +0 -7
- package/dist/services/adapters/messageNormalizer.js +0 -354
- package/dist/services/adapters/messageNormalizer.js.map +0 -7
- package/dist/services/adapters/responsesAPI.js +0 -137
- package/dist/services/adapters/responsesAPI.js.map +0 -7
- package/dist/services/agentTeams/index.js +0 -35
- package/dist/services/agentTeams/index.js.map +0 -7
- package/dist/services/agentTeams/mailbox.js +0 -114
- package/dist/services/agentTeams/mailbox.js.map +0 -7
- package/dist/services/agentTeams/teamManager.js +0 -149
- package/dist/services/agentTeams/teamManager.js.map +0 -7
- package/dist/services/agentTeams/teamTaskStore.js +0 -114
- package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
- package/dist/services/agentTeams/teammateSpawner.js +0 -80
- package/dist/services/agentTeams/teammateSpawner.js.map +0 -7
- package/dist/services/checkpointManager.js +0 -399
- package/dist/services/checkpointManager.js.map +0 -7
- package/dist/services/claude.js +0 -41
- package/dist/services/claude.js.map +0 -7
- package/dist/services/compressionService.js +0 -259
- package/dist/services/compressionService.js.map +0 -7
- package/dist/services/contextMonitor.js +0 -162
- package/dist/services/contextMonitor.js.map +0 -7
- package/dist/services/customCommands.js +0 -489
- package/dist/services/customCommands.js.map +0 -7
- package/dist/services/fileFreshness.js +0 -275
- package/dist/services/fileFreshness.js.map +0 -7
- package/dist/services/gpt5ConnectionTest.js +0 -263
- package/dist/services/gpt5ConnectionTest.js.map +0 -7
- package/dist/services/hookExecutor.js +0 -728
- package/dist/services/hookExecutor.js.map +0 -7
- package/dist/services/intelligentCompactor.js +0 -281
- package/dist/services/intelligentCompactor.js.map +0 -7
- package/dist/services/llm/anthropicProvider.js +0 -807
- package/dist/services/llm/anthropicProvider.js.map +0 -7
- package/dist/services/llm/dispatch.js +0 -218
- package/dist/services/llm/dispatch.js.map +0 -7
- package/dist/services/llm/index.js +0 -44
- package/dist/services/llm/index.js.map +0 -7
- package/dist/services/llm/mintoContext.js +0 -69
- package/dist/services/llm/mintoContext.js.map +0 -7
- package/dist/services/llm/openaiProvider.js +0 -622
- package/dist/services/llm/openaiProvider.js.map +0 -7
- package/dist/services/llm/types.js +0 -157
- package/dist/services/llm/types.js.map +0 -7
- package/dist/services/lspConfig.js +0 -109
- package/dist/services/lspConfig.js.map +0 -7
- package/dist/services/mainAgentCompressor.js +0 -84
- package/dist/services/mainAgentCompressor.js.map +0 -7
- package/dist/services/mcpClient.js +0 -921
- package/dist/services/mcpClient.js.map +0 -7
- package/dist/services/mcpServerApproval.js +0 -55
- package/dist/services/mcpServerApproval.js.map +0 -7
- package/dist/services/mentionProcessor.js +0 -214
- package/dist/services/mentionProcessor.js.map +0 -7
- package/dist/services/modelAdapterFactory.js +0 -47
- package/dist/services/modelAdapterFactory.js.map +0 -7
- package/dist/services/modelOrchestrator.js +0 -310
- package/dist/services/modelOrchestrator.js.map +0 -7
- package/dist/services/notifier.js +0 -49
- package/dist/services/notifier.js.map +0 -7
- package/dist/services/oauth.js +0 -249
- package/dist/services/oauth.js.map +0 -7
- package/dist/services/openai.js +0 -1049
- package/dist/services/openai.js.map +0 -7
- package/dist/services/outputStyles.js +0 -219
- package/dist/services/outputStyles.js.map +0 -7
- package/dist/services/plugins/index.js +0 -5
- package/dist/services/plugins/index.js.map +0 -7
- package/dist/services/plugins/lspServers.js +0 -188
- package/dist/services/plugins/lspServers.js.map +0 -7
- package/dist/services/plugins/pluginRuntime.js +0 -230
- package/dist/services/plugins/pluginRuntime.js.map +0 -7
- package/dist/services/plugins/pluginValidation.js +0 -226
- package/dist/services/plugins/pluginValidation.js.map +0 -7
- package/dist/services/plugins/skillMarketplace.js +0 -567
- package/dist/services/plugins/skillMarketplace.js.map +0 -7
- package/dist/services/responseStateManager.js +0 -102
- package/dist/services/responseStateManager.js.map +0 -7
- package/dist/services/sandbox/filesystemBoundary.js +0 -341
- package/dist/services/sandbox/filesystemBoundary.js.map +0 -7
- package/dist/services/sandbox/index.js +0 -14
- package/dist/services/sandbox/index.js.map +0 -7
- package/dist/services/sandbox/networkProxy.js +0 -293
- package/dist/services/sandbox/networkProxy.js.map +0 -7
- package/dist/services/sandbox/sandboxController.js +0 -574
- package/dist/services/sandbox/sandboxController.js.map +0 -7
- package/dist/services/sandbox/types.js +0 -50
- package/dist/services/sandbox/types.js.map +0 -7
- package/dist/services/sentry.js +0 -9
- package/dist/services/sentry.js.map +0 -7
- package/dist/services/sessionMemory.js +0 -279
- package/dist/services/sessionMemory.js.map +0 -7
- package/dist/services/subagentAbortManager.js +0 -95
- package/dist/services/subagentAbortManager.js.map +0 -7
- package/dist/services/subagentCompressor.js +0 -146
- package/dist/services/subagentCompressor.js.map +0 -7
- package/dist/services/systemReminder.js +0 -693
- package/dist/services/systemReminder.js.map +0 -7
- package/dist/services/taskRouter.js +0 -324
- package/dist/services/taskRouter.js.map +0 -7
- package/dist/services/taskStore.js +0 -224
- package/dist/services/taskStore.js.map +0 -7
- package/dist/services/vcr.js +0 -133
- package/dist/services/vcr.js.map +0 -7
- package/dist/tools/ArchitectTool/ArchitectTool.js +0 -126
- package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
- package/dist/tools/ArchitectTool/prompt.js +0 -18
- package/dist/tools/ArchitectTool/prompt.js.map +0 -7
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -433
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -158
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/index.js +0 -5
- package/dist/tools/AskUserQuestionTool/index.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/prompt.js +0 -167
- package/dist/tools/AskUserQuestionTool/prompt.js.map +0 -7
- package/dist/tools/BaseTool.js +0 -72
- package/dist/tools/BaseTool.js.map +0 -7
- package/dist/tools/BashOutputTool/BashOutputTool.js +0 -120
- package/dist/tools/BashOutputTool/BashOutputTool.js.map +0 -7
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +0 -14
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +0 -7
- package/dist/tools/BashOutputTool/prompt.js +0 -13
- package/dist/tools/BashOutputTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/BashTool.js +0 -330
- package/dist/tools/BashTool/BashTool.js.map +0 -7
- package/dist/tools/BashTool/BashToolResultMessage.js +0 -24
- package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
- package/dist/tools/BashTool/OutputLine.js +0 -84
- package/dist/tools/BashTool/OutputLine.js.map +0 -7
- package/dist/tools/BashTool/prompt.js +0 -519
- package/dist/tools/BashTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/utils.js +0 -51
- package/dist/tools/BashTool/utils.js.map +0 -7
- package/dist/tools/FileEditTool/FileEditTool.js +0 -273
- package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
- package/dist/tools/FileEditTool/prompt.js +0 -60
- package/dist/tools/FileEditTool/prompt.js.map +0 -7
- package/dist/tools/FileEditTool/utils.js +0 -48
- package/dist/tools/FileEditTool/utils.js.map +0 -7
- package/dist/tools/FileReadTool/FileReadTool.js +0 -305
- package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
- package/dist/tools/FileReadTool/prompt.js +0 -25
- package/dist/tools/FileReadTool/prompt.js.map +0 -7
- package/dist/tools/FileWriteTool/FileWriteTool.js +0 -211
- package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
- package/dist/tools/FileWriteTool/prompt.js +0 -23
- package/dist/tools/FileWriteTool/prompt.js.map +0 -7
- package/dist/tools/GlobTool/GlobTool.js +0 -99
- package/dist/tools/GlobTool/GlobTool.js.map +0 -7
- package/dist/tools/GlobTool/prompt.js +0 -23
- package/dist/tools/GlobTool/prompt.js.map +0 -7
- package/dist/tools/GrepTool/GrepTool.js +0 -406
- package/dist/tools/GrepTool/GrepTool.js.map +0 -7
- package/dist/tools/GrepTool/prompt.js +0 -22
- package/dist/tools/GrepTool/prompt.js.map +0 -7
- package/dist/tools/KillShellTool/KillShellTool.js +0 -92
- package/dist/tools/KillShellTool/KillShellTool.js.map +0 -7
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js +0 -14
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +0 -7
- package/dist/tools/KillShellTool/prompt.js +0 -12
- package/dist/tools/KillShellTool/prompt.js.map +0 -7
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -109
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +0 -7
- package/dist/tools/ListMcpResourcesTool/prompt.js +0 -19
- package/dist/tools/ListMcpResourcesTool/prompt.js.map +0 -7
- package/dist/tools/LspTool/LspTool.js +0 -673
- package/dist/tools/LspTool/LspTool.js.map +0 -7
- package/dist/tools/LspTool/prompt.js +0 -27
- package/dist/tools/LspTool/prompt.js.map +0 -7
- package/dist/tools/MCPTool/MCPTool.js +0 -97
- package/dist/tools/MCPTool/MCPTool.js.map +0 -7
- package/dist/tools/MCPTool/prompt.js +0 -7
- package/dist/tools/MCPTool/prompt.js.map +0 -7
- package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -117
- package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
- package/dist/tools/MemoryReadTool/prompt.js +0 -7
- package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -78
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
- package/dist/tools/MultiEditTool/MultiEditTool.js +0 -328
- package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
- package/dist/tools/MultiEditTool/prompt.js +0 -50
- package/dist/tools/MultiEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -257
- package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
- package/dist/tools/NotebookEditTool/prompt.js +0 -7
- package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -218
- package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
- package/dist/tools/NotebookReadTool/prompt.js +0 -7
- package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js +0 -81
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -111
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/prompt.js +0 -94
- package/dist/tools/PlanModeTool/prompt.js.map +0 -7
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -130
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +0 -7
- package/dist/tools/ReadMcpResourceTool/prompt.js +0 -17
- package/dist/tools/ReadMcpResourceTool/prompt.js.map +0 -7
- package/dist/tools/SkillTool/SkillTool.js +0 -227
- package/dist/tools/SkillTool/SkillTool.js.map +0 -7
- package/dist/tools/SkillTool/prompt.js +0 -81
- package/dist/tools/SkillTool/prompt.js.map +0 -7
- package/dist/tools/SlashCommandTool/SlashCommandTool.js +0 -416
- package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +0 -7
- package/dist/tools/SlashCommandTool/prompt.js +0 -35
- package/dist/tools/SlashCommandTool/prompt.js.map +0 -7
- package/dist/tools/TaskCreateTool/TaskCreateTool.js +0 -102
- package/dist/tools/TaskCreateTool/TaskCreateTool.js.map +0 -7
- package/dist/tools/TaskCreateTool/prompt.js +0 -47
- package/dist/tools/TaskCreateTool/prompt.js.map +0 -7
- package/dist/tools/TaskGetTool/TaskGetTool.js +0 -115
- package/dist/tools/TaskGetTool/TaskGetTool.js.map +0 -7
- package/dist/tools/TaskGetTool/prompt.js +0 -28
- package/dist/tools/TaskGetTool/prompt.js.map +0 -7
- package/dist/tools/TaskListTool/TaskListTool.js +0 -102
- package/dist/tools/TaskListTool/TaskListTool.js.map +0 -7
- package/dist/tools/TaskListTool/prompt.js +0 -27
- package/dist/tools/TaskListTool/prompt.js.map +0 -7
- package/dist/tools/TaskOutputTool/TaskOutputTool.js +0 -190
- package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +0 -7
- package/dist/tools/TaskOutputTool/prompt.js +0 -15
- package/dist/tools/TaskOutputTool/prompt.js.map +0 -7
- package/dist/tools/TaskStopTool/TaskStopTool.js +0 -150
- package/dist/tools/TaskStopTool/TaskStopTool.js.map +0 -7
- package/dist/tools/TaskStopTool/prompt.js +0 -15
- package/dist/tools/TaskStopTool/prompt.js.map +0 -7
- package/dist/tools/TaskTool/TaskTool.js +0 -861
- package/dist/tools/TaskTool/TaskTool.js.map +0 -7
- package/dist/tools/TaskTool/constants.js +0 -5
- package/dist/tools/TaskTool/constants.js.map +0 -7
- package/dist/tools/TaskTool/prompt.js +0 -117
- package/dist/tools/TaskTool/prompt.js.map +0 -7
- package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -134
- package/dist/tools/TaskUpdateTool/TaskUpdateTool.js.map +0 -7
- package/dist/tools/TaskUpdateTool/prompt.js +0 -81
- package/dist/tools/TaskUpdateTool/prompt.js.map +0 -7
- package/dist/tools/ThinkTool/ThinkTool.js +0 -45
- package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
- package/dist/tools/ThinkTool/prompt.js +0 -16
- package/dist/tools/ThinkTool/prompt.js.map +0 -7
- package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -232
- package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
- package/dist/tools/TodoWriteTool/prompt.js +0 -87
- package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
- package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -143
- package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
- package/dist/tools/URLFetcherTool/cache.js +0 -95
- package/dist/tools/URLFetcherTool/cache.js.map +0 -7
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -44
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
- package/dist/tools/URLFetcherTool/prompt.js +0 -27
- package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/WebSearchTool.js +0 -91
- package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
- package/dist/tools/WebSearchTool/prompt.js +0 -23
- package/dist/tools/WebSearchTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/searchProviders.js +0 -58
- package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
- package/dist/tools/lsTool/lsTool.js +0 -201
- package/dist/tools/lsTool/lsTool.js.map +0 -7
- package/dist/tools/lsTool/prompt.js +0 -5
- package/dist/tools/lsTool/prompt.js.map +0 -7
- package/dist/tools.js +0 -127
- package/dist/tools.js.map +0 -7
- package/dist/types/PermissionMode.js +0 -131
- package/dist/types/PermissionMode.js.map +0 -7
- package/dist/types/RequestContext.js +0 -47
- package/dist/types/RequestContext.js.map +0 -7
- package/dist/types/agentTeams.js +0 -1
- package/dist/types/agentTeams.js.map +0 -7
- package/dist/types/askUserQuestion.js +0 -1
- package/dist/types/askUserQuestion.js.map +0 -7
- package/dist/types/common.d.js +0 -1
- package/dist/types/common.d.js.map +0 -7
- package/dist/types/conversation.js +0 -1
- package/dist/types/conversation.js.map +0 -7
- package/dist/types/core.js +0 -1
- package/dist/types/core.js.map +0 -7
- package/dist/types/hooks.js +0 -45
- package/dist/types/hooks.js.map +0 -7
- package/dist/types/interactionRound.js +0 -1
- package/dist/types/interactionRound.js.map +0 -7
- package/dist/types/logs.js +0 -1
- package/dist/types/logs.js.map +0 -7
- package/dist/types/marketplace.js +0 -107
- package/dist/types/marketplace.js.map +0 -7
- package/dist/types/messageGroup.js +0 -36
- package/dist/types/messageGroup.js.map +0 -7
- package/dist/types/modelCapabilities.js +0 -1
- package/dist/types/modelCapabilities.js.map +0 -7
- package/dist/types/notebook.js +0 -1
- package/dist/types/notebook.js.map +0 -7
- package/dist/types/plugin.js +0 -84
- package/dist/types/plugin.js.map +0 -7
- package/dist/types/subagent.js +0 -1
- package/dist/types/subagent.js.map +0 -7
- package/dist/types/thinking.js +0 -1
- package/dist/types/thinking.js.map +0 -7
- package/dist/utils/BackgroundShellManager.js +0 -378
- package/dist/utils/BackgroundShellManager.js.map +0 -7
- package/dist/utils/CircuitBreaker.js +0 -242
- package/dist/utils/CircuitBreaker.js.map +0 -7
- package/dist/utils/Cursor.js +0 -315
- package/dist/utils/Cursor.js.map +0 -7
- package/dist/utils/MessageBatchBuffer.js +0 -102
- package/dist/utils/MessageBatchBuffer.js.map +0 -7
- package/dist/utils/PersistentShell.js +0 -526
- package/dist/utils/PersistentShell.js.map +0 -7
- package/dist/utils/advancedFuzzyMatcher.js +0 -209
- package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
- package/dist/utils/agentHookExecutor.js +0 -103
- package/dist/utils/agentHookExecutor.js.map +0 -7
- package/dist/utils/agentLoader.js +0 -518
- package/dist/utils/agentLoader.js.map +0 -7
- package/dist/utils/agentMemory.js +0 -134
- package/dist/utils/agentMemory.js.map +0 -7
- package/dist/utils/agentStorage.js +0 -59
- package/dist/utils/agentStorage.js.map +0 -7
- package/dist/utils/agentTranscripts.js +0 -641
- package/dist/utils/agentTranscripts.js.map +0 -7
- package/dist/utils/animationManager.js +0 -213
- package/dist/utils/animationManager.js.map +0 -7
- package/dist/utils/animationSync.js +0 -110
- package/dist/utils/animationSync.js.map +0 -7
- package/dist/utils/array.js +0 -7
- package/dist/utils/array.js.map +0 -7
- package/dist/utils/ask.js +0 -79
- package/dist/utils/ask.js.map +0 -7
- package/dist/utils/async.js +0 -167
- package/dist/utils/async.js.map +0 -7
- package/dist/utils/asyncFile.js +0 -215
- package/dist/utils/asyncFile.js.map +0 -7
- package/dist/utils/auth.js +0 -11
- package/dist/utils/auth.js.map +0 -7
- package/dist/utils/autoCompactCore.js +0 -186
- package/dist/utils/autoCompactCore.js.map +0 -7
- package/dist/utils/autoUpdater.js +0 -113
- package/dist/utils/autoUpdater.js.map +0 -7
- package/dist/utils/backgroundAgentManager.js +0 -231
- package/dist/utils/backgroundAgentManager.js.map +0 -7
- package/dist/utils/browser.js +0 -15
- package/dist/utils/browser.js.map +0 -7
- package/dist/utils/claudeCodeSync.js +0 -439
- package/dist/utils/claudeCodeSync.js.map +0 -7
- package/dist/utils/cleanup.js +0 -54
- package/dist/utils/cleanup.js.map +0 -7
- package/dist/utils/commands.js +0 -219
- package/dist/utils/commands.js.map +0 -7
- package/dist/utils/commonUnixCommands.js +0 -689
- package/dist/utils/commonUnixCommands.js.map +0 -7
- package/dist/utils/compressionMode.js +0 -47
- package/dist/utils/compressionMode.js.map +0 -7
- package/dist/utils/config.js +0 -691
- package/dist/utils/config.js.map +0 -7
- package/dist/utils/configPaths.js +0 -199
- package/dist/utils/configPaths.js.map +0 -7
- package/dist/utils/configSchema.js +0 -227
- package/dist/utils/configSchema.js.map +0 -7
- package/dist/utils/conversationRecovery.js +0 -54
- package/dist/utils/conversationRecovery.js.map +0 -7
- package/dist/utils/credentials/CredentialStore.js +0 -1
- package/dist/utils/credentials/CredentialStore.js.map +0 -7
- package/dist/utils/credentials/EncryptedFileStore.js +0 -157
- package/dist/utils/credentials/EncryptedFileStore.js.map +0 -7
- package/dist/utils/credentials/index.js +0 -37
- package/dist/utils/credentials/index.js.map +0 -7
- package/dist/utils/credentials/migration.js +0 -82
- package/dist/utils/credentials/migration.js.map +0 -7
- package/dist/utils/debugLogger.js +0 -889
- package/dist/utils/debugLogger.js.map +0 -7
- package/dist/utils/diff.js +0 -32
- package/dist/utils/diff.js.map +0 -7
- package/dist/utils/env.js +0 -45
- package/dist/utils/env.js.map +0 -7
- package/dist/utils/envConfig.js +0 -116
- package/dist/utils/envConfig.js.map +0 -7
- package/dist/utils/errorHandling.js +0 -89
- package/dist/utils/errorHandling.js.map +0 -7
- package/dist/utils/errors.js +0 -23
- package/dist/utils/errors.js.map +0 -7
- package/dist/utils/execFileNoThrow.js +0 -45
- package/dist/utils/execFileNoThrow.js.map +0 -7
- package/dist/utils/exit.js +0 -73
- package/dist/utils/exit.js.map +0 -7
- package/dist/utils/expertChatStorage.js +0 -78
- package/dist/utils/expertChatStorage.js.map +0 -7
- package/dist/utils/file.js +0 -282
- package/dist/utils/file.js.map +0 -7
- package/dist/utils/fileRecoveryCore.js +0 -41
- package/dist/utils/fileRecoveryCore.js.map +0 -7
- package/dist/utils/format.js +0 -109
- package/dist/utils/format.js.map +0 -7
- package/dist/utils/fuzzyMatcher.js +0 -258
- package/dist/utils/fuzzyMatcher.js.map +0 -7
- package/dist/utils/generators.js +0 -116
- package/dist/utils/generators.js.map +0 -7
- package/dist/utils/git.js +0 -83
- package/dist/utils/git.js.map +0 -7
- package/dist/utils/globalErrorHandler.js +0 -149
- package/dist/utils/globalErrorHandler.js.map +0 -7
- package/dist/utils/gpt5.js +0 -146
- package/dist/utils/gpt5.js.map +0 -7
- package/dist/utils/groupHandlers/index.js +0 -8
- package/dist/utils/groupHandlers/index.js.map +0 -7
- package/dist/utils/groupHandlers/parallelTasksHandler.js +0 -140
- package/dist/utils/groupHandlers/parallelTasksHandler.js.map +0 -7
- package/dist/utils/groupHandlers/taskHandler.js +0 -104
- package/dist/utils/groupHandlers/taskHandler.js.map +0 -7
- package/dist/utils/groupHandlers/types.js +0 -1
- package/dist/utils/groupHandlers/types.js.map +0 -7
- package/dist/utils/historyManager.js +0 -234
- package/dist/utils/historyManager.js.map +0 -7
- package/dist/utils/hookManager.js +0 -482
- package/dist/utils/hookManager.js.map +0 -7
- package/dist/utils/http.js +0 -7
- package/dist/utils/http.js.map +0 -7
- package/dist/utils/imagePaste.js +0 -29
- package/dist/utils/imagePaste.js.map +0 -7
- package/dist/utils/json.js +0 -16
- package/dist/utils/json.js.map +0 -7
- package/dist/utils/log.js +0 -329
- package/dist/utils/log.js.map +0 -7
- package/dist/utils/logRotation.js +0 -224
- package/dist/utils/logRotation.js.map +0 -7
- package/dist/utils/markdown.js +0 -246
- package/dist/utils/markdown.js.map +0 -7
- package/dist/utils/marketplaceManager.js +0 -545
- package/dist/utils/marketplaceManager.js.map +0 -7
- package/dist/utils/memSafety.js +0 -264
- package/dist/utils/memSafety.js.map +0 -7
- package/dist/utils/memoizeWithTTL.js +0 -25
- package/dist/utils/memoizeWithTTL.js.map +0 -7
- package/dist/utils/messageContextManager.js +0 -195
- package/dist/utils/messageContextManager.js.map +0 -7
- package/dist/utils/messageGroupManager.js +0 -274
- package/dist/utils/messageGroupManager.js.map +0 -7
- package/dist/utils/messages.js +0 -667
- package/dist/utils/messages.js.map +0 -7
- package/dist/utils/migration/index.js +0 -37
- package/dist/utils/migration/index.js.map +0 -7
- package/dist/utils/migration/migrateHistory.js +0 -273
- package/dist/utils/migration/migrateHistory.js.map +0 -7
- package/dist/utils/migration/migrateTodos.js +0 -323
- package/dist/utils/migration/migrateTodos.js.map +0 -7
- package/dist/utils/model.js +0 -846
- package/dist/utils/model.js.map +0 -7
- package/dist/utils/pasteCache.js +0 -309
- package/dist/utils/pasteCache.js.map +0 -7
- package/dist/utils/permissions/filesystem.js +0 -236
- package/dist/utils/permissions/filesystem.js.map +0 -7
- package/dist/utils/plan/planMode.js +0 -143
- package/dist/utils/plan/planMode.js.map +0 -7
- package/dist/utils/pluginInstaller.js +0 -518
- package/dist/utils/pluginInstaller.js.map +0 -7
- package/dist/utils/pluginLoader.js +0 -801
- package/dist/utils/pluginLoader.js.map +0 -7
- package/dist/utils/pluginRegistry.js +0 -111
- package/dist/utils/pluginRegistry.js.map +0 -7
- package/dist/utils/pluginValidator.js +0 -798
- package/dist/utils/pluginValidator.js.map +0 -7
- package/dist/utils/ptyCompat.js +0 -125
- package/dist/utils/ptyCompat.js.map +0 -7
- package/dist/utils/replStateMachine.js +0 -145
- package/dist/utils/replStateMachine.js.map +0 -7
- package/dist/utils/repoFetcher.js +0 -110
- package/dist/utils/repoFetcher.js.map +0 -7
- package/dist/utils/ripgrep.js +0 -236
- package/dist/utils/ripgrep.js.map +0 -7
- package/dist/utils/roundConverter.js +0 -262
- package/dist/utils/roundConverter.js.map +0 -7
- package/dist/utils/safeFetch.js +0 -45
- package/dist/utils/safeFetch.js.map +0 -7
- package/dist/utils/safePath.js +0 -132
- package/dist/utils/safePath.js.map +0 -7
- package/dist/utils/sanitizeInput.js +0 -32
- package/dist/utils/sanitizeInput.js.map +0 -7
- package/dist/utils/secureFile.js +0 -512
- package/dist/utils/secureFile.js.map +0 -7
- package/dist/utils/secureKeyStorage.js +0 -312
- package/dist/utils/secureKeyStorage.js.map +0 -7
- package/dist/utils/sensitiveFiles.js +0 -125
- package/dist/utils/sensitiveFiles.js.map +0 -7
- package/dist/utils/session/sessionPlugins.js +0 -67
- package/dist/utils/session/sessionPlugins.js.map +0 -7
- package/dist/utils/sessionIndex.js +0 -192
- package/dist/utils/sessionIndex.js.map +0 -7
- package/dist/utils/sessionState.js +0 -22
- package/dist/utils/sessionState.js.map +0 -7
- package/dist/utils/sessionTracker.js +0 -170
- package/dist/utils/sessionTracker.js.map +0 -7
- package/dist/utils/skillLoader.js +0 -230
- package/dist/utils/skillLoader.js.map +0 -7
- package/dist/utils/state.js +0 -24
- package/dist/utils/state.js.map +0 -7
- package/dist/utils/stats.js +0 -417
- package/dist/utils/stats.js.map +0 -7
- package/dist/utils/streamingState.js +0 -52
- package/dist/utils/streamingState.js.map +0 -7
- package/dist/utils/stringSubstitution.js +0 -106
- package/dist/utils/stringSubstitution.js.map +0 -7
- package/dist/utils/style.js +0 -34
- package/dist/utils/style.js.map +0 -7
- package/dist/utils/taskDisplayUtils.js +0 -257
- package/dist/utils/taskDisplayUtils.js.map +0 -7
- package/dist/utils/teamConfig.js +0 -624
- package/dist/utils/teamConfig.js.map +0 -7
- package/dist/utils/terminal.js +0 -59
- package/dist/utils/terminal.js.map +0 -7
- package/dist/utils/theme.js +0 -134
- package/dist/utils/theme.js.map +0 -7
- package/dist/utils/thinking.js +0 -59
- package/dist/utils/thinking.js.map +0 -7
- package/dist/utils/todoChangeCalculator.js +0 -64
- package/dist/utils/todoChangeCalculator.js.map +0 -7
- package/dist/utils/todoStorage.js +0 -413
- package/dist/utils/todoStorage.js.map +0 -7
- package/dist/utils/tokens.js +0 -30
- package/dist/utils/tokens.js.map +0 -7
- package/dist/utils/toolExecutionController.js +0 -109
- package/dist/utils/toolExecutionController.js.map +0 -7
- package/dist/utils/toolRiskClassification.js +0 -201
- package/dist/utils/toolRiskClassification.js.map +0 -7
- package/dist/utils/toolTimeout.js +0 -136
- package/dist/utils/toolTimeout.js.map +0 -7
- package/dist/utils/tooling/safeRender.js +0 -115
- package/dist/utils/tooling/safeRender.js.map +0 -7
- package/dist/utils/unaryLogging.js +0 -6
- package/dist/utils/unaryLogging.js.map +0 -7
- package/dist/utils/user.js +0 -40
- package/dist/utils/user.js.map +0 -7
- package/dist/utils/userFriendlyError.js +0 -346
- package/dist/utils/userFriendlyError.js.map +0 -7
- package/dist/utils/validate.js +0 -132
- package/dist/utils/validate.js.map +0 -7
- package/dist/version.js +0 -7
- package/dist/version.js.map +0 -7
- package/dist/yoga.wasm +0 -0
- /package/{dist/utils/vendor → vendor}/ripgrep/arm64-darwin/rg +0 -0
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import { PRODUCT_NAME } from "../constants/product.js";
|
|
3
|
-
import { Box, Newline, Text, useInput } from "ink";
|
|
4
|
-
import {
|
|
5
|
-
getGlobalConfig,
|
|
6
|
-
saveGlobalConfig,
|
|
7
|
-
DEFAULT_GLOBAL_CONFIG
|
|
8
|
-
} from "../utils/config.js";
|
|
9
|
-
import { OrderedList } from "@inkjs/ui";
|
|
10
|
-
import { useExitOnCtrlCD } from "../hooks/useExitOnCtrlCD.js";
|
|
11
|
-
import { MIN_LOGO_WIDTH } from "./Logo.js";
|
|
12
|
-
import { Select } from "./CustomSelect/select.js";
|
|
13
|
-
import { StructuredDiff } from "./StructuredDiff.js";
|
|
14
|
-
import { getTheme } from "../utils/theme.js";
|
|
15
|
-
import { clearTerminal } from "../utils/terminal.js";
|
|
16
|
-
import { PressEnterToContinue } from "./PressEnterToContinue.js";
|
|
17
|
-
import { ModelSelector } from "./ModelSelector/index.js";
|
|
18
|
-
import { SEMANTIC_COLORS } from "../constants/colors.js";
|
|
19
|
-
function Onboarding({ onDone }) {
|
|
20
|
-
const [currentStepIndex, setCurrentStepIndex] = useState(0);
|
|
21
|
-
const [showModelSelector, setShowModelSelector] = useState(false);
|
|
22
|
-
const config = getGlobalConfig();
|
|
23
|
-
const [selectedTheme, setSelectedTheme] = useState(
|
|
24
|
-
DEFAULT_GLOBAL_CONFIG.theme
|
|
25
|
-
);
|
|
26
|
-
const theme = getTheme();
|
|
27
|
-
function goToNextStep() {
|
|
28
|
-
if (currentStepIndex < steps.length - 1) {
|
|
29
|
-
const nextIndex = currentStepIndex + 1;
|
|
30
|
-
setCurrentStepIndex(nextIndex);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function handleThemeSelection(newTheme) {
|
|
34
|
-
saveGlobalConfig({
|
|
35
|
-
...config,
|
|
36
|
-
theme: newTheme
|
|
37
|
-
});
|
|
38
|
-
goToNextStep();
|
|
39
|
-
}
|
|
40
|
-
function handleThemePreview(newTheme) {
|
|
41
|
-
setSelectedTheme(newTheme);
|
|
42
|
-
}
|
|
43
|
-
function handleProviderSelectionDone() {
|
|
44
|
-
goToNextStep();
|
|
45
|
-
}
|
|
46
|
-
function handleModelSelectionDone() {
|
|
47
|
-
onDone();
|
|
48
|
-
}
|
|
49
|
-
const exitState = useExitOnCtrlCD(() => process.exit(0), {
|
|
50
|
-
isActive: !showModelSelector
|
|
51
|
-
});
|
|
52
|
-
useInput(
|
|
53
|
-
async (_, key) => {
|
|
54
|
-
const currentStep = steps[currentStepIndex];
|
|
55
|
-
if (key.return && currentStep && ["usage", "providers", "model"].includes(currentStep.id)) {
|
|
56
|
-
if (currentStep.id === "model") {
|
|
57
|
-
setShowModelSelector(true);
|
|
58
|
-
} else if (currentStepIndex === steps.length - 1) {
|
|
59
|
-
onDone();
|
|
60
|
-
} else {
|
|
61
|
-
await clearTerminal();
|
|
62
|
-
goToNextStep();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
{ isActive: !showModelSelector }
|
|
67
|
-
);
|
|
68
|
-
const themeStep = /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1, paddingLeft: 1 }, /* @__PURE__ */ React.createElement(Text, null, "Let's get started."), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Choose the option that looks best when you select it:"), /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, "To change this later, run /config")), /* @__PURE__ */ React.createElement(
|
|
69
|
-
Select,
|
|
70
|
-
{
|
|
71
|
-
options: [
|
|
72
|
-
{ label: "Light text", value: "dark" },
|
|
73
|
-
{ label: "Dark text", value: "light" },
|
|
74
|
-
{
|
|
75
|
-
label: "Light text (colorblind-friendly)",
|
|
76
|
-
value: "dark-daltonized"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
label: "Dark text (colorblind-friendly)",
|
|
80
|
-
value: "light-daltonized"
|
|
81
|
-
}
|
|
82
|
-
],
|
|
83
|
-
onFocus: handleThemePreview,
|
|
84
|
-
onChange: handleThemeSelection
|
|
85
|
-
}
|
|
86
|
-
), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(
|
|
87
|
-
Box,
|
|
88
|
-
{
|
|
89
|
-
paddingLeft: 1,
|
|
90
|
-
marginRight: 1,
|
|
91
|
-
borderStyle: "round",
|
|
92
|
-
borderColor: SEMANTIC_COLORS.dim,
|
|
93
|
-
flexDirection: "column"
|
|
94
|
-
},
|
|
95
|
-
/* @__PURE__ */ React.createElement(
|
|
96
|
-
StructuredDiff,
|
|
97
|
-
{
|
|
98
|
-
patch: {
|
|
99
|
-
oldStart: 1,
|
|
100
|
-
newStart: 1,
|
|
101
|
-
oldLines: 3,
|
|
102
|
-
newLines: 3,
|
|
103
|
-
lines: [
|
|
104
|
-
"function greet() {",
|
|
105
|
-
'- console.log("Hello, World!");',
|
|
106
|
-
'+ console.log("Hello, anon!");',
|
|
107
|
-
"}"
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
dim: false,
|
|
111
|
-
width: 40,
|
|
112
|
-
overrideTheme: selectedTheme
|
|
113
|
-
}
|
|
114
|
-
)
|
|
115
|
-
)));
|
|
116
|
-
const providersStep = /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1, paddingLeft: 1 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: 70 }, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Next, let's select your preferred AI provider and model.")), /* @__PURE__ */ React.createElement(
|
|
117
|
-
ModelSelector,
|
|
118
|
-
{
|
|
119
|
-
onDone: handleProviderSelectionDone,
|
|
120
|
-
skipModelType: true,
|
|
121
|
-
isOnboarding: true
|
|
122
|
-
}
|
|
123
|
-
));
|
|
124
|
-
const usageStep = /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1, paddingLeft: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Using ", PRODUCT_NAME, " effectively:"), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: 70 }, /* @__PURE__ */ React.createElement(OrderedList, { children: [] }, /* @__PURE__ */ React.createElement(OrderedList.Item, { children: [] }, /* @__PURE__ */ React.createElement(Text, null, "Start in your project directory", /* @__PURE__ */ React.createElement(Newline, null), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Files are automatically added to context when needed."), /* @__PURE__ */ React.createElement(Newline, null))), /* @__PURE__ */ React.createElement(OrderedList.Item, { children: [] }, /* @__PURE__ */ React.createElement(Text, null, "Use ", PRODUCT_NAME, " as a development partner", /* @__PURE__ */ React.createElement(Newline, null), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Get help with file analysis, editing, bash commands,", /* @__PURE__ */ React.createElement(Newline, null), "and git history.", /* @__PURE__ */ React.createElement(Newline, null)))), /* @__PURE__ */ React.createElement(OrderedList.Item, { children: [] }, /* @__PURE__ */ React.createElement(Text, null, "Provide clear context", /* @__PURE__ */ React.createElement(Newline, null), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Be as specific as you would with another engineer. ", /* @__PURE__ */ React.createElement(Newline, null), "The better the context, the better the results. ", /* @__PURE__ */ React.createElement(Newline, null)))))), /* @__PURE__ */ React.createElement(PressEnterToContinue, null));
|
|
125
|
-
const modelStep = /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1, paddingLeft: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, "Configure your models:"), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", width: 70 }, /* @__PURE__ */ React.createElement(Text, null, "You can customize which models ", PRODUCT_NAME, " uses for different tasks.", /* @__PURE__ */ React.createElement(Newline, null), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Let's set up your preferred models for large and small tasks.")), /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, null, "Press ", /* @__PURE__ */ React.createElement(Text, { color: theme.suggestion }, "Enter"), " to continue to the model selection screen."))), /* @__PURE__ */ React.createElement(PressEnterToContinue, null));
|
|
126
|
-
const steps = [];
|
|
127
|
-
steps.push({ id: "theme", component: themeStep });
|
|
128
|
-
steps.push({ id: "usage", component: usageStep });
|
|
129
|
-
steps.push({ id: "model", component: modelStep });
|
|
130
|
-
if (showModelSelector) {
|
|
131
|
-
return /* @__PURE__ */ React.createElement(
|
|
132
|
-
ModelSelector,
|
|
133
|
-
{
|
|
134
|
-
onDone: handleModelSelectionDone,
|
|
135
|
-
skipModelType: true,
|
|
136
|
-
isOnboarding: true
|
|
137
|
-
}
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1 }, /* @__PURE__ */ React.createElement(Text, { bold: true }, PRODUCT_NAME, " ", exitState.pending ? `(press ${exitState.keyName} again to exit)` : ""), steps[currentStepIndex]?.component)));
|
|
141
|
-
}
|
|
142
|
-
function WelcomeBox() {
|
|
143
|
-
const theme = getTheme();
|
|
144
|
-
return /* @__PURE__ */ React.createElement(
|
|
145
|
-
Box,
|
|
146
|
-
{
|
|
147
|
-
borderColor: theme.minto,
|
|
148
|
-
borderStyle: "round",
|
|
149
|
-
paddingX: 1,
|
|
150
|
-
width: MIN_LOGO_WIDTH
|
|
151
|
-
},
|
|
152
|
-
/* @__PURE__ */ React.createElement(Text, null, /* @__PURE__ */ React.createElement(Text, { color: theme.minto }, "\u273B"), " Welcome to", " ", /* @__PURE__ */ React.createElement(Text, { bold: true }, PRODUCT_NAME), " research preview!")
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
export {
|
|
156
|
-
Onboarding,
|
|
157
|
-
WelcomeBox
|
|
158
|
-
};
|
|
159
|
-
//# sourceMappingURL=Onboarding.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/Onboarding.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useState } from 'react'\nimport { PRODUCT_NAME } from '@constants/product'\nimport { Box, Newline, Text, useInput } from 'ink'\nimport {\n getGlobalConfig,\n saveGlobalConfig,\n DEFAULT_GLOBAL_CONFIG,\n ProviderType,\n} from '@utils/config'\nimport { OrderedList } from '@inkjs/ui'\nimport { useExitOnCtrlCD } from '@hooks/useExitOnCtrlCD'\nimport { MIN_LOGO_WIDTH } from './Logo'\nimport { Select } from './CustomSelect/select'\nimport { StructuredDiff } from './StructuredDiff'\nimport { getTheme, type ThemeNames } from '@utils/theme'\nimport { clearTerminal } from '@utils/terminal'\nimport { PressEnterToContinue } from './PressEnterToContinue'\nimport { ModelSelector } from './ModelSelector'\nimport { SEMANTIC_COLORS } from '@constants/colors'\ntype StepId = 'theme' | 'usage' | 'providers' | 'model'\n\ninterface OnboardingStep {\n id: StepId\n component: React.ReactNode\n}\n\ntype Props = {\n onDone(): void\n}\n\nexport function Onboarding({ onDone }: Props): React.ReactNode {\n const [currentStepIndex, setCurrentStepIndex] = useState(0)\n const [showModelSelector, setShowModelSelector] = useState(false)\n const config = getGlobalConfig()\n\n const [selectedTheme, setSelectedTheme] = useState(\n DEFAULT_GLOBAL_CONFIG.theme,\n )\n const theme = getTheme()\n function goToNextStep() {\n if (currentStepIndex < steps.length - 1) {\n const nextIndex = currentStepIndex + 1\n setCurrentStepIndex(nextIndex)\n }\n }\n\n function handleThemeSelection(newTheme: string) {\n saveGlobalConfig({\n ...config,\n theme: newTheme as ThemeNames,\n })\n goToNextStep()\n }\n\n function handleThemePreview(newTheme: string) {\n setSelectedTheme(newTheme as ThemeNames)\n }\n\n function handleProviderSelectionDone() {\n // After model selection is done, go to the next step\n goToNextStep()\n }\n\n function handleModelSelectionDone() {\n // After final model selection is done, complete onboarding\n onDone()\n }\n\n // Disable exit handler when showing ModelSelector to prevent listener accumulation\n const exitState = useExitOnCtrlCD(() => process.exit(0), {\n isActive: !showModelSelector,\n })\n\n // Only listen when not showing ModelSelector\n useInput(\n async (_, key) => {\n const currentStep = steps[currentStepIndex]\n if (\n key.return &&\n currentStep &&\n ['usage', 'providers', 'model'].includes(currentStep.id)\n ) {\n if (currentStep.id === 'model') {\n // Navigate to ModelSelector component\n setShowModelSelector(true)\n } else if (currentStepIndex === steps.length - 1) {\n onDone()\n } else {\n // HACK: for some reason there's now a jump here otherwise :(\n await clearTerminal()\n goToNextStep()\n }\n }\n },\n { isActive: !showModelSelector },\n )\n\n // Define all onboarding steps\n const themeStep = (\n <Box flexDirection=\"column\" gap={1} paddingLeft={1}>\n <Text>Let's get started.</Text>\n <Box flexDirection=\"column\">\n <Text bold>Choose the option that looks best when you select it:</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n To change this later, run /config\n </Text>\n </Box>\n <Select\n options={[\n { label: 'Light text', value: 'dark' },\n { label: 'Dark text', value: 'light' },\n {\n label: 'Light text (colorblind-friendly)',\n value: 'dark-daltonized',\n },\n {\n label: 'Dark text (colorblind-friendly)',\n value: 'light-daltonized',\n },\n ]}\n onFocus={handleThemePreview}\n onChange={handleThemeSelection}\n />\n <Box flexDirection=\"column\">\n <Box\n paddingLeft={1}\n marginRight={1}\n borderStyle=\"round\"\n borderColor={SEMANTIC_COLORS.dim}\n flexDirection=\"column\"\n >\n <StructuredDiff\n patch={{\n oldStart: 1,\n newStart: 1,\n oldLines: 3,\n newLines: 3,\n lines: [\n 'function greet() {',\n '- console.log(\"Hello, World!\");',\n '+ console.log(\"Hello, anon!\");',\n '}',\n ],\n }}\n dim={false}\n width={40}\n overrideTheme={selectedTheme}\n />\n </Box>\n </Box>\n </Box>\n )\n\n const providersStep = (\n <Box flexDirection=\"column\" gap={1} paddingLeft={1}>\n <Box flexDirection=\"column\" width={70}>\n <Text color={theme.secondaryText}>\n Next, let's select your preferred AI provider and model.\n </Text>\n </Box>\n <ModelSelector\n onDone={handleProviderSelectionDone}\n skipModelType={true}\n isOnboarding={true}\n />\n </Box>\n )\n\n const usageStep = (\n <Box flexDirection=\"column\" gap={1} paddingLeft={1}>\n <Text bold>Using {PRODUCT_NAME} effectively:</Text>\n <Box flexDirection=\"column\" width={70}>\n <OrderedList children={[]}>\n <OrderedList.Item children={[]}>\n <Text>\n Start in your project directory\n <Newline />\n <Text color={theme.secondaryText}>\n Files are automatically added to context when needed.\n </Text>\n <Newline />\n </Text>\n </OrderedList.Item>\n <OrderedList.Item children={[]}>\n <Text>\n Use {PRODUCT_NAME} as a development partner\n <Newline />\n <Text color={theme.secondaryText}>\n Get help with file analysis, editing, bash commands,\n <Newline />\n and git history.\n <Newline />\n </Text>\n </Text>\n </OrderedList.Item>\n <OrderedList.Item children={[]}>\n <Text>\n Provide clear context\n <Newline />\n <Text color={theme.secondaryText}>\n Be as specific as you would with another engineer. <Newline />\n The better the context, the better the results. <Newline />\n </Text>\n </Text>\n </OrderedList.Item>\n </OrderedList>\n </Box>\n <PressEnterToContinue />\n </Box>\n )\n\n const modelStep = (\n <Box flexDirection=\"column\" gap={1} paddingLeft={1}>\n <Text bold>Configure your models:</Text>\n <Box flexDirection=\"column\" width={70}>\n <Text>\n You can customize which models {PRODUCT_NAME} uses for different\n tasks.\n <Newline />\n <Text color={theme.secondaryText}>\n Let's set up your preferred models for large and small tasks.\n </Text>\n </Text>\n <Box marginTop={1}>\n <Text>\n Press <Text color={theme.suggestion}>Enter</Text> to continue to the\n model selection screen.\n </Text>\n </Box>\n </Box>\n <PressEnterToContinue />\n </Box>\n )\n\n const steps: OnboardingStep[] = []\n steps.push({ id: 'theme', component: themeStep })\n steps.push({ id: 'usage', component: usageStep })\n\n steps.push({ id: 'model', component: modelStep })\n\n // If we're showing the model selector screen, render it directly\n if (showModelSelector) {\n return (\n <ModelSelector\n onDone={handleModelSelectionDone}\n skipModelType={true}\n isOnboarding={true}\n />\n )\n }\n\n return (\n <Box flexDirection=\"column\" gap={1}>\n <>\n <Box flexDirection=\"column\" gap={1}>\n <Text bold>\n {PRODUCT_NAME}{' '}\n {exitState.pending\n ? `(press ${exitState.keyName} again to exit)`\n : ''}\n </Text>\n {steps[currentStepIndex]?.component}\n </Box>\n </>\n </Box>\n )\n}\n\nexport function WelcomeBox(): React.ReactNode {\n const theme = getTheme()\n return (\n <Box\n borderColor={theme.minto}\n borderStyle=\"round\"\n paddingX={1}\n width={MIN_LOGO_WIDTH}\n >\n <Text>\n <Text color={theme.minto}>\u273B</Text> Welcome to{' '}\n <Text bold>{PRODUCT_NAME}</Text> research preview!\n </Text>\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import React, { memo } from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { SEMANTIC_COLORS } from "../constants/colors.js";
|
|
4
|
-
const Section = memo(function Section2({
|
|
5
|
-
icon,
|
|
6
|
-
title,
|
|
7
|
-
count,
|
|
8
|
-
hint,
|
|
9
|
-
children
|
|
10
|
-
}) {
|
|
11
|
-
if (count === 0) return null;
|
|
12
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.secondary }, icon, " "), /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.secondary }, title), /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.brand }, " ", count), hint && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, " (", hint, ")")), children);
|
|
13
|
-
});
|
|
14
|
-
const FileList = memo(function FileList2({ files, maxToShow }) {
|
|
15
|
-
const displayFiles = files.slice(0, maxToShow);
|
|
16
|
-
const remaining = files.length - maxToShow;
|
|
17
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", paddingLeft: 2 }, displayFiles.map((file, idx) => /* @__PURE__ */ React.createElement(React.Fragment, { key: `${file}-${idx}` }, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, formatFilePath(file)))), remaining > 0 && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, "...and ", remaining, " more"));
|
|
18
|
-
});
|
|
19
|
-
const ModifiedFileList = memo(function ModifiedFileList2({
|
|
20
|
-
files,
|
|
21
|
-
maxToShow
|
|
22
|
-
}) {
|
|
23
|
-
const displayFiles = files.slice(0, maxToShow);
|
|
24
|
-
const remaining = files.length - maxToShow;
|
|
25
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", paddingLeft: 2 }, displayFiles.map((file, idx) => /* @__PURE__ */ React.createElement(Box, { key: `${file.path}-${idx}`, flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, formatFilePath(file.path), " "), (file.added > 0 || file.removed > 0) && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, "(", file.added > 0 && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.success }, "+", file.added), file.added > 0 && file.removed > 0 && /* @__PURE__ */ React.createElement(Text, null, "/"), file.removed > 0 && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.error }, "-", file.removed), ")"))), remaining > 0 && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, "...and ", remaining, " more"));
|
|
26
|
-
});
|
|
27
|
-
const CommandList = memo(function CommandList2({
|
|
28
|
-
commands,
|
|
29
|
-
maxToShow
|
|
30
|
-
}) {
|
|
31
|
-
const displayCommands = commands.slice(0, maxToShow);
|
|
32
|
-
const remaining = commands.length - maxToShow;
|
|
33
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", paddingLeft: 2 }, displayCommands.map((cmd, idx) => /* @__PURE__ */ React.createElement(React.Fragment, { key: `cmd-${idx}` }, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, truncateCommand(cmd, 60)))), remaining > 0 && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, "...and ", remaining, " more"));
|
|
34
|
-
});
|
|
35
|
-
function formatFilePath(filePath) {
|
|
36
|
-
const parts = filePath.split("/");
|
|
37
|
-
if (parts.length <= 2) return filePath;
|
|
38
|
-
return ".../" + parts.slice(-2).join("/");
|
|
39
|
-
}
|
|
40
|
-
function truncateCommand(command, maxLength) {
|
|
41
|
-
const normalized = command.replace(/\s+/g, " ").trim();
|
|
42
|
-
if (normalized.length <= maxLength) return normalized;
|
|
43
|
-
return normalized.slice(0, maxLength - 1) + "...";
|
|
44
|
-
}
|
|
45
|
-
function hasSummaryContent(summary) {
|
|
46
|
-
return summary.filesRead.length > 0 || summary.filesModified.length > 0 || summary.filesCreated.length > 0 || summary.commandsRun.length > 0 || summary.tasksCompleted > 0 || summary.webSearches > 0;
|
|
47
|
-
}
|
|
48
|
-
const OperationSummary = memo(function OperationSummary2({
|
|
49
|
-
summary,
|
|
50
|
-
showUndo = false,
|
|
51
|
-
maxFilesToShow = 3,
|
|
52
|
-
maxCommandsToShow = 5
|
|
53
|
-
}) {
|
|
54
|
-
if (!hasSummaryContent(summary)) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
const totalModifiedStats = summary.filesModified.reduce(
|
|
58
|
-
(acc, file) => ({
|
|
59
|
-
added: acc.added + file.added,
|
|
60
|
-
removed: acc.removed + file.removed
|
|
61
|
-
}),
|
|
62
|
-
{ added: 0, removed: 0 }
|
|
63
|
-
);
|
|
64
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.brand, bold: true }, "Session Summary"), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, summary.filesRead.length > 0 && /* @__PURE__ */ React.createElement(
|
|
65
|
-
Section,
|
|
66
|
-
{
|
|
67
|
-
icon: "[read]",
|
|
68
|
-
title: "Files read:",
|
|
69
|
-
count: summary.filesRead.length
|
|
70
|
-
},
|
|
71
|
-
/* @__PURE__ */ React.createElement(FileList, { files: summary.filesRead, maxToShow: maxFilesToShow })
|
|
72
|
-
), summary.filesModified.length > 0 && /* @__PURE__ */ React.createElement(
|
|
73
|
-
Section,
|
|
74
|
-
{
|
|
75
|
-
icon: "[edit]",
|
|
76
|
-
title: "Files modified:",
|
|
77
|
-
count: summary.filesModified.length,
|
|
78
|
-
hint: showUndo ? `/undo to revert${totalModifiedStats.added > 0 || totalModifiedStats.removed > 0 ? ` | +${totalModifiedStats.added}/-${totalModifiedStats.removed}` : ""}` : totalModifiedStats.added > 0 || totalModifiedStats.removed > 0 ? `+${totalModifiedStats.added}/-${totalModifiedStats.removed}` : void 0
|
|
79
|
-
},
|
|
80
|
-
/* @__PURE__ */ React.createElement(
|
|
81
|
-
ModifiedFileList,
|
|
82
|
-
{
|
|
83
|
-
files: summary.filesModified,
|
|
84
|
-
maxToShow: maxFilesToShow
|
|
85
|
-
}
|
|
86
|
-
)
|
|
87
|
-
), summary.filesCreated.length > 0 && /* @__PURE__ */ React.createElement(
|
|
88
|
-
Section,
|
|
89
|
-
{
|
|
90
|
-
icon: "[new]",
|
|
91
|
-
title: "Files created:",
|
|
92
|
-
count: summary.filesCreated.length
|
|
93
|
-
},
|
|
94
|
-
/* @__PURE__ */ React.createElement(FileList, { files: summary.filesCreated, maxToShow: maxFilesToShow })
|
|
95
|
-
), summary.commandsRun.length > 0 && /* @__PURE__ */ React.createElement(
|
|
96
|
-
Section,
|
|
97
|
-
{
|
|
98
|
-
icon: "[cmd]",
|
|
99
|
-
title: "Commands run:",
|
|
100
|
-
count: summary.commandsRun.length
|
|
101
|
-
},
|
|
102
|
-
/* @__PURE__ */ React.createElement(
|
|
103
|
-
CommandList,
|
|
104
|
-
{
|
|
105
|
-
commands: summary.commandsRun,
|
|
106
|
-
maxToShow: maxCommandsToShow
|
|
107
|
-
}
|
|
108
|
-
)
|
|
109
|
-
), summary.tasksCompleted > 0 && /* @__PURE__ */ React.createElement(
|
|
110
|
-
Section,
|
|
111
|
-
{
|
|
112
|
-
icon: "[task]",
|
|
113
|
-
title: "Tasks completed:",
|
|
114
|
-
count: summary.tasksCompleted
|
|
115
|
-
}
|
|
116
|
-
), summary.webSearches > 0 && /* @__PURE__ */ React.createElement(
|
|
117
|
-
Section,
|
|
118
|
-
{
|
|
119
|
-
icon: "[web]",
|
|
120
|
-
title: "Web searches:",
|
|
121
|
-
count: summary.webSearches
|
|
122
|
-
}
|
|
123
|
-
)));
|
|
124
|
-
});
|
|
125
|
-
var OperationSummary_default = OperationSummary;
|
|
126
|
-
export {
|
|
127
|
-
OperationSummary,
|
|
128
|
-
OperationSummary_default as default
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=OperationSummary.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/OperationSummary.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * Operation Summary Component\n *\n * Displays a summary of operations performed during a session.\n * Shows files read, modified, created, and commands run in a compact format.\n *\n * Usage:\n * ```tsx\n * import { OperationSummary } from '@components/OperationSummary'\n * import { getOperationSummary } from '@core/operationTracker'\n *\n * const summary = getOperationSummary()\n * <OperationSummary summary={summary} showUndo={true} />\n * ```\n */\n\nimport React, { memo } from 'react'\nimport { Box, Text } from 'ink'\nimport { SEMANTIC_COLORS } from '@constants/colors'\nimport type { OperationSummary as OperationSummaryType } from '@core/operationTracker'\n\n// ============================================================================\n// Types\n// ============================================================================\n\ninterface OperationSummaryProps {\n /** Aggregated summary of operations */\n summary: OperationSummaryType\n\n /** Show /undo hint when true (for file modifications) */\n showUndo?: boolean\n\n /** Maximum number of files to show in each category */\n maxFilesToShow?: number\n\n /** Maximum number of commands to show */\n maxCommandsToShow?: number\n}\n\n// ============================================================================\n// Helper Components\n// ============================================================================\n\ninterface SectionProps {\n icon: string\n title: string\n count: number\n hint?: string\n children?: React.ReactNode\n}\n\n/**\n * Section header with icon, title, count, and optional hint\n */\nconst Section = memo(function Section({\n icon,\n title,\n count,\n hint,\n children,\n}: SectionProps) {\n if (count === 0) return null\n\n return (\n <Box flexDirection=\"column\">\n <Box flexDirection=\"row\">\n <Text color={SEMANTIC_COLORS.secondary}>{icon} </Text>\n <Text color={SEMANTIC_COLORS.secondary}>{title}</Text>\n <Text color={SEMANTIC_COLORS.brand}> {count}</Text>\n {hint && <Text color={SEMANTIC_COLORS.muted}> ({hint})</Text>}\n </Box>\n {children}\n </Box>\n )\n})\n\ninterface FileListProps {\n files: string[]\n maxToShow: number\n}\n\n/**\n * List of file paths with truncation\n */\nconst FileList = memo(function FileList({ files, maxToShow }: FileListProps) {\n const displayFiles = files.slice(0, maxToShow)\n const remaining = files.length - maxToShow\n\n return (\n <Box flexDirection=\"column\" paddingLeft={2}>\n {displayFiles.map((file, idx) => (\n <React.Fragment key={`${file}-${idx}`}>\n <Text color={SEMANTIC_COLORS.dim}>{formatFilePath(file)}</Text>\n </React.Fragment>\n ))}\n {remaining > 0 && (\n <Text color={SEMANTIC_COLORS.muted}>...and {remaining} more</Text>\n )}\n </Box>\n )\n})\n\ninterface ModifiedFileListProps {\n files: { path: string; added: number; removed: number }[]\n maxToShow: number\n}\n\n/**\n * List of modified files with +added/-removed stats\n */\nconst ModifiedFileList = memo(function ModifiedFileList({\n files,\n maxToShow,\n}: ModifiedFileListProps) {\n const displayFiles = files.slice(0, maxToShow)\n const remaining = files.length - maxToShow\n\n return (\n <Box flexDirection=\"column\" paddingLeft={2}>\n {displayFiles.map((file, idx) => (\n <Box key={`${file.path}-${idx}`} flexDirection=\"row\">\n <Text color={SEMANTIC_COLORS.dim}>{formatFilePath(file.path)} </Text>\n {(file.added > 0 || file.removed > 0) && (\n <Text color={SEMANTIC_COLORS.muted}>\n (\n {file.added > 0 && (\n <Text color={SEMANTIC_COLORS.success}>+{file.added}</Text>\n )}\n {file.added > 0 && file.removed > 0 && <Text>/</Text>}\n {file.removed > 0 && (\n <Text color={SEMANTIC_COLORS.error}>-{file.removed}</Text>\n )}\n )\n </Text>\n )}\n </Box>\n ))}\n {remaining > 0 && (\n <Text color={SEMANTIC_COLORS.muted}>...and {remaining} more</Text>\n )}\n </Box>\n )\n})\n\ninterface CommandListProps {\n commands: string[]\n maxToShow: number\n}\n\n/**\n * List of commands with truncation\n */\nconst CommandList = memo(function CommandList({\n commands,\n maxToShow,\n}: CommandListProps) {\n const displayCommands = commands.slice(0, maxToShow)\n const remaining = commands.length - maxToShow\n\n return (\n <Box flexDirection=\"column\" paddingLeft={2}>\n {displayCommands.map((cmd, idx) => (\n <React.Fragment key={`cmd-${idx}`}>\n <Text color={SEMANTIC_COLORS.dim}>{truncateCommand(cmd, 60)}</Text>\n </React.Fragment>\n ))}\n {remaining > 0 && (\n <Text color={SEMANTIC_COLORS.muted}>...and {remaining} more</Text>\n )}\n </Box>\n )\n})\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Format a file path for display\n * Shows only the last 2 path components for brevity\n */\nfunction formatFilePath(filePath: string): string {\n const parts = filePath.split('/')\n if (parts.length <= 2) return filePath\n return '.../' + parts.slice(-2).join('/')\n}\n\n/**\n * Truncate a command string for display\n */\nfunction truncateCommand(command: string, maxLength: number): string {\n // Remove newlines and normalize whitespace\n const normalized = command.replace(/\\s+/g, ' ').trim()\n if (normalized.length <= maxLength) return normalized\n return normalized.slice(0, maxLength - 1) + '...'\n}\n\n/**\n * Check if summary has any operations\n */\nfunction hasSummaryContent(summary: OperationSummaryType): boolean {\n return (\n summary.filesRead.length > 0 ||\n summary.filesModified.length > 0 ||\n summary.filesCreated.length > 0 ||\n summary.commandsRun.length > 0 ||\n summary.tasksCompleted > 0 ||\n summary.webSearches > 0\n )\n}\n\n// ============================================================================\n// Main Component\n// ============================================================================\n\n/**\n * Operation Summary Component\n *\n * Displays a compact summary of all operations performed during a session.\n */\nexport const OperationSummary = memo(function OperationSummary({\n summary,\n showUndo = false,\n maxFilesToShow = 3,\n maxCommandsToShow = 5,\n}: OperationSummaryProps) {\n // Don't render if no operations\n if (!hasSummaryContent(summary)) {\n return null\n }\n\n const totalModifiedStats = summary.filesModified.reduce(\n (acc, file) => ({\n added: acc.added + file.added,\n removed: acc.removed + file.removed,\n }),\n { added: 0, removed: 0 },\n )\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n {/* Header */}\n <Text color={SEMANTIC_COLORS.brand} bold>\n Session Summary\n </Text>\n\n <Box flexDirection=\"column\" marginTop={1}>\n {/* Files Read */}\n {summary.filesRead.length > 0 && (\n <Section\n icon=\"[read]\"\n title=\"Files read:\"\n count={summary.filesRead.length}\n >\n <FileList files={summary.filesRead} maxToShow={maxFilesToShow} />\n </Section>\n )}\n\n {/* Files Modified */}\n {summary.filesModified.length > 0 && (\n <Section\n icon=\"[edit]\"\n title=\"Files modified:\"\n count={summary.filesModified.length}\n hint={\n showUndo\n ? `/undo to revert${totalModifiedStats.added > 0 || totalModifiedStats.removed > 0 ? ` | +${totalModifiedStats.added}/-${totalModifiedStats.removed}` : ''}`\n : totalModifiedStats.added > 0 || totalModifiedStats.removed > 0\n ? `+${totalModifiedStats.added}/-${totalModifiedStats.removed}`\n : undefined\n }\n >\n <ModifiedFileList\n files={summary.filesModified}\n maxToShow={maxFilesToShow}\n />\n </Section>\n )}\n\n {/* Files Created */}\n {summary.filesCreated.length > 0 && (\n <Section\n icon=\"[new]\"\n title=\"Files created:\"\n count={summary.filesCreated.length}\n >\n <FileList files={summary.filesCreated} maxToShow={maxFilesToShow} />\n </Section>\n )}\n\n {/* Commands Run */}\n {summary.commandsRun.length > 0 && (\n <Section\n icon=\"[cmd]\"\n title=\"Commands run:\"\n count={summary.commandsRun.length}\n >\n <CommandList\n commands={summary.commandsRun}\n maxToShow={maxCommandsToShow}\n />\n </Section>\n )}\n\n {/* Tasks Completed */}\n {summary.tasksCompleted > 0 && (\n <Section\n icon=\"[task]\"\n title=\"Tasks completed:\"\n count={summary.tasksCompleted}\n />\n )}\n\n {/* Web Searches */}\n {summary.webSearches > 0 && (\n <Section\n icon=\"[web]\"\n title=\"Web searches:\"\n count={summary.webSearches}\n />\n )}\n </Box>\n </Box>\n )\n})\n\nexport default OperationSummary\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Section", "FileList", "ModifiedFileList", "CommandList", "OperationSummary"]
|
|
7
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { getTheme } from "../utils/theme.js";
|
|
3
|
-
import { Text } from "ink";
|
|
4
|
-
function PressEnterToContinue() {
|
|
5
|
-
return /* @__PURE__ */ React.createElement(Text, { color: getTheme().permission }, "Press ", /* @__PURE__ */ React.createElement(Text, { bold: true }, "Enter"), " or ", /* @__PURE__ */ React.createElement(Text, { bold: true }, "Esc"), " to continue\u2026");
|
|
6
|
-
}
|
|
7
|
-
export {
|
|
8
|
-
PressEnterToContinue
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=PressEnterToContinue.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/PressEnterToContinue.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\nimport { getTheme } from '@utils/theme'\nimport { Text } from 'ink'\n\nexport function PressEnterToContinue(): React.ReactNode {\n return (\n <Text color={getTheme().permission}>\n Press <Text bold>Enter</Text> or <Text bold>Esc</Text> to continue\u2026\n </Text>\n )\n}\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AAEd,SAAS,uBAAwC;AACtD,SACE,oCAAC,QAAK,OAAO,SAAS,EAAE,cAAY,UAC5B,oCAAC,QAAK,MAAI,QAAC,OAAK,GAAO,QAAI,oCAAC,QAAK,MAAI,QAAC,KAAG,GAAO,oBACxD;AAEJ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Box, Text } from "ink";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { useRef } from "react";
|
|
4
|
-
import { getTheme } from "../utils/theme.js";
|
|
5
|
-
import { useUnifiedAnimation } from "../utils/animationManager.js";
|
|
6
|
-
function ProgressBar({
|
|
7
|
-
progress,
|
|
8
|
-
width = 20,
|
|
9
|
-
showPercent = true,
|
|
10
|
-
label,
|
|
11
|
-
indeterminate = false,
|
|
12
|
-
filledChar = "\u2588",
|
|
13
|
-
emptyChar = "\u2591",
|
|
14
|
-
filledColor,
|
|
15
|
-
emptyColor
|
|
16
|
-
}) {
|
|
17
|
-
const theme = getTheme();
|
|
18
|
-
const startTimeRef = useRef(Date.now());
|
|
19
|
-
const { spinnerFrame } = useUnifiedAnimation({
|
|
20
|
-
enabled: indeterminate,
|
|
21
|
-
startTime: startTimeRef.current,
|
|
22
|
-
spinnerFrameCount: width * 2,
|
|
23
|
-
componentId: "progress-bar"
|
|
24
|
-
});
|
|
25
|
-
const clampedProgress = Math.max(0, Math.min(100, progress));
|
|
26
|
-
if (indeterminate) {
|
|
27
|
-
const segmentWidth = Math.ceil(width / 4);
|
|
28
|
-
const effectivePos = spinnerFrame < width ? spinnerFrame : width * 2 - spinnerFrame - segmentWidth;
|
|
29
|
-
const beforeSegment = Math.max(0, effectivePos);
|
|
30
|
-
const afterSegment = Math.max(0, width - effectivePos - segmentWidth);
|
|
31
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, label && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, label, " "), /* @__PURE__ */ React.createElement(Text, { color: emptyColor || theme.dimmedText }, emptyChar.repeat(beforeSegment)), /* @__PURE__ */ React.createElement(Text, { color: filledColor || theme.minto }, filledChar.repeat(Math.min(segmentWidth, width - beforeSegment))), /* @__PURE__ */ React.createElement(Text, { color: emptyColor || theme.dimmedText }, emptyChar.repeat(afterSegment)));
|
|
32
|
-
}
|
|
33
|
-
const filled = Math.round(clampedProgress / 100 * width);
|
|
34
|
-
const empty = width - filled;
|
|
35
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, label && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, label, " "), /* @__PURE__ */ React.createElement(Text, { color: filledColor || theme.success }, filledChar.repeat(filled)), /* @__PURE__ */ React.createElement(Text, { color: emptyColor || theme.dimmedText }, emptyChar.repeat(empty)), showPercent && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " ", Math.round(clampedProgress), "%"));
|
|
36
|
-
}
|
|
37
|
-
function ProgressIndicator({
|
|
38
|
-
progress,
|
|
39
|
-
showText = true
|
|
40
|
-
}) {
|
|
41
|
-
const theme = getTheme();
|
|
42
|
-
const clampedProgress = Math.max(0, Math.min(100, progress));
|
|
43
|
-
const getIndicator = () => {
|
|
44
|
-
if (clampedProgress < 25) return "\u25CB";
|
|
45
|
-
if (clampedProgress < 50) return "\u25D4";
|
|
46
|
-
if (clampedProgress < 75) return "\u25D1";
|
|
47
|
-
if (clampedProgress < 100) return "\u25D5";
|
|
48
|
-
return "\u25CF";
|
|
49
|
-
};
|
|
50
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.minto }, getIndicator()), showText && /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " ", Math.round(clampedProgress), "%"));
|
|
51
|
-
}
|
|
52
|
-
function StepProgress({
|
|
53
|
-
current,
|
|
54
|
-
total,
|
|
55
|
-
labels,
|
|
56
|
-
showLabels = true
|
|
57
|
-
}) {
|
|
58
|
-
const theme = getTheme();
|
|
59
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row", gap: 1 }, Array.from({ length: total }, (_, i) => {
|
|
60
|
-
const stepNum = i + 1;
|
|
61
|
-
const isComplete = stepNum < current;
|
|
62
|
-
const isCurrent = stepNum === current;
|
|
63
|
-
const label = labels?.[i];
|
|
64
|
-
const color = isComplete ? theme.success : isCurrent ? theme.minto : theme.dimmedText;
|
|
65
|
-
const symbol = isComplete ? "\u25CF" : isCurrent ? "\u25D0" : "\u25CB";
|
|
66
|
-
return /* @__PURE__ */ React.createElement(Box, { key: i, flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color }, symbol), showLabels && label && /* @__PURE__ */ React.createElement(Text, { color }, " ", label), i < total - 1 && /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, " \u2192 "));
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
export {
|
|
70
|
-
ProgressBar,
|
|
71
|
-
ProgressIndicator,
|
|
72
|
-
StepProgress
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/ProgressBar.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * ProgressBar - Visual progress indicator for long-running operations\n *\n * Displays progress as a horizontal bar with optional percentage:\n *\n * \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 45%\n *\n * Features:\n * - Configurable width and style\n * - Optional percentage display\n * - Theme-aware colors\n * - Indeterminate mode with animation\n * - Uses unified animation manager to reduce screen flickering\n */\n\nimport { Box, Text } from 'ink'\nimport * as React from 'react'\nimport { useRef } from 'react'\nimport { getTheme } from '@utils/theme'\nimport { useUnifiedAnimation } from '@utils/animationManager'\n\nexport interface ProgressBarProps {\n /** Progress value (0-100) */\n progress: number\n /** Bar width in characters (default: 20) */\n width?: number\n /** Show percentage text (default: true) */\n showPercent?: boolean\n /** Label text to show before the bar */\n label?: string\n /** Indeterminate mode - shows animated bouncing bar */\n indeterminate?: boolean\n /** Custom filled character (default: \u2588) */\n filledChar?: string\n /** Custom empty character (default: \u2591) */\n emptyChar?: string\n /** Color override for filled portion */\n filledColor?: string\n /** Color override for empty portion */\n emptyColor?: string\n}\n\n/**\n * ProgressBar component for displaying operation progress\n *\n * Usage:\n * ```tsx\n * // Basic usage\n * <ProgressBar progress={45} />\n *\n * // With label\n * <ProgressBar progress={75} label=\"Downloading\" />\n *\n * // Indeterminate (unknown progress)\n * <ProgressBar indeterminate />\n *\n * // Custom styling\n * <ProgressBar progress={60} width={30} filledChar=\"\u2593\" emptyChar=\"\u2591\" />\n * ```\n */\nexport function ProgressBar({\n progress,\n width = 20,\n showPercent = true,\n label,\n indeterminate = false,\n filledChar = '\u2588',\n emptyChar = '\u2591',\n filledColor,\n emptyColor,\n}: ProgressBarProps): React.ReactElement {\n const theme = getTheme()\n const startTimeRef = useRef(Date.now())\n\n // Use unified animation manager for indeterminate mode\n // spinnerFrameCount = width * 2 for bouncing animation\n const { spinnerFrame } = useUnifiedAnimation({\n enabled: indeterminate,\n startTime: startTimeRef.current,\n spinnerFrameCount: width * 2,\n componentId: 'progress-bar',\n })\n\n // Calculate bar segments\n const clampedProgress = Math.max(0, Math.min(100, progress))\n\n if (indeterminate) {\n // Indeterminate mode: bouncing segment\n const segmentWidth = Math.ceil(width / 4)\n const effectivePos =\n spinnerFrame < width\n ? spinnerFrame\n : width * 2 - spinnerFrame - segmentWidth\n\n const beforeSegment = Math.max(0, effectivePos)\n const afterSegment = Math.max(0, width - effectivePos - segmentWidth)\n\n return (\n <Box flexDirection=\"row\">\n {label && <Text color={theme.secondaryText}>{label} </Text>}\n <Text color={emptyColor || theme.dimmedText}>\n {emptyChar.repeat(beforeSegment)}\n </Text>\n <Text color={filledColor || theme.minto}>\n {filledChar.repeat(Math.min(segmentWidth, width - beforeSegment))}\n </Text>\n <Text color={emptyColor || theme.dimmedText}>\n {emptyChar.repeat(afterSegment)}\n </Text>\n </Box>\n )\n }\n\n // Determinate mode: fixed progress bar\n const filled = Math.round((clampedProgress / 100) * width)\n const empty = width - filled\n\n return (\n <Box flexDirection=\"row\">\n {label && <Text color={theme.secondaryText}>{label} </Text>}\n <Text color={filledColor || theme.success}>\n {filledChar.repeat(filled)}\n </Text>\n <Text color={emptyColor || theme.dimmedText}>\n {emptyChar.repeat(empty)}\n </Text>\n {showPercent && (\n <Text color={theme.secondaryText}> {Math.round(clampedProgress)}%</Text>\n )}\n </Box>\n )\n}\n\n/**\n * Compact progress indicator for inline use\n * Shows just percentage or a small visual indicator\n */\nexport function ProgressIndicator({\n progress,\n showText = true,\n}: {\n progress: number\n showText?: boolean\n}): React.ReactElement {\n const theme = getTheme()\n const clampedProgress = Math.max(0, Math.min(100, progress))\n\n // Visual indicator based on progress ranges\n const getIndicator = () => {\n if (clampedProgress < 25) return '\u25CB'\n if (clampedProgress < 50) return '\u25D4'\n if (clampedProgress < 75) return '\u25D1'\n if (clampedProgress < 100) return '\u25D5'\n return '\u25CF'\n }\n\n return (\n <Box flexDirection=\"row\">\n <Text color={theme.minto}>{getIndicator()}</Text>\n {showText && (\n <Text color={theme.secondaryText}> {Math.round(clampedProgress)}%</Text>\n )}\n </Box>\n )\n}\n\n/**\n * Step progress indicator for multi-step operations\n *\n * Usage:\n * ```tsx\n * <StepProgress current={2} total={5} labels={['Parse', 'Analyze', 'Transform', 'Generate', 'Complete']} />\n * ```\n */\nexport function StepProgress({\n current,\n total,\n labels,\n showLabels = true,\n}: {\n current: number\n total: number\n labels?: string[]\n showLabels?: boolean\n}): React.ReactElement {\n const theme = getTheme()\n\n return (\n <Box flexDirection=\"row\" gap={1}>\n {Array.from({ length: total }, (_, i) => {\n const stepNum = i + 1\n const isComplete = stepNum < current\n const isCurrent = stepNum === current\n const label = labels?.[i]\n\n const color = isComplete\n ? theme.success\n : isCurrent\n ? theme.minto\n : theme.dimmedText\n\n const symbol = isComplete ? '\u25CF' : isCurrent ? '\u25D0' : '\u25CB'\n\n return (\n <Box key={i} flexDirection=\"row\">\n <Text color={color}>{symbol}</Text>\n {showLabels && label && <Text color={color}> {label}</Text>}\n {i < total - 1 && <Text color={theme.dimmedText}> \u2192 </Text>}\n </Box>\n )\n })}\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { OrderedList } from "@inkjs/ui";
|
|
3
|
-
import { Box, Text } from "ink";
|
|
4
|
-
import {
|
|
5
|
-
getCurrentProjectConfig,
|
|
6
|
-
getGlobalConfig,
|
|
7
|
-
saveCurrentProjectConfig,
|
|
8
|
-
saveGlobalConfig
|
|
9
|
-
} from "../utils/config.js";
|
|
10
|
-
import { existsSync } from "fs";
|
|
11
|
-
import { join } from "path";
|
|
12
|
-
import { homedir } from "os";
|
|
13
|
-
import terminalSetup from "../commands/terminalSetup.js";
|
|
14
|
-
import { getTheme } from "../utils/theme.js";
|
|
15
|
-
import { RELEASE_NOTES } from "../constants/releaseNotes.js";
|
|
16
|
-
import { gt } from "semver";
|
|
17
|
-
import { isDirEmpty } from "../utils/file.js";
|
|
18
|
-
import { MACRO } from "../constants/macros.js";
|
|
19
|
-
import { PROJECT_FILE, PRODUCT_NAME } from "../constants/product.js";
|
|
20
|
-
function markProjectOnboardingComplete() {
|
|
21
|
-
const projectConfig = getCurrentProjectConfig();
|
|
22
|
-
if (!projectConfig.hasCompletedProjectOnboarding) {
|
|
23
|
-
saveCurrentProjectConfig({
|
|
24
|
-
...projectConfig,
|
|
25
|
-
hasCompletedProjectOnboarding: true
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function markReleaseNotesSeen() {
|
|
30
|
-
const config = getGlobalConfig();
|
|
31
|
-
saveGlobalConfig({
|
|
32
|
-
...config,
|
|
33
|
-
lastReleaseNotesSeen: MACRO.VERSION
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function ProjectOnboarding({
|
|
37
|
-
workspaceDir
|
|
38
|
-
}) {
|
|
39
|
-
const projectConfig = getCurrentProjectConfig();
|
|
40
|
-
const showOnboarding = !projectConfig.hasCompletedProjectOnboarding;
|
|
41
|
-
const config = getGlobalConfig();
|
|
42
|
-
const previousVersion = config.lastReleaseNotesSeen;
|
|
43
|
-
let releaseNotesToShow = [];
|
|
44
|
-
if (!previousVersion || gt(MACRO.VERSION, previousVersion)) {
|
|
45
|
-
releaseNotesToShow = RELEASE_NOTES[MACRO.VERSION] || [];
|
|
46
|
-
}
|
|
47
|
-
const hasReleaseNotes = releaseNotesToShow.length > 0;
|
|
48
|
-
React.useEffect(() => {
|
|
49
|
-
if (hasReleaseNotes && !showOnboarding) {
|
|
50
|
-
markReleaseNotesSeen();
|
|
51
|
-
}
|
|
52
|
-
}, [hasReleaseNotes, showOnboarding]);
|
|
53
|
-
if (!showOnboarding && !hasReleaseNotes) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
const workspaceHasProjectGuide = existsSync(join(workspaceDir, PROJECT_FILE));
|
|
57
|
-
const isWorkspaceDirEmpty = isDirEmpty(workspaceDir);
|
|
58
|
-
const shouldRecommendProjectGuide = !workspaceHasProjectGuide && !isWorkspaceDirEmpty;
|
|
59
|
-
const showTerminalTip = terminalSetup.isEnabled && !getGlobalConfig().shiftEnterKeyBindingInstalled;
|
|
60
|
-
const theme = getTheme();
|
|
61
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 1, padding: 1, paddingBottom: 0 }, showOnboarding && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Tips for getting started:"), /* @__PURE__ */ React.createElement(OrderedList, null, (() => {
|
|
62
|
-
const items = [];
|
|
63
|
-
if (isWorkspaceDirEmpty) {
|
|
64
|
-
items.push(
|
|
65
|
-
/* @__PURE__ */ React.createElement(React.Fragment, { key: "workspace" }, /* @__PURE__ */ React.createElement(OrderedList.Item, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Ask ", PRODUCT_NAME, " to create a new app or clone a repository.")))
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
if (shouldRecommendProjectGuide) {
|
|
69
|
-
items.push(
|
|
70
|
-
/* @__PURE__ */ React.createElement(React.Fragment, { key: "projectGuide" }, /* @__PURE__ */ React.createElement(OrderedList.Item, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Run ", /* @__PURE__ */ React.createElement(Text, { color: theme.text }, "/init"), " to create a\xA0", PROJECT_FILE, " file with instructions for ", PRODUCT_NAME, ".")))
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
if (showTerminalTip) {
|
|
74
|
-
items.push(
|
|
75
|
-
/* @__PURE__ */ React.createElement(React.Fragment, { key: "terminal" }, /* @__PURE__ */ React.createElement(OrderedList.Item, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Run ", /* @__PURE__ */ React.createElement(Text, { color: theme.text }, "/terminal-setup"), /* @__PURE__ */ React.createElement(Text, { bold: false }, " ", "to set up terminal integration"))))
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
items.push(
|
|
79
|
-
/* @__PURE__ */ React.createElement(React.Fragment, { key: "questions" }, /* @__PURE__ */ React.createElement(OrderedList.Item, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Ask ", PRODUCT_NAME, " questions about your codebase.")))
|
|
80
|
-
);
|
|
81
|
-
items.push(
|
|
82
|
-
/* @__PURE__ */ React.createElement(React.Fragment, { key: "changes" }, /* @__PURE__ */ React.createElement(OrderedList.Item, null, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, "Ask ", PRODUCT_NAME, " to implement changes to your codebase.")))
|
|
83
|
-
);
|
|
84
|
-
return items;
|
|
85
|
-
})())), !showOnboarding && hasReleaseNotes && /* @__PURE__ */ React.createElement(
|
|
86
|
-
Box,
|
|
87
|
-
{
|
|
88
|
-
borderColor: getTheme().secondaryBorder,
|
|
89
|
-
flexDirection: "column",
|
|
90
|
-
marginRight: 1
|
|
91
|
-
},
|
|
92
|
-
/* @__PURE__ */ React.createElement(Box, { flexDirection: "column", gap: 0 }, /* @__PURE__ */ React.createElement(Box, { marginBottom: 1 }, /* @__PURE__ */ React.createElement(Text, null, "\u{1F195} What's new in v", MACRO.VERSION, ":")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginLeft: 1 }, releaseNotesToShow.map((note, noteIndex) => /* @__PURE__ */ React.createElement(React.Fragment, { key: noteIndex }, /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "\u2022 ", note)))))
|
|
93
|
-
), workspaceDir === homedir() && /* @__PURE__ */ React.createElement(Text, { color: getTheme().warning }, "Note: You have launched ", /* @__PURE__ */ React.createElement(Text, { bold: true }, "anon-code"), " in your home directory. For the best experience, launch it in a project directory instead."));
|
|
94
|
-
}
|
|
95
|
-
export {
|
|
96
|
-
ProjectOnboarding as default,
|
|
97
|
-
markProjectOnboardingComplete
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=ProjectOnboarding.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/ProjectOnboarding.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\nimport { OrderedList } from '@inkjs/ui'\nimport { Box, Text } from 'ink'\nimport {\n getCurrentProjectConfig,\n getGlobalConfig,\n saveCurrentProjectConfig,\n saveGlobalConfig,\n} from '@utils/config'\nimport { existsSync } from 'fs'\nimport { join } from 'path'\nimport { homedir } from 'os'\nimport terminalSetup from '@commands/terminalSetup'\nimport { getTheme } from '@utils/theme'\nimport { RELEASE_NOTES } from '@constants/releaseNotes'\nimport { gt } from 'semver'\nimport { isDirEmpty } from '@utils/file'\nimport { MACRO } from '@constants/macros'\nimport { PROJECT_FILE, PRODUCT_NAME } from '@constants/product'\n\n// Function to mark onboarding as complete\nexport function markProjectOnboardingComplete(): void {\n const projectConfig = getCurrentProjectConfig()\n if (!projectConfig.hasCompletedProjectOnboarding) {\n saveCurrentProjectConfig({\n ...projectConfig,\n hasCompletedProjectOnboarding: true,\n })\n }\n}\n\nfunction markReleaseNotesSeen(): void {\n const config = getGlobalConfig()\n saveGlobalConfig({\n ...config,\n lastReleaseNotesSeen: MACRO.VERSION,\n })\n}\n\ntype Props = {\n workspaceDir: string\n}\n\nexport default function ProjectOnboarding({\n workspaceDir,\n}: Props): React.ReactNode {\n // Check if project onboarding has already been completed\n const projectConfig = getCurrentProjectConfig()\n const showOnboarding = !projectConfig.hasCompletedProjectOnboarding\n\n // Get previous version from config\n const config = getGlobalConfig()\n const previousVersion = config.lastReleaseNotesSeen\n\n // Get release notes to show\n let releaseNotesToShow: string[] = []\n if (!previousVersion || gt(MACRO.VERSION, previousVersion)) {\n releaseNotesToShow = RELEASE_NOTES[MACRO.VERSION] || []\n }\n const hasReleaseNotes = releaseNotesToShow.length > 0\n\n // Mark release notes as seen when they're displayed without onboarding\n React.useEffect(() => {\n if (hasReleaseNotes && !showOnboarding) {\n markReleaseNotesSeen()\n }\n }, [hasReleaseNotes, showOnboarding])\n\n // We only want to show either onboarding OR release notes (with preference for onboarding)\n // If there's no onboarding to show and no release notes, return null\n if (!showOnboarding && !hasReleaseNotes) {\n return null\n }\n\n // Load what we need for onboarding\n // NOTE: This whole component is statically rendered Once\n const workspaceHasProjectGuide = existsSync(join(workspaceDir, PROJECT_FILE))\n const isWorkspaceDirEmpty = isDirEmpty(workspaceDir)\n const shouldRecommendProjectGuide =\n !workspaceHasProjectGuide && !isWorkspaceDirEmpty\n const showTerminalTip =\n terminalSetup.isEnabled && !getGlobalConfig().shiftEnterKeyBindingInstalled\n\n const theme = getTheme()\n\n return (\n <Box flexDirection=\"column\" gap={1} padding={1} paddingBottom={0}>\n {showOnboarding && (\n <>\n <Text color={theme.secondaryText}>Tips for getting started:</Text>\n {/* @ts-expect-error - OrderedList children prop issue */}\n <OrderedList>\n {/* Collect all the items that should be displayed */}\n {(() => {\n const items = []\n\n if (isWorkspaceDirEmpty) {\n items.push(\n <React.Fragment key=\"workspace\">\n {/* @ts-expect-error - OrderedList.Item children prop issue */}\n <OrderedList.Item>\n <Text color={theme.secondaryText}>\n Ask {PRODUCT_NAME} to create a new app or clone a\n repository.\n </Text>\n </OrderedList.Item>\n </React.Fragment>,\n )\n }\n if (shouldRecommendProjectGuide) {\n items.push(\n <React.Fragment key=\"projectGuide\">\n {/* @ts-expect-error - OrderedList.Item children prop issue */}\n <OrderedList.Item>\n <Text color={theme.secondaryText}>\n Run <Text color={theme.text}>/init</Text> to create\n a \n {PROJECT_FILE} file with instructions for {PRODUCT_NAME}\n .\n </Text>\n </OrderedList.Item>\n </React.Fragment>,\n )\n }\n\n if (showTerminalTip) {\n items.push(\n <React.Fragment key=\"terminal\">\n {/* @ts-expect-error - OrderedList.Item children prop issue */}\n <OrderedList.Item>\n <Text color={theme.secondaryText}>\n Run <Text color={theme.text}>/terminal-setup</Text>\n <Text bold={false}>\n {' '}\n to set up terminal integration\n </Text>\n </Text>\n </OrderedList.Item>\n </React.Fragment>,\n )\n }\n\n items.push(\n <React.Fragment key=\"questions\">\n {/* @ts-expect-error - OrderedList.Item children prop issue */}\n <OrderedList.Item>\n <Text color={theme.secondaryText}>\n Ask {PRODUCT_NAME} questions about your codebase.\n </Text>\n </OrderedList.Item>\n </React.Fragment>,\n )\n\n items.push(\n <React.Fragment key=\"changes\">\n {/* @ts-expect-error - OrderedList.Item children prop issue */}\n <OrderedList.Item>\n <Text color={theme.secondaryText}>\n Ask {PRODUCT_NAME} to implement changes to your codebase.\n </Text>\n </OrderedList.Item>\n </React.Fragment>,\n )\n\n return items\n })()}\n </OrderedList>\n </>\n )}\n\n {!showOnboarding && hasReleaseNotes && (\n <Box\n borderColor={getTheme().secondaryBorder}\n flexDirection=\"column\"\n marginRight={1}\n >\n <Box flexDirection=\"column\" gap={0}>\n <Box marginBottom={1}>\n <Text>\uD83C\uDD95 What's new in v{MACRO.VERSION}:</Text>\n </Box>\n <Box flexDirection=\"column\" marginLeft={1}>\n {releaseNotesToShow.map((note, noteIndex) => (\n <React.Fragment key={noteIndex}>\n <Text color={getTheme().secondaryText}>\u2022 {note}</Text>\n </React.Fragment>\n ))}\n </Box>\n </Box>\n </Box>\n )}\n\n {workspaceDir === homedir() && (\n <Text color={getTheme().warning}>\n Note: You have launched <Text bold>anon-code</Text> in your home\n directory. For the best experience, launch it in a project directory\n instead.\n </Text>\n )}\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|