erosolar-cli 1.7.415 → 1.7.416

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 (972) hide show
  1. package/dist/StringUtils.d.ts +8 -0
  2. package/dist/StringUtils.d.ts.map +1 -0
  3. package/dist/StringUtils.js +11 -0
  4. package/dist/StringUtils.js.map +1 -0
  5. package/dist/adapters/browser/index.d.ts +12 -0
  6. package/dist/adapters/browser/index.d.ts.map +1 -0
  7. package/dist/adapters/browser/index.js +11 -0
  8. package/dist/adapters/browser/index.js.map +1 -0
  9. package/dist/adapters/node/index.d.ts +17 -0
  10. package/dist/adapters/node/index.d.ts.map +1 -0
  11. package/dist/adapters/node/index.js +35 -0
  12. package/dist/adapters/node/index.js.map +1 -0
  13. package/dist/adapters/remote/index.d.ts +13 -0
  14. package/dist/adapters/remote/index.d.ts.map +1 -0
  15. package/dist/adapters/remote/index.js +20 -0
  16. package/dist/adapters/remote/index.js.map +1 -0
  17. package/dist/adapters/types.d.ts +14 -0
  18. package/dist/adapters/types.d.ts.map +1 -0
  19. package/dist/adapters/types.js +2 -0
  20. package/dist/adapters/types.js.map +1 -0
  21. package/dist/bin/erosolar.d.ts +9 -0
  22. package/dist/bin/erosolar.d.ts.map +1 -0
  23. package/dist/bin/erosolar.js +93 -0
  24. package/dist/bin/erosolar.js.map +1 -0
  25. package/dist/bin/selfTest.d.ts +14 -0
  26. package/dist/bin/selfTest.d.ts.map +1 -0
  27. package/dist/bin/selfTest.js +304 -0
  28. package/dist/bin/selfTest.js.map +1 -0
  29. package/dist/browser/BrowserSessionManager.d.ts +307 -0
  30. package/dist/browser/BrowserSessionManager.d.ts.map +1 -0
  31. package/dist/browser/BrowserSessionManager.js +713 -0
  32. package/dist/browser/BrowserSessionManager.js.map +1 -0
  33. package/dist/capabilities/advancedTestGenerationCapability.d.ts +17 -0
  34. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +1 -0
  35. package/dist/capabilities/advancedTestGenerationCapability.js +28 -0
  36. package/dist/capabilities/advancedTestGenerationCapability.js.map +1 -0
  37. package/dist/capabilities/agentSpawningCapability.d.ts +6 -0
  38. package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -0
  39. package/dist/capabilities/agentSpawningCapability.js +168 -0
  40. package/dist/capabilities/agentSpawningCapability.js.map +1 -0
  41. package/dist/capabilities/askUserCapability.d.ts +21 -0
  42. package/dist/capabilities/askUserCapability.d.ts.map +1 -0
  43. package/dist/capabilities/askUserCapability.js +155 -0
  44. package/dist/capabilities/askUserCapability.js.map +1 -0
  45. package/dist/capabilities/bashCapability.d.ts +13 -0
  46. package/dist/capabilities/bashCapability.d.ts.map +1 -0
  47. package/dist/capabilities/bashCapability.js +24 -0
  48. package/dist/capabilities/bashCapability.js.map +1 -0
  49. package/dist/capabilities/browserAutomationCapability.d.ts +37 -0
  50. package/dist/capabilities/browserAutomationCapability.d.ts.map +1 -0
  51. package/dist/capabilities/browserAutomationCapability.js +49 -0
  52. package/dist/capabilities/browserAutomationCapability.js.map +1 -0
  53. package/dist/capabilities/buildCapability.d.ts +24 -0
  54. package/dist/capabilities/buildCapability.d.ts.map +1 -0
  55. package/dist/capabilities/buildCapability.js +25 -0
  56. package/dist/capabilities/buildCapability.js.map +1 -0
  57. package/dist/capabilities/cloudCapability.d.ts +13 -0
  58. package/dist/capabilities/cloudCapability.d.ts.map +1 -0
  59. package/dist/capabilities/cloudCapability.js +38 -0
  60. package/dist/capabilities/cloudCapability.js.map +1 -0
  61. package/dist/capabilities/codeAnalysisCapability.d.ts +13 -0
  62. package/dist/capabilities/codeAnalysisCapability.d.ts.map +1 -0
  63. package/dist/capabilities/codeAnalysisCapability.js +24 -0
  64. package/dist/capabilities/codeAnalysisCapability.js.map +1 -0
  65. package/dist/capabilities/codeGenerationCapability.d.ts +13 -0
  66. package/dist/capabilities/codeGenerationCapability.d.ts.map +1 -0
  67. package/dist/capabilities/codeGenerationCapability.js +25 -0
  68. package/dist/capabilities/codeGenerationCapability.js.map +1 -0
  69. package/dist/capabilities/codeQualityCapability.d.ts +13 -0
  70. package/dist/capabilities/codeQualityCapability.d.ts.map +1 -0
  71. package/dist/capabilities/codeQualityCapability.js +25 -0
  72. package/dist/capabilities/codeQualityCapability.js.map +1 -0
  73. package/dist/capabilities/dependencySecurityCapability.d.ts +13 -0
  74. package/dist/capabilities/dependencySecurityCapability.d.ts.map +1 -0
  75. package/dist/capabilities/dependencySecurityCapability.js +24 -0
  76. package/dist/capabilities/dependencySecurityCapability.js.map +1 -0
  77. package/dist/capabilities/devCapability.d.ts +13 -0
  78. package/dist/capabilities/devCapability.d.ts.map +1 -0
  79. package/dist/capabilities/devCapability.js +24 -0
  80. package/dist/capabilities/devCapability.js.map +1 -0
  81. package/dist/capabilities/editCapability.d.ts +17 -0
  82. package/dist/capabilities/editCapability.d.ts.map +1 -0
  83. package/dist/capabilities/editCapability.js +27 -0
  84. package/dist/capabilities/editCapability.js.map +1 -0
  85. package/dist/capabilities/emailCapability.d.ts +12 -0
  86. package/dist/capabilities/emailCapability.d.ts.map +1 -0
  87. package/dist/capabilities/emailCapability.js +22 -0
  88. package/dist/capabilities/emailCapability.js.map +1 -0
  89. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +17 -0
  90. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +1 -0
  91. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +28 -0
  92. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +1 -0
  93. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +17 -0
  94. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +1 -0
  95. package/dist/capabilities/enhancedDevWorkflowCapability.js +28 -0
  96. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +1 -0
  97. package/dist/capabilities/enhancedGitCapability.d.ts +7 -0
  98. package/dist/capabilities/enhancedGitCapability.d.ts.map +1 -0
  99. package/dist/capabilities/enhancedGitCapability.js +220 -0
  100. package/dist/capabilities/enhancedGitCapability.js.map +1 -0
  101. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  102. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  103. package/dist/capabilities/filesystemCapability.js +24 -0
  104. package/dist/capabilities/filesystemCapability.js.map +1 -0
  105. package/dist/capabilities/frontendTestingCapability.d.ts +13 -0
  106. package/dist/capabilities/frontendTestingCapability.d.ts.map +1 -0
  107. package/dist/capabilities/frontendTestingCapability.js +28 -0
  108. package/dist/capabilities/frontendTestingCapability.js.map +1 -0
  109. package/dist/capabilities/globCapability.d.ts +17 -0
  110. package/dist/capabilities/globCapability.d.ts.map +1 -0
  111. package/dist/capabilities/globCapability.js +27 -0
  112. package/dist/capabilities/globCapability.js.map +1 -0
  113. package/dist/capabilities/index.d.ts +26 -0
  114. package/dist/capabilities/index.d.ts.map +1 -0
  115. package/dist/capabilities/index.js +26 -0
  116. package/dist/capabilities/index.js.map +1 -0
  117. package/dist/capabilities/interactionCapability.d.ts +12 -0
  118. package/dist/capabilities/interactionCapability.d.ts.map +1 -0
  119. package/dist/capabilities/interactionCapability.js +22 -0
  120. package/dist/capabilities/interactionCapability.js.map +1 -0
  121. package/dist/capabilities/learnCapability.d.ts +22 -0
  122. package/dist/capabilities/learnCapability.d.ts.map +1 -0
  123. package/dist/capabilities/learnCapability.js +37 -0
  124. package/dist/capabilities/learnCapability.js.map +1 -0
  125. package/dist/capabilities/mcpCapability.d.ts +6 -0
  126. package/dist/capabilities/mcpCapability.d.ts.map +1 -0
  127. package/dist/capabilities/mcpCapability.js +19 -0
  128. package/dist/capabilities/mcpCapability.js.map +1 -0
  129. package/dist/capabilities/notebookCapability.d.ts +17 -0
  130. package/dist/capabilities/notebookCapability.d.ts.map +1 -0
  131. package/dist/capabilities/notebookCapability.js +27 -0
  132. package/dist/capabilities/notebookCapability.js.map +1 -0
  133. package/dist/capabilities/performanceMonitoringCapability.d.ts +108 -0
  134. package/dist/capabilities/performanceMonitoringCapability.d.ts.map +1 -0
  135. package/dist/capabilities/performanceMonitoringCapability.js +176 -0
  136. package/dist/capabilities/performanceMonitoringCapability.js.map +1 -0
  137. package/dist/capabilities/planningCapability.d.ts +16 -0
  138. package/dist/capabilities/planningCapability.d.ts.map +1 -0
  139. package/dist/capabilities/planningCapability.js +26 -0
  140. package/dist/capabilities/planningCapability.js.map +1 -0
  141. package/dist/capabilities/refactoringCapability.d.ts +13 -0
  142. package/dist/capabilities/refactoringCapability.d.ts.map +1 -0
  143. package/dist/capabilities/refactoringCapability.js +25 -0
  144. package/dist/capabilities/refactoringCapability.js.map +1 -0
  145. package/dist/capabilities/repoChecksCapability.d.ts +10 -0
  146. package/dist/capabilities/repoChecksCapability.d.ts.map +1 -0
  147. package/dist/capabilities/repoChecksCapability.js +24 -0
  148. package/dist/capabilities/repoChecksCapability.js.map +1 -0
  149. package/dist/capabilities/searchCapability.d.ts +13 -0
  150. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  151. package/dist/capabilities/searchCapability.js +24 -0
  152. package/dist/capabilities/searchCapability.js.map +1 -0
  153. package/dist/capabilities/skillCapability.d.ts +3 -0
  154. package/dist/capabilities/skillCapability.d.ts.map +1 -0
  155. package/dist/capabilities/skillCapability.js +77 -0
  156. package/dist/capabilities/skillCapability.js.map +1 -0
  157. package/dist/capabilities/taskManagementCapability.d.ts +12 -0
  158. package/dist/capabilities/taskManagementCapability.d.ts.map +1 -0
  159. package/dist/capabilities/taskManagementCapability.js +22 -0
  160. package/dist/capabilities/taskManagementCapability.js.map +1 -0
  161. package/dist/capabilities/testingCapability.d.ts +13 -0
  162. package/dist/capabilities/testingCapability.d.ts.map +1 -0
  163. package/dist/capabilities/testingCapability.js +25 -0
  164. package/dist/capabilities/testingCapability.js.map +1 -0
  165. package/dist/capabilities/todoCapability.d.ts +19 -0
  166. package/dist/capabilities/todoCapability.d.ts.map +1 -0
  167. package/dist/capabilities/todoCapability.js +169 -0
  168. package/dist/capabilities/todoCapability.js.map +1 -0
  169. package/dist/capabilities/toolManifest.d.ts +3 -0
  170. package/dist/capabilities/toolManifest.d.ts.map +1 -0
  171. package/dist/capabilities/toolManifest.js +160 -0
  172. package/dist/capabilities/toolManifest.js.map +1 -0
  173. package/dist/capabilities/toolRegistry.d.ts +24 -0
  174. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  175. package/dist/capabilities/toolRegistry.js +150 -0
  176. package/dist/capabilities/toolRegistry.js.map +1 -0
  177. package/dist/capabilities/validationCapability.d.ts +13 -0
  178. package/dist/capabilities/validationCapability.d.ts.map +1 -0
  179. package/dist/capabilities/validationCapability.js +24 -0
  180. package/dist/capabilities/validationCapability.js.map +1 -0
  181. package/dist/capabilities/webCapability.d.ts +12 -0
  182. package/dist/capabilities/webCapability.d.ts.map +1 -0
  183. package/dist/capabilities/webCapability.js +22 -0
  184. package/dist/capabilities/webCapability.js.map +1 -0
  185. package/dist/config.d.ts +25 -0
  186. package/dist/config.d.ts.map +1 -0
  187. package/dist/config.js +140 -0
  188. package/dist/config.js.map +1 -0
  189. package/dist/contracts/v1/agent.d.ts +147 -0
  190. package/dist/contracts/v1/agent.d.ts.map +1 -0
  191. package/dist/contracts/v1/agent.js +8 -0
  192. package/dist/contracts/v1/agent.js.map +1 -0
  193. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  194. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  195. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  196. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  197. package/dist/contracts/v1/agentRules.d.ts +60 -0
  198. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  199. package/dist/contracts/v1/agentRules.js +10 -0
  200. package/dist/contracts/v1/agentRules.js.map +1 -0
  201. package/dist/contracts/v1/provider.d.ts +149 -0
  202. package/dist/contracts/v1/provider.d.ts.map +1 -0
  203. package/dist/contracts/v1/provider.js +7 -0
  204. package/dist/contracts/v1/provider.js.map +1 -0
  205. package/dist/contracts/v1/tool.d.ts +136 -0
  206. package/dist/contracts/v1/tool.d.ts.map +1 -0
  207. package/dist/contracts/v1/tool.js +7 -0
  208. package/dist/contracts/v1/tool.js.map +1 -0
  209. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  210. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  211. package/dist/contracts/v1/toolAccess.js +9 -0
  212. package/dist/contracts/v1/toolAccess.js.map +1 -0
  213. package/dist/core/LazyLoader.d.ts +129 -0
  214. package/dist/core/LazyLoader.d.ts.map +1 -0
  215. package/dist/core/LazyLoader.js +240 -0
  216. package/dist/core/LazyLoader.js.map +1 -0
  217. package/dist/core/agent.d.ts +153 -0
  218. package/dist/core/agent.d.ts.map +1 -0
  219. package/dist/core/agent.js +881 -0
  220. package/dist/core/agent.js.map +1 -0
  221. package/dist/core/agentProfileManifest.d.ts +3 -0
  222. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  223. package/dist/core/agentProfileManifest.js +188 -0
  224. package/dist/core/agentProfileManifest.js.map +1 -0
  225. package/dist/core/agentProfiles.d.ts +22 -0
  226. package/dist/core/agentProfiles.d.ts.map +1 -0
  227. package/dist/core/agentProfiles.js +35 -0
  228. package/dist/core/agentProfiles.js.map +1 -0
  229. package/dist/core/agentRulebook.d.ts +11 -0
  230. package/dist/core/agentRulebook.d.ts.map +1 -0
  231. package/dist/core/agentRulebook.js +136 -0
  232. package/dist/core/agentRulebook.js.map +1 -0
  233. package/dist/core/agentSchemaLoader.d.ts +131 -0
  234. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  235. package/dist/core/agentSchemaLoader.js +234 -0
  236. package/dist/core/agentSchemaLoader.js.map +1 -0
  237. package/dist/core/aiErrorFixer.d.ts +70 -0
  238. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  239. package/dist/core/aiErrorFixer.js +402 -0
  240. package/dist/core/aiErrorFixer.js.map +1 -0
  241. package/dist/core/alphaZeroEngine.d.ts +269 -0
  242. package/dist/core/alphaZeroEngine.d.ts.map +1 -0
  243. package/dist/core/alphaZeroEngine.js +523 -0
  244. package/dist/core/alphaZeroEngine.js.map +1 -0
  245. package/dist/core/alphaZeroModular.d.ts +186 -0
  246. package/dist/core/alphaZeroModular.d.ts.map +1 -0
  247. package/dist/core/alphaZeroModular.js +755 -0
  248. package/dist/core/alphaZeroModular.js.map +1 -0
  249. package/dist/core/alphaZeroOrchestrator.d.ts +140 -0
  250. package/dist/core/alphaZeroOrchestrator.d.ts.map +1 -0
  251. package/dist/core/alphaZeroOrchestrator.js +418 -0
  252. package/dist/core/alphaZeroOrchestrator.js.map +1 -0
  253. package/dist/core/checkpoint.d.ts +76 -0
  254. package/dist/core/checkpoint.d.ts.map +1 -0
  255. package/dist/core/checkpoint.js +278 -0
  256. package/dist/core/checkpoint.js.map +1 -0
  257. package/dist/core/cliTestHarness.d.ts +200 -0
  258. package/dist/core/cliTestHarness.d.ts.map +1 -0
  259. package/dist/core/cliTestHarness.js +549 -0
  260. package/dist/core/cliTestHarness.js.map +1 -0
  261. package/dist/core/contextManager.d.ts +265 -0
  262. package/dist/core/contextManager.d.ts.map +1 -0
  263. package/dist/core/contextManager.js +1060 -0
  264. package/dist/core/contextManager.js.map +1 -0
  265. package/dist/core/contextWindow.d.ts +42 -0
  266. package/dist/core/contextWindow.d.ts.map +1 -0
  267. package/dist/core/contextWindow.js +123 -0
  268. package/dist/core/contextWindow.js.map +1 -0
  269. package/dist/core/costTracker.d.ts +87 -0
  270. package/dist/core/costTracker.d.ts.map +1 -0
  271. package/dist/core/costTracker.js +285 -0
  272. package/dist/core/costTracker.js.map +1 -0
  273. package/dist/core/customCommands.d.ts +19 -0
  274. package/dist/core/customCommands.d.ts.map +1 -0
  275. package/dist/core/customCommands.js +84 -0
  276. package/dist/core/customCommands.js.map +1 -0
  277. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  278. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  279. package/dist/core/errors/apiKeyErrors.js +159 -0
  280. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  281. package/dist/core/errors/errorTypes.d.ts +111 -0
  282. package/dist/core/errors/errorTypes.d.ts.map +1 -0
  283. package/dist/core/errors/errorTypes.js +348 -0
  284. package/dist/core/errors/errorTypes.js.map +1 -0
  285. package/dist/core/errors/errorUtils.d.ts +87 -0
  286. package/dist/core/errors/errorUtils.d.ts.map +1 -0
  287. package/dist/core/errors/errorUtils.js +158 -0
  288. package/dist/core/errors/errorUtils.js.map +1 -0
  289. package/dist/core/errors/safetyValidator.d.ts +71 -0
  290. package/dist/core/errors/safetyValidator.d.ts.map +1 -0
  291. package/dist/core/errors/safetyValidator.js +302 -0
  292. package/dist/core/errors/safetyValidator.js.map +1 -0
  293. package/dist/core/errors.d.ts +4 -0
  294. package/dist/core/errors.d.ts.map +1 -0
  295. package/dist/core/errors.js +33 -0
  296. package/dist/core/errors.js.map +1 -0
  297. package/dist/core/failureRecovery.d.ts +122 -0
  298. package/dist/core/failureRecovery.d.ts.map +1 -0
  299. package/dist/core/failureRecovery.js +477 -0
  300. package/dist/core/failureRecovery.js.map +1 -0
  301. package/dist/core/hooks.d.ts +113 -0
  302. package/dist/core/hooks.d.ts.map +1 -0
  303. package/dist/core/hooks.js +267 -0
  304. package/dist/core/hooks.js.map +1 -0
  305. package/dist/core/intelligentTestFlows.d.ts +126 -0
  306. package/dist/core/intelligentTestFlows.d.ts.map +1 -0
  307. package/dist/core/intelligentTestFlows.js +678 -0
  308. package/dist/core/intelligentTestFlows.js.map +1 -0
  309. package/dist/core/isolatedVerifier.d.ts +40 -0
  310. package/dist/core/isolatedVerifier.d.ts.map +1 -0
  311. package/dist/core/isolatedVerifier.js +129 -0
  312. package/dist/core/isolatedVerifier.js.map +1 -0
  313. package/dist/core/learningPersistence.d.ts +145 -0
  314. package/dist/core/learningPersistence.d.ts.map +1 -0
  315. package/dist/core/learningPersistence.js +477 -0
  316. package/dist/core/learningPersistence.js.map +1 -0
  317. package/dist/core/memorySystem.d.ts +67 -0
  318. package/dist/core/memorySystem.d.ts.map +1 -0
  319. package/dist/core/memorySystem.js +334 -0
  320. package/dist/core/memorySystem.js.map +1 -0
  321. package/dist/core/metricsTracker.d.ts +157 -0
  322. package/dist/core/metricsTracker.d.ts.map +1 -0
  323. package/dist/core/metricsTracker.js +273 -0
  324. package/dist/core/metricsTracker.js.map +1 -0
  325. package/dist/core/modelDiscovery.d.ts +101 -0
  326. package/dist/core/modelDiscovery.d.ts.map +1 -0
  327. package/dist/core/modelDiscovery.js +780 -0
  328. package/dist/core/modelDiscovery.js.map +1 -0
  329. package/dist/core/multilinePasteHandler.d.ts +35 -0
  330. package/dist/core/multilinePasteHandler.d.ts.map +1 -0
  331. package/dist/core/multilinePasteHandler.js +80 -0
  332. package/dist/core/multilinePasteHandler.js.map +1 -0
  333. package/dist/core/offsecAlphaZero.d.ts +56 -0
  334. package/dist/core/offsecAlphaZero.d.ts.map +1 -0
  335. package/dist/core/offsecAlphaZero.js +395 -0
  336. package/dist/core/offsecAlphaZero.js.map +1 -0
  337. package/dist/core/outputStyles.d.ts +48 -0
  338. package/dist/core/outputStyles.d.ts.map +1 -0
  339. package/dist/core/outputStyles.js +270 -0
  340. package/dist/core/outputStyles.js.map +1 -0
  341. package/dist/core/performanceMonitor.d.ts +124 -0
  342. package/dist/core/performanceMonitor.d.ts.map +1 -0
  343. package/dist/core/performanceMonitor.js +192 -0
  344. package/dist/core/performanceMonitor.js.map +1 -0
  345. package/dist/core/preferences.d.ts +67 -0
  346. package/dist/core/preferences.d.ts.map +1 -0
  347. package/dist/core/preferences.js +314 -0
  348. package/dist/core/preferences.js.map +1 -0
  349. package/dist/core/responseVerifier.d.ts +98 -0
  350. package/dist/core/responseVerifier.d.ts.map +1 -0
  351. package/dist/core/responseVerifier.js +509 -0
  352. package/dist/core/responseVerifier.js.map +1 -0
  353. package/dist/core/resultVerification.d.ts +141 -0
  354. package/dist/core/resultVerification.d.ts.map +1 -0
  355. package/dist/core/resultVerification.js +482 -0
  356. package/dist/core/resultVerification.js.map +1 -0
  357. package/dist/core/schemaValidator.d.ts +44 -0
  358. package/dist/core/schemaValidator.d.ts.map +1 -0
  359. package/dist/core/schemaValidator.js +155 -0
  360. package/dist/core/schemaValidator.js.map +1 -0
  361. package/dist/core/secretStore.d.ts +48 -0
  362. package/dist/core/secretStore.d.ts.map +1 -0
  363. package/dist/core/secretStore.js +367 -0
  364. package/dist/core/secretStore.js.map +1 -0
  365. package/dist/core/securityAssessment.d.ts +91 -0
  366. package/dist/core/securityAssessment.d.ts.map +1 -0
  367. package/dist/core/securityAssessment.js +580 -0
  368. package/dist/core/securityAssessment.js.map +1 -0
  369. package/dist/core/selfEvolution.d.ts +155 -0
  370. package/dist/core/selfEvolution.d.ts.map +1 -0
  371. package/dist/core/selfEvolution.js +1000 -0
  372. package/dist/core/selfEvolution.js.map +1 -0
  373. package/dist/core/selfImprovement.d.ts +141 -0
  374. package/dist/core/selfImprovement.d.ts.map +1 -0
  375. package/dist/core/selfImprovement.js +700 -0
  376. package/dist/core/selfImprovement.js.map +1 -0
  377. package/dist/core/sessionStore.d.ts +35 -0
  378. package/dist/core/sessionStore.d.ts.map +1 -0
  379. package/dist/core/sessionStore.js +189 -0
  380. package/dist/core/sessionStore.js.map +1 -0
  381. package/dist/core/testUtils.d.ts +121 -0
  382. package/dist/core/testUtils.d.ts.map +1 -0
  383. package/dist/core/testUtils.js +235 -0
  384. package/dist/core/testUtils.js.map +1 -0
  385. package/dist/core/types/utilityTypes.d.ts +192 -0
  386. package/dist/core/types/utilityTypes.d.ts.map +1 -0
  387. package/dist/core/types/utilityTypes.js +272 -0
  388. package/dist/core/types/utilityTypes.js.map +1 -0
  389. package/dist/core/types.d.ts +306 -0
  390. package/dist/core/types.d.ts.map +1 -0
  391. package/dist/core/types.js +76 -0
  392. package/dist/core/types.js.map +1 -0
  393. package/dist/core/validationRunner.d.ts +106 -0
  394. package/dist/core/validationRunner.d.ts.map +1 -0
  395. package/dist/core/validationRunner.js +888 -0
  396. package/dist/core/validationRunner.js.map +1 -0
  397. package/dist/core/verification.d.ts +137 -0
  398. package/dist/core/verification.d.ts.map +1 -0
  399. package/dist/core/verification.js +323 -0
  400. package/dist/core/verification.js.map +1 -0
  401. package/dist/headless/headlessApp.d.ts +5 -0
  402. package/dist/headless/headlessApp.d.ts.map +1 -0
  403. package/dist/headless/headlessApp.js +210 -0
  404. package/dist/headless/headlessApp.js.map +1 -0
  405. package/dist/intelligence/codeIntelligence.d.ts +118 -0
  406. package/dist/intelligence/codeIntelligence.d.ts.map +1 -0
  407. package/dist/intelligence/codeIntelligence.js +552 -0
  408. package/dist/intelligence/codeIntelligence.js.map +1 -0
  409. package/dist/intelligence/docGenerator.d.ts +86 -0
  410. package/dist/intelligence/docGenerator.d.ts.map +1 -0
  411. package/dist/intelligence/docGenerator.js +564 -0
  412. package/dist/intelligence/docGenerator.js.map +1 -0
  413. package/dist/intelligence/index.d.ts +51 -0
  414. package/dist/intelligence/index.d.ts.map +1 -0
  415. package/dist/intelligence/index.js +253 -0
  416. package/dist/intelligence/index.js.map +1 -0
  417. package/dist/intelligence/refactoring.d.ts +50 -0
  418. package/dist/intelligence/refactoring.d.ts.map +1 -0
  419. package/dist/intelligence/refactoring.js +354 -0
  420. package/dist/intelligence/refactoring.js.map +1 -0
  421. package/dist/intelligence/testGenerator.d.ts +74 -0
  422. package/dist/intelligence/testGenerator.d.ts.map +1 -0
  423. package/dist/intelligence/testGenerator.js +483 -0
  424. package/dist/intelligence/testGenerator.js.map +1 -0
  425. package/dist/mcp/config.d.ts +8 -0
  426. package/dist/mcp/config.d.ts.map +1 -0
  427. package/dist/mcp/config.js +252 -0
  428. package/dist/mcp/config.js.map +1 -0
  429. package/dist/mcp/sseClient.d.ts +34 -0
  430. package/dist/mcp/sseClient.d.ts.map +1 -0
  431. package/dist/mcp/sseClient.js +327 -0
  432. package/dist/mcp/sseClient.js.map +1 -0
  433. package/dist/mcp/stdioClient.d.ts +24 -0
  434. package/dist/mcp/stdioClient.d.ts.map +1 -0
  435. package/dist/mcp/stdioClient.js +179 -0
  436. package/dist/mcp/stdioClient.js.map +1 -0
  437. package/dist/mcp/toolBridge.d.ts +12 -0
  438. package/dist/mcp/toolBridge.d.ts.map +1 -0
  439. package/dist/mcp/toolBridge.js +117 -0
  440. package/dist/mcp/toolBridge.js.map +1 -0
  441. package/dist/mcp/types.d.ts +60 -0
  442. package/dist/mcp/types.d.ts.map +1 -0
  443. package/dist/mcp/types.js +2 -0
  444. package/dist/mcp/types.js.map +1 -0
  445. package/dist/plugins/index.d.ts +49 -0
  446. package/dist/plugins/index.d.ts.map +1 -0
  447. package/dist/plugins/index.js +114 -0
  448. package/dist/plugins/index.js.map +1 -0
  449. package/dist/plugins/providers/anthropic/index.d.ts +11 -0
  450. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
  451. package/dist/plugins/providers/anthropic/index.js +38 -0
  452. package/dist/plugins/providers/anthropic/index.js.map +1 -0
  453. package/dist/plugins/providers/deepseek/index.d.ts +11 -0
  454. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  455. package/dist/plugins/providers/deepseek/index.js +52 -0
  456. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  457. package/dist/plugins/providers/google/index.d.ts +11 -0
  458. package/dist/plugins/providers/google/index.d.ts.map +1 -0
  459. package/dist/plugins/providers/google/index.js +40 -0
  460. package/dist/plugins/providers/google/index.js.map +1 -0
  461. package/dist/plugins/providers/index.d.ts +2 -0
  462. package/dist/plugins/providers/index.d.ts.map +1 -0
  463. package/dist/plugins/providers/index.js +20 -0
  464. package/dist/plugins/providers/index.js.map +1 -0
  465. package/dist/plugins/providers/ollama/index.d.ts +21 -0
  466. package/dist/plugins/providers/ollama/index.d.ts.map +1 -0
  467. package/dist/plugins/providers/ollama/index.js +69 -0
  468. package/dist/plugins/providers/ollama/index.js.map +1 -0
  469. package/dist/plugins/providers/openai/index.d.ts +12 -0
  470. package/dist/plugins/providers/openai/index.d.ts.map +1 -0
  471. package/dist/plugins/providers/openai/index.js +39 -0
  472. package/dist/plugins/providers/openai/index.js.map +1 -0
  473. package/dist/plugins/providers/xai/index.d.ts +11 -0
  474. package/dist/plugins/providers/xai/index.d.ts.map +1 -0
  475. package/dist/plugins/providers/xai/index.js +39 -0
  476. package/dist/plugins/providers/xai/index.js.map +1 -0
  477. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +3 -0
  478. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
  479. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +9 -0
  480. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -0
  481. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  482. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  483. package/dist/plugins/tools/bash/localBashPlugin.js +14 -0
  484. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  485. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +14 -0
  486. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +1 -0
  487. package/dist/plugins/tools/browser/browserAutomationPlugin.js +26 -0
  488. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +1 -0
  489. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +3 -0
  490. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +1 -0
  491. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +14 -0
  492. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +1 -0
  493. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +3 -0
  494. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +1 -0
  495. package/dist/plugins/tools/cloud/cloudPlugin.js +14 -0
  496. package/dist/plugins/tools/cloud/cloudPlugin.js.map +1 -0
  497. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +3 -0
  498. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +1 -0
  499. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +14 -0
  500. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +1 -0
  501. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +3 -0
  502. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +1 -0
  503. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +14 -0
  504. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +1 -0
  505. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +3 -0
  506. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +1 -0
  507. package/dist/plugins/tools/dependency/dependencyPlugin.js +12 -0
  508. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +1 -0
  509. package/dist/plugins/tools/development/devPlugin.d.ts +3 -0
  510. package/dist/plugins/tools/development/devPlugin.d.ts.map +1 -0
  511. package/dist/plugins/tools/development/devPlugin.js +14 -0
  512. package/dist/plugins/tools/development/devPlugin.js.map +1 -0
  513. package/dist/plugins/tools/edit/editPlugin.d.ts +9 -0
  514. package/dist/plugins/tools/edit/editPlugin.d.ts.map +1 -0
  515. package/dist/plugins/tools/edit/editPlugin.js +15 -0
  516. package/dist/plugins/tools/edit/editPlugin.js.map +1 -0
  517. package/dist/plugins/tools/email/emailPlugin.d.ts +3 -0
  518. package/dist/plugins/tools/email/emailPlugin.d.ts.map +1 -0
  519. package/dist/plugins/tools/email/emailPlugin.js +12 -0
  520. package/dist/plugins/tools/email/emailPlugin.js.map +1 -0
  521. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +3 -0
  522. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +1 -0
  523. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +9 -0
  524. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +1 -0
  525. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  526. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  527. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +14 -0
  528. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  529. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +3 -0
  530. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +1 -0
  531. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +14 -0
  532. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +1 -0
  533. package/dist/plugins/tools/glob/globPlugin.d.ts +9 -0
  534. package/dist/plugins/tools/glob/globPlugin.d.ts.map +1 -0
  535. package/dist/plugins/tools/glob/globPlugin.js +15 -0
  536. package/dist/plugins/tools/glob/globPlugin.js.map +1 -0
  537. package/dist/plugins/tools/index.d.ts +3 -0
  538. package/dist/plugins/tools/index.d.ts.map +1 -0
  539. package/dist/plugins/tools/index.js +3 -0
  540. package/dist/plugins/tools/index.js.map +1 -0
  541. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +3 -0
  542. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +1 -0
  543. package/dist/plugins/tools/interaction/interactionPlugin.js +12 -0
  544. package/dist/plugins/tools/interaction/interactionPlugin.js.map +1 -0
  545. package/dist/plugins/tools/learn/learnPlugin.d.ts +3 -0
  546. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +1 -0
  547. package/dist/plugins/tools/learn/learnPlugin.js +14 -0
  548. package/dist/plugins/tools/learn/learnPlugin.js.map +1 -0
  549. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +3 -0
  550. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +1 -0
  551. package/dist/plugins/tools/mcp/mcpPlugin.js +9 -0
  552. package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
  553. package/dist/plugins/tools/nodeDefaults.d.ts +2 -0
  554. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  555. package/dist/plugins/tools/nodeDefaults.js +65 -0
  556. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  557. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +9 -0
  558. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +1 -0
  559. package/dist/plugins/tools/notebook/notebookPlugin.js +15 -0
  560. package/dist/plugins/tools/notebook/notebookPlugin.js.map +1 -0
  561. package/dist/plugins/tools/planning/planningPlugin.d.ts +9 -0
  562. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +1 -0
  563. package/dist/plugins/tools/planning/planningPlugin.js +15 -0
  564. package/dist/plugins/tools/planning/planningPlugin.js.map +1 -0
  565. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +3 -0
  566. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +1 -0
  567. package/dist/plugins/tools/refactoring/refactoringPlugin.js +12 -0
  568. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +1 -0
  569. package/dist/plugins/tools/registry.d.ts +22 -0
  570. package/dist/plugins/tools/registry.d.ts.map +1 -0
  571. package/dist/plugins/tools/registry.js +58 -0
  572. package/dist/plugins/tools/registry.js.map +1 -0
  573. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  574. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  575. package/dist/plugins/tools/search/localSearchPlugin.js +14 -0
  576. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  577. package/dist/plugins/tools/skills/skillPlugin.d.ts +3 -0
  578. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +1 -0
  579. package/dist/plugins/tools/skills/skillPlugin.js +9 -0
  580. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -0
  581. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +3 -0
  582. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +1 -0
  583. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +12 -0
  584. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +1 -0
  585. package/dist/plugins/tools/testing/testingPlugin.d.ts +3 -0
  586. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +1 -0
  587. package/dist/plugins/tools/testing/testingPlugin.js +12 -0
  588. package/dist/plugins/tools/testing/testingPlugin.js.map +1 -0
  589. package/dist/plugins/tools/validation/validationPlugin.d.ts +3 -0
  590. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +1 -0
  591. package/dist/plugins/tools/validation/validationPlugin.js +14 -0
  592. package/dist/plugins/tools/validation/validationPlugin.js.map +1 -0
  593. package/dist/plugins/tools/web/webPlugin.d.ts +3 -0
  594. package/dist/plugins/tools/web/webPlugin.d.ts.map +1 -0
  595. package/dist/plugins/tools/web/webPlugin.js +12 -0
  596. package/dist/plugins/tools/web/webPlugin.js.map +1 -0
  597. package/dist/providers/anthropicProvider.d.ts +41 -0
  598. package/dist/providers/anthropicProvider.d.ts.map +1 -0
  599. package/dist/providers/anthropicProvider.js +446 -0
  600. package/dist/providers/anthropicProvider.js.map +1 -0
  601. package/dist/providers/googleProvider.d.ts +36 -0
  602. package/dist/providers/googleProvider.d.ts.map +1 -0
  603. package/dist/providers/googleProvider.js +312 -0
  604. package/dist/providers/googleProvider.js.map +1 -0
  605. package/dist/providers/openaiChatCompletionsProvider.d.ts +43 -0
  606. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  607. package/dist/providers/openaiChatCompletionsProvider.js +475 -0
  608. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  609. package/dist/providers/openaiResponsesProvider.d.ts +38 -0
  610. package/dist/providers/openaiResponsesProvider.d.ts.map +1 -0
  611. package/dist/providers/openaiResponsesProvider.js +364 -0
  612. package/dist/providers/openaiResponsesProvider.js.map +1 -0
  613. package/dist/providers/providerFactory.d.ts +18 -0
  614. package/dist/providers/providerFactory.d.ts.map +1 -0
  615. package/dist/providers/providerFactory.js +25 -0
  616. package/dist/providers/providerFactory.js.map +1 -0
  617. package/dist/providers/resilientProvider.d.ts +94 -0
  618. package/dist/providers/resilientProvider.d.ts.map +1 -0
  619. package/dist/providers/resilientProvider.js +370 -0
  620. package/dist/providers/resilientProvider.js.map +1 -0
  621. package/dist/runtime/agentController.d.ts +65 -0
  622. package/dist/runtime/agentController.d.ts.map +1 -0
  623. package/dist/runtime/agentController.js +353 -0
  624. package/dist/runtime/agentController.js.map +1 -0
  625. package/dist/runtime/agentHost.d.ts +61 -0
  626. package/dist/runtime/agentHost.d.ts.map +1 -0
  627. package/dist/runtime/agentHost.js +156 -0
  628. package/dist/runtime/agentHost.js.map +1 -0
  629. package/dist/runtime/agentSession.d.ts +40 -0
  630. package/dist/runtime/agentSession.d.ts.map +1 -0
  631. package/dist/runtime/agentSession.js +205 -0
  632. package/dist/runtime/agentSession.js.map +1 -0
  633. package/dist/runtime/browser.d.ts +7 -0
  634. package/dist/runtime/browser.d.ts.map +1 -0
  635. package/dist/runtime/browser.js +10 -0
  636. package/dist/runtime/browser.js.map +1 -0
  637. package/dist/runtime/cloud.d.ts +7 -0
  638. package/dist/runtime/cloud.d.ts.map +1 -0
  639. package/dist/runtime/cloud.js +10 -0
  640. package/dist/runtime/cloud.js.map +1 -0
  641. package/dist/runtime/node.d.ts +8 -0
  642. package/dist/runtime/node.d.ts.map +1 -0
  643. package/dist/runtime/node.js +11 -0
  644. package/dist/runtime/node.js.map +1 -0
  645. package/dist/runtime/universal.d.ts +21 -0
  646. package/dist/runtime/universal.d.ts.map +1 -0
  647. package/dist/runtime/universal.js +29 -0
  648. package/dist/runtime/universal.js.map +1 -0
  649. package/dist/shell/autoExecutor.d.ts +70 -0
  650. package/dist/shell/autoExecutor.d.ts.map +1 -0
  651. package/dist/shell/autoExecutor.js +288 -0
  652. package/dist/shell/autoExecutor.js.map +1 -0
  653. package/dist/shell/composableMessage.d.ts +183 -0
  654. package/dist/shell/composableMessage.d.ts.map +1 -0
  655. package/dist/shell/composableMessage.js +420 -0
  656. package/dist/shell/composableMessage.js.map +1 -0
  657. package/dist/shell/fileChangeTracker.d.ts +39 -0
  658. package/dist/shell/fileChangeTracker.d.ts.map +1 -0
  659. package/dist/shell/fileChangeTracker.js +64 -0
  660. package/dist/shell/fileChangeTracker.js.map +1 -0
  661. package/dist/shell/interactiveShell.d.ts.map +1 -1
  662. package/dist/shell/interactiveShell.js +15 -4
  663. package/dist/shell/interactiveShell.js.map +1 -1
  664. package/dist/shell/liveStatus.d.ts +30 -0
  665. package/dist/shell/liveStatus.d.ts.map +1 -0
  666. package/dist/shell/liveStatus.js +102 -0
  667. package/dist/shell/liveStatus.js.map +1 -0
  668. package/dist/shell/shellApp.d.ts +19 -0
  669. package/dist/shell/shellApp.d.ts.map +1 -0
  670. package/dist/shell/shellApp.js +408 -0
  671. package/dist/shell/shellApp.js.map +1 -0
  672. package/dist/shell/taskCompletionDetector.d.ts +106 -0
  673. package/dist/shell/taskCompletionDetector.d.ts.map +1 -0
  674. package/dist/shell/taskCompletionDetector.js +402 -0
  675. package/dist/shell/taskCompletionDetector.js.map +1 -0
  676. package/dist/shell/terminalInput.d.ts +620 -0
  677. package/dist/shell/terminalInput.d.ts.map +1 -0
  678. package/dist/shell/terminalInput.js +2647 -0
  679. package/dist/shell/terminalInput.js.map +1 -0
  680. package/dist/shell/terminalInputAdapter.d.ts +266 -0
  681. package/dist/shell/terminalInputAdapter.d.ts.map +1 -0
  682. package/dist/shell/terminalInputAdapter.js +406 -0
  683. package/dist/shell/terminalInputAdapter.js.map +1 -0
  684. package/dist/shell/vimMode.d.ts +66 -0
  685. package/dist/shell/vimMode.d.ts.map +1 -0
  686. package/dist/shell/vimMode.js +434 -0
  687. package/dist/shell/vimMode.js.map +1 -0
  688. package/dist/skills/skillRepository.d.ts +103 -0
  689. package/dist/skills/skillRepository.d.ts.map +1 -0
  690. package/dist/skills/skillRepository.js +237 -0
  691. package/dist/skills/skillRepository.js.map +1 -0
  692. package/dist/skills/types.d.ts +37 -0
  693. package/dist/skills/types.d.ts.map +1 -0
  694. package/dist/skills/types.js +2 -0
  695. package/dist/skills/types.js.map +1 -0
  696. package/dist/subagents/agentConfig.d.ts +27 -0
  697. package/dist/subagents/agentConfig.d.ts.map +1 -0
  698. package/dist/subagents/agentConfig.js +89 -0
  699. package/dist/subagents/agentConfig.js.map +1 -0
  700. package/dist/subagents/agentRegistry.d.ts +33 -0
  701. package/dist/subagents/agentRegistry.d.ts.map +1 -0
  702. package/dist/subagents/agentRegistry.js +162 -0
  703. package/dist/subagents/agentRegistry.js.map +1 -0
  704. package/dist/subagents/parallelAgentManager.d.ts +99 -0
  705. package/dist/subagents/parallelAgentManager.d.ts.map +1 -0
  706. package/dist/subagents/parallelAgentManager.js +248 -0
  707. package/dist/subagents/parallelAgentManager.js.map +1 -0
  708. package/dist/subagents/taskRunner.d.ts +34 -0
  709. package/dist/subagents/taskRunner.d.ts.map +1 -0
  710. package/dist/subagents/taskRunner.js +459 -0
  711. package/dist/subagents/taskRunner.js.map +1 -0
  712. package/dist/tools/advancedTestGenerationTools.d.ts +21 -0
  713. package/dist/tools/advancedTestGenerationTools.d.ts.map +1 -0
  714. package/dist/tools/advancedTestGenerationTools.js +301 -0
  715. package/dist/tools/advancedTestGenerationTools.js.map +1 -0
  716. package/dist/tools/backgroundBashTools.d.ts +21 -0
  717. package/dist/tools/backgroundBashTools.d.ts.map +1 -0
  718. package/dist/tools/backgroundBashTools.js +215 -0
  719. package/dist/tools/backgroundBashTools.js.map +1 -0
  720. package/dist/tools/browserAutomationTools.d.ts +23 -0
  721. package/dist/tools/browserAutomationTools.d.ts.map +1 -0
  722. package/dist/tools/browserAutomationTools.js +916 -0
  723. package/dist/tools/browserAutomationTools.js.map +1 -0
  724. package/dist/tools/buildTools.d.ts +9 -0
  725. package/dist/tools/buildTools.d.ts.map +1 -0
  726. package/dist/tools/buildTools.js +344 -0
  727. package/dist/tools/buildTools.js.map +1 -0
  728. package/dist/tools/cloudTools.d.ts +49 -0
  729. package/dist/tools/cloudTools.d.ts.map +1 -0
  730. package/dist/tools/cloudTools.js +1258 -0
  731. package/dist/tools/cloudTools.js.map +1 -0
  732. package/dist/tools/code-quality-dashboard.d.ts +57 -0
  733. package/dist/tools/code-quality-dashboard.d.ts.map +1 -0
  734. package/dist/tools/code-quality-dashboard.js +218 -0
  735. package/dist/tools/code-quality-dashboard.js.map +1 -0
  736. package/dist/tools/codeAnalysisTools.d.ts +74 -0
  737. package/dist/tools/codeAnalysisTools.d.ts.map +1 -0
  738. package/dist/tools/codeAnalysisTools.js +664 -0
  739. package/dist/tools/codeAnalysisTools.js.map +1 -0
  740. package/dist/tools/codeGenerationTools.d.ts +3 -0
  741. package/dist/tools/codeGenerationTools.d.ts.map +1 -0
  742. package/dist/tools/codeGenerationTools.js +439 -0
  743. package/dist/tools/codeGenerationTools.js.map +1 -0
  744. package/dist/tools/codeQualityTools.d.ts +3 -0
  745. package/dist/tools/codeQualityTools.d.ts.map +1 -0
  746. package/dist/tools/codeQualityTools.js +296 -0
  747. package/dist/tools/codeQualityTools.js.map +1 -0
  748. package/dist/tools/dependencyTools.d.ts +3 -0
  749. package/dist/tools/dependencyTools.d.ts.map +1 -0
  750. package/dist/tools/dependencyTools.js +283 -0
  751. package/dist/tools/dependencyTools.js.map +1 -0
  752. package/dist/tools/devTools.d.ts +10 -0
  753. package/dist/tools/devTools.d.ts.map +1 -0
  754. package/dist/tools/devTools.js +2125 -0
  755. package/dist/tools/devTools.js.map +1 -0
  756. package/dist/tools/diffUtils.d.ts +36 -0
  757. package/dist/tools/diffUtils.d.ts.map +1 -0
  758. package/dist/tools/diffUtils.js +528 -0
  759. package/dist/tools/diffUtils.js.map +1 -0
  760. package/dist/tools/editTools.d.ts +29 -0
  761. package/dist/tools/editTools.d.ts.map +1 -0
  762. package/dist/tools/editTools.js +419 -0
  763. package/dist/tools/editTools.js.map +1 -0
  764. package/dist/tools/emailTools.d.ts +21 -0
  765. package/dist/tools/emailTools.d.ts.map +1 -0
  766. package/dist/tools/emailTools.js +449 -0
  767. package/dist/tools/emailTools.js.map +1 -0
  768. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +27 -0
  769. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +1 -0
  770. package/dist/tools/enhancedCodeIntelligenceTools.js +418 -0
  771. package/dist/tools/enhancedCodeIntelligenceTools.js.map +1 -0
  772. package/dist/tools/enhancedDevWorkflowTools.d.ts +15 -0
  773. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +1 -0
  774. package/dist/tools/enhancedDevWorkflowTools.js +303 -0
  775. package/dist/tools/enhancedDevWorkflowTools.js.map +1 -0
  776. package/dist/tools/fileTools.d.ts +3 -0
  777. package/dist/tools/fileTools.d.ts.map +1 -0
  778. package/dist/tools/fileTools.js +334 -0
  779. package/dist/tools/fileTools.js.map +1 -0
  780. package/dist/tools/frontendTestingTools.d.ts +35 -0
  781. package/dist/tools/frontendTestingTools.d.ts.map +1 -0
  782. package/dist/tools/frontendTestingTools.js +1254 -0
  783. package/dist/tools/frontendTestingTools.js.map +1 -0
  784. package/dist/tools/globTools.d.ts +15 -0
  785. package/dist/tools/globTools.d.ts.map +1 -0
  786. package/dist/tools/globTools.js +174 -0
  787. package/dist/tools/globTools.js.map +1 -0
  788. package/dist/tools/grepTools.d.ts +19 -0
  789. package/dist/tools/grepTools.d.ts.map +1 -0
  790. package/dist/tools/grepTools.js +358 -0
  791. package/dist/tools/grepTools.js.map +1 -0
  792. package/dist/tools/interactionTools.d.ts +13 -0
  793. package/dist/tools/interactionTools.d.ts.map +1 -0
  794. package/dist/tools/interactionTools.js +171 -0
  795. package/dist/tools/interactionTools.js.map +1 -0
  796. package/dist/tools/learnTools.d.ts +164 -0
  797. package/dist/tools/learnTools.d.ts.map +1 -0
  798. package/dist/tools/learnTools.js +2102 -0
  799. package/dist/tools/learnTools.js.map +1 -0
  800. package/dist/tools/localExplore.d.ts +225 -0
  801. package/dist/tools/localExplore.d.ts.map +1 -0
  802. package/dist/tools/localExplore.js +1291 -0
  803. package/dist/tools/localExplore.js.map +1 -0
  804. package/dist/tools/notebookEditTools.d.ts +15 -0
  805. package/dist/tools/notebookEditTools.d.ts.map +1 -0
  806. package/dist/tools/notebookEditTools.js +197 -0
  807. package/dist/tools/notebookEditTools.js.map +1 -0
  808. package/dist/tools/planningTools.d.ts +21 -0
  809. package/dist/tools/planningTools.d.ts.map +1 -0
  810. package/dist/tools/planningTools.js +185 -0
  811. package/dist/tools/planningTools.js.map +1 -0
  812. package/dist/tools/refactoringTools.d.ts +3 -0
  813. package/dist/tools/refactoringTools.d.ts.map +1 -0
  814. package/dist/tools/refactoringTools.js +294 -0
  815. package/dist/tools/refactoringTools.js.map +1 -0
  816. package/dist/tools/repoChecksTools.d.ts +3 -0
  817. package/dist/tools/repoChecksTools.d.ts.map +1 -0
  818. package/dist/tools/repoChecksTools.js +161 -0
  819. package/dist/tools/repoChecksTools.js.map +1 -0
  820. package/dist/tools/searchTools.d.ts +3 -0
  821. package/dist/tools/searchTools.d.ts.map +1 -0
  822. package/dist/tools/searchTools.js +241 -0
  823. package/dist/tools/searchTools.js.map +1 -0
  824. package/dist/tools/skillTools.d.ts +8 -0
  825. package/dist/tools/skillTools.d.ts.map +1 -0
  826. package/dist/tools/skillTools.js +178 -0
  827. package/dist/tools/skillTools.js.map +1 -0
  828. package/dist/tools/softwareEngineeringTools.d.ts +7 -0
  829. package/dist/tools/softwareEngineeringTools.d.ts.map +1 -0
  830. package/dist/tools/softwareEngineeringTools.js +338 -0
  831. package/dist/tools/softwareEngineeringTools.js.map +1 -0
  832. package/dist/tools/taskManagementTools.d.ts +10 -0
  833. package/dist/tools/taskManagementTools.d.ts.map +1 -0
  834. package/dist/tools/taskManagementTools.js +157 -0
  835. package/dist/tools/taskManagementTools.js.map +1 -0
  836. package/dist/tools/testingTools.d.ts +3 -0
  837. package/dist/tools/testingTools.d.ts.map +1 -0
  838. package/dist/tools/testingTools.js +233 -0
  839. package/dist/tools/testingTools.js.map +1 -0
  840. package/dist/tools/validationTools.d.ts +7 -0
  841. package/dist/tools/validationTools.d.ts.map +1 -0
  842. package/dist/tools/validationTools.js +344 -0
  843. package/dist/tools/validationTools.js.map +1 -0
  844. package/dist/tools/webTools.d.ts +3 -0
  845. package/dist/tools/webTools.d.ts.map +1 -0
  846. package/dist/tools/webTools.js +502 -0
  847. package/dist/tools/webTools.js.map +1 -0
  848. package/dist/ui/ShellUIAdapter.d.ts +194 -0
  849. package/dist/ui/ShellUIAdapter.d.ts.map +1 -0
  850. package/dist/ui/ShellUIAdapter.js +1069 -0
  851. package/dist/ui/ShellUIAdapter.js.map +1 -0
  852. package/dist/ui/UnifiedUIController.d.ts +82 -0
  853. package/dist/ui/UnifiedUIController.d.ts.map +1 -0
  854. package/dist/ui/UnifiedUIController.js +207 -0
  855. package/dist/ui/UnifiedUIController.js.map +1 -0
  856. package/dist/ui/animation/AnimationScheduler.d.ts +192 -0
  857. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
  858. package/dist/ui/animation/AnimationScheduler.js +432 -0
  859. package/dist/ui/animation/AnimationScheduler.js.map +1 -0
  860. package/dist/ui/codeHighlighter.d.ts +6 -0
  861. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  862. package/dist/ui/codeHighlighter.js +855 -0
  863. package/dist/ui/codeHighlighter.js.map +1 -0
  864. package/dist/ui/compactRenderer.d.ts +139 -0
  865. package/dist/ui/compactRenderer.d.ts.map +1 -0
  866. package/dist/ui/compactRenderer.js +398 -0
  867. package/dist/ui/compactRenderer.js.map +1 -0
  868. package/dist/ui/designSystem.d.ts +26 -0
  869. package/dist/ui/designSystem.d.ts.map +1 -0
  870. package/dist/ui/designSystem.js +122 -0
  871. package/dist/ui/designSystem.js.map +1 -0
  872. package/dist/ui/display.d.ts +324 -0
  873. package/dist/ui/display.d.ts.map +1 -0
  874. package/dist/ui/display.js +1328 -0
  875. package/dist/ui/display.js.map +1 -0
  876. package/dist/ui/errorFormatter.d.ts +54 -0
  877. package/dist/ui/errorFormatter.d.ts.map +1 -0
  878. package/dist/ui/errorFormatter.js +251 -0
  879. package/dist/ui/errorFormatter.js.map +1 -0
  880. package/dist/ui/globalWriteLock.d.ts +38 -0
  881. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  882. package/dist/ui/globalWriteLock.js +54 -0
  883. package/dist/ui/globalWriteLock.js.map +1 -0
  884. package/dist/ui/inPlaceUpdater.d.ts +181 -0
  885. package/dist/ui/inPlaceUpdater.d.ts.map +1 -0
  886. package/dist/ui/inPlaceUpdater.js +515 -0
  887. package/dist/ui/inPlaceUpdater.js.map +1 -0
  888. package/dist/ui/interrupts/InterruptManager.d.ts +142 -0
  889. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
  890. package/dist/ui/interrupts/InterruptManager.js +439 -0
  891. package/dist/ui/interrupts/InterruptManager.js.map +1 -0
  892. package/dist/ui/layout.d.ts +17 -0
  893. package/dist/ui/layout.d.ts.map +1 -0
  894. package/dist/ui/layout.js +140 -0
  895. package/dist/ui/layout.js.map +1 -0
  896. package/dist/ui/orchestration/StatusOrchestrator.d.ts +156 -0
  897. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +1 -0
  898. package/dist/ui/orchestration/StatusOrchestrator.js +406 -0
  899. package/dist/ui/orchestration/StatusOrchestrator.js.map +1 -0
  900. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +77 -0
  901. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -0
  902. package/dist/ui/orchestration/UIUpdateCoordinator.js +265 -0
  903. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -0
  904. package/dist/ui/outputMode.d.ts +22 -0
  905. package/dist/ui/outputMode.d.ts.map +1 -0
  906. package/dist/ui/outputMode.js +40 -0
  907. package/dist/ui/outputMode.js.map +1 -0
  908. package/dist/ui/richText.d.ts +6 -0
  909. package/dist/ui/richText.d.ts.map +1 -0
  910. package/dist/ui/richText.js +391 -0
  911. package/dist/ui/richText.js.map +1 -0
  912. package/dist/ui/shortcutsHelp.d.ts +39 -0
  913. package/dist/ui/shortcutsHelp.d.ts.map +1 -0
  914. package/dist/ui/shortcutsHelp.js +152 -0
  915. package/dist/ui/shortcutsHelp.js.map +1 -0
  916. package/dist/ui/streamingFormatter.d.ts +21 -0
  917. package/dist/ui/streamingFormatter.d.ts.map +1 -0
  918. package/dist/ui/streamingFormatter.js +94 -0
  919. package/dist/ui/streamingFormatter.js.map +1 -0
  920. package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
  921. package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
  922. package/dist/ui/telemetry/ResponseTracker.js +60 -0
  923. package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
  924. package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
  925. package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
  926. package/dist/ui/telemetry/UITelemetry.js +446 -0
  927. package/dist/ui/telemetry/UITelemetry.js.map +1 -0
  928. package/dist/ui/textHighlighter.d.ts +83 -0
  929. package/dist/ui/textHighlighter.d.ts.map +1 -0
  930. package/dist/ui/textHighlighter.js +267 -0
  931. package/dist/ui/textHighlighter.js.map +1 -0
  932. package/dist/ui/theme.d.ts +208 -0
  933. package/dist/ui/theme.d.ts.map +1 -0
  934. package/dist/ui/theme.js +249 -0
  935. package/dist/ui/theme.js.map +1 -0
  936. package/dist/ui/unified/index.d.ts +50 -0
  937. package/dist/ui/unified/index.d.ts.map +1 -0
  938. package/dist/ui/unified/index.js +77 -0
  939. package/dist/ui/unified/index.js.map +1 -0
  940. package/dist/ui/unified/layout.d.ts +12 -0
  941. package/dist/ui/unified/layout.d.ts.map +1 -0
  942. package/dist/ui/unified/layout.js +96 -0
  943. package/dist/ui/unified/layout.js.map +1 -0
  944. package/dist/ui/writeLock.d.ts +65 -0
  945. package/dist/ui/writeLock.d.ts.map +1 -0
  946. package/dist/ui/writeLock.js +114 -0
  947. package/dist/ui/writeLock.js.map +1 -0
  948. package/dist/utils/asyncUtils.d.ts +95 -0
  949. package/dist/utils/asyncUtils.d.ts.map +1 -0
  950. package/dist/utils/asyncUtils.js +286 -0
  951. package/dist/utils/asyncUtils.js.map +1 -0
  952. package/dist/utils/errorUtils.d.ts +16 -0
  953. package/dist/utils/errorUtils.d.ts.map +1 -0
  954. package/dist/utils/errorUtils.js +66 -0
  955. package/dist/utils/errorUtils.js.map +1 -0
  956. package/dist/utils/frontmatter.d.ts +10 -0
  957. package/dist/utils/frontmatter.d.ts.map +1 -0
  958. package/dist/utils/frontmatter.js +78 -0
  959. package/dist/utils/frontmatter.js.map +1 -0
  960. package/dist/utils/planFormatter.d.ts +34 -0
  961. package/dist/utils/planFormatter.d.ts.map +1 -0
  962. package/dist/utils/planFormatter.js +140 -0
  963. package/dist/utils/planFormatter.js.map +1 -0
  964. package/dist/workspace.d.ts +8 -0
  965. package/dist/workspace.d.ts.map +1 -0
  966. package/dist/workspace.js +107 -0
  967. package/dist/workspace.js.map +1 -0
  968. package/dist/workspace.validator.d.ts +49 -0
  969. package/dist/workspace.validator.d.ts.map +1 -0
  970. package/dist/workspace.validator.js +214 -0
  971. package/dist/workspace.validator.js.map +1 -0
  972. package/package.json +1 -1
