@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,416 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { dirname } from "path";
|
|
3
|
-
import { FallbackToolUseRejectedMessage } from "../../components/FallbackToolUseRejectedMessage.js";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { createUserMessage } from "../../utils/messages.js";
|
|
6
|
-
import { getCommands } from "../../commands.js";
|
|
7
|
-
import {
|
|
8
|
-
loadCustomCommands
|
|
9
|
-
} from "../../services/customCommands.js";
|
|
10
|
-
import {
|
|
11
|
-
getAllSkillEntries,
|
|
12
|
-
getSkill,
|
|
13
|
-
loadSkillContent
|
|
14
|
-
} from "../../utils/skillLoader.js";
|
|
15
|
-
import { substituteVariables } from "../../utils/stringSubstitution.js";
|
|
16
|
-
import { getCwd } from "../../utils/state.js";
|
|
17
|
-
import { getHookManager } from "../../utils/hookManager.js";
|
|
18
|
-
import { emitReminderEvent } from "../../services/systemReminder.js";
|
|
19
|
-
import { TOOL_NAME_FOR_PROMPT } from "./prompt.js";
|
|
20
|
-
import { Box, Text } from "ink";
|
|
21
|
-
const inputSchema = z.strictObject({
|
|
22
|
-
skill: z.string().describe('The skill name. E.g., "commit", "review-pr", or "pdf"'),
|
|
23
|
-
args: z.string().optional().describe("Optional arguments for the skill")
|
|
24
|
-
});
|
|
25
|
-
function buildSkillHooks(skill) {
|
|
26
|
-
if (!skill.config.hooks?.length) return [];
|
|
27
|
-
return skill.config.hooks.map((h, i) => ({
|
|
28
|
-
name: `skill:${skill.name}:${h.event}:${i}`,
|
|
29
|
-
filePath: skill.filePath,
|
|
30
|
-
config: {
|
|
31
|
-
event: h.event,
|
|
32
|
-
matcher: h.matcher,
|
|
33
|
-
type: h.type || "command",
|
|
34
|
-
command: h.command,
|
|
35
|
-
prompt: h.prompt,
|
|
36
|
-
timeout: h.timeout
|
|
37
|
-
},
|
|
38
|
-
pluginName: `skill:${skill.name}`,
|
|
39
|
-
event: h.event,
|
|
40
|
-
matcher: h.matcher
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
function normalizeCommandModelName(model) {
|
|
44
|
-
if (typeof model !== "string") return void 0;
|
|
45
|
-
const trimmed = model.trim();
|
|
46
|
-
if (!trimmed || trimmed === "inherit") return void 0;
|
|
47
|
-
if (trimmed === "haiku") return "quick";
|
|
48
|
-
if (trimmed === "sonnet") return "task";
|
|
49
|
-
if (trimmed === "opus") return "main";
|
|
50
|
-
return trimmed;
|
|
51
|
-
}
|
|
52
|
-
function getCharBudget() {
|
|
53
|
-
const raw = Number(process.env.SLASH_COMMAND_TOOL_CHAR_BUDGET);
|
|
54
|
-
return Number.isFinite(raw) && raw > 0 ? raw : 15e3;
|
|
55
|
-
}
|
|
56
|
-
function formatCommandLine(cmd) {
|
|
57
|
-
const name = `/${cmd.name}`;
|
|
58
|
-
const args = cmd.argumentHint ? ` ${cmd.argumentHint}` : "";
|
|
59
|
-
const whenToUse = cmd.whenToUse ? `- ${cmd.whenToUse}` : "";
|
|
60
|
-
return `- ${name}${args}: ${cmd.description} ${whenToUse}`.trim();
|
|
61
|
-
}
|
|
62
|
-
function formatSkillLine(skill, key) {
|
|
63
|
-
const name = `/${key}`;
|
|
64
|
-
const args = skill.config.argumentHint ? ` ${skill.config.argumentHint}` : "";
|
|
65
|
-
return `- ${name}${args}: ${skill.config.description}`.trim();
|
|
66
|
-
}
|
|
67
|
-
async function convertSkillToCommand(skill) {
|
|
68
|
-
const content = await loadSkillContent(skill);
|
|
69
|
-
const baseDir = dirname(skill.filePath);
|
|
70
|
-
return {
|
|
71
|
-
type: "prompt",
|
|
72
|
-
name: skill.name,
|
|
73
|
-
description: skill.config.description,
|
|
74
|
-
isEnabled: true,
|
|
75
|
-
isHidden: false,
|
|
76
|
-
aliases: [],
|
|
77
|
-
progressMessage: `Running ${skill.name}...`,
|
|
78
|
-
scope: skill.source === "user" ? "user" : "project",
|
|
79
|
-
allowedTools: skill.config.allowedTools,
|
|
80
|
-
model: skill.config.model,
|
|
81
|
-
disableModelInvocation: skill.config.disableModelInvocation,
|
|
82
|
-
argumentHint: skill.config.argumentHint,
|
|
83
|
-
userFacingName: () => skill.name,
|
|
84
|
-
async getPromptForCommand(args) {
|
|
85
|
-
let prompt = content;
|
|
86
|
-
prompt = prompt.replace(/\{baseDir\}/g, baseDir);
|
|
87
|
-
prompt = await substituteVariables(prompt, args || "", {
|
|
88
|
-
cwd: getCwd(),
|
|
89
|
-
env: { BASE_DIR: baseDir },
|
|
90
|
-
allowDynamicCommands: true
|
|
91
|
-
});
|
|
92
|
-
if (args.trim() && !content.includes("$ARGUMENTS") && !content.includes("$0")) {
|
|
93
|
-
prompt += `
|
|
94
|
-
|
|
95
|
-
Additional context: ${args}`;
|
|
96
|
-
}
|
|
97
|
-
return [{ role: "user", content: prompt }];
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
async function resolveSkillOrCommand(skillName, commands) {
|
|
102
|
-
const cmd = findCommand(skillName, commands);
|
|
103
|
-
if (cmd) return cmd;
|
|
104
|
-
const skillObj = getSkill(skillName);
|
|
105
|
-
if (skillObj) {
|
|
106
|
-
return convertSkillToCommand(skillObj);
|
|
107
|
-
}
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
const SlashCommandTool = {
|
|
111
|
-
name: TOOL_NAME_FOR_PROMPT,
|
|
112
|
-
async description(input) {
|
|
113
|
-
const skill = input?.skill;
|
|
114
|
-
return skill ? `Execute skill: ${skill}` : "Execute a skill within the main conversation";
|
|
115
|
-
},
|
|
116
|
-
userFacingName() {
|
|
117
|
-
return "Skill";
|
|
118
|
-
},
|
|
119
|
-
inputSchema,
|
|
120
|
-
isReadOnly() {
|
|
121
|
-
return false;
|
|
122
|
-
},
|
|
123
|
-
isConcurrencySafe() {
|
|
124
|
-
return false;
|
|
125
|
-
},
|
|
126
|
-
async isEnabled() {
|
|
127
|
-
return true;
|
|
128
|
-
},
|
|
129
|
-
needsPermissions() {
|
|
130
|
-
return true;
|
|
131
|
-
},
|
|
132
|
-
async prompt() {
|
|
133
|
-
const [all, allSkillEntries] = await Promise.all([
|
|
134
|
-
loadCustomCommands(),
|
|
135
|
-
Promise.resolve(getAllSkillEntries())
|
|
136
|
-
]);
|
|
137
|
-
const commands = all.filter(
|
|
138
|
-
(cmd) => cmd.type === "prompt" && cmd.isSkill !== true && cmd.disableModelInvocation !== true
|
|
139
|
-
);
|
|
140
|
-
const commandBaseNames = new Set(
|
|
141
|
-
commands.map((c) => c.name.replace(/^(user|project|plugin:[^:]+):/, ""))
|
|
142
|
-
);
|
|
143
|
-
const skillEntries = allSkillEntries.filter(
|
|
144
|
-
([key, skill]) => !commandBaseNames.has(skill.name) && skill.config.disableModelInvocation !== true && skill.config.userInvocable !== false
|
|
145
|
-
);
|
|
146
|
-
const budget = getCharBudget();
|
|
147
|
-
const lines = [];
|
|
148
|
-
let used = 0;
|
|
149
|
-
let totalCount = commands.length + skillEntries.length;
|
|
150
|
-
let includedCount = 0;
|
|
151
|
-
for (const cmd of commands) {
|
|
152
|
-
const line = formatCommandLine(cmd);
|
|
153
|
-
if (used + line.length + 1 > budget) break;
|
|
154
|
-
lines.push(line);
|
|
155
|
-
used += line.length + 1;
|
|
156
|
-
includedCount++;
|
|
157
|
-
}
|
|
158
|
-
for (const [key, skill] of skillEntries) {
|
|
159
|
-
const line = formatSkillLine(skill, key);
|
|
160
|
-
if (used + line.length + 1 > budget) break;
|
|
161
|
-
lines.push(line);
|
|
162
|
-
used += line.length + 1;
|
|
163
|
-
includedCount++;
|
|
164
|
-
}
|
|
165
|
-
const availableLines = lines.length > 0 ? lines.join("\n") : "";
|
|
166
|
-
const truncatedNotice = totalCount > includedCount ? `
|
|
167
|
-
(Showing ${includedCount} of ${totalCount} skills due to token limits)` : "";
|
|
168
|
-
return `Execute a skill within the main conversation
|
|
169
|
-
|
|
170
|
-
<skills_instructions>
|
|
171
|
-
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.
|
|
172
|
-
|
|
173
|
-
When users ask you to run a "slash command" or reference "/<something>" (e.g., "/commit", "/review-pr"), they are referring to a skill. Use this tool to invoke the corresponding skill.
|
|
174
|
-
|
|
175
|
-
<example>
|
|
176
|
-
User: "run /commit"
|
|
177
|
-
Assistant: [Calls Skill tool with skill: "commit"]
|
|
178
|
-
</example>
|
|
179
|
-
|
|
180
|
-
How to invoke:
|
|
181
|
-
- Use this tool with the skill name and optional arguments
|
|
182
|
-
- Examples:
|
|
183
|
-
- \`skill: "pdf"\` - invoke the pdf skill
|
|
184
|
-
- \`skill: "commit", args: "-m 'Fix bug'"\` - invoke with arguments
|
|
185
|
-
- \`skill: "review-pr", args: "123"\` - invoke with arguments
|
|
186
|
-
- \`skill: "ms-office-suite:pdf"\` - invoke using fully qualified name
|
|
187
|
-
|
|
188
|
-
Important:
|
|
189
|
-
- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action
|
|
190
|
-
- NEVER just announce or mention a skill in your text response without actually calling this tool
|
|
191
|
-
- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task
|
|
192
|
-
- Only use skills listed in <available_skills> below
|
|
193
|
-
- Do not invoke a skill that is already running
|
|
194
|
-
- Do not use this tool for built-in CLI commands (like /help, /clear, etc.)
|
|
195
|
-
</skills_instructions>
|
|
196
|
-
|
|
197
|
-
${availableLines ? `<available_skills>
|
|
198
|
-
${availableLines}${truncatedNotice}
|
|
199
|
-
</available_skills>
|
|
200
|
-
` : ""}`;
|
|
201
|
-
},
|
|
202
|
-
renderToolUseMessage({ skill, args }, _options) {
|
|
203
|
-
return args ? `${skill} ${args}` : skill;
|
|
204
|
-
},
|
|
205
|
-
renderToolUseRejectedMessage() {
|
|
206
|
-
return /* @__PURE__ */ React.createElement(FallbackToolUseRejectedMessage, null);
|
|
207
|
-
},
|
|
208
|
-
renderToolResultMessage(output) {
|
|
209
|
-
if (!output) {
|
|
210
|
-
return /* @__PURE__ */ React.createElement(Box, { paddingLeft: 2 }, /* @__PURE__ */ React.createElement(Text, null, "Skill executed"));
|
|
211
|
-
}
|
|
212
|
-
return /* @__PURE__ */ React.createElement(Box, { paddingLeft: 2 }, /* @__PURE__ */ React.createElement(Text, { color: "green" }, "\u2713 Launching skill: /", output.skillName));
|
|
213
|
-
},
|
|
214
|
-
renderResultForAssistant(output) {
|
|
215
|
-
return `Launching skill: /${output.skillName}`;
|
|
216
|
-
},
|
|
217
|
-
async validateInput({ skill }, context) {
|
|
218
|
-
const parsed = parseSkillName(skill);
|
|
219
|
-
if (!parsed) {
|
|
220
|
-
return {
|
|
221
|
-
result: false,
|
|
222
|
-
message: `Invalid skill name: ${skill}`,
|
|
223
|
-
errorCode: 1
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
const commands = context?.options?.commands ?? await getCommands();
|
|
227
|
-
const cmd = await resolveSkillOrCommand(parsed.skillName, commands);
|
|
228
|
-
if (!cmd) {
|
|
229
|
-
return {
|
|
230
|
-
result: false,
|
|
231
|
-
message: `Unknown skill: ${parsed.skillName}`,
|
|
232
|
-
errorCode: 2
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
if (cmd.disableModelInvocation) {
|
|
236
|
-
return {
|
|
237
|
-
result: false,
|
|
238
|
-
message: `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool due to disable-model-invocation`,
|
|
239
|
-
errorCode: 4
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
if (cmd.disableNonInteractive) {
|
|
243
|
-
return {
|
|
244
|
-
result: false,
|
|
245
|
-
message: `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool because it is non-interactive`,
|
|
246
|
-
errorCode: 6
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
if (cmd.type !== "prompt") {
|
|
250
|
-
return {
|
|
251
|
-
result: false,
|
|
252
|
-
message: `Skill ${parsed.skillName} is not a prompt-based command`,
|
|
253
|
-
errorCode: 5
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
return { result: true };
|
|
257
|
-
},
|
|
258
|
-
async *call({ skill, args }, context) {
|
|
259
|
-
const parsed = parseSkillName(skill);
|
|
260
|
-
if (!parsed) {
|
|
261
|
-
throw new Error(`Invalid skill name: ${skill}`);
|
|
262
|
-
}
|
|
263
|
-
const commands = context.options?.commands ?? await getCommands();
|
|
264
|
-
const cmd = await resolveSkillOrCommand(parsed.skillName, commands);
|
|
265
|
-
if (!cmd) {
|
|
266
|
-
throw new Error(`Unknown skill: ${parsed.skillName}`);
|
|
267
|
-
}
|
|
268
|
-
if (cmd.disableModelInvocation) {
|
|
269
|
-
throw new Error(
|
|
270
|
-
`Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool due to disable-model-invocation`
|
|
271
|
-
);
|
|
272
|
-
}
|
|
273
|
-
if (cmd.disableNonInteractive) {
|
|
274
|
-
throw new Error(
|
|
275
|
-
`Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool because it is non-interactive`
|
|
276
|
-
);
|
|
277
|
-
}
|
|
278
|
-
if (cmd.type !== "prompt") {
|
|
279
|
-
throw new Error(
|
|
280
|
-
`Unexpected ${cmd.type} command. Expected 'prompt' command. Use /${parsed.skillName} directly in the main conversation.`
|
|
281
|
-
);
|
|
282
|
-
}
|
|
283
|
-
const skillObj = getSkill(parsed.skillName);
|
|
284
|
-
if (skillObj?.config.context === "fork") {
|
|
285
|
-
const content = await loadSkillContent(skillObj);
|
|
286
|
-
const baseDir = dirname(skillObj.filePath);
|
|
287
|
-
let forkPrompt = content.replace(/\{baseDir\}/g, baseDir);
|
|
288
|
-
forkPrompt = await substituteVariables(forkPrompt, args || "", {
|
|
289
|
-
cwd: getCwd(),
|
|
290
|
-
env: { BASE_DIR: baseDir },
|
|
291
|
-
allowDynamicCommands: true
|
|
292
|
-
});
|
|
293
|
-
if (args?.trim() && !content.includes("$ARGUMENTS") && !content.includes("$0")) {
|
|
294
|
-
forkPrompt += `
|
|
295
|
-
|
|
296
|
-
Additional context: ${args}`;
|
|
297
|
-
}
|
|
298
|
-
const forkAgentType = skillObj.config.agent || "general-purpose";
|
|
299
|
-
const forkModel = normalizeCommandModelName(skillObj.config.model);
|
|
300
|
-
const output2 = { success: true, skillName: parsed.skillName };
|
|
301
|
-
const forkInstruction = `This skill runs in fork mode. You MUST immediately call the Task tool with:
|
|
302
|
-
- description: "Skill: ${parsed.skillName}"
|
|
303
|
-
- subagent_type: "${forkAgentType}"
|
|
304
|
-
` + (forkModel ? `- model: "${forkModel}"
|
|
305
|
-
` : "") + `- prompt: The full skill content below
|
|
306
|
-
|
|
307
|
-
<skill-content>
|
|
308
|
-
${forkPrompt}
|
|
309
|
-
</skill-content>`;
|
|
310
|
-
yield {
|
|
311
|
-
type: "result",
|
|
312
|
-
data: output2,
|
|
313
|
-
resultForAssistant: this.renderResultForAssistant(output2),
|
|
314
|
-
newMessages: [
|
|
315
|
-
createUserMessage(
|
|
316
|
-
`<command-name>${parsed.skillName}</command-name>
|
|
317
|
-
<command-message>${parsed.skillName} is running in fork mode\u2026</command-message>`
|
|
318
|
-
),
|
|
319
|
-
createUserMessage(forkInstruction)
|
|
320
|
-
]
|
|
321
|
-
};
|
|
322
|
-
return;
|
|
323
|
-
}
|
|
324
|
-
let cleanupSkillHooks;
|
|
325
|
-
const resolvedSkill = getSkill(parsed.skillName);
|
|
326
|
-
if (resolvedSkill?.config.hooks?.length) {
|
|
327
|
-
const hookMgr = getHookManager();
|
|
328
|
-
if (hookMgr) {
|
|
329
|
-
const skillHooks = buildSkillHooks(resolvedSkill);
|
|
330
|
-
if (skillHooks.length > 0) {
|
|
331
|
-
cleanupSkillHooks = hookMgr.addHooks(skillHooks);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
emitReminderEvent("skill:invoked", { skillName: parsed.skillName });
|
|
336
|
-
const combinedArgs = args || "";
|
|
337
|
-
const prompt = await cmd.getPromptForCommand(combinedArgs);
|
|
338
|
-
const expandedMessages = prompt.map((msg) => {
|
|
339
|
-
const userMessage = createUserMessage(
|
|
340
|
-
typeof msg.content === "string" ? msg.content : msg.content.map((block) => block.type === "text" ? block.text : "").join("\n")
|
|
341
|
-
);
|
|
342
|
-
userMessage.options = {
|
|
343
|
-
...userMessage.options,
|
|
344
|
-
isCustomCommand: true,
|
|
345
|
-
commandName: cmd.userFacingName(),
|
|
346
|
-
commandArgs: combinedArgs
|
|
347
|
-
};
|
|
348
|
-
return userMessage;
|
|
349
|
-
});
|
|
350
|
-
const commandNameForMeta = cmd.userFacingName();
|
|
351
|
-
const progressMessage = cmd.progressMessage || "running";
|
|
352
|
-
const metaMessage = createUserMessage(`<command-name>${commandNameForMeta}</command-name>
|
|
353
|
-
<command-message>${commandNameForMeta} is ${progressMessage}\u2026</command-message>
|
|
354
|
-
<command-args>${combinedArgs}</command-args>`);
|
|
355
|
-
const allowedTools = Array.isArray(cmd.allowedTools) ? cmd.allowedTools : [];
|
|
356
|
-
const model = normalizeCommandModelName(cmd.model);
|
|
357
|
-
const maxThinkingTokens = typeof cmd.maxThinkingTokens === "number" ? cmd.maxThinkingTokens : void 0;
|
|
358
|
-
const output = { success: true, skillName: parsed.skillName };
|
|
359
|
-
const _cleanupRef = cleanupSkillHooks;
|
|
360
|
-
yield {
|
|
361
|
-
type: "result",
|
|
362
|
-
data: output,
|
|
363
|
-
resultForAssistant: this.renderResultForAssistant(output),
|
|
364
|
-
newMessages: [metaMessage, ...expandedMessages],
|
|
365
|
-
contextModifier: allowedTools.length > 0 || model || maxThinkingTokens !== void 0 ? {
|
|
366
|
-
modifyContext(ctx) {
|
|
367
|
-
const next = { ...ctx };
|
|
368
|
-
if (allowedTools.length > 0) {
|
|
369
|
-
const prev = Array.isArray(
|
|
370
|
-
next.options?.commandAllowedTools
|
|
371
|
-
) ? next.options.commandAllowedTools : [];
|
|
372
|
-
next.options = {
|
|
373
|
-
...next.options || {},
|
|
374
|
-
commandAllowedTools: [
|
|
375
|
-
.../* @__PURE__ */ new Set([...prev, ...allowedTools])
|
|
376
|
-
]
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
if (model) {
|
|
380
|
-
next.options = { ...next.options || {}, model };
|
|
381
|
-
}
|
|
382
|
-
if (maxThinkingTokens !== void 0) {
|
|
383
|
-
next.options = {
|
|
384
|
-
...next.options || {},
|
|
385
|
-
maxThinkingTokens
|
|
386
|
-
};
|
|
387
|
-
}
|
|
388
|
-
return next;
|
|
389
|
-
}
|
|
390
|
-
} : void 0
|
|
391
|
-
};
|
|
392
|
-
if (_cleanupRef) _cleanupRef();
|
|
393
|
-
}
|
|
394
|
-
};
|
|
395
|
-
function parseSkillName(skill) {
|
|
396
|
-
const trimmed = skill.trim();
|
|
397
|
-
const withoutSlash = trimmed.startsWith("/") ? trimmed.slice(1) : trimmed;
|
|
398
|
-
if (!withoutSlash) return null;
|
|
399
|
-
if (withoutSlash.includes(":")) {
|
|
400
|
-
const colonIdx = withoutSlash.indexOf(":");
|
|
401
|
-
const pluginName = withoutSlash.slice(0, colonIdx);
|
|
402
|
-
const skillPart = withoutSlash.slice(colonIdx + 1);
|
|
403
|
-
if (!pluginName || !skillPart) return null;
|
|
404
|
-
return { skillName: withoutSlash, pluginName };
|
|
405
|
-
}
|
|
406
|
-
return { skillName: withoutSlash };
|
|
407
|
-
}
|
|
408
|
-
function findCommand(skillName, commands) {
|
|
409
|
-
return commands.find(
|
|
410
|
-
(c) => c?.name === skillName || c?.userFacingName?.() === skillName || Array.isArray(c?.aliases) && c.aliases.includes(skillName)
|
|
411
|
-
) ?? null;
|
|
412
|
-
}
|
|
413
|
-
export {
|
|
414
|
-
SlashCommandTool
|
|
415
|
-
};
|
|
416
|
-
//# sourceMappingURL=SlashCommandTool.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/SlashCommandTool/SlashCommandTool.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * Unified Skill Tool\n *\n * Single meta-tool for discovering and executing skills within the main conversation.\n * Implements Claude Code's unified architecture with 3-stage progressive disclosure:\n * Stage 1: Metadata (name + description) in <available_skills> prompt (~100 tokens/skill)\n * Stage 2: Model uses stage 1 info to decide whether to invoke\n * Stage 3: Full SKILL.md content + {baseDir} resolution loaded on invocation (~5-20k tokens)\n *\n * Merges both commands/ (legacy) and skills/ (primary) data sources.\n */\n\nimport { z } from 'zod'\nimport { dirname } from 'path'\nimport { FallbackToolUseRejectedMessage } from '@components/FallbackToolUseRejectedMessage'\nimport { Tool } from '@tool'\nimport * as React from 'react'\nimport type { Message } from '@query'\nimport type { MessageParam } from '@anthropic-ai/sdk/resources/index.mjs'\nimport { createUserMessage } from '@utils/messages'\nimport { getCommands } from '@commands'\nimport {\n loadCustomCommands,\n type CustomCommandWithScope,\n} from '@services/customCommands'\nimport {\n loadAllSkills,\n getAllSkillEntries,\n getSkill,\n loadSkillContent,\n} from '@utils/skillLoader'\nimport type { LoadedSkill } from '../../types/plugin'\nimport { substituteVariables } from '@utils/stringSubstitution'\nimport { getCwd } from '@utils/state'\nimport { getHookManager } from '@utils/hookManager'\nimport { emitReminderEvent } from '@services/systemReminder'\nimport { TOOL_NAME_FOR_PROMPT } from './prompt'\nimport { Box, Text } from 'ink'\nimport type {\n LoadedHook,\n HookEvent as PluginHookEvent,\n} from '../../types/plugin'\n\nconst inputSchema = z.strictObject({\n skill: z\n .string()\n .describe('The skill name. E.g., \"commit\", \"review-pr\", or \"pdf\"'),\n args: z.string().optional().describe('Optional arguments for the skill'),\n})\n\ntype Input = z.infer<typeof inputSchema>\ntype Output = {\n success: boolean\n skillName: string\n}\n\n/**\n * Convert skill hook definitions into LoadedHook objects for temporary registration\n */\nfunction buildSkillHooks(skill: LoadedSkill): LoadedHook[] {\n if (!skill.config.hooks?.length) return []\n return skill.config.hooks.map((h, i) => ({\n name: `skill:${skill.name}:${h.event}:${i}`,\n filePath: skill.filePath,\n config: {\n event: h.event as PluginHookEvent,\n matcher: h.matcher,\n type: h.type || 'command',\n command: h.command,\n prompt: h.prompt,\n timeout: h.timeout,\n },\n pluginName: `skill:${skill.name}`,\n event: h.event as PluginHookEvent,\n matcher: h.matcher,\n }))\n}\n\nfunction normalizeCommandModelName(model: unknown): string | undefined {\n if (typeof model !== 'string') return undefined\n const trimmed = model.trim()\n if (!trimmed || trimmed === 'inherit') return undefined\n if (trimmed === 'haiku') return 'quick'\n if (trimmed === 'sonnet') return 'task'\n if (trimmed === 'opus') return 'main'\n return trimmed\n}\n\nfunction getCharBudget(): number {\n const raw = Number(process.env.SLASH_COMMAND_TOOL_CHAR_BUDGET)\n return Number.isFinite(raw) && raw > 0 ? raw : 15000\n}\n\n/**\n * Format a command entry for Stage 1 <available_skills> listing\n */\nfunction formatCommandLine(cmd: CustomCommandWithScope): string {\n const name = `/${cmd.name}`\n const args = (cmd as any).argumentHint ? ` ${(cmd as any).argumentHint}` : ''\n const whenToUse = (cmd as any).whenToUse ? `- ${(cmd as any).whenToUse}` : ''\n return `- ${name}${args}: ${cmd.description} ${whenToUse}`.trim()\n}\n\n/**\n * Format a skill entry for Stage 1 <available_skills> listing\n * Uses namespaced key for plugin skills (plugin:skill)\n */\nfunction formatSkillLine(skill: LoadedSkill, key: string): string {\n const name = `/${key}`\n const args = skill.config.argumentHint ? ` ${skill.config.argumentHint}` : ''\n return `- ${name}${args}: ${skill.config.description}`.trim()\n}\n\n/**\n * Convert a LoadedSkill into a Command-like object for execution (Stage 3).\n * Loads full content, resolves {baseDir}, applies $ARGUMENTS substitution.\n */\nasync function convertSkillToCommand(\n skill: LoadedSkill,\n): Promise<CustomCommandWithScope> {\n const content = await loadSkillContent(skill)\n const baseDir = dirname(skill.filePath)\n\n return {\n type: 'prompt' as const,\n name: skill.name,\n description: skill.config.description,\n isEnabled: true,\n isHidden: false,\n aliases: [],\n progressMessage: `Running ${skill.name}...`,\n scope: skill.source === 'user' ? 'user' : 'project',\n allowedTools: skill.config.allowedTools,\n model: skill.config.model,\n disableModelInvocation: skill.config.disableModelInvocation,\n argumentHint: skill.config.argumentHint,\n userFacingName: () => skill.name,\n async getPromptForCommand(args: string): Promise<MessageParam[]> {\n // Stage 3: Full content with {baseDir} resolution\n let prompt = content\n\n // 1. Resolve {baseDir} pattern (Claude Code skill spec)\n prompt = prompt.replace(/\\{baseDir\\}/g, baseDir)\n\n // 2. Apply standard substitution ($ARGUMENTS, ${VAR}, !`commands`, etc.)\n // Skills are user-installed, so dynamic commands are allowed\n prompt = await substituteVariables(prompt, args || '', {\n cwd: getCwd(),\n env: { BASE_DIR: baseDir },\n allowDynamicCommands: true,\n })\n\n // 3. Append args if no placeholders used\n if (\n args.trim() &&\n !content.includes('$ARGUMENTS') &&\n !content.includes('$0')\n ) {\n prompt += `\\n\\nAdditional context: ${args}`\n }\n\n return [{ role: 'user', content: prompt }]\n },\n } as any\n}\n\n/**\n * Resolve a skill name to a command, checking commands first then skills.\n */\nasync function resolveSkillOrCommand(\n skillName: string,\n commands: any[],\n): Promise<any | null> {\n // 1. Check commands registry first\n const cmd = findCommand(skillName, commands)\n if (cmd) return cmd\n\n // 2. Fall back to skills from skillLoader\n const skillObj = getSkill(skillName)\n if (skillObj) {\n return convertSkillToCommand(skillObj)\n }\n\n return null\n}\n\nexport const SlashCommandTool = {\n name: TOOL_NAME_FOR_PROMPT,\n async description(input?: Input) {\n const skill = input?.skill\n return skill\n ? `Execute skill: ${skill}`\n : 'Execute a skill within the main conversation'\n },\n userFacingName() {\n return 'Skill'\n },\n inputSchema,\n isReadOnly() {\n return false\n },\n isConcurrencySafe() {\n return false\n },\n async isEnabled() {\n return true\n },\n needsPermissions() {\n return true\n },\n async prompt() {\n // Stage 1: Load metadata from both commands/ and skills/ pipelines\n const [all, allSkillEntries] = await Promise.all([\n loadCustomCommands(),\n Promise.resolve(getAllSkillEntries()),\n ])\n\n // Commands from commands/ dirs (existing behavior)\n const commands = all.filter(\n cmd =>\n cmd.type === 'prompt' &&\n (cmd as any).isSkill !== true &&\n (cmd as any).disableModelInvocation !== true,\n )\n\n // Skills from skills/ dirs \u2014 deduplicate against commands\n const commandBaseNames = new Set(\n commands.map(c => c.name.replace(/^(user|project|plugin:[^:]+):/, '')),\n )\n const skillEntries = allSkillEntries.filter(\n ([key, skill]) =>\n !commandBaseNames.has(skill.name) &&\n skill.config.disableModelInvocation !== true &&\n skill.config.userInvocable !== false,\n )\n\n // Build unified <available_skills> listing with character budget\n // Stage 1: only name + description (frontmatter metadata)\n const budget = getCharBudget()\n const lines: string[] = []\n let used = 0\n let totalCount = commands.length + skillEntries.length\n let includedCount = 0\n\n // Commands first, then skills (both contribute to same budget)\n for (const cmd of commands) {\n const line = formatCommandLine(cmd)\n if (used + line.length + 1 > budget) break\n lines.push(line)\n used += line.length + 1\n includedCount++\n }\n for (const [key, skill] of skillEntries) {\n const line = formatSkillLine(skill, key)\n if (used + line.length + 1 > budget) break\n lines.push(line)\n used += line.length + 1\n includedCount++\n }\n\n const availableLines = lines.length > 0 ? lines.join('\\n') : ''\n const truncatedNotice =\n totalCount > includedCount\n ? `\\n(Showing ${includedCount} of ${totalCount} skills due to token limits)`\n : ''\n\n return `Execute a skill within the main conversation\n\n<skills_instructions>\nWhen users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.\n\nWhen users ask you to run a \"slash command\" or reference \"/<something>\" (e.g., \"/commit\", \"/review-pr\"), they are referring to a skill. Use this tool to invoke the corresponding skill.\n\n<example>\nUser: \"run /commit\"\nAssistant: [Calls Skill tool with skill: \"commit\"]\n</example>\n\nHow to invoke:\n- Use this tool with the skill name and optional arguments\n- Examples:\n - \\`skill: \"pdf\"\\` - invoke the pdf skill\n - \\`skill: \"commit\", args: \"-m 'Fix bug'\"\\` - invoke with arguments\n - \\`skill: \"review-pr\", args: \"123\"\\` - invoke with arguments\n - \\`skill: \"ms-office-suite:pdf\"\\` - invoke using fully qualified name\n\nImportant:\n- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action\n- NEVER just announce or mention a skill in your text response without actually calling this tool\n- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task\n- Only use skills listed in <available_skills> below\n- Do not invoke a skill that is already running\n- Do not use this tool for built-in CLI commands (like /help, /clear, etc.)\n</skills_instructions>\n\n${\n availableLines\n ? `<available_skills>\n${availableLines}${truncatedNotice}\n</available_skills>\n`\n : ''\n}`\n },\n renderToolUseMessage({ skill, args }: Input, _options: { verbose: boolean }) {\n return args ? `${skill} ${args}` : skill\n },\n renderToolUseRejectedMessage() {\n return <FallbackToolUseRejectedMessage />\n },\n renderToolResultMessage(output: Output) {\n if (!output) {\n return (\n <Box paddingLeft={2}>\n <Text>Skill executed</Text>\n </Box>\n )\n }\n\n return (\n <Box paddingLeft={2}>\n <Text color=\"green\">\u2713 Launching skill: /{output.skillName}</Text>\n </Box>\n )\n },\n renderResultForAssistant(output: Output) {\n return `Launching skill: /${output.skillName}`\n },\n async validateInput({ skill }: Input, context) {\n const parsed = parseSkillName(skill)\n if (!parsed) {\n return {\n result: false,\n message: `Invalid skill name: ${skill}`,\n errorCode: 1,\n }\n }\n\n const commands = context?.options?.commands ?? (await getCommands())\n const cmd = await resolveSkillOrCommand(parsed.skillName, commands)\n\n if (!cmd) {\n return {\n result: false,\n message: `Unknown skill: ${parsed.skillName}`,\n errorCode: 2,\n }\n }\n\n if ((cmd as any).disableModelInvocation) {\n return {\n result: false,\n message: `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool due to disable-model-invocation`,\n errorCode: 4,\n }\n }\n\n if ((cmd as any).disableNonInteractive) {\n return {\n result: false,\n message: `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool because it is non-interactive`,\n errorCode: 6,\n }\n }\n\n if (cmd.type !== 'prompt') {\n return {\n result: false,\n message: `Skill ${parsed.skillName} is not a prompt-based command`,\n errorCode: 5,\n }\n }\n\n return { result: true }\n },\n async *call({ skill, args }: Input, context) {\n const parsed = parseSkillName(skill)\n if (!parsed) {\n throw new Error(`Invalid skill name: ${skill}`)\n }\n\n const commands = context.options?.commands ?? (await getCommands())\n const cmd = await resolveSkillOrCommand(parsed.skillName, commands)\n\n if (!cmd) {\n throw new Error(`Unknown skill: ${parsed.skillName}`)\n }\n\n if ((cmd as any).disableModelInvocation) {\n throw new Error(\n `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool due to disable-model-invocation`,\n )\n }\n\n if ((cmd as any).disableNonInteractive) {\n throw new Error(\n `Skill ${parsed.skillName} cannot be used with ${TOOL_NAME_FOR_PROMPT} tool because it is non-interactive`,\n )\n }\n\n if (cmd.type !== 'prompt') {\n throw new Error(\n `Unexpected ${cmd.type} command. Expected 'prompt' command. Use /${parsed.skillName} directly in the main conversation.`,\n )\n }\n\n // Check if skill has context: fork \u2014 delegate to TaskTool subagent\n const skillObj = getSkill(parsed.skillName)\n if (skillObj?.config.context === 'fork') {\n const content = await loadSkillContent(skillObj)\n const baseDir = dirname(skillObj.filePath)\n let forkPrompt = content.replace(/\\{baseDir\\}/g, baseDir)\n forkPrompt = await substituteVariables(forkPrompt, args || '', {\n cwd: getCwd(),\n env: { BASE_DIR: baseDir },\n allowDynamicCommands: true,\n })\n if (\n args?.trim() &&\n !content.includes('$ARGUMENTS') &&\n !content.includes('$0')\n ) {\n forkPrompt += `\\n\\nAdditional context: ${args}`\n }\n\n const forkAgentType = skillObj.config.agent || 'general-purpose'\n const forkModel = normalizeCommandModelName(skillObj.config.model)\n const output: Output = { success: true, skillName: parsed.skillName }\n\n // Instruct the model to delegate to TaskTool with the fork context\n const forkInstruction =\n `This skill runs in fork mode. You MUST immediately call the Task tool with:\\n` +\n `- description: \"Skill: ${parsed.skillName}\"\\n` +\n `- subagent_type: \"${forkAgentType}\"\\n` +\n (forkModel ? `- model: \"${forkModel}\"\\n` : '') +\n `- prompt: The full skill content below\\n\\n` +\n `<skill-content>\\n${forkPrompt}\\n</skill-content>`\n\n yield {\n type: 'result' as const,\n data: output,\n resultForAssistant: this.renderResultForAssistant(output),\n newMessages: [\n createUserMessage(\n `<command-name>${parsed.skillName}</command-name>\\n<command-message>${parsed.skillName} is running in fork mode\u2026</command-message>`,\n ),\n createUserMessage(forkInstruction),\n ],\n }\n return\n }\n\n // Register skill-level hooks if present (lifecycle: skill start \u2192 end)\n let cleanupSkillHooks: (() => void) | undefined\n const resolvedSkill = getSkill(parsed.skillName)\n if (resolvedSkill?.config.hooks?.length) {\n const hookMgr = getHookManager()\n if (hookMgr) {\n const skillHooks = buildSkillHooks(resolvedSkill)\n if (skillHooks.length > 0) {\n cleanupSkillHooks = hookMgr.addHooks(skillHooks)\n }\n }\n }\n\n emitReminderEvent('skill:invoked', { skillName: parsed.skillName })\n\n const combinedArgs = args || ''\n const prompt = await cmd.getPromptForCommand(combinedArgs)\n const expandedMessages: Message[] = prompt.map(msg => {\n const userMessage = createUserMessage(\n typeof msg.content === 'string'\n ? msg.content\n : (msg.content as any[])\n .map(block => (block.type === 'text' ? block.text : ''))\n .join('\\n'),\n )\n userMessage.options = {\n ...userMessage.options,\n isCustomCommand: true,\n commandName: cmd.userFacingName(),\n commandArgs: combinedArgs,\n }\n return userMessage\n })\n\n const commandNameForMeta = cmd.userFacingName()\n const progressMessage = (cmd as any).progressMessage || 'running'\n const metaMessage =\n createUserMessage(`<command-name>${commandNameForMeta}</command-name>\n<command-message>${commandNameForMeta} is ${progressMessage}\u2026</command-message>\n<command-args>${combinedArgs}</command-args>`)\n\n const allowedTools: string[] = Array.isArray((cmd as any).allowedTools)\n ? (cmd as any).allowedTools\n : []\n const model = normalizeCommandModelName((cmd as any).model)\n const maxThinkingTokens: number | undefined =\n typeof (cmd as any).maxThinkingTokens === 'number'\n ? (cmd as any).maxThinkingTokens\n : undefined\n\n const output: Output = { success: true, skillName: parsed.skillName }\n\n // Capture cleanup ref in contextModifier so hooks stay active during skill execution\n const _cleanupRef = cleanupSkillHooks\n\n yield {\n type: 'result' as const,\n data: output,\n resultForAssistant: this.renderResultForAssistant(output),\n newMessages: [metaMessage, ...expandedMessages],\n contextModifier:\n allowedTools.length > 0 || model || maxThinkingTokens !== undefined\n ? {\n modifyContext(ctx: any) {\n const next = { ...ctx }\n\n if (allowedTools.length > 0) {\n const prev = Array.isArray(\n (next.options as any)?.commandAllowedTools,\n )\n ? ((next.options as any).commandAllowedTools as string[])\n : []\n next.options = {\n ...(next.options || {}),\n commandAllowedTools: [\n ...new Set([...prev, ...allowedTools]),\n ],\n }\n }\n\n if (model) {\n next.options = { ...(next.options || {}), model }\n }\n\n if (maxThinkingTokens !== undefined) {\n next.options = {\n ...(next.options || {}),\n maxThinkingTokens,\n }\n }\n\n return next\n },\n }\n : undefined,\n }\n\n // Cleanup skill hooks after yield (generator resumes here when done)\n if (_cleanupRef) _cleanupRef()\n },\n} satisfies Tool\n\nfunction parseSkillName(\n skill: string,\n): { skillName: string; pluginName?: string } | null {\n const trimmed = skill.trim()\n // Remove leading slash if present\n const withoutSlash = trimmed.startsWith('/') ? trimmed.slice(1) : trimmed\n if (!withoutSlash) return null\n\n // Parse \"plugin:skill\" namespace syntax\n if (withoutSlash.includes(':')) {\n const colonIdx = withoutSlash.indexOf(':')\n const pluginName = withoutSlash.slice(0, colonIdx)\n const skillPart = withoutSlash.slice(colonIdx + 1)\n if (!pluginName || !skillPart) return null\n return { skillName: withoutSlash, pluginName }\n }\n\n return { skillName: withoutSlash }\n}\n\nfunction findCommand(skillName: string, commands: any[]): any | null {\n return (\n commands.find(\n (c: any) =>\n c?.name === skillName ||\n c?.userFacingName?.() === skillName ||\n (Array.isArray(c?.aliases) && c.aliases.includes(skillName)),\n ) ?? null\n )\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["output"]
|
|
7
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const TOOL_NAME_FOR_PROMPT = "Skill";
|
|
2
|
-
const DESCRIPTION = `Execute a skill within the main conversation
|
|
3
|
-
|
|
4
|
-
<skills_instructions>
|
|
5
|
-
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.
|
|
6
|
-
|
|
7
|
-
When users ask you to run a "slash command" or reference "/<something>" (e.g., "/commit", "/review-pr"), they are referring to a skill. Use this tool to invoke the corresponding skill.
|
|
8
|
-
|
|
9
|
-
<example>
|
|
10
|
-
User: "run /commit"
|
|
11
|
-
Assistant: [Calls Skill tool with skill: "commit"]
|
|
12
|
-
</example>
|
|
13
|
-
|
|
14
|
-
How to invoke:
|
|
15
|
-
- Use this tool with the skill name and optional arguments
|
|
16
|
-
- Examples:
|
|
17
|
-
- \`skill: "pdf"\` - invoke the pdf skill
|
|
18
|
-
- \`skill: "commit", args: "-m 'Fix bug'"\` - invoke with arguments
|
|
19
|
-
- \`skill: "review-pr", args: "123"\` - invoke with arguments
|
|
20
|
-
- \`skill: "ms-office-suite:pdf"\` - invoke using fully qualified name
|
|
21
|
-
|
|
22
|
-
Important:
|
|
23
|
-
- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action
|
|
24
|
-
- NEVER just announce or mention a skill in your text response without actually calling this tool
|
|
25
|
-
- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task
|
|
26
|
-
- Only use skills listed in <available_skills> below
|
|
27
|
-
- Do not invoke a skill that is already running
|
|
28
|
-
- Do not use this tool for built-in CLI commands (like /help, /clear, etc.)
|
|
29
|
-
</skills_instructions>
|
|
30
|
-
`;
|
|
31
|
-
export {
|
|
32
|
-
DESCRIPTION,
|
|
33
|
-
TOOL_NAME_FOR_PROMPT
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=prompt.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/SlashCommandTool/prompt.ts"],
|
|
4
|
-
"sourcesContent": ["export const TOOL_NAME_FOR_PROMPT = 'Skill'\nexport const DESCRIPTION = `Execute a skill within the main conversation\n\n<skills_instructions>\nWhen users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.\n\nWhen users ask you to run a \"slash command\" or reference \"/<something>\" (e.g., \"/commit\", \"/review-pr\"), they are referring to a skill. Use this tool to invoke the corresponding skill.\n\n<example>\nUser: \"run /commit\"\nAssistant: [Calls Skill tool with skill: \"commit\"]\n</example>\n\nHow to invoke:\n- Use this tool with the skill name and optional arguments\n- Examples:\n - \\`skill: \"pdf\"\\` - invoke the pdf skill\n - \\`skill: \"commit\", args: \"-m 'Fix bug'\"\\` - invoke with arguments\n - \\`skill: \"review-pr\", args: \"123\"\\` - invoke with arguments\n - \\`skill: \"ms-office-suite:pdf\"\\` - invoke using fully qualified name\n\nImportant:\n- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action\n- NEVER just announce or mention a skill in your text response without actually calling this tool\n- This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task\n- Only use skills listed in <available_skills> below\n- Do not invoke a skill that is already running\n- Do not use this tool for built-in CLI commands (like /help, /clear, etc.)\n</skills_instructions>\n`\n"],
|
|
5
|
-
"mappings": "AAAO,MAAM,uBAAuB;AAC7B,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Box, Text } from "ink";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { FallbackToolUseRejectedMessage } from "../../components/FallbackToolUseRejectedMessage.js";
|
|
5
|
-
import { createTask } from "../../services/taskStore.js";
|
|
6
|
-
import { DESCRIPTION, PROMPT } from "./prompt.js";
|
|
7
|
-
import { getTheme } from "../../utils/theme.js";
|
|
8
|
-
const inputSchema = z.strictObject({
|
|
9
|
-
subject: z.string().describe("A brief title for the task"),
|
|
10
|
-
description: z.string().describe("A detailed description of what needs to be done"),
|
|
11
|
-
activeForm: z.string().optional().describe(
|
|
12
|
-
'Present continuous form shown in spinner when in_progress (e.g., "Running tests")'
|
|
13
|
-
),
|
|
14
|
-
metadata: z.record(z.unknown()).optional().describe("Arbitrary metadata to attach to the task")
|
|
15
|
-
});
|
|
16
|
-
const TaskCreateTool = {
|
|
17
|
-
name: "TaskCreate",
|
|
18
|
-
async description() {
|
|
19
|
-
return DESCRIPTION;
|
|
20
|
-
},
|
|
21
|
-
async prompt() {
|
|
22
|
-
return PROMPT;
|
|
23
|
-
},
|
|
24
|
-
inputSchema,
|
|
25
|
-
userFacingName() {
|
|
26
|
-
return "Create Task";
|
|
27
|
-
},
|
|
28
|
-
async isEnabled() {
|
|
29
|
-
return true;
|
|
30
|
-
},
|
|
31
|
-
isReadOnly() {
|
|
32
|
-
return false;
|
|
33
|
-
},
|
|
34
|
-
isConcurrencySafe() {
|
|
35
|
-
return false;
|
|
36
|
-
},
|
|
37
|
-
needsPermissions() {
|
|
38
|
-
return false;
|
|
39
|
-
},
|
|
40
|
-
renderToolUseMessage(input) {
|
|
41
|
-
const subject = input.subject || "";
|
|
42
|
-
const truncated = subject.length > 50 ? subject.slice(0, 50) + "..." : subject;
|
|
43
|
-
return `subject: "${truncated}"`;
|
|
44
|
-
},
|
|
45
|
-
renderToolUseRejectedMessage() {
|
|
46
|
-
return /* @__PURE__ */ React.createElement(FallbackToolUseRejectedMessage, null);
|
|
47
|
-
},
|
|
48
|
-
renderToolResultMessage(output) {
|
|
49
|
-
if (!output || !output.taskId) {
|
|
50
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, null, "Task created"));
|
|
51
|
-
}
|
|
52
|
-
return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, { color: getTheme().success }, "Task #", output.taskId, " created: ", output.subject));
|
|
53
|
-
},
|
|
54
|
-
renderResultForAssistant(result) {
|
|
55
|
-
return `Task #${result.taskId} created successfully: ${result.subject}`;
|
|
56
|
-
},
|
|
57
|
-
async validateInput({ subject, description }) {
|
|
58
|
-
if (!subject?.trim()) {
|
|
59
|
-
return {
|
|
60
|
-
result: false,
|
|
61
|
-
message: "Task subject cannot be empty"
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
if (!description?.trim()) {
|
|
65
|
-
return {
|
|
66
|
-
result: false,
|
|
67
|
-
message: "Task description cannot be empty"
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
return { result: true };
|
|
71
|
-
},
|
|
72
|
-
async *call(input) {
|
|
73
|
-
try {
|
|
74
|
-
const task = createTask({
|
|
75
|
-
subject: input.subject,
|
|
76
|
-
description: input.description,
|
|
77
|
-
activeForm: input.activeForm,
|
|
78
|
-
metadata: input.metadata
|
|
79
|
-
});
|
|
80
|
-
const result = {
|
|
81
|
-
taskId: task.id,
|
|
82
|
-
subject: task.subject
|
|
83
|
-
};
|
|
84
|
-
yield {
|
|
85
|
-
type: "result",
|
|
86
|
-
data: result,
|
|
87
|
-
resultForAssistant: this.renderResultForAssistant(result)
|
|
88
|
-
};
|
|
89
|
-
} catch (error) {
|
|
90
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
|
|
91
|
-
yield {
|
|
92
|
-
type: "result",
|
|
93
|
-
data: { error: errorMessage },
|
|
94
|
-
resultForAssistant: `Error creating task: ${errorMessage}`
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
export {
|
|
100
|
-
TaskCreateTool
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=TaskCreateTool.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/tools/TaskCreateTool/TaskCreateTool.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Box, Text } from 'ink'\nimport * as React from 'react'\nimport { z } from 'zod'\nimport { FallbackToolUseRejectedMessage } from '@components/FallbackToolUseRejectedMessage'\nimport { Tool } from '@tool'\nimport { createTask } from '@services/taskStore'\nimport { DESCRIPTION, PROMPT } from './prompt'\nimport { getTheme } from '@utils/theme'\n\nconst inputSchema = z.strictObject({\n subject: z.string().describe('A brief title for the task'),\n description: z\n .string()\n .describe('A detailed description of what needs to be done'),\n activeForm: z\n .string()\n .optional()\n .describe(\n 'Present continuous form shown in spinner when in_progress (e.g., \"Running tests\")',\n ),\n metadata: z\n .record(z.unknown())\n .optional()\n .describe('Arbitrary metadata to attach to the task'),\n})\n\nexport const TaskCreateTool = {\n name: 'TaskCreate',\n async description() {\n return DESCRIPTION\n },\n async prompt() {\n return PROMPT\n },\n inputSchema,\n userFacingName() {\n return 'Create Task'\n },\n async isEnabled() {\n return true\n },\n isReadOnly() {\n return false\n },\n isConcurrencySafe() {\n return false\n },\n needsPermissions() {\n return false\n },\n renderToolUseMessage(input: z.infer<typeof inputSchema>) {\n const subject = input.subject || ''\n const truncated =\n subject.length > 50 ? subject.slice(0, 50) + '...' : subject\n return `subject: \"${truncated}\"`\n },\n renderToolUseRejectedMessage() {\n return <FallbackToolUseRejectedMessage />\n },\n renderToolResultMessage(output: { taskId: string; subject: string }) {\n if (!output || !output.taskId) {\n return (\n <Box flexDirection=\"row\">\n <Text> \u23BF </Text>\n <Text>Task created</Text>\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"row\">\n <Text> \u23BF </Text>\n <Text color={getTheme().success}>\n Task #{output.taskId} created: {output.subject}\n </Text>\n </Box>\n )\n },\n renderResultForAssistant(result: { taskId: string; subject: string }) {\n return `Task #${result.taskId} created successfully: ${result.subject}`\n },\n async validateInput({ subject, description }: z.infer<typeof inputSchema>) {\n if (!subject?.trim()) {\n return {\n result: false,\n message: 'Task subject cannot be empty',\n }\n }\n if (!description?.trim()) {\n return {\n result: false,\n message: 'Task description cannot be empty',\n }\n }\n return { result: true }\n },\n async *call(input: z.infer<typeof inputSchema>) {\n try {\n const task = createTask({\n subject: input.subject,\n description: input.description,\n activeForm: input.activeForm,\n metadata: input.metadata,\n })\n\n const result = {\n taskId: task.id,\n subject: task.subject,\n }\n\n yield {\n type: 'result',\n data: result,\n resultForAssistant: this.renderResultForAssistant(result),\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : 'Unknown error occurred'\n yield {\n type: 'result',\n data: { error: errorMessage },\n resultForAssistant: `Error creating task: ${errorMessage}`,\n }\n }\n },\n} satisfies Tool\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,KAAK,YAAY;AAC1B,YAAY,WAAW;AACvB,SAAS,SAAS;AAClB,SAAS,sCAAsC;AAE/C,SAAS,kBAAkB;AAC3B,SAAS,aAAa,cAAc;AACpC,SAAS,gBAAgB;AAEzB,MAAM,cAAc,EAAE,aAAa;AAAA,EACjC,SAAS,EAAE,OAAO,EAAE,SAAS,4BAA4B;AAAA,EACzD,aAAa,EACV,OAAO,EACP,SAAS,iDAAiD;AAAA,EAC7D,YAAY,EACT,OAAO,EACP,SAAS,EACT;AAAA,IACC;AAAA,EACF;AAAA,EACF,UAAU,EACP,OAAO,EAAE,QAAQ,CAAC,EAClB,SAAS,EACT,SAAS,0CAA0C;AACxD,CAAC;AAEM,MAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,MAAM,cAAc;AAClB,WAAO;AAAA,EACT;AAAA,EACA,MAAM,SAAS;AACb,WAAO;AAAA,EACT;AAAA,EACA;AAAA,EACA,iBAAiB;AACf,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY;AAChB,WAAO;AAAA,EACT;AAAA,EACA,aAAa;AACX,WAAO;AAAA,EACT;AAAA,EACA,oBAAoB;AAClB,WAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AACjB,WAAO;AAAA,EACT;AAAA,EACA,qBAAqB,OAAoC;AACvD,UAAM,UAAU,MAAM,WAAW;AACjC,UAAM,YACJ,QAAQ,SAAS,KAAK,QAAQ,MAAM,GAAG,EAAE,IAAI,QAAQ;AACvD,WAAO,aAAa,SAAS;AAAA,EAC/B;AAAA,EACA,+BAA+B;AAC7B,WAAO,oCAAC,oCAA+B;AAAA,EACzC;AAAA,EACA,wBAAwB,QAA6C;AACnE,QAAI,CAAC,UAAU,CAAC,OAAO,QAAQ;AAC7B,aACE,oCAAC,OAAI,eAAc,SACjB,oCAAC,YAAK,qBAAoB,GAC1B,oCAAC,YAAK,cAAY,CACpB;AAAA,IAEJ;AAEA,WACE,oCAAC,OAAI,eAAc,SACjB,oCAAC,YAAK,qBAAoB,GAC1B,oCAAC,QAAK,OAAO,SAAS,EAAE,WAAS,UACxB,OAAO,QAAO,cAAW,OAAO,OACzC,CACF;AAAA,EAEJ;AAAA,EACA,yBAAyB,QAA6C;AACpE,WAAO,SAAS,OAAO,MAAM,0BAA0B,OAAO,OAAO;AAAA,EACvE;AAAA,EACA,MAAM,cAAc,EAAE,SAAS,YAAY,GAAgC;AACzE,QAAI,CAAC,SAAS,KAAK,GAAG;AACpB,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,IACF;AACA,QAAI,CAAC,aAAa,KAAK,GAAG;AACxB,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,EAAE,QAAQ,KAAK;AAAA,EACxB;AAAA,EACA,OAAO,KAAK,OAAoC;AAC9C,QAAI;AACF,YAAM,OAAO,WAAW;AAAA,QACtB,SAAS,MAAM;AAAA,QACf,aAAa,MAAM;AAAA,QACnB,YAAY,MAAM;AAAA,QAClB,UAAU,MAAM;AAAA,MAClB,CAAC;AAED,YAAM,SAAS;AAAA,QACb,QAAQ,KAAK;AAAA,QACb,SAAS,KAAK;AAAA,MAChB;AAEA,YAAM;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,oBAAoB,KAAK,yBAAyB,MAAM;AAAA,MAC1D;AAAA,IACF,SAAS,OAAO;AACd,YAAM,eACJ,iBAAiB,QAAQ,MAAM,UAAU;AAC3C,YAAM;AAAA,QACJ,MAAM;AAAA,QACN,MAAM,EAAE,OAAO,aAAa;AAAA,QAC5B,oBAAoB,wBAAwB,YAAY;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|