erosolar-cli 1.0.2 → 1.0.5

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 (437) hide show
  1. package/README.md +80 -44
  2. package/agents/erosolar-code.rules.json +167 -0
  3. package/agents/general.rules.json +188 -0
  4. package/dist/adapters/browser/index.d.ts +12 -0
  5. package/dist/adapters/browser/index.d.ts.map +1 -0
  6. package/dist/adapters/browser/index.js +1 -0
  7. package/dist/adapters/browser/index.js.map +1 -0
  8. package/dist/adapters/node/index.d.ts +17 -0
  9. package/dist/adapters/node/index.d.ts.map +1 -0
  10. package/dist/adapters/node/index.js +1 -0
  11. package/dist/adapters/node/index.js.map +1 -0
  12. package/dist/adapters/remote/index.d.ts +13 -0
  13. package/dist/adapters/remote/index.d.ts.map +1 -0
  14. package/dist/adapters/remote/index.js +1 -0
  15. package/dist/adapters/remote/index.js.map +1 -0
  16. package/dist/adapters/types.d.ts +14 -0
  17. package/dist/adapters/types.d.ts.map +1 -0
  18. package/dist/adapters/types.js +1 -0
  19. package/dist/adapters/types.js.map +1 -0
  20. package/dist/bin/erosolar.d.ts +3 -0
  21. package/dist/bin/erosolar.d.ts.map +1 -0
  22. package/dist/bin/erosolar.js +1 -0
  23. package/dist/bin/erosolar.js.map +1 -0
  24. package/dist/capabilities/bashCapability.d.ts +13 -0
  25. package/dist/capabilities/bashCapability.d.ts.map +1 -0
  26. package/dist/capabilities/bashCapability.js +1 -0
  27. package/dist/capabilities/bashCapability.js.map +1 -0
  28. package/dist/capabilities/codeAnalysisCapability.d.ts +13 -0
  29. package/dist/capabilities/codeAnalysisCapability.d.ts.map +1 -0
  30. package/dist/capabilities/codeAnalysisCapability.js +24 -0
  31. package/dist/capabilities/codeAnalysisCapability.js.map +1 -0
  32. package/dist/capabilities/codeGenerationCapability.d.ts +13 -0
  33. package/dist/capabilities/codeGenerationCapability.d.ts.map +1 -0
  34. package/dist/capabilities/codeGenerationCapability.js +25 -0
  35. package/dist/capabilities/codeGenerationCapability.js.map +1 -0
  36. package/dist/capabilities/codeQualityCapability.d.ts +13 -0
  37. package/dist/capabilities/codeQualityCapability.d.ts.map +1 -0
  38. package/dist/capabilities/codeQualityCapability.js +25 -0
  39. package/dist/capabilities/codeQualityCapability.js.map +1 -0
  40. package/dist/capabilities/dependencySecurityCapability.d.ts +13 -0
  41. package/dist/capabilities/dependencySecurityCapability.d.ts.map +1 -0
  42. package/dist/capabilities/dependencySecurityCapability.js +24 -0
  43. package/dist/capabilities/dependencySecurityCapability.js.map +1 -0
  44. package/dist/capabilities/devCapability.d.ts +13 -0
  45. package/dist/capabilities/devCapability.d.ts.map +1 -0
  46. package/dist/capabilities/devCapability.js +24 -0
  47. package/dist/capabilities/devCapability.js.map +1 -0
  48. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  49. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  50. package/dist/capabilities/filesystemCapability.js +1 -0
  51. package/dist/capabilities/filesystemCapability.js.map +1 -0
  52. package/dist/capabilities/index.d.ts +10 -0
  53. package/dist/capabilities/index.d.ts.map +1 -0
  54. package/dist/capabilities/index.js +7 -0
  55. package/dist/capabilities/index.js.map +1 -0
  56. package/dist/capabilities/refactoringCapability.d.ts +13 -0
  57. package/dist/capabilities/refactoringCapability.d.ts.map +1 -0
  58. package/dist/capabilities/refactoringCapability.js +25 -0
  59. package/dist/capabilities/refactoringCapability.js.map +1 -0
  60. package/dist/capabilities/repoChecksCapability.d.ts +10 -0
  61. package/dist/capabilities/repoChecksCapability.d.ts.map +1 -0
  62. package/dist/capabilities/repoChecksCapability.js +24 -0
  63. package/dist/capabilities/repoChecksCapability.js.map +1 -0
  64. package/dist/capabilities/searchCapability.d.ts +13 -0
  65. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  66. package/dist/capabilities/searchCapability.js +1 -0
  67. package/dist/capabilities/searchCapability.js.map +1 -0
  68. package/dist/capabilities/testingCapability.d.ts +13 -0
  69. package/dist/capabilities/testingCapability.d.ts.map +1 -0
  70. package/dist/capabilities/testingCapability.js +25 -0
  71. package/dist/capabilities/testingCapability.js.map +1 -0
  72. package/dist/capabilities/toolManifest.d.ts +3 -0
  73. package/dist/capabilities/toolManifest.d.ts.map +1 -0
  74. package/dist/capabilities/toolManifest.js +160 -0
  75. package/dist/capabilities/toolManifest.js.map +1 -0
  76. package/dist/capabilities/toolRegistry.d.ts +22 -0
  77. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  78. package/dist/capabilities/toolRegistry.js +49 -32
  79. package/dist/capabilities/toolRegistry.js.map +1 -0
  80. package/dist/config.d.ts +25 -0
  81. package/dist/config.d.ts.map +1 -0
  82. package/dist/config.js +103 -23
  83. package/dist/config.js.map +1 -0
  84. package/dist/contracts/agent-profiles.schema.json +43 -0
  85. package/dist/contracts/agent-schemas.json +293 -0
  86. package/dist/contracts/schemas/agent-profile.schema.json +157 -0
  87. package/dist/contracts/schemas/agent-rules.schema.json +238 -0
  88. package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
  89. package/dist/contracts/schemas/agent.schema.json +89 -0
  90. package/dist/contracts/schemas/tool-selection.schema.json +174 -0
  91. package/dist/contracts/tools.schema.json +100 -0
  92. package/dist/contracts/v1/agent.d.ts +147 -0
  93. package/dist/contracts/v1/agent.d.ts.map +1 -0
  94. package/dist/contracts/v1/agent.js +1 -0
  95. package/dist/contracts/v1/agent.js.map +1 -0
  96. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  97. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  98. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  99. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  100. package/dist/contracts/v1/agentRules.d.ts +60 -0
  101. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  102. package/dist/contracts/v1/agentRules.js +10 -0
  103. package/dist/contracts/v1/agentRules.js.map +1 -0
  104. package/dist/contracts/v1/provider.d.ts +149 -0
  105. package/dist/contracts/v1/provider.d.ts.map +1 -0
  106. package/dist/contracts/v1/provider.js +1 -0
  107. package/dist/contracts/v1/provider.js.map +1 -0
  108. package/dist/contracts/v1/tool.d.ts +136 -0
  109. package/dist/contracts/v1/tool.d.ts.map +1 -0
  110. package/dist/contracts/v1/tool.js +1 -0
  111. package/dist/contracts/v1/tool.js.map +1 -0
  112. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  113. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  114. package/dist/contracts/v1/toolAccess.js +9 -0
  115. package/dist/contracts/v1/toolAccess.js.map +1 -0
  116. package/dist/core/agent.d.ts +35 -0
  117. package/dist/core/agent.d.ts.map +1 -0
  118. package/dist/core/agent.js +17 -9
  119. package/dist/core/agent.js.map +1 -0
  120. package/dist/core/agentProfileManifest.d.ts +3 -0
  121. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  122. package/dist/core/agentProfileManifest.js +188 -0
  123. package/dist/core/agentProfileManifest.js.map +1 -0
  124. package/dist/core/agentProfiles.d.ts +22 -0
  125. package/dist/core/agentProfiles.d.ts.map +1 -0
  126. package/dist/core/agentProfiles.js +1 -0
  127. package/dist/core/agentProfiles.js.map +1 -0
  128. package/dist/core/agentRulebook.d.ts +11 -0
  129. package/dist/core/agentRulebook.d.ts.map +1 -0
  130. package/dist/core/agentRulebook.js +136 -0
  131. package/dist/core/agentRulebook.js.map +1 -0
  132. package/dist/core/agentSchemaLoader.d.ts +131 -0
  133. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  134. package/dist/core/agentSchemaLoader.js +221 -0
  135. package/dist/core/agentSchemaLoader.js.map +1 -0
  136. package/dist/core/contextWindow.d.ts +6 -0
  137. package/dist/core/contextWindow.d.ts.map +1 -0
  138. package/dist/core/contextWindow.js +1 -0
  139. package/dist/core/contextWindow.js.map +1 -0
  140. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  141. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  142. package/dist/core/errors/apiKeyErrors.js +1 -0
  143. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  144. package/dist/core/errors.d.ts +4 -0
  145. package/dist/core/errors.d.ts.map +1 -0
  146. package/dist/core/errors.js +33 -0
  147. package/dist/core/errors.js.map +1 -0
  148. package/dist/core/preferences.d.ts +21 -0
  149. package/dist/core/preferences.d.ts.map +1 -0
  150. package/dist/core/preferences.js +13 -7
  151. package/dist/core/preferences.js.map +1 -0
  152. package/dist/core/schemaValidator.d.ts +6 -0
  153. package/dist/core/schemaValidator.d.ts.map +1 -0
  154. package/dist/core/schemaValidator.js +93 -0
  155. package/dist/core/schemaValidator.js.map +1 -0
  156. package/dist/core/secretStore.d.ts +20 -0
  157. package/dist/core/secretStore.d.ts.map +1 -0
  158. package/dist/core/secretStore.js +3 -8
  159. package/dist/core/secretStore.js.map +1 -0
  160. package/dist/core/toolRuntime.d.ts +42 -0
  161. package/dist/core/toolRuntime.d.ts.map +1 -0
  162. package/dist/core/toolRuntime.js +25 -10
  163. package/dist/core/toolRuntime.js.map +1 -0
  164. package/dist/core/types.d.ts +86 -0
  165. package/dist/core/types.d.ts.map +1 -0
  166. package/dist/core/types.js +1 -0
  167. package/dist/core/types.js.map +1 -0
  168. package/dist/plugins/providers/anthropic/index.d.ts +2 -0
  169. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
  170. package/dist/plugins/providers/anthropic/index.js +6 -4
  171. package/dist/plugins/providers/anthropic/index.js.map +1 -0
  172. package/dist/plugins/providers/deepseek/index.d.ts +2 -0
  173. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  174. package/dist/plugins/providers/deepseek/index.js +1 -0
  175. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  176. package/dist/plugins/providers/google/index.d.ts +2 -0
  177. package/dist/plugins/providers/google/index.d.ts.map +1 -0
  178. package/dist/plugins/providers/google/index.js +6 -4
  179. package/dist/plugins/providers/google/index.js.map +1 -0
  180. package/dist/plugins/providers/index.d.ts +2 -0
  181. package/dist/plugins/providers/index.d.ts.map +1 -0
  182. package/dist/plugins/providers/index.js +1 -0
  183. package/dist/plugins/providers/index.js.map +1 -0
  184. package/dist/plugins/providers/openai/index.d.ts +3 -0
  185. package/dist/plugins/providers/openai/index.d.ts.map +1 -0
  186. package/dist/plugins/providers/openai/index.js +6 -4
  187. package/dist/plugins/providers/openai/index.js.map +1 -0
  188. package/dist/plugins/providers/xai/index.d.ts +2 -0
  189. package/dist/plugins/providers/xai/index.d.ts.map +1 -0
  190. package/dist/plugins/providers/xai/index.js +1 -0
  191. package/dist/plugins/providers/xai/index.js.map +1 -0
  192. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  193. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  194. package/dist/plugins/tools/bash/localBashPlugin.js +1 -0
  195. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  196. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +3 -0
  197. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +1 -0
  198. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +14 -0
  199. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +1 -0
  200. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +3 -0
  201. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +1 -0
  202. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +14 -0
  203. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +1 -0
  204. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +3 -0
  205. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +1 -0
  206. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +14 -0
  207. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +1 -0
  208. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +3 -0
  209. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +1 -0
  210. package/dist/plugins/tools/dependency/dependencyPlugin.js +12 -0
  211. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +1 -0
  212. package/dist/plugins/tools/development/devPlugin.d.ts +3 -0
  213. package/dist/plugins/tools/development/devPlugin.d.ts.map +1 -0
  214. package/dist/plugins/tools/development/devPlugin.js +14 -0
  215. package/dist/plugins/tools/development/devPlugin.js.map +1 -0
  216. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  217. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  218. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +1 -0
  219. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  220. package/dist/plugins/tools/index.d.ts +3 -0
  221. package/dist/plugins/tools/index.d.ts.map +1 -0
  222. package/dist/plugins/tools/index.js +1 -0
  223. package/dist/plugins/tools/index.js.map +1 -0
  224. package/dist/plugins/tools/nodeDefaults.d.ts +2 -0
  225. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  226. package/dist/plugins/tools/nodeDefaults.js +15 -2
  227. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  228. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +3 -0
  229. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +1 -0
  230. package/dist/plugins/tools/refactoring/refactoringPlugin.js +12 -0
  231. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +1 -0
  232. package/dist/plugins/tools/registry.d.ts +22 -0
  233. package/dist/plugins/tools/registry.d.ts.map +1 -0
  234. package/dist/plugins/tools/registry.js +1 -0
  235. package/dist/plugins/tools/registry.js.map +1 -0
  236. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  237. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  238. package/dist/plugins/tools/search/localSearchPlugin.js +1 -0
  239. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  240. package/dist/plugins/tools/testing/testingPlugin.d.ts +3 -0
  241. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +1 -0
  242. package/dist/plugins/tools/testing/testingPlugin.js +12 -0
  243. package/dist/plugins/tools/testing/testingPlugin.js.map +1 -0
  244. package/dist/providers/anthropicProvider.d.ts +23 -0
  245. package/dist/providers/anthropicProvider.d.ts.map +1 -0
  246. package/dist/providers/anthropicProvider.js +3 -2
  247. package/dist/providers/anthropicProvider.js.map +1 -0
  248. package/dist/providers/googleProvider.d.ts +19 -0
  249. package/dist/providers/googleProvider.d.ts.map +1 -0
  250. package/dist/providers/googleProvider.js +1 -1
  251. package/dist/providers/googleProvider.js.map +1 -0
  252. package/dist/providers/openaiChatCompletionsProvider.d.ts +16 -0
  253. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  254. package/dist/providers/openaiChatCompletionsProvider.js +1 -0
  255. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  256. package/dist/providers/openaiResponsesProvider.d.ts +20 -0
  257. package/dist/providers/openaiResponsesProvider.d.ts.map +1 -0
  258. package/dist/providers/openaiResponsesProvider.js +1 -0
  259. package/dist/providers/openaiResponsesProvider.js.map +1 -0
  260. package/dist/providers/providerFactory.d.ts +18 -0
  261. package/dist/providers/providerFactory.d.ts.map +1 -0
  262. package/dist/providers/providerFactory.js +5 -1
  263. package/dist/providers/providerFactory.js.map +1 -0
  264. package/dist/runtime/agentHost.d.ts +61 -0
  265. package/dist/runtime/agentHost.d.ts.map +1 -0
  266. package/dist/runtime/agentHost.js +5 -1
  267. package/dist/runtime/agentHost.js.map +1 -0
  268. package/dist/runtime/agentSession.d.ts +32 -0
  269. package/dist/runtime/agentSession.d.ts.map +1 -0
  270. package/dist/runtime/agentSession.js +17 -1
  271. package/dist/runtime/agentSession.js.map +1 -0
  272. package/dist/runtime/browser.d.ts +7 -0
  273. package/dist/runtime/browser.d.ts.map +1 -0
  274. package/dist/runtime/browser.js +1 -0
  275. package/dist/runtime/browser.js.map +1 -0
  276. package/dist/runtime/cloud.d.ts +7 -0
  277. package/dist/runtime/cloud.d.ts.map +1 -0
  278. package/dist/runtime/cloud.js +1 -0
  279. package/dist/runtime/cloud.js.map +1 -0
  280. package/dist/runtime/node.d.ts +8 -0
  281. package/dist/runtime/node.d.ts.map +1 -0
  282. package/dist/runtime/node.js +1 -0
  283. package/dist/runtime/node.js.map +1 -0
  284. package/dist/runtime/universal.d.ts +21 -0
  285. package/dist/runtime/universal.d.ts.map +1 -0
  286. package/dist/runtime/universal.js +1 -0
  287. package/dist/runtime/universal.js.map +1 -0
  288. package/dist/shell/bracketedPasteManager.d.ts +23 -0
  289. package/dist/shell/bracketedPasteManager.d.ts.map +1 -0
  290. package/dist/shell/bracketedPasteManager.js +1 -0
  291. package/dist/shell/bracketedPasteManager.js.map +1 -0
  292. package/dist/shell/interactiveShell.d.ts +131 -0
  293. package/dist/shell/interactiveShell.d.ts.map +1 -0
  294. package/dist/shell/interactiveShell.js +325 -262
  295. package/dist/shell/interactiveShell.js.map +1 -0
  296. package/dist/shell/liveStatus.d.ts +29 -0
  297. package/dist/shell/liveStatus.d.ts.map +1 -0
  298. package/dist/shell/liveStatus.js +77 -0
  299. package/dist/shell/liveStatus.js.map +1 -0
  300. package/dist/shell/promptSkin.d.ts +43 -0
  301. package/dist/shell/promptSkin.d.ts.map +1 -0
  302. package/dist/shell/promptSkin.js +330 -0
  303. package/dist/shell/promptSkin.js.map +1 -0
  304. package/dist/shell/shellApp.d.ts +10 -0
  305. package/dist/shell/shellApp.d.ts.map +1 -0
  306. package/dist/shell/shellApp.js +149 -78
  307. package/dist/shell/shellApp.js.map +1 -0
  308. package/dist/shell/systemPrompt.d.ts +3 -0
  309. package/dist/shell/systemPrompt.d.ts.map +1 -0
  310. package/dist/shell/systemPrompt.js +64 -0
  311. package/dist/shell/systemPrompt.js.map +1 -0
  312. package/dist/shell/updateManager.d.ts +2 -0
  313. package/dist/shell/updateManager.d.ts.map +1 -0
  314. package/dist/shell/updateManager.js +109 -0
  315. package/dist/shell/updateManager.js.map +1 -0
  316. package/dist/tools/bashTools.d.ts +8 -0
  317. package/dist/tools/bashTools.d.ts.map +1 -0
  318. package/dist/tools/bashTools.js +18 -15
  319. package/dist/tools/bashTools.js.map +1 -0
  320. package/dist/tools/codeAnalysisTools.d.ts +74 -0
  321. package/dist/tools/codeAnalysisTools.d.ts.map +1 -0
  322. package/dist/tools/codeAnalysisTools.js +642 -0
  323. package/dist/tools/codeAnalysisTools.js.map +1 -0
  324. package/dist/tools/codeGenerationTools.d.ts +3 -0
  325. package/dist/tools/codeGenerationTools.d.ts.map +1 -0
  326. package/dist/tools/codeGenerationTools.js +369 -0
  327. package/dist/tools/codeGenerationTools.js.map +1 -0
  328. package/dist/tools/codeQualityTools.d.ts +3 -0
  329. package/dist/tools/codeQualityTools.d.ts.map +1 -0
  330. package/dist/tools/codeQualityTools.js +295 -0
  331. package/dist/tools/codeQualityTools.js.map +1 -0
  332. package/dist/tools/dependencyTools.d.ts +3 -0
  333. package/dist/tools/dependencyTools.d.ts.map +1 -0
  334. package/dist/tools/dependencyTools.js +283 -0
  335. package/dist/tools/dependencyTools.js.map +1 -0
  336. package/dist/tools/devTools.d.ts +10 -0
  337. package/dist/tools/devTools.d.ts.map +1 -0
  338. package/dist/tools/devTools.js +239 -0
  339. package/dist/tools/devTools.js.map +1 -0
  340. package/dist/tools/diffUtils.d.ts +8 -0
  341. package/dist/tools/diffUtils.d.ts.map +1 -0
  342. package/dist/tools/diffUtils.js +2 -1
  343. package/dist/tools/diffUtils.js.map +1 -0
  344. package/dist/tools/fileTools.d.ts +3 -0
  345. package/dist/tools/fileTools.d.ts.map +1 -0
  346. package/dist/tools/fileTools.js +72 -21
  347. package/dist/tools/fileTools.js.map +1 -0
  348. package/dist/tools/refactoringTools.d.ts +3 -0
  349. package/dist/tools/refactoringTools.d.ts.map +1 -0
  350. package/dist/tools/refactoringTools.js +294 -0
  351. package/dist/tools/refactoringTools.js.map +1 -0
  352. package/dist/tools/repoChecksTools.d.ts +3 -0
  353. package/dist/tools/repoChecksTools.d.ts.map +1 -0
  354. package/dist/tools/repoChecksTools.js +161 -0
  355. package/dist/tools/repoChecksTools.js.map +1 -0
  356. package/dist/tools/searchTools.d.ts +3 -0
  357. package/dist/tools/searchTools.d.ts.map +1 -0
  358. package/dist/tools/searchTools.js +50 -22
  359. package/dist/tools/searchTools.js.map +1 -0
  360. package/dist/tools/testingTools.d.ts +3 -0
  361. package/dist/tools/testingTools.d.ts.map +1 -0
  362. package/dist/tools/testingTools.js +233 -0
  363. package/dist/tools/testingTools.js.map +1 -0
  364. package/dist/ui/ShellUIAdapter.d.ts +96 -0
  365. package/dist/ui/ShellUIAdapter.d.ts.map +1 -0
  366. package/dist/ui/ShellUIAdapter.js +442 -0
  367. package/dist/ui/ShellUIAdapter.js.map +1 -0
  368. package/dist/ui/UnifiedUIController.d.ts +196 -0
  369. package/dist/ui/UnifiedUIController.d.ts.map +1 -0
  370. package/dist/ui/UnifiedUIController.js +640 -0
  371. package/dist/ui/UnifiedUIController.js.map +1 -0
  372. package/dist/ui/animation/AnimationScheduler.d.ts +192 -0
  373. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
  374. package/dist/ui/animation/AnimationScheduler.js +432 -0
  375. package/dist/ui/animation/AnimationScheduler.js.map +1 -0
  376. package/dist/ui/codeHighlighter.d.ts +6 -0
  377. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  378. package/dist/ui/codeHighlighter.js +41 -29
  379. package/dist/ui/codeHighlighter.js.map +1 -0
  380. package/dist/ui/designSystem.d.ts +26 -0
  381. package/dist/ui/designSystem.d.ts.map +1 -0
  382. package/dist/ui/designSystem.js +17 -1
  383. package/dist/ui/designSystem.js.map +1 -0
  384. package/dist/ui/display.d.ts +160 -0
  385. package/dist/ui/display.d.ts.map +1 -0
  386. package/dist/ui/display.js +492 -231
  387. package/dist/ui/display.js.map +1 -0
  388. package/dist/ui/interrupts/InterruptManager.d.ts +142 -0
  389. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
  390. package/dist/ui/interrupts/InterruptManager.js +439 -0
  391. package/dist/ui/interrupts/InterruptManager.js.map +1 -0
  392. package/dist/ui/layout.d.ts +17 -0
  393. package/dist/ui/layout.d.ts.map +1 -0
  394. package/dist/ui/layout.js +12 -7
  395. package/dist/ui/layout.js.map +1 -0
  396. package/dist/ui/orchestration/StatusOrchestrator.d.ts +156 -0
  397. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +1 -0
  398. package/dist/ui/orchestration/StatusOrchestrator.js +405 -0
  399. package/dist/ui/orchestration/StatusOrchestrator.js.map +1 -0
  400. package/dist/ui/overlay/OverlayManager.d.ts +105 -0
  401. package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
  402. package/dist/ui/overlay/OverlayManager.js +291 -0
  403. package/dist/ui/overlay/OverlayManager.js.map +1 -0
  404. package/dist/ui/richText.d.ts +6 -0
  405. package/dist/ui/richText.d.ts.map +1 -0
  406. package/dist/ui/richText.js +13 -4
  407. package/dist/ui/richText.js.map +1 -0
  408. package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
  409. package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
  410. package/dist/ui/telemetry/UITelemetry.js +446 -0
  411. package/dist/ui/telemetry/UITelemetry.js.map +1 -0
  412. package/dist/ui/theme.d.ts +77 -0
  413. package/dist/ui/theme.d.ts.map +1 -0
  414. package/dist/ui/theme.js +19 -6
  415. package/dist/ui/theme.js.map +1 -0
  416. package/dist/utils/errorUtils.d.ts +16 -0
  417. package/dist/utils/errorUtils.d.ts.map +1 -0
  418. package/dist/utils/errorUtils.js +66 -0
  419. package/dist/utils/errorUtils.js.map +1 -0
  420. package/dist/utils/nodeVersion.d.ts +3 -0
  421. package/dist/utils/nodeVersion.d.ts.map +1 -0
  422. package/dist/utils/nodeVersion.js +51 -0
  423. package/dist/utils/nodeVersion.js.map +1 -0
  424. package/dist/workspace.d.ts +8 -0
  425. package/dist/workspace.d.ts.map +1 -0
  426. package/dist/workspace.js +72 -11
  427. package/dist/workspace.js.map +1 -0
  428. package/package.json +35 -16
  429. package/scripts/health-check.mjs +176 -0
  430. package/ARCHITECTURE.json +0 -157
  431. package/Agents.md +0 -207
  432. package/SOURCE_OF_TRUTH.json +0 -103
  433. package/dist/capabilities/tavilyCapability.js +0 -26
  434. package/dist/plugins/tools/tavily/tavilyPlugin.js +0 -16
  435. package/dist/shell/__tests__/bracketedPasteManager.test.js +0 -35
  436. package/dist/tools/tavilyTools.js +0 -176
  437. package/dist/ui/__tests__/richText.test.js +0 -36
