@within-7/minto 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.cjs +32 -154
- package/cli.js +3255 -0
- package/package.json +25 -40
- package/scripts/postinstall.cjs +19 -136
- package/vendor/ripgrep/arm64-linux/rg +0 -0
- package/vendor/ripgrep/x64-darwin/rg +0 -0
- package/vendor/ripgrep/x64-linux/rg +0 -0
- package/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/dist/Tool.js +0 -39
- package/dist/Tool.js.map +0 -7
- package/dist/commands/agents/AgentsCommand.js +0 -2170
- package/dist/commands/agents/AgentsCommand.js.map +0 -7
- package/dist/commands/agents/constants.js +0 -58
- package/dist/commands/agents/constants.js.map +0 -7
- package/dist/commands/agents/index.js +0 -37
- package/dist/commands/agents/index.js.map +0 -7
- package/dist/commands/agents/types.js +0 -11
- package/dist/commands/agents/types.js.map +0 -7
- package/dist/commands/agents/utils/fileOperations.js +0 -245
- package/dist/commands/agents/utils/fileOperations.js.map +0 -7
- package/dist/commands/agents/utils/index.js +0 -23
- package/dist/commands/agents/utils/index.js.map +0 -7
- package/dist/commands/approvedTools.js +0 -36
- package/dist/commands/approvedTools.js.map +0 -7
- package/dist/commands/bug.js +0 -88
- package/dist/commands/bug.js.map +0 -7
- package/dist/commands/clear.js +0 -40
- package/dist/commands/clear.js.map +0 -7
- package/dist/commands/compact.js +0 -119
- package/dist/commands/compact.js.map +0 -7
- package/dist/commands/config.js +0 -20
- package/dist/commands/config.js.map +0 -7
- package/dist/commands/context.js +0 -116
- package/dist/commands/context.js.map +0 -7
- package/dist/commands/cost.js +0 -19
- package/dist/commands/cost.js.map +0 -7
- package/dist/commands/ctx_viz.js +0 -193
- package/dist/commands/ctx_viz.js.map +0 -7
- package/dist/commands/doctor.js +0 -171
- package/dist/commands/doctor.js.map +0 -7
- package/dist/commands/effort.js +0 -87
- package/dist/commands/effort.js.map +0 -7
- package/dist/commands/export.js +0 -747
- package/dist/commands/export.js.map +0 -7
- package/dist/commands/help.js +0 -20
- package/dist/commands/help.js.map +0 -7
- package/dist/commands/ide.js +0 -18
- package/dist/commands/ide.js.map +0 -7
- package/dist/commands/init.js +0 -38
- package/dist/commands/init.js.map +0 -7
- package/dist/commands/language.js +0 -110
- package/dist/commands/language.js.map +0 -7
- package/dist/commands/mcp-interactive.js +0 -485
- package/dist/commands/mcp-interactive.js.map +0 -7
- package/dist/commands/memory.js +0 -168
- package/dist/commands/memory.js.map +0 -7
- package/dist/commands/model.js +0 -497
- package/dist/commands/model.js.map +0 -7
- package/dist/commands/new.js +0 -56
- package/dist/commands/new.js.map +0 -7
- package/dist/commands/outputStyle.js +0 -64
- package/dist/commands/outputStyle.js.map +0 -7
- package/dist/commands/permissions.js +0 -113
- package/dist/commands/permissions.js.map +0 -7
- package/dist/commands/plugin/AddMarketplaceForm.js +0 -91
- package/dist/commands/plugin/AddMarketplaceForm.js.map +0 -7
- package/dist/commands/plugin/ConfirmDialog.js +0 -84
- package/dist/commands/plugin/ConfirmDialog.js.map +0 -7
- package/dist/commands/plugin/ErrorView.js +0 -34
- package/dist/commands/plugin/ErrorView.js.map +0 -7
- package/dist/commands/plugin/InstalledPluginsByMarketplace.js +0 -152
- package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +0 -7
- package/dist/commands/plugin/InstalledPluginsManager.js +0 -102
- package/dist/commands/plugin/InstalledPluginsManager.js.map +0 -7
- package/dist/commands/plugin/LoadingView.js +0 -14
- package/dist/commands/plugin/LoadingView.js.map +0 -7
- package/dist/commands/plugin/MainMenu.js +0 -67
- package/dist/commands/plugin/MainMenu.js.map +0 -7
- package/dist/commands/plugin/MarketplaceManager.js +0 -201
- package/dist/commands/plugin/MarketplaceManager.js.map +0 -7
- package/dist/commands/plugin/MarketplaceSelector.js +0 -124
- package/dist/commands/plugin/MarketplaceSelector.js.map +0 -7
- package/dist/commands/plugin/PlaceholderScreen.js +0 -31
- package/dist/commands/plugin/PlaceholderScreen.js.map +0 -7
- package/dist/commands/plugin/PluginBrowser.js +0 -183
- package/dist/commands/plugin/PluginBrowser.js.map +0 -7
- package/dist/commands/plugin/PluginDetailsInstall.js +0 -159
- package/dist/commands/plugin/PluginDetailsInstall.js.map +0 -7
- package/dist/commands/plugin/PluginDetailsManage.js +0 -210
- package/dist/commands/plugin/PluginDetailsManage.js.map +0 -7
- package/dist/commands/plugin/components.js +0 -16
- package/dist/commands/plugin/components.js.map +0 -7
- package/dist/commands/plugin/example-usage.js +0 -63
- package/dist/commands/plugin/example-usage.js.map +0 -7
- package/dist/commands/plugin/types.js +0 -1
- package/dist/commands/plugin/types.js.map +0 -7
- package/dist/commands/plugin/utils.js +0 -109
- package/dist/commands/plugin/utils.js.map +0 -7
- package/dist/commands/plugin.js +0 -1410
- package/dist/commands/plugin.js.map +0 -7
- package/dist/commands/quit.js +0 -18
- package/dist/commands/quit.js.map +0 -7
- package/dist/commands/refreshCommands.js +0 -48
- package/dist/commands/refreshCommands.js.map +0 -7
- package/dist/commands/resume.js +0 -271
- package/dist/commands/resume.js.map +0 -7
- package/dist/commands/review.js +0 -51
- package/dist/commands/review.js.map +0 -7
- package/dist/commands/sandbox.js +0 -203
- package/dist/commands/sandbox.js.map +0 -7
- package/dist/commands/sessions.js +0 -224
- package/dist/commands/sessions.js.map +0 -7
- package/dist/commands/setup.js +0 -653
- package/dist/commands/setup.js.map +0 -7
- package/dist/commands/stats.js +0 -292
- package/dist/commands/stats.js.map +0 -7
- package/dist/commands/status.js +0 -127
- package/dist/commands/status.js.map +0 -7
- package/dist/commands/tasks.js +0 -108
- package/dist/commands/tasks.js.map +0 -7
- package/dist/commands/terminalSetup.js +0 -170
- package/dist/commands/terminalSetup.js.map +0 -7
- package/dist/commands/todos.js +0 -123
- package/dist/commands/todos.js.map +0 -7
- package/dist/commands/undo.js +0 -227
- package/dist/commands/undo.js.map +0 -7
- package/dist/commands/vim.js +0 -22
- package/dist/commands/vim.js.map +0 -7
- package/dist/commands.js +0 -128
- package/dist/commands.js.map +0 -7
- package/dist/components/AgentResponseBlock.js +0 -41
- package/dist/components/AgentResponseBlock.js.map +0 -7
- package/dist/components/AgentThinkingBlock.js +0 -32
- package/dist/components/AgentThinkingBlock.js.map +0 -7
- package/dist/components/AsciiLogo.js +0 -18
- package/dist/components/AsciiLogo.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +0 -142
- package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/QuestionView.js +0 -55
- package/dist/components/AskUserQuestionDialog/QuestionView.js.map +0 -7
- package/dist/components/AskUserQuestionDialog/index.js +0 -7
- package/dist/components/AskUserQuestionDialog/index.js.map +0 -7
- package/dist/components/BackgroundTasksPanel.js +0 -177
- package/dist/components/BackgroundTasksPanel.js.map +0 -7
- package/dist/components/BashStreamingProgress.js +0 -24
- package/dist/components/BashStreamingProgress.js.map +0 -7
- package/dist/components/CollapsibleHint.js +0 -15
- package/dist/components/CollapsibleHint.js.map +0 -7
- package/dist/components/Config.js +0 -181
- package/dist/components/Config.js.map +0 -7
- package/dist/components/ConsoleOAuthFlow.js +0 -179
- package/dist/components/ConsoleOAuthFlow.js.map +0 -7
- package/dist/components/Cost.js +0 -14
- package/dist/components/Cost.js.map +0 -7
- package/dist/components/CostThresholdDialog.js +0 -38
- package/dist/components/CostThresholdDialog.js.map +0 -7
- package/dist/components/CustomSelect/option-map.js +0 -32
- package/dist/components/CustomSelect/option-map.js.map +0 -7
- package/dist/components/CustomSelect/select-option.js +0 -37
- package/dist/components/CustomSelect/select-option.js.map +0 -7
- package/dist/components/CustomSelect/select.js +0 -64
- package/dist/components/CustomSelect/select.js.map +0 -7
- package/dist/components/CustomSelect/theme.js +0 -1
- package/dist/components/CustomSelect/theme.js.map +0 -7
- package/dist/components/CustomSelect/use-select-state.js +0 -220
- package/dist/components/CustomSelect/use-select-state.js.map +0 -7
- package/dist/components/CustomSelect/use-select.js +0 -21
- package/dist/components/CustomSelect/use-select.js.map +0 -7
- package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
- package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
- package/dist/components/FileEditToolUpdatedMessage.js +0 -32
- package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
- package/dist/components/HeaderBar.js +0 -63
- package/dist/components/HeaderBar.js.map +0 -7
- package/dist/components/Help.js +0 -178
- package/dist/components/Help.js.map +0 -7
- package/dist/components/HighlightedCode.js +0 -31
- package/dist/components/HighlightedCode.js.map +0 -7
- package/dist/components/HistorySearchOverlay.js +0 -49
- package/dist/components/HistorySearchOverlay.js.map +0 -7
- package/dist/components/HotkeyHelpPanel.js +0 -136
- package/dist/components/HotkeyHelpPanel.js.map +0 -7
- package/dist/components/InfoPanel/InfoPanel.js +0 -123
- package/dist/components/InfoPanel/InfoPanel.js.map +0 -7
- package/dist/components/InfoPanel/index.js +0 -5
- package/dist/components/InfoPanel/index.js.map +0 -7
- package/dist/components/InfoPanel/types.js +0 -1
- package/dist/components/InfoPanel/types.js.map +0 -7
- package/dist/components/InteractionRoundBlock.js +0 -56
- package/dist/components/InteractionRoundBlock.js.map +0 -7
- package/dist/components/InvalidConfigDialog.js +0 -84
- package/dist/components/InvalidConfigDialog.js.map +0 -7
- package/dist/components/Link.js +0 -18
- package/dist/components/Link.js.map +0 -7
- package/dist/components/LogSelector.js +0 -50
- package/dist/components/LogSelector.js.map +0 -7
- package/dist/components/Logo.js +0 -55
- package/dist/components/Logo.js.map +0 -7
- package/dist/components/MCPServerApprovalDialog.js +0 -81
- package/dist/components/MCPServerApprovalDialog.js.map +0 -7
- package/dist/components/MCPServerDialogCopy.js +0 -12
- package/dist/components/MCPServerDialogCopy.js.map +0 -7
- package/dist/components/MCPServerMultiselectDialog.js +0 -82
- package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
- package/dist/components/Message.js +0 -162
- package/dist/components/Message.js.map +0 -7
- package/dist/components/MessageResponse.js +0 -9
- package/dist/components/MessageResponse.js.map +0 -7
- package/dist/components/MessageSelector.js +0 -127
- package/dist/components/MessageSelector.js.map +0 -7
- package/dist/components/ModeIndicator.js +0 -39
- package/dist/components/ModeIndicator.js.map +0 -7
- package/dist/components/ModelConfig.js +0 -223
- package/dist/components/ModelConfig.js.map +0 -7
- package/dist/components/ModelListManager.js +0 -142
- package/dist/components/ModelListManager.js.map +0 -7
- package/dist/components/ModelSelector/BrandTextInput.js +0 -43
- package/dist/components/ModelSelector/BrandTextInput.js.map +0 -7
- package/dist/components/ModelSelector/ModelSelector.js +0 -2068
- package/dist/components/ModelSelector/ModelSelector.js.map +0 -7
- package/dist/components/ModelSelector/ScreenContainer.js +0 -27
- package/dist/components/ModelSelector/ScreenContainer.js.map +0 -7
- package/dist/components/ModelSelector/WizardContainer.js +0 -45
- package/dist/components/ModelSelector/WizardContainer.js.map +0 -7
- package/dist/components/ModelSelector/constants.js +0 -37
- package/dist/components/ModelSelector/constants.js.map +0 -7
- package/dist/components/ModelSelector/hooks/index.js +0 -5
- package/dist/components/ModelSelector/hooks/index.js.map +0 -7
- package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +0 -21
- package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +0 -7
- package/dist/components/ModelSelector/index.js +0 -15
- package/dist/components/ModelSelector/index.js.map +0 -7
- package/dist/components/ModelSelector/types.js +0 -1
- package/dist/components/ModelSelector/types.js.map +0 -7
- package/dist/components/Onboarding.js +0 -159
- package/dist/components/Onboarding.js.map +0 -7
- package/dist/components/OperationSummary.js +0 -130
- package/dist/components/OperationSummary.js.map +0 -7
- package/dist/components/PressEnterToContinue.js +0 -10
- package/dist/components/PressEnterToContinue.js.map +0 -7
- package/dist/components/ProgressBar.js +0 -74
- package/dist/components/ProgressBar.js.map +0 -7
- package/dist/components/ProjectOnboarding.js +0 -99
- package/dist/components/ProjectOnboarding.js.map +0 -7
- package/dist/components/PromptInput.js +0 -996
- package/dist/components/PromptInput.js.map +0 -7
- package/dist/components/PulseLabel.js +0 -44
- package/dist/components/PulseLabel.js.map +0 -7
- package/dist/components/QuitSummary.js +0 -88
- package/dist/components/QuitSummary.js.map +0 -7
- package/dist/components/RequestStatusIndicator.js +0 -194
- package/dist/components/RequestStatusIndicator.js.map +0 -7
- package/dist/components/SensitiveFileWarning.js +0 -35
- package/dist/components/SensitiveFileWarning.js.map +0 -7
- package/dist/components/SentryErrorBoundary.js +0 -27
- package/dist/components/SentryErrorBoundary.js.map +0 -7
- package/dist/components/SimpleSelector/SimpleSelector.js +0 -154
- package/dist/components/SimpleSelector/SimpleSelector.js.map +0 -7
- package/dist/components/SimpleSelector/index.js +0 -5
- package/dist/components/SimpleSelector/index.js.map +0 -7
- package/dist/components/SimpleSelector/types.js +0 -1
- package/dist/components/SimpleSelector/types.js.map +0 -7
- package/dist/components/Spinner.js +0 -185
- package/dist/components/Spinner.js.map +0 -7
- package/dist/components/SpinnerSymbol.js +0 -72
- package/dist/components/SpinnerSymbol.js.map +0 -7
- package/dist/components/StartupStatus.js +0 -57
- package/dist/components/StartupStatus.js.map +0 -7
- package/dist/components/StatusOverlayContent.js +0 -21
- package/dist/components/StatusOverlayContent.js.map +0 -7
- package/dist/components/StreamingBashOutput.js +0 -71
- package/dist/components/StreamingBashOutput.js.map +0 -7
- package/dist/components/StructuredDiff.js +0 -146
- package/dist/components/StructuredDiff.js.map +0 -7
- package/dist/components/SubagentBlock.js +0 -196
- package/dist/components/SubagentBlock.js.map +0 -7
- package/dist/components/SubagentManager.js +0 -65
- package/dist/components/SubagentManager.js.map +0 -7
- package/dist/components/SubagentProgress.js +0 -123
- package/dist/components/SubagentProgress.js.map +0 -7
- package/dist/components/SubagentStatusMarker.js +0 -37
- package/dist/components/SubagentStatusMarker.js.map +0 -7
- package/dist/components/TabbedListView/ScrollableList.js +0 -117
- package/dist/components/TabbedListView/ScrollableList.js.map +0 -7
- package/dist/components/TabbedListView/SearchInput.js +0 -23
- package/dist/components/TabbedListView/SearchInput.js.map +0 -7
- package/dist/components/TabbedListView/TabBar.js +0 -25
- package/dist/components/TabbedListView/TabBar.js.map +0 -7
- package/dist/components/TabbedListView/TabbedListView.js +0 -246
- package/dist/components/TabbedListView/TabbedListView.js.map +0 -7
- package/dist/components/TabbedListView/index.js +0 -11
- package/dist/components/TabbedListView/index.js.map +0 -7
- package/dist/components/TabbedListView/types.js +0 -1
- package/dist/components/TabbedListView/types.js.map +0 -7
- package/dist/components/TaskCard.js +0 -176
- package/dist/components/TaskCard.js.map +0 -7
- package/dist/components/TextInput.js +0 -108
- package/dist/components/TextInput.js.map +0 -7
- package/dist/components/TimelineRenderer.js +0 -31
- package/dist/components/TimelineRenderer.js.map +0 -7
- package/dist/components/TodoChangeBlock.js +0 -30
- package/dist/components/TodoChangeBlock.js.map +0 -7
- package/dist/components/TodoChangeLine.js +0 -22
- package/dist/components/TodoChangeLine.js.map +0 -7
- package/dist/components/TodoItem.js +0 -35
- package/dist/components/TodoItem.js.map +0 -7
- package/dist/components/TodoPanel.js +0 -166
- package/dist/components/TodoPanel.js.map +0 -7
- package/dist/components/TokenCounter.js +0 -74
- package/dist/components/TokenCounter.js.map +0 -7
- package/dist/components/TokenWarning.js +0 -20
- package/dist/components/TokenWarning.js.map +0 -7
- package/dist/components/ToolExecutionBlock.js +0 -18
- package/dist/components/ToolExecutionBlock.js.map +0 -7
- package/dist/components/ToolUseLoader.js +0 -29
- package/dist/components/ToolUseLoader.js.map +0 -7
- package/dist/components/TreeConnector.js +0 -26
- package/dist/components/TreeConnector.js.map +0 -7
- package/dist/components/TrustDialog.js +0 -71
- package/dist/components/TrustDialog.js.map +0 -7
- package/dist/components/TurnCompletionIndicator.js +0 -18
- package/dist/components/TurnCompletionIndicator.js.map +0 -7
- package/dist/components/UserQueryBlock.js +0 -12
- package/dist/components/UserQueryBlock.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
- package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -92
- package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
- package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -140
- package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
- package/dist/components/binary-feedback/utils.js +0 -108
- package/dist/components/binary-feedback/utils.js.map +0 -7
- package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
- package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
- package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
- package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
- package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantTextMessage.js +0 -89
- package/dist/components/messages/AssistantTextMessage.js.map +0 -7
- package/dist/components/messages/AssistantThinkingMessage.js +0 -42
- package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
- package/dist/components/messages/AssistantToolUseMessage.js +0 -100
- package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
- package/dist/components/messages/GroupRenderer.js +0 -54
- package/dist/components/messages/GroupRenderer.js.map +0 -7
- package/dist/components/messages/NestedTasksPreview.js +0 -24
- package/dist/components/messages/NestedTasksPreview.js.map +0 -7
- package/dist/components/messages/ParallelTasksGroupView.js +0 -93
- package/dist/components/messages/ParallelTasksGroupView.js.map +0 -7
- package/dist/components/messages/TaskInModuleView.js +0 -218
- package/dist/components/messages/TaskInModuleView.js.map +0 -7
- package/dist/components/messages/TaskOutputContent.js +0 -56
- package/dist/components/messages/TaskOutputContent.js.map +0 -7
- package/dist/components/messages/TaskProgressMessage.js +0 -11
- package/dist/components/messages/TaskProgressMessage.js.map +0 -7
- package/dist/components/messages/TaskToolMessage.js +0 -39
- package/dist/components/messages/TaskToolMessage.js.map +0 -7
- package/dist/components/messages/UserBashInputMessage.js +0 -18
- package/dist/components/messages/UserBashInputMessage.js.map +0 -7
- package/dist/components/messages/UserCommandMessage.js +0 -20
- package/dist/components/messages/UserCommandMessage.js.map +0 -7
- package/dist/components/messages/UserKodingInputMessage.js +0 -18
- package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
- package/dist/components/messages/UserPromptMessage.js +0 -25
- package/dist/components/messages/UserPromptMessage.js.map +0 -7
- package/dist/components/messages/UserTextMessage.js +0 -25
- package/dist/components/messages/UserTextMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -11
- package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
- package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -25
- package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -47
- package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -22
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
- package/dist/components/messages/UserToolResultMessage/utils.js +0 -50
- package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
- package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
- package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
- package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
- package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
- package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
- package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequest.js +0 -70
- package/dist/components/permissions/PermissionRequest.js.map +0 -7
- package/dist/components/permissions/PermissionRequestTitle.js +0 -52
- package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
- package/dist/components/permissions/hooks.js +0 -23
- package/dist/components/permissions/hooks.js.map +0 -7
- package/dist/components/permissions/toolUseOptions.js +0 -46
- package/dist/components/permissions/toolUseOptions.js.map +0 -7
- package/dist/components/permissions/utils.js +0 -21
- package/dist/components/permissions/utils.js.map +0 -7
- package/dist/constants/claude-asterisk-ascii-art.js +0 -242
- package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
- package/dist/constants/colors.js +0 -192
- package/dist/constants/colors.js.map +0 -7
- package/dist/constants/compressionPrompts.js +0 -73
- package/dist/constants/compressionPrompts.js.map +0 -7
- package/dist/constants/figures.js +0 -6
- package/dist/constants/figures.js.map +0 -7
- package/dist/constants/formatRules.js +0 -102
- package/dist/constants/formatRules.js.map +0 -7
- package/dist/constants/macros.js +0 -11
- package/dist/constants/macros.js.map +0 -7
- package/dist/constants/modelCapabilities.js +0 -239
- package/dist/constants/modelCapabilities.js.map +0 -7
- package/dist/constants/models.js +0 -1034
- package/dist/constants/models.js.map +0 -7
- package/dist/constants/oauth.js +0 -18
- package/dist/constants/oauth.js.map +0 -7
- package/dist/constants/product.js +0 -28
- package/dist/constants/product.js.map +0 -7
- package/dist/constants/prompts/agentPrompt.js +0 -30
- package/dist/constants/prompts/agentPrompt.js.map +0 -7
- package/dist/constants/prompts/codeConventions.js +0 -27
- package/dist/constants/prompts/codeConventions.js.map +0 -7
- package/dist/constants/prompts/doingTasks.js +0 -15
- package/dist/constants/prompts/doingTasks.js.map +0 -7
- package/dist/constants/prompts/envInfo.js +0 -17
- package/dist/constants/prompts/envInfo.js.map +0 -7
- package/dist/constants/prompts/executingWithCare.js +0 -17
- package/dist/constants/prompts/executingWithCare.js.map +0 -7
- package/dist/constants/prompts/identity.js +0 -10
- package/dist/constants/prompts/identity.js.map +0 -7
- package/dist/constants/prompts/index.js +0 -78
- package/dist/constants/prompts/index.js.map +0 -7
- package/dist/constants/prompts/taskManagement.js +0 -60
- package/dist/constants/prompts/taskManagement.js.map +0 -7
- package/dist/constants/prompts/toneAndStyle.js +0 -62
- package/dist/constants/prompts/toneAndStyle.js.map +0 -7
- package/dist/constants/prompts/toolUsagePolicy.js +0 -38
- package/dist/constants/prompts/toolUsagePolicy.js.map +0 -7
- package/dist/constants/prompts.js +0 -13
- package/dist/constants/prompts.js.map +0 -7
- package/dist/constants/providerRegistry.js +0 -235
- package/dist/constants/providerRegistry.js.map +0 -7
- package/dist/constants/providers.js +0 -35
- package/dist/constants/providers.js.map +0 -7
- package/dist/constants/releaseNotes.js +0 -9
- package/dist/constants/releaseNotes.js.map +0 -7
- package/dist/constants/symbols.js +0 -108
- package/dist/constants/symbols.js.map +0 -7
- package/dist/constants/timing.js +0 -39
- package/dist/constants/timing.js.map +0 -7
- package/dist/constants/toolInputExamples.js +0 -88
- package/dist/constants/toolInputExamples.js.map +0 -7
- package/dist/context/PermissionContext.js +0 -110
- package/dist/context/PermissionContext.js.map +0 -7
- package/dist/context.js +0 -334
- package/dist/context.js.map +0 -7
- package/dist/core/backupHook.js +0 -29
- package/dist/core/backupHook.js.map +0 -7
- package/dist/core/backupManager.js +0 -321
- package/dist/core/backupManager.js.map +0 -7
- package/dist/core/config/defaults.js +0 -93
- package/dist/core/config/defaults.js.map +0 -7
- package/dist/core/config/index.js +0 -111
- package/dist/core/config/index.js.map +0 -7
- package/dist/core/config/loader.js +0 -221
- package/dist/core/config/loader.js.map +0 -7
- package/dist/core/config/migrations.js +0 -128
- package/dist/core/config/migrations.js.map +0 -7
- package/dist/core/config/schema.js +0 -196
- package/dist/core/config/schema.js.map +0 -7
- package/dist/core/costTracker.js +0 -131
- package/dist/core/costTracker.js.map +0 -7
- package/dist/core/gitAutoCommit.js +0 -287
- package/dist/core/gitAutoCommit.js.map +0 -7
- package/dist/core/index.js +0 -7
- package/dist/core/index.js.map +0 -7
- package/dist/core/operationTracker.js +0 -212
- package/dist/core/operationTracker.js.map +0 -7
- package/dist/core/permissions/auditLog.js +0 -204
- package/dist/core/permissions/auditLog.js.map +0 -7
- package/dist/core/permissions/engine/index.js +0 -3
- package/dist/core/permissions/engine/index.js.map +0 -7
- package/dist/core/permissions/engine/permissionEngine.js +0 -106
- package/dist/core/permissions/engine/permissionEngine.js.map +0 -7
- package/dist/core/permissions/engine/types.js +0 -1
- package/dist/core/permissions/engine/types.js.map +0 -7
- package/dist/core/permissions/index.js +0 -84
- package/dist/core/permissions/index.js.map +0 -7
- package/dist/core/permissions/ruleEngine.js +0 -259
- package/dist/core/permissions/ruleEngine.js.map +0 -7
- package/dist/core/permissions/rules/allowedToolsRule.js +0 -62
- package/dist/core/permissions/rules/allowedToolsRule.js.map +0 -7
- package/dist/core/permissions/rules/autoEscalationRule.js +0 -296
- package/dist/core/permissions/rules/autoEscalationRule.js.map +0 -7
- package/dist/core/permissions/rules/index.js +0 -46
- package/dist/core/permissions/rules/index.js.map +0 -7
- package/dist/core/permissions/rules/planModeRule.js +0 -55
- package/dist/core/permissions/rules/planModeRule.js.map +0 -7
- package/dist/core/permissions/rules/projectBoundaryRule.js +0 -173
- package/dist/core/permissions/rules/projectBoundaryRule.js.map +0 -7
- package/dist/core/permissions/rules/safeModeRule.js +0 -65
- package/dist/core/permissions/rules/safeModeRule.js.map +0 -7
- package/dist/core/permissions/rules/sensitivePathsRule.js +0 -345
- package/dist/core/permissions/rules/sensitivePathsRule.js.map +0 -7
- package/dist/core/permissions/types.js +0 -127
- package/dist/core/permissions/types.js.map +0 -7
- package/dist/core/tokenStats.js +0 -9
- package/dist/core/tokenStats.js.map +0 -7
- package/dist/core/tokenStatsManager.js +0 -354
- package/dist/core/tokenStatsManager.js.map +0 -7
- package/dist/core/tools/executor.js +0 -143
- package/dist/core/tools/executor.js.map +0 -7
- package/dist/core/tools/index.js +0 -15
- package/dist/core/tools/index.js.map +0 -7
- package/dist/core/tools/registry.js +0 -183
- package/dist/core/tools/registry.js.map +0 -7
- package/dist/core/tools/types.js +0 -1
- package/dist/core/tools/types.js.map +0 -7
- package/dist/cost-tracker.js +0 -68
- package/dist/cost-tracker.js.map +0 -7
- package/dist/entrypoints/bootstrap.js +0 -56
- package/dist/entrypoints/bootstrap.js.map +0 -7
- package/dist/entrypoints/cli.js +0 -1390
- package/dist/entrypoints/cli.js.map +0 -7
- package/dist/entrypoints/mcp.js +0 -153
- package/dist/entrypoints/mcp.js.map +0 -7
- package/dist/history.js +0 -96
- package/dist/history.js.map +0 -7
- package/dist/hooks/useAgentTokenStats.js +0 -72
- package/dist/hooks/useAgentTokenStats.js.map +0 -7
- package/dist/hooks/useAgentTranscripts.js +0 -141
- package/dist/hooks/useAgentTranscripts.js.map +0 -7
- package/dist/hooks/useAnimationSync.js +0 -53
- package/dist/hooks/useAnimationSync.js.map +0 -7
- package/dist/hooks/useApiKeyVerification.js +0 -12
- package/dist/hooks/useApiKeyVerification.js.map +0 -7
- package/dist/hooks/useArrowKeyHistory.js +0 -52
- package/dist/hooks/useArrowKeyHistory.js.map +0 -7
- package/dist/hooks/useAskUser.js +0 -24
- package/dist/hooks/useAskUser.js.map +0 -7
- package/dist/hooks/useBackgroundShells.js +0 -29
- package/dist/hooks/useBackgroundShells.js.map +0 -7
- package/dist/hooks/useCanUseTool.js +0 -89
- package/dist/hooks/useCanUseTool.js.map +0 -7
- package/dist/hooks/useDeferredLoading.js +0 -64
- package/dist/hooks/useDeferredLoading.js.map +0 -7
- package/dist/hooks/useDoublePress.js +0 -31
- package/dist/hooks/useDoublePress.js.map +0 -7
- package/dist/hooks/useExitOnCtrlCD.js +0 -30
- package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
- package/dist/hooks/useHistorySearch.js +0 -62
- package/dist/hooks/useHistorySearch.js.map +0 -7
- package/dist/hooks/useHookStatus.js +0 -40
- package/dist/hooks/useHookStatus.js.map +0 -7
- package/dist/hooks/useInterval.js +0 -18
- package/dist/hooks/useInterval.js.map +0 -7
- package/dist/hooks/useLogMessages.js +0 -41
- package/dist/hooks/useLogMessages.js.map +0 -7
- package/dist/hooks/useLogStartupTime.js +0 -10
- package/dist/hooks/useLogStartupTime.js.map +0 -7
- package/dist/hooks/useMessageGroups.js +0 -43
- package/dist/hooks/useMessageGroups.js.map +0 -7
- package/dist/hooks/useNotifyAfterTimeout.js +0 -42
- package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
- package/dist/hooks/usePermissionRequestLogging.js +0 -23
- package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
- package/dist/hooks/useSessionTracking.js +0 -55
- package/dist/hooks/useSessionTracking.js.map +0 -7
- package/dist/hooks/useTerminalSize.js +0 -115
- package/dist/hooks/useTerminalSize.js.map +0 -7
- package/dist/hooks/useTextInput.js +0 -253
- package/dist/hooks/useTextInput.js.map +0 -7
- package/dist/hooks/useUnifiedCompletion.js +0 -1098
- package/dist/hooks/useUnifiedCompletion.js.map +0 -7
- package/dist/i18n/index.js +0 -109
- package/dist/i18n/index.js.map +0 -7
- package/dist/i18n/locales/en.js +0 -928
- package/dist/i18n/locales/en.js.map +0 -7
- package/dist/i18n/locales/index.js +0 -7
- package/dist/i18n/locales/index.js.map +0 -7
- package/dist/i18n/locales/zh-CN.js +0 -928
- package/dist/i18n/locales/zh-CN.js.map +0 -7
- package/dist/i18n/types.js +0 -8
- package/dist/i18n/types.js.map +0 -7
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -7
- package/dist/messages.js +0 -68
- package/dist/messages.js.map +0 -7
- package/dist/package.json +0 -4
- package/dist/permissions.js +0 -430
- package/dist/permissions.js.map +0 -7
- package/dist/query.js +0 -753
- package/dist/query.js.map +0 -7
- package/dist/screens/LogList.js +0 -55
- package/dist/screens/LogList.js.map +0 -7
- package/dist/screens/REPL.js +0 -1097
- package/dist/screens/REPL.js.map +0 -7
- package/dist/screens/ResumeConversation.js +0 -59
- package/dist/screens/ResumeConversation.js.map +0 -7
- package/dist/services/adapters/base.js +0 -29
- package/dist/services/adapters/base.js.map +0 -7
- package/dist/services/adapters/chatCompletions.js +0 -71
- package/dist/services/adapters/chatCompletions.js.map +0 -7
- package/dist/services/adapters/messageNormalizer.js +0 -354
- package/dist/services/adapters/messageNormalizer.js.map +0 -7
- package/dist/services/adapters/responsesAPI.js +0 -137
- package/dist/services/adapters/responsesAPI.js.map +0 -7
- package/dist/services/agentTeams/index.js +0 -35
- package/dist/services/agentTeams/index.js.map +0 -7
- package/dist/services/agentTeams/mailbox.js +0 -114
- package/dist/services/agentTeams/mailbox.js.map +0 -7
- package/dist/services/agentTeams/teamManager.js +0 -149
- package/dist/services/agentTeams/teamManager.js.map +0 -7
- package/dist/services/agentTeams/teamTaskStore.js +0 -114
- package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
- package/dist/services/agentTeams/teammateSpawner.js +0 -80
- package/dist/services/agentTeams/teammateSpawner.js.map +0 -7
- package/dist/services/checkpointManager.js +0 -399
- package/dist/services/checkpointManager.js.map +0 -7
- package/dist/services/claude.js +0 -41
- package/dist/services/claude.js.map +0 -7
- package/dist/services/compressionService.js +0 -259
- package/dist/services/compressionService.js.map +0 -7
- package/dist/services/contextMonitor.js +0 -162
- package/dist/services/contextMonitor.js.map +0 -7
- package/dist/services/customCommands.js +0 -489
- package/dist/services/customCommands.js.map +0 -7
- package/dist/services/fileFreshness.js +0 -275
- package/dist/services/fileFreshness.js.map +0 -7
- package/dist/services/gpt5ConnectionTest.js +0 -263
- package/dist/services/gpt5ConnectionTest.js.map +0 -7
- package/dist/services/hookExecutor.js +0 -728
- package/dist/services/hookExecutor.js.map +0 -7
- package/dist/services/intelligentCompactor.js +0 -281
- package/dist/services/intelligentCompactor.js.map +0 -7
- package/dist/services/llm/anthropicProvider.js +0 -807
- package/dist/services/llm/anthropicProvider.js.map +0 -7
- package/dist/services/llm/dispatch.js +0 -218
- package/dist/services/llm/dispatch.js.map +0 -7
- package/dist/services/llm/index.js +0 -44
- package/dist/services/llm/index.js.map +0 -7
- package/dist/services/llm/mintoContext.js +0 -69
- package/dist/services/llm/mintoContext.js.map +0 -7
- package/dist/services/llm/openaiProvider.js +0 -622
- package/dist/services/llm/openaiProvider.js.map +0 -7
- package/dist/services/llm/types.js +0 -157
- package/dist/services/llm/types.js.map +0 -7
- package/dist/services/lspConfig.js +0 -109
- package/dist/services/lspConfig.js.map +0 -7
- package/dist/services/mainAgentCompressor.js +0 -84
- package/dist/services/mainAgentCompressor.js.map +0 -7
- package/dist/services/mcpClient.js +0 -921
- package/dist/services/mcpClient.js.map +0 -7
- package/dist/services/mcpServerApproval.js +0 -55
- package/dist/services/mcpServerApproval.js.map +0 -7
- package/dist/services/mentionProcessor.js +0 -214
- package/dist/services/mentionProcessor.js.map +0 -7
- package/dist/services/modelAdapterFactory.js +0 -47
- package/dist/services/modelAdapterFactory.js.map +0 -7
- package/dist/services/modelOrchestrator.js +0 -310
- package/dist/services/modelOrchestrator.js.map +0 -7
- package/dist/services/notifier.js +0 -49
- package/dist/services/notifier.js.map +0 -7
- package/dist/services/oauth.js +0 -249
- package/dist/services/oauth.js.map +0 -7
- package/dist/services/openai.js +0 -1049
- package/dist/services/openai.js.map +0 -7
- package/dist/services/outputStyles.js +0 -219
- package/dist/services/outputStyles.js.map +0 -7
- package/dist/services/plugins/index.js +0 -5
- package/dist/services/plugins/index.js.map +0 -7
- package/dist/services/plugins/lspServers.js +0 -188
- package/dist/services/plugins/lspServers.js.map +0 -7
- package/dist/services/plugins/pluginRuntime.js +0 -230
- package/dist/services/plugins/pluginRuntime.js.map +0 -7
- package/dist/services/plugins/pluginValidation.js +0 -226
- package/dist/services/plugins/pluginValidation.js.map +0 -7
- package/dist/services/plugins/skillMarketplace.js +0 -567
- package/dist/services/plugins/skillMarketplace.js.map +0 -7
- package/dist/services/responseStateManager.js +0 -102
- package/dist/services/responseStateManager.js.map +0 -7
- package/dist/services/sandbox/filesystemBoundary.js +0 -341
- package/dist/services/sandbox/filesystemBoundary.js.map +0 -7
- package/dist/services/sandbox/index.js +0 -14
- package/dist/services/sandbox/index.js.map +0 -7
- package/dist/services/sandbox/networkProxy.js +0 -293
- package/dist/services/sandbox/networkProxy.js.map +0 -7
- package/dist/services/sandbox/sandboxController.js +0 -574
- package/dist/services/sandbox/sandboxController.js.map +0 -7
- package/dist/services/sandbox/types.js +0 -50
- package/dist/services/sandbox/types.js.map +0 -7
- package/dist/services/sentry.js +0 -9
- package/dist/services/sentry.js.map +0 -7
- package/dist/services/sessionMemory.js +0 -279
- package/dist/services/sessionMemory.js.map +0 -7
- package/dist/services/subagentAbortManager.js +0 -95
- package/dist/services/subagentAbortManager.js.map +0 -7
- package/dist/services/subagentCompressor.js +0 -146
- package/dist/services/subagentCompressor.js.map +0 -7
- package/dist/services/systemReminder.js +0 -693
- package/dist/services/systemReminder.js.map +0 -7
- package/dist/services/taskRouter.js +0 -324
- package/dist/services/taskRouter.js.map +0 -7
- package/dist/services/taskStore.js +0 -224
- package/dist/services/taskStore.js.map +0 -7
- package/dist/services/vcr.js +0 -133
- package/dist/services/vcr.js.map +0 -7
- package/dist/tools/ArchitectTool/ArchitectTool.js +0 -126
- package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
- package/dist/tools/ArchitectTool/prompt.js +0 -18
- package/dist/tools/ArchitectTool/prompt.js.map +0 -7
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -433
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -158
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/index.js +0 -5
- package/dist/tools/AskUserQuestionTool/index.js.map +0 -7
- package/dist/tools/AskUserQuestionTool/prompt.js +0 -167
- package/dist/tools/AskUserQuestionTool/prompt.js.map +0 -7
- package/dist/tools/BaseTool.js +0 -72
- package/dist/tools/BaseTool.js.map +0 -7
- package/dist/tools/BashOutputTool/BashOutputTool.js +0 -120
- package/dist/tools/BashOutputTool/BashOutputTool.js.map +0 -7
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +0 -14
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +0 -7
- package/dist/tools/BashOutputTool/prompt.js +0 -13
- package/dist/tools/BashOutputTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/BashTool.js +0 -330
- package/dist/tools/BashTool/BashTool.js.map +0 -7
- package/dist/tools/BashTool/BashToolResultMessage.js +0 -24
- package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
- package/dist/tools/BashTool/OutputLine.js +0 -84
- package/dist/tools/BashTool/OutputLine.js.map +0 -7
- package/dist/tools/BashTool/prompt.js +0 -519
- package/dist/tools/BashTool/prompt.js.map +0 -7
- package/dist/tools/BashTool/utils.js +0 -51
- package/dist/tools/BashTool/utils.js.map +0 -7
- package/dist/tools/FileEditTool/FileEditTool.js +0 -273
- package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
- package/dist/tools/FileEditTool/prompt.js +0 -60
- package/dist/tools/FileEditTool/prompt.js.map +0 -7
- package/dist/tools/FileEditTool/utils.js +0 -48
- package/dist/tools/FileEditTool/utils.js.map +0 -7
- package/dist/tools/FileReadTool/FileReadTool.js +0 -305
- package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
- package/dist/tools/FileReadTool/prompt.js +0 -25
- package/dist/tools/FileReadTool/prompt.js.map +0 -7
- package/dist/tools/FileWriteTool/FileWriteTool.js +0 -211
- package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
- package/dist/tools/FileWriteTool/prompt.js +0 -23
- package/dist/tools/FileWriteTool/prompt.js.map +0 -7
- package/dist/tools/GlobTool/GlobTool.js +0 -99
- package/dist/tools/GlobTool/GlobTool.js.map +0 -7
- package/dist/tools/GlobTool/prompt.js +0 -23
- package/dist/tools/GlobTool/prompt.js.map +0 -7
- package/dist/tools/GrepTool/GrepTool.js +0 -406
- package/dist/tools/GrepTool/GrepTool.js.map +0 -7
- package/dist/tools/GrepTool/prompt.js +0 -22
- package/dist/tools/GrepTool/prompt.js.map +0 -7
- package/dist/tools/KillShellTool/KillShellTool.js +0 -92
- package/dist/tools/KillShellTool/KillShellTool.js.map +0 -7
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js +0 -14
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +0 -7
- package/dist/tools/KillShellTool/prompt.js +0 -12
- package/dist/tools/KillShellTool/prompt.js.map +0 -7
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -109
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +0 -7
- package/dist/tools/ListMcpResourcesTool/prompt.js +0 -19
- package/dist/tools/ListMcpResourcesTool/prompt.js.map +0 -7
- package/dist/tools/LspTool/LspTool.js +0 -673
- package/dist/tools/LspTool/LspTool.js.map +0 -7
- package/dist/tools/LspTool/prompt.js +0 -27
- package/dist/tools/LspTool/prompt.js.map +0 -7
- package/dist/tools/MCPTool/MCPTool.js +0 -97
- package/dist/tools/MCPTool/MCPTool.js.map +0 -7
- package/dist/tools/MCPTool/prompt.js +0 -7
- package/dist/tools/MCPTool/prompt.js.map +0 -7
- package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -117
- package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
- package/dist/tools/MemoryReadTool/prompt.js +0 -7
- package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -78
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js +0 -7
- package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
- package/dist/tools/MultiEditTool/MultiEditTool.js +0 -328
- package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
- package/dist/tools/MultiEditTool/prompt.js +0 -50
- package/dist/tools/MultiEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -257
- package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
- package/dist/tools/NotebookEditTool/prompt.js +0 -7
- package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
- package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -218
- package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
- package/dist/tools/NotebookReadTool/prompt.js +0 -7
- package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js +0 -81
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -111
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
- package/dist/tools/PlanModeTool/prompt.js +0 -94
- package/dist/tools/PlanModeTool/prompt.js.map +0 -7
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -130
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +0 -7
- package/dist/tools/ReadMcpResourceTool/prompt.js +0 -17
- package/dist/tools/ReadMcpResourceTool/prompt.js.map +0 -7
- package/dist/tools/SkillTool/SkillTool.js +0 -227
- package/dist/tools/SkillTool/SkillTool.js.map +0 -7
- package/dist/tools/SkillTool/prompt.js +0 -81
- package/dist/tools/SkillTool/prompt.js.map +0 -7
- package/dist/tools/SlashCommandTool/SlashCommandTool.js +0 -416
- package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +0 -7
- package/dist/tools/SlashCommandTool/prompt.js +0 -35
- package/dist/tools/SlashCommandTool/prompt.js.map +0 -7
- package/dist/tools/TaskCreateTool/TaskCreateTool.js +0 -102
- package/dist/tools/TaskCreateTool/TaskCreateTool.js.map +0 -7
- package/dist/tools/TaskCreateTool/prompt.js +0 -47
- package/dist/tools/TaskCreateTool/prompt.js.map +0 -7
- package/dist/tools/TaskGetTool/TaskGetTool.js +0 -115
- package/dist/tools/TaskGetTool/TaskGetTool.js.map +0 -7
- package/dist/tools/TaskGetTool/prompt.js +0 -28
- package/dist/tools/TaskGetTool/prompt.js.map +0 -7
- package/dist/tools/TaskListTool/TaskListTool.js +0 -102
- package/dist/tools/TaskListTool/TaskListTool.js.map +0 -7
- package/dist/tools/TaskListTool/prompt.js +0 -27
- package/dist/tools/TaskListTool/prompt.js.map +0 -7
- package/dist/tools/TaskOutputTool/TaskOutputTool.js +0 -190
- package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +0 -7
- package/dist/tools/TaskOutputTool/prompt.js +0 -15
- package/dist/tools/TaskOutputTool/prompt.js.map +0 -7
- package/dist/tools/TaskStopTool/TaskStopTool.js +0 -150
- package/dist/tools/TaskStopTool/TaskStopTool.js.map +0 -7
- package/dist/tools/TaskStopTool/prompt.js +0 -15
- package/dist/tools/TaskStopTool/prompt.js.map +0 -7
- package/dist/tools/TaskTool/TaskTool.js +0 -861
- package/dist/tools/TaskTool/TaskTool.js.map +0 -7
- package/dist/tools/TaskTool/constants.js +0 -5
- package/dist/tools/TaskTool/constants.js.map +0 -7
- package/dist/tools/TaskTool/prompt.js +0 -117
- package/dist/tools/TaskTool/prompt.js.map +0 -7
- package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -134
- package/dist/tools/TaskUpdateTool/TaskUpdateTool.js.map +0 -7
- package/dist/tools/TaskUpdateTool/prompt.js +0 -81
- package/dist/tools/TaskUpdateTool/prompt.js.map +0 -7
- package/dist/tools/ThinkTool/ThinkTool.js +0 -45
- package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
- package/dist/tools/ThinkTool/prompt.js +0 -16
- package/dist/tools/ThinkTool/prompt.js.map +0 -7
- package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -232
- package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
- package/dist/tools/TodoWriteTool/prompt.js +0 -87
- package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
- package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -143
- package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
- package/dist/tools/URLFetcherTool/cache.js +0 -95
- package/dist/tools/URLFetcherTool/cache.js.map +0 -7
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -44
- package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
- package/dist/tools/URLFetcherTool/prompt.js +0 -27
- package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/WebSearchTool.js +0 -91
- package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
- package/dist/tools/WebSearchTool/prompt.js +0 -23
- package/dist/tools/WebSearchTool/prompt.js.map +0 -7
- package/dist/tools/WebSearchTool/searchProviders.js +0 -58
- package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
- package/dist/tools/lsTool/lsTool.js +0 -201
- package/dist/tools/lsTool/lsTool.js.map +0 -7
- package/dist/tools/lsTool/prompt.js +0 -5
- package/dist/tools/lsTool/prompt.js.map +0 -7
- package/dist/tools.js +0 -127
- package/dist/tools.js.map +0 -7
- package/dist/types/PermissionMode.js +0 -131
- package/dist/types/PermissionMode.js.map +0 -7
- package/dist/types/RequestContext.js +0 -47
- package/dist/types/RequestContext.js.map +0 -7
- package/dist/types/agentTeams.js +0 -1
- package/dist/types/agentTeams.js.map +0 -7
- package/dist/types/askUserQuestion.js +0 -1
- package/dist/types/askUserQuestion.js.map +0 -7
- package/dist/types/common.d.js +0 -1
- package/dist/types/common.d.js.map +0 -7
- package/dist/types/conversation.js +0 -1
- package/dist/types/conversation.js.map +0 -7
- package/dist/types/core.js +0 -1
- package/dist/types/core.js.map +0 -7
- package/dist/types/hooks.js +0 -45
- package/dist/types/hooks.js.map +0 -7
- package/dist/types/interactionRound.js +0 -1
- package/dist/types/interactionRound.js.map +0 -7
- package/dist/types/logs.js +0 -1
- package/dist/types/logs.js.map +0 -7
- package/dist/types/marketplace.js +0 -107
- package/dist/types/marketplace.js.map +0 -7
- package/dist/types/messageGroup.js +0 -36
- package/dist/types/messageGroup.js.map +0 -7
- package/dist/types/modelCapabilities.js +0 -1
- package/dist/types/modelCapabilities.js.map +0 -7
- package/dist/types/notebook.js +0 -1
- package/dist/types/notebook.js.map +0 -7
- package/dist/types/plugin.js +0 -84
- package/dist/types/plugin.js.map +0 -7
- package/dist/types/subagent.js +0 -1
- package/dist/types/subagent.js.map +0 -7
- package/dist/types/thinking.js +0 -1
- package/dist/types/thinking.js.map +0 -7
- package/dist/utils/BackgroundShellManager.js +0 -378
- package/dist/utils/BackgroundShellManager.js.map +0 -7
- package/dist/utils/CircuitBreaker.js +0 -242
- package/dist/utils/CircuitBreaker.js.map +0 -7
- package/dist/utils/Cursor.js +0 -315
- package/dist/utils/Cursor.js.map +0 -7
- package/dist/utils/MessageBatchBuffer.js +0 -102
- package/dist/utils/MessageBatchBuffer.js.map +0 -7
- package/dist/utils/PersistentShell.js +0 -526
- package/dist/utils/PersistentShell.js.map +0 -7
- package/dist/utils/advancedFuzzyMatcher.js +0 -209
- package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
- package/dist/utils/agentHookExecutor.js +0 -103
- package/dist/utils/agentHookExecutor.js.map +0 -7
- package/dist/utils/agentLoader.js +0 -518
- package/dist/utils/agentLoader.js.map +0 -7
- package/dist/utils/agentMemory.js +0 -134
- package/dist/utils/agentMemory.js.map +0 -7
- package/dist/utils/agentStorage.js +0 -59
- package/dist/utils/agentStorage.js.map +0 -7
- package/dist/utils/agentTranscripts.js +0 -641
- package/dist/utils/agentTranscripts.js.map +0 -7
- package/dist/utils/animationManager.js +0 -213
- package/dist/utils/animationManager.js.map +0 -7
- package/dist/utils/animationSync.js +0 -110
- package/dist/utils/animationSync.js.map +0 -7
- package/dist/utils/array.js +0 -7
- package/dist/utils/array.js.map +0 -7
- package/dist/utils/ask.js +0 -79
- package/dist/utils/ask.js.map +0 -7
- package/dist/utils/async.js +0 -167
- package/dist/utils/async.js.map +0 -7
- package/dist/utils/asyncFile.js +0 -215
- package/dist/utils/asyncFile.js.map +0 -7
- package/dist/utils/auth.js +0 -11
- package/dist/utils/auth.js.map +0 -7
- package/dist/utils/autoCompactCore.js +0 -186
- package/dist/utils/autoCompactCore.js.map +0 -7
- package/dist/utils/autoUpdater.js +0 -113
- package/dist/utils/autoUpdater.js.map +0 -7
- package/dist/utils/backgroundAgentManager.js +0 -231
- package/dist/utils/backgroundAgentManager.js.map +0 -7
- package/dist/utils/browser.js +0 -15
- package/dist/utils/browser.js.map +0 -7
- package/dist/utils/claudeCodeSync.js +0 -439
- package/dist/utils/claudeCodeSync.js.map +0 -7
- package/dist/utils/cleanup.js +0 -54
- package/dist/utils/cleanup.js.map +0 -7
- package/dist/utils/commands.js +0 -219
- package/dist/utils/commands.js.map +0 -7
- package/dist/utils/commonUnixCommands.js +0 -689
- package/dist/utils/commonUnixCommands.js.map +0 -7
- package/dist/utils/compressionMode.js +0 -47
- package/dist/utils/compressionMode.js.map +0 -7
- package/dist/utils/config.js +0 -691
- package/dist/utils/config.js.map +0 -7
- package/dist/utils/configPaths.js +0 -199
- package/dist/utils/configPaths.js.map +0 -7
- package/dist/utils/configSchema.js +0 -227
- package/dist/utils/configSchema.js.map +0 -7
- package/dist/utils/conversationRecovery.js +0 -54
- package/dist/utils/conversationRecovery.js.map +0 -7
- package/dist/utils/credentials/CredentialStore.js +0 -1
- package/dist/utils/credentials/CredentialStore.js.map +0 -7
- package/dist/utils/credentials/EncryptedFileStore.js +0 -157
- package/dist/utils/credentials/EncryptedFileStore.js.map +0 -7
- package/dist/utils/credentials/index.js +0 -37
- package/dist/utils/credentials/index.js.map +0 -7
- package/dist/utils/credentials/migration.js +0 -82
- package/dist/utils/credentials/migration.js.map +0 -7
- package/dist/utils/debugLogger.js +0 -889
- package/dist/utils/debugLogger.js.map +0 -7
- package/dist/utils/diff.js +0 -32
- package/dist/utils/diff.js.map +0 -7
- package/dist/utils/env.js +0 -45
- package/dist/utils/env.js.map +0 -7
- package/dist/utils/envConfig.js +0 -116
- package/dist/utils/envConfig.js.map +0 -7
- package/dist/utils/errorHandling.js +0 -89
- package/dist/utils/errorHandling.js.map +0 -7
- package/dist/utils/errors.js +0 -23
- package/dist/utils/errors.js.map +0 -7
- package/dist/utils/execFileNoThrow.js +0 -45
- package/dist/utils/execFileNoThrow.js.map +0 -7
- package/dist/utils/exit.js +0 -73
- package/dist/utils/exit.js.map +0 -7
- package/dist/utils/expertChatStorage.js +0 -78
- package/dist/utils/expertChatStorage.js.map +0 -7
- package/dist/utils/file.js +0 -282
- package/dist/utils/file.js.map +0 -7
- package/dist/utils/fileRecoveryCore.js +0 -41
- package/dist/utils/fileRecoveryCore.js.map +0 -7
- package/dist/utils/format.js +0 -109
- package/dist/utils/format.js.map +0 -7
- package/dist/utils/fuzzyMatcher.js +0 -258
- package/dist/utils/fuzzyMatcher.js.map +0 -7
- package/dist/utils/generators.js +0 -116
- package/dist/utils/generators.js.map +0 -7
- package/dist/utils/git.js +0 -83
- package/dist/utils/git.js.map +0 -7
- package/dist/utils/globalErrorHandler.js +0 -149
- package/dist/utils/globalErrorHandler.js.map +0 -7
- package/dist/utils/gpt5.js +0 -146
- package/dist/utils/gpt5.js.map +0 -7
- package/dist/utils/groupHandlers/index.js +0 -8
- package/dist/utils/groupHandlers/index.js.map +0 -7
- package/dist/utils/groupHandlers/parallelTasksHandler.js +0 -140
- package/dist/utils/groupHandlers/parallelTasksHandler.js.map +0 -7
- package/dist/utils/groupHandlers/taskHandler.js +0 -104
- package/dist/utils/groupHandlers/taskHandler.js.map +0 -7
- package/dist/utils/groupHandlers/types.js +0 -1
- package/dist/utils/groupHandlers/types.js.map +0 -7
- package/dist/utils/historyManager.js +0 -234
- package/dist/utils/historyManager.js.map +0 -7
- package/dist/utils/hookManager.js +0 -482
- package/dist/utils/hookManager.js.map +0 -7
- package/dist/utils/http.js +0 -7
- package/dist/utils/http.js.map +0 -7
- package/dist/utils/imagePaste.js +0 -29
- package/dist/utils/imagePaste.js.map +0 -7
- package/dist/utils/json.js +0 -16
- package/dist/utils/json.js.map +0 -7
- package/dist/utils/log.js +0 -329
- package/dist/utils/log.js.map +0 -7
- package/dist/utils/logRotation.js +0 -224
- package/dist/utils/logRotation.js.map +0 -7
- package/dist/utils/markdown.js +0 -246
- package/dist/utils/markdown.js.map +0 -7
- package/dist/utils/marketplaceManager.js +0 -545
- package/dist/utils/marketplaceManager.js.map +0 -7
- package/dist/utils/memSafety.js +0 -264
- package/dist/utils/memSafety.js.map +0 -7
- package/dist/utils/memoizeWithTTL.js +0 -25
- package/dist/utils/memoizeWithTTL.js.map +0 -7
- package/dist/utils/messageContextManager.js +0 -195
- package/dist/utils/messageContextManager.js.map +0 -7
- package/dist/utils/messageGroupManager.js +0 -274
- package/dist/utils/messageGroupManager.js.map +0 -7
- package/dist/utils/messages.js +0 -667
- package/dist/utils/messages.js.map +0 -7
- package/dist/utils/migration/index.js +0 -37
- package/dist/utils/migration/index.js.map +0 -7
- package/dist/utils/migration/migrateHistory.js +0 -273
- package/dist/utils/migration/migrateHistory.js.map +0 -7
- package/dist/utils/migration/migrateTodos.js +0 -323
- package/dist/utils/migration/migrateTodos.js.map +0 -7
- package/dist/utils/model.js +0 -846
- package/dist/utils/model.js.map +0 -7
- package/dist/utils/pasteCache.js +0 -309
- package/dist/utils/pasteCache.js.map +0 -7
- package/dist/utils/permissions/filesystem.js +0 -236
- package/dist/utils/permissions/filesystem.js.map +0 -7
- package/dist/utils/plan/planMode.js +0 -143
- package/dist/utils/plan/planMode.js.map +0 -7
- package/dist/utils/pluginInstaller.js +0 -518
- package/dist/utils/pluginInstaller.js.map +0 -7
- package/dist/utils/pluginLoader.js +0 -801
- package/dist/utils/pluginLoader.js.map +0 -7
- package/dist/utils/pluginRegistry.js +0 -111
- package/dist/utils/pluginRegistry.js.map +0 -7
- package/dist/utils/pluginValidator.js +0 -798
- package/dist/utils/pluginValidator.js.map +0 -7
- package/dist/utils/ptyCompat.js +0 -125
- package/dist/utils/ptyCompat.js.map +0 -7
- package/dist/utils/replStateMachine.js +0 -145
- package/dist/utils/replStateMachine.js.map +0 -7
- package/dist/utils/repoFetcher.js +0 -110
- package/dist/utils/repoFetcher.js.map +0 -7
- package/dist/utils/ripgrep.js +0 -236
- package/dist/utils/ripgrep.js.map +0 -7
- package/dist/utils/roundConverter.js +0 -262
- package/dist/utils/roundConverter.js.map +0 -7
- package/dist/utils/safeFetch.js +0 -45
- package/dist/utils/safeFetch.js.map +0 -7
- package/dist/utils/safePath.js +0 -132
- package/dist/utils/safePath.js.map +0 -7
- package/dist/utils/sanitizeInput.js +0 -32
- package/dist/utils/sanitizeInput.js.map +0 -7
- package/dist/utils/secureFile.js +0 -512
- package/dist/utils/secureFile.js.map +0 -7
- package/dist/utils/secureKeyStorage.js +0 -312
- package/dist/utils/secureKeyStorage.js.map +0 -7
- package/dist/utils/sensitiveFiles.js +0 -125
- package/dist/utils/sensitiveFiles.js.map +0 -7
- package/dist/utils/session/sessionPlugins.js +0 -67
- package/dist/utils/session/sessionPlugins.js.map +0 -7
- package/dist/utils/sessionIndex.js +0 -192
- package/dist/utils/sessionIndex.js.map +0 -7
- package/dist/utils/sessionState.js +0 -22
- package/dist/utils/sessionState.js.map +0 -7
- package/dist/utils/sessionTracker.js +0 -170
- package/dist/utils/sessionTracker.js.map +0 -7
- package/dist/utils/skillLoader.js +0 -230
- package/dist/utils/skillLoader.js.map +0 -7
- package/dist/utils/state.js +0 -24
- package/dist/utils/state.js.map +0 -7
- package/dist/utils/stats.js +0 -417
- package/dist/utils/stats.js.map +0 -7
- package/dist/utils/streamingState.js +0 -52
- package/dist/utils/streamingState.js.map +0 -7
- package/dist/utils/stringSubstitution.js +0 -106
- package/dist/utils/stringSubstitution.js.map +0 -7
- package/dist/utils/style.js +0 -34
- package/dist/utils/style.js.map +0 -7
- package/dist/utils/taskDisplayUtils.js +0 -257
- package/dist/utils/taskDisplayUtils.js.map +0 -7
- package/dist/utils/teamConfig.js +0 -624
- package/dist/utils/teamConfig.js.map +0 -7
- package/dist/utils/terminal.js +0 -59
- package/dist/utils/terminal.js.map +0 -7
- package/dist/utils/theme.js +0 -134
- package/dist/utils/theme.js.map +0 -7
- package/dist/utils/thinking.js +0 -59
- package/dist/utils/thinking.js.map +0 -7
- package/dist/utils/todoChangeCalculator.js +0 -64
- package/dist/utils/todoChangeCalculator.js.map +0 -7
- package/dist/utils/todoStorage.js +0 -413
- package/dist/utils/todoStorage.js.map +0 -7
- package/dist/utils/tokens.js +0 -30
- package/dist/utils/tokens.js.map +0 -7
- package/dist/utils/toolExecutionController.js +0 -109
- package/dist/utils/toolExecutionController.js.map +0 -7
- package/dist/utils/toolRiskClassification.js +0 -201
- package/dist/utils/toolRiskClassification.js.map +0 -7
- package/dist/utils/toolTimeout.js +0 -136
- package/dist/utils/toolTimeout.js.map +0 -7
- package/dist/utils/tooling/safeRender.js +0 -115
- package/dist/utils/tooling/safeRender.js.map +0 -7
- package/dist/utils/unaryLogging.js +0 -6
- package/dist/utils/unaryLogging.js.map +0 -7
- package/dist/utils/user.js +0 -40
- package/dist/utils/user.js.map +0 -7
- package/dist/utils/userFriendlyError.js +0 -346
- package/dist/utils/userFriendlyError.js.map +0 -7
- package/dist/utils/validate.js +0 -132
- package/dist/utils/validate.js.map +0 -7
- package/dist/version.js +0 -7
- package/dist/version.js.map +0 -7
- package/dist/yoga.wasm +0 -0
- /package/{dist/utils/vendor → vendor}/ripgrep/arm64-darwin/rg +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import React, { useMemo, useState } from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { TaskCard } from "./TaskCard.js";
|
|
4
|
-
import { getTheme } from "../utils/theme.js";
|
|
5
|
-
function SubagentManager({
|
|
6
|
-
subagents,
|
|
7
|
-
showDetails,
|
|
8
|
-
tools = [],
|
|
9
|
-
verbose = false,
|
|
10
|
-
debug = false
|
|
11
|
-
}) {
|
|
12
|
-
const theme = getTheme();
|
|
13
|
-
const [expandedTasks, setExpandedTasks] = useState(/* @__PURE__ */ new Set());
|
|
14
|
-
const sortedSubagents = useMemo(() => {
|
|
15
|
-
const arr = Array.from(subagents.values());
|
|
16
|
-
return arr.sort((a, b) => a.metrics.startTime - b.metrics.startTime);
|
|
17
|
-
}, [subagents]);
|
|
18
|
-
const runningSubagents = sortedSubagents.filter(
|
|
19
|
-
(s) => s.status === "initializing" || s.status === "queued" || s.status === "running"
|
|
20
|
-
);
|
|
21
|
-
if (runningSubagents.length === 0) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const visibleSubagents = runningSubagents;
|
|
25
|
-
const limitedSubagents = visibleSubagents.slice(0, 20);
|
|
26
|
-
const totalTasks = limitedSubagents.length;
|
|
27
|
-
const runningCount = limitedSubagents.filter(
|
|
28
|
-
(s) => s.status === "running"
|
|
29
|
-
).length;
|
|
30
|
-
const queuedCount = limitedSubagents.filter((s) => s.status === "queued").length;
|
|
31
|
-
const toggleExpand = (taskId) => {
|
|
32
|
-
setExpandedTasks((prev) => {
|
|
33
|
-
const next = new Set(prev);
|
|
34
|
-
if (next.has(taskId)) {
|
|
35
|
-
next.delete(taskId);
|
|
36
|
-
} else {
|
|
37
|
-
next.add(taskId);
|
|
38
|
-
}
|
|
39
|
-
return next;
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginY: 1 }, totalTasks > 1 && /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.brand, bold: true }, "\u26A1 Multi-Task Execution"), /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, " ", "\xB7 ", totalTasks, " task", totalTasks !== 1 ? "s" : "")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "row", marginLeft: 2 }, /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, "\u251C\u2500 "), /* @__PURE__ */ React.createElement(Text, { color: theme.brand }, runningCount, " running"), queuedCount > 0 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { color: theme.mutedText }, " \xB7 "), /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, queuedCount, " queued"))), /* @__PURE__ */ React.createElement(Box, { flexDirection: "row", marginLeft: 2 }, /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, "\u2514\u2500 "), /* @__PURE__ */ React.createElement(Text, { color: theme.mutedText }, "Press ", /* @__PURE__ */ React.createElement(Text, { bold: true }, "Ctrl+O"), " to", " ", showDetails ? "collapse" : "expand", " all"))), limitedSubagents.map((subagent, index) => /* @__PURE__ */ React.createElement(
|
|
43
|
-
Box,
|
|
44
|
-
{
|
|
45
|
-
key: subagent.id,
|
|
46
|
-
marginBottom: index < limitedSubagents.length - 1 ? 1 : 0
|
|
47
|
-
},
|
|
48
|
-
/* @__PURE__ */ React.createElement(
|
|
49
|
-
TaskCard,
|
|
50
|
-
{
|
|
51
|
-
subagent,
|
|
52
|
-
isExpanded: showDetails || expandedTasks.has(subagent.id),
|
|
53
|
-
isHighlighted: index === 0 && runningCount === 1,
|
|
54
|
-
tools,
|
|
55
|
-
verbose,
|
|
56
|
-
debug,
|
|
57
|
-
onToggleExpand: () => toggleExpand(subagent.id)
|
|
58
|
-
}
|
|
59
|
-
)
|
|
60
|
-
)), visibleSubagents.length > 20 && /* @__PURE__ */ React.createElement(Box, { marginTop: 1 }, /* @__PURE__ */ React.createElement(Text, { color: theme.mutedText }, "... and ", visibleSubagents.length - 20, " more agent(s)")));
|
|
61
|
-
}
|
|
62
|
-
export {
|
|
63
|
-
SubagentManager
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=SubagentManager.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/SubagentManager.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useMemo, useState } from 'react'\nimport { Box, Text } from 'ink'\nimport { TaskCard } from './TaskCard'\nimport type { SubagentState } from '@minto-types/subagent'\nimport type { Tool } from '@tool'\nimport { getTheme } from '@utils/theme'\n\ninterface SubagentManagerProps {\n /** \u6240\u6709 subagent \u7684\u72B6\u6001\u6620\u5C04 */\n subagents: Map<string, SubagentState>\n /** \u662F\u5426\u663E\u793A\u8BE6\u7EC6\u4FE1\u606F\uFF08\u7531 Ctrl+O \u63A7\u5236\uFF09 */\n showDetails: boolean\n /** \u53EF\u7528\u5DE5\u5177\u5217\u8868 */\n tools?: Tool[]\n /** \u662F\u5426\u542F\u7528 verbose \u6A21\u5F0F */\n verbose?: boolean\n /** \u662F\u5426\u542F\u7528 debug \u6A21\u5F0F */\n debug?: boolean\n}\n\n/**\n * Subagent \u7BA1\u7406\u5668\u7EC4\u4EF6 (Claude Code CLI \u98CE\u683C)\n *\n * \u8D1F\u8D23\u7BA1\u7406\u548C\u663E\u793A\u6240\u6709\u5E76\u53D1\u6267\u884C\u7684 subagent\uFF1A\n * - \u4F7F\u7528 TaskCard \u5361\u7247\u5F0F\u5E03\u5C40\n * - \u6309\u72B6\u6001\u5206\u7EC4\uFF08running > queued > completed > error\uFF09\n * - \u9650\u5236\u540C\u65F6\u663E\u793A\u7684\u6570\u91CF\uFF08\u907F\u514D\u7EC8\u7AEF\u6EDA\u52A8\u8FC7\u591A\uFF09\n * - \u652F\u6301 Ctrl+O \u5207\u6362\u5C55\u5F00/\u6298\u53E0\n * - \u663E\u793A\u6574\u4F53\u534F\u8C03\u5668\u72B6\u6001\n */\nexport function SubagentManager({\n subagents,\n showDetails,\n tools = [],\n verbose = false,\n debug = false,\n}: SubagentManagerProps) {\n const theme = getTheme()\n\n // \u4E2A\u522B\u4EFB\u52A1\u7684\u5C55\u5F00\u72B6\u6001\uFF08\u72EC\u7ACB\u4E8E showDetails \u5168\u5C40\u63A7\u5236\uFF09\n const [expandedTasks, setExpandedTasks] = useState<Set<string>>(new Set())\n\n // \u5C06 Map \u8F6C\u6362\u4E3A\u6570\u7EC4\u5E76\u6309\u5F00\u59CB\u65F6\u95F4\u6392\u5E8F\uFF08\u4FDD\u6301\u542F\u52A8\u987A\u5E8F\uFF09\n const sortedSubagents = useMemo(() => {\n const arr = Array.from(subagents.values())\n\n // \u6309\u5F00\u59CB\u65F6\u95F4\u6392\u5E8F\uFF0C\u4FDD\u6301\u4EFB\u52A1\u542F\u52A8\u7684\u65F6\u95F4\u987A\u5E8F\n // \u8FD9\u6837\u5DF2\u5B8C\u6210\u7684\u4EFB\u52A1\u4F1A\u4FDD\u6301\u5728\u539F\u4F4D\u7F6E\n return arr.sort((a, b) => a.metrics.startTime - b.metrics.startTime)\n }, [subagents])\n\n // \u53EA\u663E\u793A\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1\uFF08initializing, queued, running\uFF09\n // \u5DF2\u5B8C\u6210\u548C\u51FA\u9519\u7684\u4EFB\u52A1\u4F1A\u5728\u6D88\u606F\u6D41\u7684\u6B63\u786E\u65F6\u95F4\u4F4D\u7F6E\u663E\u793A\n const runningSubagents = sortedSubagents.filter(\n s =>\n s.status === 'initializing' ||\n s.status === 'queued' ||\n s.status === 'running',\n )\n\n // \u5982\u679C\u6CA1\u6709\u8FD0\u884C\u4E2D\u7684 subagent\uFF0C\u4E0D\u6E32\u67D3\n if (runningSubagents.length === 0) {\n return null\n }\n\n const visibleSubagents = runningSubagents\n\n // \u9650\u5236\u6700\u591A\u663E\u793A 20 \u4E2A\uFF08\u9632\u6B62\u7EC8\u7AEF\u88AB\u5237\u5C4F\uFF09\n const limitedSubagents = visibleSubagents.slice(0, 20)\n\n // \u8BA1\u7B97\u6574\u4F53\u7EDF\u8BA1\n const totalTasks = limitedSubagents.length\n const runningCount = limitedSubagents.filter(\n s => s.status === 'running',\n ).length\n const queuedCount = limitedSubagents.filter(s => s.status === 'queued').length\n\n // \u5207\u6362\u5355\u4E2A\u4EFB\u52A1\u7684\u5C55\u5F00\u72B6\u6001\n const toggleExpand = (taskId: string) => {\n setExpandedTasks(prev => {\n const next = new Set(prev)\n if (next.has(taskId)) {\n next.delete(taskId)\n } else {\n next.add(taskId)\n }\n return next\n })\n }\n\n return (\n <Box flexDirection=\"column\" marginY={1}>\n {/* \u534F\u8C03\u5668\u72B6\u6001\u5934\u90E8\uFF08\u591A\u4EFB\u52A1\u5E76\u53D1\u65F6\u663E\u793A\uFF09*/}\n {totalTasks > 1 && (\n <Box flexDirection=\"column\" marginBottom={1}>\n <Box flexDirection=\"row\">\n <Text color={theme.brand} bold>\n \u26A1 Multi-Task Execution\n </Text>\n <Text color={theme.dimmedText}>\n {' '}\n \u00B7 {totalTasks} task{totalTasks !== 1 ? 's' : ''}\n </Text>\n </Box>\n <Box flexDirection=\"row\" marginLeft={2}>\n <Text color={theme.dimmedText}>\u251C\u2500 </Text>\n <Text color={theme.brand}>{runningCount} running</Text>\n {queuedCount > 0 && (\n <>\n <Text color={theme.mutedText}> \u00B7 </Text>\n <Text color={theme.dimmedText}>{queuedCount} queued</Text>\n </>\n )}\n </Box>\n <Box flexDirection=\"row\" marginLeft={2}>\n <Text color={theme.dimmedText}>\u2514\u2500 </Text>\n <Text color={theme.mutedText}>\n Press <Text bold>Ctrl+O</Text> to{' '}\n {showDetails ? 'collapse' : 'expand'} all\n </Text>\n </Box>\n </Box>\n )}\n\n {/* \u4EFB\u52A1\u5361\u7247\u5217\u8868 */}\n {limitedSubagents.map((subagent, index) => (\n <Box\n key={subagent.id}\n marginBottom={index < limitedSubagents.length - 1 ? 1 : 0}\n >\n <TaskCard\n subagent={subagent}\n isExpanded={showDetails || expandedTasks.has(subagent.id)}\n isHighlighted={index === 0 && runningCount === 1}\n tools={tools}\n verbose={verbose}\n debug={debug}\n onToggleExpand={() => toggleExpand(subagent.id)}\n />\n </Box>\n ))}\n\n {/* \u5982\u679C\u6709\u9690\u85CF\u7684 subagent\uFF0C\u663E\u793A\u63D0\u793A */}\n {visibleSubagents.length > 20 && (\n <Box marginTop={1}>\n <Text color={theme.mutedText}>\n ... and {visibleSubagents.length - 20} more agent(s)\n </Text>\n </Box>\n )}\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import React, { useRef } from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { getTheme } from "../utils/theme.js";
|
|
4
|
-
import { formatDuration } from "../utils/format.js";
|
|
5
|
-
import { getAgentColor } from "../constants/colors.js";
|
|
6
|
-
import { SpinnerSymbol } from "./SpinnerSymbol.js";
|
|
7
|
-
import { Message } from "./Message.js";
|
|
8
|
-
import { useUnifiedAnimation } from "../utils/animationManager.js";
|
|
9
|
-
import { useAgentTokenStats, formatTokenCount } from "../hooks/useAgentTokenStats.js";
|
|
10
|
-
function SubagentProgress({
|
|
11
|
-
subagent,
|
|
12
|
-
isExpanded,
|
|
13
|
-
tools = [],
|
|
14
|
-
verbose = false,
|
|
15
|
-
debug = false
|
|
16
|
-
}) {
|
|
17
|
-
const theme = getTheme();
|
|
18
|
-
const { metrics, taskName, status, messages, agentType, agentColor } = subagent;
|
|
19
|
-
const tokenStats = useAgentTokenStats(subagent.id);
|
|
20
|
-
const tokenCount = tokenStats?.grandTotalTokens ?? 0;
|
|
21
|
-
const color = getAgentColor(agentColor, theme);
|
|
22
|
-
const isRunning = status === "initializing" || status === "running" || status === "queued";
|
|
23
|
-
const startTimeRef = useRef(metrics.startTime);
|
|
24
|
-
const { elapsedTime } = useUnifiedAnimation({
|
|
25
|
-
enabled: isRunning,
|
|
26
|
-
startTime: startTimeRef.current,
|
|
27
|
-
spinnerFrameCount: 1,
|
|
28
|
-
componentId: `subagent-${subagent.id}`
|
|
29
|
-
});
|
|
30
|
-
const duration = metrics.endTime ? metrics.endTime - metrics.startTime : Date.now() - metrics.startTime;
|
|
31
|
-
const statusText = getStatusText(status);
|
|
32
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginY: 0 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(SpinnerSymbol, { isRunning, color: agentColor }), /* @__PURE__ */ React.createElement(Text, null, " Task(", taskName, ")")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS1 "), /* @__PURE__ */ React.createElement(Text, { color: getStatusColor(status, theme) }, statusText), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " \xB7 "), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, metrics.toolUseCount, " tool use", metrics.toolUseCount !== 1 ? "s" : ""), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " \xB7 "), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, formatTokenCount(tokenCount), " tokens"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " \xB7 "), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, formatDuration(duration)), !isExpanded && /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \xB7 (ctrl-o to expand)")), isExpanded && /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginTop: 0 }, renderExpandedView(subagent, theme, tools, verbose, tokenCount)));
|
|
33
|
-
}
|
|
34
|
-
function renderExpandedView(subagent, theme, tools, verbose, tokenCount) {
|
|
35
|
-
const { prompt, messages, status, metrics } = subagent;
|
|
36
|
-
const duration = metrics.endTime ? metrics.endTime - metrics.startTime : Date.now() - metrics.startTime;
|
|
37
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, prompt && /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS2 "), /* @__PURE__ */ React.createElement(Text, null, "Prompt:")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginLeft: 7 }, /* @__PURE__ */ React.createElement(Text, null, prompt))), messages.map((msg, idx) => {
|
|
38
|
-
if (msg.type === "assistant") {
|
|
39
|
-
return msg.message.content.map((content, contentIdx) => {
|
|
40
|
-
if (content.type === "tool_use") {
|
|
41
|
-
const tool = tools.find((t) => t.name === content.name);
|
|
42
|
-
const toolName = (tool?.userFacingName && typeof tool.userFacingName === "function" ? tool.userFacingName() : void 0) || content.name;
|
|
43
|
-
return /* @__PURE__ */ React.createElement(Box, { key: `${idx}-${contentIdx}`, flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS3 "), /* @__PURE__ */ React.createElement(Text, null, toolName));
|
|
44
|
-
} else if (content.type === "text" && content.text.trim()) {
|
|
45
|
-
const lines = content.text.trim().split("\n");
|
|
46
|
-
return /* @__PURE__ */ React.createElement(Box, { key: `${idx}-${contentIdx}`, flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS4 "), /* @__PURE__ */ React.createElement(Text, null, "Response:")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginLeft: 7 }, lines.map((line, lineIdx) => /* @__PURE__ */ React.createElement(Text, null, line))));
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}).filter((item) => item !== null);
|
|
50
|
-
} else if (msg.type === "user") {
|
|
51
|
-
return msg.message.content.map((content, contentIdx) => {
|
|
52
|
-
if (content.type === "tool_result") {
|
|
53
|
-
const resultContent = Array.isArray(content.content) ? content.content.find((c) => c.type === "text")?.text : typeof content.content === "string" ? content.content : "";
|
|
54
|
-
if (resultContent && resultContent.trim()) {
|
|
55
|
-
const trimmedContent = resultContent.trim();
|
|
56
|
-
if (trimmedContent.startsWith("{") && trimmedContent.endsWith("}")) {
|
|
57
|
-
try {
|
|
58
|
-
JSON.parse(trimmedContent);
|
|
59
|
-
return null;
|
|
60
|
-
} catch {
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const lines = trimmedContent.split("\n");
|
|
64
|
-
const preview = lines.length > 3 ? lines.slice(0, 3).join("\n") + "\n..." : trimmedContent;
|
|
65
|
-
return /* @__PURE__ */ React.createElement(Box, { key: `${idx}-${contentIdx}`, flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS5 "), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, preview.split("\n")[0])), preview.split("\n").slice(1).map((line, lineIdx) => /* @__PURE__ */ React.createElement(Box, { key: lineIdx, marginLeft: 7 }, /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, line))));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return null;
|
|
69
|
-
}).filter((item) => item !== null);
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}).flat().filter((item) => item !== null), status === "completed" && /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dim }, " \u23BFS6 "), /* @__PURE__ */ React.createElement(Text, { color: theme.success }, "Done"), /* @__PURE__ */ React.createElement(Text, { color: theme.secondaryText }, " ", "(", metrics.toolUseCount, " tool use", metrics.toolUseCount !== 1 ? "s" : "", " \xB7", " ", formatTokenCount(tokenCount), " tokens \xB7 ", formatDuration(duration), ")")));
|
|
73
|
-
}
|
|
74
|
-
function getStatusText(status) {
|
|
75
|
-
switch (status) {
|
|
76
|
-
case "initializing":
|
|
77
|
-
return "Initialize\u2026";
|
|
78
|
-
case "queued":
|
|
79
|
-
return "Queued\u2026";
|
|
80
|
-
case "running":
|
|
81
|
-
return "In progress\u2026";
|
|
82
|
-
case "completed":
|
|
83
|
-
return "Done";
|
|
84
|
-
case "error":
|
|
85
|
-
return "Error";
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
function getStatusColor(status, theme) {
|
|
89
|
-
switch (status) {
|
|
90
|
-
case "initializing":
|
|
91
|
-
return theme.secondaryText;
|
|
92
|
-
case "queued":
|
|
93
|
-
return theme.secondaryText;
|
|
94
|
-
case "running":
|
|
95
|
-
return theme.minto;
|
|
96
|
-
case "completed":
|
|
97
|
-
return theme.success;
|
|
98
|
-
case "error":
|
|
99
|
-
return theme.error;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
function renderMessagePreview(message, theme, tools, verbose) {
|
|
103
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginLeft: 2 }, /* @__PURE__ */ React.createElement(
|
|
104
|
-
Message,
|
|
105
|
-
{
|
|
106
|
-
message,
|
|
107
|
-
messages: [message],
|
|
108
|
-
addMargin: false,
|
|
109
|
-
tools,
|
|
110
|
-
verbose,
|
|
111
|
-
debug: false,
|
|
112
|
-
erroredToolUseIDs: /* @__PURE__ */ new Set(),
|
|
113
|
-
inProgressToolUseIDs: /* @__PURE__ */ new Set(),
|
|
114
|
-
unresolvedToolUseIDs: /* @__PURE__ */ new Set(),
|
|
115
|
-
shouldAnimate: false,
|
|
116
|
-
shouldShowDot: false
|
|
117
|
-
}
|
|
118
|
-
));
|
|
119
|
-
}
|
|
120
|
-
export {
|
|
121
|
-
SubagentProgress
|
|
122
|
-
};
|
|
123
|
-
//# sourceMappingURL=SubagentProgress.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/SubagentProgress.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useRef } from 'react'\nimport { Box, Text } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { formatNumber, formatDuration } from '@utils/format'\nimport { SYMBOLS } from '@constants/symbols'\nimport { getAgentColor } from '@constants/colors'\nimport { SpinnerSymbol } from './SpinnerSymbol'\nimport type { SubagentState } from '@minto-types/subagent'\nimport { Message } from './Message'\nimport type { Tool } from '@tool'\nimport { useUnifiedAnimation } from '@utils/animationManager'\nimport { useAgentTokenStats, formatTokenCount } from '@hooks/useAgentTokenStats'\n\ninterface SubagentProgressProps {\n subagent: SubagentState\n isExpanded: boolean\n tools?: Tool[]\n verbose?: boolean\n debug?: boolean\n}\n\n/**\n * \u5355\u4E2A Subagent \u7684\u8FDB\u5EA6\u663E\u793A\u7EC4\u4EF6\n *\n * \u7EDF\u4E00\u663E\u793A\u683C\u5F0F\uFF1A\n * - \u7B2C1\u884C\uFF1ASpinner + Task\u540D\u79F0 + Agent\u7C7B\u578B + Status + Metrics\u6458\u8981\n * - Ctrl+O\u5C55\u5F00\u540E\uFF1A\u663E\u793A\u8BE6\u7EC6\u7684\u6D88\u606F\u6D41\n *\n * \u4F7F\u7528\u7EDF\u4E00\u52A8\u753B\u7BA1\u7406\u5668\u4EE3\u66FF setInterval\uFF0C\u51CF\u5C11\u5C4F\u5E55\u95EA\u70C1\n */\nexport function SubagentProgress({\n subagent,\n isExpanded,\n tools = [],\n verbose = false,\n debug = false,\n}: SubagentProgressProps) {\n const theme = getTheme()\n const { metrics, taskName, status, messages, agentType, agentColor } =\n subagent\n\n // Get real-time token stats from unified TokenStatsManager\n const tokenStats = useAgentTokenStats(subagent.id)\n const tokenCount = tokenStats?.grandTotalTokens ?? 0\n\n // \u83B7\u53D6 agent \u989C\u8272\n const color = getAgentColor(agentColor, theme)\n\n // \u5224\u65AD\u662F\u5426\u6B63\u5728\u8FD0\u884C\uFF08\u51B3\u5B9A\u662F\u5426\u95EA\u70C1\uFF09\n const isRunning =\n status === 'initializing' || status === 'running' || status === 'queued'\n\n // Use unified animation manager for periodic time updates\n const startTimeRef = useRef(metrics.startTime)\n const { elapsedTime } = useUnifiedAnimation({\n enabled: isRunning,\n startTime: startTimeRef.current,\n spinnerFrameCount: 1,\n componentId: `subagent-${subagent.id}`,\n })\n\n // \u8BA1\u7B97\u6301\u7EED\u65F6\u95F4\uFF08\u5728\u6BCF\u6B21\u6E32\u67D3\u65F6\u91CD\u65B0\u8BA1\u7B97\uFF09\n const duration = metrics.endTime\n ? metrics.endTime - metrics.startTime\n : Date.now() - metrics.startTime\n\n // \u72B6\u6001\u6587\u672C\n const statusText = getStatusText(status)\n\n return (\n <Box flexDirection=\"column\" marginY={0}>\n {/* \u7B2C1\u884C\uFF1A\u4EFB\u52A1\u540D\u79F0 */}\n <Box flexDirection=\"row\">\n <SpinnerSymbol isRunning={isRunning} color={agentColor} />\n <Text> Task({taskName})</Text>\n </Box>\n\n {/* \u7B2C2\u884C\uFF1A\u8BE6\u7EC6\u4FE1\u606F\uFF08\u72B6\u6001\u3001\u6307\u6807\uFF09 - Claude Code CLI \u6807\u51C6\u683C\u5F0F */}\n <Box flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS1 </Text>\n <Text color={getStatusColor(status, theme)}>{statusText}</Text>\n <Text color={theme.secondaryText}> \u00B7 </Text>\n <Text color={theme.secondaryText}>\n {metrics.toolUseCount} tool use{metrics.toolUseCount !== 1 ? 's' : ''}\n </Text>\n <Text color={theme.secondaryText}> \u00B7 </Text>\n <Text color={theme.secondaryText}>\n {formatTokenCount(tokenCount)} tokens\n </Text>\n <Text color={theme.secondaryText}> \u00B7 </Text>\n <Text color={theme.secondaryText}>{formatDuration(duration)}</Text>\n {!isExpanded && <Text color={theme.dim}> \u00B7 (ctrl-o to expand)</Text>}\n </Box>\n\n {/* Ctrl+O \u5C55\u5F00\u540E\u663E\u793A\u8BE6\u7EC6\u6D88\u606F\u6D41 - Claude Code CLI \u6807\u51C6\u683C\u5F0F */}\n {isExpanded && (\n <Box flexDirection=\"column\" marginTop={0}>\n {renderExpandedView(subagent, theme, tools, verbose, tokenCount)}\n </Box>\n )}\n </Box>\n )\n}\n\n/**\n * \u6E32\u67D3\u5C55\u5F00\u89C6\u56FE - Claude Code CLI \u6807\u51C6\u683C\u5F0F\n */\nfunction renderExpandedView(\n subagent: SubagentState,\n theme: ReturnType<typeof getTheme>,\n tools: Tool[],\n verbose: boolean,\n tokenCount: number,\n) {\n const { prompt, messages, status, metrics } = subagent\n const duration = metrics.endTime\n ? metrics.endTime - metrics.startTime\n : Date.now() - metrics.startTime\n\n return (\n <Box flexDirection=\"column\">\n {/* Prompt \u90E8\u5206 */}\n {prompt && (\n <Box flexDirection=\"column\">\n <Box flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS2 </Text>\n <Text>Prompt:</Text>\n </Box>\n <Box flexDirection=\"column\" marginLeft={7}>\n <Text>{prompt}</Text>\n </Box>\n </Box>\n )}\n\n {/* \u5DE5\u5177\u8C03\u7528\u3001\u7ED3\u679C\u548C\u54CD\u5E94 */}\n {messages\n .map((msg, idx) => {\n if (msg.type === 'assistant') {\n return msg.message.content\n .map((content, contentIdx) => {\n if (content.type === 'tool_use') {\n const tool = tools.find(t => t.name === content.name)\n const toolName =\n (tool?.userFacingName &&\n typeof tool.userFacingName === 'function'\n ? tool.userFacingName()\n : undefined) || content.name\n return (\n <Box key={`${idx}-${contentIdx}`} flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS3 </Text>\n <Text>{toolName}</Text>\n </Box>\n )\n } else if (content.type === 'text' && content.text.trim()) {\n // \u663E\u793A Response \u6587\u672C\n const lines = content.text.trim().split('\\n')\n return (\n <Box key={`${idx}-${contentIdx}`} flexDirection=\"column\">\n <Box flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS4 </Text>\n <Text>Response:</Text>\n </Box>\n <Box flexDirection=\"column\" marginLeft={7}>\n {lines.map((line, lineIdx) => (\n <Text>{line}</Text>\n ))}\n </Box>\n </Box>\n )\n }\n return null\n })\n .filter(item => item !== null)\n } else if (msg.type === 'user') {\n // \u5DE5\u5177\u7ED3\u679C\n return msg.message.content\n .map((content, contentIdx) => {\n if (content.type === 'tool_result') {\n const resultContent = Array.isArray(content.content)\n ? content.content.find(c => c.type === 'text')?.text\n : typeof content.content === 'string'\n ? content.content\n : ''\n\n if (resultContent && resultContent.trim()) {\n // Skip displaying raw JSON objects (e.g., tool data objects)\n // These look like { \"key\": \"value\", ... } and shouldn't be shown\n const trimmedContent = resultContent.trim()\n if (\n trimmedContent.startsWith('{') &&\n trimmedContent.endsWith('}')\n ) {\n try {\n // If it's valid JSON, skip it - it's internal tool data\n JSON.parse(trimmedContent)\n return null\n } catch {\n // Not valid JSON, show it\n }\n }\n\n const lines = trimmedContent.split('\\n')\n const preview =\n lines.length > 3\n ? lines.slice(0, 3).join('\\n') + '\\n...'\n : trimmedContent\n return (\n <Box key={`${idx}-${contentIdx}`} flexDirection=\"column\">\n <Box flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS5 </Text>\n <Text color={theme.secondaryText}>\n {preview.split('\\n')[0]}\n </Text>\n </Box>\n {preview\n .split('\\n')\n .slice(1)\n .map((line, lineIdx) => (\n <Box key={lineIdx} marginLeft={7}>\n <Text color={theme.secondaryText}>{line}</Text>\n </Box>\n ))}\n </Box>\n )\n }\n }\n return null\n })\n .filter(item => item !== null)\n }\n return null\n })\n .flat()\n .filter(item => item !== null)}\n\n {/* Done \u72B6\u6001\uFF08\u4EC5\u5728\u5B8C\u6210\u65F6\u663E\u793A\uFF09 */}\n {status === 'completed' && (\n <Box flexDirection=\"row\">\n <Text color={theme.dim}> \u23BFS6 </Text>\n <Text color={theme.success}>Done</Text>\n <Text color={theme.secondaryText}>\n {' '}\n ({metrics.toolUseCount} tool use\n {metrics.toolUseCount !== 1 ? 's' : ''} \u00B7{' '}\n {formatTokenCount(tokenCount)} tokens \u00B7 {formatDuration(duration)})\n </Text>\n </Box>\n )}\n </Box>\n )\n}\n\n/**\n * \u83B7\u53D6\u72B6\u6001\u6587\u672C\n */\nfunction getStatusText(status: SubagentState['status']): string {\n switch (status) {\n case 'initializing':\n return 'Initialize\u2026'\n case 'queued':\n return 'Queued\u2026'\n case 'running':\n return 'In progress\u2026'\n case 'completed':\n return 'Done'\n case 'error':\n return 'Error'\n }\n}\n\n/**\n * \u83B7\u53D6\u72B6\u6001\u989C\u8272\n */\nfunction getStatusColor(\n status: SubagentState['status'],\n theme: ReturnType<typeof getTheme>,\n): string {\n switch (status) {\n case 'initializing':\n return theme.secondaryText\n case 'queued':\n return theme.secondaryText\n case 'running':\n return theme.minto\n case 'completed':\n return theme.success\n case 'error':\n return theme.error\n }\n}\n\n/**\n * \u6E32\u67D3\u6D88\u606F\u9884\u89C8 - \u4F7F\u7528\u5B8C\u6574\u7684 Message \u7EC4\u4EF6\u6765\u663E\u793A\u5DE5\u5177\u8C03\u7528\u548C\u7ED3\u679C\n */\nfunction renderMessagePreview(\n message: any,\n theme: ReturnType<typeof getTheme>,\n tools: Tool[],\n verbose: boolean,\n) {\n // \u4F7F\u7528 Message \u7EC4\u4EF6\u6765\u6E32\u67D3\uFF0C\u8FD9\u6837\u53EF\u4EE5\u663E\u793A\u5B8C\u6574\u7684\u5DE5\u5177\u8C03\u7528\u548C\u7ED3\u679C\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n <Message\n message={message}\n messages={[message]}\n addMargin={false}\n tools={tools}\n verbose={verbose}\n debug={false}\n erroredToolUseIDs={new Set()}\n inProgressToolUseIDs={new Set()}\n unresolvedToolUseIDs={new Set()}\n shouldAnimate={false}\n shouldShowDot={false}\n />\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { getTheme } from "../utils/theme.js";
|
|
4
|
-
import { getAgentColor } from "../constants/colors.js";
|
|
5
|
-
import { formatNumber, formatDuration } from "../utils/format.js";
|
|
6
|
-
function SubagentStatusMarker({
|
|
7
|
-
status,
|
|
8
|
-
taskName,
|
|
9
|
-
agentType,
|
|
10
|
-
agentColor,
|
|
11
|
-
metrics,
|
|
12
|
-
errorMessage
|
|
13
|
-
}) {
|
|
14
|
-
const theme = getTheme();
|
|
15
|
-
const color = agentColor ? getAgentColor(agentColor, theme) : theme.brand;
|
|
16
|
-
const duration = metrics && metrics.endTime ? metrics.endTime - metrics.startTime : void 0;
|
|
17
|
-
if (status === "complete") {
|
|
18
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginY: 0 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\u23FA "), /* @__PURE__ */ React.createElement(Text, { bold: true }, "Task"), /* @__PURE__ */ React.createElement(Text, null, "(", taskName, ")")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, " \u23BF "), /* @__PURE__ */ React.createElement(Text, { color: theme.success }, "Done "), /* @__PURE__ */ React.createElement(Text, { color: theme.mutedText }, "(", metrics?.toolUseCount || 0, " tool use", (metrics?.toolUseCount || 0) !== 1 ? "s" : "", " \xB7", " ", formatNumber(metrics?.tokenCount || 0), " tokens", duration ? ` \xB7 ${formatDuration(duration)}` : "", ")")));
|
|
19
|
-
}
|
|
20
|
-
if (status === "error") {
|
|
21
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column", marginY: 0 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\u23FA "), /* @__PURE__ */ React.createElement(Text, { bold: true }, "Task"), /* @__PURE__ */ React.createElement(Text, null, "(", taskName, ")")), /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: theme.dimmedText }, " \u23BF "), /* @__PURE__ */ React.createElement(Text, { color: theme.error }, "Error: ", errorMessage || "Task failed")));
|
|
22
|
-
}
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
function CompactSubagentStatusMarker({
|
|
26
|
-
status,
|
|
27
|
-
taskName
|
|
28
|
-
}) {
|
|
29
|
-
const theme = getTheme();
|
|
30
|
-
const config = status === "start" ? { symbol: "\u23FA", color: theme.info } : status === "complete" ? { symbol: "\u2713", color: theme.success } : { symbol: "\u2715", color: theme.error };
|
|
31
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, { color: config.color }, config.symbol, " ", taskName));
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
CompactSubagentStatusMarker,
|
|
35
|
-
SubagentStatusMarker
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=SubagentStatusMarker.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/SubagentStatusMarker.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * SubagentStatusMarker - Subagent \u72B6\u6001\u6807\u8BB0\u7EC4\u4EF6\n *\n * \u8BBE\u8BA1\u539F\u5219\uFF1A\n * 1. **\u7C7B\u4F3C\u5DE5\u5177\u8C03\u7528** - \u5728\u6D88\u606F\u6D41\u4E2D\u663E\u793A subagent \u7684\u72B6\u6001\u6807\u8BB0\n * 2. **\u6E05\u6670\u7684\u72B6\u6001\u7B26\u53F7** - \u23FA \u5F00\u59CB, \u23F3 \u8FDB\u884C\u4E2D, \u2713 \u5B8C\u6210, \u2715 \u9519\u8BEF\n * 3. **\u7D27\u51D1\u5E03\u5C40** - \u4E0D\u5360\u7528\u8FC7\u591A\u7A7A\u95F4\n * 4. **\u65F6\u5E8F\u4E00\u81F4** - \u5728\u6D88\u606F\u6D41\u7684\u6B63\u786E\u4F4D\u7F6E\u663E\u793A\n *\n * \u7528\u6CD5\uFF1A\n * - start: \u663E\u793A \"\u23FA Launched: Task Name \u00B7 agent-type\"\n * - complete: \u663E\u793A \"\u2713 Completed: Task Name \u00B7 3 tools \u00B7 5.2k tokens \u00B7 12s\"\n * - error: \u663E\u793A \"\u2715 Failed: Task Name \u00B7 Error message\"\n */\n\nimport React from 'react'\nimport { Box, Text } from 'ink'\nimport { getTheme } from '@utils/theme'\nimport { getAgentColor } from '@constants/colors'\nimport type { SubagentState, SubagentStatus } from '@minto-types/subagent'\nimport { formatNumber, formatDuration } from '@utils/format'\nimport type { AgentColor } from '@constants/colors'\n\ninterface SubagentStatusMarkerProps {\n /** \u72B6\u6001\u7C7B\u578B */\n status: 'start' | 'complete' | 'error'\n\n /** \u4EFB\u52A1\u540D\u79F0 */\n taskName: string\n\n /** Agent \u7C7B\u578B */\n agentType: string\n\n /** Agent \u989C\u8272 */\n agentColor?: AgentColor\n\n /** \u6027\u80FD\u6307\u6807\uFF08complete \u65F6\u9700\u8981\uFF09 */\n metrics?: {\n toolUseCount: number\n tokenCount: number\n startTime: number\n endTime?: number\n }\n\n /** \u9519\u8BEF\u4FE1\u606F\uFF08error \u65F6\u9700\u8981\uFF09 */\n errorMessage?: string\n}\n\n/**\n * SubagentStatusMarker - Claude Code CLI \u98CE\u683C\u7684\u4EFB\u52A1\u72B6\u6001\u663E\u793A\n *\n * \u89C6\u89C9\u6837\u5F0F\uFF08\u5339\u914D Claude Code\uFF09\uFF1A\n * ```\n * \u23FA Task(Analyze ARM_HAMMER file)\n * \u23BF Done (1 tool use \u00B7 52.7k tokens \u00B7 46.3s)\n * ```\n *\n * Note: This component is currently NOT rendered in the main message stream.\n * Task status is displayed via TaskCard component instead.\n */\nexport function SubagentStatusMarker({\n status,\n taskName,\n agentType,\n agentColor,\n metrics,\n errorMessage,\n}: SubagentStatusMarkerProps): React.ReactNode {\n const theme = getTheme()\n const color = agentColor ? getAgentColor(agentColor, theme) : theme.brand\n\n // \u8BA1\u7B97\u6301\u7EED\u65F6\u95F4\n const duration =\n metrics && metrics.endTime ? metrics.endTime - metrics.startTime : undefined\n\n // \u4EC5\u5728\u5B8C\u6210\u65F6\u663E\u793A\n if (status === 'complete') {\n return (\n <Box flexDirection=\"column\" marginY={0}>\n {/* \u7B2C1\u884C\uFF1A\u23FA Task(\u4EFB\u52A1\u540D\u79F0) */}\n <Box flexDirection=\"row\">\n <Text>\u23FA </Text>\n <Text bold>Task</Text>\n <Text>({taskName})</Text>\n </Box>\n\n {/* \u7B2C2\u884C\uFF1A\u23BF Done (\u7EDF\u8BA1\u4FE1\u606F) */}\n <Box flexDirection=\"row\">\n <Text color={theme.dimmedText}> \u23BF </Text>\n <Text color={theme.success}>Done </Text>\n <Text color={theme.mutedText}>\n ({metrics?.toolUseCount || 0} tool use\n {(metrics?.toolUseCount || 0) !== 1 ? 's' : ''} \u00B7{' '}\n {formatNumber(metrics?.tokenCount || 0)} tokens\n {duration ? ` \u00B7 ${formatDuration(duration)}` : ''})\n </Text>\n </Box>\n </Box>\n )\n }\n\n // Error \u72B6\u6001\u663E\u793A\n if (status === 'error') {\n return (\n <Box flexDirection=\"column\" marginY={0}>\n {/* \u7B2C1\u884C\uFF1A\u23FA Task(\u4EFB\u52A1\u540D\u79F0) */}\n <Box flexDirection=\"row\">\n <Text>\u23FA </Text>\n <Text bold>Task</Text>\n <Text>({taskName})</Text>\n </Box>\n\n {/* \u7B2C2\u884C\uFF1A\u23BF Error */}\n <Box flexDirection=\"row\">\n <Text color={theme.dimmedText}> \u23BF </Text>\n <Text color={theme.error}>\n Error: {errorMessage || 'Task failed'}\n </Text>\n </Box>\n </Box>\n )\n }\n\n // Start \u72B6\u6001\uFF1A\u4E0D\u663E\u793A\uFF08\u4EFB\u52A1\u542F\u52A8\u65F6\u65E0\u9700\u6807\u8BB0\uFF09\n return null\n}\n\n/**\n * \u7D27\u51D1\u7248\u72B6\u6001\u6807\u8BB0\uFF08\u7528\u4E8E\u8BE6\u7EC6\u89C6\u56FE\u4E2D\uFF09\n */\nexport function CompactSubagentStatusMarker({\n status,\n taskName,\n}: {\n status: 'start' | 'complete' | 'error'\n taskName: string\n}): React.ReactNode {\n const theme = getTheme()\n\n const config =\n status === 'start'\n ? { symbol: '\u23FA', color: theme.info }\n : status === 'complete'\n ? { symbol: '\u2713', color: theme.success }\n : { symbol: '\u2715', color: theme.error }\n\n return (\n <Box flexDirection=\"row\">\n <Text color={config.color}>\n {config.symbol} {taskName}\n </Text>\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "AAeA,OAAO,WAAW;AAClB,SAAS,KAAK,YAAY;AAC1B,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAE9B,SAAS,cAAc,sBAAsB;AAwCtC,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA+C;AAC7C,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAQ,aAAa,cAAc,YAAY,KAAK,IAAI,MAAM;AAGpE,QAAM,WACJ,WAAW,QAAQ,UAAU,QAAQ,UAAU,QAAQ,YAAY;AAGrE,MAAI,WAAW,YAAY;AACzB,WACE,oCAAC,OAAI,eAAc,UAAS,SAAS,KAEnC,oCAAC,OAAI,eAAc,SACjB,oCAAC,YAAK,SAAE,GACR,oCAAC,QAAK,MAAI,QAAC,MAAI,GACf,oCAAC,YAAK,KAAE,UAAS,GAAC,CACpB,GAGA,oCAAC,OAAI,eAAc,SACjB,oCAAC,QAAK,OAAO,MAAM,cAAY,UAAG,GAClC,oCAAC,QAAK,OAAO,MAAM,WAAS,OAAK,GACjC,oCAAC,QAAK,OAAO,MAAM,aAAW,KAC1B,SAAS,gBAAgB,GAAE,cAC3B,SAAS,gBAAgB,OAAO,IAAI,MAAM,IAAG,SAAG,KACjD,aAAa,SAAS,cAAc,CAAC,GAAE,WACvC,WAAW,SAAM,eAAe,QAAQ,CAAC,KAAK,IAAG,GACpD,CACF,CACF;AAAA,EAEJ;AAGA,MAAI,WAAW,SAAS;AACtB,WACE,oCAAC,OAAI,eAAc,UAAS,SAAS,KAEnC,oCAAC,OAAI,eAAc,SACjB,oCAAC,YAAK,SAAE,GACR,oCAAC,QAAK,MAAI,QAAC,MAAI,GACf,oCAAC,YAAK,KAAE,UAAS,GAAC,CACpB,GAGA,oCAAC,OAAI,eAAc,SACjB,oCAAC,QAAK,OAAO,MAAM,cAAY,UAAG,GAClC,oCAAC,QAAK,OAAO,MAAM,SAAO,WAChB,gBAAgB,aAC1B,CACF,CACF;AAAA,EAEJ;AAGA,SAAO;AACT;AAKO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AACF,GAGoB;AAClB,QAAM,QAAQ,SAAS;AAEvB,QAAM,SACJ,WAAW,UACP,EAAE,QAAQ,UAAK,OAAO,MAAM,KAAK,IACjC,WAAW,aACT,EAAE,QAAQ,UAAK,OAAO,MAAM,QAAQ,IACpC,EAAE,QAAQ,UAAK,OAAO,MAAM,MAAM;AAE1C,SACE,oCAAC,OAAI,eAAc,SACjB,oCAAC,QAAK,OAAO,OAAO,SACjB,OAAO,QAAO,KAAE,QACnB,CACF;AAEJ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import React, { useMemo } from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { SEMANTIC_COLORS, BRAND_GRADIENT } from "../../constants/colors.js";
|
|
4
|
-
const getStatusIcon = (status) => {
|
|
5
|
-
switch (status) {
|
|
6
|
-
case "enabled":
|
|
7
|
-
return { icon: "\u2714", color: SEMANTIC_COLORS.success };
|
|
8
|
-
case "disabled":
|
|
9
|
-
return { icon: "\u25CB", color: SEMANTIC_COLORS.dim };
|
|
10
|
-
case "running":
|
|
11
|
-
return { icon: "\u25D0", color: SEMANTIC_COLORS.running };
|
|
12
|
-
case "error":
|
|
13
|
-
return { icon: "\u2717", color: SEMANTIC_COLORS.error };
|
|
14
|
-
default:
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
function DefaultItemRenderer({
|
|
19
|
-
item,
|
|
20
|
-
isFocused,
|
|
21
|
-
multiSelect,
|
|
22
|
-
isSelected
|
|
23
|
-
}) {
|
|
24
|
-
const statusInfo = getStatusIcon(item.status);
|
|
25
|
-
const checkboxWidth = multiSelect ? 2 : 0;
|
|
26
|
-
const focusWidth = 2;
|
|
27
|
-
const statusWidth = statusInfo ? 2 : 0;
|
|
28
|
-
const prefixPad = checkboxWidth + focusWidth + statusWidth;
|
|
29
|
-
const labelColor = isFocused ? BRAND_GRADIENT.START : SEMANTIC_COLORS.secondary;
|
|
30
|
-
const descColor = SEMANTIC_COLORS.dim;
|
|
31
|
-
const metaColor = SEMANTIC_COLORS.muted;
|
|
32
|
-
const hasDescription = !!item.description;
|
|
33
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, multiSelect && /* @__PURE__ */ React.createElement(
|
|
34
|
-
Text,
|
|
35
|
-
{
|
|
36
|
-
color: isSelected ? SEMANTIC_COLORS.success : SEMANTIC_COLORS.dim
|
|
37
|
-
},
|
|
38
|
-
isSelected ? "\u2611 " : "\u2610 "
|
|
39
|
-
), /* @__PURE__ */ React.createElement(Text, { color: isFocused ? BRAND_GRADIENT.START : void 0 }, isFocused ? "\u25C6 " : " "), statusInfo && /* @__PURE__ */ React.createElement(Text, { color: statusInfo.color }, statusInfo.icon, " "), /* @__PURE__ */ React.createElement(Text, { bold: isFocused, color: labelColor }, item.label), item.metadata && /* @__PURE__ */ React.createElement(Text, { color: metaColor }, " \xB7 ", item.metadata)), hasDescription && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: descColor }, " ".repeat(prefixPad), item.description)));
|
|
40
|
-
}
|
|
41
|
-
function ScrollableList({
|
|
42
|
-
items,
|
|
43
|
-
focusedIndex,
|
|
44
|
-
onFocusChange,
|
|
45
|
-
onSelect,
|
|
46
|
-
visibleCount,
|
|
47
|
-
groupByCategory = false,
|
|
48
|
-
renderItem,
|
|
49
|
-
multiSelect,
|
|
50
|
-
selectedIds
|
|
51
|
-
}) {
|
|
52
|
-
const { visibleItems, startIndex, endIndex } = useMemo(() => {
|
|
53
|
-
if (items.length === 0) {
|
|
54
|
-
return { visibleItems: [], startIndex: 0, endIndex: 0 };
|
|
55
|
-
}
|
|
56
|
-
if (items.length <= visibleCount) {
|
|
57
|
-
return {
|
|
58
|
-
visibleItems: items.map((item, i) => ({ item, globalIndex: i })),
|
|
59
|
-
startIndex: 0,
|
|
60
|
-
endIndex: items.length
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const halfWindow = Math.floor(visibleCount / 2);
|
|
64
|
-
let start = Math.max(0, focusedIndex - halfWindow);
|
|
65
|
-
let end = start + visibleCount;
|
|
66
|
-
if (end > items.length) {
|
|
67
|
-
end = items.length;
|
|
68
|
-
start = Math.max(0, end - visibleCount);
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
visibleItems: items.slice(start, end).map((item, i) => ({
|
|
72
|
-
item,
|
|
73
|
-
globalIndex: start + i
|
|
74
|
-
})),
|
|
75
|
-
startIndex: start,
|
|
76
|
-
endIndex: end
|
|
77
|
-
};
|
|
78
|
-
}, [items, focusedIndex, visibleCount]);
|
|
79
|
-
const hasMoreAbove = startIndex > 0;
|
|
80
|
-
const hasMoreBelow = endIndex < items.length;
|
|
81
|
-
const countAbove = startIndex;
|
|
82
|
-
const countBelow = items.length - endIndex;
|
|
83
|
-
const displayElements = [];
|
|
84
|
-
let currentCategory = "";
|
|
85
|
-
visibleItems.forEach(({ item, globalIndex }, visibleIndex) => {
|
|
86
|
-
if (groupByCategory && item.category !== currentCategory) {
|
|
87
|
-
currentCategory = item.category || "Other";
|
|
88
|
-
displayElements.push(
|
|
89
|
-
/* @__PURE__ */ React.createElement(
|
|
90
|
-
Box,
|
|
91
|
-
{
|
|
92
|
-
key: `category-${currentCategory}-${globalIndex}`,
|
|
93
|
-
marginTop: visibleIndex > 0 ? 1 : 0
|
|
94
|
-
},
|
|
95
|
-
/* @__PURE__ */ React.createElement(Text, { bold: true, color: SEMANTIC_COLORS.secondary }, currentCategory)
|
|
96
|
-
)
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
const isFocused = globalIndex === focusedIndex;
|
|
100
|
-
const isSelected = selectedIds?.has(item.id) ?? false;
|
|
101
|
-
const itemElement = renderItem ? renderItem(item, isFocused, isSelected) : /* @__PURE__ */ React.createElement(
|
|
102
|
-
DefaultItemRenderer,
|
|
103
|
-
{
|
|
104
|
-
item,
|
|
105
|
-
isFocused,
|
|
106
|
-
multiSelect,
|
|
107
|
-
isSelected
|
|
108
|
-
}
|
|
109
|
-
);
|
|
110
|
-
displayElements.push(/* @__PURE__ */ React.createElement(Box, { key: item.id }, itemElement));
|
|
111
|
-
});
|
|
112
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, hasMoreAbove && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, " \u2191 ", countAbove, " more above...")), displayElements, hasMoreBelow && /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, " \u2193 ", countBelow, " more below...")));
|
|
113
|
-
}
|
|
114
|
-
export {
|
|
115
|
-
ScrollableList
|
|
116
|
-
};
|
|
117
|
-
//# sourceMappingURL=ScrollableList.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/TabbedListView/ScrollableList.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * ScrollableList Component\n *\n * A scrollable list matching the /command suggestion UI pattern.\n * Uses \u25C6 indicator for selection, brand colors, and scroll indicators.\n */\n\nimport React, { useMemo } from 'react'\nimport { Box, Text } from 'ink'\nimport { SEMANTIC_COLORS, BRAND_GRADIENT } from '@constants/colors'\nimport { t } from '@i18n'\nimport type { ListItem, ScrollableListProps, CategoryGroup } from './types'\n\n/** Status icon mapping */\nconst getStatusIcon = (status?: ListItem['status']) => {\n switch (status) {\n case 'enabled':\n return { icon: '\u2714', color: SEMANTIC_COLORS.success }\n case 'disabled':\n return { icon: '\u25CB', color: SEMANTIC_COLORS.dim }\n case 'running':\n return { icon: '\u25D0', color: SEMANTIC_COLORS.running }\n case 'error':\n return { icon: '\u2717', color: SEMANTIC_COLORS.error }\n default:\n return null\n }\n}\n\n/** Default item renderer - two-line layout with clear visual hierarchy */\nfunction DefaultItemRenderer({\n item,\n isFocused,\n multiSelect,\n isSelected,\n}: {\n item: ListItem\n isFocused: boolean\n multiSelect?: boolean\n isSelected?: boolean\n}) {\n const statusInfo = getStatusIcon(item.status)\n\n // Prefix width: checkbox \"\u2611 \" (2) + \"\u25C6 \" (2) + optional status icon \"\u2714 \" (2)\n const checkboxWidth = multiSelect ? 2 : 0\n const focusWidth = 2\n const statusWidth = statusInfo ? 2 : 0\n const prefixPad = checkboxWidth + focusWidth + statusWidth\n\n // Colors: focused items use brand gradient, unfocused use secondary/dim\n const labelColor = isFocused\n ? BRAND_GRADIENT.START\n : SEMANTIC_COLORS.secondary\n const descColor = SEMANTIC_COLORS.dim\n const metaColor = SEMANTIC_COLORS.muted\n\n const hasDescription = !!item.description\n\n return (\n <Box flexDirection=\"column\">\n {/* Line 1: [checkbox] + indicator + status + label + metadata */}\n <Box flexDirection=\"row\">\n {multiSelect && (\n <Text\n color={isSelected ? SEMANTIC_COLORS.success : SEMANTIC_COLORS.dim}\n >\n {isSelected ? '\u2611 ' : '\u2610 '}\n </Text>\n )}\n <Text color={isFocused ? BRAND_GRADIENT.START : undefined}>\n {isFocused ? '\u25C6 ' : ' '}\n </Text>\n {statusInfo && <Text color={statusInfo.color}>{statusInfo.icon} </Text>}\n <Text bold={isFocused} color={labelColor}>\n {item.label}\n </Text>\n {item.metadata && <Text color={metaColor}> \u00B7 {item.metadata}</Text>}\n </Box>\n\n {/* Line 2: description (indented to align under label) */}\n {hasDescription && (\n <Box>\n <Text color={descColor}>\n {' '.repeat(prefixPad)}\n {item.description}\n </Text>\n </Box>\n )}\n </Box>\n )\n}\n\nexport function ScrollableList({\n items,\n focusedIndex,\n onFocusChange,\n onSelect,\n visibleCount,\n groupByCategory = false,\n renderItem,\n multiSelect,\n selectedIds,\n}: ScrollableListProps) {\n // Calculate scroll window to keep selected item visible (same logic as command suggestions)\n const { visibleItems, startIndex, endIndex } = useMemo(() => {\n if (items.length === 0) {\n return { visibleItems: [], startIndex: 0, endIndex: 0 }\n }\n\n // If all items fit in window, show them all\n if (items.length <= visibleCount) {\n return {\n visibleItems: items.map((item, i) => ({ item, globalIndex: i })),\n startIndex: 0,\n endIndex: items.length,\n }\n }\n\n // Calculate scroll window to keep focused item visible\n const halfWindow = Math.floor(visibleCount / 2)\n let start = Math.max(0, focusedIndex - halfWindow)\n let end = start + visibleCount\n\n // Adjust if we're near the end\n if (end > items.length) {\n end = items.length\n start = Math.max(0, end - visibleCount)\n }\n\n return {\n visibleItems: items.slice(start, end).map((item, i) => ({\n item,\n globalIndex: start + i,\n })),\n startIndex: start,\n endIndex: end,\n }\n }, [items, focusedIndex, visibleCount])\n\n // Scroll indicators\n const hasMoreAbove = startIndex > 0\n const hasMoreBelow = endIndex < items.length\n const countAbove = startIndex\n const countBelow = items.length - endIndex\n\n // Build display with optional category headers\n const displayElements: React.ReactNode[] = []\n let currentCategory = ''\n\n visibleItems.forEach(({ item, globalIndex }, visibleIndex) => {\n // Add category header if category changed and grouping is enabled\n if (groupByCategory && item.category !== currentCategory) {\n currentCategory = item.category || 'Other'\n displayElements.push(\n <Box\n key={`category-${currentCategory}-${globalIndex}`}\n marginTop={visibleIndex > 0 ? 1 : 0}\n >\n <Text bold color={SEMANTIC_COLORS.secondary}>\n {currentCategory}\n </Text>\n </Box>,\n )\n }\n\n const isFocused = globalIndex === focusedIndex\n const isSelected = selectedIds?.has(item.id) ?? false\n const itemElement = renderItem ? (\n renderItem(item, isFocused, isSelected)\n ) : (\n <DefaultItemRenderer\n item={item}\n isFocused={isFocused}\n multiSelect={multiSelect}\n isSelected={isSelected}\n />\n )\n\n displayElements.push(<Box key={item.id}>{itemElement}</Box>)\n })\n\n return (\n <Box flexDirection=\"column\">\n {/* Scroll up indicator */}\n {hasMoreAbove && (\n <Box>\n <Text color={SEMANTIC_COLORS.dim}> \u2191 {countAbove} more above...</Text>\n </Box>\n )}\n\n {/* List items */}\n {displayElements}\n\n {/* Scroll down indicator */}\n {hasMoreBelow && (\n <Box>\n <Text color={SEMANTIC_COLORS.dim}> \u2193 {countBelow} more below...</Text>\n </Box>\n )}\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import InkTextInput from "ink-text-input";
|
|
4
|
-
import { BRAND_GRADIENT, SEMANTIC_COLORS } from "../../constants/colors.js";
|
|
5
|
-
function SearchInput({
|
|
6
|
-
value,
|
|
7
|
-
onChange,
|
|
8
|
-
placeholder = "Search...",
|
|
9
|
-
isActive
|
|
10
|
-
}) {
|
|
11
|
-
return /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(Text, { color: isActive ? BRAND_GRADIENT.START : SEMANTIC_COLORS.dim }, "/"), /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.dim }, " "), isActive ? /* @__PURE__ */ React.createElement(
|
|
12
|
-
InkTextInput,
|
|
13
|
-
{
|
|
14
|
-
value,
|
|
15
|
-
onChange,
|
|
16
|
-
placeholder
|
|
17
|
-
}
|
|
18
|
-
) : /* @__PURE__ */ React.createElement(Text, { color: value ? SEMANTIC_COLORS.secondary : SEMANTIC_COLORS.dim }, value || placeholder));
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
SearchInput
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=SearchInput.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/TabbedListView/SearchInput.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * SearchInput Component\n *\n * A styled search input with search icon.\n * Uses inline style matching the overall design.\n */\n\nimport React from 'react'\nimport { Box, Text } from 'ink'\nimport InkTextInput from 'ink-text-input'\nimport { BRAND_GRADIENT, SEMANTIC_COLORS } from '@constants/colors'\nimport type { SearchInputProps } from './types'\n\nexport function SearchInput({\n value,\n onChange,\n placeholder = 'Search...',\n isActive,\n}: SearchInputProps) {\n return (\n <Box>\n <Text color={isActive ? BRAND_GRADIENT.START : SEMANTIC_COLORS.dim}>\n /\n </Text>\n <Text color={SEMANTIC_COLORS.dim}> </Text>\n {isActive ? (\n <InkTextInput\n value={value}\n onChange={onChange}\n placeholder={placeholder}\n />\n ) : (\n <Text color={value ? SEMANTIC_COLORS.secondary : SEMANTIC_COLORS.dim}>\n {value || placeholder}\n </Text>\n )}\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "AAOA,OAAO,WAAW;AAClB,SAAS,KAAK,YAAY;AAC1B,OAAO,kBAAkB;AACzB,SAAS,gBAAgB,uBAAuB;AAGzC,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AACF,GAAqB;AACnB,SACE,oCAAC,WACC,oCAAC,QAAK,OAAO,WAAW,eAAe,QAAQ,gBAAgB,OAAK,GAEpE,GACA,oCAAC,QAAK,OAAO,gBAAgB,OAAK,GAAC,GAClC,WACC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,IAEA,oCAAC,QAAK,OAAO,QAAQ,gBAAgB,YAAY,gBAAgB,OAC9D,SAAS,WACZ,CAEJ;AAEJ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { BRAND_GRADIENT, SEMANTIC_COLORS } from "../../constants/colors.js";
|
|
4
|
-
function TabBar({ tabs, activeTab, onTabChange }) {
|
|
5
|
-
return /* @__PURE__ */ React.createElement(Box, { flexShrink: 0 }, tabs.map((tab, index) => {
|
|
6
|
-
const isActive = tab.id === activeTab;
|
|
7
|
-
const isLast = index === tabs.length - 1;
|
|
8
|
-
const badgeSuffix = tab.badge !== void 0 && tab.badge > 0 ? ` (${tab.badge})` : "";
|
|
9
|
-
const label = ` ${tab.label}${badgeSuffix} `;
|
|
10
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, { key: tab.id }, isActive ? /* @__PURE__ */ React.createElement(
|
|
11
|
-
Text,
|
|
12
|
-
{
|
|
13
|
-
wrap: "truncate",
|
|
14
|
-
backgroundColor: BRAND_GRADIENT.START,
|
|
15
|
-
color: "black",
|
|
16
|
-
bold: true
|
|
17
|
-
},
|
|
18
|
-
label
|
|
19
|
-
) : /* @__PURE__ */ React.createElement(Text, { wrap: "truncate", color: SEMANTIC_COLORS.dim }, label), !isLast && /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, "\u2502"));
|
|
20
|
-
}), /* @__PURE__ */ React.createElement(Text, { color: SEMANTIC_COLORS.muted }, " Tab/\u2190\u2192"));
|
|
21
|
-
}
|
|
22
|
-
export {
|
|
23
|
-
TabBar
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=TabBar.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/TabbedListView/TabBar.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * TabBar Component\n *\n * Displays tab navigation matching the brand style.\n * Uses background color for active tab selection.\n *\n * Layout notes:\n * - Each tab Box uses flexShrink={0} to prevent Yoga from compressing tabs\n * - Text uses wrap=\"truncate\" to prevent line wrapping in tight layouts\n * - Both active and inactive tabs use identical string content (no nested <Text>)\n * to ensure consistent width measurement by Ink's Yoga engine\n */\n\nimport React from 'react'\nimport { Box, Text } from 'ink'\nimport { BRAND_GRADIENT, SEMANTIC_COLORS } from '@constants/colors'\nimport type { TabBarProps } from './types'\n\nexport function TabBar({ tabs, activeTab, onTabChange }: TabBarProps) {\n return (\n <Box flexShrink={0}>\n {tabs.map((tab, index) => {\n const isActive = tab.id === activeTab\n const isLast = index === tabs.length - 1\n\n // Build label string identically for active/inactive to ensure\n // consistent width measurement by Yoga\n const badgeSuffix =\n tab.badge !== undefined && tab.badge > 0 ? ` (${tab.badge})` : ''\n const label = ` ${tab.label}${badgeSuffix} `\n\n return (\n <React.Fragment key={tab.id}>\n {isActive ? (\n <Text\n wrap=\"truncate\"\n backgroundColor={BRAND_GRADIENT.START}\n color=\"black\"\n bold\n >\n {label}\n </Text>\n ) : (\n <Text wrap=\"truncate\" color={SEMANTIC_COLORS.dim}>\n {label}\n </Text>\n )}\n {!isLast && <Text color={SEMANTIC_COLORS.muted}>\u2502</Text>}\n </React.Fragment>\n )\n })}\n <Text color={SEMANTIC_COLORS.muted}> Tab/\u2190\u2192</Text>\n </Box>\n )\n}\n"],
|
|
5
|
-
"mappings": "AAaA,OAAO,WAAW;AAClB,SAAS,KAAK,YAAY;AAC1B,SAAS,gBAAgB,uBAAuB;AAGzC,SAAS,OAAO,EAAE,MAAM,WAAW,YAAY,GAAgB;AACpE,SACE,oCAAC,OAAI,YAAY,KACd,KAAK,IAAI,CAAC,KAAK,UAAU;AACxB,UAAM,WAAW,IAAI,OAAO;AAC5B,UAAM,SAAS,UAAU,KAAK,SAAS;AAIvC,UAAM,cACJ,IAAI,UAAU,UAAa,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,MAAM;AACjE,UAAM,QAAQ,IAAI,IAAI,KAAK,GAAG,WAAW;AAEzC,WACE,oCAAC,MAAM,UAAN,EAAe,KAAK,IAAI,MACtB,WACC;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,iBAAiB,eAAe;AAAA,QAChC,OAAM;AAAA,QACN,MAAI;AAAA;AAAA,MAEH;AAAA,IACH,IAEA,oCAAC,QAAK,MAAK,YAAW,OAAO,gBAAgB,OAC1C,KACH,GAED,CAAC,UAAU,oCAAC,QAAK,OAAO,gBAAgB,SAAO,QAAC,CACnD;AAAA,EAEJ,CAAC,GACD,oCAAC,QAAK,OAAO,gBAAgB,SAAO,mBAAO,CAC7C;AAEJ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|