@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,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/services/hookExecutor.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Hook Execution Engine\n *\n * Executes plugin hooks with bash command execution, JSON I/O,\n * and decision processing (approve/block/ask).\n *\n * Supports hook types: command, prompt, agent.\n * Fully compatible with Claude Code CLI hooks specification.\n */\n\nimport { spawn } from 'child_process'\nimport { existsSync, readFileSync } from 'fs'\nimport { EventEmitter } from 'events'\nimport {\n HookEvent,\n HookInput,\n HookOutput,\n PreToolUseInput,\n PostToolUseInput,\n PostToolUseFailureInput,\n PermissionRequestInput,\n UserPromptSubmitInput,\n SessionStartInput,\n SessionEndInput,\n StopInput,\n SubagentStartInput,\n SubagentStopInput,\n NotificationInput,\n PreCompactInput,\n PostCompactInput,\n ConfigChangeInput,\n TaskCompletedInput,\n TeammateIdleInput,\n} from '../types/hooks'\nimport { LoadedHook, HookEvent as PluginHookEvent } from '../types/plugin'\nimport { getCwd } from '../utils/state'\nimport { logError } from '../utils/log'\nimport { emitReminderEvent } from './systemReminder'\n\n// Simple logging helpers\nconst logInfo = (msg: string) => {\n if (process.env.DEBUG) console.log(`[INFO] ${msg}`)\n}\nconst logDebug = (msg: string, ...args: any[]) => {\n if (process.env.DEBUG) console.log(`[DEBUG] ${msg}`, ...args)\n}\n\n/**\n * Hook status event for verbose mode display\n */\nexport interface HookStatusEvent {\n event: PluginHookEvent\n toolName?: string\n success: boolean\n message: string\n timestamp: number\n hookName: string\n}\n\n/**\n * Event emitter for hook status updates\n */\nexport const hookStatusEmitter = new EventEmitter()\n\n/**\n * Session-level set tracking once-per-session hooks\n */\nconst executedOnceHooks = new Set<string>()\n\n/**\n * Reset once-hook tracking (call on session start)\n */\nexport function resetOnceHooks(): void {\n executedOnceHooks.clear()\n}\n\nfunction formatHookStatusMessage(\n event: PluginHookEvent,\n toolName: string | undefined,\n hookName: string,\n success: boolean,\n errorMessage?: string,\n): string {\n const eventPart = toolName ? `${event}:${toolName}` : event\n const statusPart = success ? 'succeeded' : 'failed'\n const detailPart = success ? 'Success' : errorMessage || 'Error'\n return `${eventPart} hook ${statusPart}: ${detailPart}`\n}\n\nfunction emitStatusEvent(\n event: PluginHookEvent,\n toolName: string | undefined,\n hookName: string,\n success: boolean,\n errorMessage?: string,\n): void {\n hookStatusEmitter.emit('status', {\n event,\n toolName,\n success,\n message: formatHookStatusMessage(\n event,\n toolName,\n hookName,\n success,\n errorMessage,\n ),\n timestamp: Date.now(),\n hookName,\n } as HookStatusEvent)\n}\n\n/**\n * Hook execution result\n */\nexport interface HookExecutionResult {\n success: boolean\n decision?: 'approve' | 'block' | 'ask'\n output?: HookOutput\n error?: string\n timedOut?: boolean\n /** Blocked by exit code 2 with stderr as feedback */\n blockedByExitCode2?: boolean\n blockReason?: string\n}\n\n/**\n * Hook execution options\n */\nexport interface HookExecutionOptions {\n timeout?: number\n sessionId: string\n transcriptPath?: string\n pluginRoot: string\n}\n\n/**\n * Substitute $ARGUMENTS in a command string with the hook input JSON\n */\nfunction substituteArguments(command: string, input: HookInput): string {\n if (!command.includes('$ARGUMENTS')) {\n return command\n }\n // Replace $ARGUMENTS with the JSON-encoded input\n // Shell-safe: single-quote the JSON and escape internal single quotes\n const inputJson = JSON.stringify(input)\n const escaped = inputJson.replace(/'/g, \"'\\\\''\")\n return command.replace(/\\$ARGUMENTS/g, `'${escaped}'`)\n}\n\n/**\n * Execute a hook (command, prompt, or agent type)\n */\nexport async function executeHook(\n hook: LoadedHook,\n input: HookInput,\n options: HookExecutionOptions,\n): Promise<HookExecutionResult> {\n const hookType = hook.config.type || 'command'\n\n // Once-per-session check\n if (hook.config.once) {\n const hookKey = `${hook.pluginName}:${hook.name}:${hook.event}`\n if (executedOnceHooks.has(hookKey)) {\n logDebug(`Skipping once-hook (already executed): ${hookKey}`)\n return { success: true }\n }\n executedOnceHooks.add(hookKey)\n }\n\n const toolName =\n 'tool_name' in input ? (input.tool_name as string) : undefined\n\n // Async hooks: fire-and-forget\n if (hook.config.async) {\n executeHookAsync(hook, input, options, hookType, toolName).catch(err => {\n logDebug(`Async hook ${hook.name} error: ${err}`)\n })\n return { success: true }\n }\n\n switch (hookType) {\n case 'command':\n return executeCommandHook(hook, input, options, toolName)\n case 'prompt':\n return executePromptHook(hook, input, options, toolName)\n case 'agent':\n return executeAgentHook(hook, input, options, toolName)\n default:\n return {\n success: false,\n error: `Unknown hook type: ${hookType}`,\n }\n }\n}\n\n/**\n * Execute async hook in background (fire-and-forget)\n */\nasync function executeHookAsync(\n hook: LoadedHook,\n input: HookInput,\n options: HookExecutionOptions,\n hookType: string,\n toolName: string | undefined,\n): Promise<void> {\n try {\n let result: HookExecutionResult\n switch (hookType) {\n case 'command':\n result = await executeCommandHook(hook, input, options, toolName)\n break\n case 'prompt':\n result = await executePromptHook(hook, input, options, toolName)\n break\n case 'agent':\n result = await executeAgentHook(hook, input, options, toolName)\n break\n default:\n return\n }\n\n // Async hooks deliver results via systemMessage on next turn\n if (result.output?.systemMessage) {\n hookStatusEmitter.emit('asyncResult', {\n hookName: hook.name,\n systemMessage: result.output.systemMessage,\n })\n }\n } catch {\n // Async hooks silently fail\n }\n}\n\n/**\n * Execute a command-type hook\n */\nasync function executeCommandHook(\n hook: LoadedHook,\n input: HookInput,\n options: HookExecutionOptions,\n toolName: string | undefined,\n): Promise<HookExecutionResult> {\n if (!hook.config.command) {\n return { success: false, error: 'Command hook missing command field' }\n }\n\n const timeout =\n (hook.config.timeout ? hook.config.timeout * 1000 : undefined) ||\n options.timeout ||\n 30000\n\n try {\n logDebug(`Executing hook: ${hook.name}`)\n\n // Substitute $ARGUMENTS in command\n const command = substituteArguments(hook.config.command, input)\n logDebug(`Command: ${command}`)\n\n const result = await executeBashCommand(command, input, {\n ...options,\n timeout,\n pluginRoot: options.pluginRoot,\n })\n\n if (result.timedOut) {\n const errorMsg = `Hook execution timed out after ${timeout}ms`\n logError(`Hook ${hook.name} timed out after ${timeout}ms`)\n emitStatusEvent(hook.event, toolName, hook.name, false, errorMsg)\n return { success: false, timedOut: true, error: errorMsg }\n }\n\n // Exit code 2: block with stderr as feedback (CC spec)\n if (result.exitCode === 2) {\n const reason = result.stderr.trim() || 'Blocked by hook'\n logDebug(`Hook ${hook.name} exit code 2 (block): ${reason}`)\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return {\n success: true,\n decision: 'block',\n blockedByExitCode2: true,\n blockReason: reason,\n output: {\n decision: 'block',\n reason,\n systemMessage: reason,\n },\n }\n }\n\n // Exit code 1 or other non-zero: error\n if (result.exitCode !== 0 && result.exitCode !== null) {\n const errorMsg = `Command exited with code ${result.exitCode}: ${result.stderr}`\n logError(`Hook ${hook.name} failed: ${errorMsg}`)\n emitStatusEvent(hook.event, toolName, hook.name, false, errorMsg)\n return { success: false, error: errorMsg }\n }\n\n // Parse JSON output\n const output = parseHookOutput(result.stdout, input.hook_event_name)\n if (!output) {\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return { success: true }\n }\n\n logDebug(`Hook ${hook.name} output:`, output)\n emitStatusEvent(hook.event, toolName, hook.name, true)\n\n // Resolve decision from both hookSpecificOutput and top-level fields\n const decision = resolveDecision(output)\n\n return { success: true, decision, output }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n logError(`Hook ${hook.name} execution error: ${errorMsg}`)\n emitStatusEvent(hook.event, toolName, hook.name, false, errorMsg)\n return { success: false, error: errorMsg }\n }\n}\n\n/**\n * Execute a prompt-type hook using fast model (single-turn evaluation)\n */\nasync function executePromptHook(\n hook: LoadedHook,\n input: HookInput,\n options: HookExecutionOptions,\n toolName: string | undefined,\n): Promise<HookExecutionResult> {\n if (!hook.config.prompt) {\n return { success: false, error: 'Prompt hook missing prompt field' }\n }\n\n const timeout =\n (hook.config.timeout ? hook.config.timeout * 1000 : undefined) || 30000\n\n try {\n const inputJson = JSON.stringify(input)\n const prompt = hook.config.prompt.replace(/\\$ARGUMENTS/g, inputJson)\n\n logDebug(`Executing prompt hook: ${hook.name}`)\n\n const { queryQuick } = await import('./claude')\n const abortController = new AbortController()\n const timer = setTimeout(() => abortController.abort(), timeout)\n\n try {\n const result = await queryQuick({\n systemPrompt: [\n 'You are a hook evaluator. Respond ONLY with JSON: { \"ok\": boolean, \"reason\": string }.',\n 'ok=true means allow the action, ok=false means block it.',\n ],\n userPrompt: prompt,\n signal: abortController.signal,\n })\n clearTimeout(timer)\n\n // Extract text from assistant message\n const text = result.message.content\n .filter(b => b.type === 'text')\n .map(b => (b as any).text)\n .join('')\n\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/)\n if (jsonMatch) {\n const parsed = JSON.parse(jsonMatch[0]) as {\n ok: boolean\n reason?: string\n }\n const decision = parsed.ok ? 'approve' : 'block'\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return {\n success: true,\n decision,\n output: { decision, reason: parsed.reason },\n }\n }\n } catch {\n clearTimeout(timer)\n }\n\n logDebug(`Prompt hook ${hook.name}: parse failed, defaulting to allow`)\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return { success: true, decision: 'approve' }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n logError(`Prompt hook ${hook.name} error: ${errorMsg}`)\n emitStatusEvent(hook.event, toolName, hook.name, false, errorMsg)\n return { success: true, decision: 'approve' }\n }\n}\n\n/**\n * Execute an agent-type hook using a subagent with read-only tools\n * Agent hooks get extended reasoning and can use Read, Grep, Glob\n */\nasync function executeAgentHook(\n hook: LoadedHook,\n input: HookInput,\n options: HookExecutionOptions,\n toolName: string | undefined,\n): Promise<HookExecutionResult> {\n if (!hook.config.prompt) {\n return { success: false, error: 'Agent hook missing prompt field' }\n }\n\n const timeout =\n (hook.config.timeout ? hook.config.timeout * 1000 : undefined) || 60000\n\n try {\n const inputJson = JSON.stringify(input)\n const prompt = hook.config.prompt.replace(/\\$ARGUMENTS/g, inputJson)\n\n logDebug(`Executing agent hook: ${hook.name}`)\n\n const { queryQuick } = await import('./claude')\n const abortController = new AbortController()\n const timer = setTimeout(() => abortController.abort(), timeout)\n\n try {\n const result = await queryQuick({\n systemPrompt: [\n 'You are a hook agent evaluator. You have read-only access to the codebase.',\n 'Evaluate the request and respond ONLY with JSON: { \"ok\": boolean, \"reason\": string }.',\n 'ok=true means allow the action, ok=false means block it.',\n ],\n userPrompt: prompt,\n signal: abortController.signal,\n })\n clearTimeout(timer)\n\n const text = result.message.content\n .filter(b => b.type === 'text')\n .map(b => (b as any).text)\n .join('')\n\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/)\n if (jsonMatch) {\n const parsed = JSON.parse(jsonMatch[0]) as {\n ok: boolean\n reason?: string\n }\n const decision = parsed.ok ? 'approve' : 'block'\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return {\n success: true,\n decision,\n output: { decision, reason: parsed.reason },\n }\n }\n } catch {\n clearTimeout(timer)\n }\n\n logDebug(`Agent hook ${hook.name}: parse failed, defaulting to allow`)\n emitStatusEvent(hook.event, toolName, hook.name, true)\n return { success: true, decision: 'approve' }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n logError(`Agent hook ${hook.name} error: ${errorMsg}`)\n emitStatusEvent(hook.event, toolName, hook.name, false, errorMsg)\n return { success: true, decision: 'approve' }\n }\n}\n\n/**\n * Resolve decision from hook output, supporting both CC formats:\n * - hookSpecificOutput.permissionDecision (new)\n * - top-level decision (old, CC community compat)\n */\nfunction resolveDecision(\n output: HookOutput,\n): 'approve' | 'block' | 'ask' | undefined {\n // Check hookSpecificOutput first (new format)\n if (output.hookSpecificOutput) {\n const specific = output.hookSpecificOutput as any\n if (specific.permissionDecision) {\n const mapping: Record<string, 'approve' | 'block' | 'ask'> = {\n allow: 'approve',\n deny: 'block',\n ask: 'ask',\n approve: 'approve',\n block: 'block',\n }\n return mapping[specific.permissionDecision] ?? output.decision\n }\n }\n\n // Fall back to top-level decision (old CC format)\n return output.decision\n}\n\n/**\n * Path to the env file set by a SessionStart hook via $CLAUDE_ENV_FILE.\n * Once set, all subsequent hooks load env vars from this file.\n */\nlet claudeEnvFilePath: string | undefined\n\n/**\n * Load environment variables from $CLAUDE_ENV_FILE if set.\n * File format: one KEY=VALUE per line, # comments, empty lines ignored.\n */\nfunction loadEnvFile(): Record<string, string> {\n const envFile = claudeEnvFilePath || process.env.CLAUDE_ENV_FILE\n if (!envFile || !existsSync(envFile)) return {}\n\n try {\n const content = readFileSync(envFile, 'utf-8')\n const vars: Record<string, string> = {}\n\n for (const line of content.split('\\n')) {\n const trimmed = line.trim()\n if (!trimmed || trimmed.startsWith('#')) continue\n const eqIdx = trimmed.indexOf('=')\n if (eqIdx <= 0) continue\n const key = trimmed.slice(0, eqIdx).trim()\n let value = trimmed.slice(eqIdx + 1).trim()\n // Strip surrounding quotes\n if (\n (value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\n ) {\n value = value.slice(1, -1)\n }\n vars[key] = value\n }\n return vars\n } catch {\n return {}\n }\n}\n\n/**\n * Extract file paths from tool input for CLAUDE_FILE_PATHS env var\n */\nfunction extractFilePathsFromInput(\n toolInput: Record<string, unknown> | undefined,\n): string {\n if (!toolInput) return ''\n const paths: string[] = []\n if (typeof toolInput.file_path === 'string') paths.push(toolInput.file_path)\n if (typeof toolInput.path === 'string') paths.push(toolInput.path)\n if (typeof toolInput.notebook_path === 'string')\n paths.push(toolInput.notebook_path)\n return paths.join(':')\n}\n\n/**\n * Execute bash command with JSON stdin/stdout\n * Returns exit code for proper exit code 2 handling\n */\nasync function executeBashCommand(\n command: string,\n input: HookInput,\n options: {\n timeout: number\n sessionId: string\n transcriptPath?: string\n pluginRoot: string\n },\n): Promise<{\n stdout: string\n stderr: string\n exitCode: number | null\n timedOut?: boolean\n}> {\n return new Promise(resolve => {\n // Load persistent env vars from $CLAUDE_ENV_FILE\n const envFileVars = loadEnvFile()\n\n // Extract tool-specific env vars from input\n const toolName = 'tool_name' in input ? (input as any).tool_name : undefined\n const toolInput =\n 'tool_input' in input ? (input as any).tool_input : undefined\n const toolInputJson = toolInput ? JSON.stringify(toolInput) : ''\n const filePaths = extractFilePathsFromInput(toolInput)\n const shellCommand =\n toolName === 'Bash' && toolInput?.command ? String(toolInput.command) : ''\n\n const projectDir = getCwd()\n\n const env = {\n ...process.env,\n ...envFileVars,\n // CC-compatible env vars\n CLAUDE_PLUGIN_ROOT: options.pluginRoot,\n CLAUDE_SESSION_ID: options.sessionId,\n CLAUDE_CWD: projectDir,\n CLAUDE_TRANSCRIPT_PATH: options.transcriptPath || '',\n CLAUDE_PROJECT_DIR: projectDir,\n CLAUDE_WORKSPACE_DIR: projectDir,\n CLAUDE_TOOL_INPUT: toolInputJson,\n CLAUDE_FILE_PATHS: filePaths,\n CLAUDE_SHELL_COMMAND: shellCommand,\n // Minto-prefixed duplicates\n MINTO_PROJECT_DIR: projectDir,\n MINTO_WORKSPACE_DIR: projectDir,\n MINTO_TOOL_INPUT: toolInputJson,\n MINTO_FILE_PATHS: filePaths,\n MINTO_SHELL_COMMAND: shellCommand,\n }\n\n const child = spawn('bash', ['-c', command], {\n env,\n cwd: getCwd(),\n })\n\n let stdout = ''\n let stderr = ''\n let timedOut = false\n\n const timer = setTimeout(() => {\n timedOut = true\n child.kill('SIGTERM')\n setTimeout(() => {\n if (!child.killed) {\n child.kill('SIGKILL')\n }\n }, 1000)\n }, options.timeout)\n\n child.stdout?.on('data', data => {\n stdout += data.toString()\n })\n\n child.stderr?.on('data', data => {\n stderr += data.toString()\n })\n\n child.on('close', code => {\n clearTimeout(timer)\n\n if (timedOut) {\n resolve({ stdout: '', stderr: '', exitCode: null, timedOut: true })\n return\n }\n\n resolve({ stdout, stderr, exitCode: code })\n })\n\n child.on('error', error => {\n clearTimeout(timer)\n resolve({\n stdout: '',\n stderr: error.message,\n exitCode: 1,\n })\n })\n\n try {\n if (child.stdin) {\n child.stdin.write(JSON.stringify(input, null, 2))\n child.stdin.end()\n }\n } catch (error) {\n clearTimeout(timer)\n child.kill()\n resolve({\n stdout: '',\n stderr: `Failed to write to stdin: ${error instanceof Error ? error.message : String(error)}`,\n exitCode: 1,\n })\n }\n })\n}\n\n/**\n * Parse hook output JSON with event-specific field extraction\n */\nfunction parseHookOutput(\n stdout: string,\n eventName?: HookEvent,\n): HookOutput | null {\n if (!stdout.trim()) {\n return null\n }\n\n try {\n const jsonMatch = stdout.match(/\\{[\\s\\S]*\\}/)\n if (!jsonMatch) {\n logDebug('No JSON found in hook output')\n return null\n }\n\n const raw = JSON.parse(jsonMatch[0])\n const output: HookOutput = {}\n\n // Extract standard fields\n if (raw.continue !== undefined) output.continue = raw.continue\n if (raw.stopReason) output.stopReason = raw.stopReason\n if (raw.suppressOutput !== undefined)\n output.suppressOutput = raw.suppressOutput\n if (raw.systemMessage) output.systemMessage = raw.systemMessage\n\n // Extract top-level decision (CC community compat)\n if (raw.decision) {\n if (['approve', 'block', 'ask'].includes(raw.decision)) {\n output.decision = raw.decision\n }\n }\n if (raw.reason) output.reason = raw.reason\n\n // Extract event-specific output based on hookSpecificOutput or flat fields\n const specific = raw.hookSpecificOutput || raw\n\n if (eventName === HookEvent.PreToolUse) {\n if (\n specific.permissionDecision ||\n specific.updatedInput ||\n specific.permissionDecisionReason\n ) {\n output.hookSpecificOutput = {\n hookEventName: HookEvent.PreToolUse,\n permissionDecision: specific.permissionDecision,\n permissionDecisionReason: specific.permissionDecisionReason,\n updatedInput: specific.updatedInput,\n }\n }\n } else if (\n eventName === HookEvent.PostToolUse ||\n eventName === HookEvent.UserPromptSubmit ||\n eventName === HookEvent.SessionStart\n ) {\n if (specific.additionalContext) {\n output.hookSpecificOutput = {\n hookEventName: eventName,\n additionalContext: specific.additionalContext,\n } as any\n }\n\n // SessionStart: capture $CLAUDE_ENV_FILE for persistent env vars\n if (eventName === HookEvent.SessionStart && specific.envFile) {\n claudeEnvFilePath = specific.envFile\n process.env.CLAUDE_ENV_FILE = specific.envFile\n }\n }\n\n // Extract suppressNotification for Notification event\n if (eventName === HookEvent.Notification) {\n if (raw.suppressNotification !== undefined) {\n ;(output as any).suppressNotification = raw.suppressNotification\n }\n }\n\n return output\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n logError(`Failed to parse hook output JSON: ${errorMsg}`)\n logDebug('Raw output:', stdout)\n return null\n }\n}\n\n/**\n * Execute all matching hooks for an event\n */\nexport async function executeHooksForEvent(\n event: HookEvent,\n hooks: LoadedHook[],\n input: HookInput,\n options: HookExecutionOptions,\n): Promise<HookExecutionResult[]> {\n const matchingHooks = hooks.filter(hook => hook.event === event)\n\n if (matchingHooks.length === 0) {\n return []\n }\n\n logInfo(`Executing ${matchingHooks.length} hook(s) for event: ${event}`)\n\n // Execute all matching hooks in parallel (CC behavior)\n const results = await Promise.allSettled(\n matchingHooks.map(hook => executeHook(hook, input, options)),\n )\n\n return results.map(r =>\n r.status === 'fulfilled'\n ? r.value\n : { success: false, error: String(r.reason) },\n )\n}\n\n/**\n * Process hook decisions to determine final action\n */\nexport function processHookDecisions(results: HookExecutionResult[]): {\n shouldContinue: boolean\n shouldAskUser: boolean\n reason?: string\n updatedInput?: Record<string, unknown>\n additionalContext?: string\n} {\n // Collect additional context and updated input from all results\n let additionalContext: string | undefined\n let updatedInput: Record<string, unknown> | undefined\n\n for (const r of results) {\n if (!r.success || !r.output) continue\n const specific = r.output.hookSpecificOutput as any\n if (specific?.additionalContext) {\n additionalContext = additionalContext\n ? `${additionalContext}\\n${specific.additionalContext}`\n : specific.additionalContext\n }\n if (specific?.updatedInput) {\n updatedInput = { ...(updatedInput || {}), ...specific.updatedInput }\n }\n }\n\n // If any hook says \"block\" (including exit code 2), we block\n const blockedResult = results.find(\n r => (r.success && r.decision === 'block') || r.blockedByExitCode2,\n )\n if (blockedResult) {\n const reason =\n blockedResult.blockReason ||\n blockedResult.output?.reason ||\n 'Blocked by hook'\n emitReminderEvent('hook:blocking_error', { hookName: 'hook', reason })\n return {\n shouldContinue: false,\n shouldAskUser: false,\n reason,\n }\n }\n\n // If any hook says \"ask\", we ask the user\n const askResult = results.find(r => r.success && r.decision === 'ask')\n if (askResult) {\n return {\n shouldContinue: false,\n shouldAskUser: true,\n reason: askResult.output?.reason || 'Hook requested user approval',\n }\n }\n\n // If any hook failed, we ask the user (fail-safe)\n const failedResult = results.find(r => !r.success)\n if (failedResult) {\n const reason = `Hook execution failed: ${failedResult.error}`\n emitReminderEvent('hook:stopped_continuation', { hookName: 'hook', reason })\n return {\n shouldContinue: false,\n shouldAskUser: true,\n reason,\n }\n }\n\n // Emit additional context reminder if hooks provided extra info\n if (additionalContext) {\n emitReminderEvent('hook:additional_context', {\n hookName: 'hook',\n content: additionalContext,\n })\n }\n\n // All hooks approved or had no decision\n return {\n shouldContinue: true,\n shouldAskUser: false,\n updatedInput,\n additionalContext,\n }\n}\n\n// ============================================================================\n// Hook Input Factories\n// ============================================================================\n\nexport function createPreToolUseInput(\n sessionId: string,\n transcriptPath: string,\n toolName: string,\n toolInput: Record<string, unknown>,\n): PreToolUseInput {\n return {\n hook_event_name: HookEvent.PreToolUse,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n tool_name: toolName,\n tool_input: toolInput,\n }\n}\n\nexport function createPostToolUseInput(\n sessionId: string,\n transcriptPath: string,\n toolName: string,\n toolInput: Record<string, unknown>,\n toolOutput: Record<string, unknown>,\n): PostToolUseInput {\n return {\n hook_event_name: HookEvent.PostToolUse,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n tool_name: toolName,\n tool_input: toolInput,\n tool_output: toolOutput,\n }\n}\n\nexport function createUserPromptSubmitInput(\n sessionId: string,\n transcriptPath: string,\n userPrompt: string,\n): UserPromptSubmitInput {\n return {\n hook_event_name: HookEvent.UserPromptSubmit,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n user_prompt: userPrompt,\n }\n}\n\nexport function createSessionStartInput(\n sessionId: string,\n transcriptPath: string,\n): SessionStartInput {\n return {\n hook_event_name: HookEvent.SessionStart,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n source: 'startup' as const,\n permission_mode: 'default',\n }\n}\n\nexport function createSessionEndInput(\n sessionId: string,\n transcriptPath: string,\n reason: 'clear' | 'logout' | 'prompt_input_exit' | 'other',\n): SessionEndInput {\n return {\n hook_event_name: HookEvent.SessionEnd,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n reason,\n }\n}\n\nexport function createPostToolUseFailureInput(\n sessionId: string,\n transcriptPath: string,\n toolName: string,\n toolInput: Record<string, unknown>,\n error: string,\n errorType?: string,\n): PostToolUseFailureInput {\n return {\n hook_event_name: HookEvent.PostToolUseFailure,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n tool_name: toolName,\n tool_input: toolInput,\n error,\n error_type: errorType,\n }\n}\n\nexport function createPermissionRequestInput(\n sessionId: string,\n transcriptPath: string,\n toolName: string,\n toolInput: Record<string, unknown>,\n permissionType: 'read' | 'write' | 'execute' | 'network' | 'other',\n description?: string,\n): PermissionRequestInput {\n return {\n hook_event_name: HookEvent.PermissionRequest,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n tool_name: toolName,\n tool_input: toolInput,\n permission_type: permissionType,\n description,\n }\n}\n\nexport function createStopInput(\n sessionId: string,\n transcriptPath: string,\n stopHookActive: boolean,\n): StopInput {\n return {\n hook_event_name: HookEvent.Stop,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n stop_hook_active: stopHookActive,\n }\n}\n\nexport function createSubagentStartInput(\n sessionId: string,\n transcriptPath: string,\n agentType: string,\n agentDescription?: string,\n runInBackground?: boolean,\n): SubagentStartInput {\n return {\n hook_event_name: HookEvent.SubagentStart,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n agent_type: agentType,\n agent_description: agentDescription,\n run_in_background: runInBackground,\n }\n}\n\nexport function createSubagentStopInput(\n sessionId: string,\n transcriptPath: string,\n agentType: string,\n agentId?: string,\n stopHookActive?: boolean,\n): SubagentStopInput {\n return {\n hook_event_name: HookEvent.SubagentStop,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n agent_type: agentType,\n agent_id: agentId,\n stop_hook_active: stopHookActive ?? false,\n }\n}\n\nexport function createNotificationInput(\n sessionId: string,\n transcriptPath: string,\n message: string,\n title?: string,\n type?: string,\n): NotificationInput {\n return {\n hook_event_name: HookEvent.Notification,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n message,\n ...(title ? { title } : {}),\n ...(type ? { notification_type: type } : {}),\n }\n}\n\nexport function createPreCompactInput(\n sessionId: string,\n transcriptPath: string,\n trigger: 'manual' | 'auto',\n customInstructions: string,\n): PreCompactInput {\n return {\n hook_event_name: HookEvent.PreCompact,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n trigger,\n custom_instructions: customInstructions,\n }\n}\n\nexport function createPostCompactInput(\n sessionId: string,\n transcriptPath: string,\n trigger: 'manual' | 'auto',\n summary: string,\n compressionRatio: number,\n originalTokens: number,\n compressedTokens: number,\n): PostCompactInput {\n return {\n hook_event_name: HookEvent.PostCompact,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n trigger,\n summary,\n compression_ratio: compressionRatio,\n original_tokens: originalTokens,\n compressed_tokens: compressedTokens,\n }\n}\n\nexport function createConfigChangeInput(\n sessionId: string,\n transcriptPath: string,\n source: 'settings' | 'project' | 'global' | 'env' | 'cli',\n filePath?: string,\n): ConfigChangeInput {\n return {\n hook_event_name: HookEvent.ConfigChange,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n source,\n file_path: filePath,\n }\n}\n\nexport function createTaskCompletedInput(\n sessionId: string,\n transcriptPath: string,\n taskId: string,\n subject: string,\n description?: string,\n): TaskCompletedInput {\n return {\n hook_event_name: HookEvent.TaskCompleted,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n task_id: taskId,\n subject,\n description,\n }\n}\n\nexport function createTeammateIdleInput(\n sessionId: string,\n transcriptPath: string,\n teammateName: string,\n teamName: string,\n): TeammateIdleInput {\n return {\n hook_event_name: HookEvent.TeammateIdle,\n session_id: sessionId,\n transcript_path: transcriptPath,\n cwd: getCwd(),\n permission_mode: 'default',\n teammate_name: teammateName,\n team_name: teamName,\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
import { createUserMessage } from "../utils/messages.js";
|
|
2
|
-
import { countTokens } from "../utils/tokens.js";
|
|
3
|
-
import crypto from "crypto";
|
|
4
|
-
const DEFAULT_OPTIONS = {
|
|
5
|
-
preserveDecisions: true,
|
|
6
|
-
preserveCodeChanges: true,
|
|
7
|
-
summarizeTools: true,
|
|
8
|
-
maxDecisions: 10,
|
|
9
|
-
maxCodeChanges: 20
|
|
10
|
-
};
|
|
11
|
-
class IntelligentCompactor {
|
|
12
|
-
options;
|
|
13
|
-
constructor(options) {
|
|
14
|
-
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
15
|
-
}
|
|
16
|
-
updateOptions(options) {
|
|
17
|
-
this.options = { ...this.options, ...options };
|
|
18
|
-
}
|
|
19
|
-
async compact(messages, options) {
|
|
20
|
-
const opts = { ...this.options, ...options };
|
|
21
|
-
const originalTokens = countTokens(messages);
|
|
22
|
-
const decisions = opts.preserveDecisions ? this.extractDecisions(messages) : [];
|
|
23
|
-
const codeChanges = opts.preserveCodeChanges ? this.extractCodeChanges(messages) : [];
|
|
24
|
-
const toolSummaries = opts.summarizeTools ? this.summarizeToolOutputs(messages) : [];
|
|
25
|
-
const focusSummary = opts.focus ? this.generateFocusSummary(messages, opts.focus) : void 0;
|
|
26
|
-
const compressedMessages = this.buildCompressedMessages(
|
|
27
|
-
decisions,
|
|
28
|
-
codeChanges,
|
|
29
|
-
toolSummaries,
|
|
30
|
-
focusSummary,
|
|
31
|
-
opts
|
|
32
|
-
);
|
|
33
|
-
const compressedTokens = countTokens(compressedMessages);
|
|
34
|
-
return {
|
|
35
|
-
messages: compressedMessages,
|
|
36
|
-
decisions,
|
|
37
|
-
codeChanges,
|
|
38
|
-
toolSummaries,
|
|
39
|
-
focusSummary,
|
|
40
|
-
originalTokens,
|
|
41
|
-
compressedTokens,
|
|
42
|
-
compressionRatio: originalTokens > 0 ? compressedTokens / originalTokens : 1
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
extractDecisions(messages) {
|
|
46
|
-
const decisions = [];
|
|
47
|
-
const maxDecisions = this.options.maxDecisions ?? 10;
|
|
48
|
-
const decisionPatterns = [
|
|
49
|
-
/decided to\s+(.+?)(?:\.|$)/gi,
|
|
50
|
-
/we(?:'ll| will)\s+(.+?)(?:\.|$)/gi,
|
|
51
|
-
/(?:let's|i'll)\s+(.+?)(?:\.|$)/gi,
|
|
52
|
-
/(?:should|will)\s+use\s+(.+?)(?:\.|$)/gi,
|
|
53
|
-
/(?:going with|chose|selected)\s+(.+?)(?:\.|$)/gi,
|
|
54
|
-
/implemented\s+(.+?)(?:\.|$)/gi
|
|
55
|
-
];
|
|
56
|
-
const rationalePatterns = [
|
|
57
|
-
/because\s+(.+?)(?:\.|$)/gi,
|
|
58
|
-
/since\s+(.+?)(?:\.|$)/gi,
|
|
59
|
-
/due to\s+(.+?)(?:\.|$)/gi
|
|
60
|
-
];
|
|
61
|
-
messages.forEach((msg, index) => {
|
|
62
|
-
if (msg.type !== "assistant") return;
|
|
63
|
-
const content = this.getMessageText(msg);
|
|
64
|
-
if (!content) return;
|
|
65
|
-
for (const pattern of decisionPatterns) {
|
|
66
|
-
pattern.lastIndex = 0;
|
|
67
|
-
let match;
|
|
68
|
-
while ((match = pattern.exec(content)) !== null) {
|
|
69
|
-
if (decisions.length >= maxDecisions) break;
|
|
70
|
-
const description = match[1]?.trim();
|
|
71
|
-
if (!description || description.length < 10) continue;
|
|
72
|
-
let rationale = "";
|
|
73
|
-
for (const rPattern of rationalePatterns) {
|
|
74
|
-
rPattern.lastIndex = Math.max(0, match.index - 100);
|
|
75
|
-
const rMatch = rPattern.exec(content);
|
|
76
|
-
if (rMatch && rMatch[1]) {
|
|
77
|
-
rationale = rMatch[1].trim();
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
const importance = this.calculateDecisionImportance(
|
|
82
|
-
description,
|
|
83
|
-
index,
|
|
84
|
-
messages.length
|
|
85
|
-
);
|
|
86
|
-
decisions.push({
|
|
87
|
-
description: description.slice(0, 200),
|
|
88
|
-
rationale: rationale.slice(0, 150),
|
|
89
|
-
messageIndex: index,
|
|
90
|
-
importance
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
return decisions.sort((a, b) => b.importance - a.importance).slice(0, maxDecisions);
|
|
96
|
-
}
|
|
97
|
-
extractCodeChanges(messages) {
|
|
98
|
-
const changes = [];
|
|
99
|
-
const maxChanges = this.options.maxCodeChanges ?? 20;
|
|
100
|
-
const seenFiles = /* @__PURE__ */ new Set();
|
|
101
|
-
messages.forEach((msg, index) => {
|
|
102
|
-
if (msg.type !== "assistant") return;
|
|
103
|
-
if (!Array.isArray(msg.message.content)) return;
|
|
104
|
-
for (const content of msg.message.content) {
|
|
105
|
-
if (content.type !== "tool_use") continue;
|
|
106
|
-
const toolName = content.name;
|
|
107
|
-
const input = content.input;
|
|
108
|
-
let filePath;
|
|
109
|
-
let changeType;
|
|
110
|
-
let description = "";
|
|
111
|
-
if (toolName === "Replace" || toolName === "Write" || toolName === "FileWrite") {
|
|
112
|
-
filePath = input.file_path || input.path;
|
|
113
|
-
changeType = "create";
|
|
114
|
-
description = "Created file";
|
|
115
|
-
} else if (toolName === "Edit" || toolName === "FileEdit" || toolName === "MultiEdit") {
|
|
116
|
-
filePath = input.file_path || input.path;
|
|
117
|
-
changeType = "modify";
|
|
118
|
-
const oldStr = (input.old_string || "").slice(0, 50);
|
|
119
|
-
const newStr = (input.new_string || "").slice(0, 50);
|
|
120
|
-
description = "Modified: " + oldStr + " -> " + newStr;
|
|
121
|
-
}
|
|
122
|
-
if (filePath && changeType && !seenFiles.has(filePath)) {
|
|
123
|
-
seenFiles.add(filePath);
|
|
124
|
-
changes.push({
|
|
125
|
-
filePath: filePath.slice(0, 200),
|
|
126
|
-
changeType,
|
|
127
|
-
description: description.slice(0, 100),
|
|
128
|
-
messageIndex: index
|
|
129
|
-
});
|
|
130
|
-
if (changes.length >= maxChanges) break;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
return changes;
|
|
135
|
-
}
|
|
136
|
-
summarizeToolOutputs(messages) {
|
|
137
|
-
const toolStats = /* @__PURE__ */ new Map();
|
|
138
|
-
messages.forEach((msg) => {
|
|
139
|
-
if (msg.type !== "assistant") return;
|
|
140
|
-
if (!Array.isArray(msg.message.content)) return;
|
|
141
|
-
for (const content of msg.message.content) {
|
|
142
|
-
if (content.type === "tool_use") {
|
|
143
|
-
const toolName = content.name;
|
|
144
|
-
if (!toolStats.has(toolName)) {
|
|
145
|
-
toolStats.set(toolName, { invocations: 0 });
|
|
146
|
-
}
|
|
147
|
-
const stats = toolStats.get(toolName);
|
|
148
|
-
stats.invocations++;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
const summaries = [];
|
|
153
|
-
for (const [toolName, stats] of toolStats) {
|
|
154
|
-
summaries.push({
|
|
155
|
-
toolName,
|
|
156
|
-
invocationCount: stats.invocations,
|
|
157
|
-
summary: "Used " + stats.invocations + " time" + (stats.invocations > 1 ? "s" : ""),
|
|
158
|
-
successRate: 1
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
return summaries.sort((a, b) => b.invocationCount - a.invocationCount);
|
|
162
|
-
}
|
|
163
|
-
generateFocusSummary(messages, focus) {
|
|
164
|
-
const focusLower = focus.toLowerCase();
|
|
165
|
-
const relevantContent = [];
|
|
166
|
-
messages.forEach((msg) => {
|
|
167
|
-
const text = this.getMessageText(msg);
|
|
168
|
-
if (!text) return;
|
|
169
|
-
const lines = text.split("\n");
|
|
170
|
-
for (const line of lines) {
|
|
171
|
-
if (line.toLowerCase().includes(focusLower)) {
|
|
172
|
-
relevantContent.push(line.trim());
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
if (relevantContent.length === 0) {
|
|
177
|
-
return 'No specific content found related to "' + focus + '".';
|
|
178
|
-
}
|
|
179
|
-
const uniqueContent = [...new Set(relevantContent)].slice(0, 10);
|
|
180
|
-
return 'Focus area: "' + focus + '"\n\nRelevant points:\n' + uniqueContent.map((c) => "- " + c).join("\n");
|
|
181
|
-
}
|
|
182
|
-
buildCompressedMessages(decisions, codeChanges, toolSummaries, focusSummary, options) {
|
|
183
|
-
const sections = [];
|
|
184
|
-
if (focusSummary) {
|
|
185
|
-
sections.push("## Focus Summary\n" + focusSummary);
|
|
186
|
-
}
|
|
187
|
-
if (decisions.length > 0 && options.preserveDecisions) {
|
|
188
|
-
const decisionList = decisions.map((d) => {
|
|
189
|
-
const rationale = d.rationale ? " (" + d.rationale + ")" : "";
|
|
190
|
-
return "- " + d.description + rationale;
|
|
191
|
-
}).join("\n");
|
|
192
|
-
sections.push("## Key Decisions\n" + decisionList);
|
|
193
|
-
}
|
|
194
|
-
if (codeChanges.length > 0 && options.preserveCodeChanges) {
|
|
195
|
-
const changeList = codeChanges.map(
|
|
196
|
-
(c) => "- [" + c.changeType.toUpperCase() + "] " + c.filePath + ": " + c.description
|
|
197
|
-
).join("\n");
|
|
198
|
-
sections.push("## Code Changes\n" + changeList);
|
|
199
|
-
}
|
|
200
|
-
if (toolSummaries.length > 0 && options.summarizeTools) {
|
|
201
|
-
const toolList = toolSummaries.slice(0, 10).map((t) => "- " + t.toolName + ": " + t.summary).join("\n");
|
|
202
|
-
sections.push("## Tool Usage\n" + toolList);
|
|
203
|
-
}
|
|
204
|
-
const summaryText = sections.join("\n\n");
|
|
205
|
-
const summaryMessage = {
|
|
206
|
-
type: "assistant",
|
|
207
|
-
message: {
|
|
208
|
-
role: "assistant",
|
|
209
|
-
content: [
|
|
210
|
-
{
|
|
211
|
-
type: "text",
|
|
212
|
-
text: "[INTELLIGENT CONTEXT COMPRESSION]\n\n" + summaryText + "\n\n[END COMPRESSION]"
|
|
213
|
-
}
|
|
214
|
-
]
|
|
215
|
-
},
|
|
216
|
-
costUSD: 0,
|
|
217
|
-
durationMs: 0,
|
|
218
|
-
uuid: crypto.randomUUID()
|
|
219
|
-
};
|
|
220
|
-
return [
|
|
221
|
-
createUserMessage(
|
|
222
|
-
options.focus ? 'Context compressed with focus on: "' + options.focus + '".' : "Context intelligently compressed. Key decisions and changes preserved."
|
|
223
|
-
),
|
|
224
|
-
summaryMessage
|
|
225
|
-
];
|
|
226
|
-
}
|
|
227
|
-
getMessageText(msg) {
|
|
228
|
-
if (msg.type === "user" || msg.type === "assistant") {
|
|
229
|
-
const content = msg.message.content;
|
|
230
|
-
if (typeof content === "string") return content;
|
|
231
|
-
if (Array.isArray(content)) {
|
|
232
|
-
return content.filter((c) => c.type === "text").map((c) => c.text).join("\n");
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
return null;
|
|
236
|
-
}
|
|
237
|
-
calculateDecisionImportance(description, messageIndex, totalMessages) {
|
|
238
|
-
let importance = 0.5;
|
|
239
|
-
const recencyFactor = messageIndex / totalMessages;
|
|
240
|
-
importance += recencyFactor * 0.2;
|
|
241
|
-
const highImportanceKeywords = [
|
|
242
|
-
"architecture",
|
|
243
|
-
"design",
|
|
244
|
-
"security",
|
|
245
|
-
"critical",
|
|
246
|
-
"important",
|
|
247
|
-
"must",
|
|
248
|
-
"required",
|
|
249
|
-
"essential",
|
|
250
|
-
"key",
|
|
251
|
-
"core"
|
|
252
|
-
];
|
|
253
|
-
const descLower = description.toLowerCase();
|
|
254
|
-
for (const keyword of highImportanceKeywords) {
|
|
255
|
-
if (descLower.includes(keyword)) {
|
|
256
|
-
importance += 0.1;
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
if (description.length > 50) {
|
|
261
|
-
importance += 0.1;
|
|
262
|
-
}
|
|
263
|
-
return Math.min(1, importance);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
let globalCompactor = null;
|
|
267
|
-
function getIntelligentCompactor() {
|
|
268
|
-
if (!globalCompactor) {
|
|
269
|
-
globalCompactor = new IntelligentCompactor();
|
|
270
|
-
}
|
|
271
|
-
return globalCompactor;
|
|
272
|
-
}
|
|
273
|
-
function resetIntelligentCompactor() {
|
|
274
|
-
globalCompactor = null;
|
|
275
|
-
}
|
|
276
|
-
export {
|
|
277
|
-
IntelligentCompactor,
|
|
278
|
-
getIntelligentCompactor,
|
|
279
|
-
resetIntelligentCompactor
|
|
280
|
-
};
|
|
281
|
-
//# sourceMappingURL=intelligentCompactor.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/services/intelligentCompactor.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Intelligent Compactor Service\n *\n * Enhanced compression service with focus-aware summarization and\n * intelligent decision/code change preservation.\n */\n\nimport { Message } from '@query'\nimport { createUserMessage } from '@utils/messages'\nimport { countTokens } from '@utils/tokens'\nimport crypto from 'crypto'\nimport type { UUID } from '@minto-types/common'\n\nexport interface IntelligentCompactOptions {\n focus?: string\n preserveDecisions: boolean\n preserveCodeChanges: boolean\n summarizeTools: boolean\n maxDecisions?: number\n maxCodeChanges?: number\n}\n\nexport interface ExtractedDecision {\n description: string\n rationale: string\n messageIndex: number\n importance: number\n}\n\nexport interface ExtractedCodeChange {\n filePath: string\n changeType: 'create' | 'modify' | 'delete' | 'rename'\n description: string\n messageIndex: number\n}\n\nexport interface ToolOutputSummary {\n toolName: string\n invocationCount: number\n summary: string\n successRate: number\n}\n\nexport interface CompactedContext {\n messages: Message[]\n decisions: ExtractedDecision[]\n codeChanges: ExtractedCodeChange[]\n toolSummaries: ToolOutputSummary[]\n focusSummary?: string\n originalTokens: number\n compressedTokens: number\n compressionRatio: number\n}\n\nconst DEFAULT_OPTIONS: IntelligentCompactOptions = {\n preserveDecisions: true,\n preserveCodeChanges: true,\n summarizeTools: true,\n maxDecisions: 10,\n maxCodeChanges: 20,\n}\n\nexport class IntelligentCompactor {\n private options: IntelligentCompactOptions\n\n constructor(options?: Partial<IntelligentCompactOptions>) {\n this.options = { ...DEFAULT_OPTIONS, ...options }\n }\n\n updateOptions(options: Partial<IntelligentCompactOptions>): void {\n this.options = { ...this.options, ...options }\n }\n\n async compact(\n messages: Message[],\n options?: Partial<IntelligentCompactOptions>,\n ): Promise<CompactedContext> {\n const opts = { ...this.options, ...options }\n const originalTokens = countTokens(messages)\n\n const decisions = opts.preserveDecisions\n ? this.extractDecisions(messages)\n : []\n const codeChanges = opts.preserveCodeChanges\n ? this.extractCodeChanges(messages)\n : []\n const toolSummaries = opts.summarizeTools\n ? this.summarizeToolOutputs(messages)\n : []\n\n const focusSummary = opts.focus\n ? this.generateFocusSummary(messages, opts.focus)\n : undefined\n\n const compressedMessages = this.buildCompressedMessages(\n decisions,\n codeChanges,\n toolSummaries,\n focusSummary,\n opts,\n )\n\n const compressedTokens = countTokens(compressedMessages)\n\n return {\n messages: compressedMessages,\n decisions,\n codeChanges,\n toolSummaries,\n focusSummary,\n originalTokens,\n compressedTokens,\n compressionRatio:\n originalTokens > 0 ? compressedTokens / originalTokens : 1,\n }\n }\n\n private extractDecisions(messages: Message[]): ExtractedDecision[] {\n const decisions: ExtractedDecision[] = []\n const maxDecisions = this.options.maxDecisions ?? 10\n\n const decisionPatterns = [\n /decided to\\s+(.+?)(?:\\.|$)/gi,\n /we(?:'ll| will)\\s+(.+?)(?:\\.|$)/gi,\n /(?:let's|i'll)\\s+(.+?)(?:\\.|$)/gi,\n /(?:should|will)\\s+use\\s+(.+?)(?:\\.|$)/gi,\n /(?:going with|chose|selected)\\s+(.+?)(?:\\.|$)/gi,\n /implemented\\s+(.+?)(?:\\.|$)/gi,\n ]\n\n const rationalePatterns = [\n /because\\s+(.+?)(?:\\.|$)/gi,\n /since\\s+(.+?)(?:\\.|$)/gi,\n /due to\\s+(.+?)(?:\\.|$)/gi,\n ]\n\n messages.forEach((msg, index) => {\n if (msg.type !== 'assistant') return\n\n const content = this.getMessageText(msg)\n if (!content) return\n\n for (const pattern of decisionPatterns) {\n pattern.lastIndex = 0\n let match\n while ((match = pattern.exec(content)) !== null) {\n if (decisions.length >= maxDecisions) break\n\n const description = match[1]?.trim()\n if (!description || description.length < 10) continue\n\n let rationale = ''\n for (const rPattern of rationalePatterns) {\n rPattern.lastIndex = Math.max(0, match.index - 100)\n const rMatch = rPattern.exec(content)\n if (rMatch && rMatch[1]) {\n rationale = rMatch[1].trim()\n break\n }\n }\n\n const importance = this.calculateDecisionImportance(\n description,\n index,\n messages.length,\n )\n\n decisions.push({\n description: description.slice(0, 200),\n rationale: rationale.slice(0, 150),\n messageIndex: index,\n importance,\n })\n }\n }\n })\n\n return decisions\n .sort((a, b) => b.importance - a.importance)\n .slice(0, maxDecisions)\n }\n\n private extractCodeChanges(messages: Message[]): ExtractedCodeChange[] {\n const changes: ExtractedCodeChange[] = []\n const maxChanges = this.options.maxCodeChanges ?? 20\n const seenFiles = new Set<string>()\n\n messages.forEach((msg, index) => {\n if (msg.type !== 'assistant') return\n if (!Array.isArray(msg.message.content)) return\n\n for (const content of msg.message.content) {\n if (content.type !== 'tool_use') continue\n\n const toolName = content.name\n const input = content.input as Record<string, unknown>\n\n let filePath: string | undefined\n let changeType: ExtractedCodeChange['changeType'] | undefined\n let description = ''\n\n // Note: 'Replace' is the actual API name for FileWriteTool (userFacingName is 'Write')\n // Keep legacy names for backward compatibility with existing transcripts\n if (\n toolName === 'Replace' ||\n toolName === 'Write' ||\n toolName === 'FileWrite'\n ) {\n filePath = (input.file_path as string) || (input.path as string)\n changeType = 'create'\n description = 'Created file'\n } else if (\n toolName === 'Edit' ||\n toolName === 'FileEdit' ||\n toolName === 'MultiEdit'\n ) {\n filePath = (input.file_path as string) || (input.path as string)\n changeType = 'modify'\n const oldStr = ((input.old_string as string) || '').slice(0, 50)\n const newStr = ((input.new_string as string) || '').slice(0, 50)\n description = 'Modified: ' + oldStr + ' -> ' + newStr\n }\n\n if (filePath && changeType && !seenFiles.has(filePath)) {\n seenFiles.add(filePath)\n changes.push({\n filePath: filePath.slice(0, 200),\n changeType,\n description: description.slice(0, 100),\n messageIndex: index,\n })\n\n if (changes.length >= maxChanges) break\n }\n }\n })\n\n return changes\n }\n\n private summarizeToolOutputs(messages: Message[]): ToolOutputSummary[] {\n const toolStats = new Map<string, { invocations: number }>()\n\n messages.forEach(msg => {\n if (msg.type !== 'assistant') return\n if (!Array.isArray(msg.message.content)) return\n\n for (const content of msg.message.content) {\n if (content.type === 'tool_use') {\n const toolName = content.name\n if (!toolStats.has(toolName)) {\n toolStats.set(toolName, { invocations: 0 })\n }\n const stats = toolStats.get(toolName)!\n stats.invocations++\n }\n }\n })\n\n const summaries: ToolOutputSummary[] = []\n for (const [toolName, stats] of toolStats) {\n summaries.push({\n toolName,\n invocationCount: stats.invocations,\n summary:\n 'Used ' +\n stats.invocations +\n ' time' +\n (stats.invocations > 1 ? 's' : ''),\n successRate: 1,\n })\n }\n\n return summaries.sort((a, b) => b.invocationCount - a.invocationCount)\n }\n\n private generateFocusSummary(messages: Message[], focus: string): string {\n const focusLower = focus.toLowerCase()\n const relevantContent: string[] = []\n\n messages.forEach(msg => {\n const text = this.getMessageText(msg)\n if (!text) return\n\n const lines = text.split('\\n')\n for (const line of lines) {\n if (line.toLowerCase().includes(focusLower)) {\n relevantContent.push(line.trim())\n }\n }\n })\n\n if (relevantContent.length === 0) {\n return 'No specific content found related to \"' + focus + '\".'\n }\n\n const uniqueContent = [...new Set(relevantContent)].slice(0, 10)\n return (\n 'Focus area: \"' +\n focus +\n '\"\\n\\nRelevant points:\\n' +\n uniqueContent.map(c => '- ' + c).join('\\n')\n )\n }\n\n private buildCompressedMessages(\n decisions: ExtractedDecision[],\n codeChanges: ExtractedCodeChange[],\n toolSummaries: ToolOutputSummary[],\n focusSummary: string | undefined,\n options: IntelligentCompactOptions,\n ): Message[] {\n const sections: string[] = []\n\n if (focusSummary) {\n sections.push('## Focus Summary\\n' + focusSummary)\n }\n\n if (decisions.length > 0 && options.preserveDecisions) {\n const decisionList = decisions\n .map(d => {\n const rationale = d.rationale ? ' (' + d.rationale + ')' : ''\n return '- ' + d.description + rationale\n })\n .join('\\n')\n sections.push('## Key Decisions\\n' + decisionList)\n }\n\n if (codeChanges.length > 0 && options.preserveCodeChanges) {\n const changeList = codeChanges\n .map(\n c =>\n '- [' +\n c.changeType.toUpperCase() +\n '] ' +\n c.filePath +\n ': ' +\n c.description,\n )\n .join('\\n')\n sections.push('## Code Changes\\n' + changeList)\n }\n\n if (toolSummaries.length > 0 && options.summarizeTools) {\n const toolList = toolSummaries\n .slice(0, 10)\n .map(t => '- ' + t.toolName + ': ' + t.summary)\n .join('\\n')\n sections.push('## Tool Usage\\n' + toolList)\n }\n\n const summaryText = sections.join('\\n\\n')\n\n const summaryMessage: Message = {\n type: 'assistant',\n message: {\n role: 'assistant',\n content: [\n {\n type: 'text',\n text:\n '[INTELLIGENT CONTEXT COMPRESSION]\\n\\n' +\n summaryText +\n '\\n\\n[END COMPRESSION]',\n },\n ],\n },\n costUSD: 0,\n durationMs: 0,\n uuid: crypto.randomUUID() as UUID,\n }\n\n return [\n createUserMessage(\n options.focus\n ? 'Context compressed with focus on: \"' + options.focus + '\".'\n : 'Context intelligently compressed. Key decisions and changes preserved.',\n ),\n summaryMessage,\n ]\n }\n\n private getMessageText(msg: Message): string | null {\n if (msg.type === 'user' || msg.type === 'assistant') {\n const content = msg.message.content\n if (typeof content === 'string') return content\n if (Array.isArray(content)) {\n return content\n .filter(c => c.type === 'text')\n .map(c => (c as { type: 'text'; text: string }).text)\n .join('\\n')\n }\n }\n return null\n }\n\n private calculateDecisionImportance(\n description: string,\n messageIndex: number,\n totalMessages: number,\n ): number {\n let importance = 0.5\n const recencyFactor = messageIndex / totalMessages\n importance += recencyFactor * 0.2\n\n const highImportanceKeywords = [\n 'architecture',\n 'design',\n 'security',\n 'critical',\n 'important',\n 'must',\n 'required',\n 'essential',\n 'key',\n 'core',\n ]\n\n const descLower = description.toLowerCase()\n for (const keyword of highImportanceKeywords) {\n if (descLower.includes(keyword)) {\n importance += 0.1\n break\n }\n }\n\n if (description.length > 50) {\n importance += 0.1\n }\n\n return Math.min(1, importance)\n }\n}\n\nlet globalCompactor: IntelligentCompactor | null = null\n\nexport function getIntelligentCompactor(): IntelligentCompactor {\n if (!globalCompactor) {\n globalCompactor = new IntelligentCompactor()\n }\n return globalCompactor\n}\n\nexport function resetIntelligentCompactor(): void {\n globalCompactor = null\n}\n"],
|
|
5
|
-
"mappings": "AAQA,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,OAAO,YAAY;AA4CnB,MAAM,kBAA6C;AAAA,EACjD,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,gBAAgB;AAClB;AAEO,MAAM,qBAAqB;AAAA,EACxB;AAAA,EAER,YAAY,SAA8C;AACxD,SAAK,UAAU,EAAE,GAAG,iBAAiB,GAAG,QAAQ;AAAA,EAClD;AAAA,EAEA,cAAc,SAAmD;AAC/D,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,GAAG,QAAQ;AAAA,EAC/C;AAAA,EAEA,MAAM,QACJ,UACA,SAC2B;AAC3B,UAAM,OAAO,EAAE,GAAG,KAAK,SAAS,GAAG,QAAQ;AAC3C,UAAM,iBAAiB,YAAY,QAAQ;AAE3C,UAAM,YAAY,KAAK,oBACnB,KAAK,iBAAiB,QAAQ,IAC9B,CAAC;AACL,UAAM,cAAc,KAAK,sBACrB,KAAK,mBAAmB,QAAQ,IAChC,CAAC;AACL,UAAM,gBAAgB,KAAK,iBACvB,KAAK,qBAAqB,QAAQ,IAClC,CAAC;AAEL,UAAM,eAAe,KAAK,QACtB,KAAK,qBAAqB,UAAU,KAAK,KAAK,IAC9C;AAEJ,UAAM,qBAAqB,KAAK;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,mBAAmB,YAAY,kBAAkB;AAEvD,WAAO;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBACE,iBAAiB,IAAI,mBAAmB,iBAAiB;AAAA,IAC7D;AAAA,EACF;AAAA,EAEQ,iBAAiB,UAA0C;AACjE,UAAM,YAAiC,CAAC;AACxC,UAAM,eAAe,KAAK,QAAQ,gBAAgB;AAElD,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,oBAAoB;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,aAAS,QAAQ,CAAC,KAAK,UAAU;AAC/B,UAAI,IAAI,SAAS,YAAa;AAE9B,YAAM,UAAU,KAAK,eAAe,GAAG;AACvC,UAAI,CAAC,QAAS;AAEd,iBAAW,WAAW,kBAAkB;AACtC,gBAAQ,YAAY;AACpB,YAAI;AACJ,gBAAQ,QAAQ,QAAQ,KAAK,OAAO,OAAO,MAAM;AAC/C,cAAI,UAAU,UAAU,aAAc;AAEtC,gBAAM,cAAc,MAAM,CAAC,GAAG,KAAK;AACnC,cAAI,CAAC,eAAe,YAAY,SAAS,GAAI;AAE7C,cAAI,YAAY;AAChB,qBAAW,YAAY,mBAAmB;AACxC,qBAAS,YAAY,KAAK,IAAI,GAAG,MAAM,QAAQ,GAAG;AAClD,kBAAM,SAAS,SAAS,KAAK,OAAO;AACpC,gBAAI,UAAU,OAAO,CAAC,GAAG;AACvB,0BAAY,OAAO,CAAC,EAAE,KAAK;AAC3B;AAAA,YACF;AAAA,UACF;AAEA,gBAAM,aAAa,KAAK;AAAA,YACtB;AAAA,YACA;AAAA,YACA,SAAS;AAAA,UACX;AAEA,oBAAU,KAAK;AAAA,YACb,aAAa,YAAY,MAAM,GAAG,GAAG;AAAA,YACrC,WAAW,UAAU,MAAM,GAAG,GAAG;AAAA,YACjC,cAAc;AAAA,YACd;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO,UACJ,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU,EAC1C,MAAM,GAAG,YAAY;AAAA,EAC1B;AAAA,EAEQ,mBAAmB,UAA4C;AACrE,UAAM,UAAiC,CAAC;AACxC,UAAM,aAAa,KAAK,QAAQ,kBAAkB;AAClD,UAAM,YAAY,oBAAI,IAAY;AAElC,aAAS,QAAQ,CAAC,KAAK,UAAU;AAC/B,UAAI,IAAI,SAAS,YAAa;AAC9B,UAAI,CAAC,MAAM,QAAQ,IAAI,QAAQ,OAAO,EAAG;AAEzC,iBAAW,WAAW,IAAI,QAAQ,SAAS;AACzC,YAAI,QAAQ,SAAS,WAAY;AAEjC,cAAM,WAAW,QAAQ;AACzB,cAAM,QAAQ,QAAQ;AAEtB,YAAI;AACJ,YAAI;AACJ,YAAI,cAAc;AAIlB,YACE,aAAa,aACb,aAAa,WACb,aAAa,aACb;AACA,qBAAY,MAAM,aAAyB,MAAM;AACjD,uBAAa;AACb,wBAAc;AAAA,QAChB,WACE,aAAa,UACb,aAAa,cACb,aAAa,aACb;AACA,qBAAY,MAAM,aAAyB,MAAM;AACjD,uBAAa;AACb,gBAAM,UAAW,MAAM,cAAyB,IAAI,MAAM,GAAG,EAAE;AAC/D,gBAAM,UAAW,MAAM,cAAyB,IAAI,MAAM,GAAG,EAAE;AAC/D,wBAAc,eAAe,SAAS,SAAS;AAAA,QACjD;AAEA,YAAI,YAAY,cAAc,CAAC,UAAU,IAAI,QAAQ,GAAG;AACtD,oBAAU,IAAI,QAAQ;AACtB,kBAAQ,KAAK;AAAA,YACX,UAAU,SAAS,MAAM,GAAG,GAAG;AAAA,YAC/B;AAAA,YACA,aAAa,YAAY,MAAM,GAAG,GAAG;AAAA,YACrC,cAAc;AAAA,UAChB,CAAC;AAED,cAAI,QAAQ,UAAU,WAAY;AAAA,QACpC;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEQ,qBAAqB,UAA0C;AACrE,UAAM,YAAY,oBAAI,IAAqC;AAE3D,aAAS,QAAQ,SAAO;AACtB,UAAI,IAAI,SAAS,YAAa;AAC9B,UAAI,CAAC,MAAM,QAAQ,IAAI,QAAQ,OAAO,EAAG;AAEzC,iBAAW,WAAW,IAAI,QAAQ,SAAS;AACzC,YAAI,QAAQ,SAAS,YAAY;AAC/B,gBAAM,WAAW,QAAQ;AACzB,cAAI,CAAC,UAAU,IAAI,QAAQ,GAAG;AAC5B,sBAAU,IAAI,UAAU,EAAE,aAAa,EAAE,CAAC;AAAA,UAC5C;AACA,gBAAM,QAAQ,UAAU,IAAI,QAAQ;AACpC,gBAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF,CAAC;AAED,UAAM,YAAiC,CAAC;AACxC,eAAW,CAAC,UAAU,KAAK,KAAK,WAAW;AACzC,gBAAU,KAAK;AAAA,QACb;AAAA,QACA,iBAAiB,MAAM;AAAA,QACvB,SACE,UACA,MAAM,cACN,WACC,MAAM,cAAc,IAAI,MAAM;AAAA,QACjC,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAEA,WAAO,UAAU,KAAK,CAAC,GAAG,MAAM,EAAE,kBAAkB,EAAE,eAAe;AAAA,EACvE;AAAA,EAEQ,qBAAqB,UAAqB,OAAuB;AACvE,UAAM,aAAa,MAAM,YAAY;AACrC,UAAM,kBAA4B,CAAC;AAEnC,aAAS,QAAQ,SAAO;AACtB,YAAM,OAAO,KAAK,eAAe,GAAG;AACpC,UAAI,CAAC,KAAM;AAEX,YAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,iBAAW,QAAQ,OAAO;AACxB,YAAI,KAAK,YAAY,EAAE,SAAS,UAAU,GAAG;AAC3C,0BAAgB,KAAK,KAAK,KAAK,CAAC;AAAA,QAClC;AAAA,MACF;AAAA,IACF,CAAC;AAED,QAAI,gBAAgB,WAAW,GAAG;AAChC,aAAO,2CAA2C,QAAQ;AAAA,IAC5D;AAEA,UAAM,gBAAgB,CAAC,GAAG,IAAI,IAAI,eAAe,CAAC,EAAE,MAAM,GAAG,EAAE;AAC/D,WACE,kBACA,QACA,4BACA,cAAc,IAAI,OAAK,OAAO,CAAC,EAAE,KAAK,IAAI;AAAA,EAE9C;AAAA,EAEQ,wBACN,WACA,aACA,eACA,cACA,SACW;AACX,UAAM,WAAqB,CAAC;AAE5B,QAAI,cAAc;AAChB,eAAS,KAAK,uBAAuB,YAAY;AAAA,IACnD;AAEA,QAAI,UAAU,SAAS,KAAK,QAAQ,mBAAmB;AACrD,YAAM,eAAe,UAClB,IAAI,OAAK;AACR,cAAM,YAAY,EAAE,YAAY,OAAO,EAAE,YAAY,MAAM;AAC3D,eAAO,OAAO,EAAE,cAAc;AAAA,MAChC,CAAC,EACA,KAAK,IAAI;AACZ,eAAS,KAAK,uBAAuB,YAAY;AAAA,IACnD;AAEA,QAAI,YAAY,SAAS,KAAK,QAAQ,qBAAqB;AACzD,YAAM,aAAa,YAChB;AAAA,QACC,OACE,QACA,EAAE,WAAW,YAAY,IACzB,OACA,EAAE,WACF,OACA,EAAE;AAAA,MACN,EACC,KAAK,IAAI;AACZ,eAAS,KAAK,sBAAsB,UAAU;AAAA,IAChD;AAEA,QAAI,cAAc,SAAS,KAAK,QAAQ,gBAAgB;AACtD,YAAM,WAAW,cACd,MAAM,GAAG,EAAE,EACX,IAAI,OAAK,OAAO,EAAE,WAAW,OAAO,EAAE,OAAO,EAC7C,KAAK,IAAI;AACZ,eAAS,KAAK,oBAAoB,QAAQ;AAAA,IAC5C;AAEA,UAAM,cAAc,SAAS,KAAK,MAAM;AAExC,UAAM,iBAA0B;AAAA,MAC9B,MAAM;AAAA,MACN,SAAS;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,UACP;AAAA,YACE,MAAM;AAAA,YACN,MACE,0CACA,cACA;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,MAAM,OAAO,WAAW;AAAA,IAC1B;AAEA,WAAO;AAAA,MACL;AAAA,QACE,QAAQ,QACJ,wCAAwC,QAAQ,QAAQ,OACxD;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,eAAe,KAA6B;AAClD,QAAI,IAAI,SAAS,UAAU,IAAI,SAAS,aAAa;AACnD,YAAM,UAAU,IAAI,QAAQ;AAC5B,UAAI,OAAO,YAAY,SAAU,QAAO;AACxC,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,QACJ,OAAO,OAAK,EAAE,SAAS,MAAM,EAC7B,IAAI,OAAM,EAAqC,IAAI,EACnD,KAAK,IAAI;AAAA,MACd;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,4BACN,aACA,cACA,eACQ;AACR,QAAI,aAAa;AACjB,UAAM,gBAAgB,eAAe;AACrC,kBAAc,gBAAgB;AAE9B,UAAM,yBAAyB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,YAAY,YAAY,YAAY;AAC1C,eAAW,WAAW,wBAAwB;AAC5C,UAAI,UAAU,SAAS,OAAO,GAAG;AAC/B,sBAAc;AACd;AAAA,MACF;AAAA,IACF;AAEA,QAAI,YAAY,SAAS,IAAI;AAC3B,oBAAc;AAAA,IAChB;AAEA,WAAO,KAAK,IAAI,GAAG,UAAU;AAAA,EAC/B;AACF;AAEA,IAAI,kBAA+C;AAE5C,SAAS,0BAAgD;AAC9D,MAAI,CAAC,iBAAiB;AACpB,sBAAkB,IAAI,qBAAqB;AAAA,EAC7C;AACA,SAAO;AACT;AAEO,SAAS,4BAAkC;AAChD,oBAAkB;AACpB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|