@@ -0,0 +1,1069 @@
1
+ /**
2
+ * ShellUIAdapter - Bridges the UnifiedUIController with the existing shell infrastructure
3
+ * Provides compatibility layer and migration path from old to new UI system
4
+ *
5
+ * Advanced UI Features:
6
+ * - Compact same-line tool displays
7
+ * - In-place progress updates
8
+ * - Grouped operation summaries
9
+ * - Dynamic status badges
10
+ */
11
+ import { UnifiedUIController } from './UnifiedUIController.js';
12
+ import { InterruptPriority } from './interrupts/InterruptManager.js';
13
+ import { getTerminalColumns } from './layout.js';
14
+ import { theme, icons } from './theme.js';
15
+ import { UIUpdateCoordinator } from './orchestration/UIUpdateCoordinator.js';
16
+ import { compactRenderer } from './compactRenderer.js';
17
+ import { inPlaceUpdater } from './inPlaceUpdater.js';
18
+ export class ShellUIAdapter {
19
+ uiController;
20
+ display;
21
+ config;
22
+ isProcessing = false;
23
+ contextUsage = 0;
24
+ fileChangeCallback;
25
+ _toolStatusCallback;
26
+ profileSwitcherTimeout;
27
+ updateCoordinator;
28
+ // Track tool operations for compact rendering
29
+ pendingOperations = new Map();
30
+ completedOperations = [];
31
+ maxCompletedOps = 8;
32
+ compactDisplayMode = true; // Enable compact same-line displays
33
+ toolWarnings = new Map();
34
+ constructor(writeStream, display, config = {}, updateCoordinator) {
35
+ this.display = display;
36
+ this.config = {
37
+ enableOverlay: true,
38
+ enableTelemetry: true,
39
+ debugMode: false,
40
+ ...config,
41
+ };
42
+ this.updateCoordinator = updateCoordinator ?? new UIUpdateCoordinator();
43
+ // Initialize unified UI controller
44
+ this.uiController = new UnifiedUIController(writeStream, {
45
+ enableOverlay: this.config.enableOverlay,
46
+ enableAnimations: true,
47
+ enableTelemetry: this.config.enableTelemetry,
48
+ adaptivePerformance: true,
49
+ debugMode: this.config.debugMode,
50
+ });
51
+ // Legacy components are optional and should be passed in if needed
52
+ // They require a readline.Interface which we don't have here
53
+ this.setupDisplayIntegration();
54
+ }
55
+ /**
56
+ * Setup display integration
57
+ */
58
+ setupDisplayIntegration() {
59
+ // Register output interceptor to coordinate with overlay
60
+ this.display.registerOutputInterceptor({
61
+ beforeWrite: () => {
62
+ this.uiController.beginOutput();
63
+ },
64
+ afterWrite: () => {
65
+ this.uiController.endOutput();
66
+ },
67
+ });
68
+ }
69
+ /**
70
+ * Expose the shared update coordinator so other components can align with UI mode.
71
+ */
72
+ getUpdateCoordinator() {
73
+ return this.updateCoordinator;
74
+ }
75
+ /**
76
+ * Expose the underlying unified UI controller for orchestration/telemetry.
77
+ */
78
+ getController() {
79
+ return this.uiController;
80
+ }
81
+ /**
82
+ * Create a tool observer for the agent
83
+ * Shows tool results in clean panels (status bar shows active tool execution)
84
+ * Uses compact rendering for same-line displays when appropriate
85
+ */
86
+ createToolObserver() {
87
+ return {
88
+ onToolStart: (call) => {
89
+ // Track operation for compact rendering
90
+ const operation = {
91
+ id: call.id,
92
+ name: call.name,
93
+ status: 'running',
94
+ summary: this.getToolSummary(call),
95
+ args: call.arguments,
96
+ startedAt: Date.now(),
97
+ };
98
+ this.pendingOperations.set(call.id, operation);
99
+ // Show initial display for tools with streaming/progressive output
100
+ // Skip for quick tools to avoid duplicate displays (⏺ then ✓)
101
+ const showsProgressiveOutput = this.shouldShowToolStart(call.name);
102
+ if (showsProgressiveOutput) {
103
+ this.displayToolCallStart(call);
104
+ }
105
+ // Update status bar to show active tool
106
+ if (this._toolStatusCallback) {
107
+ const actionDesc = this.getToolActionDescription(call);
108
+ this._toolStatusCallback(actionDesc);
109
+ }
110
+ this.uiController.onToolStart(call);
111
+ },
112
+ onToolProgress: (call, progress) => {
113
+ // Update pending operation
114
+ const op = this.pendingOperations.get(call.id);
115
+ if (op) {
116
+ op.detail = progress.message;
117
+ }
118
+ this.uiController.onToolProgress(call.id, {
119
+ current: progress.current,
120
+ total: progress.total ?? progress.current,
121
+ message: progress.message,
122
+ });
123
+ // Update status bar with progress - use in-place update for supported terminals
124
+ if (this._toolStatusCallback) {
125
+ const description = this.getToolActionDescription(call, progress);
126
+ if (description) {
127
+ this._toolStatusCallback(description);
128
+ }
129
+ }
130
+ // Show progress bar for file operations and long-running tools
131
+ if (inPlaceUpdater.hasTTY && progress.total && progress.total > 1) {
132
+ inPlaceUpdater.showToolProgress(call.name, progress.message || '', { current: progress.current, total: progress.total });
133
+ }
134
+ },
135
+ onToolWarning: (call, warning) => {
136
+ const warningText = this.formatToolWarning(warning);
137
+ this.recordToolWarning(call.id, warningText);
138
+ if (this._toolStatusCallback) {
139
+ this._toolStatusCallback(`Warning: ${this.getToolActionDescription(call)}`);
140
+ }
141
+ },
142
+ onToolResult: (call, output) => {
143
+ // Complete the operation tracking
144
+ const op = this.pendingOperations.get(call.id);
145
+ if (op) {
146
+ op.status = 'success';
147
+ op.completedAt = Date.now();
148
+ op.summary = this.extractResultSummary(call, output);
149
+ this.pendingOperations.delete(call.id);
150
+ this.completedOperations.push(op);
151
+ // Keep only recent completed operations
152
+ while (this.completedOperations.length > this.maxCompletedOps) {
153
+ this.completedOperations.shift();
154
+ }
155
+ }
156
+ // Track file changes for Edit/Write/NotebookEdit tools
157
+ if (this.fileChangeCallback && (call.name === 'Edit' || call.name === 'Write' || call.name === 'NotebookEdit')) {
158
+ const fileChange = this.parseFileChange(call, output);
159
+ if (fileChange) {
160
+ this.fileChangeCallback(fileChange.path, fileChange.type, fileChange.additions, fileChange.removals);
161
+ }
162
+ }
163
+ // Use compact display for quick single-result tools
164
+ if (this.compactDisplayMode && this.isCompactTool(call.name)) {
165
+ this.displayCompactResult(call, output, true);
166
+ }
167
+ else {
168
+ // Claude Code style: Display tool result with ⎿ prefix
169
+ this.displayToolResultSummary(call, output, true);
170
+ }
171
+ // Surface any captured preflight warnings in a structured block
172
+ this.flushToolWarnings(call.id, call.name);
173
+ // Clear status bar after showing result
174
+ if (this._toolStatusCallback) {
175
+ this._toolStatusCallback(null);
176
+ }
177
+ this.uiController.onToolComplete(call.id, output);
178
+ },
179
+ onToolError: (call, message) => {
180
+ // Complete the operation tracking with error
181
+ const op = this.pendingOperations.get(call.id);
182
+ if (op) {
183
+ op.status = 'error';
184
+ op.completedAt = Date.now();
185
+ op.summary = message;
186
+ this.pendingOperations.delete(call.id);
187
+ this.completedOperations.push(op);
188
+ }
189
+ // Use compact display for errors too
190
+ if (this.compactDisplayMode && this.isCompactTool(call.name)) {
191
+ this.displayCompactResult(call, message, false);
192
+ }
193
+ else {
194
+ // Claude Code style: Display error with ⎿ prefix (error color)
195
+ this.displayToolResultSummary(call, message, false);
196
+ }
197
+ this.flushToolWarnings(call.id, call.name);
198
+ // Clear status bar after showing error
199
+ if (this._toolStatusCallback) {
200
+ this._toolStatusCallback(null);
201
+ }
202
+ this.uiController.onToolError(call.id, { message });
203
+ },
204
+ onCacheHit: (call) => {
205
+ // Track as cached operation
206
+ const operation = {
207
+ id: call.id,
208
+ name: call.name,
209
+ status: 'cached',
210
+ summary: this.getToolSummary(call) + ' (cached)',
211
+ args: call.arguments,
212
+ startedAt: Date.now(),
213
+ completedAt: Date.now(),
214
+ };
215
+ this.completedOperations.push(operation);
216
+ // Show compact cached result
217
+ if (this.compactDisplayMode) {
218
+ const badge = compactRenderer.formatToolBadge(operation);
219
+ this.display.stream(`${badge}\n`);
220
+ }
221
+ this.flushToolWarnings(call.id, call.name);
222
+ this.uiController.onToolStart(call);
223
+ this.uiController.onToolComplete(call.id, 'cache-hit');
224
+ },
225
+ };
226
+ }
227
+ /**
228
+ * Check if a tool should use compact (single-line) display
229
+ */
230
+ isCompactTool(toolName) {
231
+ const compactTools = new Set([
232
+ 'Read', 'read_file',
233
+ 'Glob', 'glob',
234
+ 'TodoWrite', 'todo_write',
235
+ 'WebFetch', 'web_fetch',
236
+ ]);
237
+ return compactTools.has(toolName);
238
+ }
239
+ /**
240
+ * Normalize preflight warnings for consistent display.
241
+ */
242
+ formatToolWarning(warning) {
243
+ if (typeof warning === 'string') {
244
+ return warning;
245
+ }
246
+ const code = warning.code ? `[${warning.code}] ` : '';
247
+ const suggestion = warning.suggestion ? ` — ${warning.suggestion}` : '';
248
+ return `${code}${warning.message}${suggestion}`;
249
+ }
250
+ /**
251
+ * Track warnings for a tool call so we can show them after the result too.
252
+ */
253
+ recordToolWarning(callId, warningText) {
254
+ const existing = this.toolWarnings.get(callId) ?? [];
255
+ if (!existing.includes(warningText)) {
256
+ existing.push(warningText);
257
+ this.toolWarnings.set(callId, existing);
258
+ }
259
+ }
260
+ /**
261
+ * Render any captured warnings for the given tool call as a structured block.
262
+ */
263
+ flushToolWarnings(callId, toolName) {
264
+ const warnings = this.toolWarnings.get(callId);
265
+ if (!warnings?.length) {
266
+ return;
267
+ }
268
+ this.toolWarnings.delete(callId);
269
+ const header = `${theme.warning(icons.warning)} ${theme.ui.muted('preflight')} warnings for ${theme.tool(toolName)}`;
270
+ const bullet = theme.ui.muted(icons.bullet);
271
+ const body = warnings.map(text => ` ${bullet} ${text}`).join('\n');
272
+ this.display.stream(`\n${header}\n${body}\n`);
273
+ }
274
+ /**
275
+ * Get a short summary for tool operation
276
+ */
277
+ getToolSummary(call) {
278
+ const args = call.arguments;
279
+ switch (call.name) {
280
+ case 'Read':
281
+ case 'read_file': {
282
+ const path = this.extractPath(args, ['file_path', 'path']);
283
+ return path ? this.truncatePath(path, 30) : '';
284
+ }
285
+ case 'Edit':
286
+ case 'edit_file': {
287
+ const path = this.extractPath(args, ['file_path', 'path']);
288
+ return path ? this.truncatePath(path, 30) : '';
289
+ }
290
+ case 'Grep':
291
+ case 'grep': {
292
+ const pattern = args?.['pattern'];
293
+ return pattern ? `"${pattern.slice(0, 20)}"` : '';
294
+ }
295
+ case 'Glob':
296
+ case 'glob': {
297
+ const pattern = args?.['pattern'];
298
+ return pattern || '';
299
+ }
300
+ case 'Task':
301
+ case 'task': {
302
+ const desc = args?.['description'];
303
+ return desc ? desc.slice(0, 25) : '';
304
+ }
305
+ default:
306
+ return '';
307
+ }
308
+ }
309
+ /**
310
+ * Extract result summary from tool output
311
+ * Includes file paths for file operations so users can see which files were accessed
312
+ */
313
+ extractResultSummary(call, output) {
314
+ const args = call.arguments;
315
+ switch (call.name) {
316
+ case 'Read':
317
+ case 'read_file': {
318
+ const path = this.extractPath(args, ['file_path', 'path']);
319
+ const lines = output.split('\n').length;
320
+ // Show file path so users see which file was read
321
+ return path ? `${this.truncatePath(path, 40)} (${lines} lines)` : `${lines} lines`;
322
+ }
323
+ case 'Write':
324
+ case 'write_file': {
325
+ const path = this.extractPath(args, ['file_path', 'path']);
326
+ const lines = output.split('\n').length;
327
+ return path ? `${this.truncatePath(path, 40)} written` : 'file written';
328
+ }
329
+ case 'Edit':
330
+ case 'edit_file': {
331
+ const path = this.extractPath(args, ['file_path', 'path']);
332
+ // Parse additions/removals from output if available
333
+ const editMatch = output.match(/\+(\d+).*-(\d+)/);
334
+ const changes = editMatch ? `+${editMatch[1]}/-${editMatch[2]}` : 'edited';
335
+ return path ? `${this.truncatePath(path, 35)} ${changes}` : changes;
336
+ }
337
+ case 'Grep':
338
+ case 'grep': {
339
+ const pattern = args?.['pattern'];
340
+ const matches = output.trim().split('\n').filter(l => l).length;
341
+ const matchText = `${matches} match${matches === 1 ? '' : 'es'}`;
342
+ // Show pattern for context
343
+ if (pattern && pattern.length <= 20) {
344
+ return `"${pattern}" → ${matchText}`;
345
+ }
346
+ return matchText;
347
+ }
348
+ case 'Glob':
349
+ case 'glob': {
350
+ const pattern = args?.['pattern'];
351
+ const files = output.trim().split('\n').filter(f => f).length;
352
+ const fileText = `${files} file${files === 1 ? '' : 's'}`;
353
+ // Show pattern for context
354
+ if (pattern && pattern.length <= 25) {
355
+ return `${pattern} → ${fileText}`;
356
+ }
357
+ return fileText;
358
+ }
359
+ case 'Bash':
360
+ case 'bash': {
361
+ const cmd = args?.['command'];
362
+ if (cmd) {
363
+ const shortCmd = cmd.split('\n')[0]?.trim() || cmd;
364
+ const truncated = shortCmd.length > 30 ? `${shortCmd.slice(0, 27)}...` : shortCmd;
365
+ return `\`${truncated}\` done`;
366
+ }
367
+ return 'done';
368
+ }
369
+ default:
370
+ return 'done';
371
+ }
372
+ }
373
+ /**
374
+ * Display compact single-line result
375
+ */
376
+ displayCompactResult(call, output, success) {
377
+ const op = {
378
+ id: call.id,
379
+ name: call.name,
380
+ status: success ? 'success' : 'error',
381
+ summary: this.extractResultSummary(call, output),
382
+ startedAt: Date.now(),
383
+ };
384
+ const badge = compactRenderer.formatToolBadge(op);
385
+ // Add newline after result for visual separation
386
+ this.display.stream(`${badge}\n\n`);
387
+ }
388
+ /**
389
+ * Determine if a tool should show initial ⏺ display
390
+ * Returns true for tools with streaming/progressive output
391
+ * Returns false for quick single-result tools to avoid duplicate displays
392
+ */
393
+ shouldShowToolStart(toolName) {
394
+ // Tools that show streaming or progressive output - show start indicator
395
+ const streamingTools = new Set([
396
+ 'Task', // Spawns agents with streaming output
397
+ 'Bash', // Shows live command output
398
+ 'Explore', // Lists files progressively
399
+ 'Plan', // Planning agent with progressive output
400
+ 'Grep', // May return many results
401
+ 'Glob', // May return many files
402
+ 'WebSearch', // Shows search progress
403
+ 'WebFetch', // Shows fetch progress
404
+ ]);
405
+ return streamingTools.has(toolName);
406
+ }
407
+ /**
408
+ * Display tool call start with Claude Code style prefix
409
+ * - ✢ for Task/agent tools (active task indicator)
410
+ * - ⏺ for other tools
411
+ * Routes through display module to work with scroll regions
412
+ */
413
+ displayToolCallStart(call, isCacheHit = false) {
414
+ const args = call.arguments || {};
415
+ const toolName = theme.tool(call.name);
416
+ // Format args inline (compact)
417
+ const argsStr = this.formatToolArgsInline(call.name, args);
418
+ const cacheHint = isCacheHit ? theme.ui.muted(' (cached)') : '';
419
+ // Use ✢ for Task tools (shows active task), ⏺ for others
420
+ const isTaskTool = call.name === 'Task' || call.name === 'task';
421
+ const icon = isTaskTool ? theme.info('✢') : theme.info('⏺');
422
+ // For Task tools, show the subagent type if available
423
+ let displayName = toolName;
424
+ if (isTaskTool) {
425
+ const subagentType = args['subagent_type'];
426
+ if (subagentType) {
427
+ // Capitalize first letter
428
+ displayName = theme.tool(subagentType.charAt(0).toUpperCase() + subagentType.slice(1));
429
+ }
430
+ }
431
+ // Claude Code style: ⏺/✢ ToolName(args)
432
+ const line = `${icon} ${displayName}${argsStr}${cacheHint}`;
433
+ // Use display.stream() to work with scroll regions
434
+ // Add extra newline before tool calls for visual separation
435
+ this.display.stream(`\n${line}\n`);
436
+ }
437
+ /**
438
+ * Format tool arguments inline for display (Claude Code style)
439
+ * Format: ToolName(arg1: "value1", arg2: "value2")
440
+ */
441
+ formatToolArgsInline(toolName, args) {
442
+ const parts = [];
443
+ // Priority order for different argument types
444
+ const priorityArgs = [
445
+ 'file_path', 'path', 'pattern', 'command', 'query', 'url',
446
+ 'output_mode', 'glob', 'type', 'head_limit',
447
+ ];
448
+ // Skip these arguments in display
449
+ const skipArgs = new Set([
450
+ 'dangerouslyDisableSandbox', 'run_in_background', 'description',
451
+ 'timeout', 'encoding', '-n', // defaults that don't add info
452
+ ]);
453
+ // Build args display based on tool type
454
+ switch (toolName) {
455
+ case 'Read':
456
+ case 'read_file': {
457
+ const filePath = args['file_path'] || args['path'];
458
+ if (filePath)
459
+ parts.push(this.truncatePath(String(filePath), 50));
460
+ break;
461
+ }
462
+ case 'Write':
463
+ case 'write_file':
464
+ case 'Edit':
465
+ case 'edit_file': {
466
+ const filePath = args['file_path'] || args['path'];
467
+ if (filePath)
468
+ parts.push(this.truncatePath(String(filePath), 50));
469
+ break;
470
+ }
471
+ case 'Bash':
472
+ case 'bash': {
473
+ const cmd = args['command'];
474
+ if (cmd) {
475
+ const shortCmd = String(cmd).split('\n')[0]?.trim() || String(cmd);
476
+ parts.push(shortCmd.length > 50 ? `${shortCmd.slice(0, 47)}...` : shortCmd);
477
+ }
478
+ break;
479
+ }
480
+ case 'Grep':
481
+ case 'grep': {
482
+ const pattern = args['pattern'];
483
+ if (pattern) {
484
+ const truncPattern = String(pattern).length > 35
485
+ ? `${String(pattern).slice(0, 32)}...`
486
+ : String(pattern);
487
+ parts.push(`pattern: "${truncPattern}"`);
488
+ }
489
+ const path = args['path'];
490
+ if (path && path !== '.') {
491
+ parts.push(`path: "${this.truncatePath(String(path), 30)}"`);
492
+ }
493
+ const outputMode = args['output_mode'];
494
+ if (outputMode && outputMode !== 'files_with_matches') {
495
+ parts.push(`output_mode: "${outputMode}"`);
496
+ }
497
+ break;
498
+ }
499
+ case 'Glob':
500
+ case 'glob': {
501
+ const pattern = args['pattern'];
502
+ if (pattern)
503
+ parts.push(`pattern: "${pattern}"`);
504
+ const path = args['path'];
505
+ if (path && path !== '.') {
506
+ parts.push(`path: "${this.truncatePath(String(path), 30)}"`);
507
+ }
508
+ break;
509
+ }
510
+ case 'WebFetch':
511
+ case 'web_fetch': {
512
+ const url = args['url'];
513
+ if (url) {
514
+ try {
515
+ parts.push(new URL(String(url)).hostname);
516
+ }
517
+ catch {
518
+ parts.push(String(url).slice(0, 40));
519
+ }
520
+ }
521
+ break;
522
+ }
523
+ case 'WebSearch':
524
+ case 'web_search': {
525
+ const query = args['query'];
526
+ if (query) {
527
+ const truncQuery = String(query).length > 40
528
+ ? `${String(query).slice(0, 37)}...`
529
+ : String(query);
530
+ parts.push(`"${truncQuery}"`);
531
+ }
532
+ break;
533
+ }
534
+ case 'Task':
535
+ case 'task': {
536
+ const desc = args['description'];
537
+ if (desc) {
538
+ const truncDesc = String(desc).length > 40
539
+ ? `${String(desc).slice(0, 37)}...`
540
+ : String(desc);
541
+ parts.push(`"${truncDesc}"`);
542
+ }
543
+ break;
544
+ }
545
+ case 'TodoWrite':
546
+ case 'todo_write': {
547
+ const todos = args['todos'];
548
+ if (Array.isArray(todos))
549
+ parts.push(`${todos.length} items`);
550
+ break;
551
+ }
552
+ default: {
553
+ // For unknown tools, show key: value pairs for priority args
554
+ for (const key of priorityArgs) {
555
+ if (skipArgs.has(key))
556
+ continue;
557
+ const value = args[key];
558
+ if (value === undefined || value === null || value === '')
559
+ continue;
560
+ if (typeof value === 'string') {
561
+ const truncVal = value.length > 30 ? `${value.slice(0, 27)}...` : value;
562
+ parts.push(`${key}: "${truncVal}"`);
563
+ }
564
+ else if (typeof value === 'number' || typeof value === 'boolean') {
565
+ parts.push(`${key}: ${value}`);
566
+ }
567
+ if (parts.length >= 3)
568
+ break; // Max 3 args for display
569
+ }
570
+ }
571
+ }
572
+ return parts.length > 0 ? `(${parts.join(', ')})` : '';
573
+ }
574
+ /**
575
+ * Start processing a request
576
+ */
577
+ startProcessing(message = 'Working on your request') {
578
+ this.isProcessing = true;
579
+ this.uiController.startProcessing();
580
+ this.uiController.setBaseStatus(message, 'info');
581
+ }
582
+ /**
583
+ * End processing
584
+ */
585
+ endProcessing(message = 'Ready for prompts') {
586
+ this.isProcessing = false;
587
+ this.uiController.endProcessing();
588
+ this.uiController.setBaseStatus(message, 'success');
589
+ }
590
+ /**
591
+ * Update context usage
592
+ * NOTE: This only tracks the value internally. The actual context display
593
+ * is handled by display.showStatusLine() which shows "Session Xm • Context Y% used • Ready"
594
+ * We don't push a status override here to avoid duplicate context lines.
595
+ */
596
+ updateContextUsage(percentage) {
597
+ this.contextUsage = percentage;
598
+ // Don't push status override - display.showStatusLine() already shows context
599
+ }
600
+ /**
601
+ * Show a user interrupt
602
+ */
603
+ showInterrupt(message, type = 'alert', handler) {
604
+ const priority = type === 'alert'
605
+ ? InterruptPriority.HIGH
606
+ : InterruptPriority.NORMAL;
607
+ return this.uiController.queueInterrupt(type, message, priority, handler ? async () => handler() : undefined);
608
+ }
609
+ /**
610
+ * Complete an interrupt
611
+ */
612
+ completeInterrupt(id) {
613
+ this.uiController.completeInterrupt(id);
614
+ }
615
+ /**
616
+ * Show profile switcher (Shift+Tab)
617
+ */
618
+ showProfileSwitcher(profiles, currentProfile) {
619
+ this.updateCoordinator.enqueue({
620
+ lane: 'overlay',
621
+ description: 'profile-switcher',
622
+ coalesceKey: 'overlay:profile-switcher',
623
+ priority: 'normal',
624
+ mode: ['idle', 'processing'],
625
+ run: () => {
626
+ const terminalWidth = getTerminalColumns();
627
+ const separator = '─'.repeat(terminalWidth - 1);
628
+ const profileLines = profiles.map(profile => {
629
+ return ` ${profile.command}\n ${profile.description}`;
630
+ }).join('\n');
631
+ const header = `Switch Profile (Shift+Tab)`;
632
+ const content = `${separator}\n${header}\n${separator}\n${profileLines}\n\nPress number to switch or Esc to cancel`;
633
+ this.uiController.updateCommandsOverlay(content);
634
+ if (this.profileSwitcherTimeout) {
635
+ clearTimeout(this.profileSwitcherTimeout);
636
+ }
637
+ this.profileSwitcherTimeout = setTimeout(() => {
638
+ this.uiController.hideCommandsOverlay();
639
+ this.profileSwitcherTimeout = undefined;
640
+ }, 5000);
641
+ },
642
+ });
643
+ }
644
+ /**
645
+ * Enable or disable overlay
646
+ */
647
+ setOverlayEnabled(enabled) {
648
+ this.config.enableOverlay = enabled;
649
+ this.uiController.updateConfig({ enableOverlay: enabled });
650
+ }
651
+ /**
652
+ * Get telemetry data (only available in unified mode)
653
+ */
654
+ getTelemetry() {
655
+ return {
656
+ snapshot: this.uiController.getTelemetrySnapshot(),
657
+ performance: this.uiController.getPerformanceSummary(),
658
+ };
659
+ }
660
+ /**
661
+ * Get action description for tool execution (Claude Code style)
662
+ * Returns a human-readable description of what the tool is doing
663
+ * Includes the actual file path, command, or search target when available
664
+ */
665
+ getToolActionDescription(call, progress) {
666
+ const args = call.arguments;
667
+ let description;
668
+ switch (call.name) {
669
+ case 'Read':
670
+ case 'read_file': {
671
+ const filePath = this.extractPath(args, ['file_path', 'path']);
672
+ description = filePath ? `Reading ${this.truncatePath(filePath)}` : 'Reading file...';
673
+ break;
674
+ }
675
+ case 'Write':
676
+ case 'write_file': {
677
+ const filePath = this.extractPath(args, ['file_path', 'path']);
678
+ description = filePath ? `Writing ${this.truncatePath(filePath)}` : 'Writing file...';
679
+ break;
680
+ }
681
+ case 'Edit':
682
+ case 'edit_file': {
683
+ const filePath = this.extractPath(args, ['file_path', 'path']);
684
+ description = filePath ? `Editing ${this.truncatePath(filePath)}` : 'Editing file...';
685
+ break;
686
+ }
687
+ case 'Bash':
688
+ case 'bash': {
689
+ const command = args?.['command'];
690
+ if (command) {
691
+ // Show first meaningful part of command (truncated)
692
+ const shortCmd = command.split('\n')[0]?.trim() || command;
693
+ const truncated = shortCmd.length > 40 ? `${shortCmd.slice(0, 37)}...` : shortCmd;
694
+ description = `Running: ${truncated}`;
695
+ }
696
+ else {
697
+ description = 'Executing command...';
698
+ }
699
+ break;
700
+ }
701
+ case 'Grep':
702
+ case 'grep': {
703
+ const pattern = args?.['pattern'];
704
+ const path = this.extractPath(args, ['path', 'directory']);
705
+ if (pattern) {
706
+ const truncPattern = pattern.length > 20 ? `${pattern.slice(0, 17)}...` : pattern;
707
+ description = path
708
+ ? `Searching "${truncPattern}" in ${this.truncatePath(path)}`
709
+ : `Searching for "${truncPattern}"`;
710
+ }
711
+ else {
712
+ description = 'Searching code...';
713
+ }
714
+ break;
715
+ }
716
+ case 'Glob':
717
+ case 'glob': {
718
+ const pattern = args?.['pattern'];
719
+ description = pattern ? `Finding files: ${pattern}` : 'Finding files...';
720
+ break;
721
+ }
722
+ case 'WebFetch':
723
+ case 'web_fetch': {
724
+ const url = args?.['url'];
725
+ if (url) {
726
+ try {
727
+ const hostname = new URL(url).hostname;
728
+ description = `Fetching ${hostname}`;
729
+ }
730
+ catch {
731
+ description = 'Fetching web content...';
732
+ }
733
+ }
734
+ else {
735
+ description = 'Fetching web content...';
736
+ }
737
+ break;
738
+ }
739
+ case 'WebSearch':
740
+ case 'web_search': {
741
+ const query = args?.['query'];
742
+ if (query) {
743
+ const truncQuery = query.length > 30 ? `${query.slice(0, 27)}...` : query;
744
+ description = `Searching: "${truncQuery}"`;
745
+ }
746
+ else {
747
+ description = 'Searching web...';
748
+ }
749
+ break;
750
+ }
751
+ case 'Task':
752
+ case 'task': {
753
+ const taskDesc = args?.['description'];
754
+ description = taskDesc ? `Task: ${taskDesc}` : 'Running task...';
755
+ break;
756
+ }
757
+ default:
758
+ description = `Executing ${call.name}...`;
759
+ }
760
+ if (progress) {
761
+ const details = [];
762
+ if (progress.message?.trim()) {
763
+ details.push(progress.message.trim());
764
+ }
765
+ if (typeof progress.total === 'number' && progress.total > 0) {
766
+ const pct = Math.max(0, Math.min(100, Math.round((progress.current / progress.total) * 100)));
767
+ details.push(`${pct}%`);
768
+ }
769
+ if (details.length) {
770
+ return `${description} (${details.join(' ')})`;
771
+ }
772
+ }
773
+ return description;
774
+ }
775
+ /**
776
+ * Extract a path from tool arguments, checking multiple possible keys
777
+ */
778
+ extractPath(args, keys) {
779
+ if (!args)
780
+ return undefined;
781
+ for (const key of keys) {
782
+ const value = args[key];
783
+ if (typeof value === 'string' && value.trim()) {
784
+ return value.trim();
785
+ }
786
+ }
787
+ return undefined;
788
+ }
789
+ /**
790
+ * Truncate a file path to show just the filename or last path segments
791
+ * e.g., "/Users/bo/GitHub/project/src/ui/display.ts" -> "src/ui/display.ts"
792
+ */
793
+ truncatePath(fullPath, maxLen = 50) {
794
+ if (fullPath.length <= maxLen)
795
+ return fullPath;
796
+ const parts = fullPath.split('/').filter(Boolean);
797
+ if (parts.length <= 2)
798
+ return fullPath;
799
+ // Start from the end and build up until we exceed maxLen
800
+ let result = parts[parts.length - 1] || '';
801
+ for (let i = parts.length - 2; i >= 0; i--) {
802
+ const candidate = `${parts[i]}/${result}`;
803
+ if (candidate.length > maxLen - 3) {
804
+ return `.../${result}`;
805
+ }
806
+ result = candidate;
807
+ }
808
+ return result;
809
+ }
810
+ /**
811
+ * Set file change tracking callback
812
+ */
813
+ setFileChangeCallback(callback) {
814
+ this.fileChangeCallback = callback;
815
+ }
816
+ /**
817
+ * Set tool status callback - called when tools start/complete to update dynamic status
818
+ */
819
+ setToolStatusCallback(callback) {
820
+ this._toolStatusCallback = callback;
821
+ }
822
+ /**
823
+ * Parse file changes from Edit/Write/NotebookEdit tool output
824
+ */
825
+ parseFileChange(call, output) {
826
+ const args = call.arguments;
827
+ // Handle different path parameter names: file_path (Edit/Write), notebook_path (NotebookEdit)
828
+ const path = args.file_path || args.notebook_path || args.path;
829
+ if (!path)
830
+ return null;
831
+ // Parse additions and removals from output
832
+ let additions = 0;
833
+ let removals = 0;
834
+ // For Edit tool: parse "Lines changed: +X / -Y" or "+X addition -Y removal"
835
+ const editMatch = output.match(/\+(\d+).*-(\d+)/);
836
+ if (editMatch) {
837
+ additions = parseInt(editMatch[1] || '0', 10);
838
+ removals = parseInt(editMatch[2] || '0', 10);
839
+ }
840
+ // Alternative format: "X addition" and "Y removal"
841
+ const addMatch = output.match(/(\d+)\s+addition/);
842
+ const remMatch = output.match(/(\d+)\s+removal/);
843
+ if (addMatch)
844
+ additions = parseInt(addMatch[1] || '0', 10);
845
+ if (remMatch)
846
+ removals = parseInt(remMatch[1] || '0', 10);
847
+ // For Write tool: estimate as all additions (new file or full rewrite)
848
+ if (call.name === 'Write' && additions === 0 && removals === 0) {
849
+ const lines = (args.content || '').split('\n').length;
850
+ additions = lines;
851
+ }
852
+ // For NotebookEdit: estimate based on new_source content
853
+ if (call.name === 'NotebookEdit' && additions === 0 && removals === 0) {
854
+ const lines = (args.new_source || '').split('\n').length;
855
+ additions = lines;
856
+ removals = lines; // Assume cell replacement
857
+ }
858
+ return {
859
+ path,
860
+ type: call.name === 'Edit' || call.name === 'NotebookEdit' ? 'edit' : 'write',
861
+ additions,
862
+ removals
863
+ };
864
+ }
865
+ /**
866
+ * Display tool result summary using Claude Code style.
867
+ * Format: ⎿ Summary text
868
+ * Routes through display module to work with scroll regions
869
+ */
870
+ displayToolResultSummary(call, output, success) {
871
+ const args = call.arguments || {};
872
+ // Get compact summary for the result
873
+ const summary = this.formatClaudeCodeResultSummary(call.name, args, output, success);
874
+ if (summary) {
875
+ // Claude Code style: ⎿ Summary (indented under tool call)
876
+ const prefix = success
877
+ ? theme.success(icons.subaction)
878
+ : theme.error(icons.subaction);
879
+ // Add newline after result for visual separation
880
+ this.display.stream(` ${prefix} ${summary}\n\n`);
881
+ }
882
+ }
883
+ /**
884
+ * Format tool result summary in Claude Code style
885
+ * Returns compact summary like "Found 4 files" or "Read 50 lines"
886
+ */
887
+ formatClaudeCodeResultSummary(toolName, args, output, success) {
888
+ if (!success) {
889
+ // Error case - show error message
890
+ const errorMsg = output.length > 60 ? `${output.slice(0, 57)}...` : output;
891
+ return theme.error(errorMsg);
892
+ }
893
+ switch (toolName) {
894
+ case 'Read':
895
+ case 'read_file': {
896
+ const lines = output.split('\n').length;
897
+ return `Read ${theme.info(String(lines))} lines`;
898
+ }
899
+ case 'Write':
900
+ case 'write_file': {
901
+ const path = args['file_path'] || args['path'];
902
+ const lines = (args['content'] || '').split('\n').length;
903
+ if (path) {
904
+ return `Wrote ${theme.info(String(lines))} lines to ${this.truncatePath(String(path), 40)}`;
905
+ }
906
+ return `Wrote ${theme.info(String(lines))} lines`;
907
+ }
908
+ case 'Edit':
909
+ case 'edit_file': {
910
+ // Parse additions/removals from output
911
+ const editMatch = output.match(/\+(\d+).*-(\d+)/);
912
+ if (editMatch) {
913
+ const adds = editMatch[1];
914
+ const removes = editMatch[2];
915
+ return `${theme.success(`+${adds}`)} ${theme.error(`-${removes}`)} lines`;
916
+ }
917
+ return 'Updated file';
918
+ }
919
+ case 'Grep':
920
+ case 'grep':
921
+ case 'Search': {
922
+ const outputLines = output.trim().split('\n').filter(l => l.trim());
923
+ const count = outputLines.length;
924
+ const outputMode = args['output_mode'];
925
+ if (count === 0) {
926
+ return theme.ui.muted('No matches found');
927
+ }
928
+ if (outputMode === 'content') {
929
+ return `Found ${theme.info(String(count))} lines`;
930
+ }
931
+ return `Found ${theme.info(String(count))} files`;
932
+ }
933
+ case 'Glob':
934
+ case 'glob': {
935
+ const files = output.trim().split('\n').filter(f => f.trim());
936
+ const count = files.length;
937
+ if (count === 0) {
938
+ return theme.ui.muted('No files found');
939
+ }
940
+ return `Found ${theme.info(String(count))} file${count === 1 ? '' : 's'}`;
941
+ }
942
+ case 'Bash':
943
+ case 'bash': {
944
+ const lines = output.trim().split('\n').filter(l => l).length;
945
+ if (lines === 0) {
946
+ return theme.ui.muted('Completed (no output)');
947
+ }
948
+ return `Output: ${theme.info(String(lines))} lines`;
949
+ }
950
+ case 'WebFetch':
951
+ case 'web_fetch': {
952
+ const size = output.length;
953
+ const sizeStr = size > 1024 ? `${(size / 1024).toFixed(1)}KB` : `${size}B`;
954
+ return `Fetched ${theme.info(sizeStr)}`;
955
+ }
956
+ case 'WebSearch':
957
+ case 'web_search': {
958
+ const resultMatches = output.match(/^\d+\./gm);
959
+ const count = resultMatches ? resultMatches.length : 'multiple';
960
+ return `Found ${theme.info(String(count))} results`;
961
+ }
962
+ case 'Task':
963
+ case 'task': {
964
+ // Parse agent output to show nested tool summaries
965
+ return this.formatAgentResultSummary(output);
966
+ }
967
+ case 'TodoWrite':
968
+ case 'todo_write': {
969
+ const todos = args['todos'];
970
+ if (todos && Array.isArray(todos)) {
971
+ const completed = todos.filter(t => t.status === 'completed').length;
972
+ const inProgress = todos.filter(t => t.status === 'in_progress').length;
973
+ const pending = todos.length - completed - inProgress;
974
+ const parts = [];
975
+ if (completed > 0)
976
+ parts.push(theme.success(`${completed} done`));
977
+ if (inProgress > 0)
978
+ parts.push(theme.warning(`${inProgress} active`));
979
+ if (pending > 0)
980
+ parts.push(theme.ui.muted(`${pending} pending`));
981
+ return `Todos: ${parts.join(', ')}`;
982
+ }
983
+ return 'Todos updated';
984
+ }
985
+ default: {
986
+ // Generic result
987
+ const lines = output.trim().split('\n').filter(l => l).length;
988
+ if (lines === 0) {
989
+ return 'Completed';
990
+ }
991
+ if (lines <= 3) {
992
+ return 'Completed';
993
+ }
994
+ return `${theme.info(String(lines))} lines`;
995
+ }
996
+ }
997
+ }
998
+ /**
999
+ * Format agent/task result summary showing nested tool uses
1000
+ * Example output:
1001
+ * Read 100 lines
1002
+ * Found 4 lines
1003
+ * +31 more tool uses
1004
+ */
1005
+ formatAgentResultSummary(output) {
1006
+ const lines = [];
1007
+ // Parse output for tool use summaries
1008
+ // Look for patterns like "Read X lines", "Found X files", "Output: X lines", etc.
1009
+ const toolPatterns = [
1010
+ /Read\s+(\d+)\s+lines?/gi,
1011
+ /Found\s+(\d+)\s+(?:files?|lines?|results?|matches?)/gi,
1012
+ /Output:\s+(\d+)\s+lines?/gi,
1013
+ /Wrote\s+(\d+)\s+lines?/gi,
1014
+ /Fetched\s+[\d.]+[KMB]?B?/gi,
1015
+ /Completed/gi,
1016
+ /Updated\s+file/gi,
1017
+ /\+\d+\s+-\d+\s+lines?/gi,
1018
+ ];
1019
+ const toolUses = [];
1020
+ const seenPatterns = new Set();
1021
+ for (const pattern of toolPatterns) {
1022
+ const matches = output.matchAll(pattern);
1023
+ for (const match of matches) {
1024
+ const text = match[0];
1025
+ if (!seenPatterns.has(text.toLowerCase())) {
1026
+ seenPatterns.add(text.toLowerCase());
1027
+ toolUses.push(text);
1028
+ }
1029
+ }
1030
+ }
1031
+ // Show first 2 tool uses, then "+N more"
1032
+ const maxShown = 2;
1033
+ const shown = toolUses.slice(0, maxShown);
1034
+ const remaining = toolUses.length - maxShown;
1035
+ for (const use of shown) {
1036
+ lines.push(use);
1037
+ }
1038
+ if (remaining > 0) {
1039
+ lines.push(`+${remaining} more tool uses`);
1040
+ }
1041
+ else if (lines.length === 0) {
1042
+ // Fallback if no tool uses found
1043
+ const outputLines = output.trim().split('\n').filter(l => l.trim()).length;
1044
+ if (outputLines > 0) {
1045
+ return `${theme.info(String(outputLines))} lines`;
1046
+ }
1047
+ return 'Completed';
1048
+ }
1049
+ return lines.join('\n ');
1050
+ }
1051
+ /**
1052
+ * Get UI state
1053
+ */
1054
+ getState() {
1055
+ return this.uiController.getState();
1056
+ }
1057
+ /**
1058
+ * Dispose of resources
1059
+ */
1060
+ dispose() {
1061
+ // Clear any pending timeouts to prevent process hang
1062
+ if (this.profileSwitcherTimeout) {
1063
+ clearTimeout(this.profileSwitcherTimeout);
1064
+ this.profileSwitcherTimeout = undefined;
1065
+ }
1066
+ this.uiController.dispose();
1067
+ }
1068
+ }
1069
+ //# sourceMappingURL=ShellUIAdapter.js.map