erosolar-cli 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/Agents.md +411 -200
  2. package/README.md +77 -44
  3. package/dist/adapters/browser/index.d.ts +12 -0
  4. package/dist/adapters/browser/index.d.ts.map +1 -0
  5. package/dist/adapters/browser/index.js +1 -0
  6. package/dist/adapters/browser/index.js.map +1 -0
  7. package/dist/adapters/node/index.d.ts +17 -0
  8. package/dist/adapters/node/index.d.ts.map +1 -0
  9. package/dist/adapters/node/index.js +1 -0
  10. package/dist/adapters/node/index.js.map +1 -0
  11. package/dist/adapters/remote/index.d.ts +13 -0
  12. package/dist/adapters/remote/index.d.ts.map +1 -0
  13. package/dist/adapters/remote/index.js +1 -0
  14. package/dist/adapters/remote/index.js.map +1 -0
  15. package/dist/adapters/types.d.ts +14 -0
  16. package/dist/adapters/types.d.ts.map +1 -0
  17. package/dist/adapters/types.js +1 -0
  18. package/dist/adapters/types.js.map +1 -0
  19. package/dist/bin/erosolar.d.ts +3 -0
  20. package/dist/bin/erosolar.d.ts.map +1 -0
  21. package/dist/bin/erosolar.js +1 -0
  22. package/dist/bin/erosolar.js.map +1 -0
  23. package/dist/capabilities/bashCapability.d.ts +13 -0
  24. package/dist/capabilities/bashCapability.d.ts.map +1 -0
  25. package/dist/capabilities/bashCapability.js +1 -0
  26. package/dist/capabilities/bashCapability.js.map +1 -0
  27. package/dist/capabilities/codeAnalysisCapability.d.ts +13 -0
  28. package/dist/capabilities/codeAnalysisCapability.d.ts.map +1 -0
  29. package/dist/capabilities/codeAnalysisCapability.js +24 -0
  30. package/dist/capabilities/codeAnalysisCapability.js.map +1 -0
  31. package/dist/capabilities/codeGenerationCapability.d.ts +13 -0
  32. package/dist/capabilities/codeGenerationCapability.d.ts.map +1 -0
  33. package/dist/capabilities/codeGenerationCapability.js +25 -0
  34. package/dist/capabilities/codeGenerationCapability.js.map +1 -0
  35. package/dist/capabilities/codeQualityCapability.d.ts +13 -0
  36. package/dist/capabilities/codeQualityCapability.d.ts.map +1 -0
  37. package/dist/capabilities/codeQualityCapability.js +25 -0
  38. package/dist/capabilities/codeQualityCapability.js.map +1 -0
  39. package/dist/capabilities/dependencySecurityCapability.d.ts +13 -0
  40. package/dist/capabilities/dependencySecurityCapability.d.ts.map +1 -0
  41. package/dist/capabilities/dependencySecurityCapability.js +24 -0
  42. package/dist/capabilities/dependencySecurityCapability.js.map +1 -0
  43. package/dist/capabilities/devCapability.d.ts +13 -0
  44. package/dist/capabilities/devCapability.d.ts.map +1 -0
  45. package/dist/capabilities/devCapability.js +24 -0
  46. package/dist/capabilities/devCapability.js.map +1 -0
  47. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  48. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  49. package/dist/capabilities/filesystemCapability.js +1 -0
  50. package/dist/capabilities/filesystemCapability.js.map +1 -0
  51. package/dist/capabilities/index.d.ts +10 -0
  52. package/dist/capabilities/index.d.ts.map +1 -0
  53. package/dist/capabilities/index.js +7 -0
  54. package/dist/capabilities/index.js.map +1 -0
  55. package/dist/capabilities/refactoringCapability.d.ts +13 -0
  56. package/dist/capabilities/refactoringCapability.d.ts.map +1 -0
  57. package/dist/capabilities/refactoringCapability.js +25 -0
  58. package/dist/capabilities/refactoringCapability.js.map +1 -0
  59. package/dist/capabilities/repoChecksCapability.d.ts +10 -0
  60. package/dist/capabilities/repoChecksCapability.d.ts.map +1 -0
  61. package/dist/capabilities/repoChecksCapability.js +24 -0
  62. package/dist/capabilities/repoChecksCapability.js.map +1 -0
  63. package/dist/capabilities/searchCapability.d.ts +13 -0
  64. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  65. package/dist/capabilities/searchCapability.js +1 -0
  66. package/dist/capabilities/searchCapability.js.map +1 -0
  67. package/dist/capabilities/testingCapability.d.ts +13 -0
  68. package/dist/capabilities/testingCapability.d.ts.map +1 -0
  69. package/dist/capabilities/testingCapability.js +25 -0
  70. package/dist/capabilities/testingCapability.js.map +1 -0
  71. package/dist/capabilities/toolManifest.d.ts +3 -0
  72. package/dist/capabilities/toolManifest.d.ts.map +1 -0
  73. package/dist/capabilities/toolManifest.js +160 -0
  74. package/dist/capabilities/toolManifest.js.map +1 -0
  75. package/dist/capabilities/toolRegistry.d.ts +22 -0
  76. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  77. package/dist/capabilities/toolRegistry.js +49 -32
  78. package/dist/capabilities/toolRegistry.js.map +1 -0
  79. package/dist/config.d.ts +28 -0
  80. package/dist/config.d.ts.map +1 -0
  81. package/dist/config.js +98 -23
  82. package/dist/config.js.map +1 -0
  83. package/dist/contracts/agent-profiles.schema.json +43 -0
  84. package/dist/contracts/agent-schema.snapshot.json +437 -0
  85. package/dist/contracts/schemas/agent-profile.schema.json +157 -0
  86. package/dist/contracts/schemas/agent-rules.schema.json +238 -0
  87. package/dist/contracts/schemas/agent.schema.json +89 -0
  88. package/dist/contracts/schemas/tool-selection.schema.json +174 -0
  89. package/dist/contracts/tools.schema.json +100 -0
  90. package/dist/contracts/v1/agent.d.ts +147 -0
  91. package/dist/contracts/v1/agent.d.ts.map +1 -0
  92. package/dist/contracts/v1/agent.js +1 -0
  93. package/dist/contracts/v1/agent.js.map +1 -0
  94. package/dist/contracts/v1/agentProfileManifest.d.ts +52 -0
  95. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  96. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  97. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  98. package/dist/contracts/v1/agentRules.d.ts +60 -0
  99. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  100. package/dist/contracts/v1/agentRules.js +10 -0
  101. package/dist/contracts/v1/agentRules.js.map +1 -0
  102. package/dist/contracts/v1/provider.d.ts +149 -0
  103. package/dist/contracts/v1/provider.d.ts.map +1 -0
  104. package/dist/contracts/v1/provider.js +1 -0
  105. package/dist/contracts/v1/provider.js.map +1 -0
  106. package/dist/contracts/v1/tool.d.ts +136 -0
  107. package/dist/contracts/v1/tool.d.ts.map +1 -0
  108. package/dist/contracts/v1/tool.js +1 -0
  109. package/dist/contracts/v1/tool.js.map +1 -0
  110. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  111. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  112. package/dist/contracts/v1/toolAccess.js +9 -0
  113. package/dist/contracts/v1/toolAccess.js.map +1 -0
  114. package/dist/core/agent.d.ts +35 -0
  115. package/dist/core/agent.d.ts.map +1 -0
  116. package/dist/core/agent.js +17 -9
  117. package/dist/core/agent.js.map +1 -0
  118. package/dist/core/agentProfileManifest.d.ts +3 -0
  119. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  120. package/dist/core/agentProfileManifest.js +176 -0
  121. package/dist/core/agentProfileManifest.js.map +1 -0
  122. package/dist/core/agentProfiles.d.ts +22 -0
  123. package/dist/core/agentProfiles.d.ts.map +1 -0
  124. package/dist/core/agentProfiles.js +1 -0
  125. package/dist/core/agentProfiles.js.map +1 -0
  126. package/dist/core/agentRulebook.d.ts +10 -0
  127. package/dist/core/agentRulebook.d.ts.map +1 -0
  128. package/dist/core/agentRulebook.js +153 -0
  129. package/dist/core/agentRulebook.js.map +1 -0
  130. package/dist/core/agentSchemaSnapshot.d.ts +14 -0
  131. package/dist/core/agentSchemaSnapshot.d.ts.map +1 -0
  132. package/dist/core/agentSchemaSnapshot.js +38 -0
  133. package/dist/core/agentSchemaSnapshot.js.map +1 -0
  134. package/dist/core/agentsDocument.d.ts +4 -0
  135. package/dist/core/agentsDocument.d.ts.map +1 -0
  136. package/dist/core/agentsDocument.js +70 -0
  137. package/dist/core/agentsDocument.js.map +1 -0
  138. package/dist/core/contextWindow.d.ts +6 -0
  139. package/dist/core/contextWindow.d.ts.map +1 -0
  140. package/dist/core/contextWindow.js +1 -0
  141. package/dist/core/contextWindow.js.map +1 -0
  142. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  143. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  144. package/dist/core/errors/apiKeyErrors.js +1 -0
  145. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  146. package/dist/core/errors.d.ts +4 -0
  147. package/dist/core/errors.d.ts.map +1 -0
  148. package/dist/core/errors.js +33 -0
  149. package/dist/core/errors.js.map +1 -0
  150. package/dist/core/preferences.d.ts +21 -0
  151. package/dist/core/preferences.d.ts.map +1 -0
  152. package/dist/core/preferences.js +13 -7
  153. package/dist/core/preferences.js.map +1 -0
  154. package/dist/core/schemaValidator.d.ts +6 -0
  155. package/dist/core/schemaValidator.d.ts.map +1 -0
  156. package/dist/core/schemaValidator.js +93 -0
  157. package/dist/core/schemaValidator.js.map +1 -0
  158. package/dist/core/secretStore.d.ts +20 -0
  159. package/dist/core/secretStore.d.ts.map +1 -0
  160. package/dist/core/secretStore.js +3 -8
  161. package/dist/core/secretStore.js.map +1 -0
  162. package/dist/core/toolRuntime.d.ts +48 -0
  163. package/dist/core/toolRuntime.d.ts.map +1 -0
  164. package/dist/core/toolRuntime.js +34 -11
  165. package/dist/core/toolRuntime.js.map +1 -0
  166. package/dist/core/types.d.ts +86 -0
  167. package/dist/core/types.d.ts.map +1 -0
  168. package/dist/core/types.js +1 -0
  169. package/dist/core/types.js.map +1 -0
  170. package/dist/plugins/providers/anthropic/index.d.ts +2 -0
  171. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
  172. package/dist/plugins/providers/anthropic/index.js +6 -4
  173. package/dist/plugins/providers/anthropic/index.js.map +1 -0
  174. package/dist/plugins/providers/deepseek/index.d.ts +2 -0
  175. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  176. package/dist/plugins/providers/deepseek/index.js +1 -0
  177. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  178. package/dist/plugins/providers/google/index.d.ts +2 -0
  179. package/dist/plugins/providers/google/index.d.ts.map +1 -0
  180. package/dist/plugins/providers/google/index.js +6 -4
  181. package/dist/plugins/providers/google/index.js.map +1 -0
  182. package/dist/plugins/providers/index.d.ts +2 -0
  183. package/dist/plugins/providers/index.d.ts.map +1 -0
  184. package/dist/plugins/providers/index.js +1 -0
  185. package/dist/plugins/providers/index.js.map +1 -0
  186. package/dist/plugins/providers/openai/index.d.ts +3 -0
  187. package/dist/plugins/providers/openai/index.d.ts.map +1 -0
  188. package/dist/plugins/providers/openai/index.js +6 -4
  189. package/dist/plugins/providers/openai/index.js.map +1 -0
  190. package/dist/plugins/providers/xai/index.d.ts +2 -0
  191. package/dist/plugins/providers/xai/index.d.ts.map +1 -0
  192. package/dist/plugins/providers/xai/index.js +1 -0
  193. package/dist/plugins/providers/xai/index.js.map +1 -0
  194. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  195. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  196. package/dist/plugins/tools/bash/localBashPlugin.js +1 -0
  197. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  198. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +3 -0
  199. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +1 -0
  200. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +14 -0
  201. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +1 -0
  202. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +3 -0
  203. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +1 -0
  204. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +14 -0
  205. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +1 -0
  206. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +3 -0
  207. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +1 -0
  208. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +14 -0
  209. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +1 -0
  210. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +3 -0
  211. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +1 -0
  212. package/dist/plugins/tools/dependency/dependencyPlugin.js +12 -0
  213. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +1 -0
  214. package/dist/plugins/tools/development/devPlugin.d.ts +3 -0
  215. package/dist/plugins/tools/development/devPlugin.d.ts.map +1 -0
  216. package/dist/plugins/tools/development/devPlugin.js +14 -0
  217. package/dist/plugins/tools/development/devPlugin.js.map +1 -0
  218. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  219. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  220. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +1 -0
  221. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  222. package/dist/plugins/tools/index.d.ts +3 -0
  223. package/dist/plugins/tools/index.d.ts.map +1 -0
  224. package/dist/plugins/tools/index.js +1 -0
  225. package/dist/plugins/tools/index.js.map +1 -0
  226. package/dist/plugins/tools/nodeDefaults.d.ts +2 -0
  227. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  228. package/dist/plugins/tools/nodeDefaults.js +15 -2
  229. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  230. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +3 -0
  231. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +1 -0
  232. package/dist/plugins/tools/refactoring/refactoringPlugin.js +12 -0
  233. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +1 -0
  234. package/dist/plugins/tools/registry.d.ts +22 -0
  235. package/dist/plugins/tools/registry.d.ts.map +1 -0
  236. package/dist/plugins/tools/registry.js +1 -0
  237. package/dist/plugins/tools/registry.js.map +1 -0
  238. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  239. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  240. package/dist/plugins/tools/search/localSearchPlugin.js +1 -0
  241. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  242. package/dist/plugins/tools/testing/testingPlugin.d.ts +3 -0
  243. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +1 -0
  244. package/dist/plugins/tools/testing/testingPlugin.js +12 -0
  245. package/dist/plugins/tools/testing/testingPlugin.js.map +1 -0
  246. package/dist/providers/anthropicProvider.d.ts +23 -0
  247. package/dist/providers/anthropicProvider.d.ts.map +1 -0
  248. package/dist/providers/anthropicProvider.js +3 -2
  249. package/dist/providers/anthropicProvider.js.map +1 -0
  250. package/dist/providers/googleProvider.d.ts +19 -0
  251. package/dist/providers/googleProvider.d.ts.map +1 -0
  252. package/dist/providers/googleProvider.js +1 -1
  253. package/dist/providers/googleProvider.js.map +1 -0
  254. package/dist/providers/openaiChatCompletionsProvider.d.ts +16 -0
  255. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  256. package/dist/providers/openaiChatCompletionsProvider.js +1 -0
  257. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  258. package/dist/providers/openaiResponsesProvider.d.ts +20 -0
  259. package/dist/providers/openaiResponsesProvider.d.ts.map +1 -0
  260. package/dist/providers/openaiResponsesProvider.js +1 -0
  261. package/dist/providers/openaiResponsesProvider.js.map +1 -0
  262. package/dist/providers/providerFactory.d.ts +18 -0
  263. package/dist/providers/providerFactory.d.ts.map +1 -0
  264. package/dist/providers/providerFactory.js +5 -1
  265. package/dist/providers/providerFactory.js.map +1 -0
  266. package/dist/runtime/agentHost.d.ts +61 -0
  267. package/dist/runtime/agentHost.d.ts.map +1 -0
  268. package/dist/runtime/agentHost.js +5 -1
  269. package/dist/runtime/agentHost.js.map +1 -0
  270. package/dist/runtime/agentSession.d.ts +32 -0
  271. package/dist/runtime/agentSession.d.ts.map +1 -0
  272. package/dist/runtime/agentSession.js +23 -1
  273. package/dist/runtime/agentSession.js.map +1 -0
  274. package/dist/runtime/browser.d.ts +7 -0
  275. package/dist/runtime/browser.d.ts.map +1 -0
  276. package/dist/runtime/browser.js +1 -0
  277. package/dist/runtime/browser.js.map +1 -0
  278. package/dist/runtime/cloud.d.ts +7 -0
  279. package/dist/runtime/cloud.d.ts.map +1 -0
  280. package/dist/runtime/cloud.js +1 -0
  281. package/dist/runtime/cloud.js.map +1 -0
  282. package/dist/runtime/node.d.ts +8 -0
  283. package/dist/runtime/node.d.ts.map +1 -0
  284. package/dist/runtime/node.js +1 -0
  285. package/dist/runtime/node.js.map +1 -0
  286. package/dist/runtime/universal.d.ts +21 -0
  287. package/dist/runtime/universal.d.ts.map +1 -0
  288. package/dist/runtime/universal.js +1 -0
  289. package/dist/runtime/universal.js.map +1 -0
  290. package/dist/shell/bracketedPasteManager.d.ts +23 -0
  291. package/dist/shell/bracketedPasteManager.d.ts.map +1 -0
  292. package/dist/shell/bracketedPasteManager.js +1 -0
  293. package/dist/shell/bracketedPasteManager.js.map +1 -0
  294. package/dist/shell/interactiveShell.d.ts +128 -0
  295. package/dist/shell/interactiveShell.d.ts.map +1 -0
  296. package/dist/shell/interactiveShell.js +264 -146
  297. package/dist/shell/interactiveShell.js.map +1 -0
  298. package/dist/shell/liveStatus.d.ts +33 -0
  299. package/dist/shell/liveStatus.d.ts.map +1 -0
  300. package/dist/shell/liveStatus.js +89 -0
  301. package/dist/shell/liveStatus.js.map +1 -0
  302. package/dist/shell/promptSkin.d.ts +50 -0
  303. package/dist/shell/promptSkin.d.ts.map +1 -0
  304. package/dist/shell/promptSkin.js +380 -0
  305. package/dist/shell/promptSkin.js.map +1 -0
  306. package/dist/shell/shellApp.d.ts +10 -0
  307. package/dist/shell/shellApp.d.ts.map +1 -0
  308. package/dist/shell/shellApp.js +155 -78
  309. package/dist/shell/shellApp.js.map +1 -0
  310. package/dist/shell/systemPrompt.d.ts +3 -0
  311. package/dist/shell/systemPrompt.d.ts.map +1 -0
  312. package/dist/shell/systemPrompt.js +64 -0
  313. package/dist/shell/systemPrompt.js.map +1 -0
  314. package/dist/shell/updateManager.d.ts +2 -0
  315. package/dist/shell/updateManager.d.ts.map +1 -0
  316. package/dist/shell/updateManager.js +109 -0
  317. package/dist/shell/updateManager.js.map +1 -0
  318. package/dist/tools/bashTools.d.ts +8 -0
  319. package/dist/tools/bashTools.d.ts.map +1 -0
  320. package/dist/tools/bashTools.js +18 -15
  321. package/dist/tools/bashTools.js.map +1 -0
  322. package/dist/tools/codeAnalysisTools.d.ts +74 -0
  323. package/dist/tools/codeAnalysisTools.d.ts.map +1 -0
  324. package/dist/tools/codeAnalysisTools.js +642 -0
  325. package/dist/tools/codeAnalysisTools.js.map +1 -0
  326. package/dist/tools/codeGenerationTools.d.ts +3 -0
  327. package/dist/tools/codeGenerationTools.d.ts.map +1 -0
  328. package/dist/tools/codeGenerationTools.js +369 -0
  329. package/dist/tools/codeGenerationTools.js.map +1 -0
  330. package/dist/tools/codeQualityTools.d.ts +3 -0
  331. package/dist/tools/codeQualityTools.d.ts.map +1 -0
  332. package/dist/tools/codeQualityTools.js +295 -0
  333. package/dist/tools/codeQualityTools.js.map +1 -0
  334. package/dist/tools/dependencyTools.d.ts +3 -0
  335. package/dist/tools/dependencyTools.d.ts.map +1 -0
  336. package/dist/tools/dependencyTools.js +283 -0
  337. package/dist/tools/dependencyTools.js.map +1 -0
  338. package/dist/tools/devTools.d.ts +10 -0
  339. package/dist/tools/devTools.d.ts.map +1 -0
  340. package/dist/tools/devTools.js +239 -0
  341. package/dist/tools/devTools.js.map +1 -0
  342. package/dist/tools/diffUtils.d.ts +8 -0
  343. package/dist/tools/diffUtils.d.ts.map +1 -0
  344. package/dist/tools/diffUtils.js +2 -1
  345. package/dist/tools/diffUtils.js.map +1 -0
  346. package/dist/tools/fileTools.d.ts +3 -0
  347. package/dist/tools/fileTools.d.ts.map +1 -0
  348. package/dist/tools/fileTools.js +72 -21
  349. package/dist/tools/fileTools.js.map +1 -0
  350. package/dist/tools/refactoringTools.d.ts +3 -0
  351. package/dist/tools/refactoringTools.d.ts.map +1 -0
  352. package/dist/tools/refactoringTools.js +294 -0
  353. package/dist/tools/refactoringTools.js.map +1 -0
  354. package/dist/tools/repoChecksTools.d.ts +3 -0
  355. package/dist/tools/repoChecksTools.d.ts.map +1 -0
  356. package/dist/tools/repoChecksTools.js +161 -0
  357. package/dist/tools/repoChecksTools.js.map +1 -0
  358. package/dist/tools/searchTools.d.ts +3 -0
  359. package/dist/tools/searchTools.d.ts.map +1 -0
  360. package/dist/tools/searchTools.js +50 -22
  361. package/dist/tools/searchTools.js.map +1 -0
  362. package/dist/tools/testingTools.d.ts +3 -0
  363. package/dist/tools/testingTools.d.ts.map +1 -0
  364. package/dist/tools/testingTools.js +233 -0
  365. package/dist/tools/testingTools.js.map +1 -0
  366. package/dist/ui/codeHighlighter.d.ts +6 -0
  367. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  368. package/dist/ui/codeHighlighter.js +41 -29
  369. package/dist/ui/codeHighlighter.js.map +1 -0
  370. package/dist/ui/designSystem.d.ts +26 -0
  371. package/dist/ui/designSystem.d.ts.map +1 -0
  372. package/dist/ui/designSystem.js +1 -0
  373. package/dist/ui/designSystem.js.map +1 -0
  374. package/dist/ui/display.d.ts +78 -0
  375. package/dist/ui/display.d.ts.map +1 -0
  376. package/dist/ui/display.js +211 -153
  377. package/dist/ui/display.js.map +1 -0
  378. package/dist/ui/layout.d.ts +17 -0
  379. package/dist/ui/layout.d.ts.map +1 -0
  380. package/dist/ui/layout.js +12 -7
  381. package/dist/ui/layout.js.map +1 -0
  382. package/dist/ui/richText.d.ts +6 -0
  383. package/dist/ui/richText.d.ts.map +1 -0
  384. package/dist/ui/richText.js +13 -4
  385. package/dist/ui/richText.js.map +1 -0
  386. package/dist/ui/theme.d.ts +77 -0
  387. package/dist/ui/theme.d.ts.map +1 -0
  388. package/dist/ui/theme.js +19 -6
  389. package/dist/ui/theme.js.map +1 -0
  390. package/dist/ui/unified/UIEventBus.d.ts +93 -0
  391. package/dist/ui/unified/UIEventBus.d.ts.map +1 -0
  392. package/dist/ui/unified/UIEventBus.js +124 -0
  393. package/dist/ui/unified/UIEventBus.js.map +1 -0
  394. package/dist/ui/unified/UIState.d.ts +123 -0
  395. package/dist/ui/unified/UIState.d.ts.map +1 -0
  396. package/dist/ui/unified/UIState.js +188 -0
  397. package/dist/ui/unified/UIState.js.map +1 -0
  398. package/dist/utils/errorUtils.d.ts +16 -0
  399. package/dist/utils/errorUtils.d.ts.map +1 -0
  400. package/dist/utils/errorUtils.js +68 -0
  401. package/dist/utils/errorUtils.js.map +1 -0
  402. package/dist/utils/nodeVersion.d.ts +3 -0
  403. package/dist/utils/nodeVersion.d.ts.map +1 -0
  404. package/dist/utils/nodeVersion.js +51 -0
  405. package/dist/utils/nodeVersion.js.map +1 -0
  406. package/dist/workspace.d.ts +8 -0
  407. package/dist/workspace.d.ts.map +1 -0
  408. package/dist/workspace.js +63 -11
  409. package/dist/workspace.js.map +1 -0
  410. package/package.json +27 -14
  411. package/scripts/health-check.mjs +179 -0
  412. package/ARCHITECTURE.json +0 -157
  413. package/SOURCE_OF_TRUTH.json +0 -103
  414. package/dist/capabilities/tavilyCapability.js +0 -26
  415. package/dist/plugins/tools/tavily/tavilyPlugin.js +0 -16
  416. package/dist/shell/__tests__/bracketedPasteManager.test.js +0 -35
  417. package/dist/tools/tavilyTools.js +0 -176
  418. package/dist/ui/__tests__/richText.test.js +0 -36
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIState.d.ts","sourceRoot":"","sources":["../../../src/ui/unified/UIState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * UIState - Centralized state management for the unified UI
3
+ *
4
+ * Maintains the current state of all UI components and coordinates updates
5
+ */
6
+ /**
7
+ * Manages the current UI state and notifies listeners of changes
8
+ */
9
+ export class UIState {
10
+ state;
11
+ listeners = new Set();
12
+ constructor() {
13
+ this.state = this.getInitialState();
14
+ }
15
+ getInitialState() {
16
+ return {
17
+ thinking: {
18
+ active: false,
19
+ message: 'Thinking...',
20
+ },
21
+ tools: new Map(),
22
+ status: {
23
+ base: {
24
+ status: 'Ready',
25
+ tone: 'info',
26
+ },
27
+ overrides: [],
28
+ },
29
+ context: {
30
+ used: 0,
31
+ total: 100000,
32
+ percentage: 0,
33
+ warningThreshold: 0.9,
34
+ },
35
+ session: {
36
+ provider: 'anthropic',
37
+ model: 'claude-sonnet-4-5',
38
+ profile: 'default',
39
+ },
40
+ inputActive: false,
41
+ };
42
+ }
43
+ /**
44
+ * Get the current state (immutable)
45
+ */
46
+ getState() {
47
+ return this.state;
48
+ }
49
+ /**
50
+ * Subscribe to state changes
51
+ */
52
+ subscribe(listener) {
53
+ this.listeners.add(listener);
54
+ return () => {
55
+ this.listeners.delete(listener);
56
+ };
57
+ }
58
+ /**
59
+ * Notify all listeners of state change
60
+ */
61
+ notify() {
62
+ for (const listener of this.listeners) {
63
+ try {
64
+ listener(this.state);
65
+ }
66
+ catch (error) {
67
+ console.error('Error in state listener:', error);
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Update thinking state
73
+ */
74
+ setThinking(active, message, stage) {
75
+ this.state.thinking = {
76
+ active,
77
+ message: message || this.state.thinking.message,
78
+ stage,
79
+ startTime: active ? (this.state.thinking.startTime || Date.now()) : undefined,
80
+ };
81
+ this.notify();
82
+ }
83
+ /**
84
+ * Start tool execution
85
+ */
86
+ startTool(callId, toolName, description) {
87
+ this.state.tools.set(callId, {
88
+ callId,
89
+ toolName,
90
+ description,
91
+ startTime: Date.now(),
92
+ completed: false,
93
+ });
94
+ this.notify();
95
+ }
96
+ /**
97
+ * Complete tool execution
98
+ */
99
+ completeTool(callId) {
100
+ const tool = this.state.tools.get(callId);
101
+ if (tool) {
102
+ tool.completed = true;
103
+ this.notify();
104
+ }
105
+ }
106
+ /**
107
+ * Remove tool from state
108
+ */
109
+ removeTool(callId) {
110
+ this.state.tools.delete(callId);
111
+ this.notify();
112
+ }
113
+ /**
114
+ * Get active tools
115
+ */
116
+ getActiveTools() {
117
+ return Array.from(this.state.tools.values()).filter((t) => !t.completed);
118
+ }
119
+ /**
120
+ * Update base status
121
+ */
122
+ setBaseStatus(status) {
123
+ this.state.status.base = status;
124
+ this.notify();
125
+ }
126
+ /**
127
+ * Push status override
128
+ */
129
+ pushStatus(status) {
130
+ this.state.status.overrides.push(status);
131
+ this.notify();
132
+ }
133
+ /**
134
+ * Pop status override
135
+ */
136
+ popStatus() {
137
+ this.state.status.overrides.pop();
138
+ this.notify();
139
+ }
140
+ /**
141
+ * Get current visible status (top of stack)
142
+ */
143
+ getCurrentStatus() {
144
+ return (this.state.status.overrides[this.state.status.overrides.length - 1] ||
145
+ this.state.status.base);
146
+ }
147
+ /**
148
+ * Update context state
149
+ */
150
+ setContext(used, total) {
151
+ this.state.context = {
152
+ used,
153
+ total,
154
+ percentage: total > 0 ? used / total : 0,
155
+ warningThreshold: this.state.context.warningThreshold,
156
+ };
157
+ this.notify();
158
+ }
159
+ /**
160
+ * Update session information
161
+ */
162
+ setSession(session) {
163
+ this.state.session = {
164
+ ...this.state.session,
165
+ ...session,
166
+ };
167
+ this.notify();
168
+ }
169
+ /**
170
+ * Set input active state
171
+ */
172
+ setInputActive(active) {
173
+ this.state.inputActive = active;
174
+ this.notify();
175
+ }
176
+ /**
177
+ * Reset state to initial
178
+ */
179
+ reset() {
180
+ this.state = this.getInitialState();
181
+ this.notify();
182
+ }
183
+ }
184
+ /**
185
+ * Singleton instance of UI state
186
+ */
187
+ export const uiState = new UIState();
188
+ //# sourceMappingURL=UIState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIState.js","sourceRoot":"","sources":["../../../src/ui/unified/UIState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Enhanced error utilities for better debugging and error reporting
3
+ */
4
+ import type { ErrorContext } from '../core/errors.js';
5
+ export interface ErrorDetails {
6
+ message: string;
7
+ code?: string;
8
+ context?: ErrorContext;
9
+ stack?: string;
10
+ timestamp: string;
11
+ }
12
+ export declare function createErrorDetails(error: unknown, context?: ErrorContext, code?: string): ErrorDetails;
13
+ export declare function formatErrorForLogging(error: unknown, context?: ErrorContext): string;
14
+ export declare function isRetryableError(error: unknown): boolean;
15
+ export declare function withRetry<T>(operation: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>;
16
+ //# sourceMappingURL=errorUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorUtils.d.ts","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,YAAY,CAWd;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBpF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOxD;AAED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,CAAC,CAAC,CAoBZ"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Enhanced error utilities for better debugging and error reporting
3
+ */
4
+ /**
5
+ * Common retryable error patterns for network and rate limiting scenarios
6
+ */
7
+ const RETRYABLE_ERROR_PATTERNS = [
8
+ /timeout/i,
9
+ /network/i,
10
+ /rate.?limit/i,
11
+ /too.?many.?requests/i,
12
+ /service.?unavailable/i,
13
+ /gateway.?timeout/i,
14
+ /bad.?gateway/i,
15
+ /internal.?server.?error/i,
16
+ ];
17
+ export function createErrorDetails(error, context, code) {
18
+ const message = error instanceof Error ? error.message : String(error);
19
+ const stack = error instanceof Error ? error.stack : undefined;
20
+ return {
21
+ message,
22
+ code,
23
+ context,
24
+ stack,
25
+ timestamp: new Date().toISOString(),
26
+ };
27
+ }
28
+ export function formatErrorForLogging(error, context) {
29
+ const details = createErrorDetails(error, context);
30
+ const parts = [
31
+ `[${details.timestamp}]`,
32
+ details.code ? `[${details.code}]` : '',
33
+ details.message,
34
+ ];
35
+ if (details.context && Object.keys(details.context).length > 0) {
36
+ parts.push(`Context: ${JSON.stringify(details.context)}`);
37
+ }
38
+ if (details.stack) {
39
+ parts.push(`Stack: ${details.stack}`);
40
+ }
41
+ return parts.filter(Boolean).join(' ');
42
+ }
43
+ export function isRetryableError(error) {
44
+ if (!(error instanceof Error)) {
45
+ return false;
46
+ }
47
+ const message = error.message.toLowerCase();
48
+ return RETRYABLE_ERROR_PATTERNS.some(pattern => pattern.test(message));
49
+ }
50
+ export async function withRetry(operation, maxRetries = 3, delayMs = 1000) {
51
+ let attempts = 0;
52
+ let lastError;
53
+ while (attempts <= maxRetries) {
54
+ try {
55
+ return await operation();
56
+ }
57
+ catch (error) {
58
+ lastError = error;
59
+ attempts++;
60
+ if (attempts > maxRetries || !isRetryableError(error)) {
61
+ break;
62
+ }
63
+ await new Promise(resolve => setTimeout(resolve, delayMs * attempts));
64
+ }
65
+ }
66
+ throw lastError;
67
+ }
68
+ //# sourceMappingURL=errorUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,MAAM,wBAAwB,GAAG;IAC/B,UAAU;IACV,UAAU;IACV,cAAc;IACd,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;IACf,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,OAAsB,EACtB,IAAa;IAEb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,OAAO;QACP,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,OAAsB;IAC1E,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAG;QACZ,IAAI,OAAO,CAAC,SAAS,GAAG;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,OAAO;KAChB,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAA2B,EAC3B,aAAqB,CAAC,EACtB,UAAkB,IAAI;IAEtB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAkB,CAAC;IAEvB,OAAO,QAAQ,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,QAAQ,EAAE,CAAC;YAEX,IAAI,QAAQ,GAAG,UAAU,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const MINIMUM_NODE_VERSION = ">=20.0.0";
2
+ export declare function ensureNodeVersion(range?: string): void;
3
+ //# sourceMappingURL=nodeVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeVersion.d.ts","sourceRoot":"","sources":["../../src/utils/nodeVersion.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,KAAK,SAAuB,GAAG,IAAI,CAsBpE"}
@@ -0,0 +1,51 @@
1
+ import { exit } from 'node:process';
2
+ function parseRange(range) {
3
+ const match = range.match(/>=\s*(\d+)(?:\.(\d+))?(?:\.(\d+))?/);
4
+ if (!match) {
5
+ throw new Error(`Unsupported Node version range "${range}". Use format ">=X.Y.Z".`);
6
+ }
7
+ return {
8
+ major: Number.parseInt(match[1] ?? '0', 10),
9
+ minor: Number.parseInt(match[2] ?? '0', 10),
10
+ patch: Number.parseInt(match[3] ?? '0', 10),
11
+ };
12
+ }
13
+ function parseVersion(input) {
14
+ const [majorRaw, minorRaw, patchRaw] = input.split('.');
15
+ const major = Number.parseInt(majorRaw ?? '0', 10) || 0;
16
+ const minor = Number.parseInt(minorRaw ?? '0', 10) || 0;
17
+ const patch = Number.parseInt(patchRaw ?? '0', 10) || 0;
18
+ return { major, minor, patch };
19
+ }
20
+ function isSupported(actual, minimum) {
21
+ if (actual.major !== minimum.major) {
22
+ return actual.major > minimum.major;
23
+ }
24
+ if (actual.minor !== minimum.minor) {
25
+ return actual.minor > minimum.minor;
26
+ }
27
+ return actual.patch >= minimum.patch;
28
+ }
29
+ export const MINIMUM_NODE_VERSION = '>=20.0.0';
30
+ export function ensureNodeVersion(range = MINIMUM_NODE_VERSION) {
31
+ const minimum = parseRange(range);
32
+ const actual = parseVersion(process.versions.node);
33
+ if (isSupported(actual, minimum)) {
34
+ return;
35
+ }
36
+ const requirement = `${minimum.major}.${minimum.minor}.${minimum.patch}`;
37
+ const current = `${actual.major}.${actual.minor}.${actual.patch}`;
38
+ const guidance = [
39
+ 'Erosolar CLI requires Node.js',
40
+ requirement,
41
+ 'or newer.',
42
+ `Detected ${current}.`,
43
+ '',
44
+ 'Install the required runtime before continuing:',
45
+ ' nvm install 20 && nvm use 20',
46
+ ' # or via Volta: volta install node@20',
47
+ ].join(' ');
48
+ console.error(guidance);
49
+ exit(1);
50
+ }
51
+ //# sourceMappingURL=nodeVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeVersion.js","sourceRoot":"","sources":["../../src/utils/nodeVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,0BAA0B,CAAC,CAAC;IACtF,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAClB,MAAuD,EACvD,OAAwD;IAExD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,MAAM,UAAU,iBAAiB,CAAC,KAAK,GAAG,oBAAoB;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IACzE,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG;QACf,+BAA+B;QAC/B,WAAW;QACX,WAAW;QACX,YAAY,OAAO,GAAG;QACtB,EAAE;QACF,iDAAiD;QACjD,gCAAgC;QAChC,yCAAyC;KAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface WorkspaceCaptureOptions {
2
+ treeDepth?: number;
3
+ maxEntries?: number;
4
+ docExcerptLimit?: number;
5
+ }
6
+ export declare function resolveWorkspaceCaptureOptions(env?: NodeJS.ProcessEnv): WorkspaceCaptureOptions;
7
+ export declare function buildWorkspaceContext(root: string, options?: WorkspaceCaptureOptions): string | null;
8
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,8BAA8B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,uBAAuB,CAM5G;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,MAAM,GAAG,IAAI,CAuBxG"}
package/dist/workspace.js CHANGED
@@ -1,24 +1,68 @@
1
1
  import { existsSync, readFileSync, readdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- const IMPORTANT_DOCS = ['README.md', 'SOURCE_OF_TRUTH.json', 'ARCHITECTURE.json', 'package.json'];
3
+ import { buildAgentRulebookPrompt } from './core/agentRulebook.js';
4
+ import { getAgentProfileManifest } from './core/agentProfileManifest.js';
5
+ const PRIORITY_DOCS = ['README.md', 'package.json'];
6
+ const RULEBOOK_SCHEMA_PATH = 'src/contracts/schemas/agent-rules.schema.json';
4
7
  const IGNORED_DIRS = new Set(['.git', 'node_modules', 'dist']);
5
- export function buildWorkspaceContext(root) {
8
+ const DEFAULT_TREE_DEPTH = 2;
9
+ const DEFAULT_MAX_ENTRIES = 200;
10
+ const DEFAULT_DOC_LIMIT = 2000;
11
+ export function resolveWorkspaceCaptureOptions(env = process.env) {
12
+ return {
13
+ treeDepth: parsePositiveInt(env['EROSOLAR_CONTEXT_TREE_DEPTH']),
14
+ maxEntries: parsePositiveInt(env['EROSOLAR_CONTEXT_MAX_ENTRIES']),
15
+ docExcerptLimit: parsePositiveInt(env['EROSOLAR_CONTEXT_DOC_LIMIT']),
16
+ };
17
+ }
18
+ export function buildWorkspaceContext(root, options = {}) {
19
+ const treeDepth = options.treeDepth ?? DEFAULT_TREE_DEPTH;
20
+ const maxEntries = options.maxEntries ?? DEFAULT_MAX_ENTRIES;
21
+ const docLimit = options.docExcerptLimit ?? DEFAULT_DOC_LIMIT;
6
22
  try {
7
- const treeLines = formatFileTree(root, 2, 200);
8
- const docs = IMPORTANT_DOCS.filter((name) => existsSync(join(root, name)))
9
- .map((name) => {
10
- const content = readFileSync(join(root, name), 'utf8');
11
- const snippet = content.length > 2000 ? `${content.slice(0, 2000)}\n...` : content;
12
- return `--- ${name} ---\n${snippet.trim()}`;
13
- })
14
- .join('\n\n');
15
- return [`cwd: ${root}`, 'files:', ...treeLines, docs].filter(Boolean).join('\n');
23
+ const treeLines = formatFileTree(root, treeDepth, maxEntries);
24
+ const docSnippets = capturePriorityDocs(root, docLimit);
25
+ const rulebooks = captureRulebookSections(root);
26
+ const sections = [`cwd: ${root}`, 'files:', ...treeLines];
27
+ if (docSnippets.length) {
28
+ sections.push(docSnippets.join('\n\n'));
29
+ }
30
+ if (rulebooks.length) {
31
+ sections.push(rulebooks.join('\n\n'));
32
+ }
33
+ return sections.filter((section) => section.trim().length > 0).join('\n');
16
34
  }
17
35
  catch (error) {
18
36
  const message = error instanceof Error ? error.message : String(error);
19
37
  return `Workspace context unavailable (${message}).`;
20
38
  }
21
39
  }
40
+ function capturePriorityDocs(root, docLimit) {
41
+ return PRIORITY_DOCS.filter((name) => existsSync(join(root, name))).map((name) => {
42
+ const content = readFileSync(join(root, name), 'utf8');
43
+ const snippet = content.length > docLimit ? `${content.slice(0, docLimit)}\n...` : content;
44
+ return `--- ${name} ---\n${snippet.trim()}`;
45
+ });
46
+ }
47
+ function captureRulebookSections(root) {
48
+ const manifest = getAgentProfileManifest();
49
+ return manifest.profiles
50
+ .map((entry) => entry.name)
51
+ .map((profile) => buildRulebookBlock(root, profile))
52
+ .filter((block) => Boolean(block?.trim()));
53
+ }
54
+ function buildRulebookBlock(root, profile) {
55
+ try {
56
+ const prompt = buildAgentRulebookPrompt(profile, { root });
57
+ const header = `--- Agents.md#rulebooks/${profile} (contract: ${RULEBOOK_SCHEMA_PATH}) ---`;
58
+ return `${header}\n${prompt.trim()}`;
59
+ }
60
+ catch (error) {
61
+ const header = `--- Agents.md#rulebooks/${profile} ---`;
62
+ const message = error instanceof Error ? error.message : String(error);
63
+ return `${header}\nFailed to load rulebook: ${message}`;
64
+ }
65
+ }
22
66
  function formatFileTree(root, maxDepth, maxEntries) {
23
67
  const lines = [];
24
68
  const walk = (dir, depth, prefix) => {
@@ -42,3 +86,11 @@ function formatFileTree(root, maxDepth, maxEntries) {
42
86
  walk(root, 0, '');
43
87
  return lines;
44
88
  }
89
+ function parsePositiveInt(raw) {
90
+ if (!raw) {
91
+ return undefined;
92
+ }
93
+ const value = Number.parseInt(raw, 10);
94
+ return Number.isFinite(value) && value > 0 ? value : undefined;
95
+ }
96
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "1.0.2",
4
- "description": "Modular Erosolar CLI with general + Erosolar Code profiles and pluggable providers",
3
+ "version": "1.0.3",
4
+ "description": "⚠️ WARNING: This package enables AI agent capabilities for authorized security testing, defensive security, CTF challenges, and educational contexts. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. 🔮 COMING SOON: Fully modular, down-to-the-last-detail, easy-to-configure AGI enabling all capabilities including both defensive and offensive security tooling, will be made available soon for all to use agnostically. | Modular Erosolar CLI with general + Erosolar Code profiles, pluggable providers, and guardrails encoded via src/contracts/schemas/agent-rules.schema.json",
5
5
  "main": "dist/bin/erosolar.js",
6
6
  "type": "module",
7
7
  "files": [
@@ -9,25 +9,38 @@
9
9
  "README.md",
10
10
  "Agents.md",
11
11
  "LICENSE",
12
- "SOURCE_OF_TRUTH.json",
13
- "ARCHITECTURE.json",
14
- "scripts/preinstall-clean-bins.mjs"
12
+ "scripts/preinstall-clean-bins.mjs",
13
+ "scripts/health-check.mjs"
15
14
  ],
16
15
  "bin": {
17
16
  "erosolar": "dist/bin/erosolar.js"
18
17
  },
19
18
  "scripts": {
20
19
  "preinstall": "node scripts/preinstall-clean-bins.mjs",
21
- "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
22
- "build": "npm run clean && tsc",
23
- "postbuild": "node -e \"['dist/bin/erosolar.js'].forEach((file)=>require('fs').chmodSync(file,0o755))\"",
24
- "dev": "tsx src/bin/erosolar.ts",
25
- "start": "node dist/bin/erosolar.js"
20
+ "clean": "node -e \"const { rmSync } = require('fs'); try { rmSync('dist', { recursive: true, force: true, maxRetries: 5 }); } catch (error) { if (error && error.code !== 'ENOENT') throw error; }\"",
21
+ "build": "tsc",
22
+ "build:watch": "tsc --watch",
23
+ "prepare": "npm run build",
24
+ "postbuild": "node scripts/postbuild.mjs",
25
+ "dev": "node --loader ts-node/esm src/bin/erosolar.ts",
26
+ "dev:watch": "node --watch --loader ts-node/esm src/bin/erosolar.ts",
27
+ "start": "node dist/bin/erosolar.js",
28
+ "test": "node --loader ts-node/esm --test test/*.test.ts",
29
+ "test:watch": "node --watch --loader ts-node/esm --test test/*.test.ts",
30
+ "lint": "tsc --noEmit",
31
+ "type-check": "tsc --noEmit",
32
+ "health-check": "node scripts/health-check.mjs"
33
+ },
34
+ "erosolar": {
35
+ "rulebookSchema": "src/contracts/schemas/agent-rules.schema.json"
26
36
  },
27
37
  "keywords": [
28
38
  "cli",
29
39
  "codex",
30
- "openai"
40
+ "openai",
41
+ "ai",
42
+ "agent",
43
+ "productivity"
31
44
  ],
32
45
  "author": "Erosolar AI <support@ero.solar>",
33
46
  "license": "MIT",
@@ -45,8 +58,7 @@
45
58
  "devDependencies": {
46
59
  "@types/gradient-string": "^1.1.6",
47
60
  "@types/node": "^20.11.24",
48
- "tsx": "^4.7.1",
49
- "typescript": "^5.3.3"
61
+ "ts-node": "^10.9.2"
50
62
  },
51
63
  "dependencies": {
52
64
  "@anthropic-ai/sdk": "^0.32.0",
@@ -57,6 +69,7 @@
57
69
  "gradient-string": "^2.0.2",
58
70
  "nanospinner": "^1.1.0",
59
71
  "openai": "^4.77.3",
60
- "ora": "^5.4.1"
72
+ "ora": "^5.4.1",
73
+ "typescript": "^5.3.3"
61
74
  }
62
75
  }