@@ -0,0 +1,293 @@
1
+ {
2
+ "$schema": "./schemas/agent-schemas.schema.json",
3
+ "contractVersion": "1.0.0",
4
+ "version": "2024-11-24",
5
+ "label": "Erosolar CLI Agent Configuration Schema",
6
+ "description": "Centralized configuration for all agents, models, providers, and capabilities",
7
+
8
+ "providers": [
9
+ {
10
+ "id": "openai",
11
+ "label": "OpenAI",
12
+ "description": "OpenAI GPT models including GPT-5 series",
13
+ "envVars": {
14
+ "apiKey": "OPENAI_API_KEY"
15
+ },
16
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
17
+ },
18
+ {
19
+ "id": "anthropic",
20
+ "label": "Anthropic",
21
+ "description": "Anthropic Claude models including Sonnet, Opus, and Haiku",
22
+ "envVars": {
23
+ "apiKey": "ANTHROPIC_API_KEY"
24
+ },
25
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
26
+ },
27
+ {
28
+ "id": "deepseek",
29
+ "label": "DeepSeek",
30
+ "description": "DeepSeek reasoning and chat models",
31
+ "envVars": {
32
+ "apiKey": "DEEPSEEK_API_KEY"
33
+ },
34
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
35
+ },
36
+ {
37
+ "id": "xai",
38
+ "label": "xAI",
39
+ "description": "xAI Grok models for coding and reasoning",
40
+ "envVars": {
41
+ "apiKey": "XAI_API_KEY"
42
+ },
43
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
44
+ },
45
+ {
46
+ "id": "google",
47
+ "label": "Google",
48
+ "description": "Google Gemini models with multimodal capabilities",
49
+ "envVars": {
50
+ "apiKey": "GOOGLE_API_KEY"
51
+ },
52
+ "capabilities": ["chat", "reasoning", "tools", "streaming", "multimodal"]
53
+ }
54
+ ],
55
+
56
+ "models": [
57
+ {
58
+ "id": "gpt-5.1-codex",
59
+ "label": "gpt-5.1-codex",
60
+ "provider": "openai",
61
+ "description": "Optimized for Erosolar Code with the latest coding weights from OpenAI.",
62
+ "reasoningEffort": "medium",
63
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
64
+ },
65
+ {
66
+ "id": "gpt-5.1",
67
+ "label": "gpt-5.1",
68
+ "provider": "openai",
69
+ "description": "Balanced reasoning model when you need equal parts code and analysis.",
70
+ "reasoningEffort": "medium",
71
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
72
+ },
73
+ {
74
+ "id": "gpt-5-pro",
75
+ "label": "gpt-5-pro",
76
+ "provider": "openai",
77
+ "description": "OpenAI's flagship GPT-5 Pro for maximum depth and planning.",
78
+ "reasoningEffort": "medium",
79
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
80
+ },
81
+ {
82
+ "id": "gpt-5-mini",
83
+ "label": "gpt-5-mini",
84
+ "provider": "openai",
85
+ "description": "GPT-5 Mini with faster turnarounds while staying code-aware.",
86
+ "reasoningEffort": "medium",
87
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
88
+ },
89
+ {
90
+ "id": "gpt-5-nano",
91
+ "label": "gpt-5-nano",
92
+ "provider": "openai",
93
+ "description": "Ultra-responsive GPT-5 Nano tuned for edits and quick summaries.",
94
+ "reasoningEffort": "medium",
95
+ "capabilities": ["chat", "tools", "streaming"]
96
+ },
97
+ {
98
+ "id": "claude-sonnet-4-5-20250929",
99
+ "label": "sonnet-4.5",
100
+ "provider": "anthropic",
101
+ "description": "Anthropic Sonnet 4.5 tuned for deeper planning across large repositories.",
102
+ "temperature": 0.7,
103
+ "maxTokens": 4096,
104
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
105
+ },
106
+ {
107
+ "id": "claude-opus-4.1",
108
+ "label": "opus-4.1",
109
+ "provider": "anthropic",
110
+ "description": "Anthropic Opus 4.1 for the richest Claude reasoning runs.",
111
+ "temperature": 0.7,
112
+ "maxTokens": 4096,
113
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
114
+ },
115
+ {
116
+ "id": "claude-haiku-4.5",
117
+ "label": "haiku-4.5",
118
+ "provider": "anthropic",
119
+ "description": "Anthropic Haiku 4.5 focused on latency-sensitive workflows.",
120
+ "temperature": 0.5,
121
+ "maxTokens": 4096,
122
+ "capabilities": ["chat", "tools", "streaming"]
123
+ },
124
+ {
125
+ "id": "deepseek-reasoner",
126
+ "label": "deepseek-reasoner",
127
+ "provider": "deepseek",
128
+ "description": "DeepSeek Reasoner for chain-of-thought exploration with tool depth.",
129
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
130
+ },
131
+ {
132
+ "id": "deepseek-chat",
133
+ "label": "deepseek-chat",
134
+ "provider": "deepseek",
135
+ "description": "DeepSeek Chat for faster interactive editing and summarization.",
136
+ "capabilities": ["chat", "tools", "streaming"]
137
+ },
138
+ {
139
+ "id": "grok-4",
140
+ "label": "grok-4",
141
+ "provider": "xai",
142
+ "description": "xAI Grok-4 for their highest quality coding and reasoning responses.",
143
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
144
+ },
145
+ {
146
+ "id": "grok-4-fast-reasoning",
147
+ "label": "grok-4-fast-reasoning",
148
+ "provider": "xai",
149
+ "description": "Grok-4 fast reasoning mode when you need lower latency with thinking enabled.",
150
+ "capabilities": ["chat", "reasoning", "tools", "streaming"]
151
+ },
152
+ {
153
+ "id": "grok-4-fast-non-reasoning",
154
+ "label": "grok-4-fast-non-reasoning",
155
+ "provider": "xai",
156
+ "description": "Grok-4 fast non reasoning variant for concise edits and summaries.",
157
+ "capabilities": ["chat", "tools", "streaming"]
158
+ },
159
+ {
160
+ "id": "grok-code-fast-1",
161
+ "label": "grok-code-fast-1",
162
+ "provider": "xai",
163
+ "description": "xAI Grok Code Fast 1 tuned specifically for rapid coding assistance.",
164
+ "capabilities": ["chat", "tools", "streaming"]
165
+ },
166
+ {
167
+ "id": "gemini-2.5-pro",
168
+ "label": "gemini-2.5-pro",
169
+ "provider": "google",
170
+ "description": "Google Gemini 2.5 Pro for multimodal deep reasoning with longer outputs.",
171
+ "capabilities": ["chat", "reasoning", "tools", "streaming", "multimodal"]
172
+ },
173
+ {
174
+ "id": "gemini-2.5-flash",
175
+ "label": "gemini-2.5-flash",
176
+ "provider": "google",
177
+ "description": "Google Gemini 2.5 Flash for lower-latency edits and iterative coding.",
178
+ "capabilities": ["chat", "tools", "streaming", "multimodal"]
179
+ }
180
+ ],
181
+
182
+ "profiles": [
183
+ {
184
+ "name": "general",
185
+ "label": "Erosolar",
186
+ "description": "General-purpose operator with balanced reasoning across research, planning, writing, and coding tasks.",
187
+ "defaultProvider": "openai",
188
+ "defaultModel": "gpt-5.1",
189
+ "temperature": 0.2,
190
+ "systemPrompt": {
191
+ "type": "rulebook",
192
+ "template": "{{rulebook}}"
193
+ },
194
+ "rulebook": {
195
+ "file": "agents/general.rules.json",
196
+ "version": "2024-11-24",
197
+ "contractVersion": "1.0.0",
198
+ "description": "Structured rules governing the balanced Erosolar profile."
199
+ },
200
+ "metadata": {
201
+ "primaryUseCase": "general-purpose",
202
+ "tags": ["balanced", "research", "planning", "coding"]
203
+ }
204
+ },
205
+ {
206
+ "name": "erosolar-code",
207
+ "label": "Erosolar Code",
208
+ "description": "OpenAI-tuned coding specialist optimized for rapid edits with deterministic grounding.",
209
+ "defaultProvider": "openai",
210
+ "defaultModel": "gpt-5.1-codex",
211
+ "systemPrompt": {
212
+ "type": "rulebook"
213
+ },
214
+ "rulebook": {
215
+ "file": "agents/erosolar-code.rules.json",
216
+ "version": "2024-11-24",
217
+ "contractVersion": "1.0.0",
218
+ "description": "Deterministic coding workflow guardrails."
219
+ },
220
+ "metadata": {
221
+ "primaryUseCase": "coding",
222
+ "tags": ["coding", "deterministic", "rapid-edits"]
223
+ }
224
+ }
225
+ ],
226
+
227
+ "slashCommands": [
228
+ {
229
+ "command": "/model",
230
+ "description": "Choose what model to use",
231
+ "category": "configuration"
232
+ },
233
+ {
234
+ "command": "/secrets",
235
+ "description": "Configure API keys",
236
+ "category": "configuration"
237
+ },
238
+ {
239
+ "command": "/tools",
240
+ "description": "Enable or disable CLI tools",
241
+ "category": "configuration"
242
+ },
243
+ {
244
+ "command": "/doctor",
245
+ "description": "Check environment, secrets, and tool readiness",
246
+ "category": "diagnostics"
247
+ },
248
+ {
249
+ "command": "/checks",
250
+ "description": "Run repo checks (npm test / npm run build / npm run lint)",
251
+ "category": "diagnostics"
252
+ },
253
+ {
254
+ "command": "/context",
255
+ "description": "Refresh workspace snapshot (depth/excerpt overrides)",
256
+ "category": "workspace"
257
+ }
258
+ ],
259
+
260
+ "capabilities": [
261
+ {
262
+ "id": "chat",
263
+ "label": "Chat",
264
+ "description": "Basic conversational capabilities"
265
+ },
266
+ {
267
+ "id": "reasoning",
268
+ "label": "Reasoning",
269
+ "description": "Extended chain-of-thought reasoning capabilities"
270
+ },
271
+ {
272
+ "id": "tools",
273
+ "label": "Tool Use",
274
+ "description": "Ability to call external tools and functions"
275
+ },
276
+ {
277
+ "id": "streaming",
278
+ "label": "Streaming",
279
+ "description": "Support for streaming responses"
280
+ },
281
+ {
282
+ "id": "multimodal",
283
+ "label": "Multimodal",
284
+ "description": "Support for images and other non-text inputs"
285
+ }
286
+ ],
287
+
288
+ "metadata": {
289
+ "schemaVersion": "1.0.0",
290
+ "lastUpdated": "2024-11-24",
291
+ "description": "This is the single source of truth for all agent configurations in the Erosolar CLI"
292
+ }
293
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Agent Profile Manifest v1.0",
4
+ "description": "Schema describing agent profiles, their default providers/models, and how system prompts are constructed.",
5
+ "type": "object",
6
+ "required": ["contractVersion", "version", "profiles"],
7
+ "properties": {
8
+ "contractVersion": {
9
+ "type": "string",
10
+ "description": "Version of the profile manifest contract the payload implements."
11
+ },
12
+ "version": {
13
+ "type": "string",
14
+ "description": "Semantic or date-based version identifier for the manifest."
15
+ },
16
+ "label": {
17
+ "type": "string",
18
+ "description": "Optional display label for the manifest."
19
+ },
20
+ "description": {
21
+ "type": "string",
22
+ "description": "Optional description for operators."
23
+ },
24
+ "profiles": {
25
+ "type": "array",
26
+ "minItems": 1,
27
+ "items": {
28
+ "$ref": "#/definitions/ProfileEntry"
29
+ }
30
+ },
31
+ "metadata": {
32
+ "type": "object",
33
+ "description": "Implementation specific metadata."
34
+ }
35
+ },
36
+ "definitions": {
37
+ "ProfileEntry": {
38
+ "type": "object",
39
+ "required": ["name", "label", "defaultProvider", "defaultModel", "systemPrompt", "rulebook"],
40
+ "properties": {
41
+ "name": {
42
+ "type": "string",
43
+ "description": "Stable identifier for the agent profile."
44
+ },
45
+ "label": {
46
+ "type": "string",
47
+ "description": "Human readable profile label."
48
+ },
49
+ "description": {
50
+ "type": "string",
51
+ "description": "Optional description rendered in UIs."
52
+ },
53
+ "defaultProvider": {
54
+ "type": "string",
55
+ "description": "Provider identifier the profile defaults to."
56
+ },
57
+ "defaultModel": {
58
+ "type": "string",
59
+ "description": "Default model identifier for the profile."
60
+ },
61
+ "temperature": {
62
+ "type": "number",
63
+ "description": "Optional default temperature."
64
+ },
65
+ "maxTokens": {
66
+ "type": "integer",
67
+ "minimum": 1,
68
+ "description": "Optional default max token count."
69
+ },
70
+ "systemPrompt": {
71
+ "$ref": "#/definitions/PromptConfig"
72
+ },
73
+ "rulebook": {
74
+ "$ref": "#/definitions/RulebookReference"
75
+ },
76
+ "metadata": {
77
+ "type": "object",
78
+ "description": "Implementation specific metadata."
79
+ }
80
+ },
81
+ "additionalProperties": false
82
+ },
83
+ "PromptConfig": {
84
+ "oneOf": [
85
+ {
86
+ "$ref": "#/definitions/RulebookPromptConfig"
87
+ },
88
+ {
89
+ "$ref": "#/definitions/LiteralPromptConfig"
90
+ }
91
+ ]
92
+ },
93
+ "RulebookPromptConfig": {
94
+ "type": "object",
95
+ "required": ["type"],
96
+ "properties": {
97
+ "type": {
98
+ "const": "rulebook"
99
+ },
100
+ "template": {
101
+ "type": "string",
102
+ "description": "Optional template with placeholders like {{rulebook}}."
103
+ },
104
+ "metadata": {
105
+ "type": "object",
106
+ "description": "Implementation specific metadata."
107
+ }
108
+ },
109
+ "additionalProperties": false
110
+ },
111
+ "LiteralPromptConfig": {
112
+ "type": "object",
113
+ "required": ["type", "content"],
114
+ "properties": {
115
+ "type": {
116
+ "const": "literal"
117
+ },
118
+ "content": {
119
+ "type": "string",
120
+ "description": "Static system prompt to use verbatim."
121
+ },
122
+ "metadata": {
123
+ "type": "object",
124
+ "description": "Implementation specific metadata."
125
+ }
126
+ },
127
+ "additionalProperties": false
128
+ },
129
+ "RulebookReference": {
130
+ "type": "object",
131
+ "required": ["file"],
132
+ "properties": {
133
+ "file": {
134
+ "type": "string",
135
+ "description": "Relative path to the rulebook JSON file."
136
+ },
137
+ "version": {
138
+ "type": "string",
139
+ "description": "Optional human readable version of the rulebook."
140
+ },
141
+ "contractVersion": {
142
+ "type": "string",
143
+ "description": "Optional contract version for the referenced rulebook."
144
+ },
145
+ "description": {
146
+ "type": "string",
147
+ "description": "Summary of what the rulebook enforces."
148
+ },
149
+ "metadata": {
150
+ "type": "object",
151
+ "description": "Implementation specific metadata."
152
+ }
153
+ },
154
+ "additionalProperties": false
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,238 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Agent Ruleset Contract v1.0",
4
+ "description": "Schema describing the ordered phases, steps, and rules that govern agent execution.",
5
+ "type": "object",
6
+ "required": ["contractVersion", "profile", "version", "phases"],
7
+ "properties": {
8
+ "contractVersion": {
9
+ "type": "string",
10
+ "description": "Version of the agent rules contract the payload adheres to."
11
+ },
12
+ "profile": {
13
+ "type": "string",
14
+ "description": "Profile identifier the ruleset targets (e.g., general, erosolar-code)."
15
+ },
16
+ "version": {
17
+ "type": "string",
18
+ "description": "Semantic or date-based version of the ruleset."
19
+ },
20
+ "label": {
21
+ "type": "string",
22
+ "description": "Optional human readable name for the ruleset."
23
+ },
24
+ "description": {
25
+ "type": "string",
26
+ "description": "Optional long form description for the ruleset."
27
+ },
28
+ "globalPrinciples": {
29
+ "type": "array",
30
+ "description": "Rules that apply to every phase and step.",
31
+ "items": {
32
+ "$ref": "#/definitions/Rule"
33
+ }
34
+ },
35
+ "phases": {
36
+ "type": "array",
37
+ "minItems": 1,
38
+ "items": {
39
+ "$ref": "#/definitions/Phase"
40
+ },
41
+ "description": "Ordered phases the agent should move through."
42
+ },
43
+ "metadata": {
44
+ "type": "object",
45
+ "description": "Optional implementation specific metadata."
46
+ }
47
+ },
48
+ "definitions": {
49
+ "Phase": {
50
+ "type": "object",
51
+ "required": ["id", "label", "steps"],
52
+ "properties": {
53
+ "id": {
54
+ "type": "string",
55
+ "description": "Stable identifier for the phase."
56
+ },
57
+ "label": {
58
+ "type": "string",
59
+ "description": "Display name for operators."
60
+ },
61
+ "description": {
62
+ "type": "string",
63
+ "description": "What the phase accomplishes."
64
+ },
65
+ "trigger": {
66
+ "type": "string",
67
+ "description": "Events or conditions that start the phase."
68
+ },
69
+ "steps": {
70
+ "type": "array",
71
+ "minItems": 1,
72
+ "items": {
73
+ "$ref": "#/definitions/Step"
74
+ },
75
+ "description": "Steps within the phase."
76
+ },
77
+ "metadata": {
78
+ "type": "object",
79
+ "description": "Additional data used by tooling."
80
+ }
81
+ }
82
+ },
83
+ "Step": {
84
+ "type": "object",
85
+ "required": ["id", "title", "rules"],
86
+ "properties": {
87
+ "id": {
88
+ "type": "string",
89
+ "description": "Stable identifier for the step."
90
+ },
91
+ "title": {
92
+ "type": "string",
93
+ "description": "Name of the step."
94
+ },
95
+ "description": {
96
+ "type": "string",
97
+ "description": "High-level summary of the step."
98
+ },
99
+ "intent": {
100
+ "type": "string",
101
+ "description": "Goal the agent should accomplish."
102
+ },
103
+ "entryCriteria": {
104
+ "type": "array",
105
+ "description": "Conditions that must be true before the step begins.",
106
+ "items": {
107
+ "type": "string"
108
+ }
109
+ },
110
+ "exitCriteria": {
111
+ "type": "array",
112
+ "description": "Conditions that must be satisfied before leaving the step.",
113
+ "items": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "allowedTools": {
118
+ "type": "array",
119
+ "description": "Tool IDs explicitly allowed during the step.",
120
+ "items": {
121
+ "type": "string"
122
+ },
123
+ "uniqueItems": true
124
+ },
125
+ "blockedTools": {
126
+ "type": "array",
127
+ "description": "Tool IDs that are prohibited while inside the step.",
128
+ "items": {
129
+ "type": "string"
130
+ },
131
+ "uniqueItems": true
132
+ },
133
+ "notes": {
134
+ "type": "array",
135
+ "description": "Free-form operator notes for the step.",
136
+ "items": {
137
+ "type": "string"
138
+ }
139
+ },
140
+ "rules": {
141
+ "type": "array",
142
+ "minItems": 1,
143
+ "items": {
144
+ "$ref": "#/definitions/Rule"
145
+ },
146
+ "description": "Rules that must be followed while executing the step."
147
+ },
148
+ "subSteps": {
149
+ "type": "array",
150
+ "description": "Nested sub-steps that inherit context from the parent.",
151
+ "items": {
152
+ "$ref": "#/definitions/Step"
153
+ }
154
+ },
155
+ "metadata": {
156
+ "type": "object",
157
+ "description": "Implementation specific details."
158
+ }
159
+ }
160
+ },
161
+ "Rule": {
162
+ "type": "object",
163
+ "required": ["id", "summary", "severity"],
164
+ "properties": {
165
+ "id": {
166
+ "type": "string",
167
+ "description": "Stable identifier for the rule."
168
+ },
169
+ "summary": {
170
+ "type": "string",
171
+ "description": "Short instruction that must be enforced."
172
+ },
173
+ "detail": {
174
+ "type": "string",
175
+ "description": "Extended rationale or clarification."
176
+ },
177
+ "severity": {
178
+ "type": "string",
179
+ "enum": ["critical", "required", "recommended"],
180
+ "description": "How strictly the rule must be enforced."
181
+ },
182
+ "appliesDuring": {
183
+ "type": "array",
184
+ "description": "Optional labels describing where the rule applies (analysis, planning, edits, etc.).",
185
+ "items": {
186
+ "type": "string"
187
+ }
188
+ },
189
+ "evidenceRequired": {
190
+ "type": "string",
191
+ "description": "Evidence the agent must cite when reporting compliance."
192
+ },
193
+ "references": {
194
+ "type": "array",
195
+ "description": "Supporting documentation for the rule.",
196
+ "items": {
197
+ "$ref": "#/definitions/Reference"
198
+ }
199
+ },
200
+ "toolHints": {
201
+ "type": "array",
202
+ "description": "Suggested tools for satisfying the rule.",
203
+ "items": {
204
+ "type": "string"
205
+ }
206
+ },
207
+ "metadata": {
208
+ "type": "object",
209
+ "description": "Implementation specific metadata."
210
+ }
211
+ }
212
+ },
213
+ "Reference": {
214
+ "type": "object",
215
+ "required": ["label"],
216
+ "properties": {
217
+ "label": {
218
+ "type": "string",
219
+ "description": "Human readable name for the reference."
220
+ },
221
+ "url": {
222
+ "type": "string",
223
+ "format": "uri",
224
+ "description": "Optional link to supporting documentation."
225
+ },
226
+ "file": {
227
+ "type": "string",
228
+ "description": "Workspace relative file reference."
229
+ },
230
+ "line": {
231
+ "type": "integer",
232
+ "minimum": 1,
233
+ "description": "Line number in the referenced file."
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }