@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/messages.tsx"],
4
- "sourcesContent": ["import { createHash, randomUUID, UUID } from 'crypto'\nimport { Box } from 'ink'\nimport {\n AssistantMessage,\n Message,\n ProgressMessage,\n StreamingProgressContent,\n UserMessage,\n} from '@query'\nimport { getCommand, hasCommand } from '@commands'\nimport { MalformedCommandError } from './errors'\nimport { logError } from './log'\nimport { resolve } from 'path'\nimport { last } from 'lodash-es'\nimport { memoizeWithLimit } from './async'\nimport type { SetToolJSXFn, Tool, ToolUseContext } from '@tool'\nimport { lastX } from '@utils/generators'\nimport { NO_CONTENT_MESSAGE } from '@services/claude'\nimport {\n ImageBlockParam,\n TextBlockParam,\n ToolResultBlockParam,\n ToolUseBlockParam,\n Message as APIMessage,\n ContentBlockParam,\n ContentBlock,\n} from '@anthropic-ai/sdk/resources/index.mjs'\nimport { setCwd } from './state'\nimport { getCwd } from './state'\nimport chalk from 'chalk'\nimport * as React from 'react'\nimport { UserBashInputMessage } from '@components/messages/UserBashInputMessage'\nimport { Spinner } from '@components/Spinner'\nimport { StreamingBashOutput } from '@components/StreamingBashOutput'\nimport { BashTool } from '@tools/BashTool/BashTool'\nimport { ToolUseBlock } from '@anthropic-ai/sdk/resources/index.mjs'\n\n// NOTE: Dynamic content processing for custom commands has been moved to\n// src/services/customCommands.ts for better organization and reusability.\n// The functions executeBashCommands and resolveFileReferences are no longer\n// duplicated here but are imported when needed for custom command processing.\n\nexport const INTERRUPT_MESSAGE = '[Request interrupted by user]'\nexport const INTERRUPT_MESSAGE_FOR_TOOL_USE =\n '[Request interrupted by user for tool use]'\nexport const CANCEL_MESSAGE =\n \"The user doesn't want to take this action right now. STOP what you are doing and wait for the user to tell you how to proceed.\"\nexport const REJECT_MESSAGE =\n \"The user doesn't want to proceed with this tool use. The tool use was rejected (eg. if it was a file edit, the new_string was NOT written to the file). STOP what you are doing and wait for the user to tell you how to proceed.\"\nexport const PLAN_REJECT_WITH_FEEDBACK_PREFIX =\n 'User rejected the plan with feedback: '\nexport const NO_RESPONSE_REQUESTED = 'No response requested.'\n\nexport const SYNTHETIC_ASSISTANT_MESSAGES = new Set([\n INTERRUPT_MESSAGE,\n INTERRUPT_MESSAGE_FOR_TOOL_USE,\n CANCEL_MESSAGE,\n REJECT_MESSAGE,\n NO_RESPONSE_REQUESTED,\n])\n\nfunction baseCreateAssistantMessage(\n content: ContentBlock[],\n extra?: Partial<AssistantMessage>,\n): AssistantMessage {\n return {\n type: 'assistant',\n costUSD: 0,\n durationMs: 0,\n uuid: randomUUID(),\n message: {\n id: randomUUID(),\n model: '<synthetic>',\n role: 'assistant',\n stop_reason: 'stop_sequence',\n stop_sequence: '',\n type: 'message',\n usage: {\n input_tokens: 0,\n output_tokens: 0,\n cache_creation_input_tokens: 0,\n cache_read_input_tokens: 0,\n },\n content,\n },\n ...extra,\n }\n}\n\nexport function createAssistantMessage(content: string): AssistantMessage {\n return baseCreateAssistantMessage([\n {\n type: 'text' as const,\n text: content === '' ? NO_CONTENT_MESSAGE : content,\n citations: [],\n },\n ])\n}\n\nexport function createAssistantAPIErrorMessage(\n content: string,\n): AssistantMessage {\n return baseCreateAssistantMessage(\n [\n {\n type: 'text' as const,\n text: content === '' ? NO_CONTENT_MESSAGE : content,\n citations: [],\n },\n ],\n { isApiErrorMessage: true },\n )\n}\n\nexport type FullToolUseResult = {\n data: unknown // Matches tool's `Output` type\n resultForAssistant: ToolResultBlockParam['content']\n /**\n * New messages to add to the conversation from tool execution\n * Used by SlashCommandTool to inject skill-generated messages\n */\n newMessages?: unknown[]\n /**\n * Context modifier for modifying tool execution context\n * Used by SlashCommandTool to apply allowed tools and model switching\n */\n contextModifier?: {\n modifyContext: (ctx: any) => any\n }\n}\n\nexport function createUserMessage(\n content: string | ContentBlockParam[],\n toolUseResult?: FullToolUseResult,\n): UserMessage {\n const m: UserMessage = {\n type: 'user',\n message: {\n role: 'user',\n content,\n },\n uuid: randomUUID(),\n toolUseResult,\n }\n return m\n}\n\nexport function createProgressMessage(\n toolUseID: string,\n siblingToolUseIDs: Set<string>,\n content: AssistantMessage | StreamingProgressContent,\n normalizedMessages: NormalizedMessage[],\n tools: Tool[],\n): ProgressMessage {\n return {\n type: 'progress',\n content,\n normalizedMessages,\n siblingToolUseIDs,\n tools,\n toolUseID,\n uuid: randomUUID(),\n }\n}\n\nexport function createToolResultStopMessage(\n toolUseID: string,\n): ToolResultBlockParam {\n return {\n type: 'tool_result',\n content: CANCEL_MESSAGE,\n is_error: true,\n tool_use_id: toolUseID,\n }\n}\n\nexport async function processUserInput(\n input: string,\n mode: 'bash' | 'prompt' | 'koding',\n setToolJSX: SetToolJSXFn,\n context: ToolUseContext & {\n setForkConvoWithMessagesOnTheNextRender: (\n forkConvoWithMessages: Message[],\n ) => void\n unmount?: () => void\n options?: {\n isKodingRequest?: boolean\n kodingContext?: string\n }\n },\n pastedImage: string | null,\n): Promise<Message[]> {\n // Bash commands\n if (mode === 'bash') {\n const userMessage = createUserMessage(`<bash-input>${input}</bash-input>`)\n\n // Special case: cd\n if (input.startsWith('cd ')) {\n const oldCwd = getCwd()\n const newCwd = resolve(oldCwd, input.slice(3))\n try {\n await setCwd(newCwd)\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>Changed directory to ${chalk.bold(`${newCwd}/`)}</bash-stdout>`,\n ),\n ]\n } catch (e) {\n logError(e)\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stderr>cwd error: ${e instanceof Error ? e.message : String(e)}</bash-stderr>`,\n ),\n ]\n }\n }\n\n // All other bash commands - run in background with streaming output\n const validationResult = await BashTool.validateInput({\n command: input,\n })\n if (!validationResult.result) {\n return [userMessage, createAssistantMessage(validationResult.message)]\n }\n\n // Start command in background to enable streaming\n const { BackgroundShellManager } = await import(\n '@utils/BackgroundShellManager'\n )\n const shellId = BackgroundShellManager.getInstance().create(\n input,\n context.readFileTimestamps ? getCwd() : process.cwd(),\n )\n\n let movedToBackground = false\n let completed = false\n let completionData: {\n stdout: string\n stderr: string\n exitCode: number\n } | null = null\n let resolveWait: (() => void) | null = null\n\n // Show streaming output with Ctrl+B option\n setToolJSX({\n jsx: (\n <StreamingBashOutput\n shellId={shellId}\n command={input}\n onMoveToBackground={() => {\n movedToBackground = true\n setToolJSX(null)\n resolveWait?.()\n }}\n onComplete={(stdout, stderr, exitCode) => {\n completed = true\n completionData = { stdout, stderr, exitCode }\n setToolJSX(null)\n resolveWait?.()\n }}\n />\n ),\n shouldHidePromptInput: false,\n })\n\n // Wait for either completion or move to background (event-driven, no polling)\n await new Promise<void>(resolve => {\n resolveWait = resolve\n // If already completed/moved before we set up the promise, resolve immediately\n if (movedToBackground || completed) {\n resolve()\n }\n })\n\n if (movedToBackground) {\n // Task moved to background - return message about it\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>Command moved to background (shell ID: ${shellId})\\nUse Shift+B to view background tasks</bash-stdout>`,\n ),\n ]\n } else if (completed && completionData) {\n // Task completed normally\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stdout>${completionData.stdout}</bash-stdout><bash-stderr>${completionData.stderr}</bash-stderr>`,\n ),\n ]\n } else {\n // Should not reach here\n return [\n userMessage,\n createAssistantMessage(\n `<bash-stderr>Unexpected error in bash execution</bash-stderr>`,\n ),\n ]\n }\n }\n // Koding mode - special wrapper for display\n else if (mode === 'koding') {\n const userMessage = createUserMessage(\n `<koding-input>${input}</koding-input>`,\n )\n // Add the Koding flag to the message\n userMessage.options = {\n ...userMessage.options,\n isKodingRequest: true,\n }\n\n // Rest of koding processing is handled separately to capture assistant response\n return [userMessage]\n }\n\n // Slash commands\n if (input.startsWith('/')) {\n const words = input.slice(1).split(' ')\n let commandName = words[0]\n if (words.length > 1 && words[1] === '(MCP)') {\n commandName = commandName + ' (MCP)'\n }\n if (!commandName) {\n return [\n createAssistantMessage('Commands are in the form `/command [args]`'),\n ]\n }\n\n // Check if it's a real command before processing\n if (!hasCommand(commandName, context.options.commands)) {\n // If not a real command, treat it as a regular user input\n return [createUserMessage(input)]\n }\n\n const args = input.slice(commandName.length + 2)\n const newMessages = await getMessagesForSlashCommand(\n commandName,\n args,\n setToolJSX,\n context,\n )\n\n // Local JSX commands\n if (newMessages.length === 0) {\n return []\n }\n\n // For invalid commands, preserve both the user message and error\n if (\n newMessages.length === 2 &&\n newMessages[0]!.type === 'user' &&\n newMessages[1]!.type === 'assistant' &&\n typeof newMessages[1]!.message.content === 'string' &&\n newMessages[1]!.message.content.startsWith('Unknown command:')\n ) {\n return newMessages\n }\n\n // User-Assistant pair (eg. local commands)\n if (newMessages.length === 2) {\n return newMessages\n }\n\n // A valid command\n\n return newMessages\n }\n\n // Regular user prompt\n\n // Check if this is a Koding request that needs special handling\n const isKodingRequest = context.options?.isKodingRequest === true\n const kodingContextInfo = context.options?.kodingContext\n\n // Create base message\n let userMessage: UserMessage\n\n if (pastedImage) {\n userMessage = createUserMessage([\n {\n type: 'image',\n source: {\n type: 'base64',\n media_type: 'image/png',\n data: pastedImage,\n },\n },\n {\n type: 'text',\n text:\n isKodingRequest && kodingContextInfo\n ? `${kodingContextInfo}\\n\\n${input}`\n : input,\n },\n ])\n } else {\n let processedInput =\n isKodingRequest && kodingContextInfo\n ? `${kodingContextInfo}\\n\\n${input}`\n : input\n\n // Process dynamic content for custom commands with ! and @ prefixes\n // This uses the same processing functions as custom commands to maintain consistency\n if (input.includes('!`') || input.includes('@')) {\n try {\n // Import functions from customCommands service to avoid code duplication\n const { executeBashCommands } = await import('@services/customCommands')\n\n // Execute bash commands if present\n if (input.includes('!`')) {\n // Note: This function is not exported from customCommands.ts, so we need to expose it\n // For now, we'll keep the local implementation until we refactor the service\n processedInput = await executeBashCommands(processedInput)\n }\n\n // Process mentions for system reminder integration\n // Note: We don't call resolveFileReferences here anymore -\n // @file mentions should trigger Read tool usage via reminders, not embed content\n if (input.includes('@')) {\n const { processMentions } = await import('@services/mentionProcessor')\n await processMentions(input)\n }\n } catch (error) {\n console.warn('Dynamic content processing failed:', error)\n // Continue with original input if processing fails\n }\n }\n\n userMessage = createUserMessage(processedInput)\n }\n\n // Add the Koding flag to the message if needed\n if (isKodingRequest) {\n userMessage.options = {\n ...userMessage.options,\n isKodingRequest: true,\n }\n }\n\n return [userMessage]\n}\n\nasync function getMessagesForSlashCommand(\n commandName: string,\n args: string,\n setToolJSX: SetToolJSXFn,\n context: ToolUseContext & {\n setForkConvoWithMessagesOnTheNextRender: (\n forkConvoWithMessages: Message[],\n ) => void\n unmount?: () => void\n },\n): Promise<Message[]> {\n try {\n const command = getCommand(commandName, context.options.commands)\n switch (command.type) {\n case 'local-jsx': {\n return new Promise(resolve => {\n command\n .call(\n r => {\n setToolJSX(null)\n resolve([\n createUserMessage(`<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`),\n r\n ? createAssistantMessage(r)\n : createAssistantMessage(NO_RESPONSE_REQUESTED),\n ])\n },\n context,\n args,\n )\n .then(jsx => {\n // If call returned null/undefined (e.g. onDone already called synchronously),\n // don't override toolJSX \u2014 it was already cleared by onDone\n if (jsx == null) return\n setToolJSX({\n jsx,\n shouldHidePromptInput: command.hidePromptInput ?? false,\n })\n })\n })\n }\n case 'local': {\n const userMessage =\n createUserMessage(`<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`)\n\n try {\n // Use the context's abortController for local commands\n const result = await command.call(args, {\n ...context,\n options: {\n commands: context.options.commands || [],\n tools: context.options.tools || [],\n slowAndCapableModel:\n context.options.slowAndCapableModel || 'main',\n },\n })\n\n // null return means the command handled its own side effects (e.g. /clear).\n // Show echo messages in the UI but mark them localOnly so they are\n // excluded from API context on the next query.\n if (result === null) {\n const echoUser = createUserMessage(\n `<command-name>${command.userFacingName()}</command-name>\n <command-message>${command.userFacingName()}</command-message>\n <command-args>${args}</command-args>`,\n )\n echoUser.localOnly = true\n\n const echoAssistant = createAssistantMessage(\n `<local-command-stdout></local-command-stdout>`,\n )\n echoAssistant.localOnly = true\n\n context.setForkConvoWithMessagesOnTheNextRender([\n echoUser,\n echoAssistant,\n ])\n return []\n }\n\n return [\n userMessage,\n createAssistantMessage(\n `<local-command-stdout>${result}</local-command-stdout>`,\n ),\n ]\n } catch (e) {\n logError(e)\n return [\n userMessage,\n createAssistantMessage(\n `<local-command-stderr>${String(e)}</local-command-stderr>`,\n ),\n ]\n }\n }\n case 'prompt': {\n // For custom commands, process them naturally instead of wrapping in command-contents\n const prompt = await command.getPromptForCommand(args)\n return prompt.map(msg => {\n // Create a normal user message from the custom command content\n const userMessage = createUserMessage(\n typeof msg.content === 'string'\n ? msg.content\n : msg.content\n .map(block => (block.type === 'text' ? block.text : ''))\n .join('\\n'),\n )\n\n // Add metadata for tracking but don't wrap in special tags\n userMessage.options = {\n ...userMessage.options,\n isCustomCommand: true,\n commandName: command.userFacingName(),\n commandArgs: args,\n }\n\n return userMessage\n })\n }\n }\n } catch (e) {\n if (e instanceof MalformedCommandError) {\n return [createAssistantMessage(e.message)]\n }\n throw e\n }\n}\n\nexport function extractTagFromMessage(\n message: Message,\n tagName: string,\n): string | null {\n if (message.type === 'progress') {\n return null\n }\n if (typeof message.message.content !== 'string') {\n return null\n }\n return extractTag(message.message.content, tagName)\n}\n\nexport function extractTag(html: string, tagName: string): string | null {\n if (!html.trim() || !tagName.trim()) {\n return null\n }\n\n // Escape special characters in the tag name\n const escapedTag = tagName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\n // Create regex pattern that handles:\n // 1. Self-closing tags\n // 2. Tags with attributes\n // 3. Nested tags of the same type\n // 4. Multiline content\n const pattern = new RegExp(\n `<${escapedTag}(?:\\\\s+[^>]*)?>` + // Opening tag with optional attributes\n '([\\\\s\\\\S]*?)' + // Content (non-greedy match)\n `<\\\\/${escapedTag}>`, // Closing tag\n 'gi',\n )\n\n let match\n let depth = 0\n let lastIndex = 0\n const openingTag = new RegExp(`<${escapedTag}(?:\\\\s+[^>]*?)?>`, 'gi')\n const closingTag = new RegExp(`<\\\\/${escapedTag}>`, 'gi')\n\n while ((match = pattern.exec(html)) !== null) {\n // Check for nested tags\n const content = match[1]\n const beforeMatch = html.slice(lastIndex, match.index)\n\n // Reset depth counter\n depth = 0\n\n // Count opening tags before this match\n openingTag.lastIndex = 0\n while (openingTag.exec(beforeMatch) !== null) {\n depth++\n }\n\n // Count closing tags before this match\n closingTag.lastIndex = 0\n while (closingTag.exec(beforeMatch) !== null) {\n depth--\n }\n\n // Only include content if we're at the correct nesting level\n if (depth === 0 && content) {\n return content\n }\n\n lastIndex = match.index + match[0].length\n }\n\n return null\n}\n\nexport function isNotEmptyMessage(message: Message): boolean {\n if (message.type === 'progress') {\n return true\n }\n\n if (typeof message.message.content === 'string') {\n return message.message.content.trim().length > 0\n }\n\n if (message.message.content.length === 0) {\n return false\n }\n\n // Skip multi-block messages for now\n if (message.message.content.length > 1) {\n return true\n }\n\n if (message.message.content[0]!.type !== 'text') {\n return true\n }\n\n return (\n message.message.content[0]!.text.trim().length > 0 &&\n message.message.content[0]!.text !== NO_CONTENT_MESSAGE &&\n message.message.content[0]!.text !== INTERRUPT_MESSAGE_FOR_TOOL_USE\n )\n}\n\n// TODO: replace this with plain UserMessage if/when PR #405 lands\ntype NormalizedUserMessage = {\n message: {\n content: [\n | TextBlockParam\n | ImageBlockParam\n | ToolUseBlockParam\n | ToolResultBlockParam,\n ]\n role: 'user'\n }\n type: 'user'\n uuid: UUID\n}\n\nexport type NormalizedMessage =\n | NormalizedUserMessage\n | AssistantMessage\n | ProgressMessage\n\n/**\n * Generate a deterministic UUID based on input string\n * This ensures the same content always produces the same UUID,\n * preventing duplicate entries in Ink's <Static> component.\n *\n * Uses an LRU cache (max 500 entries) to avoid recomputing SHA-256\n * on every render for the same inputs.\n */\nconst _uuidCache = new Map<string, UUID>()\nconst _UUID_CACHE_MAX = 500\n\nfunction deterministicUUID(seed: string): UUID {\n const cached = _uuidCache.get(seed)\n if (cached !== undefined) {\n // Move to end for LRU behavior\n _uuidCache.delete(seed)\n _uuidCache.set(seed, cached)\n return cached\n }\n\n const hash = createHash('sha256').update(seed).digest('hex')\n // Format as UUID v4 (xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx)\n const result =\n `${hash.slice(0, 8)}-${hash.slice(8, 12)}-4${hash.slice(13, 16)}-${((parseInt(hash.slice(16, 17), 16) & 0x3) | 0x8).toString(16)}${hash.slice(17, 20)}-${hash.slice(20, 32)}` as UUID\n\n if (_uuidCache.size >= _UUID_CACHE_MAX) {\n // Delete oldest entry (first key in Map insertion order)\n const firstKey = _uuidCache.keys().next().value\n if (firstKey !== undefined) _uuidCache.delete(firstKey)\n }\n _uuidCache.set(seed, result)\n return result\n}\n\n// Split messages, so each content block gets its own message\nexport function normalizeMessages(messages: Message[]): NormalizedMessage[] {\n return messages.flatMap((message, messageIndex) => {\n if (message.type === 'progress') {\n return [message] as NormalizedMessage[]\n }\n if (typeof message.message.content === 'string') {\n return [message] as NormalizedMessage[]\n }\n return message.message.content.map((_, contentIndex) => {\n switch (message.type) {\n case 'assistant':\n // Generate deterministic UUID based on message uuid + content index\n // This ensures the same content block always gets the same UUID,\n // preventing duplicate entries when Ink's <Static> re-renders\n const baseUuid =\n (message as AssistantMessage).uuid || `msg-${messageIndex}`\n const contentId =\n _.type === 'tool_use' ? _.id || contentIndex : contentIndex\n const stableUuid = deterministicUUID(`${baseUuid}-${contentId}`)\n\n return {\n type: 'assistant',\n uuid: stableUuid,\n // Preserve original UUID for identifying parallel tool calls from same message\n originalUuid: (message as AssistantMessage).uuid,\n message: {\n ...message.message,\n content: [_],\n },\n costUSD:\n (message as AssistantMessage).costUSD /\n message.message.content.length,\n durationMs: (message as AssistantMessage).durationMs,\n } as NormalizedMessage\n case 'user':\n // It seems like the line below was a no-op before, but I'm not sure.\n // To check, we could throw an error if any of the following are true:\n // - message `role` does isn't `user` -- this possibility is allowed by MCP tools,\n // though isn't supposed to happen in practice (we should fix this)\n // - message `content` is not an array -- this one is more concerning because it's\n // not allowed by the `NormalizedUserMessage` type, but if it's happening that was\n // probably a bug before.\n // Maybe I'm missing something? -(ab)\n // return createUserMessage([_]) as NormalizedMessage\n return message as NormalizedUserMessage\n }\n })\n })\n}\n\ntype ToolUseRequestMessage = AssistantMessage & {\n message: { content: ToolUseBlock[] }\n}\n\nfunction isToolUseRequestMessage(\n message: Message,\n): message is ToolUseRequestMessage {\n return (\n message.type === 'assistant' &&\n 'costUSD' in message &&\n // Note: stop_reason === 'tool_use' is unreliable -- it's not always set correctly\n message.message.content.some(_ => _.type === 'tool_use')\n )\n}\n\n// Re-order, to move result messages to be after their tool use messages\nexport function reorderMessages(\n messages: NormalizedMessage[],\n): NormalizedMessage[] {\n const ms: NormalizedMessage[] = []\n const toolUseMessages: ToolUseRequestMessage[] = []\n\n // Pre-build index maps for O(1) lookup instead of O(n) find()\n // Maps toolUseID \u2192 index in ms[] for tool use messages\n const toolUseIndexByID = new Map<string, number>()\n // Maps toolUseID \u2192 index in ms[] for progress messages\n const progressIndexByID = new Map<string, number>()\n\n /** After splice at `pos`, bump all index entries >= pos by 1 */\n function bumpIndicesAfterSplice(pos: number): void {\n for (const [k, v] of toolUseIndexByID) {\n if (v >= pos) toolUseIndexByID.set(k, v + 1)\n }\n for (const [k, v] of progressIndexByID) {\n if (v >= pos) progressIndexByID.set(k, v + 1)\n }\n }\n\n for (const message of messages) {\n // track tool use messages we've seen\n if (isToolUseRequestMessage(message)) {\n toolUseMessages.push(message)\n const id = message.message.content[0]?.id\n if (id) {\n toolUseIndexByID.set(id, ms.length)\n }\n }\n\n // if it's a tool progress message...\n if (message.type === 'progress') {\n // replace any existing progress messages with this one\n const existingIdx = progressIndexByID.get(message.toolUseID)\n if (existingIdx !== undefined) {\n ms[existingIdx] = message\n continue\n }\n // otherwise, insert it after its tool use\n const toolUseIdx = toolUseIndexByID.get(message.toolUseID)\n if (toolUseIdx !== undefined) {\n const insertPos = toolUseIdx + 1\n ms.splice(insertPos, 0, message)\n progressIndexByID.set(message.toolUseID, insertPos)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n }\n\n // if it's a tool result, insert it after its tool use and progress messages\n if (\n message.type === 'user' &&\n Array.isArray(message.message.content) &&\n message.message.content[0]?.type === 'tool_result'\n ) {\n const toolUseID = (message.message.content[0] as ToolResultBlockParam)\n ?.tool_use_id\n\n // First check for progress messages\n const progressIdx = progressIndexByID.get(toolUseID)\n if (progressIdx !== undefined) {\n const insertPos = progressIdx + 1\n ms.splice(insertPos, 0, message)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n\n // If no progress messages, check for tool use messages\n const toolUseIdx = toolUseIndexByID.get(toolUseID)\n if (toolUseIdx !== undefined) {\n const insertPos = toolUseIdx + 1\n ms.splice(insertPos, 0, message)\n bumpIndicesAfterSplice(insertPos)\n continue\n }\n }\n\n // otherwise, just add it to the list\n else {\n ms.push(message)\n }\n }\n\n return ms\n}\n\n// Use memoizeWithLimit to prevent unbounded cache growth during long conversations\n// Each unique normalizedMessages array would create a new cache entry with lodash memoize\nconst getToolResultIDs = memoizeWithLimit(\n (normalizedMessages: NormalizedMessage[]): { [toolUseID: string]: boolean } =>\n Object.fromEntries(\n normalizedMessages.flatMap(_ =>\n _.type === 'user' && _.message.content[0]?.type === 'tool_result'\n ? [\n [\n _.message.content[0]!.tool_use_id,\n _.message.content[0]!.is_error ?? false,\n ],\n ]\n : ([] as [string, boolean][]),\n ),\n ),\n {\n max: 50,\n ttl: 30000,\n // Custom cache key avoids JSON.stringify on entire messages array\n resolver: (msgs: NormalizedMessage[]) =>\n `${msgs.length}:${msgs[msgs.length - 1]?.uuid ?? ''}`,\n },\n)\n\nexport function getUnresolvedToolUseIDs(\n normalizedMessages: NormalizedMessage[],\n): Set<string> {\n const toolResults = getToolResultIDs(normalizedMessages)\n return new Set(\n normalizedMessages\n .filter(\n (\n _,\n ): _ is AssistantMessage & {\n message: { content: [ToolUseBlockParam] }\n } =>\n _.type === 'assistant' &&\n Array.isArray(_.message.content) &&\n _.message.content[0]?.type === 'tool_use' &&\n !(_.message.content[0]?.id in toolResults),\n )\n .map(_ => _.message.content[0].id),\n )\n}\n\n/**\n * Tool uses are in flight if either:\n * 1. They have a corresponding progress message and no result message\n * 2. They are the first unresoved tool use\n *\n * TODO: Find a way to harden this logic to make it more explicit\n */\nexport function getInProgressToolUseIDs(\n normalizedMessages: NormalizedMessage[],\n): Set<string> {\n const unresolvedToolUseIDs = getUnresolvedToolUseIDs(normalizedMessages)\n const toolUseIDsThatHaveProgressMessages = new Set(\n normalizedMessages.filter(_ => _.type === 'progress').map(_ => _.toolUseID),\n )\n return new Set(\n (\n normalizedMessages.filter(_ => {\n if (_.type !== 'assistant') {\n return false\n }\n if (_.message.content[0]?.type !== 'tool_use') {\n return false\n }\n const toolUseID = _.message.content[0].id\n if (toolUseID === unresolvedToolUseIDs.values().next().value) {\n return true\n }\n\n if (\n toolUseIDsThatHaveProgressMessages.has(toolUseID) &&\n unresolvedToolUseIDs.has(toolUseID)\n ) {\n return true\n }\n\n return false\n }) as AssistantMessage[]\n ).map(_ => (_.message.content[0]! as ToolUseBlockParam).id),\n )\n}\n\nexport function getErroredToolUseMessages(\n normalizedMessages: NormalizedMessage[],\n): AssistantMessage[] {\n const toolResults = getToolResultIDs(normalizedMessages)\n return normalizedMessages.filter(\n _ =>\n _.type === 'assistant' &&\n Array.isArray(_.message.content) &&\n _.message.content[0]?.type === 'tool_use' &&\n _.message.content[0]?.id in toolResults &&\n toolResults[_.message.content[0]?.id],\n ) as AssistantMessage[]\n}\n\n/**\n * Normalize message content to ContentBlockParam[] format.\n * Handles both string content (plain text) and ContentBlockParam[] (structured).\n * This prevents spreading a string into individual characters during merge.\n */\nfunction normalizeContentToBlocks(\n content: string | ContentBlockParam[],\n): ContentBlockParam[] {\n if (Array.isArray(content)) {\n return content\n }\n // String content \u2192 single text block\n return [{ type: 'text' as const, text: content }]\n}\n\nexport function normalizeMessagesForAPI(\n messages: Message[],\n): (UserMessage | AssistantMessage)[] {\n const result: (UserMessage | AssistantMessage)[] = []\n messages\n .filter(_ => _.type !== 'progress')\n .forEach(message => {\n switch (message.type) {\n case 'user': {\n // Merge consecutive user messages to maintain alternating user/assistant\n // structure required by the API. This handles:\n // - Multiple tool_result messages from parallel tool execution\n // - Injected user guidance after tool_result (real-time agent influence)\n const lastMessage = last(result)\n if (lastMessage && lastMessage.type === 'user') {\n // Normalize both contents to ContentBlockParam[] before merging.\n // content can be string OR ContentBlockParam[]; spreading a string\n // produces individual characters instead of a proper text block.\n const prevContent = normalizeContentToBlocks(\n lastMessage.message.content,\n )\n const newContent = normalizeContentToBlocks(message.message.content)\n result[result.indexOf(lastMessage)] = {\n ...lastMessage,\n message: {\n ...lastMessage.message,\n content: [...prevContent, ...newContent],\n },\n }\n return\n }\n result.push(message)\n return\n }\n case 'assistant':\n result.push(message)\n return\n }\n })\n return result\n}\n\n// Sometimes the API returns empty messages (eg. \"\\n\\n\"). We need to filter these out,\n// otherwise they will give an API error when we send them to the API next time we call query().\nexport function normalizeContentFromAPI(\n content: APIMessage['content'],\n): APIMessage['content'] {\n const filteredContent = content.filter(\n _ => _.type !== 'text' || _.text.trim().length > 0,\n )\n\n if (filteredContent.length === 0) {\n return [{ type: 'text', text: NO_CONTENT_MESSAGE, citations: [] }]\n }\n\n return filteredContent\n}\n\nexport function isEmptyMessageText(text: string): boolean {\n return (\n stripSystemMessages(text).trim() === '' ||\n text.trim() === NO_CONTENT_MESSAGE\n )\n}\nconst STRIPPED_TAGS = [\n 'commit_analysis',\n 'context',\n 'function_analysis',\n 'pr_analysis',\n 'system-reminder',\n 'user-guidance',\n 'team-message',\n 'task-notification',\n]\n\nexport function stripSystemMessages(content: string): string {\n const regex = new RegExp(`<(${STRIPPED_TAGS.join('|')})>.*?</\\\\1>\\n?`, 'gs')\n return content.replace(regex, '').trim()\n}\n\nexport function getToolUseID(message: NormalizedMessage): string | null {\n switch (message.type) {\n case 'assistant':\n if (message.message.content[0]?.type !== 'tool_use') {\n return null\n }\n return message.message.content[0].id\n case 'user':\n if (message.message.content[0]?.type !== 'tool_result') {\n return null\n }\n return message.message.content[0].tool_use_id\n case 'progress':\n return message.toolUseID\n }\n}\n\nexport function getLastAssistantMessageId(\n messages: Message[],\n): string | undefined {\n // Iterate from the end of the array to find the last assistant message\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i]\n if (message && message.type === 'assistant') {\n return message.message.id\n }\n }\n return undefined\n}\n"],
5
- "mappings": "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",
6
- "names": ["userMessage", "resolve"]
7
- }
@@ -1,37 +0,0 @@
1
- import {
2
- migrateTodos,
3
- checkMigrationNeeded,
4
- getMigrationStatus,
5
- cleanupMigrationBackups,
6
- forceMigration,
7
- runStartupMigration
8
- } from "./migrateTodos.js";
9
- import {
10
- migrateHistory,
11
- checkHistoryMigrationNeeded,
12
- getHistoryMigrationStatus,
13
- cleanupLegacyHistory,
14
- forceHistoryMigration,
15
- runStartupHistoryMigration
16
- } from "./migrateHistory.js";
17
- async function runAllStartupMigrations() {
18
- const { runStartupMigration: runStartupMigration2 } = await import("./migrateTodos.js");
19
- const { runStartupHistoryMigration: runStartupHistoryMigration2 } = await import("./migrateHistory.js");
20
- await Promise.all([runStartupMigration2(), runStartupHistoryMigration2()]);
21
- }
22
- export {
23
- checkHistoryMigrationNeeded,
24
- checkMigrationNeeded,
25
- cleanupLegacyHistory,
26
- cleanupMigrationBackups,
27
- forceHistoryMigration,
28
- forceMigration,
29
- getHistoryMigrationStatus,
30
- getMigrationStatus,
31
- migrateHistory,
32
- migrateTodos,
33
- runAllStartupMigrations,
34
- runStartupHistoryMigration,
35
- runStartupMigration
36
- };
37
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/migration/index.ts"],
4
- "sourcesContent": ["/**\n * Migration Module\n *\n * Provides migration utilities for upgrading Minto's data structures\n * between versions. All migrations are idempotent and safe to run\n * multiple times.\n */\n\n// Todo migration\nexport {\n migrateTodos,\n checkMigrationNeeded,\n getMigrationStatus,\n cleanupMigrationBackups,\n forceMigration,\n runStartupMigration,\n type MigrationResult,\n type MigrationStatus,\n} from './migrateTodos'\n\n// History migration\nexport {\n migrateHistory,\n checkHistoryMigrationNeeded,\n getHistoryMigrationStatus,\n cleanupLegacyHistory,\n forceHistoryMigration,\n runStartupHistoryMigration,\n type HistoryMigrationResult,\n type HistoryMigrationStatus,\n} from './migrateHistory'\n\n/**\n * Run all startup migrations\n * Should be called early in the application lifecycle\n */\nexport async function runAllStartupMigrations(): Promise<void> {\n const { runStartupMigration } = await import('./migrateTodos')\n const { runStartupHistoryMigration } = await import('./migrateHistory')\n\n // Run migrations in parallel for efficiency\n await Promise.all([runStartupMigration(), runStartupHistoryMigration()])\n}\n"],
5
- "mappings": "AASA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAMP,eAAsB,0BAAyC;AAC7D,QAAM,EAAE,qBAAAA,qBAAoB,IAAI,MAAM,OAAO,gBAAgB;AAC7D,QAAM,EAAE,4BAAAC,4BAA2B,IAAI,MAAM,OAAO,kBAAkB;AAGtE,QAAM,QAAQ,IAAI,CAACD,qBAAoB,GAAGC,4BAA2B,CAAC,CAAC;AACzE;",
6
- "names": ["runStartupMigration", "runStartupHistoryMigration"]
7
- }
@@ -1,273 +0,0 @@
1
- import { existsSync, readFileSync, writeFileSync, unlinkSync } from "fs";
2
- import { join } from "path";
3
- import { CONFIG_PATHS, ensureConfigDirs } from "../configPaths.js";
4
- import { debug as debugLogger } from "../debugLogger.js";
5
- import {
6
- appendHistoryEntry,
7
- readAllHistoryEntries
8
- } from "../historyManager.js";
9
- import { GLOBAL_CONFIG_FILE } from "../env.js";
10
- const MIGRATION_MARKER_FILE = ".history-migration-completed";
11
- const MIGRATION_VERSION = "1.0.0";
12
- function getMigrationMarkerPath() {
13
- return join(CONFIG_PATHS.base, MIGRATION_MARKER_FILE);
14
- }
15
- function checkHistoryMigrationNeeded() {
16
- const markerPath = getMigrationMarkerPath();
17
- return !existsSync(markerPath);
18
- }
19
- function getHistoryMigrationStatus() {
20
- const markerPath = getMigrationMarkerPath();
21
- if (!existsSync(markerPath)) {
22
- return {
23
- completed: false,
24
- version: MIGRATION_VERSION,
25
- migratedEntries: 0,
26
- projectsProcessed: 0,
27
- errors: []
28
- };
29
- }
30
- try {
31
- const content = readFileSync(markerPath, "utf-8");
32
- return JSON.parse(content);
33
- } catch {
34
- return {
35
- completed: false,
36
- version: MIGRATION_VERSION,
37
- migratedEntries: 0,
38
- projectsProcessed: 0,
39
- errors: []
40
- };
41
- }
42
- }
43
- function writeMigrationMarker(result) {
44
- const markerPath = getMigrationMarkerPath();
45
- const status = {
46
- completed: true,
47
- timestamp: Date.now(),
48
- version: MIGRATION_VERSION,
49
- migratedEntries: result.migrated,
50
- projectsProcessed: result.projectsProcessed,
51
- errors: result.errors.slice(0, 10)
52
- // Keep only first 10 errors
53
- };
54
- try {
55
- writeFileSync(markerPath, JSON.stringify(status, null, 2), "utf-8");
56
- debugLogger.info("HISTORY_MIGRATION_MARKER_WRITTEN", {
57
- path: markerPath,
58
- migrated: result.migrated
59
- });
60
- } catch (error) {
61
- debugLogger.error("HISTORY_MIGRATION_MARKER_WRITE_FAILED", {
62
- error: error instanceof Error ? error.message : String(error)
63
- });
64
- }
65
- }
66
- function readLegacyConfig() {
67
- const configPath = GLOBAL_CONFIG_FILE;
68
- if (!existsSync(configPath)) {
69
- return null;
70
- }
71
- try {
72
- const content = readFileSync(configPath, "utf-8");
73
- return JSON.parse(content);
74
- } catch (error) {
75
- debugLogger.error("HISTORY_MIGRATION_CONFIG_READ_FAILED", {
76
- error: error instanceof Error ? error.message : String(error)
77
- });
78
- return null;
79
- }
80
- }
81
- function createHistoryEntry(command, projectPath, estimatedTimestamp) {
82
- let mode = "prompt";
83
- let cleanCommand = command;
84
- if (command.startsWith("!")) {
85
- mode = "bash";
86
- cleanCommand = command.slice(1);
87
- } else if (command.startsWith("#")) {
88
- mode = "koding";
89
- cleanCommand = command.slice(1);
90
- }
91
- return {
92
- command: cleanCommand,
93
- timestamp: estimatedTimestamp,
94
- projectPath,
95
- mode
96
- };
97
- }
98
- async function migrateHistory() {
99
- const result = {
100
- migrated: 0,
101
- skipped: 0,
102
- projectsProcessed: 0,
103
- errors: [],
104
- log: []
105
- };
106
- if (!checkHistoryMigrationNeeded()) {
107
- const status = getHistoryMigrationStatus();
108
- result.log.push(
109
- `History migration already completed at ${status.timestamp ? new Date(status.timestamp).toISOString() : "unknown"}`
110
- );
111
- result.log.push(`Previously migrated ${status.migratedEntries} entries`);
112
- debugLogger.info("HISTORY_MIGRATION_ALREADY_COMPLETE", { status });
113
- return result;
114
- }
115
- debugLogger.info("HISTORY_MIGRATION_START", { version: MIGRATION_VERSION });
116
- result.log.push(`Starting history migration (version ${MIGRATION_VERSION})`);
117
- ensureConfigDirs();
118
- const legacyConfig = readLegacyConfig();
119
- if (!legacyConfig || !legacyConfig.projects) {
120
- result.log.push("No legacy project histories found");
121
- debugLogger.info("HISTORY_MIGRATION_NO_LEGACY", {});
122
- writeMigrationMarker(result);
123
- return result;
124
- }
125
- const existingEntries = readAllHistoryEntries();
126
- const existingSet = new Set(
127
- existingEntries.map((e) => `${e.command}:${e.projectPath || ""}`)
128
- );
129
- result.log.push(
130
- `Found ${Object.keys(legacyConfig.projects).length} projects to process`
131
- );
132
- result.log.push(`Existing entries in JSONL: ${existingEntries.length}`);
133
- const projects = Object.entries(legacyConfig.projects);
134
- for (const [projectPath, projectConfig] of projects) {
135
- if (!projectConfig.history || projectConfig.history.length === 0) {
136
- continue;
137
- }
138
- result.projectsProcessed++;
139
- const history = projectConfig.history;
140
- result.log.push(
141
- `Processing project: ${projectPath} (${history.length} entries)`
142
- );
143
- const now = Date.now();
144
- const timeSpan = 30 * 24 * 60 * 60 * 1e3;
145
- const reversedHistory = [...history].reverse();
146
- for (let i = 0; i < reversedHistory.length; i++) {
147
- const command = reversedHistory[i];
148
- if (!command || !command.trim()) {
149
- continue;
150
- }
151
- const progress = reversedHistory.length > 1 ? i / (reversedHistory.length - 1) : 1;
152
- const estimatedTimestamp = Math.round(now - timeSpan * (1 - progress));
153
- const dedupKey = `${command}:${projectPath}`;
154
- if (existingSet.has(dedupKey)) {
155
- result.skipped++;
156
- continue;
157
- }
158
- try {
159
- const entry = createHistoryEntry(
160
- command,
161
- projectPath,
162
- estimatedTimestamp
163
- );
164
- appendHistoryEntry(entry);
165
- existingSet.add(dedupKey);
166
- result.migrated++;
167
- } catch (error) {
168
- const errorMsg = error instanceof Error ? error.message : String(error);
169
- result.errors.push(
170
- `Failed to migrate entry "${command.slice(0, 50)}...": ${errorMsg}`
171
- );
172
- debugLogger.error("HISTORY_MIGRATION_ENTRY_FAILED", {
173
- command: command.slice(0, 50),
174
- error: errorMsg
175
- });
176
- }
177
- }
178
- }
179
- writeMigrationMarker(result);
180
- debugLogger.info("HISTORY_MIGRATION_COMPLETE", {
181
- migrated: result.migrated,
182
- skipped: result.skipped,
183
- projectsProcessed: result.projectsProcessed,
184
- errors: result.errors.length
185
- });
186
- result.log.push("");
187
- result.log.push("=== History Migration Summary ===");
188
- result.log.push(`Projects processed: ${result.projectsProcessed}`);
189
- result.log.push(`Entries migrated: ${result.migrated}`);
190
- result.log.push(`Entries skipped (duplicates): ${result.skipped}`);
191
- result.log.push(`Errors: ${result.errors.length}`);
192
- return result;
193
- }
194
- function cleanupLegacyHistory(dryRun = false) {
195
- const legacyConfig = readLegacyConfig();
196
- if (!legacyConfig || !legacyConfig.projects) {
197
- return { projectsCleaned: 0, entriesRemoved: 0 };
198
- }
199
- let projectsCleaned = 0;
200
- let entriesRemoved = 0;
201
- for (const [projectPath, projectConfig] of Object.entries(
202
- legacyConfig.projects
203
- )) {
204
- if (projectConfig.history && projectConfig.history.length > 0) {
205
- entriesRemoved += projectConfig.history.length;
206
- projectsCleaned++;
207
- if (!dryRun) {
208
- delete projectConfig.history;
209
- }
210
- }
211
- }
212
- if (!dryRun && projectsCleaned > 0) {
213
- try {
214
- const configPath = GLOBAL_CONFIG_FILE;
215
- writeFileSync(configPath, JSON.stringify(legacyConfig, null, 2), "utf-8");
216
- debugLogger.info("LEGACY_HISTORY_CLEANUP_COMPLETE", {
217
- projectsCleaned,
218
- entriesRemoved
219
- });
220
- } catch (error) {
221
- debugLogger.error("LEGACY_HISTORY_CLEANUP_FAILED", {
222
- error: error instanceof Error ? error.message : String(error)
223
- });
224
- }
225
- }
226
- return { projectsCleaned, entriesRemoved };
227
- }
228
- async function forceHistoryMigration() {
229
- const markerPath = getMigrationMarkerPath();
230
- if (existsSync(markerPath)) {
231
- try {
232
- unlinkSync(markerPath);
233
- debugLogger.info("HISTORY_MIGRATION_MARKER_REMOVED", { path: markerPath });
234
- } catch {
235
- }
236
- }
237
- return migrateHistory();
238
- }
239
- async function runStartupHistoryMigration() {
240
- if (!checkHistoryMigrationNeeded()) {
241
- debugLogger.trace("STARTUP_HISTORY_MIGRATION_SKIPPED", {
242
- reason: "already completed"
243
- });
244
- return;
245
- }
246
- debugLogger.info("STARTUP_HISTORY_MIGRATION_RUNNING", {});
247
- try {
248
- const result = await migrateHistory();
249
- if (result.errors.length > 0) {
250
- debugLogger.warn("STARTUP_HISTORY_MIGRATION_ERRORS", {
251
- errors: result.errors.slice(0, 5),
252
- totalErrors: result.errors.length
253
- });
254
- }
255
- debugLogger.info("STARTUP_HISTORY_MIGRATION_DONE", {
256
- migrated: result.migrated,
257
- skipped: result.skipped
258
- });
259
- } catch (error) {
260
- debugLogger.error("STARTUP_HISTORY_MIGRATION_FAILED", {
261
- error: error instanceof Error ? error.message : String(error)
262
- });
263
- }
264
- }
265
- export {
266
- checkHistoryMigrationNeeded,
267
- cleanupLegacyHistory,
268
- forceHistoryMigration,
269
- getHistoryMigrationStatus,
270
- migrateHistory,
271
- runStartupHistoryMigration
272
- };
273
- //# sourceMappingURL=migrateHistory.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/migration/migrateHistory.ts"],
4
- "sourcesContent": ["/**\n * History Migration Tool\n *\n * Migrates command history from the legacy project-embedded format\n * (projects.*.history arrays in ~/.minto.json) to the new JSONL-based\n * global history file (~/.minto/history/global.jsonl).\n *\n * Migration process:\n * 1. Read the global config file to extract all project history arrays\n * 2. Convert each history entry to the new HistoryEntry format\n * 3. Append entries to the global JSONL history file\n * 4. Optionally clean up the legacy history arrays\n * 5. Write migration completion marker\n *\n * The migration is idempotent - running it multiple times will not\n * create duplicate entries (based on command + timestamp deduplication).\n */\n\nimport { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs'\nimport { join, resolve } from 'path'\nimport { CONFIG_PATHS, ensureConfigDirs } from '../configPaths'\nimport { debug as debugLogger } from '../debugLogger'\nimport {\n appendHistoryEntry,\n readAllHistoryEntries,\n type HistoryEntry,\n} from '../historyManager'\nimport { GLOBAL_CONFIG_FILE } from '../env'\n\n/**\n * Result of a history migration operation\n */\nexport interface HistoryMigrationResult {\n /** Number of entries successfully migrated */\n migrated: number\n /** Number of entries skipped (duplicates) */\n skipped: number\n /** Number of projects processed */\n projectsProcessed: number\n /** Error messages for failed operations */\n errors: string[]\n /** Detailed log of operations */\n log: string[]\n}\n\n/**\n * Migration status stored in marker file\n */\nexport interface HistoryMigrationStatus {\n completed: boolean\n timestamp?: number\n version: string\n migratedEntries: number\n projectsProcessed: number\n errors: string[]\n}\n\n// Migration marker file path\nconst MIGRATION_MARKER_FILE = '.history-migration-completed'\nconst MIGRATION_VERSION = '1.0.0'\n\n/**\n * Get the path to the migration marker file\n */\nfunction getMigrationMarkerPath(): string {\n return join(CONFIG_PATHS.base, MIGRATION_MARKER_FILE)\n}\n\n/**\n * Check if history migration has already been completed\n */\nexport function checkHistoryMigrationNeeded(): boolean {\n const markerPath = getMigrationMarkerPath()\n return !existsSync(markerPath)\n}\n\n/**\n * Get the current history migration status\n */\nexport function getHistoryMigrationStatus(): HistoryMigrationStatus {\n const markerPath = getMigrationMarkerPath()\n\n if (!existsSync(markerPath)) {\n return {\n completed: false,\n version: MIGRATION_VERSION,\n migratedEntries: 0,\n projectsProcessed: 0,\n errors: [],\n }\n }\n\n try {\n const content = readFileSync(markerPath, 'utf-8')\n return JSON.parse(content) as HistoryMigrationStatus\n } catch {\n return {\n completed: false,\n version: MIGRATION_VERSION,\n migratedEntries: 0,\n projectsProcessed: 0,\n errors: [],\n }\n }\n}\n\n/**\n * Write migration completion marker\n */\nfunction writeMigrationMarker(result: HistoryMigrationResult): void {\n const markerPath = getMigrationMarkerPath()\n const status: HistoryMigrationStatus = {\n completed: true,\n timestamp: Date.now(),\n version: MIGRATION_VERSION,\n migratedEntries: result.migrated,\n projectsProcessed: result.projectsProcessed,\n errors: result.errors.slice(0, 10), // Keep only first 10 errors\n }\n\n try {\n writeFileSync(markerPath, JSON.stringify(status, null, 2), 'utf-8')\n debugLogger.info('HISTORY_MIGRATION_MARKER_WRITTEN', {\n path: markerPath,\n migrated: result.migrated,\n })\n } catch (error) {\n debugLogger.error('HISTORY_MIGRATION_MARKER_WRITE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n}\n\n/**\n * Read legacy global config to extract project histories\n */\nfunction readLegacyConfig(): {\n projects: Record<string, { history?: string[] }>\n} | null {\n const configPath = GLOBAL_CONFIG_FILE\n\n if (!existsSync(configPath)) {\n return null\n }\n\n try {\n const content = readFileSync(configPath, 'utf-8')\n return JSON.parse(content)\n } catch (error) {\n debugLogger.error('HISTORY_MIGRATION_CONFIG_READ_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n return null\n }\n}\n\n/**\n * Create HistoryEntry from legacy history string\n * Legacy format doesn't have timestamps, so we estimate based on position\n */\nfunction createHistoryEntry(\n command: string,\n projectPath: string,\n estimatedTimestamp: number,\n): HistoryEntry {\n // Detect mode from command prefix\n let mode: 'prompt' | 'bash' | 'koding' = 'prompt'\n let cleanCommand = command\n\n if (command.startsWith('!')) {\n mode = 'bash'\n cleanCommand = command.slice(1)\n } else if (command.startsWith('#')) {\n mode = 'koding'\n cleanCommand = command.slice(1)\n }\n\n return {\n command: cleanCommand,\n timestamp: estimatedTimestamp,\n projectPath,\n mode,\n }\n}\n\n/**\n * Main history migration function\n *\n * Migrates all project history arrays to the global JSONL file.\n *\n * @returns Migration result with statistics and logs\n */\nexport async function migrateHistory(): Promise<HistoryMigrationResult> {\n const result: HistoryMigrationResult = {\n migrated: 0,\n skipped: 0,\n projectsProcessed: 0,\n errors: [],\n log: [],\n }\n\n // Check if migration is needed\n if (!checkHistoryMigrationNeeded()) {\n const status = getHistoryMigrationStatus()\n result.log.push(\n `History migration already completed at ${status.timestamp ? new Date(status.timestamp).toISOString() : 'unknown'}`,\n )\n result.log.push(`Previously migrated ${status.migratedEntries} entries`)\n debugLogger.info('HISTORY_MIGRATION_ALREADY_COMPLETE', { status })\n return result\n }\n\n debugLogger.info('HISTORY_MIGRATION_START', { version: MIGRATION_VERSION })\n result.log.push(`Starting history migration (version ${MIGRATION_VERSION})`)\n\n // Ensure required directories exist\n ensureConfigDirs()\n\n // Read legacy config\n const legacyConfig = readLegacyConfig()\n\n if (!legacyConfig || !legacyConfig.projects) {\n result.log.push('No legacy project histories found')\n debugLogger.info('HISTORY_MIGRATION_NO_LEGACY', {})\n // Still write marker to prevent future scans\n writeMigrationMarker(result)\n return result\n }\n\n // Read existing entries to check for duplicates\n const existingEntries = readAllHistoryEntries()\n const existingSet = new Set(\n existingEntries.map(e => `${e.command}:${e.projectPath || ''}`),\n )\n\n result.log.push(\n `Found ${Object.keys(legacyConfig.projects).length} projects to process`,\n )\n result.log.push(`Existing entries in JSONL: ${existingEntries.length}`)\n\n // Process each project's history\n const projects = Object.entries(legacyConfig.projects)\n\n for (const [projectPath, projectConfig] of projects) {\n if (!projectConfig.history || projectConfig.history.length === 0) {\n continue\n }\n\n result.projectsProcessed++\n const history = projectConfig.history\n\n result.log.push(\n `Processing project: ${projectPath} (${history.length} entries)`,\n )\n\n // Legacy history is stored newest-first, we need to reverse for chronological order\n // Estimate timestamps: assume entries span 30 days before now\n const now = Date.now()\n const timeSpan = 30 * 24 * 60 * 60 * 1000 // 30 days in milliseconds\n const reversedHistory = [...history].reverse()\n\n for (let i = 0; i < reversedHistory.length; i++) {\n const command = reversedHistory[i]\n\n if (!command || !command.trim()) {\n continue\n }\n\n // Estimate timestamp: oldest entry is 30 days ago, newest is now\n const progress =\n reversedHistory.length > 1 ? i / (reversedHistory.length - 1) : 1\n const estimatedTimestamp = Math.round(now - timeSpan * (1 - progress))\n\n // Check for duplicate\n const dedupKey = `${command}:${projectPath}`\n if (existingSet.has(dedupKey)) {\n result.skipped++\n continue\n }\n\n try {\n const entry = createHistoryEntry(\n command,\n projectPath,\n estimatedTimestamp,\n )\n appendHistoryEntry(entry)\n existingSet.add(dedupKey) // Track to avoid duplicates in same run\n result.migrated++\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error)\n result.errors.push(\n `Failed to migrate entry \"${command.slice(0, 50)}...\": ${errorMsg}`,\n )\n debugLogger.error('HISTORY_MIGRATION_ENTRY_FAILED', {\n command: command.slice(0, 50),\n error: errorMsg,\n })\n }\n }\n }\n\n // Write completion marker\n writeMigrationMarker(result)\n\n debugLogger.info('HISTORY_MIGRATION_COMPLETE', {\n migrated: result.migrated,\n skipped: result.skipped,\n projectsProcessed: result.projectsProcessed,\n errors: result.errors.length,\n })\n\n result.log.push('')\n result.log.push('=== History Migration Summary ===')\n result.log.push(`Projects processed: ${result.projectsProcessed}`)\n result.log.push(`Entries migrated: ${result.migrated}`)\n result.log.push(`Entries skipped (duplicates): ${result.skipped}`)\n result.log.push(`Errors: ${result.errors.length}`)\n\n return result\n}\n\n/**\n * Clean up legacy history arrays from global config\n * Call this after verifying migration was successful\n *\n * @param dryRun If true, only report what would be cleaned up\n * @returns Number of projects cleaned up\n */\nexport function cleanupLegacyHistory(dryRun: boolean = false): {\n projectsCleaned: number\n entriesRemoved: number\n} {\n const legacyConfig = readLegacyConfig()\n\n if (!legacyConfig || !legacyConfig.projects) {\n return { projectsCleaned: 0, entriesRemoved: 0 }\n }\n\n let projectsCleaned = 0\n let entriesRemoved = 0\n\n for (const [projectPath, projectConfig] of Object.entries(\n legacyConfig.projects,\n )) {\n if (projectConfig.history && projectConfig.history.length > 0) {\n entriesRemoved += projectConfig.history.length\n projectsCleaned++\n\n if (!dryRun) {\n // Remove history array from project config\n delete (projectConfig as any).history\n }\n }\n }\n\n if (!dryRun && projectsCleaned > 0) {\n // Save cleaned config\n try {\n const configPath = GLOBAL_CONFIG_FILE\n writeFileSync(configPath, JSON.stringify(legacyConfig, null, 2), 'utf-8')\n\n debugLogger.info('LEGACY_HISTORY_CLEANUP_COMPLETE', {\n projectsCleaned,\n entriesRemoved,\n })\n } catch (error) {\n debugLogger.error('LEGACY_HISTORY_CLEANUP_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n\n return { projectsCleaned, entriesRemoved }\n}\n\n/**\n * Force re-run history migration (for debugging/recovery)\n * Removes the migration marker and runs migration again\n */\nexport async function forceHistoryMigration(): Promise<HistoryMigrationResult> {\n const markerPath = getMigrationMarkerPath()\n\n if (existsSync(markerPath)) {\n try {\n unlinkSync(markerPath)\n debugLogger.info('HISTORY_MIGRATION_MARKER_REMOVED', { path: markerPath })\n } catch {\n // Ignore errors\n }\n }\n\n return migrateHistory()\n}\n\n/**\n * Check and run history migration at application startup\n * Should be called early in the application lifecycle\n */\nexport async function runStartupHistoryMigration(): Promise<void> {\n if (!checkHistoryMigrationNeeded()) {\n debugLogger.trace('STARTUP_HISTORY_MIGRATION_SKIPPED', {\n reason: 'already completed',\n })\n return\n }\n\n debugLogger.info('STARTUP_HISTORY_MIGRATION_RUNNING', {})\n\n try {\n const result = await migrateHistory()\n\n if (result.errors.length > 0) {\n debugLogger.warn('STARTUP_HISTORY_MIGRATION_ERRORS', {\n errors: result.errors.slice(0, 5),\n totalErrors: result.errors.length,\n })\n }\n\n debugLogger.info('STARTUP_HISTORY_MIGRATION_DONE', {\n migrated: result.migrated,\n skipped: result.skipped,\n })\n } catch (error) {\n debugLogger.error('STARTUP_HISTORY_MIGRATION_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n // Don't throw - migration failures shouldn't block application startup\n }\n}\n"],
5
- "mappings": "AAkBA,SAAS,YAAY,cAAc,eAAe,kBAAkB;AACpE,SAAS,YAAqB;AAC9B,SAAS,cAAc,wBAAwB;AAC/C,SAAS,SAAS,mBAAmB;AACrC;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,SAAS,0BAA0B;AA+BnC,MAAM,wBAAwB;AAC9B,MAAM,oBAAoB;AAK1B,SAAS,yBAAiC;AACxC,SAAO,KAAK,aAAa,MAAM,qBAAqB;AACtD;AAKO,SAAS,8BAAuC;AACrD,QAAM,aAAa,uBAAuB;AAC1C,SAAO,CAAC,WAAW,UAAU;AAC/B;AAKO,SAAS,4BAAoD;AAClE,QAAM,aAAa,uBAAuB;AAE1C,MAAI,CAAC,WAAW,UAAU,GAAG;AAC3B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,QAAQ,CAAC;AAAA,IACX;AAAA,EACF;AAEA,MAAI;AACF,UAAM,UAAU,aAAa,YAAY,OAAO;AAChD,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,QAAQ;AACN,WAAO;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,QAAQ,CAAC;AAAA,IACX;AAAA,EACF;AACF;AAKA,SAAS,qBAAqB,QAAsC;AAClE,QAAM,aAAa,uBAAuB;AAC1C,QAAM,SAAiC;AAAA,IACrC,WAAW;AAAA,IACX,WAAW,KAAK,IAAI;AAAA,IACpB,SAAS;AAAA,IACT,iBAAiB,OAAO;AAAA,IACxB,mBAAmB,OAAO;AAAA,IAC1B,QAAQ,OAAO,OAAO,MAAM,GAAG,EAAE;AAAA;AAAA,EACnC;AAEA,MAAI;AACF,kBAAc,YAAY,KAAK,UAAU,QAAQ,MAAM,CAAC,GAAG,OAAO;AAClE,gBAAY,KAAK,oCAAoC;AAAA,MACnD,MAAM;AAAA,MACN,UAAU,OAAO;AAAA,IACnB,CAAC;AAAA,EACH,SAAS,OAAO;AACd,gBAAY,MAAM,yCAAyC;AAAA,MACzD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,EACH;AACF;AAKA,SAAS,mBAEA;AACP,QAAM,aAAa;AAEnB,MAAI,CAAC,WAAW,UAAU,GAAG;AAC3B,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,UAAU,aAAa,YAAY,OAAO;AAChD,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,SAAS,OAAO;AACd,gBAAY,MAAM,wCAAwC;AAAA,MACxD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AACD,WAAO;AAAA,EACT;AACF;AAMA,SAAS,mBACP,SACA,aACA,oBACc;AAEd,MAAI,OAAqC;AACzC,MAAI,eAAe;AAEnB,MAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,WAAO;AACP,mBAAe,QAAQ,MAAM,CAAC;AAAA,EAChC,WAAW,QAAQ,WAAW,GAAG,GAAG;AAClC,WAAO;AACP,mBAAe,QAAQ,MAAM,CAAC;AAAA,EAChC;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,EACF;AACF;AASA,eAAsB,iBAAkD;AACtE,QAAM,SAAiC;AAAA,IACrC,UAAU;AAAA,IACV,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,QAAQ,CAAC;AAAA,IACT,KAAK,CAAC;AAAA,EACR;AAGA,MAAI,CAAC,4BAA4B,GAAG;AAClC,UAAM,SAAS,0BAA0B;AACzC,WAAO,IAAI;AAAA,MACT,0CAA0C,OAAO,YAAY,IAAI,KAAK,OAAO,SAAS,EAAE,YAAY,IAAI,SAAS;AAAA,IACnH;AACA,WAAO,IAAI,KAAK,uBAAuB,OAAO,eAAe,UAAU;AACvE,gBAAY,KAAK,sCAAsC,EAAE,OAAO,CAAC;AACjE,WAAO;AAAA,EACT;AAEA,cAAY,KAAK,2BAA2B,EAAE,SAAS,kBAAkB,CAAC;AAC1E,SAAO,IAAI,KAAK,uCAAuC,iBAAiB,GAAG;AAG3E,mBAAiB;AAGjB,QAAM,eAAe,iBAAiB;AAEtC,MAAI,CAAC,gBAAgB,CAAC,aAAa,UAAU;AAC3C,WAAO,IAAI,KAAK,mCAAmC;AACnD,gBAAY,KAAK,+BAA+B,CAAC,CAAC;AAElD,yBAAqB,MAAM;AAC3B,WAAO;AAAA,EACT;AAGA,QAAM,kBAAkB,sBAAsB;AAC9C,QAAM,cAAc,IAAI;AAAA,IACtB,gBAAgB,IAAI,OAAK,GAAG,EAAE,OAAO,IAAI,EAAE,eAAe,EAAE,EAAE;AAAA,EAChE;AAEA,SAAO,IAAI;AAAA,IACT,SAAS,OAAO,KAAK,aAAa,QAAQ,EAAE,MAAM;AAAA,EACpD;AACA,SAAO,IAAI,KAAK,8BAA8B,gBAAgB,MAAM,EAAE;AAGtE,QAAM,WAAW,OAAO,QAAQ,aAAa,QAAQ;AAErD,aAAW,CAAC,aAAa,aAAa,KAAK,UAAU;AACnD,QAAI,CAAC,cAAc,WAAW,cAAc,QAAQ,WAAW,GAAG;AAChE;AAAA,IACF;AAEA,WAAO;AACP,UAAM,UAAU,cAAc;AAE9B,WAAO,IAAI;AAAA,MACT,uBAAuB,WAAW,KAAK,QAAQ,MAAM;AAAA,IACvD;AAIA,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,WAAW,KAAK,KAAK,KAAK,KAAK;AACrC,UAAM,kBAAkB,CAAC,GAAG,OAAO,EAAE,QAAQ;AAE7C,aAAS,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;AAC/C,YAAM,UAAU,gBAAgB,CAAC;AAEjC,UAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,GAAG;AAC/B;AAAA,MACF;AAGA,YAAM,WACJ,gBAAgB,SAAS,IAAI,KAAK,gBAAgB,SAAS,KAAK;AAClE,YAAM,qBAAqB,KAAK,MAAM,MAAM,YAAY,IAAI,SAAS;AAGrE,YAAM,WAAW,GAAG,OAAO,IAAI,WAAW;AAC1C,UAAI,YAAY,IAAI,QAAQ,GAAG;AAC7B,eAAO;AACP;AAAA,MACF;AAEA,UAAI;AACF,cAAM,QAAQ;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACA,2BAAmB,KAAK;AACxB,oBAAY,IAAI,QAAQ;AACxB,eAAO;AAAA,MACT,SAAS,OAAO;AACd,cAAM,WAAW,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACtE,eAAO,OAAO;AAAA,UACZ,4BAA4B,QAAQ,MAAM,GAAG,EAAE,CAAC,SAAS,QAAQ;AAAA,QACnE;AACA,oBAAY,MAAM,kCAAkC;AAAA,UAClD,SAAS,QAAQ,MAAM,GAAG,EAAE;AAAA,UAC5B,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAGA,uBAAqB,MAAM;AAE3B,cAAY,KAAK,8BAA8B;AAAA,IAC7C,UAAU,OAAO;AAAA,IACjB,SAAS,OAAO;AAAA,IAChB,mBAAmB,OAAO;AAAA,IAC1B,QAAQ,OAAO,OAAO;AAAA,EACxB,CAAC;AAED,SAAO,IAAI,KAAK,EAAE;AAClB,SAAO,IAAI,KAAK,mCAAmC;AACnD,SAAO,IAAI,KAAK,uBAAuB,OAAO,iBAAiB,EAAE;AACjE,SAAO,IAAI,KAAK,qBAAqB,OAAO,QAAQ,EAAE;AACtD,SAAO,IAAI,KAAK,iCAAiC,OAAO,OAAO,EAAE;AACjE,SAAO,IAAI,KAAK,WAAW,OAAO,OAAO,MAAM,EAAE;AAEjD,SAAO;AACT;AASO,SAAS,qBAAqB,SAAkB,OAGrD;AACA,QAAM,eAAe,iBAAiB;AAEtC,MAAI,CAAC,gBAAgB,CAAC,aAAa,UAAU;AAC3C,WAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE;AAAA,EACjD;AAEA,MAAI,kBAAkB;AACtB,MAAI,iBAAiB;AAErB,aAAW,CAAC,aAAa,aAAa,KAAK,OAAO;AAAA,IAChD,aAAa;AAAA,EACf,GAAG;AACD,QAAI,cAAc,WAAW,cAAc,QAAQ,SAAS,GAAG;AAC7D,wBAAkB,cAAc,QAAQ;AACxC;AAEA,UAAI,CAAC,QAAQ;AAEX,eAAQ,cAAsB;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,UAAU,kBAAkB,GAAG;AAElC,QAAI;AACF,YAAM,aAAa;AACnB,oBAAc,YAAY,KAAK,UAAU,cAAc,MAAM,CAAC,GAAG,OAAO;AAExE,kBAAY,KAAK,mCAAmC;AAAA,QAClD;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,SAAS,OAAO;AACd,kBAAY,MAAM,iCAAiC;AAAA,QACjD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC9D,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO,EAAE,iBAAiB,eAAe;AAC3C;AAMA,eAAsB,wBAAyD;AAC7E,QAAM,aAAa,uBAAuB;AAE1C,MAAI,WAAW,UAAU,GAAG;AAC1B,QAAI;AACF,iBAAW,UAAU;AACrB,kBAAY,KAAK,oCAAoC,EAAE,MAAM,WAAW,CAAC;AAAA,IAC3E,QAAQ;AAAA,IAER;AAAA,EACF;AAEA,SAAO,eAAe;AACxB;AAMA,eAAsB,6BAA4C;AAChE,MAAI,CAAC,4BAA4B,GAAG;AAClC,gBAAY,MAAM,qCAAqC;AAAA,MACrD,QAAQ;AAAA,IACV,CAAC;AACD;AAAA,EACF;AAEA,cAAY,KAAK,qCAAqC,CAAC,CAAC;AAExD,MAAI;AACF,UAAM,SAAS,MAAM,eAAe;AAEpC,QAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,kBAAY,KAAK,oCAAoC;AAAA,QACnD,QAAQ,OAAO,OAAO,MAAM,GAAG,CAAC;AAAA,QAChC,aAAa,OAAO,OAAO;AAAA,MAC7B,CAAC;AAAA,IACH;AAEA,gBAAY,KAAK,kCAAkC;AAAA,MACjD,UAAU,OAAO;AAAA,MACjB,SAAS,OAAO;AAAA,IAClB,CAAC;AAAA,EACH,SAAS,OAAO;AACd,gBAAY,MAAM,oCAAoC;AAAA,MACpD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAC9D,CAAC;AAAA,EAEH;AACF;",
6
- "names": []
7
- }