erosolar-cli 1.7.436 → 1.7.439

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