@within-7/minto 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1263) hide show
  1. package/cli.cjs +32 -154
  2. package/cli.js +3255 -0
  3. package/package.json +21 -38
  4. package/scripts/postinstall.cjs +19 -136
  5. package/vendor/ripgrep/arm64-linux/rg +0 -0
  6. package/vendor/ripgrep/x64-darwin/rg +0 -0
  7. package/vendor/ripgrep/x64-linux/rg +0 -0
  8. package/vendor/ripgrep/x64-win32/rg.exe +0 -0
  9. package/dist/Tool.js +0 -46
  10. package/dist/Tool.js.map +0 -7
  11. package/dist/commands/agents/AgentsCommand.js +0 -2170
  12. package/dist/commands/agents/AgentsCommand.js.map +0 -7
  13. package/dist/commands/agents/constants.js +0 -58
  14. package/dist/commands/agents/constants.js.map +0 -7
  15. package/dist/commands/agents/index.js +0 -37
  16. package/dist/commands/agents/index.js.map +0 -7
  17. package/dist/commands/agents/types.js +0 -11
  18. package/dist/commands/agents/types.js.map +0 -7
  19. package/dist/commands/agents/utils/fileOperations.js +0 -245
  20. package/dist/commands/agents/utils/fileOperations.js.map +0 -7
  21. package/dist/commands/agents/utils/index.js +0 -23
  22. package/dist/commands/agents/utils/index.js.map +0 -7
  23. package/dist/commands/approvedTools.js +0 -36
  24. package/dist/commands/approvedTools.js.map +0 -7
  25. package/dist/commands/bug.js +0 -88
  26. package/dist/commands/bug.js.map +0 -7
  27. package/dist/commands/clear.js +0 -41
  28. package/dist/commands/clear.js.map +0 -7
  29. package/dist/commands/compact.js +0 -119
  30. package/dist/commands/compact.js.map +0 -7
  31. package/dist/commands/config.js +0 -20
  32. package/dist/commands/config.js.map +0 -7
  33. package/dist/commands/context.js +0 -118
  34. package/dist/commands/context.js.map +0 -7
  35. package/dist/commands/cost.js +0 -19
  36. package/dist/commands/cost.js.map +0 -7
  37. package/dist/commands/ctx_viz.js +0 -193
  38. package/dist/commands/ctx_viz.js.map +0 -7
  39. package/dist/commands/doctor.js +0 -171
  40. package/dist/commands/doctor.js.map +0 -7
  41. package/dist/commands/effort.js +0 -87
  42. package/dist/commands/effort.js.map +0 -7
  43. package/dist/commands/export.js +0 -747
  44. package/dist/commands/export.js.map +0 -7
  45. package/dist/commands/help.js +0 -20
  46. package/dist/commands/help.js.map +0 -7
  47. package/dist/commands/ide.js +0 -18
  48. package/dist/commands/ide.js.map +0 -7
  49. package/dist/commands/init.js +0 -38
  50. package/dist/commands/init.js.map +0 -7
  51. package/dist/commands/language.js +0 -110
  52. package/dist/commands/language.js.map +0 -7
  53. package/dist/commands/login.js +0 -128
  54. package/dist/commands/login.js.map +0 -7
  55. package/dist/commands/mcp-interactive.js +0 -485
  56. package/dist/commands/mcp-interactive.js.map +0 -7
  57. package/dist/commands/memory.js +0 -119
  58. package/dist/commands/memory.js.map +0 -7
  59. package/dist/commands/model.js +0 -497
  60. package/dist/commands/model.js.map +0 -7
  61. package/dist/commands/new.js +0 -56
  62. package/dist/commands/new.js.map +0 -7
  63. package/dist/commands/outputStyle.js +0 -64
  64. package/dist/commands/outputStyle.js.map +0 -7
  65. package/dist/commands/permissions.js +0 -113
  66. package/dist/commands/permissions.js.map +0 -7
  67. package/dist/commands/plugin/AddMarketplaceForm.js +0 -91
  68. package/dist/commands/plugin/AddMarketplaceForm.js.map +0 -7
  69. package/dist/commands/plugin/ConfirmDialog.js +0 -84
  70. package/dist/commands/plugin/ConfirmDialog.js.map +0 -7
  71. package/dist/commands/plugin/ErrorView.js +0 -34
  72. package/dist/commands/plugin/ErrorView.js.map +0 -7
  73. package/dist/commands/plugin/InstalledPluginsByMarketplace.js +0 -152
  74. package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +0 -7
  75. package/dist/commands/plugin/InstalledPluginsManager.js +0 -102
  76. package/dist/commands/plugin/InstalledPluginsManager.js.map +0 -7
  77. package/dist/commands/plugin/LoadingView.js +0 -14
  78. package/dist/commands/plugin/LoadingView.js.map +0 -7
  79. package/dist/commands/plugin/MainMenu.js +0 -67
  80. package/dist/commands/plugin/MainMenu.js.map +0 -7
  81. package/dist/commands/plugin/MarketplaceManager.js +0 -201
  82. package/dist/commands/plugin/MarketplaceManager.js.map +0 -7
  83. package/dist/commands/plugin/MarketplaceSelector.js +0 -124
  84. package/dist/commands/plugin/MarketplaceSelector.js.map +0 -7
  85. package/dist/commands/plugin/PlaceholderScreen.js +0 -31
  86. package/dist/commands/plugin/PlaceholderScreen.js.map +0 -7
  87. package/dist/commands/plugin/PluginBrowser.js +0 -183
  88. package/dist/commands/plugin/PluginBrowser.js.map +0 -7
  89. package/dist/commands/plugin/PluginDetailsInstall.js +0 -159
  90. package/dist/commands/plugin/PluginDetailsInstall.js.map +0 -7
  91. package/dist/commands/plugin/PluginDetailsManage.js +0 -210
  92. package/dist/commands/plugin/PluginDetailsManage.js.map +0 -7
  93. package/dist/commands/plugin/components.js +0 -16
  94. package/dist/commands/plugin/components.js.map +0 -7
  95. package/dist/commands/plugin/example-usage.js +0 -63
  96. package/dist/commands/plugin/example-usage.js.map +0 -7
  97. package/dist/commands/plugin/types.js +0 -1
  98. package/dist/commands/plugin/types.js.map +0 -7
  99. package/dist/commands/plugin/utils.js +0 -109
  100. package/dist/commands/plugin/utils.js.map +0 -7
  101. package/dist/commands/plugin.js +0 -1410
  102. package/dist/commands/plugin.js.map +0 -7
  103. package/dist/commands/quit.js +0 -20
  104. package/dist/commands/quit.js.map +0 -7
  105. package/dist/commands/refreshCommands.js +0 -48
  106. package/dist/commands/refreshCommands.js.map +0 -7
  107. package/dist/commands/resume.js +0 -71
  108. package/dist/commands/resume.js.map +0 -7
  109. package/dist/commands/review.js +0 -51
  110. package/dist/commands/review.js.map +0 -7
  111. package/dist/commands/sandbox.js +0 -203
  112. package/dist/commands/sandbox.js.map +0 -7
  113. package/dist/commands/sessions.js +0 -224
  114. package/dist/commands/sessions.js.map +0 -7
  115. package/dist/commands/setup.js +0 -653
  116. package/dist/commands/setup.js.map +0 -7
  117. package/dist/commands/stats.js +0 -292
  118. package/dist/commands/stats.js.map +0 -7
  119. package/dist/commands/status.js +0 -127
  120. package/dist/commands/status.js.map +0 -7
  121. package/dist/commands/tasks.js +0 -108
  122. package/dist/commands/tasks.js.map +0 -7
  123. package/dist/commands/terminalSetup.js +0 -174
  124. package/dist/commands/terminalSetup.js.map +0 -7
  125. package/dist/commands/todos.js +0 -123
  126. package/dist/commands/todos.js.map +0 -7
  127. package/dist/commands/undo.js +0 -227
  128. package/dist/commands/undo.js.map +0 -7
  129. package/dist/commands/vim.js +0 -22
  130. package/dist/commands/vim.js.map +0 -7
  131. package/dist/commands.js +0 -130
  132. package/dist/commands.js.map +0 -7
  133. package/dist/components/AgentDetailView.js +0 -126
  134. package/dist/components/AgentDetailView.js.map +0 -7
  135. package/dist/components/AgentResponseBlock.js +0 -41
  136. package/dist/components/AgentResponseBlock.js.map +0 -7
  137. package/dist/components/AgentThinkingBlock.js +0 -32
  138. package/dist/components/AgentThinkingBlock.js.map +0 -7
  139. package/dist/components/AgentViewBanner.js +0 -22
  140. package/dist/components/AgentViewBanner.js.map +0 -7
  141. package/dist/components/AsciiLogo.js +0 -18
  142. package/dist/components/AsciiLogo.js.map +0 -7
  143. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +0 -142
  144. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +0 -7
  145. package/dist/components/AskUserQuestionDialog/QuestionView.js +0 -55
  146. package/dist/components/AskUserQuestionDialog/QuestionView.js.map +0 -7
  147. package/dist/components/AskUserQuestionDialog/index.js +0 -7
  148. package/dist/components/AskUserQuestionDialog/index.js.map +0 -7
  149. package/dist/components/BackgroundTasksPanel.js +0 -177
  150. package/dist/components/BackgroundTasksPanel.js.map +0 -7
  151. package/dist/components/BashStreamingProgress.js +0 -24
  152. package/dist/components/BashStreamingProgress.js.map +0 -7
  153. package/dist/components/CollapsibleHint.js +0 -15
  154. package/dist/components/CollapsibleHint.js.map +0 -7
  155. package/dist/components/Config.js +0 -181
  156. package/dist/components/Config.js.map +0 -7
  157. package/dist/components/ConsoleOAuthFlow.js +0 -179
  158. package/dist/components/ConsoleOAuthFlow.js.map +0 -7
  159. package/dist/components/Cost.js +0 -14
  160. package/dist/components/Cost.js.map +0 -7
  161. package/dist/components/CostThresholdDialog.js +0 -38
  162. package/dist/components/CostThresholdDialog.js.map +0 -7
  163. package/dist/components/CustomSelect/option-map.js +0 -32
  164. package/dist/components/CustomSelect/option-map.js.map +0 -7
  165. package/dist/components/CustomSelect/select-option.js +0 -37
  166. package/dist/components/CustomSelect/select-option.js.map +0 -7
  167. package/dist/components/CustomSelect/select.js +0 -64
  168. package/dist/components/CustomSelect/select.js.map +0 -7
  169. package/dist/components/CustomSelect/theme.js +0 -1
  170. package/dist/components/CustomSelect/theme.js.map +0 -7
  171. package/dist/components/CustomSelect/use-select-state.js +0 -220
  172. package/dist/components/CustomSelect/use-select-state.js.map +0 -7
  173. package/dist/components/CustomSelect/use-select.js +0 -21
  174. package/dist/components/CustomSelect/use-select.js.map +0 -7
  175. package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
  176. package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
  177. package/dist/components/FileEditToolUpdatedMessage.js +0 -32
  178. package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
  179. package/dist/components/HeaderBar.js +0 -63
  180. package/dist/components/HeaderBar.js.map +0 -7
  181. package/dist/components/Help.js +0 -185
  182. package/dist/components/Help.js.map +0 -7
  183. package/dist/components/HighlightedCode.js +0 -31
  184. package/dist/components/HighlightedCode.js.map +0 -7
  185. package/dist/components/HistorySearchOverlay.js +0 -49
  186. package/dist/components/HistorySearchOverlay.js.map +0 -7
  187. package/dist/components/HotkeyHelpPanel.js +0 -154
  188. package/dist/components/HotkeyHelpPanel.js.map +0 -7
  189. package/dist/components/IdleNotificationBar.js +0 -10
  190. package/dist/components/IdleNotificationBar.js.map +0 -7
  191. package/dist/components/InfoPanel/InfoPanel.js +0 -123
  192. package/dist/components/InfoPanel/InfoPanel.js.map +0 -7
  193. package/dist/components/InfoPanel/index.js +0 -5
  194. package/dist/components/InfoPanel/index.js.map +0 -7
  195. package/dist/components/InfoPanel/types.js +0 -1
  196. package/dist/components/InfoPanel/types.js.map +0 -7
  197. package/dist/components/InteractionRoundBlock.js +0 -56
  198. package/dist/components/InteractionRoundBlock.js.map +0 -7
  199. package/dist/components/InvalidConfigDialog.js +0 -84
  200. package/dist/components/InvalidConfigDialog.js.map +0 -7
  201. package/dist/components/Link.js +0 -18
  202. package/dist/components/Link.js.map +0 -7
  203. package/dist/components/LogSelector.js +0 -50
  204. package/dist/components/LogSelector.js.map +0 -7
  205. package/dist/components/Logo.js +0 -55
  206. package/dist/components/Logo.js.map +0 -7
  207. package/dist/components/MCPServerApprovalDialog.js +0 -81
  208. package/dist/components/MCPServerApprovalDialog.js.map +0 -7
  209. package/dist/components/MCPServerDialogCopy.js +0 -12
  210. package/dist/components/MCPServerDialogCopy.js.map +0 -7
  211. package/dist/components/MCPServerMultiselectDialog.js +0 -82
  212. package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
  213. package/dist/components/Message.js +0 -162
  214. package/dist/components/Message.js.map +0 -7
  215. package/dist/components/MessageResponse.js +0 -9
  216. package/dist/components/MessageResponse.js.map +0 -7
  217. package/dist/components/MessageSelector.js +0 -127
  218. package/dist/components/MessageSelector.js.map +0 -7
  219. package/dist/components/ModeIndicator.js +0 -39
  220. package/dist/components/ModeIndicator.js.map +0 -7
  221. package/dist/components/ModelConfig.js +0 -223
  222. package/dist/components/ModelConfig.js.map +0 -7
  223. package/dist/components/ModelListManager.js +0 -142
  224. package/dist/components/ModelListManager.js.map +0 -7
  225. package/dist/components/ModelSelector/BrandTextInput.js +0 -43
  226. package/dist/components/ModelSelector/BrandTextInput.js.map +0 -7
  227. package/dist/components/ModelSelector/ModelSelector.js +0 -2103
  228. package/dist/components/ModelSelector/ModelSelector.js.map +0 -7
  229. package/dist/components/ModelSelector/ScreenContainer.js +0 -27
  230. package/dist/components/ModelSelector/ScreenContainer.js.map +0 -7
  231. package/dist/components/ModelSelector/WizardContainer.js +0 -45
  232. package/dist/components/ModelSelector/WizardContainer.js.map +0 -7
  233. package/dist/components/ModelSelector/constants.js +0 -37
  234. package/dist/components/ModelSelector/constants.js.map +0 -7
  235. package/dist/components/ModelSelector/hooks/index.js +0 -5
  236. package/dist/components/ModelSelector/hooks/index.js.map +0 -7
  237. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +0 -21
  238. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +0 -7
  239. package/dist/components/ModelSelector/index.js +0 -15
  240. package/dist/components/ModelSelector/index.js.map +0 -7
  241. package/dist/components/ModelSelector/types.js +0 -1
  242. package/dist/components/ModelSelector/types.js.map +0 -7
  243. package/dist/components/Onboarding.js +0 -159
  244. package/dist/components/Onboarding.js.map +0 -7
  245. package/dist/components/OperationSummary.js +0 -130
  246. package/dist/components/OperationSummary.js.map +0 -7
  247. package/dist/components/PressEnterToContinue.js +0 -10
  248. package/dist/components/PressEnterToContinue.js.map +0 -7
  249. package/dist/components/ProgressBar.js +0 -74
  250. package/dist/components/ProgressBar.js.map +0 -7
  251. package/dist/components/ProjectOnboarding.js +0 -99
  252. package/dist/components/ProjectOnboarding.js.map +0 -7
  253. package/dist/components/PromptInput.js +0 -1067
  254. package/dist/components/PromptInput.js.map +0 -7
  255. package/dist/components/PulseLabel.js +0 -44
  256. package/dist/components/PulseLabel.js.map +0 -7
  257. package/dist/components/QuitSummary.js +0 -88
  258. package/dist/components/QuitSummary.js.map +0 -7
  259. package/dist/components/RequestStatusIndicator.js +0 -194
  260. package/dist/components/RequestStatusIndicator.js.map +0 -7
  261. package/dist/components/RewindPanel.js +0 -272
  262. package/dist/components/RewindPanel.js.map +0 -7
  263. package/dist/components/SensitiveFileWarning.js +0 -35
  264. package/dist/components/SensitiveFileWarning.js.map +0 -7
  265. package/dist/components/SentryErrorBoundary.js +0 -27
  266. package/dist/components/SentryErrorBoundary.js.map +0 -7
  267. package/dist/components/SimpleSelector/SimpleSelector.js +0 -154
  268. package/dist/components/SimpleSelector/SimpleSelector.js.map +0 -7
  269. package/dist/components/SimpleSelector/index.js +0 -5
  270. package/dist/components/SimpleSelector/index.js.map +0 -7
  271. package/dist/components/SimpleSelector/types.js +0 -1
  272. package/dist/components/SimpleSelector/types.js.map +0 -7
  273. package/dist/components/Spinner.js +0 -174
  274. package/dist/components/Spinner.js.map +0 -7
  275. package/dist/components/SpinnerSymbol.js +0 -72
  276. package/dist/components/SpinnerSymbol.js.map +0 -7
  277. package/dist/components/StartupStatus.js +0 -57
  278. package/dist/components/StartupStatus.js.map +0 -7
  279. package/dist/components/StatusOverlayContent.js +0 -21
  280. package/dist/components/StatusOverlayContent.js.map +0 -7
  281. package/dist/components/StreamingBashOutput.js +0 -71
  282. package/dist/components/StreamingBashOutput.js.map +0 -7
  283. package/dist/components/StreamingTextPreview.js +0 -29
  284. package/dist/components/StreamingTextPreview.js.map +0 -7
  285. package/dist/components/StructuredDiff.js +0 -146
  286. package/dist/components/StructuredDiff.js.map +0 -7
  287. package/dist/components/SubagentBlock.js +0 -197
  288. package/dist/components/SubagentBlock.js.map +0 -7
  289. package/dist/components/SubagentManager.js +0 -65
  290. package/dist/components/SubagentManager.js.map +0 -7
  291. package/dist/components/SubagentProgress.js +0 -123
  292. package/dist/components/SubagentProgress.js.map +0 -7
  293. package/dist/components/SubagentStatusMarker.js +0 -37
  294. package/dist/components/SubagentStatusMarker.js.map +0 -7
  295. package/dist/components/TabbedListView/ScrollableList.js +0 -117
  296. package/dist/components/TabbedListView/ScrollableList.js.map +0 -7
  297. package/dist/components/TabbedListView/SearchInput.js +0 -23
  298. package/dist/components/TabbedListView/SearchInput.js.map +0 -7
  299. package/dist/components/TabbedListView/TabBar.js +0 -25
  300. package/dist/components/TabbedListView/TabBar.js.map +0 -7
  301. package/dist/components/TabbedListView/TabbedListView.js +0 -292
  302. package/dist/components/TabbedListView/TabbedListView.js.map +0 -7
  303. package/dist/components/TabbedListView/index.js +0 -11
  304. package/dist/components/TabbedListView/index.js.map +0 -7
  305. package/dist/components/TabbedListView/types.js +0 -1
  306. package/dist/components/TabbedListView/types.js.map +0 -7
  307. package/dist/components/TaskCard.js +0 -176
  308. package/dist/components/TaskCard.js.map +0 -7
  309. package/dist/components/TeamMemberPanel.js +0 -107
  310. package/dist/components/TeamMemberPanel.js.map +0 -7
  311. package/dist/components/TextInput.js +0 -108
  312. package/dist/components/TextInput.js.map +0 -7
  313. package/dist/components/ThinkingSelector.js +0 -84
  314. package/dist/components/ThinkingSelector.js.map +0 -7
  315. package/dist/components/TimelineRenderer.js +0 -31
  316. package/dist/components/TimelineRenderer.js.map +0 -7
  317. package/dist/components/TitledDivider.js +0 -26
  318. package/dist/components/TitledDivider.js.map +0 -7
  319. package/dist/components/TodoChangeBlock.js +0 -30
  320. package/dist/components/TodoChangeBlock.js.map +0 -7
  321. package/dist/components/TodoChangeLine.js +0 -22
  322. package/dist/components/TodoChangeLine.js.map +0 -7
  323. package/dist/components/TodoItem.js +0 -35
  324. package/dist/components/TodoItem.js.map +0 -7
  325. package/dist/components/TodoPanel.js +0 -167
  326. package/dist/components/TodoPanel.js.map +0 -7
  327. package/dist/components/TokenCounter.js +0 -74
  328. package/dist/components/TokenCounter.js.map +0 -7
  329. package/dist/components/TokenWarning.js +0 -41
  330. package/dist/components/TokenWarning.js.map +0 -7
  331. package/dist/components/ToolExecutionBlock.js +0 -18
  332. package/dist/components/ToolExecutionBlock.js.map +0 -7
  333. package/dist/components/ToolUseLoader.js +0 -29
  334. package/dist/components/ToolUseLoader.js.map +0 -7
  335. package/dist/components/TreeConnector.js +0 -26
  336. package/dist/components/TreeConnector.js.map +0 -7
  337. package/dist/components/TrustDialog.js +0 -71
  338. package/dist/components/TrustDialog.js.map +0 -7
  339. package/dist/components/TurnCompletionIndicator.js +0 -18
  340. package/dist/components/TurnCompletionIndicator.js.map +0 -7
  341. package/dist/components/UserQueryBlock.js +0 -12
  342. package/dist/components/UserQueryBlock.js.map +0 -7
  343. package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
  344. package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
  345. package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -92
  346. package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
  347. package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -140
  348. package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
  349. package/dist/components/binary-feedback/utils.js +0 -108
  350. package/dist/components/binary-feedback/utils.js.map +0 -7
  351. package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
  352. package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
  353. package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
  354. package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
  355. package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
  356. package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
  357. package/dist/components/messages/AssistantTextMessage.js +0 -92
  358. package/dist/components/messages/AssistantTextMessage.js.map +0 -7
  359. package/dist/components/messages/AssistantThinkingMessage.js +0 -42
  360. package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
  361. package/dist/components/messages/AssistantToolUseMessage.js +0 -108
  362. package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
  363. package/dist/components/messages/DefaultToolResultFallback.js +0 -11
  364. package/dist/components/messages/DefaultToolResultFallback.js.map +0 -7
  365. package/dist/components/messages/GroupRenderer.js +0 -54
  366. package/dist/components/messages/GroupRenderer.js.map +0 -7
  367. package/dist/components/messages/NestedTasksPreview.js +0 -24
  368. package/dist/components/messages/NestedTasksPreview.js.map +0 -7
  369. package/dist/components/messages/ParallelTasksGroupView.js +0 -101
  370. package/dist/components/messages/ParallelTasksGroupView.js.map +0 -7
  371. package/dist/components/messages/TaskInModuleView.js +0 -218
  372. package/dist/components/messages/TaskInModuleView.js.map +0 -7
  373. package/dist/components/messages/TaskOutputContent.js +0 -56
  374. package/dist/components/messages/TaskOutputContent.js.map +0 -7
  375. package/dist/components/messages/TaskProgressMessage.js +0 -11
  376. package/dist/components/messages/TaskProgressMessage.js.map +0 -7
  377. package/dist/components/messages/TaskToolMessage.js +0 -39
  378. package/dist/components/messages/TaskToolMessage.js.map +0 -7
  379. package/dist/components/messages/UserBashInputMessage.js +0 -18
  380. package/dist/components/messages/UserBashInputMessage.js.map +0 -7
  381. package/dist/components/messages/UserCommandMessage.js +0 -20
  382. package/dist/components/messages/UserCommandMessage.js.map +0 -7
  383. package/dist/components/messages/UserGuidanceMessage.js +0 -26
  384. package/dist/components/messages/UserGuidanceMessage.js.map +0 -7
  385. package/dist/components/messages/UserKodingInputMessage.js +0 -18
  386. package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
  387. package/dist/components/messages/UserPromptMessage.js +0 -26
  388. package/dist/components/messages/UserPromptMessage.js.map +0 -7
  389. package/dist/components/messages/UserTeamNotificationMessage.js +0 -91
  390. package/dist/components/messages/UserTeamNotificationMessage.js.map +0 -7
  391. package/dist/components/messages/UserTextMessage.js +0 -33
  392. package/dist/components/messages/UserTextMessage.js.map +0 -7
  393. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -11
  394. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
  395. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
  396. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
  397. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -27
  398. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
  399. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -64
  400. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
  401. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -33
  402. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
  403. package/dist/components/messages/UserToolResultMessage/utils.js +0 -50
  404. package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
  405. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
  406. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
  407. package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
  408. package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
  409. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
  410. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
  411. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
  412. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
  413. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
  414. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
  415. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
  416. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
  417. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
  418. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
  419. package/dist/components/permissions/PermissionRequest.js +0 -74
  420. package/dist/components/permissions/PermissionRequest.js.map +0 -7
  421. package/dist/components/permissions/PermissionRequestTitle.js +0 -52
  422. package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
  423. package/dist/components/permissions/PlanApprovalRequest.js +0 -164
  424. package/dist/components/permissions/PlanApprovalRequest.js.map +0 -7
  425. package/dist/components/permissions/hooks.js +0 -23
  426. package/dist/components/permissions/hooks.js.map +0 -7
  427. package/dist/components/permissions/toolUseOptions.js +0 -46
  428. package/dist/components/permissions/toolUseOptions.js.map +0 -7
  429. package/dist/components/permissions/utils.js +0 -21
  430. package/dist/components/permissions/utils.js.map +0 -7
  431. package/dist/constants/agentTeams.js +0 -17
  432. package/dist/constants/agentTeams.js.map +0 -7
  433. package/dist/constants/claude-asterisk-ascii-art.js +0 -242
  434. package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
  435. package/dist/constants/colors.js +0 -192
  436. package/dist/constants/colors.js.map +0 -7
  437. package/dist/constants/compressionPrompts.js +0 -73
  438. package/dist/constants/compressionPrompts.js.map +0 -7
  439. package/dist/constants/figures.js +0 -6
  440. package/dist/constants/figures.js.map +0 -7
  441. package/dist/constants/formatRules.js +0 -102
  442. package/dist/constants/formatRules.js.map +0 -7
  443. package/dist/constants/macros.js +0 -12
  444. package/dist/constants/macros.js.map +0 -7
  445. package/dist/constants/modelCapabilities.js +0 -239
  446. package/dist/constants/modelCapabilities.js.map +0 -7
  447. package/dist/constants/models.js +0 -1034
  448. package/dist/constants/models.js.map +0 -7
  449. package/dist/constants/oauth.js +0 -18
  450. package/dist/constants/oauth.js.map +0 -7
  451. package/dist/constants/product.js +0 -28
  452. package/dist/constants/product.js.map +0 -7
  453. package/dist/constants/prompts/agentPrompt.js +0 -31
  454. package/dist/constants/prompts/agentPrompt.js.map +0 -7
  455. package/dist/constants/prompts/autoMemory.js +0 -39
  456. package/dist/constants/prompts/autoMemory.js.map +0 -7
  457. package/dist/constants/prompts/codeConventions.js +0 -15
  458. package/dist/constants/prompts/codeConventions.js.map +0 -7
  459. package/dist/constants/prompts/doingTasks.js +0 -34
  460. package/dist/constants/prompts/doingTasks.js.map +0 -7
  461. package/dist/constants/prompts/envInfo.js +0 -16
  462. package/dist/constants/prompts/envInfo.js.map +0 -7
  463. package/dist/constants/prompts/executingWithCare.js +0 -17
  464. package/dist/constants/prompts/executingWithCare.js.map +0 -7
  465. package/dist/constants/prompts/identity.js +0 -10
  466. package/dist/constants/prompts/identity.js.map +0 -7
  467. package/dist/constants/prompts/index.js +0 -100
  468. package/dist/constants/prompts/index.js.map +0 -7
  469. package/dist/constants/prompts/taskManagement.js +0 -19
  470. package/dist/constants/prompts/taskManagement.js.map +0 -7
  471. package/dist/constants/prompts/teamOverlays.js +0 -50
  472. package/dist/constants/prompts/teamOverlays.js.map +0 -7
  473. package/dist/constants/prompts/toneAndStyle.js +0 -37
  474. package/dist/constants/prompts/toneAndStyle.js.map +0 -7
  475. package/dist/constants/prompts/toolUsagePolicy.js +0 -23
  476. package/dist/constants/prompts/toolUsagePolicy.js.map +0 -7
  477. package/dist/constants/prompts.js +0 -13
  478. package/dist/constants/prompts.js.map +0 -7
  479. package/dist/constants/providerRegistry.js +0 -235
  480. package/dist/constants/providerRegistry.js.map +0 -7
  481. package/dist/constants/providers.js +0 -35
  482. package/dist/constants/providers.js.map +0 -7
  483. package/dist/constants/releaseNotes.js +0 -9
  484. package/dist/constants/releaseNotes.js.map +0 -7
  485. package/dist/constants/symbols.js +0 -108
  486. package/dist/constants/symbols.js.map +0 -7
  487. package/dist/constants/timing.js +0 -39
  488. package/dist/constants/timing.js.map +0 -7
  489. package/dist/constants/toolInputExamples.js +0 -88
  490. package/dist/constants/toolInputExamples.js.map +0 -7
  491. package/dist/context/PermissionContext.js +0 -110
  492. package/dist/context/PermissionContext.js.map +0 -7
  493. package/dist/context.js +0 -367
  494. package/dist/context.js.map +0 -7
  495. package/dist/core/backupHook.js +0 -29
  496. package/dist/core/backupHook.js.map +0 -7
  497. package/dist/core/backupManager.js +0 -321
  498. package/dist/core/backupManager.js.map +0 -7
  499. package/dist/core/config/defaults.js +0 -93
  500. package/dist/core/config/defaults.js.map +0 -7
  501. package/dist/core/config/index.js +0 -111
  502. package/dist/core/config/index.js.map +0 -7
  503. package/dist/core/config/loader.js +0 -221
  504. package/dist/core/config/loader.js.map +0 -7
  505. package/dist/core/config/migrations.js +0 -128
  506. package/dist/core/config/migrations.js.map +0 -7
  507. package/dist/core/config/schema.js +0 -196
  508. package/dist/core/config/schema.js.map +0 -7
  509. package/dist/core/costTracker.js +0 -131
  510. package/dist/core/costTracker.js.map +0 -7
  511. package/dist/core/gitAutoCommit.js +0 -287
  512. package/dist/core/gitAutoCommit.js.map +0 -7
  513. package/dist/core/index.js +0 -7
  514. package/dist/core/index.js.map +0 -7
  515. package/dist/core/operationTracker.js +0 -212
  516. package/dist/core/operationTracker.js.map +0 -7
  517. package/dist/core/permissions/auditLog.js +0 -204
  518. package/dist/core/permissions/auditLog.js.map +0 -7
  519. package/dist/core/permissions/engine/index.js +0 -3
  520. package/dist/core/permissions/engine/index.js.map +0 -7
  521. package/dist/core/permissions/engine/permissionEngine.js +0 -106
  522. package/dist/core/permissions/engine/permissionEngine.js.map +0 -7
  523. package/dist/core/permissions/engine/types.js +0 -1
  524. package/dist/core/permissions/engine/types.js.map +0 -7
  525. package/dist/core/permissions/index.js +0 -84
  526. package/dist/core/permissions/index.js.map +0 -7
  527. package/dist/core/permissions/ruleEngine.js +0 -259
  528. package/dist/core/permissions/ruleEngine.js.map +0 -7
  529. package/dist/core/permissions/rules/allowedToolsRule.js +0 -62
  530. package/dist/core/permissions/rules/allowedToolsRule.js.map +0 -7
  531. package/dist/core/permissions/rules/autoEscalationRule.js +0 -296
  532. package/dist/core/permissions/rules/autoEscalationRule.js.map +0 -7
  533. package/dist/core/permissions/rules/index.js +0 -46
  534. package/dist/core/permissions/rules/index.js.map +0 -7
  535. package/dist/core/permissions/rules/planModeRule.js +0 -55
  536. package/dist/core/permissions/rules/planModeRule.js.map +0 -7
  537. package/dist/core/permissions/rules/projectBoundaryRule.js +0 -173
  538. package/dist/core/permissions/rules/projectBoundaryRule.js.map +0 -7
  539. package/dist/core/permissions/rules/safeModeRule.js +0 -65
  540. package/dist/core/permissions/rules/safeModeRule.js.map +0 -7
  541. package/dist/core/permissions/rules/sensitivePathsRule.js +0 -345
  542. package/dist/core/permissions/rules/sensitivePathsRule.js.map +0 -7
  543. package/dist/core/permissions/types.js +0 -127
  544. package/dist/core/permissions/types.js.map +0 -7
  545. package/dist/core/tokenStats.js +0 -9
  546. package/dist/core/tokenStats.js.map +0 -7
  547. package/dist/core/tokenStatsManager.js +0 -354
  548. package/dist/core/tokenStatsManager.js.map +0 -7
  549. package/dist/core/tools/executor.js +0 -143
  550. package/dist/core/tools/executor.js.map +0 -7
  551. package/dist/core/tools/index.js +0 -15
  552. package/dist/core/tools/index.js.map +0 -7
  553. package/dist/core/tools/registry.js +0 -183
  554. package/dist/core/tools/registry.js.map +0 -7
  555. package/dist/core/tools/types.js +0 -1
  556. package/dist/core/tools/types.js.map +0 -7
  557. package/dist/cost-tracker.js +0 -68
  558. package/dist/cost-tracker.js.map +0 -7
  559. package/dist/engine/AgentEngine.js +0 -902
  560. package/dist/engine/AgentEngine.js.map +0 -7
  561. package/dist/engine/EngineRegistry.js +0 -89
  562. package/dist/engine/EngineRegistry.js.map +0 -7
  563. package/dist/engine/foregroundAdapter.js +0 -191
  564. package/dist/engine/foregroundAdapter.js.map +0 -7
  565. package/dist/engine/index.js +0 -15
  566. package/dist/engine/index.js.map +0 -7
  567. package/dist/engine/types.js +0 -1
  568. package/dist/engine/types.js.map +0 -7
  569. package/dist/entrypoints/bootstrap.js +0 -56
  570. package/dist/entrypoints/bootstrap.js.map +0 -7
  571. package/dist/entrypoints/cli.js +0 -1721
  572. package/dist/entrypoints/cli.js.map +0 -7
  573. package/dist/entrypoints/mcp.js +0 -153
  574. package/dist/entrypoints/mcp.js.map +0 -7
  575. package/dist/history.js +0 -96
  576. package/dist/history.js.map +0 -7
  577. package/dist/hooks/useAgentEngine.js +0 -129
  578. package/dist/hooks/useAgentEngine.js.map +0 -7
  579. package/dist/hooks/useAgentTokenStats.js +0 -56
  580. package/dist/hooks/useAgentTokenStats.js.map +0 -7
  581. package/dist/hooks/useAgentTranscripts.js +0 -141
  582. package/dist/hooks/useAgentTranscripts.js.map +0 -7
  583. package/dist/hooks/useAnimationSync.js +0 -53
  584. package/dist/hooks/useAnimationSync.js.map +0 -7
  585. package/dist/hooks/useApiKeyVerification.js +0 -12
  586. package/dist/hooks/useApiKeyVerification.js.map +0 -7
  587. package/dist/hooks/useArrowKeyHistory.js +0 -52
  588. package/dist/hooks/useArrowKeyHistory.js.map +0 -7
  589. package/dist/hooks/useAskUser.js +0 -24
  590. package/dist/hooks/useAskUser.js.map +0 -7
  591. package/dist/hooks/useBackgroundShells.js +0 -29
  592. package/dist/hooks/useBackgroundShells.js.map +0 -7
  593. package/dist/hooks/useCanUseTool.js +0 -134
  594. package/dist/hooks/useCanUseTool.js.map +0 -7
  595. package/dist/hooks/useDeferredLoading.js +0 -67
  596. package/dist/hooks/useDeferredLoading.js.map +0 -7
  597. package/dist/hooks/useDoublePress.js +0 -31
  598. package/dist/hooks/useDoublePress.js.map +0 -7
  599. package/dist/hooks/useExitOnCtrlCD.js +0 -30
  600. package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
  601. package/dist/hooks/useHistorySearch.js +0 -62
  602. package/dist/hooks/useHistorySearch.js.map +0 -7
  603. package/dist/hooks/useHookStatus.js +0 -40
  604. package/dist/hooks/useHookStatus.js.map +0 -7
  605. package/dist/hooks/useIdleNotifications.js +0 -66
  606. package/dist/hooks/useIdleNotifications.js.map +0 -7
  607. package/dist/hooks/useInterval.js +0 -18
  608. package/dist/hooks/useInterval.js.map +0 -7
  609. package/dist/hooks/useLogMessages.js +0 -41
  610. package/dist/hooks/useLogMessages.js.map +0 -7
  611. package/dist/hooks/useLogStartupTime.js +0 -10
  612. package/dist/hooks/useLogStartupTime.js.map +0 -7
  613. package/dist/hooks/useMessageGroups.js +0 -43
  614. package/dist/hooks/useMessageGroups.js.map +0 -7
  615. package/dist/hooks/useNotifyAfterTimeout.js +0 -42
  616. package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
  617. package/dist/hooks/usePermissionRequestLogging.js +0 -23
  618. package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
  619. package/dist/hooks/useSessionTracking.js +0 -57
  620. package/dist/hooks/useSessionTracking.js.map +0 -7
  621. package/dist/hooks/useTeamMembers.js +0 -51
  622. package/dist/hooks/useTeamMembers.js.map +0 -7
  623. package/dist/hooks/useTerminalSize.js +0 -115
  624. package/dist/hooks/useTerminalSize.js.map +0 -7
  625. package/dist/hooks/useTextInput.js +0 -253
  626. package/dist/hooks/useTextInput.js.map +0 -7
  627. package/dist/hooks/useUnifiedCompletion.js +0 -1098
  628. package/dist/hooks/useUnifiedCompletion.js.map +0 -7
  629. package/dist/i18n/index.js +0 -109
  630. package/dist/i18n/index.js.map +0 -7
  631. package/dist/i18n/locales/en.js +0 -993
  632. package/dist/i18n/locales/en.js.map +0 -7
  633. package/dist/i18n/locales/index.js +0 -7
  634. package/dist/i18n/locales/index.js.map +0 -7
  635. package/dist/i18n/locales/zh-CN.js +0 -993
  636. package/dist/i18n/locales/zh-CN.js.map +0 -7
  637. package/dist/i18n/types.js +0 -8
  638. package/dist/i18n/types.js.map +0 -7
  639. package/dist/index.js +0 -5
  640. package/dist/index.js.map +0 -7
  641. package/dist/messages.js +0 -68
  642. package/dist/messages.js.map +0 -7
  643. package/dist/package.json +0 -4
  644. package/dist/permissions.js +0 -536
  645. package/dist/permissions.js.map +0 -7
  646. package/dist/query.js +0 -851
  647. package/dist/query.js.map +0 -7
  648. package/dist/screens/LogList.js +0 -55
  649. package/dist/screens/LogList.js.map +0 -7
  650. package/dist/screens/REPL.js +0 -1240
  651. package/dist/screens/REPL.js.map +0 -7
  652. package/dist/screens/ResumeConversation.js +0 -244
  653. package/dist/screens/ResumeConversation.js.map +0 -7
  654. package/dist/services/adapters/base.js +0 -29
  655. package/dist/services/adapters/base.js.map +0 -7
  656. package/dist/services/adapters/chatCompletions.js +0 -71
  657. package/dist/services/adapters/chatCompletions.js.map +0 -7
  658. package/dist/services/adapters/messageNormalizer.js +0 -354
  659. package/dist/services/adapters/messageNormalizer.js.map +0 -7
  660. package/dist/services/adapters/responsesAPI.js +0 -137
  661. package/dist/services/adapters/responsesAPI.js.map +0 -7
  662. package/dist/services/agentTeams/backends/headless.js +0 -108
  663. package/dist/services/agentTeams/backends/headless.js.map +0 -7
  664. package/dist/services/agentTeams/backends/inProcess.js +0 -102
  665. package/dist/services/agentTeams/backends/inProcess.js.map +0 -7
  666. package/dist/services/agentTeams/backends/resolver.js +0 -18
  667. package/dist/services/agentTeams/backends/resolver.js.map +0 -7
  668. package/dist/services/agentTeams/backends/tmux.js +0 -168
  669. package/dist/services/agentTeams/backends/tmux.js.map +0 -7
  670. package/dist/services/agentTeams/backends/types.js +0 -1
  671. package/dist/services/agentTeams/backends/types.js.map +0 -7
  672. package/dist/services/agentTeams/heartbeat.js +0 -88
  673. package/dist/services/agentTeams/heartbeat.js.map +0 -7
  674. package/dist/services/agentTeams/index.js +0 -75
  675. package/dist/services/agentTeams/index.js.map +0 -7
  676. package/dist/services/agentTeams/injectionChannel.js +0 -105
  677. package/dist/services/agentTeams/injectionChannel.js.map +0 -7
  678. package/dist/services/agentTeams/mailbox.js +0 -494
  679. package/dist/services/agentTeams/mailbox.js.map +0 -7
  680. package/dist/services/agentTeams/messageFormatter.js +0 -80
  681. package/dist/services/agentTeams/messageFormatter.js.map +0 -7
  682. package/dist/services/agentTeams/permissionDelegation.js +0 -71
  683. package/dist/services/agentTeams/permissionDelegation.js.map +0 -7
  684. package/dist/services/agentTeams/teamEvents.js +0 -45
  685. package/dist/services/agentTeams/teamEvents.js.map +0 -7
  686. package/dist/services/agentTeams/teamManager.js +0 -366
  687. package/dist/services/agentTeams/teamManager.js.map +0 -7
  688. package/dist/services/agentTeams/teamTaskStore.js +0 -343
  689. package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
  690. package/dist/services/agentTeams/teammateSpawner.js +0 -161
  691. package/dist/services/agentTeams/teammateSpawner.js.map +0 -7
  692. package/dist/services/checkpointManager.js +0 -399
  693. package/dist/services/checkpointManager.js.map +0 -7
  694. package/dist/services/claude.js +0 -41
  695. package/dist/services/claude.js.map +0 -7
  696. package/dist/services/compressionService.js +0 -259
  697. package/dist/services/compressionService.js.map +0 -7
  698. package/dist/services/contextMonitor.js +0 -162
  699. package/dist/services/contextMonitor.js.map +0 -7
  700. package/dist/services/customCommands.js +0 -489
  701. package/dist/services/customCommands.js.map +0 -7
  702. package/dist/services/fileFreshness.js +0 -275
  703. package/dist/services/fileFreshness.js.map +0 -7
  704. package/dist/services/gpt5ConnectionTest.js +0 -263
  705. package/dist/services/gpt5ConnectionTest.js.map +0 -7
  706. package/dist/services/hookExecutor.js +0 -771
  707. package/dist/services/hookExecutor.js.map +0 -7
  708. package/dist/services/intelligentCompactor.js +0 -281
  709. package/dist/services/intelligentCompactor.js.map +0 -7
  710. package/dist/services/llm/anthropicProvider.js +0 -804
  711. package/dist/services/llm/anthropicProvider.js.map +0 -7
  712. package/dist/services/llm/dispatch.js +0 -237
  713. package/dist/services/llm/dispatch.js.map +0 -7
  714. package/dist/services/llm/index.js +0 -44
  715. package/dist/services/llm/index.js.map +0 -7
  716. package/dist/services/llm/mintoContext.js +0 -69
  717. package/dist/services/llm/mintoContext.js.map +0 -7
  718. package/dist/services/llm/openaiProvider.js +0 -601
  719. package/dist/services/llm/openaiProvider.js.map +0 -7
  720. package/dist/services/llm/types.js +0 -231
  721. package/dist/services/llm/types.js.map +0 -7
  722. package/dist/services/lspConfig.js +0 -109
  723. package/dist/services/lspConfig.js.map +0 -7
  724. package/dist/services/mainAgentCompressor.js +0 -84
  725. package/dist/services/mainAgentCompressor.js.map +0 -7
  726. package/dist/services/mcpClient.js +0 -997
  727. package/dist/services/mcpClient.js.map +0 -7
  728. package/dist/services/mcpServerApproval.js +0 -55
  729. package/dist/services/mcpServerApproval.js.map +0 -7
  730. package/dist/services/mentionProcessor.js +0 -214
  731. package/dist/services/mentionProcessor.js.map +0 -7
  732. package/dist/services/mintoAuth.js +0 -299
  733. package/dist/services/mintoAuth.js.map +0 -7
  734. package/dist/services/modelAdapterFactory.js +0 -47
  735. package/dist/services/modelAdapterFactory.js.map +0 -7
  736. package/dist/services/modelOrchestrator.js +0 -310
  737. package/dist/services/modelOrchestrator.js.map +0 -7
  738. package/dist/services/notifier.js +0 -49
  739. package/dist/services/notifier.js.map +0 -7
  740. package/dist/services/oauth.js +0 -249
  741. package/dist/services/oauth.js.map +0 -7
  742. package/dist/services/openai.js +0 -1120
  743. package/dist/services/openai.js.map +0 -7
  744. package/dist/services/outputStyles.js +0 -219
  745. package/dist/services/outputStyles.js.map +0 -7
  746. package/dist/services/plugins/index.js +0 -5
  747. package/dist/services/plugins/index.js.map +0 -7
  748. package/dist/services/plugins/lspServers.js +0 -188
  749. package/dist/services/plugins/lspServers.js.map +0 -7
  750. package/dist/services/plugins/pluginRuntime.js +0 -236
  751. package/dist/services/plugins/pluginRuntime.js.map +0 -7
  752. package/dist/services/plugins/pluginValidation.js +0 -228
  753. package/dist/services/plugins/pluginValidation.js.map +0 -7
  754. package/dist/services/plugins/skillMarketplace.js +0 -567
  755. package/dist/services/plugins/skillMarketplace.js.map +0 -7
  756. package/dist/services/responseStateManager.js +0 -102
  757. package/dist/services/responseStateManager.js.map +0 -7
  758. package/dist/services/sandbox/filesystemBoundary.js +0 -341
  759. package/dist/services/sandbox/filesystemBoundary.js.map +0 -7
  760. package/dist/services/sandbox/index.js +0 -14
  761. package/dist/services/sandbox/index.js.map +0 -7
  762. package/dist/services/sandbox/networkProxy.js +0 -293
  763. package/dist/services/sandbox/networkProxy.js.map +0 -7
  764. package/dist/services/sandbox/sandboxController.js +0 -582
  765. package/dist/services/sandbox/sandboxController.js.map +0 -7
  766. package/dist/services/sandbox/types.js +0 -50
  767. package/dist/services/sandbox/types.js.map +0 -7
  768. package/dist/services/sentry.js +0 -9
  769. package/dist/services/sentry.js.map +0 -7
  770. package/dist/services/sessionMemory.js +0 -279
  771. package/dist/services/sessionMemory.js.map +0 -7
  772. package/dist/services/sessionMemoryInjector.js +0 -77
  773. package/dist/services/sessionMemoryInjector.js.map +0 -7
  774. package/dist/services/subagentAbortManager.js +0 -95
  775. package/dist/services/subagentAbortManager.js.map +0 -7
  776. package/dist/services/subagentCompressor.js +0 -146
  777. package/dist/services/subagentCompressor.js.map +0 -7
  778. package/dist/services/systemReminder.js +0 -815
  779. package/dist/services/systemReminder.js.map +0 -7
  780. package/dist/services/taskRouter.js +0 -324
  781. package/dist/services/taskRouter.js.map +0 -7
  782. package/dist/services/taskStore.js +0 -415
  783. package/dist/services/taskStore.js.map +0 -7
  784. package/dist/services/topicDetector.js +0 -169
  785. package/dist/services/topicDetector.js.map +0 -7
  786. package/dist/services/vcr.js +0 -133
  787. package/dist/services/vcr.js.map +0 -7
  788. package/dist/tools/ArchitectTool/ArchitectTool.js +0 -126
  789. package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
  790. package/dist/tools/ArchitectTool/prompt.js +0 -18
  791. package/dist/tools/ArchitectTool/prompt.js.map +0 -7
  792. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -420
  793. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
  794. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -158
  795. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +0 -7
  796. package/dist/tools/AskUserQuestionTool/index.js +0 -5
  797. package/dist/tools/AskUserQuestionTool/index.js.map +0 -7
  798. package/dist/tools/AskUserQuestionTool/prompt.js +0 -167
  799. package/dist/tools/AskUserQuestionTool/prompt.js.map +0 -7
  800. package/dist/tools/BaseTool.js +0 -72
  801. package/dist/tools/BaseTool.js.map +0 -7
  802. package/dist/tools/BashOutputTool/BashOutputTool.js +0 -120
  803. package/dist/tools/BashOutputTool/BashOutputTool.js.map +0 -7
  804. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +0 -14
  805. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +0 -7
  806. package/dist/tools/BashOutputTool/prompt.js +0 -13
  807. package/dist/tools/BashOutputTool/prompt.js.map +0 -7
  808. package/dist/tools/BashTool/BashTool.js +0 -353
  809. package/dist/tools/BashTool/BashTool.js.map +0 -7
  810. package/dist/tools/BashTool/BashToolResultMessage.js +0 -24
  811. package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
  812. package/dist/tools/BashTool/OutputLine.js +0 -84
  813. package/dist/tools/BashTool/OutputLine.js.map +0 -7
  814. package/dist/tools/BashTool/prompt.js +0 -496
  815. package/dist/tools/BashTool/prompt.js.map +0 -7
  816. package/dist/tools/BashTool/utils.js +0 -89
  817. package/dist/tools/BashTool/utils.js.map +0 -7
  818. package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js +0 -121
  819. package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js.map +0 -7
  820. package/dist/tools/EnterWorktreeTool/prompt.js +0 -22
  821. package/dist/tools/EnterWorktreeTool/prompt.js.map +0 -7
  822. package/dist/tools/FileEditTool/FileEditTool.js +0 -278
  823. package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
  824. package/dist/tools/FileEditTool/prompt.js +0 -56
  825. package/dist/tools/FileEditTool/prompt.js.map +0 -7
  826. package/dist/tools/FileEditTool/utils.js +0 -48
  827. package/dist/tools/FileEditTool/utils.js.map +0 -7
  828. package/dist/tools/FileReadTool/FileReadTool.js +0 -427
  829. package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
  830. package/dist/tools/FileReadTool/prompt.js +0 -24
  831. package/dist/tools/FileReadTool/prompt.js.map +0 -7
  832. package/dist/tools/FileWriteTool/FileWriteTool.js +0 -211
  833. package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
  834. package/dist/tools/FileWriteTool/prompt.js +0 -21
  835. package/dist/tools/FileWriteTool/prompt.js.map +0 -7
  836. package/dist/tools/GlobTool/GlobTool.js +0 -100
  837. package/dist/tools/GlobTool/GlobTool.js.map +0 -7
  838. package/dist/tools/GlobTool/prompt.js +0 -23
  839. package/dist/tools/GlobTool/prompt.js.map +0 -7
  840. package/dist/tools/GrepTool/GrepTool.js +0 -417
  841. package/dist/tools/GrepTool/GrepTool.js.map +0 -7
  842. package/dist/tools/GrepTool/prompt.js +0 -22
  843. package/dist/tools/GrepTool/prompt.js.map +0 -7
  844. package/dist/tools/KillShellTool/KillShellTool.js +0 -92
  845. package/dist/tools/KillShellTool/KillShellTool.js.map +0 -7
  846. package/dist/tools/KillShellTool/KillShellToolResultMessage.js +0 -14
  847. package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +0 -7
  848. package/dist/tools/KillShellTool/prompt.js +0 -12
  849. package/dist/tools/KillShellTool/prompt.js.map +0 -7
  850. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -109
  851. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +0 -7
  852. package/dist/tools/ListMcpResourcesTool/prompt.js +0 -19
  853. package/dist/tools/ListMcpResourcesTool/prompt.js.map +0 -7
  854. package/dist/tools/LspTool/LspTool.js +0 -673
  855. package/dist/tools/LspTool/LspTool.js.map +0 -7
  856. package/dist/tools/LspTool/prompt.js +0 -27
  857. package/dist/tools/LspTool/prompt.js.map +0 -7
  858. package/dist/tools/MCPSearchTool/MCPSearchTool.js +0 -172
  859. package/dist/tools/MCPSearchTool/MCPSearchTool.js.map +0 -7
  860. package/dist/tools/MCPSearchTool/prompt.js +0 -77
  861. package/dist/tools/MCPSearchTool/prompt.js.map +0 -7
  862. package/dist/tools/MCPTool/MCPTool.js +0 -97
  863. package/dist/tools/MCPTool/MCPTool.js.map +0 -7
  864. package/dist/tools/MCPTool/prompt.js +0 -7
  865. package/dist/tools/MCPTool/prompt.js.map +0 -7
  866. package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -117
  867. package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
  868. package/dist/tools/MemoryReadTool/prompt.js +0 -7
  869. package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
  870. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -78
  871. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
  872. package/dist/tools/MemoryWriteTool/prompt.js +0 -7
  873. package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
  874. package/dist/tools/MultiEditTool/MultiEditTool.js +0 -328
  875. package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
  876. package/dist/tools/MultiEditTool/prompt.js +0 -47
  877. package/dist/tools/MultiEditTool/prompt.js.map +0 -7
  878. package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -257
  879. package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
  880. package/dist/tools/NotebookEditTool/prompt.js +0 -7
  881. package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
  882. package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -218
  883. package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
  884. package/dist/tools/NotebookReadTool/prompt.js +0 -7
  885. package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
  886. package/dist/tools/PlanModeTool/EnterPlanModeTool.js +0 -85
  887. package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
  888. package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -164
  889. package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
  890. package/dist/tools/PlanModeTool/prompt.js +0 -43
  891. package/dist/tools/PlanModeTool/prompt.js.map +0 -7
  892. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -130
  893. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +0 -7
  894. package/dist/tools/ReadMcpResourceTool/prompt.js +0 -17
  895. package/dist/tools/ReadMcpResourceTool/prompt.js.map +0 -7
  896. package/dist/tools/SendMessageTool/SendMessageTool.js +0 -341
  897. package/dist/tools/SendMessageTool/SendMessageTool.js.map +0 -7
  898. package/dist/tools/SendMessageTool/prompt.js +0 -44
  899. package/dist/tools/SendMessageTool/prompt.js.map +0 -7
  900. package/dist/tools/SkillTool/SkillTool.js +0 -227
  901. package/dist/tools/SkillTool/SkillTool.js.map +0 -7
  902. package/dist/tools/SkillTool/prompt.js +0 -81
  903. package/dist/tools/SkillTool/prompt.js.map +0 -7
  904. package/dist/tools/SlashCommandTool/SlashCommandTool.js +0 -416
  905. package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +0 -7
  906. package/dist/tools/SlashCommandTool/prompt.js +0 -35
  907. package/dist/tools/SlashCommandTool/prompt.js.map +0 -7
  908. package/dist/tools/TaskCreateTool/TaskCreateTool.js +0 -102
  909. package/dist/tools/TaskCreateTool/TaskCreateTool.js.map +0 -7
  910. package/dist/tools/TaskCreateTool/prompt.js +0 -58
  911. package/dist/tools/TaskCreateTool/prompt.js.map +0 -7
  912. package/dist/tools/TaskGetTool/TaskGetTool.js +0 -115
  913. package/dist/tools/TaskGetTool/TaskGetTool.js.map +0 -7
  914. package/dist/tools/TaskGetTool/prompt.js +0 -28
  915. package/dist/tools/TaskGetTool/prompt.js.map +0 -7
  916. package/dist/tools/TaskListTool/TaskListTool.js +0 -102
  917. package/dist/tools/TaskListTool/TaskListTool.js.map +0 -7
  918. package/dist/tools/TaskListTool/prompt.js +0 -42
  919. package/dist/tools/TaskListTool/prompt.js.map +0 -7
  920. package/dist/tools/TaskOutputTool/TaskOutputTool.js +0 -190
  921. package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +0 -7
  922. package/dist/tools/TaskOutputTool/prompt.js +0 -16
  923. package/dist/tools/TaskOutputTool/prompt.js.map +0 -7
  924. package/dist/tools/TaskStopTool/TaskStopTool.js +0 -150
  925. package/dist/tools/TaskStopTool/TaskStopTool.js.map +0 -7
  926. package/dist/tools/TaskStopTool/prompt.js +0 -15
  927. package/dist/tools/TaskStopTool/prompt.js.map +0 -7
  928. package/dist/tools/TaskTool/TaskTool.js +0 -1525
  929. package/dist/tools/TaskTool/TaskTool.js.map +0 -7
  930. package/dist/tools/TaskTool/constants.js +0 -11
  931. package/dist/tools/TaskTool/constants.js.map +0 -7
  932. package/dist/tools/TaskTool/prompt.js +0 -121
  933. package/dist/tools/TaskTool/prompt.js.map +0 -7
  934. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -148
  935. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js.map +0 -7
  936. package/dist/tools/TaskUpdateTool/prompt.js +0 -81
  937. package/dist/tools/TaskUpdateTool/prompt.js.map +0 -7
  938. package/dist/tools/TeamCreateTool/TeamCreateTool.js +0 -129
  939. package/dist/tools/TeamCreateTool/TeamCreateTool.js.map +0 -7
  940. package/dist/tools/TeamCreateTool/prompt.js +0 -58
  941. package/dist/tools/TeamCreateTool/prompt.js.map +0 -7
  942. package/dist/tools/TeamDeleteTool/TeamDeleteTool.js +0 -151
  943. package/dist/tools/TeamDeleteTool/TeamDeleteTool.js.map +0 -7
  944. package/dist/tools/TeamDeleteTool/prompt.js +0 -16
  945. package/dist/tools/TeamDeleteTool/prompt.js.map +0 -7
  946. package/dist/tools/ThinkTool/ThinkTool.js +0 -45
  947. package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
  948. package/dist/tools/ThinkTool/prompt.js +0 -16
  949. package/dist/tools/ThinkTool/prompt.js.map +0 -7
  950. package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -232
  951. package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
  952. package/dist/tools/TodoWriteTool/prompt.js +0 -87
  953. package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
  954. package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -234
  955. package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
  956. package/dist/tools/URLFetcherTool/cache.js +0 -95
  957. package/dist/tools/URLFetcherTool/cache.js.map +0 -7
  958. package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -44
  959. package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
  960. package/dist/tools/URLFetcherTool/prompt.js +0 -28
  961. package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
  962. package/dist/tools/WebSearchTool/WebSearchTool.js +0 -92
  963. package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
  964. package/dist/tools/WebSearchTool/prompt.js +0 -24
  965. package/dist/tools/WebSearchTool/prompt.js.map +0 -7
  966. package/dist/tools/WebSearchTool/searchProviders.js +0 -58
  967. package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
  968. package/dist/tools/lsTool/lsTool.js +0 -201
  969. package/dist/tools/lsTool/lsTool.js.map +0 -7
  970. package/dist/tools/lsTool/prompt.js +0 -5
  971. package/dist/tools/lsTool/prompt.js.map +0 -7
  972. package/dist/tools.js +0 -207
  973. package/dist/tools.js.map +0 -7
  974. package/dist/types/PermissionMode.js +0 -160
  975. package/dist/types/PermissionMode.js.map +0 -7
  976. package/dist/types/RequestContext.js +0 -47
  977. package/dist/types/RequestContext.js.map +0 -7
  978. package/dist/types/agentTeams.js +0 -1
  979. package/dist/types/agentTeams.js.map +0 -7
  980. package/dist/types/askUserQuestion.js +0 -1
  981. package/dist/types/askUserQuestion.js.map +0 -7
  982. package/dist/types/common.d.js +0 -1
  983. package/dist/types/common.d.js.map +0 -7
  984. package/dist/types/conversation.js +0 -1
  985. package/dist/types/conversation.js.map +0 -7
  986. package/dist/types/core.js +0 -1
  987. package/dist/types/core.js.map +0 -7
  988. package/dist/types/hooks.js +0 -47
  989. package/dist/types/hooks.js.map +0 -7
  990. package/dist/types/interactionRound.js +0 -1
  991. package/dist/types/interactionRound.js.map +0 -7
  992. package/dist/types/logs.js +0 -1
  993. package/dist/types/logs.js.map +0 -7
  994. package/dist/types/marketplace.js +0 -107
  995. package/dist/types/marketplace.js.map +0 -7
  996. package/dist/types/messageGroup.js +0 -36
  997. package/dist/types/messageGroup.js.map +0 -7
  998. package/dist/types/modelCapabilities.js +0 -1
  999. package/dist/types/modelCapabilities.js.map +0 -7
  1000. package/dist/types/notebook.js +0 -1
  1001. package/dist/types/notebook.js.map +0 -7
  1002. package/dist/types/plugin.js +0 -86
  1003. package/dist/types/plugin.js.map +0 -7
  1004. package/dist/types/subagent.js +0 -1
  1005. package/dist/types/subagent.js.map +0 -7
  1006. package/dist/types/thinking.js +0 -1
  1007. package/dist/types/thinking.js.map +0 -7
  1008. package/dist/utils/BackgroundShellManager.js +0 -378
  1009. package/dist/utils/BackgroundShellManager.js.map +0 -7
  1010. package/dist/utils/CircuitBreaker.js +0 -248
  1011. package/dist/utils/CircuitBreaker.js.map +0 -7
  1012. package/dist/utils/Cursor.js +0 -315
  1013. package/dist/utils/Cursor.js.map +0 -7
  1014. package/dist/utils/MessageBatchBuffer.js +0 -102
  1015. package/dist/utils/MessageBatchBuffer.js.map +0 -7
  1016. package/dist/utils/PersistentShell.js +0 -526
  1017. package/dist/utils/PersistentShell.js.map +0 -7
  1018. package/dist/utils/advancedFuzzyMatcher.js +0 -209
  1019. package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
  1020. package/dist/utils/agentHookExecutor.js +0 -103
  1021. package/dist/utils/agentHookExecutor.js.map +0 -7
  1022. package/dist/utils/agentLoader.js +0 -655
  1023. package/dist/utils/agentLoader.js.map +0 -7
  1024. package/dist/utils/agentMemory.js +0 -134
  1025. package/dist/utils/agentMemory.js.map +0 -7
  1026. package/dist/utils/agentStorage.js +0 -59
  1027. package/dist/utils/agentStorage.js.map +0 -7
  1028. package/dist/utils/agentTranscripts.js +0 -641
  1029. package/dist/utils/agentTranscripts.js.map +0 -7
  1030. package/dist/utils/animationManager.js +0 -250
  1031. package/dist/utils/animationManager.js.map +0 -7
  1032. package/dist/utils/animationSync.js +0 -110
  1033. package/dist/utils/animationSync.js.map +0 -7
  1034. package/dist/utils/array.js +0 -7
  1035. package/dist/utils/array.js.map +0 -7
  1036. package/dist/utils/ask.js +0 -80
  1037. package/dist/utils/ask.js.map +0 -7
  1038. package/dist/utils/async.js +0 -167
  1039. package/dist/utils/async.js.map +0 -7
  1040. package/dist/utils/asyncFile.js +0 -215
  1041. package/dist/utils/asyncFile.js.map +0 -7
  1042. package/dist/utils/atomicWrite.js +0 -23
  1043. package/dist/utils/atomicWrite.js.map +0 -7
  1044. package/dist/utils/auth.js +0 -11
  1045. package/dist/utils/auth.js.map +0 -7
  1046. package/dist/utils/autoCompactCore.js +0 -203
  1047. package/dist/utils/autoCompactCore.js.map +0 -7
  1048. package/dist/utils/autoMemoryPaths.js +0 -89
  1049. package/dist/utils/autoMemoryPaths.js.map +0 -7
  1050. package/dist/utils/autoUpdater.js +0 -113
  1051. package/dist/utils/autoUpdater.js.map +0 -7
  1052. package/dist/utils/backgroundAgentManager.js +0 -231
  1053. package/dist/utils/backgroundAgentManager.js.map +0 -7
  1054. package/dist/utils/browser.js +0 -15
  1055. package/dist/utils/browser.js.map +0 -7
  1056. package/dist/utils/claudeCodeSync.js +0 -439
  1057. package/dist/utils/claudeCodeSync.js.map +0 -7
  1058. package/dist/utils/cleanup.js +0 -54
  1059. package/dist/utils/cleanup.js.map +0 -7
  1060. package/dist/utils/commands.js +0 -219
  1061. package/dist/utils/commands.js.map +0 -7
  1062. package/dist/utils/commonUnixCommands.js +0 -689
  1063. package/dist/utils/commonUnixCommands.js.map +0 -7
  1064. package/dist/utils/compressionMode.js +0 -47
  1065. package/dist/utils/compressionMode.js.map +0 -7
  1066. package/dist/utils/config.js +0 -716
  1067. package/dist/utils/config.js.map +0 -7
  1068. package/dist/utils/configPaths.js +0 -199
  1069. package/dist/utils/configPaths.js.map +0 -7
  1070. package/dist/utils/configSchema.js +0 -232
  1071. package/dist/utils/configSchema.js.map +0 -7
  1072. package/dist/utils/conversationRecovery.js +0 -54
  1073. package/dist/utils/conversationRecovery.js.map +0 -7
  1074. package/dist/utils/credentials/CredentialStore.js +0 -1
  1075. package/dist/utils/credentials/CredentialStore.js.map +0 -7
  1076. package/dist/utils/credentials/EncryptedFileStore.js +0 -157
  1077. package/dist/utils/credentials/EncryptedFileStore.js.map +0 -7
  1078. package/dist/utils/credentials/index.js +0 -51
  1079. package/dist/utils/credentials/index.js.map +0 -7
  1080. package/dist/utils/credentials/migration.js +0 -82
  1081. package/dist/utils/credentials/migration.js.map +0 -7
  1082. package/dist/utils/debugLogger.js +0 -889
  1083. package/dist/utils/debugLogger.js.map +0 -7
  1084. package/dist/utils/diff.js +0 -32
  1085. package/dist/utils/diff.js.map +0 -7
  1086. package/dist/utils/dualPath.js +0 -24
  1087. package/dist/utils/dualPath.js.map +0 -7
  1088. package/dist/utils/env.js +0 -45
  1089. package/dist/utils/env.js.map +0 -7
  1090. package/dist/utils/envConfig.js +0 -116
  1091. package/dist/utils/envConfig.js.map +0 -7
  1092. package/dist/utils/errorHandling.js +0 -89
  1093. package/dist/utils/errorHandling.js.map +0 -7
  1094. package/dist/utils/errors.js +0 -23
  1095. package/dist/utils/errors.js.map +0 -7
  1096. package/dist/utils/execFileNoThrow.js +0 -45
  1097. package/dist/utils/execFileNoThrow.js.map +0 -7
  1098. package/dist/utils/exit.js +0 -132
  1099. package/dist/utils/exit.js.map +0 -7
  1100. package/dist/utils/expertChatStorage.js +0 -78
  1101. package/dist/utils/expertChatStorage.js.map +0 -7
  1102. package/dist/utils/externalEditor.js +0 -155
  1103. package/dist/utils/externalEditor.js.map +0 -7
  1104. package/dist/utils/file.js +0 -282
  1105. package/dist/utils/file.js.map +0 -7
  1106. package/dist/utils/fileLock.js +0 -67
  1107. package/dist/utils/fileLock.js.map +0 -7
  1108. package/dist/utils/fileRecoveryCore.js +0 -41
  1109. package/dist/utils/fileRecoveryCore.js.map +0 -7
  1110. package/dist/utils/format.js +0 -119
  1111. package/dist/utils/format.js.map +0 -7
  1112. package/dist/utils/fuzzyMatcher.js +0 -258
  1113. package/dist/utils/fuzzyMatcher.js.map +0 -7
  1114. package/dist/utils/generators.js +0 -116
  1115. package/dist/utils/generators.js.map +0 -7
  1116. package/dist/utils/git.js +0 -83
  1117. package/dist/utils/git.js.map +0 -7
  1118. package/dist/utils/globalErrorHandler.js +0 -58
  1119. package/dist/utils/globalErrorHandler.js.map +0 -7
  1120. package/dist/utils/gpt5.js +0 -146
  1121. package/dist/utils/gpt5.js.map +0 -7
  1122. package/dist/utils/groupHandlers/index.js +0 -8
  1123. package/dist/utils/groupHandlers/index.js.map +0 -7
  1124. package/dist/utils/groupHandlers/parallelTasksHandler.js +0 -142
  1125. package/dist/utils/groupHandlers/parallelTasksHandler.js.map +0 -7
  1126. package/dist/utils/groupHandlers/taskHandler.js +0 -104
  1127. package/dist/utils/groupHandlers/taskHandler.js.map +0 -7
  1128. package/dist/utils/groupHandlers/types.js +0 -1
  1129. package/dist/utils/groupHandlers/types.js.map +0 -7
  1130. package/dist/utils/historyManager.js +0 -234
  1131. package/dist/utils/historyManager.js.map +0 -7
  1132. package/dist/utils/hookManager.js +0 -540
  1133. package/dist/utils/hookManager.js.map +0 -7
  1134. package/dist/utils/http.js +0 -7
  1135. package/dist/utils/http.js.map +0 -7
  1136. package/dist/utils/imagePaste.js +0 -29
  1137. package/dist/utils/imagePaste.js.map +0 -7
  1138. package/dist/utils/json.js +0 -16
  1139. package/dist/utils/json.js.map +0 -7
  1140. package/dist/utils/log.js +0 -333
  1141. package/dist/utils/log.js.map +0 -7
  1142. package/dist/utils/logRotation.js +0 -224
  1143. package/dist/utils/logRotation.js.map +0 -7
  1144. package/dist/utils/markdown.js +0 -464
  1145. package/dist/utils/markdown.js.map +0 -7
  1146. package/dist/utils/marketplaceManager.js +0 -545
  1147. package/dist/utils/marketplaceManager.js.map +0 -7
  1148. package/dist/utils/memSafety.js +0 -264
  1149. package/dist/utils/memSafety.js.map +0 -7
  1150. package/dist/utils/memoizeWithTTL.js +0 -25
  1151. package/dist/utils/memoizeWithTTL.js.map +0 -7
  1152. package/dist/utils/messageContextManager.js +0 -208
  1153. package/dist/utils/messageContextManager.js.map +0 -7
  1154. package/dist/utils/messageGroupManager.js +0 -274
  1155. package/dist/utils/messageGroupManager.js.map +0 -7
  1156. package/dist/utils/messages.js +0 -725
  1157. package/dist/utils/messages.js.map +0 -7
  1158. package/dist/utils/migration/index.js +0 -37
  1159. package/dist/utils/migration/index.js.map +0 -7
  1160. package/dist/utils/migration/migrateHistory.js +0 -273
  1161. package/dist/utils/migration/migrateHistory.js.map +0 -7
  1162. package/dist/utils/migration/migrateTodos.js +0 -323
  1163. package/dist/utils/migration/migrateTodos.js.map +0 -7
  1164. package/dist/utils/model.js +0 -846
  1165. package/dist/utils/model.js.map +0 -7
  1166. package/dist/utils/pasteCache.js +0 -313
  1167. package/dist/utils/pasteCache.js.map +0 -7
  1168. package/dist/utils/permissions/filesystem.js +0 -236
  1169. package/dist/utils/permissions/filesystem.js.map +0 -7
  1170. package/dist/utils/plan/planMode.js +0 -143
  1171. package/dist/utils/plan/planMode.js.map +0 -7
  1172. package/dist/utils/pluginInstaller.js +0 -518
  1173. package/dist/utils/pluginInstaller.js.map +0 -7
  1174. package/dist/utils/pluginLoader.js +0 -819
  1175. package/dist/utils/pluginLoader.js.map +0 -7
  1176. package/dist/utils/pluginRegistry.js +0 -111
  1177. package/dist/utils/pluginRegistry.js.map +0 -7
  1178. package/dist/utils/pluginValidator.js +0 -798
  1179. package/dist/utils/pluginValidator.js.map +0 -7
  1180. package/dist/utils/ptyCompat.js +0 -125
  1181. package/dist/utils/ptyCompat.js.map +0 -7
  1182. package/dist/utils/replStateMachine.js +0 -145
  1183. package/dist/utils/replStateMachine.js.map +0 -7
  1184. package/dist/utils/repoFetcher.js +0 -110
  1185. package/dist/utils/repoFetcher.js.map +0 -7
  1186. package/dist/utils/ripgrep.js +0 -236
  1187. package/dist/utils/ripgrep.js.map +0 -7
  1188. package/dist/utils/roundConverter.js +0 -262
  1189. package/dist/utils/roundConverter.js.map +0 -7
  1190. package/dist/utils/safeFetch.js +0 -45
  1191. package/dist/utils/safeFetch.js.map +0 -7
  1192. package/dist/utils/safePath.js +0 -132
  1193. package/dist/utils/safePath.js.map +0 -7
  1194. package/dist/utils/sanitizeInput.js +0 -32
  1195. package/dist/utils/sanitizeInput.js.map +0 -7
  1196. package/dist/utils/secureFile.js +0 -512
  1197. package/dist/utils/secureFile.js.map +0 -7
  1198. package/dist/utils/secureKeyStorage.js +0 -341
  1199. package/dist/utils/secureKeyStorage.js.map +0 -7
  1200. package/dist/utils/sensitiveFiles.js +0 -125
  1201. package/dist/utils/sensitiveFiles.js.map +0 -7
  1202. package/dist/utils/session/sessionPlugins.js +0 -67
  1203. package/dist/utils/session/sessionPlugins.js.map +0 -7
  1204. package/dist/utils/sessionIndex.js +0 -192
  1205. package/dist/utils/sessionIndex.js.map +0 -7
  1206. package/dist/utils/sessionState.js +0 -22
  1207. package/dist/utils/sessionState.js.map +0 -7
  1208. package/dist/utils/sessionTracker.js +0 -170
  1209. package/dist/utils/sessionTracker.js.map +0 -7
  1210. package/dist/utils/simpleMode.js +0 -7
  1211. package/dist/utils/simpleMode.js.map +0 -7
  1212. package/dist/utils/skillLoader.js +0 -230
  1213. package/dist/utils/skillLoader.js.map +0 -7
  1214. package/dist/utils/state.js +0 -24
  1215. package/dist/utils/state.js.map +0 -7
  1216. package/dist/utils/stats.js +0 -417
  1217. package/dist/utils/stats.js.map +0 -7
  1218. package/dist/utils/streamingState.js +0 -62
  1219. package/dist/utils/streamingState.js.map +0 -7
  1220. package/dist/utils/stringSubstitution.js +0 -106
  1221. package/dist/utils/stringSubstitution.js.map +0 -7
  1222. package/dist/utils/style.js +0 -34
  1223. package/dist/utils/style.js.map +0 -7
  1224. package/dist/utils/taskDisplayUtils.js +0 -258
  1225. package/dist/utils/taskDisplayUtils.js.map +0 -7
  1226. package/dist/utils/teamConfig.js +0 -624
  1227. package/dist/utils/teamConfig.js.map +0 -7
  1228. package/dist/utils/terminal.js +0 -59
  1229. package/dist/utils/terminal.js.map +0 -7
  1230. package/dist/utils/theme.js +0 -134
  1231. package/dist/utils/theme.js.map +0 -7
  1232. package/dist/utils/thinking.js +0 -63
  1233. package/dist/utils/thinking.js.map +0 -7
  1234. package/dist/utils/todoChangeCalculator.js +0 -64
  1235. package/dist/utils/todoChangeCalculator.js.map +0 -7
  1236. package/dist/utils/todoStorage.js +0 -413
  1237. package/dist/utils/todoStorage.js.map +0 -7
  1238. package/dist/utils/tokenProgress.js +0 -55
  1239. package/dist/utils/tokenProgress.js.map +0 -7
  1240. package/dist/utils/tokens.js +0 -30
  1241. package/dist/utils/tokens.js.map +0 -7
  1242. package/dist/utils/toolExecutionController.js +0 -109
  1243. package/dist/utils/toolExecutionController.js.map +0 -7
  1244. package/dist/utils/toolRiskClassification.js +0 -210
  1245. package/dist/utils/toolRiskClassification.js.map +0 -7
  1246. package/dist/utils/toolTimeout.js +0 -136
  1247. package/dist/utils/toolTimeout.js.map +0 -7
  1248. package/dist/utils/tooling/safeRender.js +0 -115
  1249. package/dist/utils/tooling/safeRender.js.map +0 -7
  1250. package/dist/utils/tooling/toolError.js +0 -12
  1251. package/dist/utils/tooling/toolError.js.map +0 -7
  1252. package/dist/utils/unaryLogging.js +0 -6
  1253. package/dist/utils/unaryLogging.js.map +0 -7
  1254. package/dist/utils/user.js +0 -40
  1255. package/dist/utils/user.js.map +0 -7
  1256. package/dist/utils/userFriendlyError.js +0 -346
  1257. package/dist/utils/userFriendlyError.js.map +0 -7
  1258. package/dist/utils/validate.js +0 -132
  1259. package/dist/utils/validate.js.map +0 -7
  1260. package/dist/version.js +0 -7
  1261. package/dist/version.js.map +0 -7
  1262. package/dist/yoga.wasm +0 -0
  1263. /package/{dist/utils/vendor → vendor}/ripgrep/arm64-darwin/rg +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/entrypoints/cli.tsx"],
