erosolar-cli 1.7.412 → 1.7.414

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 (1009) hide show
  1. package/dist/shell/interactiveShell.d.ts +14 -0
  2. package/dist/shell/interactiveShell.d.ts.map +1 -1
  3. package/dist/shell/interactiveShell.js +276 -89
  4. package/dist/shell/interactiveShell.js.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/StringUtils.d.ts +0 -8
  7. package/dist/StringUtils.d.ts.map +0 -1
  8. package/dist/StringUtils.js +0 -11
  9. package/dist/StringUtils.js.map +0 -1
  10. package/dist/adapters/browser/index.d.ts +0 -12
  11. package/dist/adapters/browser/index.d.ts.map +0 -1
  12. package/dist/adapters/browser/index.js +0 -11
  13. package/dist/adapters/browser/index.js.map +0 -1
  14. package/dist/adapters/node/index.d.ts +0 -17
  15. package/dist/adapters/node/index.d.ts.map +0 -1
  16. package/dist/adapters/node/index.js +0 -35
  17. package/dist/adapters/node/index.js.map +0 -1
  18. package/dist/adapters/remote/index.d.ts +0 -13
  19. package/dist/adapters/remote/index.d.ts.map +0 -1
  20. package/dist/adapters/remote/index.js +0 -20
  21. package/dist/adapters/remote/index.js.map +0 -1
  22. package/dist/adapters/types.d.ts +0 -14
  23. package/dist/adapters/types.d.ts.map +0 -1
  24. package/dist/adapters/types.js +0 -2
  25. package/dist/adapters/types.js.map +0 -1
  26. package/dist/bin/erosolar.d.ts +0 -9
  27. package/dist/bin/erosolar.d.ts.map +0 -1
  28. package/dist/bin/erosolar.js +0 -93
  29. package/dist/bin/erosolar.js.map +0 -1
  30. package/dist/bin/selfTest.d.ts +0 -14
  31. package/dist/bin/selfTest.d.ts.map +0 -1
  32. package/dist/bin/selfTest.js +0 -304
  33. package/dist/bin/selfTest.js.map +0 -1
  34. package/dist/browser/BrowserSessionManager.d.ts +0 -307
  35. package/dist/browser/BrowserSessionManager.d.ts.map +0 -1
  36. package/dist/browser/BrowserSessionManager.js +0 -713
  37. package/dist/browser/BrowserSessionManager.js.map +0 -1
  38. package/dist/capabilities/advancedTestGenerationCapability.d.ts +0 -17
  39. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +0 -1
  40. package/dist/capabilities/advancedTestGenerationCapability.js +0 -28
  41. package/dist/capabilities/advancedTestGenerationCapability.js.map +0 -1
  42. package/dist/capabilities/agentSpawningCapability.d.ts +0 -6
  43. package/dist/capabilities/agentSpawningCapability.d.ts.map +0 -1
  44. package/dist/capabilities/agentSpawningCapability.js +0 -168
  45. package/dist/capabilities/agentSpawningCapability.js.map +0 -1
  46. package/dist/capabilities/askUserCapability.d.ts +0 -21
  47. package/dist/capabilities/askUserCapability.d.ts.map +0 -1
  48. package/dist/capabilities/askUserCapability.js +0 -155
  49. package/dist/capabilities/askUserCapability.js.map +0 -1
  50. package/dist/capabilities/bashCapability.d.ts +0 -13
  51. package/dist/capabilities/bashCapability.d.ts.map +0 -1
  52. package/dist/capabilities/bashCapability.js +0 -24
  53. package/dist/capabilities/bashCapability.js.map +0 -1
  54. package/dist/capabilities/browserAutomationCapability.d.ts +0 -37
  55. package/dist/capabilities/browserAutomationCapability.d.ts.map +0 -1
  56. package/dist/capabilities/browserAutomationCapability.js +0 -49
  57. package/dist/capabilities/browserAutomationCapability.js.map +0 -1
  58. package/dist/capabilities/buildCapability.d.ts +0 -24
  59. package/dist/capabilities/buildCapability.d.ts.map +0 -1
  60. package/dist/capabilities/buildCapability.js +0 -25
  61. package/dist/capabilities/buildCapability.js.map +0 -1
  62. package/dist/capabilities/cloudCapability.d.ts +0 -13
  63. package/dist/capabilities/cloudCapability.d.ts.map +0 -1
  64. package/dist/capabilities/cloudCapability.js +0 -38
  65. package/dist/capabilities/cloudCapability.js.map +0 -1
  66. package/dist/capabilities/codeAnalysisCapability.d.ts +0 -13
  67. package/dist/capabilities/codeAnalysisCapability.d.ts.map +0 -1
  68. package/dist/capabilities/codeAnalysisCapability.js +0 -24
  69. package/dist/capabilities/codeAnalysisCapability.js.map +0 -1
  70. package/dist/capabilities/codeGenerationCapability.d.ts +0 -13
  71. package/dist/capabilities/codeGenerationCapability.d.ts.map +0 -1
  72. package/dist/capabilities/codeGenerationCapability.js +0 -25
  73. package/dist/capabilities/codeGenerationCapability.js.map +0 -1
  74. package/dist/capabilities/codeQualityCapability.d.ts +0 -13
  75. package/dist/capabilities/codeQualityCapability.d.ts.map +0 -1
  76. package/dist/capabilities/codeQualityCapability.js +0 -25
  77. package/dist/capabilities/codeQualityCapability.js.map +0 -1
  78. package/dist/capabilities/dependencySecurityCapability.d.ts +0 -13
  79. package/dist/capabilities/dependencySecurityCapability.d.ts.map +0 -1
  80. package/dist/capabilities/dependencySecurityCapability.js +0 -24
  81. package/dist/capabilities/dependencySecurityCapability.js.map +0 -1
  82. package/dist/capabilities/devCapability.d.ts +0 -13
  83. package/dist/capabilities/devCapability.d.ts.map +0 -1
  84. package/dist/capabilities/devCapability.js +0 -24
  85. package/dist/capabilities/devCapability.js.map +0 -1
  86. package/dist/capabilities/editCapability.d.ts +0 -17
  87. package/dist/capabilities/editCapability.d.ts.map +0 -1
  88. package/dist/capabilities/editCapability.js +0 -27
  89. package/dist/capabilities/editCapability.js.map +0 -1
  90. package/dist/capabilities/emailCapability.d.ts +0 -12
  91. package/dist/capabilities/emailCapability.d.ts.map +0 -1
  92. package/dist/capabilities/emailCapability.js +0 -22
  93. package/dist/capabilities/emailCapability.js.map +0 -1
  94. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +0 -17
  95. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +0 -1
  96. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +0 -28
  97. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +0 -1
  98. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +0 -17
  99. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +0 -1
  100. package/dist/capabilities/enhancedDevWorkflowCapability.js +0 -28
  101. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +0 -1
  102. package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
  103. package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
  104. package/dist/capabilities/enhancedGitCapability.js +0 -220
  105. package/dist/capabilities/enhancedGitCapability.js.map +0 -1
  106. package/dist/capabilities/filesystemCapability.d.ts +0 -13
  107. package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
  108. package/dist/capabilities/filesystemCapability.js +0 -24
  109. package/dist/capabilities/filesystemCapability.js.map +0 -1
  110. package/dist/capabilities/frontendTestingCapability.d.ts +0 -13
  111. package/dist/capabilities/frontendTestingCapability.d.ts.map +0 -1
  112. package/dist/capabilities/frontendTestingCapability.js +0 -28
  113. package/dist/capabilities/frontendTestingCapability.js.map +0 -1
  114. package/dist/capabilities/globCapability.d.ts +0 -17
  115. package/dist/capabilities/globCapability.d.ts.map +0 -1
  116. package/dist/capabilities/globCapability.js +0 -27
  117. package/dist/capabilities/globCapability.js.map +0 -1
  118. package/dist/capabilities/index.d.ts +0 -26
  119. package/dist/capabilities/index.d.ts.map +0 -1
  120. package/dist/capabilities/index.js +0 -26
  121. package/dist/capabilities/index.js.map +0 -1
  122. package/dist/capabilities/interactionCapability.d.ts +0 -12
  123. package/dist/capabilities/interactionCapability.d.ts.map +0 -1
  124. package/dist/capabilities/interactionCapability.js +0 -22
  125. package/dist/capabilities/interactionCapability.js.map +0 -1
  126. package/dist/capabilities/learnCapability.d.ts +0 -22
  127. package/dist/capabilities/learnCapability.d.ts.map +0 -1
  128. package/dist/capabilities/learnCapability.js +0 -37
  129. package/dist/capabilities/learnCapability.js.map +0 -1
  130. package/dist/capabilities/mcpCapability.d.ts +0 -6
  131. package/dist/capabilities/mcpCapability.d.ts.map +0 -1
  132. package/dist/capabilities/mcpCapability.js +0 -19
  133. package/dist/capabilities/mcpCapability.js.map +0 -1
  134. package/dist/capabilities/notebookCapability.d.ts +0 -17
  135. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  136. package/dist/capabilities/notebookCapability.js +0 -27
  137. package/dist/capabilities/notebookCapability.js.map +0 -1
  138. package/dist/capabilities/performanceMonitoringCapability.d.ts +0 -108
  139. package/dist/capabilities/performanceMonitoringCapability.d.ts.map +0 -1
  140. package/dist/capabilities/performanceMonitoringCapability.js +0 -176
  141. package/dist/capabilities/performanceMonitoringCapability.js.map +0 -1
  142. package/dist/capabilities/planningCapability.d.ts +0 -16
  143. package/dist/capabilities/planningCapability.d.ts.map +0 -1
  144. package/dist/capabilities/planningCapability.js +0 -26
  145. package/dist/capabilities/planningCapability.js.map +0 -1
  146. package/dist/capabilities/refactoringCapability.d.ts +0 -13
  147. package/dist/capabilities/refactoringCapability.d.ts.map +0 -1
  148. package/dist/capabilities/refactoringCapability.js +0 -25
  149. package/dist/capabilities/refactoringCapability.js.map +0 -1
  150. package/dist/capabilities/repoChecksCapability.d.ts +0 -10
  151. package/dist/capabilities/repoChecksCapability.d.ts.map +0 -1
  152. package/dist/capabilities/repoChecksCapability.js +0 -24
  153. package/dist/capabilities/repoChecksCapability.js.map +0 -1
  154. package/dist/capabilities/searchCapability.d.ts +0 -13
  155. package/dist/capabilities/searchCapability.d.ts.map +0 -1
  156. package/dist/capabilities/searchCapability.js +0 -24
  157. package/dist/capabilities/searchCapability.js.map +0 -1
  158. package/dist/capabilities/skillCapability.d.ts +0 -3
  159. package/dist/capabilities/skillCapability.d.ts.map +0 -1
  160. package/dist/capabilities/skillCapability.js +0 -77
  161. package/dist/capabilities/skillCapability.js.map +0 -1
  162. package/dist/capabilities/taskManagementCapability.d.ts +0 -12
  163. package/dist/capabilities/taskManagementCapability.d.ts.map +0 -1
  164. package/dist/capabilities/taskManagementCapability.js +0 -22
  165. package/dist/capabilities/taskManagementCapability.js.map +0 -1
  166. package/dist/capabilities/testingCapability.d.ts +0 -13
  167. package/dist/capabilities/testingCapability.d.ts.map +0 -1
  168. package/dist/capabilities/testingCapability.js +0 -25
  169. package/dist/capabilities/testingCapability.js.map +0 -1
  170. package/dist/capabilities/todoCapability.d.ts +0 -19
  171. package/dist/capabilities/todoCapability.d.ts.map +0 -1
  172. package/dist/capabilities/todoCapability.js +0 -169
  173. package/dist/capabilities/todoCapability.js.map +0 -1
  174. package/dist/capabilities/toolManifest.d.ts +0 -3
  175. package/dist/capabilities/toolManifest.d.ts.map +0 -1
  176. package/dist/capabilities/toolManifest.js +0 -160
  177. package/dist/capabilities/toolManifest.js.map +0 -1
  178. package/dist/capabilities/toolRegistry.d.ts +0 -24
  179. package/dist/capabilities/toolRegistry.d.ts.map +0 -1
  180. package/dist/capabilities/toolRegistry.js +0 -150
  181. package/dist/capabilities/toolRegistry.js.map +0 -1
  182. package/dist/capabilities/validationCapability.d.ts +0 -13
  183. package/dist/capabilities/validationCapability.d.ts.map +0 -1
  184. package/dist/capabilities/validationCapability.js +0 -24
  185. package/dist/capabilities/validationCapability.js.map +0 -1
  186. package/dist/capabilities/webCapability.d.ts +0 -12
  187. package/dist/capabilities/webCapability.d.ts.map +0 -1
  188. package/dist/capabilities/webCapability.js +0 -22
  189. package/dist/capabilities/webCapability.js.map +0 -1
  190. package/dist/config.d.ts +0 -25
  191. package/dist/config.d.ts.map +0 -1
  192. package/dist/config.js +0 -140
  193. package/dist/config.js.map +0 -1
  194. package/dist/contracts/v1/agent.d.ts +0 -147
  195. package/dist/contracts/v1/agent.d.ts.map +0 -1
  196. package/dist/contracts/v1/agent.js +0 -8
  197. package/dist/contracts/v1/agent.js.map +0 -1
  198. package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
  199. package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
  200. package/dist/contracts/v1/agentProfileManifest.js +0 -9
  201. package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
  202. package/dist/contracts/v1/agentRules.d.ts +0 -60
  203. package/dist/contracts/v1/agentRules.d.ts.map +0 -1
  204. package/dist/contracts/v1/agentRules.js +0 -10
  205. package/dist/contracts/v1/agentRules.js.map +0 -1
  206. package/dist/contracts/v1/provider.d.ts +0 -149
  207. package/dist/contracts/v1/provider.d.ts.map +0 -1
  208. package/dist/contracts/v1/provider.js +0 -7
  209. package/dist/contracts/v1/provider.js.map +0 -1
  210. package/dist/contracts/v1/tool.d.ts +0 -136
  211. package/dist/contracts/v1/tool.d.ts.map +0 -1
  212. package/dist/contracts/v1/tool.js +0 -7
  213. package/dist/contracts/v1/tool.js.map +0 -1
  214. package/dist/contracts/v1/toolAccess.d.ts +0 -43
  215. package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
  216. package/dist/contracts/v1/toolAccess.js +0 -9
  217. package/dist/contracts/v1/toolAccess.js.map +0 -1
  218. package/dist/core/LazyLoader.d.ts +0 -129
  219. package/dist/core/LazyLoader.d.ts.map +0 -1
  220. package/dist/core/LazyLoader.js +0 -240
  221. package/dist/core/LazyLoader.js.map +0 -1
  222. package/dist/core/agent.d.ts +0 -153
  223. package/dist/core/agent.d.ts.map +0 -1
  224. package/dist/core/agent.js +0 -881
  225. package/dist/core/agent.js.map +0 -1
  226. package/dist/core/agentProfileManifest.d.ts +0 -3
  227. package/dist/core/agentProfileManifest.d.ts.map +0 -1
  228. package/dist/core/agentProfileManifest.js +0 -188
  229. package/dist/core/agentProfileManifest.js.map +0 -1
  230. package/dist/core/agentProfiles.d.ts +0 -22
  231. package/dist/core/agentProfiles.d.ts.map +0 -1
  232. package/dist/core/agentProfiles.js +0 -35
  233. package/dist/core/agentProfiles.js.map +0 -1
  234. package/dist/core/agentRulebook.d.ts +0 -11
  235. package/dist/core/agentRulebook.d.ts.map +0 -1
  236. package/dist/core/agentRulebook.js +0 -136
  237. package/dist/core/agentRulebook.js.map +0 -1
  238. package/dist/core/agentSchemaLoader.d.ts +0 -131
  239. package/dist/core/agentSchemaLoader.d.ts.map +0 -1
  240. package/dist/core/agentSchemaLoader.js +0 -234
  241. package/dist/core/agentSchemaLoader.js.map +0 -1
  242. package/dist/core/aiErrorFixer.d.ts +0 -70
  243. package/dist/core/aiErrorFixer.d.ts.map +0 -1
  244. package/dist/core/aiErrorFixer.js +0 -402
  245. package/dist/core/aiErrorFixer.js.map +0 -1
  246. package/dist/core/alphaZeroEngine.d.ts +0 -269
  247. package/dist/core/alphaZeroEngine.d.ts.map +0 -1
  248. package/dist/core/alphaZeroEngine.js +0 -523
  249. package/dist/core/alphaZeroEngine.js.map +0 -1
  250. package/dist/core/alphaZeroModular.d.ts +0 -186
  251. package/dist/core/alphaZeroModular.d.ts.map +0 -1
  252. package/dist/core/alphaZeroModular.js +0 -755
  253. package/dist/core/alphaZeroModular.js.map +0 -1
  254. package/dist/core/alphaZeroOrchestrator.d.ts +0 -140
  255. package/dist/core/alphaZeroOrchestrator.d.ts.map +0 -1
  256. package/dist/core/alphaZeroOrchestrator.js +0 -418
  257. package/dist/core/alphaZeroOrchestrator.js.map +0 -1
  258. package/dist/core/checkpoint.d.ts +0 -76
  259. package/dist/core/checkpoint.d.ts.map +0 -1
  260. package/dist/core/checkpoint.js +0 -278
  261. package/dist/core/checkpoint.js.map +0 -1
  262. package/dist/core/claudeCodeFeatures.d.ts +0 -64
  263. package/dist/core/claudeCodeFeatures.d.ts.map +0 -1
  264. package/dist/core/claudeCodeFeatures.js +0 -163
  265. package/dist/core/claudeCodeFeatures.js.map +0 -1
  266. package/dist/core/cliTestHarness.d.ts +0 -200
  267. package/dist/core/cliTestHarness.d.ts.map +0 -1
  268. package/dist/core/cliTestHarness.js +0 -549
  269. package/dist/core/cliTestHarness.js.map +0 -1
  270. package/dist/core/contextManager.d.ts +0 -263
  271. package/dist/core/contextManager.d.ts.map +0 -1
  272. package/dist/core/contextManager.js +0 -1073
  273. package/dist/core/contextManager.js.map +0 -1
  274. package/dist/core/contextWindow.d.ts +0 -42
  275. package/dist/core/contextWindow.d.ts.map +0 -1
  276. package/dist/core/contextWindow.js +0 -123
  277. package/dist/core/contextWindow.js.map +0 -1
  278. package/dist/core/costTracker.d.ts +0 -87
  279. package/dist/core/costTracker.d.ts.map +0 -1
  280. package/dist/core/costTracker.js +0 -285
  281. package/dist/core/costTracker.js.map +0 -1
  282. package/dist/core/customCommands.d.ts +0 -19
  283. package/dist/core/customCommands.d.ts.map +0 -1
  284. package/dist/core/customCommands.js +0 -84
  285. package/dist/core/customCommands.js.map +0 -1
  286. package/dist/core/errors/apiKeyErrors.d.ts +0 -11
  287. package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
  288. package/dist/core/errors/apiKeyErrors.js +0 -159
  289. package/dist/core/errors/apiKeyErrors.js.map +0 -1
  290. package/dist/core/errors/errorTypes.d.ts +0 -111
  291. package/dist/core/errors/errorTypes.d.ts.map +0 -1
  292. package/dist/core/errors/errorTypes.js +0 -348
  293. package/dist/core/errors/errorTypes.js.map +0 -1
  294. package/dist/core/errors/errorUtils.d.ts +0 -87
  295. package/dist/core/errors/errorUtils.d.ts.map +0 -1
  296. package/dist/core/errors/errorUtils.js +0 -158
  297. package/dist/core/errors/errorUtils.js.map +0 -1
  298. package/dist/core/errors/safetyValidator.d.ts +0 -71
  299. package/dist/core/errors/safetyValidator.d.ts.map +0 -1
  300. package/dist/core/errors/safetyValidator.js +0 -302
  301. package/dist/core/errors/safetyValidator.js.map +0 -1
  302. package/dist/core/errors.d.ts +0 -4
  303. package/dist/core/errors.d.ts.map +0 -1
  304. package/dist/core/errors.js +0 -33
  305. package/dist/core/errors.js.map +0 -1
  306. package/dist/core/failureRecovery.d.ts +0 -122
  307. package/dist/core/failureRecovery.d.ts.map +0 -1
  308. package/dist/core/failureRecovery.js +0 -477
  309. package/dist/core/failureRecovery.js.map +0 -1
  310. package/dist/core/hooks.d.ts +0 -113
  311. package/dist/core/hooks.d.ts.map +0 -1
  312. package/dist/core/hooks.js +0 -267
  313. package/dist/core/hooks.js.map +0 -1
  314. package/dist/core/intelligentTestFlows.d.ts +0 -126
  315. package/dist/core/intelligentTestFlows.d.ts.map +0 -1
  316. package/dist/core/intelligentTestFlows.js +0 -678
  317. package/dist/core/intelligentTestFlows.js.map +0 -1
  318. package/dist/core/isolatedVerifier.d.ts +0 -40
  319. package/dist/core/isolatedVerifier.d.ts.map +0 -1
  320. package/dist/core/isolatedVerifier.js +0 -129
  321. package/dist/core/isolatedVerifier.js.map +0 -1
  322. package/dist/core/learningPersistence.d.ts +0 -145
  323. package/dist/core/learningPersistence.d.ts.map +0 -1
  324. package/dist/core/learningPersistence.js +0 -477
  325. package/dist/core/learningPersistence.js.map +0 -1
  326. package/dist/core/memorySystem.d.ts +0 -67
  327. package/dist/core/memorySystem.d.ts.map +0 -1
  328. package/dist/core/memorySystem.js +0 -334
  329. package/dist/core/memorySystem.js.map +0 -1
  330. package/dist/core/metricsTracker.d.ts +0 -157
  331. package/dist/core/metricsTracker.d.ts.map +0 -1
  332. package/dist/core/metricsTracker.js +0 -273
  333. package/dist/core/metricsTracker.js.map +0 -1
  334. package/dist/core/modelDiscovery.d.ts +0 -101
  335. package/dist/core/modelDiscovery.d.ts.map +0 -1
  336. package/dist/core/modelDiscovery.js +0 -780
  337. package/dist/core/modelDiscovery.js.map +0 -1
  338. package/dist/core/multilinePasteHandler.d.ts +0 -35
  339. package/dist/core/multilinePasteHandler.d.ts.map +0 -1
  340. package/dist/core/multilinePasteHandler.js +0 -80
  341. package/dist/core/multilinePasteHandler.js.map +0 -1
  342. package/dist/core/offsecAlphaZero.d.ts +0 -56
  343. package/dist/core/offsecAlphaZero.d.ts.map +0 -1
  344. package/dist/core/offsecAlphaZero.js +0 -395
  345. package/dist/core/offsecAlphaZero.js.map +0 -1
  346. package/dist/core/outputStyles.d.ts +0 -48
  347. package/dist/core/outputStyles.d.ts.map +0 -1
  348. package/dist/core/outputStyles.js +0 -270
  349. package/dist/core/outputStyles.js.map +0 -1
  350. package/dist/core/performanceMonitor.d.ts +0 -124
  351. package/dist/core/performanceMonitor.d.ts.map +0 -1
  352. package/dist/core/performanceMonitor.js +0 -192
  353. package/dist/core/performanceMonitor.js.map +0 -1
  354. package/dist/core/preferences.d.ts +0 -67
  355. package/dist/core/preferences.d.ts.map +0 -1
  356. package/dist/core/preferences.js +0 -314
  357. package/dist/core/preferences.js.map +0 -1
  358. package/dist/core/responseVerifier.d.ts +0 -98
  359. package/dist/core/responseVerifier.d.ts.map +0 -1
  360. package/dist/core/responseVerifier.js +0 -509
  361. package/dist/core/responseVerifier.js.map +0 -1
  362. package/dist/core/resultVerification.d.ts +0 -141
  363. package/dist/core/resultVerification.d.ts.map +0 -1
  364. package/dist/core/resultVerification.js +0 -482
  365. package/dist/core/resultVerification.js.map +0 -1
  366. package/dist/core/schemaValidator.d.ts +0 -44
  367. package/dist/core/schemaValidator.d.ts.map +0 -1
  368. package/dist/core/schemaValidator.js +0 -155
  369. package/dist/core/schemaValidator.js.map +0 -1
  370. package/dist/core/secretStore.d.ts +0 -48
  371. package/dist/core/secretStore.d.ts.map +0 -1
  372. package/dist/core/secretStore.js +0 -367
  373. package/dist/core/secretStore.js.map +0 -1
  374. package/dist/core/securityAssessment.d.ts +0 -91
  375. package/dist/core/securityAssessment.d.ts.map +0 -1
  376. package/dist/core/securityAssessment.js +0 -580
  377. package/dist/core/securityAssessment.js.map +0 -1
  378. package/dist/core/selfEvolution.d.ts +0 -155
  379. package/dist/core/selfEvolution.d.ts.map +0 -1
  380. package/dist/core/selfEvolution.js +0 -1000
  381. package/dist/core/selfEvolution.js.map +0 -1
  382. package/dist/core/selfImprovement.d.ts +0 -141
  383. package/dist/core/selfImprovement.d.ts.map +0 -1
  384. package/dist/core/selfImprovement.js +0 -700
  385. package/dist/core/selfImprovement.js.map +0 -1
  386. package/dist/core/sessionStore.d.ts +0 -35
  387. package/dist/core/sessionStore.d.ts.map +0 -1
  388. package/dist/core/sessionStore.js +0 -189
  389. package/dist/core/sessionStore.js.map +0 -1
  390. package/dist/core/testUtils.d.ts +0 -121
  391. package/dist/core/testUtils.d.ts.map +0 -1
  392. package/dist/core/testUtils.js +0 -235
  393. package/dist/core/testUtils.js.map +0 -1
  394. package/dist/core/toolPreconditions.d.ts +0 -42
  395. package/dist/core/toolPreconditions.d.ts.map +0 -1
  396. package/dist/core/toolPreconditions.js +0 -357
  397. package/dist/core/toolPreconditions.js.map +0 -1
  398. package/dist/core/toolRuntime.d.ts +0 -158
  399. package/dist/core/toolRuntime.d.ts.map +0 -1
  400. package/dist/core/toolRuntime.js +0 -415
  401. package/dist/core/toolRuntime.js.map +0 -1
  402. package/dist/core/toolValidation.d.ts +0 -117
  403. package/dist/core/toolValidation.d.ts.map +0 -1
  404. package/dist/core/toolValidation.js +0 -282
  405. package/dist/core/toolValidation.js.map +0 -1
  406. package/dist/core/types/utilityTypes.d.ts +0 -192
  407. package/dist/core/types/utilityTypes.d.ts.map +0 -1
  408. package/dist/core/types/utilityTypes.js +0 -272
  409. package/dist/core/types/utilityTypes.js.map +0 -1
  410. package/dist/core/types.d.ts +0 -306
  411. package/dist/core/types.d.ts.map +0 -1
  412. package/dist/core/types.js +0 -76
  413. package/dist/core/types.js.map +0 -1
  414. package/dist/core/updateManager.d.ts +0 -62
  415. package/dist/core/updateManager.d.ts.map +0 -1
  416. package/dist/core/updateManager.js +0 -266
  417. package/dist/core/updateManager.js.map +0 -1
  418. package/dist/core/validationRunner.d.ts +0 -106
  419. package/dist/core/validationRunner.d.ts.map +0 -1
  420. package/dist/core/validationRunner.js +0 -888
  421. package/dist/core/validationRunner.js.map +0 -1
  422. package/dist/core/verification.d.ts +0 -137
  423. package/dist/core/verification.d.ts.map +0 -1
  424. package/dist/core/verification.js +0 -323
  425. package/dist/core/verification.js.map +0 -1
  426. package/dist/headless/headlessApp.d.ts +0 -5
  427. package/dist/headless/headlessApp.d.ts.map +0 -1
  428. package/dist/headless/headlessApp.js +0 -210
  429. package/dist/headless/headlessApp.js.map +0 -1
  430. package/dist/intelligence/codeIntelligence.d.ts +0 -118
  431. package/dist/intelligence/codeIntelligence.d.ts.map +0 -1
  432. package/dist/intelligence/codeIntelligence.js +0 -552
  433. package/dist/intelligence/codeIntelligence.js.map +0 -1
  434. package/dist/intelligence/docGenerator.d.ts +0 -86
  435. package/dist/intelligence/docGenerator.d.ts.map +0 -1
  436. package/dist/intelligence/docGenerator.js +0 -564
  437. package/dist/intelligence/docGenerator.js.map +0 -1
  438. package/dist/intelligence/index.d.ts +0 -51
  439. package/dist/intelligence/index.d.ts.map +0 -1
  440. package/dist/intelligence/index.js +0 -253
  441. package/dist/intelligence/index.js.map +0 -1
  442. package/dist/intelligence/refactoring.d.ts +0 -50
  443. package/dist/intelligence/refactoring.d.ts.map +0 -1
  444. package/dist/intelligence/refactoring.js +0 -354
  445. package/dist/intelligence/refactoring.js.map +0 -1
  446. package/dist/intelligence/testGenerator.d.ts +0 -74
  447. package/dist/intelligence/testGenerator.d.ts.map +0 -1
  448. package/dist/intelligence/testGenerator.js +0 -483
  449. package/dist/intelligence/testGenerator.js.map +0 -1
  450. package/dist/mcp/config.d.ts +0 -8
  451. package/dist/mcp/config.d.ts.map +0 -1
  452. package/dist/mcp/config.js +0 -252
  453. package/dist/mcp/config.js.map +0 -1
  454. package/dist/mcp/sseClient.d.ts +0 -34
  455. package/dist/mcp/sseClient.d.ts.map +0 -1
  456. package/dist/mcp/sseClient.js +0 -327
  457. package/dist/mcp/sseClient.js.map +0 -1
  458. package/dist/mcp/stdioClient.d.ts +0 -24
  459. package/dist/mcp/stdioClient.d.ts.map +0 -1
  460. package/dist/mcp/stdioClient.js +0 -179
  461. package/dist/mcp/stdioClient.js.map +0 -1
  462. package/dist/mcp/toolBridge.d.ts +0 -12
  463. package/dist/mcp/toolBridge.d.ts.map +0 -1
  464. package/dist/mcp/toolBridge.js +0 -117
  465. package/dist/mcp/toolBridge.js.map +0 -1
  466. package/dist/mcp/types.d.ts +0 -60
  467. package/dist/mcp/types.d.ts.map +0 -1
  468. package/dist/mcp/types.js +0 -2
  469. package/dist/mcp/types.js.map +0 -1
  470. package/dist/plugins/index.d.ts +0 -49
  471. package/dist/plugins/index.d.ts.map +0 -1
  472. package/dist/plugins/index.js +0 -114
  473. package/dist/plugins/index.js.map +0 -1
  474. package/dist/plugins/providers/anthropic/index.d.ts +0 -11
  475. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  476. package/dist/plugins/providers/anthropic/index.js +0 -38
  477. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  478. package/dist/plugins/providers/deepseek/index.d.ts +0 -11
  479. package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
  480. package/dist/plugins/providers/deepseek/index.js +0 -52
  481. package/dist/plugins/providers/deepseek/index.js.map +0 -1
  482. package/dist/plugins/providers/google/index.d.ts +0 -11
  483. package/dist/plugins/providers/google/index.d.ts.map +0 -1
  484. package/dist/plugins/providers/google/index.js +0 -40
  485. package/dist/plugins/providers/google/index.js.map +0 -1
  486. package/dist/plugins/providers/index.d.ts +0 -2
  487. package/dist/plugins/providers/index.d.ts.map +0 -1
  488. package/dist/plugins/providers/index.js +0 -20
  489. package/dist/plugins/providers/index.js.map +0 -1
  490. package/dist/plugins/providers/ollama/index.d.ts +0 -21
  491. package/dist/plugins/providers/ollama/index.d.ts.map +0 -1
  492. package/dist/plugins/providers/ollama/index.js +0 -69
  493. package/dist/plugins/providers/ollama/index.js.map +0 -1
  494. package/dist/plugins/providers/openai/index.d.ts +0 -12
  495. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  496. package/dist/plugins/providers/openai/index.js +0 -39
  497. package/dist/plugins/providers/openai/index.js.map +0 -1
  498. package/dist/plugins/providers/xai/index.d.ts +0 -11
  499. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  500. package/dist/plugins/providers/xai/index.js +0 -39
  501. package/dist/plugins/providers/xai/index.js.map +0 -1
  502. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -3
  503. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
  504. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -9
  505. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
  506. package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
  507. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
  508. package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
  509. package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
  510. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +0 -14
  511. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +0 -1
  512. package/dist/plugins/tools/browser/browserAutomationPlugin.js +0 -26
  513. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +0 -1
  514. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +0 -3
  515. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +0 -1
  516. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +0 -14
  517. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +0 -1
  518. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +0 -3
  519. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +0 -1
  520. package/dist/plugins/tools/cloud/cloudPlugin.js +0 -14
  521. package/dist/plugins/tools/cloud/cloudPlugin.js.map +0 -1
  522. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +0 -3
  523. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +0 -1
  524. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -14
  525. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +0 -1
  526. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +0 -3
  527. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +0 -1
  528. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +0 -14
  529. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +0 -1
  530. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +0 -3
  531. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +0 -1
  532. package/dist/plugins/tools/dependency/dependencyPlugin.js +0 -12
  533. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +0 -1
  534. package/dist/plugins/tools/development/devPlugin.d.ts +0 -3
  535. package/dist/plugins/tools/development/devPlugin.d.ts.map +0 -1
  536. package/dist/plugins/tools/development/devPlugin.js +0 -14
  537. package/dist/plugins/tools/development/devPlugin.js.map +0 -1
  538. package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
  539. package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
  540. package/dist/plugins/tools/edit/editPlugin.js +0 -15
  541. package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
  542. package/dist/plugins/tools/email/emailPlugin.d.ts +0 -3
  543. package/dist/plugins/tools/email/emailPlugin.d.ts.map +0 -1
  544. package/dist/plugins/tools/email/emailPlugin.js +0 -12
  545. package/dist/plugins/tools/email/emailPlugin.js.map +0 -1
  546. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
  547. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
  548. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
  549. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
  550. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
  551. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
  552. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
  553. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
  554. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +0 -3
  555. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +0 -1
  556. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +0 -14
  557. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +0 -1
  558. package/dist/plugins/tools/glob/globPlugin.d.ts +0 -9
  559. package/dist/plugins/tools/glob/globPlugin.d.ts.map +0 -1
  560. package/dist/plugins/tools/glob/globPlugin.js +0 -15
  561. package/dist/plugins/tools/glob/globPlugin.js.map +0 -1
  562. package/dist/plugins/tools/index.d.ts +0 -3
  563. package/dist/plugins/tools/index.d.ts.map +0 -1
  564. package/dist/plugins/tools/index.js +0 -3
  565. package/dist/plugins/tools/index.js.map +0 -1
  566. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +0 -3
  567. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +0 -1
  568. package/dist/plugins/tools/interaction/interactionPlugin.js +0 -12
  569. package/dist/plugins/tools/interaction/interactionPlugin.js.map +0 -1
  570. package/dist/plugins/tools/learn/learnPlugin.d.ts +0 -3
  571. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +0 -1
  572. package/dist/plugins/tools/learn/learnPlugin.js +0 -14
  573. package/dist/plugins/tools/learn/learnPlugin.js.map +0 -1
  574. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
  575. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
  576. package/dist/plugins/tools/mcp/mcpPlugin.js +0 -9
  577. package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
  578. package/dist/plugins/tools/nodeDefaults.d.ts +0 -2
  579. package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
  580. package/dist/plugins/tools/nodeDefaults.js +0 -65
  581. package/dist/plugins/tools/nodeDefaults.js.map +0 -1
  582. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +0 -9
  583. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +0 -1
  584. package/dist/plugins/tools/notebook/notebookPlugin.js +0 -15
  585. package/dist/plugins/tools/notebook/notebookPlugin.js.map +0 -1
  586. package/dist/plugins/tools/planning/planningPlugin.d.ts +0 -9
  587. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +0 -1
  588. package/dist/plugins/tools/planning/planningPlugin.js +0 -15
  589. package/dist/plugins/tools/planning/planningPlugin.js.map +0 -1
  590. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +0 -3
  591. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +0 -1
  592. package/dist/plugins/tools/refactoring/refactoringPlugin.js +0 -12
  593. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +0 -1
  594. package/dist/plugins/tools/registry.d.ts +0 -22
  595. package/dist/plugins/tools/registry.d.ts.map +0 -1
  596. package/dist/plugins/tools/registry.js +0 -58
  597. package/dist/plugins/tools/registry.js.map +0 -1
  598. package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
  599. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
  600. package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
  601. package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
  602. package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
  603. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
  604. package/dist/plugins/tools/skills/skillPlugin.js +0 -9
  605. package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
  606. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +0 -3
  607. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +0 -1
  608. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +0 -12
  609. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +0 -1
  610. package/dist/plugins/tools/testing/testingPlugin.d.ts +0 -3
  611. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +0 -1
  612. package/dist/plugins/tools/testing/testingPlugin.js +0 -12
  613. package/dist/plugins/tools/testing/testingPlugin.js.map +0 -1
  614. package/dist/plugins/tools/validation/validationPlugin.d.ts +0 -3
  615. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +0 -1
  616. package/dist/plugins/tools/validation/validationPlugin.js +0 -14
  617. package/dist/plugins/tools/validation/validationPlugin.js.map +0 -1
  618. package/dist/plugins/tools/web/webPlugin.d.ts +0 -3
  619. package/dist/plugins/tools/web/webPlugin.d.ts.map +0 -1
  620. package/dist/plugins/tools/web/webPlugin.js +0 -12
  621. package/dist/plugins/tools/web/webPlugin.js.map +0 -1
  622. package/dist/providers/anthropicProvider.d.ts +0 -41
  623. package/dist/providers/anthropicProvider.d.ts.map +0 -1
  624. package/dist/providers/anthropicProvider.js +0 -446
  625. package/dist/providers/anthropicProvider.js.map +0 -1
  626. package/dist/providers/googleProvider.d.ts +0 -36
  627. package/dist/providers/googleProvider.d.ts.map +0 -1
  628. package/dist/providers/googleProvider.js +0 -312
  629. package/dist/providers/googleProvider.js.map +0 -1
  630. package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -43
  631. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
  632. package/dist/providers/openaiChatCompletionsProvider.js +0 -475
  633. package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
  634. package/dist/providers/openaiResponsesProvider.d.ts +0 -38
  635. package/dist/providers/openaiResponsesProvider.d.ts.map +0 -1
  636. package/dist/providers/openaiResponsesProvider.js +0 -364
  637. package/dist/providers/openaiResponsesProvider.js.map +0 -1
  638. package/dist/providers/providerFactory.d.ts +0 -18
  639. package/dist/providers/providerFactory.d.ts.map +0 -1
  640. package/dist/providers/providerFactory.js +0 -25
  641. package/dist/providers/providerFactory.js.map +0 -1
  642. package/dist/providers/resilientProvider.d.ts +0 -94
  643. package/dist/providers/resilientProvider.d.ts.map +0 -1
  644. package/dist/providers/resilientProvider.js +0 -370
  645. package/dist/providers/resilientProvider.js.map +0 -1
  646. package/dist/runtime/agentController.d.ts +0 -65
  647. package/dist/runtime/agentController.d.ts.map +0 -1
  648. package/dist/runtime/agentController.js +0 -353
  649. package/dist/runtime/agentController.js.map +0 -1
  650. package/dist/runtime/agentHost.d.ts +0 -61
  651. package/dist/runtime/agentHost.d.ts.map +0 -1
  652. package/dist/runtime/agentHost.js +0 -156
  653. package/dist/runtime/agentHost.js.map +0 -1
  654. package/dist/runtime/agentSession.d.ts +0 -40
  655. package/dist/runtime/agentSession.d.ts.map +0 -1
  656. package/dist/runtime/agentSession.js +0 -206
  657. package/dist/runtime/agentSession.js.map +0 -1
  658. package/dist/runtime/browser.d.ts +0 -7
  659. package/dist/runtime/browser.d.ts.map +0 -1
  660. package/dist/runtime/browser.js +0 -10
  661. package/dist/runtime/browser.js.map +0 -1
  662. package/dist/runtime/cloud.d.ts +0 -7
  663. package/dist/runtime/cloud.d.ts.map +0 -1
  664. package/dist/runtime/cloud.js +0 -10
  665. package/dist/runtime/cloud.js.map +0 -1
  666. package/dist/runtime/node.d.ts +0 -8
  667. package/dist/runtime/node.d.ts.map +0 -1
  668. package/dist/runtime/node.js +0 -11
  669. package/dist/runtime/node.js.map +0 -1
  670. package/dist/runtime/universal.d.ts +0 -21
  671. package/dist/runtime/universal.d.ts.map +0 -1
  672. package/dist/runtime/universal.js +0 -29
  673. package/dist/runtime/universal.js.map +0 -1
  674. package/dist/shell/autoExecutor.d.ts +0 -70
  675. package/dist/shell/autoExecutor.d.ts.map +0 -1
  676. package/dist/shell/autoExecutor.js +0 -288
  677. package/dist/shell/autoExecutor.js.map +0 -1
  678. package/dist/shell/composableMessage.d.ts +0 -183
  679. package/dist/shell/composableMessage.d.ts.map +0 -1
  680. package/dist/shell/composableMessage.js +0 -420
  681. package/dist/shell/composableMessage.js.map +0 -1
  682. package/dist/shell/fileChangeTracker.d.ts +0 -39
  683. package/dist/shell/fileChangeTracker.d.ts.map +0 -1
  684. package/dist/shell/fileChangeTracker.js +0 -64
  685. package/dist/shell/fileChangeTracker.js.map +0 -1
  686. package/dist/shell/keyboardShortcuts.d.ts +0 -53
  687. package/dist/shell/keyboardShortcuts.d.ts.map +0 -1
  688. package/dist/shell/keyboardShortcuts.js +0 -166
  689. package/dist/shell/keyboardShortcuts.js.map +0 -1
  690. package/dist/shell/liveStatus.d.ts +0 -30
  691. package/dist/shell/liveStatus.d.ts.map +0 -1
  692. package/dist/shell/liveStatus.js +0 -102
  693. package/dist/shell/liveStatus.js.map +0 -1
  694. package/dist/shell/shellApp.d.ts +0 -19
  695. package/dist/shell/shellApp.d.ts.map +0 -1
  696. package/dist/shell/shellApp.js +0 -408
  697. package/dist/shell/shellApp.js.map +0 -1
  698. package/dist/shell/systemPrompt.d.ts +0 -3
  699. package/dist/shell/systemPrompt.d.ts.map +0 -1
  700. package/dist/shell/systemPrompt.js +0 -81
  701. package/dist/shell/systemPrompt.js.map +0 -1
  702. package/dist/shell/taskCompletionDetector.d.ts +0 -106
  703. package/dist/shell/taskCompletionDetector.d.ts.map +0 -1
  704. package/dist/shell/taskCompletionDetector.js +0 -402
  705. package/dist/shell/taskCompletionDetector.js.map +0 -1
  706. package/dist/shell/terminalInput.d.ts +0 -617
  707. package/dist/shell/terminalInput.d.ts.map +0 -1
  708. package/dist/shell/terminalInput.js +0 -2633
  709. package/dist/shell/terminalInput.js.map +0 -1
  710. package/dist/shell/terminalInputAdapter.d.ts +0 -263
  711. package/dist/shell/terminalInputAdapter.d.ts.map +0 -1
  712. package/dist/shell/terminalInputAdapter.js +0 -406
  713. package/dist/shell/terminalInputAdapter.js.map +0 -1
  714. package/dist/shell/updateManager.d.ts +0 -3
  715. package/dist/shell/updateManager.d.ts.map +0 -1
  716. package/dist/shell/updateManager.js +0 -120
  717. package/dist/shell/updateManager.js.map +0 -1
  718. package/dist/shell/vimMode.d.ts +0 -66
  719. package/dist/shell/vimMode.d.ts.map +0 -1
  720. package/dist/shell/vimMode.js +0 -434
  721. package/dist/shell/vimMode.js.map +0 -1
  722. package/dist/skills/skillRepository.d.ts +0 -103
  723. package/dist/skills/skillRepository.d.ts.map +0 -1
  724. package/dist/skills/skillRepository.js +0 -237
  725. package/dist/skills/skillRepository.js.map +0 -1
  726. package/dist/skills/types.d.ts +0 -37
  727. package/dist/skills/types.d.ts.map +0 -1
  728. package/dist/skills/types.js +0 -2
  729. package/dist/skills/types.js.map +0 -1
  730. package/dist/subagents/agentConfig.d.ts +0 -27
  731. package/dist/subagents/agentConfig.d.ts.map +0 -1
  732. package/dist/subagents/agentConfig.js +0 -89
  733. package/dist/subagents/agentConfig.js.map +0 -1
  734. package/dist/subagents/agentRegistry.d.ts +0 -33
  735. package/dist/subagents/agentRegistry.d.ts.map +0 -1
  736. package/dist/subagents/agentRegistry.js +0 -162
  737. package/dist/subagents/agentRegistry.js.map +0 -1
  738. package/dist/subagents/parallelAgentManager.d.ts +0 -99
  739. package/dist/subagents/parallelAgentManager.d.ts.map +0 -1
  740. package/dist/subagents/parallelAgentManager.js +0 -248
  741. package/dist/subagents/parallelAgentManager.js.map +0 -1
  742. package/dist/subagents/taskRunner.d.ts +0 -34
  743. package/dist/subagents/taskRunner.d.ts.map +0 -1
  744. package/dist/subagents/taskRunner.js +0 -459
  745. package/dist/subagents/taskRunner.js.map +0 -1
  746. package/dist/tools/advancedTestGenerationTools.d.ts +0 -21
  747. package/dist/tools/advancedTestGenerationTools.d.ts.map +0 -1
  748. package/dist/tools/advancedTestGenerationTools.js +0 -301
  749. package/dist/tools/advancedTestGenerationTools.js.map +0 -1
  750. package/dist/tools/backgroundBashTools.d.ts +0 -21
  751. package/dist/tools/backgroundBashTools.d.ts.map +0 -1
  752. package/dist/tools/backgroundBashTools.js +0 -215
  753. package/dist/tools/backgroundBashTools.js.map +0 -1
  754. package/dist/tools/bashTools.d.ts +0 -8
  755. package/dist/tools/bashTools.d.ts.map +0 -1
  756. package/dist/tools/bashTools.js +0 -251
  757. package/dist/tools/bashTools.js.map +0 -1
  758. package/dist/tools/browserAutomationTools.d.ts +0 -23
  759. package/dist/tools/browserAutomationTools.d.ts.map +0 -1
  760. package/dist/tools/browserAutomationTools.js +0 -916
  761. package/dist/tools/browserAutomationTools.js.map +0 -1
  762. package/dist/tools/buildTools.d.ts +0 -9
  763. package/dist/tools/buildTools.d.ts.map +0 -1
  764. package/dist/tools/buildTools.js +0 -344
  765. package/dist/tools/buildTools.js.map +0 -1
  766. package/dist/tools/cloudTools.d.ts +0 -49
  767. package/dist/tools/cloudTools.d.ts.map +0 -1
  768. package/dist/tools/cloudTools.js +0 -1258
  769. package/dist/tools/cloudTools.js.map +0 -1
  770. package/dist/tools/code-quality-dashboard.d.ts +0 -57
  771. package/dist/tools/code-quality-dashboard.d.ts.map +0 -1
  772. package/dist/tools/code-quality-dashboard.js +0 -218
  773. package/dist/tools/code-quality-dashboard.js.map +0 -1
  774. package/dist/tools/codeAnalysisTools.d.ts +0 -74
  775. package/dist/tools/codeAnalysisTools.d.ts.map +0 -1
  776. package/dist/tools/codeAnalysisTools.js +0 -664
  777. package/dist/tools/codeAnalysisTools.js.map +0 -1
  778. package/dist/tools/codeGenerationTools.d.ts +0 -3
  779. package/dist/tools/codeGenerationTools.d.ts.map +0 -1
  780. package/dist/tools/codeGenerationTools.js +0 -439
  781. package/dist/tools/codeGenerationTools.js.map +0 -1
  782. package/dist/tools/codeQualityTools.d.ts +0 -3
  783. package/dist/tools/codeQualityTools.d.ts.map +0 -1
  784. package/dist/tools/codeQualityTools.js +0 -296
  785. package/dist/tools/codeQualityTools.js.map +0 -1
  786. package/dist/tools/dependencyTools.d.ts +0 -3
  787. package/dist/tools/dependencyTools.d.ts.map +0 -1
  788. package/dist/tools/dependencyTools.js +0 -283
  789. package/dist/tools/dependencyTools.js.map +0 -1
  790. package/dist/tools/devTools.d.ts +0 -10
  791. package/dist/tools/devTools.d.ts.map +0 -1
  792. package/dist/tools/devTools.js +0 -2125
  793. package/dist/tools/devTools.js.map +0 -1
  794. package/dist/tools/diffUtils.d.ts +0 -36
  795. package/dist/tools/diffUtils.d.ts.map +0 -1
  796. package/dist/tools/diffUtils.js +0 -528
  797. package/dist/tools/diffUtils.js.map +0 -1
  798. package/dist/tools/editTools.d.ts +0 -29
  799. package/dist/tools/editTools.d.ts.map +0 -1
  800. package/dist/tools/editTools.js +0 -419
  801. package/dist/tools/editTools.js.map +0 -1
  802. package/dist/tools/emailTools.d.ts +0 -21
  803. package/dist/tools/emailTools.d.ts.map +0 -1
  804. package/dist/tools/emailTools.js +0 -449
  805. package/dist/tools/emailTools.js.map +0 -1
  806. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +0 -27
  807. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +0 -1
  808. package/dist/tools/enhancedCodeIntelligenceTools.js +0 -418
  809. package/dist/tools/enhancedCodeIntelligenceTools.js.map +0 -1
  810. package/dist/tools/enhancedDevWorkflowTools.d.ts +0 -15
  811. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +0 -1
  812. package/dist/tools/enhancedDevWorkflowTools.js +0 -303
  813. package/dist/tools/enhancedDevWorkflowTools.js.map +0 -1
  814. package/dist/tools/fileTools.d.ts +0 -3
  815. package/dist/tools/fileTools.d.ts.map +0 -1
  816. package/dist/tools/fileTools.js +0 -334
  817. package/dist/tools/fileTools.js.map +0 -1
  818. package/dist/tools/frontendTestingTools.d.ts +0 -35
  819. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  820. package/dist/tools/frontendTestingTools.js +0 -1254
  821. package/dist/tools/frontendTestingTools.js.map +0 -1
  822. package/dist/tools/globTools.d.ts +0 -15
  823. package/dist/tools/globTools.d.ts.map +0 -1
  824. package/dist/tools/globTools.js +0 -174
  825. package/dist/tools/globTools.js.map +0 -1
  826. package/dist/tools/grepTools.d.ts +0 -19
  827. package/dist/tools/grepTools.d.ts.map +0 -1
  828. package/dist/tools/grepTools.js +0 -358
  829. package/dist/tools/grepTools.js.map +0 -1
  830. package/dist/tools/interactionTools.d.ts +0 -13
  831. package/dist/tools/interactionTools.d.ts.map +0 -1
  832. package/dist/tools/interactionTools.js +0 -171
  833. package/dist/tools/interactionTools.js.map +0 -1
  834. package/dist/tools/learnTools.d.ts +0 -152
  835. package/dist/tools/learnTools.d.ts.map +0 -1
  836. package/dist/tools/learnTools.js +0 -1942
  837. package/dist/tools/learnTools.js.map +0 -1
  838. package/dist/tools/localExplore.d.ts +0 -225
  839. package/dist/tools/localExplore.d.ts.map +0 -1
  840. package/dist/tools/localExplore.js +0 -1291
  841. package/dist/tools/localExplore.js.map +0 -1
  842. package/dist/tools/notebookEditTools.d.ts +0 -15
  843. package/dist/tools/notebookEditTools.d.ts.map +0 -1
  844. package/dist/tools/notebookEditTools.js +0 -197
  845. package/dist/tools/notebookEditTools.js.map +0 -1
  846. package/dist/tools/planningTools.d.ts +0 -21
  847. package/dist/tools/planningTools.d.ts.map +0 -1
  848. package/dist/tools/planningTools.js +0 -185
  849. package/dist/tools/planningTools.js.map +0 -1
  850. package/dist/tools/refactoringTools.d.ts +0 -3
  851. package/dist/tools/refactoringTools.d.ts.map +0 -1
  852. package/dist/tools/refactoringTools.js +0 -294
  853. package/dist/tools/refactoringTools.js.map +0 -1
  854. package/dist/tools/repoChecksTools.d.ts +0 -3
  855. package/dist/tools/repoChecksTools.d.ts.map +0 -1
  856. package/dist/tools/repoChecksTools.js +0 -161
  857. package/dist/tools/repoChecksTools.js.map +0 -1
  858. package/dist/tools/searchTools.d.ts +0 -3
  859. package/dist/tools/searchTools.d.ts.map +0 -1
  860. package/dist/tools/searchTools.js +0 -207
  861. package/dist/tools/searchTools.js.map +0 -1
  862. package/dist/tools/skillTools.d.ts +0 -8
  863. package/dist/tools/skillTools.d.ts.map +0 -1
  864. package/dist/tools/skillTools.js +0 -178
  865. package/dist/tools/skillTools.js.map +0 -1
  866. package/dist/tools/softwareEngineeringTools.d.ts +0 -7
  867. package/dist/tools/softwareEngineeringTools.d.ts.map +0 -1
  868. package/dist/tools/softwareEngineeringTools.js +0 -338
  869. package/dist/tools/softwareEngineeringTools.js.map +0 -1
  870. package/dist/tools/taskManagementTools.d.ts +0 -10
  871. package/dist/tools/taskManagementTools.d.ts.map +0 -1
  872. package/dist/tools/taskManagementTools.js +0 -157
  873. package/dist/tools/taskManagementTools.js.map +0 -1
  874. package/dist/tools/testingTools.d.ts +0 -3
  875. package/dist/tools/testingTools.d.ts.map +0 -1
  876. package/dist/tools/testingTools.js +0 -233
  877. package/dist/tools/testingTools.js.map +0 -1
  878. package/dist/tools/validationTools.d.ts +0 -7
  879. package/dist/tools/validationTools.d.ts.map +0 -1
  880. package/dist/tools/validationTools.js +0 -344
  881. package/dist/tools/validationTools.js.map +0 -1
  882. package/dist/tools/webTools.d.ts +0 -3
  883. package/dist/tools/webTools.d.ts.map +0 -1
  884. package/dist/tools/webTools.js +0 -502
  885. package/dist/tools/webTools.js.map +0 -1
  886. package/dist/ui/ShellUIAdapter.d.ts +0 -194
  887. package/dist/ui/ShellUIAdapter.d.ts.map +0 -1
  888. package/dist/ui/ShellUIAdapter.js +0 -1069
  889. package/dist/ui/ShellUIAdapter.js.map +0 -1
  890. package/dist/ui/UnifiedUIController.d.ts +0 -70
  891. package/dist/ui/UnifiedUIController.d.ts.map +0 -1
  892. package/dist/ui/UnifiedUIController.js +0 -190
  893. package/dist/ui/UnifiedUIController.js.map +0 -1
  894. package/dist/ui/animation/AnimationScheduler.d.ts +0 -192
  895. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  896. package/dist/ui/animation/AnimationScheduler.js +0 -432
  897. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  898. package/dist/ui/codeHighlighter.d.ts +0 -6
  899. package/dist/ui/codeHighlighter.d.ts.map +0 -1
  900. package/dist/ui/codeHighlighter.js +0 -855
  901. package/dist/ui/codeHighlighter.js.map +0 -1
  902. package/dist/ui/compactRenderer.d.ts +0 -139
  903. package/dist/ui/compactRenderer.d.ts.map +0 -1
  904. package/dist/ui/compactRenderer.js +0 -398
  905. package/dist/ui/compactRenderer.js.map +0 -1
  906. package/dist/ui/designSystem.d.ts +0 -26
  907. package/dist/ui/designSystem.d.ts.map +0 -1
  908. package/dist/ui/designSystem.js +0 -122
  909. package/dist/ui/designSystem.js.map +0 -1
  910. package/dist/ui/display.d.ts +0 -324
  911. package/dist/ui/display.d.ts.map +0 -1
  912. package/dist/ui/display.js +0 -1328
  913. package/dist/ui/display.js.map +0 -1
  914. package/dist/ui/errorFormatter.d.ts +0 -54
  915. package/dist/ui/errorFormatter.d.ts.map +0 -1
  916. package/dist/ui/errorFormatter.js +0 -251
  917. package/dist/ui/errorFormatter.js.map +0 -1
  918. package/dist/ui/globalWriteLock.d.ts +0 -38
  919. package/dist/ui/globalWriteLock.d.ts.map +0 -1
  920. package/dist/ui/globalWriteLock.js +0 -54
  921. package/dist/ui/globalWriteLock.js.map +0 -1
  922. package/dist/ui/inPlaceUpdater.d.ts +0 -181
  923. package/dist/ui/inPlaceUpdater.d.ts.map +0 -1
  924. package/dist/ui/inPlaceUpdater.js +0 -515
  925. package/dist/ui/inPlaceUpdater.js.map +0 -1
  926. package/dist/ui/interrupts/InterruptManager.d.ts +0 -142
  927. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  928. package/dist/ui/interrupts/InterruptManager.js +0 -439
  929. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  930. package/dist/ui/layout.d.ts +0 -17
  931. package/dist/ui/layout.d.ts.map +0 -1
  932. package/dist/ui/layout.js +0 -140
  933. package/dist/ui/layout.js.map +0 -1
  934. package/dist/ui/orchestration/StatusOrchestrator.d.ts +0 -156
  935. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +0 -1
  936. package/dist/ui/orchestration/StatusOrchestrator.js +0 -406
  937. package/dist/ui/orchestration/StatusOrchestrator.js.map +0 -1
  938. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +0 -77
  939. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +0 -1
  940. package/dist/ui/orchestration/UIUpdateCoordinator.js +0 -265
  941. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +0 -1
  942. package/dist/ui/outputMode.d.ts +0 -22
  943. package/dist/ui/outputMode.d.ts.map +0 -1
  944. package/dist/ui/outputMode.js +0 -40
  945. package/dist/ui/outputMode.js.map +0 -1
  946. package/dist/ui/richText.d.ts +0 -6
  947. package/dist/ui/richText.d.ts.map +0 -1
  948. package/dist/ui/richText.js +0 -391
  949. package/dist/ui/richText.js.map +0 -1
  950. package/dist/ui/shortcutsHelp.d.ts +0 -39
  951. package/dist/ui/shortcutsHelp.d.ts.map +0 -1
  952. package/dist/ui/shortcutsHelp.js +0 -152
  953. package/dist/ui/shortcutsHelp.js.map +0 -1
  954. package/dist/ui/streamingFormatter.d.ts +0 -17
  955. package/dist/ui/streamingFormatter.d.ts.map +0 -1
  956. package/dist/ui/streamingFormatter.js +0 -71
  957. package/dist/ui/streamingFormatter.js.map +0 -1
  958. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  959. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  960. package/dist/ui/telemetry/UITelemetry.js +0 -446
  961. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  962. package/dist/ui/textHighlighter.d.ts +0 -83
  963. package/dist/ui/textHighlighter.d.ts.map +0 -1
  964. package/dist/ui/textHighlighter.js +0 -267
  965. package/dist/ui/textHighlighter.js.map +0 -1
  966. package/dist/ui/theme.d.ts +0 -208
  967. package/dist/ui/theme.d.ts.map +0 -1
  968. package/dist/ui/theme.js +0 -249
  969. package/dist/ui/theme.js.map +0 -1
  970. package/dist/ui/toolDisplay.d.ts +0 -195
  971. package/dist/ui/toolDisplay.d.ts.map +0 -1
  972. package/dist/ui/toolDisplay.js +0 -1527
  973. package/dist/ui/toolDisplay.js.map +0 -1
  974. package/dist/ui/unified/index.d.ts +0 -50
  975. package/dist/ui/unified/index.d.ts.map +0 -1
  976. package/dist/ui/unified/index.js +0 -77
  977. package/dist/ui/unified/index.js.map +0 -1
  978. package/dist/ui/unified/layout.d.ts +0 -12
  979. package/dist/ui/unified/layout.d.ts.map +0 -1
  980. package/dist/ui/unified/layout.js +0 -96
  981. package/dist/ui/unified/layout.js.map +0 -1
  982. package/dist/ui/writeLock.d.ts +0 -65
  983. package/dist/ui/writeLock.d.ts.map +0 -1
  984. package/dist/ui/writeLock.js +0 -114
  985. package/dist/ui/writeLock.js.map +0 -1
  986. package/dist/utils/asyncUtils.d.ts +0 -95
  987. package/dist/utils/asyncUtils.d.ts.map +0 -1
  988. package/dist/utils/asyncUtils.js +0 -286
  989. package/dist/utils/asyncUtils.js.map +0 -1
  990. package/dist/utils/errorUtils.d.ts +0 -16
  991. package/dist/utils/errorUtils.d.ts.map +0 -1
  992. package/dist/utils/errorUtils.js +0 -66
  993. package/dist/utils/errorUtils.js.map +0 -1
  994. package/dist/utils/frontmatter.d.ts +0 -10
  995. package/dist/utils/frontmatter.d.ts.map +0 -1
  996. package/dist/utils/frontmatter.js +0 -78
  997. package/dist/utils/frontmatter.js.map +0 -1
  998. package/dist/utils/planFormatter.d.ts +0 -34
  999. package/dist/utils/planFormatter.d.ts.map +0 -1
  1000. package/dist/utils/planFormatter.js +0 -140
  1001. package/dist/utils/planFormatter.js.map +0 -1
  1002. package/dist/workspace.d.ts +0 -8
  1003. package/dist/workspace.d.ts.map +0 -1
  1004. package/dist/workspace.js +0 -107
  1005. package/dist/workspace.js.map +0 -1
  1006. package/dist/workspace.validator.d.ts +0 -49
  1007. package/dist/workspace.validator.d.ts.map +0 -1
  1008. package/dist/workspace.validator.js +0 -214
  1009. package/dist/workspace.validator.js.map +0 -1
@@ -1,1328 +0,0 @@
1
- import { createSpinner } from 'nanospinner';
2
- import { clearScreenDown, cursorTo } from 'node:readline';
3
- import { theme, icons } from './theme.js';
4
- import { formatRichContent, renderMessagePanel, renderMessageBody } from './richText.js';
5
- import { getTerminalColumns } from './layout.js';
6
- import { highlightError } from './textHighlighter.js';
7
- import { renderSectionHeading } from './designSystem.js';
8
- import { isPlainOutputMode } from './outputMode.js';
9
- import { writeLock } from './writeLock.js';
10
- import { renderStatusLine } from './unified/layout.js';
11
- import { isStreamingMode } from './globalWriteLock.js';
12
- /**
13
- * Output lock to prevent race conditions during spinner/stream output.
14
- * Ensures that spinner frames don't interleave with streamed content.
15
- * Uses a simple lock mechanism suitable for Node.js single-threaded event loop.
16
- */
17
- class OutputLock {
18
- static instance = null;
19
- locked = false;
20
- pendingCallbacks = [];
21
- static getInstance() {
22
- if (!OutputLock.instance) {
23
- OutputLock.instance = new OutputLock();
24
- }
25
- return OutputLock.instance;
26
- }
27
- /**
28
- * Synchronously check if output is locked (spinner is active).
29
- * Used to prevent stream writes during spinner animation.
30
- */
31
- isLocked() {
32
- return this.locked;
33
- }
34
- /**
35
- * Lock output during spinner animation.
36
- */
37
- lock() {
38
- this.locked = true;
39
- }
40
- /**
41
- * Unlock output and process any pending callbacks.
42
- */
43
- unlock() {
44
- this.locked = false;
45
- // Process any pending writes
46
- while (this.pendingCallbacks.length > 0) {
47
- const callback = this.pendingCallbacks.shift();
48
- if (callback) {
49
- callback();
50
- }
51
- }
52
- }
53
- /**
54
- * Execute a callback safely, queueing if output is locked.
55
- */
56
- safeWrite(callback) {
57
- if (this.locked) {
58
- this.pendingCallbacks.push(callback);
59
- return;
60
- }
61
- callback();
62
- }
63
- }
64
- /**
65
- * Tracks line output to stdout for banner rewriting and cursor positioning.
66
- * Instances are cached per stream to keep banner calculations consistent.
67
- */
68
- class StdoutLineTracker {
69
- static instances = new WeakMap();
70
- static getInstance(stream = process.stdout) {
71
- const existing = StdoutLineTracker.instances.get(stream);
72
- if (existing) {
73
- return existing;
74
- }
75
- const tracker = new StdoutLineTracker(stream);
76
- StdoutLineTracker.instances.set(stream, tracker);
77
- return tracker;
78
- }
79
- linesWritten = 0;
80
- suspended = false;
81
- stream;
82
- originalWrite;
83
- constructor(stream) {
84
- this.stream = stream;
85
- this.originalWrite = stream.write.bind(stream);
86
- this.patchStream();
87
- }
88
- get totalLines() {
89
- return this.linesWritten;
90
- }
91
- /**
92
- * Temporarily suspends line tracking while executing a function.
93
- * Useful for rewriting content without incrementing line count.
94
- */
95
- withSuspended(fn) {
96
- const wasSuspended = this.suspended;
97
- this.suspended = true;
98
- try {
99
- return fn();
100
- }
101
- finally {
102
- this.suspended = wasSuspended;
103
- }
104
- }
105
- reset() {
106
- this.linesWritten = 0;
107
- }
108
- patchStream() {
109
- const tracker = this;
110
- this.stream.write = function patched(chunk, encoding, callback) {
111
- const actualEncoding = typeof encoding === 'function' ? undefined : encoding;
112
- tracker.recordChunk(chunk, actualEncoding);
113
- return tracker.originalWrite.call(this, chunk, encoding, callback);
114
- };
115
- }
116
- recordChunk(chunk, encoding) {
117
- if (this.suspended) {
118
- return;
119
- }
120
- const text = this.chunkToString(chunk, encoding);
121
- if (!text) {
122
- return;
123
- }
124
- this.countNewlines(text);
125
- }
126
- countNewlines(text) {
127
- for (const char of text) {
128
- if (char === '\n') {
129
- this.linesWritten += 1;
130
- }
131
- }
132
- }
133
- chunkToString(chunk, encoding) {
134
- if (typeof chunk === 'string') {
135
- return chunk;
136
- }
137
- if (chunk instanceof Uint8Array) {
138
- const enc = encoding ?? 'utf8';
139
- return Buffer.from(chunk).toString(enc);
140
- }
141
- return null;
142
- }
143
- }
144
- // Display configuration constants
145
- const DISPLAY_CONSTANTS = {
146
- MIN_BANNER_WIDTH: 32,
147
- MAX_BANNER_WIDTH: 120,
148
- BANNER_PADDING: 4,
149
- MIN_MESSAGE_WIDTH: 42,
150
- MAX_MESSAGE_WIDTH: 110,
151
- MESSAGE_PADDING: 4,
152
- MIN_ACTION_WIDTH: 40,
153
- MAX_ACTION_WIDTH: 90,
154
- MIN_THOUGHT_WIDTH: 48,
155
- MAX_THOUGHT_WIDTH: 96,
156
- MIN_CONTENT_WIDTH: 10,
157
- MIN_WRAP_WIDTH: 12,
158
- SPINNER_INTERVAL: 80,
159
- };
160
- // Claude Code style spinner frames: ✻ as primary thinking indicator
161
- // Alternates between ✻ and ◐ for visual interest
162
- const SPINNER_FRAMES = ['✻', '◐', '✻', '◓', '✻', '◑', '✻', '◒'];
163
- /**
164
- * Display class manages all terminal UI output for the application.
165
- *
166
- * Architecture:
167
- * - Per-stream line tracking via StdoutLineTracker for consistent banner updates
168
- * - Output interceptor pattern for live update integration
169
- * - Banner state management for in-place updates
170
- * - Configurable width constraints via DISPLAY_CONSTANTS
171
- *
172
- * Claude Code Style Formatting:
173
- * - ⏺ prefix for tool calls, actions, and thinking/reasoning
174
- * - ⎿ prefix for results, details, and nested information
175
- * - ─ horizontal separators for dividing sections (edit diffs, etc.)
176
- * - > prefix for user prompts (handled in theme.ts formatUserPrompt)
177
- * - Compact epsilon spinner: ∴, ε, ✻
178
- *
179
- * Key responsibilities:
180
- * - Welcome banners and session information display
181
- * - Message formatting (assistant, system, errors, warnings)
182
- * - Spinner/thinking indicators
183
- * - Action and sub-action formatting with tree-style prefixes
184
- * - Text wrapping and layout management
185
- *
186
- * Error handling:
187
- * - Graceful degradation for non-TTY environments
188
- * - Input validation on public methods
189
- * - Safe cursor manipulation with fallback
190
- */
191
- export class Display {
192
- stdoutTracker;
193
- outputStream;
194
- errorStream;
195
- activeSpinner = null;
196
- outputInterceptors = new Set();
197
- outputLock = OutputLock.getInstance();
198
- spinnerFrames = [...SPINNER_FRAMES];
199
- thinkingStartTime = null;
200
- thinkingElapsedTimer = null;
201
- thinkingBaseMessage = 'Thinking...';
202
- pendingCarriageReturn = false;
203
- // Streaming status line (Claude Code style - fixed at bottom using scroll region)
204
- streamingStatusVisible = false;
205
- scrollRegionActive = false;
206
- savedCursorRow = 0;
207
- constructor(stream = process.stdout, errorStream) {
208
- this.outputStream = stream;
209
- this.errorStream = errorStream ?? stream;
210
- this.stdoutTracker = StdoutLineTracker.getInstance(stream);
211
- }
212
- registerOutputInterceptor(interceptor) {
213
- if (!interceptor) {
214
- return () => { };
215
- }
216
- this.outputInterceptors.add(interceptor);
217
- return () => {
218
- this.outputInterceptors.delete(interceptor);
219
- };
220
- }
221
- /**
222
- * Execute output with proper write lock coordination.
223
- * All display output goes through this method to prevent race conditions.
224
- *
225
- * Behavior:
226
- * - If write lock is already held, execute directly (we're in a protected context)
227
- * - Otherwise acquire lock during output to prevent interleaving
228
- * - Notifies interceptors before/after output for cursor positioning
229
- */
230
- withOutput(fn) {
231
- // If lock is already held, execute directly - we're in a protected context
232
- // This prevents queuing issues where content gets delayed
233
- if (writeLock.isLocked()) {
234
- this.notifyBeforeOutput();
235
- try {
236
- fn();
237
- }
238
- finally {
239
- this.notifyAfterOutput();
240
- }
241
- return;
242
- }
243
- // Acquire lock during output to prevent interleaved writes
244
- writeLock.withLock(() => {
245
- this.notifyBeforeOutput();
246
- try {
247
- fn();
248
- }
249
- finally {
250
- this.notifyAfterOutput();
251
- }
252
- }, 'display.withOutput');
253
- }
254
- notifyBeforeOutput() {
255
- for (const interceptor of this.outputInterceptors) {
256
- interceptor.beforeWrite?.();
257
- }
258
- }
259
- notifyAfterOutput(content) {
260
- const interceptors = Array.from(this.outputInterceptors);
261
- for (let index = interceptors.length - 1; index >= 0; index -= 1) {
262
- interceptors[index]?.afterWrite?.(content);
263
- }
264
- }
265
- write(value, target = this.outputStream) {
266
- // Write directly - this method is called from within locked contexts
267
- // like withOutput(), so we don't need additional locking here.
268
- // The globalWriteLock wrapper will handle coordination if needed.
269
- try {
270
- target.write(value);
271
- }
272
- catch {
273
- // Ignore write failures to keep UI resilient
274
- }
275
- }
276
- writeLine(value = '', target = this.outputStream) {
277
- this.write(`${value}\n`, target);
278
- }
279
- /**
280
- * Write raw content directly to output stream.
281
- * For streaming output chunks - writes directly without locks during streaming mode.
282
- *
283
- * During streaming mode, content is written directly to stdout without any
284
- * lock coordination. This ensures streaming content flows smoothly without
285
- * being delayed by other UI components.
286
- */
287
- writeRaw(content) {
288
- if (typeof content !== 'string' || !content) {
289
- return;
290
- }
291
- const normalized = this.normalizeStreamingContent(content);
292
- if (!normalized) {
293
- return;
294
- }
295
- // During streaming, use withLock to prevent interleaving with escape codes.
296
- // This ensures the before/write/after sequence is atomic.
297
- if (isStreamingMode()) {
298
- writeLock.withLock(() => {
299
- this.notifyBeforeOutput();
300
- try {
301
- this.outputStream.write(normalized);
302
- }
303
- catch {
304
- // Ignore write failures to keep UI resilient
305
- }
306
- finally {
307
- this.notifyAfterOutput(normalized);
308
- }
309
- }, 'display.writeRaw.streaming');
310
- return;
311
- }
312
- // Outside streaming mode, use locks to coordinate with other UI
313
- writeLock.withLock(() => {
314
- this.notifyBeforeOutput();
315
- try {
316
- this.write(normalized);
317
- }
318
- finally {
319
- this.notifyAfterOutput(normalized);
320
- }
321
- }, 'display.writeRaw');
322
- }
323
- /**
324
- * Normalize streaming chunks so progress-style carriage returns render cleanly.
325
- * - Preserve CR-based rewrites instead of converting to newlines
326
- * - Clear lines when rewriting to avoid leftover characters
327
- * - Carry trailing CR across chunks so the next write can clear before drawing
328
- */
329
- normalizeStreamingContent(content) {
330
- // Normalize CRLF first
331
- let text = content.replace(/\r\n/g, '\n');
332
- let result = '';
333
- // If the previous chunk ended with a bare CR, clear the line before new text
334
- if (this.pendingCarriageReturn) {
335
- if (text.length === 0) {
336
- return '';
337
- }
338
- if (text[0] !== '\n') {
339
- result += '\r\x1b[K';
340
- }
341
- this.pendingCarriageReturn = false;
342
- }
343
- let trailingCarriageReturn = false;
344
- for (let i = 0; i < text.length; i++) {
345
- const char = text[i];
346
- if (char === '\r') {
347
- const next = text[i + 1];
348
- if (next === '\n') {
349
- // CRLF already normalized above; skip CR
350
- continue;
351
- }
352
- const isLastChar = i === text.length - 1;
353
- if (isLastChar) {
354
- // Trailing CR: keep it so cursor is at column 0, but delay clearing
355
- result += '\r';
356
- trailingCarriageReturn = true;
357
- }
358
- else {
359
- // In-place update: move to start and clear the line before new text
360
- result += '\r\x1b[K';
361
- }
362
- continue;
363
- }
364
- result += char;
365
- }
366
- this.pendingCarriageReturn = trailingCarriageReturn;
367
- return result;
368
- }
369
- /**
370
- * Stream chunk helper - writes directly to stdout during streaming.
371
- * This is the primary method for streaming AI responses.
372
- */
373
- stream(chunk) {
374
- this.writeRaw(chunk);
375
- }
376
- /**
377
- * Backward-compatible alias for stream().
378
- */
379
- writeStreamChunk(chunk) {
380
- this.stream(chunk);
381
- }
382
- /**
383
- * Get the output stream for direct access.
384
- * Prefer writeRaw/writeStreamChunk for interceptor support.
385
- */
386
- getOutputStream() {
387
- return this.outputStream;
388
- }
389
- /**
390
- * Current number of lines written to stdout (tracked for positioning).
391
- */
392
- getTotalWrittenLines() {
393
- return this.stdoutTracker.totalLines;
394
- }
395
- /**
396
- * Number of lines at the top of the terminal that belong to the pinned banner.
397
- * For integrated scroll-region layouts, banners are not pinned, so this is 0.
398
- */
399
- getPinnedHeaderLines() {
400
- return 0;
401
- }
402
- getColumnWidth() {
403
- if (typeof this.outputStream.columns === 'number' &&
404
- Number.isFinite(this.outputStream.columns) &&
405
- this.outputStream.columns > 0) {
406
- return this.outputStream.columns;
407
- }
408
- return getTerminalColumns();
409
- }
410
- // Banner is now streamed by the shell - no storage needed
411
- showThinking(message = 'Thinking…') {
412
- // If we already have a spinner, just update its text instead of creating a new one
413
- if (this.activeSpinner) {
414
- this.thinkingBaseMessage = message;
415
- this.activeSpinner.update({ text: message });
416
- return;
417
- }
418
- // Lock output to prevent stream writes from interleaving with spinner frames
419
- this.outputLock.lock();
420
- // Track when thinking started for elapsed time display
421
- this.thinkingStartTime = Date.now();
422
- this.thinkingBaseMessage = message;
423
- // Use Claude Code style spinner with ✻ as primary thinking indicator
424
- this.activeSpinner = createSpinner(message, {
425
- stream: this.outputStream,
426
- spinner: {
427
- interval: DISPLAY_CONSTANTS.SPINNER_INTERVAL,
428
- frames: this.spinnerFrames,
429
- },
430
- }).start();
431
- // Update spinner with elapsed time every second (Claude Code style)
432
- this.thinkingElapsedTimer = setInterval(() => {
433
- if (this.activeSpinner && this.thinkingStartTime) {
434
- const elapsed = Math.floor((Date.now() - this.thinkingStartTime) / 1000);
435
- if (elapsed > 0) {
436
- const elapsedText = this.formatElapsedTime(elapsed);
437
- this.activeSpinner.update({ text: `${this.thinkingBaseMessage} ${theme.ui.muted(`(${elapsedText})`)}` });
438
- }
439
- }
440
- }, 1000);
441
- }
442
- /**
443
- * Format elapsed seconds as human-readable time (e.g., "5s", "1m 23s")
444
- */
445
- formatElapsedTime(seconds) {
446
- if (seconds < 60) {
447
- return `${seconds}s`;
448
- }
449
- const mins = Math.floor(seconds / 60);
450
- const secs = seconds % 60;
451
- return secs > 0 ? `${mins}m ${secs}s` : `${mins}m`;
452
- }
453
- updateThinking(message) {
454
- this.thinkingBaseMessage = message;
455
- if (this.activeSpinner) {
456
- // If we have elapsed time, include it in the update
457
- if (this.thinkingStartTime) {
458
- const elapsed = Math.floor((Date.now() - this.thinkingStartTime) / 1000);
459
- if (elapsed > 0) {
460
- const elapsedText = this.formatElapsedTime(elapsed);
461
- this.activeSpinner.update({ text: `${message} ${theme.ui.muted(`(${elapsedText})`)}` });
462
- return;
463
- }
464
- }
465
- this.activeSpinner.update({ text: message });
466
- }
467
- else {
468
- this.showThinking(message);
469
- }
470
- }
471
- stopThinking(addNewLine = true) {
472
- this.clearSpinnerIfActive(addNewLine);
473
- }
474
- /**
475
- * Get current thinking elapsed time in milliseconds, or null if not thinking.
476
- */
477
- getThinkingElapsedMs() {
478
- if (!this.thinkingStartTime) {
479
- return null;
480
- }
481
- return Date.now() - this.thinkingStartTime;
482
- }
483
- isSpinnerActive() {
484
- return this.activeSpinner !== null;
485
- }
486
- /**
487
- * Check if output is currently locked (e.g., spinner is active).
488
- * Used by external callers to coordinate output timing.
489
- */
490
- isOutputLocked() {
491
- return this.outputLock.isLocked();
492
- }
493
- /**
494
- * Execute a write callback safely, ensuring it doesn't interleave with spinner output.
495
- * If spinner is active, the write will be queued until spinner stops.
496
- */
497
- safeWrite(callback) {
498
- this.outputLock.safeWrite(callback);
499
- }
500
- /**
501
- * Get terminal rows, with fallback
502
- */
503
- getTerminalRows() {
504
- const stream = this.outputStream;
505
- return stream.rows ?? 24;
506
- }
507
- /**
508
- * Set up scroll region to reserve bottom line for status.
509
- * This allows content to scroll while status stays fixed.
510
- */
511
- setupScrollRegion() {
512
- if (this.scrollRegionActive || !this.isTTY()) {
513
- return;
514
- }
515
- const rows = this.getTerminalRows();
516
- // Reserve bottom 2 lines (separator + status)
517
- // Set scroll region from row 1 to row (rows - 2)
518
- this.outputStream.write(`\x1b[1;${rows - 2}r`);
519
- // Move cursor to end of scroll region
520
- this.outputStream.write(`\x1b[${rows - 2};1H`);
521
- this.scrollRegionActive = true;
522
- this.savedCursorRow = rows - 2;
523
- }
524
- /**
525
- * Tear down scroll region and restore normal terminal.
526
- */
527
- teardownScrollRegion() {
528
- if (!this.scrollRegionActive) {
529
- return;
530
- }
531
- const rows = this.getTerminalRows();
532
- // Reset scroll region to full screen
533
- this.outputStream.write('\x1b[r');
534
- // Clear the status lines at bottom
535
- this.outputStream.write(`\x1b[${rows - 1};1H\x1b[2K`);
536
- this.outputStream.write(`\x1b[${rows};1H\x1b[2K`);
537
- // Move cursor back to where content was
538
- this.outputStream.write(`\x1b[${this.savedCursorRow};1H`);
539
- this.scrollRegionActive = false;
540
- this.streamingStatusVisible = false;
541
- }
542
- /**
543
- * Check if we're in a TTY (can use escape codes)
544
- */
545
- isTTY() {
546
- const stream = this.outputStream;
547
- return stream.isTTY === true;
548
- }
549
- /**
550
- * Update the streaming status line (Claude Code style).
551
- * When scroll region is active, updates the fixed status area at bottom.
552
- * Call with null to clear the status line.
553
- * Uses shared writeLock to prevent race conditions with other output.
554
- */
555
- updateStreamingStatus(status) {
556
- // Use shared writeLock to coordinate with terminalInput and streaming output
557
- writeLock.withLock(() => {
558
- this.updateStreamingStatusInternal(status);
559
- }, 'display.updateStreamingStatus');
560
- }
561
- /**
562
- * Internal implementation of updateStreamingStatus (called with lock held)
563
- * NOTE: During streaming, we do NOT write status lines to stdout to prevent
564
- * race conditions with stream chunks. The status is tracked internally and
565
- * the terminalInput's status message display handles showing it in the
566
- * reserved input area, separate from the main content stream.
567
- */
568
- updateStreamingStatusInternal(status) {
569
- if (!status) {
570
- this.streamingStatusVisible = false;
571
- return;
572
- }
573
- // Just track the status - don't write to stdout during streaming
574
- this.streamingStatusVisible = true;
575
- }
576
- /**
577
- * Check if streaming status is currently visible.
578
- */
579
- isStreamingStatusVisible() {
580
- return this.streamingStatusVisible;
581
- }
582
- /**
583
- * Check if scroll region is active.
584
- */
585
- isScrollRegionActive() {
586
- return this.scrollRegionActive;
587
- }
588
- /**
589
- * Clear streaming status and reset state.
590
- */
591
- clearStreamingStatus() {
592
- this.streamingStatusVisible = false;
593
- }
594
- /**
595
- * Display parallel agent status (Claude Code style).
596
- * Shows a tree of running agents with their progress.
597
- */
598
- parallelAgentStatus(content) {
599
- if (!content)
600
- return;
601
- // During streaming, write directly to output
602
- this.withOutput(() => {
603
- // Clear current line and write agent status
604
- this.writeRaw('\r\x1b[K');
605
- this.writeLine(content);
606
- });
607
- }
608
- clearSpinnerIfActive(addNewLine = true) {
609
- if (!this.activeSpinner) {
610
- return;
611
- }
612
- // Clear the elapsed time update timer
613
- if (this.thinkingElapsedTimer) {
614
- clearInterval(this.thinkingElapsedTimer);
615
- this.thinkingElapsedTimer = null;
616
- }
617
- this.thinkingStartTime = null;
618
- const spinner = this.activeSpinner;
619
- this.activeSpinner = null;
620
- // Use stop() instead of clear() so nanospinner removes its SIGINT/SIGTERM listeners.
621
- // clear() leaves the listeners attached, which triggers MaxListenersExceededWarning over time.
622
- spinner.stop();
623
- // Unlock output to process any pending writes
624
- this.outputLock.unlock();
625
- if (addNewLine) {
626
- this.withOutput(() => {
627
- this.writeLine();
628
- });
629
- }
630
- }
631
- showAssistantMessage(content, metadata) {
632
- if (!content.trim()) {
633
- return;
634
- }
635
- this.clearSpinnerIfActive();
636
- const isThought = metadata?.isFinal === false;
637
- const body = isThought ? this.buildClaudeStyleThought(content) : this.buildChatBox(content, metadata);
638
- if (!body.trim()) {
639
- return;
640
- }
641
- this.withOutput(() => {
642
- this.writeLine(); // Ensure clean start for the box
643
- this.writeLine(body);
644
- this.writeLine();
645
- });
646
- }
647
- showNarrative(content) {
648
- if (!content.trim()) {
649
- return;
650
- }
651
- this.showAssistantMessage(content, { isFinal: false });
652
- }
653
- showAction(text, status = 'info') {
654
- if (!text.trim()) {
655
- return;
656
- }
657
- this.clearSpinnerIfActive();
658
- // Claude Code style: always use ⏺ prefix for actions
659
- const icon = this.formatActionIcon(status);
660
- this.withOutput(() => {
661
- this.writeLine(this.wrapWithPrefix(text, `${icon} `));
662
- });
663
- }
664
- showSubAction(text, status = 'info') {
665
- if (!text.trim()) {
666
- return;
667
- }
668
- this.clearSpinnerIfActive();
669
- const prefersRich = text.includes('```');
670
- let rendered = prefersRich ? this.buildRichSubActionLines(text, status) : this.buildWrappedSubActionLines(text, status);
671
- if (!rendered.length && prefersRich) {
672
- rendered = this.buildWrappedSubActionLines(text, status);
673
- }
674
- if (!rendered.length) {
675
- return;
676
- }
677
- this.withOutput(() => {
678
- this.writeLine(rendered.join('\n'));
679
- this.writeLine();
680
- });
681
- }
682
- buildWrappedSubActionLines(text, status) {
683
- const lines = text.split('\n').map((line) => line.trimEnd());
684
- while (lines.length && !lines[lines.length - 1]?.trim()) {
685
- lines.pop();
686
- }
687
- if (!lines.length) {
688
- return [];
689
- }
690
- const rendered = [];
691
- for (let index = 0; index < lines.length; index += 1) {
692
- const segment = lines[index] ?? '';
693
- const isLast = index === lines.length - 1;
694
- const { prefix, continuation } = this.buildSubActionPrefixes(status, isLast);
695
- rendered.push(this.wrapWithPrefix(segment, prefix, { continuationPrefix: continuation }));
696
- }
697
- return rendered;
698
- }
699
- buildRichSubActionLines(text, status) {
700
- const normalized = text.trim();
701
- if (!normalized) {
702
- return [];
703
- }
704
- const width = Math.max(DISPLAY_CONSTANTS.MIN_ACTION_WIDTH, Math.min(this.getColumnWidth(), DISPLAY_CONSTANTS.MAX_ACTION_WIDTH));
705
- const samplePrefix = this.buildSubActionPrefixes(status, true).prefix;
706
- const contentWidth = Math.max(DISPLAY_CONSTANTS.MIN_CONTENT_WIDTH, width - this.visibleLength(samplePrefix));
707
- const blocks = formatRichContent(normalized, contentWidth);
708
- if (!blocks.length) {
709
- return [];
710
- }
711
- return blocks.map((line, index) => {
712
- const isLast = index === blocks.length - 1;
713
- const { prefix } = this.buildSubActionPrefixes(status, isLast);
714
- if (!line.trim()) {
715
- return prefix.trimEnd();
716
- }
717
- return `${prefix}${line}`;
718
- });
719
- }
720
- showMessage(content, role = 'assistant') {
721
- if (role === 'system') {
722
- this.showSystemMessage(content);
723
- }
724
- else {
725
- this.showAssistantMessage(content);
726
- }
727
- }
728
- showSystemMessage(content) {
729
- this.clearSpinnerIfActive();
730
- const normalized = content.trim();
731
- if (!normalized) {
732
- return;
733
- }
734
- this.stream(`${normalized}\n\n`);
735
- }
736
- showError(message, error) {
737
- this.clearSpinnerIfActive();
738
- const details = this.formatErrorDetails(error);
739
- const parts = [`${theme.error('✗')} ${message}`];
740
- if (details) {
741
- parts.push(` ${details}`);
742
- }
743
- this.stream(`${parts.join('\n')}\n`);
744
- }
745
- showWarning(message) {
746
- this.clearSpinnerIfActive();
747
- this.stream(`${theme.warning('!')} ${message}\n`);
748
- }
749
- showInfo(message) {
750
- this.clearSpinnerIfActive();
751
- this.stream(`${theme.info('ℹ')} ${message}\n`);
752
- }
753
- /**
754
- * Show a success message with simple styling
755
- */
756
- showSuccess(message) {
757
- this.clearSpinnerIfActive();
758
- this.stream(`${theme.success('✓')} ${message}\n`);
759
- }
760
- /**
761
- * Show a stylish progress indicator for long operations
762
- */
763
- showProgressBadge(label, current, total) {
764
- const percentage = Math.round((current / total) * 100);
765
- const barWidth = 20;
766
- const filled = Math.round((current / total) * barWidth);
767
- const empty = barWidth - filled;
768
- const progressBar = `${'█'.repeat(filled)}${'░'.repeat(empty)}`;
769
- const badge = `[${label}] ${progressBar} ${percentage}%`;
770
- this.withOutput(() => {
771
- this.write(`\r${theme.info(badge)}`);
772
- if (current >= total) {
773
- this.writeLine();
774
- }
775
- });
776
- }
777
- showStatusLine(status, elapsedMs, _context) {
778
- this.clearSpinnerIfActive();
779
- const normalized = status?.trim();
780
- if (!normalized) {
781
- return;
782
- }
783
- const elapsed = this.formatElapsed(elapsedMs);
784
- const parts = [
785
- { text: `${theme.success('✓')} ${normalized}`, tone: 'success' },
786
- elapsed ? { text: `(${elapsed})`, tone: 'muted' } : null,
787
- ].filter(Boolean);
788
- const line = renderStatusLine(parts, this.getColumnWidth() - 2);
789
- this.withOutput(() => {
790
- this.writeLine(line);
791
- });
792
- }
793
- showAvailableTools(_tools) {
794
- // Hidden by default to match Claude Code style
795
- // Tools are available but not listed verbosely on startup
796
- // Parameter prefixed with underscore to indicate intentionally unused
797
- }
798
- /**
799
- * Show a compact launch panel of slash commands with wrapped descriptions.
800
- */
801
- showCommandPalette(commands, options) {
802
- if (!commands || commands.length === 0) {
803
- return;
804
- }
805
- const panel = this.buildCommandPalette(commands, options);
806
- if (!panel.trim()) {
807
- return;
808
- }
809
- this.withOutput(() => {
810
- this.writeLine();
811
- this.writeLine(panel);
812
- this.writeLine();
813
- });
814
- }
815
- /**
816
- * Show ready message with keyboard shortcuts hint (compact)
817
- * Note: Commands are now shown in the banner, so this is a no-op
818
- */
819
- showReadyWithHints() {
820
- // Commands hint is now included in the banner
821
- }
822
- /**
823
- * Show available providers and their status on launch (compact inline)
824
- */
825
- showProvidersStatus(providers) {
826
- const available = providers.filter(p => p.available);
827
- if (available.length === 0) {
828
- return;
829
- }
830
- // Claude Code style: don't show providers on startup, keep it minimal
831
- }
832
- /**
833
- * Show unified status bar - Claude Code style (minimal)
834
- * Note: No-op - status is shown in mode controls line
835
- */
836
- showUnifiedStatusBar(_providers) {
837
- // No-op - banner is streamed as content, status shown in control bar
838
- }
839
- /**
840
- * Show streaming header - no-op, banner is streamed as content
841
- */
842
- showStreamingHeader(_options) {
843
- // No-op - banner is streamed as content by the shell
844
- }
845
- /**
846
- * Show model commands help
847
- */
848
- showModelCommands() {
849
- this.withOutput(() => {
850
- this.writeLine(theme.ui.muted(`${icons.info} Model commands:`));
851
- this.writeLine(theme.ui.muted(' /model <name> - Switch to a specific model'));
852
- this.writeLine(theme.ui.muted(' /model - Show current model'));
853
- this.writeLine(theme.ui.muted(' /providers - List all available providers'));
854
- this.writeLine(theme.ui.muted(' /discover - Discover models from provider APIs'));
855
- this.writeLine();
856
- });
857
- }
858
- formatErrorDetails(error) {
859
- if (!error) {
860
- return null;
861
- }
862
- if (error instanceof Error) {
863
- if (error.stack) {
864
- return highlightError(error.stack);
865
- }
866
- return highlightError(error.message);
867
- }
868
- if (typeof error === 'string') {
869
- return highlightError(error);
870
- }
871
- try {
872
- return highlightError(JSON.stringify(error, null, 2));
873
- }
874
- catch {
875
- return null;
876
- }
877
- }
878
- showPlanningStep(step, index, total) {
879
- // Validate inputs
880
- if (!step?.trim()) {
881
- return;
882
- }
883
- if (index < 1 || total < 1 || index > total) {
884
- return;
885
- }
886
- const width = Math.max(DISPLAY_CONSTANTS.MIN_THOUGHT_WIDTH, Math.min(this.getColumnWidth(), DISPLAY_CONSTANTS.MAX_MESSAGE_WIDTH));
887
- const heading = renderSectionHeading(`Plan ${index}/${total}`, {
888
- subtitle: step,
889
- icon: icons.arrow,
890
- tone: 'info',
891
- width,
892
- });
893
- this.withOutput(() => {
894
- this.writeLine(heading);
895
- });
896
- }
897
- clear() {
898
- this.withOutput(() => {
899
- try {
900
- cursorTo(this.outputStream, 0, 0);
901
- clearScreenDown(this.outputStream);
902
- }
903
- catch {
904
- this.write('\x1Bc');
905
- }
906
- });
907
- this.stdoutTracker.reset();
908
- // Banner is streamed content - no re-render on clear
909
- }
910
- newLine() {
911
- this.withOutput(() => {
912
- this.writeLine();
913
- });
914
- }
915
- // Legacy banner methods removed - banner is streamed as content by the shell
916
- formatModelLabel(model) {
917
- if (/gpt-5\.1-?codex/i.test(model)) {
918
- return model;
919
- }
920
- if (/sonnet-4[-.]?5/i.test(model)) {
921
- return 'Sonnet 4.5';
922
- }
923
- if (/opus-4[-.]?1/i.test(model)) {
924
- return 'Opus 4.1';
925
- }
926
- if (/haiku-4[-.]?5/i.test(model)) {
927
- return 'Haiku 4.5';
928
- }
929
- if (/gpt-5\.1/i.test(model)) {
930
- return 'GPT-5.1';
931
- }
932
- if (/gpt-5-?pro/i.test(model)) {
933
- return 'GPT-5 Pro';
934
- }
935
- if (/gpt-5-?mini/i.test(model)) {
936
- return 'GPT-5 Mini';
937
- }
938
- if (/gpt-5-?nano/i.test(model)) {
939
- return 'GPT-5 Nano';
940
- }
941
- return model;
942
- }
943
- compactPath(path, maxLen) {
944
- if (!path) {
945
- return '';
946
- }
947
- if (this.visibleLength(path) <= maxLen) {
948
- return path;
949
- }
950
- const parts = path.split('/').filter(Boolean);
951
- if (parts.length <= 2) {
952
- return `${path.slice(0, Math.max(0, maxLen - 3))}...`;
953
- }
954
- return `${parts[0]}/.../${parts[parts.length - 1]}`;
955
- }
956
- buildChatBox(content, metadata) {
957
- const normalized = content.trim();
958
- if (!normalized) {
959
- return '';
960
- }
961
- if (isPlainOutputMode()) {
962
- const body = renderMessageBody(normalized, this.resolveMessageWidth());
963
- const telemetry = this.formatTelemetryLine(metadata);
964
- return telemetry ? `${body}\n${telemetry}` : body;
965
- }
966
- const width = this.resolveMessageWidth();
967
- const panel = renderMessagePanel(normalized, {
968
- width,
969
- title: 'Assistant',
970
- icon: icons.assistant,
971
- accentColor: theme.assistant ?? theme.primary,
972
- borderColor: theme.ui.border,
973
- });
974
- const telemetry = this.formatTelemetryLine(metadata);
975
- if (!telemetry) {
976
- return panel;
977
- }
978
- return `${panel}\n${telemetry}`;
979
- }
980
- resolveMessageWidth() {
981
- const columns = this.getColumnWidth();
982
- return Math.max(DISPLAY_CONSTANTS.MIN_MESSAGE_WIDTH, Math.min(columns - DISPLAY_CONSTANTS.MESSAGE_PADDING, DISPLAY_CONSTANTS.MAX_MESSAGE_WIDTH));
983
- }
984
- formatTelemetryLine(metadata) {
985
- if (!metadata) {
986
- return '';
987
- }
988
- const parts = [];
989
- const elapsed = this.formatElapsed(metadata.elapsedMs);
990
- if (elapsed) {
991
- const elapsedLabel = theme.metrics?.elapsedLabel ?? theme.accent;
992
- const elapsedValue = theme.metrics?.elapsedValue ?? theme.secondary;
993
- parts.push(`${elapsedLabel('elapsed')} ${elapsedValue(elapsed)}`);
994
- }
995
- if (!parts.length) {
996
- return '';
997
- }
998
- const separator = theme.ui.muted(' • ');
999
- return ` ${parts.join(separator)}`;
1000
- }
1001
- formatElapsed(elapsedMs) {
1002
- if (typeof elapsedMs !== 'number' || !Number.isFinite(elapsedMs) || elapsedMs < 0) {
1003
- return null;
1004
- }
1005
- const totalSeconds = Math.max(0, Math.round(elapsedMs / 1000));
1006
- const minutes = Math.floor(totalSeconds / 60);
1007
- const seconds = totalSeconds % 60;
1008
- if (minutes > 0) {
1009
- return `${minutes}m ${seconds.toString().padStart(2, '0')}s`;
1010
- }
1011
- return `${seconds}s`;
1012
- }
1013
- buildCommandPalette(commands, options) {
1014
- if (!commands.length) {
1015
- return '';
1016
- }
1017
- const width = Math.max(DISPLAY_CONSTANTS.MIN_MESSAGE_WIDTH, Math.min(this.getColumnWidth() - 2, DISPLAY_CONSTANTS.MAX_MESSAGE_WIDTH));
1018
- const indent = ' ';
1019
- const grouped = this.groupPaletteCommands(commands);
1020
- const commandWidth = this.computeCommandColumnWidth(commands, width, indent.length);
1021
- const descWidth = Math.max(DISPLAY_CONSTANTS.MIN_WRAP_WIDTH, width - indent.length - commandWidth - 1);
1022
- const title = options?.title ?? 'Slash commands';
1023
- const intro = options?.intro ?? 'Describe a task or pick a command below:';
1024
- const lines = [];
1025
- lines.push(theme.gradient.primary(title));
1026
- const introLines = this.wrapLine(intro, width);
1027
- for (const line of introLines) {
1028
- lines.push(theme.ui.muted(line));
1029
- }
1030
- lines.push('');
1031
- grouped.forEach(({ category, items }, index) => {
1032
- const label = this.formatPaletteCategory(category);
1033
- if (label) {
1034
- lines.push(theme.bold(label));
1035
- }
1036
- for (const item of items) {
1037
- const wrappedDesc = this.wrapLine(item.description, descWidth);
1038
- const paddedCommand = item.command.padEnd(commandWidth);
1039
- const commandLabel = theme.primary(paddedCommand);
1040
- const firstLine = wrappedDesc[0] ?? '';
1041
- lines.push(`${indent}${commandLabel} ${this.colorizePaletteText(firstLine, item.tone)}`);
1042
- for (const extra of wrappedDesc.slice(1)) {
1043
- lines.push(`${indent}${' '.repeat(commandWidth)} ${this.colorizePaletteText(extra, item.tone)}`);
1044
- }
1045
- }
1046
- if (index < grouped.length - 1) {
1047
- lines.push('');
1048
- }
1049
- });
1050
- return lines.join('\n').trimEnd();
1051
- }
1052
- groupPaletteCommands(commands) {
1053
- const FALLBACK = 'other';
1054
- const groups = new Map();
1055
- for (const item of commands) {
1056
- const key = (item.category ?? FALLBACK).toLowerCase();
1057
- const bucket = groups.get(key) ?? [];
1058
- bucket.push(item);
1059
- groups.set(key, bucket);
1060
- }
1061
- const order = ['configuration', 'workspace', 'diagnostics', 'other'];
1062
- const orderedKeys = [
1063
- ...order.filter((key) => groups.has(key)),
1064
- ...Array.from(groups.keys()).filter((key) => !order.includes(key)),
1065
- ];
1066
- return orderedKeys.map((category) => ({ category, items: groups.get(category) ?? [] }));
1067
- }
1068
- computeCommandColumnWidth(commands, totalWidth, indentWidth) {
1069
- const longest = commands.reduce((max, item) => Math.max(max, this.visibleLength(item.command)), 0);
1070
- const maxAllowed = Math.max(12, Math.min(longest + 2, Math.floor(totalWidth * 0.35)));
1071
- const budget = Math.max(10, totalWidth - indentWidth - DISPLAY_CONSTANTS.MIN_WRAP_WIDTH);
1072
- return Math.min(maxAllowed, budget);
1073
- }
1074
- formatPaletteCategory(category) {
1075
- if (!category) {
1076
- return 'Other';
1077
- }
1078
- switch (category.toLowerCase()) {
1079
- case 'configuration':
1080
- return 'Configuration';
1081
- case 'workspace':
1082
- return 'Workspace';
1083
- case 'diagnostics':
1084
- return 'Diagnostics';
1085
- case 'other':
1086
- return 'Other';
1087
- default:
1088
- return category[0]?.toUpperCase() + category.slice(1);
1089
- }
1090
- }
1091
- colorizePaletteText(text, tone) {
1092
- switch (tone) {
1093
- case 'warn':
1094
- return theme.warning(text);
1095
- case 'success':
1096
- return theme.success(text);
1097
- case 'info':
1098
- return theme.info(text);
1099
- case 'muted':
1100
- default:
1101
- return theme.ui.muted(text);
1102
- }
1103
- }
1104
- /**
1105
- * Wraps text with a prefix on the first line and optional continuation prefix.
1106
- * Handles multi-line text and word wrapping intelligently.
1107
- */
1108
- wrapWithPrefix(text, prefix, options) {
1109
- if (!text) {
1110
- return prefix.trimEnd();
1111
- }
1112
- const width = Math.max(DISPLAY_CONSTANTS.MIN_ACTION_WIDTH, Math.min(this.getColumnWidth(), DISPLAY_CONSTANTS.MAX_ACTION_WIDTH));
1113
- const prefixWidth = this.visibleLength(prefix);
1114
- const available = Math.max(DISPLAY_CONSTANTS.MIN_CONTENT_WIDTH, width - prefixWidth);
1115
- const indent = typeof options?.continuationPrefix === 'string'
1116
- ? options.continuationPrefix
1117
- : ' '.repeat(Math.max(0, prefixWidth));
1118
- const segments = text.split('\n');
1119
- const lines = [];
1120
- let usedPrefix = false;
1121
- for (const segment of segments) {
1122
- if (!segment.trim()) {
1123
- if (usedPrefix) {
1124
- lines.push(indent);
1125
- }
1126
- else {
1127
- lines.push(prefix.trimEnd());
1128
- usedPrefix = true;
1129
- }
1130
- continue;
1131
- }
1132
- const wrapped = this.wrapLine(segment.trim(), available);
1133
- for (const line of wrapped) {
1134
- lines.push(!usedPrefix ? `${prefix}${line}` : `${indent}${line}`);
1135
- usedPrefix = true;
1136
- }
1137
- }
1138
- return lines.join('\n');
1139
- }
1140
- resolveStatusColor(status) {
1141
- switch (status) {
1142
- case 'success':
1143
- return theme.success;
1144
- case 'error':
1145
- return theme.error;
1146
- case 'warning':
1147
- return theme.warning;
1148
- case 'pending':
1149
- return theme.info;
1150
- default:
1151
- return theme.secondary;
1152
- }
1153
- }
1154
- formatActionIcon(status) {
1155
- const colorize = this.resolveStatusColor(status);
1156
- return colorize(`${icons.action}`);
1157
- }
1158
- buildClaudeStyleThought(content, durationMs) {
1159
- // Claude Code style: ∴ Thought for Xs or ✻ Thinking…
1160
- const thinkingStyle = theme.thinking || {
1161
- icon: theme.info,
1162
- text: theme.ui.muted,
1163
- border: theme.ui.border,
1164
- label: theme.info,
1165
- };
1166
- const width = Math.min(this.getColumnWidth() - 4, 70);
1167
- const lines = [];
1168
- // Header: "∴ Thought for Xs" for completed, "✻ Thinking…" for active
1169
- if (durationMs !== undefined) {
1170
- const elapsed = this.formatElapsedTime(Math.floor(durationMs / 1000));
1171
- lines.push(`${theme.info('∴')} Thought for ${elapsed}`);
1172
- }
1173
- else {
1174
- lines.push(`${theme.info('✻')} ${thinkingStyle.label('Thinking…')}`);
1175
- }
1176
- // Parse and format the thinking content with simple indentation
1177
- const contentLines = content.split('\n');
1178
- const hasContent = contentLines.some(line => line.trim().length > 0);
1179
- if (hasContent) {
1180
- lines.push(''); // Visual gap between header and content
1181
- }
1182
- for (const line of contentLines) {
1183
- const trimmed = line.replace(/\s+$/, '');
1184
- if (!trimmed.trim()) {
1185
- lines.push(''); // Preserve intentional blank lines inside the block
1186
- continue;
1187
- }
1188
- const wrapped = this.wrapLine(trimmed, width - 4);
1189
- for (const wrappedLine of wrapped) {
1190
- lines.push(` ${thinkingStyle.text(wrappedLine)}`);
1191
- }
1192
- }
1193
- return lines.join('\n');
1194
- }
1195
- /**
1196
- * Show a thinking block with rich formatting (public method for external use)
1197
- * @param content The thinking content to display
1198
- * @param durationMs Optional duration in milliseconds to show "Thought for Xs"
1199
- */
1200
- showThinkingBlock(content, durationMs) {
1201
- this.clearSpinnerIfActive();
1202
- const block = this.buildClaudeStyleThought(content, durationMs);
1203
- this.withOutput(() => {
1204
- this.writeLine();
1205
- this.writeLine(block);
1206
- this.writeLine();
1207
- this.writeLine(); // Extra newline for better visual separation
1208
- });
1209
- }
1210
- buildSubActionPrefixes(status, isLast) {
1211
- if (isLast) {
1212
- const colorize = this.resolveStatusColor(status);
1213
- // Claude Code style: use ⎿ for sub-action result/detail prefix
1214
- return {
1215
- prefix: ` ${colorize(icons.subaction)} `,
1216
- continuation: ' ',
1217
- };
1218
- }
1219
- const branch = theme.ui.muted('│');
1220
- return {
1221
- prefix: ` ${branch} `,
1222
- continuation: ` ${branch} `,
1223
- };
1224
- }
1225
- /**
1226
- * Wraps a single line of text to fit within the specified width.
1227
- * Intelligently handles word breaking and preserves spaces.
1228
- */
1229
- wrapLine(text, width) {
1230
- // Handle edge cases
1231
- if (width <= 0) {
1232
- return [text];
1233
- }
1234
- if (!text) {
1235
- return [''];
1236
- }
1237
- if (text.length <= width) {
1238
- return [text];
1239
- }
1240
- const words = text.split(/\s+/).filter(Boolean);
1241
- // If no words, chunk the entire text
1242
- if (!words.length) {
1243
- return this.chunkWord(text, width);
1244
- }
1245
- const lines = [];
1246
- let current = '';
1247
- for (const word of words) {
1248
- const appendResult = this.tryAppendWord(current, word, width);
1249
- if (appendResult.shouldFlush) {
1250
- lines.push(current);
1251
- }
1252
- if (appendResult.chunks.length > 0) {
1253
- // Word was too long and was chunked
1254
- lines.push(...appendResult.chunks.slice(0, -1));
1255
- current = appendResult.chunks[appendResult.chunks.length - 1] ?? '';
1256
- }
1257
- else {
1258
- current = appendResult.newCurrent;
1259
- }
1260
- }
1261
- if (current) {
1262
- lines.push(current);
1263
- }
1264
- return lines.length ? lines : [''];
1265
- }
1266
- /**
1267
- * Attempts to append a word to the current line.
1268
- * Returns instructions on how to handle the word.
1269
- */
1270
- tryAppendWord(current, word, width) {
1271
- if (!word) {
1272
- return { shouldFlush: false, newCurrent: current, chunks: [] };
1273
- }
1274
- // Empty current line - start new line with word
1275
- if (!current) {
1276
- if (word.length <= width) {
1277
- return { shouldFlush: false, newCurrent: word, chunks: [] };
1278
- }
1279
- // Word too long, need to chunk it
1280
- return { shouldFlush: false, newCurrent: '', chunks: this.chunkWord(word, width) };
1281
- }
1282
- // Word fits on current line with space
1283
- if (current.length + 1 + word.length <= width) {
1284
- return { shouldFlush: false, newCurrent: `${current} ${word}`, chunks: [] };
1285
- }
1286
- // Word doesn't fit - flush current and start new line
1287
- if (word.length <= width) {
1288
- return { shouldFlush: true, newCurrent: word, chunks: [] };
1289
- }
1290
- // Word doesn't fit and is too long - flush current and chunk word
1291
- return { shouldFlush: true, newCurrent: '', chunks: this.chunkWord(word, width) };
1292
- }
1293
- /**
1294
- * Splits a long word into chunks that fit within the specified width.
1295
- * Used when a single word is too long to fit on one line.
1296
- */
1297
- chunkWord(word, width) {
1298
- if (width <= 0 || !word) {
1299
- return word ? [word] : [''];
1300
- }
1301
- const chunks = [];
1302
- for (let i = 0; i < word.length; i += width) {
1303
- chunks.push(word.slice(i, i + width));
1304
- }
1305
- return chunks.length > 0 ? chunks : [''];
1306
- }
1307
- /**
1308
- * Returns the visible length of a string, excluding ANSI escape codes.
1309
- */
1310
- visibleLength(value) {
1311
- if (!value) {
1312
- return 0;
1313
- }
1314
- return this.stripAnsi(value).length;
1315
- }
1316
- /**
1317
- * Removes ANSI escape codes from a string to get the visible text.
1318
- * Uses the standard ANSI escape sequence pattern.
1319
- */
1320
- stripAnsi(value) {
1321
- if (!value) {
1322
- return '';
1323
- }
1324
- return value.replace(/\u001B\[[0-?]*[ -/]*[@-~]/g, '');
1325
- }
1326
- }
1327
- export const display = new Display();
1328
- //# sourceMappingURL=display.js.map