@trenchwork/erosolar 1.1.28 → 1.1.30

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.

Potentially problematic release.


This version of @trenchwork/erosolar might be problematic. Click here for more details.

Files changed (728) hide show
  1. package/README.md +1 -1
  2. package/SECURITY.md +35 -0
  3. package/dist/contracts/agent-schemas.json +1 -1
  4. package/package.json +1 -1
  5. package/dist/bin/cliMode.d.ts +0 -8
  6. package/dist/bin/cliMode.d.ts.map +0 -1
  7. package/dist/bin/cliMode.js +0 -20
  8. package/dist/bin/cliMode.js.map +0 -1
  9. package/dist/bin/deepseek.d.ts +0 -3
  10. package/dist/bin/deepseek.d.ts.map +0 -1
  11. package/dist/bin/deepseek.js +0 -307
  12. package/dist/bin/deepseek.js.map +0 -1
  13. package/dist/bin/erosolar.d.ts +0 -7
  14. package/dist/bin/erosolar.d.ts.map +0 -1
  15. package/dist/bin/erosolar.js +0 -7
  16. package/dist/bin/erosolar.js.map +0 -1
  17. package/dist/bin/selfTest.d.ts +0 -14
  18. package/dist/bin/selfTest.d.ts.map +0 -1
  19. package/dist/bin/selfTest.js +0 -298
  20. package/dist/bin/selfTest.js.map +0 -1
  21. package/dist/capabilities/_processRunner.d.ts +0 -17
  22. package/dist/capabilities/_processRunner.d.ts.map +0 -1
  23. package/dist/capabilities/_processRunner.js +0 -74
  24. package/dist/capabilities/_processRunner.js.map +0 -1
  25. package/dist/capabilities/aflppCapability.d.ts +0 -7
  26. package/dist/capabilities/aflppCapability.d.ts.map +0 -1
  27. package/dist/capabilities/aflppCapability.js +0 -301
  28. package/dist/capabilities/aflppCapability.js.map +0 -1
  29. package/dist/capabilities/baseCapability.d.ts +0 -72
  30. package/dist/capabilities/baseCapability.d.ts.map +0 -1
  31. package/dist/capabilities/baseCapability.js +0 -183
  32. package/dist/capabilities/baseCapability.js.map +0 -1
  33. package/dist/capabilities/bashCapability.d.ts +0 -13
  34. package/dist/capabilities/bashCapability.d.ts.map +0 -1
  35. package/dist/capabilities/bashCapability.js +0 -24
  36. package/dist/capabilities/bashCapability.js.map +0 -1
  37. package/dist/capabilities/binaryAnalysisCapability.d.ts +0 -7
  38. package/dist/capabilities/binaryAnalysisCapability.d.ts.map +0 -1
  39. package/dist/capabilities/binaryAnalysisCapability.js +0 -201
  40. package/dist/capabilities/binaryAnalysisCapability.js.map +0 -1
  41. package/dist/capabilities/editCapability.d.ts +0 -17
  42. package/dist/capabilities/editCapability.d.ts.map +0 -1
  43. package/dist/capabilities/editCapability.js +0 -27
  44. package/dist/capabilities/editCapability.js.map +0 -1
  45. package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
  46. package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
  47. package/dist/capabilities/enhancedGitCapability.js +0 -220
  48. package/dist/capabilities/enhancedGitCapability.js.map +0 -1
  49. package/dist/capabilities/filesystemCapability.d.ts +0 -13
  50. package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
  51. package/dist/capabilities/filesystemCapability.js +0 -24
  52. package/dist/capabilities/filesystemCapability.js.map +0 -1
  53. package/dist/capabilities/gdbCapability.d.ts +0 -7
  54. package/dist/capabilities/gdbCapability.d.ts.map +0 -1
  55. package/dist/capabilities/gdbCapability.js +0 -125
  56. package/dist/capabilities/gdbCapability.js.map +0 -1
  57. package/dist/capabilities/ghidraHeadlessCapability.d.ts +0 -25
  58. package/dist/capabilities/ghidraHeadlessCapability.d.ts.map +0 -1
  59. package/dist/capabilities/ghidraHeadlessCapability.js +0 -593
  60. package/dist/capabilities/ghidraHeadlessCapability.js.map +0 -1
  61. package/dist/capabilities/gitHistoryCapability.d.ts +0 -6
  62. package/dist/capabilities/gitHistoryCapability.d.ts.map +0 -1
  63. package/dist/capabilities/gitHistoryCapability.js +0 -184
  64. package/dist/capabilities/gitHistoryCapability.js.map +0 -1
  65. package/dist/capabilities/hitlCapability.d.ts +0 -18
  66. package/dist/capabilities/hitlCapability.d.ts.map +0 -1
  67. package/dist/capabilities/hitlCapability.js +0 -29
  68. package/dist/capabilities/hitlCapability.js.map +0 -1
  69. package/dist/capabilities/index.d.ts +0 -18
  70. package/dist/capabilities/index.d.ts.map +0 -1
  71. package/dist/capabilities/index.js +0 -23
  72. package/dist/capabilities/index.js.map +0 -1
  73. package/dist/capabilities/kaliCapability.d.ts +0 -14
  74. package/dist/capabilities/kaliCapability.d.ts.map +0 -1
  75. package/dist/capabilities/kaliCapability.js +0 -478
  76. package/dist/capabilities/kaliCapability.js.map +0 -1
  77. package/dist/capabilities/mcpCapability.d.ts +0 -7
  78. package/dist/capabilities/mcpCapability.d.ts.map +0 -1
  79. package/dist/capabilities/mcpCapability.js +0 -80
  80. package/dist/capabilities/mcpCapability.js.map +0 -1
  81. package/dist/capabilities/memoryCapability.d.ts +0 -10
  82. package/dist/capabilities/memoryCapability.d.ts.map +0 -1
  83. package/dist/capabilities/memoryCapability.js +0 -22
  84. package/dist/capabilities/memoryCapability.js.map +0 -1
  85. package/dist/capabilities/notebookCapability.d.ts +0 -6
  86. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  87. package/dist/capabilities/notebookCapability.js +0 -17
  88. package/dist/capabilities/notebookCapability.js.map +0 -1
  89. package/dist/capabilities/pwntoolsCapability.d.ts +0 -7
  90. package/dist/capabilities/pwntoolsCapability.d.ts.map +0 -1
  91. package/dist/capabilities/pwntoolsCapability.js +0 -109
  92. package/dist/capabilities/pwntoolsCapability.js.map +0 -1
  93. package/dist/capabilities/searchCapability.d.ts +0 -19
  94. package/dist/capabilities/searchCapability.d.ts.map +0 -1
  95. package/dist/capabilities/searchCapability.js +0 -29
  96. package/dist/capabilities/searchCapability.js.map +0 -1
  97. package/dist/capabilities/skillCapability.d.ts +0 -6
  98. package/dist/capabilities/skillCapability.d.ts.map +0 -1
  99. package/dist/capabilities/skillCapability.js +0 -17
  100. package/dist/capabilities/skillCapability.js.map +0 -1
  101. package/dist/capabilities/todoCapability.d.ts +0 -11
  102. package/dist/capabilities/todoCapability.d.ts.map +0 -1
  103. package/dist/capabilities/todoCapability.js +0 -22
  104. package/dist/capabilities/todoCapability.js.map +0 -1
  105. package/dist/capabilities/toolManifest.d.ts +0 -3
  106. package/dist/capabilities/toolManifest.d.ts.map +0 -1
  107. package/dist/capabilities/toolManifest.js +0 -163
  108. package/dist/capabilities/toolManifest.js.map +0 -1
  109. package/dist/capabilities/toolRegistry.d.ts +0 -25
  110. package/dist/capabilities/toolRegistry.d.ts.map +0 -1
  111. package/dist/capabilities/toolRegistry.js +0 -150
  112. package/dist/capabilities/toolRegistry.js.map +0 -1
  113. package/dist/capabilities/unifiedCodingCapability.d.ts +0 -62
  114. package/dist/capabilities/unifiedCodingCapability.d.ts.map +0 -1
  115. package/dist/capabilities/unifiedCodingCapability.js +0 -788
  116. package/dist/capabilities/unifiedCodingCapability.js.map +0 -1
  117. package/dist/capabilities/webCapability.d.ts +0 -23
  118. package/dist/capabilities/webCapability.d.ts.map +0 -1
  119. package/dist/capabilities/webCapability.js +0 -33
  120. package/dist/capabilities/webCapability.js.map +0 -1
  121. package/dist/config.d.ts +0 -25
  122. package/dist/config.d.ts.map +0 -1
  123. package/dist/config.js +0 -155
  124. package/dist/config.js.map +0 -1
  125. package/dist/contracts/v1/agent.d.ts +0 -179
  126. package/dist/contracts/v1/agent.d.ts.map +0 -1
  127. package/dist/contracts/v1/agent.js +0 -8
  128. package/dist/contracts/v1/agent.js.map +0 -1
  129. package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
  130. package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
  131. package/dist/contracts/v1/agentProfileManifest.js +0 -9
  132. package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
  133. package/dist/contracts/v1/agentRules.d.ts +0 -60
  134. package/dist/contracts/v1/agentRules.d.ts.map +0 -1
  135. package/dist/contracts/v1/agentRules.js +0 -10
  136. package/dist/contracts/v1/agentRules.js.map +0 -1
  137. package/dist/contracts/v1/provider.d.ts +0 -149
  138. package/dist/contracts/v1/provider.d.ts.map +0 -1
  139. package/dist/contracts/v1/provider.js +0 -7
  140. package/dist/contracts/v1/provider.js.map +0 -1
  141. package/dist/contracts/v1/tool.d.ts +0 -136
  142. package/dist/contracts/v1/tool.d.ts.map +0 -1
  143. package/dist/contracts/v1/tool.js +0 -7
  144. package/dist/contracts/v1/tool.js.map +0 -1
  145. package/dist/contracts/v1/toolAccess.d.ts +0 -43
  146. package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
  147. package/dist/contracts/v1/toolAccess.js +0 -9
  148. package/dist/contracts/v1/toolAccess.js.map +0 -1
  149. package/dist/core/agent.d.ts +0 -320
  150. package/dist/core/agent.d.ts.map +0 -1
  151. package/dist/core/agent.js +0 -1627
  152. package/dist/core/agent.js.map +0 -1
  153. package/dist/core/agentProfileManifest.d.ts +0 -3
  154. package/dist/core/agentProfileManifest.d.ts.map +0 -1
  155. package/dist/core/agentProfileManifest.js +0 -188
  156. package/dist/core/agentProfileManifest.js.map +0 -1
  157. package/dist/core/agentProfiles.d.ts +0 -22
  158. package/dist/core/agentProfiles.d.ts.map +0 -1
  159. package/dist/core/agentProfiles.js +0 -35
  160. package/dist/core/agentProfiles.js.map +0 -1
  161. package/dist/core/agentRegistry.d.ts +0 -111
  162. package/dist/core/agentRegistry.d.ts.map +0 -1
  163. package/dist/core/agentRegistry.js +0 -229
  164. package/dist/core/agentRegistry.js.map +0 -1
  165. package/dist/core/agentRulebook.d.ts +0 -11
  166. package/dist/core/agentRulebook.d.ts.map +0 -1
  167. package/dist/core/agentRulebook.js +0 -136
  168. package/dist/core/agentRulebook.js.map +0 -1
  169. package/dist/core/agentSchemaLoader.d.ts +0 -131
  170. package/dist/core/agentSchemaLoader.d.ts.map +0 -1
  171. package/dist/core/agentSchemaLoader.js +0 -235
  172. package/dist/core/agentSchemaLoader.js.map +0 -1
  173. package/dist/core/aiErrorFixer.d.ts +0 -57
  174. package/dist/core/aiErrorFixer.d.ts.map +0 -1
  175. package/dist/core/aiErrorFixer.js +0 -214
  176. package/dist/core/aiErrorFixer.js.map +0 -1
  177. package/dist/core/artifactStore.d.ts +0 -35
  178. package/dist/core/artifactStore.d.ts.map +0 -1
  179. package/dist/core/artifactStore.js +0 -105
  180. package/dist/core/artifactStore.js.map +0 -1
  181. package/dist/core/auth.d.ts +0 -15
  182. package/dist/core/auth.d.ts.map +0 -1
  183. package/dist/core/auth.js +0 -291
  184. package/dist/core/auth.js.map +0 -1
  185. package/dist/core/bashCommandGuidance.d.ts +0 -16
  186. package/dist/core/bashCommandGuidance.d.ts.map +0 -1
  187. package/dist/core/bashCommandGuidance.js +0 -40
  188. package/dist/core/bashCommandGuidance.js.map +0 -1
  189. package/dist/core/constants.d.ts +0 -31
  190. package/dist/core/constants.d.ts.map +0 -1
  191. package/dist/core/constants.js +0 -62
  192. package/dist/core/constants.js.map +0 -1
  193. package/dist/core/contextManager.d.ts +0 -271
  194. package/dist/core/contextManager.d.ts.map +0 -1
  195. package/dist/core/contextManager.js +0 -1073
  196. package/dist/core/contextManager.js.map +0 -1
  197. package/dist/core/contextWindow.d.ts +0 -42
  198. package/dist/core/contextWindow.d.ts.map +0 -1
  199. package/dist/core/contextWindow.js +0 -123
  200. package/dist/core/contextWindow.js.map +0 -1
  201. package/dist/core/customCommands.d.ts +0 -19
  202. package/dist/core/customCommands.d.ts.map +0 -1
  203. package/dist/core/customCommands.js +0 -85
  204. package/dist/core/customCommands.js.map +0 -1
  205. package/dist/core/errors/apiKeyErrors.d.ts +0 -11
  206. package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
  207. package/dist/core/errors/apiKeyErrors.js +0 -159
  208. package/dist/core/errors/apiKeyErrors.js.map +0 -1
  209. package/dist/core/errors/errorTypes.d.ts +0 -111
  210. package/dist/core/errors/errorTypes.d.ts.map +0 -1
  211. package/dist/core/errors/errorTypes.js +0 -345
  212. package/dist/core/errors/errorTypes.js.map +0 -1
  213. package/dist/core/errors/index.d.ts +0 -50
  214. package/dist/core/errors/index.d.ts.map +0 -1
  215. package/dist/core/errors/index.js +0 -156
  216. package/dist/core/errors/index.js.map +0 -1
  217. package/dist/core/errors/networkErrors.d.ts +0 -14
  218. package/dist/core/errors/networkErrors.d.ts.map +0 -1
  219. package/dist/core/errors/networkErrors.js +0 -53
  220. package/dist/core/errors/networkErrors.js.map +0 -1
  221. package/dist/core/errors/safetyValidator.d.ts +0 -109
  222. package/dist/core/errors/safetyValidator.d.ts.map +0 -1
  223. package/dist/core/errors/safetyValidator.js +0 -271
  224. package/dist/core/errors/safetyValidator.js.map +0 -1
  225. package/dist/core/errors.d.ts +0 -4
  226. package/dist/core/errors.d.ts.map +0 -1
  227. package/dist/core/errors.js +0 -33
  228. package/dist/core/errors.js.map +0 -1
  229. package/dist/core/finalResponseFormatter.d.ts +0 -10
  230. package/dist/core/finalResponseFormatter.d.ts.map +0 -1
  231. package/dist/core/finalResponseFormatter.js +0 -14
  232. package/dist/core/finalResponseFormatter.js.map +0 -1
  233. package/dist/core/guardrails.d.ts +0 -146
  234. package/dist/core/guardrails.d.ts.map +0 -1
  235. package/dist/core/guardrails.js +0 -361
  236. package/dist/core/guardrails.js.map +0 -1
  237. package/dist/core/hitl.d.ts +0 -119
  238. package/dist/core/hitl.d.ts.map +0 -1
  239. package/dist/core/hitl.js +0 -387
  240. package/dist/core/hitl.js.map +0 -1
  241. package/dist/core/hooks.d.ts +0 -95
  242. package/dist/core/hooks.d.ts.map +0 -1
  243. package/dist/core/hooks.js +0 -239
  244. package/dist/core/hooks.js.map +0 -1
  245. package/dist/core/index.d.ts +0 -7
  246. package/dist/core/index.d.ts.map +0 -1
  247. package/dist/core/index.js +0 -7
  248. package/dist/core/index.js.map +0 -1
  249. package/dist/core/inputProtection.d.ts +0 -122
  250. package/dist/core/inputProtection.d.ts.map +0 -1
  251. package/dist/core/inputProtection.js +0 -422
  252. package/dist/core/inputProtection.js.map +0 -1
  253. package/dist/core/modelDiscovery.d.ts +0 -105
  254. package/dist/core/modelDiscovery.d.ts.map +0 -1
  255. package/dist/core/modelDiscovery.js +0 -768
  256. package/dist/core/modelDiscovery.js.map +0 -1
  257. package/dist/core/multilinePasteHandler.d.ts +0 -35
  258. package/dist/core/multilinePasteHandler.d.ts.map +0 -1
  259. package/dist/core/multilinePasteHandler.js +0 -81
  260. package/dist/core/multilinePasteHandler.js.map +0 -1
  261. package/dist/core/preferences.d.ts +0 -65
  262. package/dist/core/preferences.d.ts.map +0 -1
  263. package/dist/core/preferences.js +0 -305
  264. package/dist/core/preferences.js.map +0 -1
  265. package/dist/core/providerKeys.d.ts +0 -20
  266. package/dist/core/providerKeys.d.ts.map +0 -1
  267. package/dist/core/providerKeys.js +0 -40
  268. package/dist/core/providerKeys.js.map +0 -1
  269. package/dist/core/refusalDetection.d.ts +0 -2
  270. package/dist/core/refusalDetection.d.ts.map +0 -1
  271. package/dist/core/refusalDetection.js +0 -51
  272. package/dist/core/refusalDetection.js.map +0 -1
  273. package/dist/core/resultVerification.d.ts +0 -47
  274. package/dist/core/resultVerification.d.ts.map +0 -1
  275. package/dist/core/resultVerification.js +0 -126
  276. package/dist/core/resultVerification.js.map +0 -1
  277. package/dist/core/reviewerGuard.d.ts +0 -37
  278. package/dist/core/reviewerGuard.d.ts.map +0 -1
  279. package/dist/core/reviewerGuard.js +0 -188
  280. package/dist/core/reviewerGuard.js.map +0 -1
  281. package/dist/core/schemaValidator.d.ts +0 -49
  282. package/dist/core/schemaValidator.d.ts.map +0 -1
  283. package/dist/core/schemaValidator.js +0 -234
  284. package/dist/core/schemaValidator.js.map +0 -1
  285. package/dist/core/secretStore.d.ts +0 -48
  286. package/dist/core/secretStore.d.ts.map +0 -1
  287. package/dist/core/secretStore.js +0 -259
  288. package/dist/core/secretStore.js.map +0 -1
  289. package/dist/core/sessionStorage.d.ts +0 -10
  290. package/dist/core/sessionStorage.d.ts.map +0 -1
  291. package/dist/core/sessionStorage.js +0 -46
  292. package/dist/core/sessionStorage.js.map +0 -1
  293. package/dist/core/sessionStore.d.ts +0 -35
  294. package/dist/core/sessionStore.d.ts.map +0 -1
  295. package/dist/core/sessionStore.js +0 -191
  296. package/dist/core/sessionStore.js.map +0 -1
  297. package/dist/core/sharedSecrets.d.ts +0 -60
  298. package/dist/core/sharedSecrets.d.ts.map +0 -1
  299. package/dist/core/sharedSecrets.js +0 -111
  300. package/dist/core/sharedSecrets.js.map +0 -1
  301. package/dist/core/shutdown.d.ts +0 -34
  302. package/dist/core/shutdown.d.ts.map +0 -1
  303. package/dist/core/shutdown.js +0 -186
  304. package/dist/core/shutdown.js.map +0 -1
  305. package/dist/core/sudoPasswordManager.d.ts +0 -52
  306. package/dist/core/sudoPasswordManager.d.ts.map +0 -1
  307. package/dist/core/sudoPasswordManager.js +0 -115
  308. package/dist/core/sudoPasswordManager.js.map +0 -1
  309. package/dist/core/taskCompletionDetector.d.ts +0 -117
  310. package/dist/core/taskCompletionDetector.d.ts.map +0 -1
  311. package/dist/core/taskCompletionDetector.js +0 -532
  312. package/dist/core/taskCompletionDetector.js.map +0 -1
  313. package/dist/core/testFailureMonitor.d.ts +0 -67
  314. package/dist/core/testFailureMonitor.d.ts.map +0 -1
  315. package/dist/core/testFailureMonitor.js +0 -262
  316. package/dist/core/testFailureMonitor.js.map +0 -1
  317. package/dist/core/toolPreconditions.d.ts +0 -34
  318. package/dist/core/toolPreconditions.d.ts.map +0 -1
  319. package/dist/core/toolPreconditions.js +0 -242
  320. package/dist/core/toolPreconditions.js.map +0 -1
  321. package/dist/core/toolRuntime.d.ts +0 -192
  322. package/dist/core/toolRuntime.d.ts.map +0 -1
  323. package/dist/core/toolRuntime.js +0 -511
  324. package/dist/core/toolRuntime.js.map +0 -1
  325. package/dist/core/types/utilityTypes.d.ts +0 -183
  326. package/dist/core/types/utilityTypes.d.ts.map +0 -1
  327. package/dist/core/types/utilityTypes.js +0 -273
  328. package/dist/core/types/utilityTypes.js.map +0 -1
  329. package/dist/core/types.d.ts +0 -334
  330. package/dist/core/types.d.ts.map +0 -1
  331. package/dist/core/types.js +0 -76
  332. package/dist/core/types.js.map +0 -1
  333. package/dist/core/updateChecker.d.ts +0 -148
  334. package/dist/core/updateChecker.d.ts.map +0 -1
  335. package/dist/core/updateChecker.js +0 -599
  336. package/dist/core/updateChecker.js.map +0 -1
  337. package/dist/core/usageTracker.d.ts +0 -11
  338. package/dist/core/usageTracker.d.ts.map +0 -1
  339. package/dist/core/usageTracker.js +0 -128
  340. package/dist/core/usageTracker.js.map +0 -1
  341. package/dist/core/userApproval.d.ts +0 -95
  342. package/dist/core/userApproval.d.ts.map +0 -1
  343. package/dist/core/userApproval.js +0 -239
  344. package/dist/core/userApproval.js.map +0 -1
  345. package/dist/headless/interactiveShell.d.ts +0 -22
  346. package/dist/headless/interactiveShell.d.ts.map +0 -1
  347. package/dist/headless/interactiveShell.js +0 -2121
  348. package/dist/headless/interactiveShell.js.map +0 -1
  349. package/dist/leanAgent.d.ts +0 -73
  350. package/dist/leanAgent.d.ts.map +0 -1
  351. package/dist/leanAgent.js +0 -177
  352. package/dist/leanAgent.js.map +0 -1
  353. package/dist/plugins/index.d.ts +0 -49
  354. package/dist/plugins/index.d.ts.map +0 -1
  355. package/dist/plugins/index.js +0 -104
  356. package/dist/plugins/index.js.map +0 -1
  357. package/dist/plugins/providers/anthropic/index.d.ts +0 -9
  358. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  359. package/dist/plugins/providers/anthropic/index.js +0 -48
  360. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  361. package/dist/plugins/providers/deepseek/index.d.ts +0 -11
  362. package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
  363. package/dist/plugins/providers/deepseek/index.js +0 -54
  364. package/dist/plugins/providers/deepseek/index.js.map +0 -1
  365. package/dist/plugins/providers/index.d.ts +0 -2
  366. package/dist/plugins/providers/index.d.ts.map +0 -1
  367. package/dist/plugins/providers/index.js +0 -17
  368. package/dist/plugins/providers/index.js.map +0 -1
  369. package/dist/plugins/providers/openai/index.d.ts +0 -10
  370. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  371. package/dist/plugins/providers/openai/index.js +0 -47
  372. package/dist/plugins/providers/openai/index.js.map +0 -1
  373. package/dist/plugins/providers/xai/index.d.ts +0 -10
  374. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  375. package/dist/plugins/providers/xai/index.js +0 -47
  376. package/dist/plugins/providers/xai/index.js.map +0 -1
  377. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -10
  378. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
  379. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -110
  380. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
  381. package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
  382. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
  383. package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
  384. package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
  385. package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
  386. package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
  387. package/dist/plugins/tools/edit/editPlugin.js +0 -15
  388. package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
  389. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
  390. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
  391. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
  392. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
  393. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
  394. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
  395. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
  396. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
  397. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +0 -3
  398. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +0 -1
  399. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +0 -9
  400. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +0 -1
  401. package/dist/plugins/tools/index.d.ts +0 -3
  402. package/dist/plugins/tools/index.d.ts.map +0 -1
  403. package/dist/plugins/tools/index.js +0 -3
  404. package/dist/plugins/tools/index.js.map +0 -1
  405. package/dist/plugins/tools/integrity/integrityPlugin.d.ts +0 -3
  406. package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +0 -1
  407. package/dist/plugins/tools/integrity/integrityPlugin.js +0 -31
  408. package/dist/plugins/tools/integrity/integrityPlugin.js.map +0 -1
  409. package/dist/plugins/tools/kali/kaliPlugin.d.ts +0 -3
  410. package/dist/plugins/tools/kali/kaliPlugin.d.ts.map +0 -1
  411. package/dist/plugins/tools/kali/kaliPlugin.js +0 -10
  412. package/dist/plugins/tools/kali/kaliPlugin.js.map +0 -1
  413. package/dist/plugins/tools/mcp/mcpClient.d.ts +0 -49
  414. package/dist/plugins/tools/mcp/mcpClient.d.ts.map +0 -1
  415. package/dist/plugins/tools/mcp/mcpClient.js +0 -112
  416. package/dist/plugins/tools/mcp/mcpClient.js.map +0 -1
  417. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
  418. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
  419. package/dist/plugins/tools/mcp/mcpPlugin.js +0 -10
  420. package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
  421. package/dist/plugins/tools/nodeDefaults.d.ts +0 -13
  422. package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
  423. package/dist/plugins/tools/nodeDefaults.js +0 -37
  424. package/dist/plugins/tools/nodeDefaults.js.map +0 -1
  425. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +0 -3
  426. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +0 -1
  427. package/dist/plugins/tools/orchestration/orchestrationPlugin.js +0 -340
  428. package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +0 -1
  429. package/dist/plugins/tools/registry.d.ts +0 -22
  430. package/dist/plugins/tools/registry.d.ts.map +0 -1
  431. package/dist/plugins/tools/registry.js +0 -58
  432. package/dist/plugins/tools/registry.js.map +0 -1
  433. package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
  434. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
  435. package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
  436. package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
  437. package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
  438. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
  439. package/dist/plugins/tools/skills/skillPlugin.js +0 -27
  440. package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
  441. package/dist/plugins/tools/todo/todoPlugin.d.ts +0 -3
  442. package/dist/plugins/tools/todo/todoPlugin.d.ts.map +0 -1
  443. package/dist/plugins/tools/todo/todoPlugin.js +0 -10
  444. package/dist/plugins/tools/todo/todoPlugin.js.map +0 -1
  445. package/dist/providers/baseProvider.d.ts +0 -148
  446. package/dist/providers/baseProvider.d.ts.map +0 -1
  447. package/dist/providers/baseProvider.js +0 -284
  448. package/dist/providers/baseProvider.js.map +0 -1
  449. package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -64
  450. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
  451. package/dist/providers/openaiChatCompletionsProvider.js +0 -1018
  452. package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
  453. package/dist/providers/providerFactory.d.ts +0 -22
  454. package/dist/providers/providerFactory.d.ts.map +0 -1
  455. package/dist/providers/providerFactory.js +0 -25
  456. package/dist/providers/providerFactory.js.map +0 -1
  457. package/dist/providers/resilientProvider.d.ts +0 -103
  458. package/dist/providers/resilientProvider.d.ts.map +0 -1
  459. package/dist/providers/resilientProvider.js +0 -468
  460. package/dist/providers/resilientProvider.js.map +0 -1
  461. package/dist/runtime/agentController.d.ts +0 -121
  462. package/dist/runtime/agentController.d.ts.map +0 -1
  463. package/dist/runtime/agentController.js +0 -739
  464. package/dist/runtime/agentController.js.map +0 -1
  465. package/dist/runtime/agentHost.d.ts +0 -61
  466. package/dist/runtime/agentHost.d.ts.map +0 -1
  467. package/dist/runtime/agentHost.js +0 -158
  468. package/dist/runtime/agentHost.js.map +0 -1
  469. package/dist/runtime/agentSession.d.ts +0 -49
  470. package/dist/runtime/agentSession.d.ts.map +0 -1
  471. package/dist/runtime/agentSession.js +0 -218
  472. package/dist/runtime/agentSession.js.map +0 -1
  473. package/dist/runtime/agentSpawningWiring.d.ts +0 -23
  474. package/dist/runtime/agentSpawningWiring.d.ts.map +0 -1
  475. package/dist/runtime/agentSpawningWiring.js +0 -119
  476. package/dist/runtime/agentSpawningWiring.js.map +0 -1
  477. package/dist/runtime/agentWorkerPool.d.ts +0 -167
  478. package/dist/runtime/agentWorkerPool.d.ts.map +0 -1
  479. package/dist/runtime/agentWorkerPool.js +0 -435
  480. package/dist/runtime/agentWorkerPool.js.map +0 -1
  481. package/dist/runtime/node.d.ts +0 -7
  482. package/dist/runtime/node.d.ts.map +0 -1
  483. package/dist/runtime/node.js +0 -56
  484. package/dist/runtime/node.js.map +0 -1
  485. package/dist/runtime/universal.d.ts +0 -18
  486. package/dist/runtime/universal.d.ts.map +0 -1
  487. package/dist/runtime/universal.js +0 -21
  488. package/dist/runtime/universal.js.map +0 -1
  489. package/dist/shell/autoExecutor.d.ts +0 -70
  490. package/dist/shell/autoExecutor.d.ts.map +0 -1
  491. package/dist/shell/autoExecutor.js +0 -320
  492. package/dist/shell/autoExecutor.js.map +0 -1
  493. package/dist/shell/commandRegistry.d.ts +0 -122
  494. package/dist/shell/commandRegistry.d.ts.map +0 -1
  495. package/dist/shell/commandRegistry.js +0 -355
  496. package/dist/shell/commandRegistry.js.map +0 -1
  497. package/dist/shell/composableMessage.d.ts +0 -178
  498. package/dist/shell/composableMessage.d.ts.map +0 -1
  499. package/dist/shell/composableMessage.js +0 -384
  500. package/dist/shell/composableMessage.js.map +0 -1
  501. package/dist/shell/liveStatus.d.ts +0 -27
  502. package/dist/shell/liveStatus.d.ts.map +0 -1
  503. package/dist/shell/liveStatus.js +0 -53
  504. package/dist/shell/liveStatus.js.map +0 -1
  505. package/dist/shell/systemPrompt.d.ts +0 -12
  506. package/dist/shell/systemPrompt.d.ts.map +0 -1
  507. package/dist/shell/systemPrompt.js +0 -16
  508. package/dist/shell/systemPrompt.js.map +0 -1
  509. package/dist/shell/vimMode.d.ts +0 -66
  510. package/dist/shell/vimMode.d.ts.map +0 -1
  511. package/dist/shell/vimMode.js +0 -435
  512. package/dist/shell/vimMode.js.map +0 -1
  513. package/dist/tools/bashTools.d.ts +0 -11
  514. package/dist/tools/bashTools.d.ts.map +0 -1
  515. package/dist/tools/bashTools.js +0 -779
  516. package/dist/tools/bashTools.js.map +0 -1
  517. package/dist/tools/diffUtils.d.ts +0 -43
  518. package/dist/tools/diffUtils.d.ts.map +0 -1
  519. package/dist/tools/diffUtils.js +0 -607
  520. package/dist/tools/diffUtils.js.map +0 -1
  521. package/dist/tools/editTools.d.ts +0 -29
  522. package/dist/tools/editTools.d.ts.map +0 -1
  523. package/dist/tools/editTools.js +0 -792
  524. package/dist/tools/editTools.js.map +0 -1
  525. package/dist/tools/fileChangeTracker.d.ts +0 -47
  526. package/dist/tools/fileChangeTracker.d.ts.map +0 -1
  527. package/dist/tools/fileChangeTracker.js +0 -154
  528. package/dist/tools/fileChangeTracker.js.map +0 -1
  529. package/dist/tools/fileReadTracker.d.ts +0 -69
  530. package/dist/tools/fileReadTracker.d.ts.map +0 -1
  531. package/dist/tools/fileReadTracker.js +0 -213
  532. package/dist/tools/fileReadTracker.js.map +0 -1
  533. package/dist/tools/fileTools.d.ts +0 -3
  534. package/dist/tools/fileTools.d.ts.map +0 -1
  535. package/dist/tools/fileTools.js +0 -389
  536. package/dist/tools/fileTools.js.map +0 -1
  537. package/dist/tools/grepTools.d.ts +0 -3
  538. package/dist/tools/grepTools.d.ts.map +0 -1
  539. package/dist/tools/grepTools.js +0 -128
  540. package/dist/tools/grepTools.js.map +0 -1
  541. package/dist/tools/heliaControl.d.ts +0 -51
  542. package/dist/tools/heliaControl.d.ts.map +0 -1
  543. package/dist/tools/heliaControl.js +0 -93
  544. package/dist/tools/heliaControl.js.map +0 -1
  545. package/dist/tools/hitlTools.d.ts +0 -7
  546. package/dist/tools/hitlTools.d.ts.map +0 -1
  547. package/dist/tools/hitlTools.js +0 -185
  548. package/dist/tools/hitlTools.js.map +0 -1
  549. package/dist/tools/localExplore.d.ts +0 -38
  550. package/dist/tools/localExplore.d.ts.map +0 -1
  551. package/dist/tools/localExplore.js +0 -30
  552. package/dist/tools/localExplore.js.map +0 -1
  553. package/dist/tools/memoryTools.d.ts +0 -20
  554. package/dist/tools/memoryTools.d.ts.map +0 -1
  555. package/dist/tools/memoryTools.js +0 -180
  556. package/dist/tools/memoryTools.js.map +0 -1
  557. package/dist/tools/notebookTools.d.ts +0 -20
  558. package/dist/tools/notebookTools.d.ts.map +0 -1
  559. package/dist/tools/notebookTools.js +0 -140
  560. package/dist/tools/notebookTools.js.map +0 -1
  561. package/dist/tools/searchTools.d.ts +0 -12
  562. package/dist/tools/searchTools.d.ts.map +0 -1
  563. package/dist/tools/searchTools.js +0 -413
  564. package/dist/tools/searchTools.js.map +0 -1
  565. package/dist/tools/skillTools.d.ts +0 -24
  566. package/dist/tools/skillTools.d.ts.map +0 -1
  567. package/dist/tools/skillTools.js +0 -140
  568. package/dist/tools/skillTools.js.map +0 -1
  569. package/dist/tools/todoTools.d.ts +0 -24
  570. package/dist/tools/todoTools.d.ts.map +0 -1
  571. package/dist/tools/todoTools.js +0 -101
  572. package/dist/tools/todoTools.js.map +0 -1
  573. package/dist/tools/webTools.d.ts +0 -26
  574. package/dist/tools/webTools.d.ts.map +0 -1
  575. package/dist/tools/webTools.js +0 -332
  576. package/dist/tools/webTools.js.map +0 -1
  577. package/dist/ui/RenderGate.d.ts +0 -83
  578. package/dist/ui/RenderGate.d.ts.map +0 -1
  579. package/dist/ui/RenderGate.js +0 -138
  580. package/dist/ui/RenderGate.js.map +0 -1
  581. package/dist/ui/animatedStatus.d.ts +0 -140
  582. package/dist/ui/animatedStatus.d.ts.map +0 -1
  583. package/dist/ui/animatedStatus.js +0 -480
  584. package/dist/ui/animatedStatus.js.map +0 -1
  585. package/dist/ui/animation/AnimationScheduler.d.ts +0 -197
  586. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  587. package/dist/ui/animation/AnimationScheduler.js +0 -440
  588. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  589. package/dist/ui/codeHighlighter.d.ts +0 -6
  590. package/dist/ui/codeHighlighter.d.ts.map +0 -1
  591. package/dist/ui/codeHighlighter.js +0 -855
  592. package/dist/ui/codeHighlighter.js.map +0 -1
  593. package/dist/ui/designSystem.d.ts +0 -26
  594. package/dist/ui/designSystem.d.ts.map +0 -1
  595. package/dist/ui/designSystem.js +0 -114
  596. package/dist/ui/designSystem.js.map +0 -1
  597. package/dist/ui/errorFormatter.d.ts +0 -64
  598. package/dist/ui/errorFormatter.d.ts.map +0 -1
  599. package/dist/ui/errorFormatter.js +0 -316
  600. package/dist/ui/errorFormatter.js.map +0 -1
  601. package/dist/ui/globalWriteLock.d.ts +0 -63
  602. package/dist/ui/globalWriteLock.d.ts.map +0 -1
  603. package/dist/ui/globalWriteLock.js +0 -173
  604. package/dist/ui/globalWriteLock.js.map +0 -1
  605. package/dist/ui/index.d.ts +0 -31
  606. package/dist/ui/index.d.ts.map +0 -1
  607. package/dist/ui/index.js +0 -49
  608. package/dist/ui/index.js.map +0 -1
  609. package/dist/ui/ink/App.d.ts +0 -39
  610. package/dist/ui/ink/App.d.ts.map +0 -1
  611. package/dist/ui/ink/App.js +0 -18
  612. package/dist/ui/ink/App.js.map +0 -1
  613. package/dist/ui/ink/ChatStatic.d.ts +0 -29
  614. package/dist/ui/ink/ChatStatic.d.ts.map +0 -1
  615. package/dist/ui/ink/ChatStatic.js +0 -30
  616. package/dist/ui/ink/ChatStatic.js.map +0 -1
  617. package/dist/ui/ink/InkPromptController.d.ts +0 -286
  618. package/dist/ui/ink/InkPromptController.d.ts.map +0 -1
  619. package/dist/ui/ink/InkPromptController.js +0 -558
  620. package/dist/ui/ink/InkPromptController.js.map +0 -1
  621. package/dist/ui/ink/Prompt.d.ts +0 -36
  622. package/dist/ui/ink/Prompt.d.ts.map +0 -1
  623. package/dist/ui/ink/Prompt.js +0 -296
  624. package/dist/ui/ink/Prompt.js.map +0 -1
  625. package/dist/ui/ink/StatusLine.d.ts +0 -25
  626. package/dist/ui/ink/StatusLine.d.ts.map +0 -1
  627. package/dist/ui/ink/StatusLine.js +0 -11
  628. package/dist/ui/ink/StatusLine.js.map +0 -1
  629. package/dist/ui/ink/adapter.d.ts +0 -58
  630. package/dist/ui/ink/adapter.d.ts.map +0 -1
  631. package/dist/ui/ink/adapter.js +0 -113
  632. package/dist/ui/ink/adapter.js.map +0 -1
  633. package/dist/ui/interrupts/InterruptManager.d.ts +0 -157
  634. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  635. package/dist/ui/interrupts/InterruptManager.js +0 -501
  636. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  637. package/dist/ui/layout.d.ts +0 -27
  638. package/dist/ui/layout.d.ts.map +0 -1
  639. package/dist/ui/layout.js +0 -184
  640. package/dist/ui/layout.js.map +0 -1
  641. package/dist/ui/outputMode.d.ts +0 -58
  642. package/dist/ui/outputMode.d.ts.map +0 -1
  643. package/dist/ui/outputMode.js +0 -179
  644. package/dist/ui/outputMode.js.map +0 -1
  645. package/dist/ui/overlay/OverlayManager.d.ts +0 -105
  646. package/dist/ui/overlay/OverlayManager.d.ts.map +0 -1
  647. package/dist/ui/overlay/OverlayManager.js +0 -304
  648. package/dist/ui/overlay/OverlayManager.js.map +0 -1
  649. package/dist/ui/premiumComponents.d.ts +0 -54
  650. package/dist/ui/premiumComponents.d.ts.map +0 -1
  651. package/dist/ui/premiumComponents.js +0 -241
  652. package/dist/ui/premiumComponents.js.map +0 -1
  653. package/dist/ui/richText.d.ts +0 -13
  654. package/dist/ui/richText.d.ts.map +0 -1
  655. package/dist/ui/richText.js +0 -444
  656. package/dist/ui/richText.js.map +0 -1
  657. package/dist/ui/telemetry/ResponseTracker.d.ts +0 -22
  658. package/dist/ui/telemetry/ResponseTracker.d.ts.map +0 -1
  659. package/dist/ui/telemetry/ResponseTracker.js +0 -60
  660. package/dist/ui/telemetry/ResponseTracker.js.map +0 -1
  661. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  662. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  663. package/dist/ui/telemetry/UITelemetry.js +0 -446
  664. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  665. package/dist/ui/textHighlighter.d.ts +0 -83
  666. package/dist/ui/textHighlighter.d.ts.map +0 -1
  667. package/dist/ui/textHighlighter.js +0 -267
  668. package/dist/ui/textHighlighter.js.map +0 -1
  669. package/dist/ui/theme.d.ts +0 -351
  670. package/dist/ui/theme.d.ts.map +0 -1
  671. package/dist/ui/theme.js +0 -434
  672. package/dist/ui/theme.js.map +0 -1
  673. package/dist/ui/toolDisplay.d.ts +0 -221
  674. package/dist/ui/toolDisplay.d.ts.map +0 -1
  675. package/dist/ui/toolDisplay.js +0 -1654
  676. package/dist/ui/toolDisplay.js.map +0 -1
  677. package/dist/ui/uiConstants.d.ts +0 -253
  678. package/dist/ui/uiConstants.d.ts.map +0 -1
  679. package/dist/ui/uiConstants.js +0 -437
  680. package/dist/ui/uiConstants.js.map +0 -1
  681. package/dist/utils/analytics.d.ts +0 -2
  682. package/dist/utils/analytics.d.ts.map +0 -1
  683. package/dist/utils/analytics.js +0 -51
  684. package/dist/utils/analytics.js.map +0 -1
  685. package/dist/utils/askUserPrompt.d.ts +0 -21
  686. package/dist/utils/askUserPrompt.d.ts.map +0 -1
  687. package/dist/utils/askUserPrompt.js +0 -87
  688. package/dist/utils/askUserPrompt.js.map +0 -1
  689. package/dist/utils/asyncUtils.d.ts +0 -95
  690. package/dist/utils/asyncUtils.d.ts.map +0 -1
  691. package/dist/utils/asyncUtils.js +0 -286
  692. package/dist/utils/asyncUtils.js.map +0 -1
  693. package/dist/utils/debugLogger.d.ts +0 -6
  694. package/dist/utils/debugLogger.d.ts.map +0 -1
  695. package/dist/utils/debugLogger.js +0 -39
  696. package/dist/utils/debugLogger.js.map +0 -1
  697. package/dist/utils/errorUtils.d.ts +0 -12
  698. package/dist/utils/errorUtils.d.ts.map +0 -1
  699. package/dist/utils/errorUtils.js +0 -83
  700. package/dist/utils/errorUtils.js.map +0 -1
  701. package/dist/utils/frontmatter.d.ts +0 -10
  702. package/dist/utils/frontmatter.d.ts.map +0 -1
  703. package/dist/utils/frontmatter.js +0 -78
  704. package/dist/utils/frontmatter.js.map +0 -1
  705. package/dist/utils/packageInfo.d.ts +0 -14
  706. package/dist/utils/packageInfo.d.ts.map +0 -1
  707. package/dist/utils/packageInfo.js +0 -45
  708. package/dist/utils/packageInfo.js.map +0 -1
  709. package/dist/utils/planFormatter.d.ts +0 -34
  710. package/dist/utils/planFormatter.d.ts.map +0 -1
  711. package/dist/utils/planFormatter.js +0 -141
  712. package/dist/utils/planFormatter.js.map +0 -1
  713. package/dist/utils/securityUtils.d.ts +0 -145
  714. package/dist/utils/securityUtils.d.ts.map +0 -1
  715. package/dist/utils/securityUtils.js +0 -507
  716. package/dist/utils/securityUtils.js.map +0 -1
  717. package/dist/utils/statusReporter.d.ts +0 -6
  718. package/dist/utils/statusReporter.d.ts.map +0 -1
  719. package/dist/utils/statusReporter.js +0 -26
  720. package/dist/utils/statusReporter.js.map +0 -1
  721. package/dist/workspace.d.ts +0 -8
  722. package/dist/workspace.d.ts.map +0 -1
  723. package/dist/workspace.js +0 -135
  724. package/dist/workspace.js.map +0 -1
  725. package/dist/workspace.validator.d.ts +0 -49
  726. package/dist/workspace.validator.d.ts.map +0 -1
  727. package/dist/workspace.validator.js +0 -215
  728. package/dist/workspace.validator.js.map +0 -1