4
- "sourcesContent": ["#!/usr/bin/env -S node --no-warnings=ExperimentalWarning --enable-source-maps\n\n/**\n * Minto CLI Main Entry Point\n *\n * NOTE: This module is loaded via dynamic import from bootstrap.ts.\n * The following initializations are handled in bootstrap.ts BEFORE this loads:\n * - process.env.DEV = 'false' (prevents Ink devtools loading)\n * - EventEmitter.defaultMaxListeners = 20 (prevents listener warnings)\n * - YOGA_WASM_PATH (Ink layout engine WASM path)\n *\n * See bootstrap.ts for details on why these must happen before ESM imports.\n */\n\nimport { initSentry } from '@services/sentry'\nimport { PRODUCT_COMMAND, PRODUCT_NAME } from '@constants/product'\nimport { initGlobalErrorHandlers } from '@utils/globalErrorHandler'\n\ninitSentry() // Initialize Sentry as early as possible\ninitGlobalErrorHandlers() // Initialize global error handlers early\n\n// XXX: Without this line (and the Object.keys, even though it seems like it does nothing!),\n// there is a bug in Bun only on Win32 that causes this import to be removed, even though\n// its use is solely because of its side-effects.\nimport * as dontcare from '@anthropic-ai/sdk/shims/node'\nObject.keys(dontcare)\n\nimport React from 'react'\nimport { ReadStream } from 'tty'\nimport { existsSync, openSync } from 'fs'\n// ink and REPL are imported lazily to avoid top-level awaits during module init\nimport type { RenderOptions } from 'ink'\nimport { validateRawModeSupport, requireRawModeOrExit } from '@utils/ptyCompat'\nimport { addToHistory } from '@history'\nimport { getContext, setContext, removeContext } from '@context'\nimport { Command } from '@commander-js/extra-typings'\nimport { ask } from '@utils/ask'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { getBuiltInTools, getTools } from '@tools'\nimport {\n getGlobalConfig,\n getCurrentProjectConfig,\n saveGlobalConfig,\n saveCurrentProjectConfig,\n getCustomApiKeyStatus,\n normalizeApiKeyForConfig,\n setConfigForCLI,\n deleteConfigForCLI,\n getConfigForCLI,\n listConfigForCLI,\n enableConfigs,\n validateAndRepairAllGPT5Profiles,\n} from '@utils/config'\nimport { cwd } from 'process'\nimport { dateToFilename, logError, parseLogFilename } from '@utils/log'\nimport { initDebugLogger } from '@utils/debugLogger'\nimport {\n checkHasTrustDialogAccepted,\n McpServerConfig,\n type SafetyMode,\n} from '@utils/config'\nimport { isDefaultSlowAndCapableModel } from '@utils/model'\nimport { env } from '@utils/env'\nimport { getCwd, setCwd, setOriginalCwd } from '@utils/state'\nimport { omit } from 'lodash-es'\nimport { getBuiltInCommands, getCommands } from '@commands'\nimport { getNextAvailableLogForkNumber, loadLogList } from '@utils/log'\nimport { loadMessagesFromLog } from '@utils/conversationRecovery'\nimport { cleanupOldMessageFilesInBackground } from '@utils/cleanup'\nimport { runLogRotationInBackground, shouldRotate } from '@utils/logRotation'\n// Type-only imports (zero runtime cost, needed for type casts)\nimport type { MergeStrategy } from '@utils/teamConfig'\n\n// Lazy-loaded subcommand imports (loaded on-demand in .action() callbacks):\n// - @commands/approvedTools (approved-tools subcommand)\n// - @services/mcpClient (mcp subcommands, resume)\n// - @services/mcpServerApproval (setup screens)\n// - @utils/teamConfig (setup subcommand)\n// - @screens/LogList (log/error subcommands)\n// - @screens/ResumeConversation (resume subcommand)\n// - ./mcp (mcp serve subcommand)\n// - @components/Onboarding (onboarding flow)\n// - @components/TrustDialog (trust dialog flow)\n\nimport { cursorShow } from 'ansi-escapes'\nimport { assertMinVersion } from '@utils/autoUpdater'\nimport { ensureConfigDirs } from '@utils/configPaths'\nimport { runStartupMigration } from '@utils/migration'\nimport {\n initI18n,\n setLanguage,\n isLanguageSupported,\n type Language,\n} from '@i18n'\nimport { CACHE_PATHS } from '@utils/log'\n// import { checkAndNotifyUpdate } from '@utils/autoUpdater'\nimport { PersistentShell, onShellCrash } from '@utils/PersistentShell'\nimport { clearTerminal, prepareTerminalForREPL } from '@utils/terminal'\nimport { formatTotalCost } from '@costTracker'\nimport { setupExitHandlers } from '@utils/exit'\nimport { showInvalidConfigDialog } from '@components/InvalidConfigDialog'\nimport { ConfigParseError } from '@utils/errors'\nimport { grantReadPermissionForOriginalDir } from '@utils/permissions/filesystem'\nimport { MACRO } from '@constants/macros'\nimport { SEMANTIC_COLORS } from '@constants/colors'\n// @utils/claudeCodeSync is lazy-loaded in setup() where it's used conditionally\nexport function completeOnboarding(): void {\n const config = getGlobalConfig()\n saveGlobalConfig({\n ...config,\n hasCompletedOnboarding: true,\n lastOnboardingVersion: MACRO.VERSION,\n })\n}\n\nasync function showSetupScreens(\n safeMode?: boolean,\n print?: boolean,\n rawModeSupported?: boolean,\n): Promise<void> {\n if (process.env.NODE_ENV === 'test') {\n return\n }\n\n const config = getGlobalConfig()\n if (\n !config.theme ||\n !config.hasCompletedOnboarding // always show onboarding at least once\n ) {\n // \uD83D\uDD27 If raw mode is not supported, auto-skip onboarding with default config\n if (rawModeSupported === false) {\n console.log(\n '\u26A0\uFE0F Interactive onboarding is not supported in this terminal environment',\n )\n console.log('\u2728 Auto-configuring with default settings...')\n console.log('')\n\n // Apply default configuration\n saveGlobalConfig({\n ...config,\n theme: config.theme || 'dark', // Use dark theme as default\n hasCompletedOnboarding: true,\n lastOnboardingVersion: MACRO.VERSION,\n })\n\n console.log('\u2705 Configuration completed automatically')\n console.log(\n '\uD83D\uDCA1 You can customize settings later with: minto config set -g <key> <value>',\n )\n console.log('')\n return\n }\n\n await clearTerminal()\n const { render } = await import('ink')\n const { Onboarding } = await import('@components/Onboarding')\n await new Promise<void>(resolve => {\n render(\n <Onboarding\n onDone={async () => {\n completeOnboarding()\n await clearTerminal()\n resolve()\n }}\n />,\n {\n exitOnCtrlC: false,\n },\n )\n })\n }\n\n // In non-interactive mode, only show trust dialog in safe mode\n if (!print && safeMode) {\n if (!checkHasTrustDialogAccepted()) {\n // \uD83D\uDD27 If raw mode is not supported, auto-accept trust dialog\n if (rawModeSupported === false) {\n console.log('\u2728 Auto-granting read permissions for safe mode...')\n grantReadPermissionForOriginalDir()\n console.log('\u2705 Permissions granted')\n console.log('')\n } else {\n await new Promise<void>(resolve => {\n const onDone = () => {\n // Grant read permission to the current working directory\n grantReadPermissionForOriginalDir()\n resolve()\n }\n ;(async () => {\n const { render } = await import('ink')\n const { TrustDialog } = await import('@components/TrustDialog')\n render(<TrustDialog onDone={onDone} />, {\n exitOnCtrlC: false,\n })\n })()\n })\n }\n }\n\n // After trust dialog, check for any mcprc servers that need approval\n if (process.env.USER_TYPE === 'ant') {\n const { handleMcprcServerApprovals } = await import(\n '@services/mcpServerApproval'\n )\n await handleMcprcServerApprovals()\n }\n }\n}\n\nfunction logStartup(): void {\n const config = getGlobalConfig()\n saveGlobalConfig({\n ...config,\n numStartups: (config.numStartups ?? 0) + 1,\n })\n}\n\nasync function setup(cwd: string, safeMode?: boolean): Promise<void> {\n // Set both current and original working directory if --cwd was provided\n if (cwd !== process.cwd()) {\n setOriginalCwd(cwd)\n }\n await setCwd(cwd)\n\n // Always grant read permissions for original working dir\n grantReadPermissionForOriginalDir()\n\n // Start watching agent configuration files for changes\n const agentLoader = await import('@utils/agentLoader')\n const { startAgentWatcher, clearAgentCache } = agentLoader\n await startAgentWatcher(() => {\n // Cache is already cleared in the watcher, just log\n console.log('\u2705 Agent configurations hot-reloaded')\n })\n\n // If --safe mode is enabled, prevent root/sudo usage for security\n if (safeMode) {\n // Check if running as root/sudo on Unix-like systems\n if (\n process.platform !== 'win32' &&\n typeof process.getuid === 'function' &&\n process.getuid() === 0\n ) {\n console.error(\n `--safe mode cannot be used with root/sudo privileges for security reasons`,\n )\n process.exit(1)\n }\n }\n\n if (process.env.NODE_ENV === 'test') {\n return\n }\n\n cleanupOldMessageFilesInBackground()\n\n // Run log rotation if needed (in background, non-blocking)\n if (shouldRotate()) {\n runLogRotationInBackground()\n }\n\n getContext() // Pre-fetch all context data at once\n\n // Migrate old iterm2KeyBindingInstalled config to new shiftEnterKeyBindingInstalled\n const globalConfig = getGlobalConfig()\n if (\n globalConfig.iterm2KeyBindingInstalled === true &&\n globalConfig.shiftEnterKeyBindingInstalled !== true\n ) {\n const updatedConfig = {\n ...globalConfig,\n shiftEnterKeyBindingInstalled: true,\n }\n // Remove the old config property\n delete updatedConfig.iterm2KeyBindingInstalled\n saveGlobalConfig(updatedConfig)\n }\n\n // Check for last session's cost and duration\n const projectConfig = getCurrentProjectConfig()\n if (\n projectConfig.lastCost !== undefined &&\n projectConfig.lastDuration !== undefined\n ) {\n // Clear the values after logging\n // saveCurrentProjectConfig({\n // ...projectConfig,\n // lastCost: undefined,\n // lastAPIDuration: undefined,\n // lastDuration: undefined,\n // lastSessionId: undefined,\n // })\n }\n\n // Claude Code \u2192 Minto plugin auto-sync (fire-and-forget to avoid blocking startup)\n try {\n const cfg = getGlobalConfig()\n const {\n hasClaudeCodeInstallation,\n needsSync: needsCCSync,\n syncFromClaudeCode,\n } = await import('@utils/claudeCodeSync')\n if (hasClaudeCodeInstallation() && needsCCSync()) {\n const shouldSync =\n cfg.autoSyncClaudeCode === true || cfg.autoSyncClaudeCode === undefined\n if (shouldSync) {\n syncFromClaudeCode()\n .then(result => {\n const changed = result.installed.length + result.updated.length\n const mpRegistered = result.marketplaces.registered.length\n if (changed > 0 || mpRegistered > 0) {\n const parts = []\n if (changed > 0) {\n parts.push(\n `${changed} plugin(s) (${result.installed.length} new, ${result.updated.length} updated)`,\n )\n }\n if (mpRegistered > 0) {\n parts.push(`${mpRegistered} marketplace(s)`)\n }\n console.log(`Synced from Claude Code: ${parts.join(', ')}`)\n }\n if (cfg.autoSyncClaudeCode === undefined) {\n saveGlobalConfig({\n ...getGlobalConfig(),\n autoSyncClaudeCode: true,\n })\n }\n })\n .catch(() => {\n // Non-fatal: don't block startup if CC sync fails\n })\n }\n // autoSyncClaudeCode === false \u2192 skip\n }\n } catch {\n // Non-fatal: don't block startup if CC sync fails\n }\n\n // Skip interactive auto-updater permission prompts during startup\n // Users can still run the doctor command manually if desired.\n}\n\n// Global error handler for setRawMode failures (last line of defense)\nif (process.env.NODE_ENV !== 'test') {\n process.on('uncaughtException', (error: Error) => {\n // Only catch specific setRawMode/PTY errors to avoid masking other issues\n const isSetRawModeError =\n error.message?.includes('setRawMode') ||\n error.message?.includes('EIO') ||\n error.message?.includes('ENOTTY') ||\n (error as any).code === 'EIO' ||\n (error as any).code === 'ENOTTY'\n\n if (isSetRawModeError) {\n console.error('')\n console.error('\uD83D\uDCA5 Fatal: Terminal compatibility issue detected')\n console.error(` Error: ${error.message}`)\n console.error('')\n console.error('This error typically occurs in:')\n console.error(\n ' \u2022 Docker containers without proper TTY allocation (-it flags)',\n )\n console.error(' \u2022 VS Code integrated terminal (some configurations)')\n console.error(' \u2022 SSH sessions with incomplete TTY forwarding')\n console.error(' \u2022 Nested tmux/screen sessions')\n console.error(' \u2022 Terminal emulators with incomplete PTY support')\n console.error('')\n console.error('Quick solutions:')\n console.error(' 1. Use a native terminal application:')\n console.error(' macOS: Terminal.app, iTerm2')\n console.error(' Linux: GNOME Terminal, Konsole')\n console.error(' Windows: Windows Terminal')\n console.error('')\n console.error(' 2. Skip interactive setup:')\n console.error(' export ANTHROPIC_API_KEY=\"sk-ant-...\"')\n console.error(' minto config set -g hasCompletedOnboarding true')\n console.error('')\n console.error(' 3. Use non-interactive mode:')\n console.error(' minto --print \"your prompt\"')\n console.error('')\n process.exit(1)\n }\n\n // Re-throw other errors to maintain normal error handling\n throw error\n })\n}\n\n/**\n * Run as a headless teammate agent (no REPL UI).\n *\n * Launched by HeadlessBackend via child_process.fork().\n * Executes the agent query loop, checks inbox between turns,\n * listens for IPC abort/shutdown signals, and exits when done.\n */\nasync function runHeadlessAgent(options: {\n cwd: string\n teamName: string\n agentId: string\n agentName: string\n agentType: string\n prompt: string\n maxTurns?: number\n model?: string\n permissionMode?: string\n planModeRequired?: boolean\n agentColor?: string\n parentSessionId?: string\n}): Promise<void> {\n const {\n cwd: agentCwd,\n teamName,\n agentId,\n agentName,\n agentType,\n prompt,\n maxTurns,\n model,\n permissionMode,\n planModeRequired,\n agentColor,\n parentSessionId,\n } = options\n\n // Setup working directory\n await setCwd(agentCwd)\n\n // Initialize config system\n try {\n enableConfigs()\n } catch {\n // Non-fatal: continue with defaults\n }\n\n // Set environment for team discovery (MINTO_* + CLAUDE_CODE_* compat)\n process.env.MINTO_TEAM_NAME = teamName\n process.env.CLAUDE_CODE_TEAM_NAME = teamName\n process.env.MINTO_AGENT_ID = agentId\n process.env.CLAUDE_CODE_AGENT_ID = agentId\n process.env.MINTO_AGENT_TYPE = agentType\n process.env.CLAUDE_CODE_AGENT_TYPE = agentType\n process.env.MINTO_AGENT_NAME = agentName\n process.env.CLAUDE_CODE_AGENT_NAME = agentName\n process.env.MINTO_HEADLESS = '1'\n if (parentSessionId) process.env.MINTO_PARENT_SESSION_ID = parentSessionId\n if (agentColor) process.env.MINTO_AGENT_COLOR = agentColor\n if (planModeRequired) {\n process.env.MINTO_PLAN_MODE_REQUIRED = '1'\n process.env.CLAUDE_CODE_PLAN_MODE_REQUIRED = '1'\n }\n if (permissionMode) process.env.MINTO_AGENT_MODE = permissionMode\n\n // Load team mailbox and task store\n const { loadTeam, getTeam } = await import('@services/agentTeams/teamManager')\n const { markTeammateIdle } = await import(\n '@services/agentTeams/teammateSpawner'\n )\n loadTeam(teamName)\n\n // Build system prompt with team context\n const { getAgentPrompt } = await import('@constants/prompts')\n const { getContext } = await import('@context')\n const { getBuiltInTools } = await import('@tools')\n const { hasPermissionsToUseTool } = await import('@permissions')\n const { query } = await import('@query')\n const { createUserMessage } = await import('@utils/messages')\n const { getMaxThinkingTokens } = await import('@utils/thinking')\n const { dateToFilename } = await import('@utils/log')\n\n let teamDiscovery = ''\n const entry = getTeam(teamName)\n if (entry) {\n const otherMembers = entry.team.members\n .filter(m => m.id !== agentId && m.name !== agentName)\n .map(m => ` - ${m.name} (${m.agentType}): ${m.status}`)\n .join('\\n')\n if (otherMembers) {\n teamDiscovery = `\\nTeam members:\\n${otherMembers}`\n }\n }\n\n const teamContext = `\\n# Agent Teammate Communication\n\nYou are agent \"${agentName}\" in team \"${teamName}\".\n\n## CRITICAL: Reporting Results\n\n**You MUST use the SendMessage tool to report your results to the team lead.** Your text output is NOT visible to the team lead or any teammate. The ONLY way to deliver your findings is via SendMessage.\n\nWhen you finish your task:\n1. Use SendMessage with type \"message\", recipient \"team-lead\", and your findings as content\n2. Include a brief summary in the summary field\n3. Do NOT just output text \u2014 it will be lost\n\n## Communication\n\n- Use SendMessage with type \\`message\\` to send messages to specific teammates\n- Use SendMessage with type \\`broadcast\\` sparingly for team-wide announcements\n- Do NOT send acknowledgment messages (\"Got it\", \"\u5DF2\u6536\u5230\") \u2014 only send when you have actionable content\n- ALWAYS respond in the same language as the user's original request\n\nTeam: ${teamName}\nYour agent ID: ${agentId}\nYour agent type: ${agentType}${teamDiscovery}\n`\n // Wrap teamContext in <system-reminder> so UserPromptMessage filters it out\n const effectivePrompt =\n `<system-reminder>\\n${teamContext}\\n</system-reminder>\\n\\n` + prompt\n\n const messages: any[] = [createUserMessage(effectivePrompt)]\n // Use getBuiltInTools (not getTools) to avoid getMCPTools() which can hang\n // waiting for MCP server connections in a headless child process.\n const agentTools = await getBuiltInTools(false)\n const messageLogName = dateToFilename(new Date())\n\n // CLI arg takes priority, env var fallback for backward compatibility\n const agentModel = model || process.env.MINTO_AGENT_MODEL || 'task'\n\n const [taskPrompt, context, maxThinkingTokens] = await Promise.all([\n getAgentPrompt(),\n getContext(),\n getMaxThinkingTokens(messages),\n ])\n\n // Setup abort controller \u2014 listens for IPC signals from parent\n const abortController = new AbortController()\n\n process.on('message', (msg: any) => {\n if (msg?.type === 'abort' || msg?.type === 'shutdown') {\n abortController.abort()\n }\n })\n\n // Run the query loop\n let turnCount = 0\n\n try {\n for await (const message of query(\n messages,\n taskPrompt,\n context,\n hasPermissionsToUseTool,\n {\n abortController,\n messageId: undefined,\n options: {\n safeMode: false,\n tools: agentTools,\n commands: [] as any[],\n forkNumber: 0,\n messageLogName,\n verbose: false,\n maxThinkingTokens,\n model: agentModel,\n },\n readFileTimestamps: {},\n setToolJSX: () => {},\n },\n )) {\n messages.push(message)\n\n if (message.type !== 'assistant') continue\n\n // Inject pending team messages between turns\n if (entry) {\n const unread = entry.mailbox.getUnread(agentId)\n if (unread.length > 0) {\n const {\n formatTeamMessagesForInjection,\n humanizeProtocolMessage,\n } = require('@services/agentTeams/messageFormatter')\n // Humanize protocol JSON messages for readability\n const humanized = unread.map(m => {\n const friendly = humanizeProtocolMessage(m.text)\n return friendly ? { ...m, summary: friendly } : m\n })\n const deliveryText = formatTeamMessagesForInjection(humanized)\n messages.push(createUserMessage(deliveryText))\n entry.mailbox.markRead(unread.map(m => m.id))\n }\n }\n\n turnCount++\n if (maxTurns && turnCount >= maxTurns) break\n }\n } catch (error) {\n // Log error to stderr (piped to parent)\n console.error(\n `[headless-agent] ${agentId} error:`,\n error instanceof Error ? error.message : error,\n )\n }\n\n // Mark idle and notify team lead\n await markTeammateIdle(teamName, agentId, agentName).catch(() => {})\n\n process.exit(0)\n}\n\nasync function main() {\n // Initialize configuration directories before any config access\n // This ensures all required directories exist for config, logs, sessions, etc.\n const configDirsResult = ensureConfigDirs()\n if (configDirsResult.errors.length > 0) {\n // Log errors but don't fail - some directories may have permission issues\n for (const err of configDirsResult.errors) {\n console.warn(`\u26A0\uFE0F Config directory warning: ${err.path} - ${err.error}`)\n }\n }\n\n // Run startup migrations (e.g., migrate scattered todo files to new structure)\n // This is non-blocking and runs silently in the background\n runStartupMigration().catch(() => {\n // Migration errors are logged internally but don't block startup\n })\n\n // Initialize i18n system based on config\n const globalConfig = getGlobalConfig()\n const configLang = globalConfig.language\n if (configLang && isLanguageSupported(configLang)) {\n initI18n(configLang as Language)\n } else {\n initI18n('en') // Default to English\n }\n\n // \u521D\u59CB\u5316\u8C03\u8BD5\u65E5\u5FD7\u7CFB\u7EDF\n initDebugLogger()\n\n // Register shell crash listener to notify user\n onShellCrash((code, signal) => {\n console.error('')\n console.error(\n `\u26A0\uFE0F Shell process crashed unexpectedly (code: ${code}, signal: ${signal})`,\n )\n console.error(\n ' Bash commands may fail. Try running /clear or restart the CLI.',\n )\n console.error('')\n })\n\n // Validate configs are valid and enable configuration system\n try {\n enableConfigs()\n\n // \uD83D\uDD27 Validate and auto-repair GPT-5 model profiles\n try {\n const repairResult = validateAndRepairAllGPT5Profiles()\n if (repairResult.repaired > 0) {\n console.log(\n `\uD83D\uDD27 Auto-repaired ${repairResult.repaired} GPT-5 model configurations`,\n )\n }\n } catch (repairError) {\n // Don't block startup if GPT-5 validation fails\n console.warn('\u26A0\uFE0F GPT-5 configuration validation failed:', repairError)\n }\n } catch (error: unknown) {\n if (error instanceof ConfigParseError) {\n // Show the invalid config dialog with the error object\n await showInvalidConfigDialog({ error })\n return // Exit after handling the config error\n }\n }\n\n // Disabled background notifier to avoid mid-screen logs during REPL\n\n let inputPrompt = ''\n let renderContext: RenderOptions | undefined = {\n exitOnCtrlC: false,\n\n onFlicker() {},\n } as any\n\n if (\n !process.stdin.isTTY &&\n !process.env.CI &&\n // Input hijacking breaks MCP.\n !process.argv.includes('mcp') &&\n // Headless agents have piped stdin with no writer \u2014 reading would block forever.\n !process.env.MINTO_HEADLESS\n ) {\n inputPrompt = await stdin()\n if (process.platform !== 'win32') {\n try {\n const ttyFd = openSync('/dev/tty', 'r')\n renderContext = { ...renderContext, stdin: new ReadStream(ttyFd) }\n } catch (err) {\n logError(`Could not open /dev/tty: ${err}`)\n }\n }\n }\n\n // Headless agents skip all interactive checks \u2014 go straight to arg parsing\n if (process.env.MINTO_HEADLESS) {\n await parseArgs(inputPrompt, renderContext, false)\n return\n }\n\n // Validate raw mode support before starting interactive mode\n // This catches environments where isTTY=true but setRawMode fails (e.g., Docker, VS Code)\n const stdinStream = (renderContext?.stdin ||\n process.stdin) as NodeJS.ReadStream\n const rawModeCheck = validateRawModeSupport(stdinStream)\n\n // Store the check result in renderContext for components to use\n ;(renderContext as any).rawModeSupported = rawModeCheck.supported\n ;(renderContext as any).fallbackMode = !rawModeCheck.supported\n\n // Log warning if raw mode is not supported (but don't exit yet - some commands don't need it)\n if (!rawModeCheck.supported) {\n console.warn(\n '\u26A0\uFE0F Interactive mode unavailable: terminal does not support raw mode',\n )\n console.warn(` Reason: ${rawModeCheck.reason}`)\n if (rawModeCheck.environmentHint) {\n console.warn(` Environment: ${rawModeCheck.environmentHint}`)\n }\n console.warn(\n ' Note: Use --print for non-interactive mode or see error message if REPL fails',\n )\n console.warn('')\n }\n\n await parseArgs(inputPrompt, renderContext, rawModeCheck.supported)\n}\n\nasync function parseArgs(\n stdinContent: string,\n renderContext: RenderOptions | undefined,\n rawModeSupported?: boolean,\n): Promise<Command> {\n const program = new Command()\n\n const renderContextWithExitOnCtrlC = {\n ...renderContext,\n exitOnCtrlC: true,\n }\n\n // Get built-in commands synchronously for instant startup\n // Full commands (MCP, custom, plugin) are loaded in REPL background\n const commands = getBuiltInCommands()\n\n // Format command list for help text (using same filter as in help.ts)\n const commandList = commands\n .filter(cmd => !cmd.isHidden)\n .map(cmd => `/${cmd.name} - ${cmd.description}`)\n .join('\\n')\n\n program\n .name(PRODUCT_COMMAND)\n .description(\n `${PRODUCT_NAME} - starts an interactive session by default, use -p/--print for non-interactive output\n\nSlash commands available during an interactive session:\n${commandList}`,\n )\n .argument('[prompt]', 'Your prompt', String)\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option(\n '-c, --continue',\n 'Load the most recent conversation in the current directory',\n () => true,\n )\n .option('-d, --debug', 'Enable debug mode', () => true)\n .option(\n '--debug-verbose',\n 'Enable verbose debug terminal output',\n () => true,\n )\n .option(\n '--verbose',\n 'Override verbose mode setting from config',\n () => true,\n )\n .option('-e, --enable-architect', 'Enable the Architect tool', () => true)\n .option(\n '-p, --print',\n 'Print response and exit (useful for pipes)',\n () => true,\n )\n .option(\n '--free',\n 'Enable Free safety mode (device-wide full permission, all operations auto-allowed)',\n () => true,\n )\n .option(\n '--smart',\n 'Enable Smart safety mode (dangerous operations need confirmation)',\n () => true,\n )\n .option(\n '--strict',\n 'Enable Strict safety mode (all write operations need confirmation)',\n () => true,\n )\n .option(\n '-r, --resume [session]',\n 'Resume a specific session by ID, or show an interactive picker to choose a session',\n String,\n )\n .option(\n '-l, --lang <language>',\n 'Set interface language (en, zh-CN)',\n String,\n )\n .option(\n '--plugin-dir <dir>',\n 'Additional plugin directory to scan (merged with defaults)',\n String,\n )\n .option(\n '--teammate-mode <mode>',\n 'Teammate display mode: auto, in-process, tmux',\n String,\n )\n .option(\n '--headless-agent',\n 'Run as a teammate agent process (internal use)',\n () => true,\n )\n .option('--team <name>', 'Team name (used with --headless-agent)', String)\n .option(\n '--agent-id <id>',\n 'Agent ID within team (used with --headless-agent)',\n String,\n )\n .option(\n '--agent-name <name>',\n 'Agent display name (used with --headless-agent)',\n String,\n )\n .option(\n '--agent-type <type>',\n 'Agent type/role (used with --headless-agent)',\n String,\n )\n .option(\n '--max-turns <n>',\n 'Maximum API round-trips (used with --headless-agent)',\n parseInt,\n )\n .option(\n '--model <name>',\n 'Model to use (used with --headless-agent)',\n String,\n )\n .option(\n '--permission-mode <mode>',\n 'Permission mode override (used with --headless-agent)',\n String,\n )\n .option(\n '--plan-mode-required',\n 'Force plan mode for this agent (used with --headless-agent)',\n () => true,\n )\n .option(\n '--agent-color <color>',\n 'Agent display color (used with --headless-agent)',\n String,\n )\n .option(\n '--parent-session-id <id>',\n 'Parent session ID (used with --headless-agent)',\n String,\n )\n .action(\n async (\n prompt,\n {\n cwd,\n debug,\n verbose,\n enableArchitect,\n print,\n free,\n smart,\n strict,\n continue: continueSession,\n resume: resumeSession,\n lang,\n pluginDir,\n teammateMode,\n headlessAgent,\n team: teamName,\n agentId,\n agentName,\n agentType,\n maxTurns,\n model: cliModel,\n permissionMode,\n planModeRequired,\n agentColor,\n parentSessionId,\n },\n ) => {\n // \u2500\u2500 Headless Agent Mode \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // When launched as a headless teammate via fork(), run agent\n // loop directly without REPL UI.\n if (headlessAgent) {\n await runHeadlessAgent({\n cwd,\n teamName: teamName!,\n agentId: agentId!,\n agentName: agentName!,\n agentType: agentType!,\n prompt: prompt || '',\n maxTurns,\n // CLI args override env var fallbacks (CC-compatible format)\n model: cliModel || process.env.MINTO_AGENT_MODEL,\n permissionMode: permissionMode || process.env.MINTO_AGENT_MODE,\n planModeRequired:\n planModeRequired || process.env.MINTO_PLAN_MODE_REQUIRED === '1',\n agentColor,\n parentSessionId:\n parentSessionId || process.env.MINTO_PARENT_SESSION_ID,\n })\n return\n }\n\n // Apply language override from CLI flag\n if (lang && isLanguageSupported(lang)) {\n setLanguage(lang as Language)\n }\n\n // Register extra plugin directory from CLI flag\n if (pluginDir) {\n const { addExtraPluginDir } = await import('@utils/pluginLoader')\n addExtraPluginDir(pluginDir)\n }\n\n // Determine safety mode: yolo (default, project-scoped) < free < smart < strict\n // Priority: strict > smart > free > yolo\n // Environment variable MINTO_SAFETY_MODE can override CLI flags\n const envSafetyMode = process.env.MINTO_SAFETY_MODE\n const safetyMode: SafetyMode = envSafetyMode\n ? (envSafetyMode as SafetyMode)\n : strict\n ? 'strict'\n : smart\n ? 'smart'\n : free\n ? 'free'\n : 'yolo'\n\n // Legacy safeMode for backward compatibility with showSetupScreens\n const safeMode = safetyMode !== 'yolo' && safetyMode !== 'free'\n\n // Preload dynamic imports early so they overlap with setup\n const inkPromise = import('ink')\n const replPromise = import('@screens/REPL')\n\n await showSetupScreens(safeMode, print, rawModeSupported)\n\n await setup(cwd, safeMode)\n\n assertMinVersion()\n\n // Fast startup: load only built-in tools (no MCP, no network I/O)\n // Skip description cache to avoid filesystem I/O from agent loading\n // MCP tools, descriptions, and update check are deferred to REPL background loading\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n const tools = await getBuiltInTools(\n enableArchitect ?? getCurrentProjectConfig().enableArchitectTool,\n { skipDescriptionCache: true },\n )\n const inputPrompt = [prompt, stdinContent].filter(Boolean).join('\\n')\n if (print) {\n if (!inputPrompt) {\n console.error(\n 'Error: Input must be provided either through stdin or as a prompt argument when using --print',\n )\n process.exit(1)\n }\n\n // Print mode needs full tools (including MCP) since there's no REPL to defer loading\n const fullTools = await getTools(\n enableArchitect ?? getCurrentProjectConfig().enableArchitectTool,\n )\n addToHistory(inputPrompt)\n const { resultText: response } = await ask({\n commands,\n hasPermissionsToUseTool,\n messageLogName: dateToFilename(new Date()),\n prompt: inputPrompt,\n cwd,\n tools: fullTools,\n safeMode,\n safetyMode,\n })\n console.log(response)\n process.exit(0)\n } else {\n // Interactive REPL requires raw mode - check before rendering\n // We check fallbackMode instead of isTTY because we need raw mode support, not just TTY\n if ((renderContext as any)?.fallbackMode) {\n // Raw mode not supported - exit with helpful error\n requireRawModeOrExit(process.stdin, true)\n }\n\n // Handle -r/--resume: resume a specific session or show interactive picker\n if (resumeSession) {\n if (typeof resumeSession === 'string') {\n // Resume a specific session by ID\n const logs = await loadLogList(CACHE_PATHS.messages())\n const matchedLog = logs.find(\n log =>\n log.date === resumeSession ||\n log.fullPath.includes(resumeSession),\n )\n if (!matchedLog) {\n console.error(\n `Session not found: ${resumeSession}\\nUse \"minto -r\" to see available sessions.`,\n )\n process.exit(1)\n }\n const { deserializeMessages } = await import(\n '@utils/conversationRecovery'\n )\n const { render } = await inkPromise\n const { REPL } = await replPromise\n await prepareTerminalForREPL()\n render(\n <REPL\n commands={commands}\n debug={debug}\n messageLogName={matchedLog.date}\n initialPrompt=\"\"\n shouldShowPromptInput={true}\n verbose={verbose}\n tools={tools}\n safeMode={safeMode}\n safetyMode={safetyMode}\n mcpClients={[]}\n isDefaultModel={isDefaultModel}\n initialUpdateVersion={null}\n initialUpdateCommands={null}\n enableArchitect={\n enableArchitect ??\n getCurrentProjectConfig().enableArchitectTool\n }\n fallbackMode={(renderContext as any)?.fallbackMode}\n initialMessages={deserializeMessages(\n matchedLog.messages,\n tools,\n )}\n initialForkNumber={getNextAvailableLogForkNumber(\n matchedLog.date,\n matchedLog.forkNumber ?? 1,\n 0,\n )}\n isResumedConversation={true}\n />,\n renderContext,\n )\n return\n }\n\n // No session ID \u2014 show interactive picker\n const logs = await loadLogList(CACHE_PATHS.messages())\n const context: { unmount?: () => void } = {}\n const { render } = await import('ink')\n const { ResumeConversation } = await import(\n '@screens/ResumeConversation'\n )\n const { unmount } = render(\n <ResumeConversation\n context={context}\n commands={commands}\n logs={logs}\n tools={tools}\n verbose={verbose}\n />,\n { ...renderContext, exitOnCtrlC: true },\n )\n context.unmount = unmount\n return\n }\n\n // Handle -c/--continue: load most recent conversation in current directory\n if (continueSession) {\n const logs = await loadLogList(CACHE_PATHS.messages())\n // Find most recent conversation for the current project\n const projectLog = logs.find(log => {\n const firstMsg = log.messages[0]\n return firstMsg?.cwd === cwd\n })\n if (projectLog) {\n const { deserializeMessages } = await import(\n '@utils/conversationRecovery'\n )\n const { render } = await inkPromise\n const { REPL } = await replPromise\n await prepareTerminalForREPL()\n render(\n <REPL\n commands={commands}\n debug={debug}\n messageLogName={projectLog.date}\n initialPrompt={inputPrompt || ''}\n shouldShowPromptInput={true}\n verbose={verbose}\n tools={tools}\n safeMode={safeMode}\n safetyMode={safetyMode}\n mcpClients={[]}\n isDefaultModel={isDefaultModel}\n initialUpdateVersion={null}\n initialUpdateCommands={null}\n enableArchitect={\n enableArchitect ??\n getCurrentProjectConfig().enableArchitectTool\n }\n fallbackMode={(renderContext as any)?.fallbackMode}\n initialMessages={deserializeMessages(\n projectLog.messages,\n tools,\n )}\n initialForkNumber={getNextAvailableLogForkNumber(\n projectLog.date,\n projectLog.forkNumber ?? 1,\n 0,\n )}\n isResumedConversation={true}\n />,\n renderContext,\n )\n return\n }\n // No previous conversation found \u2014 fall through to new conversation\n }\n\n // Default: start a new conversation\n const messageLogName = dateToFilename(new Date())\n\n {\n // Use preloaded imports (already resolved by now)\n const { render } = await inkPromise\n const { REPL } = await replPromise\n\n // Clear screen and prepare terminal for REPL\n // This provides a clean slate for the Minto interface\n await prepareTerminalForREPL()\n\n render(\n <REPL\n commands={commands}\n debug={debug}\n initialPrompt={inputPrompt}\n messageLogName={messageLogName}\n shouldShowPromptInput={true}\n verbose={verbose}\n tools={tools}\n safeMode={safeMode}\n safetyMode={safetyMode}\n mcpClients={[]}\n isDefaultModel={isDefaultModel}\n initialUpdateVersion={null}\n initialUpdateCommands={null}\n enableArchitect={\n enableArchitect ??\n getCurrentProjectConfig().enableArchitectTool\n }\n fallbackMode={(renderContext as any)?.fallbackMode}\n />,\n renderContext,\n )\n }\n }\n },\n )\n .version(MACRO.VERSION, '-v, --version')\n\n // Enable melon mode for ants if --melon is passed\n // For bun tree shaking to work, this has to be a top level --define, not inside MACRO\n // if (process.env.USER_TYPE === 'ant') {\n // program\n // .option('--melon', 'Enable melon mode')\n // .hook('preAction', async () => {\n // if ((program.opts() as { melon?: boolean }).melon) {\n // const { runMelonWrapper } = await import('../utils/melonWrapper')\n // const melonArgs = process.argv.slice(\n // process.argv.indexOf('--melon') + 1,\n // )\n // const exitCode = runMelonWrapper(melonArgs)\n // process.exit(exitCode)\n // }\n // })\n // }\n\n // claude config\n const config = program\n .command('config')\n .description(\n `Manage configuration (eg. ${PRODUCT_COMMAND} config set -g theme dark)`,\n )\n\n config\n .command('get <key>')\n .description('Get a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, { cwd, global }) => {\n await setup(cwd, false)\n console.log(getConfigForCLI(key, global ?? false))\n process.exit(0)\n })\n\n config\n .command('set <key> <value>')\n .description('Set a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, value, { cwd, global }) => {\n await setup(cwd, false)\n setConfigForCLI(key, value, global ?? false)\n console.log(`Set ${key} to ${value}`)\n process.exit(0)\n })\n\n config\n .command('remove <key>')\n .description('Remove a config value')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config')\n .action(async (key, { cwd, global }) => {\n await setup(cwd, false)\n deleteConfigForCLI(key, global ?? false)\n console.log(`Removed ${key}`)\n process.exit(0)\n })\n\n config\n .command('list')\n .description('List all config values')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-g, --global', 'Use global config', false)\n .action(async ({ cwd, global }) => {\n await setup(cwd, false)\n console.log(\n JSON.stringify(\n global ? listConfigForCLI(true) : listConfigForCLI(false),\n null,\n 2,\n ),\n )\n process.exit(0)\n })\n\n // minto setup - import team configuration\n program\n .command('setup')\n .description('Initialize Minto with team configuration from a URL or file')\n .requiredOption(\n '--from <source>',\n 'URL or file path to the team configuration JSON',\n )\n .option(\n '--strategy <strategy>',\n 'Merge strategy: merge, replace, or skip-existing',\n 'merge',\n )\n .option('--no-plugins', 'Skip installing plugins, agents, and hooks')\n .action(\n async (options: { from: string; strategy: string; plugins: boolean }) => {\n const {\n from: source,\n strategy,\n plugins: shouldInstallPlugins,\n } = options\n\n try {\n const {\n fetchTeamConfig,\n loadTeamConfigFromFile,\n applyTeamConfig,\n addMarketplaces,\n installPlugins,\n installRemoteAgents,\n installInlineAgents,\n installTeamHooks,\n } = await import('@utils/teamConfig')\n\n // Step 1: Load configuration\n console.log(`Loading configuration from ${source}...`)\n\n const teamConfig =\n source.startsWith('http://') || source.startsWith('https://')\n ? await fetchTeamConfig(source)\n : loadTeamConfigFromFile(source)\n\n // Step 2: Apply configuration\n console.log('Applying configuration...')\n\n const result = applyTeamConfig(teamConfig, strategy as MergeStrategy)\n\n // Step 3: Add marketplaces (if configured)\n let marketplacesAdded = 0\n if (shouldInstallPlugins && teamConfig.plugins?.marketplaces) {\n console.log(\n `Adding ${teamConfig.plugins.marketplaces.length} marketplace(s)...`,\n )\n const marketplaceResult = await addMarketplaces(\n teamConfig.plugins.marketplaces,\n )\n marketplacesAdded = marketplaceResult.added\n }\n\n // Step 4: Install plugins (if configured)\n let pluginsInstalled = 0\n if (shouldInstallPlugins && teamConfig.plugins?.install) {\n console.log(\n `Installing ${teamConfig.plugins.install.length} plugin(s)...`,\n )\n const pluginResult = await installPlugins(\n teamConfig.plugins.install,\n )\n pluginsInstalled = pluginResult.installed\n }\n\n // Step 5: Install agents (if configured)\n let agentsInstalled = 0\n if (shouldInstallPlugins && teamConfig.agents) {\n const remoteCount = teamConfig.agents.remoteAgents?.length || 0\n const inlineCount = teamConfig.agents.inlineAgents?.length || 0\n const totalAgents = remoteCount + inlineCount\n\n if (totalAgents > 0) {\n console.log(`Installing ${totalAgents} agent(s)...`)\n\n if (teamConfig.agents.remoteAgents) {\n const remoteResult = await installRemoteAgents(\n teamConfig.agents.remoteAgents,\n )\n agentsInstalled += remoteResult.installed\n }\n\n if (teamConfig.agents.inlineAgents) {\n const inlineResult = await installInlineAgents(\n teamConfig.agents.inlineAgents,\n )\n agentsInstalled += inlineResult.installed\n }\n }\n }\n\n // Step 6: Install hooks (if configured)\n let hooksInstalled = false\n if (shouldInstallPlugins && teamConfig.hooks) {\n console.log('Installing hooks...')\n const hookResult = await installTeamHooks(teamConfig.hooks)\n hooksInstalled = hookResult.installed\n }\n\n // Success output\n console.log('\\n\u2713 Configuration applied successfully!\\n')\n\n if (result.modelsAdded > 0) {\n console.log(` \u2022 Added ${result.modelsAdded} model profile(s)`)\n }\n if (result.mcpServersAdded > 0) {\n console.log(` \u2022 Added ${result.mcpServersAdded} MCP server(s)`)\n }\n if (result.settingsUpdated.length > 0) {\n console.log(\n ` \u2022 Updated ${result.settingsUpdated.length} setting(s): ${result.settingsUpdated.join(', ')}`,\n )\n }\n if (marketplacesAdded > 0) {\n console.log(` \u2022 Added ${marketplacesAdded} marketplace(s)`)\n }\n if (pluginsInstalled > 0) {\n console.log(` \u2022 Installed ${pluginsInstalled} plugin(s)`)\n }\n if (agentsInstalled > 0) {\n console.log(` \u2022 Installed ${agentsInstalled} agent(s)`)\n }\n if (hooksInstalled) {\n console.log(' \u2022 Installed hooks configuration')\n }\n\n if (teamConfig.postInstallInstructions) {\n console.log('\\n\uD83D\uDCCB Next Steps:')\n console.log(teamConfig.postInstallInstructions)\n }\n\n console.log(\n `\\nRun \"${PRODUCT_COMMAND}\" to start using your configured setup.`,\n )\n process.exit(0)\n } catch (error) {\n console.error(\n '\u2717 Setup failed:',\n error instanceof Error ? error.message : String(error),\n )\n process.exit(1)\n }\n },\n )\n\n // minto login\n program\n .command('login')\n .description('Login and auto-configure available models')\n .option('-u, --user <user>', 'Username')\n .option('-p, --password <password>', 'Password')\n .action(async (options: { user?: string; password?: string }) => {\n await setup(getCwd(), false)\n const { handleLoginCLI } = await import('@services/mintoAuth')\n await handleLoginCLI(options.user, options.password)\n process.exit(0)\n })\n\n // claude approved-tools\n\n const allowedTools = program\n .command('approved-tools')\n .description('Manage approved tools')\n\n allowedTools\n .command('list')\n .description('List all approved tools')\n .action(async () => {\n const { handleListApprovedTools } = await import(\n '@commands/approvedTools'\n )\n const result = handleListApprovedTools(getCwd())\n console.log(result)\n process.exit(0)\n })\n\n allowedTools\n .command('remove <tool>')\n .description('Remove a tool from the list of approved tools')\n .action(async (tool: string) => {\n const { handleRemoveApprovedTool } = await import(\n '@commands/approvedTools'\n )\n const result = handleRemoveApprovedTool(tool)\n console.log(result.message)\n process.exit(result.success ? 0 : 1)\n })\n\n // claude mcp\n\n const mcp = program\n .command('mcp')\n .description('Configure and manage MCP servers')\n\n mcp\n .command('serve')\n .description(`Start the ${PRODUCT_NAME} MCP server`)\n .action(async () => {\n const providedCwd = (program.opts() as { cwd?: string }).cwd ?? cwd()\n\n // Verify the directory exists\n if (!existsSync(providedCwd)) {\n console.error(`Error: Directory ${providedCwd} does not exist`)\n process.exit(1)\n }\n\n try {\n await setup(providedCwd, false)\n const { startMCPServer } = await import('./mcp')\n await startMCPServer(providedCwd)\n } catch (error) {\n console.error('Error: Failed to start MCP server:', error)\n process.exit(1)\n }\n })\n\n mcp\n .command('add-sse <name> <url>')\n .description('Add an SSE server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project or global)',\n 'project',\n )\n .action(async (name, url, options) => {\n try {\n const { addMcpServer, ensureConfigScope } = await import(\n '@services/mcpClient'\n )\n const scope = ensureConfigScope(options.scope)\n\n addMcpServer(name, { type: 'sse', url }, scope)\n console.log(\n `Added SSE MCP server ${name} with URL ${url} to ${scope} config`,\n )\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('add [name] [commandOrUrl] [args...]')\n .description('Add a server (run without arguments for interactive wizard)')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project or global)',\n 'project',\n )\n .option(\n '-e, --env <env...>',\n 'Set environment variables (e.g. -e KEY=value)',\n )\n .action(async (name, commandOrUrl, args, options) => {\n try {\n const { addMcpServer, parseEnvVars, ensureConfigScope } = await import(\n '@services/mcpClient'\n )\n // If name is not provided, start interactive wizard\n if (!name) {\n console.log('Interactive wizard mode: Enter the server details')\n const { createInterface } = await import('readline')\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout,\n })\n\n const question = (query: string) =>\n new Promise<string>(resolve => rl.question(query, resolve))\n\n // Get server name\n const serverName = await question('Server name: ')\n if (!serverName) {\n console.error('Error: Server name is required')\n rl.close()\n process.exit(1)\n }\n\n // Get server type\n const serverType = await question(\n 'Server type (stdio or sse) [stdio]: ',\n )\n const type =\n serverType && ['stdio', 'sse'].includes(serverType)\n ? serverType\n : 'stdio'\n\n // Get command or URL\n const prompt = type === 'stdio' ? 'Command: ' : 'URL: '\n const commandOrUrlValue = await question(prompt)\n if (!commandOrUrlValue) {\n console.error(\n `Error: ${type === 'stdio' ? 'Command' : 'URL'} is required`,\n )\n rl.close()\n process.exit(1)\n }\n\n // Get args and env if stdio\n let serverArgs: string[] = []\n let serverEnv: Record<string, string> = {}\n\n if (type === 'stdio') {\n const argsStr = await question(\n 'Command arguments (space-separated): ',\n )\n serverArgs = argsStr ? argsStr.split(' ').filter(Boolean) : []\n\n const envStr = await question(\n 'Environment variables (format: KEY1=value1,KEY2=value2): ',\n )\n if (envStr) {\n const envPairs = envStr.split(',').map(pair => pair.trim())\n serverEnv = parseEnvVars(envPairs.map(pair => pair))\n }\n }\n\n // Get scope\n const scopeStr = await question(\n 'Configuration scope (project or global) [project]: ',\n )\n const serverScope = ensureConfigScope(scopeStr || 'project')\n\n rl.close()\n\n // Add the server\n if (type === 'sse') {\n addMcpServer(\n serverName,\n { type: 'sse', url: commandOrUrlValue },\n serverScope,\n )\n console.log(\n `Added SSE MCP server ${serverName} with URL ${commandOrUrlValue} to ${serverScope} config`,\n )\n } else {\n addMcpServer(\n serverName,\n {\n type: 'stdio',\n command: commandOrUrlValue,\n args: serverArgs,\n env: serverEnv,\n },\n serverScope,\n )\n\n console.log(\n `Added stdio MCP server ${serverName} with command: ${commandOrUrlValue} ${serverArgs.join(' ')} to ${serverScope} config`,\n )\n }\n } else if (name && commandOrUrl) {\n // Regular non-interactive flow\n const scope = ensureConfigScope(options.scope)\n\n // Check if it's an SSE URL (starts with http:// or https://)\n if (commandOrUrl.match(/^https?:\\/\\//)) {\n addMcpServer(name, { type: 'sse', url: commandOrUrl }, scope)\n console.log(\n `Added SSE MCP server ${name} with URL ${commandOrUrl} to ${scope} config`,\n )\n } else {\n const env = parseEnvVars(options.env)\n addMcpServer(\n name,\n { type: 'stdio', command: commandOrUrl, args: args || [], env },\n scope,\n )\n\n console.log(\n `Added stdio MCP server ${name} with command: ${commandOrUrl} ${(args || []).join(' ')} to ${scope} config`,\n )\n }\n } else {\n console.error(\n 'Error: Missing required arguments. Either provide no arguments for interactive mode or specify name and command/URL.',\n )\n process.exit(1)\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n mcp\n .command('remove <name>')\n .description('Remove an MCP server')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project, global, or mcprc)',\n 'project',\n )\n .action(async (name: string, options: { scope?: string }) => {\n try {\n const { removeMcpServer, ensureConfigScope } = await import(\n '@services/mcpClient'\n )\n const scope = ensureConfigScope(options.scope)\n\n removeMcpServer(name, scope)\n console.log(`Removed MCP server ${name} from ${scope} config`)\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('list')\n .description('List configured MCP servers')\n .action(async () => {\n const { listMCPServers } = await import('@services/mcpClient')\n const servers = listMCPServers()\n if (Object.keys(servers).length === 0) {\n console.log(\n `No MCP servers configured. Use \\`${PRODUCT_COMMAND} mcp add\\` to add a server.`,\n )\n } else {\n for (const [name, server] of Object.entries(servers)) {\n if (server.type === 'sse') {\n console.log(`${name}: ${server.url} (SSE)`)\n } else if (server.type === 'http') {\n console.log(`${name}: ${(server as any).url} (HTTP)`)\n } else {\n console.log(\n `${name}: ${(server as any).command} ${((server as any).args || []).join(' ')}`,\n )\n }\n }\n }\n process.exit(0)\n })\n\n mcp\n .command('add-json <name> <json>')\n .description('Add an MCP server (stdio or SSE) with a JSON string')\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project or global)',\n 'project',\n )\n .action(async (name, jsonStr, options) => {\n try {\n const { addMcpServer, ensureConfigScope } = await import(\n '@services/mcpClient'\n )\n const scope = ensureConfigScope(options.scope)\n\n // Parse JSON string\n let serverConfig\n try {\n serverConfig = JSON.parse(jsonStr)\n } catch (e) {\n console.error('Error: Invalid JSON string')\n process.exit(1)\n }\n\n // Validate the server config\n if (\n !serverConfig.type ||\n !['stdio', 'sse'].includes(serverConfig.type)\n ) {\n console.error('Error: Server type must be \"stdio\" or \"sse\"')\n process.exit(1)\n }\n\n if (serverConfig.type === 'sse' && !serverConfig.url) {\n console.error('Error: SSE server must have a URL')\n process.exit(1)\n }\n\n if (serverConfig.type === 'stdio' && !serverConfig.command) {\n console.error('Error: stdio server must have a command')\n process.exit(1)\n }\n\n // Add server with the provided config\n\n addMcpServer(name, serverConfig, scope)\n\n if (serverConfig.type === 'sse') {\n console.log(\n `Added SSE MCP server ${name} with URL ${serverConfig.url} to ${scope} config`,\n )\n } else {\n console.log(\n `Added stdio MCP server ${name} with command: ${serverConfig.command} ${(\n serverConfig.args || []\n ).join(' ')} to ${scope} config`,\n )\n }\n\n process.exit(0)\n } catch (error) {\n console.error((error as Error).message)\n process.exit(1)\n }\n })\n\n mcp\n .command('get <name>')\n .description('Get details about an MCP server')\n .action(async (name: string) => {\n const { getMcpServer } = await import('@services/mcpClient')\n const server = getMcpServer(name)\n if (!server) {\n console.error(`No MCP server found with name: ${name}`)\n process.exit(1)\n }\n console.log(`${name}:`)\n console.log(` Scope: ${server.scope}`)\n if (server.type === 'sse') {\n console.log(` Type: sse`)\n console.log(` URL: ${server.url}`)\n } else if (server.type === 'http') {\n console.log(` Type: http`)\n console.log(` URL: ${(server as any).url}`)\n } else {\n console.log(` Type: stdio`)\n console.log(` Command: ${(server as any).command}`)\n console.log(` Args: ${((server as any).args || []).join(' ')}`)\n if ((server as any).env) {\n console.log(' Environment:')\n for (const [key, value] of Object.entries((server as any).env)) {\n console.log(` ${key}=${value}`)\n }\n }\n }\n process.exit(0)\n })\n\n // Import servers from Claude Desktop\n mcp\n .command('add-from-claude-desktop')\n .description(\n 'Import MCP servers from Claude Desktop (Mac, Windows and WSL)',\n )\n .option(\n '-s, --scope <scope>',\n 'Configuration scope (project or global)',\n 'project',\n )\n .action(async options => {\n try {\n const { addMcpServer, getMcpServer, ensureConfigScope } = await import(\n '@services/mcpClient'\n )\n const scope = ensureConfigScope(options.scope)\n const platform = process.platform\n\n // Import fs and path modules\n const { existsSync, readFileSync } = await import('fs')\n const { join } = await import('path')\n const { exec } = await import('child_process')\n\n // Determine if running in WSL\n const isWSL =\n platform === 'linux' &&\n existsSync('/proc/version') &&\n readFileSync('/proc/version', 'utf-8')\n .toLowerCase()\n .includes('microsoft')\n\n if (platform !== 'darwin' && platform !== 'win32' && !isWSL) {\n console.error(\n 'Error: This command is only supported on macOS, Windows, and WSL',\n )\n process.exit(1)\n }\n\n // Get Claude Desktop config path\n let configPath\n if (platform === 'darwin') {\n configPath = join(\n process.env.HOME || '~',\n 'Library/Application Support/Claude/claude_desktop_config.json',\n )\n } else if (platform === 'win32') {\n configPath = join(\n process.env.APPDATA || '',\n 'Claude/claude_desktop_config.json',\n )\n } else if (isWSL) {\n // Get Windows username\n const whoamiCommand = await new Promise<string>((resolve, reject) => {\n exec(\n 'powershell.exe -Command \"whoami\"',\n (err: Error, stdout: string) => {\n if (err) reject(err)\n else resolve(stdout.trim().split('\\\\').pop() || '')\n },\n )\n })\n\n configPath = `/mnt/c/Users/${whoamiCommand}/AppData/Roaming/Claude/claude_desktop_config.json`\n }\n\n // Check if config file exists\n if (!existsSync(configPath)) {\n console.error(\n `Error: Claude Desktop config file not found at ${configPath}`,\n )\n process.exit(1)\n }\n\n // Read config file\n let config\n try {\n const configContent = readFileSync(configPath, 'utf-8')\n config = JSON.parse(configContent)\n } catch (err) {\n console.error(`Error reading config file: ${err}`)\n process.exit(1)\n }\n\n // Extract MCP servers\n const mcpServers = config.mcpServers || {}\n const serverNames = Object.keys(mcpServers)\n const numServers = serverNames.length\n\n if (numServers === 0) {\n console.log('No MCP servers found in Claude Desktop config')\n process.exit(0)\n }\n\n // Create server information for display\n const serversInfo = serverNames.map(name => {\n const server = mcpServers[name]\n let description = ''\n\n if (server.type === 'sse') {\n description = `SSE: ${server.url}`\n } else {\n description = `stdio: ${server.command} ${(server.args || []).join(' ')}`\n }\n\n return { name, description, server }\n })\n\n // First import all required modules outside the component\n // Import modules separately to avoid any issues\n const ink = await import('ink')\n const reactModule = await import('react')\n const inkjsui = await import('@inkjs/ui')\n const utilsTheme = await import('@utils/theme')\n\n const { render } = ink\n const React = reactModule // React is already the default export when imported this way\n const { MultiSelect } = inkjsui\n const { Box, Text } = ink\n const { getTheme } = utilsTheme\n\n // Use Ink to render a nice UI for selection\n await new Promise<void>(resolve => {\n // Create a component for the server selection\n function ClaudeDesktopImport() {\n const { useState } = reactModule\n const [isFinished, setIsFinished] = useState(false)\n const [importResults, setImportResults] = useState(\n [] as { name: string; success: boolean }[],\n )\n const [isImporting, setIsImporting] = useState(false)\n const theme = getTheme()\n\n // Function to import selected servers\n const importServers = async (selectedServers: string[]) => {\n setIsImporting(true)\n const results = []\n\n for (const name of selectedServers) {\n try {\n const server = mcpServers[name]\n\n // Check if server already exists\n const existingServer = getMcpServer(name)\n if (existingServer) {\n // Skip duplicates - we'll handle them in the confirmation step\n continue\n }\n\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n setImportResults(results)\n setIsImporting(false)\n setIsFinished(true)\n\n // Give time to show results\n setTimeout(() => {\n resolve()\n }, 1000)\n }\n\n // Handle confirmation of selections\n const handleConfirm = async (selectedServers: string[]) => {\n // Check for existing servers and confirm overwrite\n const existingServers = selectedServers.filter(name =>\n getMcpServer(name),\n )\n\n if (existingServers.length > 0) {\n // We'll just handle it directly since we have a simple UI\n const results = []\n\n // Process non-existing servers first\n const newServers = selectedServers.filter(\n name => !getMcpServer(name),\n )\n for (const name of newServers) {\n try {\n const server = mcpServers[name]\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n // Now handle existing servers by prompting for each one\n for (const name of existingServers) {\n try {\n const server = mcpServers[name]\n // Overwrite existing server - in a real interactive UI you'd prompt here\n addMcpServer(name, server as McpServerConfig, scope)\n results.push({ name, success: true })\n } catch (err) {\n results.push({ name, success: false })\n }\n }\n\n setImportResults(results)\n setIsImporting(false)\n setIsFinished(true)\n\n // Give time to show results before resolving\n setTimeout(() => {\n resolve()\n }, 1000)\n } else {\n // No existing servers, proceed with import\n await importServers(selectedServers)\n }\n }\n\n return (\n <Box flexDirection=\"column\" padding={1}>\n <Box\n flexDirection=\"column\"\n borderStyle=\"round\"\n borderColor={theme.minto}\n padding={1}\n width={'100%'}\n >\n <Text bold color={theme.minto}>\n Import MCP Servers from Claude Desktop\n </Text>\n\n <Box marginY={1}>\n <Text>\n Found {numServers} MCP servers in Claude Desktop.\n </Text>\n </Box>\n\n <Text>Please select the servers you want to import:</Text>\n\n <Box marginTop={1}>\n <MultiSelect\n options={serverNames.map(name => ({\n label: name,\n value: name,\n }))}\n defaultValue={serverNames}\n onSubmit={handleConfirm}\n />\n </Box>\n </Box>\n\n <Box marginTop={0} marginLeft={3}>\n <Text color={SEMANTIC_COLORS.dim}>\n Space to select \u00B7 Enter to confirm \u00B7 Esc to cancel\n </Text>\n </Box>\n\n {isFinished && (\n <Box marginTop={1}>\n <Text color={theme.success}>\n Successfully imported{' '}\n {importResults.filter(r => r.success).length} MCP server\n to local config.\n </Text>\n </Box>\n )}\n </Box>\n )\n }\n\n // Render the component\n const { unmount } = render(<ClaudeDesktopImport />)\n\n // Clean up when done\n setTimeout(() => {\n unmount()\n resolve()\n }, 30000) // Timeout after 30 seconds as a fallback\n })\n\n process.exit(0)\n } catch (error) {\n console.error(`Error: ${(error as Error).message}`)\n process.exit(1)\n }\n })\n\n // Function to reset MCP server choices\n const resetMcpChoices = () => {\n const config = getCurrentProjectConfig()\n saveCurrentProjectConfig({\n ...config,\n approvedMcprcServers: [],\n rejectedMcprcServers: [],\n })\n console.log('All .mcprc server approvals and rejections have been reset.')\n console.log(\n `You will be prompted for approval next time you start ${PRODUCT_NAME}.`,\n )\n process.exit(0)\n }\n\n // New command name to match Minto\n mcp\n .command('reset-project-choices')\n .description(\n 'Reset all approved and rejected project-scoped (.mcp.json) servers within this project',\n )\n .action(() => {\n resetMcpChoices()\n })\n\n // Keep old command for backward compatibility (visible only to ants)\n if (process.env.USER_TYPE === 'ant') {\n mcp\n .command('reset-mcprc-choices')\n .description(\n 'Reset all approved and rejected .mcprc servers for this project',\n )\n .action(() => {\n resetMcpChoices()\n })\n }\n\n // ant-only commands\n\n // claude update\n program\n .command('update')\n .description('Show manual upgrade commands (no auto-install)')\n .action(async () => {\n console.log(`Current version: ${MACRO.VERSION}`)\n console.log('Checking for updates...')\n\n const { getLatestVersion } = await import('@utils/autoUpdater')\n const latestVersion = await getLatestVersion()\n\n if (!latestVersion) {\n console.error('Failed to check for updates')\n process.exit(1)\n }\n\n if (latestVersion === MACRO.VERSION) {\n console.log(`${PRODUCT_NAME} is up to date`)\n process.exit(0)\n }\n\n console.log(`New version available: ${latestVersion}`)\n const { getUpdateCommandSuggestions } = await import('@utils/autoUpdater')\n const cmds = await getUpdateCommandSuggestions()\n console.log('\\nRun one of the following commands to update:')\n for (const c of cmds) console.log(` ${c}`)\n if (process.platform !== 'win32') {\n console.log(\n '\\nNote: you may need to prefix with \"sudo\" on macOS/Linux.',\n )\n }\n process.exit(0)\n })\n\n // claude log\n program\n .command('log')\n .description('Manage conversation logs.')\n .argument(\n '[number]',\n 'A number (0, 1, 2, etc.) to display a specific log',\n parseInt,\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (number, { cwd }) => {\n await setup(cwd, false)\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { LogList } = await import('@screens/LogList')\n const { unmount } = render(\n <LogList context={context} type=\"messages\" logNumber={number} />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n })\n\n // claude resume\n program\n .command('resume')\n .description(\n 'Resume a previous conversation. Optionally provide a number (0, 1, 2, etc.) or file path to resume a specific conversation.',\n )\n .argument(\n '[identifier]',\n 'A number (0, 1, 2, etc.) or file path to resume a specific conversation',\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .option('-e, --enable-architect', 'Enable the Architect tool', () => true)\n .option('-v, --verbose', 'Do not truncate message output', () => true)\n .option(\n '--free',\n 'Enable Free safety mode (device-wide full permission, all operations auto-allowed)',\n () => true,\n )\n .option(\n '--smart',\n 'Enable Smart safety mode (dangerous operations need confirmation)',\n () => true,\n )\n .option(\n '--strict',\n 'Enable Strict safety mode (all write operations need confirmation)',\n () => true,\n )\n .action(\n async (\n identifier,\n { cwd, enableArchitect, free, smart, strict, verbose },\n ) => {\n // Determine safety mode: yolo (default) < free < smart < strict\n const envSafetyMode = process.env.MINTO_SAFETY_MODE\n const safetyMode: SafetyMode = envSafetyMode\n ? (envSafetyMode as SafetyMode)\n : strict\n ? 'strict'\n : smart\n ? 'smart'\n : free\n ? 'free'\n : 'yolo'\n const safeMode = safetyMode !== 'yolo' && safetyMode !== 'free'\n await setup(cwd, safeMode)\n assertMinVersion()\n\n const { getClients } = await import('@services/mcpClient')\n const [tools, commands, logs, mcpClients] = await Promise.all([\n getTools(\n enableArchitect ?? getCurrentProjectConfig().enableArchitectTool,\n ),\n getCommands(),\n loadLogList(CACHE_PATHS.messages()),\n getClients(),\n ])\n\n // If a specific conversation is requested, load and resume it directly\n if (identifier !== undefined) {\n // Check if identifier is a number or a file path\n const number = Math.abs(parseInt(identifier))\n const isNumber = !isNaN(number)\n let messages, date, forkNumber\n try {\n if (isNumber) {\n const log = logs[number]\n if (!log) {\n console.error('No conversation found at index', number)\n process.exit(1)\n }\n messages = await loadMessagesFromLog(log.fullPath, tools)\n ;({ date, forkNumber } = log)\n } else {\n // Handle file path case\n\n if (!existsSync(identifier)) {\n console.error('File does not exist:', identifier)\n process.exit(1)\n }\n messages = await loadMessagesFromLog(identifier, tools)\n const pathSegments = identifier.split('/')\n const filename =\n pathSegments[pathSegments.length - 1] ?? 'unknown'\n ;({ date, forkNumber } = parseLogFilename(filename))\n }\n const fork = getNextAvailableLogForkNumber(date, forkNumber ?? 1, 0)\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n\n // Interactive REPL requires raw mode - always check (not just isTTY)\n // This handles cases where stdin is not TTY or setRawMode is not supported\n const forkRawModeCheck = validateRawModeSupport(process.stdin)\n if (!forkRawModeCheck.supported) {\n requireRawModeOrExit(process.stdin, true)\n }\n\n {\n const { render } = await import('ink')\n const { REPL } = await import('@screens/REPL')\n\n // Clear screen and prepare terminal for REPL\n await prepareTerminalForREPL()\n\n render(\n <REPL\n initialPrompt=\"\"\n messageLogName={date}\n initialForkNumber={fork}\n shouldShowPromptInput={true}\n verbose={verbose}\n commands={commands}\n tools={tools}\n safeMode={safeMode}\n safetyMode={safetyMode}\n initialMessages={messages}\n mcpClients={mcpClients}\n isDefaultModel={isDefaultModel}\n fallbackMode={false}\n />,\n { exitOnCtrlC: false },\n )\n }\n } catch (error) {\n logError(`Failed to load conversation: ${error}`)\n process.exit(1)\n }\n } else {\n // Show the conversation selector UI\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { ResumeConversation } = await import(\n '@screens/ResumeConversation'\n )\n const { unmount } = render(\n <ResumeConversation\n context={context}\n commands={commands}\n logs={logs}\n tools={tools}\n verbose={verbose}\n />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n }\n },\n )\n\n // claude error\n program\n .command('error')\n .description(\n 'View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.',\n )\n .argument(\n '[number]',\n 'A number (0, 1, 2, etc.) to display a specific log',\n parseInt,\n )\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (number, { cwd }) => {\n await setup(cwd, false)\n\n const context: { unmount?: () => void } = {}\n ;(async () => {\n const { render } = await import('ink')\n const { LogList } = await import('@screens/LogList')\n const { unmount } = render(\n <LogList context={context} type=\"errors\" logNumber={number} />,\n renderContextWithExitOnCtrlC,\n )\n context.unmount = unmount\n })()\n })\n\n // legacy context (TODO: deprecate)\n const context = program\n .command('context')\n .description(\n `Set static context (eg. ${PRODUCT_COMMAND} context add-file ./src/*.py)`,\n )\n\n context\n .command('get <key>')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .description('Get a value from context')\n .action(async (key, { cwd }) => {\n await setup(cwd, false)\n\n const context = omit(\n await getContext(),\n 'codeStyle',\n 'directoryStructure',\n )\n console.log(context[key])\n process.exit(0)\n })\n\n context\n .command('set <key> <value>')\n .description('Set a value in context')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (key, value, { cwd }) => {\n await setup(cwd, false)\n\n setContext(key, value)\n console.log(`Set context.${key} to \"${value}\"`)\n process.exit(0)\n })\n\n context\n .command('list')\n .description('List all context values')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async ({ cwd }) => {\n await setup(cwd, false)\n\n const context = omit(\n await getContext(),\n 'codeStyle',\n 'directoryStructure',\n 'gitStatus',\n )\n console.log(JSON.stringify(context, null, 2))\n process.exit(0)\n })\n\n context\n .command('remove <key>')\n .description('Remove a value from context')\n .option('--cwd <cwd>', 'The current working directory', String, cwd())\n .action(async (key, { cwd }) => {\n await setup(cwd, false)\n\n removeContext(key)\n console.log(`Removed context.${key}`)\n process.exit(0)\n })\n\n await program.parseAsync(process.argv)\n return program\n}\n\n// TODO: stream?\nasync function stdin() {\n if (process.stdin.isTTY) {\n return ''\n }\n\n let data = ''\n for await (const chunk of process.stdin) data += chunk\n return data\n}\n\n// Setup centralized exit handlers\nsetupExitHandlers()\n\nfunction resetCursor() {\n const terminal = process.stderr.isTTY\n ? process.stderr\n : process.stdout.isTTY\n ? process.stdout\n : undefined\n terminal?.write(`\\u001B[?25h${cursorShow}`)\n}\n\nmain()\n"],
5
- "mappings": "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",
6
- "names": ["cwd", "getContext", "getBuiltInTools", "hasPermissionsToUseTool", "dateToFilename", "logs", "render", "context", "env", "existsSync", "config", "React", "commands"]
7
- }
@@ -1,153 +0,0 @@
1
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
- import {
4
- CallToolRequestSchema,
5
- ListToolsRequestSchema
6
- } from "@modelcontextprotocol/sdk/types.js";
7
- import { zodToJsonSchema } from "zod-to-json-schema";
8
- import { TaskTool } from "../tools/TaskTool/TaskTool.js";
9
- import { setCwd } from "../utils/state.js";
10
- import { getModelManager } from "../utils/model.js";
11
- import { logError } from "../utils/log.js";
12
- import { LSTool } from "../tools/lsTool/lsTool.js";
13
- import { BashTool } from "../tools/BashTool/BashTool.js";
14
- import { FileEditTool } from "../tools/FileEditTool/FileEditTool.js";
15
- import { FileReadTool } from "../tools/FileReadTool/FileReadTool.js";
16
- import { GlobTool } from "../tools/GlobTool/GlobTool.js";
17
- import { GrepTool } from "../tools/GrepTool/GrepTool.js";
18
- import { FileWriteTool } from "../tools/FileWriteTool/FileWriteTool.js";
19
- import { getToolDescriptionAsync } from "../Tool.js";
20
- import { lastX } from "../utils/generators.js";
21
- import { MACRO } from "../constants/macros.js";
22
- const state = {
23
- readFileTimestamps: {}
24
- };
25
- const MCP_TOOLS = [
26
- TaskTool,
27
- BashTool,
28
- FileEditTool,
29
- FileReadTool,
30
- GlobTool,
31
- GrepTool,
32
- FileWriteTool,
33
- LSTool
34
- ];
35
- async function startMCPServer(cwd) {
36
- await setCwd(cwd);
37
- const server = new Server(
38
- {
39
- name: "claude/tengu",
40
- version: MACRO.VERSION
41
- },
42
- {
43
- capabilities: {
44
- tools: {}
45
- }
46
- }
47
- );
48
- server.setRequestHandler(
49
- ListToolsRequestSchema,
50
- async () => {
51
- const tools = await Promise.all(
52
- MCP_TOOLS.map(async (tool) => ({
53
- name: tool.name,
54
- // Use getToolDescriptionAsync for safe async access
55
- description: await getToolDescriptionAsync(tool),
56
- inputSchema: zodToJsonSchema(tool.inputSchema)
57
- }))
58
- );
59
- return {
60
- tools
61
- };
62
- }
63
- );
64
- server.setRequestHandler(
65
- CallToolRequestSchema,
66
- async (request) => {
67
- const { name, arguments: args } = request.params;
68
- const tool = MCP_TOOLS.find((_) => _.name === name);
69
- if (!tool) {
70
- throw new Error(`Tool ${name} not found`);
71
- }
72
- try {
73
- const parseResult = tool.inputSchema.safeParse(args ?? {});
74
- if (!parseResult.success) {
75
- const errors = parseResult.error.errors.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
76
- throw new Error(`Tool ${name} input validation failed: ${errors}`);
77
- }
78
- const validatedArgs = parseResult.data;
79
- if (!await tool.isEnabled()) {
80
- throw new Error(`Tool ${name} is not enabled`);
81
- }
82
- const model = getModelManager().getModelName("main");
83
- const validationResult = await tool.validateInput?.(
84
- validatedArgs,
85
- {
86
- abortController: new AbortController(),
87
- options: {
88
- commands: [],
89
- tools: MCP_TOOLS,
90
- forkNumber: 0,
91
- messageLogName: "unused",
92
- maxThinkingTokens: 0
93
- },
94
- messageId: void 0,
95
- readFileTimestamps: state.readFileTimestamps
96
- }
97
- );
98
- if (validationResult && !validationResult.result) {
99
- throw new Error(
100
- `Tool ${name} input is invalid: ${validationResult.message}`
101
- );
102
- }
103
- const result = tool.call(validatedArgs, {
104
- abortController: new AbortController(),
105
- messageId: void 0,
106
- options: {
107
- commands: [],
108
- tools: MCP_TOOLS,
109
- forkNumber: 0,
110
- messageLogName: "unused",
111
- maxThinkingTokens: 0
112
- },
113
- readFileTimestamps: state.readFileTimestamps
114
- });
115
- const finalResult = await lastX(result);
116
- if (finalResult.type !== "result") {
117
- throw new Error(`Tool ${name} did not return a result`);
118
- }
119
- return {
120
- content: Array.isArray(finalResult) ? finalResult.map((item) => ({
121
- type: "text",
122
- text: "text" in item ? item.text : JSON.stringify(item)
123
- })) : [
124
- {
125
- type: "text",
126
- text: typeof finalResult === "string" ? finalResult : JSON.stringify(finalResult.data)
127
- }
128
- ]
129
- };
130
- } catch (error) {
131
- logError(error);
132
- return {
133
- isError: true,
134
- content: [
135
- {
136
- type: "text",
137
- text: `Error: ${error instanceof Error ? error.message : String(error)}`
138
- }
139
- ]
140
- };
141
- }
142
- }
143
- );
144
- async function runServer() {
145
- const transport = new StdioServerTransport();
146
- await server.connect(transport);
147
- }
148
- return await runServer();
149
- }
150
- export {
151
- startMCPServer
152
- };
153
- //# sourceMappingURL=mcp.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/entrypoints/mcp.ts"],
4
- "sourcesContent": ["import { Server } from '@modelcontextprotocol/sdk/server/index.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport {\n CallToolRequestSchema,\n CallToolResultSchema,\n ListToolsRequestSchema,\n ListToolsResultSchema,\n ToolSchema,\n} from '@modelcontextprotocol/sdk/types.js'\nimport { z } from 'zod'\nimport { zodToJsonSchema } from 'zod-to-json-schema'\nimport { TaskTool } from '@tools/TaskTool/TaskTool'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { setCwd } from '@utils/state'\nimport { getModelManager } from '@utils/model'\nimport { logError } from '@utils/log'\nimport { LSTool } from '@tools/lsTool/lsTool'\nimport { BashTool } from '@tools/BashTool/BashTool'\nimport { FileEditTool } from '@tools/FileEditTool/FileEditTool'\nimport { FileReadTool } from '@tools/FileReadTool/FileReadTool'\nimport { GlobTool } from '@tools/GlobTool/GlobTool'\nimport { GrepTool } from '@tools/GrepTool/GrepTool'\nimport { FileWriteTool } from '@tools/FileWriteTool/FileWriteTool'\nimport { Tool, getToolDescriptionAsync } from '@tool'\nimport { lastX } from '@utils/generators'\nimport { MACRO } from '@constants/macros'\ntype ToolInput = z.infer<typeof ToolSchema.shape.inputSchema>\n\nconst state: {\n readFileTimestamps: Record<string, number>\n} = {\n readFileTimestamps: {},\n}\n\nconst MCP_TOOLS: Tool[] = [\n TaskTool as unknown as Tool,\n BashTool as unknown as Tool,\n FileEditTool as unknown as Tool,\n FileReadTool as unknown as Tool,\n GlobTool as unknown as Tool,\n GrepTool as unknown as Tool,\n FileWriteTool as unknown as Tool,\n LSTool as unknown as Tool,\n]\n\nexport async function startMCPServer(cwd: string): Promise<void> {\n await setCwd(cwd)\n const server = new Server(\n {\n name: 'claude/tengu',\n version: MACRO.VERSION,\n },\n {\n capabilities: {\n tools: {},\n },\n },\n )\n\n server.setRequestHandler(\n ListToolsRequestSchema,\n async (): Promise<z.infer<typeof ListToolsResultSchema>> => {\n const tools = await Promise.all(\n MCP_TOOLS.map(async tool => ({\n name: tool.name,\n // Use getToolDescriptionAsync for safe async access\n description: await getToolDescriptionAsync(tool),\n inputSchema: zodToJsonSchema(tool.inputSchema) as ToolInput,\n })),\n )\n\n return {\n tools,\n }\n },\n )\n\n server.setRequestHandler(\n CallToolRequestSchema,\n async (request): Promise<z.infer<typeof CallToolResultSchema>> => {\n const { name, arguments: args } = request.params\n const tool = MCP_TOOLS.find(_ => _.name === name)\n if (!tool) {\n throw new Error(`Tool ${name} not found`)\n }\n\n try {\n // Validate input with Zod schema\n const parseResult = tool.inputSchema.safeParse(args ?? {})\n if (!parseResult.success) {\n const errors = parseResult.error.errors\n .map(e => `${e.path.join('.')}: ${e.message}`)\n .join('; ')\n throw new Error(`Tool ${name} input validation failed: ${errors}`)\n }\n const validatedArgs = parseResult.data\n\n if (!(await tool.isEnabled())) {\n throw new Error(`Tool ${name} is not enabled`)\n }\n const model = getModelManager().getModelName('main')\n const validationResult = await tool.validateInput?.(\n validatedArgs as never,\n {\n abortController: new AbortController(),\n options: {\n commands: [],\n tools: MCP_TOOLS,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n },\n messageId: undefined,\n readFileTimestamps: state.readFileTimestamps,\n },\n )\n if (validationResult && !validationResult.result) {\n throw new Error(\n `Tool ${name} input is invalid: ${validationResult.message}`,\n )\n }\n const result = tool.call(validatedArgs as never, {\n abortController: new AbortController(),\n messageId: undefined,\n options: {\n commands: [],\n tools: MCP_TOOLS,\n forkNumber: 0,\n messageLogName: 'unused',\n maxThinkingTokens: 0,\n },\n readFileTimestamps: state.readFileTimestamps,\n })\n\n const finalResult = await lastX(result)\n\n if (finalResult.type !== 'result') {\n throw new Error(`Tool ${name} did not return a result`)\n }\n\n return {\n content: Array.isArray(finalResult)\n ? finalResult.map(item => ({\n type: 'text' as const,\n text: 'text' in item ? item.text : JSON.stringify(item),\n }))\n : [\n {\n type: 'text' as const,\n text:\n typeof finalResult === 'string'\n ? finalResult\n : JSON.stringify(finalResult.data),\n },\n ],\n }\n } catch (error) {\n logError(error)\n return {\n isError: true,\n content: [\n {\n type: 'text',\n text: `Error: ${error instanceof Error ? error.message : String(error)}`,\n },\n ],\n }\n }\n },\n )\n\n async function runServer() {\n const transport = new StdioServerTransport()\n await server.connect(transport)\n }\n\n return await runServer()\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
package/dist/history.js DELETED
@@ -1,96 +0,0 @@
1
- import {
2
- getCurrentProjectConfig,
3
- saveCurrentProjectConfig
4
- } from "./utils/config.js";
5
- import { sanitizeInput, containsDangerousSequences } from "./utils/sanitizeInput.js";
6
- import {
7
- addToHistoryNew,
8
- getHistoryStrings,
9
- getCurrentProjectHistory,
10
- searchHistory as searchHistoryNew
11
- } from "./utils/historyManager.js";
12
- import { debug as debugLogger } from "./utils/debugLogger.js";
13
- const MAX_HISTORY_ITEMS = 100;
14
- function getHistory() {
15
- const newHistory = getHistoryStrings({ limit: MAX_HISTORY_ITEMS });
16
- let legacyHistory = [];
17
- try {
18
- legacyHistory = getCurrentProjectConfig().history ?? [];
19
- legacyHistory = legacyHistory.map((entry) => sanitizeInput(entry));
20
- } catch {
21
- }
22
- if (newHistory.length === 0 && legacyHistory.length > 0) {
23
- debugLogger.trace("HISTORY_USING_LEGACY", {
24
- legacyCount: legacyHistory.length
25
- });
26
- return legacyHistory.slice(0, MAX_HISTORY_ITEMS);
27
- }
28
- if (newHistory.length > 0) {
29
- const seen = new Set(newHistory);
30
- const merged = [...newHistory];
31
- for (const entry of legacyHistory) {
32
- if (!seen.has(entry)) {
33
- merged.push(entry);
34
- seen.add(entry);
35
- }
36
- }
37
- return merged.slice(0, MAX_HISTORY_ITEMS);
38
- }
39
- return [];
40
- }
41
- function addToHistory(command) {
42
- const sanitizedCommand = sanitizeInput(command);
43
- if (!sanitizedCommand.trim()) {
44
- return;
45
- }
46
- if (containsDangerousSequences(command)) {
47
- debugLogger.warn("HISTORY_DANGEROUS_SEQUENCE", {
48
- command: command.slice(0, 50)
49
- });
50
- }
51
- let mode = "prompt";
52
- if (command.startsWith("!")) {
53
- mode = "bash";
54
- } else if (command.startsWith("#")) {
55
- mode = "koding";
56
- }
57
- try {
58
- addToHistoryNew(sanitizedCommand, mode);
59
- } catch (error) {
60
- debugLogger.error("HISTORY_NEW_STORAGE_FAILED", {
61
- error: error instanceof Error ? error.message : String(error)
62
- });
63
- }
64
- try {
65
- const projectConfig = getCurrentProjectConfig();
66
- const history = projectConfig.history ?? [];
67
- if (history[0] !== sanitizedCommand) {
68
- history.unshift(sanitizedCommand);
69
- saveCurrentProjectConfig({
70
- ...projectConfig,
71
- history: history.slice(0, MAX_HISTORY_ITEMS)
72
- });
73
- }
74
- } catch (error) {
75
- debugLogger.trace("HISTORY_LEGACY_STORAGE_FAILED", {
76
- error: error instanceof Error ? error.message : String(error)
77
- });
78
- }
79
- }
80
- function getProjectHistory(limit = MAX_HISTORY_ITEMS) {
81
- return getCurrentProjectHistory(limit);
82
- }
83
- function searchHistory(searchTerm, limit = MAX_HISTORY_ITEMS) {
84
- return searchHistoryNew(searchTerm, { limit });
85
- }
86
- function getHistoryWithOptions(options) {
87
- return getHistoryStrings(options);
88
- }
89
- export {
90
- addToHistory,
91
- getHistory,
92
- getHistoryWithOptions,
93
- getProjectHistory,
94
- searchHistory
95
- };
96
- //# sourceMappingURL=history.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/history.ts"],
4
- "sourcesContent": ["/**\n * History Module\n *\n * Provides command history functionality with dual storage support:\n * 1. New JSONL format (~/.minto/history/global.jsonl) - Primary\n * 2. Legacy project config format (projects.*.history) - Fallback for reading\n *\n * This module serves as the public API for history access. It automatically\n * uses the new JSONL-based historyManager for writes and merges both sources\n * for reads to ensure a smooth transition.\n */\n\nimport {\n getCurrentProjectConfig,\n saveCurrentProjectConfig,\n} from '@utils/config'\nimport { sanitizeInput, containsDangerousSequences } from '@utils/sanitizeInput'\nimport {\n addToHistoryNew,\n getHistoryStrings,\n getCurrentProjectHistory,\n searchHistory as searchHistoryNew,\n type HistoryEntry,\n type HistoryReadOptions,\n} from '@utils/historyManager'\nimport { debug as debugLogger } from '@utils/debugLogger'\n\nconst MAX_HISTORY_ITEMS = 100\n\n/**\n * Get command history\n *\n * Returns a merged list of history from both:\n * 1. New JSONL-based storage (primary)\n * 2. Legacy project config storage (fallback)\n *\n * Duplicates are removed, with JSONL entries taking precedence.\n *\n * @returns Array of command strings (newest first)\n */\nexport function getHistory(): string[] {\n // Get history from new JSONL storage\n const newHistory = getHistoryStrings({ limit: MAX_HISTORY_ITEMS })\n\n // Get history from legacy storage (for backward compatibility)\n let legacyHistory: string[] = []\n try {\n legacyHistory = getCurrentProjectConfig().history ?? []\n legacyHistory = legacyHistory.map(entry => sanitizeInput(entry))\n } catch {\n // Ignore errors reading legacy history\n }\n\n // If new storage is empty but legacy has data, use legacy\n if (newHistory.length === 0 && legacyHistory.length > 0) {\n debugLogger.trace('HISTORY_USING_LEGACY', {\n legacyCount: legacyHistory.length,\n })\n return legacyHistory.slice(0, MAX_HISTORY_ITEMS)\n }\n\n // If new storage has data, prefer it\n if (newHistory.length > 0) {\n // Merge with legacy, removing duplicates\n const seen = new Set(newHistory)\n const merged = [...newHistory]\n\n for (const entry of legacyHistory) {\n if (!seen.has(entry)) {\n merged.push(entry)\n seen.add(entry)\n }\n }\n\n return merged.slice(0, MAX_HISTORY_ITEMS)\n }\n\n // Both empty\n return []\n}\n\n/**\n * Add a command to history\n *\n * Writes to both new JSONL storage and legacy project config storage\n * for backward compatibility during the transition period.\n *\n * @param command The command to add\n */\nexport function addToHistory(command: string): void {\n // Sanitize the command before saving\n const sanitizedCommand = sanitizeInput(command)\n\n // Skip empty commands after sanitization\n if (!sanitizedCommand.trim()) {\n return\n }\n\n // Warn if command contains dangerous sequences\n if (containsDangerousSequences(command)) {\n debugLogger.warn('HISTORY_DANGEROUS_SEQUENCE', {\n command: command.slice(0, 50),\n })\n }\n\n // Detect mode from command prefix\n let mode: 'prompt' | 'bash' | 'koding' = 'prompt'\n if (command.startsWith('!')) {\n mode = 'bash'\n } else if (command.startsWith('#')) {\n mode = 'koding'\n }\n\n // Write to new JSONL storage (primary)\n try {\n addToHistoryNew(sanitizedCommand, mode)\n } catch (error) {\n debugLogger.error('HISTORY_NEW_STORAGE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n\n // Also write to legacy storage for backward compatibility\n // This can be removed once the migration is fully complete\n try {\n const projectConfig = getCurrentProjectConfig()\n const history = projectConfig.history ?? []\n\n if (history[0] !== sanitizedCommand) {\n history.unshift(sanitizedCommand)\n saveCurrentProjectConfig({\n ...projectConfig,\n history: history.slice(0, MAX_HISTORY_ITEMS),\n })\n }\n } catch (error) {\n // Silently ignore legacy storage errors\n debugLogger.trace('HISTORY_LEGACY_STORAGE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n}\n\n/**\n * Get history for the current project only\n *\n * @param limit Maximum number of entries to return\n * @returns Array of command strings (newest first)\n */\nexport function getProjectHistory(limit: number = MAX_HISTORY_ITEMS): string[] {\n return getCurrentProjectHistory(limit)\n}\n\n/**\n * Search history for matching commands\n *\n * @param searchTerm Term to search for\n * @param limit Maximum number of results\n * @returns Array of matching history entries\n */\nexport function searchHistory(\n searchTerm: string,\n limit: number = MAX_HISTORY_ITEMS,\n): HistoryEntry[] {\n return searchHistoryNew(searchTerm, { limit })\n}\n\n/**\n * Get history with advanced filtering options\n *\n * @param options Read options for filtering\n * @returns Array of command strings (newest first)\n */\nexport function getHistoryWithOptions(options: HistoryReadOptions): string[] {\n return getHistoryStrings(options)\n}\n\n// Re-export types for convenience\nexport type { HistoryEntry, HistoryReadOptions }\n"],
5
- "mappings": "AAYA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,eAAe,kCAAkC;AAC1D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,OAGZ;AACP,SAAS,SAAS,mBAAmB;AAErC,MAAM,oBAAoB;AAanB,SAAS,aAAuB;AAErC,QAAM,aAAa,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;AAGjE,MAAI,gBAA0B,CAAC;AAC/B,MAAI;AACF,oBAAgB,wBAAwB,EAAE,WAAW,CAAC;AACtD,oBAAgB,cAAc,IAAI,WAAS,cAAc,KAAK,CAAC;AAAA,EACjE,QAAQ;AAAA,EAER;AAGA,MAAI,WAAW,WAAW,KAAK,cAAc,SAAS,GAAG;AACvD,gBAAY,MAAM,wBAAwB;AAAA,MACxC,aAAa,cAAc;AAAA,IAC7B,CAAC;AACD,WAAO,cAAc,MAAM,GAAG,iBAAiB;AAAA,EACjD;AAGA,MAAI,WAAW,SAAS,GAAG;AAEzB,UAAM,OAAO,IAAI,IAAI,UAAU;AAC/B,UAAM,SAAS,CAAC,GAAG,UAAU;AAE7B,eAAW,SAAS,eAAe;AACjC,UAAI,CAAC,KAAK,IAAI,KAAK,GAAG;AACpB,eAAO,KAAK,KAAK;AACjB,aAAK,IAAI,KAAK;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,OAAO,MAAM,GAAG,iBAAiB;AAAA,EAC1C;AAGA,SAAO,CAAC;AACV;AAUO,SAAS,aAAa,SAAuB;AAElD,QAAM,mBAAmB,cAAc,OAAO;AAG9C,MAAI,CAAC,iBAAiB,KAAK,GAAG;AAC5B;AAAA,EACF;AAGA,MAAI,2BAA2B,OAAO,GAAG;AACvC,gBAAY,KAAK,8BAA8B;AAAA,MAC7C,SAAS,QAAQ,MAAM,GAAG,EAAE;AAAA,IAC9B,CAAC;AAAA,EACH;AAGA,MAAI,OAAqC;AACzC,MAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,WAAO;AAAA,EACT,WAAW,QAAQ,WAAW,GAAG,GAAG;AAClC,WAAO;AAAA,EACT;AAGA,MAAI;AACF,oBAAgB,kBAAkB,IAAI;AAAA,EACxC,SAAS,OAAO;AACd,gBAAY,MAAM,8BAA8B;AAAA,MAC9C,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,EACH;AAIA,MAAI;AACF,UAAM,gBAAgB,wBAAwB;AAC9C,UAAM,UAAU,cAAc,WAAW,CAAC;AAE1C,QAAI,QAAQ,CAAC,MAAM,kBAAkB;AACnC,cAAQ,QAAQ,gBAAgB;AAChC,+BAAyB;AAAA,QACvB,GAAG;AAAA,QACH,SAAS,QAAQ,MAAM,GAAG,iBAAiB;AAAA,MAC7C,CAAC;AAAA,IACH;AAAA,EACF,SAAS,OAAO;AAEd,gBAAY,MAAM,iCAAiC;AAAA,MACjD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,EACH;AACF;AAQO,SAAS,kBAAkB,QAAgB,mBAA6B;AAC7E,SAAO,yBAAyB,KAAK;AACvC;AASO,SAAS,cACd,YACA,QAAgB,mBACA;AAChB,SAAO,iBAAiB,YAAY,EAAE,MAAM,CAAC;AAC/C;AAQO,SAAS,sBAAsB,SAAuC;AAC3E,SAAO,kBAAkB,OAAO;AAClC;",
6
- "names": []
7
- }