erosolar-cli 1.7.412 → 1.7.414

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/dist/shell/interactiveShell.d.ts +14 -0
  2. package/dist/shell/interactiveShell.d.ts.map +1 -1
  3. package/dist/shell/interactiveShell.js +276 -89
  4. package/dist/shell/interactiveShell.js.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/StringUtils.d.ts +0 -8
  7. package/dist/StringUtils.d.ts.map +0 -1
  8. package/dist/StringUtils.js +0 -11
  9. package/dist/StringUtils.js.map +0 -1
  10. package/dist/adapters/browser/index.d.ts +0 -12
  11. package/dist/adapters/browser/index.d.ts.map +0 -1
  12. package/dist/adapters/browser/index.js +0 -11
  13. package/dist/adapters/browser/index.js.map +0 -1
  14. package/dist/adapters/node/index.d.ts +0 -17
  15. package/dist/adapters/node/index.d.ts.map +0 -1
  16. package/dist/adapters/node/index.js +0 -35
  17. package/dist/adapters/node/index.js.map +0 -1
  18. package/dist/adapters/remote/index.d.ts +0 -13
  19. package/dist/adapters/remote/index.d.ts.map +0 -1
  20. package/dist/adapters/remote/index.js +0 -20
  21. package/dist/adapters/remote/index.js.map +0 -1
  22. package/dist/adapters/types.d.ts +0 -14
  23. package/dist/adapters/types.d.ts.map +0 -1
  24. package/dist/adapters/types.js +0 -2
  25. package/dist/adapters/types.js.map +0 -1
  26. package/dist/bin/erosolar.d.ts +0 -9
  27. package/dist/bin/erosolar.d.ts.map +0 -1
  28. package/dist/bin/erosolar.js +0 -93
  29. package/dist/bin/erosolar.js.map +0 -1
  30. package/dist/bin/selfTest.d.ts +0 -14
  31. package/dist/bin/selfTest.d.ts.map +0 -1
  32. package/dist/bin/selfTest.js +0 -304
  33. package/dist/bin/selfTest.js.map +0 -1
  34. package/dist/browser/BrowserSessionManager.d.ts +0 -307
  35. package/dist/browser/BrowserSessionManager.d.ts.map +0 -1
  36. package/dist/browser/BrowserSessionManager.js +0 -713
  37. package/dist/browser/BrowserSessionManager.js.map +0 -1
  38. package/dist/capabilities/advancedTestGenerationCapability.d.ts +0 -17
  39. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +0 -1
  40. package/dist/capabilities/advancedTestGenerationCapability.js +0 -28
  41. package/dist/capabilities/advancedTestGenerationCapability.js.map +0 -1
  42. package/dist/capabilities/agentSpawningCapability.d.ts +0 -6
  43. package/dist/capabilities/agentSpawningCapability.d.ts.map +0 -1
  44. package/dist/capabilities/agentSpawningCapability.js +0 -168
  45. package/dist/capabilities/agentSpawningCapability.js.map +0 -1
  46. package/dist/capabilities/askUserCapability.d.ts +0 -21
  47. package/dist/capabilities/askUserCapability.d.ts.map +0 -1
  48. package/dist/capabilities/askUserCapability.js +0 -155
  49. package/dist/capabilities/askUserCapability.js.map +0 -1
  50. package/dist/capabilities/bashCapability.d.ts +0 -13
  51. package/dist/capabilities/bashCapability.d.ts.map +0 -1
  52. package/dist/capabilities/bashCapability.js +0 -24
  53. package/dist/capabilities/bashCapability.js.map +0 -1
  54. package/dist/capabilities/browserAutomationCapability.d.ts +0 -37
  55. package/dist/capabilities/browserAutomationCapability.d.ts.map +0 -1
  56. package/dist/capabilities/browserAutomationCapability.js +0 -49
  57. package/dist/capabilities/browserAutomationCapability.js.map +0 -1
  58. package/dist/capabilities/buildCapability.d.ts +0 -24
  59. package/dist/capabilities/buildCapability.d.ts.map +0 -1
  60. package/dist/capabilities/buildCapability.js +0 -25
  61. package/dist/capabilities/buildCapability.js.map +0 -1
  62. package/dist/capabilities/cloudCapability.d.ts +0 -13
  63. package/dist/capabilities/cloudCapability.d.ts.map +0 -1
  64. package/dist/capabilities/cloudCapability.js +0 -38
  65. package/dist/capabilities/cloudCapability.js.map +0 -1
  66. package/dist/capabilities/codeAnalysisCapability.d.ts +0 -13
  67. package/dist/capabilities/codeAnalysisCapability.d.ts.map +0 -1
  68. package/dist/capabilities/codeAnalysisCapability.js +0 -24
  69. package/dist/capabilities/codeAnalysisCapability.js.map +0 -1
  70. package/dist/capabilities/codeGenerationCapability.d.ts +0 -13
  71. package/dist/capabilities/codeGenerationCapability.d.ts.map +0 -1
  72. package/dist/capabilities/codeGenerationCapability.js +0 -25
  73. package/dist/capabilities/codeGenerationCapability.js.map +0 -1
  74. package/dist/capabilities/codeQualityCapability.d.ts +0 -13
  75. package/dist/capabilities/codeQualityCapability.d.ts.map +0 -1
  76. package/dist/capabilities/codeQualityCapability.js +0 -25
  77. package/dist/capabilities/codeQualityCapability.js.map +0 -1
  78. package/dist/capabilities/dependencySecurityCapability.d.ts +0 -13
  79. package/dist/capabilities/dependencySecurityCapability.d.ts.map +0 -1
  80. package/dist/capabilities/dependencySecurityCapability.js +0 -24
  81. package/dist/capabilities/dependencySecurityCapability.js.map +0 -1
  82. package/dist/capabilities/devCapability.d.ts +0 -13
  83. package/dist/capabilities/devCapability.d.ts.map +0 -1
  84. package/dist/capabilities/devCapability.js +0 -24
  85. package/dist/capabilities/devCapability.js.map +0 -1
  86. package/dist/capabilities/editCapability.d.ts +0 -17
  87. package/dist/capabilities/editCapability.d.ts.map +0 -1
  88. package/dist/capabilities/editCapability.js +0 -27
  89. package/dist/capabilities/editCapability.js.map +0 -1
  90. package/dist/capabilities/emailCapability.d.ts +0 -12
  91. package/dist/capabilities/emailCapability.d.ts.map +0 -1
  92. package/dist/capabilities/emailCapability.js +0 -22
  93. package/dist/capabilities/emailCapability.js.map +0 -1
  94. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +0 -17
  95. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +0 -1
  96. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +0 -28
  97. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +0 -1
  98. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +0 -17
  99. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +0 -1
  100. package/dist/capabilities/enhancedDevWorkflowCapability.js +0 -28
  101. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +0 -1
  102. package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
  103. package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
  104. package/dist/capabilities/enhancedGitCapability.js +0 -220
  105. package/dist/capabilities/enhancedGitCapability.js.map +0 -1
  106. package/dist/capabilities/filesystemCapability.d.ts +0 -13
  107. package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
  108. package/dist/capabilities/filesystemCapability.js +0 -24
  109. package/dist/capabilities/filesystemCapability.js.map +0 -1
  110. package/dist/capabilities/frontendTestingCapability.d.ts +0 -13
  111. package/dist/capabilities/frontendTestingCapability.d.ts.map +0 -1
  112. package/dist/capabilities/frontendTestingCapability.js +0 -28
  113. package/dist/capabilities/frontendTestingCapability.js.map +0 -1
  114. package/dist/capabilities/globCapability.d.ts +0 -17
  115. package/dist/capabilities/globCapability.d.ts.map +0 -1
  116. package/dist/capabilities/globCapability.js +0 -27
  117. package/dist/capabilities/globCapability.js.map +0 -1
  118. package/dist/capabilities/index.d.ts +0 -26
  119. package/dist/capabilities/index.d.ts.map +0 -1
  120. package/dist/capabilities/index.js +0 -26
  121. package/dist/capabilities/index.js.map +0 -1
  122. package/dist/capabilities/interactionCapability.d.ts +0 -12
  123. package/dist/capabilities/interactionCapability.d.ts.map +0 -1
  124. package/dist/capabilities/interactionCapability.js +0 -22
  125. package/dist/capabilities/interactionCapability.js.map +0 -1
  126. package/dist/capabilities/learnCapability.d.ts +0 -22
  127. package/dist/capabilities/learnCapability.d.ts.map +0 -1
  128. package/dist/capabilities/learnCapability.js +0 -37
  129. package/dist/capabilities/learnCapability.js.map +0 -1
  130. package/dist/capabilities/mcpCapability.d.ts +0 -6
  131. package/dist/capabilities/mcpCapability.d.ts.map +0 -1
  132. package/dist/capabilities/mcpCapability.js +0 -19
  133. package/dist/capabilities/mcpCapability.js.map +0 -1
  134. package/dist/capabilities/notebookCapability.d.ts +0 -17
  135. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  136. package/dist/capabilities/notebookCapability.js +0 -27
  137. package/dist/capabilities/notebookCapability.js.map +0 -1
  138. package/dist/capabilities/performanceMonitoringCapability.d.ts +0 -108
  139. package/dist/capabilities/performanceMonitoringCapability.d.ts.map +0 -1
  140. package/dist/capabilities/performanceMonitoringCapability.js +0 -176
  141. package/dist/capabilities/performanceMonitoringCapability.js.map +0 -1
  142. package/dist/capabilities/planningCapability.d.ts +0 -16
  143. package/dist/capabilities/planningCapability.d.ts.map +0 -1
  144. package/dist/capabilities/planningCapability.js +0 -26
  145. package/dist/capabilities/planningCapability.js.map +0 -1
  146. package/dist/capabilities/refactoringCapability.d.ts +0 -13
  147. package/dist/capabilities/refactoringCapability.d.ts.map +0 -1
  148. package/dist/capabilities/refactoringCapability.js +0 -25
  149. package/dist/capabilities/refactoringCapability.js.map +0 -1
  150. package/dist/capabilities/repoChecksCapability.d.ts +0 -10
  151. package/dist/capabilities/repoChecksCapability.d.ts.map +0 -1
  152. package/dist/capabilities/repoChecksCapability.js +0 -24
  153. package/dist/capabilities/repoChecksCapability.js.map +0 -1
  154. package/dist/capabilities/searchCapability.d.ts +0 -13
  155. package/dist/capabilities/searchCapability.d.ts.map +0 -1
  156. package/dist/capabilities/searchCapability.js +0 -24
  157. package/dist/capabilities/searchCapability.js.map +0 -1
  158. package/dist/capabilities/skillCapability.d.ts +0 -3
  159. package/dist/capabilities/skillCapability.d.ts.map +0 -1
  160. package/dist/capabilities/skillCapability.js +0 -77
  161. package/dist/capabilities/skillCapability.js.map +0 -1
  162. package/dist/capabilities/taskManagementCapability.d.ts +0 -12
  163. package/dist/capabilities/taskManagementCapability.d.ts.map +0 -1
  164. package/dist/capabilities/taskManagementCapability.js +0 -22
  165. package/dist/capabilities/taskManagementCapability.js.map +0 -1
  166. package/dist/capabilities/testingCapability.d.ts +0 -13
  167. package/dist/capabilities/testingCapability.d.ts.map +0 -1
  168. package/dist/capabilities/testingCapability.js +0 -25
  169. package/dist/capabilities/testingCapability.js.map +0 -1
  170. package/dist/capabilities/todoCapability.d.ts +0 -19
  171. package/dist/capabilities/todoCapability.d.ts.map +0 -1
  172. package/dist/capabilities/todoCapability.js +0 -169
  173. package/dist/capabilities/todoCapability.js.map +0 -1
  174. package/dist/capabilities/toolManifest.d.ts +0 -3
  175. package/dist/capabilities/toolManifest.d.ts.map +0 -1
  176. package/dist/capabilities/toolManifest.js +0 -160
  177. package/dist/capabilities/toolManifest.js.map +0 -1
  178. package/dist/capabilities/toolRegistry.d.ts +0 -24
  179. package/dist/capabilities/toolRegistry.d.ts.map +0 -1
  180. package/dist/capabilities/toolRegistry.js +0 -150
  181. package/dist/capabilities/toolRegistry.js.map +0 -1
  182. package/dist/capabilities/validationCapability.d.ts +0 -13
  183. package/dist/capabilities/validationCapability.d.ts.map +0 -1
  184. package/dist/capabilities/validationCapability.js +0 -24
  185. package/dist/capabilities/validationCapability.js.map +0 -1
  186. package/dist/capabilities/webCapability.d.ts +0 -12
  187. package/dist/capabilities/webCapability.d.ts.map +0 -1
  188. package/dist/capabilities/webCapability.js +0 -22
  189. package/dist/capabilities/webCapability.js.map +0 -1
  190. package/dist/config.d.ts +0 -25
  191. package/dist/config.d.ts.map +0 -1
  192. package/dist/config.js +0 -140
  193. package/dist/config.js.map +0 -1
  194. package/dist/contracts/v1/agent.d.ts +0 -147
  195. package/dist/contracts/v1/agent.d.ts.map +0 -1
  196. package/dist/contracts/v1/agent.js +0 -8
  197. package/dist/contracts/v1/agent.js.map +0 -1
  198. package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
  199. package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
  200. package/dist/contracts/v1/agentProfileManifest.js +0 -9
  201. package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
  202. package/dist/contracts/v1/agentRules.d.ts +0 -60
  203. package/dist/contracts/v1/agentRules.d.ts.map +0 -1
  204. package/dist/contracts/v1/agentRules.js +0 -10
  205. package/dist/contracts/v1/agentRules.js.map +0 -1
  206. package/dist/contracts/v1/provider.d.ts +0 -149
  207. package/dist/contracts/v1/provider.d.ts.map +0 -1
  208. package/dist/contracts/v1/provider.js +0 -7
  209. package/dist/contracts/v1/provider.js.map +0 -1
  210. package/dist/contracts/v1/tool.d.ts +0 -136
  211. package/dist/contracts/v1/tool.d.ts.map +0 -1
  212. package/dist/contracts/v1/tool.js +0 -7
  213. package/dist/contracts/v1/tool.js.map +0 -1
  214. package/dist/contracts/v1/toolAccess.d.ts +0 -43
  215. package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
  216. package/dist/contracts/v1/toolAccess.js +0 -9
  217. package/dist/contracts/v1/toolAccess.js.map +0 -1
  218. package/dist/core/LazyLoader.d.ts +0 -129
  219. package/dist/core/LazyLoader.d.ts.map +0 -1
  220. package/dist/core/LazyLoader.js +0 -240
  221. package/dist/core/LazyLoader.js.map +0 -1
  222. package/dist/core/agent.d.ts +0 -153
  223. package/dist/core/agent.d.ts.map +0 -1
  224. package/dist/core/agent.js +0 -881
  225. package/dist/core/agent.js.map +0 -1
  226. package/dist/core/agentProfileManifest.d.ts +0 -3
  227. package/dist/core/agentProfileManifest.d.ts.map +0 -1
  228. package/dist/core/agentProfileManifest.js +0 -188
  229. package/dist/core/agentProfileManifest.js.map +0 -1
  230. package/dist/core/agentProfiles.d.ts +0 -22
  231. package/dist/core/agentProfiles.d.ts.map +0 -1
  232. package/dist/core/agentProfiles.js +0 -35
  233. package/dist/core/agentProfiles.js.map +0 -1
  234. package/dist/core/agentRulebook.d.ts +0 -11
  235. package/dist/core/agentRulebook.d.ts.map +0 -1
  236. package/dist/core/agentRulebook.js +0 -136
  237. package/dist/core/agentRulebook.js.map +0 -1
  238. package/dist/core/agentSchemaLoader.d.ts +0 -131
  239. package/dist/core/agentSchemaLoader.d.ts.map +0 -1
  240. package/dist/core/agentSchemaLoader.js +0 -234
  241. package/dist/core/agentSchemaLoader.js.map +0 -1
  242. package/dist/core/aiErrorFixer.d.ts +0 -70
  243. package/dist/core/aiErrorFixer.d.ts.map +0 -1
  244. package/dist/core/aiErrorFixer.js +0 -402
  245. package/dist/core/aiErrorFixer.js.map +0 -1
  246. package/dist/core/alphaZeroEngine.d.ts +0 -269
  247. package/dist/core/alphaZeroEngine.d.ts.map +0 -1
  248. package/dist/core/alphaZeroEngine.js +0 -523
  249. package/dist/core/alphaZeroEngine.js.map +0 -1
  250. package/dist/core/alphaZeroModular.d.ts +0 -186
  251. package/dist/core/alphaZeroModular.d.ts.map +0 -1
  252. package/dist/core/alphaZeroModular.js +0 -755
  253. package/dist/core/alphaZeroModular.js.map +0 -1
  254. package/dist/core/alphaZeroOrchestrator.d.ts +0 -140
  255. package/dist/core/alphaZeroOrchestrator.d.ts.map +0 -1
  256. package/dist/core/alphaZeroOrchestrator.js +0 -418
  257. package/dist/core/alphaZeroOrchestrator.js.map +0 -1
  258. package/dist/core/checkpoint.d.ts +0 -76
  259. package/dist/core/checkpoint.d.ts.map +0 -1
  260. package/dist/core/checkpoint.js +0 -278
  261. package/dist/core/checkpoint.js.map +0 -1
  262. package/dist/core/claudeCodeFeatures.d.ts +0 -64
  263. package/dist/core/claudeCodeFeatures.d.ts.map +0 -1
  264. package/dist/core/claudeCodeFeatures.js +0 -163
  265. package/dist/core/claudeCodeFeatures.js.map +0 -1
  266. package/dist/core/cliTestHarness.d.ts +0 -200
  267. package/dist/core/cliTestHarness.d.ts.map +0 -1
  268. package/dist/core/cliTestHarness.js +0 -549
  269. package/dist/core/cliTestHarness.js.map +0 -1
  270. package/dist/core/contextManager.d.ts +0 -263
  271. package/dist/core/contextManager.d.ts.map +0 -1
  272. package/dist/core/contextManager.js +0 -1073
  273. package/dist/core/contextManager.js.map +0 -1
  274. package/dist/core/contextWindow.d.ts +0 -42
  275. package/dist/core/contextWindow.d.ts.map +0 -1
  276. package/dist/core/contextWindow.js +0 -123
  277. package/dist/core/contextWindow.js.map +0 -1
  278. package/dist/core/costTracker.d.ts +0 -87
  279. package/dist/core/costTracker.d.ts.map +0 -1
  280. package/dist/core/costTracker.js +0 -285
  281. package/dist/core/costTracker.js.map +0 -1
  282. package/dist/core/customCommands.d.ts +0 -19
  283. package/dist/core/customCommands.d.ts.map +0 -1
  284. package/dist/core/customCommands.js +0 -84
  285. package/dist/core/customCommands.js.map +0 -1
  286. package/dist/core/errors/apiKeyErrors.d.ts +0 -11
  287. package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
  288. package/dist/core/errors/apiKeyErrors.js +0 -159
  289. package/dist/core/errors/apiKeyErrors.js.map +0 -1
  290. package/dist/core/errors/errorTypes.d.ts +0 -111
  291. package/dist/core/errors/errorTypes.d.ts.map +0 -1
  292. package/dist/core/errors/errorTypes.js +0 -348
  293. package/dist/core/errors/errorTypes.js.map +0 -1
  294. package/dist/core/errors/errorUtils.d.ts +0 -87
  295. package/dist/core/errors/errorUtils.d.ts.map +0 -1
  296. package/dist/core/errors/errorUtils.js +0 -158
  297. package/dist/core/errors/errorUtils.js.map +0 -1
  298. package/dist/core/errors/safetyValidator.d.ts +0 -71
  299. package/dist/core/errors/safetyValidator.d.ts.map +0 -1
  300. package/dist/core/errors/safetyValidator.js +0 -302
  301. package/dist/core/errors/safetyValidator.js.map +0 -1
  302. package/dist/core/errors.d.ts +0 -4
  303. package/dist/core/errors.d.ts.map +0 -1
  304. package/dist/core/errors.js +0 -33
  305. package/dist/core/errors.js.map +0 -1
  306. package/dist/core/failureRecovery.d.ts +0 -122
  307. package/dist/core/failureRecovery.d.ts.map +0 -1
  308. package/dist/core/failureRecovery.js +0 -477
  309. package/dist/core/failureRecovery.js.map +0 -1
  310. package/dist/core/hooks.d.ts +0 -113
  311. package/dist/core/hooks.d.ts.map +0 -1
  312. package/dist/core/hooks.js +0 -267
  313. package/dist/core/hooks.js.map +0 -1
  314. package/dist/core/intelligentTestFlows.d.ts +0 -126
  315. package/dist/core/intelligentTestFlows.d.ts.map +0 -1
  316. package/dist/core/intelligentTestFlows.js +0 -678
  317. package/dist/core/intelligentTestFlows.js.map +0 -1
  318. package/dist/core/isolatedVerifier.d.ts +0 -40
  319. package/dist/core/isolatedVerifier.d.ts.map +0 -1
  320. package/dist/core/isolatedVerifier.js +0 -129
  321. package/dist/core/isolatedVerifier.js.map +0 -1
  322. package/dist/core/learningPersistence.d.ts +0 -145
  323. package/dist/core/learningPersistence.d.ts.map +0 -1
  324. package/dist/core/learningPersistence.js +0 -477
  325. package/dist/core/learningPersistence.js.map +0 -1
  326. package/dist/core/memorySystem.d.ts +0 -67
  327. package/dist/core/memorySystem.d.ts.map +0 -1
  328. package/dist/core/memorySystem.js +0 -334
  329. package/dist/core/memorySystem.js.map +0 -1
  330. package/dist/core/metricsTracker.d.ts +0 -157
  331. package/dist/core/metricsTracker.d.ts.map +0 -1
  332. package/dist/core/metricsTracker.js +0 -273
  333. package/dist/core/metricsTracker.js.map +0 -1
  334. package/dist/core/modelDiscovery.d.ts +0 -101
  335. package/dist/core/modelDiscovery.d.ts.map +0 -1
  336. package/dist/core/modelDiscovery.js +0 -780
  337. package/dist/core/modelDiscovery.js.map +0 -1
  338. package/dist/core/multilinePasteHandler.d.ts +0 -35
  339. package/dist/core/multilinePasteHandler.d.ts.map +0 -1
  340. package/dist/core/multilinePasteHandler.js +0 -80
  341. package/dist/core/multilinePasteHandler.js.map +0 -1
  342. package/dist/core/offsecAlphaZero.d.ts +0 -56
  343. package/dist/core/offsecAlphaZero.d.ts.map +0 -1
  344. package/dist/core/offsecAlphaZero.js +0 -395
  345. package/dist/core/offsecAlphaZero.js.map +0 -1
  346. package/dist/core/outputStyles.d.ts +0 -48
  347. package/dist/core/outputStyles.d.ts.map +0 -1
  348. package/dist/core/outputStyles.js +0 -270
  349. package/dist/core/outputStyles.js.map +0 -1
  350. package/dist/core/performanceMonitor.d.ts +0 -124
  351. package/dist/core/performanceMonitor.d.ts.map +0 -1
  352. package/dist/core/performanceMonitor.js +0 -192
  353. package/dist/core/performanceMonitor.js.map +0 -1
  354. package/dist/core/preferences.d.ts +0 -67
  355. package/dist/core/preferences.d.ts.map +0 -1
  356. package/dist/core/preferences.js +0 -314
  357. package/dist/core/preferences.js.map +0 -1
  358. package/dist/core/responseVerifier.d.ts +0 -98
  359. package/dist/core/responseVerifier.d.ts.map +0 -1
  360. package/dist/core/responseVerifier.js +0 -509
  361. package/dist/core/responseVerifier.js.map +0 -1
  362. package/dist/core/resultVerification.d.ts +0 -141
  363. package/dist/core/resultVerification.d.ts.map +0 -1
  364. package/dist/core/resultVerification.js +0 -482
  365. package/dist/core/resultVerification.js.map +0 -1
  366. package/dist/core/schemaValidator.d.ts +0 -44
  367. package/dist/core/schemaValidator.d.ts.map +0 -1
  368. package/dist/core/schemaValidator.js +0 -155
  369. package/dist/core/schemaValidator.js.map +0 -1
  370. package/dist/core/secretStore.d.ts +0 -48
  371. package/dist/core/secretStore.d.ts.map +0 -1
  372. package/dist/core/secretStore.js +0 -367
  373. package/dist/core/secretStore.js.map +0 -1
  374. package/dist/core/securityAssessment.d.ts +0 -91
  375. package/dist/core/securityAssessment.d.ts.map +0 -1
  376. package/dist/core/securityAssessment.js +0 -580
  377. package/dist/core/securityAssessment.js.map +0 -1
  378. package/dist/core/selfEvolution.d.ts +0 -155
  379. package/dist/core/selfEvolution.d.ts.map +0 -1
  380. package/dist/core/selfEvolution.js +0 -1000
  381. package/dist/core/selfEvolution.js.map +0 -1
  382. package/dist/core/selfImprovement.d.ts +0 -141
  383. package/dist/core/selfImprovement.d.ts.map +0 -1
  384. package/dist/core/selfImprovement.js +0 -700
  385. package/dist/core/selfImprovement.js.map +0 -1
  386. package/dist/core/sessionStore.d.ts +0 -35
  387. package/dist/core/sessionStore.d.ts.map +0 -1
  388. package/dist/core/sessionStore.js +0 -189
  389. package/dist/core/sessionStore.js.map +0 -1
  390. package/dist/core/testUtils.d.ts +0 -121
  391. package/dist/core/testUtils.d.ts.map +0 -1
  392. package/dist/core/testUtils.js +0 -235
  393. package/dist/core/testUtils.js.map +0 -1
  394. package/dist/core/toolPreconditions.d.ts +0 -42
  395. package/dist/core/toolPreconditions.d.ts.map +0 -1
  396. package/dist/core/toolPreconditions.js +0 -357
  397. package/dist/core/toolPreconditions.js.map +0 -1
  398. package/dist/core/toolRuntime.d.ts +0 -158
  399. package/dist/core/toolRuntime.d.ts.map +0 -1
  400. package/dist/core/toolRuntime.js +0 -415
  401. package/dist/core/toolRuntime.js.map +0 -1
  402. package/dist/core/toolValidation.d.ts +0 -117
  403. package/dist/core/toolValidation.d.ts.map +0 -1
  404. package/dist/core/toolValidation.js +0 -282
  405. package/dist/core/toolValidation.js.map +0 -1
  406. package/dist/core/types/utilityTypes.d.ts +0 -192
  407. package/dist/core/types/utilityTypes.d.ts.map +0 -1
  408. package/dist/core/types/utilityTypes.js +0 -272
  409. package/dist/core/types/utilityTypes.js.map +0 -1
  410. package/dist/core/types.d.ts +0 -306
  411. package/dist/core/types.d.ts.map +0 -1
  412. package/dist/core/types.js +0 -76
  413. package/dist/core/types.js.map +0 -1
  414. package/dist/core/updateManager.d.ts +0 -62
  415. package/dist/core/updateManager.d.ts.map +0 -1
  416. package/dist/core/updateManager.js +0 -266
  417. package/dist/core/updateManager.js.map +0 -1
  418. package/dist/core/validationRunner.d.ts +0 -106
  419. package/dist/core/validationRunner.d.ts.map +0 -1
  420. package/dist/core/validationRunner.js +0 -888
  421. package/dist/core/validationRunner.js.map +0 -1
  422. package/dist/core/verification.d.ts +0 -137
  423. package/dist/core/verification.d.ts.map +0 -1
  424. package/dist/core/verification.js +0 -323
  425. package/dist/core/verification.js.map +0 -1
  426. package/dist/headless/headlessApp.d.ts +0 -5
  427. package/dist/headless/headlessApp.d.ts.map +0 -1
  428. package/dist/headless/headlessApp.js +0 -210
  429. package/dist/headless/headlessApp.js.map +0 -1
  430. package/dist/intelligence/codeIntelligence.d.ts +0 -118
  431. package/dist/intelligence/codeIntelligence.d.ts.map +0 -1
  432. package/dist/intelligence/codeIntelligence.js +0 -552
  433. package/dist/intelligence/codeIntelligence.js.map +0 -1
  434. package/dist/intelligence/docGenerator.d.ts +0 -86
  435. package/dist/intelligence/docGenerator.d.ts.map +0 -1
  436. package/dist/intelligence/docGenerator.js +0 -564
  437. package/dist/intelligence/docGenerator.js.map +0 -1
  438. package/dist/intelligence/index.d.ts +0 -51
  439. package/dist/intelligence/index.d.ts.map +0 -1
  440. package/dist/intelligence/index.js +0 -253
  441. package/dist/intelligence/index.js.map +0 -1
  442. package/dist/intelligence/refactoring.d.ts +0 -50
  443. package/dist/intelligence/refactoring.d.ts.map +0 -1
  444. package/dist/intelligence/refactoring.js +0 -354
  445. package/dist/intelligence/refactoring.js.map +0 -1
  446. package/dist/intelligence/testGenerator.d.ts +0 -74
  447. package/dist/intelligence/testGenerator.d.ts.map +0 -1
  448. package/dist/intelligence/testGenerator.js +0 -483
  449. package/dist/intelligence/testGenerator.js.map +0 -1
  450. package/dist/mcp/config.d.ts +0 -8
  451. package/dist/mcp/config.d.ts.map +0 -1
  452. package/dist/mcp/config.js +0 -252
  453. package/dist/mcp/config.js.map +0 -1
  454. package/dist/mcp/sseClient.d.ts +0 -34
  455. package/dist/mcp/sseClient.d.ts.map +0 -1
  456. package/dist/mcp/sseClient.js +0 -327
  457. package/dist/mcp/sseClient.js.map +0 -1
  458. package/dist/mcp/stdioClient.d.ts +0 -24
  459. package/dist/mcp/stdioClient.d.ts.map +0 -1
  460. package/dist/mcp/stdioClient.js +0 -179
  461. package/dist/mcp/stdioClient.js.map +0 -1
  462. package/dist/mcp/toolBridge.d.ts +0 -12
  463. package/dist/mcp/toolBridge.d.ts.map +0 -1
  464. package/dist/mcp/toolBridge.js +0 -117
  465. package/dist/mcp/toolBridge.js.map +0 -1
  466. package/dist/mcp/types.d.ts +0 -60
  467. package/dist/mcp/types.d.ts.map +0 -1
  468. package/dist/mcp/types.js +0 -2
  469. package/dist/mcp/types.js.map +0 -1
  470. package/dist/plugins/index.d.ts +0 -49
  471. package/dist/plugins/index.d.ts.map +0 -1
  472. package/dist/plugins/index.js +0 -114
  473. package/dist/plugins/index.js.map +0 -1
  474. package/dist/plugins/providers/anthropic/index.d.ts +0 -11
  475. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  476. package/dist/plugins/providers/anthropic/index.js +0 -38
  477. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  478. package/dist/plugins/providers/deepseek/index.d.ts +0 -11
  479. package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
  480. package/dist/plugins/providers/deepseek/index.js +0 -52
  481. package/dist/plugins/providers/deepseek/index.js.map +0 -1
  482. package/dist/plugins/providers/google/index.d.ts +0 -11
  483. package/dist/plugins/providers/google/index.d.ts.map +0 -1
  484. package/dist/plugins/providers/google/index.js +0 -40
  485. package/dist/plugins/providers/google/index.js.map +0 -1
  486. package/dist/plugins/providers/index.d.ts +0 -2
  487. package/dist/plugins/providers/index.d.ts.map +0 -1
  488. package/dist/plugins/providers/index.js +0 -20
  489. package/dist/plugins/providers/index.js.map +0 -1
  490. package/dist/plugins/providers/ollama/index.d.ts +0 -21
  491. package/dist/plugins/providers/ollama/index.d.ts.map +0 -1
  492. package/dist/plugins/providers/ollama/index.js +0 -69
  493. package/dist/plugins/providers/ollama/index.js.map +0 -1
  494. package/dist/plugins/providers/openai/index.d.ts +0 -12
  495. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  496. package/dist/plugins/providers/openai/index.js +0 -39
  497. package/dist/plugins/providers/openai/index.js.map +0 -1
  498. package/dist/plugins/providers/xai/index.d.ts +0 -11
  499. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  500. package/dist/plugins/providers/xai/index.js +0 -39
  501. package/dist/plugins/providers/xai/index.js.map +0 -1
  502. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -3
  503. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
  504. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -9
  505. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
  506. package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
  507. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
  508. package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
  509. package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
  510. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +0 -14
  511. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +0 -1
  512. package/dist/plugins/tools/browser/browserAutomationPlugin.js +0 -26
  513. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +0 -1
  514. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +0 -3
  515. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +0 -1
  516. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +0 -14
  517. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +0 -1
  518. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +0 -3
  519. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +0 -1
  520. package/dist/plugins/tools/cloud/cloudPlugin.js +0 -14
  521. package/dist/plugins/tools/cloud/cloudPlugin.js.map +0 -1
  522. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +0 -3
  523. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +0 -1
  524. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -14
  525. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +0 -1
  526. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +0 -3
  527. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +0 -1
  528. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +0 -14
  529. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +0 -1
  530. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +0 -3
  531. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +0 -1
  532. package/dist/plugins/tools/dependency/dependencyPlugin.js +0 -12
  533. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +0 -1
  534. package/dist/plugins/tools/development/devPlugin.d.ts +0 -3
  535. package/dist/plugins/tools/development/devPlugin.d.ts.map +0 -1
  536. package/dist/plugins/tools/development/devPlugin.js +0 -14
  537. package/dist/plugins/tools/development/devPlugin.js.map +0 -1
  538. package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
  539. package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
  540. package/dist/plugins/tools/edit/editPlugin.js +0 -15
  541. package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
  542. package/dist/plugins/tools/email/emailPlugin.d.ts +0 -3
  543. package/dist/plugins/tools/email/emailPlugin.d.ts.map +0 -1
  544. package/dist/plugins/tools/email/emailPlugin.js +0 -12
  545. package/dist/plugins/tools/email/emailPlugin.js.map +0 -1
  546. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
  547. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
  548. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
  549. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
  550. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
  551. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
  552. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
  553. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
  554. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +0 -3
  555. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +0 -1
  556. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +0 -14
  557. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +0 -1
  558. package/dist/plugins/tools/glob/globPlugin.d.ts +0 -9
  559. package/dist/plugins/tools/glob/globPlugin.d.ts.map +0 -1
  560. package/dist/plugins/tools/glob/globPlugin.js +0 -15
  561. package/dist/plugins/tools/glob/globPlugin.js.map +0 -1
  562. package/dist/plugins/tools/index.d.ts +0 -3
  563. package/dist/plugins/tools/index.d.ts.map +0 -1
  564. package/dist/plugins/tools/index.js +0 -3
  565. package/dist/plugins/tools/index.js.map +0 -1
  566. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +0 -3
  567. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +0 -1
  568. package/dist/plugins/tools/interaction/interactionPlugin.js +0 -12
  569. package/dist/plugins/tools/interaction/interactionPlugin.js.map +0 -1
  570. package/dist/plugins/tools/learn/learnPlugin.d.ts +0 -3
  571. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +0 -1
  572. package/dist/plugins/tools/learn/learnPlugin.js +0 -14
  573. package/dist/plugins/tools/learn/learnPlugin.js.map +0 -1
  574. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
  575. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
  576. package/dist/plugins/tools/mcp/mcpPlugin.js +0 -9
  577. package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
  578. package/dist/plugins/tools/nodeDefaults.d.ts +0 -2
  579. package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
  580. package/dist/plugins/tools/nodeDefaults.js +0 -65
  581. package/dist/plugins/tools/nodeDefaults.js.map +0 -1
  582. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +0 -9
  583. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +0 -1
  584. package/dist/plugins/tools/notebook/notebookPlugin.js +0 -15
  585. package/dist/plugins/tools/notebook/notebookPlugin.js.map +0 -1
  586. package/dist/plugins/tools/planning/planningPlugin.d.ts +0 -9
  587. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +0 -1
  588. package/dist/plugins/tools/planning/planningPlugin.js +0 -15
  589. package/dist/plugins/tools/planning/planningPlugin.js.map +0 -1
  590. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +0 -3
  591. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +0 -1
  592. package/dist/plugins/tools/refactoring/refactoringPlugin.js +0 -12
  593. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +0 -1
  594. package/dist/plugins/tools/registry.d.ts +0 -22
  595. package/dist/plugins/tools/registry.d.ts.map +0 -1
  596. package/dist/plugins/tools/registry.js +0 -58
  597. package/dist/plugins/tools/registry.js.map +0 -1
  598. package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
  599. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
  600. package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
  601. package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
  602. package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
  603. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
  604. package/dist/plugins/tools/skills/skillPlugin.js +0 -9
  605. package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
  606. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +0 -3
  607. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +0 -1
  608. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +0 -12
  609. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +0 -1
  610. package/dist/plugins/tools/testing/testingPlugin.d.ts +0 -3
  611. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +0 -1
  612. package/dist/plugins/tools/testing/testingPlugin.js +0 -12
  613. package/dist/plugins/tools/testing/testingPlugin.js.map +0 -1
  614. package/dist/plugins/tools/validation/validationPlugin.d.ts +0 -3
  615. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +0 -1
  616. package/dist/plugins/tools/validation/validationPlugin.js +0 -14
  617. package/dist/plugins/tools/validation/validationPlugin.js.map +0 -1
  618. package/dist/plugins/tools/web/webPlugin.d.ts +0 -3
  619. package/dist/plugins/tools/web/webPlugin.d.ts.map +0 -1
  620. package/dist/plugins/tools/web/webPlugin.js +0 -12
  621. package/dist/plugins/tools/web/webPlugin.js.map +0 -1
  622. package/dist/providers/anthropicProvider.d.ts +0 -41
  623. package/dist/providers/anthropicProvider.d.ts.map +0 -1
  624. package/dist/providers/anthropicProvider.js +0 -446
  625. package/dist/providers/anthropicProvider.js.map +0 -1
  626. package/dist/providers/googleProvider.d.ts +0 -36
  627. package/dist/providers/googleProvider.d.ts.map +0 -1
  628. package/dist/providers/googleProvider.js +0 -312
  629. package/dist/providers/googleProvider.js.map +0 -1
  630. package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -43
  631. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
  632. package/dist/providers/openaiChatCompletionsProvider.js +0 -475
  633. package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
  634. package/dist/providers/openaiResponsesProvider.d.ts +0 -38
  635. package/dist/providers/openaiResponsesProvider.d.ts.map +0 -1
  636. package/dist/providers/openaiResponsesProvider.js +0 -364
  637. package/dist/providers/openaiResponsesProvider.js.map +0 -1
  638. package/dist/providers/providerFactory.d.ts +0 -18
  639. package/dist/providers/providerFactory.d.ts.map +0 -1
  640. package/dist/providers/providerFactory.js +0 -25
  641. package/dist/providers/providerFactory.js.map +0 -1
  642. package/dist/providers/resilientProvider.d.ts +0 -94
  643. package/dist/providers/resilientProvider.d.ts.map +0 -1
  644. package/dist/providers/resilientProvider.js +0 -370
  645. package/dist/providers/resilientProvider.js.map +0 -1
  646. package/dist/runtime/agentController.d.ts +0 -65
  647. package/dist/runtime/agentController.d.ts.map +0 -1
  648. package/dist/runtime/agentController.js +0 -353
  649. package/dist/runtime/agentController.js.map +0 -1
  650. package/dist/runtime/agentHost.d.ts +0 -61
  651. package/dist/runtime/agentHost.d.ts.map +0 -1
  652. package/dist/runtime/agentHost.js +0 -156
  653. package/dist/runtime/agentHost.js.map +0 -1
  654. package/dist/runtime/agentSession.d.ts +0 -40
  655. package/dist/runtime/agentSession.d.ts.map +0 -1
  656. package/dist/runtime/agentSession.js +0 -206
  657. package/dist/runtime/agentSession.js.map +0 -1
  658. package/dist/runtime/browser.d.ts +0 -7
  659. package/dist/runtime/browser.d.ts.map +0 -1
  660. package/dist/runtime/browser.js +0 -10
  661. package/dist/runtime/browser.js.map +0 -1
  662. package/dist/runtime/cloud.d.ts +0 -7
  663. package/dist/runtime/cloud.d.ts.map +0 -1
  664. package/dist/runtime/cloud.js +0 -10
  665. package/dist/runtime/cloud.js.map +0 -1
  666. package/dist/runtime/node.d.ts +0 -8
  667. package/dist/runtime/node.d.ts.map +0 -1
  668. package/dist/runtime/node.js +0 -11
  669. package/dist/runtime/node.js.map +0 -1
  670. package/dist/runtime/universal.d.ts +0 -21
  671. package/dist/runtime/universal.d.ts.map +0 -1
  672. package/dist/runtime/universal.js +0 -29
  673. package/dist/runtime/universal.js.map +0 -1
  674. package/dist/shell/autoExecutor.d.ts +0 -70
  675. package/dist/shell/autoExecutor.d.ts.map +0 -1
  676. package/dist/shell/autoExecutor.js +0 -288
  677. package/dist/shell/autoExecutor.js.map +0 -1
  678. package/dist/shell/composableMessage.d.ts +0 -183
  679. package/dist/shell/composableMessage.d.ts.map +0 -1
  680. package/dist/shell/composableMessage.js +0 -420
  681. package/dist/shell/composableMessage.js.map +0 -1
  682. package/dist/shell/fileChangeTracker.d.ts +0 -39
  683. package/dist/shell/fileChangeTracker.d.ts.map +0 -1
  684. package/dist/shell/fileChangeTracker.js +0 -64
  685. package/dist/shell/fileChangeTracker.js.map +0 -1
  686. package/dist/shell/keyboardShortcuts.d.ts +0 -53
  687. package/dist/shell/keyboardShortcuts.d.ts.map +0 -1
  688. package/dist/shell/keyboardShortcuts.js +0 -166
  689. package/dist/shell/keyboardShortcuts.js.map +0 -1
  690. package/dist/shell/liveStatus.d.ts +0 -30
  691. package/dist/shell/liveStatus.d.ts.map +0 -1
  692. package/dist/shell/liveStatus.js +0 -102
  693. package/dist/shell/liveStatus.js.map +0 -1
  694. package/dist/shell/shellApp.d.ts +0 -19
  695. package/dist/shell/shellApp.d.ts.map +0 -1
  696. package/dist/shell/shellApp.js +0 -408
  697. package/dist/shell/shellApp.js.map +0 -1
  698. package/dist/shell/systemPrompt.d.ts +0 -3
  699. package/dist/shell/systemPrompt.d.ts.map +0 -1
  700. package/dist/shell/systemPrompt.js +0 -81
  701. package/dist/shell/systemPrompt.js.map +0 -1
  702. package/dist/shell/taskCompletionDetector.d.ts +0 -106
  703. package/dist/shell/taskCompletionDetector.d.ts.map +0 -1
  704. package/dist/shell/taskCompletionDetector.js +0 -402
  705. package/dist/shell/taskCompletionDetector.js.map +0 -1
  706. package/dist/shell/terminalInput.d.ts +0 -617
  707. package/dist/shell/terminalInput.d.ts.map +0 -1
  708. package/dist/shell/terminalInput.js +0 -2633
  709. package/dist/shell/terminalInput.js.map +0 -1
  710. package/dist/shell/terminalInputAdapter.d.ts +0 -263
  711. package/dist/shell/terminalInputAdapter.d.ts.map +0 -1
  712. package/dist/shell/terminalInputAdapter.js +0 -406
  713. package/dist/shell/terminalInputAdapter.js.map +0 -1
  714. package/dist/shell/updateManager.d.ts +0 -3
  715. package/dist/shell/updateManager.d.ts.map +0 -1
  716. package/dist/shell/updateManager.js +0 -120
  717. package/dist/shell/updateManager.js.map +0 -1
  718. package/dist/shell/vimMode.d.ts +0 -66
  719. package/dist/shell/vimMode.d.ts.map +0 -1
  720. package/dist/shell/vimMode.js +0 -434
  721. package/dist/shell/vimMode.js.map +0 -1
  722. package/dist/skills/skillRepository.d.ts +0 -103
  723. package/dist/skills/skillRepository.d.ts.map +0 -1
  724. package/dist/skills/skillRepository.js +0 -237
  725. package/dist/skills/skillRepository.js.map +0 -1
  726. package/dist/skills/types.d.ts +0 -37
  727. package/dist/skills/types.d.ts.map +0 -1
  728. package/dist/skills/types.js +0 -2
  729. package/dist/skills/types.js.map +0 -1
  730. package/dist/subagents/agentConfig.d.ts +0 -27
  731. package/dist/subagents/agentConfig.d.ts.map +0 -1
  732. package/dist/subagents/agentConfig.js +0 -89
  733. package/dist/subagents/agentConfig.js.map +0 -1
  734. package/dist/subagents/agentRegistry.d.ts +0 -33
  735. package/dist/subagents/agentRegistry.d.ts.map +0 -1
  736. package/dist/subagents/agentRegistry.js +0 -162
  737. package/dist/subagents/agentRegistry.js.map +0 -1
  738. package/dist/subagents/parallelAgentManager.d.ts +0 -99
  739. package/dist/subagents/parallelAgentManager.d.ts.map +0 -1
  740. package/dist/subagents/parallelAgentManager.js +0 -248
  741. package/dist/subagents/parallelAgentManager.js.map +0 -1
  742. package/dist/subagents/taskRunner.d.ts +0 -34
  743. package/dist/subagents/taskRunner.d.ts.map +0 -1
  744. package/dist/subagents/taskRunner.js +0 -459
  745. package/dist/subagents/taskRunner.js.map +0 -1
  746. package/dist/tools/advancedTestGenerationTools.d.ts +0 -21
  747. package/dist/tools/advancedTestGenerationTools.d.ts.map +0 -1
  748. package/dist/tools/advancedTestGenerationTools.js +0 -301
  749. package/dist/tools/advancedTestGenerationTools.js.map +0 -1
  750. package/dist/tools/backgroundBashTools.d.ts +0 -21
  751. package/dist/tools/backgroundBashTools.d.ts.map +0 -1
  752. package/dist/tools/backgroundBashTools.js +0 -215
  753. package/dist/tools/backgroundBashTools.js.map +0 -1
  754. package/dist/tools/bashTools.d.ts +0 -8
  755. package/dist/tools/bashTools.d.ts.map +0 -1
  756. package/dist/tools/bashTools.js +0 -251
  757. package/dist/tools/bashTools.js.map +0 -1
  758. package/dist/tools/browserAutomationTools.d.ts +0 -23
  759. package/dist/tools/browserAutomationTools.d.ts.map +0 -1
  760. package/dist/tools/browserAutomationTools.js +0 -916
  761. package/dist/tools/browserAutomationTools.js.map +0 -1
  762. package/dist/tools/buildTools.d.ts +0 -9
  763. package/dist/tools/buildTools.d.ts.map +0 -1
  764. package/dist/tools/buildTools.js +0 -344
  765. package/dist/tools/buildTools.js.map +0 -1
  766. package/dist/tools/cloudTools.d.ts +0 -49
  767. package/dist/tools/cloudTools.d.ts.map +0 -1
  768. package/dist/tools/cloudTools.js +0 -1258
  769. package/dist/tools/cloudTools.js.map +0 -1
  770. package/dist/tools/code-quality-dashboard.d.ts +0 -57
  771. package/dist/tools/code-quality-dashboard.d.ts.map +0 -1
  772. package/dist/tools/code-quality-dashboard.js +0 -218
  773. package/dist/tools/code-quality-dashboard.js.map +0 -1
  774. package/dist/tools/codeAnalysisTools.d.ts +0 -74
  775. package/dist/tools/codeAnalysisTools.d.ts.map +0 -1
  776. package/dist/tools/codeAnalysisTools.js +0 -664
  777. package/dist/tools/codeAnalysisTools.js.map +0 -1
  778. package/dist/tools/codeGenerationTools.d.ts +0 -3
  779. package/dist/tools/codeGenerationTools.d.ts.map +0 -1
  780. package/dist/tools/codeGenerationTools.js +0 -439
  781. package/dist/tools/codeGenerationTools.js.map +0 -1
  782. package/dist/tools/codeQualityTools.d.ts +0 -3
  783. package/dist/tools/codeQualityTools.d.ts.map +0 -1
  784. package/dist/tools/codeQualityTools.js +0 -296
  785. package/dist/tools/codeQualityTools.js.map +0 -1
  786. package/dist/tools/dependencyTools.d.ts +0 -3
  787. package/dist/tools/dependencyTools.d.ts.map +0 -1
  788. package/dist/tools/dependencyTools.js +0 -283
  789. package/dist/tools/dependencyTools.js.map +0 -1
  790. package/dist/tools/devTools.d.ts +0 -10
  791. package/dist/tools/devTools.d.ts.map +0 -1
  792. package/dist/tools/devTools.js +0 -2125
  793. package/dist/tools/devTools.js.map +0 -1
  794. package/dist/tools/diffUtils.d.ts +0 -36
  795. package/dist/tools/diffUtils.d.ts.map +0 -1
  796. package/dist/tools/diffUtils.js +0 -528
  797. package/dist/tools/diffUtils.js.map +0 -1
  798. package/dist/tools/editTools.d.ts +0 -29
  799. package/dist/tools/editTools.d.ts.map +0 -1
  800. package/dist/tools/editTools.js +0 -419
  801. package/dist/tools/editTools.js.map +0 -1
  802. package/dist/tools/emailTools.d.ts +0 -21
  803. package/dist/tools/emailTools.d.ts.map +0 -1
  804. package/dist/tools/emailTools.js +0 -449
  805. package/dist/tools/emailTools.js.map +0 -1
  806. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +0 -27
  807. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +0 -1
  808. package/dist/tools/enhancedCodeIntelligenceTools.js +0 -418
  809. package/dist/tools/enhancedCodeIntelligenceTools.js.map +0 -1
  810. package/dist/tools/enhancedDevWorkflowTools.d.ts +0 -15
  811. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +0 -1
  812. package/dist/tools/enhancedDevWorkflowTools.js +0 -303
  813. package/dist/tools/enhancedDevWorkflowTools.js.map +0 -1
  814. package/dist/tools/fileTools.d.ts +0 -3
  815. package/dist/tools/fileTools.d.ts.map +0 -1
  816. package/dist/tools/fileTools.js +0 -334
  817. package/dist/tools/fileTools.js.map +0 -1
  818. package/dist/tools/frontendTestingTools.d.ts +0 -35
  819. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  820. package/dist/tools/frontendTestingTools.js +0 -1254
  821. package/dist/tools/frontendTestingTools.js.map +0 -1
  822. package/dist/tools/globTools.d.ts +0 -15
  823. package/dist/tools/globTools.d.ts.map +0 -1
  824. package/dist/tools/globTools.js +0 -174
  825. package/dist/tools/globTools.js.map +0 -1
  826. package/dist/tools/grepTools.d.ts +0 -19
  827. package/dist/tools/grepTools.d.ts.map +0 -1
  828. package/dist/tools/grepTools.js +0 -358
  829. package/dist/tools/grepTools.js.map +0 -1
  830. package/dist/tools/interactionTools.d.ts +0 -13
  831. package/dist/tools/interactionTools.d.ts.map +0 -1
  832. package/dist/tools/interactionTools.js +0 -171
  833. package/dist/tools/interactionTools.js.map +0 -1
  834. package/dist/tools/learnTools.d.ts +0 -152
  835. package/dist/tools/learnTools.d.ts.map +0 -1
  836. package/dist/tools/learnTools.js +0 -1942
  837. package/dist/tools/learnTools.js.map +0 -1
  838. package/dist/tools/localExplore.d.ts +0 -225
  839. package/dist/tools/localExplore.d.ts.map +0 -1
  840. package/dist/tools/localExplore.js +0 -1291
  841. package/dist/tools/localExplore.js.map +0 -1
  842. package/dist/tools/notebookEditTools.d.ts +0 -15
  843. package/dist/tools/notebookEditTools.d.ts.map +0 -1
  844. package/dist/tools/notebookEditTools.js +0 -197
  845. package/dist/tools/notebookEditTools.js.map +0 -1
  846. package/dist/tools/planningTools.d.ts +0 -21
  847. package/dist/tools/planningTools.d.ts.map +0 -1
  848. package/dist/tools/planningTools.js +0 -185
  849. package/dist/tools/planningTools.js.map +0 -1
  850. package/dist/tools/refactoringTools.d.ts +0 -3
  851. package/dist/tools/refactoringTools.d.ts.map +0 -1
  852. package/dist/tools/refactoringTools.js +0 -294
  853. package/dist/tools/refactoringTools.js.map +0 -1
  854. package/dist/tools/repoChecksTools.d.ts +0 -3
  855. package/dist/tools/repoChecksTools.d.ts.map +0 -1
  856. package/dist/tools/repoChecksTools.js +0 -161
  857. package/dist/tools/repoChecksTools.js.map +0 -1
  858. package/dist/tools/searchTools.d.ts +0 -3
  859. package/dist/tools/searchTools.d.ts.map +0 -1
  860. package/dist/tools/searchTools.js +0 -207
  861. package/dist/tools/searchTools.js.map +0 -1
  862. package/dist/tools/skillTools.d.ts +0 -8
  863. package/dist/tools/skillTools.d.ts.map +0 -1
  864. package/dist/tools/skillTools.js +0 -178
  865. package/dist/tools/skillTools.js.map +0 -1
  866. package/dist/tools/softwareEngineeringTools.d.ts +0 -7
  867. package/dist/tools/softwareEngineeringTools.d.ts.map +0 -1
  868. package/dist/tools/softwareEngineeringTools.js +0 -338
  869. package/dist/tools/softwareEngineeringTools.js.map +0 -1
  870. package/dist/tools/taskManagementTools.d.ts +0 -10
  871. package/dist/tools/taskManagementTools.d.ts.map +0 -1
  872. package/dist/tools/taskManagementTools.js +0 -157
  873. package/dist/tools/taskManagementTools.js.map +0 -1
  874. package/dist/tools/testingTools.d.ts +0 -3
  875. package/dist/tools/testingTools.d.ts.map +0 -1
  876. package/dist/tools/testingTools.js +0 -233
  877. package/dist/tools/testingTools.js.map +0 -1
  878. package/dist/tools/validationTools.d.ts +0 -7
  879. package/dist/tools/validationTools.d.ts.map +0 -1
  880. package/dist/tools/validationTools.js +0 -344
  881. package/dist/tools/validationTools.js.map +0 -1
  882. package/dist/tools/webTools.d.ts +0 -3
  883. package/dist/tools/webTools.d.ts.map +0 -1
  884. package/dist/tools/webTools.js +0 -502
  885. package/dist/tools/webTools.js.map +0 -1
  886. package/dist/ui/ShellUIAdapter.d.ts +0 -194
  887. package/dist/ui/ShellUIAdapter.d.ts.map +0 -1
  888. package/dist/ui/ShellUIAdapter.js +0 -1069
  889. package/dist/ui/ShellUIAdapter.js.map +0 -1
  890. package/dist/ui/UnifiedUIController.d.ts +0 -70
  891. package/dist/ui/UnifiedUIController.d.ts.map +0 -1
  892. package/dist/ui/UnifiedUIController.js +0 -190
  893. package/dist/ui/UnifiedUIController.js.map +0 -1
  894. package/dist/ui/animation/AnimationScheduler.d.ts +0 -192
  895. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  896. package/dist/ui/animation/AnimationScheduler.js +0 -432
  897. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  898. package/dist/ui/codeHighlighter.d.ts +0 -6
  899. package/dist/ui/codeHighlighter.d.ts.map +0 -1
  900. package/dist/ui/codeHighlighter.js +0 -855
  901. package/dist/ui/codeHighlighter.js.map +0 -1
  902. package/dist/ui/compactRenderer.d.ts +0 -139
  903. package/dist/ui/compactRenderer.d.ts.map +0 -1
  904. package/dist/ui/compactRenderer.js +0 -398
  905. package/dist/ui/compactRenderer.js.map +0 -1
  906. package/dist/ui/designSystem.d.ts +0 -26
  907. package/dist/ui/designSystem.d.ts.map +0 -1
  908. package/dist/ui/designSystem.js +0 -122
  909. package/dist/ui/designSystem.js.map +0 -1
  910. package/dist/ui/display.d.ts +0 -324
  911. package/dist/ui/display.d.ts.map +0 -1
  912. package/dist/ui/display.js +0 -1328
  913. package/dist/ui/display.js.map +0 -1
  914. package/dist/ui/errorFormatter.d.ts +0 -54
  915. package/dist/ui/errorFormatter.d.ts.map +0 -1
  916. package/dist/ui/errorFormatter.js +0 -251
  917. package/dist/ui/errorFormatter.js.map +0 -1
  918. package/dist/ui/globalWriteLock.d.ts +0 -38
  919. package/dist/ui/globalWriteLock.d.ts.map +0 -1
  920. package/dist/ui/globalWriteLock.js +0 -54
  921. package/dist/ui/globalWriteLock.js.map +0 -1
  922. package/dist/ui/inPlaceUpdater.d.ts +0 -181
  923. package/dist/ui/inPlaceUpdater.d.ts.map +0 -1
  924. package/dist/ui/inPlaceUpdater.js +0 -515
  925. package/dist/ui/inPlaceUpdater.js.map +0 -1
  926. package/dist/ui/interrupts/InterruptManager.d.ts +0 -142
  927. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  928. package/dist/ui/interrupts/InterruptManager.js +0 -439
  929. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  930. package/dist/ui/layout.d.ts +0 -17
  931. package/dist/ui/layout.d.ts.map +0 -1
  932. package/dist/ui/layout.js +0 -140
  933. package/dist/ui/layout.js.map +0 -1
  934. package/dist/ui/orchestration/StatusOrchestrator.d.ts +0 -156
  935. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +0 -1
  936. package/dist/ui/orchestration/StatusOrchestrator.js +0 -406
  937. package/dist/ui/orchestration/StatusOrchestrator.js.map +0 -1
  938. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +0 -77
  939. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +0 -1
  940. package/dist/ui/orchestration/UIUpdateCoordinator.js +0 -265
  941. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +0 -1
  942. package/dist/ui/outputMode.d.ts +0 -22
  943. package/dist/ui/outputMode.d.ts.map +0 -1
  944. package/dist/ui/outputMode.js +0 -40
  945. package/dist/ui/outputMode.js.map +0 -1
  946. package/dist/ui/richText.d.ts +0 -6
  947. package/dist/ui/richText.d.ts.map +0 -1
  948. package/dist/ui/richText.js +0 -391
  949. package/dist/ui/richText.js.map +0 -1
  950. package/dist/ui/shortcutsHelp.d.ts +0 -39
  951. package/dist/ui/shortcutsHelp.d.ts.map +0 -1
  952. package/dist/ui/shortcutsHelp.js +0 -152
  953. package/dist/ui/shortcutsHelp.js.map +0 -1
  954. package/dist/ui/streamingFormatter.d.ts +0 -17
  955. package/dist/ui/streamingFormatter.d.ts.map +0 -1
  956. package/dist/ui/streamingFormatter.js +0 -71
  957. package/dist/ui/streamingFormatter.js.map +0 -1
  958. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  959. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  960. package/dist/ui/telemetry/UITelemetry.js +0 -446
  961. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  962. package/dist/ui/textHighlighter.d.ts +0 -83
  963. package/dist/ui/textHighlighter.d.ts.map +0 -1
  964. package/dist/ui/textHighlighter.js +0 -267
  965. package/dist/ui/textHighlighter.js.map +0 -1
  966. package/dist/ui/theme.d.ts +0 -208
  967. package/dist/ui/theme.d.ts.map +0 -1
  968. package/dist/ui/theme.js +0 -249
  969. package/dist/ui/theme.js.map +0 -1
  970. package/dist/ui/toolDisplay.d.ts +0 -195
  971. package/dist/ui/toolDisplay.d.ts.map +0 -1
  972. package/dist/ui/toolDisplay.js +0 -1527
  973. package/dist/ui/toolDisplay.js.map +0 -1
  974. package/dist/ui/unified/index.d.ts +0 -50
  975. package/dist/ui/unified/index.d.ts.map +0 -1
  976. package/dist/ui/unified/index.js +0 -77
  977. package/dist/ui/unified/index.js.map +0 -1
  978. package/dist/ui/unified/layout.d.ts +0 -12
  979. package/dist/ui/unified/layout.d.ts.map +0 -1
  980. package/dist/ui/unified/layout.js +0 -96
  981. package/dist/ui/unified/layout.js.map +0 -1
  982. package/dist/ui/writeLock.d.ts +0 -65
  983. package/dist/ui/writeLock.d.ts.map +0 -1
  984. package/dist/ui/writeLock.js +0 -114
  985. package/dist/ui/writeLock.js.map +0 -1
  986. package/dist/utils/asyncUtils.d.ts +0 -95
  987. package/dist/utils/asyncUtils.d.ts.map +0 -1
  988. package/dist/utils/asyncUtils.js +0 -286
  989. package/dist/utils/asyncUtils.js.map +0 -1
  990. package/dist/utils/errorUtils.d.ts +0 -16
  991. package/dist/utils/errorUtils.d.ts.map +0 -1
  992. package/dist/utils/errorUtils.js +0 -66
  993. package/dist/utils/errorUtils.js.map +0 -1
  994. package/dist/utils/frontmatter.d.ts +0 -10
  995. package/dist/utils/frontmatter.d.ts.map +0 -1
  996. package/dist/utils/frontmatter.js +0 -78
  997. package/dist/utils/frontmatter.js.map +0 -1
  998. package/dist/utils/planFormatter.d.ts +0 -34
  999. package/dist/utils/planFormatter.d.ts.map +0 -1
  1000. package/dist/utils/planFormatter.js +0 -140
  1001. package/dist/utils/planFormatter.js.map +0 -1
  1002. package/dist/workspace.d.ts +0 -8
  1003. package/dist/workspace.d.ts.map +0 -1
  1004. package/dist/workspace.js +0 -107
  1005. package/dist/workspace.js.map +0 -1
  1006. package/dist/workspace.validator.d.ts +0 -49
  1007. package/dist/workspace.validator.d.ts.map +0 -1
  1008. package/dist/workspace.validator.js +0 -214
  1009. package/dist/workspace.validator.js.map +0 -1
