@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.

Potentially problematic release.


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

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,37 @@
1
+ /**
2
+ * Constitutional reviewer-agent guard. Runs between user-configured
3
+ * shell hooks and the actual tool handler. Two layers:
4
+ *
5
+ * 1. **Hardcoded heuristic guard (always on)**. Catches the
6
+ * well-known catastrophic patterns (rm -rf /, curl-to-shell,
7
+ * anything that targets a path outside the workspace AND
8
+ * destroys data). Cheap, deterministic, no LLM call.
9
+ *
10
+ * 2. **LLM reviewer (gated by EROSOLAR_REVIEWER=1)**. Sends the
11
+ * proposed tool call + a brief constitution to a small, cheap
12
+ * reviewer model (Anthropic Haiku by default). Returns one of
13
+ * `approve | refine | veto` with a reason. The decision is
14
+ * logged to Firestore at reviewer_log/{uid}/decisions/{id} for
15
+ * operator review.
16
+ *
17
+ * The reviewer fails *open* on any error (network blip, unparseable
18
+ * model response, missing API key). Refusing-by-default would brick
19
+ * the CLI for users without the reviewer model configured. Instead,
20
+ * a failure is itself an audit-log event the operator can review.
21
+ */
22
+ export interface ReviewDecision {
23
+ decision: 'approve' | 'refine' | 'veto';
24
+ reason: string;
25
+ source: 'heuristic' | 'llm' | 'disabled' | 'error';
26
+ }
27
+ export declare function buildReviewPrompt(toolName: string, args: unknown): string;
28
+ export declare function parseReviewDecision(text: string): ReviewDecision | null;
29
+ /**
30
+ * Review a proposed tool call. Decision flow:
31
+ * 1. Heuristic veto patterns — if any match, veto immediately (no LLM).
32
+ * 2. If EROSOLAR_REVIEWER env is on AND ANTHROPIC_API_KEY is present,
33
+ * call the reviewer model.
34
+ * 3. Otherwise, approve.
35
+ */
36
+ export declare function reviewToolCall(toolName: string, args: unknown): Promise<ReviewDecision>;
37
+ //# sourceMappingURL=reviewerGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewerGuard.d.ts","sourceRoot":"","sources":["../../src/core/reviewerGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC;CACpD;AAwGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAazE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAWvE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAmC7F"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Constitutional reviewer-agent guard. Runs between user-configured
3
+ * shell hooks and the actual tool handler. Two layers:
4
+ *
5
+ * 1. **Hardcoded heuristic guard (always on)**. Catches the
6
+ * well-known catastrophic patterns (rm -rf /, curl-to-shell,
7
+ * anything that targets a path outside the workspace AND
8
+ * destroys data). Cheap, deterministic, no LLM call.
9
+ *
10
+ * 2. **LLM reviewer (gated by EROSOLAR_REVIEWER=1)**. Sends the
11
+ * proposed tool call + a brief constitution to a small, cheap
12
+ * reviewer model (Anthropic Haiku by default). Returns one of
13
+ * `approve | refine | veto` with a reason. The decision is
14
+ * logged to Firestore at reviewer_log/{uid}/decisions/{id} for
15
+ * operator review.
16
+ *
17
+ * The reviewer fails *open* on any error (network blip, unparseable
18
+ * model response, missing API key). Refusing-by-default would brick
19
+ * the CLI for users without the reviewer model configured. Instead,
20
+ * a failure is itself an audit-log event the operator can review.
21
+ */
22
+ const CONSTITUTION = `You are the constitutional reviewer for a CLI agent that holds offsec
23
+ tooling. Before any tool call fires, you say approve / refine / veto.
24
+
25
+ PRINCIPLES (most important first):
26
+
27
+ 1. Operator authorization is the load-bearing assumption. The user has
28
+ pre-authorized targets via the rulebook + their own engagement
29
+ scope. You don't second-guess that. You DO catch drift: tools
30
+ targeting hosts/files/URLs that have nothing to do with the recent
31
+ conversation.
32
+
33
+ 2. Coordinated disclosure is pinned. Any tool call whose effect is to
34
+ exfiltrate, sell, or silently retain a finding without sending it
35
+ through hackerone / vendor PSIRT / CERT-CC / published-advisory /
36
+ internal-writeup must be vetoed. "Broker" / "buyer" / "private
37
+ sale" in args means veto.
38
+
39
+ 3. Destructive operations on shared infrastructure get refined. rm -rf
40
+ on a path the agent didn't itself create, force-push to main,
41
+ DROP TABLE on prod-shaped DBs — these get a refine with a tighter
42
+ scope suggestion, not a veto (the operator can override).
43
+
44
+ 4. Scope creep beats target drift. "We were investigating X but the
45
+ agent now wants to scan Y" gets a veto. "We were on phase.recon
46
+ but the agent skipped to phase.disclose" gets a refine.
47
+
48
+ 5. Fail open. If you can't decide, approve with reason="uncertain —
49
+ approving conservatively". Refusing every uncertain call locks the
50
+ CLI for no benefit.`;
51
+ const VETO_PATTERNS_BASH = [
52
+ // rm -rf where the target is the filesystem root, $HOME, or ~ as the
53
+ // full atom (not a path prefix). The lookahead requires a shell-
54
+ // separator or end-of-string immediately after, so `rm -rf /tmp/x`
55
+ // is allowed and `rm -rf /` / `rm -rf $HOME` are vetoed.
56
+ { pattern: /\brm\s+-[a-zA-Z]*r[a-zA-Z]*f?\s+(?:\/|\$HOME|~)(?=\s|$|;|&|\|)/, reason: 'rm -rf on filesystem root, $HOME, or ~' },
57
+ // dd / mkfs to block devices
58
+ { pattern: /\bdd\s+if=\/dev\/(?:zero|random|urandom)\s+of=\/(?:dev\/[hsv]d[a-z]|[A-Za-z])/, reason: 'dd-zero/random to a block device or filesystem root' },
59
+ { pattern: /\bmkfs\b.*\/dev\/[hsv]d[a-z]/, reason: 'mkfs targeting a block device' },
60
+ // fork bomb
61
+ { pattern: /:\(\)\s*\{\s*:\|:&\s*\}\s*;\s*:/, reason: 'fork bomb' },
62
+ // curl/wget piped to shell. Match wget/curl, any non-pipe/separator
63
+ // text up to the first |, then a shell name as the next word.
64
+ { pattern: /\bcurl\b[^|;&]*\|\s*(?:bash|sh|zsh|fish)\b/i, reason: 'curl-to-shell' },
65
+ { pattern: /\bwget\b[^|;&]*\|\s*(?:bash|sh|zsh|fish)\b/i, reason: 'wget-to-shell' },
66
+ ];
67
+ const VETO_PATTERNS_DISCLOSURE = /\b(?:broker|brokerage|zerodium|crowdfense|silent\s+sale|private\s+buyer|sell\s+(?:exploit|0day|zero[- ]day))\b/i;
68
+ function heuristicReview(toolName, args) {
69
+ if (toolName === 'Bash' || toolName === 'kali_sqlmap' /* … other shell-shaped tools */) {
70
+ const cmd = args?.command || '';
71
+ for (const { pattern, reason } of VETO_PATTERNS_BASH) {
72
+ if (pattern.test(cmd)) {
73
+ return { decision: 'veto', reason, source: 'heuristic' };
74
+ }
75
+ }
76
+ }
77
+ // Cross-tool: any args field that looks like a brokerage handoff is
78
+ // a hard veto regardless of the tool surface.
79
+ const argsJson = JSON.stringify(args ?? {});
80
+ if (VETO_PATTERNS_DISCLOSURE.test(argsJson)) {
81
+ return { decision: 'veto', reason: 'disclosure path resembles brokerage / private sale', source: 'heuristic' };
82
+ }
83
+ return null; // no heuristic verdict — defer to LLM (or approve)
84
+ }
85
+ function isLlmReviewerEnabled() {
86
+ const v = (process.env['EROSOLAR_REVIEWER'] || '').toLowerCase();
87
+ return v === '1' || v === 'true' || v === 'on';
88
+ }
89
+ let cachedReviewer = null;
90
+ let reviewerInitFailed = false;
91
+ async function getLlmReviewer() {
92
+ if (reviewerInitFailed)
93
+ return null;
94
+ if (cachedReviewer)
95
+ return cachedReviewer;
96
+ if (!process.env['ANTHROPIC_API_KEY']) {
97
+ reviewerInitFailed = true;
98
+ return null;
99
+ }
100
+ try {
101
+ const { createProvider, hasProvider } = await import('../providers/providerFactory.js');
102
+ if (!hasProvider('anthropic')) {
103
+ // Provider plugin not registered yet — happens when reviewerGuard
104
+ // runs before agent boot completes the registration. Mark as
105
+ // failed (we'll fail open) and let the next boot retry.
106
+ reviewerInitFailed = true;
107
+ return null;
108
+ }
109
+ cachedReviewer = createProvider({
110
+ provider: 'anthropic',
111
+ model: process.env['EROSOLAR_REVIEWER_MODEL'] || 'claude-haiku-4-5-20251001',
112
+ });
113
+ return cachedReviewer;
114
+ }
115
+ catch {
116
+ reviewerInitFailed = true;
117
+ return null;
118
+ }
119
+ }
120
+ export function buildReviewPrompt(toolName, args) {
121
+ return [
122
+ CONSTITUTION,
123
+ '',
124
+ '## Proposed tool call',
125
+ `tool: ${toolName}`,
126
+ `args: ${JSON.stringify(args, null, 2).slice(0, 4000)}`,
127
+ '',
128
+ '## Output',
129
+ 'Reply with ONLY a JSON object on a single line:',
130
+ '{"decision": "approve" | "refine" | "veto", "reason": "≤200 chars"}',
131
+ 'No preamble, no markdown fences, no commentary.',
132
+ ].join('\n');
133
+ }
134
+ export function parseReviewDecision(text) {
135
+ const match = text.match(/\{[\s\S]*?\}/);
136
+ if (!match)
137
+ return null;
138
+ try {
139
+ const obj = JSON.parse(match[0]);
140
+ const d = String(obj.decision || '').toLowerCase();
141
+ if (d === 'approve' || d === 'refine' || d === 'veto') {
142
+ return { decision: d, reason: String(obj.reason || '').slice(0, 200), source: 'llm' };
143
+ }
144
+ }
145
+ catch { /* fall through */ }
146
+ return null;
147
+ }
148
+ /**
149
+ * Review a proposed tool call. Decision flow:
150
+ * 1. Heuristic veto patterns — if any match, veto immediately (no LLM).
151
+ * 2. If EROSOLAR_REVIEWER env is on AND ANTHROPIC_API_KEY is present,
152
+ * call the reviewer model.
153
+ * 3. Otherwise, approve.
154
+ */
155
+ export async function reviewToolCall(toolName, args) {
156
+ const heuristic = heuristicReview(toolName, args);
157
+ if (heuristic)
158
+ return heuristic;
159
+ if (!isLlmReviewerEnabled()) {
160
+ return { decision: 'approve', reason: 'reviewer disabled', source: 'disabled' };
161
+ }
162
+ const reviewer = await getLlmReviewer();
163
+ if (!reviewer) {
164
+ return { decision: 'approve', reason: 'no LLM reviewer configured', source: 'disabled' };
165
+ }
166
+ try {
167
+ const prompt = buildReviewPrompt(toolName, args);
168
+ const res = await reviewer.generate([{ role: 'user', content: prompt }], []);
169
+ const text = res.type === 'message' ? res.content : (res.content ?? '');
170
+ const parsed = parseReviewDecision(text);
171
+ if (!parsed) {
172
+ return {
173
+ decision: 'approve',
174
+ reason: 'unparseable reviewer response — failing open',
175
+ source: 'error',
176
+ };
177
+ }
178
+ return parsed;
179
+ }
180
+ catch (err) {
181
+ return {
182
+ decision: 'approve',
183
+ reason: `reviewer error: ${err.message.slice(0, 100)} — failing open`,
184
+ source: 'error',
185
+ };
186
+ }
187
+ }
188
+ //# sourceMappingURL=reviewerGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewerGuard.js","sourceRoot":"","sources":["../../src/core/reviewerGuard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { JSONSchemaObject } from './types.js';
2
+ /**
3
+ * Enhanced validation error with structured error information
4
+ */
5
+ export declare class ToolArgumentValidationError extends Error {
6
+ readonly issues: readonly string[];
7
+ readonly toolName: string;
8
+ constructor(toolName: string, issues: string[]);
9
+ }
10
+ /**
11
+ * Runtime type guards for tool argument validation
12
+ */
13
+ export declare namespace TypeGuards {
14
+ /**
15
+ * Type guard for string values
16
+ */
17
+ function isString(value: unknown): value is string;
18
+ /**
19
+ * Type guard for number values
20
+ */
21
+ function isNumber(value: unknown): value is number;
22
+ /**
23
+ * Type guard for boolean values
24
+ */
25
+ function isBoolean(value: unknown): value is boolean;
26
+ /**
27
+ * Type guard for array values
28
+ */
29
+ function isArray(value: unknown): value is unknown[];
30
+ /**
31
+ * Type guard for object values
32
+ */
33
+ function isObject(value: unknown): value is Record<string, unknown>;
34
+ /**
35
+ * Type guard for non-null values
36
+ */
37
+ function isNotNull(value: unknown): value is NonNullable<unknown>;
38
+ /**
39
+ * Type guard for enum values
40
+ */
41
+ function isEnum<T extends string>(value: unknown, enumValues: readonly T[]): value is T;
42
+ }
43
+ /**
44
+ * Coerce loosely-typed tool arguments into their declared schema types.
45
+ * This makes tools resilient to providers that emit boolean/number values as strings.
46
+ */
47
+ export declare function coerceToolArguments(schema: JSONSchemaObject | undefined, args: Record<string, unknown>): Record<string, unknown>;
48
+ export declare function validateToolArguments(toolName: string, schema: JSONSchemaObject | undefined, args: Record<string, unknown>): void;
49
+ //# sourceMappingURL=schemaValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValidator.d.ts","sourceRoot":"","sources":["../../src/core/schemaValidator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,gBAAgB,EAAsB,MAAM,YAAY,CAAC;AAExF;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAM/C;AAED;;GAEG;AACH,yBAAiB,UAAU,CAAC;IAC1B;;OAEG;IACH,SAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;IAED;;OAEG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;IAED;;OAEG;IACH,SAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAE1D;IAED;;OAEG;IACH,SAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;IAED;;OAEG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAEvE;IAED;;OAEG;IACH,SAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,CAE7F;CACF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAoCD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CA6BN"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Enhanced validation error with structured error information
3
+ */
4
+ export class ToolArgumentValidationError extends Error {
5
+ issues;
6
+ toolName;
7
+ constructor(toolName, issues) {
8
+ super(formatMessage(toolName, issues));
9
+ this.name = 'ToolArgumentValidationError';
10
+ this.issues = issues;
11
+ this.toolName = toolName;
12
+ }
13
+ }
14
+ /**
15
+ * Runtime type guards for tool argument validation
16
+ */
17
+ export var TypeGuards;
18
+ (function (TypeGuards) {
19
+ /**
20
+ * Type guard for string values
21
+ */
22
+ function isString(value) {
23
+ return typeof value === 'string';
24
+ }
25
+ TypeGuards.isString = isString;
26
+ /**
27
+ * Type guard for number values
28
+ */
29
+ function isNumber(value) {
30
+ return typeof value === 'number' && !Number.isNaN(value);
31
+ }
32
+ TypeGuards.isNumber = isNumber;
33
+ /**
34
+ * Type guard for boolean values
35
+ */
36
+ function isBoolean(value) {
37
+ return typeof value === 'boolean';
38
+ }
39
+ TypeGuards.isBoolean = isBoolean;
40
+ /**
41
+ * Type guard for array values
42
+ */
43
+ function isArray(value) {
44
+ return Array.isArray(value);
45
+ }
46
+ TypeGuards.isArray = isArray;
47
+ /**
48
+ * Type guard for object values
49
+ */
50
+ function isObject(value) {
51
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
52
+ }
53
+ TypeGuards.isObject = isObject;
54
+ /**
55
+ * Type guard for non-null values
56
+ */
57
+ function isNotNull(value) {
58
+ return value !== undefined && value !== null;
59
+ }
60
+ TypeGuards.isNotNull = isNotNull;
61
+ /**
62
+ * Type guard for enum values
63
+ */
64
+ function isEnum(value, enumValues) {
65
+ return TypeGuards.isString(value) && enumValues.includes(value);
66
+ }
67
+ TypeGuards.isEnum = isEnum;
68
+ })(TypeGuards || (TypeGuards = {}));
69
+ /**
70
+ * Coerce loosely-typed tool arguments into their declared schema types.
71
+ * This makes tools resilient to providers that emit boolean/number values as strings.
72
+ */
73
+ export function coerceToolArguments(schema, args) {
74
+ if (!schema || schema.type !== 'object' || !schema.properties) {
75
+ return args;
76
+ }
77
+ const coerced = { ...args };
78
+ for (const [key, definition] of Object.entries(schema.properties)) {
79
+ if (!Object.hasOwn(args, key)) {
80
+ continue;
81
+ }
82
+ const value = args[key];
83
+ if (value === undefined || value === null) {
84
+ continue;
85
+ }
86
+ switch (definition.type) {
87
+ case 'boolean': {
88
+ const normalized = coerceBoolean(value);
89
+ coerced[key] = normalized;
90
+ break;
91
+ }
92
+ case 'number': {
93
+ const normalized = coerceNumber(value);
94
+ coerced[key] = normalized;
95
+ break;
96
+ }
97
+ default:
98
+ break;
99
+ }
100
+ }
101
+ return coerced;
102
+ }
103
+ function coerceBoolean(value) {
104
+ if (typeof value === 'boolean') {
105
+ return value;
106
+ }
107
+ if (typeof value === 'number') {
108
+ if (value === 1)
109
+ return true;
110
+ if (value === 0)
111
+ return false;
112
+ }
113
+ if (typeof value === 'string') {
114
+ const trimmed = value.trim().toLowerCase();
115
+ if (trimmed === 'true' || trimmed === '1')
116
+ return true;
117
+ if (trimmed === 'false' || trimmed === '0')
118
+ return false;
119
+ }
120
+ return value;
121
+ }
122
+ function coerceNumber(value) {
123
+ if (typeof value === 'number') {
124
+ // Reject NaN, Infinity, and -Infinity
125
+ if (!Number.isFinite(value)) {
126
+ return value; // Return as-is to fail validation
127
+ }
128
+ return value;
129
+ }
130
+ if (typeof value === 'string' && value.trim().length > 0) {
131
+ const parsed = Number(value);
132
+ // Only accept finite numbers
133
+ if (Number.isFinite(parsed)) {
134
+ return parsed;
135
+ }
136
+ }
137
+ return value;
138
+ }
139
+ export function validateToolArguments(toolName, schema, args) {
140
+ if (!schema || schema.type !== 'object') {
141
+ return;
142
+ }
143
+ const errors = [];
144
+ const properties = schema.properties ?? {};
145
+ const required = Array.isArray(schema.required) ? schema.required : [];
146
+ for (const property of required) {
147
+ if (!hasArgument(args, property)) {
148
+ errors.push(`Missing required property "${property}".`);
149
+ }
150
+ }
151
+ for (const [key, value] of Object.entries(args)) {
152
+ const definition = properties[key];
153
+ if (!definition) {
154
+ // Silently ignore unknown properties - models sometimes hallucinate extra params
155
+ // This is more lenient than strict JSON schema validation but prevents errors
156
+ // when models pass extra parameters that don't affect tool behavior
157
+ continue;
158
+ }
159
+ validateSchemaProperty(definition, value, key, errors);
160
+ }
161
+ if (errors.length) {
162
+ throw new ToolArgumentValidationError(toolName, errors);
163
+ }
164
+ }
165
+ function validateSchemaProperty(definition, value, path, errors) {
166
+ switch (definition.type) {
167
+ case 'string': {
168
+ if (typeof value !== 'string') {
169
+ errors.push(`Argument "${path}" must be a string.`);
170
+ return;
171
+ }
172
+ if (definition.enum && !definition.enum.includes(value)) {
173
+ errors.push(`Argument "${path}" must be one of: ${definition.enum.map((entry) => `"${entry}"`).join(', ')}.`);
174
+ }
175
+ if (typeof definition.minLength === 'number' && value.length < definition.minLength) {
176
+ errors.push(`Argument "${path}" must be at least ${definition.minLength} character${definition.minLength === 1 ? '' : 's'} long.`);
177
+ }
178
+ return;
179
+ }
180
+ case 'number': {
181
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
182
+ errors.push(`Argument "${path}" must be a finite number.`);
183
+ return;
184
+ }
185
+ // Validate minimum constraint
186
+ if (typeof definition.minimum === 'number' && value < definition.minimum) {
187
+ errors.push(`Argument "${path}" must be at least ${definition.minimum}.`);
188
+ }
189
+ // Validate maximum constraint
190
+ if (typeof definition.maximum === 'number' && value > definition.maximum) {
191
+ errors.push(`Argument "${path}" must be at most ${definition.maximum}.`);
192
+ }
193
+ return;
194
+ }
195
+ case 'boolean': {
196
+ if (typeof value !== 'boolean') {
197
+ errors.push(`Argument "${path}" must be a boolean.`);
198
+ }
199
+ return;
200
+ }
201
+ case 'array': {
202
+ if (!Array.isArray(value)) {
203
+ errors.push(`Argument "${path}" must be an array.`);
204
+ return;
205
+ }
206
+ validateArrayItems(definition, value, path, errors);
207
+ return;
208
+ }
209
+ default:
210
+ return;
211
+ }
212
+ }
213
+ function validateArrayItems(definition, value, path, errors) {
214
+ const itemSchema = definition.items;
215
+ if (!itemSchema) {
216
+ return;
217
+ }
218
+ for (let index = 0; index < value.length; index += 1) {
219
+ const entry = value[index];
220
+ validateSchemaProperty(itemSchema, entry, `${path}[${index}]`, errors);
221
+ }
222
+ }
223
+ function hasArgument(args, key) {
224
+ if (!Object.hasOwn(args, key)) {
225
+ return false;
226
+ }
227
+ const value = args[key];
228
+ return value !== undefined && value !== null;
229
+ }
230
+ function formatMessage(toolName, issues) {
231
+ const detail = issues.join(' ');
232
+ return `Invalid arguments for "${toolName}": ${detail}`;
233
+ }
234
+ //# sourceMappingURL=schemaValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../src/core/schemaValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { ProviderId } from './types.js';
2
+ export type SecretName = 'DEEPSEEK_API_KEY' | 'TAVILY_API_KEY';
3
+ export interface SecretDefinition {
4
+ id: SecretName;
5
+ label: string;
6
+ description: string;
7
+ envVar: SecretName;
8
+ providers: ProviderId[];
9
+ }
10
+ export declare class MissingSecretError extends Error {
11
+ readonly secret: SecretDefinition;
12
+ constructor(secret: SecretDefinition);
13
+ }
14
+ export declare function listSecretDefinitions(): SecretDefinition[];
15
+ export declare function getSecretDefinition(id: SecretName): SecretDefinition | null;
16
+ export declare function getSecretValue(id: SecretName): string | null;
17
+ /**
18
+ * Load all stored secrets into process.env at startup.
19
+ * This ensures secrets are available before any provider checks.
20
+ *
21
+ * IMPORTANT: Stored secrets always take precedence over environment variables
22
+ * for provider API keys. This ensures keys set via /secrets are used even if
23
+ * the user has old/stale keys exported in their shell environment.
24
+ */
25
+ export declare function loadAllSecrets(): void;
26
+ export declare function setSecretValue(id: SecretName, rawValue: string): void;
27
+ export declare function maskSecret(value: string): string;
28
+ export declare function ensureSecretForProvider(provider: ProviderId): string;
29
+ export declare function getSecretDefinitionForProvider(provider: ProviderId): SecretDefinition | null;
30
+ /**
31
+ * Sanitize error messages to remove potential API keys and secrets.
32
+ * This prevents accidental token leakage in logs, error reports, and console output.
33
+ *
34
+ * @param message - The error message or string to sanitize
35
+ * @returns The sanitized string with secrets replaced by [REDACTED]
36
+ */
37
+ export declare function sanitizeErrorMessage(message: string): string;
38
+ /**
39
+ * Sanitize an Error object's message and stack trace.
40
+ * Returns a new error message string with secrets removed.
41
+ */
42
+ export declare function sanitizeError(error: Error): string;
43
+ /**
44
+ * Create a safe error message from an unknown error value.
45
+ * Ensures no secrets are leaked regardless of error type.
46
+ */
47
+ export declare function safeErrorMessage(error: unknown): string;
48
+ //# sourceMappingURL=secretStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secretStore.d.ts","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AA2BD,qBAAa,kBAAmB,SAAQ,KAAK;aACf,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAIrD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE3E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAc5D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUrE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAQpE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE5F;AAgFD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4B5D;AAoCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQvD"}