@@ -1,788 +0,0 @@
1
- /**
2
- * UNIFIED CODING CAPABILITY
3
- *
4
- * A lean, consolidated capability module that provides all essential
5
- * tools for an AI coding assistant in a single, coherent interface.
6
- *
7
- * Consolidates: Filesystem, Edit, Bash, Search, Git, Web
8
- */
9
- import * as fs from 'fs';
10
- import * as path from 'path';
11
- import { execSync } from 'child_process';
12
- import { buildDiffWithContext, formatDiffClaudeStyle } from '../tools/diffUtils.js';
13
- import { recordFileChange } from '../tools/fileChangeTracker.js';
14
- // ============================================================================
15
- // SCHEMA HELPERS
16
- // ============================================================================
17
- function stringProp(description, enumValues) {
18
- const prop = {
19
- type: 'string',
20
- description,
21
- };
22
- if (enumValues) {
23
- return { ...prop, enum: enumValues };
24
- }
25
- return prop;
26
- }
27
- function objectSchema(properties, required) {
28
- return {
29
- type: 'object',
30
- properties,
31
- required,
32
- };
33
- }
34
- export class UnifiedCodingCapabilityModule {
35
- id = 'unified-coding';
36
- options;
37
- constructor(options = {}) {
38
- this.options = {
39
- workingDir: options.workingDir ?? process.cwd(),
40
- enableGit: options.enableGit ?? true,
41
- enableWeb: options.enableWeb ?? true,
42
- enableBash: options.enableBash ?? true,
43
- maxFileSize: options.maxFileSize ?? 10 * 1024 * 1024, // 10MB
44
- timeout: options.timeout ?? 30000, // 30s
45
- provider: options.provider,
46
- providerId: options.providerId,
47
- modelId: options.modelId,
48
- subagentType: options.subagentType,
49
- allowedToolNames: options.allowedToolNames,
50
- agentRegistry: options.agentRegistry,
51
- };
52
- }
53
- async create(_context) {
54
- return {
55
- id: this.id,
56
- description: 'Unified coding assistant tools',
57
- toolSuite: this.buildToolSuite(),
58
- };
59
- }
60
- buildToolSuite() {
61
- const tools = [];
62
- // === FILESYSTEM TOOLS ===
63
- tools.push(this.createReadFileTool());
64
- tools.push(this.createWriteFileTool());
65
- tools.push(this.createListFilesTool());
66
- tools.push(this.createFileExistsTool());
67
- // === EDIT TOOLS ===
68
- tools.push(this.createEditFileTool());
69
- tools.push(this.createSearchReplaceTool());
70
- // === SEARCH TOOLS ===
71
- tools.push(this.createGrepTool());
72
- tools.push(this.createGlobTool());
73
- // === BASH TOOLS ===
74
- if (this.options.enableBash) {
75
- tools.push(this.createBashTool());
76
- }
77
- // === GIT TOOLS ===
78
- if (this.options.enableGit) {
79
- tools.push(this.createGitTool());
80
- }
81
- // === WEB TOOLS ===
82
- if (this.options.enableWeb) {
83
- tools.push(this.createWebFetchTool());
84
- }
85
- // === AGENT-SPAWN TOOLS ===
86
- // Only the parent (no subagentType) gets these — sub-agents are
87
- // explicitly forbidden from spawning further sub-agents.
88
- if (this.options.provider && !this.options.subagentType) {
89
- const agentTools = this.createAgentSpawnTools();
90
- for (const t of agentTools)
91
- tools.push(t);
92
- }
93
- // Apply tool filter for sub-agents.
94
- let finalTools = tools;
95
- if (this.options.allowedToolNames) {
96
- finalTools = tools.filter((t) => this.options.allowedToolNames.has(t.name));
97
- }
98
- else if (this.options.subagentType) {
99
- // Lazy-import the filter to avoid module init cycles.
100
- // Pulling synchronously via require() is fine — this module is
101
- // CommonJS-compatible at runtime.
102
- const { filterToolsForType } = require('../core/agentRegistry.js');
103
- const allowed = new Set(filterToolsForType(tools.map((t) => t.name), this.options.subagentType));
104
- finalTools = tools.filter((t) => allowed.has(t.name));
105
- }
106
- return {
107
- id: 'unified-coding-tools',
108
- description: 'Unified coding assistant tools for file operations, editing, search, and execution',
109
- tools: finalTools,
110
- };
111
- }
112
- // ============================================================================
113
- // FILESYSTEM TOOLS
114
- // ============================================================================
115
- createReadFileTool() {
116
- return {
117
- name: 'read_file',
118
- description: 'Read the contents of a file. Returns the file content as a string.',
119
- parameters: objectSchema({
120
- path: stringProp('Absolute or relative path to the file'),
121
- encoding: stringProp('File encoding (default: utf-8)'),
122
- }, ['path']),
123
- handler: async (args) => {
124
- try {
125
- const filePath = this.resolvePath(args.path);
126
- const stat = fs.statSync(filePath);
127
- if (stat.size > this.options.maxFileSize) {
128
- return `Error: File too large (${stat.size} bytes). Max: ${this.options.maxFileSize} bytes`;
129
- }
130
- const content = fs.readFileSync(filePath, { encoding: args.encoding ?? 'utf-8' });
131
- return content;
132
- }
133
- catch (error) {
134
- return `Error reading file: ${error.message}`;
135
- }
136
- },
137
- };
138
- }
139
- createWriteFileTool() {
140
- return {
141
- name: 'write_file',
142
- description: 'Write content to a file. Creates the file if it does not exist.',
143
- parameters: objectSchema({
144
- path: stringProp('Absolute or relative path to the file'),
145
- content: stringProp('Content to write to the file'),
146
- createDirs: stringProp('Create parent directories if they do not exist (default: true)'),
147
- }, ['path', 'content']),
148
- handler: async (args) => {
149
- try {
150
- const filePath = this.resolvePath(args.path);
151
- // Read old content if file exists (for diff)
152
- let oldContent = '';
153
- const fileExists = fs.existsSync(filePath);
154
- if (fileExists) {
155
- oldContent = fs.readFileSync(filePath, 'utf-8');
156
- }
157
- if (args.createDirs !== 'false') {
158
- const dir = path.dirname(filePath);
159
- if (!fs.existsSync(dir)) {
160
- fs.mkdirSync(dir, { recursive: true });
161
- }
162
- }
163
- // Record for revert before writing
164
- recordFileChange(filePath);
165
- fs.writeFileSync(filePath, args.content, 'utf-8');
166
- // Generate diff output
167
- const relativePath = path.relative(this.options.workingDir, filePath);
168
- const displayPath = relativePath && !relativePath.startsWith('..') ? relativePath : filePath;
169
- const diffResult = buildDiffWithContext(oldContent, args.content, 2);
170
- const { additions, removals } = diffResult;
171
- // Format diff with colors (limit to 10 lines)
172
- const MAX_DIFF_LINES = 10;
173
- const truncatedSegments = diffResult.segments.slice(0, MAX_DIFF_LINES);
174
- const diffLines = formatDiffClaudeStyle(truncatedSegments, true);
175
- const remainingChanges = diffResult.segments.length - MAX_DIFF_LINES;
176
- if (remainingChanges > 0) {
177
- diffLines.push(` ... +${remainingChanges} more changes`);
178
- }
179
- const diffBlock = diffLines.length > 0 ? diffLines.join('\n') : ' (No visual diff)';
180
- // Build summary
181
- const action = fileExists ? 'Update' : 'Create';
182
- const additionText = additions === 1 ? '1 addition' : `${additions} additions`;
183
- const removalText = removals === 1 ? '1 removal' : `${removals} removals`;
184
- const summaryParts = [];
185
- if (additions > 0)
186
- summaryParts.push(additionText);
187
- if (removals > 0)
188
- summaryParts.push(removalText);
189
- const summaryText = summaryParts.length > 0 ? summaryParts.join(' and ') : 'no changes';
190
- return [
191
- `⏺ ${action}(${displayPath})`,
192
- ` ⎿ ${action}d ${displayPath} with ${summaryText}`,
193
- diffBlock,
194
- ].join('\n');
195
- }
196
- catch (error) {
197
- return `Error writing file: ${error.message}`;
198
- }
199
- },
200
- };
201
- }
202
- createListFilesTool() {
203
- return {
204
- name: 'list_files',
205
- description: 'List files in a directory. Optionally filter by pattern and recurse into subdirectories.',
206
- parameters: objectSchema({
207
- path: stringProp('Directory path to list'),
208
- recursive: stringProp('Recurse into subdirectories (default: false)'),
209
- pattern: stringProp('Glob pattern to filter files (e.g., "*.ts")'),
210
- }, ['path']),
211
- handler: async (args) => {
212
- try {
213
- const dirPath = this.resolvePath(args.path);
214
- const files = this.listDirectory(dirPath, args.recursive === 'true', args.pattern);
215
- return files.join('\n');
216
- }
217
- catch (error) {
218
- return `Error listing files: ${error.message}`;
219
- }
220
- },
221
- };
222
- }
223
- createFileExistsTool() {
224
- return {
225
- name: 'file_exists',
226
- description: 'Check if a file or directory exists.',
227
- parameters: objectSchema({
228
- path: stringProp('Path to check'),
229
- }, ['path']),
230
- handler: async (args) => {
231
- const filePath = this.resolvePath(args.path);
232
- const exists = fs.existsSync(filePath);
233
- if (exists) {
234
- const stat = fs.statSync(filePath);
235
- return `Exists: ${stat.isDirectory() ? 'directory' : 'file'}`;
236
- }
237
- return 'Does not exist';
238
- },
239
- };
240
- }
241
- // ============================================================================
242
- // EDIT TOOLS
243
- // ============================================================================
244
- createEditFileTool() {
245
- return {
246
- name: 'edit_file',
247
- description: 'Edit a file by replacing specific text. The oldText must match exactly.',
248
- parameters: objectSchema({
249
- path: stringProp('Path to the file to edit'),
250
- oldText: stringProp('Exact text to find and replace'),
251
- newText: stringProp('Text to replace with'),
252
- }, ['path', 'oldText', 'newText']),
253
- handler: async (args) => {
254
- try {
255
- const filePath = this.resolvePath(args.path);
256
- const content = fs.readFileSync(filePath, 'utf-8');
257
- if (!content.includes(args.oldText)) {
258
- return `Error: Could not find the specified text in ${filePath}`;
259
- }
260
- const newContent = content.replace(args.oldText, args.newText);
261
- fs.writeFileSync(filePath, newContent, 'utf-8');
262
- return `Successfully edited ${filePath}`;
263
- }
264
- catch (error) {
265
- return `Error editing file: ${error.message}`;
266
- }
267
- },
268
- };
269
- }
270
- createSearchReplaceTool() {
271
- return {
272
- name: 'search_replace',
273
- description: 'Search and replace text in a file. Supports regex patterns.',
274
- parameters: objectSchema({
275
- path: stringProp('Path to the file'),
276
- search: stringProp('Text or regex pattern to search for'),
277
- replace: stringProp('Replacement text'),
278
- regex: stringProp('Treat search as regex (default: false)'),
279
- global: stringProp('Replace all occurrences (default: true)'),
280
- }, ['path', 'search', 'replace']),
281
- handler: async (args) => {
282
- try {
283
- const filePath = this.resolvePath(args.path);
284
- const content = fs.readFileSync(filePath, 'utf-8');
285
- let pattern;
286
- if (args.regex === 'true') {
287
- const flags = args.global !== 'false' ? 'g' : '';
288
- pattern = new RegExp(args.search, flags);
289
- }
290
- else {
291
- pattern = args.global !== 'false'
292
- ? new RegExp(this.escapeRegex(args.search), 'g')
293
- : args.search;
294
- }
295
- const newContent = content.replace(pattern, args.replace);
296
- const matchCount = (content.match(pattern instanceof RegExp ? pattern : new RegExp(this.escapeRegex(args.search), 'g')) || []).length;
297
- fs.writeFileSync(filePath, newContent, 'utf-8');
298
- return `Replaced ${matchCount} occurrence(s) in ${filePath}`;
299
- }
300
- catch (error) {
301
- return `Error in search/replace: ${error.message}`;
302
- }
303
- },
304
- };
305
- }
306
- // ============================================================================
307
- // SEARCH TOOLS
308
- // ============================================================================
309
- createGrepTool() {
310
- return {
311
- name: 'grep',
312
- description: 'Search for a pattern in files. Returns matching lines with file names and line numbers.',
313
- parameters: objectSchema({
314
- pattern: stringProp('Regex pattern to search for'),
315
- path: stringProp('Directory or file to search in (default: working directory)'),
316
- filePattern: stringProp('Filter files by glob pattern (e.g., "*.ts")'),
317
- contextLines: stringProp('Number of context lines around matches (default: 0)'),
318
- }, ['pattern']),
319
- handler: async (args) => {
320
- try {
321
- const searchPath = this.resolvePath(args.path ?? '.');
322
- const results = [];
323
- const files = fs.statSync(searchPath).isDirectory()
324
- ? this.listDirectory(searchPath, true, args.filePattern)
325
- : [searchPath];
326
- // Use regex without 'g' flag for test() to avoid lastIndex issues
327
- const regex = new RegExp(args.pattern, 'i');
328
- const contextLines = parseInt(args.contextLines ?? '0', 10) || 0;
329
- const matchedLineSet = new Set(); // Prevent duplicate context lines
330
- for (const file of files.slice(0, 100)) { // Limit to 100 files
331
- try {
332
- // Skip binary files by checking for null bytes
333
- const buffer = fs.readFileSync(file);
334
- if (buffer.includes(0))
335
- continue; // Binary file
336
- const content = buffer.toString('utf-8');
337
- // Skip very large files
338
- if (content.length > 1024 * 1024)
339
- continue; // > 1MB
340
- const lines = content.split('\n');
341
- const fileMatches = [];
342
- // First pass: find all matching line numbers
343
- for (let i = 0; i < lines.length; i++) {
344
- if (regex.test(lines[i])) {
345
- fileMatches.push(i);
346
- }
347
- }
348
- // Second pass: output with context, avoiding duplicates
349
- for (const matchIdx of fileMatches) {
350
- const start = Math.max(0, matchIdx - contextLines);
351
- const end = Math.min(lines.length - 1, matchIdx + contextLines);
352
- for (let j = start; j <= end; j++) {
353
- const lineKey = `${file}:${j}`;
354
- if (!matchedLineSet.has(lineKey)) {
355
- matchedLineSet.add(lineKey);
356
- const prefix = j === matchIdx ? '>' : ' ';
357
- results.push(`${file}:${j + 1}:${prefix} ${lines[j]}`);
358
- }
359
- }
360
- if (contextLines > 0 && matchIdx < fileMatches[fileMatches.length - 1]) {
361
- results.push('--');
362
- }
363
- }
364
- }
365
- catch {
366
- // Skip unreadable files
367
- }
368
- // Stop if we have enough results
369
- if (results.length > 500)
370
- break;
371
- }
372
- return results.length > 0
373
- ? results.slice(0, 500).join('\n')
374
- : 'No matches found';
375
- }
376
- catch (error) {
377
- return `Error in grep: ${error.message}`;
378
- }
379
- },
380
- };
381
- }
382
- createGlobTool() {
383
- return {
384
- name: 'glob',
385
- description: 'Find files matching a glob pattern.',
386
- parameters: objectSchema({
387
- pattern: stringProp('Glob pattern (e.g., "**/*.ts", "src/**/*.js")'),
388
- path: stringProp('Base directory (default: working directory)'),
389
- }, ['pattern']),
390
- handler: async (args) => {
391
- try {
392
- const basePath = this.resolvePath(args.path ?? '.');
393
- const files = this.listDirectory(basePath, true, args.pattern);
394
- return files.length > 0
395
- ? files.slice(0, 200).join('\n')
396
- : 'No files found matching pattern';
397
- }
398
- catch (error) {
399
- return `Error in glob: ${error.message}`;
400
- }
401
- },
402
- };
403
- }
404
- // ============================================================================
405
- // BASH TOOL
406
- // ============================================================================
407
- createBashTool() {
408
- return {
409
- name: 'bash',
410
- description: 'Execute a bash command and return the output. Use for running builds, tests, git commands, etc.',
411
- parameters: objectSchema({
412
- command: stringProp('The command to execute'),
413
- timeout: stringProp('Timeout in milliseconds (default: 30000)'),
414
- cwd: stringProp('Working directory for the command'),
415
- }, ['command']),
416
- handler: async (args) => {
417
- return new Promise((resolve) => {
418
- try {
419
- const timeout = parseInt(args.timeout ?? String(this.options.timeout), 10);
420
- const cwd = args.cwd ? this.resolvePath(args.cwd) : this.options.workingDir;
421
- const result = execSync(args.command, {
422
- cwd,
423
- timeout,
424
- encoding: 'utf-8',
425
- maxBuffer: 10 * 1024 * 1024,
426
- stdio: ['pipe', 'pipe', 'pipe'],
427
- });
428
- resolve(result.trim() || '(no output)');
429
- }
430
- catch (error) {
431
- const execError = error;
432
- const stdout = execError.stdout ?? '';
433
- const stderr = execError.stderr ?? '';
434
- resolve(`Error: ${execError.message}\nStdout: ${stdout}\nStderr: ${stderr}`);
435
- }
436
- });
437
- },
438
- };
439
- }
440
- // ============================================================================
441
- // GIT TOOL
442
- // ============================================================================
443
- createGitTool() {
444
- return {
445
- name: 'git',
446
- description: 'Execute git operations. Supports: status, diff, log, add, commit, push, pull, branch, checkout, merge, stash',
447
- parameters: objectSchema({
448
- operation: stringProp('Git operation', ['status', 'diff', 'log', 'add', 'commit', 'push', 'pull', 'branch', 'checkout', 'merge', 'stash', 'reset', 'fetch']),
449
- args: stringProp('Additional arguments for the git command'),
450
- }, ['operation']),
451
- handler: async (args) => {
452
- try {
453
- const command = `git ${args.operation}${args.args ? ' ' + args.args : ''}`;
454
- const result = execSync(command, {
455
- cwd: this.options.workingDir,
456
- encoding: 'utf-8',
457
- timeout: this.options.timeout,
458
- });
459
- return result.trim() || '(no output)';
460
- }
461
- catch (error) {
462
- const execError = error;
463
- return `Git error: ${execError.stderr || execError.message}`;
464
- }
465
- },
466
- };
467
- }
468
- // ============================================================================
469
- // WEB TOOL
470
- // ============================================================================
471
- createWebFetchTool() {
472
- return {
473
- name: 'web_fetch',
474
- description: 'Fetch content from a URL. Useful for downloading documentation or API responses.',
475
- parameters: objectSchema({
476
- url: stringProp('URL to fetch'),
477
- method: stringProp('HTTP method (default: GET)'),
478
- headers: stringProp('JSON string of headers'),
479
- }, ['url']),
480
- handler: async (args) => {
481
- try {
482
- const headers = args.headers ? JSON.parse(args.headers) : {};
483
- const response = await fetch(args.url, {
484
- method: args.method ?? 'GET',
485
- headers,
486
- });
487
- if (!response.ok) {
488
- return `HTTP ${response.status}: ${response.statusText}`;
489
- }
490
- const contentType = response.headers.get('content-type') ?? '';
491
- if (contentType.includes('application/json')) {
492
- const json = await response.json();
493
- return JSON.stringify(json, null, 2);
494
- }
495
- const text = await response.text();
496
- return text.slice(0, 50000); // Limit response size
497
- }
498
- catch (error) {
499
- return `Fetch error: ${error.message}`;
500
- }
501
- },
502
- };
503
- }
504
- // ============================================================================
505
- // AGENT-SPAWN TOOLS — Claude-Code-style Agent + lifecycle tools
506
- // ============================================================================
507
- createAgentSpawnTools() {
508
- const provider = this.options.provider;
509
- const parentDir = this.options.workingDir;
510
- const providerId = this.options.providerId;
511
- const modelId = this.options.modelId;
512
- // Defer registry creation so circular imports settle.
513
- const { AgentRegistry, filterToolsForType } = require('../core/agentRegistry.js');
514
- // Spawner closes over the LeanAgent class via lazy require.
515
- const spawner = async (req, handle, deps) => {
516
- const { LeanAgent } = require('../leanAgent.js');
517
- const subAgent = new LeanAgent({
518
- provider: provider,
519
- workingDir: deps.workingDir,
520
- providerId: providerId,
521
- modelId: req.model ?? modelId,
522
- systemPrompt: this.subagentSystemPrompt(handle.type, deps.workingDir),
523
- capabilities: {
524
- ...this.options,
525
- subagentType: handle.type,
526
- // Don't pass parent's registry to a sub-agent.
527
- agentRegistry: undefined,
528
- },
529
- });
530
- const response = await subAgent.chat(req.prompt, false);
531
- handle.output = response.content;
532
- handle.continuation = {
533
- agentObject: subAgent,
534
- spawnOptions: req,
535
- };
536
- };
537
- const registry = this.options.agentRegistry ?? new AgentRegistry({ provider, workingDir: parentDir, providerId, modelId }, spawner);
538
- // Cache for re-use within this capability instance.
539
- this.options.agentRegistry = registry;
540
- const tools = [];
541
- // ---- Agent ---------------------------------------------------------------
542
- tools.push({
543
- name: 'Agent',
544
- description: 'Spawn a sub-agent to handle a focused task. Pick subagent_type to ' +
545
- 'control the toolset:\n' +
546
- ' - explore: read-only investigation (grep, glob, read_file, web_fetch). ' +
547
- 'Use for "where is X defined", "find files matching Y" — much cheaper than general.\n' +
548
- ' - plan: read-only design/planning. Returns a plan, no edits.\n' +
549
- ' - general: full toolset (default). Use only when the task needs writes.\n\n' +
550
- 'Set run_in_background:true for long-running work; the tool returns immediately ' +
551
- 'with an agent id you can poll via agent_status / agent_output.\n\n' +
552
- 'Set isolation:"worktree" to run the sub-agent in a fresh git worktree so its ' +
553
- 'edits don\'t collide with yours; the worktree path + branch come back in the result ' +
554
- 'when changes were left behind.\n\n' +
555
- 'Run multiple Agent calls in one tool message to fan out in parallel.',
556
- parameters: objectSchema({
557
- description: stringProp('3-5 word task label'),
558
- prompt: stringProp('Full instructions for the sub-agent'),
559
- subagent_type: stringProp('"explore" | "plan" | "general" (default general)', ['general', 'explore', 'plan']),
560
- model: stringProp('Optional model override, e.g. "deepseek-chat"'),
561
- isolation: stringProp('"worktree" or "none" (default none)', ['worktree', 'none']),
562
- run_in_background: stringProp('"true" to return immediately with an id'),
563
- }, ['description', 'prompt']),
564
- handler: async (args) => {
565
- const description = String(args.description || '').slice(0, 80);
566
- const prompt = String(args.prompt || '');
567
- if (!prompt)
568
- return 'Error: prompt is required.';
569
- const subagent_type = args.subagent_type || 'general';
570
- if (!['general', 'explore', 'plan'].includes(subagent_type)) {
571
- return `Error: subagent_type must be general | explore | plan, got ${subagent_type}`;
572
- }
573
- const isolation = args.isolation === 'worktree' ? 'worktree' : 'none';
574
- const runInBg = String(args.run_in_background ?? '').toLowerCase() === 'true';
575
- const model = args.model ? String(args.model) : undefined;
576
- const handle = registry.spawn({
577
- subagent_type: subagent_type,
578
- description: description || subagent_type,
579
- prompt,
580
- model,
581
- isolation,
582
- run_in_background: runInBg,
583
- });
584
- if (runInBg) {
585
- return formatHandle(handle, /* compact */ true) +
586
- '\n(Background. Use agent_status / agent_output / agent_send_message / agent_stop to interact.)';
587
- }
588
- await registry.wait(handle.id);
589
- const finished = registry.get(handle.id) ?? handle;
590
- return formatHandle(finished, false);
591
- },
592
- });
593
- // ---- agent_list ----------------------------------------------------------
594
- tools.push({
595
- name: 'agent_list',
596
- description: 'List all sub-agents launched in this session (running and finished).',
597
- parameters: objectSchema({}, []),
598
- handler: async () => {
599
- const list = registry.list();
600
- if (list.length === 0)
601
- return 'No sub-agents have been spawned in this session.';
602
- return list.map((h) => formatHandle(h, true)).join('\n---\n');
603
- },
604
- });
605
- // ---- agent_status --------------------------------------------------------
606
- tools.push({
607
- name: 'agent_status',
608
- description: 'Get the status of a single sub-agent by id (without its full output).',
609
- parameters: objectSchema({ id: stringProp('Agent id returned by Agent') }, ['id']),
610
- handler: async (args) => {
611
- const id = String(args.id || '');
612
- const h = registry.get(id);
613
- if (!h)
614
- return `No agent with id ${id}.`;
615
- return formatHandle(h, true);
616
- },
617
- });
618
- // ---- agent_output --------------------------------------------------------
619
- tools.push({
620
- name: 'agent_output',
621
- description: 'Get the latest output from a sub-agent. If still running, returns whatever it has produced so far.',
622
- parameters: objectSchema({ id: stringProp('Agent id') }, ['id']),
623
- handler: async (args) => {
624
- const id = String(args.id || '');
625
- const h = registry.get(id);
626
- if (!h)
627
- return `No agent with id ${id}.`;
628
- return formatHandle(h, false);
629
- },
630
- });
631
- // ---- agent_stop ----------------------------------------------------------
632
- tools.push({
633
- name: 'agent_stop',
634
- description: 'Mark a running sub-agent as stopped. Best-effort: in-flight LLM calls will still complete.',
635
- parameters: objectSchema({ id: stringProp('Agent id') }, ['id']),
636
- handler: async (args) => {
637
- const id = String(args.id || '');
638
- const ok = registry.stop(id);
639
- return ok ? `Agent ${id} marked stopped.` : `Could not stop ${id} (not found or already finished).`;
640
- },
641
- });
642
- // ---- agent_send_message --------------------------------------------------
643
- tools.push({
644
- name: 'agent_send_message',
645
- description: 'Send a follow-up message to a sub-agent that has finished its initial task. Continues the conversation in the same context.',
646
- parameters: objectSchema({
647
- id: stringProp('Agent id'),
648
- message: stringProp('Follow-up message'),
649
- }, ['id', 'message']),
650
- handler: async (args) => {
651
- const id = String(args.id || '');
652
- const message = String(args.message || '');
653
- if (!message)
654
- return 'Error: message is required.';
655
- try {
656
- const reply = await registry.sendMessage(id, message);
657
- return reply;
658
- }
659
- catch (err) {
660
- return `Error: ${err.message}`;
661
- }
662
- },
663
- });
664
- // ---- parallel_agents (back-compat) ---------------------------------------
665
- tools.push({
666
- name: 'parallel_agents',
667
- description: 'Backwards-compatible: spawn N sub-agents in parallel from a JSON array. ' +
668
- 'Prefer calling the `Agent` tool multiple times in one message instead — ' +
669
- 'that gives per-agent type / isolation / model control.',
670
- parameters: objectSchema({ tasks: stringProp('JSON array of {id, description, prompt}') }, ['tasks']),
671
- handler: async (args) => {
672
- let specs;
673
- try {
674
- specs = JSON.parse(String(args.tasks ?? ''));
675
- }
676
- catch {
677
- return 'Error: invalid JSON in tasks.';
678
- }
679
- if (!Array.isArray(specs) || specs.length === 0)
680
- return 'Error: tasks must be a non-empty array.';
681
- if (specs.length > 5)
682
- return 'Error: max 5 parallel tasks.';
683
- const handles = specs.map((s) => registry.spawn({
684
- subagent_type: 'general',
685
- description: s.description || s.id || 'task',
686
- prompt: s.prompt || '',
687
- }));
688
- await Promise.all(handles.map((h) => registry.wait(h.id)));
689
- return handles
690
- .map((h) => formatHandle(registry.get(h.id) ?? h, false))
691
- .join('\n---\n');
692
- },
693
- });
694
- return tools;
695
- }
696
- subagentSystemPrompt(type, cwd) {
697
- const role = {
698
- general: 'You are a focused sub-agent. Complete the task fully, report concisely. Make edits where needed.',
699
- explore: 'You are a read-only investigation sub-agent. Use grep/glob/read_file to answer the question. Do NOT attempt to edit files; you have no write tools.',
700
- plan: 'You are a planning sub-agent. Read what you need, then return a step-by-step plan. Do NOT edit files; the parent will execute.',
701
- }[type];
702
- return `${role}\n\nWorking directory: ${cwd}`;
703
- }
704
- // ============================================================================
705
- // UTILITY METHODS
706
- // ============================================================================
707
- resolvePath(inputPath) {
708
- if (path.isAbsolute(inputPath)) {
709
- return inputPath;
710
- }
711
- return path.resolve(this.options.workingDir, inputPath);
712
- }
713
- listDirectory(dir, recursive, pattern) {
714
- const results = [];
715
- const regex = pattern ? this.globToRegex(pattern) : null;
716
- const walk = (currentDir) => {
717
- try {
718
- const entries = fs.readdirSync(currentDir, { withFileTypes: true });
719
- for (const entry of entries) {
720
- const fullPath = path.join(currentDir, entry.name);
721
- // Skip hidden files and common ignore patterns
722
- if (entry.name.startsWith('.') || entry.name === 'node_modules') {
723
- continue;
724
- }
725
- if (entry.isDirectory()) {
726
- if (recursive) {
727
- walk(fullPath);
728
- }
729
- }
730
- else {
731
- if (!regex || regex.test(entry.name) || regex.test(fullPath)) {
732
- results.push(fullPath);
733
- }
734
- }
735
- }
736
- }
737
- catch {
738
- // Skip unreadable directories
739
- }
740
- };
741
- walk(dir);
742
- return results;
743
- }
744
- globToRegex(pattern) {
745
- const escaped = pattern
746
- .replace(/[.+^${}()|[\]\\]/g, '\\$&')
747
- .replace(/\*/g, '.*')
748
- .replace(/\?/g, '.');
749
- return new RegExp(escaped, 'i');
750
- }
751
- escapeRegex(str) {
752
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
753
- }
754
- }
755
- // ============================================================================
756
- // AGENT HANDLE FORMATTING
757
- // ============================================================================
758
- function formatHandle(h, compact) {
759
- const elapsedMs = (h.endedAt ?? Date.now()) - h.startedAt;
760
- const lines = [
761
- `[${h.status.toUpperCase()}] ${h.id} · ${h.type} · ${h.description} · ${(elapsedMs / 1000).toFixed(1)}s`,
762
- ];
763
- if (h.worktreePath) {
764
- lines.push(` worktree: ${h.worktreePath} (branch ${h.worktreeBranch})`);
765
- }
766
- if (compact) {
767
- return lines.join('\n');
768
- }
769
- if (h.error) {
770
- lines.push(` error: ${h.error}`);
771
- }
772
- if (h.output) {
773
- lines.push('--- output ---');
774
- lines.push(h.output);
775
- }
776
- else if (h.status === 'running') {
777
- lines.push(' (no output yet — agent still running)');
778
- }
779
- return lines.join('\n');
780
- }
781
- // ============================================================================
782
- // FACTORY & CONVENIENCE EXPORTS
783
- // ============================================================================
784
- export function createUnifiedCodingCapability(options) {
785
- return new UnifiedCodingCapabilityModule(options);
786
- }
787
- export default UnifiedCodingCapabilityModule;
788
- //# sourceMappingURL=unifiedCodingCapability.js.map