@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/utils/pluginValidator.ts"],
4
- "sourcesContent": ["/**\n * Plugin Validation System\n *\n * Validates plugin manifests and component files for correctness.\n * Checks for proper structure, required fields, and file existence.\n */\n\nimport fs from 'fs'\nimport path from 'path'\nimport matter from 'gray-matter'\nimport semver from 'semver'\nimport { z } from 'zod'\nimport {\n PluginManifestSchema,\n type PluginManifest,\n type HookEvent,\n} from '../types/plugin.js'\n\n/**\n * Validation error details\n */\nexport interface ValidationError {\n type:\n | 'manifest'\n | 'agent'\n | 'command'\n | 'skill'\n | 'hook'\n | 'mcp'\n | 'dependency'\n | 'engine'\n file?: string\n message: string\n details?: any\n}\n\n/**\n * Validation warning details\n */\nexport interface ValidationWarning {\n type: string\n file?: string\n message: string\n}\n\n/**\n * Complete validation result\n */\nexport interface ValidationResult {\n valid: boolean\n errors: ValidationError[]\n warnings: ValidationWarning[]\n}\n\n/**\n * Agent YAML frontmatter schema\n */\nconst AgentFrontmatterSchema = z.object({\n name: z.string().min(1, 'Agent name is required'),\n description: z.string().min(1, 'Agent description is required'),\n tools: z\n .union([\n z.string(), // \"*\" for all tools\n z.array(z.string()).min(1, 'At least one tool must be specified'),\n ])\n .optional(),\n model: z.string().optional(),\n})\n\n/**\n * Command YAML frontmatter schema\n */\nconst CommandFrontmatterSchema = z.object({\n name: z.string().min(1, 'Command name is required'),\n description: z.string().optional(),\n aliases: z.array(z.string()).optional(),\n enabled: z.boolean().optional(),\n hidden: z.boolean().optional(),\n progressMessage: z.string().optional(),\n argNames: z.array(z.string()).optional(),\n 'allowed-tools': z.array(z.string()).optional(),\n})\n\n/**\n * Skill YAML frontmatter schema\n */\nconst SkillFrontmatterSchema = z.object({\n name: z.string().min(1, 'Skill name is required'),\n description: z.string().min(1, 'Skill description is required'),\n})\n\n/**\n * Hook configuration schema\n */\nconst HookConfigSchema = z.object({\n event: z.enum([\n 'PreToolUse',\n 'PostToolUse',\n 'UserPromptSubmit',\n 'SessionStart',\n 'SessionEnd',\n 'Stop',\n 'SubagentStop',\n 'Notification',\n 'PreCompact',\n ] as const),\n matcher: z.string().optional(),\n type: z.enum(['command', 'message', 'notification']),\n command: z.string().optional(),\n message: z.string().optional(),\n blocking: z.boolean().optional(),\n timeout: z.number().optional(),\n})\n\n/**\n * MCP Server configuration schema\n */\nconst MCPServerConfigSchema = z.object({\n command: z.string().min(1, 'MCP server command is required'),\n args: z.array(z.string()).optional(),\n env: z.record(z.string()).optional(),\n timeout: z.number().optional(),\n})\n\n/**\n * Validate complete plugin including manifest and all components\n */\nexport async function validatePlugin(\n pluginPath: string,\n): Promise<ValidationResult> {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check if plugin directory exists\n if (!fs.existsSync(pluginPath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'manifest',\n message: `Plugin directory does not exist: ${pluginPath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check if it's a directory\n const stats = fs.statSync(pluginPath)\n if (!stats.isDirectory()) {\n return {\n valid: false,\n errors: [\n {\n type: 'manifest',\n message: `Plugin path is not a directory: ${pluginPath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Validate manifest\n const manifestPath = path.join(pluginPath, 'plugin.json')\n if (!fs.existsSync(manifestPath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'manifest',\n file: 'plugin.json',\n message: 'Plugin manifest (plugin.json) not found',\n },\n ],\n warnings: [],\n }\n }\n\n let manifest: PluginManifest\n try {\n const manifestContent = fs.readFileSync(manifestPath, 'utf-8')\n const manifestData = JSON.parse(manifestContent)\n\n // Validate with Zod schema\n const manifestResult = validateManifest(manifestData)\n errors.push(...manifestResult.errors)\n warnings.push(...manifestResult.warnings)\n\n if (!manifestResult.valid) {\n return { valid: false, errors, warnings }\n }\n\n manifest = manifestData as PluginManifest\n } catch (error) {\n return {\n valid: false,\n errors: [\n {\n type: 'manifest',\n file: 'plugin.json',\n message: `Failed to parse manifest: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n },\n ],\n warnings: [],\n }\n }\n\n // Validate engines compatibility\n if (manifest.engines) {\n const engineResult = await validateEngines(manifest.engines)\n errors.push(...engineResult.errors)\n warnings.push(...engineResult.warnings)\n }\n\n // Validate agent files\n if (manifest.agents && manifest.agents.length > 0) {\n for (const agentFile of manifest.agents) {\n const agentPath = path.join(pluginPath, agentFile)\n const result = validateAgentFile(agentPath)\n errors.push(...result.errors)\n warnings.push(...result.warnings)\n }\n }\n\n // Validate command files\n if (manifest.commands && manifest.commands.length > 0) {\n for (const commandFile of manifest.commands) {\n const commandPath = path.join(pluginPath, commandFile)\n const result = validateCommandFile(commandPath)\n errors.push(...result.errors)\n warnings.push(...result.warnings)\n }\n }\n\n // Validate skill files\n if (manifest.skills && manifest.skills.length > 0) {\n for (const skillFile of manifest.skills) {\n const skillPath = path.join(pluginPath, skillFile)\n const result = validateSkillFile(skillPath)\n errors.push(...result.errors)\n warnings.push(...result.warnings)\n }\n }\n\n // Validate hook files\n if (manifest.hooks && manifest.hooks.length > 0) {\n for (const hookFile of manifest.hooks) {\n const hookPath = path.join(pluginPath, hookFile)\n const result = validateHookFile(hookPath)\n errors.push(...result.errors)\n warnings.push(...result.warnings)\n }\n }\n\n // Validate MCP server configs\n // mcpServers can be either an array of file paths or an object with inline configs\n if (manifest.mcpServers) {\n if (Array.isArray(manifest.mcpServers) && manifest.mcpServers.length > 0) {\n for (const mcpFile of manifest.mcpServers) {\n const mcpPath = path.join(pluginPath, mcpFile)\n const result = validateMCPServerFile(mcpPath)\n errors.push(...result.errors)\n warnings.push(...result.warnings)\n }\n }\n // If it's an object (inline configs), skip file validation\n }\n\n // Check for unused files warning\n const componentFiles = new Set([\n ...(manifest.agents || []),\n ...(manifest.commands || []),\n ...(manifest.skills || []),\n ...(manifest.hooks || []),\n ...(Array.isArray(manifest.mcpServers) ? manifest.mcpServers : []),\n ])\n\n if (componentFiles.size === 0) {\n warnings.push({\n type: 'manifest',\n message:\n 'Plugin has no components (agents, commands, skills, hooks, or MCP servers)',\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate plugin manifest schema\n */\nexport function validateManifest(manifest: any): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check if manifest is an object\n if (!manifest || typeof manifest !== 'object') {\n return {\n valid: false,\n errors: [\n {\n type: 'manifest',\n message: 'Manifest must be a valid JSON object',\n },\n ],\n warnings: [],\n }\n }\n\n // Validate with Zod schema\n try {\n PluginManifestSchema.parse(manifest)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'manifest',\n message: `${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n } else {\n errors.push({\n type: 'manifest',\n message: `Manifest validation failed: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n }\n\n // Additional validations\n if (manifest.name && !/^[a-z0-9-]+$/.test(manifest.name)) {\n errors.push({\n type: 'manifest',\n message: 'Plugin name must be lowercase alphanumeric with hyphens only',\n details: { name: manifest.name },\n })\n }\n\n // Validate version format (semver)\n if (manifest.version && !semver.valid(manifest.version)) {\n errors.push({\n type: 'manifest',\n message: `Invalid version format: ${manifest.version}. Must follow semver (e.g., 1.0.0)`,\n details: { version: manifest.version },\n })\n }\n\n // Validate URLs\n if (manifest.homepage) {\n try {\n new URL(manifest.homepage)\n } catch {\n errors.push({\n type: 'manifest',\n message: `Invalid homepage URL: ${manifest.homepage}`,\n })\n }\n }\n\n if (manifest.repository) {\n try {\n new URL(manifest.repository)\n } catch {\n errors.push({\n type: 'manifest',\n message: `Invalid repository URL: ${manifest.repository}`,\n })\n }\n }\n\n // Warn about missing optional but recommended fields\n if (!manifest.description) {\n warnings.push({\n type: 'manifest',\n message: 'Missing recommended field: description',\n })\n }\n\n if (!manifest.author) {\n warnings.push({\n type: 'manifest',\n message: 'Missing recommended field: author',\n })\n }\n\n if (!manifest.license) {\n warnings.push({\n type: 'manifest',\n message: 'Missing recommended field: license',\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate engine version requirements\n */\nasync function validateEngines(engines: {\n minto?: string\n 'claude-code'?: string\n node?: string\n}): Promise<ValidationResult> {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Validate minto version\n if (engines.minto) {\n const validRange = semver.validRange(engines.minto)\n if (!validRange) {\n errors.push({\n type: 'engine',\n message: `Invalid minto version range: ${engines.minto}`,\n details: { engine: 'minto', range: engines.minto },\n })\n } else {\n // Check compatibility with current version\n try {\n const { VERSION } = await import('../version.js')\n if (!semver.satisfies(VERSION, engines.minto)) {\n warnings.push({\n type: 'engine',\n message: `Plugin requires minto ${engines.minto}, but current version is ${VERSION}`,\n })\n }\n } catch {\n // Unable to check current version, skip this validation\n }\n }\n }\n\n // Validate node version\n if (engines.node) {\n const validRange = semver.validRange(engines.node)\n if (!validRange) {\n errors.push({\n type: 'engine',\n message: `Invalid node version range: ${engines.node}`,\n details: { engine: 'node', range: engines.node },\n })\n } else {\n // Check compatibility with current node version\n if (!semver.satisfies(process.version, engines.node)) {\n warnings.push({\n type: 'engine',\n message: `Plugin requires node ${engines.node}, but current version is ${process.version}`,\n })\n }\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate agent file\n */\nexport function validateAgentFile(filePath: string): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check file exists\n if (!fs.existsSync(filePath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'agent',\n file: filePath,\n message: `Agent file not found: ${filePath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check file extension\n const ext = path.extname(filePath)\n if (ext !== '.md' && ext !== '.markdown') {\n warnings.push({\n type: 'agent',\n file: filePath,\n message: `Agent file should have .md or .markdown extension, got: ${ext}`,\n })\n }\n\n // Parse YAML frontmatter\n try {\n const content = fs.readFileSync(filePath, 'utf-8')\n const parsed = matter(content)\n\n // Validate frontmatter exists\n if (!parsed.data || Object.keys(parsed.data).length === 0) {\n errors.push({\n type: 'agent',\n file: filePath,\n message: 'Agent file must have YAML frontmatter',\n })\n return { valid: false, errors, warnings }\n }\n\n // Validate frontmatter schema\n try {\n AgentFrontmatterSchema.parse(parsed.data)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'agent',\n file: filePath,\n message: `Frontmatter ${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n }\n }\n\n // Check for content\n if (!parsed.content || parsed.content.trim().length === 0) {\n warnings.push({\n type: 'agent',\n file: filePath,\n message: 'Agent file has no content after frontmatter',\n })\n }\n\n // Validate tools field\n if (parsed.data.tools) {\n if (Array.isArray(parsed.data.tools)) {\n if (parsed.data.tools.length === 0) {\n errors.push({\n type: 'agent',\n file: filePath,\n message:\n 'Tools array cannot be empty (use \"*\" for all tools or omit the field)',\n })\n }\n } else if (parsed.data.tools !== '*') {\n errors.push({\n type: 'agent',\n file: filePath,\n message: 'Tools must be an array of tool names or \"*\" for all tools',\n details: { tools: parsed.data.tools },\n })\n }\n }\n } catch (error) {\n errors.push({\n type: 'agent',\n file: filePath,\n message: `Failed to parse agent file: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate command file\n */\nexport function validateCommandFile(filePath: string): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check file exists\n if (!fs.existsSync(filePath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'command',\n file: filePath,\n message: `Command file not found: ${filePath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check file extension\n const ext = path.extname(filePath)\n if (ext !== '.md' && ext !== '.markdown') {\n warnings.push({\n type: 'command',\n file: filePath,\n message: `Command file should have .md or .markdown extension, got: ${ext}`,\n })\n }\n\n // Parse YAML frontmatter\n try {\n const content = fs.readFileSync(filePath, 'utf-8')\n const parsed = matter(content)\n\n // Validate frontmatter exists\n if (!parsed.data || Object.keys(parsed.data).length === 0) {\n errors.push({\n type: 'command',\n file: filePath,\n message: 'Command file must have YAML frontmatter',\n })\n return { valid: false, errors, warnings }\n }\n\n // Validate frontmatter schema\n try {\n CommandFrontmatterSchema.parse(parsed.data)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'command',\n file: filePath,\n message: `Frontmatter ${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n }\n }\n\n // Check for content\n if (!parsed.content || parsed.content.trim().length === 0) {\n warnings.push({\n type: 'command',\n file: filePath,\n message: 'Command file has no content after frontmatter',\n })\n }\n\n // Validate name matches filename\n const filename = path.basename(filePath, path.extname(filePath))\n if (parsed.data.name && parsed.data.name !== filename) {\n warnings.push({\n type: 'command',\n file: filePath,\n message: `Command name \"${parsed.data.name}\" does not match filename \"${filename}\"`,\n })\n }\n } catch (error) {\n errors.push({\n type: 'command',\n file: filePath,\n message: `Failed to parse command file: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate skill file\n */\nexport function validateSkillFile(filePath: string): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check file exists\n if (!fs.existsSync(filePath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'skill',\n file: filePath,\n message: `Skill file not found: ${filePath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check file extension\n const ext = path.extname(filePath)\n if (ext !== '.md' && ext !== '.markdown') {\n warnings.push({\n type: 'skill',\n file: filePath,\n message: `Skill file should have .md or .markdown extension, got: ${ext}`,\n })\n }\n\n // Parse YAML frontmatter\n try {\n const content = fs.readFileSync(filePath, 'utf-8')\n const parsed = matter(content)\n\n // Validate frontmatter exists\n if (!parsed.data || Object.keys(parsed.data).length === 0) {\n errors.push({\n type: 'skill',\n file: filePath,\n message: 'Skill file must have YAML frontmatter',\n })\n return { valid: false, errors, warnings }\n }\n\n // Validate frontmatter schema\n try {\n SkillFrontmatterSchema.parse(parsed.data)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'skill',\n file: filePath,\n message: `Frontmatter ${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n }\n }\n\n // Check for content\n if (!parsed.content || parsed.content.trim().length === 0) {\n warnings.push({\n type: 'skill',\n file: filePath,\n message: 'Skill file has no content after frontmatter',\n })\n }\n } catch (error) {\n errors.push({\n type: 'skill',\n file: filePath,\n message: `Failed to parse skill file: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate hook file\n */\nexport function validateHookFile(filePath: string): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check file exists\n if (!fs.existsSync(filePath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'hook',\n file: filePath,\n message: `Hook file not found: ${filePath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check file extension\n const ext = path.extname(filePath)\n const validExtensions = ['.js', '.mjs', '.ts', '.tsx', '.json']\n if (!validExtensions.includes(ext)) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: `Hook file must have extension: ${validExtensions.join(', ')}. Got: ${ext}`,\n })\n return { valid: false, errors, warnings }\n }\n\n // For JSON hook configs, validate structure\n if (ext === '.json') {\n try {\n const content = fs.readFileSync(filePath, 'utf-8')\n const config = JSON.parse(content)\n\n // Validate hook config schema\n try {\n HookConfigSchema.parse(config)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: `Hook config ${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n }\n }\n\n // Type-specific validation\n if (config.type === 'command' && !config.command) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: 'Hook type \"command\" requires a \"command\" field',\n })\n }\n\n if (config.type === 'message' && !config.message) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: 'Hook type \"message\" requires a \"message\" field',\n })\n }\n } catch (error) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: `Failed to parse hook config: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n } else {\n // For JS/TS files, just check they're readable\n try {\n fs.readFileSync(filePath, 'utf-8')\n } catch (error) {\n errors.push({\n type: 'hook',\n file: filePath,\n message: `Failed to read hook file: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n\n // Warn about JS/TS hooks needing runtime validation\n warnings.push({\n type: 'hook',\n file: filePath,\n message: 'JavaScript/TypeScript hooks will be validated at runtime',\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate MCP server configuration file\n */\nexport function validateMCPServerFile(filePath: string): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n // Check file exists\n if (!fs.existsSync(filePath)) {\n return {\n valid: false,\n errors: [\n {\n type: 'mcp',\n file: filePath,\n message: `MCP server config file not found: ${filePath}`,\n },\n ],\n warnings: [],\n }\n }\n\n // Check file extension\n const ext = path.extname(filePath)\n if (ext !== '.json') {\n errors.push({\n type: 'mcp',\n file: filePath,\n message: `MCP server config must be a JSON file, got: ${ext}`,\n })\n return { valid: false, errors, warnings }\n }\n\n // Parse and validate JSON\n try {\n const content = fs.readFileSync(filePath, 'utf-8')\n const config = JSON.parse(content)\n\n // Validate MCP config schema\n try {\n MCPServerConfigSchema.parse(config)\n } catch (error) {\n if (error instanceof z.ZodError) {\n for (const issue of error.errors) {\n errors.push({\n type: 'mcp',\n file: filePath,\n message: `MCP config ${issue.path.join('.')}: ${issue.message}`,\n details: issue,\n })\n }\n }\n }\n\n // Validate command is not empty\n if (config.command && config.command.trim().length === 0) {\n errors.push({\n type: 'mcp',\n file: filePath,\n message: 'MCP server command cannot be empty',\n })\n }\n\n // Warn about timeout\n if (config.timeout && config.timeout < 1000) {\n warnings.push({\n type: 'mcp',\n file: filePath,\n message: `MCP server timeout is very low (${config.timeout}ms), consider increasing`,\n })\n }\n } catch (error) {\n errors.push({\n type: 'mcp',\n file: filePath,\n message: `Failed to parse MCP server config: ${error instanceof Error ? error.message : String(error)}`,\n details: error,\n })\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Validate plugin dependencies\n */\nexport function validateDependencies(\n dependencies: Record<string, string>,\n installedPackages?: Set<string>,\n): ValidationResult {\n const errors: ValidationError[] = []\n const warnings: ValidationWarning[] = []\n\n for (const [pkg, version] of Object.entries(dependencies)) {\n // Validate version format\n const validRange = semver.validRange(version)\n if (!validRange) {\n errors.push({\n type: 'dependency',\n message: `Invalid version range for ${pkg}: ${version}`,\n details: { package: pkg, version },\n })\n }\n\n // Check if installed (if provided)\n if (installedPackages && !installedPackages.has(pkg)) {\n warnings.push({\n type: 'dependency',\n message: `Dependency not installed: ${pkg}@${version}`,\n })\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Batch validate multiple plugins\n */\nexport async function validatePlugins(\n pluginPaths: string[],\n): Promise<Map<string, ValidationResult>> {\n const results = new Map<string, ValidationResult>()\n\n await Promise.all(\n pluginPaths.map(async pluginPath => {\n const result = await validatePlugin(pluginPath)\n results.set(pluginPath, result)\n }),\n )\n\n return results\n}\n\n/**\n * Format validation result as human-readable string\n */\nexport function formatValidationResult(\n result: ValidationResult,\n pluginName?: string,\n): string {\n const lines: string[] = []\n\n if (pluginName) {\n lines.push(`Plugin: ${pluginName}`)\n }\n\n if (result.valid) {\n lines.push('\u2713 Validation passed')\n } else {\n lines.push(`\u2717 Validation failed with ${result.errors.length} error(s)`)\n }\n\n if (result.errors.length > 0) {\n lines.push('\\nErrors:')\n for (const error of result.errors) {\n const location = error.file ? ` (${error.file})` : ''\n lines.push(` \u2022 [${error.type}]${location} ${error.message}`)\n }\n }\n\n if (result.warnings.length > 0) {\n lines.push('\\nWarnings:')\n for (const warning of result.warnings) {\n const location = warning.file ? ` (${warning.file})` : ''\n lines.push(` \u2022 [${warning.type}]${location} ${warning.message}`)\n }\n }\n\n return lines.join('\\n')\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,125 +0,0 @@
1
- function validateRawModeSupport(stream) {
2
- if (!stream.isTTY) {
3
- return {
4
- supported: false,
5
- reason: "Not a TTY device",
6
- environmentHint: "piped input or redirected stream"
7
- };
8
- }
9
- if (typeof stream.setRawMode !== "function") {
10
- return {
11
- supported: false,
12
- reason: "setRawMode method not available",
13
- environmentHint: "non-standard TTY implementation"
14
- };
15
- }
16
- try {
17
- const ttyStream = stream;
18
- ttyStream.setRawMode(true);
19
- ttyStream.setRawMode(false);
20
- return { supported: true };
21
- } catch (err) {
22
- const error = err;
23
- const errorCode = error.code || "UNKNOWN";
24
- const errorMsg = error.message || "Unknown error";
25
- let environmentHint = "incompatible terminal environment";
26
- if (errorCode === "EIO") {
27
- environmentHint = "Docker container, VS Code terminal, or nested tmux/screen";
28
- } else if (errorCode === "ENOTTY") {
29
- environmentHint = "not connected to a terminal device";
30
- }
31
- return {
32
- supported: false,
33
- reason: `setRawMode failed: ${errorCode} - ${errorMsg}`,
34
- environmentHint
35
- };
36
- }
37
- }
38
- function requireRawModeOrExit(stream, exitOnFailure = true) {
39
- const result = validateRawModeSupport(stream);
40
- if (!result.supported) {
41
- console.error("");
42
- console.error("\u274C Interactive mode is not supported in this environment");
43
- console.error(` Reason: ${result.reason}`);
44
- if (result.environmentHint) {
45
- console.error(` Likely: ${result.environmentHint}`);
46
- }
47
- console.error("");
48
- console.error("\u{1F4CB} Solutions:");
49
- console.error(" 1. Use a native terminal application:");
50
- console.error(" \u2022 macOS: Terminal.app, iTerm2, Warp");
51
- console.error(" \u2022 Linux: GNOME Terminal, Konsole, xterm");
52
- console.error(" \u2022 Windows: Windows Terminal, ConEmu");
53
- console.error("");
54
- console.error(" 2. Skip interactive onboarding:");
55
- console.error(' export ANTHROPIC_API_KEY="sk-ant-..."');
56
- console.error(" minto config set -g hasCompletedOnboarding true");
57
- console.error("");
58
- console.error(" 3. Use non-interactive mode:");
59
- console.error(' minto --print "your prompt here"');
60
- console.error(' echo "prompt" | minto');
61
- console.error("");
62
- if (exitOnFailure) {
63
- process.exit(1);
64
- }
65
- return false;
66
- }
67
- return true;
68
- }
69
- function describeTerminalEnvironment() {
70
- const descriptions = [];
71
- if (process.stdin.isTTY) {
72
- descriptions.push("TTY");
73
- } else {
74
- descriptions.push("non-TTY");
75
- }
76
- if (process.env.TERM) {
77
- descriptions.push(`TERM=${process.env.TERM}`);
78
- }
79
- if (process.env.TERM_PROGRAM) {
80
- descriptions.push(`${process.env.TERM_PROGRAM}`);
81
- }
82
- if (process.env.VSCODE_INJECTION) {
83
- descriptions.push("VS Code terminal");
84
- }
85
- if (process.env.TMUX) {
86
- descriptions.push("tmux session");
87
- }
88
- if (process.env.STY) {
89
- descriptions.push("GNU screen");
90
- }
91
- try {
92
- const fs = require("fs");
93
- if (fs.existsSync("/.dockerenv")) {
94
- descriptions.push("Docker container");
95
- }
96
- } catch {
97
- }
98
- return descriptions.join(", ");
99
- }
100
- function logTerminalDiagnostics() {
101
- console.log("");
102
- console.log("\u{1F50D} Terminal Environment Diagnostics:");
103
- console.log(` Description: ${describeTerminalEnvironment()}`);
104
- console.log(` stdin.isTTY: ${process.stdin.isTTY}`);
105
- console.log(` stdout.isTTY: ${process.stdout.isTTY}`);
106
- console.log(
107
- ` setRawMode available: ${typeof process.stdin.setRawMode === "function"}`
108
- );
109
- const result = validateRawModeSupport(process.stdin);
110
- console.log(` Raw mode supported: ${result.supported}`);
111
- if (!result.supported) {
112
- console.log(` Reason: ${result.reason}`);
113
- if (result.environmentHint) {
114
- console.log(` Hint: ${result.environmentHint}`);
115
- }
116
- }
117
- console.log("");
118
- }
119
- export {
120
- describeTerminalEnvironment,
121
- logTerminalDiagnostics,
122
- requireRawModeOrExit,
123
- validateRawModeSupport
124
- };
125
- //# sourceMappingURL=ptyCompat.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/ptyCompat.ts"],
4
- "sourcesContent": ["/**\n * PTY Compatibility Utilities\n *\n * This module provides utilities to detect and handle environments where\n * setRawMode is not supported (e.g., Docker containers, VS Code terminals,\n * SSH sessions with incomplete TTY forwarding, etc.)\n */\n\nimport { ReadStream } from 'tty'\n\nexport interface RawModeCheckResult {\n supported: boolean\n reason?: string\n environmentHint?: string\n}\n\n/**\n * Validate if a stream truly supports raw mode\n *\n * Note: Some environments report isTTY=true but still fail on setRawMode\n * with EIO errors. This function performs an actual test.\n *\n * @param stream - The input stream to test (usually process.stdin)\n * @returns Check result with support status and diagnostic info\n */\nexport function validateRawModeSupport(\n stream: NodeJS.ReadStream,\n): RawModeCheckResult {\n // Check 1: Must be a TTY\n if (!stream.isTTY) {\n return {\n supported: false,\n reason: 'Not a TTY device',\n environmentHint: 'piped input or redirected stream',\n }\n }\n\n // Check 2: Must have setRawMode method\n if (typeof (stream as any).setRawMode !== 'function') {\n return {\n supported: false,\n reason: 'setRawMode method not available',\n environmentHint: 'non-standard TTY implementation',\n }\n }\n\n // Check 3: Actually test setRawMode (catches EIO errors)\n try {\n const ttyStream = stream as ReadStream\n ttyStream.setRawMode(true)\n ttyStream.setRawMode(false)\n return { supported: true }\n } catch (err) {\n const error = err as NodeJS.ErrnoException\n const errorCode = error.code || 'UNKNOWN'\n const errorMsg = error.message || 'Unknown error'\n\n // Detect common problematic environments\n let environmentHint = 'incompatible terminal environment'\n\n if (errorCode === 'EIO') {\n // EIO is the most common error in problematic PTY environments\n environmentHint =\n 'Docker container, VS Code terminal, or nested tmux/screen'\n } else if (errorCode === 'ENOTTY') {\n environmentHint = 'not connected to a terminal device'\n }\n\n return {\n supported: false,\n reason: `setRawMode failed: ${errorCode} - ${errorMsg}`,\n environmentHint,\n }\n }\n}\n\n/**\n * Quick check function that exits the process if raw mode is not supported\n * Use this for commands that absolutely require interactive mode\n *\n * @param stream - The input stream to check\n * @param exitOnFailure - Whether to exit process on failure (default: true)\n */\nexport function requireRawModeOrExit(\n stream: NodeJS.ReadStream,\n exitOnFailure = true,\n): boolean {\n const result = validateRawModeSupport(stream)\n\n if (!result.supported) {\n console.error('')\n console.error('\u274C Interactive mode is not supported in this environment')\n console.error(` Reason: ${result.reason}`)\n if (result.environmentHint) {\n console.error(` Likely: ${result.environmentHint}`)\n }\n console.error('')\n console.error('\uD83D\uDCCB Solutions:')\n console.error(' 1. Use a native terminal application:')\n console.error(' \u2022 macOS: Terminal.app, iTerm2, Warp')\n console.error(' \u2022 Linux: GNOME Terminal, Konsole, xterm')\n console.error(' \u2022 Windows: Windows Terminal, ConEmu')\n console.error('')\n console.error(' 2. Skip interactive onboarding:')\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 here\"')\n console.error(' echo \"prompt\" | minto')\n console.error('')\n\n if (exitOnFailure) {\n process.exit(1)\n }\n return false\n }\n\n return true\n}\n\n/**\n * Get a user-friendly description of the current terminal environment\n */\nexport function describeTerminalEnvironment(): string {\n const descriptions: string[] = []\n\n if (process.stdin.isTTY) {\n descriptions.push('TTY')\n } else {\n descriptions.push('non-TTY')\n }\n\n if (process.env.TERM) {\n descriptions.push(`TERM=${process.env.TERM}`)\n }\n\n if (process.env.TERM_PROGRAM) {\n descriptions.push(`${process.env.TERM_PROGRAM}`)\n }\n\n // Detect common environments\n if (process.env.VSCODE_INJECTION) {\n descriptions.push('VS Code terminal')\n }\n\n if (process.env.TMUX) {\n descriptions.push('tmux session')\n }\n\n if (process.env.STY) {\n descriptions.push('GNU screen')\n }\n\n // Check if running in Docker\n try {\n const fs = require('fs')\n if (fs.existsSync('/.dockerenv')) {\n descriptions.push('Docker container')\n }\n } catch {\n // Ignore\n }\n\n return descriptions.join(', ')\n}\n\n/**\n * Log diagnostic information about the terminal environment\n * Useful for debugging PTY compatibility issues\n */\nexport function logTerminalDiagnostics(): void {\n console.log('')\n console.log('\uD83D\uDD0D Terminal Environment Diagnostics:')\n console.log(` Description: ${describeTerminalEnvironment()}`)\n console.log(` stdin.isTTY: ${process.stdin.isTTY}`)\n console.log(` stdout.isTTY: ${process.stdout.isTTY}`)\n console.log(\n ` setRawMode available: ${typeof (process.stdin as any).setRawMode === 'function'}`,\n )\n\n const result = validateRawModeSupport(process.stdin)\n console.log(` Raw mode supported: ${result.supported}`)\n if (!result.supported) {\n console.log(` Reason: ${result.reason}`)\n if (result.environmentHint) {\n console.log(` Hint: ${result.environmentHint}`)\n }\n }\n console.log('')\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,145 +0,0 @@
1
- import { useState, useCallback } from "react";
2
- function useREPLStateMachine(initialState = { type: "Idle" }) {
3
- const [state, setState] = useState(initialState);
4
- const transitions = {
5
- /** 转到空闲状态 */
6
- toIdle: useCallback(() => {
7
- setState({ type: "Idle" });
8
- }, []),
9
- /** 转到用户输入状态 */
10
- toUserTyping: useCallback(() => {
11
- setState({ type: "UserTyping" });
12
- }, []),
13
- /** 转到用户已提交状态 */
14
- toUserSubmitted: useCallback(() => {
15
- setState({ type: "UserSubmitted" });
16
- }, []),
17
- /** 转到 AI 思考状态 */
18
- toAgentThinking: useCallback((message, spinnerFrame) => {
19
- setState({ type: "AgentThinking", message, spinnerFrame });
20
- }, []),
21
- /** 更新思考消息 (原地更新,不改变状态类型) */
22
- updateThinkingMessage: useCallback(
23
- (message, spinnerFrame) => {
24
- setState((prev) => {
25
- if (prev.type === "AgentThinking") {
26
- return { ...prev, message, spinnerFrame };
27
- }
28
- return prev;
29
- });
30
- },
31
- []
32
- ),
33
- /** 转到工具提议状态 */
34
- toAgentProposingTool: useCallback(
35
- (toolUse, toolJSX) => {
36
- setState({ type: "AgentProposingTool", toolUse, toolJSX });
37
- },
38
- []
39
- ),
40
- /** 转到工具执行状态 */
41
- toToolExecuting: useCallback(
42
- (toolUse, output) => {
43
- setState({ type: "ToolExecuting", toolUse, output });
44
- },
45
- []
46
- ),
47
- /** 更新工具执行输出 (原地更新) */
48
- updateToolOutput: useCallback((output) => {
49
- setState((prev) => {
50
- if (prev.type === "ToolExecuting") {
51
- return { ...prev, output };
52
- }
53
- return prev;
54
- });
55
- }, []),
56
- /** 转到 AI 回答状态 */
57
- toAgentResponding: useCallback(
58
- (streamingText, isComplete) => {
59
- setState({ type: "AgentResponding", streamingText, isComplete });
60
- },
61
- []
62
- ),
63
- /** 更新流式回答文本 (原地更新) */
64
- updateStreamingText: useCallback(
65
- (streamingText, isComplete) => {
66
- setState((prev) => {
67
- if (prev.type === "AgentResponding") {
68
- return { ...prev, streamingText, isComplete };
69
- }
70
- return prev;
71
- });
72
- },
73
- []
74
- ),
75
- /** 转到二元反馈状态 */
76
- toBinaryFeedback: useCallback((context) => {
77
- setState({ type: "BinaryFeedback", context });
78
- }, []),
79
- /** 转到错误状态 */
80
- toError: useCallback((error, canRecover = true) => {
81
- setState({ type: "Error", error, canRecover });
82
- }, []),
83
- /** 转到消息选择器状态 */
84
- toMessageSelector: useCallback(() => {
85
- setState({ type: "MessageSelector" });
86
- }, [])
87
- };
88
- const is = {
89
- idle: state.type === "Idle",
90
- userTyping: state.type === "UserTyping",
91
- userSubmitted: state.type === "UserSubmitted",
92
- agentThinking: state.type === "AgentThinking",
93
- agentProposingTool: state.type === "AgentProposingTool",
94
- toolExecuting: state.type === "ToolExecuting",
95
- agentResponding: state.type === "AgentResponding",
96
- binaryFeedback: state.type === "BinaryFeedback",
97
- error: state.type === "Error",
98
- messageSelector: state.type === "MessageSelector",
99
- /** 是否可以接受用户输入 */
100
- canAcceptInput: state.type === "Idle" || state.type === "UserTyping" || state.type === "Error",
101
- /** 是否正在加载 (思考、执行、回答) */
102
- loading: state.type === "AgentThinking" || state.type === "ToolExecuting" || state.type === "AgentResponding" || state.type === "UserSubmitted",
103
- /** 是否需要用户交互 (确认工具、二元反馈、消息选择) */
104
- needsUserInteraction: state.type === "AgentProposingTool" || state.type === "BinaryFeedback" || state.type === "MessageSelector"
105
- };
106
- return {
107
- /** 当前状态 */
108
- state,
109
- /** 状态转换函数 */
110
- transitions,
111
- /** 状态查询辅助 */
112
- is,
113
- /** 直接设置状态 (高级用法) */
114
- setState
115
- };
116
- }
117
- function getStateName(state) {
118
- switch (state.type) {
119
- case "Idle":
120
- return "\u23F8 Idle";
121
- case "UserTyping":
122
- return "\u2328\uFE0F UserTyping";
123
- case "UserSubmitted":
124
- return "\u23F3 UserSubmitted";
125
- case "AgentThinking":
126
- return `\u{1F914} AgentThinking: ${state.message}`;
127
- case "AgentProposingTool":
128
- return `\u{1F527} AgentProposingTool: ${state.toolUse.name}`;
129
- case "ToolExecuting":
130
- return `\u2699\uFE0F ToolExecuting: ${state.toolUse.name}`;
131
- case "AgentResponding":
132
- return `\u{1F4AC} AgentResponding (${state.streamingText.length} chars)`;
133
- case "BinaryFeedback":
134
- return "\u{1F937} BinaryFeedback";
135
- case "Error":
136
- return `\u274C Error: ${state.error}`;
137
- case "MessageSelector":
138
- return "\u{1F4DC} MessageSelector";
139
- }
140
- }
141
- export {
142
- getStateName,
143
- useREPLStateMachine
144
- };
145
- //# sourceMappingURL=replStateMachine.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/replStateMachine.ts"],
4
- "sourcesContent": ["/**\n * REPL \u72B6\u6001\u673A - Claude Code CLI \u98CE\u683C\n *\n * \u6838\u5FC3\u7406\u5FF5\uFF1A\n * 1. \u663E\u5F0F\u72B6\u6001 - \u6E05\u6670\u5B9A\u4E49\u6BCF\u4E2A REPL \u72B6\u6001\n * 2. \u72B6\u6001\u8F6C\u6362 - \u660E\u786E\u7684\u72B6\u6001\u8F6C\u6362\u51FD\u6570\n * 3. \u6E32\u67D3\u9694\u79BB - \u6BCF\u4E2A\u72B6\u6001\u5BF9\u5E94\u72EC\u7ACB\u7684 UI \u6E32\u67D3\n * 4. \u4E92\u65A5\u4FDD\u8BC1 - \u540C\u4E00\u65F6\u95F4\u53EA\u6709\u4E00\u4E2A\u6D3B\u8DC3\u72B6\u6001\n *\n * \u8FD9\u6D88\u9664\u4E86 REPL.tsx \u4E2D\u590D\u6742\u7684 flag \u7EC4\u5408\u903B\u8F91\n */\n\nimport * as React from 'react'\nimport { useState, useCallback } from 'react'\nimport type { ToolUseBlockParam } from '@anthropic-ai/sdk/resources/index.mjs'\nimport type { BinaryFeedbackContext } from '@screens/REPL'\n\n/**\n * REPL \u7684\u6240\u6709\u53EF\u80FD\u72B6\u6001\n *\n * \u57FA\u4E8E Claude Code CLI \u7684\u72B6\u6001\u673A\u8BBE\u8BA1\n */\nexport type REPLState =\n /** \u7A7A\u95F2 - \u7B49\u5F85\u7528\u6237\u8F93\u5165 */\n | { type: 'Idle' }\n\n /** \u7528\u6237\u8F93\u5165\u4E2D - \u7528\u6237\u6B63\u5728\u5E95\u90E8\u8F93\u5165\u6846\u952E\u5165 */\n | { type: 'UserTyping' }\n\n /** \u7528\u6237\u5DF2\u63D0\u4EA4 - \u7B49\u5F85 AI \u5904\u7406 */\n | { type: 'UserSubmitted' }\n\n /** AI \u601D\u8003\u4E2D - \u8BFB\u53D6\u6587\u4EF6\u3001\u5206\u6790\u4EE3\u7801\u7B49 */\n | {\n type: 'AgentThinking'\n /** \u5F53\u524D\u601D\u8003\u9636\u6BB5\u7684\u6D88\u606F (\u4F8B\u5982\uFF1A\"Reading file...\", \"Analyzing code...\") */\n message: string\n /** Spinner \u52A8\u753B\u5E27\u7D22\u5F15 */\n spinnerFrame?: number\n }\n\n /** AI \u63D0\u8BAE\u5DE5\u5177\u6267\u884C - \u7B49\u5F85\u7528\u6237\u786E\u8BA4 */\n | {\n type: 'AgentProposingTool'\n /** \u8981\u6267\u884C\u7684\u5DE5\u5177\u8C03\u7528 */\n toolUse: ToolUseBlockParam\n /** \u5DE5\u5177\u7684 JSX \u5C55\u793A (\u53EF\u9009\uFF0C\u7528\u4E8E\u590D\u6742\u7684\u5DE5\u5177 UI) */\n toolJSX?: React.ReactNode\n }\n\n /** \u5DE5\u5177\u6267\u884C\u4E2D - \u547D\u4EE4\u8FD0\u884C\u3001\u6587\u4EF6\u4FEE\u6539\u7B49 */\n | {\n type: 'ToolExecuting'\n /** \u6B63\u5728\u6267\u884C\u7684\u5DE5\u5177\u8C03\u7528 */\n toolUse: ToolUseBlockParam\n /** \u5B9E\u65F6\u8F93\u51FA */\n output?: string\n }\n\n /** AI \u56DE\u7B54\u4E2D - \u6D41\u5F0F\u8F93\u51FA\u6700\u7EC8\u56DE\u590D */\n | {\n type: 'AgentResponding'\n /** \u5F53\u524D\u5DF2\u63A5\u6536\u7684\u6587\u672C */\n streamingText: string\n /** \u662F\u5426\u5B8C\u6210 */\n isComplete: boolean\n }\n\n /** \u4E8C\u5143\u53CD\u9988 - A/B \u6D4B\u8BD5\u9009\u62E9 */\n | {\n type: 'BinaryFeedback'\n context: BinaryFeedbackContext\n }\n\n /** \u9519\u8BEF - \u663E\u793A\u9519\u8BEF\u4FE1\u606F */\n | {\n type: 'Error'\n error: string\n /** \u53EF\u4EE5\u4ECE\u9519\u8BEF\u6062\u590D\u5230\u7A7A\u95F2\u72B6\u6001 */\n canRecover: boolean\n }\n\n /** \u6D88\u606F\u9009\u62E9\u5668 - \u7528\u6237\u6D4F\u89C8\u5386\u53F2\u6D88\u606F */\n | { type: 'MessageSelector' }\n\n/**\n * REPL \u72B6\u6001\u673A Hook\n *\n * \u63D0\u4F9B\u6E05\u6670\u7684\u72B6\u6001\u7BA1\u7406\u548C\u8F6C\u6362\u63A5\u53E3\n */\nexport function useREPLStateMachine(\n initialState: REPLState = { type: 'Idle' },\n) {\n const [state, setState] = useState<REPLState>(initialState)\n\n /**\n * \u72B6\u6001\u8F6C\u6362\u51FD\u6570\u96C6\u5408\n *\n * \u6BCF\u4E2A\u51FD\u6570\u5BF9\u5E94\u4E00\u4E2A\u660E\u786E\u7684\u72B6\u6001\u8F6C\u6362\u52A8\u4F5C\n */\n const transitions = {\n /** \u8F6C\u5230\u7A7A\u95F2\u72B6\u6001 */\n toIdle: useCallback(() => {\n setState({ type: 'Idle' })\n }, []),\n\n /** \u8F6C\u5230\u7528\u6237\u8F93\u5165\u72B6\u6001 */\n toUserTyping: useCallback(() => {\n setState({ type: 'UserTyping' })\n }, []),\n\n /** \u8F6C\u5230\u7528\u6237\u5DF2\u63D0\u4EA4\u72B6\u6001 */\n toUserSubmitted: useCallback(() => {\n setState({ type: 'UserSubmitted' })\n }, []),\n\n /** \u8F6C\u5230 AI \u601D\u8003\u72B6\u6001 */\n toAgentThinking: useCallback((message: string, spinnerFrame?: number) => {\n setState({ type: 'AgentThinking', message, spinnerFrame })\n }, []),\n\n /** \u66F4\u65B0\u601D\u8003\u6D88\u606F (\u539F\u5730\u66F4\u65B0\uFF0C\u4E0D\u6539\u53D8\u72B6\u6001\u7C7B\u578B) */\n updateThinkingMessage: useCallback(\n (message: string, spinnerFrame?: number) => {\n setState(prev => {\n if (prev.type === 'AgentThinking') {\n return { ...prev, message, spinnerFrame }\n }\n return prev\n })\n },\n [],\n ),\n\n /** \u8F6C\u5230\u5DE5\u5177\u63D0\u8BAE\u72B6\u6001 */\n toAgentProposingTool: useCallback(\n (toolUse: ToolUseBlockParam, toolJSX?: React.ReactNode) => {\n setState({ type: 'AgentProposingTool', toolUse, toolJSX })\n },\n [],\n ),\n\n /** \u8F6C\u5230\u5DE5\u5177\u6267\u884C\u72B6\u6001 */\n toToolExecuting: useCallback(\n (toolUse: ToolUseBlockParam, output?: string) => {\n setState({ type: 'ToolExecuting', toolUse, output })\n },\n [],\n ),\n\n /** \u66F4\u65B0\u5DE5\u5177\u6267\u884C\u8F93\u51FA (\u539F\u5730\u66F4\u65B0) */\n updateToolOutput: useCallback((output: string) => {\n setState(prev => {\n if (prev.type === 'ToolExecuting') {\n return { ...prev, output }\n }\n return prev\n })\n }, []),\n\n /** \u8F6C\u5230 AI \u56DE\u7B54\u72B6\u6001 */\n toAgentResponding: useCallback(\n (streamingText: string, isComplete: boolean) => {\n setState({ type: 'AgentResponding', streamingText, isComplete })\n },\n [],\n ),\n\n /** \u66F4\u65B0\u6D41\u5F0F\u56DE\u7B54\u6587\u672C (\u539F\u5730\u66F4\u65B0) */\n updateStreamingText: useCallback(\n (streamingText: string, isComplete: boolean) => {\n setState(prev => {\n if (prev.type === 'AgentResponding') {\n return { ...prev, streamingText, isComplete }\n }\n return prev\n })\n },\n [],\n ),\n\n /** \u8F6C\u5230\u4E8C\u5143\u53CD\u9988\u72B6\u6001 */\n toBinaryFeedback: useCallback((context: BinaryFeedbackContext) => {\n setState({ type: 'BinaryFeedback', context })\n }, []),\n\n /** \u8F6C\u5230\u9519\u8BEF\u72B6\u6001 */\n toError: useCallback((error: string, canRecover: boolean = true) => {\n setState({ type: 'Error', error, canRecover })\n }, []),\n\n /** \u8F6C\u5230\u6D88\u606F\u9009\u62E9\u5668\u72B6\u6001 */\n toMessageSelector: useCallback(() => {\n setState({ type: 'MessageSelector' })\n }, []),\n }\n\n /**\n * \u72B6\u6001\u67E5\u8BE2\u8F85\u52A9\u51FD\u6570\n */\n const is = {\n idle: state.type === 'Idle',\n userTyping: state.type === 'UserTyping',\n userSubmitted: state.type === 'UserSubmitted',\n agentThinking: state.type === 'AgentThinking',\n agentProposingTool: state.type === 'AgentProposingTool',\n toolExecuting: state.type === 'ToolExecuting',\n agentResponding: state.type === 'AgentResponding',\n binaryFeedback: state.type === 'BinaryFeedback',\n error: state.type === 'Error',\n messageSelector: state.type === 'MessageSelector',\n\n /** \u662F\u5426\u53EF\u4EE5\u63A5\u53D7\u7528\u6237\u8F93\u5165 */\n canAcceptInput:\n state.type === 'Idle' ||\n state.type === 'UserTyping' ||\n state.type === 'Error',\n\n /** \u662F\u5426\u6B63\u5728\u52A0\u8F7D (\u601D\u8003\u3001\u6267\u884C\u3001\u56DE\u7B54) */\n loading:\n state.type === 'AgentThinking' ||\n state.type === 'ToolExecuting' ||\n state.type === 'AgentResponding' ||\n state.type === 'UserSubmitted',\n\n /** \u662F\u5426\u9700\u8981\u7528\u6237\u4EA4\u4E92 (\u786E\u8BA4\u5DE5\u5177\u3001\u4E8C\u5143\u53CD\u9988\u3001\u6D88\u606F\u9009\u62E9) */\n needsUserInteraction:\n state.type === 'AgentProposingTool' ||\n state.type === 'BinaryFeedback' ||\n state.type === 'MessageSelector',\n }\n\n return {\n /** \u5F53\u524D\u72B6\u6001 */\n state,\n /** \u72B6\u6001\u8F6C\u6362\u51FD\u6570 */\n transitions,\n /** \u72B6\u6001\u67E5\u8BE2\u8F85\u52A9 */\n is,\n /** \u76F4\u63A5\u8BBE\u7F6E\u72B6\u6001 (\u9AD8\u7EA7\u7528\u6CD5) */\n setState,\n }\n}\n\n/**\n * \u72B6\u6001\u673A\u8C03\u8BD5\u8F85\u52A9\n */\nexport function getStateName(state: REPLState): string {\n switch (state.type) {\n case 'Idle':\n return '\u23F8 Idle'\n case 'UserTyping':\n return '\u2328\uFE0F UserTyping'\n case 'UserSubmitted':\n return '\u23F3 UserSubmitted'\n case 'AgentThinking':\n return `\uD83E\uDD14 AgentThinking: ${state.message}`\n case 'AgentProposingTool':\n return `\uD83D\uDD27 AgentProposingTool: ${state.toolUse.name}`\n case 'ToolExecuting':\n return `\u2699\uFE0F ToolExecuting: ${state.toolUse.name}`\n case 'AgentResponding':\n return `\uD83D\uDCAC AgentResponding (${state.streamingText.length} chars)`\n case 'BinaryFeedback':\n return '\uD83E\uDD37 BinaryFeedback'\n case 'Error':\n return `\u274C Error: ${state.error}`\n case 'MessageSelector':\n return '\uD83D\uDCDC MessageSelector'\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,110 +0,0 @@
1
- import { existsSync, mkdirSync, rmSync, writeFileSync } from "fs";
2
- import { join, dirname, isAbsolute } from "path";
3
- import { tmpdir } from "os";
4
- import { execFileNoThrow } from "./execFileNoThrow.js";
5
- async function fetchRepo(source, targetDir) {
6
- if (source.type === "github") {
7
- return fetchGitHubRepo(source.repo, source.ref, targetDir);
8
- }
9
- const ghMatch = source.url.match(/github\.com[/:]([^/]+\/[^/.]+?)(?:\.git)?$/);
10
- if (ghMatch) {
11
- return fetchGitHubRepo(ghMatch[1], source.ref, targetDir);
12
- }
13
- await gitCloneFallback(source.url, source.ref, targetDir);
14
- }
15
- async function fetchGitHubRepo(repo, ref, targetDir) {
16
- try {
17
- await fetchGitHubTarball(repo, ref, targetDir);
18
- } catch {
19
- const url = `https://github.com/${repo}.git`;
20
- await gitCloneFallback(url, ref, targetDir);
21
- }
22
- }
23
- async function fetchGitHubTarball(repo, ref, targetDir) {
24
- const url = ref ? `https://api.github.com/repos/${repo}/tarball/${ref}` : `https://api.github.com/repos/${repo}/tarball`;
25
- await downloadAndExtractTarball(url, targetDir);
26
- }
27
- async function downloadAndExtractTarball(url, targetDir) {
28
- if (!existsSync(targetDir)) {
29
- mkdirSync(targetDir, { recursive: true });
30
- }
31
- const tmpFile = join(
32
- tmpdir(),
33
- `minto-tarball-${Date.now()}-${Math.random().toString(36).slice(2)}.tar.gz`
34
- );
35
- try {
36
- const response = await fetch(url, {
37
- redirect: "follow",
38
- signal: AbortSignal.timeout(6e4)
39
- });
40
- if (!response.ok) {
41
- throw new Error(`HTTP ${response.status} ${response.statusText}`);
42
- }
43
- const buffer = Buffer.from(await response.arrayBuffer());
44
- writeFileSync(tmpFile, buffer);
45
- const result = await execFileNoThrow("tar", [
46
- "xzf",
47
- tmpFile,
48
- "-C",
49
- targetDir,
50
- "--strip-components=1"
51
- ]);
52
- if (result.code !== 0) {
53
- throw new Error(
54
- `tar extraction failed: ${result.stderr || result.stdout}`
55
- );
56
- }
57
- } finally {
58
- try {
59
- if (existsSync(tmpFile)) {
60
- rmSync(tmpFile, { force: true });
61
- }
62
- } catch {
63
- }
64
- }
65
- }
66
- async function gitCloneFallback(url, ref, targetDir) {
67
- await ensureGitEnv();
68
- if (existsSync(targetDir)) {
69
- rmSync(targetDir, { recursive: true, force: true });
70
- }
71
- const args = ["clone", "--depth", "1"];
72
- if (ref) {
73
- args.push("--branch", ref);
74
- }
75
- args.push(url, targetDir);
76
- const result = await execFileNoThrow("git", args);
77
- if (result.code !== 0) {
78
- throw new Error(`Git clone failed: ${result.stderr || result.stdout}`);
79
- }
80
- }
81
- let gitEnvFixed = false;
82
- async function ensureGitEnv() {
83
- if (gitEnvFixed) return;
84
- gitEnvFixed = true;
85
- if (process.env.GIT_EXEC_PATH) return;
86
- try {
87
- const result = await execFileNoThrow("git", ["--exec-path"]);
88
- const execPath = result.stdout.trim();
89
- if (execPath && (execPath.startsWith("//") || !isAbsolute(execPath))) {
90
- const whichResult = await execFileNoThrow("which", ["git"]);
91
- const gitBin = whichResult.stdout.trim();
92
- if (gitBin) {
93
- const prefix = dirname(dirname(gitBin));
94
- const fixedExecPath = join(prefix, "libexec", "git-core");
95
- if (existsSync(fixedExecPath)) {
96
- process.env.GIT_EXEC_PATH = fixedExecPath;
97
- const templateDir = join(prefix, "share", "git-core", "templates");
98
- if (existsSync(templateDir) && !process.env.GIT_TEMPLATE_DIR) {
99
- process.env.GIT_TEMPLATE_DIR = templateDir;
100
- }
101
- }
102
- }
103
- }
104
- } catch {
105
- }
106
- }
107
- export {
108
- fetchRepo
109
- };
110
- //# sourceMappingURL=repoFetcher.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/repoFetcher.ts"],
4
- "sourcesContent": ["/**\n * Repo Fetcher\n *\n * Unified repository fetching utility that replaces git clone with HTTP tarball\n * downloads for GitHub sources (zero git dependency). Falls back to git clone\n * for non-GitHub URLs.\n *\n * GitHub tarball URL pattern: https://github.com/{owner}/{repo}/archive/{ref}.tar.gz\n * macOS/Linux systems have /usr/bin/tar built-in, so no extra dependencies needed.\n */\n\nimport { existsSync, mkdirSync, rmSync, writeFileSync } from 'fs'\nimport { join, dirname, isAbsolute } from 'path'\nimport { tmpdir } from 'os'\nimport { execFileNoThrow } from './execFileNoThrow'\n\n/**\n * Source descriptor for fetchRepo\n */\nexport type RepoSource =\n | { type: 'github'; repo: string; ref?: string }\n | { type: 'url'; url: string; ref?: string }\n\n/**\n * Fetch a repository into targetDir.\n *\n * - GitHub sources use HTTP tarball download (no git required)\n * - Non-GitHub URL sources fall back to git clone\n * - On GitHub tarball failure, falls back to git clone\n */\nexport async function fetchRepo(\n source: RepoSource,\n targetDir: string,\n): Promise<void> {\n if (source.type === 'github') {\n return fetchGitHubRepo(source.repo, source.ref, targetDir)\n }\n\n // URL source: check if it's a github.com URL\n const ghMatch = source.url.match(/github\\.com[/:]([^/]+\\/[^/.]+?)(?:\\.git)?$/)\n if (ghMatch) {\n return fetchGitHubRepo(ghMatch[1], source.ref, targetDir)\n }\n\n // Non-GitHub URL: git clone only\n await gitCloneFallback(source.url, source.ref, targetDir)\n}\n\n/**\n * Fetch a GitHub repo: try tarball first, fall back to git clone\n */\nasync function fetchGitHubRepo(\n repo: string,\n ref: string | undefined,\n targetDir: string,\n): Promise<void> {\n try {\n await fetchGitHubTarball(repo, ref, targetDir)\n } catch {\n // Tarball failed \u2014 fall back to git clone\n const url = `https://github.com/${repo}.git`\n await gitCloneFallback(url, ref, targetDir)\n }\n}\n\n/**\n * Download and extract a GitHub tarball into targetDir.\n *\n * GitHub tarballs contain a single top-level directory like `{repo}-{ref}/`.\n * We use `--strip-components=1` to remove that prefix.\n */\nasync function fetchGitHubTarball(\n repo: string,\n ref: string | undefined,\n targetDir: string,\n): Promise<void> {\n // Use GitHub API tarball endpoint \u2014 it auto-resolves the default branch\n // when no ref is given (unlike /archive/ which requires an explicit ref).\n const url = ref\n ? `https://api.github.com/repos/${repo}/tarball/${ref}`\n : `https://api.github.com/repos/${repo}/tarball`\n await downloadAndExtractTarball(url, targetDir)\n}\n\n/**\n * Download a .tar.gz URL to a temp file, then extract into targetDir\n * using the system `tar` command.\n */\nasync function downloadAndExtractTarball(\n url: string,\n targetDir: string,\n): Promise<void> {\n // Ensure target directory exists\n if (!existsSync(targetDir)) {\n mkdirSync(targetDir, { recursive: true })\n }\n\n const tmpFile = join(\n tmpdir(),\n `minto-tarball-${Date.now()}-${Math.random().toString(36).slice(2)}.tar.gz`,\n )\n\n try {\n // Download with fetch (built-in in Node 18+ / Bun)\n const response = await fetch(url, {\n redirect: 'follow',\n signal: AbortSignal.timeout(60_000),\n })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status} ${response.statusText}`)\n }\n\n const buffer = Buffer.from(await response.arrayBuffer())\n writeFileSync(tmpFile, buffer)\n\n // Extract with system tar\n const result = await execFileNoThrow('tar', [\n 'xzf',\n tmpFile,\n '-C',\n targetDir,\n '--strip-components=1',\n ])\n\n if (result.code !== 0) {\n throw new Error(\n `tar extraction failed: ${result.stderr || result.stdout}`,\n )\n }\n } finally {\n // Clean up temp file\n try {\n if (existsSync(tmpFile)) {\n rmSync(tmpFile, { force: true })\n }\n } catch {\n // Ignore cleanup errors\n }\n }\n}\n\n/**\n * Git clone fallback for non-GitHub URLs.\n * Includes ensureGitEnv() to fix broken bundled git installations.\n */\nasync function gitCloneFallback(\n url: string,\n ref: string | undefined,\n targetDir: string,\n): Promise<void> {\n await ensureGitEnv()\n\n // git clone requires the target to not exist or be empty.\n // Remove it first (may contain partial tarball extraction artifacts).\n if (existsSync(targetDir)) {\n rmSync(targetDir, { recursive: true, force: true })\n }\n\n const args = ['clone', '--depth', '1']\n if (ref) {\n args.push('--branch', ref)\n }\n args.push(url, targetDir)\n\n const result = await execFileNoThrow('git', args)\n\n if (result.code !== 0) {\n throw new Error(`Git clone failed: ${result.stderr || result.stdout}`)\n }\n}\n\n/**\n * Ensure GIT_EXEC_PATH is correctly set in the environment.\n *\n * Some bundled git binaries (e.g., dugite inside Electron apps) have a broken\n * compiled-in exec-path that resolves to `//libexec/git-core` instead of an\n * absolute path. We detect this and derive the correct path from the git\n * binary's location.\n */\nlet gitEnvFixed = false\nasync function ensureGitEnv(): Promise<void> {\n if (gitEnvFixed) return\n gitEnvFixed = true\n\n // Skip if user already set GIT_EXEC_PATH\n if (process.env.GIT_EXEC_PATH) return\n\n try {\n const result = await execFileNoThrow('git', ['--exec-path'])\n const execPath = result.stdout.trim()\n\n // Detect broken path: starts with // or is not absolute\n if (execPath && (execPath.startsWith('//') || !isAbsolute(execPath))) {\n const whichResult = await execFileNoThrow('which', ['git'])\n const gitBin = whichResult.stdout.trim()\n\n if (gitBin) {\n const prefix = dirname(dirname(gitBin))\n const fixedExecPath = join(prefix, 'libexec', 'git-core')\n\n if (existsSync(fixedExecPath)) {\n process.env.GIT_EXEC_PATH = fixedExecPath\n\n const templateDir = join(prefix, 'share', 'git-core', 'templates')\n if (existsSync(templateDir) && !process.env.GIT_TEMPLATE_DIR) {\n process.env.GIT_TEMPLATE_DIR = templateDir\n }\n }\n }\n }\n } catch {\n // Best-effort; if detection fails, proceed without fixing\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }