erosolar-cli 1.7.439 → 1.7.441

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