@trenchwork/erosolar 1.1.30 → 1.1.32

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 (819) hide show
  1. package/README.md +6 -6
  2. package/SECURITY.md +4 -4
  3. package/dist/bin/cliMode.d.ts +8 -0
  4. package/dist/bin/cliMode.d.ts.map +1 -0
  5. package/dist/bin/cliMode.js +20 -0
  6. package/dist/bin/cliMode.js.map +1 -0
  7. package/dist/bin/deepseek.d.ts +3 -0
  8. package/dist/bin/deepseek.d.ts.map +1 -0
  9. package/dist/bin/deepseek.js +345 -0
  10. package/dist/bin/deepseek.js.map +1 -0
  11. package/dist/bin/erosolar.d.ts +7 -0
  12. package/dist/bin/erosolar.d.ts.map +1 -0
  13. package/dist/bin/erosolar.js +7 -0
  14. package/dist/bin/erosolar.js.map +1 -0
  15. package/dist/bin/selfTest.d.ts +14 -0
  16. package/dist/bin/selfTest.d.ts.map +1 -0
  17. package/dist/bin/selfTest.js +298 -0
  18. package/dist/bin/selfTest.js.map +1 -0
  19. package/dist/capabilities/_binaryRequirements.d.ts +101 -0
  20. package/dist/capabilities/_binaryRequirements.d.ts.map +1 -0
  21. package/dist/capabilities/_binaryRequirements.js +288 -0
  22. package/dist/capabilities/_binaryRequirements.js.map +1 -0
  23. package/dist/capabilities/_opsContext.d.ts +129 -0
  24. package/dist/capabilities/_opsContext.d.ts.map +1 -0
  25. package/dist/capabilities/_opsContext.js +274 -0
  26. package/dist/capabilities/_opsContext.js.map +1 -0
  27. package/dist/capabilities/_processRunner.d.ts +49 -0
  28. package/dist/capabilities/_processRunner.d.ts.map +1 -0
  29. package/dist/capabilities/_processRunner.js +200 -0
  30. package/dist/capabilities/_processRunner.js.map +1 -0
  31. package/dist/capabilities/aflppCapability.d.ts +7 -0
  32. package/dist/capabilities/aflppCapability.d.ts.map +1 -0
  33. package/dist/capabilities/aflppCapability.js +301 -0
  34. package/dist/capabilities/aflppCapability.js.map +1 -0
  35. package/dist/capabilities/baseCapability.d.ts +72 -0
  36. package/dist/capabilities/baseCapability.d.ts.map +1 -0
  37. package/dist/capabilities/baseCapability.js +183 -0
  38. package/dist/capabilities/baseCapability.js.map +1 -0
  39. package/dist/capabilities/bashCapability.d.ts +13 -0
  40. package/dist/capabilities/bashCapability.d.ts.map +1 -0
  41. package/dist/capabilities/bashCapability.js +24 -0
  42. package/dist/capabilities/bashCapability.js.map +1 -0
  43. package/dist/capabilities/binaryAnalysisCapability.d.ts +7 -0
  44. package/dist/capabilities/binaryAnalysisCapability.d.ts.map +1 -0
  45. package/dist/capabilities/binaryAnalysisCapability.js +201 -0
  46. package/dist/capabilities/binaryAnalysisCapability.js.map +1 -0
  47. package/dist/capabilities/editCapability.d.ts +17 -0
  48. package/dist/capabilities/editCapability.d.ts.map +1 -0
  49. package/dist/capabilities/editCapability.js +27 -0
  50. package/dist/capabilities/editCapability.js.map +1 -0
  51. package/dist/capabilities/engagementCapability.d.ts +15 -0
  52. package/dist/capabilities/engagementCapability.d.ts.map +1 -0
  53. package/dist/capabilities/engagementCapability.js +40 -0
  54. package/dist/capabilities/engagementCapability.js.map +1 -0
  55. package/dist/capabilities/enhancedGitCapability.d.ts +7 -0
  56. package/dist/capabilities/enhancedGitCapability.d.ts.map +1 -0
  57. package/dist/capabilities/enhancedGitCapability.js +220 -0
  58. package/dist/capabilities/enhancedGitCapability.js.map +1 -0
  59. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  60. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  61. package/dist/capabilities/filesystemCapability.js +24 -0
  62. package/dist/capabilities/filesystemCapability.js.map +1 -0
  63. package/dist/capabilities/gdbCapability.d.ts +7 -0
  64. package/dist/capabilities/gdbCapability.d.ts.map +1 -0
  65. package/dist/capabilities/gdbCapability.js +125 -0
  66. package/dist/capabilities/gdbCapability.js.map +1 -0
  67. package/dist/capabilities/ghidraHeadlessCapability.d.ts +25 -0
  68. package/dist/capabilities/ghidraHeadlessCapability.d.ts.map +1 -0
  69. package/dist/capabilities/ghidraHeadlessCapability.js +593 -0
  70. package/dist/capabilities/ghidraHeadlessCapability.js.map +1 -0
  71. package/dist/capabilities/gitHistoryCapability.d.ts +6 -0
  72. package/dist/capabilities/gitHistoryCapability.d.ts.map +1 -0
  73. package/dist/capabilities/gitHistoryCapability.js +184 -0
  74. package/dist/capabilities/gitHistoryCapability.js.map +1 -0
  75. package/dist/capabilities/hitlCapability.d.ts +18 -0
  76. package/dist/capabilities/hitlCapability.d.ts.map +1 -0
  77. package/dist/capabilities/hitlCapability.js +29 -0
  78. package/dist/capabilities/hitlCapability.js.map +1 -0
  79. package/dist/capabilities/index.d.ts +26 -0
  80. package/dist/capabilities/index.d.ts.map +1 -0
  81. package/dist/capabilities/index.js +31 -0
  82. package/dist/capabilities/index.js.map +1 -0
  83. package/dist/capabilities/interactionCapability.d.ts +6 -0
  84. package/dist/capabilities/interactionCapability.d.ts.map +1 -0
  85. package/dist/capabilities/interactionCapability.js +17 -0
  86. package/dist/capabilities/interactionCapability.js.map +1 -0
  87. package/dist/capabilities/kaliCapability.d.ts +14 -0
  88. package/dist/capabilities/kaliCapability.d.ts.map +1 -0
  89. package/dist/capabilities/kaliCapability.js +478 -0
  90. package/dist/capabilities/kaliCapability.js.map +1 -0
  91. package/dist/capabilities/llmRedteamCapability.d.ts +38 -0
  92. package/dist/capabilities/llmRedteamCapability.d.ts.map +1 -0
  93. package/dist/capabilities/llmRedteamCapability.js +340 -0
  94. package/dist/capabilities/llmRedteamCapability.js.map +1 -0
  95. package/dist/capabilities/mcpCapability.d.ts +7 -0
  96. package/dist/capabilities/mcpCapability.d.ts.map +1 -0
  97. package/dist/capabilities/mcpCapability.js +82 -0
  98. package/dist/capabilities/mcpCapability.js.map +1 -0
  99. package/dist/capabilities/memoryCapability.d.ts +10 -0
  100. package/dist/capabilities/memoryCapability.d.ts.map +1 -0
  101. package/dist/capabilities/memoryCapability.js +22 -0
  102. package/dist/capabilities/memoryCapability.js.map +1 -0
  103. package/dist/capabilities/monitorCapability.d.ts +6 -0
  104. package/dist/capabilities/monitorCapability.d.ts.map +1 -0
  105. package/dist/capabilities/monitorCapability.js +19 -0
  106. package/dist/capabilities/monitorCapability.js.map +1 -0
  107. package/dist/capabilities/notebookCapability.d.ts +6 -0
  108. package/dist/capabilities/notebookCapability.d.ts.map +1 -0
  109. package/dist/capabilities/notebookCapability.js +17 -0
  110. package/dist/capabilities/notebookCapability.js.map +1 -0
  111. package/dist/capabilities/planModeCapability.d.ts +6 -0
  112. package/dist/capabilities/planModeCapability.d.ts.map +1 -0
  113. package/dist/capabilities/planModeCapability.js +16 -0
  114. package/dist/capabilities/planModeCapability.js.map +1 -0
  115. package/dist/capabilities/pwntoolsCapability.d.ts +7 -0
  116. package/dist/capabilities/pwntoolsCapability.d.ts.map +1 -0
  117. package/dist/capabilities/pwntoolsCapability.js +109 -0
  118. package/dist/capabilities/pwntoolsCapability.js.map +1 -0
  119. package/dist/capabilities/scheduleCapability.d.ts +6 -0
  120. package/dist/capabilities/scheduleCapability.d.ts.map +1 -0
  121. package/dist/capabilities/scheduleCapability.js +16 -0
  122. package/dist/capabilities/scheduleCapability.js.map +1 -0
  123. package/dist/capabilities/searchCapability.d.ts +19 -0
  124. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  125. package/dist/capabilities/searchCapability.js +29 -0
  126. package/dist/capabilities/searchCapability.js.map +1 -0
  127. package/dist/capabilities/skillCapability.d.ts +6 -0
  128. package/dist/capabilities/skillCapability.d.ts.map +1 -0
  129. package/dist/capabilities/skillCapability.js +17 -0
  130. package/dist/capabilities/skillCapability.js.map +1 -0
  131. package/dist/capabilities/todoCapability.d.ts +11 -0
  132. package/dist/capabilities/todoCapability.d.ts.map +1 -0
  133. package/dist/capabilities/todoCapability.js +22 -0
  134. package/dist/capabilities/todoCapability.js.map +1 -0
  135. package/dist/capabilities/toolManifest.d.ts +3 -0
  136. package/dist/capabilities/toolManifest.d.ts.map +1 -0
  137. package/dist/capabilities/toolManifest.js +163 -0
  138. package/dist/capabilities/toolManifest.js.map +1 -0
  139. package/dist/capabilities/toolRegistry.d.ts +25 -0
  140. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  141. package/dist/capabilities/toolRegistry.js +150 -0
  142. package/dist/capabilities/toolRegistry.js.map +1 -0
  143. package/dist/capabilities/triggerCapability.d.ts +6 -0
  144. package/dist/capabilities/triggerCapability.d.ts.map +1 -0
  145. package/dist/capabilities/triggerCapability.js +16 -0
  146. package/dist/capabilities/triggerCapability.js.map +1 -0
  147. package/dist/capabilities/unifiedCodingCapability.d.ts +62 -0
  148. package/dist/capabilities/unifiedCodingCapability.d.ts.map +1 -0
  149. package/dist/capabilities/unifiedCodingCapability.js +788 -0
  150. package/dist/capabilities/unifiedCodingCapability.js.map +1 -0
  151. package/dist/capabilities/webCapability.d.ts +23 -0
  152. package/dist/capabilities/webCapability.d.ts.map +1 -0
  153. package/dist/capabilities/webCapability.js +33 -0
  154. package/dist/capabilities/webCapability.js.map +1 -0
  155. package/dist/capabilities/worktreeCapability.d.ts +6 -0
  156. package/dist/capabilities/worktreeCapability.d.ts.map +1 -0
  157. package/dist/capabilities/worktreeCapability.js +16 -0
  158. package/dist/capabilities/worktreeCapability.js.map +1 -0
  159. package/dist/cli/offsecInstall.d.ts +43 -0
  160. package/dist/cli/offsecInstall.d.ts.map +1 -0
  161. package/dist/cli/offsecInstall.js +258 -0
  162. package/dist/cli/offsecInstall.js.map +1 -0
  163. package/dist/config.d.ts +25 -0
  164. package/dist/config.d.ts.map +1 -0
  165. package/dist/config.js +155 -0
  166. package/dist/config.js.map +1 -0
  167. package/dist/contracts/v1/agent.d.ts +179 -0
  168. package/dist/contracts/v1/agent.d.ts.map +1 -0
  169. package/dist/contracts/v1/agent.js +8 -0
  170. package/dist/contracts/v1/agent.js.map +1 -0
  171. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  172. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  173. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  174. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  175. package/dist/contracts/v1/agentRules.d.ts +60 -0
  176. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  177. package/dist/contracts/v1/agentRules.js +10 -0
  178. package/dist/contracts/v1/agentRules.js.map +1 -0
  179. package/dist/contracts/v1/provider.d.ts +149 -0
  180. package/dist/contracts/v1/provider.d.ts.map +1 -0
  181. package/dist/contracts/v1/provider.js +7 -0
  182. package/dist/contracts/v1/provider.js.map +1 -0
  183. package/dist/contracts/v1/tool.d.ts +136 -0
  184. package/dist/contracts/v1/tool.d.ts.map +1 -0
  185. package/dist/contracts/v1/tool.js +7 -0
  186. package/dist/contracts/v1/tool.js.map +1 -0
  187. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  188. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  189. package/dist/contracts/v1/toolAccess.js +9 -0
  190. package/dist/contracts/v1/toolAccess.js.map +1 -0
  191. package/dist/core/agent.d.ts +320 -0
  192. package/dist/core/agent.d.ts.map +1 -0
  193. package/dist/core/agent.js +1627 -0
  194. package/dist/core/agent.js.map +1 -0
  195. package/dist/core/agentProfileManifest.d.ts +3 -0
  196. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  197. package/dist/core/agentProfileManifest.js +188 -0
  198. package/dist/core/agentProfileManifest.js.map +1 -0
  199. package/dist/core/agentProfiles.d.ts +22 -0
  200. package/dist/core/agentProfiles.d.ts.map +1 -0
  201. package/dist/core/agentProfiles.js +35 -0
  202. package/dist/core/agentProfiles.js.map +1 -0
  203. package/dist/core/agentRegistry.d.ts +111 -0
  204. package/dist/core/agentRegistry.d.ts.map +1 -0
  205. package/dist/core/agentRegistry.js +229 -0
  206. package/dist/core/agentRegistry.js.map +1 -0
  207. package/dist/core/agentRulebook.d.ts +11 -0
  208. package/dist/core/agentRulebook.d.ts.map +1 -0
  209. package/dist/core/agentRulebook.js +136 -0
  210. package/dist/core/agentRulebook.js.map +1 -0
  211. package/dist/core/agentSchemaLoader.d.ts +131 -0
  212. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  213. package/dist/core/agentSchemaLoader.js +235 -0
  214. package/dist/core/agentSchemaLoader.js.map +1 -0
  215. package/dist/core/aiErrorFixer.d.ts +57 -0
  216. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  217. package/dist/core/aiErrorFixer.js +214 -0
  218. package/dist/core/aiErrorFixer.js.map +1 -0
  219. package/dist/core/artifactStore.d.ts +35 -0
  220. package/dist/core/artifactStore.d.ts.map +1 -0
  221. package/dist/core/artifactStore.js +105 -0
  222. package/dist/core/artifactStore.js.map +1 -0
  223. package/dist/core/auth.d.ts +15 -0
  224. package/dist/core/auth.d.ts.map +1 -0
  225. package/dist/core/auth.js +345 -0
  226. package/dist/core/auth.js.map +1 -0
  227. package/dist/core/bashCommandGuidance.d.ts +16 -0
  228. package/dist/core/bashCommandGuidance.d.ts.map +1 -0
  229. package/dist/core/bashCommandGuidance.js +40 -0
  230. package/dist/core/bashCommandGuidance.js.map +1 -0
  231. package/dist/core/constants.d.ts +31 -0
  232. package/dist/core/constants.d.ts.map +1 -0
  233. package/dist/core/constants.js +62 -0
  234. package/dist/core/constants.js.map +1 -0
  235. package/dist/core/contextManager.d.ts +271 -0
  236. package/dist/core/contextManager.d.ts.map +1 -0
  237. package/dist/core/contextManager.js +1073 -0
  238. package/dist/core/contextManager.js.map +1 -0
  239. package/dist/core/contextWindow.d.ts +42 -0
  240. package/dist/core/contextWindow.d.ts.map +1 -0
  241. package/dist/core/contextWindow.js +123 -0
  242. package/dist/core/contextWindow.js.map +1 -0
  243. package/dist/core/customCommands.d.ts +19 -0
  244. package/dist/core/customCommands.d.ts.map +1 -0
  245. package/dist/core/customCommands.js +85 -0
  246. package/dist/core/customCommands.js.map +1 -0
  247. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  248. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  249. package/dist/core/errors/apiKeyErrors.js +159 -0
  250. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  251. package/dist/core/errors/errorTypes.d.ts +111 -0
  252. package/dist/core/errors/errorTypes.d.ts.map +1 -0
  253. package/dist/core/errors/errorTypes.js +345 -0
  254. package/dist/core/errors/errorTypes.js.map +1 -0
  255. package/dist/core/errors/index.d.ts +50 -0
  256. package/dist/core/errors/index.d.ts.map +1 -0
  257. package/dist/core/errors/index.js +156 -0
  258. package/dist/core/errors/index.js.map +1 -0
  259. package/dist/core/errors/networkErrors.d.ts +14 -0
  260. package/dist/core/errors/networkErrors.d.ts.map +1 -0
  261. package/dist/core/errors/networkErrors.js +53 -0
  262. package/dist/core/errors/networkErrors.js.map +1 -0
  263. package/dist/core/errors/safetyValidator.d.ts +109 -0
  264. package/dist/core/errors/safetyValidator.d.ts.map +1 -0
  265. package/dist/core/errors/safetyValidator.js +271 -0
  266. package/dist/core/errors/safetyValidator.js.map +1 -0
  267. package/dist/core/errors.d.ts +4 -0
  268. package/dist/core/errors.d.ts.map +1 -0
  269. package/dist/core/errors.js +33 -0
  270. package/dist/core/errors.js.map +1 -0
  271. package/dist/core/finalResponseFormatter.d.ts +10 -0
  272. package/dist/core/finalResponseFormatter.d.ts.map +1 -0
  273. package/dist/core/finalResponseFormatter.js +14 -0
  274. package/dist/core/finalResponseFormatter.js.map +1 -0
  275. package/dist/core/guardrails.d.ts +146 -0
  276. package/dist/core/guardrails.d.ts.map +1 -0
  277. package/dist/core/guardrails.js +361 -0
  278. package/dist/core/guardrails.js.map +1 -0
  279. package/dist/core/hitl.d.ts +119 -0
  280. package/dist/core/hitl.d.ts.map +1 -0
  281. package/dist/core/hitl.js +387 -0
  282. package/dist/core/hitl.js.map +1 -0
  283. package/dist/core/hooks.d.ts +95 -0
  284. package/dist/core/hooks.d.ts.map +1 -0
  285. package/dist/core/hooks.js +239 -0
  286. package/dist/core/hooks.js.map +1 -0
  287. package/dist/core/index.d.ts +7 -0
  288. package/dist/core/index.d.ts.map +1 -0
  289. package/dist/core/index.js +7 -0
  290. package/dist/core/index.js.map +1 -0
  291. package/dist/core/inputProtection.d.ts +122 -0
  292. package/dist/core/inputProtection.d.ts.map +1 -0
  293. package/dist/core/inputProtection.js +422 -0
  294. package/dist/core/inputProtection.js.map +1 -0
  295. package/dist/core/modelDiscovery.d.ts +105 -0
  296. package/dist/core/modelDiscovery.d.ts.map +1 -0
  297. package/dist/core/modelDiscovery.js +768 -0
  298. package/dist/core/modelDiscovery.js.map +1 -0
  299. package/dist/core/multilinePasteHandler.d.ts +35 -0
  300. package/dist/core/multilinePasteHandler.d.ts.map +1 -0
  301. package/dist/core/multilinePasteHandler.js +81 -0
  302. package/dist/core/multilinePasteHandler.js.map +1 -0
  303. package/dist/core/preferences.d.ts +65 -0
  304. package/dist/core/preferences.d.ts.map +1 -0
  305. package/dist/core/preferences.js +305 -0
  306. package/dist/core/preferences.js.map +1 -0
  307. package/dist/core/projectTracker.d.ts +96 -0
  308. package/dist/core/projectTracker.d.ts.map +1 -0
  309. package/dist/core/projectTracker.js +275 -0
  310. package/dist/core/projectTracker.js.map +1 -0
  311. package/dist/core/providerKeys.d.ts +20 -0
  312. package/dist/core/providerKeys.d.ts.map +1 -0
  313. package/dist/core/providerKeys.js +40 -0
  314. package/dist/core/providerKeys.js.map +1 -0
  315. package/dist/core/refusalDetection.d.ts +2 -0
  316. package/dist/core/refusalDetection.d.ts.map +1 -0
  317. package/dist/core/refusalDetection.js +51 -0
  318. package/dist/core/refusalDetection.js.map +1 -0
  319. package/dist/core/resultVerification.d.ts +47 -0
  320. package/dist/core/resultVerification.d.ts.map +1 -0
  321. package/dist/core/resultVerification.js +126 -0
  322. package/dist/core/resultVerification.js.map +1 -0
  323. package/dist/core/reviewerGuard.d.ts +37 -0
  324. package/dist/core/reviewerGuard.d.ts.map +1 -0
  325. package/dist/core/reviewerGuard.js +188 -0
  326. package/dist/core/reviewerGuard.js.map +1 -0
  327. package/dist/core/schemaValidator.d.ts +49 -0
  328. package/dist/core/schemaValidator.d.ts.map +1 -0
  329. package/dist/core/schemaValidator.js +234 -0
  330. package/dist/core/schemaValidator.js.map +1 -0
  331. package/dist/core/secretStore.d.ts +48 -0
  332. package/dist/core/secretStore.d.ts.map +1 -0
  333. package/dist/core/secretStore.js +259 -0
  334. package/dist/core/secretStore.js.map +1 -0
  335. package/dist/core/sessionStorage.d.ts +10 -0
  336. package/dist/core/sessionStorage.d.ts.map +1 -0
  337. package/dist/core/sessionStorage.js +46 -0
  338. package/dist/core/sessionStorage.js.map +1 -0
  339. package/dist/core/sessionStore.d.ts +35 -0
  340. package/dist/core/sessionStore.d.ts.map +1 -0
  341. package/dist/core/sessionStore.js +191 -0
  342. package/dist/core/sessionStore.js.map +1 -0
  343. package/dist/core/sharedSecrets.d.ts +60 -0
  344. package/dist/core/sharedSecrets.d.ts.map +1 -0
  345. package/dist/core/sharedSecrets.js +111 -0
  346. package/dist/core/sharedSecrets.js.map +1 -0
  347. package/dist/core/shutdown.d.ts +34 -0
  348. package/dist/core/shutdown.d.ts.map +1 -0
  349. package/dist/core/shutdown.js +186 -0
  350. package/dist/core/shutdown.js.map +1 -0
  351. package/dist/core/sudoPasswordManager.d.ts +52 -0
  352. package/dist/core/sudoPasswordManager.d.ts.map +1 -0
  353. package/dist/core/sudoPasswordManager.js +115 -0
  354. package/dist/core/sudoPasswordManager.js.map +1 -0
  355. package/dist/core/taskCompletionDetector.d.ts +117 -0
  356. package/dist/core/taskCompletionDetector.d.ts.map +1 -0
  357. package/dist/core/taskCompletionDetector.js +532 -0
  358. package/dist/core/taskCompletionDetector.js.map +1 -0
  359. package/dist/core/testFailureMonitor.d.ts +67 -0
  360. package/dist/core/testFailureMonitor.d.ts.map +1 -0
  361. package/dist/core/testFailureMonitor.js +262 -0
  362. package/dist/core/testFailureMonitor.js.map +1 -0
  363. package/dist/core/toolPreconditions.d.ts +34 -0
  364. package/dist/core/toolPreconditions.d.ts.map +1 -0
  365. package/dist/core/toolPreconditions.js +242 -0
  366. package/dist/core/toolPreconditions.js.map +1 -0
  367. package/dist/core/toolRuntime.d.ts +192 -0
  368. package/dist/core/toolRuntime.d.ts.map +1 -0
  369. package/dist/core/toolRuntime.js +511 -0
  370. package/dist/core/toolRuntime.js.map +1 -0
  371. package/dist/core/types/utilityTypes.d.ts +183 -0
  372. package/dist/core/types/utilityTypes.d.ts.map +1 -0
  373. package/dist/core/types/utilityTypes.js +273 -0
  374. package/dist/core/types/utilityTypes.js.map +1 -0
  375. package/dist/core/types.d.ts +334 -0
  376. package/dist/core/types.d.ts.map +1 -0
  377. package/dist/core/types.js +76 -0
  378. package/dist/core/types.js.map +1 -0
  379. package/dist/core/updateChecker.d.ts +148 -0
  380. package/dist/core/updateChecker.d.ts.map +1 -0
  381. package/dist/core/updateChecker.js +599 -0
  382. package/dist/core/updateChecker.js.map +1 -0
  383. package/dist/core/usageTracker.d.ts +11 -0
  384. package/dist/core/usageTracker.d.ts.map +1 -0
  385. package/dist/core/usageTracker.js +128 -0
  386. package/dist/core/usageTracker.js.map +1 -0
  387. package/dist/core/userApproval.d.ts +95 -0
  388. package/dist/core/userApproval.d.ts.map +1 -0
  389. package/dist/core/userApproval.js +239 -0
  390. package/dist/core/userApproval.js.map +1 -0
  391. package/dist/headless/interactiveShell.d.ts +22 -0
  392. package/dist/headless/interactiveShell.d.ts.map +1 -0
  393. package/dist/headless/interactiveShell.js +2181 -0
  394. package/dist/headless/interactiveShell.js.map +1 -0
  395. package/dist/leanAgent.d.ts +73 -0
  396. package/dist/leanAgent.d.ts.map +1 -0
  397. package/dist/leanAgent.js +177 -0
  398. package/dist/leanAgent.js.map +1 -0
  399. package/dist/plugins/index.d.ts +49 -0
  400. package/dist/plugins/index.d.ts.map +1 -0
  401. package/dist/plugins/index.js +104 -0
  402. package/dist/plugins/index.js.map +1 -0
  403. package/dist/plugins/providers/anthropic/index.d.ts +9 -0
  404. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
  405. package/dist/plugins/providers/anthropic/index.js +48 -0
  406. package/dist/plugins/providers/anthropic/index.js.map +1 -0
  407. package/dist/plugins/providers/deepseek/index.d.ts +11 -0
  408. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  409. package/dist/plugins/providers/deepseek/index.js +54 -0
  410. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  411. package/dist/plugins/providers/index.d.ts +2 -0
  412. package/dist/plugins/providers/index.d.ts.map +1 -0
  413. package/dist/plugins/providers/index.js +17 -0
  414. package/dist/plugins/providers/index.js.map +1 -0
  415. package/dist/plugins/providers/openai/index.d.ts +10 -0
  416. package/dist/plugins/providers/openai/index.d.ts.map +1 -0
  417. package/dist/plugins/providers/openai/index.js +47 -0
  418. package/dist/plugins/providers/openai/index.js.map +1 -0
  419. package/dist/plugins/providers/xai/index.d.ts +10 -0
  420. package/dist/plugins/providers/xai/index.d.ts.map +1 -0
  421. package/dist/plugins/providers/xai/index.js +47 -0
  422. package/dist/plugins/providers/xai/index.js.map +1 -0
  423. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +10 -0
  424. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
  425. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +110 -0
  426. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -0
  427. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  428. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  429. package/dist/plugins/tools/bash/localBashPlugin.js +14 -0
  430. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  431. package/dist/plugins/tools/edit/editPlugin.d.ts +9 -0
  432. package/dist/plugins/tools/edit/editPlugin.d.ts.map +1 -0
  433. package/dist/plugins/tools/edit/editPlugin.js +15 -0
  434. package/dist/plugins/tools/edit/editPlugin.js.map +1 -0
  435. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +3 -0
  436. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +1 -0
  437. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +9 -0
  438. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +1 -0
  439. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  440. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  441. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +14 -0
  442. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  443. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +3 -0
  444. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +1 -0
  445. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +9 -0
  446. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +1 -0
  447. package/dist/plugins/tools/index.d.ts +3 -0
  448. package/dist/plugins/tools/index.d.ts.map +1 -0
  449. package/dist/plugins/tools/index.js +3 -0
  450. package/dist/plugins/tools/index.js.map +1 -0
  451. package/dist/plugins/tools/integrity/integrityPlugin.d.ts +3 -0
  452. package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +1 -0
  453. package/dist/plugins/tools/integrity/integrityPlugin.js +31 -0
  454. package/dist/plugins/tools/integrity/integrityPlugin.js.map +1 -0
  455. package/dist/plugins/tools/kali/kaliPlugin.d.ts +3 -0
  456. package/dist/plugins/tools/kali/kaliPlugin.d.ts.map +1 -0
  457. package/dist/plugins/tools/kali/kaliPlugin.js +10 -0
  458. package/dist/plugins/tools/kali/kaliPlugin.js.map +1 -0
  459. package/dist/plugins/tools/mcp/mcpClient.d.ts +59 -0
  460. package/dist/plugins/tools/mcp/mcpClient.d.ts.map +1 -0
  461. package/dist/plugins/tools/mcp/mcpClient.js +118 -0
  462. package/dist/plugins/tools/mcp/mcpClient.js.map +1 -0
  463. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +3 -0
  464. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +1 -0
  465. package/dist/plugins/tools/mcp/mcpPlugin.js +10 -0
  466. package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
  467. package/dist/plugins/tools/nodeDefaults.d.ts +13 -0
  468. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  469. package/dist/plugins/tools/nodeDefaults.js +37 -0
  470. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  471. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +3 -0
  472. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +1 -0
  473. package/dist/plugins/tools/orchestration/orchestrationPlugin.js +340 -0
  474. package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +1 -0
  475. package/dist/plugins/tools/registry.d.ts +22 -0
  476. package/dist/plugins/tools/registry.d.ts.map +1 -0
  477. package/dist/plugins/tools/registry.js +58 -0
  478. package/dist/plugins/tools/registry.js.map +1 -0
  479. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  480. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  481. package/dist/plugins/tools/search/localSearchPlugin.js +14 -0
  482. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  483. package/dist/plugins/tools/skills/skillPlugin.d.ts +3 -0
  484. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +1 -0
  485. package/dist/plugins/tools/skills/skillPlugin.js +27 -0
  486. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -0
  487. package/dist/plugins/tools/todo/todoPlugin.d.ts +3 -0
  488. package/dist/plugins/tools/todo/todoPlugin.d.ts.map +1 -0
  489. package/dist/plugins/tools/todo/todoPlugin.js +10 -0
  490. package/dist/plugins/tools/todo/todoPlugin.js.map +1 -0
  491. package/dist/providers/baseProvider.d.ts +148 -0
  492. package/dist/providers/baseProvider.d.ts.map +1 -0
  493. package/dist/providers/baseProvider.js +284 -0
  494. package/dist/providers/baseProvider.js.map +1 -0
  495. package/dist/providers/openaiChatCompletionsProvider.d.ts +64 -0
  496. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  497. package/dist/providers/openaiChatCompletionsProvider.js +1018 -0
  498. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  499. package/dist/providers/providerFactory.d.ts +22 -0
  500. package/dist/providers/providerFactory.d.ts.map +1 -0
  501. package/dist/providers/providerFactory.js +25 -0
  502. package/dist/providers/providerFactory.js.map +1 -0
  503. package/dist/providers/resilientProvider.d.ts +103 -0
  504. package/dist/providers/resilientProvider.d.ts.map +1 -0
  505. package/dist/providers/resilientProvider.js +468 -0
  506. package/dist/providers/resilientProvider.js.map +1 -0
  507. package/dist/runtime/agentController.d.ts +121 -0
  508. package/dist/runtime/agentController.d.ts.map +1 -0
  509. package/dist/runtime/agentController.js +739 -0
  510. package/dist/runtime/agentController.js.map +1 -0
  511. package/dist/runtime/agentHost.d.ts +61 -0
  512. package/dist/runtime/agentHost.d.ts.map +1 -0
  513. package/dist/runtime/agentHost.js +158 -0
  514. package/dist/runtime/agentHost.js.map +1 -0
  515. package/dist/runtime/agentSession.d.ts +49 -0
  516. package/dist/runtime/agentSession.d.ts.map +1 -0
  517. package/dist/runtime/agentSession.js +218 -0
  518. package/dist/runtime/agentSession.js.map +1 -0
  519. package/dist/runtime/agentSpawningWiring.d.ts +23 -0
  520. package/dist/runtime/agentSpawningWiring.d.ts.map +1 -0
  521. package/dist/runtime/agentSpawningWiring.js +119 -0
  522. package/dist/runtime/agentSpawningWiring.js.map +1 -0
  523. package/dist/runtime/agentWorkerPool.d.ts +167 -0
  524. package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
  525. package/dist/runtime/agentWorkerPool.js +435 -0
  526. package/dist/runtime/agentWorkerPool.js.map +1 -0
  527. package/dist/runtime/node.d.ts +9 -0
  528. package/dist/runtime/node.d.ts.map +1 -0
  529. package/dist/runtime/node.js +112 -0
  530. package/dist/runtime/node.js.map +1 -0
  531. package/dist/runtime/phaseEmitter.d.ts +63 -0
  532. package/dist/runtime/phaseEmitter.d.ts.map +1 -0
  533. package/dist/runtime/phaseEmitter.js +207 -0
  534. package/dist/runtime/phaseEmitter.js.map +1 -0
  535. package/dist/runtime/profileGates.d.ts +19 -0
  536. package/dist/runtime/profileGates.d.ts.map +1 -0
  537. package/dist/runtime/profileGates.js +23 -0
  538. package/dist/runtime/profileGates.js.map +1 -0
  539. package/dist/runtime/universal.d.ts +18 -0
  540. package/dist/runtime/universal.d.ts.map +1 -0
  541. package/dist/runtime/universal.js +31 -0
  542. package/dist/runtime/universal.js.map +1 -0
  543. package/dist/shell/autoExecutor.d.ts +70 -0
  544. package/dist/shell/autoExecutor.d.ts.map +1 -0
  545. package/dist/shell/autoExecutor.js +320 -0
  546. package/dist/shell/autoExecutor.js.map +1 -0
  547. package/dist/shell/commandRegistry.d.ts +122 -0
  548. package/dist/shell/commandRegistry.d.ts.map +1 -0
  549. package/dist/shell/commandRegistry.js +355 -0
  550. package/dist/shell/commandRegistry.js.map +1 -0
  551. package/dist/shell/composableMessage.d.ts +178 -0
  552. package/dist/shell/composableMessage.d.ts.map +1 -0
  553. package/dist/shell/composableMessage.js +384 -0
  554. package/dist/shell/composableMessage.js.map +1 -0
  555. package/dist/shell/liveStatus.d.ts +27 -0
  556. package/dist/shell/liveStatus.d.ts.map +1 -0
  557. package/dist/shell/liveStatus.js +53 -0
  558. package/dist/shell/liveStatus.js.map +1 -0
  559. package/dist/shell/systemPrompt.d.ts +12 -0
  560. package/dist/shell/systemPrompt.d.ts.map +1 -0
  561. package/dist/shell/systemPrompt.js +16 -0
  562. package/dist/shell/systemPrompt.js.map +1 -0
  563. package/dist/shell/vimMode.d.ts +66 -0
  564. package/dist/shell/vimMode.d.ts.map +1 -0
  565. package/dist/shell/vimMode.js +435 -0
  566. package/dist/shell/vimMode.js.map +1 -0
  567. package/dist/tools/bashTools.d.ts +11 -0
  568. package/dist/tools/bashTools.d.ts.map +1 -0
  569. package/dist/tools/bashTools.js +779 -0
  570. package/dist/tools/bashTools.js.map +1 -0
  571. package/dist/tools/diffUtils.d.ts +43 -0
  572. package/dist/tools/diffUtils.d.ts.map +1 -0
  573. package/dist/tools/diffUtils.js +607 -0
  574. package/dist/tools/diffUtils.js.map +1 -0
  575. package/dist/tools/editTools.d.ts +29 -0
  576. package/dist/tools/editTools.d.ts.map +1 -0
  577. package/dist/tools/editTools.js +792 -0
  578. package/dist/tools/editTools.js.map +1 -0
  579. package/dist/tools/engagementTools.d.ts +45 -0
  580. package/dist/tools/engagementTools.d.ts.map +1 -0
  581. package/dist/tools/engagementTools.js +384 -0
  582. package/dist/tools/engagementTools.js.map +1 -0
  583. package/dist/tools/fileChangeTracker.d.ts +47 -0
  584. package/dist/tools/fileChangeTracker.d.ts.map +1 -0
  585. package/dist/tools/fileChangeTracker.js +154 -0
  586. package/dist/tools/fileChangeTracker.js.map +1 -0
  587. package/dist/tools/fileReadTracker.d.ts +69 -0
  588. package/dist/tools/fileReadTracker.d.ts.map +1 -0
  589. package/dist/tools/fileReadTracker.js +213 -0
  590. package/dist/tools/fileReadTracker.js.map +1 -0
  591. package/dist/tools/fileTools.d.ts +3 -0
  592. package/dist/tools/fileTools.d.ts.map +1 -0
  593. package/dist/tools/fileTools.js +389 -0
  594. package/dist/tools/fileTools.js.map +1 -0
  595. package/dist/tools/grepTools.d.ts +3 -0
  596. package/dist/tools/grepTools.d.ts.map +1 -0
  597. package/dist/tools/grepTools.js +128 -0
  598. package/dist/tools/grepTools.js.map +1 -0
  599. package/dist/tools/heliaControl.d.ts +51 -0
  600. package/dist/tools/heliaControl.d.ts.map +1 -0
  601. package/dist/tools/heliaControl.js +93 -0
  602. package/dist/tools/heliaControl.js.map +1 -0
  603. package/dist/tools/hitlTools.d.ts +7 -0
  604. package/dist/tools/hitlTools.d.ts.map +1 -0
  605. package/dist/tools/hitlTools.js +185 -0
  606. package/dist/tools/hitlTools.js.map +1 -0
  607. package/dist/tools/interactionTools.d.ts +16 -0
  608. package/dist/tools/interactionTools.d.ts.map +1 -0
  609. package/dist/tools/interactionTools.js +207 -0
  610. package/dist/tools/interactionTools.js.map +1 -0
  611. package/dist/tools/localExplore.d.ts +38 -0
  612. package/dist/tools/localExplore.d.ts.map +1 -0
  613. package/dist/tools/localExplore.js +30 -0
  614. package/dist/tools/localExplore.js.map +1 -0
  615. package/dist/tools/memoryTools.d.ts +20 -0
  616. package/dist/tools/memoryTools.d.ts.map +1 -0
  617. package/dist/tools/memoryTools.js +180 -0
  618. package/dist/tools/memoryTools.js.map +1 -0
  619. package/dist/tools/monitorTools.d.ts +16 -0
  620. package/dist/tools/monitorTools.d.ts.map +1 -0
  621. package/dist/tools/monitorTools.js +178 -0
  622. package/dist/tools/monitorTools.js.map +1 -0
  623. package/dist/tools/notebookTools.d.ts +20 -0
  624. package/dist/tools/notebookTools.d.ts.map +1 -0
  625. package/dist/tools/notebookTools.js +140 -0
  626. package/dist/tools/notebookTools.js.map +1 -0
  627. package/dist/tools/planModeTools.d.ts +32 -0
  628. package/dist/tools/planModeTools.d.ts.map +1 -0
  629. package/dist/tools/planModeTools.js +200 -0
  630. package/dist/tools/planModeTools.js.map +1 -0
  631. package/dist/tools/scheduleTools.d.ts +39 -0
  632. package/dist/tools/scheduleTools.d.ts.map +1 -0
  633. package/dist/tools/scheduleTools.js +182 -0
  634. package/dist/tools/scheduleTools.js.map +1 -0
  635. package/dist/tools/searchTools.d.ts +12 -0
  636. package/dist/tools/searchTools.d.ts.map +1 -0
  637. package/dist/tools/searchTools.js +413 -0
  638. package/dist/tools/searchTools.js.map +1 -0
  639. package/dist/tools/skillTools.d.ts +24 -0
  640. package/dist/tools/skillTools.d.ts.map +1 -0
  641. package/dist/tools/skillTools.js +140 -0
  642. package/dist/tools/skillTools.js.map +1 -0
  643. package/dist/tools/todoTools.d.ts +24 -0
  644. package/dist/tools/todoTools.d.ts.map +1 -0
  645. package/dist/tools/todoTools.js +115 -0
  646. package/dist/tools/todoTools.js.map +1 -0
  647. package/dist/tools/triggerTools.d.ts +28 -0
  648. package/dist/tools/triggerTools.d.ts.map +1 -0
  649. package/dist/tools/triggerTools.js +210 -0
  650. package/dist/tools/triggerTools.js.map +1 -0
  651. package/dist/tools/webTools.d.ts +26 -0
  652. package/dist/tools/webTools.d.ts.map +1 -0
  653. package/dist/tools/webTools.js +332 -0
  654. package/dist/tools/webTools.js.map +1 -0
  655. package/dist/tools/worktreeTools.d.ts +21 -0
  656. package/dist/tools/worktreeTools.d.ts.map +1 -0
  657. package/dist/tools/worktreeTools.js +158 -0
  658. package/dist/tools/worktreeTools.js.map +1 -0
  659. package/dist/ui/RenderGate.d.ts +83 -0
  660. package/dist/ui/RenderGate.d.ts.map +1 -0
  661. package/dist/ui/RenderGate.js +138 -0
  662. package/dist/ui/RenderGate.js.map +1 -0
  663. package/dist/ui/animatedStatus.d.ts +140 -0
  664. package/dist/ui/animatedStatus.d.ts.map +1 -0
  665. package/dist/ui/animatedStatus.js +480 -0
  666. package/dist/ui/animatedStatus.js.map +1 -0
  667. package/dist/ui/animation/AnimationScheduler.d.ts +197 -0
  668. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
  669. package/dist/ui/animation/AnimationScheduler.js +440 -0
  670. package/dist/ui/animation/AnimationScheduler.js.map +1 -0
  671. package/dist/ui/codeHighlighter.d.ts +6 -0
  672. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  673. package/dist/ui/codeHighlighter.js +855 -0
  674. package/dist/ui/codeHighlighter.js.map +1 -0
  675. package/dist/ui/designSystem.d.ts +26 -0
  676. package/dist/ui/designSystem.d.ts.map +1 -0
  677. package/dist/ui/designSystem.js +114 -0
  678. package/dist/ui/designSystem.js.map +1 -0
  679. package/dist/ui/errorFormatter.d.ts +64 -0
  680. package/dist/ui/errorFormatter.d.ts.map +1 -0
  681. package/dist/ui/errorFormatter.js +316 -0
  682. package/dist/ui/errorFormatter.js.map +1 -0
  683. package/dist/ui/globalWriteLock.d.ts +63 -0
  684. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  685. package/dist/ui/globalWriteLock.js +173 -0
  686. package/dist/ui/globalWriteLock.js.map +1 -0
  687. package/dist/ui/index.d.ts +31 -0
  688. package/dist/ui/index.d.ts.map +1 -0
  689. package/dist/ui/index.js +49 -0
  690. package/dist/ui/index.js.map +1 -0
  691. package/dist/ui/ink/App.d.ts +39 -0
  692. package/dist/ui/ink/App.d.ts.map +1 -0
  693. package/dist/ui/ink/App.js +19 -0
  694. package/dist/ui/ink/App.js.map +1 -0
  695. package/dist/ui/ink/ChatStatic.d.ts +29 -0
  696. package/dist/ui/ink/ChatStatic.d.ts.map +1 -0
  697. package/dist/ui/ink/ChatStatic.js +31 -0
  698. package/dist/ui/ink/ChatStatic.js.map +1 -0
  699. package/dist/ui/ink/InkPromptController.d.ts +286 -0
  700. package/dist/ui/ink/InkPromptController.d.ts.map +1 -0
  701. package/dist/ui/ink/InkPromptController.js +558 -0
  702. package/dist/ui/ink/InkPromptController.js.map +1 -0
  703. package/dist/ui/ink/Prompt.d.ts +36 -0
  704. package/dist/ui/ink/Prompt.d.ts.map +1 -0
  705. package/dist/ui/ink/Prompt.js +296 -0
  706. package/dist/ui/ink/Prompt.js.map +1 -0
  707. package/dist/ui/ink/StatusLine.d.ts +25 -0
  708. package/dist/ui/ink/StatusLine.d.ts.map +1 -0
  709. package/dist/ui/ink/StatusLine.js +12 -0
  710. package/dist/ui/ink/StatusLine.js.map +1 -0
  711. package/dist/ui/ink/adapter.d.ts +58 -0
  712. package/dist/ui/ink/adapter.d.ts.map +1 -0
  713. package/dist/ui/ink/adapter.js +113 -0
  714. package/dist/ui/ink/adapter.js.map +1 -0
  715. package/dist/ui/interrupts/InterruptManager.d.ts +157 -0
  716. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
  717. package/dist/ui/interrupts/InterruptManager.js +501 -0
  718. package/dist/ui/interrupts/InterruptManager.js.map +1 -0
  719. package/dist/ui/layout.d.ts +27 -0
  720. package/dist/ui/layout.d.ts.map +1 -0
  721. package/dist/ui/layout.js +184 -0
  722. package/dist/ui/layout.js.map +1 -0
  723. package/dist/ui/outputMode.d.ts +58 -0
  724. package/dist/ui/outputMode.d.ts.map +1 -0
  725. package/dist/ui/outputMode.js +179 -0
  726. package/dist/ui/outputMode.js.map +1 -0
  727. package/dist/ui/overlay/OverlayManager.d.ts +105 -0
  728. package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
  729. package/dist/ui/overlay/OverlayManager.js +304 -0
  730. package/dist/ui/overlay/OverlayManager.js.map +1 -0
  731. package/dist/ui/premiumComponents.d.ts +54 -0
  732. package/dist/ui/premiumComponents.d.ts.map +1 -0
  733. package/dist/ui/premiumComponents.js +241 -0
  734. package/dist/ui/premiumComponents.js.map +1 -0
  735. package/dist/ui/richText.d.ts +13 -0
  736. package/dist/ui/richText.d.ts.map +1 -0
  737. package/dist/ui/richText.js +444 -0
  738. package/dist/ui/richText.js.map +1 -0
  739. package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
  740. package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
  741. package/dist/ui/telemetry/ResponseTracker.js +60 -0
  742. package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
  743. package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
  744. package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
  745. package/dist/ui/telemetry/UITelemetry.js +446 -0
  746. package/dist/ui/telemetry/UITelemetry.js.map +1 -0
  747. package/dist/ui/textHighlighter.d.ts +83 -0
  748. package/dist/ui/textHighlighter.d.ts.map +1 -0
  749. package/dist/ui/textHighlighter.js +267 -0
  750. package/dist/ui/textHighlighter.js.map +1 -0
  751. package/dist/ui/theme.d.ts +351 -0
  752. package/dist/ui/theme.d.ts.map +1 -0
  753. package/dist/ui/theme.js +436 -0
  754. package/dist/ui/theme.js.map +1 -0
  755. package/dist/ui/toolDisplay.d.ts +221 -0
  756. package/dist/ui/toolDisplay.d.ts.map +1 -0
  757. package/dist/ui/toolDisplay.js +1654 -0
  758. package/dist/ui/toolDisplay.js.map +1 -0
  759. package/dist/ui/uiConstants.d.ts +253 -0
  760. package/dist/ui/uiConstants.d.ts.map +1 -0
  761. package/dist/ui/uiConstants.js +437 -0
  762. package/dist/ui/uiConstants.js.map +1 -0
  763. package/dist/utils/analytics.d.ts +2 -0
  764. package/dist/utils/analytics.d.ts.map +1 -0
  765. package/dist/utils/analytics.js +51 -0
  766. package/dist/utils/analytics.js.map +1 -0
  767. package/dist/utils/askUserPrompt.d.ts +21 -0
  768. package/dist/utils/askUserPrompt.d.ts.map +1 -0
  769. package/dist/utils/askUserPrompt.js +87 -0
  770. package/dist/utils/askUserPrompt.js.map +1 -0
  771. package/dist/utils/asyncUtils.d.ts +95 -0
  772. package/dist/utils/asyncUtils.d.ts.map +1 -0
  773. package/dist/utils/asyncUtils.js +286 -0
  774. package/dist/utils/asyncUtils.js.map +1 -0
  775. package/dist/utils/debugLogger.d.ts +6 -0
  776. package/dist/utils/debugLogger.d.ts.map +1 -0
  777. package/dist/utils/debugLogger.js +39 -0
  778. package/dist/utils/debugLogger.js.map +1 -0
  779. package/dist/utils/errorUtils.d.ts +12 -0
  780. package/dist/utils/errorUtils.d.ts.map +1 -0
  781. package/dist/utils/errorUtils.js +83 -0
  782. package/dist/utils/errorUtils.js.map +1 -0
  783. package/dist/utils/frontmatter.d.ts +10 -0
  784. package/dist/utils/frontmatter.d.ts.map +1 -0
  785. package/dist/utils/frontmatter.js +78 -0
  786. package/dist/utils/frontmatter.js.map +1 -0
  787. package/dist/utils/lambdaClient.d.ts +35 -0
  788. package/dist/utils/lambdaClient.d.ts.map +1 -0
  789. package/dist/utils/lambdaClient.js +81 -0
  790. package/dist/utils/lambdaClient.js.map +1 -0
  791. package/dist/utils/packageInfo.d.ts +14 -0
  792. package/dist/utils/packageInfo.d.ts.map +1 -0
  793. package/dist/utils/packageInfo.js +45 -0
  794. package/dist/utils/packageInfo.js.map +1 -0
  795. package/dist/utils/planFormatter.d.ts +34 -0
  796. package/dist/utils/planFormatter.d.ts.map +1 -0
  797. package/dist/utils/planFormatter.js +141 -0
  798. package/dist/utils/planFormatter.js.map +1 -0
  799. package/dist/utils/projectRegistration.d.ts +61 -0
  800. package/dist/utils/projectRegistration.d.ts.map +1 -0
  801. package/dist/utils/projectRegistration.js +212 -0
  802. package/dist/utils/projectRegistration.js.map +1 -0
  803. package/dist/utils/securityUtils.d.ts +145 -0
  804. package/dist/utils/securityUtils.d.ts.map +1 -0
  805. package/dist/utils/securityUtils.js +507 -0
  806. package/dist/utils/securityUtils.js.map +1 -0
  807. package/dist/utils/statusReporter.d.ts +6 -0
  808. package/dist/utils/statusReporter.d.ts.map +1 -0
  809. package/dist/utils/statusReporter.js +26 -0
  810. package/dist/utils/statusReporter.js.map +1 -0
  811. package/dist/workspace.d.ts +8 -0
  812. package/dist/workspace.d.ts.map +1 -0
  813. package/dist/workspace.js +135 -0
  814. package/dist/workspace.js.map +1 -0
  815. package/dist/workspace.validator.d.ts +49 -0
  816. package/dist/workspace.validator.d.ts.map +1 -0
  817. package/dist/workspace.validator.js +215 -0
  818. package/dist/workspace.validator.js.map +1 -0
  819. package/package.json +1 -1
