@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/services/systemReminder.ts"],
4
- "sourcesContent": ["import { homedir } from 'os'\nimport { getTodos, TodoItem } from '@utils/todoStorage'\n\n/**\n * Escape XML special characters to prevent injection in XML-tagged content.\n * Used for team messages and hook results injected into system reminders.\n */\nfunction escapeXml(s: string): string {\n return s\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n}\n\nexport interface ReminderMessage {\n role: 'system'\n content: string\n isMeta: boolean\n timestamp: number\n type: string\n priority: 'low' | 'medium' | 'high'\n category: 'task' | 'security' | 'performance' | 'general'\n}\n\ninterface ReminderConfig {\n todoEmptyReminder: boolean\n securityReminder: boolean\n performanceReminder: boolean\n maxRemindersPerSession: number\n}\n\ninterface SessionReminderState {\n lastTodoUpdate: number\n lastFileAccess: number\n sessionStartTime: number\n remindersSent: Set<string>\n contextPresent: boolean\n reminderCount: number\n config: ReminderConfig\n}\n\nclass SystemReminderService {\n private sessionState: SessionReminderState = {\n lastTodoUpdate: 0,\n lastFileAccess: 0,\n sessionStartTime: Date.now(),\n remindersSent: new Set(),\n contextPresent: false,\n reminderCount: 0,\n config: {\n todoEmptyReminder: true,\n securityReminder: true,\n performanceReminder: true,\n maxRemindersPerSession: 10,\n },\n }\n\n private eventDispatcher = new Map<string, Array<(context: any) => void>>()\n private reminderCache = new Map<string, ReminderMessage>()\n\n constructor() {\n this.setupEventDispatcher()\n }\n\n /**\n * Conditional reminder injection - only when context is present\n * Enhanced with performance optimizations and priority management\n */\n public generateReminders(\n hasContext: boolean = false,\n agentId?: string,\n ): ReminderMessage[] {\n this.sessionState.contextPresent = hasContext\n\n // Only inject when context is present (matching original behavior)\n if (!hasContext) {\n return []\n }\n\n // Check session reminder limit to prevent overload\n if (\n this.sessionState.reminderCount >=\n this.sessionState.config.maxRemindersPerSession\n ) {\n return []\n }\n\n const reminders: ReminderMessage[] = []\n const currentTime = Date.now()\n\n // Periodic pruning of remindersSent to prevent unbounded growth\n // Prune every 100 reminders: remove entries older than 30 minutes\n if (this.sessionState.remindersSent.size > 100) {\n this.pruneOldReminders(currentTime)\n }\n\n // Use lazy evaluation for performance with agent context\n const reminderGenerators = [\n () => this.getPlanModeActiveReminder(),\n () => this.dispatchTodoEvent(agentId),\n () => this.dispatchTaskToolsReminder(),\n () => this.dispatchSecurityEvent(),\n () => this.dispatchPerformanceEvent(),\n () => this.getMentionReminders(),\n () => this.getEventReminders(),\n () => this.getTeamMessageReminders(agentId),\n ]\n\n for (const generator of reminderGenerators) {\n if (reminders.length >= 8) break // Accommodate mentions + event reminders\n\n const result = generator()\n if (result) {\n // Handle both single reminders and arrays\n const remindersToAdd = Array.isArray(result) ? result : [result]\n reminders.push(...remindersToAdd)\n this.sessionState.reminderCount += remindersToAdd.length\n }\n }\n\n // Log aggregated metrics instead of individual events for performance\n\n return reminders\n }\n\n /**\n * Plan mode persistent reminder \u2014 injected EVERY turn while plan mode is active (CC behavior).\n * Not gated by remindersSent because it must appear on every generateReminders() call.\n */\n private getPlanModeActiveReminder(): ReminderMessage | null {\n try {\n // Lazy import to avoid circular dependency\n const {\n isPlanModeEnabled,\n getPlanFilePath,\n } = require('@utils/plan/planMode')\n if (!isPlanModeEnabled()) return null\n\n const planPath = getPlanFilePath()\n return this.createReminderMessage(\n 'plan_mode_active',\n 'general',\n 'high',\n `Plan mode is active. You MUST NOT make any edits or changes except to the plan file at: ${planPath}\\n\\nEnd every turn with either:\\n- AskUserQuestion (to clarify requirements)\\n- ExitPlanMode (to present your plan for approval)\\n\\nDo NOT write code, edit files, or run commands other than read-only exploration.`,\n Date.now(),\n )\n } catch {\n return null\n }\n }\n\n private dispatchTodoEvent(agentId?: string): ReminderMessage | null {\n if (!this.sessionState.config.todoEmptyReminder) return null\n\n // Use agent-scoped todo access\n const todos = getTodos(agentId)\n const currentTime = Date.now()\n const agentKey = agentId || 'default'\n\n // Check if this is a fresh session (no todos seen yet)\n if (\n todos.length === 0 &&\n !this.sessionState.remindersSent.has(`todo_empty_${agentKey}`)\n ) {\n this.sessionState.remindersSent.add(`todo_empty_${agentKey}`)\n return this.createReminderMessage(\n 'todo',\n 'task',\n 'medium',\n 'This is a reminder that your todo list is currently empty. DO NOT mention this to the user explicitly because they are already aware. If you are working on tasks that would benefit from a todo list please use the TodoWrite tool to create one. If not, please feel free to ignore. Again do not mention this message to the user.',\n currentTime,\n )\n }\n\n // Check for todo updates since last seen\n if (todos.length > 0) {\n const reminderKey = `todo_updated_${agentKey}_${todos.length}_${this.getTodoStateHash(todos)}`\n\n // Use cache for performance optimization\n if (this.reminderCache.has(reminderKey)) {\n return this.reminderCache.get(reminderKey)!\n }\n\n if (!this.sessionState.remindersSent.has(reminderKey)) {\n this.sessionState.remindersSent.add(reminderKey)\n // Clear previous todo state reminders for this agent\n this.clearTodoReminders(agentKey)\n\n // Optimize: only include essential todo data\n const todoContent = JSON.stringify(\n todos.map(todo => ({\n content:\n todo.content.length > 100\n ? todo.content.substring(0, 100) + '...'\n : todo.content,\n status: todo.status,\n priority: todo.priority,\n id: todo.id,\n })),\n )\n\n const reminder = this.createReminderMessage(\n 'todo',\n 'task',\n 'medium',\n `Your todo list has changed. DO NOT mention this explicitly to the user. Here are the latest contents of your todo list:\\n\\n${todoContent}. Continue on with the tasks at hand if applicable.`,\n currentTime,\n )\n\n // Cache the reminder for reuse\n this.reminderCache.set(reminderKey, reminder)\n return reminder\n }\n }\n\n return null\n }\n\n private dispatchTaskToolsReminder(): ReminderMessage | null {\n const key = 'task_tools_reminder'\n if (this.sessionState.remindersSent.has(key)) return null\n\n // Only trigger after 5 minutes of session time\n const sessionDuration = Date.now() - this.sessionState.sessionStartTime\n if (sessionDuration < 5 * 60 * 1000) return null\n\n // Check if tasks exist via the event cache \u2014 if task:created or task:status\n // events have fired, the user is already using task tools\n const hasTaskActivity = Array.from(this.sessionState.remindersSent).some(\n k => k.startsWith('task_'),\n )\n if (hasTaskActivity) return null\n\n // Emit the reminder event so the listener caches the message\n this.emitEvent('task:tools_reminder', {})\n return null\n }\n\n private dispatchSecurityEvent(): ReminderMessage | null {\n if (!this.sessionState.config.securityReminder) return null\n\n const currentTime = Date.now()\n\n // Only inject security reminder once per session when file operations occur\n if (\n this.sessionState.lastFileAccess > 0 &&\n !this.sessionState.remindersSent.has('file_security')\n ) {\n this.sessionState.remindersSent.add('file_security')\n return this.createReminderMessage(\n 'security',\n 'security',\n 'high',\n 'Whenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.',\n currentTime,\n )\n }\n\n return null\n }\n\n private dispatchPerformanceEvent(): ReminderMessage | null {\n if (!this.sessionState.config.performanceReminder) return null\n\n const currentTime = Date.now()\n const sessionDuration = currentTime - this.sessionState.sessionStartTime\n\n // Remind about performance after long sessions (30 minutes)\n if (\n sessionDuration > 30 * 60 * 1000 &&\n !this.sessionState.remindersSent.has('performance_long_session')\n ) {\n this.sessionState.remindersSent.add('performance_long_session')\n return this.createReminderMessage(\n 'performance',\n 'performance',\n 'low',\n 'Long session detected. Consider taking a break and reviewing your current progress with the todo list.',\n currentTime,\n )\n }\n\n return null\n }\n\n /**\n * Retrieve cached mention reminders\n * Returns recent mentions (within 5 seconds) that haven't expired\n */\n private getMentionReminders(): ReminderMessage[] {\n const currentTime = Date.now()\n const MENTION_FRESHNESS_WINDOW = 5000 // 5 seconds\n const reminders: ReminderMessage[] = []\n const expiredKeys: string[] = []\n\n // Single pass through cache for both collection and cleanup identification\n for (const [key, reminder] of this.reminderCache.entries()) {\n if (this.isMentionReminder(reminder)) {\n const age = currentTime - reminder.timestamp\n if (age <= MENTION_FRESHNESS_WINDOW) {\n reminders.push(reminder)\n } else {\n expiredKeys.push(key)\n }\n }\n }\n\n // Clean up expired mention reminders in separate pass for performance\n expiredKeys.forEach(key => this.reminderCache.delete(key))\n\n return reminders\n }\n\n /**\n * Type guard for mention reminders - centralized type checking\n * Eliminates hardcoded type strings scattered throughout the code\n */\n private isMentionReminder(reminder: ReminderMessage): boolean {\n const mentionTypes = ['agent_mention', 'file_mention', 'ask_model_mention']\n return mentionTypes.includes(reminder.type)\n }\n\n /**\n * Event-based reminder types for hook results, file status, task status\n */\n private static readonly EVENT_REMINDER_TYPES = new Set([\n // Batch A\n 'hook_additional_context',\n 'hook_blocking_error',\n 'hook_stopped_continuation',\n 'file_empty',\n 'file_truncated',\n 'task_status',\n 'task_tools_reminder',\n // Batch B\n 'output_style_active',\n 'plan_file_reference',\n 'plan_mode_reentry',\n 'plan_exited',\n 'plan_verify',\n 'plan_mode_active',\n 'skill_invoked',\n 'mcp_resource_no_content',\n 'compact_file_reference',\n // Batch C\n 'token_usage',\n 'budget_usd',\n 'team_coordination',\n 'team_shutdown',\n 'diagnostics_new',\n 'session_continuation',\n ])\n\n private isEventReminder(reminder: ReminderMessage): boolean {\n return SystemReminderService.EVENT_REMINDER_TYPES.has(reminder.type)\n }\n\n /**\n * Retrieve cached event-based reminders (hook results, file status, task status)\n * Returns recent event reminders within freshness window\n */\n private getEventReminders(): ReminderMessage[] {\n const currentTime = Date.now()\n const EVENT_FRESHNESS_WINDOW = 10000 // 10 seconds\n const reminders: ReminderMessage[] = []\n const expiredKeys: string[] = []\n\n for (const [key, reminder] of this.reminderCache.entries()) {\n if (this.isEventReminder(reminder)) {\n const age = currentTime - reminder.timestamp\n if (age <= EVENT_FRESHNESS_WINDOW) {\n reminders.push(reminder)\n } else {\n expiredKeys.push(key)\n }\n }\n }\n\n expiredKeys.forEach(key => this.reminderCache.delete(key))\n\n return reminders\n }\n\n /**\n * Deliver pending team mailbox messages to the current agent as reminders.\n * Checks unread messages for the agent's team-scoped ID and formats them\n * as <team-message> blocks for conversation injection.\n */\n private getTeamMessageReminders(agentId?: string): ReminderMessage[] | null {\n if (!agentId) return null\n\n // Only deliver for team-scoped agents (format: name@team)\n const teamName = process.env.MINTO_TEAM_NAME || agentId.split('@')[1]\n if (!teamName) return null\n\n try {\n // Lazy import to avoid circular dependency (teamManager imports systemReminder)\n const { getTeam } = require('./agentTeams/teamManager')\n const entry = getTeam(teamName)\n if (!entry) return null\n\n const { mailbox } = entry\n const unread = mailbox.getUnread(agentId)\n if (unread.length === 0) return null\n\n // Mark as read so they aren't re-delivered\n mailbox.markRead(unread.map(m => m.id))\n\n const currentTime = Date.now()\n const reminders: ReminderMessage[] = []\n\n for (const msg of unread) {\n const senderName = msg.from.split('@')[0] || msg.from\n const summaryText =\n msg.summary || msg.text.slice(0, 60).replace(/\"/g, \"'\")\n const colorAttr = msg.color ? ` color=\"${escapeXml(msg.color)}\"` : ''\n const content = `<team-message from=\"${escapeXml(senderName)}\"${colorAttr} summary=\"${escapeXml(summaryText)}\">\\n${escapeXml(msg.text)}\\n</team-message>`\n\n reminders.push(\n this.createReminderMessage(\n 'team_message',\n 'task',\n 'high',\n content,\n currentTime,\n ),\n )\n }\n\n return reminders\n } catch {\n return null\n }\n }\n\n /**\n * Generate reminders for external file changes\n * Called when todo files are modified externally\n */\n public generateFileChangeReminder(context: any): ReminderMessage | null {\n const { agentId, filePath, reminder } = context\n\n if (!reminder) {\n return null\n }\n\n const currentTime = Date.now()\n const reminderKey = `file_changed_${agentId}_${filePath}_${currentTime}`\n\n // Ensure this specific file change reminder is only shown once\n if (this.sessionState.remindersSent.has(reminderKey)) {\n return null\n }\n\n this.sessionState.remindersSent.add(reminderKey)\n\n return this.createReminderMessage(\n 'file_changed',\n 'general',\n 'medium',\n reminder,\n currentTime,\n )\n }\n\n private createReminderMessage(\n type: string,\n category: ReminderMessage['category'],\n priority: ReminderMessage['priority'],\n content: string,\n timestamp: number,\n ): ReminderMessage {\n return {\n role: 'system',\n content: `<system-reminder>\\n${content}\\n</system-reminder>`,\n isMeta: true,\n timestamp,\n type,\n priority,\n category,\n }\n }\n\n private getTodoStateHash(todos: TodoItem[]): string {\n return todos\n .map(t => `${t.id}:${t.status}`)\n .sort()\n .join('|')\n }\n\n private clearTodoReminders(agentId?: string): void {\n const agentKey = agentId || 'default'\n for (const key of this.sessionState.remindersSent) {\n if (key.startsWith(`todo_updated_${agentKey}_`)) {\n this.sessionState.remindersSent.delete(key)\n }\n }\n }\n\n private setupEventDispatcher(): void {\n // Session startup events\n this.addEventListener('session:startup', context => {\n // Reset session state on startup\n this.resetSession()\n\n // Initialize session tracking\n this.sessionState.sessionStartTime = Date.now()\n this.sessionState.contextPresent =\n Object.keys(context.context || {}).length > 0\n })\n\n // Todo change events\n this.addEventListener('todo:changed', context => {\n this.sessionState.lastTodoUpdate = Date.now()\n this.clearTodoReminders(context.agentId)\n })\n\n // Todo file changed externally\n this.addEventListener('todo:file_changed', context => {\n // External file change detected, cache reminder for next generateReminders() call\n const agentId = context.agentId || 'default'\n this.clearTodoReminders(agentId)\n this.sessionState.lastTodoUpdate = Date.now()\n\n // Generate and cache file change reminder directly\n const reminder = this.generateFileChangeReminder(context)\n if (reminder) {\n const cacheKey = `file_changed_${agentId}_${Date.now()}`\n this.reminderCache.set(cacheKey, reminder)\n }\n })\n\n // File conflict events (external modification between reads)\n this.addEventListener('file:conflict', context => {\n const filePath = context.filePath || context.path || 'unknown'\n const cacheKey = `file_conflict_${filePath}_${Date.now()}`\n\n if (!this.sessionState.remindersSent.has(cacheKey)) {\n this.sessionState.remindersSent.add(cacheKey)\n\n const reminder = this.createReminderMessage(\n 'file_conflict',\n 'general',\n 'high',\n `File ${filePath} was modified externally since last read. Re-read the file before editing to avoid overwriting changes.`,\n Date.now(),\n )\n this.reminderCache.set(cacheKey, reminder)\n }\n })\n\n // File access events\n this.addEventListener('file:read', context => {\n this.sessionState.lastFileAccess = Date.now()\n })\n\n // File edit events for freshness detection\n this.addEventListener('file:edited', context => {\n // File edit handling\n })\n\n // Unified mention event handlers - eliminates code duplication\n this.addEventListener('agent:mentioned', context => {\n this.createMentionReminder({\n type: 'agent_mention',\n key: `agent_mention_${context.agentType}_${context.timestamp}`,\n category: 'task',\n priority: 'high',\n content: `The user mentioned @${context.originalMention}. You MUST use the Task tool with subagent_type=\"${context.agentType}\" to delegate this task to the specified agent. Provide a detailed, self-contained task description that fully captures the user's intent for the ${context.agentType} agent to execute.`,\n timestamp: context.timestamp,\n })\n })\n\n this.addEventListener('file:mentioned', context => {\n this.createMentionReminder({\n type: 'file_mention',\n key: `file_mention_${context.filePath}_${context.timestamp}`,\n category: 'general',\n priority: 'high',\n content: `The user mentioned @${context.originalMention}. You MUST read the entire content of the file at path: ${context.filePath} using the Read tool to understand the full context before proceeding with the user's request.`,\n timestamp: context.timestamp,\n })\n })\n\n this.addEventListener('ask-model:mentioned', context => {\n this.createMentionReminder({\n type: 'ask_model_mention',\n key: `ask_model_mention_${context.modelName}_${context.timestamp}`,\n category: 'task',\n priority: 'high',\n content: `The user mentioned @${context.modelName}. You MUST use the AskExpertModelTool to consult this specific model for expert opinions and analysis. Provide the user's question or context clearly to get the most relevant response from ${context.modelName}.`,\n timestamp: context.timestamp,\n })\n })\n\n // Hook result events (Batch A system reminders)\n this.addEventListener('hook:additional_context', context => {\n const key = `hook_ctx_${context.hookName}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'hook_additional_context',\n 'general',\n 'medium',\n `Additional context from hook \"${escapeXml(context.hookName)}\": ${escapeXml(String(context.content))}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('hook:blocking_error', context => {\n const key = `hook_block_${context.hookName}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'hook_blocking_error',\n 'general',\n 'high',\n `A hook blocked the action: ${escapeXml(String(context.reason))}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('hook:stopped_continuation', context => {\n const key = `hook_stop_${context.hookName}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'hook_stopped_continuation',\n 'general',\n 'high',\n `A hook stopped continuation: ${escapeXml(String(context.reason))}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // File status events\n this.addEventListener('file:empty', context => {\n const key = `file_empty_${context.filePath}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'file_empty',\n 'general',\n 'low',\n `File exists but is empty: ${context.filePath}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('file:truncated', context => {\n const key = `file_truncated_${context.filePath}_${context.limit}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'file_truncated',\n 'general',\n 'low',\n `File content was truncated at ${context.limit} lines. Total lines: ${context.totalLines}. Use offset and limit to read more.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Task status events\n this.addEventListener('task:status', context => {\n const key = `task_status_${context.taskId}_${context.status}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'task_status',\n 'task',\n 'medium',\n `Task ${context.taskId} (${context.description || 'unnamed'}): status changed to ${context.status}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('task:tools_reminder', context => {\n const key = 'task_tools_reminder'\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'task_tools_reminder',\n 'task',\n 'low',\n \"The task tools haven't been used recently. If you're working on tasks that would benefit from tracking progress, consider using TaskCreate to add new tasks and TaskUpdate to update task status (set to in_progress when starting, completed when done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable. Make sure that you NEVER mention this reminder to the user\",\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Batch B: Output style events\n this.addEventListener('output_style:active', context => {\n const key = `output_style_active_${context.styleName}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'output_style_active',\n 'general',\n 'low',\n `Output style \"${context.styleName}\" is active. Follow its formatting instructions for your responses.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Plan mode events\n this.addEventListener('plan:file_reference', context => {\n const key = `plan_file_ref_${context.planPath}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'plan_file_reference',\n 'general',\n 'medium',\n `A plan file exists at: ${context.planPath}. Review it before making implementation decisions.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('plan:mode_reentry', context => {\n const key = `plan_reentry_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'plan_mode_reentry',\n 'general',\n 'medium',\n 'Re-entering plan mode. Review the existing plan and update as needed before implementation.',\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n this.addEventListener('plan:exited', context => {\n const key = `plan_exited_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'plan_exited',\n 'general',\n 'medium',\n 'Exited plan mode. Proceed with implementation following the approved plan.',\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Skill invocation events\n this.addEventListener('skill:invoked', context => {\n const key = `skill_invoked_${context.skillName}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'skill_invoked',\n 'general',\n 'low',\n `Skill \"${context.skillName}\" was invoked. Follow the skill's instructions in the expanded prompt.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // MCP resource events\n this.addEventListener('mcp:resource_no_content', context => {\n const key = `mcp_no_content_${context.resourceUri}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'mcp_resource_no_content',\n 'general',\n 'low',\n `MCP resource \"${context.resourceUri}\" returned no content. It may be unavailable or empty.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Compact file reference events\n this.addEventListener('compact:file_reference', context => {\n const key = `compact_file_ref_${context.filePath}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'compact_file_reference',\n 'general',\n 'low',\n `Note: ${context.filePath} was read before the last conversation was summarized, but the contents are too large to include. Use Read tool if you need to access it.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Plan verify: post-execution verification reminder\n this.addEventListener('plan:verify', context => {\n const key = `plan_verify_${context.planPath}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'plan_verify',\n 'general',\n 'medium',\n `Implementation is complete. Verify against the approved plan at: ${context.planPath}. Check that all planned changes were made, run tests, and confirm the verification procedures from the plan pass.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Batch C: Token usage tracking\n this.addEventListener('token:usage', context => {\n const key = `token_usage_${context.threshold}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'token_usage',\n 'performance',\n 'low',\n `Token usage has reached ${context.percentage}% of context limit (${context.used}/${context.total} tokens).`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Budget tracking\n this.addEventListener('budget:usd', context => {\n const key = `budget_usd_${context.threshold}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'budget_usd',\n 'performance',\n 'medium',\n `USD budget usage: $${context.used.toFixed(2)} of $${context.limit.toFixed(2)} (${context.percentage}%).`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Team coordination (CC-compatible: include file paths for agent self-service)\n this.addEventListener('team:coordination', context => {\n const key = `team_coord_${context.teamId}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const teamId = context.teamId\n const homeDir = homedir()\n const teamConfigPath = `${homeDir}/.minto/teams/${teamId}/config.json`\n const taskListPath = `${homeDir}/.minto/tasks/${teamId}`\n const reminder = this.createReminderMessage(\n 'team_coordination',\n 'task',\n 'medium',\n `Team coordination: ${context.message}\\nteamConfigPath: ${teamConfigPath}\\ntaskListPath: ${taskListPath}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Team shutdown\n this.addEventListener('team:shutdown', context => {\n const key = `team_shutdown_${context.teamId}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'team_shutdown',\n 'task',\n 'high',\n `Team \"${context.teamId}\" is shutting down. Reason: ${context.reason || 'completed'}`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // New diagnostics\n this.addEventListener('diagnostics:new', context => {\n const key = `diagnostics_${context.source}_${Date.now()}`\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const count = context.count || 1\n const reminder = this.createReminderMessage(\n 'diagnostics_new',\n 'general',\n 'low',\n `${count} new diagnostic${count > 1 ? 's' : ''} detected from ${context.source}. Review before proceeding.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n\n // Session continuation\n this.addEventListener('session:continuation', context => {\n const key = 'session_continuation'\n if (!this.sessionState.remindersSent.has(key)) {\n this.sessionState.remindersSent.add(key)\n const reminder = this.createReminderMessage(\n 'session_continuation',\n 'general',\n 'medium',\n `This session is a continuation of a previous conversation. Key context has been preserved.`,\n Date.now(),\n )\n this.reminderCache.set(key, reminder)\n }\n })\n }\n\n public addEventListener(\n event: string,\n callback: (context: any) => void,\n ): void {\n if (!this.eventDispatcher.has(event)) {\n this.eventDispatcher.set(event, [])\n }\n this.eventDispatcher.get(event)!.push(callback)\n }\n\n public emitEvent(event: string, context: any): void {\n const listeners = this.eventDispatcher.get(event) || []\n listeners.forEach(callback => {\n try {\n callback(context)\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error)\n }\n })\n }\n\n /**\n * Unified mention reminder creation - eliminates duplicate logic\n * Centralizes reminder creation with consistent deduplication\n */\n private createMentionReminder(params: {\n type: string\n key: string\n category: ReminderMessage['category']\n priority: ReminderMessage['priority']\n content: string\n timestamp: number\n }): void {\n if (!this.sessionState.remindersSent.has(params.key)) {\n this.sessionState.remindersSent.add(params.key)\n\n const reminder = this.createReminderMessage(\n params.type,\n params.category,\n params.priority,\n params.content,\n params.timestamp,\n )\n\n this.reminderCache.set(params.key, reminder)\n }\n }\n\n /**\n * Prune old reminder keys to prevent unbounded Set growth.\n * Keeps keys that contain timestamps or are \"sticky\" (security, performance).\n * Removes generic keys when the set exceeds threshold.\n */\n private pruneOldReminders(_currentTime: number): void {\n // Keep essential/sticky keys, remove timestamped transient ones\n const stickyPrefixes = ['file_security', 'performance_', 'todo_empty_']\n const toDelete: string[] = []\n for (const key of this.sessionState.remindersSent) {\n if (!stickyPrefixes.some(p => key.startsWith(p))) {\n toDelete.push(key)\n }\n }\n // Remove up to half of non-sticky keys\n const removeCount = Math.min(\n toDelete.length,\n Math.floor(toDelete.length / 2),\n )\n for (let i = 0; i < removeCount; i++) {\n this.sessionState.remindersSent.delete(toDelete[i]!)\n }\n }\n\n public resetSession(): void {\n this.sessionState = {\n lastTodoUpdate: 0,\n lastFileAccess: 0,\n sessionStartTime: Date.now(),\n remindersSent: new Set(),\n contextPresent: false,\n reminderCount: 0,\n config: { ...this.sessionState.config }, // Preserve config across resets\n }\n this.reminderCache.clear() // Clear cache on session reset\n }\n\n public updateConfig(config: Partial<ReminderConfig>): void {\n this.sessionState.config = { ...this.sessionState.config, ...config }\n }\n\n public getSessionState(): SessionReminderState {\n return { ...this.sessionState }\n }\n}\n\nexport const systemReminderService = new SystemReminderService()\n\nexport const generateSystemReminders = (\n hasContext: boolean = false,\n agentId?: string,\n) => systemReminderService.generateReminders(hasContext, agentId)\n\nexport const generateFileChangeReminder = (context: any) =>\n systemReminderService.generateFileChangeReminder(context)\n\nexport const emitReminderEvent = (event: string, context: any) =>\n systemReminderService.emitEvent(event, context)\n\nexport const resetReminderSession = () => systemReminderService.resetSession()\nexport const getReminderSessionState = () =>\n systemReminderService.getSessionState()\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,324 +0,0 @@
1
- import { getModelManager } from "../utils/model.js";
2
- const DEFAULT_ROUTING_RULES = [
3
- // Simple tasks → fast model
4
- { pattern: "simple-query", model: "haiku", priority: 1 },
5
- { pattern: "simple-generation", model: "haiku", priority: 1 },
6
- // Moderate tasks → balanced model
7
- { pattern: "moderate-query", model: "sonnet", priority: 2 },
8
- { pattern: "moderate-generation", model: "sonnet", priority: 2 },
9
- { pattern: "moderate-review", model: "sonnet", priority: 2 },
10
- { pattern: "moderate-refactor", model: "sonnet", priority: 2 },
11
- { pattern: "moderate-debug", model: "sonnet", priority: 2 },
12
- // Complex tasks → powerful model
13
- { pattern: "complex-reasoning", model: "opus", priority: 3 },
14
- { pattern: "complex-architecture", model: "opus", priority: 3 },
15
- { pattern: "complex-generation", model: "opus", priority: 3 },
16
- { pattern: "complex-creative", model: "opus", priority: 3 },
17
- // Specific task types
18
- { pattern: "*-architecture", model: "opus", priority: 0 },
19
- { pattern: "*-reasoning", model: "opus", priority: 0 },
20
- { pattern: "*-review", model: "sonnet", priority: 1 },
21
- { pattern: "*-debug", model: "sonnet", priority: 1 }
22
- ];
23
- const ANALYSIS_PATTERNS = [
24
- // Query patterns
25
- {
26
- name: "question",
27
- patterns: [
28
- /\b(what|how|why|when|where|who|which|can you explain)\b/i,
29
- /\?$/,
30
- /\b(tell me|show me|help me understand)\b/i
31
- ],
32
- type: "query",
33
- complexityWeight: -0.2
34
- },
35
- // Generation patterns
36
- {
37
- name: "generation",
38
- patterns: [
39
- /\b(create|generate|write|build|implement|add|make)\b/i,
40
- /\b(new|feature|function|class|component|module)\b/i
41
- ],
42
- type: "generation",
43
- complexityWeight: 0.1
44
- },
45
- // Review patterns
46
- {
47
- name: "review",
48
- patterns: [
49
- /\b(review|check|analyze|examine|inspect|audit)\b/i,
50
- /\b(code review|pull request|pr|merge)\b/i
51
- ],
52
- type: "review",
53
- complexityWeight: 0
54
- },
55
- // Reasoning patterns
56
- {
57
- name: "reasoning",
58
- patterns: [
59
- /\b(think|reason|consider|evaluate|compare|decide)\b/i,
60
- /\b(trade-?off|pros and cons|best approach|optimal)\b/i,
61
- /\b(algorithm|complexity|performance|efficiency)\b/i
62
- ],
63
- type: "reasoning",
64
- complexityWeight: 0.3
65
- },
66
- // Creative patterns
67
- {
68
- name: "creative",
69
- patterns: [
70
- /\b(creative|brainstorm|innovative|design|imagine)\b/i,
71
- /\b(suggest|propose|come up with|ideas)\b/i
72
- ],
73
- type: "creative",
74
- complexityWeight: 0.2
75
- },
76
- // Refactoring patterns
77
- {
78
- name: "refactor",
79
- patterns: [
80
- /\b(refactor|restructure|reorganize|clean up|improve)\b/i,
81
- /\b(optimize|simplify|modularize|extract)\b/i
82
- ],
83
- type: "refactor",
84
- complexityWeight: 0.15
85
- },
86
- // Debug patterns
87
- {
88
- name: "debug",
89
- patterns: [
90
- /\b(debug|fix|error|bug|issue|problem|crash)\b/i,
91
- /\b(broken|doesn't work|failing|wrong)\b/i,
92
- /\b(stack trace|exception|undefined|null)\b/i
93
- ],
94
- type: "debug",
95
- complexityWeight: 0.1
96
- },
97
- // Architecture patterns
98
- {
99
- name: "architecture",
100
- patterns: [
101
- /\b(architect|design|system|infrastructure|scale)\b/i,
102
- /\b(microservice|monolith|distributed|database)\b/i,
103
- /\b(api design|schema|data model|integration)\b/i
104
- ],
105
- type: "architecture",
106
- complexityWeight: 0.4
107
- }
108
- ];
109
- const COMPLEXITY_INDICATORS = {
110
- simple: [
111
- /\b(simple|quick|basic|easy|trivial|small)\b/i,
112
- /\b(one line|single|just|only)\b/i
113
- ],
114
- complex: [
115
- /\b(complex|difficult|challenging|advanced|comprehensive)\b/i,
116
- /\b(entire|whole|all|complete|full|extensive)\b/i,
117
- /\b(multiple|several|many|various)\b/i,
118
- /\b(system|platform|framework|infrastructure)\b/i
119
- ]
120
- };
121
- class TaskRouter {
122
- routingRules = /* @__PURE__ */ new Map();
123
- modelManager = getModelManager();
124
- customRules = [];
125
- constructor(customRules) {
126
- this.loadRules(DEFAULT_ROUTING_RULES);
127
- if (customRules) {
128
- this.customRules = customRules;
129
- this.loadRules(customRules);
130
- }
131
- }
132
- /**
133
- * Load routing rules into the map
134
- */
135
- loadRules(rules) {
136
- const sorted = [...rules].sort((a, b) => a.priority - b.priority);
137
- for (const rule of sorted) {
138
- this.routingRules.set(rule.pattern, rule.model);
139
- }
140
- }
141
- /**
142
- * Analyze a task and return detailed analysis
143
- */
144
- analyzeTask(task) {
145
- const detectedPatterns = [];
146
- let complexityScore = 0.5;
147
- let primaryType = "query";
148
- let typeMatchCount = 0;
149
- for (const pattern of ANALYSIS_PATTERNS) {
150
- let matches = 0;
151
- for (const regex of pattern.patterns) {
152
- if (regex.test(task)) {
153
- matches++;
154
- }
155
- }
156
- if (matches > 0) {
157
- detectedPatterns.push(pattern.name);
158
- complexityScore += pattern.complexityWeight * (matches / pattern.patterns.length);
159
- if (matches > typeMatchCount) {
160
- typeMatchCount = matches;
161
- primaryType = pattern.type;
162
- }
163
- }
164
- }
165
- for (const regex of COMPLEXITY_INDICATORS.simple) {
166
- if (regex.test(task)) {
167
- complexityScore -= 0.2;
168
- detectedPatterns.push("simple-indicator");
169
- }
170
- }
171
- for (const regex of COMPLEXITY_INDICATORS.complex) {
172
- if (regex.test(task)) {
173
- complexityScore += 0.2;
174
- detectedPatterns.push("complex-indicator");
175
- }
176
- }
177
- const wordCount = task.split(/\s+/).length;
178
- if (wordCount < 10) {
179
- complexityScore -= 0.1;
180
- } else if (wordCount > 50) {
181
- complexityScore += 0.1;
182
- } else if (wordCount > 100) {
183
- complexityScore += 0.2;
184
- }
185
- complexityScore = Math.max(0, Math.min(1, complexityScore));
186
- let complexity;
187
- if (complexityScore < 0.35) {
188
- complexity = "simple";
189
- } else if (complexityScore < 0.65) {
190
- complexity = "moderate";
191
- } else {
192
- complexity = "complex";
193
- }
194
- const estimatedInputTokens = Math.ceil(task.length / 4);
195
- const estimatedOutputTokens = this.estimateOutputTokens(
196
- complexity,
197
- primaryType
198
- );
199
- const suggestedModel = this.route(complexity, primaryType);
200
- const confidence = typeMatchCount > 0 ? Math.min(
201
- 1,
202
- 0.5 + typeMatchCount * 0.15 + detectedPatterns.length * 0.05
203
- ) : 0.5;
204
- return {
205
- complexity,
206
- type: primaryType,
207
- estimatedInputTokens,
208
- estimatedOutputTokens,
209
- suggestedModel,
210
- confidence,
211
- detectedPatterns: [...new Set(detectedPatterns)]
212
- };
213
- }
214
- /**
215
- * Route a task to the appropriate model
216
- */
217
- route(complexity, type) {
218
- const exactKey = `${complexity}-${type}`;
219
- if (this.routingRules.has(exactKey)) {
220
- return this.routingRules.get(exactKey);
221
- }
222
- const wildcardKey = `*-${type}`;
223
- if (this.routingRules.has(wildcardKey)) {
224
- return this.routingRules.get(wildcardKey);
225
- }
226
- switch (complexity) {
227
- case "simple":
228
- return "haiku";
229
- case "moderate":
230
- return "sonnet";
231
- case "complex":
232
- return "opus";
233
- }
234
- }
235
- /**
236
- * Route a task directly from task text
237
- */
238
- routeTask(task) {
239
- const analysis = this.analyzeTask(task);
240
- return analysis.suggestedModel;
241
- }
242
- /**
243
- * Estimate output tokens based on task type and complexity
244
- */
245
- estimateOutputTokens(complexity, type) {
246
- const baseTokens = {
247
- query: 200,
248
- generation: 500,
249
- review: 400,
250
- reasoning: 600,
251
- creative: 400,
252
- refactor: 800,
253
- debug: 500,
254
- architecture: 1e3
255
- };
256
- const multipliers = {
257
- simple: 0.5,
258
- moderate: 1,
259
- complex: 2
260
- };
261
- return Math.ceil(baseTokens[type] * multipliers[complexity]);
262
- }
263
- /**
264
- * Add a custom routing rule
265
- */
266
- addRule(rule) {
267
- this.customRules.push(rule);
268
- this.routingRules.set(rule.pattern, rule.model);
269
- }
270
- /**
271
- * Remove a routing rule
272
- */
273
- removeRule(pattern) {
274
- const index = this.customRules.findIndex((r) => r.pattern === pattern);
275
- if (index >= 0) {
276
- this.customRules.splice(index, 1);
277
- this.routingRules.delete(pattern);
278
- return true;
279
- }
280
- return false;
281
- }
282
- /**
283
- * Get all current routing rules
284
- */
285
- getRules() {
286
- return [...DEFAULT_ROUTING_RULES, ...this.customRules];
287
- }
288
- /**
289
- * Get cost estimate for a task
290
- */
291
- estimateCost(task) {
292
- const analysis = this.analyzeTask(task);
293
- return {
294
- model: analysis.suggestedModel,
295
- estimatedInputTokens: analysis.estimatedInputTokens,
296
- estimatedOutputTokens: analysis.estimatedOutputTokens,
297
- estimatedTotalTokens: analysis.estimatedInputTokens + analysis.estimatedOutputTokens
298
- };
299
- }
300
- }
301
- let routerInstance = null;
302
- function getTaskRouter() {
303
- if (!routerInstance) {
304
- routerInstance = new TaskRouter();
305
- }
306
- return routerInstance;
307
- }
308
- function resetTaskRouter() {
309
- routerInstance = null;
310
- }
311
- function routeTask(task) {
312
- return getTaskRouter().routeTask(task);
313
- }
314
- function analyzeTask(task) {
315
- return getTaskRouter().analyzeTask(task);
316
- }
317
- export {
318
- TaskRouter,
319
- analyzeTask,
320
- getTaskRouter,
321
- resetTaskRouter,
322
- routeTask
323
- };
324
- //# sourceMappingURL=taskRouter.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/services/taskRouter.ts"],
4
- "sourcesContent": ["/**\n * Task Router\n *\n * Intelligent task routing system that analyzes tasks and routes them\n * to the most appropriate model based on complexity, type, and cost.\n */\n\nimport { getModelManager } from '@utils/model'\n\n/**\n * Task complexity levels\n */\nexport type TaskComplexity = 'simple' | 'moderate' | 'complex'\n\n/**\n * Task type categories\n */\nexport type TaskType =\n | 'query' // Simple questions, lookups\n | 'generation' // Code generation, content creation\n | 'review' // Code review, analysis\n | 'reasoning' // Complex logic, problem solving\n | 'creative' // Creative writing, brainstorming\n | 'refactor' // Code refactoring, optimization\n | 'debug' // Debugging, error analysis\n | 'architecture' // System design, architecture\n\n/**\n * Result of task analysis\n */\nexport interface TaskAnalysis {\n /** Estimated task complexity */\n complexity: TaskComplexity\n /** Detected task type */\n type: TaskType\n /** Estimated input tokens */\n estimatedInputTokens: number\n /** Estimated output tokens */\n estimatedOutputTokens: number\n /** Suggested model for this task */\n suggestedModel: string\n /** Confidence score (0-1) */\n confidence: number\n /** Detected patterns that influenced the analysis */\n detectedPatterns: string[]\n}\n\n/**\n * Routing rule configuration\n */\nexport interface RoutingRule {\n /** Pattern to match (complexity-type) */\n pattern: string\n /** Model to route to */\n model: string\n /** Rule priority (lower = higher priority) */\n priority: number\n}\n\n/**\n * Task analysis patterns\n */\ninterface AnalysisPattern {\n /** Pattern name */\n name: string\n /** Regex or keywords to match */\n patterns: RegExp[]\n /** Detected type */\n type: TaskType\n /** Complexity adjustment */\n complexityWeight: number\n}\n\n/**\n * Default routing rules\n */\nconst DEFAULT_ROUTING_RULES: RoutingRule[] = [\n // Simple tasks \u2192 fast model\n { pattern: 'simple-query', model: 'haiku', priority: 1 },\n { pattern: 'simple-generation', model: 'haiku', priority: 1 },\n\n // Moderate tasks \u2192 balanced model\n { pattern: 'moderate-query', model: 'sonnet', priority: 2 },\n { pattern: 'moderate-generation', model: 'sonnet', priority: 2 },\n { pattern: 'moderate-review', model: 'sonnet', priority: 2 },\n { pattern: 'moderate-refactor', model: 'sonnet', priority: 2 },\n { pattern: 'moderate-debug', model: 'sonnet', priority: 2 },\n\n // Complex tasks \u2192 powerful model\n { pattern: 'complex-reasoning', model: 'opus', priority: 3 },\n { pattern: 'complex-architecture', model: 'opus', priority: 3 },\n { pattern: 'complex-generation', model: 'opus', priority: 3 },\n { pattern: 'complex-creative', model: 'opus', priority: 3 },\n\n // Specific task types\n { pattern: '*-architecture', model: 'opus', priority: 0 },\n { pattern: '*-reasoning', model: 'opus', priority: 0 },\n { pattern: '*-review', model: 'sonnet', priority: 1 },\n { pattern: '*-debug', model: 'sonnet', priority: 1 },\n]\n\n/**\n * Analysis patterns for task type detection\n */\nconst ANALYSIS_PATTERNS: AnalysisPattern[] = [\n // Query patterns\n {\n name: 'question',\n patterns: [\n /\\b(what|how|why|when|where|who|which|can you explain)\\b/i,\n /\\?$/,\n /\\b(tell me|show me|help me understand)\\b/i,\n ],\n type: 'query',\n complexityWeight: -0.2,\n },\n\n // Generation patterns\n {\n name: 'generation',\n patterns: [\n /\\b(create|generate|write|build|implement|add|make)\\b/i,\n /\\b(new|feature|function|class|component|module)\\b/i,\n ],\n type: 'generation',\n complexityWeight: 0.1,\n },\n\n // Review patterns\n {\n name: 'review',\n patterns: [\n /\\b(review|check|analyze|examine|inspect|audit)\\b/i,\n /\\b(code review|pull request|pr|merge)\\b/i,\n ],\n type: 'review',\n complexityWeight: 0,\n },\n\n // Reasoning patterns\n {\n name: 'reasoning',\n patterns: [\n /\\b(think|reason|consider|evaluate|compare|decide)\\b/i,\n /\\b(trade-?off|pros and cons|best approach|optimal)\\b/i,\n /\\b(algorithm|complexity|performance|efficiency)\\b/i,\n ],\n type: 'reasoning',\n complexityWeight: 0.3,\n },\n\n // Creative patterns\n {\n name: 'creative',\n patterns: [\n /\\b(creative|brainstorm|innovative|design|imagine)\\b/i,\n /\\b(suggest|propose|come up with|ideas)\\b/i,\n ],\n type: 'creative',\n complexityWeight: 0.2,\n },\n\n // Refactoring patterns\n {\n name: 'refactor',\n patterns: [\n /\\b(refactor|restructure|reorganize|clean up|improve)\\b/i,\n /\\b(optimize|simplify|modularize|extract)\\b/i,\n ],\n type: 'refactor',\n complexityWeight: 0.15,\n },\n\n // Debug patterns\n {\n name: 'debug',\n patterns: [\n /\\b(debug|fix|error|bug|issue|problem|crash)\\b/i,\n /\\b(broken|doesn't work|failing|wrong)\\b/i,\n /\\b(stack trace|exception|undefined|null)\\b/i,\n ],\n type: 'debug',\n complexityWeight: 0.1,\n },\n\n // Architecture patterns\n {\n name: 'architecture',\n patterns: [\n /\\b(architect|design|system|infrastructure|scale)\\b/i,\n /\\b(microservice|monolith|distributed|database)\\b/i,\n /\\b(api design|schema|data model|integration)\\b/i,\n ],\n type: 'architecture',\n complexityWeight: 0.4,\n },\n]\n\n/**\n * Complexity indicators\n */\nconst COMPLEXITY_INDICATORS = {\n simple: [\n /\\b(simple|quick|basic|easy|trivial|small)\\b/i,\n /\\b(one line|single|just|only)\\b/i,\n ],\n complex: [\n /\\b(complex|difficult|challenging|advanced|comprehensive)\\b/i,\n /\\b(entire|whole|all|complete|full|extensive)\\b/i,\n /\\b(multiple|several|many|various)\\b/i,\n /\\b(system|platform|framework|infrastructure)\\b/i,\n ],\n}\n\n/**\n * Task Router for intelligent model selection\n */\nexport class TaskRouter {\n private routingRules: Map<string, string> = new Map()\n private modelManager = getModelManager()\n private customRules: RoutingRule[] = []\n\n constructor(customRules?: RoutingRule[]) {\n // Initialize with default rules\n this.loadRules(DEFAULT_ROUTING_RULES)\n\n // Add custom rules if provided\n if (customRules) {\n this.customRules = customRules\n this.loadRules(customRules)\n }\n }\n\n /**\n * Load routing rules into the map\n */\n private loadRules(rules: RoutingRule[]): void {\n // Sort by priority (lower = higher priority)\n const sorted = [...rules].sort((a, b) => a.priority - b.priority)\n\n for (const rule of sorted) {\n this.routingRules.set(rule.pattern, rule.model)\n }\n }\n\n /**\n * Analyze a task and return detailed analysis\n */\n analyzeTask(task: string): TaskAnalysis {\n const detectedPatterns: string[] = []\n let complexityScore = 0.5 // Start at moderate\n let primaryType: TaskType = 'query'\n let typeMatchCount = 0\n\n // Detect task type from patterns\n for (const pattern of ANALYSIS_PATTERNS) {\n let matches = 0\n for (const regex of pattern.patterns) {\n if (regex.test(task)) {\n matches++\n }\n }\n\n if (matches > 0) {\n detectedPatterns.push(pattern.name)\n complexityScore +=\n pattern.complexityWeight * (matches / pattern.patterns.length)\n\n if (matches > typeMatchCount) {\n typeMatchCount = matches\n primaryType = pattern.type\n }\n }\n }\n\n // Detect complexity indicators\n for (const regex of COMPLEXITY_INDICATORS.simple) {\n if (regex.test(task)) {\n complexityScore -= 0.2\n detectedPatterns.push('simple-indicator')\n }\n }\n\n for (const regex of COMPLEXITY_INDICATORS.complex) {\n if (regex.test(task)) {\n complexityScore += 0.2\n detectedPatterns.push('complex-indicator')\n }\n }\n\n // Adjust for task length (longer tasks tend to be more complex)\n const wordCount = task.split(/\\s+/).length\n if (wordCount < 10) {\n complexityScore -= 0.1\n } else if (wordCount > 50) {\n complexityScore += 0.1\n } else if (wordCount > 100) {\n complexityScore += 0.2\n }\n\n // Normalize complexity score\n complexityScore = Math.max(0, Math.min(1, complexityScore))\n\n // Determine complexity level\n let complexity: TaskComplexity\n if (complexityScore < 0.35) {\n complexity = 'simple'\n } else if (complexityScore < 0.65) {\n complexity = 'moderate'\n } else {\n complexity = 'complex'\n }\n\n // Estimate tokens\n const estimatedInputTokens = Math.ceil(task.length / 4)\n const estimatedOutputTokens = this.estimateOutputTokens(\n complexity,\n primaryType,\n )\n\n // Get suggested model\n const suggestedModel = this.route(complexity, primaryType)\n\n // Calculate confidence\n const confidence =\n typeMatchCount > 0\n ? Math.min(\n 1,\n 0.5 + typeMatchCount * 0.15 + detectedPatterns.length * 0.05,\n )\n : 0.5\n\n return {\n complexity,\n type: primaryType,\n estimatedInputTokens,\n estimatedOutputTokens,\n suggestedModel,\n confidence,\n detectedPatterns: [...new Set(detectedPatterns)],\n }\n }\n\n /**\n * Route a task to the appropriate model\n */\n route(complexity: TaskComplexity, type: TaskType): string {\n // Try exact match\n const exactKey = `${complexity}-${type}`\n if (this.routingRules.has(exactKey)) {\n return this.routingRules.get(exactKey)!\n }\n\n // Try wildcard match\n const wildcardKey = `*-${type}`\n if (this.routingRules.has(wildcardKey)) {\n return this.routingRules.get(wildcardKey)!\n }\n\n // Default based on complexity\n switch (complexity) {\n case 'simple':\n return 'haiku'\n case 'moderate':\n return 'sonnet'\n case 'complex':\n return 'opus'\n }\n }\n\n /**\n * Route a task directly from task text\n */\n routeTask(task: string): string {\n const analysis = this.analyzeTask(task)\n return analysis.suggestedModel\n }\n\n /**\n * Estimate output tokens based on task type and complexity\n */\n private estimateOutputTokens(\n complexity: TaskComplexity,\n type: TaskType,\n ): number {\n const baseTokens: Record<TaskType, number> = {\n query: 200,\n generation: 500,\n review: 400,\n reasoning: 600,\n creative: 400,\n refactor: 800,\n debug: 500,\n architecture: 1000,\n }\n\n const multipliers: Record<TaskComplexity, number> = {\n simple: 0.5,\n moderate: 1.0,\n complex: 2.0,\n }\n\n return Math.ceil(baseTokens[type] * multipliers[complexity])\n }\n\n /**\n * Add a custom routing rule\n */\n addRule(rule: RoutingRule): void {\n this.customRules.push(rule)\n this.routingRules.set(rule.pattern, rule.model)\n }\n\n /**\n * Remove a routing rule\n */\n removeRule(pattern: string): boolean {\n const index = this.customRules.findIndex(r => r.pattern === pattern)\n if (index >= 0) {\n this.customRules.splice(index, 1)\n this.routingRules.delete(pattern)\n return true\n }\n return false\n }\n\n /**\n * Get all current routing rules\n */\n getRules(): RoutingRule[] {\n return [...DEFAULT_ROUTING_RULES, ...this.customRules]\n }\n\n /**\n * Get cost estimate for a task\n */\n estimateCost(task: string): {\n model: string\n estimatedInputTokens: number\n estimatedOutputTokens: number\n estimatedTotalTokens: number\n } {\n const analysis = this.analyzeTask(task)\n return {\n model: analysis.suggestedModel,\n estimatedInputTokens: analysis.estimatedInputTokens,\n estimatedOutputTokens: analysis.estimatedOutputTokens,\n estimatedTotalTokens:\n analysis.estimatedInputTokens + analysis.estimatedOutputTokens,\n }\n }\n}\n\n// Singleton instance\nlet routerInstance: TaskRouter | null = null\n\n/**\n * Get the task router instance\n */\nexport function getTaskRouter(): TaskRouter {\n if (!routerInstance) {\n routerInstance = new TaskRouter()\n }\n return routerInstance\n}\n\n/**\n * Reset the task router instance (useful for testing)\n */\nexport function resetTaskRouter(): void {\n routerInstance = null\n}\n\n/**\n * Route a task to the appropriate model\n */\nexport function routeTask(task: string): string {\n return getTaskRouter().routeTask(task)\n}\n\n/**\n * Analyze a task and return detailed analysis\n */\nexport function analyzeTask(task: string): TaskAnalysis {\n return getTaskRouter().analyzeTask(task)\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }