erosolar-cli 1.7.413 → 1.7.415

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 (1008) hide show
  1. package/agents/erosolar-code.rules.json +1 -1
  2. package/agents/general.rules.json +1 -1
  3. package/dist/core/bashCommandGuidance.d.ts +16 -0
  4. package/dist/core/bashCommandGuidance.d.ts.map +1 -0
  5. package/dist/core/bashCommandGuidance.js +40 -0
  6. package/dist/core/bashCommandGuidance.js.map +1 -0
  7. package/dist/core/toolPreconditions.d.ts.map +1 -1
  8. package/dist/core/toolPreconditions.js +8 -18
  9. package/dist/core/toolPreconditions.js.map +1 -1
  10. package/dist/core/toolRuntime.js +1 -1
  11. package/dist/core/toolRuntime.js.map +1 -1
  12. package/dist/core/toolValidation.d.ts +1 -2
  13. package/dist/core/toolValidation.d.ts.map +1 -1
  14. package/dist/core/toolValidation.js +27 -27
  15. package/dist/core/toolValidation.js.map +1 -1
  16. package/dist/shell/interactiveShell.d.ts +1 -0
  17. package/dist/shell/interactiveShell.d.ts.map +1 -1
  18. package/dist/shell/interactiveShell.js +32 -20
  19. package/dist/shell/interactiveShell.js.map +1 -1
  20. package/dist/shell/systemPrompt.js +1 -1
  21. package/dist/shell/systemPrompt.js.map +1 -1
  22. package/dist/tools/bashTools.d.ts.map +1 -1
  23. package/dist/tools/bashTools.js +7 -18
  24. package/dist/tools/bashTools.js.map +1 -1
  25. package/dist/ui/toolDisplay.d.ts.map +1 -1
  26. package/dist/ui/toolDisplay.js +0 -1
  27. package/dist/ui/toolDisplay.js.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/StringUtils.d.ts +0 -8
  30. package/dist/StringUtils.d.ts.map +0 -1
  31. package/dist/StringUtils.js +0 -11
  32. package/dist/StringUtils.js.map +0 -1
  33. package/dist/adapters/browser/index.d.ts +0 -12
  34. package/dist/adapters/browser/index.d.ts.map +0 -1
  35. package/dist/adapters/browser/index.js +0 -11
  36. package/dist/adapters/browser/index.js.map +0 -1
  37. package/dist/adapters/node/index.d.ts +0 -17
  38. package/dist/adapters/node/index.d.ts.map +0 -1
  39. package/dist/adapters/node/index.js +0 -35
  40. package/dist/adapters/node/index.js.map +0 -1
  41. package/dist/adapters/remote/index.d.ts +0 -13
  42. package/dist/adapters/remote/index.d.ts.map +0 -1
  43. package/dist/adapters/remote/index.js +0 -20
  44. package/dist/adapters/remote/index.js.map +0 -1
  45. package/dist/adapters/types.d.ts +0 -14
  46. package/dist/adapters/types.d.ts.map +0 -1
  47. package/dist/adapters/types.js +0 -2
  48. package/dist/adapters/types.js.map +0 -1
  49. package/dist/bin/erosolar.d.ts +0 -9
  50. package/dist/bin/erosolar.d.ts.map +0 -1
  51. package/dist/bin/erosolar.js +0 -93
  52. package/dist/bin/erosolar.js.map +0 -1
  53. package/dist/bin/selfTest.d.ts +0 -14
  54. package/dist/bin/selfTest.d.ts.map +0 -1
  55. package/dist/bin/selfTest.js +0 -304
  56. package/dist/bin/selfTest.js.map +0 -1
  57. package/dist/browser/BrowserSessionManager.d.ts +0 -307
  58. package/dist/browser/BrowserSessionManager.d.ts.map +0 -1
  59. package/dist/browser/BrowserSessionManager.js +0 -713
  60. package/dist/browser/BrowserSessionManager.js.map +0 -1
  61. package/dist/capabilities/advancedTestGenerationCapability.d.ts +0 -17
  62. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +0 -1
  63. package/dist/capabilities/advancedTestGenerationCapability.js +0 -28
  64. package/dist/capabilities/advancedTestGenerationCapability.js.map +0 -1
  65. package/dist/capabilities/agentSpawningCapability.d.ts +0 -6
  66. package/dist/capabilities/agentSpawningCapability.d.ts.map +0 -1
  67. package/dist/capabilities/agentSpawningCapability.js +0 -168
  68. package/dist/capabilities/agentSpawningCapability.js.map +0 -1
  69. package/dist/capabilities/askUserCapability.d.ts +0 -21
  70. package/dist/capabilities/askUserCapability.d.ts.map +0 -1
  71. package/dist/capabilities/askUserCapability.js +0 -155
  72. package/dist/capabilities/askUserCapability.js.map +0 -1
  73. package/dist/capabilities/bashCapability.d.ts +0 -13
  74. package/dist/capabilities/bashCapability.d.ts.map +0 -1
  75. package/dist/capabilities/bashCapability.js +0 -24
  76. package/dist/capabilities/bashCapability.js.map +0 -1
  77. package/dist/capabilities/browserAutomationCapability.d.ts +0 -37
  78. package/dist/capabilities/browserAutomationCapability.d.ts.map +0 -1
  79. package/dist/capabilities/browserAutomationCapability.js +0 -49
  80. package/dist/capabilities/browserAutomationCapability.js.map +0 -1
  81. package/dist/capabilities/buildCapability.d.ts +0 -24
  82. package/dist/capabilities/buildCapability.d.ts.map +0 -1
  83. package/dist/capabilities/buildCapability.js +0 -25
  84. package/dist/capabilities/buildCapability.js.map +0 -1
  85. package/dist/capabilities/cloudCapability.d.ts +0 -13
  86. package/dist/capabilities/cloudCapability.d.ts.map +0 -1
  87. package/dist/capabilities/cloudCapability.js +0 -38
  88. package/dist/capabilities/cloudCapability.js.map +0 -1
  89. package/dist/capabilities/codeAnalysisCapability.d.ts +0 -13
  90. package/dist/capabilities/codeAnalysisCapability.d.ts.map +0 -1
  91. package/dist/capabilities/codeAnalysisCapability.js +0 -24
  92. package/dist/capabilities/codeAnalysisCapability.js.map +0 -1
  93. package/dist/capabilities/codeGenerationCapability.d.ts +0 -13
  94. package/dist/capabilities/codeGenerationCapability.d.ts.map +0 -1
  95. package/dist/capabilities/codeGenerationCapability.js +0 -25
  96. package/dist/capabilities/codeGenerationCapability.js.map +0 -1
  97. package/dist/capabilities/codeQualityCapability.d.ts +0 -13
  98. package/dist/capabilities/codeQualityCapability.d.ts.map +0 -1
  99. package/dist/capabilities/codeQualityCapability.js +0 -25
  100. package/dist/capabilities/codeQualityCapability.js.map +0 -1
  101. package/dist/capabilities/dependencySecurityCapability.d.ts +0 -13
  102. package/dist/capabilities/dependencySecurityCapability.d.ts.map +0 -1
  103. package/dist/capabilities/dependencySecurityCapability.js +0 -24
  104. package/dist/capabilities/dependencySecurityCapability.js.map +0 -1
  105. package/dist/capabilities/devCapability.d.ts +0 -13
  106. package/dist/capabilities/devCapability.d.ts.map +0 -1
  107. package/dist/capabilities/devCapability.js +0 -24
  108. package/dist/capabilities/devCapability.js.map +0 -1
  109. package/dist/capabilities/editCapability.d.ts +0 -17
  110. package/dist/capabilities/editCapability.d.ts.map +0 -1
  111. package/dist/capabilities/editCapability.js +0 -27
  112. package/dist/capabilities/editCapability.js.map +0 -1
  113. package/dist/capabilities/emailCapability.d.ts +0 -12
  114. package/dist/capabilities/emailCapability.d.ts.map +0 -1
  115. package/dist/capabilities/emailCapability.js +0 -22
  116. package/dist/capabilities/emailCapability.js.map +0 -1
  117. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +0 -17
  118. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +0 -1
  119. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +0 -28
  120. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +0 -1
  121. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +0 -17
  122. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +0 -1
  123. package/dist/capabilities/enhancedDevWorkflowCapability.js +0 -28
  124. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +0 -1
  125. package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
  126. package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
  127. package/dist/capabilities/enhancedGitCapability.js +0 -220
  128. package/dist/capabilities/enhancedGitCapability.js.map +0 -1
  129. package/dist/capabilities/filesystemCapability.d.ts +0 -13
  130. package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
  131. package/dist/capabilities/filesystemCapability.js +0 -24
  132. package/dist/capabilities/filesystemCapability.js.map +0 -1
  133. package/dist/capabilities/frontendTestingCapability.d.ts +0 -13
  134. package/dist/capabilities/frontendTestingCapability.d.ts.map +0 -1
  135. package/dist/capabilities/frontendTestingCapability.js +0 -28
  136. package/dist/capabilities/frontendTestingCapability.js.map +0 -1
  137. package/dist/capabilities/globCapability.d.ts +0 -17
  138. package/dist/capabilities/globCapability.d.ts.map +0 -1
  139. package/dist/capabilities/globCapability.js +0 -27
  140. package/dist/capabilities/globCapability.js.map +0 -1
  141. package/dist/capabilities/index.d.ts +0 -26
  142. package/dist/capabilities/index.d.ts.map +0 -1
  143. package/dist/capabilities/index.js +0 -26
  144. package/dist/capabilities/index.js.map +0 -1
  145. package/dist/capabilities/interactionCapability.d.ts +0 -12
  146. package/dist/capabilities/interactionCapability.d.ts.map +0 -1
  147. package/dist/capabilities/interactionCapability.js +0 -22
  148. package/dist/capabilities/interactionCapability.js.map +0 -1
  149. package/dist/capabilities/learnCapability.d.ts +0 -22
  150. package/dist/capabilities/learnCapability.d.ts.map +0 -1
  151. package/dist/capabilities/learnCapability.js +0 -37
  152. package/dist/capabilities/learnCapability.js.map +0 -1
  153. package/dist/capabilities/mcpCapability.d.ts +0 -6
  154. package/dist/capabilities/mcpCapability.d.ts.map +0 -1
  155. package/dist/capabilities/mcpCapability.js +0 -19
  156. package/dist/capabilities/mcpCapability.js.map +0 -1
  157. package/dist/capabilities/notebookCapability.d.ts +0 -17
  158. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  159. package/dist/capabilities/notebookCapability.js +0 -27
  160. package/dist/capabilities/notebookCapability.js.map +0 -1
  161. package/dist/capabilities/performanceMonitoringCapability.d.ts +0 -108
  162. package/dist/capabilities/performanceMonitoringCapability.d.ts.map +0 -1
  163. package/dist/capabilities/performanceMonitoringCapability.js +0 -176
  164. package/dist/capabilities/performanceMonitoringCapability.js.map +0 -1
  165. package/dist/capabilities/planningCapability.d.ts +0 -16
  166. package/dist/capabilities/planningCapability.d.ts.map +0 -1
  167. package/dist/capabilities/planningCapability.js +0 -26
  168. package/dist/capabilities/planningCapability.js.map +0 -1
  169. package/dist/capabilities/refactoringCapability.d.ts +0 -13
  170. package/dist/capabilities/refactoringCapability.d.ts.map +0 -1
  171. package/dist/capabilities/refactoringCapability.js +0 -25
  172. package/dist/capabilities/refactoringCapability.js.map +0 -1
  173. package/dist/capabilities/repoChecksCapability.d.ts +0 -10
  174. package/dist/capabilities/repoChecksCapability.d.ts.map +0 -1
  175. package/dist/capabilities/repoChecksCapability.js +0 -24
  176. package/dist/capabilities/repoChecksCapability.js.map +0 -1
  177. package/dist/capabilities/searchCapability.d.ts +0 -13
  178. package/dist/capabilities/searchCapability.d.ts.map +0 -1
  179. package/dist/capabilities/searchCapability.js +0 -24
  180. package/dist/capabilities/searchCapability.js.map +0 -1
  181. package/dist/capabilities/skillCapability.d.ts +0 -3
  182. package/dist/capabilities/skillCapability.d.ts.map +0 -1
  183. package/dist/capabilities/skillCapability.js +0 -77
  184. package/dist/capabilities/skillCapability.js.map +0 -1
  185. package/dist/capabilities/taskManagementCapability.d.ts +0 -12
  186. package/dist/capabilities/taskManagementCapability.d.ts.map +0 -1
  187. package/dist/capabilities/taskManagementCapability.js +0 -22
  188. package/dist/capabilities/taskManagementCapability.js.map +0 -1
  189. package/dist/capabilities/testingCapability.d.ts +0 -13
  190. package/dist/capabilities/testingCapability.d.ts.map +0 -1
  191. package/dist/capabilities/testingCapability.js +0 -25
  192. package/dist/capabilities/testingCapability.js.map +0 -1
  193. package/dist/capabilities/todoCapability.d.ts +0 -19
  194. package/dist/capabilities/todoCapability.d.ts.map +0 -1
  195. package/dist/capabilities/todoCapability.js +0 -169
  196. package/dist/capabilities/todoCapability.js.map +0 -1
  197. package/dist/capabilities/toolManifest.d.ts +0 -3
  198. package/dist/capabilities/toolManifest.d.ts.map +0 -1
  199. package/dist/capabilities/toolManifest.js +0 -160
  200. package/dist/capabilities/toolManifest.js.map +0 -1
  201. package/dist/capabilities/toolRegistry.d.ts +0 -24
  202. package/dist/capabilities/toolRegistry.d.ts.map +0 -1
  203. package/dist/capabilities/toolRegistry.js +0 -150
  204. package/dist/capabilities/toolRegistry.js.map +0 -1
  205. package/dist/capabilities/validationCapability.d.ts +0 -13
  206. package/dist/capabilities/validationCapability.d.ts.map +0 -1
  207. package/dist/capabilities/validationCapability.js +0 -24
  208. package/dist/capabilities/validationCapability.js.map +0 -1
  209. package/dist/capabilities/webCapability.d.ts +0 -12
  210. package/dist/capabilities/webCapability.d.ts.map +0 -1
  211. package/dist/capabilities/webCapability.js +0 -22
  212. package/dist/capabilities/webCapability.js.map +0 -1
  213. package/dist/config.d.ts +0 -25
  214. package/dist/config.d.ts.map +0 -1
  215. package/dist/config.js +0 -140
  216. package/dist/config.js.map +0 -1
  217. package/dist/contracts/v1/agent.d.ts +0 -147
  218. package/dist/contracts/v1/agent.d.ts.map +0 -1
  219. package/dist/contracts/v1/agent.js +0 -8
  220. package/dist/contracts/v1/agent.js.map +0 -1
  221. package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
  222. package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
  223. package/dist/contracts/v1/agentProfileManifest.js +0 -9
  224. package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
  225. package/dist/contracts/v1/agentRules.d.ts +0 -60
  226. package/dist/contracts/v1/agentRules.d.ts.map +0 -1
  227. package/dist/contracts/v1/agentRules.js +0 -10
  228. package/dist/contracts/v1/agentRules.js.map +0 -1
  229. package/dist/contracts/v1/provider.d.ts +0 -149
  230. package/dist/contracts/v1/provider.d.ts.map +0 -1
  231. package/dist/contracts/v1/provider.js +0 -7
  232. package/dist/contracts/v1/provider.js.map +0 -1
  233. package/dist/contracts/v1/tool.d.ts +0 -136
  234. package/dist/contracts/v1/tool.d.ts.map +0 -1
  235. package/dist/contracts/v1/tool.js +0 -7
  236. package/dist/contracts/v1/tool.js.map +0 -1
  237. package/dist/contracts/v1/toolAccess.d.ts +0 -43
  238. package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
  239. package/dist/contracts/v1/toolAccess.js +0 -9
  240. package/dist/contracts/v1/toolAccess.js.map +0 -1
  241. package/dist/core/LazyLoader.d.ts +0 -129
  242. package/dist/core/LazyLoader.d.ts.map +0 -1
  243. package/dist/core/LazyLoader.js +0 -240
  244. package/dist/core/LazyLoader.js.map +0 -1
  245. package/dist/core/agent.d.ts +0 -153
  246. package/dist/core/agent.d.ts.map +0 -1
  247. package/dist/core/agent.js +0 -881
  248. package/dist/core/agent.js.map +0 -1
  249. package/dist/core/agentProfileManifest.d.ts +0 -3
  250. package/dist/core/agentProfileManifest.d.ts.map +0 -1
  251. package/dist/core/agentProfileManifest.js +0 -188
  252. package/dist/core/agentProfileManifest.js.map +0 -1
  253. package/dist/core/agentProfiles.d.ts +0 -22
  254. package/dist/core/agentProfiles.d.ts.map +0 -1
  255. package/dist/core/agentProfiles.js +0 -35
  256. package/dist/core/agentProfiles.js.map +0 -1
  257. package/dist/core/agentRulebook.d.ts +0 -11
  258. package/dist/core/agentRulebook.d.ts.map +0 -1
  259. package/dist/core/agentRulebook.js +0 -136
  260. package/dist/core/agentRulebook.js.map +0 -1
  261. package/dist/core/agentSchemaLoader.d.ts +0 -131
  262. package/dist/core/agentSchemaLoader.d.ts.map +0 -1
  263. package/dist/core/agentSchemaLoader.js +0 -234
  264. package/dist/core/agentSchemaLoader.js.map +0 -1
  265. package/dist/core/aiErrorFixer.d.ts +0 -70
  266. package/dist/core/aiErrorFixer.d.ts.map +0 -1
  267. package/dist/core/aiErrorFixer.js +0 -402
  268. package/dist/core/aiErrorFixer.js.map +0 -1
  269. package/dist/core/alphaZeroEngine.d.ts +0 -269
  270. package/dist/core/alphaZeroEngine.d.ts.map +0 -1
  271. package/dist/core/alphaZeroEngine.js +0 -523
  272. package/dist/core/alphaZeroEngine.js.map +0 -1
  273. package/dist/core/alphaZeroModular.d.ts +0 -186
  274. package/dist/core/alphaZeroModular.d.ts.map +0 -1
  275. package/dist/core/alphaZeroModular.js +0 -755
  276. package/dist/core/alphaZeroModular.js.map +0 -1
  277. package/dist/core/alphaZeroOrchestrator.d.ts +0 -140
  278. package/dist/core/alphaZeroOrchestrator.d.ts.map +0 -1
  279. package/dist/core/alphaZeroOrchestrator.js +0 -418
  280. package/dist/core/alphaZeroOrchestrator.js.map +0 -1
  281. package/dist/core/checkpoint.d.ts +0 -76
  282. package/dist/core/checkpoint.d.ts.map +0 -1
  283. package/dist/core/checkpoint.js +0 -278
  284. package/dist/core/checkpoint.js.map +0 -1
  285. package/dist/core/claudeCodeFeatures.d.ts +0 -64
  286. package/dist/core/claudeCodeFeatures.d.ts.map +0 -1
  287. package/dist/core/claudeCodeFeatures.js +0 -163
  288. package/dist/core/claudeCodeFeatures.js.map +0 -1
  289. package/dist/core/cliTestHarness.d.ts +0 -200
  290. package/dist/core/cliTestHarness.d.ts.map +0 -1
  291. package/dist/core/cliTestHarness.js +0 -549
  292. package/dist/core/cliTestHarness.js.map +0 -1
  293. package/dist/core/contextManager.d.ts +0 -265
  294. package/dist/core/contextManager.d.ts.map +0 -1
  295. package/dist/core/contextManager.js +0 -1060
  296. package/dist/core/contextManager.js.map +0 -1
  297. package/dist/core/contextWindow.d.ts +0 -42
  298. package/dist/core/contextWindow.d.ts.map +0 -1
  299. package/dist/core/contextWindow.js +0 -123
  300. package/dist/core/contextWindow.js.map +0 -1
  301. package/dist/core/costTracker.d.ts +0 -87
  302. package/dist/core/costTracker.d.ts.map +0 -1
  303. package/dist/core/costTracker.js +0 -285
  304. package/dist/core/costTracker.js.map +0 -1
  305. package/dist/core/customCommands.d.ts +0 -19
  306. package/dist/core/customCommands.d.ts.map +0 -1
  307. package/dist/core/customCommands.js +0 -84
  308. package/dist/core/customCommands.js.map +0 -1
  309. package/dist/core/errors/apiKeyErrors.d.ts +0 -11
  310. package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
  311. package/dist/core/errors/apiKeyErrors.js +0 -159
  312. package/dist/core/errors/apiKeyErrors.js.map +0 -1
  313. package/dist/core/errors/errorTypes.d.ts +0 -111
  314. package/dist/core/errors/errorTypes.d.ts.map +0 -1
  315. package/dist/core/errors/errorTypes.js +0 -348
  316. package/dist/core/errors/errorTypes.js.map +0 -1
  317. package/dist/core/errors/errorUtils.d.ts +0 -87
  318. package/dist/core/errors/errorUtils.d.ts.map +0 -1
  319. package/dist/core/errors/errorUtils.js +0 -158
  320. package/dist/core/errors/errorUtils.js.map +0 -1
  321. package/dist/core/errors/safetyValidator.d.ts +0 -71
  322. package/dist/core/errors/safetyValidator.d.ts.map +0 -1
  323. package/dist/core/errors/safetyValidator.js +0 -302
  324. package/dist/core/errors/safetyValidator.js.map +0 -1
  325. package/dist/core/errors.d.ts +0 -4
  326. package/dist/core/errors.d.ts.map +0 -1
  327. package/dist/core/errors.js +0 -33
  328. package/dist/core/errors.js.map +0 -1
  329. package/dist/core/failureRecovery.d.ts +0 -122
  330. package/dist/core/failureRecovery.d.ts.map +0 -1
  331. package/dist/core/failureRecovery.js +0 -477
  332. package/dist/core/failureRecovery.js.map +0 -1
  333. package/dist/core/hooks.d.ts +0 -113
  334. package/dist/core/hooks.d.ts.map +0 -1
  335. package/dist/core/hooks.js +0 -267
  336. package/dist/core/hooks.js.map +0 -1
  337. package/dist/core/intelligentTestFlows.d.ts +0 -126
  338. package/dist/core/intelligentTestFlows.d.ts.map +0 -1
  339. package/dist/core/intelligentTestFlows.js +0 -678
  340. package/dist/core/intelligentTestFlows.js.map +0 -1
  341. package/dist/core/isolatedVerifier.d.ts +0 -40
  342. package/dist/core/isolatedVerifier.d.ts.map +0 -1
  343. package/dist/core/isolatedVerifier.js +0 -129
  344. package/dist/core/isolatedVerifier.js.map +0 -1
  345. package/dist/core/learningPersistence.d.ts +0 -145
  346. package/dist/core/learningPersistence.d.ts.map +0 -1
  347. package/dist/core/learningPersistence.js +0 -477
  348. package/dist/core/learningPersistence.js.map +0 -1
  349. package/dist/core/memorySystem.d.ts +0 -67
  350. package/dist/core/memorySystem.d.ts.map +0 -1
  351. package/dist/core/memorySystem.js +0 -334
  352. package/dist/core/memorySystem.js.map +0 -1
  353. package/dist/core/metricsTracker.d.ts +0 -157
  354. package/dist/core/metricsTracker.d.ts.map +0 -1
  355. package/dist/core/metricsTracker.js +0 -273
  356. package/dist/core/metricsTracker.js.map +0 -1
  357. package/dist/core/modelDiscovery.d.ts +0 -101
  358. package/dist/core/modelDiscovery.d.ts.map +0 -1
  359. package/dist/core/modelDiscovery.js +0 -780
  360. package/dist/core/modelDiscovery.js.map +0 -1
  361. package/dist/core/multilinePasteHandler.d.ts +0 -35
  362. package/dist/core/multilinePasteHandler.d.ts.map +0 -1
  363. package/dist/core/multilinePasteHandler.js +0 -80
  364. package/dist/core/multilinePasteHandler.js.map +0 -1
  365. package/dist/core/offsecAlphaZero.d.ts +0 -56
  366. package/dist/core/offsecAlphaZero.d.ts.map +0 -1
  367. package/dist/core/offsecAlphaZero.js +0 -395
  368. package/dist/core/offsecAlphaZero.js.map +0 -1
  369. package/dist/core/outputStyles.d.ts +0 -48
  370. package/dist/core/outputStyles.d.ts.map +0 -1
  371. package/dist/core/outputStyles.js +0 -270
  372. package/dist/core/outputStyles.js.map +0 -1
  373. package/dist/core/performanceMonitor.d.ts +0 -124
  374. package/dist/core/performanceMonitor.d.ts.map +0 -1
  375. package/dist/core/performanceMonitor.js +0 -192
  376. package/dist/core/performanceMonitor.js.map +0 -1
  377. package/dist/core/preferences.d.ts +0 -67
  378. package/dist/core/preferences.d.ts.map +0 -1
  379. package/dist/core/preferences.js +0 -314
  380. package/dist/core/preferences.js.map +0 -1
  381. package/dist/core/responseVerifier.d.ts +0 -98
  382. package/dist/core/responseVerifier.d.ts.map +0 -1
  383. package/dist/core/responseVerifier.js +0 -509
  384. package/dist/core/responseVerifier.js.map +0 -1
  385. package/dist/core/resultVerification.d.ts +0 -141
  386. package/dist/core/resultVerification.d.ts.map +0 -1
  387. package/dist/core/resultVerification.js +0 -482
  388. package/dist/core/resultVerification.js.map +0 -1
  389. package/dist/core/schemaValidator.d.ts +0 -44
  390. package/dist/core/schemaValidator.d.ts.map +0 -1
  391. package/dist/core/schemaValidator.js +0 -155
  392. package/dist/core/schemaValidator.js.map +0 -1
  393. package/dist/core/secretStore.d.ts +0 -48
  394. package/dist/core/secretStore.d.ts.map +0 -1
  395. package/dist/core/secretStore.js +0 -367
  396. package/dist/core/secretStore.js.map +0 -1
  397. package/dist/core/securityAssessment.d.ts +0 -91
  398. package/dist/core/securityAssessment.d.ts.map +0 -1
  399. package/dist/core/securityAssessment.js +0 -580
  400. package/dist/core/securityAssessment.js.map +0 -1
  401. package/dist/core/selfEvolution.d.ts +0 -155
  402. package/dist/core/selfEvolution.d.ts.map +0 -1
  403. package/dist/core/selfEvolution.js +0 -1000
  404. package/dist/core/selfEvolution.js.map +0 -1
  405. package/dist/core/selfImprovement.d.ts +0 -141
  406. package/dist/core/selfImprovement.d.ts.map +0 -1
  407. package/dist/core/selfImprovement.js +0 -700
  408. package/dist/core/selfImprovement.js.map +0 -1
  409. package/dist/core/sessionStore.d.ts +0 -35
  410. package/dist/core/sessionStore.d.ts.map +0 -1
  411. package/dist/core/sessionStore.js +0 -189
  412. package/dist/core/sessionStore.js.map +0 -1
  413. package/dist/core/testUtils.d.ts +0 -121
  414. package/dist/core/testUtils.d.ts.map +0 -1
  415. package/dist/core/testUtils.js +0 -235
  416. package/dist/core/testUtils.js.map +0 -1
  417. package/dist/core/types/utilityTypes.d.ts +0 -192
  418. package/dist/core/types/utilityTypes.d.ts.map +0 -1
  419. package/dist/core/types/utilityTypes.js +0 -272
  420. package/dist/core/types/utilityTypes.js.map +0 -1
  421. package/dist/core/types.d.ts +0 -306
  422. package/dist/core/types.d.ts.map +0 -1
  423. package/dist/core/types.js +0 -76
  424. package/dist/core/types.js.map +0 -1
  425. package/dist/core/updateManager.d.ts +0 -62
  426. package/dist/core/updateManager.d.ts.map +0 -1
  427. package/dist/core/updateManager.js +0 -266
  428. package/dist/core/updateManager.js.map +0 -1
  429. package/dist/core/validationRunner.d.ts +0 -106
  430. package/dist/core/validationRunner.d.ts.map +0 -1
  431. package/dist/core/validationRunner.js +0 -888
  432. package/dist/core/validationRunner.js.map +0 -1
  433. package/dist/core/verification.d.ts +0 -137
  434. package/dist/core/verification.d.ts.map +0 -1
  435. package/dist/core/verification.js +0 -323
  436. package/dist/core/verification.js.map +0 -1
  437. package/dist/headless/headlessApp.d.ts +0 -5
  438. package/dist/headless/headlessApp.d.ts.map +0 -1
  439. package/dist/headless/headlessApp.js +0 -210
  440. package/dist/headless/headlessApp.js.map +0 -1
  441. package/dist/intelligence/codeIntelligence.d.ts +0 -118
  442. package/dist/intelligence/codeIntelligence.d.ts.map +0 -1
  443. package/dist/intelligence/codeIntelligence.js +0 -552
  444. package/dist/intelligence/codeIntelligence.js.map +0 -1
  445. package/dist/intelligence/docGenerator.d.ts +0 -86
  446. package/dist/intelligence/docGenerator.d.ts.map +0 -1
  447. package/dist/intelligence/docGenerator.js +0 -564
  448. package/dist/intelligence/docGenerator.js.map +0 -1
  449. package/dist/intelligence/index.d.ts +0 -51
  450. package/dist/intelligence/index.d.ts.map +0 -1
  451. package/dist/intelligence/index.js +0 -253
  452. package/dist/intelligence/index.js.map +0 -1
  453. package/dist/intelligence/refactoring.d.ts +0 -50
  454. package/dist/intelligence/refactoring.d.ts.map +0 -1
  455. package/dist/intelligence/refactoring.js +0 -354
  456. package/dist/intelligence/refactoring.js.map +0 -1
  457. package/dist/intelligence/testGenerator.d.ts +0 -74
  458. package/dist/intelligence/testGenerator.d.ts.map +0 -1
  459. package/dist/intelligence/testGenerator.js +0 -483
  460. package/dist/intelligence/testGenerator.js.map +0 -1
  461. package/dist/mcp/config.d.ts +0 -8
  462. package/dist/mcp/config.d.ts.map +0 -1
  463. package/dist/mcp/config.js +0 -252
  464. package/dist/mcp/config.js.map +0 -1
  465. package/dist/mcp/sseClient.d.ts +0 -34
  466. package/dist/mcp/sseClient.d.ts.map +0 -1
  467. package/dist/mcp/sseClient.js +0 -327
  468. package/dist/mcp/sseClient.js.map +0 -1
  469. package/dist/mcp/stdioClient.d.ts +0 -24
  470. package/dist/mcp/stdioClient.d.ts.map +0 -1
  471. package/dist/mcp/stdioClient.js +0 -179
  472. package/dist/mcp/stdioClient.js.map +0 -1
  473. package/dist/mcp/toolBridge.d.ts +0 -12
  474. package/dist/mcp/toolBridge.d.ts.map +0 -1
  475. package/dist/mcp/toolBridge.js +0 -117
  476. package/dist/mcp/toolBridge.js.map +0 -1
  477. package/dist/mcp/types.d.ts +0 -60
  478. package/dist/mcp/types.d.ts.map +0 -1
  479. package/dist/mcp/types.js +0 -2
  480. package/dist/mcp/types.js.map +0 -1
  481. package/dist/plugins/index.d.ts +0 -49
  482. package/dist/plugins/index.d.ts.map +0 -1
  483. package/dist/plugins/index.js +0 -114
  484. package/dist/plugins/index.js.map +0 -1
  485. package/dist/plugins/providers/anthropic/index.d.ts +0 -11
  486. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  487. package/dist/plugins/providers/anthropic/index.js +0 -38
  488. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  489. package/dist/plugins/providers/deepseek/index.d.ts +0 -11
  490. package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
  491. package/dist/plugins/providers/deepseek/index.js +0 -52
  492. package/dist/plugins/providers/deepseek/index.js.map +0 -1
  493. package/dist/plugins/providers/google/index.d.ts +0 -11
  494. package/dist/plugins/providers/google/index.d.ts.map +0 -1
  495. package/dist/plugins/providers/google/index.js +0 -40
  496. package/dist/plugins/providers/google/index.js.map +0 -1
  497. package/dist/plugins/providers/index.d.ts +0 -2
  498. package/dist/plugins/providers/index.d.ts.map +0 -1
  499. package/dist/plugins/providers/index.js +0 -20
  500. package/dist/plugins/providers/index.js.map +0 -1
  501. package/dist/plugins/providers/ollama/index.d.ts +0 -21
  502. package/dist/plugins/providers/ollama/index.d.ts.map +0 -1
  503. package/dist/plugins/providers/ollama/index.js +0 -69
  504. package/dist/plugins/providers/ollama/index.js.map +0 -1
  505. package/dist/plugins/providers/openai/index.d.ts +0 -12
  506. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  507. package/dist/plugins/providers/openai/index.js +0 -39
  508. package/dist/plugins/providers/openai/index.js.map +0 -1
  509. package/dist/plugins/providers/xai/index.d.ts +0 -11
  510. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  511. package/dist/plugins/providers/xai/index.js +0 -39
  512. package/dist/plugins/providers/xai/index.js.map +0 -1
  513. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -3
  514. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
  515. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -9
  516. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
  517. package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
  518. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
  519. package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
  520. package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
  521. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +0 -14
  522. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +0 -1
  523. package/dist/plugins/tools/browser/browserAutomationPlugin.js +0 -26
  524. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +0 -1
  525. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +0 -3
  526. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +0 -1
  527. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +0 -14
  528. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +0 -1
  529. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +0 -3
  530. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +0 -1
  531. package/dist/plugins/tools/cloud/cloudPlugin.js +0 -14
  532. package/dist/plugins/tools/cloud/cloudPlugin.js.map +0 -1
  533. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +0 -3
  534. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +0 -1
  535. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -14
  536. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +0 -1
  537. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +0 -3
  538. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +0 -1
  539. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +0 -14
  540. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +0 -1
  541. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +0 -3
  542. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +0 -1
  543. package/dist/plugins/tools/dependency/dependencyPlugin.js +0 -12
  544. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +0 -1
  545. package/dist/plugins/tools/development/devPlugin.d.ts +0 -3
  546. package/dist/plugins/tools/development/devPlugin.d.ts.map +0 -1
  547. package/dist/plugins/tools/development/devPlugin.js +0 -14
  548. package/dist/plugins/tools/development/devPlugin.js.map +0 -1
  549. package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
  550. package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
  551. package/dist/plugins/tools/edit/editPlugin.js +0 -15
  552. package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
  553. package/dist/plugins/tools/email/emailPlugin.d.ts +0 -3
  554. package/dist/plugins/tools/email/emailPlugin.d.ts.map +0 -1
  555. package/dist/plugins/tools/email/emailPlugin.js +0 -12
  556. package/dist/plugins/tools/email/emailPlugin.js.map +0 -1
  557. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
  558. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
  559. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
  560. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
  561. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
  562. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
  563. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
  564. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
  565. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +0 -3
  566. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +0 -1
  567. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +0 -14
  568. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +0 -1
  569. package/dist/plugins/tools/glob/globPlugin.d.ts +0 -9
  570. package/dist/plugins/tools/glob/globPlugin.d.ts.map +0 -1
  571. package/dist/plugins/tools/glob/globPlugin.js +0 -15
  572. package/dist/plugins/tools/glob/globPlugin.js.map +0 -1
  573. package/dist/plugins/tools/index.d.ts +0 -3
  574. package/dist/plugins/tools/index.d.ts.map +0 -1
  575. package/dist/plugins/tools/index.js +0 -3
  576. package/dist/plugins/tools/index.js.map +0 -1
  577. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +0 -3
  578. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +0 -1
  579. package/dist/plugins/tools/interaction/interactionPlugin.js +0 -12
  580. package/dist/plugins/tools/interaction/interactionPlugin.js.map +0 -1
  581. package/dist/plugins/tools/learn/learnPlugin.d.ts +0 -3
  582. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +0 -1
  583. package/dist/plugins/tools/learn/learnPlugin.js +0 -14
  584. package/dist/plugins/tools/learn/learnPlugin.js.map +0 -1
  585. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
  586. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
  587. package/dist/plugins/tools/mcp/mcpPlugin.js +0 -9
  588. package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
  589. package/dist/plugins/tools/nodeDefaults.d.ts +0 -2
  590. package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
  591. package/dist/plugins/tools/nodeDefaults.js +0 -65
  592. package/dist/plugins/tools/nodeDefaults.js.map +0 -1
  593. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +0 -9
  594. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +0 -1
  595. package/dist/plugins/tools/notebook/notebookPlugin.js +0 -15
  596. package/dist/plugins/tools/notebook/notebookPlugin.js.map +0 -1
  597. package/dist/plugins/tools/planning/planningPlugin.d.ts +0 -9
  598. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +0 -1
  599. package/dist/plugins/tools/planning/planningPlugin.js +0 -15
  600. package/dist/plugins/tools/planning/planningPlugin.js.map +0 -1
  601. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +0 -3
  602. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +0 -1
  603. package/dist/plugins/tools/refactoring/refactoringPlugin.js +0 -12
  604. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +0 -1
  605. package/dist/plugins/tools/registry.d.ts +0 -22
  606. package/dist/plugins/tools/registry.d.ts.map +0 -1
  607. package/dist/plugins/tools/registry.js +0 -58
  608. package/dist/plugins/tools/registry.js.map +0 -1
  609. package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
  610. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
  611. package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
  612. package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
  613. package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
  614. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
  615. package/dist/plugins/tools/skills/skillPlugin.js +0 -9
  616. package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
  617. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +0 -3
  618. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +0 -1
  619. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +0 -12
  620. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +0 -1
  621. package/dist/plugins/tools/testing/testingPlugin.d.ts +0 -3
  622. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +0 -1
  623. package/dist/plugins/tools/testing/testingPlugin.js +0 -12
  624. package/dist/plugins/tools/testing/testingPlugin.js.map +0 -1
  625. package/dist/plugins/tools/validation/validationPlugin.d.ts +0 -3
  626. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +0 -1
  627. package/dist/plugins/tools/validation/validationPlugin.js +0 -14
  628. package/dist/plugins/tools/validation/validationPlugin.js.map +0 -1
  629. package/dist/plugins/tools/web/webPlugin.d.ts +0 -3
  630. package/dist/plugins/tools/web/webPlugin.d.ts.map +0 -1
  631. package/dist/plugins/tools/web/webPlugin.js +0 -12
  632. package/dist/plugins/tools/web/webPlugin.js.map +0 -1
  633. package/dist/providers/anthropicProvider.d.ts +0 -41
  634. package/dist/providers/anthropicProvider.d.ts.map +0 -1
  635. package/dist/providers/anthropicProvider.js +0 -446
  636. package/dist/providers/anthropicProvider.js.map +0 -1
  637. package/dist/providers/googleProvider.d.ts +0 -36
  638. package/dist/providers/googleProvider.d.ts.map +0 -1
  639. package/dist/providers/googleProvider.js +0 -312
  640. package/dist/providers/googleProvider.js.map +0 -1
  641. package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -43
  642. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
  643. package/dist/providers/openaiChatCompletionsProvider.js +0 -475
  644. package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
  645. package/dist/providers/openaiResponsesProvider.d.ts +0 -38
  646. package/dist/providers/openaiResponsesProvider.d.ts.map +0 -1
  647. package/dist/providers/openaiResponsesProvider.js +0 -364
  648. package/dist/providers/openaiResponsesProvider.js.map +0 -1
  649. package/dist/providers/providerFactory.d.ts +0 -18
  650. package/dist/providers/providerFactory.d.ts.map +0 -1
  651. package/dist/providers/providerFactory.js +0 -25
  652. package/dist/providers/providerFactory.js.map +0 -1
  653. package/dist/providers/resilientProvider.d.ts +0 -94
  654. package/dist/providers/resilientProvider.d.ts.map +0 -1
  655. package/dist/providers/resilientProvider.js +0 -370
  656. package/dist/providers/resilientProvider.js.map +0 -1
  657. package/dist/runtime/agentController.d.ts +0 -65
  658. package/dist/runtime/agentController.d.ts.map +0 -1
  659. package/dist/runtime/agentController.js +0 -353
  660. package/dist/runtime/agentController.js.map +0 -1
  661. package/dist/runtime/agentHost.d.ts +0 -61
  662. package/dist/runtime/agentHost.d.ts.map +0 -1
  663. package/dist/runtime/agentHost.js +0 -156
  664. package/dist/runtime/agentHost.js.map +0 -1
  665. package/dist/runtime/agentSession.d.ts +0 -40
  666. package/dist/runtime/agentSession.d.ts.map +0 -1
  667. package/dist/runtime/agentSession.js +0 -205
  668. package/dist/runtime/agentSession.js.map +0 -1
  669. package/dist/runtime/browser.d.ts +0 -7
  670. package/dist/runtime/browser.d.ts.map +0 -1
  671. package/dist/runtime/browser.js +0 -10
  672. package/dist/runtime/browser.js.map +0 -1
  673. package/dist/runtime/cloud.d.ts +0 -7
  674. package/dist/runtime/cloud.d.ts.map +0 -1
  675. package/dist/runtime/cloud.js +0 -10
  676. package/dist/runtime/cloud.js.map +0 -1
  677. package/dist/runtime/node.d.ts +0 -8
  678. package/dist/runtime/node.d.ts.map +0 -1
  679. package/dist/runtime/node.js +0 -11
  680. package/dist/runtime/node.js.map +0 -1
  681. package/dist/runtime/universal.d.ts +0 -21
  682. package/dist/runtime/universal.d.ts.map +0 -1
  683. package/dist/runtime/universal.js +0 -29
  684. package/dist/runtime/universal.js.map +0 -1
  685. package/dist/shell/autoExecutor.d.ts +0 -70
  686. package/dist/shell/autoExecutor.d.ts.map +0 -1
  687. package/dist/shell/autoExecutor.js +0 -288
  688. package/dist/shell/autoExecutor.js.map +0 -1
  689. package/dist/shell/composableMessage.d.ts +0 -183
  690. package/dist/shell/composableMessage.d.ts.map +0 -1
  691. package/dist/shell/composableMessage.js +0 -420
  692. package/dist/shell/composableMessage.js.map +0 -1
  693. package/dist/shell/fileChangeTracker.d.ts +0 -39
  694. package/dist/shell/fileChangeTracker.d.ts.map +0 -1
  695. package/dist/shell/fileChangeTracker.js +0 -64
  696. package/dist/shell/fileChangeTracker.js.map +0 -1
  697. package/dist/shell/keyboardShortcuts.d.ts +0 -53
  698. package/dist/shell/keyboardShortcuts.d.ts.map +0 -1
  699. package/dist/shell/keyboardShortcuts.js +0 -166
  700. package/dist/shell/keyboardShortcuts.js.map +0 -1
  701. package/dist/shell/liveStatus.d.ts +0 -30
  702. package/dist/shell/liveStatus.d.ts.map +0 -1
  703. package/dist/shell/liveStatus.js +0 -102
  704. package/dist/shell/liveStatus.js.map +0 -1
  705. package/dist/shell/shellApp.d.ts +0 -19
  706. package/dist/shell/shellApp.d.ts.map +0 -1
  707. package/dist/shell/shellApp.js +0 -408
  708. package/dist/shell/shellApp.js.map +0 -1
  709. package/dist/shell/taskCompletionDetector.d.ts +0 -106
  710. package/dist/shell/taskCompletionDetector.d.ts.map +0 -1
  711. package/dist/shell/taskCompletionDetector.js +0 -402
  712. package/dist/shell/taskCompletionDetector.js.map +0 -1
  713. package/dist/shell/terminalInput.d.ts +0 -617
  714. package/dist/shell/terminalInput.d.ts.map +0 -1
  715. package/dist/shell/terminalInput.js +0 -2633
  716. package/dist/shell/terminalInput.js.map +0 -1
  717. package/dist/shell/terminalInputAdapter.d.ts +0 -263
  718. package/dist/shell/terminalInputAdapter.d.ts.map +0 -1
  719. package/dist/shell/terminalInputAdapter.js +0 -406
  720. package/dist/shell/terminalInputAdapter.js.map +0 -1
  721. package/dist/shell/updateManager.d.ts +0 -3
  722. package/dist/shell/updateManager.d.ts.map +0 -1
  723. package/dist/shell/updateManager.js +0 -120
  724. package/dist/shell/updateManager.js.map +0 -1
  725. package/dist/shell/vimMode.d.ts +0 -66
  726. package/dist/shell/vimMode.d.ts.map +0 -1
  727. package/dist/shell/vimMode.js +0 -434
  728. package/dist/shell/vimMode.js.map +0 -1
  729. package/dist/skills/skillRepository.d.ts +0 -103
  730. package/dist/skills/skillRepository.d.ts.map +0 -1
  731. package/dist/skills/skillRepository.js +0 -237
  732. package/dist/skills/skillRepository.js.map +0 -1
  733. package/dist/skills/types.d.ts +0 -37
  734. package/dist/skills/types.d.ts.map +0 -1
  735. package/dist/skills/types.js +0 -2
  736. package/dist/skills/types.js.map +0 -1
  737. package/dist/subagents/agentConfig.d.ts +0 -27
  738. package/dist/subagents/agentConfig.d.ts.map +0 -1
  739. package/dist/subagents/agentConfig.js +0 -89
  740. package/dist/subagents/agentConfig.js.map +0 -1
  741. package/dist/subagents/agentRegistry.d.ts +0 -33
  742. package/dist/subagents/agentRegistry.d.ts.map +0 -1
  743. package/dist/subagents/agentRegistry.js +0 -162
  744. package/dist/subagents/agentRegistry.js.map +0 -1
  745. package/dist/subagents/parallelAgentManager.d.ts +0 -99
  746. package/dist/subagents/parallelAgentManager.d.ts.map +0 -1
  747. package/dist/subagents/parallelAgentManager.js +0 -248
  748. package/dist/subagents/parallelAgentManager.js.map +0 -1
  749. package/dist/subagents/taskRunner.d.ts +0 -34
  750. package/dist/subagents/taskRunner.d.ts.map +0 -1
  751. package/dist/subagents/taskRunner.js +0 -459
  752. package/dist/subagents/taskRunner.js.map +0 -1
  753. package/dist/tools/advancedTestGenerationTools.d.ts +0 -21
  754. package/dist/tools/advancedTestGenerationTools.d.ts.map +0 -1
  755. package/dist/tools/advancedTestGenerationTools.js +0 -301
  756. package/dist/tools/advancedTestGenerationTools.js.map +0 -1
  757. package/dist/tools/backgroundBashTools.d.ts +0 -21
  758. package/dist/tools/backgroundBashTools.d.ts.map +0 -1
  759. package/dist/tools/backgroundBashTools.js +0 -215
  760. package/dist/tools/backgroundBashTools.js.map +0 -1
  761. package/dist/tools/browserAutomationTools.d.ts +0 -23
  762. package/dist/tools/browserAutomationTools.d.ts.map +0 -1
  763. package/dist/tools/browserAutomationTools.js +0 -916
  764. package/dist/tools/browserAutomationTools.js.map +0 -1
  765. package/dist/tools/buildTools.d.ts +0 -9
  766. package/dist/tools/buildTools.d.ts.map +0 -1
  767. package/dist/tools/buildTools.js +0 -344
  768. package/dist/tools/buildTools.js.map +0 -1
  769. package/dist/tools/cloudTools.d.ts +0 -49
  770. package/dist/tools/cloudTools.d.ts.map +0 -1
  771. package/dist/tools/cloudTools.js +0 -1258
  772. package/dist/tools/cloudTools.js.map +0 -1
  773. package/dist/tools/code-quality-dashboard.d.ts +0 -57
  774. package/dist/tools/code-quality-dashboard.d.ts.map +0 -1
  775. package/dist/tools/code-quality-dashboard.js +0 -218
  776. package/dist/tools/code-quality-dashboard.js.map +0 -1
  777. package/dist/tools/codeAnalysisTools.d.ts +0 -74
  778. package/dist/tools/codeAnalysisTools.d.ts.map +0 -1
  779. package/dist/tools/codeAnalysisTools.js +0 -664
  780. package/dist/tools/codeAnalysisTools.js.map +0 -1
  781. package/dist/tools/codeGenerationTools.d.ts +0 -3
  782. package/dist/tools/codeGenerationTools.d.ts.map +0 -1
  783. package/dist/tools/codeGenerationTools.js +0 -439
  784. package/dist/tools/codeGenerationTools.js.map +0 -1
  785. package/dist/tools/codeQualityTools.d.ts +0 -3
  786. package/dist/tools/codeQualityTools.d.ts.map +0 -1
  787. package/dist/tools/codeQualityTools.js +0 -296
  788. package/dist/tools/codeQualityTools.js.map +0 -1
  789. package/dist/tools/dependencyTools.d.ts +0 -3
  790. package/dist/tools/dependencyTools.d.ts.map +0 -1
  791. package/dist/tools/dependencyTools.js +0 -283
  792. package/dist/tools/dependencyTools.js.map +0 -1
  793. package/dist/tools/devTools.d.ts +0 -10
  794. package/dist/tools/devTools.d.ts.map +0 -1
  795. package/dist/tools/devTools.js +0 -2125
  796. package/dist/tools/devTools.js.map +0 -1
  797. package/dist/tools/diffUtils.d.ts +0 -36
  798. package/dist/tools/diffUtils.d.ts.map +0 -1
  799. package/dist/tools/diffUtils.js +0 -528
  800. package/dist/tools/diffUtils.js.map +0 -1
  801. package/dist/tools/editTools.d.ts +0 -29
  802. package/dist/tools/editTools.d.ts.map +0 -1
  803. package/dist/tools/editTools.js +0 -419
  804. package/dist/tools/editTools.js.map +0 -1
  805. package/dist/tools/emailTools.d.ts +0 -21
  806. package/dist/tools/emailTools.d.ts.map +0 -1
  807. package/dist/tools/emailTools.js +0 -449
  808. package/dist/tools/emailTools.js.map +0 -1
  809. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +0 -27
  810. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +0 -1
  811. package/dist/tools/enhancedCodeIntelligenceTools.js +0 -418
  812. package/dist/tools/enhancedCodeIntelligenceTools.js.map +0 -1
  813. package/dist/tools/enhancedDevWorkflowTools.d.ts +0 -15
  814. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +0 -1
  815. package/dist/tools/enhancedDevWorkflowTools.js +0 -303
  816. package/dist/tools/enhancedDevWorkflowTools.js.map +0 -1
  817. package/dist/tools/fileTools.d.ts +0 -3
  818. package/dist/tools/fileTools.d.ts.map +0 -1
  819. package/dist/tools/fileTools.js +0 -334
  820. package/dist/tools/fileTools.js.map +0 -1
  821. package/dist/tools/frontendTestingTools.d.ts +0 -35
  822. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  823. package/dist/tools/frontendTestingTools.js +0 -1254
  824. package/dist/tools/frontendTestingTools.js.map +0 -1
  825. package/dist/tools/globTools.d.ts +0 -15
  826. package/dist/tools/globTools.d.ts.map +0 -1
  827. package/dist/tools/globTools.js +0 -174
  828. package/dist/tools/globTools.js.map +0 -1
  829. package/dist/tools/grepTools.d.ts +0 -19
  830. package/dist/tools/grepTools.d.ts.map +0 -1
  831. package/dist/tools/grepTools.js +0 -358
  832. package/dist/tools/grepTools.js.map +0 -1
  833. package/dist/tools/interactionTools.d.ts +0 -13
  834. package/dist/tools/interactionTools.d.ts.map +0 -1
  835. package/dist/tools/interactionTools.js +0 -171
  836. package/dist/tools/interactionTools.js.map +0 -1
  837. package/dist/tools/learnTools.d.ts +0 -152
  838. package/dist/tools/learnTools.d.ts.map +0 -1
  839. package/dist/tools/learnTools.js +0 -1942
  840. package/dist/tools/learnTools.js.map +0 -1
  841. package/dist/tools/localExplore.d.ts +0 -225
  842. package/dist/tools/localExplore.d.ts.map +0 -1
  843. package/dist/tools/localExplore.js +0 -1291
  844. package/dist/tools/localExplore.js.map +0 -1
  845. package/dist/tools/notebookEditTools.d.ts +0 -15
  846. package/dist/tools/notebookEditTools.d.ts.map +0 -1
  847. package/dist/tools/notebookEditTools.js +0 -197
  848. package/dist/tools/notebookEditTools.js.map +0 -1
  849. package/dist/tools/planningTools.d.ts +0 -21
  850. package/dist/tools/planningTools.d.ts.map +0 -1
  851. package/dist/tools/planningTools.js +0 -185
  852. package/dist/tools/planningTools.js.map +0 -1
  853. package/dist/tools/refactoringTools.d.ts +0 -3
  854. package/dist/tools/refactoringTools.d.ts.map +0 -1
  855. package/dist/tools/refactoringTools.js +0 -294
  856. package/dist/tools/refactoringTools.js.map +0 -1
  857. package/dist/tools/repoChecksTools.d.ts +0 -3
  858. package/dist/tools/repoChecksTools.d.ts.map +0 -1
  859. package/dist/tools/repoChecksTools.js +0 -161
  860. package/dist/tools/repoChecksTools.js.map +0 -1
  861. package/dist/tools/searchTools.d.ts +0 -3
  862. package/dist/tools/searchTools.d.ts.map +0 -1
  863. package/dist/tools/searchTools.js +0 -207
  864. package/dist/tools/searchTools.js.map +0 -1
  865. package/dist/tools/skillTools.d.ts +0 -8
  866. package/dist/tools/skillTools.d.ts.map +0 -1
  867. package/dist/tools/skillTools.js +0 -178
  868. package/dist/tools/skillTools.js.map +0 -1
  869. package/dist/tools/softwareEngineeringTools.d.ts +0 -7
  870. package/dist/tools/softwareEngineeringTools.d.ts.map +0 -1
  871. package/dist/tools/softwareEngineeringTools.js +0 -338
  872. package/dist/tools/softwareEngineeringTools.js.map +0 -1
  873. package/dist/tools/taskManagementTools.d.ts +0 -10
  874. package/dist/tools/taskManagementTools.d.ts.map +0 -1
  875. package/dist/tools/taskManagementTools.js +0 -157
  876. package/dist/tools/taskManagementTools.js.map +0 -1
  877. package/dist/tools/testingTools.d.ts +0 -3
  878. package/dist/tools/testingTools.d.ts.map +0 -1
  879. package/dist/tools/testingTools.js +0 -233
  880. package/dist/tools/testingTools.js.map +0 -1
  881. package/dist/tools/validationTools.d.ts +0 -7
  882. package/dist/tools/validationTools.d.ts.map +0 -1
  883. package/dist/tools/validationTools.js +0 -344
  884. package/dist/tools/validationTools.js.map +0 -1
  885. package/dist/tools/webTools.d.ts +0 -3
  886. package/dist/tools/webTools.d.ts.map +0 -1
  887. package/dist/tools/webTools.js +0 -502
  888. package/dist/tools/webTools.js.map +0 -1
  889. package/dist/ui/ShellUIAdapter.d.ts +0 -194
  890. package/dist/ui/ShellUIAdapter.d.ts.map +0 -1
  891. package/dist/ui/ShellUIAdapter.js +0 -1069
  892. package/dist/ui/ShellUIAdapter.js.map +0 -1
  893. package/dist/ui/UnifiedUIController.d.ts +0 -70
  894. package/dist/ui/UnifiedUIController.d.ts.map +0 -1
  895. package/dist/ui/UnifiedUIController.js +0 -190
  896. package/dist/ui/UnifiedUIController.js.map +0 -1
  897. package/dist/ui/animation/AnimationScheduler.d.ts +0 -192
  898. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  899. package/dist/ui/animation/AnimationScheduler.js +0 -432
  900. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  901. package/dist/ui/codeHighlighter.d.ts +0 -6
  902. package/dist/ui/codeHighlighter.d.ts.map +0 -1
  903. package/dist/ui/codeHighlighter.js +0 -855
  904. package/dist/ui/codeHighlighter.js.map +0 -1
  905. package/dist/ui/compactRenderer.d.ts +0 -139
  906. package/dist/ui/compactRenderer.d.ts.map +0 -1
  907. package/dist/ui/compactRenderer.js +0 -398
  908. package/dist/ui/compactRenderer.js.map +0 -1
  909. package/dist/ui/designSystem.d.ts +0 -26
  910. package/dist/ui/designSystem.d.ts.map +0 -1
  911. package/dist/ui/designSystem.js +0 -122
  912. package/dist/ui/designSystem.js.map +0 -1
  913. package/dist/ui/display.d.ts +0 -324
  914. package/dist/ui/display.d.ts.map +0 -1
  915. package/dist/ui/display.js +0 -1328
  916. package/dist/ui/display.js.map +0 -1
  917. package/dist/ui/errorFormatter.d.ts +0 -54
  918. package/dist/ui/errorFormatter.d.ts.map +0 -1
  919. package/dist/ui/errorFormatter.js +0 -251
  920. package/dist/ui/errorFormatter.js.map +0 -1
  921. package/dist/ui/globalWriteLock.d.ts +0 -38
  922. package/dist/ui/globalWriteLock.d.ts.map +0 -1
  923. package/dist/ui/globalWriteLock.js +0 -54
  924. package/dist/ui/globalWriteLock.js.map +0 -1
  925. package/dist/ui/inPlaceUpdater.d.ts +0 -181
  926. package/dist/ui/inPlaceUpdater.d.ts.map +0 -1
  927. package/dist/ui/inPlaceUpdater.js +0 -515
  928. package/dist/ui/inPlaceUpdater.js.map +0 -1
  929. package/dist/ui/interrupts/InterruptManager.d.ts +0 -142
  930. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  931. package/dist/ui/interrupts/InterruptManager.js +0 -439
  932. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  933. package/dist/ui/layout.d.ts +0 -17
  934. package/dist/ui/layout.d.ts.map +0 -1
  935. package/dist/ui/layout.js +0 -140
  936. package/dist/ui/layout.js.map +0 -1
  937. package/dist/ui/orchestration/StatusOrchestrator.d.ts +0 -156
  938. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +0 -1
  939. package/dist/ui/orchestration/StatusOrchestrator.js +0 -406
  940. package/dist/ui/orchestration/StatusOrchestrator.js.map +0 -1
  941. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +0 -77
  942. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +0 -1
  943. package/dist/ui/orchestration/UIUpdateCoordinator.js +0 -265
  944. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +0 -1
  945. package/dist/ui/outputMode.d.ts +0 -22
  946. package/dist/ui/outputMode.d.ts.map +0 -1
  947. package/dist/ui/outputMode.js +0 -40
  948. package/dist/ui/outputMode.js.map +0 -1
  949. package/dist/ui/richText.d.ts +0 -6
  950. package/dist/ui/richText.d.ts.map +0 -1
  951. package/dist/ui/richText.js +0 -391
  952. package/dist/ui/richText.js.map +0 -1
  953. package/dist/ui/shortcutsHelp.d.ts +0 -39
  954. package/dist/ui/shortcutsHelp.d.ts.map +0 -1
  955. package/dist/ui/shortcutsHelp.js +0 -152
  956. package/dist/ui/shortcutsHelp.js.map +0 -1
  957. package/dist/ui/streamingFormatter.d.ts +0 -20
  958. package/dist/ui/streamingFormatter.d.ts.map +0 -1
  959. package/dist/ui/streamingFormatter.js +0 -92
  960. package/dist/ui/streamingFormatter.js.map +0 -1
  961. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  962. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  963. package/dist/ui/telemetry/UITelemetry.js +0 -446
  964. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  965. package/dist/ui/textHighlighter.d.ts +0 -83
  966. package/dist/ui/textHighlighter.d.ts.map +0 -1
  967. package/dist/ui/textHighlighter.js +0 -267
  968. package/dist/ui/textHighlighter.js.map +0 -1
  969. package/dist/ui/theme.d.ts +0 -208
  970. package/dist/ui/theme.d.ts.map +0 -1
  971. package/dist/ui/theme.js +0 -249
  972. package/dist/ui/theme.js.map +0 -1
  973. package/dist/ui/unified/index.d.ts +0 -50
  974. package/dist/ui/unified/index.d.ts.map +0 -1
  975. package/dist/ui/unified/index.js +0 -77
  976. package/dist/ui/unified/index.js.map +0 -1
  977. package/dist/ui/unified/layout.d.ts +0 -12
  978. package/dist/ui/unified/layout.d.ts.map +0 -1
  979. package/dist/ui/unified/layout.js +0 -96
  980. package/dist/ui/unified/layout.js.map +0 -1
  981. package/dist/ui/writeLock.d.ts +0 -65
  982. package/dist/ui/writeLock.d.ts.map +0 -1
  983. package/dist/ui/writeLock.js +0 -114
  984. package/dist/ui/writeLock.js.map +0 -1
  985. package/dist/utils/asyncUtils.d.ts +0 -95
  986. package/dist/utils/asyncUtils.d.ts.map +0 -1
  987. package/dist/utils/asyncUtils.js +0 -286
  988. package/dist/utils/asyncUtils.js.map +0 -1
  989. package/dist/utils/errorUtils.d.ts +0 -16
  990. package/dist/utils/errorUtils.d.ts.map +0 -1
  991. package/dist/utils/errorUtils.js +0 -66
  992. package/dist/utils/errorUtils.js.map +0 -1
  993. package/dist/utils/frontmatter.d.ts +0 -10
  994. package/dist/utils/frontmatter.d.ts.map +0 -1
  995. package/dist/utils/frontmatter.js +0 -78
  996. package/dist/utils/frontmatter.js.map +0 -1
  997. package/dist/utils/planFormatter.d.ts +0 -34
  998. package/dist/utils/planFormatter.d.ts.map +0 -1
  999. package/dist/utils/planFormatter.js +0 -140
  1000. package/dist/utils/planFormatter.js.map +0 -1
  1001. package/dist/workspace.d.ts +0 -8
  1002. package/dist/workspace.d.ts.map +0 -1
  1003. package/dist/workspace.js +0 -107
  1004. package/dist/workspace.js.map +0 -1
  1005. package/dist/workspace.validator.d.ts +0 -49
  1006. package/dist/workspace.validator.d.ts.map +0 -1
  1007. package/dist/workspace.validator.js +0 -214
  1008. 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