@within-7/minto 0.1.7 → 0.2.0
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.js +155 -37
- package/dist/Tool.js +38 -0
- package/dist/Tool.js.map +3 -3
- package/dist/commands/agents/AgentsCommand.js +52 -26
- package/dist/commands/agents/AgentsCommand.js.map +2 -2
- package/dist/commands/agents/constants.js +1 -1
- package/dist/commands/agents/constants.js.map +1 -1
- package/dist/commands/agents/index.js +1 -1
- package/dist/commands/bug.js +74 -7
- package/dist/commands/bug.js.map +3 -3
- package/dist/commands/clear.js +3 -0
- package/dist/commands/clear.js.map +2 -2
- package/dist/commands/compact.js +37 -0
- package/dist/commands/compact.js.map +2 -2
- package/dist/commands/context.js +84 -0
- package/dist/commands/context.js.map +7 -0
- package/dist/commands/ctx_viz.js +18 -10
- package/dist/commands/ctx_viz.js.map +2 -2
- package/dist/commands/doctor.js +158 -12
- package/dist/commands/doctor.js.map +2 -2
- package/dist/commands/export.js +156 -0
- package/dist/commands/export.js.map +7 -0
- package/dist/commands/mcp-interactive.js +21 -12
- package/dist/commands/mcp-interactive.js.map +2 -2
- package/dist/commands/model.js +6 -5
- package/dist/commands/model.js.map +2 -2
- package/dist/commands/permissions.js +86 -0
- package/dist/commands/permissions.js.map +7 -0
- package/dist/commands/quit.js +3 -1
- package/dist/commands/quit.js.map +2 -2
- package/dist/commands/sandbox.js +104 -0
- package/dist/commands/sandbox.js.map +7 -0
- package/dist/commands/status.js +58 -0
- package/dist/commands/status.js.map +7 -0
- package/dist/commands/tasks.js +108 -0
- package/dist/commands/tasks.js.map +7 -0
- package/dist/commands/todos.js +123 -0
- package/dist/commands/todos.js.map +7 -0
- package/dist/commands.js +20 -2
- package/dist/commands.js.map +2 -2
- package/dist/components/AgentThinkingBlock.js +10 -18
- package/dist/components/AgentThinkingBlock.js.map +2 -2
- package/dist/components/BackgroundTasksPanel.js +78 -29
- package/dist/components/BackgroundTasksPanel.js.map +2 -2
- package/dist/components/BashStreamingProgress.js +24 -0
- package/dist/components/BashStreamingProgress.js.map +7 -0
- package/dist/components/CollapsibleHint.js +14 -0
- package/dist/components/CollapsibleHint.js.map +7 -0
- package/dist/components/FileEditToolUpdatedMessage.js +1 -1
- package/dist/components/FileEditToolUpdatedMessage.js.map +2 -2
- package/dist/components/HotkeyHelpPanel.js +137 -0
- package/dist/components/HotkeyHelpPanel.js.map +7 -0
- package/dist/components/Logo.js +5 -5
- package/dist/components/Logo.js.map +2 -2
- package/dist/components/Message.js +23 -7
- package/dist/components/Message.js.map +3 -3
- package/dist/components/ModelConfig.js +16 -3
- package/dist/components/ModelConfig.js.map +2 -2
- package/dist/components/ModelListManager.js +3 -3
- package/dist/components/ModelListManager.js.map +2 -2
- package/dist/components/ModelSelector/ModelSelector.js +1 -1
- package/dist/components/Onboarding.js +19 -14
- package/dist/components/Onboarding.js.map +2 -2
- package/dist/components/ProgressBar.js +74 -0
- package/dist/components/ProgressBar.js.map +7 -0
- package/dist/components/PromptInput.js +156 -46
- package/dist/components/PromptInput.js.map +2 -2
- package/dist/components/RequestStatusIndicator.js +194 -0
- package/dist/components/RequestStatusIndicator.js.map +7 -0
- package/dist/components/Spinner.js +92 -27
- package/dist/components/Spinner.js.map +2 -2
- package/dist/components/SpinnerSymbol.js +21 -27
- package/dist/components/SpinnerSymbol.js.map +2 -2
- package/dist/components/StreamingBashOutput.js +9 -8
- package/dist/components/StreamingBashOutput.js.map +2 -2
- package/dist/components/SubagentBlock.js +1 -1
- package/dist/components/SubagentBlock.js.map +1 -1
- package/dist/components/SubagentProgress.js +10 -11
- package/dist/components/SubagentProgress.js.map +2 -2
- package/dist/components/TaskCard.js +16 -13
- package/dist/components/TaskCard.js.map +2 -2
- package/dist/components/TodoChangeBlock.js +1 -1
- package/dist/components/TodoChangeBlock.js.map +2 -2
- package/dist/components/TodoPanel.js +120 -29
- package/dist/components/TodoPanel.js.map +3 -3
- package/dist/components/TokenCounter.js +74 -0
- package/dist/components/TokenCounter.js.map +7 -0
- package/dist/components/TokenWarning.js +2 -1
- package/dist/components/TokenWarning.js.map +2 -2
- package/dist/components/TreeConnector.js +25 -0
- package/dist/components/TreeConnector.js.map +7 -0
- package/dist/components/TurnCompletionIndicator.js +18 -0
- package/dist/components/TurnCompletionIndicator.js.map +7 -0
- package/dist/components/messages/AssistantTextMessage.js +5 -2
- package/dist/components/messages/AssistantTextMessage.js.map +2 -2
- package/dist/components/messages/AssistantThinkingMessage.js +18 -3
- package/dist/components/messages/AssistantThinkingMessage.js.map +2 -2
- package/dist/components/messages/AssistantToolUseMessage.js +11 -8
- package/dist/components/messages/AssistantToolUseMessage.js.map +2 -2
- package/dist/components/messages/GroupRenderer.js +53 -0
- package/dist/components/messages/GroupRenderer.js.map +7 -0
- package/dist/components/messages/NestedTasksPreview.js +12 -0
- package/dist/components/messages/NestedTasksPreview.js.map +7 -0
- package/dist/components/messages/ParallelTasksGroupView.js +92 -0
- package/dist/components/messages/ParallelTasksGroupView.js.map +7 -0
- package/dist/components/messages/TaskInModuleView.js +198 -0
- package/dist/components/messages/TaskInModuleView.js.map +7 -0
- package/dist/components/messages/TaskOutputContent.js +53 -0
- package/dist/components/messages/TaskOutputContent.js.map +7 -0
- package/dist/components/messages/UserPromptMessage.js +1 -1
- package/dist/components/messages/UserPromptMessage.js.map +2 -2
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +2 -3
- package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +2 -2
- package/dist/components/permissions/FallbackPermissionRequest.js +4 -4
- package/dist/components/permissions/FallbackPermissionRequest.js.map +2 -2
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +4 -4
- package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +2 -2
- package/dist/constants/colors.js +48 -0
- package/dist/constants/colors.js.map +2 -2
- package/dist/constants/formatRules.js +102 -0
- package/dist/constants/formatRules.js.map +7 -0
- package/dist/constants/prompts.js +12 -34
- package/dist/constants/prompts.js.map +2 -2
- package/dist/constants/symbols.js +64 -6
- package/dist/constants/symbols.js.map +2 -2
- package/dist/constants/timing.js +5 -0
- package/dist/constants/timing.js.map +2 -2
- package/dist/core/config/defaults.js +84 -0
- package/dist/core/config/defaults.js.map +7 -0
- package/dist/core/config/index.js +111 -0
- package/dist/core/config/index.js.map +7 -0
- package/dist/core/config/loader.js +221 -0
- package/dist/core/config/loader.js.map +7 -0
- package/dist/core/config/migrations.js +128 -0
- package/dist/core/config/migrations.js.map +7 -0
- package/dist/core/config/schema.js +178 -0
- package/dist/core/config/schema.js.map +7 -0
- package/dist/core/costTracker.js +138 -0
- package/dist/core/costTracker.js.map +7 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +7 -0
- package/dist/core/permissions/auditLog.js +204 -0
- package/dist/core/permissions/auditLog.js.map +7 -0
- package/dist/core/permissions/engine/index.js +3 -0
- package/dist/core/permissions/engine/index.js.map +7 -0
- package/dist/core/permissions/engine/permissionEngine.js +106 -0
- package/dist/core/permissions/engine/permissionEngine.js.map +7 -0
- package/dist/core/permissions/engine/types.js +1 -0
- package/dist/core/permissions/engine/types.js.map +7 -0
- package/dist/core/permissions/index.js +84 -0
- package/dist/core/permissions/index.js.map +7 -0
- package/dist/core/permissions/ruleEngine.js +259 -0
- package/dist/core/permissions/ruleEngine.js.map +7 -0
- package/dist/core/permissions/rules/allowedToolsRule.js +62 -0
- package/dist/core/permissions/rules/allowedToolsRule.js.map +7 -0
- package/dist/core/permissions/rules/autoEscalationRule.js +291 -0
- package/dist/core/permissions/rules/autoEscalationRule.js.map +7 -0
- package/dist/core/permissions/rules/index.js +46 -0
- package/dist/core/permissions/rules/index.js.map +7 -0
- package/dist/core/permissions/rules/planModeRule.js +55 -0
- package/dist/core/permissions/rules/planModeRule.js.map +7 -0
- package/dist/core/permissions/rules/projectBoundaryRule.js +168 -0
- package/dist/core/permissions/rules/projectBoundaryRule.js.map +7 -0
- package/dist/core/permissions/rules/safeModeRule.js +65 -0
- package/dist/core/permissions/rules/safeModeRule.js.map +7 -0
- package/dist/core/permissions/rules/sensitivePathsRule.js +340 -0
- package/dist/core/permissions/rules/sensitivePathsRule.js.map +7 -0
- package/dist/core/permissions/types.js +127 -0
- package/dist/core/permissions/types.js.map +7 -0
- package/dist/core/tools/executor.js +143 -0
- package/dist/core/tools/executor.js.map +7 -0
- package/dist/core/tools/index.js +15 -0
- package/dist/core/tools/index.js.map +7 -0
- package/dist/core/tools/registry.js +183 -0
- package/dist/core/tools/registry.js.map +7 -0
- package/dist/core/tools/types.js +1 -0
- package/dist/core/tools/types.js.map +7 -0
- package/dist/cost-tracker.js +23 -15
- package/dist/cost-tracker.js.map +2 -2
- package/dist/entrypoints/cli.js +43 -43
- package/dist/entrypoints/cli.js.map +2 -2
- package/dist/entrypoints/mcp.js +12 -4
- package/dist/entrypoints/mcp.js.map +2 -2
- package/dist/history.js +14 -3
- package/dist/history.js.map +2 -2
- package/dist/hooks/useAgentTranscripts.js +116 -0
- package/dist/hooks/useAgentTranscripts.js.map +7 -0
- package/dist/hooks/useAnimationSync.js +53 -0
- package/dist/hooks/useAnimationSync.js.map +7 -0
- package/dist/hooks/useArrowKeyHistory.js +4 -2
- package/dist/hooks/useArrowKeyHistory.js.map +2 -2
- package/dist/hooks/useCanUseTool.js +3 -1
- package/dist/hooks/useCanUseTool.js.map +2 -2
- package/dist/hooks/useCancelRequest.js +4 -1
- package/dist/hooks/useCancelRequest.js.map +2 -2
- package/dist/hooks/useExitOnCtrlCD.js +9 -5
- package/dist/hooks/useExitOnCtrlCD.js.map +2 -2
- package/dist/hooks/useHookStatus.js +40 -0
- package/dist/hooks/useHookStatus.js.map +7 -0
- package/dist/hooks/useLogMessages.js +17 -1
- package/dist/hooks/useLogMessages.js.map +2 -2
- package/dist/hooks/useMessageGroups.js +43 -0
- package/dist/hooks/useMessageGroups.js.map +7 -0
- package/dist/hooks/useTerminalSize.js +62 -6
- package/dist/hooks/useTerminalSize.js.map +2 -2
- package/dist/hooks/useUnifiedCompletion.js +69 -0
- package/dist/hooks/useUnifiedCompletion.js.map +2 -2
- package/dist/i18n/index.js +109 -0
- package/dist/i18n/index.js.map +7 -0
- package/dist/i18n/locales/en.js +347 -0
- package/dist/i18n/locales/en.js.map +7 -0
- package/dist/i18n/locales/index.js +7 -0
- package/dist/i18n/locales/index.js.map +7 -0
- package/dist/i18n/locales/zh-CN.js +347 -0
- package/dist/i18n/locales/zh-CN.js.map +7 -0
- package/dist/i18n/types.js +8 -0
- package/dist/i18n/types.js.map +7 -0
- package/dist/query.js +175 -17
- package/dist/query.js.map +3 -3
- package/dist/screens/REPL.js +501 -192
- package/dist/screens/REPL.js.map +3 -3
- package/dist/services/adapters/chatCompletions.js +3 -1
- package/dist/services/adapters/chatCompletions.js.map +2 -2
- package/dist/services/adapters/messageNormalizer.js +354 -0
- package/dist/services/adapters/messageNormalizer.js.map +7 -0
- package/dist/services/adapters/responsesAPI.js +6 -3
- package/dist/services/adapters/responsesAPI.js.map +2 -2
- package/dist/services/checkpointManager.js +386 -0
- package/dist/services/checkpointManager.js.map +7 -0
- package/dist/services/claude.js +138 -11
- package/dist/services/claude.js.map +3 -3
- package/dist/services/compressionService.js +50 -1
- package/dist/services/compressionService.js.map +2 -2
- package/dist/services/contextMonitor.js +162 -0
- package/dist/services/contextMonitor.js.map +7 -0
- package/dist/services/customCommands.js +60 -41
- package/dist/services/customCommands.js.map +2 -2
- package/dist/services/hookExecutor.js +173 -1
- package/dist/services/hookExecutor.js.map +2 -2
- package/dist/services/intelligentCompactor.js +281 -0
- package/dist/services/intelligentCompactor.js.map +7 -0
- package/dist/services/lspConfig.js +109 -0
- package/dist/services/lspConfig.js.map +7 -0
- package/dist/services/mcpClient.js +273 -34
- package/dist/services/mcpClient.js.map +2 -2
- package/dist/services/modelOrchestrator.js +310 -0
- package/dist/services/modelOrchestrator.js.map +7 -0
- package/dist/services/openai.js +8 -1
- package/dist/services/openai.js.map +2 -2
- package/dist/services/outputStyles.js +138 -0
- package/dist/services/outputStyles.js.map +7 -0
- package/dist/services/plugins/index.js +5 -0
- package/dist/services/plugins/index.js.map +7 -0
- package/dist/services/plugins/lspServers.js +188 -0
- package/dist/services/plugins/lspServers.js.map +7 -0
- package/dist/services/plugins/pluginRuntime.js +229 -0
- package/dist/services/plugins/pluginRuntime.js.map +7 -0
- package/dist/services/plugins/pluginValidation.js +219 -0
- package/dist/services/plugins/pluginValidation.js.map +7 -0
- package/dist/services/plugins/skillMarketplace.js +556 -0
- package/dist/services/plugins/skillMarketplace.js.map +7 -0
- package/dist/services/responseStateManager.js +37 -3
- package/dist/services/responseStateManager.js.map +2 -2
- package/dist/services/sandbox/filesystemBoundary.js +300 -0
- package/dist/services/sandbox/filesystemBoundary.js.map +7 -0
- package/dist/services/sandbox/index.js +14 -0
- package/dist/services/sandbox/index.js.map +7 -0
- package/dist/services/sandbox/networkProxy.js +293 -0
- package/dist/services/sandbox/networkProxy.js.map +7 -0
- package/dist/services/sandbox/sandboxController.js +574 -0
- package/dist/services/sandbox/sandboxController.js.map +7 -0
- package/dist/services/sandbox/types.js +50 -0
- package/dist/services/sandbox/types.js.map +7 -0
- package/dist/services/sessionMemory.js +266 -0
- package/dist/services/sessionMemory.js.map +7 -0
- package/dist/services/taskRouter.js +324 -0
- package/dist/services/taskRouter.js.map +7 -0
- package/dist/tools/ArchitectTool/ArchitectTool.js +7 -1
- package/dist/tools/ArchitectTool/ArchitectTool.js.map +2 -2
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +3 -0
- package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +2 -2
- package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +2 -2
- package/dist/tools/BaseTool.js +72 -0
- package/dist/tools/BaseTool.js.map +7 -0
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +3 -0
- package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +2 -2
- package/dist/tools/BashTool/BashTool.js +60 -3
- package/dist/tools/BashTool/BashTool.js.map +2 -2
- package/dist/tools/BashTool/BashToolResultMessage.js +3 -0
- package/dist/tools/BashTool/BashToolResultMessage.js.map +2 -2
- package/dist/tools/BashTool/OutputLine.js +54 -0
- package/dist/tools/BashTool/OutputLine.js.map +2 -2
- package/dist/tools/BashTool/prompt.js +192 -3
- package/dist/tools/BashTool/prompt.js.map +2 -2
- package/dist/tools/FileEditTool/FileEditTool.js +29 -4
- package/dist/tools/FileEditTool/FileEditTool.js.map +2 -2
- package/dist/tools/FileWriteTool/FileWriteTool.js +5 -5
- package/dist/tools/FileWriteTool/FileWriteTool.js.map +2 -2
- package/dist/tools/GlobTool/GlobTool.js +4 -2
- package/dist/tools/GlobTool/GlobTool.js.map +2 -2
- package/dist/tools/GrepTool/GrepTool.js +36 -7
- package/dist/tools/GrepTool/GrepTool.js.map +2 -2
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js +3 -0
- package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +2 -2
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +109 -0
- package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +7 -0
- package/dist/tools/ListMcpResourcesTool/prompt.js +19 -0
- package/dist/tools/ListMcpResourcesTool/prompt.js.map +7 -0
- package/dist/tools/LspTool/LspTool.js +664 -0
- package/dist/tools/LspTool/LspTool.js.map +7 -0
- package/dist/tools/LspTool/prompt.js +27 -0
- package/dist/tools/LspTool/prompt.js.map +7 -0
- package/dist/tools/MCPTool/MCPTool.js +9 -1
- package/dist/tools/MCPTool/MCPTool.js.map +2 -2
- package/dist/tools/MemoryReadTool/MemoryReadTool.js +19 -6
- package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +2 -2
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +6 -6
- package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +2 -2
- package/dist/tools/MultiEditTool/MultiEditTool.js +19 -2
- package/dist/tools/MultiEditTool/MultiEditTool.js.map +2 -2
- package/dist/tools/NotebookEditTool/NotebookEditTool.js +5 -1
- package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +2 -2
- package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +2 -2
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js +74 -0
- package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +7 -0
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js +108 -0
- package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +7 -0
- package/dist/tools/PlanModeTool/prompt.js +94 -0
- package/dist/tools/PlanModeTool/prompt.js.map +7 -0
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +130 -0
- package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +7 -0
- package/dist/tools/ReadMcpResourceTool/prompt.js +17 -0
- package/dist/tools/ReadMcpResourceTool/prompt.js.map +7 -0
- package/dist/tools/SkillTool/SkillTool.js +6 -1
- package/dist/tools/SkillTool/SkillTool.js.map +2 -2
- package/dist/tools/SlashCommandTool/SlashCommandTool.js +260 -0
- package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +7 -0
- package/dist/tools/SlashCommandTool/prompt.js +35 -0
- package/dist/tools/SlashCommandTool/prompt.js.map +7 -0
- package/dist/tools/TaskOutputTool/TaskOutputTool.js +189 -0
- package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +7 -0
- package/dist/tools/TaskOutputTool/prompt.js +15 -0
- package/dist/tools/TaskOutputTool/prompt.js.map +7 -0
- package/dist/tools/TaskTool/TaskTool.js +302 -104
- package/dist/tools/TaskTool/TaskTool.js.map +2 -2
- package/dist/tools/TaskTool/prompt.js.map +2 -2
- package/dist/tools/TodoWriteTool/TodoWriteTool.js +42 -77
- package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +2 -2
- package/dist/tools/URLFetcherTool/URLFetcherTool.js +4 -1
- package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +2 -2
- package/dist/tools/URLFetcherTool/cache.js +55 -8
- package/dist/tools/URLFetcherTool/cache.js.map +2 -2
- package/dist/tools.js +31 -2
- package/dist/tools.js.map +2 -2
- package/dist/types/hooks.js +4 -0
- package/dist/types/hooks.js.map +2 -2
- package/dist/types/marketplace.js.map +2 -2
- package/dist/types/messageGroup.js +36 -0
- package/dist/types/messageGroup.js.map +7 -0
- package/dist/types/plugin.js.map +2 -2
- package/dist/types/thinking.js +1 -0
- package/dist/types/thinking.js.map +7 -0
- package/dist/utils/BackgroundShellManager.js +136 -39
- package/dist/utils/BackgroundShellManager.js.map +2 -2
- package/dist/utils/MessageBatchBuffer.js +102 -0
- package/dist/utils/MessageBatchBuffer.js.map +7 -0
- package/dist/utils/PersistentShell.js +151 -1
- package/dist/utils/PersistentShell.js.map +2 -2
- package/dist/utils/agentLoader.js +1 -23
- package/dist/utils/agentLoader.js.map +2 -2
- package/dist/utils/agentTranscripts.js +641 -0
- package/dist/utils/agentTranscripts.js.map +7 -0
- package/dist/utils/animationManager.js +213 -0
- package/dist/utils/animationManager.js.map +7 -0
- package/dist/utils/animationSync.js +110 -0
- package/dist/utils/animationSync.js.map +7 -0
- package/dist/utils/asyncFile.js +215 -0
- package/dist/utils/asyncFile.js.map +7 -0
- package/dist/utils/backgroundAgentManager.js +231 -0
- package/dist/utils/backgroundAgentManager.js.map +7 -0
- package/dist/utils/config.js +63 -7
- package/dist/utils/config.js.map +2 -2
- package/dist/utils/conversationRecovery.js +19 -0
- package/dist/utils/conversationRecovery.js.map +2 -2
- package/dist/utils/exit.js +73 -0
- package/dist/utils/exit.js.map +7 -0
- package/dist/utils/format.js +73 -5
- package/dist/utils/format.js.map +2 -2
- package/dist/utils/generators.js +76 -6
- package/dist/utils/generators.js.map +2 -2
- package/dist/utils/globalErrorHandler.js +149 -0
- package/dist/utils/globalErrorHandler.js.map +7 -0
- package/dist/utils/groupHandlers/index.js +8 -0
- package/dist/utils/groupHandlers/index.js.map +7 -0
- package/dist/utils/groupHandlers/parallelTasksHandler.js +140 -0
- package/dist/utils/groupHandlers/parallelTasksHandler.js.map +7 -0
- package/dist/utils/groupHandlers/taskHandler.js +104 -0
- package/dist/utils/groupHandlers/taskHandler.js.map +7 -0
- package/dist/utils/groupHandlers/types.js +1 -0
- package/dist/utils/groupHandlers/types.js.map +7 -0
- package/dist/utils/logRotation.js +224 -0
- package/dist/utils/logRotation.js.map +7 -0
- package/dist/utils/marketplaceManager.js +3 -5
- package/dist/utils/marketplaceManager.js.map +2 -2
- package/dist/utils/memSafety.js +264 -0
- package/dist/utils/memSafety.js.map +7 -0
- package/dist/utils/messageGroupManager.js +274 -0
- package/dist/utils/messageGroupManager.js.map +7 -0
- package/dist/utils/messages.js +13 -4
- package/dist/utils/messages.js.map +2 -2
- package/dist/utils/model.js +119 -15
- package/dist/utils/model.js.map +3 -3
- package/dist/utils/permissions/filesystem.js +157 -5
- package/dist/utils/permissions/filesystem.js.map +2 -2
- package/dist/utils/plan/planMode.js +143 -0
- package/dist/utils/plan/planMode.js.map +7 -0
- package/dist/utils/pluginLoader.js +17 -21
- package/dist/utils/pluginLoader.js.map +2 -2
- package/dist/utils/ripgrep.js +55 -2
- package/dist/utils/ripgrep.js.map +2 -2
- package/dist/utils/sanitizeInput.js +32 -0
- package/dist/utils/sanitizeInput.js.map +7 -0
- package/dist/utils/secureKeyStorage.js +312 -0
- package/dist/utils/secureKeyStorage.js.map +7 -0
- package/dist/utils/session/sessionPlugins.js +67 -0
- package/dist/utils/session/sessionPlugins.js.map +7 -0
- package/dist/utils/taskDisplayUtils.js +257 -0
- package/dist/utils/taskDisplayUtils.js.map +7 -0
- package/dist/utils/teamConfig.js +2 -1
- package/dist/utils/teamConfig.js.map +2 -2
- package/dist/utils/todoStorage.js +92 -2
- package/dist/utils/todoStorage.js.map +2 -2
- package/dist/utils/toolTimeout.js +136 -0
- package/dist/utils/toolTimeout.js.map +7 -0
- package/dist/utils/tooling/safeRender.js +115 -0
- package/dist/utils/tooling/safeRender.js.map +7 -0
- package/dist/utils/userFriendlyError.js +346 -0
- package/dist/utils/userFriendlyError.js.map +7 -0
- package/dist/utils/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +14 -4
- package/scripts/postinstall.js +128 -38
- package/dist/commands/agents.js +0 -2086
- package/dist/commands/agents.js.map +0 -7
- package/dist/commands/build.js +0 -74
- package/dist/commands/build.js.map +0 -7
- package/dist/commands/compression.js +0 -57
- package/dist/commands/compression.js.map +0 -7
- package/dist/commands/listen.js +0 -37
- package/dist/commands/listen.js.map +0 -7
- package/dist/commands/login.js +0 -37
- package/dist/commands/login.js.map +0 -7
- package/dist/commands/logout.js +0 -33
- package/dist/commands/logout.js.map +0 -7
- package/dist/commands/mcp.js +0 -40
- package/dist/commands/mcp.js.map +0 -7
- package/dist/commands/mcp_refresh.js +0 -40
- package/dist/commands/mcp_refresh.js.map +0 -7
- package/dist/commands/modelstatus.js +0 -21
- package/dist/commands/modelstatus.js.map +0 -7
- package/dist/commands/onboarding.js +0 -36
- package/dist/commands/onboarding.js.map +0 -7
- package/dist/commands/plugin-interactive.js +0 -446
- package/dist/commands/plugin-interactive.js.map +0 -7
- package/dist/commands/pr_comments.js +0 -61
- package/dist/commands/pr_comments.js.map +0 -7
- package/dist/commands/release-notes.js +0 -30
- package/dist/commands/release-notes.js.map +0 -7
- package/dist/commands/review.js +0 -51
- package/dist/commands/review.js.map +0 -7
- package/dist/components/Bug.js +0 -147
- package/dist/components/Bug.js.map +0 -7
- package/dist/components/ModelSelector.js +0 -2062
- package/dist/components/ModelSelector.js.map +0 -7
- package/dist/components/ModelStatusDisplay.js +0 -87
- package/dist/components/ModelStatusDisplay.js.map +0 -7
- package/dist/entrypoints/cli-wrapper.js +0 -61
- package/dist/entrypoints/cli-wrapper.js.map +0 -7
- package/dist/screens/Doctor.js +0 -22
- package/dist/screens/Doctor.js.map +0 -7
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
class URLCache {
|
|
2
2
|
cache = /* @__PURE__ */ new Map();
|
|
3
|
+
cleanupIntervalId = null;
|
|
3
4
|
CACHE_DURATION = 15 * 60 * 1e3;
|
|
4
5
|
// 15 minutes in milliseconds
|
|
6
|
+
CLEANUP_INTERVAL = 5 * 60 * 1e3;
|
|
7
|
+
// 5 minutes
|
|
8
|
+
constructor() {
|
|
9
|
+
this.startCleanupInterval();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Start the periodic cleanup interval
|
|
13
|
+
*/
|
|
14
|
+
startCleanupInterval() {
|
|
15
|
+
if (this.cleanupIntervalId === null) {
|
|
16
|
+
this.cleanupIntervalId = setInterval(() => {
|
|
17
|
+
this.cleanExpired();
|
|
18
|
+
}, this.CLEANUP_INTERVAL);
|
|
19
|
+
if (this.cleanupIntervalId.unref) {
|
|
20
|
+
this.cleanupIntervalId.unref();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Stop the periodic cleanup interval
|
|
26
|
+
*/
|
|
27
|
+
stopCleanupInterval() {
|
|
28
|
+
if (this.cleanupIntervalId !== null) {
|
|
29
|
+
clearInterval(this.cleanupIntervalId);
|
|
30
|
+
this.cleanupIntervalId = null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
5
33
|
set(url, content) {
|
|
6
34
|
this.cache.set(url, {
|
|
7
35
|
content,
|
|
@@ -31,17 +59,36 @@ class URLCache {
|
|
|
31
59
|
}
|
|
32
60
|
}
|
|
33
61
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Get cache statistics for debugging
|
|
64
|
+
*/
|
|
65
|
+
getStats() {
|
|
66
|
+
let oldest = null;
|
|
67
|
+
for (const entry of this.cache.values()) {
|
|
68
|
+
if (oldest === null || entry.timestamp < oldest) {
|
|
69
|
+
oldest = entry.timestamp;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
size: this.cache.size,
|
|
74
|
+
oldestEntry: oldest
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Dispose of the cache and stop cleanup interval
|
|
79
|
+
* Call this when shutting down to prevent memory leaks
|
|
80
|
+
*/
|
|
81
|
+
dispose() {
|
|
82
|
+
this.stopCleanupInterval();
|
|
83
|
+
this.cache.clear();
|
|
42
84
|
}
|
|
43
85
|
}
|
|
44
86
|
const urlCache = new URLCache();
|
|
87
|
+
if (typeof process !== "undefined" && process.on) {
|
|
88
|
+
process.on("beforeExit", () => {
|
|
89
|
+
urlCache.dispose();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
45
92
|
export {
|
|
46
93
|
urlCache
|
|
47
94
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/tools/URLFetcherTool/cache.ts"],
|
|
4
|
-
"sourcesContent": ["interface CacheEntry {\n content: string\n timestamp: number\n}\n\nclass URLCache {\n private cache = new Map<string, CacheEntry>()\n private readonly CACHE_DURATION = 15 * 60 * 1000 // 15 minutes in milliseconds\n\n set(url: string, content: string): void {\n this.cache.set(url, {\n content,\n timestamp: Date.now(),\n })\n }\n\n get(url: string): string | null {\n const entry = this.cache.get(url)\n if (!entry) {\n return null\n }\n\n // Check if entry has expired\n if (Date.now() - entry.timestamp > this.CACHE_DURATION) {\n this.cache.delete(url)\n return null\n }\n\n return entry.content\n }\n\n clear(): void {\n this.cache.clear()\n }\n\n // Clean expired entries\n private cleanExpired(): void {\n const now = Date.now()\n for (const [url, entry] of this.cache.entries()) {\n if (now - entry.timestamp > this.CACHE_DURATION) {\n this.cache.delete(url)\n }\n }\n }\n\n
|
|
5
|
-
"mappings": "AAKA,MAAM,SAAS;AAAA,EACL,QAAQ,oBAAI,IAAwB;AAAA,
|
|
4
|
+
"sourcesContent": ["interface CacheEntry {\n content: string\n timestamp: number\n}\n\nclass URLCache {\n private cache = new Map<string, CacheEntry>()\n private cleanupIntervalId: ReturnType<typeof setInterval> | null = null\n private readonly CACHE_DURATION = 15 * 60 * 1000 // 15 minutes in milliseconds\n private readonly CLEANUP_INTERVAL = 5 * 60 * 1000 // 5 minutes\n\n constructor() {\n this.startCleanupInterval()\n }\n\n /**\n * Start the periodic cleanup interval\n */\n private startCleanupInterval(): void {\n if (this.cleanupIntervalId === null) {\n this.cleanupIntervalId = setInterval(() => {\n this.cleanExpired()\n }, this.CLEANUP_INTERVAL)\n\n // Ensure the interval doesn't prevent process exit\n if (this.cleanupIntervalId.unref) {\n this.cleanupIntervalId.unref()\n }\n }\n }\n\n /**\n * Stop the periodic cleanup interval\n */\n private stopCleanupInterval(): void {\n if (this.cleanupIntervalId !== null) {\n clearInterval(this.cleanupIntervalId)\n this.cleanupIntervalId = null\n }\n }\n\n set(url: string, content: string): void {\n this.cache.set(url, {\n content,\n timestamp: Date.now(),\n })\n }\n\n get(url: string): string | null {\n const entry = this.cache.get(url)\n if (!entry) {\n return null\n }\n\n // Check if entry has expired\n if (Date.now() - entry.timestamp > this.CACHE_DURATION) {\n this.cache.delete(url)\n return null\n }\n\n return entry.content\n }\n\n clear(): void {\n this.cache.clear()\n }\n\n // Clean expired entries\n private cleanExpired(): void {\n const now = Date.now()\n for (const [url, entry] of this.cache.entries()) {\n if (now - entry.timestamp > this.CACHE_DURATION) {\n this.cache.delete(url)\n }\n }\n }\n\n /**\n * Get cache statistics for debugging\n */\n getStats(): { size: number; oldestEntry: number | null } {\n let oldest: number | null = null\n for (const entry of this.cache.values()) {\n if (oldest === null || entry.timestamp < oldest) {\n oldest = entry.timestamp\n }\n }\n return {\n size: this.cache.size,\n oldestEntry: oldest,\n }\n }\n\n /**\n * Dispose of the cache and stop cleanup interval\n * Call this when shutting down to prevent memory leaks\n */\n dispose(): void {\n this.stopCleanupInterval()\n this.cache.clear()\n }\n}\n\n// Export singleton instance\nexport const urlCache = new URLCache()\n\n// Register cleanup on process exit\nif (typeof process !== 'undefined' && process.on) {\n process.on('beforeExit', () => {\n urlCache.dispose()\n })\n}\n"],
|
|
5
|
+
"mappings": "AAKA,MAAM,SAAS;AAAA,EACL,QAAQ,oBAAI,IAAwB;AAAA,EACpC,oBAA2D;AAAA,EAClD,iBAAiB,KAAK,KAAK;AAAA;AAAA,EAC3B,mBAAmB,IAAI,KAAK;AAAA;AAAA,EAE7C,cAAc;AACZ,SAAK,qBAAqB;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKQ,uBAA6B;AACnC,QAAI,KAAK,sBAAsB,MAAM;AACnC,WAAK,oBAAoB,YAAY,MAAM;AACzC,aAAK,aAAa;AAAA,MACpB,GAAG,KAAK,gBAAgB;AAGxB,UAAI,KAAK,kBAAkB,OAAO;AAChC,aAAK,kBAAkB,MAAM;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKQ,sBAA4B;AAClC,QAAI,KAAK,sBAAsB,MAAM;AACnC,oBAAc,KAAK,iBAAiB;AACpC,WAAK,oBAAoB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,IAAI,KAAa,SAAuB;AACtC,SAAK,MAAM,IAAI,KAAK;AAAA,MAClB;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,IACtB,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAA4B;AAC9B,UAAM,QAAQ,KAAK,MAAM,IAAI,GAAG;AAChC,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,IACT;AAGA,QAAI,KAAK,IAAI,IAAI,MAAM,YAAY,KAAK,gBAAgB;AACtD,WAAK,MAAM,OAAO,GAAG;AACrB,aAAO;AAAA,IACT;AAEA,WAAO,MAAM;AAAA,EACf;AAAA,EAEA,QAAc;AACZ,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA;AAAA,EAGQ,eAAqB;AAC3B,UAAM,MAAM,KAAK,IAAI;AACrB,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,QAAQ,GAAG;AAC/C,UAAI,MAAM,MAAM,YAAY,KAAK,gBAAgB;AAC/C,aAAK,MAAM,OAAO,GAAG;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,WAAyD;AACvD,QAAI,SAAwB;AAC5B,eAAW,SAAS,KAAK,MAAM,OAAO,GAAG;AACvC,UAAI,WAAW,QAAQ,MAAM,YAAY,QAAQ;AAC/C,iBAAS,MAAM;AAAA,MACjB;AAAA,IACF;AACA,WAAO;AAAA,MACL,MAAM,KAAK,MAAM;AAAA,MACjB,aAAa;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAgB;AACd,SAAK,oBAAoB;AACzB,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;AAGO,MAAM,WAAW,IAAI,SAAS;AAGrC,IAAI,OAAO,YAAY,eAAe,QAAQ,IAAI;AAChD,UAAQ,GAAG,cAAc,MAAM;AAC7B,aAAS,QAAQ;AAAA,EACnB,CAAC;AACH;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/tools.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cacheToolDescriptions } from "./Tool.js";
|
|
1
2
|
import { TaskTool } from "./tools/TaskTool/TaskTool.js";
|
|
2
3
|
import { ArchitectTool } from "./tools/ArchitectTool/ArchitectTool.js";
|
|
3
4
|
import { BashTool } from "./tools/BashTool/BashTool.js";
|
|
@@ -21,6 +22,13 @@ import { ThinkTool } from "./tools/ThinkTool/ThinkTool.js";
|
|
|
21
22
|
import { TodoWriteTool } from "./tools/TodoWriteTool/TodoWriteTool.js";
|
|
22
23
|
import { WebSearchTool } from "./tools/WebSearchTool/WebSearchTool.js";
|
|
23
24
|
import { URLFetcherTool } from "./tools/URLFetcherTool/URLFetcherTool.js";
|
|
25
|
+
import { LspTool } from "./tools/LspTool/LspTool.js";
|
|
26
|
+
import { EnterPlanModeTool } from "./tools/PlanModeTool/EnterPlanModeTool.js";
|
|
27
|
+
import { ExitPlanModeTool } from "./tools/PlanModeTool/ExitPlanModeTool.js";
|
|
28
|
+
import { TaskOutputTool } from "./tools/TaskOutputTool/TaskOutputTool.js";
|
|
29
|
+
import { SlashCommandTool } from "./tools/SlashCommandTool/SlashCommandTool.js";
|
|
30
|
+
import { ListMcpResourcesTool } from "./tools/ListMcpResourcesTool/ListMcpResourcesTool.js";
|
|
31
|
+
import { ReadMcpResourceTool } from "./tools/ReadMcpResourceTool/ReadMcpResourceTool.js";
|
|
24
32
|
import { getMCPTools } from "./services/mcpClient.js";
|
|
25
33
|
import { memoize } from "lodash-es";
|
|
26
34
|
const ANT_ONLY_TOOLS = [
|
|
@@ -49,6 +57,15 @@ const getAllTools = () => {
|
|
|
49
57
|
TodoWriteTool,
|
|
50
58
|
WebSearchTool,
|
|
51
59
|
URLFetcherTool,
|
|
60
|
+
// Phase 4: Code intelligence and plan mode tools
|
|
61
|
+
LspTool,
|
|
62
|
+
EnterPlanModeTool,
|
|
63
|
+
ExitPlanModeTool,
|
|
64
|
+
TaskOutputTool,
|
|
65
|
+
SlashCommandTool,
|
|
66
|
+
// Phase 3: MCP Resource tools
|
|
67
|
+
ListMcpResourcesTool,
|
|
68
|
+
ReadMcpResourceTool,
|
|
52
69
|
...ANT_ONLY_TOOLS
|
|
53
70
|
];
|
|
54
71
|
};
|
|
@@ -59,7 +76,9 @@ const getTools = memoize(
|
|
|
59
76
|
tools.push(ArchitectTool);
|
|
60
77
|
}
|
|
61
78
|
const isEnabled = await Promise.all(tools.map((tool) => tool.isEnabled()));
|
|
62
|
-
|
|
79
|
+
const enabledTools = tools.filter((_, i) => isEnabled[i]);
|
|
80
|
+
await cacheToolDescriptions(enabledTools);
|
|
81
|
+
return enabledTools;
|
|
63
82
|
}
|
|
64
83
|
);
|
|
65
84
|
const getReadOnlyTools = memoize(async () => {
|
|
@@ -67,9 +86,19 @@ const getReadOnlyTools = memoize(async () => {
|
|
|
67
86
|
const isEnabled = await Promise.all(tools.map((tool) => tool.isEnabled()));
|
|
68
87
|
return tools.filter((_, index) => isEnabled[index]);
|
|
69
88
|
});
|
|
89
|
+
function invalidateToolsCache() {
|
|
90
|
+
getTools.cache.clear?.();
|
|
91
|
+
getReadOnlyTools.cache.clear?.();
|
|
92
|
+
}
|
|
93
|
+
async function reloadTools(enableArchitect) {
|
|
94
|
+
invalidateToolsCache();
|
|
95
|
+
return getTools(enableArchitect);
|
|
96
|
+
}
|
|
70
97
|
export {
|
|
71
98
|
getAllTools,
|
|
72
99
|
getReadOnlyTools,
|
|
73
|
-
getTools
|
|
100
|
+
getTools,
|
|
101
|
+
invalidateToolsCache,
|
|
102
|
+
reloadTools
|
|
74
103
|
};
|
|
75
104
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/tools.ts"],
|
|
4
|
-
"sourcesContent": ["import { Tool } from './Tool'\nimport { TaskTool } from './tools/TaskTool/TaskTool'\nimport { ArchitectTool } from './tools/ArchitectTool/ArchitectTool'\nimport { BashTool } from './tools/BashTool/BashTool'\nimport { BashOutputTool } from './tools/BashOutputTool/BashOutputTool'\nimport { KillShellTool } from './tools/KillShellTool/KillShellTool'\nimport { AskExpertModelTool } from './tools/AskExpertModelTool/AskExpertModelTool'\nimport { AskUserQuestionTool } from './tools/AskUserQuestionTool/AskUserQuestionTool'\nimport { FileEditTool } from './tools/FileEditTool/FileEditTool'\nimport { FileReadTool } from './tools/FileReadTool/FileReadTool'\nimport { FileWriteTool } from './tools/FileWriteTool/FileWriteTool'\nimport { GlobTool } from './tools/GlobTool/GlobTool'\nimport { GrepTool } from './tools/GrepTool/GrepTool'\nimport { LSTool } from './tools/lsTool/lsTool'\nimport { MemoryReadTool } from './tools/MemoryReadTool/MemoryReadTool'\nimport { MemoryWriteTool } from './tools/MemoryWriteTool/MemoryWriteTool'\nimport { MultiEditTool } from './tools/MultiEditTool/MultiEditTool'\nimport { NotebookEditTool } from './tools/NotebookEditTool/NotebookEditTool'\nimport { NotebookReadTool } from './tools/NotebookReadTool/NotebookReadTool'\nimport { SkillTool } from './tools/SkillTool/SkillTool'\nimport { ThinkTool } from './tools/ThinkTool/ThinkTool'\nimport { TodoWriteTool } from './tools/TodoWriteTool/TodoWriteTool'\nimport { WebSearchTool } from './tools/WebSearchTool/WebSearchTool'\nimport { URLFetcherTool } from './tools/URLFetcherTool/URLFetcherTool'\nimport { getMCPTools } from './services/mcpClient'\nimport { memoize } from 'lodash-es'\n\nconst ANT_ONLY_TOOLS = [\n MemoryReadTool as unknown as Tool,\n MemoryWriteTool as unknown as Tool,\n]\n\n// Function to avoid circular dependencies that break bun\nexport const getAllTools = (): Tool[] => {\n return [\n TaskTool as unknown as Tool,\n AskExpertModelTool as unknown as Tool,\n AskUserQuestionTool as unknown as Tool,\n BashTool as unknown as Tool,\n BashOutputTool as unknown as Tool,\n KillShellTool as unknown as Tool,\n GlobTool as unknown as Tool,\n GrepTool as unknown as Tool,\n LSTool as unknown as Tool,\n FileReadTool as unknown as Tool,\n FileEditTool as unknown as Tool,\n MultiEditTool as unknown as Tool,\n FileWriteTool as unknown as Tool,\n NotebookReadTool as unknown as Tool,\n NotebookEditTool as unknown as Tool,\n SkillTool as unknown as Tool,\n ThinkTool as unknown as Tool,\n TodoWriteTool as unknown as Tool,\n WebSearchTool as unknown as Tool,\n URLFetcherTool as unknown as Tool,\n ...ANT_ONLY_TOOLS,\n ]\n}\n\nexport const getTools = memoize(\n async (enableArchitect?: boolean): Promise<Tool[]> => {\n const tools = [...getAllTools(), ...(await getMCPTools())]\n\n // Only include Architect tool if enabled via config or CLI flag\n if (enableArchitect) {\n tools.push(ArchitectTool as unknown as Tool)\n }\n\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { Tool, cacheToolDescriptions } from './Tool'\nimport { TaskTool } from './tools/TaskTool/TaskTool'\nimport { ArchitectTool } from './tools/ArchitectTool/ArchitectTool'\nimport { BashTool } from './tools/BashTool/BashTool'\nimport { BashOutputTool } from './tools/BashOutputTool/BashOutputTool'\nimport { KillShellTool } from './tools/KillShellTool/KillShellTool'\nimport { AskExpertModelTool } from './tools/AskExpertModelTool/AskExpertModelTool'\nimport { AskUserQuestionTool } from './tools/AskUserQuestionTool/AskUserQuestionTool'\nimport { FileEditTool } from './tools/FileEditTool/FileEditTool'\nimport { FileReadTool } from './tools/FileReadTool/FileReadTool'\nimport { FileWriteTool } from './tools/FileWriteTool/FileWriteTool'\nimport { GlobTool } from './tools/GlobTool/GlobTool'\nimport { GrepTool } from './tools/GrepTool/GrepTool'\nimport { LSTool } from './tools/lsTool/lsTool'\nimport { MemoryReadTool } from './tools/MemoryReadTool/MemoryReadTool'\nimport { MemoryWriteTool } from './tools/MemoryWriteTool/MemoryWriteTool'\nimport { MultiEditTool } from './tools/MultiEditTool/MultiEditTool'\nimport { NotebookEditTool } from './tools/NotebookEditTool/NotebookEditTool'\nimport { NotebookReadTool } from './tools/NotebookReadTool/NotebookReadTool'\nimport { SkillTool } from './tools/SkillTool/SkillTool'\nimport { ThinkTool } from './tools/ThinkTool/ThinkTool'\nimport { TodoWriteTool } from './tools/TodoWriteTool/TodoWriteTool'\nimport { WebSearchTool } from './tools/WebSearchTool/WebSearchTool'\nimport { URLFetcherTool } from './tools/URLFetcherTool/URLFetcherTool'\n// Phase 4: New tools for Claude Code CLI compatibility\nimport { LspTool } from './tools/LspTool/LspTool'\nimport { EnterPlanModeTool } from './tools/PlanModeTool/EnterPlanModeTool'\nimport { ExitPlanModeTool } from './tools/PlanModeTool/ExitPlanModeTool'\nimport { TaskOutputTool } from './tools/TaskOutputTool/TaskOutputTool'\nimport { SlashCommandTool } from './tools/SlashCommandTool/SlashCommandTool'\n// Phase 3: MCP Resource tools\nimport { ListMcpResourcesTool } from './tools/ListMcpResourcesTool/ListMcpResourcesTool'\nimport { ReadMcpResourceTool } from './tools/ReadMcpResourceTool/ReadMcpResourceTool'\nimport { getMCPTools } from './services/mcpClient'\nimport { memoize } from 'lodash-es'\n\nconst ANT_ONLY_TOOLS = [\n MemoryReadTool as unknown as Tool,\n MemoryWriteTool as unknown as Tool,\n]\n\n// Function to avoid circular dependencies that break bun\nexport const getAllTools = (): Tool[] => {\n return [\n TaskTool as unknown as Tool,\n AskExpertModelTool as unknown as Tool,\n AskUserQuestionTool as unknown as Tool,\n BashTool as unknown as Tool,\n BashOutputTool as unknown as Tool,\n KillShellTool as unknown as Tool,\n GlobTool as unknown as Tool,\n GrepTool as unknown as Tool,\n LSTool as unknown as Tool,\n FileReadTool as unknown as Tool,\n FileEditTool as unknown as Tool,\n MultiEditTool as unknown as Tool,\n FileWriteTool as unknown as Tool,\n NotebookReadTool as unknown as Tool,\n NotebookEditTool as unknown as Tool,\n SkillTool as unknown as Tool,\n ThinkTool as unknown as Tool,\n TodoWriteTool as unknown as Tool,\n WebSearchTool as unknown as Tool,\n URLFetcherTool as unknown as Tool,\n // Phase 4: Code intelligence and plan mode tools\n LspTool as unknown as Tool,\n EnterPlanModeTool as unknown as Tool,\n ExitPlanModeTool as unknown as Tool,\n TaskOutputTool as unknown as Tool,\n SlashCommandTool as unknown as Tool,\n // Phase 3: MCP Resource tools\n ListMcpResourcesTool as unknown as Tool,\n ReadMcpResourceTool as unknown as Tool,\n ...ANT_ONLY_TOOLS,\n ]\n}\n\nexport const getTools = memoize(\n async (enableArchitect?: boolean): Promise<Tool[]> => {\n const tools = [...getAllTools(), ...(await getMCPTools())]\n\n // Only include Architect tool if enabled via config or CLI flag\n if (enableArchitect) {\n tools.push(ArchitectTool as unknown as Tool)\n }\n\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n const enabledTools = tools.filter((_, i) => isEnabled[i])\n\n // Cache tool descriptions for synchronous access in adapters\n await cacheToolDescriptions(enabledTools)\n\n return enabledTools\n },\n)\n\nexport const getReadOnlyTools = memoize(async (): Promise<Tool[]> => {\n const tools = getAllTools().filter(tool => tool.isReadOnly())\n const isEnabled = await Promise.all(tools.map(tool => tool.isEnabled()))\n return tools.filter((_, index) => isEnabled[index])\n})\n\n/**\n * Invalidate the tools cache to force refresh\n * This should be called when:\n * - MCP servers are connected/disconnected\n * - Tool configuration changes\n * - Plugin tools are added/removed\n */\nexport function invalidateToolsCache(): void {\n getTools.cache.clear?.()\n getReadOnlyTools.cache.clear?.()\n}\n\n/**\n * Reload tools with fresh data\n * Convenience function that invalidates cache and returns new tools\n */\nexport async function reloadTools(enableArchitect?: boolean): Promise<Tool[]> {\n invalidateToolsCache()\n return getTools(enableArchitect)\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAe,6BAA6B;AAC5C,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAE/B,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AAExB,MAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AACF;AAGO,MAAM,cAAc,MAAc;AACvC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AACF;AAEO,MAAM,WAAW;AAAA,EACtB,OAAO,oBAA+C;AACpD,UAAM,QAAQ,CAAC,GAAG,YAAY,GAAG,GAAI,MAAM,YAAY,CAAE;AAGzD,QAAI,iBAAiB;AACnB,YAAM,KAAK,aAAgC;AAAA,IAC7C;AAEA,UAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,UAAM,eAAe,MAAM,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;AAGxD,UAAM,sBAAsB,YAAY;AAExC,WAAO;AAAA,EACT;AACF;AAEO,MAAM,mBAAmB,QAAQ,YAA6B;AACnE,QAAM,QAAQ,YAAY,EAAE,OAAO,UAAQ,KAAK,WAAW,CAAC;AAC5D,QAAM,YAAY,MAAM,QAAQ,IAAI,MAAM,IAAI,UAAQ,KAAK,UAAU,CAAC,CAAC;AACvE,SAAO,MAAM,OAAO,CAAC,GAAG,UAAU,UAAU,KAAK,CAAC;AACpD,CAAC;AASM,SAAS,uBAA6B;AAC3C,WAAS,MAAM,QAAQ;AACvB,mBAAiB,MAAM,QAAQ;AACjC;AAMA,eAAsB,YAAY,iBAA4C;AAC5E,uBAAqB;AACrB,SAAO,SAAS,eAAe;AACjC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/types/hooks.js
CHANGED
|
@@ -2,13 +2,17 @@ import { z } from "zod";
|
|
|
2
2
|
var HookEvent = /* @__PURE__ */ ((HookEvent2) => {
|
|
3
3
|
HookEvent2["PreToolUse"] = "PreToolUse";
|
|
4
4
|
HookEvent2["PostToolUse"] = "PostToolUse";
|
|
5
|
+
HookEvent2["PostToolUseFailure"] = "PostToolUseFailure";
|
|
6
|
+
HookEvent2["PermissionRequest"] = "PermissionRequest";
|
|
5
7
|
HookEvent2["UserPromptSubmit"] = "UserPromptSubmit";
|
|
6
8
|
HookEvent2["SessionStart"] = "SessionStart";
|
|
7
9
|
HookEvent2["SessionEnd"] = "SessionEnd";
|
|
8
10
|
HookEvent2["Stop"] = "Stop";
|
|
11
|
+
HookEvent2["SubagentStart"] = "SubagentStart";
|
|
9
12
|
HookEvent2["SubagentStop"] = "SubagentStop";
|
|
10
13
|
HookEvent2["Notification"] = "Notification";
|
|
11
14
|
HookEvent2["PreCompact"] = "PreCompact";
|
|
15
|
+
HookEvent2["PostCompact"] = "PostCompact";
|
|
12
16
|
return HookEvent2;
|
|
13
17
|
})(HookEvent || {});
|
|
14
18
|
const HookDefinitionSchema = z.object({
|
package/dist/types/hooks.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/hooks.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Hooks System Type Definitions\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/**\n * Hooks System Type Definitions\n */\n\nimport { z } from 'zod'\n\n/**\n * Hook lifecycle events\n * Full Claude Code CLI compatible set\n */\nexport enum HookEvent {\n // Tool lifecycle\n PreToolUse = 'PreToolUse',\n PostToolUse = 'PostToolUse',\n PostToolUseFailure = 'PostToolUseFailure', // New: after tool execution fails\n\n // Permission events\n PermissionRequest = 'PermissionRequest', // New: when permission is requested\n\n // User interaction\n UserPromptSubmit = 'UserPromptSubmit',\n\n // Session lifecycle\n SessionStart = 'SessionStart',\n SessionEnd = 'SessionEnd',\n\n // Execution control\n Stop = 'Stop',\n\n // Subagent lifecycle\n SubagentStart = 'SubagentStart', // New: when subagent starts\n SubagentStop = 'SubagentStop',\n\n // Notifications\n Notification = 'Notification',\n\n // Context management\n PreCompact = 'PreCompact',\n PostCompact = 'PostCompact',\n}\n\n/**\n * Hook execution types\n */\nexport type HookType = 'command' | 'prompt'\n\n/**\n * Hook matcher configuration\n */\nexport interface HookMatcher {\n /** Pattern to match tool names (regex supported). Use \"*\" or \"\" to match all. */\n matcher?: string\n\n /** Array of hooks to execute when matcher matches */\n hooks: HookDefinition[]\n}\n\n/**\n * Individual hook definition\n */\nexport interface HookDefinition {\n /** Hook execution type */\n type: HookType\n\n /** Bash command to execute (for type=\"command\") */\n command?: string\n\n /** Prompt to send to LLM (for type=\"prompt\") */\n prompt?: string\n\n /** Optional timeout in seconds (default: 60) */\n timeout?: number\n\n /** Optional description of what this hook does */\n description?: string\n}\n\n/**\n * hooks.json file schema\n */\nexport interface HooksConfig {\n /** Optional description for plugin hooks */\n description?: string\n\n /** Hook configurations by event type */\n hooks: Partial<Record<HookEvent, HookMatcher[]>>\n}\n\n/**\n * Hook execution input (passed to hook as JSON stdin)\n */\nexport interface HookInput {\n /** Session identifier */\n session_id: string\n\n /** Path to conversation transcript */\n transcript_path: string\n\n /** Current working directory */\n cwd: string\n\n /** Permission mode (default, plan, acceptEdits, bypassPermissions) */\n permission_mode: string\n\n /** Hook event name */\n hook_event_name: HookEvent\n\n /** Event-specific additional fields */\n [key: string]: any\n}\n\n/**\n * PreToolUse hook input\n */\nexport interface PreToolUseInput extends HookInput {\n hook_event_name: HookEvent.PreToolUse\n tool_name: string\n tool_input: Record<string, unknown>\n}\n\n/**\n * PostToolUse hook input\n */\nexport interface PostToolUseInput extends HookInput {\n hook_event_name: HookEvent.PostToolUse\n tool_name: string\n tool_input: Record<string, unknown>\n tool_output: Record<string, unknown>\n}\n\n/**\n * PostToolUseFailure hook input (new)\n */\nexport interface PostToolUseFailureInput extends HookInput {\n hook_event_name: HookEvent.PostToolUseFailure\n tool_name: string\n tool_input: Record<string, unknown>\n error: string\n error_type?: string\n}\n\n/**\n * PermissionRequest hook input (new)\n */\nexport interface PermissionRequestInput extends HookInput {\n hook_event_name: HookEvent.PermissionRequest\n tool_name: string\n tool_input: Record<string, unknown>\n permission_type: 'read' | 'write' | 'execute' | 'network' | 'other'\n description?: string\n}\n\n/**\n * UserPromptSubmit hook input\n */\nexport interface UserPromptSubmitInput extends HookInput {\n hook_event_name: HookEvent.UserPromptSubmit\n user_prompt: string\n}\n\n/**\n * SessionStart hook input\n */\nexport interface SessionStartInput extends HookInput {\n hook_event_name: HookEvent.SessionStart\n source: 'startup' | 'resume' | 'clear' | 'compact'\n}\n\n/**\n * SessionEnd hook input\n */\nexport interface SessionEndInput extends HookInput {\n hook_event_name: HookEvent.SessionEnd\n reason: 'clear' | 'logout' | 'prompt_input_exit' | 'other'\n}\n\n/**\n * Stop hook input\n */\nexport interface StopInput extends HookInput {\n hook_event_name: HookEvent.Stop\n stop_hook_active: boolean\n}\n\n/**\n * SubagentStart hook input (new)\n */\nexport interface SubagentStartInput extends HookInput {\n hook_event_name: HookEvent.SubagentStart\n agent_type: string\n agent_description?: string\n run_in_background?: boolean\n}\n\n/**\n * SubagentStop hook input\n */\nexport interface SubagentStopInput extends HookInput {\n hook_event_name: HookEvent.SubagentStop\n agent_type: string\n agent_id?: string\n stop_hook_active: boolean\n}\n\n/**\n * Notification hook input\n */\nexport interface NotificationInput extends HookInput {\n hook_event_name: HookEvent.Notification\n message: string\n}\n\n/**\n * PreCompact hook input\n */\nexport interface PreCompactInput extends HookInput {\n hook_event_name: HookEvent.PreCompact\n trigger: 'manual' | 'auto'\n custom_instructions: string\n}\n\n/**\n * PostCompact hook input\n */\nexport interface PostCompactInput extends HookInput {\n hook_event_name: HookEvent.PostCompact\n trigger: 'manual' | 'auto'\n summary: string\n compression_ratio: number\n original_tokens: number\n compressed_tokens: number\n}\n\n/**\n * Hook execution output (from hook stdout as JSON)\n */\nexport interface HookOutput {\n /** Whether Claude should continue after hook execution */\n continue?: boolean\n\n /** Message shown when continue is false */\n stopReason?: string\n\n /** Hide stdout from transcript mode */\n suppressOutput?: boolean\n\n /** Optional warning message shown to user */\n systemMessage?: string\n\n /** Hook-specific output fields */\n hookSpecificOutput?: HookSpecificOutput\n\n /** Deprecated: Use hookSpecificOutput.permissionDecision instead */\n decision?: 'approve' | 'block'\n\n /** Deprecated: Use hookSpecificOutput.permissionDecisionReason instead */\n reason?: string\n}\n\n/**\n * Hook-specific output for different events\n */\nexport type HookSpecificOutput =\n | PreToolUseOutput\n | PostToolUseOutput\n | UserPromptSubmitOutput\n | SessionStartOutput\n\n/**\n * PreToolUse hook-specific output\n */\nexport interface PreToolUseOutput {\n hookEventName: HookEvent.PreToolUse\n\n /** Permission decision: allow (bypass), deny (block), ask (prompt user) */\n permissionDecision: 'allow' | 'deny' | 'ask'\n\n /** Reason shown to user (allow/ask) or Claude (deny) */\n permissionDecisionReason?: string\n\n /** Modified tool input parameters */\n updatedInput?: Record<string, unknown>\n}\n\n/**\n * PostToolUse hook-specific output\n */\nexport interface PostToolUseOutput {\n hookEventName: HookEvent.PostToolUse\n\n /** Additional context for Claude to consider */\n additionalContext?: string\n}\n\n/**\n * UserPromptSubmit hook-specific output\n */\nexport interface UserPromptSubmitOutput {\n hookEventName: HookEvent.UserPromptSubmit\n\n /** Additional context to add to conversation */\n additionalContext?: string\n}\n\n/**\n * SessionStart hook-specific output\n */\nexport interface SessionStartOutput {\n hookEventName: HookEvent.SessionStart\n\n /** Additional context to load at session start */\n additionalContext?: string\n}\n\n/**\n * Hook execution result (internal)\n */\nexport interface HookExecutionResult {\n /** Whether hook execution succeeded */\n success: boolean\n\n /** Exit code from hook command */\n exitCode: number\n\n /** Standard output */\n stdout: string\n\n /** Standard error */\n stderr: string\n\n /** Parsed JSON output (if valid) */\n output?: HookOutput\n\n /** Error if execution failed */\n error?: Error\n\n /** Execution time in milliseconds */\n executionTime: number\n}\n\n/**\n * Zod schema for hooks.json validation\n */\nexport const HookDefinitionSchema = z.object({\n type: z.enum(['command', 'prompt']),\n command: z.string().optional(),\n prompt: z.string().optional(),\n timeout: z.number().optional(),\n description: z.string().optional(),\n})\n\nexport const HookMatcherSchema = z.object({\n matcher: z.string().optional(),\n hooks: z.array(HookDefinitionSchema),\n})\n\nexport const HooksConfigSchema = z.object({\n description: z.string().optional(),\n hooks: z\n .record(z.nativeEnum(HookEvent), z.array(HookMatcherSchema))\n .optional(),\n})\n\n/**\n * Hook execution context (passed to executor)\n */\nexport interface HookExecutionContext {\n /** Hook definition to execute */\n hook: HookDefinition\n\n /** Hook input data */\n input: HookInput\n\n /** Environment variables to pass to hook */\n env?: Record<string, string>\n\n /** Abort signal for cancellation */\n abortSignal?: AbortSignal\n}\n\n/**\n * Hook decision result (processed from hook output)\n */\nexport interface HookDecision {\n /** Allow the action */\n allow: boolean\n\n /** Block the action */\n block: boolean\n\n /** Ask user for confirmation */\n ask: boolean\n\n /** Reason for decision */\n reason?: string\n\n /** Message to show to user */\n systemMessage?: string\n\n /** Stop execution entirely */\n stop: boolean\n\n /** Stop reason */\n stopReason?: string\n\n /** Additional context to inject */\n additionalContext?: string\n\n /** Modified tool input (for PreToolUse) */\n updatedInput?: Record<string, unknown>\n}\n\n/**\n * Loaded hook (runtime representation)\n */\nexport interface LoadedHook {\n /** Hook name/identifier */\n name: string\n\n /** File path to hook definition */\n filePath: string\n\n /** Hook configuration */\n config: HookDefinition\n\n /** Source plugin name */\n pluginName: string\n\n /** Hook event this hook responds to */\n event: HookEvent\n\n /** Matcher pattern (if applicable) */\n matcher?: string\n}\n"],
|
|
5
|
+
"mappings": "AAIA,SAAS,SAAS;AAMX,IAAK,YAAL,kBAAKA,eAAL;AAEL,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,iBAAc;AACd,EAAAA,WAAA,wBAAqB;AAGrB,EAAAA,WAAA,uBAAoB;AAGpB,EAAAA,WAAA,sBAAmB;AAGnB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,gBAAa;AAGb,EAAAA,WAAA,UAAO;AAGP,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,kBAAe;AAGf,EAAAA,WAAA,kBAAe;AAGf,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,iBAAc;AA5BJ,SAAAA;AAAA,GAAA;AA6UL,MAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,MAAM,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC;AAAA,EAClC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAEM,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,MAAM,oBAAoB;AACrC,CAAC;AAEM,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,OAAO,EACJ,OAAO,EAAE,WAAW,SAAS,GAAG,EAAE,MAAM,iBAAiB,CAAC,EAC1D,SAAS;AACd,CAAC;",
|
|
6
6
|
"names": ["HookEvent"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/marketplace.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Plugin Marketplace Type Definitions\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/**\n * Plugin Marketplace Type Definitions\n */\n\nimport { z } from 'zod'\n\n/**\n * Plugin source types for marketplace entries\n */\nexport const PluginSourceSchema = z.union([\n // Relative path (within same repository)\n z.string(),\n\n // GitHub repository\n z.object({\n source: z.literal('github'),\n repo: z.string().regex(/^[\\w-]+\\/[\\w-]+$/, 'Must be in format: owner/repo'),\n ref: z.string().optional(), // branch, tag, or commit SHA\n }),\n\n // Generic git URL\n z.object({\n source: z.literal('url'),\n url: z.string().url(),\n ref: z.string().optional(),\n }),\n\n // Local path\n z.object({\n source: z.literal('local'),\n path: z.string(),\n }),\n])\n\nexport type PluginSourceType = z.infer<typeof PluginSourceSchema>\n\n/**\n * Author information (can be string or object)\n */\nexport const AuthorSchema = z.union([\n z.string(),\n z.object({\n name: z.string(),\n email: z.string().email().optional(),\n url: z.string().url().optional(),\n }),\n])\n\n/**\n * Marketplace plugin entry\n */\nexport const MarketplacePluginSchema = z.object({\n // Required\n name: z\n .string()\n .min(1)\n .regex(\n /^[a-z0-9-]+$/,\n 'Plugin name must be lowercase alphanumeric with hyphens',\n ),\n source: PluginSourceSchema,\n\n // Optional metadata\n description: z.string().optional(),\n version: z.string().optional(),\n author: AuthorSchema.optional(),\n homepage: z.string().url().optional(),\n repository: z.string().url().optional(),\n license: z.string().optional(),\n keywords: z.array(z.string()).optional(),\n category: z.string().optional(),\n tags: z.array(z.string()).optional(),\n\n // Component paths (relative to plugin root)\n commands: z.array(z.string()).optional(),\n agents: z.array(z.string()).optional(),\n hooks: z.array(z.string()).optional(),\n mcpServers: z.array(z.string()).optional(),\n skills: z.array(z.string()).optional(),\n\n // Strict mode: require plugin.json in plugin directory\n strict: z.boolean().optional().default(true),\n})\n\nexport type MarketplacePlugin = z.infer<typeof MarketplacePluginSchema>\n\n/**\n * Marketplace owner information\n */\nexport const MarketplaceOwnerSchema = z.object({\n name: z.string(),\n email: z.string().email().optional(),\n url: z.string().url().optional(),\n})\n\nexport type MarketplaceOwner = z.infer<typeof MarketplaceOwnerSchema>\n\n/**\n * Marketplace metadata\n */\nexport const MarketplaceMetadataSchema = z.object({\n description: z.string().optional(),\n version: z.string().optional(),\n pluginRoot: z.string().optional(), // Base path for relative sources\n})\n\nexport type MarketplaceMetadata = z.infer<typeof MarketplaceMetadataSchema>\n\n/**\n * Marketplace manifest (marketplace.json)\n */\nexport const MarketplaceManifestSchema = z.object({\n name: z\n .string()\n .min(1)\n .regex(\n /^[a-z0-9-]+$/,\n 'Marketplace name must be lowercase alphanumeric with hyphens',\n ),\n owner: MarketplaceOwnerSchema,\n plugins: z.array(MarketplacePluginSchema),\n metadata: MarketplaceMetadataSchema.optional(),\n})\n\nexport type MarketplaceManifest = z.infer<typeof MarketplaceManifestSchema>\n\n/**\n * Marketplace configuration source\n */\nexport type MarketplaceSource =\n | { type: 'github'; repo: string; ref?: string }\n | { type: 'url'; url: string; ref?: string }\n | { type: 'local'; path: string }\n\n/**\n * Registered marketplace\n */\nexport interface RegisteredMarketplace {\n name: string\n source: MarketplaceSource\n manifest: MarketplaceManifest\n lastUpdated: Date\n enabled: boolean\n}\n\n/**\n * Marketplace configuration in .minto/settings.json\n */\nexport interface MarketplaceSettings {\n extraKnownMarketplaces?: Record<\n string,\n {\n source: {\n source: 'github' | 'url' | 'local'\n repo?: string\n url?: string\n path?: string\n ref?: string\n }\n }\n >\n}\n\n/**\n * Marketplace error types\n */\nexport class MarketplaceError extends Error {\n constructor(\n message: string,\n public code: MarketplaceErrorCode,\n public marketplaceName?: string,\n public details?: any,\n ) {\n super(message)\n this.name = 'MarketplaceError'\n }\n}\n\nexport enum MarketplaceErrorCode {\n MANIFEST_INVALID = 'MANIFEST_INVALID',\n MANIFEST_NOT_FOUND = 'MANIFEST_NOT_FOUND',\n NETWORK_ERROR = 'NETWORK_ERROR',\n GIT_ERROR = 'GIT_ERROR',\n ALREADY_REGISTERED = 'ALREADY_REGISTERED',\n NOT_REGISTERED = 'NOT_REGISTERED',\n PLUGIN_NOT_FOUND = 'PLUGIN_NOT_FOUND',\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["MarketplaceErrorCode"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const DISPLAY_CONFIGS = {
|
|
2
|
+
normal: {
|
|
3
|
+
maxCharsWithoutChildren: 80,
|
|
4
|
+
maxCharsPerChild: 80,
|
|
5
|
+
maxRecentChildren: 3,
|
|
6
|
+
showAllChildren: false,
|
|
7
|
+
// REPL 规范新增
|
|
8
|
+
maxCharsToolParams: 60,
|
|
9
|
+
showMetaInfo: false,
|
|
10
|
+
expandParallelOutput: false
|
|
11
|
+
},
|
|
12
|
+
verbose: {
|
|
13
|
+
maxCharsWithoutChildren: 200,
|
|
14
|
+
maxCharsPerChild: 200,
|
|
15
|
+
maxRecentChildren: Infinity,
|
|
16
|
+
showAllChildren: true,
|
|
17
|
+
// REPL 规范新增
|
|
18
|
+
maxCharsToolParams: 120,
|
|
19
|
+
showMetaInfo: true,
|
|
20
|
+
expandParallelOutput: true
|
|
21
|
+
},
|
|
22
|
+
compact: {
|
|
23
|
+
maxCharsWithoutChildren: 40,
|
|
24
|
+
maxCharsPerChild: 40,
|
|
25
|
+
maxRecentChildren: 1,
|
|
26
|
+
showAllChildren: false,
|
|
27
|
+
// REPL 规范新增
|
|
28
|
+
maxCharsToolParams: 40,
|
|
29
|
+
showMetaInfo: false,
|
|
30
|
+
expandParallelOutput: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
DISPLAY_CONFIGS
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=messageGroup.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/types/messageGroup.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * V1+ Message Group Types\n *\n * Unified framework combining V1's generality with V3's concrete solutions:\n * - Plugin-based type system for extensibility\n * - Position anchoring for stable UI placement\n * - Recursive resolution state for nested task handling\n * - Stateless rendering design for Ink Static compatibility\n */\n\n/**\n * Message group types - extensible type registry\n */\nexport type MessageGroupType =\n | 'task' // Single Task and its output\n | 'parallel-tasks' // Concurrent Task group\n | 'tool-sequence' // Sequential tool call sequence\n | 'standalone' // Independent message (no grouping)\n // Future extension points\n | 'mcp-session' // MCP session group\n | 'thinking-block' // Thinking process group\n | string // Allow custom types\n\n/**\n * Position anchor information (from V3)\n * Determines where the group appears in the message list\n */\nexport interface PositionAnchor {\n /** Anchor message UUID, determines group position in list */\n anchorMessageUuid: string\n /** Anchor strategy: first = first member, last = last member */\n anchorStrategy: 'first' | 'last' | 'explicit'\n}\n\n/**\n * Resolution state (from V3's nested checking)\n * Tracks whether group and all nested children are fully resolved\n */\nexport interface ResolutionState {\n /** Whether the group itself is resolved */\n isSelfResolved: boolean\n /** Whether all nested subtasks are resolved */\n isNestedResolved: boolean\n /** Fully resolved = self + nested */\n isFullyResolved: boolean\n /** Unresolved toolUseIds (for debugging) */\n unresolvedToolUseIds: string[]\n}\n\n/**\n * Message Group - V1+ unified version\n * Retains V1's generality, adds V3's necessary fields\n */\nexport interface MessageGroup {\n // === V1 Core Fields (retained) ===\n id: string\n type: MessageGroupType\n\n // Hierarchy\n parentId?: string\n childIds: string[]\n\n // Associated original message UUIDs\n messageUuids: string[]\n\n // Group status\n status: 'pending' | 'running' | 'completed' | 'failed'\n\n // Metadata (extensible)\n metadata: MessageGroupMetadata\n\n // === V1+ New Fields ===\n\n /** Position anchor (from V3) */\n anchor: PositionAnchor\n\n /** Resolution state (from V3's recursive checking) */\n resolution: ResolutionState\n\n // === Removed Fields ===\n // isCollapsed?: boolean // Removed: Ink Static doesn't support state updates\n // label?: string // Moved to metadata\n}\n\n/**\n * Message group metadata - extensible key-value store\n */\nexport interface MessageGroupMetadata {\n agentId?: string\n toolUseId?: string\n siblingToolUseIds?: string[]\n description?: string\n agentType?: string\n label?: string\n // V1+ extension point\n [key: string]: unknown\n}\n\n/**\n * Group context (enhanced version)\n * Passed to rendering components for context-aware display\n */\nexport interface GroupContext {\n /** Nesting depth (0 = root) */\n depth: number\n /** Whether this is the last child in parent */\n isLastChild: boolean\n /** Parent group reference */\n parentGroup?: MessageGroup\n /** Current display configuration */\n displayConfig: DisplayConfig\n /** Whether animations should be active */\n shouldAnimate: boolean\n /**\n * Function to get transcript by agentId with lazy loading from disk.\n * This is essential for loading historical transcripts that aren't in memory.\n */\n getTranscript?: (\n agentId: string,\n ) => import('@utils/agentTranscripts').AgentTranscript | null\n}\n\n/**\n * Display configuration (from V3)\n * Controls truncation and visibility rules\n *\n * \u57FA\u4E8E REPL \u663E\u793A\u89C4\u8303\u6269\u5C55\uFF1A\n * - \u65B0\u589E\u5DE5\u5177\u53C2\u6570\u622A\u65AD\u914D\u7F6E\n * - \u65B0\u589E\u5143\u4FE1\u606F\u663E\u793A\u63A7\u5236\n * - \u65B0\u589E\u5E76\u884C\u8F93\u51FA\u5C55\u5F00\u63A7\u5236\n */\nexport interface DisplayConfig {\n /** Max characters when no children */\n maxCharsWithoutChildren: number\n /** Max characters per child when has children */\n maxCharsPerChild: number\n /** Max recent children to show in non-verbose mode */\n maxRecentChildren: number\n /** Whether to show all children (verbose mode) */\n showAllChildren: boolean\n\n // === REPL \u663E\u793A\u89C4\u8303\u65B0\u589E\u5B57\u6BB5 ===\n\n /** \u5DE5\u5177\u53C2\u6570\u6700\u5927\u5B57\u7B26\u6570 (Normal: 60, Verbose: 120) */\n maxCharsToolParams: number\n /** \u662F\u5426\u663E\u793A\u5143\u4FE1\u606F\uFF08\u8017\u65F6\u00B7\u6A21\u578B\u00B7\u65F6\u95F4\uFF09 */\n showMetaInfo: boolean\n /** \u662F\u5426\u5C55\u5F00\u5E76\u884C\u4EFB\u52A1\u8F93\u51FA */\n expandParallelOutput: boolean\n}\n\n/**\n * Preset display configurations\n * \u57FA\u4E8E REPL \u663E\u793A\u89C4\u8303\u66F4\u65B0\n */\nexport const DISPLAY_CONFIGS: Record<string, DisplayConfig> = {\n normal: {\n maxCharsWithoutChildren: 80,\n maxCharsPerChild: 80,\n maxRecentChildren: 3,\n showAllChildren: false,\n // REPL \u89C4\u8303\u65B0\u589E\n maxCharsToolParams: 60,\n showMetaInfo: false,\n expandParallelOutput: false,\n },\n verbose: {\n maxCharsWithoutChildren: 200,\n maxCharsPerChild: 200,\n maxRecentChildren: Infinity,\n showAllChildren: true,\n // REPL \u89C4\u8303\u65B0\u589E\n maxCharsToolParams: 120,\n showMetaInfo: true,\n expandParallelOutput: true,\n },\n compact: {\n maxCharsWithoutChildren: 40,\n maxCharsPerChild: 40,\n maxRecentChildren: 1,\n showAllChildren: false,\n // REPL \u89C4\u8303\u65B0\u589E\n maxCharsToolParams: 40,\n showMetaInfo: false,\n expandParallelOutput: false,\n },\n}\n\n/**\n * Identified group - result of group identification\n */\nexport interface IdentifiedGroup {\n type: MessageGroupType\n messageUuids: string[]\n metadata: MessageGroupMetadata\n childIds?: string[]\n}\n\n/**\n * Parallel module info - for message render hints\n */\nexport interface ParallelModuleInfo {\n /** Module ID */\n moduleId: string\n /** Whether this is the module's anchor message */\n isAnchor: boolean\n /** All member toolUseIds in the module */\n memberToolUseIds: string[]\n}\n\n/**\n * Task render info - for message render hints\n */\nexport interface TaskRenderInfo {\n /** Task status */\n status: 'pending' | 'running' | 'completed' | 'failed'\n /** Nested subtask count */\n nestedTaskCount: number\n /** Has unresolved nested subtasks */\n hasUnresolvedNested: boolean\n /** Associated agentId */\n agentId?: string\n /** Associated TaskOutput toolUseId */\n outputToolUseId?: string\n}\n\n/**\n * Message render hint - attached during normalization\n */\nexport interface MessageRenderHint {\n /** Group ID this message belongs to */\n groupId?: string\n /** Parallel module info */\n parallelModule?: ParallelModuleInfo\n /** Task render info */\n taskInfo?: TaskRenderInfo\n /** This message should embed into which toolUseId */\n embedInToolUseId?: string\n /** This message should be skipped in rendering */\n shouldSkip?: boolean\n}\n\n/**\n * Task display content - result of display content computation\n */\nexport interface TaskDisplayContent {\n type: 'simple' | 'nested'\n content?: string\n children?: Array<{\n description: string\n status: string\n content: string\n }>\n hiddenCount?: number\n}\n"],
|
|
5
|
+
"mappings": "AA2JO,MAAM,kBAAiD;AAAA,EAC5D,QAAQ;AAAA,IACN,yBAAyB;AAAA,IACzB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA;AAAA,IAEjB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,sBAAsB;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,yBAAyB;AAAA,IACzB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA;AAAA,IAEjB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,sBAAsB;AAAA,EACxB;AAAA,EACA,SAAS;AAAA,IACP,yBAAyB;AAAA,IACzB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA;AAAA,IAEjB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,sBAAsB;AAAA,EACxB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/types/plugin.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/types/plugin.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Plugin System Type Definitions\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/**\n * Plugin System Type Definitions\n */\n\nimport { z } from 'zod'\n\n/**\n * Author information (can be string or object)\n */\nexport const AuthorSchema = z.union([\n z.string(),\n z.object({\n name: z.string(),\n email: z.string().email().optional(),\n url: z.string().url().optional(),\n }),\n])\n\n/**\n * MCP Server Configuration Schema\n * Compatible with Claude Code CLI's .mcp.json format\n */\nexport const MCPServerConfigSchema = z.object({\n // Command-based (stdio) servers\n command: z.string().optional(),\n args: z.array(z.string()).optional().default([]),\n env: z.record(z.string()).optional().default({}),\n timeout: z.number().optional(),\n\n // HTTP/SSE servers\n type: z.enum(['stdio', 'http', 'sse']).optional().default('stdio'),\n url: z.string().optional(),\n headers: z.record(z.string()).optional(),\n})\n\nexport type MCPServerConfig = z.infer<typeof MCPServerConfigSchema>\n\n/**\n * Plugin Manifest Schema (plugin.json)\n * This is the source of truth for plugin metadata\n */\nexport const PluginManifestSchema = z.object({\n // Required fields\n name: z\n .string()\n .min(1)\n .regex(\n /^[a-z0-9-]+$/,\n 'Plugin name must be lowercase alphanumeric with hyphens',\n ),\n version: z\n .string()\n .regex(\n /^\\d+\\.\\d+\\.\\d+$/,\n 'Version must follow semver format (e.g., 1.0.0)',\n ),\n description: z.string().min(1),\n\n // Optional metadata\n displayName: z.string().optional(),\n author: AuthorSchema.optional(),\n homepage: z.string().url().optional(),\n repository: z.string().url().optional(),\n license: z.string().optional(),\n\n // Plugin components (relative paths from plugin root)\n agents: z.array(z.string()).optional().default([]),\n commands: z.array(z.string()).optional().default([]),\n skills: z.array(z.string()).optional().default([]),\n hooks: z.array(z.string()).optional().default([]),\n\n // MCP servers support both:\n // - Array of file paths: [\"mcp-servers/server1.json\"]\n // - Object with inline configs: { \"server1\": { command: \"...\" } }\n mcpServers: z\n .union([z.array(z.string()), z.record(MCPServerConfigSchema)])\n .optional()\n .default([]),\n\n // Dependencies\n dependencies: z.record(z.string()).optional().default({}),\n\n // Minto/Claude Code version requirements\n engines: z\n .object({\n minto: z.string().optional(),\n 'claude-code': z.string().optional(),\n node: z.string().optional(),\n })\n .optional(),\n\n // Plugin-specific configuration schema\n configSchema: z.record(z.any()).optional(),\n})\n\nexport type PluginManifest = z.infer<typeof PluginManifestSchema>\n\n/**\n * Loaded Plugin (runtime representation)\n */\nexport interface LoadedPlugin {\n name: string\n manifest: PluginManifest\n location: string // Absolute path to plugin directory\n source: PluginSource\n agents: LoadedAgent[]\n commands: LoadedCommand[]\n skills: LoadedSkill[]\n hooks: LoadedHook[]\n mcpServers: LoadedMCPServer[]\n enabled: boolean\n config?: Record<string, any>\n}\n\n/**\n * Plugin source types\n */\nexport type PluginSource =\n | { type: 'local'; path: string }\n | { type: 'git'; repo: string; ref?: string }\n | { type: 'npm'; package: string; version?: string }\n | { type: 'marketplace'; marketplace: string; name: string }\n\n/**\n * Agent component (from plugin)\n */\nexport interface LoadedAgent {\n name: string\n filePath: string\n config: {\n name: string\n description: string\n tools?: string | string[]\n model?: string\n content: string\n }\n pluginName: string\n}\n\n/**\n * Command component (from plugin)\n */\nexport interface LoadedCommand {\n name: string\n filePath: string\n config: {\n name: string\n description?: string\n aliases?: string[]\n enabled?: boolean\n hidden?: boolean\n progressMessage?: string\n argNames?: string[]\n 'allowed-tools'?: string[]\n content: string\n }\n pluginName: string\n}\n\n/**\n * Skill component (from plugin)\n */\nexport interface LoadedSkill {\n name: string\n filePath: string\n config: {\n name: string\n description: string\n content: string\n }\n pluginName: string\n}\n\n/**\n * Hook component (from plugin)\n */\nexport interface LoadedHook {\n name: string\n filePath: string\n config: {\n event: HookEvent\n matcher?: string\n type: 'command' | 'message' | 'notification'\n command?: string\n message?: string\n blocking?: boolean\n timeout?: number\n }\n pluginName: string\n event: HookEvent // Also store event at root level for easier access\n matcher?: string // Also store matcher at root level\n}\n\n/**\n * Hook lifecycle events\n */\nexport type HookEvent =\n | 'PreToolUse'\n | 'PostToolUse'\n | 'UserPromptSubmit'\n | 'SessionStart'\n | 'SessionEnd'\n | 'Stop'\n | 'SubagentStop'\n | 'Notification'\n | 'PreCompact'\n\n/**\n * MCP Server component (from plugin)\n */\nexport interface LoadedMCPServer {\n name: string\n filePath: string\n config: {\n command: string\n args?: string[]\n env?: Record<string, string>\n timeout?: number\n }\n pluginName: string\n}\n\n/**\n * Plugin installation options\n */\nexport interface PluginInstallOptions {\n source: PluginSource\n global?: boolean // Install globally vs project-level\n enable?: boolean // Auto-enable after install\n config?: Record<string, any> // Plugin-specific config\n}\n\n/**\n * Plugin marketplace configuration\n */\nexport interface PluginMarketplace {\n name: string\n source: PluginSource\n plugins: PluginManifest[]\n}\n\n/**\n * Plugin error types\n */\nexport class PluginError extends Error {\n constructor(\n message: string,\n public code: PluginErrorCode,\n public pluginName?: string,\n public details?: any,\n ) {\n super(message)\n this.name = 'PluginError'\n }\n}\n\nexport enum PluginErrorCode {\n MANIFEST_INVALID = 'MANIFEST_INVALID',\n MANIFEST_NOT_FOUND = 'MANIFEST_NOT_FOUND',\n VERSION_MISMATCH = 'VERSION_MISMATCH',\n DEPENDENCY_MISSING = 'DEPENDENCY_MISSING',\n COMPONENT_NOT_FOUND = 'COMPONENT_NOT_FOUND',\n COMPONENT_INVALID = 'COMPONENT_INVALID',\n ALREADY_INSTALLED = 'ALREADY_INSTALLED',\n NOT_INSTALLED = 'NOT_INSTALLED',\n PERMISSION_DENIED = 'PERMISSION_DENIED',\n}\n\n// ============================================================================\n// Session Plugin Types (Claude Code CLI Compatible)\n// ============================================================================\n\n/**\n * A loaded plugin in the current session\n * Compatible with Claude Code CLI session plugins\n */\nexport interface SessionPlugin {\n /** Plugin name from manifest */\n name: string\n /** Root directory of the plugin */\n rootDir: string\n /** Path to the manifest file */\n manifestPath: string\n /** Raw manifest data */\n manifest: unknown\n /** Directories containing custom commands */\n commandsDirs: string[]\n /** Directories containing skills */\n skillsDirs: string[]\n /** Directories containing agents */\n agentsDirs: string[]\n /** Paths to hooks configuration files */\n hooksFiles: string[]\n /** Directories containing output styles */\n outputStylesDirs: string[]\n /** Paths to MCP server configuration files */\n mcpConfigFiles: string[]\n /** Paths to LSP server configuration files (Claude Code CLI specific) */\n lspConfigFiles: string[]\n}\n\n/**\n * Plugin scope - where the plugin is installed/activated\n */\nexport type PluginScope = 'user' | 'project' | 'local'\n\n/**\n * Installed skill plugin record\n */\nexport interface InstalledSkillPlugin {\n plugin: string\n marketplace: string\n scope: PluginScope\n kind?: 'skill-pack' | 'plugin-pack'\n isEnabled?: boolean\n projectPath?: string\n installedAt: string\n pluginRoot?: string\n skills: string[]\n commands: string[]\n sourceMarketplacePath: string\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["PluginErrorCode"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=thinking.js.map
|