@@ -1,1073 +0,0 @@
1
- /**
2
- * ContextManager - Manages conversation context to prevent token limit leaks
3
- *
4
- * Responsibilities:
5
- * - Truncate tool outputs intelligently
6
- * - Prune old conversation history with LLM summarization
7
- * - Track and estimate token usage
8
- * - Keep conversation within budget based on model context windows
9
- * - Proactively shrink context before hitting limits
10
- */
11
- import { calculateContextThresholds } from './contextWindow.js';
12
- /**
13
- * Summarization prompt template
14
- */
15
- export const SUMMARIZATION_PROMPT = `You are a context summarization assistant. Your task is to create a concise but comprehensive summary of the earlier conversation history.
16
-
17
- IMPORTANT GUIDELINES:
18
- 1. Preserve KEY INFORMATION that may be needed for future reference:
19
- - File paths and locations mentioned
20
- - Variable names, function names, class names
21
- - Error messages and their solutions
22
- - User preferences and decisions
23
- - Important code snippets (keep brief)
24
- - Task progress and what was accomplished
25
-
26
- 2. Keep the summary CONCISE but COMPLETE:
27
- - Focus on facts and outcomes, not back-and-forth dialogue
28
- - Use bullet points for clarity
29
- - Group related information together
30
- - Skip pleasantries and redundant confirmations
31
-
32
- 3. Format the summary as:
33
- ## Key Context
34
- - [Important decisions and preferences]
35
-
36
- ## Work Completed
37
- - [What was done, files modified, etc.]
38
-
39
- ## Important Details
40
- - [File paths, function names, error solutions, etc.]
41
-
42
- Summarize the following conversation history:
43
-
44
- {conversation}`;
45
- /**
46
- * Pre-defined AI Flow Patterns for intelligent context management
47
- */
48
- export const DEFAULT_AI_FLOW_PATTERNS = [
49
- {
50
- patternId: 'read_edit_workflow',
51
- description: 'Standard file modification workflow',
52
- toolSequence: ['read', 'edit'],
53
- contextImpact: 1500,
54
- compactionOpportunity: true,
55
- preservationPriority: 8,
56
- },
57
- {
58
- patternId: 'analysis_phase',
59
- description: 'Code analysis and exploration phase',
60
- toolSequence: ['read', 'grep', 'glob', 'search'],
61
- contextImpact: 3000,
62
- compactionOpportunity: true,
63
- preservationPriority: 6,
64
- },
65
- {
66
- patternId: 'implementation_phase',
67
- description: 'Active code implementation phase',
68
- toolSequence: ['edit', 'write'],
69
- contextImpact: 2000,
70
- compactionOpportunity: false, // Preserve implementation context
71
- preservationPriority: 9,
72
- },
73
- {
74
- patternId: 'validation_phase',
75
- description: 'Code validation and testing phase',
76
- toolSequence: ['run_tests', 'run_build', 'run_repo_checks'],
77
- contextImpact: 1000,
78
- compactionOpportunity: true,
79
- preservationPriority: 5,
80
- },
81
- {
82
- patternId: 'parallel_execution',
83
- description: 'Efficient parallel tool usage',
84
- toolSequence: ['read', 'read', 'read'], // Multiple parallel reads
85
- contextImpact: 2500,
86
- compactionOpportunity: true,
87
- preservationPriority: 7,
88
- },
89
- {
90
- patternId: 'git_workflow',
91
- description: 'Git operations workflow',
92
- toolSequence: ['git_smart_commit', 'git_sync', 'git_create_pr'],
93
- contextImpact: 1200,
94
- compactionOpportunity: true,
95
- preservationPriority: 6,
96
- },
97
- ];
98
- export class ContextManager {
99
- config;
100
- constructor(config = {}) {
101
- this.config = {
102
- maxTokens: 130000, // Leave room below 131072 limit
103
- targetTokens: 100000, // Target to trigger pruning
104
- maxToolOutputLength: 10000, // 10k chars max per tool output
105
- preserveRecentMessages: 10, // Keep last 10 user/assistant exchanges
106
- estimatedCharsPerToken: 4,
107
- ...config,
108
- };
109
- }
110
- /**
111
- * Truncate tool output intelligently
112
- */
113
- truncateToolOutput(output, toolName) {
114
- const originalLength = output.length;
115
- if (originalLength <= this.config.maxToolOutputLength) {
116
- return {
117
- content: output,
118
- wasTruncated: false,
119
- originalLength,
120
- truncatedLength: originalLength,
121
- };
122
- }
123
- // Intelligent truncation based on tool type
124
- const truncated = this.intelligentTruncate(output, toolName);
125
- const truncatedLength = truncated.length;
126
- return {
127
- content: truncated,
128
- wasTruncated: true,
129
- originalLength,
130
- truncatedLength,
131
- };
132
- }
133
- /**
134
- * Intelligent truncation based on tool type
135
- */
136
- intelligentTruncate(output, toolName) {
137
- const maxLength = this.config.maxToolOutputLength;
138
- // For file reads, show beginning and end
139
- if (toolName === 'Read' || toolName === 'read_file') {
140
- return this.truncateFileOutput(output, maxLength);
141
- }
142
- // For search results, keep first N results
143
- if (toolName === 'Grep' || toolName === 'grep_search' || toolName === 'Glob') {
144
- return this.truncateSearchOutput(output, maxLength);
145
- }
146
- // For bash/command output, keep end (usually most relevant)
147
- if (toolName === 'Bash' || toolName === 'bash' || toolName === 'execute_bash') {
148
- return this.truncateBashOutput(output, maxLength);
149
- }
150
- // Default: show beginning with truncation notice
151
- return this.truncateDefault(output, maxLength);
152
- }
153
- truncateFileOutput(output, maxLength) {
154
- const lines = output.split('\n');
155
- if (lines.length <= 100) {
156
- // For small files, just truncate text
157
- return this.truncateDefault(output, maxLength);
158
- }
159
- // Show first 50 and last 50 lines
160
- const keepLines = Math.floor(maxLength / 100); // Rough estimate
161
- const headLines = lines.slice(0, keepLines);
162
- const tailLines = lines.slice(-keepLines);
163
- const truncatedCount = lines.length - (keepLines * 2);
164
- return [
165
- ...headLines,
166
- `\n... [${truncatedCount} lines truncated for context management] ...\n`,
167
- ...tailLines,
168
- ].join('\n');
169
- }
170
- truncateSearchOutput(output, maxLength) {
171
- const lines = output.split('\n');
172
- const keepLines = Math.floor(maxLength / 80); // Rough average line length
173
- if (lines.length <= keepLines) {
174
- return output;
175
- }
176
- const truncatedCount = lines.length - keepLines;
177
- return [
178
- ...lines.slice(0, keepLines),
179
- `\n... [${truncatedCount} more results truncated for context management] ...`,
180
- ].join('\n');
181
- }
182
- truncateBashOutput(output, maxLength) {
183
- if (output.length <= maxLength) {
184
- return output;
185
- }
186
- // For command output, the end is usually most important (errors, final status)
187
- const keepChars = Math.floor(maxLength * 0.8); // 80% at end
188
- const prefixChars = maxLength - keepChars - 100; // Small prefix
189
- const prefix = output.slice(0, prefixChars);
190
- const suffix = output.slice(-keepChars);
191
- const truncatedChars = output.length - prefixChars - keepChars;
192
- return `${prefix}\n\n... [${truncatedChars} characters truncated for context management] ...\n\n${suffix}`;
193
- }
194
- truncateDefault(output, maxLength) {
195
- if (output.length <= maxLength) {
196
- return output;
197
- }
198
- const truncatedChars = output.length - maxLength + 100; // Account for notice
199
- return `${output.slice(0, maxLength - 100)}\n\n... [${truncatedChars} characters truncated for context management] ...`;
200
- }
201
- /**
202
- * Estimate tokens in a message
203
- */
204
- estimateTokens(message) {
205
- let charCount = 0;
206
- if (message.content) {
207
- charCount += message.content.length;
208
- }
209
- if (message.role === 'assistant' && message.toolCalls) {
210
- // Tool calls add overhead
211
- for (const call of message.toolCalls) {
212
- charCount += call.name.length;
213
- charCount += JSON.stringify(call.arguments).length;
214
- }
215
- }
216
- return Math.ceil(charCount / this.config.estimatedCharsPerToken);
217
- }
218
- /**
219
- * Detect context overflow risk from recent tool usage patterns
220
- */
221
- detectContextOverflowRisk(toolCalls) {
222
- const recentTools = toolCalls.slice(-10); // Last 10 tools
223
- // Check for broad search patterns without limits
224
- const broadSearches = recentTools.filter(tool => tool.includes('Glob') && !tool.includes('head_limit'));
225
- // Check for multiple large file reads
226
- const fileReads = recentTools.filter(tool => tool.includes('Read') || tool.includes('read_file'));
227
- // Check for redundant context_snapshot calls
228
- const contextSnapshots = recentTools.filter(tool => tool.includes('context_snapshot'));
229
- // Risk threshold: 2+ broad searches OR 5+ file reads OR 1+ context_snapshot
230
- return broadSearches.length >= 2 ||
231
- fileReads.length >= 5 ||
232
- contextSnapshots.length >= 1;
233
- }
234
- /**
235
- * Estimate total tokens in conversation
236
- */
237
- estimateTotalTokens(messages) {
238
- return messages.reduce((sum, msg) => sum + this.estimateTokens(msg), 0);
239
- }
240
- /**
241
- * Prune old messages when approaching limit
242
- *
243
- * Synchronously removes old messages to stay within budget.
244
- * If LLM summarization is available and enabled, this method will be async.
245
- */
246
- pruneMessages(messages) {
247
- const totalTokens = this.estimateTotalTokens(messages);
248
- // Only prune if we're above target
249
- if (totalTokens < this.config.targetTokens) {
250
- return { pruned: messages, removed: 0 };
251
- }
252
- // Always keep system message (first)
253
- const firstMessage = messages[0];
254
- const systemMessage = firstMessage?.role === 'system' ? firstMessage : null;
255
- const conversationMessages = systemMessage ? messages.slice(1) : messages;
256
- // Group messages into "turns" to maintain tool call/result pairing
257
- // A turn is: [user] or [assistant + all its tool results]
258
- const turns = [];
259
- let currentTurn = [];
260
- for (const msg of conversationMessages) {
261
- if (msg.role === 'user') {
262
- if (currentTurn.length > 0) {
263
- turns.push(currentTurn);
264
- }
265
- currentTurn = [msg];
266
- }
267
- else if (msg.role === 'assistant') {
268
- if (currentTurn.length > 0) {
269
- turns.push(currentTurn);
270
- }
271
- currentTurn = [msg];
272
- }
273
- else if (msg.role === 'tool') {
274
- // Tool results belong with the current assistant turn
275
- currentTurn.push(msg);
276
- }
277
- }
278
- if (currentTurn.length > 0) {
279
- turns.push(currentTurn);
280
- }
281
- // Keep recent turns based on preserveRecentMessages (count user turns)
282
- const recentTurns = [];
283
- let exchangeCount = 0;
284
- for (let i = turns.length - 1; i >= 0; i--) {
285
- const turn = turns[i];
286
- if (!turn || turn.length === 0)
287
- continue;
288
- recentTurns.unshift(turn);
289
- // Count user messages as exchanges
290
- if (turn[0]?.role === 'user') {
291
- exchangeCount++;
292
- if (exchangeCount >= this.config.preserveRecentMessages) {
293
- break;
294
- }
295
- }
296
- }
297
- // IMPORTANT: Ensure we don't start with orphaned tool messages
298
- // The first kept turn must start with user or assistant (not tool)
299
- let startIndex = 0;
300
- while (startIndex < recentTurns.length) {
301
- const firstTurn = recentTurns[startIndex];
302
- if (firstTurn && firstTurn.length > 0 && firstTurn[0]?.role === 'tool') {
303
- startIndex++;
304
- continue;
305
- }
306
- // Also check for assistant turns with missing tool results
307
- if (firstTurn && firstTurn[0]?.role === 'assistant') {
308
- const assistantMsg = firstTurn[0];
309
- if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {
310
- // PERF: Pre-compute tool call IDs once, use direct Set lookup
311
- const toolCallIds = assistantMsg.toolCalls.map(tc => tc.id);
312
- const presentToolResultIds = new Set(firstTurn.filter(m => m.role === 'tool').map(m => m.toolCallId));
313
- // If NOT all tool calls have results, skip this turn
314
- // PERF: Direct has() calls instead of spread + every()
315
- let allPresent = true;
316
- for (const id of toolCallIds) {
317
- if (!presentToolResultIds.has(id)) {
318
- allPresent = false;
319
- break;
320
- }
321
- }
322
- if (!allPresent) {
323
- startIndex++;
324
- continue;
325
- }
326
- }
327
- }
328
- break;
329
- }
330
- const validTurns = recentTurns.slice(startIndex);
331
- // Flatten turns back to messages
332
- const recentMessages = validTurns.flat();
333
- // Build pruned message list
334
- const pruned = [];
335
- if (systemMessage) {
336
- pruned.push(systemMessage);
337
- }
338
- // Add a context summary message if we removed messages
339
- const removedCount = conversationMessages.length - recentMessages.length;
340
- if (removedCount > 0) {
341
- pruned.push({
342
- role: 'system',
343
- content: `[Context Manager: Removed ${removedCount} old messages to stay within token budget. Recent conversation history preserved.]`,
344
- });
345
- }
346
- pruned.push(...recentMessages);
347
- return {
348
- pruned,
349
- removed: removedCount,
350
- };
351
- }
352
- /**
353
- * Prune messages with LLM-based summarization
354
- *
355
- * This is an async version that uses the LLM to create intelligent summaries
356
- * instead of just removing old messages. Should be called BEFORE generation.
357
- */
358
- async pruneMessagesWithSummary(messages) {
359
- const totalTokens = this.estimateTotalTokens(messages);
360
- // Only prune if we're above target
361
- if (totalTokens < this.config.targetTokens) {
362
- return { pruned: messages, removed: 0, summarized: false };
363
- }
364
- // If no summarization callback or disabled, fall back to simple pruning
365
- if (!this.config.summarizationCallback || !this.config.useLLMSummarization) {
366
- const result = this.pruneMessages(messages);
367
- return { ...result, summarized: false };
368
- }
369
- // Partition messages
370
- const firstMessage = messages[0];
371
- const systemMessage = firstMessage?.role === 'system' ? firstMessage : null;
372
- const conversationMessages = systemMessage ? messages.slice(1) : messages;
373
- // Group messages into "turns" to maintain tool call/result pairing
374
- const turns = [];
375
- let currentTurn = [];
376
- for (const msg of conversationMessages) {
377
- if (msg.role === 'user') {
378
- if (currentTurn.length > 0) {
379
- turns.push(currentTurn);
380
- }
381
- currentTurn = [msg];
382
- }
383
- else if (msg.role === 'assistant') {
384
- if (currentTurn.length > 0) {
385
- turns.push(currentTurn);
386
- }
387
- currentTurn = [msg];
388
- }
389
- else if (msg.role === 'tool') {
390
- currentTurn.push(msg);
391
- }
392
- }
393
- if (currentTurn.length > 0) {
394
- turns.push(currentTurn);
395
- }
396
- // Keep recent turns based on preserveRecentMessages
397
- const recentTurns = [];
398
- let exchangeCount = 0;
399
- for (let i = turns.length - 1; i >= 0; i--) {
400
- const turn = turns[i];
401
- if (!turn || turn.length === 0)
402
- continue;
403
- recentTurns.unshift(turn);
404
- if (turn[0]?.role === 'user') {
405
- exchangeCount++;
406
- if (exchangeCount >= this.config.preserveRecentMessages) {
407
- break;
408
- }
409
- }
410
- }
411
- // Ensure we don't start with orphaned tool messages
412
- let startIndex = 0;
413
- while (startIndex < recentTurns.length) {
414
- const firstTurn = recentTurns[startIndex];
415
- if (firstTurn && firstTurn.length > 0 && firstTurn[0]?.role === 'tool') {
416
- startIndex++;
417
- continue;
418
- }
419
- if (firstTurn && firstTurn[0]?.role === 'assistant') {
420
- const assistantMsg = firstTurn[0];
421
- if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {
422
- // PERF: Pre-compute tool call IDs once, use direct Set lookup
423
- const toolCallIds = assistantMsg.toolCalls.map(tc => tc.id);
424
- const presentToolResultIds = new Set(firstTurn.filter(m => m.role === 'tool').map(m => m.toolCallId));
425
- // PERF: Direct has() calls instead of spread + every()
426
- let allPresent = true;
427
- for (const id of toolCallIds) {
428
- if (!presentToolResultIds.has(id)) {
429
- allPresent = false;
430
- break;
431
- }
432
- }
433
- if (!allPresent) {
434
- startIndex++;
435
- continue;
436
- }
437
- }
438
- }
439
- break;
440
- }
441
- const validTurns = recentTurns.slice(startIndex);
442
- const recentMessages = validTurns.flat();
443
- // Determine which turns to summarize
444
- const keepTurnCount = validTurns.length;
445
- const summarizeTurns = turns.slice(0, turns.length - keepTurnCount - startIndex);
446
- const toSummarize = summarizeTurns.flat();
447
- // If nothing to summarize, return as-is
448
- if (toSummarize.length === 0) {
449
- return { pruned: messages, removed: 0, summarized: false };
450
- }
451
- try {
452
- // Call the LLM to summarize old messages
453
- const summary = await this.config.summarizationCallback(toSummarize);
454
- // Build pruned message list with summary
455
- const pruned = [];
456
- if (systemMessage) {
457
- pruned.push(systemMessage);
458
- }
459
- // Add intelligent summary
460
- pruned.push({
461
- role: 'system',
462
- content: [
463
- '=== Context Summary (Auto-generated) ===',
464
- summary.trim(),
465
- '',
466
- `[Summarized ${toSummarize.length} earlier messages. Recent ${recentMessages.length} messages preserved below.]`,
467
- ].join('\n'),
468
- });
469
- pruned.push(...recentMessages);
470
- return {
471
- pruned,
472
- removed: toSummarize.length,
473
- summarized: true,
474
- };
475
- }
476
- catch (error) {
477
- // If summarization fails, fall back to simple pruning
478
- const result = this.pruneMessages(messages);
479
- return { ...result, summarized: false };
480
- }
481
- }
482
- /**
483
- * Check if we're approaching the limit
484
- */
485
- isApproachingLimit(messages) {
486
- const totalTokens = this.estimateTotalTokens(messages);
487
- return totalTokens >= this.config.targetTokens;
488
- }
489
- /**
490
- * Get warning level for current context usage
491
- * Returns: null (no warning), 'info' (<70%), 'warning' (70-90%), 'danger' (>90%)
492
- */
493
- getWarningLevel(messages) {
494
- const totalTokens = this.estimateTotalTokens(messages);
495
- const percentage = (totalTokens / this.config.maxTokens) * 100;
496
- if (percentage > 90) {
497
- return 'danger';
498
- }
499
- else if (percentage > 70) {
500
- return 'warning';
501
- }
502
- else if (percentage > 50) {
503
- return 'info';
504
- }
505
- return null;
506
- }
507
- /**
508
- * Get a human-readable warning message
509
- */
510
- getWarningMessage(messages) {
511
- const stats = this.getStats(messages);
512
- const warningLevel = this.getWarningLevel(messages);
513
- if (warningLevel === 'danger') {
514
- return `⚠️ Context usage critical (${stats.percentage}%). Consider starting a new session or the next request may fail.`;
515
- }
516
- else if (warningLevel === 'warning') {
517
- return `Context usage high (${stats.percentage}%). Automatic cleanup will occur soon.`;
518
- }
519
- return null;
520
- }
521
- /**
522
- * Get context stats
523
- */
524
- getStats(messages) {
525
- const totalTokens = this.estimateTotalTokens(messages);
526
- const percentage = Math.round((totalTokens / this.config.maxTokens) * 100);
527
- return {
528
- totalTokens,
529
- percentage,
530
- isOverLimit: totalTokens >= this.config.maxTokens,
531
- isApproachingLimit: totalTokens >= this.config.targetTokens,
532
- };
533
- }
534
- /**
535
- * Update configuration
536
- */
537
- updateConfig(config) {
538
- this.config = { ...this.config, ...config };
539
- }
540
- // ============================================================================
541
- // INTELLIGENT COMPACTION SYSTEM
542
- // Automatically detects optimal points for conversation compaction
543
- // ============================================================================
544
- /**
545
- * Default patterns that indicate task boundaries
546
- */
547
- static DEFAULT_TASK_BOUNDARY_PATTERNS = [
548
- // Completion indicators
549
- /\b(done|completed|finished|fixed|resolved|implemented|added|created|updated)\b/i,
550
- /\b(all\s+(?:tests?\s+)?pass(?:ing|ed)?)\b/i,
551
- /\b(successfully|works?\s+(?:now|correctly))\b/i,
552
- // Transition indicators
553
- /\b(next|now\s+(?:let's|we\s+can)|moving\s+on)\b/i,
554
- /\b(that's\s+(?:it|all|done))\b/i,
555
- // Acknowledgment patterns
556
- /^(?:great|perfect|thanks|thank\s+you|got\s+it|understood)\b/i,
557
- ];
558
- /**
559
- * Patterns indicating topic/task shifts
560
- */
561
- static TOPIC_SHIFT_PATTERNS = [
562
- /\b(different|another|new|separate|unrelated)\s+(?:task|thing|topic|issue|question)\b/i,
563
- /\b(can\s+you|could\s+you|please|now|let's)\s+(?:also|help|do|make|create|fix|add)\b/i,
564
- /\b(switching|changing|moving)\s+to\b/i,
565
- /\b(forget|ignore|never\s*mind)\s+(?:that|the|about)\b/i,
566
- /^(?:ok|okay|alright|anyway|so)\s*[,.]?\s*(?:can|could|now|let|please)/i,
567
- ];
568
- /**
569
- * Patterns indicating user pivots (abandoning current direction)
570
- */
571
- static USER_PIVOT_PATTERNS = [
572
- /\b(actually|wait|hold\s+on|stop|cancel|scratch\s+that)\b/i,
573
- /\b(let's\s+(?:try|do)\s+(?:something|it)\s+(?:else|differently))\b/i,
574
- /\b(go\s+back|revert|undo|start\s+over)\b/i,
575
- /\b(wrong|not\s+(?:what|right)|that's\s+not)\b/i,
576
- ];
577
- /**
578
- * Analyze the conversation to detect intelligent compaction points
579
- */
580
- analyzeCompactionPoints(messages) {
581
- const signals = [];
582
- const totalTokens = this.estimateTotalTokens(messages);
583
- const tokenPercentage = totalTokens / this.config.maxTokens;
584
- const compactionThreshold = this.config.compactionThreshold ?? 0.5;
585
- const minConfidence = this.config.minSignalConfidence ?? 0.6;
586
- // Don't analyze if below threshold
587
- if (tokenPercentage < compactionThreshold) {
588
- return {
589
- shouldCompact: false,
590
- signals: [],
591
- recommendedCompactionPoint: null,
592
- urgency: 'none',
593
- preserveFromIndex: 0,
594
- };
595
- }
596
- // Analyze each message for compaction signals
597
- for (let i = 0; i < messages.length; i++) {
598
- const msg = messages[i];
599
- if (!msg)
600
- continue;
601
- // Detect task boundaries
602
- const taskBoundary = this.detectTaskBoundary(msg, i, messages);
603
- if (taskBoundary && taskBoundary.confidence >= minConfidence) {
604
- signals.push(taskBoundary);
605
- }
606
- // Detect topic shifts
607
- const topicShift = this.detectTopicShift(msg, i, messages);
608
- if (topicShift && topicShift.confidence >= minConfidence) {
609
- signals.push(topicShift);
610
- }
611
- // Detect user pivots
612
- const userPivot = this.detectUserPivot(msg, i);
613
- if (userPivot && userPivot.confidence >= minConfidence) {
614
- signals.push(userPivot);
615
- }
616
- // Detect context saturation (tool output heavy regions)
617
- const saturation = this.detectContextSaturation(msg, i, messages);
618
- if (saturation && saturation.confidence >= minConfidence) {
619
- signals.push(saturation);
620
- }
621
- // Detect milestones
622
- const milestone = this.detectMilestone(msg, i, messages);
623
- if (milestone && milestone.confidence >= minConfidence) {
624
- signals.push(milestone);
625
- }
626
- }
627
- // Determine urgency based on token percentage
628
- const urgency = this.calculateUrgency(tokenPercentage);
629
- // Find the best compaction point
630
- const recommendedPoint = this.findBestCompactionPoint(signals, messages, urgency);
631
- // Calculate preserve index (everything after this should be kept)
632
- const preserveFromIndex = recommendedPoint !== null
633
- ? this.findSafePreservePoint(recommendedPoint, messages)
634
- : messages.length;
635
- return {
636
- shouldCompact: signals.length > 0 && urgency !== 'none',
637
- signals,
638
- recommendedCompactionPoint: recommendedPoint,
639
- urgency,
640
- preserveFromIndex,
641
- };
642
- }
643
- /**
644
- * Detect task boundary signals
645
- */
646
- detectTaskBoundary(msg, index, messages) {
647
- if (msg.role !== 'user' && msg.role !== 'assistant')
648
- return null;
649
- const content = msg.content || '';
650
- const patterns = this.config.taskBoundaryPatterns
651
- ? this.config.taskBoundaryPatterns.map(p => new RegExp(p, 'i'))
652
- : ContextManager.DEFAULT_TASK_BOUNDARY_PATTERNS;
653
- let matchCount = 0;
654
- const reasons = [];
655
- for (const pattern of patterns) {
656
- if (pattern.test(content)) {
657
- matchCount++;
658
- reasons.push(pattern.source.slice(0, 30));
659
- }
660
- }
661
- if (matchCount === 0)
662
- return null;
663
- // Higher confidence if followed by a new user message with different intent
664
- let confidence = Math.min(0.4 + matchCount * 0.2, 0.9);
665
- // Boost confidence if this looks like a conclusion
666
- if (msg.role === 'assistant' && this.looksLikeConclusion(content)) {
667
- confidence = Math.min(confidence + 0.2, 0.95);
668
- }
669
- // Boost if next user message starts a new topic
670
- const nextUserMsg = messages.slice(index + 1).find(m => m.role === 'user');
671
- if (nextUserMsg && this.isNewTopic(content, nextUserMsg.content || '')) {
672
- confidence = Math.min(confidence + 0.15, 0.95);
673
- }
674
- return {
675
- type: 'task_boundary',
676
- confidence,
677
- messageIndex: index,
678
- reason: `Task completion detected: ${reasons.slice(0, 2).join(', ')}`,
679
- };
680
- }
681
- /**
682
- * Detect topic shift signals
683
- */
684
- detectTopicShift(msg, index, messages) {
685
- if (msg.role !== 'user')
686
- return null;
687
- const content = msg.content || '';
688
- const sensitivity = this.config.topicShiftSensitivity ?? 0.7;
689
- // Check explicit shift patterns
690
- for (const pattern of ContextManager.TOPIC_SHIFT_PATTERNS) {
691
- if (pattern.test(content)) {
692
- return {
693
- type: 'topic_shift',
694
- confidence: 0.7 + sensitivity * 0.2,
695
- messageIndex: index,
696
- reason: 'Explicit topic shift language detected',
697
- };
698
- }
699
- }
700
- // Check semantic shift from previous context
701
- const prevMessages = messages.slice(Math.max(0, index - 5), index);
702
- const prevContent = prevMessages
703
- .filter(m => m.role === 'user' || m.role === 'assistant')
704
- .map(m => m.content || '')
705
- .join(' ');
706
- if (prevContent && this.isNewTopic(prevContent, content)) {
707
- return {
708
- type: 'topic_shift',
709
- confidence: 0.6 + sensitivity * 0.2,
710
- messageIndex: index,
711
- reason: 'Semantic topic shift detected',
712
- };
713
- }
714
- return null;
715
- }
716
- /**
717
- * Detect user pivot signals (abandoning current direction)
718
- */
719
- detectUserPivot(msg, index) {
720
- if (msg.role !== 'user')
721
- return null;
722
- const content = msg.content || '';
723
- for (const pattern of ContextManager.USER_PIVOT_PATTERNS) {
724
- if (pattern.test(content)) {
725
- return {
726
- type: 'user_pivot',
727
- confidence: 0.85,
728
- messageIndex: index,
729
- reason: 'User pivot/direction change detected',
730
- };
731
- }
732
- }
733
- return null;
734
- }
735
- /**
736
- * Detect context saturation (heavy tool output regions)
737
- */
738
- detectContextSaturation(msg, index, messages) {
739
- if (msg.role !== 'tool')
740
- return null;
741
- // Look at the surrounding region
742
- const windowStart = Math.max(0, index - 10);
743
- const windowEnd = Math.min(messages.length, index + 5);
744
- const window = messages.slice(windowStart, windowEnd);
745
- // Count tool messages and their sizes
746
- let toolCount = 0;
747
- let totalToolSize = 0;
748
- for (const m of window) {
749
- if (m.role === 'tool') {
750
- toolCount++;
751
- totalToolSize += (m.content || '').length;
752
- }
753
- }
754
- // High saturation if many tool outputs with large content
755
- if (toolCount >= 5 && totalToolSize > 20000) {
756
- // Find the last tool message in this cluster as compaction point
757
- let lastToolIndex = index;
758
- for (let i = index + 1; i < windowEnd; i++) {
759
- if (messages[i]?.role === 'tool') {
760
- lastToolIndex = i;
761
- }
762
- else if (messages[i]?.role === 'user') {
763
- break; // Stop at next user message
764
- }
765
- }
766
- return {
767
- type: 'context_saturation',
768
- confidence: Math.min(0.5 + toolCount * 0.05, 0.85),
769
- messageIndex: lastToolIndex,
770
- reason: `Heavy tool output region (${toolCount} tools, ${Math.round(totalToolSize / 1000)}k chars)`,
771
- };
772
- }
773
- return null;
774
- }
775
- /**
776
- * Detect milestone signals (significant accomplishments)
777
- */
778
- detectMilestone(msg, index, _messages) {
779
- if (msg.role !== 'assistant')
780
- return null;
781
- const content = msg.content || '';
782
- // Look for milestone indicators
783
- const milestonePatterns = [
784
- /\b(commit(?:ted)?|pushed|deployed|merged|released)\b/i,
785
- /\b(all\s+tests?\s+pass(?:ing|ed)?)\b/i,
786
- /\b(build\s+(?:succeed|success|pass))\b/i,
787
- /\b(feature\s+(?:complete|done|ready))\b/i,
788
- /\b(pr\s+(?:created|opened|merged))\b/i,
789
- ];
790
- for (const pattern of milestonePatterns) {
791
- if (pattern.test(content)) {
792
- return {
793
- type: 'milestone',
794
- confidence: 0.9,
795
- messageIndex: index,
796
- reason: 'Significant milestone achieved',
797
- };
798
- }
799
- }
800
- return null;
801
- }
802
- /**
803
- * Check if content looks like a task conclusion
804
- */
805
- looksLikeConclusion(content) {
806
- const conclusionPatterns = [
807
- /\b(let\s+me\s+know|feel\s+free|if\s+you\s+(?:need|have|want))\b/i,
808
- /\b(anything\s+else|other\s+questions?)\b/i,
809
- /\b(should\s+be\s+(?:good|working|ready|done))\b/i,
810
- /\b(that\s+should|this\s+(?:should|will))\s+(?:fix|solve|work)/i,
811
- ];
812
- return conclusionPatterns.some(p => p.test(content));
813
- }
814
- /**
815
- * Check if two contents represent different topics (simple heuristic)
816
- */
817
- isNewTopic(prevContent, newContent) {
818
- // Extract key terms (simple tokenization)
819
- const extractTerms = (text) => {
820
- const words = text.toLowerCase()
821
- .replace(/[^a-z0-9\s]/g, ' ')
822
- .split(/\s+/)
823
- .filter(w => w.length > 3);
824
- return new Set(words);
825
- };
826
- const prevTerms = extractTerms(prevContent);
827
- const newTerms = extractTerms(newContent);
828
- if (prevTerms.size === 0 || newTerms.size === 0)
829
- return false;
830
- // Calculate overlap
831
- let overlap = 0;
832
- for (const term of newTerms) {
833
- if (prevTerms.has(term))
834
- overlap++;
835
- }
836
- const overlapRatio = overlap / Math.min(prevTerms.size, newTerms.size);
837
- // Low overlap suggests new topic
838
- return overlapRatio < 0.2;
839
- }
840
- /**
841
- * Calculate urgency level based on token percentage
842
- */
843
- calculateUrgency(tokenPercentage) {
844
- if (tokenPercentage >= 0.9)
845
- return 'critical';
846
- if (tokenPercentage >= 0.75)
847
- return 'high';
848
- if (tokenPercentage >= 0.6)
849
- return 'medium';
850
- if (tokenPercentage >= 0.5)
851
- return 'low';
852
- return 'none';
853
- }
854
- /**
855
- * Find the best compaction point from signals
856
- */
857
- findBestCompactionPoint(signals, messages, urgency) {
858
- if (signals.length === 0)
859
- return null;
860
- // Score each signal based on type priority and confidence
861
- const typePriority = {
862
- milestone: 1.0,
863
- task_boundary: 0.9,
864
- user_pivot: 0.85,
865
- ai_flow_pattern: 0.82, // AI flow patterns like thinking/tool use cycles
866
- topic_shift: 0.8,
867
- context_saturation: 0.7,
868
- };
869
- // Urgency affects how far back we're willing to compact
870
- const urgencyDepth = {
871
- none: 0,
872
- low: 0.3, // Compact only recent 30%
873
- medium: 0.5,
874
- high: 0.7,
875
- critical: 0.9,
876
- };
877
- const maxDepth = urgencyDepth[urgency] ?? 0.5;
878
- const minIndex = Math.floor(messages.length * (1 - maxDepth));
879
- // Find highest scoring signal within allowed depth
880
- let bestSignal = null;
881
- let bestScore = 0;
882
- for (const signal of signals) {
883
- if (signal.messageIndex < minIndex)
884
- continue;
885
- const score = signal.confidence * typePriority[signal.type];
886
- if (score > bestScore) {
887
- bestScore = score;
888
- bestSignal = signal;
889
- }
890
- }
891
- return bestSignal?.messageIndex ?? null;
892
- }
893
- /**
894
- * Find a safe preservation point that doesn't break tool call chains
895
- */
896
- findSafePreservePoint(compactionPoint, messages) {
897
- // Start from compaction point and move forward to find a safe break
898
- for (let i = compactionPoint + 1; i < messages.length; i++) {
899
- const msg = messages[i];
900
- if (!msg)
901
- continue;
902
- // Safe if it's a user message
903
- if (msg.role === 'user') {
904
- return i;
905
- }
906
- // Safe if it's an assistant without pending tool calls
907
- if (msg.role === 'assistant' && !msg.toolCalls?.length) {
908
- return i;
909
- }
910
- }
911
- // If no safe point found, keep more messages
912
- return Math.min(compactionPoint + 1, messages.length);
913
- }
914
- /**
915
- * Perform intelligent compaction based on analysis
916
- * This method analyzes the conversation and compacts at the optimal point
917
- */
918
- async intelligentCompact(messages) {
919
- // Analyze for compaction points
920
- const analysis = this.analyzeCompactionPoints(messages);
921
- // If no compaction needed or no good point found
922
- if (!analysis.shouldCompact || analysis.recommendedCompactionPoint === null) {
923
- return {
924
- compacted: messages,
925
- analysis,
926
- summarized: false,
927
- };
928
- }
929
- // Separate messages to summarize and preserve
930
- const firstMessage = messages[0];
931
- const systemMessage = firstMessage?.role === 'system' ? firstMessage : null;
932
- const startIndex = systemMessage ? 1 : 0;
933
- const toSummarize = messages.slice(startIndex, analysis.preserveFromIndex);
934
- const toPreserve = messages.slice(analysis.preserveFromIndex);
935
- // If nothing to summarize, return as-is
936
- if (toSummarize.length === 0) {
937
- return {
938
- compacted: messages,
939
- analysis,
940
- summarized: false,
941
- };
942
- }
943
- // Build result
944
- const compacted = [];
945
- if (systemMessage) {
946
- compacted.push(systemMessage);
947
- }
948
- // Try LLM summarization if available
949
- if (this.config.summarizationCallback && this.config.useLLMSummarization !== false) {
950
- try {
951
- const summary = await this.config.summarizationCallback(toSummarize);
952
- compacted.push({
953
- role: 'system',
954
- content: [
955
- '=== Intelligent Context Summary ===',
956
- `Compaction triggered: ${analysis.signals[0]?.reason || 'Context optimization'}`,
957
- '',
958
- summary.trim(),
959
- '',
960
- `[Summarized ${toSummarize.length} messages. ${toPreserve.length} recent messages preserved.]`,
961
- ].join('\n'),
962
- });
963
- compacted.push(...toPreserve);
964
- return {
965
- compacted,
966
- analysis,
967
- summarized: true,
968
- };
969
- }
970
- catch {
971
- // Fall through to simple compaction
972
- }
973
- }
974
- // Simple compaction without LLM
975
- compacted.push({
976
- role: 'system',
977
- content: `[Context Manager: Intelligently compacted ${toSummarize.length} messages at "${analysis.signals[0]?.reason || 'optimal point'}". ${toPreserve.length} recent messages preserved.]`,
978
- });
979
- compacted.push(...toPreserve);
980
- return {
981
- compacted,
982
- analysis,
983
- summarized: false,
984
- };
985
- }
986
- /**
987
- * Check if intelligent compaction should be triggered
988
- * Call this before generation to proactively manage context
989
- */
990
- shouldTriggerCompaction(messages) {
991
- if (this.config.enableIntelligentCompaction === false) {
992
- return { shouldCompact: false, urgency: 'none', reason: null };
993
- }
994
- const analysis = this.analyzeCompactionPoints(messages);
995
- if (!analysis.shouldCompact) {
996
- return { shouldCompact: false, urgency: analysis.urgency, reason: null };
997
- }
998
- const topSignal = analysis.signals
999
- .sort((a, b) => b.confidence - a.confidence)[0];
1000
- return {
1001
- shouldCompact: true,
1002
- urgency: analysis.urgency,
1003
- reason: topSignal?.reason || 'Context optimization recommended',
1004
- };
1005
- }
1006
- }
1007
- /**
1008
- * Create a default context manager instance with model-aware limits
1009
- */
1010
- export function createDefaultContextManager(overrides, model) {
1011
- // Get model-specific thresholds
1012
- const thresholds = calculateContextThresholds(model);
1013
- return new ContextManager({
1014
- maxTokens: thresholds.maxTokens,
1015
- targetTokens: thresholds.targetTokens, // Start pruning at 60%
1016
- warningTokens: thresholds.warningTokens, // Warn at 50%
1017
- criticalTokens: thresholds.criticalTokens, // Critical at 75%
1018
- maxToolOutputLength: 5000, // 5k chars max per tool (reduced for safety)
1019
- preserveRecentMessages: 5, // Keep last 5 exchanges
1020
- estimatedCharsPerToken: 3.5, // More aggressive estimate (accounts for special tokens, JSON overhead)
1021
- useLLMSummarization: true, // Enable LLM summarization by default
1022
- // Intelligent compaction defaults
1023
- enableIntelligentCompaction: true,
1024
- compactionThreshold: 0.5, // Start analyzing at 50% context usage
1025
- minSignalConfidence: 0.6, // Require 60% confidence for compaction signals
1026
- topicShiftSensitivity: 0.7, // Moderately sensitive to topic changes
1027
- model,
1028
- ...overrides,
1029
- });
1030
- }
1031
- /**
1032
- * Format conversation messages into readable text for summarization
1033
- */
1034
- export function formatMessagesForSummary(messages) {
1035
- const lines = [];
1036
- for (const msg of messages) {
1037
- if (msg.role === 'user') {
1038
- lines.push(`USER: ${msg.content}`);
1039
- }
1040
- else if (msg.role === 'assistant') {
1041
- let content = msg.content || '';
1042
- if (msg.toolCalls && msg.toolCalls.length > 0) {
1043
- const toolNames = msg.toolCalls.map(tc => tc.name);
1044
- content += ` [Called tools: ${toolNames.join(', ')}]`;
1045
- }
1046
- lines.push(`ASSISTANT: ${content}`);
1047
- }
1048
- else if (msg.role === 'tool') {
1049
- // Truncate long tool outputs for summarization
1050
- const output = msg.content.length > 500
1051
- ? `${msg.content.slice(0, 500)}...`
1052
- : msg.content;
1053
- lines.push(`TOOL (${msg.name}): ${output}`);
1054
- }
1055
- // Skip system messages in summary input
1056
- }
1057
- return lines.join('\n\n');
1058
- }
1059
- /**
1060
- * Create a summarization callback using the given provider
1061
- */
1062
- export function createSummarizationCallback(provider) {
1063
- return async (messages) => {
1064
- // Format messages into readable conversation
1065
- const conversationText = formatMessagesForSummary(messages);
1066
- // Create summarization prompt
1067
- const prompt = SUMMARIZATION_PROMPT.replace('{conversation}', conversationText);
1068
- // Call provider to generate summary (no tools needed)
1069
- const response = await provider.generate([{ role: 'user', content: prompt }], []);
1070
- return response.content || '';
1071
- };
1072
- }
1073
- //# sourceMappingURL=contextManager.js.map