@@ -0,0 +1,332 @@
1
+ /**
2
+ * Web Tools - Web search and content extraction capabilities
3
+ *
4
+ * Provides:
5
+ * - WebSearch: Search the web using Tavily
6
+ * - WebExtract: Extract and summarize content from URLs
7
+ */
8
+ import { getSecretValue } from '../core/secretStore.js';
9
+ import { buildError } from '../core/errors.js';
10
+ /**
11
+ * Create web tools for search and extraction.
12
+ */
13
+ export function createWebTools() {
14
+ return [
15
+ {
16
+ name: 'WebSearch',
17
+ description: 'Search the web for current/up-to-date information using Tavily. Use proactively for news, events, recent releases, library docs that may have changed, or any time-sensitive lookup. Works out of the box via the Erosolar-hosted proxy; set TAVILY_API_KEY for unlimited use.',
18
+ parameters: {
19
+ type: 'object',
20
+ properties: {
21
+ query: {
22
+ type: 'string',
23
+ description: 'The search query',
24
+ },
25
+ maxResults: {
26
+ type: 'number',
27
+ description: 'Maximum number of results to return (default: 5, max: 10)',
28
+ },
29
+ searchDepth: {
30
+ type: 'string',
31
+ enum: ['basic', 'advanced'],
32
+ description: 'Search depth: basic (fast) or advanced (thorough). Default: basic',
33
+ },
34
+ includeAnswer: {
35
+ type: 'boolean',
36
+ description: 'Include AI-generated answer summary. Default: true',
37
+ },
38
+ },
39
+ required: ['query'],
40
+ additionalProperties: false,
41
+ },
42
+ handler: async (args) => {
43
+ const query = args['query'];
44
+ if (typeof query !== 'string' || !query.trim()) {
45
+ return 'Error: query is required';
46
+ }
47
+ const maxResults = Math.min(typeof args['maxResults'] === 'number' ? args['maxResults'] : 5, 10);
48
+ const searchDepth = args['searchDepth'] === 'advanced' ? 'advanced' : 'basic';
49
+ const includeAnswer = args['includeAnswer'] !== false;
50
+ try {
51
+ const tavilyKey = getSecretValue('TAVILY_API_KEY');
52
+ if (tavilyKey) {
53
+ return await searchTavily(query, tavilyKey, { maxResults, searchDepth, includeAnswer });
54
+ }
55
+ // No local key — fall back to the Erosolar-hosted Tavily proxy so
56
+ // the agent can search proactively out of the box. Counts against
57
+ // the operator's Tavily quota; users wanting unlimited can set
58
+ // TAVILY_API_KEY locally.
59
+ return await searchTavilyViaProxy(query, { maxResults, searchDepth, includeAnswer });
60
+ }
61
+ catch (error) {
62
+ return buildError('WebSearch', error, { query });
63
+ }
64
+ },
65
+ },
66
+ {
67
+ name: 'WebExtract',
68
+ description: 'Extract and summarize content from one or more URLs using Tavily. Use after WebSearch when you need the full content of a specific page (docs, articles, GitHub issues). Requires TAVILY_API_KEY.',
69
+ parameters: {
70
+ type: 'object',
71
+ properties: {
72
+ urls: {
73
+ type: 'array',
74
+ items: { type: 'string' },
75
+ description: 'URLs to extract content from (max 5)',
76
+ },
77
+ url: {
78
+ type: 'string',
79
+ description: 'Single URL to extract content from (alternative to urls array)',
80
+ },
81
+ },
82
+ additionalProperties: false,
83
+ },
84
+ handler: async (args) => {
85
+ let urls = [];
86
+ if (Array.isArray(args['urls'])) {
87
+ urls = args['urls'].filter((u) => typeof u === 'string');
88
+ }
89
+ else if (typeof args['url'] === 'string') {
90
+ urls = [args['url']];
91
+ }
92
+ if (urls.length === 0) {
93
+ return 'Error: at least one URL is required';
94
+ }
95
+ // Limit to 5 URLs
96
+ urls = urls.slice(0, 5);
97
+ const tavilyKey = getSecretValue('TAVILY_API_KEY');
98
+ if (!tavilyKey) {
99
+ return 'WebExtract requires TAVILY_API_KEY to be configured. Use /secrets set TAVILY_API_KEY to configure.';
100
+ }
101
+ try {
102
+ return await extractTavily(urls, tavilyKey);
103
+ }
104
+ catch (error) {
105
+ return buildError('WebExtract', error, { urls: urls.join(', ') });
106
+ }
107
+ },
108
+ },
109
+ {
110
+ name: 'WebFetch',
111
+ description: 'Fetch the raw content of a single URL via HTTP GET. Returns the response body as text (HTML/JSON/plain). Use this when you need the LITERAL page content (e.g., reading a specific docs page, fetching a JSON API). For research / "what does the web say about X" queries, use WebSearch instead — Tavily returns clean summaries.',
112
+ parameters: {
113
+ type: 'object',
114
+ properties: {
115
+ url: { type: 'string', description: 'Absolute http(s):// URL to fetch.' },
116
+ maxBytes: { type: 'number', description: 'Cap the response at this many bytes (default 200_000, max 2_000_000).' },
117
+ },
118
+ required: ['url'],
119
+ additionalProperties: false,
120
+ },
121
+ handler: async (args) => {
122
+ const url = args['url']?.trim();
123
+ if (!url)
124
+ return 'Error: url is required.';
125
+ if (!/^https?:\/\//i.test(url))
126
+ return 'Error: url must start with http:// or https://.';
127
+ const requestedCap = typeof args['maxBytes'] === 'number' ? args['maxBytes'] : 200_000;
128
+ const cap = Math.max(1024, Math.min(2_000_000, requestedCap));
129
+ try {
130
+ // 30s upper bound — long enough for slow doc sites, short
131
+ // enough that the user doesn't watch a stalled spinner.
132
+ const controller = new AbortController();
133
+ const timer = setTimeout(() => controller.abort(), 30_000);
134
+ const res = await fetch(url, {
135
+ redirect: 'follow',
136
+ signal: controller.signal,
137
+ headers: { 'User-Agent': 'erosolar-coder/WebFetch' },
138
+ }).finally(() => clearTimeout(timer));
139
+ if (!res.ok) {
140
+ return `Error: HTTP ${res.status} ${res.statusText} fetching ${url}`;
141
+ }
142
+ const ctype = res.headers.get('content-type') || 'unknown';
143
+ const buf = await res.arrayBuffer();
144
+ const truncated = buf.byteLength > cap;
145
+ const slice = truncated ? buf.slice(0, cap) : buf;
146
+ // Decode as UTF-8. Binary content will look like garbage —
147
+ // we're optimizing for HTML/text/JSON which dominates web
148
+ // fetching.
149
+ const text = new TextDecoder('utf-8', { fatal: false }).decode(slice);
150
+ const headerLines = [
151
+ `[WebFetch ${url}]`,
152
+ `Status: ${res.status} Content-Type: ${ctype} Size: ${buf.byteLength} bytes${truncated ? ` (truncated to ${cap})` : ''}`,
153
+ '',
154
+ ];
155
+ return headerLines.join('\n') + text;
156
+ }
157
+ catch (error) {
158
+ if (error.name === 'AbortError') {
159
+ return `Error: WebFetch timed out (30s) for ${url}`;
160
+ }
161
+ return buildError('WebFetch', error, { url });
162
+ }
163
+ },
164
+ },
165
+ ];
166
+ }
167
+ // Erosolar's hosted Tavily proxy (AWS API Gateway → Lambda). Lets the CLI
168
+ // search out of the box for users who haven't set TAVILY_API_KEY locally;
169
+ // counts against the operator's Tavily quota.
170
+ const EROSOLAR_TAVILY_PROXY_URL = 'https://cfqeqx4lt9.execute-api.us-east-1.amazonaws.com/api/tavilySearch';
171
+ /**
172
+ * Fallback for users without a local TAVILY_API_KEY: hit the Erosolar
173
+ * server-side proxy which uses the operator's key. Returns the same
174
+ * markdown shape as `searchTavily`. Errors propagate as a string for the
175
+ * tool harness to surface without crashing the agent loop.
176
+ */
177
+ async function searchTavilyViaProxy(query, options) {
178
+ const controller = new AbortController();
179
+ const timer = setTimeout(() => controller.abort(), 30_000);
180
+ try {
181
+ const res = await fetch(EROSOLAR_TAVILY_PROXY_URL, {
182
+ method: 'POST',
183
+ headers: { 'Content-Type': 'application/json' },
184
+ body: JSON.stringify({
185
+ query,
186
+ maxResults: options.maxResults,
187
+ depth: options.searchDepth,
188
+ includeAnswer: options.includeAnswer,
189
+ }),
190
+ signal: controller.signal,
191
+ });
192
+ if (!res.ok) {
193
+ const text = await res.text().catch(() => '');
194
+ if (res.status === 503) {
195
+ return 'WebSearch is temporarily unavailable on the Erosolar proxy. Set TAVILY_API_KEY locally with `/secrets set TAVILY_API_KEY` for unlimited use.';
196
+ }
197
+ throw new Error(`Erosolar Tavily proxy error: ${res.status} ${text.slice(0, 300)}`);
198
+ }
199
+ const data = (await res.json());
200
+ return formatTavilyResults(data, 'Tavily (via Erosolar)');
201
+ }
202
+ catch (error) {
203
+ if (error instanceof Error && error.name === 'AbortError') {
204
+ throw new Error('WebSearch via Erosolar proxy timed out after 30 seconds');
205
+ }
206
+ throw error;
207
+ }
208
+ finally {
209
+ clearTimeout(timer);
210
+ }
211
+ }
212
+ /**
213
+ * Search using Tavily API (recommended provider)
214
+ */
215
+ async function searchTavily(query, apiKey, options) {
216
+ const controller = new AbortController();
217
+ const timeout = setTimeout(() => controller.abort(), 24 * 60 * 60 * 1000); // 24 hour timeout
218
+ try {
219
+ const response = await fetch('https://api.tavily.com/search', {
220
+ method: 'POST',
221
+ headers: {
222
+ 'Content-Type': 'application/json',
223
+ },
224
+ body: JSON.stringify({
225
+ api_key: apiKey,
226
+ query,
227
+ search_depth: options.searchDepth,
228
+ include_answer: options.includeAnswer,
229
+ max_results: options.maxResults,
230
+ }),
231
+ signal: controller.signal,
232
+ });
233
+ if (!response.ok) {
234
+ const text = await response.text();
235
+ throw new Error(`Tavily API error: ${response.status} ${text}`);
236
+ }
237
+ const data = (await response.json());
238
+ return formatTavilyResults(data, 'Tavily');
239
+ }
240
+ catch (error) {
241
+ if (error instanceof Error && error.name === 'AbortError') {
242
+ throw new Error('Tavily search timed out after 30 seconds');
243
+ }
244
+ throw error;
245
+ }
246
+ finally {
247
+ clearTimeout(timeout);
248
+ }
249
+ }
250
+ /**
251
+ * Extract content using Tavily Extract API
252
+ */
253
+ async function extractTavily(urls, apiKey) {
254
+ const response = await fetch('https://api.tavily.com/extract', {
255
+ method: 'POST',
256
+ headers: {
257
+ 'Content-Type': 'application/json',
258
+ },
259
+ body: JSON.stringify({
260
+ api_key: apiKey,
261
+ urls,
262
+ }),
263
+ });
264
+ if (!response.ok) {
265
+ const text = await response.text();
266
+ throw new Error(`Tavily Extract API error: ${response.status} ${text}`);
267
+ }
268
+ const data = (await response.json());
269
+ return formatExtractResults(data);
270
+ }
271
+ /**
272
+ * Format Tavily search results with enhanced markdown formatting
273
+ */
274
+ function formatTavilyResults(data, provider) {
275
+ const lines = [`[WebSearch via ${provider}]`, ''];
276
+ if (data.answer) {
277
+ lines.push('**Summary:**', data.answer, '');
278
+ }
279
+ if (!data.results || data.results.length === 0) {
280
+ lines.push('No results found.');
281
+ return lines.join('\n');
282
+ }
283
+ if (data.results.length > 0) {
284
+ lines.push('**Search Results:**');
285
+ lines.push('');
286
+ for (let i = 0; i < data.results.length; i++) {
287
+ const result = data.results[i];
288
+ // Format as numbered list with clickable title link
289
+ lines.push(`${i + 1}. **[${result.title}](${result.url})**`);
290
+ if (result.content) {
291
+ const snippet = result.content.length > 300
292
+ ? result.content.slice(0, 300) + '...'
293
+ : result.content;
294
+ lines.push(` ${snippet}`);
295
+ }
296
+ if (result.published_date) {
297
+ lines.push(` *Published: ${result.published_date}*`);
298
+ }
299
+ lines.push('');
300
+ }
301
+ }
302
+ return lines.join('\n');
303
+ }
304
+ /**
305
+ * Format Tavily extract results with enhanced markdown formatting
306
+ */
307
+ function formatExtractResults(data) {
308
+ const lines = ['[WebExtract via Tavily]', ''];
309
+ if (!data.results || data.results.length === 0) {
310
+ lines.push('No content extracted.');
311
+ return lines.join('\n');
312
+ }
313
+ for (let i = 0; i < data.results.length; i++) {
314
+ const result = data.results[i];
315
+ lines.push(`### Source ${i + 1}: [${result.url}](${result.url})`);
316
+ lines.push('');
317
+ if (result.raw_content) {
318
+ // Truncate very long content
319
+ const content = result.raw_content.length > 5000
320
+ ? result.raw_content.slice(0, 5000) + '\n\n*[Content truncated...]*'
321
+ : result.raw_content;
322
+ lines.push(content);
323
+ }
324
+ lines.push('');
325
+ if (i < data.results.length - 1) {
326
+ lines.push('---');
327
+ lines.push('');
328
+ }
329
+ }
330
+ return lines.join('\n');
331
+ }
332
+ //# sourceMappingURL=webTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webTools.js","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * EnterWorktree / ExitWorktree — Claude-Code-parity isolation tools.
3
+ *
4
+ * Creates a temporary git worktree the agent can work in without
5
+ * disturbing the user's checkout, then cleans it up. Used by the
6
+ * sub-agent flow when `isolation: "worktree"` is requested, and
7
+ * directly by the agent for risky multi-file changes that should
8
+ * land as a single PR.
9
+ *
10
+ * Worktrees are created under <repoRoot>/.erosolar/worktrees/<id>/.
11
+ * The branch follows `erosolar/worktree/<id>` so a stale tree is
12
+ * easy to spot in `git branch`.
13
+ */
14
+ import type { ToolDefinition } from '../core/toolRuntime.js';
15
+ export declare function getWorktreeRegistry(): ReadonlyMap<string, {
16
+ path: string;
17
+ branch: string;
18
+ }>;
19
+ export declare function clearWorktreeRegistry(): void;
20
+ export declare function createWorktreeTools(workingDir: string): ToolDefinition[];
21
+ //# sourceMappingURL=worktreeTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeTools.d.ts","sourceRoot":"","sources":["../../src/tools/worktreeTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAwB7D,wBAAgB,mBAAmB,IAAI,WAAW,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAqHxE"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * EnterWorktree / ExitWorktree — Claude-Code-parity isolation tools.
3
+ *
4
+ * Creates a temporary git worktree the agent can work in without
5
+ * disturbing the user's checkout, then cleans it up. Used by the
6
+ * sub-agent flow when `isolation: "worktree"` is requested, and
7
+ * directly by the agent for risky multi-file changes that should
8
+ * land as a single PR.
9
+ *
10
+ * Worktrees are created under <repoRoot>/.erosolar/worktrees/<id>/.
11
+ * The branch follows `erosolar/worktree/<id>` so a stale tree is
12
+ * easy to spot in `git branch`.
13
+ */
14
+ import { execFileSync } from 'node:child_process';
15
+ import { existsSync, mkdirSync, rmSync } from 'node:fs';
16
+ import { join, resolve } from 'node:path';
17
+ const WORKTREE_REGISTRY = new Map();
18
+ function repoRoot(workingDir) {
19
+ try {
20
+ const out = execFileSync('git', ['rev-parse', '--show-toplevel'], {
21
+ cwd: workingDir,
22
+ encoding: 'utf-8',
23
+ stdio: ['ignore', 'pipe', 'pipe'],
24
+ });
25
+ return out.trim() || workingDir;
26
+ }
27
+ catch {
28
+ return workingDir;
29
+ }
30
+ }
31
+ function safeId(raw) {
32
+ const s = typeof raw === 'string' ? raw.trim() : '';
33
+ if (!s)
34
+ return `wt-${Date.now().toString(36)}`;
35
+ // Lock down to alnum/hyphen/underscore. Caller owns the ergonomic name.
36
+ return s.replace(/[^a-zA-Z0-9_-]/g, '-').slice(0, 64);
37
+ }
38
+ export function getWorktreeRegistry() {
39
+ return WORKTREE_REGISTRY;
40
+ }
41
+ export function clearWorktreeRegistry() {
42
+ WORKTREE_REGISTRY.clear();
43
+ }
44
+ export function createWorktreeTools(workingDir) {
45
+ return [
46
+ {
47
+ name: 'EnterWorktree',
48
+ description: 'Create a temporary git worktree for isolated changes. ' +
49
+ 'Returns the worktree path; the agent should `cd` into it ' +
50
+ 'or pass the path to subsequent file ops. Use for risky or ' +
51
+ 'speculative changes that should not touch the live checkout.',
52
+ parameters: {
53
+ type: 'object',
54
+ properties: {
55
+ id: {
56
+ type: 'string',
57
+ description: 'Short ergonomic id for the worktree (alnum/-/_, ≤64 chars). ' +
58
+ 'Used in path and branch name. Auto-generated if omitted.',
59
+ },
60
+ base: {
61
+ type: 'string',
62
+ description: 'Branch or commit to base the worktree on. Defaults to HEAD.',
63
+ },
64
+ },
65
+ },
66
+ handler: async (args) => {
67
+ const id = safeId(args['id']);
68
+ if (WORKTREE_REGISTRY.has(id)) {
69
+ const existing = WORKTREE_REGISTRY.get(id);
70
+ return `Worktree "${id}" already exists at ${existing.path} (branch ${existing.branch}).`;
71
+ }
72
+ const root = repoRoot(workingDir);
73
+ const wtRoot = join(root, '.erosolar', 'worktrees');
74
+ if (!existsSync(wtRoot)) {
75
+ mkdirSync(wtRoot, { recursive: true });
76
+ }
77
+ const wtPath = join(wtRoot, id);
78
+ const branch = `erosolar/worktree/${id}`;
79
+ const base = typeof args['base'] === 'string' && args['base'].trim() ? args['base'].trim() : 'HEAD';
80
+ try {
81
+ execFileSync('git', ['worktree', 'add', '-b', branch, wtPath, base], {
82
+ cwd: root,
83
+ stdio: ['ignore', 'pipe', 'pipe'],
84
+ });
85
+ }
86
+ catch (err) {
87
+ const msg = err instanceof Error ? err.message : String(err);
88
+ return `EnterWorktree failed: ${msg}`;
89
+ }
90
+ WORKTREE_REGISTRY.set(id, { path: wtPath, branch });
91
+ return `Worktree "${id}" created at ${wtPath} on branch ${branch}.`;
92
+ },
93
+ },
94
+ {
95
+ name: 'ExitWorktree',
96
+ description: 'Remove a worktree previously created by EnterWorktree. ' +
97
+ 'Pass `keepBranch: true` to preserve the branch (the worktree ' +
98
+ 'directory is always removed). Use this once the changes have ' +
99
+ 'been merged back or are no longer needed.',
100
+ parameters: {
101
+ type: 'object',
102
+ properties: {
103
+ id: { type: 'string', description: 'Worktree id from EnterWorktree.' },
104
+ keepBranch: {
105
+ type: 'boolean',
106
+ description: 'Preserve the underlying branch after removing the worktree.',
107
+ },
108
+ },
109
+ required: ['id'],
110
+ },
111
+ handler: async (args) => {
112
+ const id = safeId(args['id']);
113
+ const entry = WORKTREE_REGISTRY.get(id);
114
+ if (!entry) {
115
+ return `No registered worktree with id "${id}". Use EnterWorktree first.`;
116
+ }
117
+ const root = repoRoot(workingDir);
118
+ try {
119
+ execFileSync('git', ['worktree', 'remove', '--force', entry.path], {
120
+ cwd: root,
121
+ stdio: ['ignore', 'pipe', 'pipe'],
122
+ });
123
+ }
124
+ catch {
125
+ if (existsSync(entry.path)) {
126
+ rmSync(entry.path, { recursive: true, force: true });
127
+ }
128
+ }
129
+ if (!args['keepBranch']) {
130
+ try {
131
+ execFileSync('git', ['branch', '-D', entry.branch], {
132
+ cwd: root,
133
+ stdio: ['ignore', 'pipe', 'pipe'],
134
+ });
135
+ }
136
+ catch {
137
+ // Branch may already be gone or detached; non-fatal.
138
+ }
139
+ }
140
+ WORKTREE_REGISTRY.delete(id);
141
+ return `Worktree "${id}" removed${args['keepBranch'] ? ' (branch retained)' : ''}.`;
142
+ },
143
+ },
144
+ {
145
+ name: 'ListWorktrees',
146
+ description: 'List active worktrees registered by EnterWorktree.',
147
+ parameters: { type: 'object', properties: {} },
148
+ handler: async () => {
149
+ if (WORKTREE_REGISTRY.size === 0) {
150
+ return 'No active worktrees.';
151
+ }
152
+ const lines = Array.from(WORKTREE_REGISTRY.entries()).map(([id, e]) => `${id} → ${resolve(e.path)} (branch ${e.branch})`);
153
+ return lines.join('\n');
154
+ },
155
+ },
156
+ ];
157
+ }
158
+ //# sourceMappingURL=worktreeTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktreeTools.js","sourceRoot":"","sources":["../../src/tools/worktreeTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * RenderGate — single-source-of-truth render scheduler for the terminal
3
+ * UI. Modeled on Claude Code's render-on-commit pattern (custom React
4
+ * reconciler with a dirty flag + double buffering): every state mutation
5
+ * calls markDirty(); a fixed-rate tick commits at most once per frame
6
+ * when state actually changed. The gate guarantees:
7
+ *
8
+ * 1. Animation-driven repaints (spinner, elapsed timer) happen every
9
+ * frame regardless of whether stdin produced an event. The previous
10
+ * design had multiple silent-drop paths inside the renderer
11
+ * (renderThrottle / paste suppression / mode early-return); when ANY
12
+ * of those flagged on, the screen froze until a keystroke fired.
13
+ *
14
+ * 2. State mutations are batched within a frame. Setting mode +
15
+ * activity + status in the same JS turn results in ONE commit, not
16
+ * three.
17
+ *
18
+ * 3. Re-entrant commits are impossible — the gate is locked while a
19
+ * commit is in flight.
20
+ *
21
+ * 4. A best-effort defer hook (canCommitNow) lets the renderer ask the
22
+ * gate to wait when an overlay rewrite would be unsafe (e.g.
23
+ * mid-bracketed-paste). But deferral is hard-bounded: past
24
+ * maxDeferMs the gate force-commits, so a stuck flag can never
25
+ * freeze the UI again.
26
+ *
27
+ * This is purely additive: existing inline render calls (renderPrompt)
28
+ * keep working. The gate's tick is the safety net that ensures the
29
+ * screen stays in sync with state even when those inline calls early-
30
+ * return for reasons that wouldn't survive scrutiny.
31
+ */
32
+ export interface RenderGateOptions {
33
+ /** Target frame rate. Claude Code's frame budget is ~30fps. */
34
+ fps?: number;
35
+ /** Run a single commit pass; called only when dirty. */
36
+ commit: () => void;
37
+ /**
38
+ * Optional pre-commit gate. Returning false defers this frame's
39
+ * commit. The gate enforces a hard upper bound on consecutive defers
40
+ * (maxDeferMs) so a stuck precondition can never freeze the UI.
41
+ */
42
+ canCommitNow?: () => boolean;
43
+ /** Hard upper bound on consecutive deferrals (default 1500 ms). */
44
+ maxDeferMs?: number;
45
+ }
46
+ export declare class RenderGate {
47
+ private dirty;
48
+ private rendering;
49
+ private readonly targetFrameMs;
50
+ private interval;
51
+ private commitCount;
52
+ private skipCount;
53
+ private forceCommitCount;
54
+ private deferStartedAt;
55
+ private readonly commitFn;
56
+ private readonly canCommitNow;
57
+ private readonly maxDeferMs;
58
+ private disposed;
59
+ constructor(opts: RenderGateOptions);
60
+ /** Start the frame-rate tick. Idempotent. */
61
+ start(): void;
62
+ /** Stop the tick. Safe to call repeatedly. */
63
+ stop(): void;
64
+ /** Mark state dirty. The next tick (or a flush()) will commit once. */
65
+ markDirty(): void;
66
+ /**
67
+ * Synchronous force-commit, ignoring deferral and the dirty flag.
68
+ * Use sparingly — for transitions where the next thing to happen
69
+ * (e.g. clearing the screen, reading user input) needs the new state
70
+ * already on the wire.
71
+ */
72
+ flush(): void;
73
+ private tick;
74
+ dispose(): void;
75
+ /** Telemetry — useful for debugging stuck-state issues. */
76
+ stats(): {
77
+ commitCount: number;
78
+ skipCount: number;
79
+ forceCommitCount: number;
80
+ dirty: boolean;
81
+ };
82
+ }
83
+ //# sourceMappingURL=RenderGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderGate.d.ts","sourceRoot":"","sources":["../../src/ui/RenderGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAC7B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,iBAAiB;IAOnC,6CAA6C;IAC7C,KAAK,IAAI,IAAI;IAOb,8CAA8C;IAC9C,IAAI,IAAI,IAAI;IAOZ,uEAAuE;IACvE,SAAS,IAAI,IAAI;IAIjB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,IAAI;IAgCZ,OAAO,IAAI,IAAI;IAKf,2DAA2D;IAC3D,KAAK,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;CAQ9F"}