@within-7/minto 0.4.2 → 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 +21 -38
- 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 -46
- 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 -41
- 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 -118
- 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/login.js +0 -128
- package/dist/commands/login.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 -119
- 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 -20
- 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 -71
- 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 -174
- 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 -130
- package/dist/commands.js.map +0 -7
- package/dist/components/AgentDetailView.js +0 -126
- package/dist/components/AgentDetailView.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/AgentViewBanner.js +0 -22
- package/dist/components/AgentViewBanner.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 -185
- 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 -154
- package/dist/components/HotkeyHelpPanel.js.map +0 -7
- package/dist/components/IdleNotificationBar.js +0 -10
- package/dist/components/IdleNotificationBar.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 -2103
- 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 -1067
- 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/RewindPanel.js +0 -272
- package/dist/components/RewindPanel.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 -174
- 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/StreamingTextPreview.js +0 -29
- package/dist/components/StreamingTextPreview.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 -197
- 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 -292
- 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/TeamMemberPanel.js +0 -107
- package/dist/components/TeamMemberPanel.js.map +0 -7
- package/dist/components/TextInput.js +0 -108
- package/dist/components/TextInput.js.map +0 -7
- package/dist/components/ThinkingSelector.js +0 -84
- package/dist/components/ThinkingSelector.js.map +0 -7
- package/dist/components/TimelineRenderer.js +0 -31
- package/dist/components/TimelineRenderer.js.map +0 -7
- package/dist/components/TitledDivider.js +0 -26
- package/dist/components/TitledDivider.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 -167
- 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 -41
- 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 -92
- 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 -108
- package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
- package/dist/components/messages/DefaultToolResultFallback.js +0 -11
- package/dist/components/messages/DefaultToolResultFallback.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 -101
- 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/UserGuidanceMessage.js +0 -26
- package/dist/components/messages/UserGuidanceMessage.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 -26
- package/dist/components/messages/UserPromptMessage.js.map +0 -7
- package/dist/components/messages/UserTeamNotificationMessage.js +0 -91
- package/dist/components/messages/UserTeamNotificationMessage.js.map +0 -7
- package/dist/components/messages/UserTextMessage.js +0 -33
- 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 -27
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -64
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -33
- 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 -74
- 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/PlanApprovalRequest.js +0 -164
- package/dist/components/permissions/PlanApprovalRequest.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/agentTeams.js +0 -17
- package/dist/constants/agentTeams.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 -12
- 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 -31
- package/dist/constants/prompts/agentPrompt.js.map +0 -7
- package/dist/constants/prompts/autoMemory.js +0 -39
- package/dist/constants/prompts/autoMemory.js.map +0 -7
- package/dist/constants/prompts/codeConventions.js +0 -15
- package/dist/constants/prompts/codeConventions.js.map +0 -7
- package/dist/constants/prompts/doingTasks.js +0 -34
- package/dist/constants/prompts/doingTasks.js.map +0 -7
- package/dist/constants/prompts/envInfo.js +0 -16
- 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 -100
- package/dist/constants/prompts/index.js.map +0 -7
- package/dist/constants/prompts/taskManagement.js +0 -19
- package/dist/constants/prompts/taskManagement.js.map +0 -7
- package/dist/constants/prompts/teamOverlays.js +0 -50
- package/dist/constants/prompts/teamOverlays.js.map +0 -7
- package/dist/constants/prompts/toneAndStyle.js +0 -37
- package/dist/constants/prompts/toneAndStyle.js.map +0 -7
- package/dist/constants/prompts/toolUsagePolicy.js +0 -23
- 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 -367
- 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/engine/AgentEngine.js +0 -902
- package/dist/engine/AgentEngine.js.map +0 -7
- package/dist/engine/EngineRegistry.js +0 -89
- package/dist/engine/EngineRegistry.js.map +0 -7
- package/dist/engine/foregroundAdapter.js +0 -191
- package/dist/engine/foregroundAdapter.js.map +0 -7
- package/dist/engine/index.js +0 -15
- package/dist/engine/index.js.map +0 -7
- package/dist/engine/types.js +0 -1
- package/dist/engine/types.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 -1721
- 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/useAgentEngine.js +0 -129
- package/dist/hooks/useAgentEngine.js.map +0 -7
- package/dist/hooks/useAgentTokenStats.js +0 -56
- 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 -134
- package/dist/hooks/useCanUseTool.js.map +0 -7
- package/dist/hooks/useDeferredLoading.js +0 -67
- 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/useIdleNotifications.js +0 -66
- package/dist/hooks/useIdleNotifications.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 -57
- package/dist/hooks/useSessionTracking.js.map +0 -7
- package/dist/hooks/useTeamMembers.js +0 -51
- package/dist/hooks/useTeamMembers.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 -993
- 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 -993
- 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 -536
- package/dist/permissions.js.map +0 -7
- package/dist/query.js +0 -851
- 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 -1240
- package/dist/screens/REPL.js.map +0 -7
- package/dist/screens/ResumeConversation.js +0 -244
- 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/backends/headless.js +0 -108
- package/dist/services/agentTeams/backends/headless.js.map +0 -7
- package/dist/services/agentTeams/backends/inProcess.js +0 -102
- package/dist/services/agentTeams/backends/inProcess.js.map +0 -7
- package/dist/services/agentTeams/backends/resolver.js +0 -18
- package/dist/services/agentTeams/backends/resolver.js.map +0 -7
- package/dist/services/agentTeams/backends/tmux.js +0 -168
- package/dist/services/agentTeams/backends/tmux.js.map +0 -7
- package/dist/services/agentTeams/backends/types.js +0 -1
- package/dist/services/agentTeams/backends/types.js.map +0 -7
- package/dist/services/agentTeams/heartbeat.js +0 -88
- package/dist/services/agentTeams/heartbeat.js.map +0 -7
- package/dist/services/agentTeams/index.js +0 -75
- package/dist/services/agentTeams/index.js.map +0 -7
- package/dist/services/agentTeams/injectionChannel.js +0 -105
- package/dist/services/agentTeams/injectionChannel.js.map +0 -7
- package/dist/services/agentTeams/mailbox.js +0 -494
- package/dist/services/agentTeams/mailbox.js.map +0 -7
- package/dist/services/agentTeams/messageFormatter.js +0 -80
- package/dist/services/agentTeams/messageFormatter.js.map +0 -7
- package/dist/services/agentTeams/permissionDelegation.js +0 -71
- package/dist/services/agentTeams/permissionDelegation.js.map +0 -7
- package/dist/services/agentTeams/teamEvents.js +0 -45
- package/dist/services/agentTeams/teamEvents.js.map +0 -7
- package/dist/services/agentTeams/teamManager.js +0 -366
- package/dist/services/agentTeams/teamManager.js.map +0 -7
- package/dist/services/agentTeams/teamTaskStore.js +0 -343
- package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
- package/dist/services/agentTeams/teammateSpawner.js +0 -161
- 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 -771
- 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 -804
- package/dist/services/llm/anthropicProvider.js.map +0 -7
- package/dist/services/llm/dispatch.js +0 -237
- 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 -601
- package/dist/services/llm/openaiProvider.js.map +0 -7
- package/dist/services/llm/types.js +0 -231
- 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 -997
- 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/mintoAuth.js +0 -299
- package/dist/services/mintoAuth.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 -1120
- 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 -236
- package/dist/services/plugins/pluginRuntime.js.map +0 -7
- package/dist/services/plugins/pluginValidation.js +0 -228
- 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 -582
- 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/sessionMemoryInjector.js +0 -77
- package/dist/services/sessionMemoryInjector.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 -815
- 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 -415
- package/dist/services/taskStore.js.map +0 -7
- package/dist/services/topicDetector.js +0 -169
- package/dist/services/topicDetector.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 -420
- 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 -353
- 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 -496
- package/dist/tools/BashTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/utils.js +0 -89
- package/dist/tools/BashTool/utils.js.map +0 -7
- package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js +0 -121
- package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js.map +0 -7
- package/dist/tools/EnterWorktreeTool/prompt.js +0 -22
- package/dist/tools/EnterWorktreeTool/prompt.js.map +0 -7
- package/dist/tools/FileEditTool/FileEditTool.js +0 -278
- package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
- package/dist/tools/FileEditTool/prompt.js +0 -56
- 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 -427
- package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
- package/dist/tools/FileReadTool/prompt.js +0 -24
- 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 -21
- package/dist/tools/FileWriteTool/prompt.js.map +0 -7
- package/dist/tools/GlobTool/GlobTool.js +0 -100
- 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 -417
- 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/MCPSearchTool/MCPSearchTool.js +0 -172
- package/dist/tools/MCPSearchTool/MCPSearchTool.js.map +0 -7
- package/dist/tools/MCPSearchTool/prompt.js +0 -77
- package/dist/tools/MCPSearchTool/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 -47
- 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 -85
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -164
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/prompt.js +0 -43
- 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/SendMessageTool/SendMessageTool.js +0 -341
- package/dist/tools/SendMessageTool/SendMessageTool.js.map +0 -7
- package/dist/tools/SendMessageTool/prompt.js +0 -44
- package/dist/tools/SendMessageTool/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 -58
- 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 -42
- 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 -16
- 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 -1525
- package/dist/tools/TaskTool/TaskTool.js.map +0 -7
- package/dist/tools/TaskTool/constants.js +0 -11
- package/dist/tools/TaskTool/constants.js.map +0 -7
- package/dist/tools/TaskTool/prompt.js +0 -121
- package/dist/tools/TaskTool/prompt.js.map +0 -7
- package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -148
- 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/TeamCreateTool/TeamCreateTool.js +0 -129
- package/dist/tools/TeamCreateTool/TeamCreateTool.js.map +0 -7
- package/dist/tools/TeamCreateTool/prompt.js +0 -58
- package/dist/tools/TeamCreateTool/prompt.js.map +0 -7
- package/dist/tools/TeamDeleteTool/TeamDeleteTool.js +0 -151
- package/dist/tools/TeamDeleteTool/TeamDeleteTool.js.map +0 -7
- package/dist/tools/TeamDeleteTool/prompt.js +0 -16
- package/dist/tools/TeamDeleteTool/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 -234
- 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 -28
- package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/WebSearchTool.js +0 -92
- package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
- package/dist/tools/WebSearchTool/prompt.js +0 -24
- 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 -207
- package/dist/tools.js.map +0 -7
- package/dist/types/PermissionMode.js +0 -160
- 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 -47
- 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 -86
- 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 -248
- 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 -655
- 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 -250
- 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 -80
- 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/atomicWrite.js +0 -23
- package/dist/utils/atomicWrite.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 -203
- package/dist/utils/autoCompactCore.js.map +0 -7
- package/dist/utils/autoMemoryPaths.js +0 -89
- package/dist/utils/autoMemoryPaths.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 -716
- 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 -232
- 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 -51
- 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/dualPath.js +0 -24
- package/dist/utils/dualPath.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 -132
- 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/externalEditor.js +0 -155
- package/dist/utils/externalEditor.js.map +0 -7
- package/dist/utils/file.js +0 -282
- package/dist/utils/file.js.map +0 -7
- package/dist/utils/fileLock.js +0 -67
- package/dist/utils/fileLock.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 -119
- 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 -58
- 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 -142
- 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 -540
- 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 -333
- 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 -464
- 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 -208
- 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 -725
- 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 -313
- 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 -819
- 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 -341
- 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/simpleMode.js +0 -7
- package/dist/utils/simpleMode.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 -62
- 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 -258
- 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 -63
- 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/tokenProgress.js +0 -55
- package/dist/utils/tokenProgress.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 -210
- 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/tooling/toolError.js +0 -12
- package/dist/utils/tooling/toolError.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,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/utils/messages.tsx"],
|
|
4
|
-
"sourcesContent": ["import { createHash, randomUUID, UUID } from 'crypto'\nimport { Box } from 'ink'\nimport {\n AssistantMessage,\n Message,\n ProgressMessage,\n StreamingProgressContent,\n UserMessage,\n} from '@query'\nimport { getCommand, hasCommand } from '@commands'\nimport { MalformedCommandError } from './errors'\nimport { logError } from './log'\nimport { resolve } from 'path'\nimport { last } from 'lodash-es'\nimport { memoizeWithLimit } from './async'\nimport type { SetToolJSXFn, Tool, ToolUseContext } from '@tool'\nimport { lastX } from '@utils/generators'\nimport { NO_CONTENT_MESSAGE } from '@services/claude'\nimport {\n ImageBlockParam,\n TextBlockParam,\n ToolResultBlockParam,\n ToolUseBlockParam,\n Message as APIMessage,\n ContentBlockParam,\n ContentBlock,\n} from '@anthropic-ai/sdk/resources/index.mjs'\nimport { setCwd } from './state'\nimport { getCwd } from './state'\nimport chalk from 'chalk'\nimport * as React from 'react'\nimport { UserBashInputMessage } from '@components/messages/UserBashInputMessage'\nimport { Spinner } from '@components/Spinner'\nimport { StreamingBashOutput } from '@components/StreamingBashOutput'\nimport { BashTool } from '@tools/BashTool/BashTool'\nimport { ToolUseBlock } from '@anthropic-ai/sdk/resources/index.mjs'\n\n// NOTE: Dynamic content processing for custom commands has been moved to\n// src/services/customCommands.ts for better organization and reusability.\n// The functions executeBashCommands and resolveFileReferences are no longer\n// duplicated here but are imported when needed for custom command processing.\n\nexport const INTERRUPT_MESSAGE = '[Request interrupted by user]'\nexport const INTERRUPT_MESSAGE_FOR_TOOL_USE =\n '[Request interrupted by user for tool use]'\nexport const CANCEL_MESSAGE =\n \"The user doesn't want to take this action right now. STOP what you are doing and wait for the user to tell you how to proceed.\"\nexport const REJECT_MESSAGE =\n \"The user doesn't want to proceed with this tool use. The tool use was rejected (eg. if it was a file edit, the new_string was NOT written to the file). STOP what you are doing and wait for the user to tell you how to proceed.\"\nexport const PLAN_REJECT_WITH_FEEDBACK_PREFIX =\n 'User rejected the plan with feedback: '\nexport const NO_RESPONSE_REQUESTED = 'No response requested.'\n\nexport const SYNTHETIC_ASSISTANT_MESSAGES = new Set([\n INTERRUPT_MESSAGE,\n INTERRUPT_MESSAGE_FOR_TOOL_USE,\n CANCEL_MESSAGE,\n REJECT_MESSAGE,\n NO_RESPONSE_REQUESTED,\n])\n\nfunction baseCreateAssistantMessage(\n content: ContentBlock[],\n extra?: Partial<AssistantMessage>,\n): AssistantMessage {\n return {\n type: 'assistant',\n costUSD: 0,\n durationMs: 0,\n uuid: randomUUID(),\n message: {\n id: randomUUID(),\n model: '<synthetic>',\n role: 'assistant',\n stop_reason: 'stop_sequence',\n stop_sequence: '',\n type: 'message',\n usage: {\n input_tokens: 0,\n output_tokens: 0,\n cache_creation_input_tokens: 0,\n cache_read_input_tokens: 0,\n },\n content,\n },\n ...extra,\n }\n}\n\nexport function createAssistantMessage(content: string): AssistantMessage {\n return baseCreateAssistantMessage([\n {\n type: 'text' as const,\n text: content === '' ? NO_CONTENT_MESSAGE : content,\n citations: [],\n },\n ])\n}\n\nexport function createAssistantAPIErrorMessage(\n content: string,\n): AssistantMessage {\n return baseCreateAssistantMessage(\n [\n {\n type: 'text' as const,\n text: content === '' ? NO_CONTENT_MESSAGE : content,\n citations: [],\n },\n ],\n { isApiErrorMessage: true },\n )\n}\n\nexport type FullToolUseResult = {\n data: unknown // Matches tool's `Output` type\n resultForAssistant: ToolResultBlockParam['content']\n /**\n * New messages to add to the conversation from tool execution\n * Used by SlashCommandTool to inject skill-generated messages\n */\n newMessages?: unknown[]\n /**\n * Context modifier for modifying tool execution context\n * Used by SlashCommandTool to apply allowed tools and model switching\n */\n contextModifier?: {\n modifyContext: (ctx: any) => any\n }\n}\n\nexport function createUserMessage(\n content: string | ContentBlockParam[],\n toolUseResult?: FullToolUseResult,\n): UserMessage {\n const m: UserMessage = {\n type: 'user',\n message: {\n role: 'user',\n content,\n },\n uuid: randomUUID(),\n toolUseResult,\n }\n return m\n}\n\nexport function createProgressMessage(\n toolUseID: string,\n siblingToolUseIDs: Set<string>,\n content: AssistantMessage | StreamingProgressContent,\n normalizedMessages: NormalizedMessage[],\n tools: Tool[],\n): ProgressMessage {\n return {\n type: 'progress',\n content,\n normalizedMessages,\n siblingToolUseIDs,\n tools,\n toolUseID,\n uuid: randomUUID(),\n }\n}\n\nexport function createToolResultStopMessage(\n toolUseID: string,\n): ToolResultBlockParam {\n return {\n type: 'tool_result',\n content: CANCEL_MESSAGE,\n is_error: true,\n tool_use_id: toolUseID,\n }\n}\n\nexport async function processUserInput(\n input: string,\n mode: 'bash' | 'prompt' | 'koding',\n setToolJSX: SetToolJSXFn,\n context: ToolUseContext & {\n setForkConvoWithMessagesOnTheNextRender: (\n forkConvoWithMessages: Message[],\n ) => void\n unmount?: () => void\n options?: {\n isKodingRequest?: boolean\n kodingContext?: string\n }\n },\n pastedImage: string | null,\n): Promise<Message[]> {\n // Bash commands\n if (mode === 'bash') {\n const userMessage = createUserMessage(`<bash-input>${input}</bash-input>`)\n\n // Special case: cd\n if (input.startsWith('cd ')) {\n const oldCwd = getCwd()\n const newCwd = resolve(oldCwd, input.slice(3))\n try {\n await setCwd(newCwd)\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>Changed directory to ${chalk.bold(`${newCwd}/`)}</bash-stdout>`,\n ),\n ]\n } catch (e) {\n logError(e)\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stderr>cwd error: ${e instanceof Error ? e.message : String(e)}</bash-stderr>`,\n ),\n ]\n }\n }\n\n // All other bash commands - run in background with streaming output\n const validationResult = await BashTool.validateInput({\n command: input,\n })\n if (!validationResult.result) {\n return [userMessage, createAssistantMessage(validationResult.message)]\n }\n\n // Start command in background to enable streaming\n const { BackgroundShellManager } = await import(\n '@utils/BackgroundShellManager'\n )\n const shellId = BackgroundShellManager.getInstance().create(\n input,\n context.readFileTimestamps ? getCwd() : process.cwd(),\n )\n\n let movedToBackground = false\n let completed = false\n let completionData: {\n stdout: string\n stderr: string\n exitCode: number\n } | null = null\n let resolveWait: (() => void) | null = null\n\n // Show streaming output with Ctrl+B option\n setToolJSX({\n jsx: (\n <StreamingBashOutput\n shellId={shellId}\n command={input}\n onMoveToBackground={() => {\n movedToBackground = true\n setToolJSX(null)\n resolveWait?.()\n }}\n onComplete={(stdout, stderr, exitCode) => {\n completed = true\n completionData = { stdout, stderr, exitCode }\n setToolJSX(null)\n resolveWait?.()\n }}\n />\n ),\n shouldHidePromptInput: false,\n })\n\n // Wait for either completion or move to background (event-driven, no polling)\n await new Promise<void>(resolve => {\n resolveWait = resolve\n // If already completed/moved before we set up the promise, resolve immediately\n if (movedToBackground || completed) {\n resolve()\n }\n })\n\n if (movedToBackground) {\n // Task moved to background - return message about it\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>Command moved to background (shell ID: ${shellId})\\nUse Shift+B to view background tasks</bash-stdout>`,\n ),\n ]\n } else if (completed && completionData) {\n // Task completed normally\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>${completionData.stdout}</bash-stdout><bash-stderr>${completionData.stderr}</bash-stderr>`,\n ),\n ]\n } else {\n // Should not reach here\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stderr>Unexpected error in bash execution</bash-stderr>`,\n ),\n ]\n }\n }\n // Koding mode - special wrapper for display\n else if (mode === 'koding') {\n const userMessage = createUserMessage(\n `<koding-input>${input}</koding-input>`,\n )\n // Add the Koding flag to the message\n userMessage.options = {\n ...userMessage.options,\n isKodingRequest: true,\n }\n\n // Rest of koding processing is handled separately to capture assistant response\n return [userMessage]\n }\n\n // Slash commands\n if (input.startsWith('/')) {\n const words = input.slice(1).split(' ')\n let commandName = words[0]\n if (words.length > 1 && words[1] === '(MCP)') {\n commandName = commandName + ' (MCP)'\n }\n if (!commandName) {\n return [\n createAssistantMessage('Commands are in the form `/command [args]`'),\n ]\n }\n\n // Check if it's a real command before processing\n if (!hasCommand(commandName, context.options.commands)) {\n // If not a real command, treat it as a regular user input\n return [createUserMessage(input)]\n }\n\n const args = input.slice(commandName.length + 2)\n const newMessages = await getMessagesForSlashCommand(\n commandName,\n args,\n setToolJSX,\n context,\n )\n\n // Local JSX commands\n if (newMessages.length === 0) {\n return []\n }\n\n // For invalid commands, preserve both the user message and error\n if (\n newMessages.length === 2 &&\n newMessages[0]!.type === 'user' &&\n newMessages[1]!.type === 'assistant' &&\n typeof newMessages[1]!.message.content === 'string' &&\n newMessages[1]!.message.content.startsWith('Unknown command:')\n ) {\n return newMessages\n }\n\n // User-Assistant pair (eg. local commands)\n if (newMessages.length === 2) {\n return newMessages\n }\n\n // A valid command\n\n return newMessages\n }\n\n // Regular user prompt\n\n // Check if this is a Koding request that needs special handling\n const isKodingRequest = context.options?.isKodingRequest === true\n const kodingContextInfo = context.options?.kodingContext\n\n // Create base message\n let userMessage: UserMessage\n\n if (pastedImage) {\n userMessage = createUserMessage([\n {\n type: 'image',\n source: {\n type: 'base64',\n media_type: 'image/png',\n data: pastedImage,\n },\n },\n {\n type: 'text',\n text:\n isKodingRequest && kodingContextInfo\n ? `${kodingContextInfo}\\n\\n${input}`\n : input,\n },\n ])\n } else {\n let processedInput =\n isKodingRequest && kodingContextInfo\n ? `${kodingContextInfo}\\n\\n${input}`\n : input\n\n // Process dynamic content for custom commands with ! and @ prefixes\n // This uses the same processing functions as custom commands to maintain consistency\n if (input.includes('!`') || input.includes('@')) {\n try {\n // Import functions from customCommands service to avoid code duplication\n const { executeBashCommands } = await import('@services/customCommands')\n\n // Execute bash commands if present\n if (input.includes('!`')) {\n // Note: This function is not exported from customCommands.ts, so we need to expose it\n // For now, we'll keep the local implementation until we refactor the service\n processedInput = await executeBashCommands(processedInput)\n }\n\n // Process mentions for system reminder integration\n // Note: We don't call resolveFileReferences here anymore -\n // @file mentions should trigger Read tool usage via reminders, not embed content\n if (input.includes('@')) {\n const { processMentions } = await import('@services/mentionProcessor')\n await processMentions(input)\n }\n } catch (error) {\n console.warn('Dynamic content processing failed:', error)\n // Continue with original input if processing fails\n }\n }\n\n userMessage = createUserMessage(processedInput)\n }\n\n // Add the Koding flag to the message if needed\n if (isKodingRequest) {\n userMessage.options = {\n ...userMessage.options,\n isKodingRequest: true,\n }\n }\n\n return [userMessage]\n}\n\nasync function getMessagesForSlashCommand(\n commandName: string,\n args: string,\n setToolJSX: SetToolJSXFn,\n context: ToolUseContext & {\n setForkConvoWithMessagesOnTheNextRender: (\n forkConvoWithMessages: Message[],\n ) => void\n unmount?: () => void\n },\n): Promise<Message[]> {\n try {\n const command = getCommand(commandName, context.options.commands)\n switch (command.type) {\n case 'local-jsx': {\n return new Promise(resolve => {\n command\n .call(\n r => {\n setToolJSX(null)\n resolve([\n createUserMessage(`<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`),\n r\n ? createAssistantMessage(r)\n : createAssistantMessage(NO_RESPONSE_REQUESTED),\n ])\n },\n context,\n args,\n )\n .then(jsx => {\n // If call returned null/undefined (e.g. onDone already called synchronously),\n // don't override toolJSX \u2014 it was already cleared by onDone\n if (jsx == null) return\n setToolJSX({\n jsx,\n shouldHidePromptInput: command.hidePromptInput ?? false,\n })\n })\n })\n }\n case 'local': {\n const userMessage =\n createUserMessage(`<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`)\n\n try {\n // Use the context's abortController for local commands\n const result = await command.call(args, {\n ...context,\n options: {\n commands: context.options.commands || [],\n tools: context.options.tools || [],\n slowAndCapableModel:\n context.options.slowAndCapableModel || 'main',\n },\n })\n\n // null return means the command handled its own side effects (e.g. /clear).\n // Show echo messages in the UI but mark them localOnly so they are\n // excluded from API context on the next query.\n if (result === null) {\n const echoUser = createUserMessage(\n `<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`,\n )\n echoUser.localOnly = true\n\n const echoAssistant = createAssistantMessage(\n `<local-command-stdout></local-command-stdout>`,\n )\n echoAssistant.localOnly = true\n\n context.setForkConvoWithMessagesOnTheNextRender([\n echoUser,\n echoAssistant,\n ])\n return []\n }\n\n return [\n userMessage,\n createAssistantMessage(\n `<local-command-stdout>${result}</local-command-stdout>`,\n ),\n ]\n } catch (e) {\n logError(e)\n return [\n userMessage,\n createAssistantMessage(\n `<local-command-stderr>${String(e)}</local-command-stderr>`,\n ),\n ]\n }\n }\n case 'prompt': {\n // For custom commands, process them naturally instead of wrapping in command-contents\n const prompt = await command.getPromptForCommand(args)\n return prompt.map(msg => {\n // Create a normal user message from the custom command content\n const userMessage = createUserMessage(\n typeof msg.content === 'string'\n ? msg.content\n : msg.content\n .map(block => (block.type === 'text' ? block.text : ''))\n .join('\\n'),\n )\n\n // Add metadata for tracking but don't wrap in special tags\n userMessage.options = {\n ...userMessage.options,\n isCustomCommand: true,\n commandName: command.userFacingName(),\n commandArgs: args,\n }\n\n return userMessage\n })\n }\n }\n } catch (e) {\n if (e instanceof MalformedCommandError) {\n return [createAssistantMessage(e.message)]\n }\n throw e\n }\n}\n\nexport function extractTagFromMessage(\n message: Message,\n tagName: string,\n): string | null {\n if (message.type === 'progress') {\n return null\n }\n if (typeof message.message.content !== 'string') {\n return null\n }\n return extractTag(message.message.content, tagName)\n}\n\nexport function extractTag(html: string, tagName: string): string | null {\n if (!html.trim() || !tagName.trim()) {\n return null\n }\n\n // Escape special characters in the tag name\n const escapedTag = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n // Create regex pattern that handles:\n // 1. Self-closing tags\n // 2. Tags with attributes\n // 3. Nested tags of the same type\n // 4. Multiline content\n const pattern = new RegExp(\n `<${escapedTag}(?:\\\\s+[^>]*)?>` + // Opening tag with optional attributes\n '([\\\\s\\\\S]*?)' + // Content (non-greedy match)\n `<\\\\/${escapedTag}>`, // Closing tag\n 'gi',\n )\n\n let match\n let depth = 0\n let lastIndex = 0\n const openingTag = new RegExp(`<${escapedTag}(?:\\\\s+[^>]*?)?>`, 'gi')\n const closingTag = new RegExp(`<\\\\/${escapedTag}>`, 'gi')\n\n while ((match = pattern.exec(html)) !== null) {\n // Check for nested tags\n const content = match[1]\n const beforeMatch = html.slice(lastIndex, match.index)\n\n // Reset depth counter\n depth = 0\n\n // Count opening tags before this match\n openingTag.lastIndex = 0\n while (openingTag.exec(beforeMatch) !== null) {\n depth++\n }\n\n // Count closing tags before this match\n closingTag.lastIndex = 0\n while (closingTag.exec(beforeMatch) !== null) {\n depth--\n }\n\n // Only include content if we're at the correct nesting level\n if (depth === 0 && content) {\n return content\n }\n\n lastIndex = match.index + match[0].length\n }\n\n return null\n}\n\nexport function isNotEmptyMessage(message: Message): boolean {\n if (message.type === 'progress') {\n return true\n }\n\n if (typeof message.message.content === 'string') {\n return message.message.content.trim().length > 0\n }\n\n if (message.message.content.length === 0) {\n return false\n }\n\n // Skip multi-block messages for now\n if (message.message.content.length > 1) {\n return true\n }\n\n if (message.message.content[0]!.type !== 'text') {\n return true\n }\n\n return (\n message.message.content[0]!.text.trim().length > 0 &&\n message.message.content[0]!.text !== NO_CONTENT_MESSAGE &&\n message.message.content[0]!.text !== INTERRUPT_MESSAGE_FOR_TOOL_USE\n )\n}\n\n// TODO: replace this with plain UserMessage if/when PR #405 lands\ntype NormalizedUserMessage = {\n message: {\n content: [\n | TextBlockParam\n | ImageBlockParam\n | ToolUseBlockParam\n | ToolResultBlockParam,\n ]\n role: 'user'\n }\n type: 'user'\n uuid: UUID\n}\n\nexport type NormalizedMessage =\n | NormalizedUserMessage\n | AssistantMessage\n | ProgressMessage\n\n/**\n * Generate a deterministic UUID based on input string\n * This ensures the same content always produces the same UUID,\n * preventing duplicate entries in Ink's <Static> component.\n *\n * Uses an LRU cache (max 500 entries) to avoid recomputing SHA-256\n * on every render for the same inputs.\n */\nconst _uuidCache = new Map<string, UUID>()\nconst _UUID_CACHE_MAX = 500\n\nfunction deterministicUUID(seed: string): UUID {\n const cached = _uuidCache.get(seed)\n if (cached !== undefined) {\n // Move to end for LRU behavior\n _uuidCache.delete(seed)\n _uuidCache.set(seed, cached)\n return cached\n }\n\n const hash = createHash('sha256').update(seed).digest('hex')\n // Format as UUID v4 (xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx)\n const result =\n `${hash.slice(0, 8)}-${hash.slice(8, 12)}-4${hash.slice(13, 16)}-${((parseInt(hash.slice(16, 17), 16) & 0x3) | 0x8).toString(16)}${hash.slice(17, 20)}-${hash.slice(20, 32)}` as UUID\n\n if (_uuidCache.size >= _UUID_CACHE_MAX) {\n // Delete oldest entry (first key in Map insertion order)\n const firstKey = _uuidCache.keys().next().value\n if (firstKey !== undefined) _uuidCache.delete(firstKey)\n }\n _uuidCache.set(seed, result)\n return result\n}\n\n// Split messages, so each content block gets its own message\nexport function normalizeMessages(messages: Message[]): NormalizedMessage[] {\n return messages.flatMap((message, messageIndex) => {\n if (message.type === 'progress') {\n return [message] as NormalizedMessage[]\n }\n if (typeof message.message.content === 'string') {\n return [message] as NormalizedMessage[]\n }\n return message.message.content.map((_, contentIndex) => {\n switch (message.type) {\n case 'assistant':\n // Generate deterministic UUID based on message uuid + content index\n // This ensures the same content block always gets the same UUID,\n // preventing duplicate entries when Ink's <Static> re-renders\n const baseUuid =\n (message as AssistantMessage).uuid || `msg-${messageIndex}`\n const contentId =\n _.type === 'tool_use' ? _.id || contentIndex : contentIndex\n const stableUuid = deterministicUUID(`${baseUuid}-${contentId}`)\n\n return {\n type: 'assistant',\n uuid: stableUuid,\n // Preserve original UUID for identifying parallel tool calls from same message\n originalUuid: (message as AssistantMessage).uuid,\n message: {\n ...message.message,\n content: [_],\n },\n costUSD:\n (message as AssistantMessage).costUSD /\n message.message.content.length,\n durationMs: (message as AssistantMessage).durationMs,\n } as NormalizedMessage\n case 'user':\n // It seems like the line below was a no-op before, but I'm not sure.\n // To check, we could throw an error if any of the following are true:\n // - message `role` does isn't `user` -- this possibility is allowed by MCP tools,\n // though isn't supposed to happen in practice (we should fix this)\n // - message `content` is not an array -- this one is more concerning because it's\n // not allowed by the `NormalizedUserMessage` type, but if it's happening that was\n // probably a bug before.\n // Maybe I'm missing something? -(ab)\n // return createUserMessage([_]) as NormalizedMessage\n return message as NormalizedUserMessage\n }\n })\n })\n}\n\ntype ToolUseRequestMessage = AssistantMessage & {\n message: { content: ToolUseBlock[] }\n}\n\nfunction isToolUseRequestMessage(\n message: Message,\n): message is ToolUseRequestMessage {\n return (\n message.type === 'assistant' &&\n 'costUSD' in message &&\n // Note: stop_reason === 'tool_use' is unreliable -- it's not always set correctly\n message.message.content.some(_ => _.type === 'tool_use')\n )\n}\n\n// Re-order, to move result messages to be after their tool use messages\nexport function reorderMessages(\n messages: NormalizedMessage[],\n): NormalizedMessage[] {\n const ms: NormalizedMessage[] = []\n const toolUseMessages: ToolUseRequestMessage[] = []\n\n // Pre-build index maps for O(1) lookup instead of O(n) find()\n // Maps toolUseID \u2192 index in ms[] for tool use messages\n const toolUseIndexByID = new Map<string, number>()\n // Maps toolUseID \u2192 index in ms[] for progress messages\n const progressIndexByID = new Map<string, number>()\n\n /** After splice at `pos`, bump all index entries >= pos by 1 */\n function bumpIndicesAfterSplice(pos: number): void {\n for (const [k, v] of toolUseIndexByID) {\n if (v >= pos) toolUseIndexByID.set(k, v + 1)\n }\n for (const [k, v] of progressIndexByID) {\n if (v >= pos) progressIndexByID.set(k, v + 1)\n }\n }\n\n for (const message of messages) {\n // track tool use messages we've seen\n if (isToolUseRequestMessage(message)) {\n toolUseMessages.push(message)\n const id = message.message.content[0]?.id\n if (id) {\n toolUseIndexByID.set(id, ms.length)\n }\n }\n\n // if it's a tool progress message...\n if (message.type === 'progress') {\n // replace any existing progress messages with this one\n const existingIdx = progressIndexByID.get(message.toolUseID)\n if (existingIdx !== undefined) {\n ms[existingIdx] = message\n continue\n }\n // otherwise, insert it after its tool use\n const toolUseIdx = toolUseIndexByID.get(message.toolUseID)\n if (toolUseIdx !== undefined) {\n const insertPos = toolUseIdx + 1\n ms.splice(insertPos, 0, message)\n progressIndexByID.set(message.toolUseID, insertPos)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n }\n\n // if it's a tool result, insert it after its tool use and progress messages\n if (\n message.type === 'user' &&\n Array.isArray(message.message.content) &&\n message.message.content[0]?.type === 'tool_result'\n ) {\n const toolUseID = (message.message.content[0] as ToolResultBlockParam)\n ?.tool_use_id\n\n // First check for progress messages\n const progressIdx = progressIndexByID.get(toolUseID)\n if (progressIdx !== undefined) {\n const insertPos = progressIdx + 1\n ms.splice(insertPos, 0, message)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n\n // If no progress messages, check for tool use messages\n const toolUseIdx = toolUseIndexByID.get(toolUseID)\n if (toolUseIdx !== undefined) {\n const insertPos = toolUseIdx + 1\n ms.splice(insertPos, 0, message)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n }\n\n // otherwise, just add it to the list\n else {\n ms.push(message)\n }\n }\n\n return ms\n}\n\n// Use memoizeWithLimit to prevent unbounded cache growth during long conversations\n// Each unique normalizedMessages array would create a new cache entry with lodash memoize\nconst getToolResultIDs = memoizeWithLimit(\n (normalizedMessages: NormalizedMessage[]): { [toolUseID: string]: boolean } =>\n Object.fromEntries(\n normalizedMessages.flatMap(_ =>\n _.type === 'user' && _.message.content[0]?.type === 'tool_result'\n ? [\n [\n _.message.content[0]!.tool_use_id,\n _.message.content[0]!.is_error ?? false,\n ],\n ]\n : ([] as [string, boolean][]),\n ),\n ),\n {\n max: 50,\n ttl: 30000,\n // Custom cache key avoids JSON.stringify on entire messages array\n resolver: (msgs: NormalizedMessage[]) =>\n `${msgs.length}:${msgs[msgs.length - 1]?.uuid ?? ''}`,\n },\n)\n\nexport function getUnresolvedToolUseIDs(\n normalizedMessages: NormalizedMessage[],\n): Set<string> {\n const toolResults = getToolResultIDs(normalizedMessages)\n return new Set(\n normalizedMessages\n .filter(\n (\n _,\n ): _ is AssistantMessage & {\n message: { content: [ToolUseBlockParam] }\n } =>\n _.type === 'assistant' &&\n Array.isArray(_.message.content) &&\n _.message.content[0]?.type === 'tool_use' &&\n !(_.message.content[0]?.id in toolResults),\n )\n .map(_ => _.message.content[0].id),\n )\n}\n\n/**\n * Tool uses are in flight if either:\n * 1. They have a corresponding progress message and no result message\n * 2. They are the first unresoved tool use\n *\n * TODO: Find a way to harden this logic to make it more explicit\n */\nexport function getInProgressToolUseIDs(\n normalizedMessages: NormalizedMessage[],\n): Set<string> {\n const unresolvedToolUseIDs = getUnresolvedToolUseIDs(normalizedMessages)\n const toolUseIDsThatHaveProgressMessages = new Set(\n normalizedMessages.filter(_ => _.type === 'progress').map(_ => _.toolUseID),\n )\n return new Set(\n (\n normalizedMessages.filter(_ => {\n if (_.type !== 'assistant') {\n return false\n }\n if (_.message.content[0]?.type !== 'tool_use') {\n return false\n }\n const toolUseID = _.message.content[0].id\n if (toolUseID === unresolvedToolUseIDs.values().next().value) {\n return true\n }\n\n if (\n toolUseIDsThatHaveProgressMessages.has(toolUseID) &&\n unresolvedToolUseIDs.has(toolUseID)\n ) {\n return true\n }\n\n return false\n }) as AssistantMessage[]\n ).map(_ => (_.message.content[0]! as ToolUseBlockParam).id),\n )\n}\n\nexport function getErroredToolUseMessages(\n normalizedMessages: NormalizedMessage[],\n): AssistantMessage[] {\n const toolResults = getToolResultIDs(normalizedMessages)\n return normalizedMessages.filter(\n _ =>\n _.type === 'assistant' &&\n Array.isArray(_.message.content) &&\n _.message.content[0]?.type === 'tool_use' &&\n _.message.content[0]?.id in toolResults &&\n toolResults[_.message.content[0]?.id],\n ) as AssistantMessage[]\n}\n\n/**\n * Normalize message content to ContentBlockParam[] format.\n * Handles both string content (plain text) and ContentBlockParam[] (structured).\n * This prevents spreading a string into individual characters during merge.\n */\nfunction normalizeContentToBlocks(\n content: string | ContentBlockParam[],\n): ContentBlockParam[] {\n if (Array.isArray(content)) {\n return content\n }\n // String content \u2192 single text block\n return [{ type: 'text' as const, text: content }]\n}\n\nexport function normalizeMessagesForAPI(\n messages: Message[],\n): (UserMessage | AssistantMessage)[] {\n const result: (UserMessage | AssistantMessage)[] = []\n messages\n .filter(_ => _.type !== 'progress')\n .forEach(message => {\n switch (message.type) {\n case 'user': {\n // Merge consecutive user messages to maintain alternating user/assistant\n // structure required by the API. This handles:\n // - Multiple tool_result messages from parallel tool execution\n // - Injected user guidance after tool_result (real-time agent influence)\n const lastMessage = last(result)\n if (lastMessage && lastMessage.type === 'user') {\n // Normalize both contents to ContentBlockParam[] before merging.\n // content can be string OR ContentBlockParam[]; spreading a string\n // produces individual characters instead of a proper text block.\n const prevContent = normalizeContentToBlocks(\n lastMessage.message.content,\n )\n const newContent = normalizeContentToBlocks(message.message.content)\n result[result.indexOf(lastMessage)] = {\n ...lastMessage,\n message: {\n ...lastMessage.message,\n content: [...prevContent, ...newContent],\n },\n }\n return\n }\n result.push(message)\n return\n }\n case 'assistant':\n result.push(message)\n return\n }\n })\n return result\n}\n\n// Sometimes the API returns empty messages (eg. \"\\n\\n\"). We need to filter these out,\n// otherwise they will give an API error when we send them to the API next time we call query().\nexport function normalizeContentFromAPI(\n content: APIMessage['content'],\n): APIMessage['content'] {\n const filteredContent = content.filter(\n _ => _.type !== 'text' || _.text.trim().length > 0,\n )\n\n if (filteredContent.length === 0) {\n return [{ type: 'text', text: NO_CONTENT_MESSAGE, citations: [] }]\n }\n\n return filteredContent\n}\n\nexport function isEmptyMessageText(text: string): boolean {\n return (\n stripSystemMessages(text).trim() === '' ||\n text.trim() === NO_CONTENT_MESSAGE\n )\n}\nconst STRIPPED_TAGS = [\n 'commit_analysis',\n 'context',\n 'function_analysis',\n 'pr_analysis',\n 'system-reminder',\n 'user-guidance',\n 'team-message',\n 'task-notification',\n]\n\nexport function stripSystemMessages(content: string): string {\n const regex = new RegExp(`<(${STRIPPED_TAGS.join('|')})>.*?</\\\\1>\\n?`, 'gs')\n return content.replace(regex, '').trim()\n}\n\nexport function getToolUseID(message: NormalizedMessage): string | null {\n switch (message.type) {\n case 'assistant':\n if (message.message.content[0]?.type !== 'tool_use') {\n return null\n }\n return message.message.content[0].id\n case 'user':\n if (message.message.content[0]?.type !== 'tool_result') {\n return null\n }\n return message.message.content[0].tool_use_id\n case 'progress':\n return message.toolUseID\n }\n}\n\nexport function getLastAssistantMessageId(\n messages: Message[],\n): string | undefined {\n // Iterate from the end of the array to find the last assistant message\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i]\n if (message && message.type === 'assistant') {\n return message.message.id\n }\n }\n return undefined\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["userMessage", "resolve"]
|
|
7
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
migrateTodos,
|
|
3
|
-
checkMigrationNeeded,
|
|
4
|
-
getMigrationStatus,
|
|
5
|
-
cleanupMigrationBackups,
|
|
6
|
-
forceMigration,
|
|
7
|
-
runStartupMigration
|
|
8
|
-
} from "./migrateTodos.js";
|
|
9
|
-
import {
|
|
10
|
-
migrateHistory,
|
|
11
|
-
checkHistoryMigrationNeeded,
|
|
12
|
-
getHistoryMigrationStatus,
|
|
13
|
-
cleanupLegacyHistory,
|
|
14
|
-
forceHistoryMigration,
|
|
15
|
-
runStartupHistoryMigration
|
|
16
|
-
} from "./migrateHistory.js";
|
|
17
|
-
async function runAllStartupMigrations() {
|
|
18
|
-
const { runStartupMigration: runStartupMigration2 } = await import("./migrateTodos.js");
|
|
19
|
-
const { runStartupHistoryMigration: runStartupHistoryMigration2 } = await import("./migrateHistory.js");
|
|
20
|
-
await Promise.all([runStartupMigration2(), runStartupHistoryMigration2()]);
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
checkHistoryMigrationNeeded,
|
|
24
|
-
checkMigrationNeeded,
|
|
25
|
-
cleanupLegacyHistory,
|
|
26
|
-
cleanupMigrationBackups,
|
|
27
|
-
forceHistoryMigration,
|
|
28
|
-
forceMigration,
|
|
29
|
-
getHistoryMigrationStatus,
|
|
30
|
-
getMigrationStatus,
|
|
31
|
-
migrateHistory,
|
|
32
|
-
migrateTodos,
|
|
33
|
-
runAllStartupMigrations,
|
|
34
|
-
runStartupHistoryMigration,
|
|
35
|
-
runStartupMigration
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/utils/migration/index.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Migration Module\n *\n * Provides migration utilities for upgrading Minto's data structures\n * between versions. All migrations are idempotent and safe to run\n * multiple times.\n */\n\n// Todo migration\nexport {\n migrateTodos,\n checkMigrationNeeded,\n getMigrationStatus,\n cleanupMigrationBackups,\n forceMigration,\n runStartupMigration,\n type MigrationResult,\n type MigrationStatus,\n} from './migrateTodos'\n\n// History migration\nexport {\n migrateHistory,\n checkHistoryMigrationNeeded,\n getHistoryMigrationStatus,\n cleanupLegacyHistory,\n forceHistoryMigration,\n runStartupHistoryMigration,\n type HistoryMigrationResult,\n type HistoryMigrationStatus,\n} from './migrateHistory'\n\n/**\n * Run all startup migrations\n * Should be called early in the application lifecycle\n */\nexport async function runAllStartupMigrations(): Promise<void> {\n const { runStartupMigration } = await import('./migrateTodos')\n const { runStartupHistoryMigration } = await import('./migrateHistory')\n\n // Run migrations in parallel for efficiency\n await Promise.all([runStartupMigration(), runStartupHistoryMigration()])\n}\n"],
|
|
5
|
-
"mappings": "AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAMP,eAAsB,0BAAyC;AAC7D,QAAM,EAAE,qBAAAA,qBAAoB,IAAI,MAAM,OAAO,gBAAgB;AAC7D,QAAM,EAAE,4BAAAC,4BAA2B,IAAI,MAAM,OAAO,kBAAkB;AAGtE,QAAM,QAAQ,IAAI,CAACD,qBAAoB,GAAGC,4BAA2B,CAAC,CAAC;AACzE;",
|
|
6
|
-
"names": ["runStartupMigration", "runStartupHistoryMigration"]
|
|
7
|
-
}
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync, unlinkSync } from "fs";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
import { CONFIG_PATHS, ensureConfigDirs } from "../configPaths.js";
|
|
4
|
-
import { debug as debugLogger } from "../debugLogger.js";
|
|
5
|
-
import {
|
|
6
|
-
appendHistoryEntry,
|
|
7
|
-
readAllHistoryEntries
|
|
8
|
-
} from "../historyManager.js";
|
|
9
|
-
import { GLOBAL_CONFIG_FILE } from "../env.js";
|
|
10
|
-
const MIGRATION_MARKER_FILE = ".history-migration-completed";
|
|
11
|
-
const MIGRATION_VERSION = "1.0.0";
|
|
12
|
-
function getMigrationMarkerPath() {
|
|
13
|
-
return join(CONFIG_PATHS.base, MIGRATION_MARKER_FILE);
|
|
14
|
-
}
|
|
15
|
-
function checkHistoryMigrationNeeded() {
|
|
16
|
-
const markerPath = getMigrationMarkerPath();
|
|
17
|
-
return !existsSync(markerPath);
|
|
18
|
-
}
|
|
19
|
-
function getHistoryMigrationStatus() {
|
|
20
|
-
const markerPath = getMigrationMarkerPath();
|
|
21
|
-
if (!existsSync(markerPath)) {
|
|
22
|
-
return {
|
|
23
|
-
completed: false,
|
|
24
|
-
version: MIGRATION_VERSION,
|
|
25
|
-
migratedEntries: 0,
|
|
26
|
-
projectsProcessed: 0,
|
|
27
|
-
errors: []
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
const content = readFileSync(markerPath, "utf-8");
|
|
32
|
-
return JSON.parse(content);
|
|
33
|
-
} catch {
|
|
34
|
-
return {
|
|
35
|
-
completed: false,
|
|
36
|
-
version: MIGRATION_VERSION,
|
|
37
|
-
migratedEntries: 0,
|
|
38
|
-
projectsProcessed: 0,
|
|
39
|
-
errors: []
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
function writeMigrationMarker(result) {
|
|
44
|
-
const markerPath = getMigrationMarkerPath();
|
|
45
|
-
const status = {
|
|
46
|
-
completed: true,
|
|
47
|
-
timestamp: Date.now(),
|
|
48
|
-
version: MIGRATION_VERSION,
|
|
49
|
-
migratedEntries: result.migrated,
|
|
50
|
-
projectsProcessed: result.projectsProcessed,
|
|
51
|
-
errors: result.errors.slice(0, 10)
|
|
52
|
-
// Keep only first 10 errors
|
|
53
|
-
};
|
|
54
|
-
try {
|
|
55
|
-
writeFileSync(markerPath, JSON.stringify(status, null, 2), "utf-8");
|
|
56
|
-
debugLogger.info("HISTORY_MIGRATION_MARKER_WRITTEN", {
|
|
57
|
-
path: markerPath,
|
|
58
|
-
migrated: result.migrated
|
|
59
|
-
});
|
|
60
|
-
} catch (error) {
|
|
61
|
-
debugLogger.error("HISTORY_MIGRATION_MARKER_WRITE_FAILED", {
|
|
62
|
-
error: error instanceof Error ? error.message : String(error)
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function readLegacyConfig() {
|
|
67
|
-
const configPath = GLOBAL_CONFIG_FILE;
|
|
68
|
-
if (!existsSync(configPath)) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
const content = readFileSync(configPath, "utf-8");
|
|
73
|
-
return JSON.parse(content);
|
|
74
|
-
} catch (error) {
|
|
75
|
-
debugLogger.error("HISTORY_MIGRATION_CONFIG_READ_FAILED", {
|
|
76
|
-
error: error instanceof Error ? error.message : String(error)
|
|
77
|
-
});
|
|
78
|
-
return null;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
function createHistoryEntry(command, projectPath, estimatedTimestamp) {
|
|
82
|
-
let mode = "prompt";
|
|
83
|
-
let cleanCommand = command;
|
|
84
|
-
if (command.startsWith("!")) {
|
|
85
|
-
mode = "bash";
|
|
86
|
-
cleanCommand = command.slice(1);
|
|
87
|
-
} else if (command.startsWith("#")) {
|
|
88
|
-
mode = "koding";
|
|
89
|
-
cleanCommand = command.slice(1);
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
command: cleanCommand,
|
|
93
|
-
timestamp: estimatedTimestamp,
|
|
94
|
-
projectPath,
|
|
95
|
-
mode
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
async function migrateHistory() {
|
|
99
|
-
const result = {
|
|
100
|
-
migrated: 0,
|
|
101
|
-
skipped: 0,
|
|
102
|
-
projectsProcessed: 0,
|
|
103
|
-
errors: [],
|
|
104
|
-
log: []
|
|
105
|
-
};
|
|
106
|
-
if (!checkHistoryMigrationNeeded()) {
|
|
107
|
-
const status = getHistoryMigrationStatus();
|
|
108
|
-
result.log.push(
|
|
109
|
-
`History migration already completed at ${status.timestamp ? new Date(status.timestamp).toISOString() : "unknown"}`
|
|
110
|
-
);
|
|
111
|
-
result.log.push(`Previously migrated ${status.migratedEntries} entries`);
|
|
112
|
-
debugLogger.info("HISTORY_MIGRATION_ALREADY_COMPLETE", { status });
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
debugLogger.info("HISTORY_MIGRATION_START", { version: MIGRATION_VERSION });
|
|
116
|
-
result.log.push(`Starting history migration (version ${MIGRATION_VERSION})`);
|
|
117
|
-
ensureConfigDirs();
|
|
118
|
-
const legacyConfig = readLegacyConfig();
|
|
119
|
-
if (!legacyConfig || !legacyConfig.projects) {
|
|
120
|
-
result.log.push("No legacy project histories found");
|
|
121
|
-
debugLogger.info("HISTORY_MIGRATION_NO_LEGACY", {});
|
|
122
|
-
writeMigrationMarker(result);
|
|
123
|
-
return result;
|
|
124
|
-
}
|
|
125
|
-
const existingEntries = readAllHistoryEntries();
|
|
126
|
-
const existingSet = new Set(
|
|
127
|
-
existingEntries.map((e) => `${e.command}:${e.projectPath || ""}`)
|
|
128
|
-
);
|
|
129
|
-
result.log.push(
|
|
130
|
-
`Found ${Object.keys(legacyConfig.projects).length} projects to process`
|
|
131
|
-
);
|
|
132
|
-
result.log.push(`Existing entries in JSONL: ${existingEntries.length}`);
|
|
133
|
-
const projects = Object.entries(legacyConfig.projects);
|
|
134
|
-
for (const [projectPath, projectConfig] of projects) {
|
|
135
|
-
if (!projectConfig.history || projectConfig.history.length === 0) {
|
|
136
|
-
continue;
|
|
137
|
-
}
|
|
138
|
-
result.projectsProcessed++;
|
|
139
|
-
const history = projectConfig.history;
|
|
140
|
-
result.log.push(
|
|
141
|
-
`Processing project: ${projectPath} (${history.length} entries)`
|
|
142
|
-
);
|
|
143
|
-
const now = Date.now();
|
|
144
|
-
const timeSpan = 30 * 24 * 60 * 60 * 1e3;
|
|
145
|
-
const reversedHistory = [...history].reverse();
|
|
146
|
-
for (let i = 0; i < reversedHistory.length; i++) {
|
|
147
|
-
const command = reversedHistory[i];
|
|
148
|
-
if (!command || !command.trim()) {
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
const progress = reversedHistory.length > 1 ? i / (reversedHistory.length - 1) : 1;
|
|
152
|
-
const estimatedTimestamp = Math.round(now - timeSpan * (1 - progress));
|
|
153
|
-
const dedupKey = `${command}:${projectPath}`;
|
|
154
|
-
if (existingSet.has(dedupKey)) {
|
|
155
|
-
result.skipped++;
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
try {
|
|
159
|
-
const entry = createHistoryEntry(
|
|
160
|
-
command,
|
|
161
|
-
projectPath,
|
|
162
|
-
estimatedTimestamp
|
|
163
|
-
);
|
|
164
|
-
appendHistoryEntry(entry);
|
|
165
|
-
existingSet.add(dedupKey);
|
|
166
|
-
result.migrated++;
|
|
167
|
-
} catch (error) {
|
|
168
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
169
|
-
result.errors.push(
|
|
170
|
-
`Failed to migrate entry "${command.slice(0, 50)}...": ${errorMsg}`
|
|
171
|
-
);
|
|
172
|
-
debugLogger.error("HISTORY_MIGRATION_ENTRY_FAILED", {
|
|
173
|
-
command: command.slice(0, 50),
|
|
174
|
-
error: errorMsg
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
writeMigrationMarker(result);
|
|
180
|
-
debugLogger.info("HISTORY_MIGRATION_COMPLETE", {
|
|
181
|
-
migrated: result.migrated,
|
|
182
|
-
skipped: result.skipped,
|
|
183
|
-
projectsProcessed: result.projectsProcessed,
|
|
184
|
-
errors: result.errors.length
|
|
185
|
-
});
|
|
186
|
-
result.log.push("");
|
|
187
|
-
result.log.push("=== History Migration Summary ===");
|
|
188
|
-
result.log.push(`Projects processed: ${result.projectsProcessed}`);
|
|
189
|
-
result.log.push(`Entries migrated: ${result.migrated}`);
|
|
190
|
-
result.log.push(`Entries skipped (duplicates): ${result.skipped}`);
|
|
191
|
-
result.log.push(`Errors: ${result.errors.length}`);
|
|
192
|
-
return result;
|
|
193
|
-
}
|
|
194
|
-
function cleanupLegacyHistory(dryRun = false) {
|
|
195
|
-
const legacyConfig = readLegacyConfig();
|
|
196
|
-
if (!legacyConfig || !legacyConfig.projects) {
|
|
197
|
-
return { projectsCleaned: 0, entriesRemoved: 0 };
|
|
198
|
-
}
|
|
199
|
-
let projectsCleaned = 0;
|
|
200
|
-
let entriesRemoved = 0;
|
|
201
|
-
for (const [projectPath, projectConfig] of Object.entries(
|
|
202
|
-
legacyConfig.projects
|
|
203
|
-
)) {
|
|
204
|
-
if (projectConfig.history && projectConfig.history.length > 0) {
|
|
205
|
-
entriesRemoved += projectConfig.history.length;
|
|
206
|
-
projectsCleaned++;
|
|
207
|
-
if (!dryRun) {
|
|
208
|
-
delete projectConfig.history;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
if (!dryRun && projectsCleaned > 0) {
|
|
213
|
-
try {
|
|
214
|
-
const configPath = GLOBAL_CONFIG_FILE;
|
|
215
|
-
writeFileSync(configPath, JSON.stringify(legacyConfig, null, 2), "utf-8");
|
|
216
|
-
debugLogger.info("LEGACY_HISTORY_CLEANUP_COMPLETE", {
|
|
217
|
-
projectsCleaned,
|
|
218
|
-
entriesRemoved
|
|
219
|
-
});
|
|
220
|
-
} catch (error) {
|
|
221
|
-
debugLogger.error("LEGACY_HISTORY_CLEANUP_FAILED", {
|
|
222
|
-
error: error instanceof Error ? error.message : String(error)
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return { projectsCleaned, entriesRemoved };
|
|
227
|
-
}
|
|
228
|
-
async function forceHistoryMigration() {
|
|
229
|
-
const markerPath = getMigrationMarkerPath();
|
|
230
|
-
if (existsSync(markerPath)) {
|
|
231
|
-
try {
|
|
232
|
-
unlinkSync(markerPath);
|
|
233
|
-
debugLogger.info("HISTORY_MIGRATION_MARKER_REMOVED", { path: markerPath });
|
|
234
|
-
} catch {
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
return migrateHistory();
|
|
238
|
-
}
|
|
239
|
-
async function runStartupHistoryMigration() {
|
|
240
|
-
if (!checkHistoryMigrationNeeded()) {
|
|
241
|
-
debugLogger.trace("STARTUP_HISTORY_MIGRATION_SKIPPED", {
|
|
242
|
-
reason: "already completed"
|
|
243
|
-
});
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
debugLogger.info("STARTUP_HISTORY_MIGRATION_RUNNING", {});
|
|
247
|
-
try {
|
|
248
|
-
const result = await migrateHistory();
|
|
249
|
-
if (result.errors.length > 0) {
|
|
250
|
-
debugLogger.warn("STARTUP_HISTORY_MIGRATION_ERRORS", {
|
|
251
|
-
errors: result.errors.slice(0, 5),
|
|
252
|
-
totalErrors: result.errors.length
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
debugLogger.info("STARTUP_HISTORY_MIGRATION_DONE", {
|
|
256
|
-
migrated: result.migrated,
|
|
257
|
-
skipped: result.skipped
|
|
258
|
-
});
|
|
259
|
-
} catch (error) {
|
|
260
|
-
debugLogger.error("STARTUP_HISTORY_MIGRATION_FAILED", {
|
|
261
|
-
error: error instanceof Error ? error.message : String(error)
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
export {
|
|
266
|
-
checkHistoryMigrationNeeded,
|
|
267
|
-
cleanupLegacyHistory,
|
|
268
|
-
forceHistoryMigration,
|
|
269
|
-
getHistoryMigrationStatus,
|
|
270
|
-
migrateHistory,
|
|
271
|
-
runStartupHistoryMigration
|
|
272
|
-
};
|
|
273
|
-
//# sourceMappingURL=migrateHistory.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/utils/migration/migrateHistory.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * History Migration Tool\n *\n * Migrates command history from the legacy project-embedded format\n * (projects.*.history arrays in ~/.minto.json) to the new JSONL-based\n * global history file (~/.minto/history/global.jsonl).\n *\n * Migration process:\n * 1. Read the global config file to extract all project history arrays\n * 2. Convert each history entry to the new HistoryEntry format\n * 3. Append entries to the global JSONL history file\n * 4. Optionally clean up the legacy history arrays\n * 5. Write migration completion marker\n *\n * The migration is idempotent - running it multiple times will not\n * create duplicate entries (based on command + timestamp deduplication).\n */\n\nimport { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs'\nimport { join, resolve } from 'path'\nimport { CONFIG_PATHS, ensureConfigDirs } from '../configPaths'\nimport { debug as debugLogger } from '../debugLogger'\nimport {\n appendHistoryEntry,\n readAllHistoryEntries,\n type HistoryEntry,\n} from '../historyManager'\nimport { GLOBAL_CONFIG_FILE } from '../env'\n\n/**\n * Result of a history migration operation\n */\nexport interface HistoryMigrationResult {\n /** Number of entries successfully migrated */\n migrated: number\n /** Number of entries skipped (duplicates) */\n skipped: number\n /** Number of projects processed */\n projectsProcessed: number\n /** Error messages for failed operations */\n errors: string[]\n /** Detailed log of operations */\n log: string[]\n}\n\n/**\n * Migration status stored in marker file\n */\nexport interface HistoryMigrationStatus {\n completed: boolean\n timestamp?: number\n version: string\n migratedEntries: number\n projectsProcessed: number\n errors: string[]\n}\n\n// Migration marker file path\nconst MIGRATION_MARKER_FILE = '.history-migration-completed'\nconst MIGRATION_VERSION = '1.0.0'\n\n/**\n * Get the path to the migration marker file\n */\nfunction getMigrationMarkerPath(): string {\n return join(CONFIG_PATHS.base, MIGRATION_MARKER_FILE)\n}\n\n/**\n * Check if history migration has already been completed\n */\nexport function checkHistoryMigrationNeeded(): boolean {\n const markerPath = getMigrationMarkerPath()\n return !existsSync(markerPath)\n}\n\n/**\n * Get the current history migration status\n */\nexport function getHistoryMigrationStatus(): HistoryMigrationStatus {\n const markerPath = getMigrationMarkerPath()\n\n if (!existsSync(markerPath)) {\n return {\n completed: false,\n version: MIGRATION_VERSION,\n migratedEntries: 0,\n projectsProcessed: 0,\n errors: [],\n }\n }\n\n try {\n const content = readFileSync(markerPath, 'utf-8')\n return JSON.parse(content) as HistoryMigrationStatus\n } catch {\n return {\n completed: false,\n version: MIGRATION_VERSION,\n migratedEntries: 0,\n projectsProcessed: 0,\n errors: [],\n }\n }\n}\n\n/**\n * Write migration completion marker\n */\nfunction writeMigrationMarker(result: HistoryMigrationResult): void {\n const markerPath = getMigrationMarkerPath()\n const status: HistoryMigrationStatus = {\n completed: true,\n timestamp: Date.now(),\n version: MIGRATION_VERSION,\n migratedEntries: result.migrated,\n projectsProcessed: result.projectsProcessed,\n errors: result.errors.slice(0, 10), // Keep only first 10 errors\n }\n\n try {\n writeFileSync(markerPath, JSON.stringify(status, null, 2), 'utf-8')\n debugLogger.info('HISTORY_MIGRATION_MARKER_WRITTEN', {\n path: markerPath,\n migrated: result.migrated,\n })\n } catch (error) {\n debugLogger.error('HISTORY_MIGRATION_MARKER_WRITE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n}\n\n/**\n * Read legacy global config to extract project histories\n */\nfunction readLegacyConfig(): {\n projects: Record<string, { history?: string[] }>\n} | null {\n const configPath = GLOBAL_CONFIG_FILE\n\n if (!existsSync(configPath)) {\n return null\n }\n\n try {\n const content = readFileSync(configPath, 'utf-8')\n return JSON.parse(content)\n } catch (error) {\n debugLogger.error('HISTORY_MIGRATION_CONFIG_READ_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n return null\n }\n}\n\n/**\n * Create HistoryEntry from legacy history string\n * Legacy format doesn't have timestamps, so we estimate based on position\n */\nfunction createHistoryEntry(\n command: string,\n projectPath: string,\n estimatedTimestamp: number,\n): HistoryEntry {\n // Detect mode from command prefix\n let mode: 'prompt' | 'bash' | 'koding' = 'prompt'\n let cleanCommand = command\n\n if (command.startsWith('!')) {\n mode = 'bash'\n cleanCommand = command.slice(1)\n } else if (command.startsWith('#')) {\n mode = 'koding'\n cleanCommand = command.slice(1)\n }\n\n return {\n command: cleanCommand,\n timestamp: estimatedTimestamp,\n projectPath,\n mode,\n }\n}\n\n/**\n * Main history migration function\n *\n * Migrates all project history arrays to the global JSONL file.\n *\n * @returns Migration result with statistics and logs\n */\nexport async function migrateHistory(): Promise<HistoryMigrationResult> {\n const result: HistoryMigrationResult = {\n migrated: 0,\n skipped: 0,\n projectsProcessed: 0,\n errors: [],\n log: [],\n }\n\n // Check if migration is needed\n if (!checkHistoryMigrationNeeded()) {\n const status = getHistoryMigrationStatus()\n result.log.push(\n `History migration already completed at ${status.timestamp ? new Date(status.timestamp).toISOString() : 'unknown'}`,\n )\n result.log.push(`Previously migrated ${status.migratedEntries} entries`)\n debugLogger.info('HISTORY_MIGRATION_ALREADY_COMPLETE', { status })\n return result\n }\n\n debugLogger.info('HISTORY_MIGRATION_START', { version: MIGRATION_VERSION })\n result.log.push(`Starting history migration (version ${MIGRATION_VERSION})`)\n\n // Ensure required directories exist\n ensureConfigDirs()\n\n // Read legacy config\n const legacyConfig = readLegacyConfig()\n\n if (!legacyConfig || !legacyConfig.projects) {\n result.log.push('No legacy project histories found')\n debugLogger.info('HISTORY_MIGRATION_NO_LEGACY', {})\n // Still write marker to prevent future scans\n writeMigrationMarker(result)\n return result\n }\n\n // Read existing entries to check for duplicates\n const existingEntries = readAllHistoryEntries()\n const existingSet = new Set(\n existingEntries.map(e => `${e.command}:${e.projectPath || ''}`),\n )\n\n result.log.push(\n `Found ${Object.keys(legacyConfig.projects).length} projects to process`,\n )\n result.log.push(`Existing entries in JSONL: ${existingEntries.length}`)\n\n // Process each project's history\n const projects = Object.entries(legacyConfig.projects)\n\n for (const [projectPath, projectConfig] of projects) {\n if (!projectConfig.history || projectConfig.history.length === 0) {\n continue\n }\n\n result.projectsProcessed++\n const history = projectConfig.history\n\n result.log.push(\n `Processing project: ${projectPath} (${history.length} entries)`,\n )\n\n // Legacy history is stored newest-first, we need to reverse for chronological order\n // Estimate timestamps: assume entries span 30 days before now\n const now = Date.now()\n const timeSpan = 30 * 24 * 60 * 60 * 1000 // 30 days in milliseconds\n const reversedHistory = [...history].reverse()\n\n for (let i = 0; i < reversedHistory.length; i++) {\n const command = reversedHistory[i]\n\n if (!command || !command.trim()) {\n continue\n }\n\n // Estimate timestamp: oldest entry is 30 days ago, newest is now\n const progress =\n reversedHistory.length > 1 ? i / (reversedHistory.length - 1) : 1\n const estimatedTimestamp = Math.round(now - timeSpan * (1 - progress))\n\n // Check for duplicate\n const dedupKey = `${command}:${projectPath}`\n if (existingSet.has(dedupKey)) {\n result.skipped++\n continue\n }\n\n try {\n const entry = createHistoryEntry(\n command,\n projectPath,\n estimatedTimestamp,\n )\n appendHistoryEntry(entry)\n existingSet.add(dedupKey) // Track to avoid duplicates in same run\n result.migrated++\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n result.errors.push(\n `Failed to migrate entry \"${command.slice(0, 50)}...\": ${errorMsg}`,\n )\n debugLogger.error('HISTORY_MIGRATION_ENTRY_FAILED', {\n command: command.slice(0, 50),\n error: errorMsg,\n })\n }\n }\n }\n\n // Write completion marker\n writeMigrationMarker(result)\n\n debugLogger.info('HISTORY_MIGRATION_COMPLETE', {\n migrated: result.migrated,\n skipped: result.skipped,\n projectsProcessed: result.projectsProcessed,\n errors: result.errors.length,\n })\n\n result.log.push('')\n result.log.push('=== History Migration Summary ===')\n result.log.push(`Projects processed: ${result.projectsProcessed}`)\n result.log.push(`Entries migrated: ${result.migrated}`)\n result.log.push(`Entries skipped (duplicates): ${result.skipped}`)\n result.log.push(`Errors: ${result.errors.length}`)\n\n return result\n}\n\n/**\n * Clean up legacy history arrays from global config\n * Call this after verifying migration was successful\n *\n * @param dryRun If true, only report what would be cleaned up\n * @returns Number of projects cleaned up\n */\nexport function cleanupLegacyHistory(dryRun: boolean = false): {\n projectsCleaned: number\n entriesRemoved: number\n} {\n const legacyConfig = readLegacyConfig()\n\n if (!legacyConfig || !legacyConfig.projects) {\n return { projectsCleaned: 0, entriesRemoved: 0 }\n }\n\n let projectsCleaned = 0\n let entriesRemoved = 0\n\n for (const [projectPath, projectConfig] of Object.entries(\n legacyConfig.projects,\n )) {\n if (projectConfig.history && projectConfig.history.length > 0) {\n entriesRemoved += projectConfig.history.length\n projectsCleaned++\n\n if (!dryRun) {\n // Remove history array from project config\n delete (projectConfig as any).history\n }\n }\n }\n\n if (!dryRun && projectsCleaned > 0) {\n // Save cleaned config\n try {\n const configPath = GLOBAL_CONFIG_FILE\n writeFileSync(configPath, JSON.stringify(legacyConfig, null, 2), 'utf-8')\n\n debugLogger.info('LEGACY_HISTORY_CLEANUP_COMPLETE', {\n projectsCleaned,\n entriesRemoved,\n })\n } catch (error) {\n debugLogger.error('LEGACY_HISTORY_CLEANUP_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n\n return { projectsCleaned, entriesRemoved }\n}\n\n/**\n * Force re-run history migration (for debugging/recovery)\n * Removes the migration marker and runs migration again\n */\nexport async function forceHistoryMigration(): Promise<HistoryMigrationResult> {\n const markerPath = getMigrationMarkerPath()\n\n if (existsSync(markerPath)) {\n try {\n unlinkSync(markerPath)\n debugLogger.info('HISTORY_MIGRATION_MARKER_REMOVED', { path: markerPath })\n } catch {\n // Ignore errors\n }\n }\n\n return migrateHistory()\n}\n\n/**\n * Check and run history migration at application startup\n * Should be called early in the application lifecycle\n */\nexport async function runStartupHistoryMigration(): Promise<void> {\n if (!checkHistoryMigrationNeeded()) {\n debugLogger.trace('STARTUP_HISTORY_MIGRATION_SKIPPED', {\n reason: 'already completed',\n })\n return\n }\n\n debugLogger.info('STARTUP_HISTORY_MIGRATION_RUNNING', {})\n\n try {\n const result = await migrateHistory()\n\n if (result.errors.length > 0) {\n debugLogger.warn('STARTUP_HISTORY_MIGRATION_ERRORS', {\n errors: result.errors.slice(0, 5),\n totalErrors: result.errors.length,\n })\n }\n\n debugLogger.info('STARTUP_HISTORY_MIGRATION_DONE', {\n migrated: result.migrated,\n skipped: result.skipped,\n })\n } catch (error) {\n debugLogger.error('STARTUP_HISTORY_MIGRATION_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n // Don't throw - migration failures shouldn't block application startup\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|