@trenchwork/erosolar 1.1.40

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 (600) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/agents/erosolar-code.rules.json +199 -0
  4. package/dist/bin/cliMode.d.ts +8 -0
  5. package/dist/bin/cliMode.d.ts.map +1 -0
  6. package/dist/bin/cliMode.js +20 -0
  7. package/dist/bin/cliMode.js.map +1 -0
  8. package/dist/bin/deepseek.d.ts +3 -0
  9. package/dist/bin/deepseek.d.ts.map +1 -0
  10. package/dist/bin/deepseek.js +203 -0
  11. package/dist/bin/deepseek.js.map +1 -0
  12. package/dist/bin/erosolar.d.ts +7 -0
  13. package/dist/bin/erosolar.d.ts.map +1 -0
  14. package/dist/bin/erosolar.js +7 -0
  15. package/dist/bin/erosolar.js.map +1 -0
  16. package/dist/bin/selfTest.d.ts +14 -0
  17. package/dist/bin/selfTest.d.ts.map +1 -0
  18. package/dist/bin/selfTest.js +298 -0
  19. package/dist/bin/selfTest.js.map +1 -0
  20. package/dist/capabilities/baseCapability.d.ts +72 -0
  21. package/dist/capabilities/baseCapability.d.ts.map +1 -0
  22. package/dist/capabilities/baseCapability.js +183 -0
  23. package/dist/capabilities/baseCapability.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 +24 -0
  27. package/dist/capabilities/bashCapability.js.map +1 -0
  28. package/dist/capabilities/editCapability.d.ts +17 -0
  29. package/dist/capabilities/editCapability.d.ts.map +1 -0
  30. package/dist/capabilities/editCapability.js +27 -0
  31. package/dist/capabilities/editCapability.js.map +1 -0
  32. package/dist/capabilities/enhancedGitCapability.d.ts +7 -0
  33. package/dist/capabilities/enhancedGitCapability.d.ts.map +1 -0
  34. package/dist/capabilities/enhancedGitCapability.js +220 -0
  35. package/dist/capabilities/enhancedGitCapability.js.map +1 -0
  36. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  37. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  38. package/dist/capabilities/filesystemCapability.js +24 -0
  39. package/dist/capabilities/filesystemCapability.js.map +1 -0
  40. package/dist/capabilities/gitHistoryCapability.d.ts +6 -0
  41. package/dist/capabilities/gitHistoryCapability.d.ts.map +1 -0
  42. package/dist/capabilities/gitHistoryCapability.js +184 -0
  43. package/dist/capabilities/gitHistoryCapability.js.map +1 -0
  44. package/dist/capabilities/hitlCapability.d.ts +18 -0
  45. package/dist/capabilities/hitlCapability.d.ts.map +1 -0
  46. package/dist/capabilities/hitlCapability.js +29 -0
  47. package/dist/capabilities/hitlCapability.js.map +1 -0
  48. package/dist/capabilities/index.d.ts +11 -0
  49. package/dist/capabilities/index.d.ts.map +1 -0
  50. package/dist/capabilities/index.js +16 -0
  51. package/dist/capabilities/index.js.map +1 -0
  52. package/dist/capabilities/memoryCapability.d.ts +10 -0
  53. package/dist/capabilities/memoryCapability.d.ts.map +1 -0
  54. package/dist/capabilities/memoryCapability.js +22 -0
  55. package/dist/capabilities/memoryCapability.js.map +1 -0
  56. package/dist/capabilities/notebookCapability.d.ts +6 -0
  57. package/dist/capabilities/notebookCapability.d.ts.map +1 -0
  58. package/dist/capabilities/notebookCapability.js +17 -0
  59. package/dist/capabilities/notebookCapability.js.map +1 -0
  60. package/dist/capabilities/searchCapability.d.ts +19 -0
  61. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  62. package/dist/capabilities/searchCapability.js +29 -0
  63. package/dist/capabilities/searchCapability.js.map +1 -0
  64. package/dist/capabilities/skillCapability.d.ts +6 -0
  65. package/dist/capabilities/skillCapability.d.ts.map +1 -0
  66. package/dist/capabilities/skillCapability.js +17 -0
  67. package/dist/capabilities/skillCapability.js.map +1 -0
  68. package/dist/capabilities/todoCapability.d.ts +11 -0
  69. package/dist/capabilities/todoCapability.d.ts.map +1 -0
  70. package/dist/capabilities/todoCapability.js +22 -0
  71. package/dist/capabilities/todoCapability.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 +163 -0
  75. package/dist/capabilities/toolManifest.js.map +1 -0
  76. package/dist/capabilities/toolRegistry.d.ts +25 -0
  77. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  78. package/dist/capabilities/toolRegistry.js +150 -0
  79. package/dist/capabilities/toolRegistry.js.map +1 -0
  80. package/dist/capabilities/unifiedCodingCapability.d.ts +62 -0
  81. package/dist/capabilities/unifiedCodingCapability.d.ts.map +1 -0
  82. package/dist/capabilities/unifiedCodingCapability.js +790 -0
  83. package/dist/capabilities/unifiedCodingCapability.js.map +1 -0
  84. package/dist/capabilities/webCapability.d.ts +23 -0
  85. package/dist/capabilities/webCapability.d.ts.map +1 -0
  86. package/dist/capabilities/webCapability.js +33 -0
  87. package/dist/capabilities/webCapability.js.map +1 -0
  88. package/dist/config.d.ts +25 -0
  89. package/dist/config.d.ts.map +1 -0
  90. package/dist/config.js +184 -0
  91. package/dist/config.js.map +1 -0
  92. package/dist/contracts/agent-profiles.schema.json +43 -0
  93. package/dist/contracts/agent-schemas.json +470 -0
  94. package/dist/contracts/models.schema.json +9 -0
  95. package/dist/contracts/module-schema.json +367 -0
  96. package/dist/contracts/schemas/agent-profile.schema.json +157 -0
  97. package/dist/contracts/schemas/agent-rules.schema.json +238 -0
  98. package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
  99. package/dist/contracts/schemas/agent.schema.json +90 -0
  100. package/dist/contracts/schemas/tool-selection.schema.json +174 -0
  101. package/dist/contracts/tools.schema.json +42 -0
  102. package/dist/contracts/unified-schema.json +660 -0
  103. package/dist/contracts/v1/agent.d.ts +179 -0
  104. package/dist/contracts/v1/agent.d.ts.map +1 -0
  105. package/dist/contracts/v1/agent.js +8 -0
  106. package/dist/contracts/v1/agent.js.map +1 -0
  107. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  108. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  109. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  110. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  111. package/dist/contracts/v1/agentRules.d.ts +60 -0
  112. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  113. package/dist/contracts/v1/agentRules.js +10 -0
  114. package/dist/contracts/v1/agentRules.js.map +1 -0
  115. package/dist/contracts/v1/provider.d.ts +149 -0
  116. package/dist/contracts/v1/provider.d.ts.map +1 -0
  117. package/dist/contracts/v1/provider.js +7 -0
  118. package/dist/contracts/v1/provider.js.map +1 -0
  119. package/dist/contracts/v1/tool.d.ts +136 -0
  120. package/dist/contracts/v1/tool.d.ts.map +1 -0
  121. package/dist/contracts/v1/tool.js +7 -0
  122. package/dist/contracts/v1/tool.js.map +1 -0
  123. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  124. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  125. package/dist/contracts/v1/toolAccess.js +9 -0
  126. package/dist/contracts/v1/toolAccess.js.map +1 -0
  127. package/dist/core/adversarial.d.ts +38 -0
  128. package/dist/core/adversarial.d.ts.map +1 -0
  129. package/dist/core/adversarial.js +106 -0
  130. package/dist/core/adversarial.js.map +1 -0
  131. package/dist/core/agent.d.ts +329 -0
  132. package/dist/core/agent.d.ts.map +1 -0
  133. package/dist/core/agent.js +1668 -0
  134. package/dist/core/agent.js.map +1 -0
  135. package/dist/core/agentProfileManifest.d.ts +3 -0
  136. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  137. package/dist/core/agentProfileManifest.js +188 -0
  138. package/dist/core/agentProfileManifest.js.map +1 -0
  139. package/dist/core/agentProfiles.d.ts +22 -0
  140. package/dist/core/agentProfiles.d.ts.map +1 -0
  141. package/dist/core/agentProfiles.js +35 -0
  142. package/dist/core/agentProfiles.js.map +1 -0
  143. package/dist/core/agentRegistry.d.ts +111 -0
  144. package/dist/core/agentRegistry.d.ts.map +1 -0
  145. package/dist/core/agentRegistry.js +229 -0
  146. package/dist/core/agentRegistry.js.map +1 -0
  147. package/dist/core/agentRulebook.d.ts +11 -0
  148. package/dist/core/agentRulebook.d.ts.map +1 -0
  149. package/dist/core/agentRulebook.js +136 -0
  150. package/dist/core/agentRulebook.js.map +1 -0
  151. package/dist/core/agentSchemaLoader.d.ts +131 -0
  152. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  153. package/dist/core/agentSchemaLoader.js +235 -0
  154. package/dist/core/agentSchemaLoader.js.map +1 -0
  155. package/dist/core/aiErrorFixer.d.ts +57 -0
  156. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  157. package/dist/core/aiErrorFixer.js +214 -0
  158. package/dist/core/aiErrorFixer.js.map +1 -0
  159. package/dist/core/bashCommandGuidance.d.ts +16 -0
  160. package/dist/core/bashCommandGuidance.d.ts.map +1 -0
  161. package/dist/core/bashCommandGuidance.js +40 -0
  162. package/dist/core/bashCommandGuidance.js.map +1 -0
  163. package/dist/core/constants.d.ts +31 -0
  164. package/dist/core/constants.d.ts.map +1 -0
  165. package/dist/core/constants.js +62 -0
  166. package/dist/core/constants.js.map +1 -0
  167. package/dist/core/contextManager.d.ts +271 -0
  168. package/dist/core/contextManager.d.ts.map +1 -0
  169. package/dist/core/contextManager.js +1073 -0
  170. package/dist/core/contextManager.js.map +1 -0
  171. package/dist/core/contextWindow.d.ts +42 -0
  172. package/dist/core/contextWindow.d.ts.map +1 -0
  173. package/dist/core/contextWindow.js +123 -0
  174. package/dist/core/contextWindow.js.map +1 -0
  175. package/dist/core/customCommands.d.ts +19 -0
  176. package/dist/core/customCommands.d.ts.map +1 -0
  177. package/dist/core/customCommands.js +85 -0
  178. package/dist/core/customCommands.js.map +1 -0
  179. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  180. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  181. package/dist/core/errors/apiKeyErrors.js +159 -0
  182. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  183. package/dist/core/errors/errorTypes.d.ts +111 -0
  184. package/dist/core/errors/errorTypes.d.ts.map +1 -0
  185. package/dist/core/errors/errorTypes.js +345 -0
  186. package/dist/core/errors/errorTypes.js.map +1 -0
  187. package/dist/core/errors/index.d.ts +50 -0
  188. package/dist/core/errors/index.d.ts.map +1 -0
  189. package/dist/core/errors/index.js +156 -0
  190. package/dist/core/errors/index.js.map +1 -0
  191. package/dist/core/errors/networkErrors.d.ts +14 -0
  192. package/dist/core/errors/networkErrors.d.ts.map +1 -0
  193. package/dist/core/errors/networkErrors.js +53 -0
  194. package/dist/core/errors/networkErrors.js.map +1 -0
  195. package/dist/core/errors/safetyValidator.d.ts +109 -0
  196. package/dist/core/errors/safetyValidator.d.ts.map +1 -0
  197. package/dist/core/errors/safetyValidator.js +272 -0
  198. package/dist/core/errors/safetyValidator.js.map +1 -0
  199. package/dist/core/errors.d.ts +4 -0
  200. package/dist/core/errors.d.ts.map +1 -0
  201. package/dist/core/errors.js +33 -0
  202. package/dist/core/errors.js.map +1 -0
  203. package/dist/core/finalResponseFormatter.d.ts +10 -0
  204. package/dist/core/finalResponseFormatter.d.ts.map +1 -0
  205. package/dist/core/finalResponseFormatter.js +14 -0
  206. package/dist/core/finalResponseFormatter.js.map +1 -0
  207. package/dist/core/guardrails.d.ts +146 -0
  208. package/dist/core/guardrails.d.ts.map +1 -0
  209. package/dist/core/guardrails.js +361 -0
  210. package/dist/core/guardrails.js.map +1 -0
  211. package/dist/core/hitl.d.ts +119 -0
  212. package/dist/core/hitl.d.ts.map +1 -0
  213. package/dist/core/hitl.js +387 -0
  214. package/dist/core/hitl.js.map +1 -0
  215. package/dist/core/hooks.d.ts +95 -0
  216. package/dist/core/hooks.d.ts.map +1 -0
  217. package/dist/core/hooks.js +236 -0
  218. package/dist/core/hooks.js.map +1 -0
  219. package/dist/core/index.d.ts +7 -0
  220. package/dist/core/index.d.ts.map +1 -0
  221. package/dist/core/index.js +7 -0
  222. package/dist/core/index.js.map +1 -0
  223. package/dist/core/inputProtection.d.ts +122 -0
  224. package/dist/core/inputProtection.d.ts.map +1 -0
  225. package/dist/core/inputProtection.js +422 -0
  226. package/dist/core/inputProtection.js.map +1 -0
  227. package/dist/core/modelDiscovery.d.ts +105 -0
  228. package/dist/core/modelDiscovery.d.ts.map +1 -0
  229. package/dist/core/modelDiscovery.js +768 -0
  230. package/dist/core/modelDiscovery.js.map +1 -0
  231. package/dist/core/multilinePasteHandler.d.ts +35 -0
  232. package/dist/core/multilinePasteHandler.d.ts.map +1 -0
  233. package/dist/core/multilinePasteHandler.js +81 -0
  234. package/dist/core/multilinePasteHandler.js.map +1 -0
  235. package/dist/core/preferences.d.ts +67 -0
  236. package/dist/core/preferences.d.ts.map +1 -0
  237. package/dist/core/preferences.js +315 -0
  238. package/dist/core/preferences.js.map +1 -0
  239. package/dist/core/providerKeys.d.ts +20 -0
  240. package/dist/core/providerKeys.d.ts.map +1 -0
  241. package/dist/core/providerKeys.js +40 -0
  242. package/dist/core/providerKeys.js.map +1 -0
  243. package/dist/core/refusalDetection.d.ts +2 -0
  244. package/dist/core/refusalDetection.d.ts.map +1 -0
  245. package/dist/core/refusalDetection.js +51 -0
  246. package/dist/core/refusalDetection.js.map +1 -0
  247. package/dist/core/resultVerification.d.ts +47 -0
  248. package/dist/core/resultVerification.d.ts.map +1 -0
  249. package/dist/core/resultVerification.js +126 -0
  250. package/dist/core/resultVerification.js.map +1 -0
  251. package/dist/core/schemaValidator.d.ts +49 -0
  252. package/dist/core/schemaValidator.d.ts.map +1 -0
  253. package/dist/core/schemaValidator.js +234 -0
  254. package/dist/core/schemaValidator.js.map +1 -0
  255. package/dist/core/secretStore.d.ts +48 -0
  256. package/dist/core/secretStore.d.ts.map +1 -0
  257. package/dist/core/secretStore.js +266 -0
  258. package/dist/core/secretStore.js.map +1 -0
  259. package/dist/core/sessionStorage.d.ts +10 -0
  260. package/dist/core/sessionStorage.d.ts.map +1 -0
  261. package/dist/core/sessionStorage.js +46 -0
  262. package/dist/core/sessionStorage.js.map +1 -0
  263. package/dist/core/sessionStore.d.ts +35 -0
  264. package/dist/core/sessionStore.d.ts.map +1 -0
  265. package/dist/core/sessionStore.js +191 -0
  266. package/dist/core/sessionStore.js.map +1 -0
  267. package/dist/core/shutdown.d.ts +34 -0
  268. package/dist/core/shutdown.d.ts.map +1 -0
  269. package/dist/core/shutdown.js +186 -0
  270. package/dist/core/shutdown.js.map +1 -0
  271. package/dist/core/sudoPasswordManager.d.ts +52 -0
  272. package/dist/core/sudoPasswordManager.d.ts.map +1 -0
  273. package/dist/core/sudoPasswordManager.js +115 -0
  274. package/dist/core/sudoPasswordManager.js.map +1 -0
  275. package/dist/core/taskCompletionDetector.d.ts +117 -0
  276. package/dist/core/taskCompletionDetector.d.ts.map +1 -0
  277. package/dist/core/taskCompletionDetector.js +532 -0
  278. package/dist/core/taskCompletionDetector.js.map +1 -0
  279. package/dist/core/testFailureMonitor.d.ts +67 -0
  280. package/dist/core/testFailureMonitor.d.ts.map +1 -0
  281. package/dist/core/testFailureMonitor.js +262 -0
  282. package/dist/core/testFailureMonitor.js.map +1 -0
  283. package/dist/core/toolPreconditions.d.ts +34 -0
  284. package/dist/core/toolPreconditions.d.ts.map +1 -0
  285. package/dist/core/toolPreconditions.js +242 -0
  286. package/dist/core/toolPreconditions.js.map +1 -0
  287. package/dist/core/toolRuntime.d.ts +192 -0
  288. package/dist/core/toolRuntime.d.ts.map +1 -0
  289. package/dist/core/toolRuntime.js +477 -0
  290. package/dist/core/toolRuntime.js.map +1 -0
  291. package/dist/core/types/utilityTypes.d.ts +183 -0
  292. package/dist/core/types/utilityTypes.d.ts.map +1 -0
  293. package/dist/core/types/utilityTypes.js +273 -0
  294. package/dist/core/types/utilityTypes.js.map +1 -0
  295. package/dist/core/types.d.ts +334 -0
  296. package/dist/core/types.d.ts.map +1 -0
  297. package/dist/core/types.js +76 -0
  298. package/dist/core/types.js.map +1 -0
  299. package/dist/core/updateChecker.d.ts +148 -0
  300. package/dist/core/updateChecker.d.ts.map +1 -0
  301. package/dist/core/updateChecker.js +599 -0
  302. package/dist/core/updateChecker.js.map +1 -0
  303. package/dist/headless/interactiveShell.d.ts +39 -0
  304. package/dist/headless/interactiveShell.d.ts.map +1 -0
  305. package/dist/headless/interactiveShell.js +2052 -0
  306. package/dist/headless/interactiveShell.js.map +1 -0
  307. package/dist/headless/printMode.d.ts +17 -0
  308. package/dist/headless/printMode.d.ts.map +1 -0
  309. package/dist/headless/printMode.js +40 -0
  310. package/dist/headless/printMode.js.map +1 -0
  311. package/dist/leanAgent.d.ts +73 -0
  312. package/dist/leanAgent.d.ts.map +1 -0
  313. package/dist/leanAgent.js +177 -0
  314. package/dist/leanAgent.js.map +1 -0
  315. package/dist/plugins/index.d.ts +49 -0
  316. package/dist/plugins/index.d.ts.map +1 -0
  317. package/dist/plugins/index.js +104 -0
  318. package/dist/plugins/index.js.map +1 -0
  319. package/dist/plugins/providers/anthropic/index.d.ts +9 -0
  320. package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
  321. package/dist/plugins/providers/anthropic/index.js +48 -0
  322. package/dist/plugins/providers/anthropic/index.js.map +1 -0
  323. package/dist/plugins/providers/deepseek/index.d.ts +11 -0
  324. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  325. package/dist/plugins/providers/deepseek/index.js +59 -0
  326. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  327. package/dist/plugins/providers/index.d.ts +2 -0
  328. package/dist/plugins/providers/index.d.ts.map +1 -0
  329. package/dist/plugins/providers/index.js +17 -0
  330. package/dist/plugins/providers/index.js.map +1 -0
  331. package/dist/plugins/providers/openai/index.d.ts +10 -0
  332. package/dist/plugins/providers/openai/index.d.ts.map +1 -0
  333. package/dist/plugins/providers/openai/index.js +47 -0
  334. package/dist/plugins/providers/openai/index.js.map +1 -0
  335. package/dist/plugins/providers/xai/index.d.ts +10 -0
  336. package/dist/plugins/providers/xai/index.d.ts.map +1 -0
  337. package/dist/plugins/providers/xai/index.js +47 -0
  338. package/dist/plugins/providers/xai/index.js.map +1 -0
  339. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +10 -0
  340. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
  341. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +110 -0
  342. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -0
  343. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  344. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  345. package/dist/plugins/tools/bash/localBashPlugin.js +14 -0
  346. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  347. package/dist/plugins/tools/edit/editPlugin.d.ts +9 -0
  348. package/dist/plugins/tools/edit/editPlugin.d.ts.map +1 -0
  349. package/dist/plugins/tools/edit/editPlugin.js +15 -0
  350. package/dist/plugins/tools/edit/editPlugin.js.map +1 -0
  351. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +3 -0
  352. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +1 -0
  353. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +9 -0
  354. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +1 -0
  355. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  356. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  357. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +14 -0
  358. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  359. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +3 -0
  360. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +1 -0
  361. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +9 -0
  362. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +1 -0
  363. package/dist/plugins/tools/index.d.ts +3 -0
  364. package/dist/plugins/tools/index.d.ts.map +1 -0
  365. package/dist/plugins/tools/index.js +3 -0
  366. package/dist/plugins/tools/index.js.map +1 -0
  367. package/dist/plugins/tools/integrity/integrityPlugin.d.ts +3 -0
  368. package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +1 -0
  369. package/dist/plugins/tools/integrity/integrityPlugin.js +31 -0
  370. package/dist/plugins/tools/integrity/integrityPlugin.js.map +1 -0
  371. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +3 -0
  372. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +1 -0
  373. package/dist/plugins/tools/mcp/mcpPlugin.js +27 -0
  374. package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
  375. package/dist/plugins/tools/nodeDefaults.d.ts +13 -0
  376. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  377. package/dist/plugins/tools/nodeDefaults.js +33 -0
  378. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  379. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +3 -0
  380. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +1 -0
  381. package/dist/plugins/tools/orchestration/orchestrationPlugin.js +340 -0
  382. package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +1 -0
  383. package/dist/plugins/tools/registry.d.ts +22 -0
  384. package/dist/plugins/tools/registry.d.ts.map +1 -0
  385. package/dist/plugins/tools/registry.js +58 -0
  386. package/dist/plugins/tools/registry.js.map +1 -0
  387. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  388. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  389. package/dist/plugins/tools/search/localSearchPlugin.js +14 -0
  390. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  391. package/dist/plugins/tools/skills/skillPlugin.d.ts +3 -0
  392. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +1 -0
  393. package/dist/plugins/tools/skills/skillPlugin.js +27 -0
  394. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -0
  395. package/dist/plugins/tools/todo/todoPlugin.d.ts +3 -0
  396. package/dist/plugins/tools/todo/todoPlugin.d.ts.map +1 -0
  397. package/dist/plugins/tools/todo/todoPlugin.js +10 -0
  398. package/dist/plugins/tools/todo/todoPlugin.js.map +1 -0
  399. package/dist/providers/baseProvider.d.ts +148 -0
  400. package/dist/providers/baseProvider.d.ts.map +1 -0
  401. package/dist/providers/baseProvider.js +284 -0
  402. package/dist/providers/baseProvider.js.map +1 -0
  403. package/dist/providers/openaiChatCompletionsProvider.d.ts +70 -0
  404. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  405. package/dist/providers/openaiChatCompletionsProvider.js +1043 -0
  406. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  407. package/dist/providers/providerFactory.d.ts +22 -0
  408. package/dist/providers/providerFactory.d.ts.map +1 -0
  409. package/dist/providers/providerFactory.js +25 -0
  410. package/dist/providers/providerFactory.js.map +1 -0
  411. package/dist/providers/resilientProvider.d.ts +103 -0
  412. package/dist/providers/resilientProvider.d.ts.map +1 -0
  413. package/dist/providers/resilientProvider.js +468 -0
  414. package/dist/providers/resilientProvider.js.map +1 -0
  415. package/dist/runtime/agentController.d.ts +121 -0
  416. package/dist/runtime/agentController.d.ts.map +1 -0
  417. package/dist/runtime/agentController.js +739 -0
  418. package/dist/runtime/agentController.js.map +1 -0
  419. package/dist/runtime/agentHost.d.ts +61 -0
  420. package/dist/runtime/agentHost.d.ts.map +1 -0
  421. package/dist/runtime/agentHost.js +158 -0
  422. package/dist/runtime/agentHost.js.map +1 -0
  423. package/dist/runtime/agentSession.d.ts +49 -0
  424. package/dist/runtime/agentSession.d.ts.map +1 -0
  425. package/dist/runtime/agentSession.js +218 -0
  426. package/dist/runtime/agentSession.js.map +1 -0
  427. package/dist/runtime/agentSpawningWiring.d.ts +23 -0
  428. package/dist/runtime/agentSpawningWiring.d.ts.map +1 -0
  429. package/dist/runtime/agentSpawningWiring.js +119 -0
  430. package/dist/runtime/agentSpawningWiring.js.map +1 -0
  431. package/dist/runtime/agentWorkerPool.d.ts +167 -0
  432. package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
  433. package/dist/runtime/agentWorkerPool.js +435 -0
  434. package/dist/runtime/agentWorkerPool.js.map +1 -0
  435. package/dist/runtime/node.d.ts +7 -0
  436. package/dist/runtime/node.d.ts.map +1 -0
  437. package/dist/runtime/node.js +50 -0
  438. package/dist/runtime/node.js.map +1 -0
  439. package/dist/runtime/universal.d.ts +18 -0
  440. package/dist/runtime/universal.d.ts.map +1 -0
  441. package/dist/runtime/universal.js +21 -0
  442. package/dist/runtime/universal.js.map +1 -0
  443. package/dist/shell/autoExecutor.d.ts +70 -0
  444. package/dist/shell/autoExecutor.d.ts.map +1 -0
  445. package/dist/shell/autoExecutor.js +320 -0
  446. package/dist/shell/autoExecutor.js.map +1 -0
  447. package/dist/shell/commandRegistry.d.ts +122 -0
  448. package/dist/shell/commandRegistry.d.ts.map +1 -0
  449. package/dist/shell/commandRegistry.js +355 -0
  450. package/dist/shell/commandRegistry.js.map +1 -0
  451. package/dist/shell/composableMessage.d.ts +178 -0
  452. package/dist/shell/composableMessage.d.ts.map +1 -0
  453. package/dist/shell/composableMessage.js +384 -0
  454. package/dist/shell/composableMessage.js.map +1 -0
  455. package/dist/shell/liveStatus.d.ts +27 -0
  456. package/dist/shell/liveStatus.d.ts.map +1 -0
  457. package/dist/shell/liveStatus.js +53 -0
  458. package/dist/shell/liveStatus.js.map +1 -0
  459. package/dist/shell/systemPrompt.d.ts +12 -0
  460. package/dist/shell/systemPrompt.d.ts.map +1 -0
  461. package/dist/shell/systemPrompt.js +16 -0
  462. package/dist/shell/systemPrompt.js.map +1 -0
  463. package/dist/shell/vimMode.d.ts +66 -0
  464. package/dist/shell/vimMode.d.ts.map +1 -0
  465. package/dist/shell/vimMode.js +435 -0
  466. package/dist/shell/vimMode.js.map +1 -0
  467. package/dist/tools/bashTools.d.ts +11 -0
  468. package/dist/tools/bashTools.d.ts.map +1 -0
  469. package/dist/tools/bashTools.js +779 -0
  470. package/dist/tools/bashTools.js.map +1 -0
  471. package/dist/tools/diffUtils.d.ts +43 -0
  472. package/dist/tools/diffUtils.d.ts.map +1 -0
  473. package/dist/tools/diffUtils.js +607 -0
  474. package/dist/tools/diffUtils.js.map +1 -0
  475. package/dist/tools/editTools.d.ts +29 -0
  476. package/dist/tools/editTools.d.ts.map +1 -0
  477. package/dist/tools/editTools.js +792 -0
  478. package/dist/tools/editTools.js.map +1 -0
  479. package/dist/tools/fileChangeTracker.d.ts +47 -0
  480. package/dist/tools/fileChangeTracker.d.ts.map +1 -0
  481. package/dist/tools/fileChangeTracker.js +154 -0
  482. package/dist/tools/fileChangeTracker.js.map +1 -0
  483. package/dist/tools/fileReadTracker.d.ts +69 -0
  484. package/dist/tools/fileReadTracker.d.ts.map +1 -0
  485. package/dist/tools/fileReadTracker.js +213 -0
  486. package/dist/tools/fileReadTracker.js.map +1 -0
  487. package/dist/tools/fileTools.d.ts +3 -0
  488. package/dist/tools/fileTools.d.ts.map +1 -0
  489. package/dist/tools/fileTools.js +389 -0
  490. package/dist/tools/fileTools.js.map +1 -0
  491. package/dist/tools/grepTools.d.ts +3 -0
  492. package/dist/tools/grepTools.d.ts.map +1 -0
  493. package/dist/tools/grepTools.js +128 -0
  494. package/dist/tools/grepTools.js.map +1 -0
  495. package/dist/tools/hitlTools.d.ts +7 -0
  496. package/dist/tools/hitlTools.d.ts.map +1 -0
  497. package/dist/tools/hitlTools.js +185 -0
  498. package/dist/tools/hitlTools.js.map +1 -0
  499. package/dist/tools/localExplore.d.ts +38 -0
  500. package/dist/tools/localExplore.d.ts.map +1 -0
  501. package/dist/tools/localExplore.js +30 -0
  502. package/dist/tools/localExplore.js.map +1 -0
  503. package/dist/tools/memoryTools.d.ts +20 -0
  504. package/dist/tools/memoryTools.d.ts.map +1 -0
  505. package/dist/tools/memoryTools.js +180 -0
  506. package/dist/tools/memoryTools.js.map +1 -0
  507. package/dist/tools/notebookTools.d.ts +20 -0
  508. package/dist/tools/notebookTools.d.ts.map +1 -0
  509. package/dist/tools/notebookTools.js +140 -0
  510. package/dist/tools/notebookTools.js.map +1 -0
  511. package/dist/tools/searchTools.d.ts +12 -0
  512. package/dist/tools/searchTools.d.ts.map +1 -0
  513. package/dist/tools/searchTools.js +413 -0
  514. package/dist/tools/searchTools.js.map +1 -0
  515. package/dist/tools/skillTools.d.ts +24 -0
  516. package/dist/tools/skillTools.d.ts.map +1 -0
  517. package/dist/tools/skillTools.js +140 -0
  518. package/dist/tools/skillTools.js.map +1 -0
  519. package/dist/tools/todoTools.d.ts +24 -0
  520. package/dist/tools/todoTools.d.ts.map +1 -0
  521. package/dist/tools/todoTools.js +101 -0
  522. package/dist/tools/todoTools.js.map +1 -0
  523. package/dist/tools/webTools.d.ts +26 -0
  524. package/dist/tools/webTools.d.ts.map +1 -0
  525. package/dist/tools/webTools.js +383 -0
  526. package/dist/tools/webTools.js.map +1 -0
  527. package/dist/ui/ink/App.d.ts +42 -0
  528. package/dist/ui/ink/App.d.ts.map +1 -0
  529. package/dist/ui/ink/App.js +10 -0
  530. package/dist/ui/ink/App.js.map +1 -0
  531. package/dist/ui/ink/ChatStatic.d.ts +29 -0
  532. package/dist/ui/ink/ChatStatic.d.ts.map +1 -0
  533. package/dist/ui/ink/ChatStatic.js +14 -0
  534. package/dist/ui/ink/ChatStatic.js.map +1 -0
  535. package/dist/ui/ink/InkPromptController.d.ts +289 -0
  536. package/dist/ui/ink/InkPromptController.d.ts.map +1 -0
  537. package/dist/ui/ink/InkPromptController.js +552 -0
  538. package/dist/ui/ink/InkPromptController.js.map +1 -0
  539. package/dist/ui/ink/Menu.d.ts +21 -0
  540. package/dist/ui/ink/Menu.d.ts.map +1 -0
  541. package/dist/ui/ink/Menu.js +61 -0
  542. package/dist/ui/ink/Menu.js.map +1 -0
  543. package/dist/ui/ink/Prompt.d.ts +31 -0
  544. package/dist/ui/ink/Prompt.d.ts.map +1 -0
  545. package/dist/ui/ink/Prompt.js +197 -0
  546. package/dist/ui/ink/Prompt.js.map +1 -0
  547. package/dist/ui/ink/StatusLine.d.ts +21 -0
  548. package/dist/ui/ink/StatusLine.d.ts.map +1 -0
  549. package/dist/ui/ink/StatusLine.js +11 -0
  550. package/dist/ui/ink/StatusLine.js.map +1 -0
  551. package/dist/ui/theme.d.ts +351 -0
  552. package/dist/ui/theme.d.ts.map +1 -0
  553. package/dist/ui/theme.js +437 -0
  554. package/dist/ui/theme.js.map +1 -0
  555. package/dist/utils/analytics.d.ts +2 -0
  556. package/dist/utils/analytics.d.ts.map +1 -0
  557. package/dist/utils/analytics.js +51 -0
  558. package/dist/utils/analytics.js.map +1 -0
  559. package/dist/utils/asyncUtils.d.ts +95 -0
  560. package/dist/utils/asyncUtils.d.ts.map +1 -0
  561. package/dist/utils/asyncUtils.js +286 -0
  562. package/dist/utils/asyncUtils.js.map +1 -0
  563. package/dist/utils/debugLogger.d.ts +6 -0
  564. package/dist/utils/debugLogger.d.ts.map +1 -0
  565. package/dist/utils/debugLogger.js +39 -0
  566. package/dist/utils/debugLogger.js.map +1 -0
  567. package/dist/utils/errorUtils.d.ts +12 -0
  568. package/dist/utils/errorUtils.d.ts.map +1 -0
  569. package/dist/utils/errorUtils.js +83 -0
  570. package/dist/utils/errorUtils.js.map +1 -0
  571. package/dist/utils/frontmatter.d.ts +10 -0
  572. package/dist/utils/frontmatter.d.ts.map +1 -0
  573. package/dist/utils/frontmatter.js +78 -0
  574. package/dist/utils/frontmatter.js.map +1 -0
  575. package/dist/utils/packageInfo.d.ts +14 -0
  576. package/dist/utils/packageInfo.d.ts.map +1 -0
  577. package/dist/utils/packageInfo.js +45 -0
  578. package/dist/utils/packageInfo.js.map +1 -0
  579. package/dist/utils/planFormatter.d.ts +34 -0
  580. package/dist/utils/planFormatter.d.ts.map +1 -0
  581. package/dist/utils/planFormatter.js +141 -0
  582. package/dist/utils/planFormatter.js.map +1 -0
  583. package/dist/utils/securityUtils.d.ts +132 -0
  584. package/dist/utils/securityUtils.d.ts.map +1 -0
  585. package/dist/utils/securityUtils.js +324 -0
  586. package/dist/utils/securityUtils.js.map +1 -0
  587. package/dist/utils/statusReporter.d.ts +6 -0
  588. package/dist/utils/statusReporter.d.ts.map +1 -0
  589. package/dist/utils/statusReporter.js +26 -0
  590. package/dist/utils/statusReporter.js.map +1 -0
  591. package/dist/workspace.d.ts +8 -0
  592. package/dist/workspace.d.ts.map +1 -0
  593. package/dist/workspace.js +135 -0
  594. package/dist/workspace.js.map +1 -0
  595. package/dist/workspace.validator.d.ts +49 -0
  596. package/dist/workspace.validator.d.ts.map +1 -0
  597. package/dist/workspace.validator.js +215 -0
  598. package/dist/workspace.validator.js.map +1 -0
  599. package/package.json +123 -0
  600. package/scripts/postinstall.cjs +58 -0
@@ -0,0 +1,437 @@
1
+ import chalk from 'chalk';
2
+ import gradientString from 'gradient-string';
3
+ /**
4
+ * Project Glasswing theme for the Erosolar CLI. Warm-dark, transparency-first
5
+ * aesthetic sourced from the ero.solar brand tokens: a "void" base, bone
6
+ * text, a fire-orange flare accent (the glasswing's small warm fire), and
7
+ * volt-lime telemetry. No rainbow neon — clarity over spectacle.
8
+ */
9
+ // Advanced color utilities
10
+ // Create a neon glow effect with bright colors
11
+ const createNeonStyle = (baseColor, glowColor) => {
12
+ const glow = glowColor || baseColor;
13
+ return {
14
+ text: chalk.hex(baseColor).bold,
15
+ bright: chalk.hex(glow).bold,
16
+ dim: chalk.hex(baseColor),
17
+ bg: chalk.bgHex(baseColor).hex('#FFFFFF'),
18
+ };
19
+ };
20
+ // Glasswing palette — keys kept stable so every downstream theme.* reference
21
+ // re-skins for free; values mapped to the ero.solar brand tokens.
22
+ export const palette = {
23
+ // Warm-dark base (ink → void → panel → wire)
24
+ obsidian: '#060605', // ink — deepest
25
+ onyx: '#0c0b0a', // void — app background
26
+ carbon: '#131210', // panel
27
+ gunmetal: '#3a362e', // wire / separators (warm, low-contrast)
28
+ // Light & muted (bone → ash)
29
+ gold: '#ff6a1f', // flare — the signature Glasswing fire (primary accent)
30
+ roseGold: '#ff9352', // flare-soft
31
+ silver: '#cdc7ba', // light prose text
32
+ platinum: '#ece6da', // bone — primary light text
33
+ titanium: '#948d80', // ash — muted text
34
+ pearl: '#f4efe4', // brightest
35
+ // Status / telemetry
36
+ emerald: '#28c840', // ok / additions
37
+ sapphire: '#ff9352', // no blue in the warm brand → flare-soft
38
+ ruby: '#ff4d3d', // danger / removals
39
+ amber: '#ffb142', // ember — warning / warm highlight
40
+ cyan: '#cbf24e', // volt — telemetry / strings / info (lime)
41
+ neonOrange: '#ff6a1f', // flare
42
+ neonCyan: '#cbf24e', // volt
43
+ };
44
+ // Effect styles kept inside the warm flare/ember/volt range — no rainbow
45
+ // neon, which would fight the transparency-first Glasswing aesthetic.
46
+ export const neon = {
47
+ blue: createNeonStyle(palette.sapphire, '#ff9352'),
48
+ cyan: createNeonStyle(palette.cyan, '#e3ff7a'),
49
+ orange: createNeonStyle(palette.neonOrange, '#ff9352'),
50
+ gold: createNeonStyle(palette.gold, '#ffb142'),
51
+ silver: createNeonStyle(palette.silver, '#ece6da'),
52
+ purple: createNeonStyle(palette.roseGold, '#ff9352'),
53
+ pink: createNeonStyle(palette.roseGold, '#ff9352'),
54
+ green: createNeonStyle(palette.emerald, '#9bf06b'),
55
+ yellow: createNeonStyle(palette.amber, '#ffd27a'),
56
+ magenta: createNeonStyle(palette.ruby, '#ff7a6e'),
57
+ hologram: createNeonStyle('#cbf24e', '#ff6a1f'),
58
+ laser: createNeonStyle('#ff6a1f', '#ff4d3d'),
59
+ plasma: createNeonStyle('#ff6a1f', '#ffb142'),
60
+ };
61
+ export const theme = {
62
+ // Premium primary colors
63
+ primary: chalk.hex(palette.gold).bold, // Gold
64
+ secondary: chalk.hex(palette.platinum).bold, // Platinum
65
+ accent: chalk.hex(palette.silver).bold, // Silver
66
+ success: chalk.hex(palette.emerald).bold, // Green
67
+ warning: chalk.hex(palette.amber).bold, // Amber
68
+ error: chalk.hex(palette.ruby).bold, // Red
69
+ info: chalk.hex(palette.cyan).bold, // Cyan
70
+ // Enhanced text styles
71
+ dim: chalk.dim,
72
+ bold: chalk.bold,
73
+ italic: chalk.italic,
74
+ underline: chalk.underline,
75
+ inverse: chalk.inverse,
76
+ strikethrough: chalk.strikethrough,
77
+ // Premium UI components
78
+ user: chalk.hex(palette.gold).bold,
79
+ assistant: chalk.hex(palette.pearl).bold,
80
+ system: chalk.hex(palette.titanium).bold,
81
+ highlight: chalk.bgHex(palette.obsidian).hex(palette.gold).bold,
82
+ // Premium gradients with enhanced vibrancy and smooth transitions
83
+ gradient: {
84
+ primary: gradientString([palette.gold, palette.platinum, palette.silver]),
85
+ pro: gradientString([palette.gold, palette.roseGold, palette.platinum]),
86
+ system: gradientString([palette.titanium, palette.silver, palette.platinum, palette.pearl]),
87
+ cool: gradientString([palette.titanium, palette.silver, palette.platinum, palette.cyan]),
88
+ warm: gradientString([palette.roseGold, palette.gold, palette.amber]),
89
+ success: gradientString([palette.emerald, palette.silver, palette.platinum]),
90
+ // Premium neon gradients
91
+ neon: gradientString([palette.neonCyan, palette.platinum, palette.silver]),
92
+ fire: gradientString([palette.ruby, palette.roseGold, palette.amber, palette.gold]),
93
+ ocean: gradientString([palette.gunmetal, palette.titanium, palette.silver, palette.cyan]),
94
+ sunset: gradientString([palette.ruby, palette.roseGold, palette.gold, palette.amber]),
95
+ // Metallic gradients
96
+ gold: gradientString([palette.gold, '#FFEC8B', '#FFFACD']),
97
+ silver: gradientString([palette.silver, '#E6E8FA', '#F0F8FF']),
98
+ platinum: gradientString([palette.platinum, '#E8E8E8', '#F5F5F5']),
99
+ },
100
+ // Neon text styles for special effects
101
+ neon: {
102
+ blue: chalk.hex(palette.sapphire).bold,
103
+ purple: chalk.hex(palette.ruby).bold,
104
+ pink: chalk.hex(palette.roseGold).bold,
105
+ green: chalk.hex(palette.emerald).bold,
106
+ cyan: chalk.hex(palette.cyan).bold,
107
+ yellow: chalk.hex(palette.gold).bold,
108
+ orange: chalk.hex(palette.neonOrange).bold,
109
+ },
110
+ ui: {
111
+ border: chalk.hex(palette.gunmetal),
112
+ background: chalk.bgHex(palette.obsidian),
113
+ userPromptBackground: chalk.bgHex(palette.onyx),
114
+ muted: chalk.hex(palette.titanium),
115
+ text: chalk.hex(palette.platinum),
116
+ highlight: chalk.hex(palette.gold).bold, // Important text
117
+ emphasis: chalk.hex(palette.pearl).bold, // Emphasized text
118
+ code: chalk.hex(palette.silver), // Inline code
119
+ number: chalk.hex(palette.roseGold), // Numbers
120
+ string: chalk.hex(palette.cyan), // Strings
121
+ keyword: chalk.hex(palette.gold), // Keywords
122
+ operator: chalk.hex(palette.titanium), // Operators
123
+ },
124
+ metrics: {
125
+ elapsedLabel: chalk.hex(palette.gold).bold,
126
+ elapsedValue: chalk.hex(palette.silver),
127
+ },
128
+ fields: {
129
+ label: chalk.hex(palette.gold).bold,
130
+ agent: chalk.hex(palette.silver),
131
+ profile: chalk.hex(palette.titanium),
132
+ model: chalk.hex(palette.platinum),
133
+ workspace: chalk.hex(palette.cyan),
134
+ },
135
+ link: {
136
+ label: chalk.hex(palette.gold).underline,
137
+ url: chalk.hex(palette.cyan),
138
+ },
139
+ diff: {
140
+ header: chalk.hex(palette.gold),
141
+ hunk: chalk.hex(palette.silver),
142
+ added: chalk.hex(palette.emerald),
143
+ removed: chalk.hex(palette.ruby),
144
+ meta: chalk.hex(palette.titanium),
145
+ },
146
+ // Thinking/reasoning block styling - distinct from regular output
147
+ thinking: {
148
+ icon: chalk.hex(palette.titanium), // Titanium icon
149
+ text: chalk.hex(palette.silver), // Silver thinking content
150
+ border: chalk.hex(palette.gunmetal), // Gunmetal borders
151
+ label: chalk.hex(palette.platinum).bold, // Platinum "Thinking" label
152
+ },
153
+ // Badge styles for compact status indicators
154
+ badge: {
155
+ success: chalk.bgHex(palette.emerald).hex(palette.obsidian), // Green bg, dark text
156
+ error: chalk.bgHex(palette.ruby).hex(palette.pearl), // Red bg, white text
157
+ warning: chalk.bgHex(palette.amber).hex(palette.obsidian), // Amber bg, dark text
158
+ info: chalk.bgHex(palette.cyan).hex(palette.obsidian), // Cyan bg, dark text
159
+ muted: chalk.bgHex(palette.gunmetal).hex(palette.platinum), // Gray bg, light text
160
+ primary: chalk.bgHex(palette.gold).hex(palette.obsidian), // Gold bg, dark text
161
+ accent: chalk.bgHex(palette.silver).hex(palette.obsidian), // Silver bg, dark text
162
+ cached: chalk.bgHex(palette.roseGold).hex(palette.obsidian), // Rose Gold bg, dark text
163
+ },
164
+ // Inline badge styles (lighter, no background)
165
+ inlineBadge: {
166
+ success: chalk.hex(palette.emerald), // Light green
167
+ error: chalk.hex(palette.ruby), // Light red
168
+ warning: chalk.hex(palette.amber), // Light amber
169
+ info: chalk.hex(palette.cyan), // Light cyan
170
+ muted: chalk.hex(palette.titanium), // Gray
171
+ primary: chalk.hex(palette.gold), // Gold
172
+ accent: chalk.hex(palette.silver), // Silver
173
+ },
174
+ // Progress indicators
175
+ progress: {
176
+ bar: chalk.hex(palette.gold), // Progress bar fill
177
+ empty: chalk.hex(palette.gunmetal), // Progress bar empty
178
+ text: chalk.hex(palette.platinum), // Progress text
179
+ percentage: chalk.hex(palette.amber), // Percentage number
180
+ },
181
+ // Status line styles
182
+ status: {
183
+ active: chalk.hex(palette.emerald), // Active/running status
184
+ pending: chalk.hex(palette.titanium), // Pending/waiting status
185
+ completed: chalk.hex(palette.silver), // Completed status
186
+ separator: chalk.hex(palette.gunmetal), // Status separator
187
+ },
188
+ // File operation styles
189
+ file: {
190
+ path: chalk.hex(palette.cyan), // File paths
191
+ additions: chalk.hex(palette.emerald), // +X additions
192
+ removals: chalk.hex(palette.ruby), // -X removals
193
+ unchanged: chalk.hex(palette.titanium), // Unchanged indicator
194
+ },
195
+ // Enhanced edit display styles
196
+ edit: {
197
+ header: chalk.hex(palette.gold).bold, // Edit header
198
+ filePath: chalk.hex(palette.cyan).bold, // File being edited
199
+ lineNumber: chalk.hex(palette.titanium), // Line numbers
200
+ addedLine: chalk.hex(palette.emerald), // Added lines (green)
201
+ addedBg: chalk.bgHex(palette.gunmetal).hex(palette.emerald), // Added line background
202
+ removedLine: chalk.hex(palette.ruby), // Removed lines (red)
203
+ removedBg: chalk.bgHex(palette.carbon).hex(palette.ruby), // Removed line background
204
+ contextLine: chalk.hex(palette.silver), // Context lines
205
+ separator: chalk.hex(palette.gunmetal), // Separators
206
+ summary: chalk.hex(palette.platinum), // Summary text
207
+ badge: chalk.bgHex(palette.gold).hex(palette.obsidian).bold, // Edit badge
208
+ },
209
+ // Search result styles
210
+ search: {
211
+ match: chalk.hex(palette.gold).bold, // Matching text highlight
212
+ context: chalk.hex(palette.silver), // Context lines
213
+ lineNum: chalk.hex(palette.titanium), // Line numbers
214
+ filename: chalk.hex(palette.cyan), // File names in results
215
+ },
216
+ // Agent/task styles
217
+ agent: {
218
+ name: chalk.hex(palette.gold), // Agent name
219
+ task: chalk.hex(palette.platinum), // Task description
220
+ result: chalk.hex(palette.emerald), // Task result
221
+ duration: chalk.hex(palette.amber), // Task duration
222
+ },
223
+ // Tool-specific colors for different categories
224
+ toolColors: {
225
+ // Bash/Execute - Gold
226
+ bash: chalk.hex(palette.gold),
227
+ execute: chalk.hex(palette.gold),
228
+ // Read/File operations - Cyan
229
+ read: chalk.hex(palette.cyan),
230
+ file: chalk.hex(palette.cyan),
231
+ // Write/Edit - Silver
232
+ write: chalk.hex(palette.silver),
233
+ edit: chalk.hex(palette.silver),
234
+ // Search/Grep - Titanium
235
+ search: chalk.hex(palette.titanium),
236
+ grep: chalk.hex(palette.titanium),
237
+ glob: chalk.hex(palette.titanium),
238
+ // Web operations - Platinum
239
+ web: chalk.hex(palette.platinum),
240
+ fetch: chalk.hex(palette.platinum),
241
+ // Task/Agent - Rose Gold
242
+ task: chalk.hex(palette.roseGold),
243
+ agent: chalk.hex(palette.roseGold),
244
+ // Todo - Pearl
245
+ todo: chalk.hex(palette.pearl),
246
+ // Notebook - Cyan
247
+ notebook: chalk.hex(palette.cyan),
248
+ // User interaction - Gold
249
+ ask: chalk.hex(palette.gold),
250
+ // Default - Platinum
251
+ default: chalk.hex(palette.platinum),
252
+ },
253
+ };
254
+ /**
255
+ * Erosolar CLI style icons
256
+ * Following the official Erosolar CLI UI conventions:
257
+ * - ⏺ (action): Used for tool calls, actions, and thinking/reasoning
258
+ * - ⎿ (subaction): Used for results, details, and nested information
259
+ * - ─ (separator): Horizontal lines for dividing sections (not in this object)
260
+ * - > (user prompt): User input prefix (used in formatUserPrompt)
261
+ */
262
+ export const icons = {
263
+ // Status indicators
264
+ success: '✓',
265
+ error: '✗',
266
+ warning: '⚠',
267
+ info: 'ℹ',
268
+ pending: '○',
269
+ running: '◐',
270
+ cached: '⚡',
271
+ // Navigation & flow
272
+ arrow: '→',
273
+ arrowRight: '▸',
274
+ arrowDown: '▾',
275
+ bullet: '•',
276
+ dot: '·',
277
+ // Tool indicators
278
+ thinking: '◐',
279
+ tool: '⚙',
280
+ action: '⏺', // Erosolar CLI: tool actions and thoughts
281
+ subaction: '⎿', // Erosolar CLI: results and details
282
+ // User/assistant
283
+ user: '❯',
284
+ assistant: '◆',
285
+ sparkle: '✨', // AGI branding
286
+ // Progress & loading
287
+ loading: '⣾',
288
+ spinner: ['◐', '◓', '◑', '◒'],
289
+ progress: ['░', '▒', '▓', '█'],
290
+ // File operations
291
+ file: '📄',
292
+ folder: '📁',
293
+ edit: '✏️',
294
+ read: '📖',
295
+ write: '💾',
296
+ delete: '🗑️',
297
+ // Search & find
298
+ search: '🔍',
299
+ match: '◉',
300
+ noMatch: '○',
301
+ // Grouping & hierarchy
302
+ branch: '│',
303
+ corner: '└',
304
+ tee: '├',
305
+ horizontal: '─',
306
+ // Context & metrics
307
+ context: '⊛',
308
+ time: '⏱',
309
+ memory: '◈',
310
+ };
311
+ /**
312
+ * Spinner animation frames (braille dots style)
313
+ */
314
+ export const spinnerFrames = {
315
+ dots: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
316
+ arc: ['◜', '◠', '◝', '◞', '◡', '◟'],
317
+ circle: ['◐', '◓', '◑', '◒'],
318
+ bounce: ['⠁', '⠂', '⠄', '⡀', '⢀', '⠠', '⠐', '⠈'],
319
+ braille: ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'],
320
+ };
321
+ /**
322
+ * Progress bar characters
323
+ */
324
+ export const progressChars = {
325
+ filled: '█',
326
+ empty: '░',
327
+ partial: ['▏', '▎', '▍', '▌', '▋', '▊', '▉'],
328
+ };
329
+ /**
330
+ * Box drawing characters for panels
331
+ */
332
+ export const boxChars = {
333
+ topLeft: '╭',
334
+ topRight: '╮',
335
+ bottomLeft: '╰',
336
+ bottomRight: '╯',
337
+ horizontal: '─',
338
+ vertical: '│',
339
+ teeRight: '├',
340
+ teeLeft: '┤',
341
+ cross: '┼',
342
+ };
343
+ /**
344
+ * Get the appropriate color function for a tool name
345
+ * Returns different colors based on tool category
346
+ */
347
+ export function getToolColor(toolName) {
348
+ const name = toolName.toLowerCase();
349
+ // Bash/Execute commands - Orange
350
+ if (name.includes('bash') || name.includes('execute') || name === 'killshell' || name === 'bashoutput') {
351
+ return theme.toolColors.bash;
352
+ }
353
+ // Read/File operations - Cyan
354
+ if (name.includes('read') || name === 'glob' || name === 'list_files') {
355
+ return theme.toolColors.read;
356
+ }
357
+ // Write operations - Green
358
+ if (name.includes('write')) {
359
+ return theme.toolColors.write;
360
+ }
361
+ // Edit operations - Light green
362
+ if (name.includes('edit')) {
363
+ return theme.toolColors.edit;
364
+ }
365
+ // Search/Grep - Yellow
366
+ if (name.includes('grep') || name.includes('search')) {
367
+ return theme.toolColors.grep;
368
+ }
369
+ // Glob pattern search - Amber
370
+ if (name === 'glob') {
371
+ return theme.toolColors.glob;
372
+ }
373
+ // Web operations - Indigo
374
+ if (name.includes('web') || name.includes('fetch')) {
375
+ return theme.toolColors.web;
376
+ }
377
+ // Task/Agent - Purple
378
+ if (name === 'task' || name.includes('agent')) {
379
+ return theme.toolColors.task;
380
+ }
381
+ // Todo - Pink
382
+ if (name.includes('todo')) {
383
+ return theme.toolColors.todo;
384
+ }
385
+ // Notebook - Teal
386
+ if (name.includes('notebook')) {
387
+ return theme.toolColors.notebook;
388
+ }
389
+ // User interaction - Rose
390
+ if (name.includes('ask') || name.includes('question')) {
391
+ return theme.toolColors.ask;
392
+ }
393
+ // Default - Green
394
+ return theme.toolColors.default;
395
+ }
396
+ /**
397
+ * Format a tool name with category-specific coloring
398
+ */
399
+ export function formatToolName(toolName) {
400
+ const colorFn = getToolColor(toolName);
401
+ return colorFn(`[${toolName}]`);
402
+ }
403
+ export function formatBanner(profileLabel, model) {
404
+ const name = profileLabel || 'Agent';
405
+ const title = theme.gradient.primary(name);
406
+ const subtitle = theme.ui.muted(`${model} • Interactive Shell`);
407
+ return `\n${title}\n${subtitle}\n`;
408
+ }
409
+ export function formatUserPrompt(_profile) {
410
+ // Always use '>' as the user input prefix for consistent look
411
+ const glyph = theme.user('>');
412
+ return `${glyph} `;
413
+ }
414
+ /**
415
+ * Get the raw '>' prompt character for display consistency
416
+ */
417
+ export const USER_PROMPT_PREFIX = '> ';
418
+ export function formatToolCall(name, status) {
419
+ const statusIcon = status === 'running' ? icons.thinking :
420
+ status === 'success' ? icons.success : icons.error;
421
+ const statusColor = status === 'running' ? theme.info :
422
+ status === 'success' ? theme.success : theme.error;
423
+ // Use category-specific coloring for tool names
424
+ const toolColor = getToolColor(name);
425
+ return `${statusColor(statusIcon)} ${toolColor(`[${name}]`)}`;
426
+ }
427
+ export function formatMessage(role, content) {
428
+ switch (role) {
429
+ case 'user':
430
+ return `${theme.user('You:')} ${content}`;
431
+ case 'assistant':
432
+ return `${theme.assistant('Assistant:')} ${content}`;
433
+ case 'system':
434
+ return theme.system(`[System] ${content}`);
435
+ }
436
+ }
437
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAK7C;;;;;GAKG;AAEH,2BAA2B;AAG3B,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,SAAkB,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,SAAS,IAAI,SAAS,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI;QAC/B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QACzB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,6EAA6E;AAC7E,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,SAAS,EAAE,gBAAgB;IACrC,IAAI,EAAE,SAAS,EAAM,wBAAwB;IAC7C,MAAM,EAAE,SAAS,EAAI,QAAQ;IAC7B,QAAQ,EAAE,SAAS,EAAE,yCAAyC;IAE9D,6BAA6B;IAC7B,IAAI,EAAE,SAAS,EAAM,wDAAwD;IAC7E,QAAQ,EAAE,SAAS,EAAE,aAAa;IAClC,MAAM,EAAE,SAAS,EAAI,mBAAmB;IACxC,QAAQ,EAAE,SAAS,EAAE,4BAA4B;IACjD,QAAQ,EAAE,SAAS,EAAE,mBAAmB;IACxC,KAAK,EAAE,SAAS,EAAK,YAAY;IAEjC,qBAAqB;IACrB,OAAO,EAAE,SAAS,EAAG,iBAAiB;IACtC,QAAQ,EAAE,SAAS,EAAE,yCAAyC;IAC9D,IAAI,EAAE,SAAS,EAAM,oBAAoB;IACzC,KAAK,EAAE,SAAS,EAAK,mCAAmC;IACxD,IAAI,EAAE,SAAS,EAAM,2CAA2C;IAEhE,UAAU,EAAE,SAAS,EAAE,QAAQ;IAC/B,QAAQ,EAAE,SAAS,EAAI,OAAO;CAC/B,CAAC;AAEF,yEAAyE;AACzE,sEAAsE;AACtE,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;IAClD,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;IAC9C,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;IACtD,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;IAC9C,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;IAClD,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;IACpD,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;IAClD,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;IAClD,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;IACjD,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/C,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5C,MAAM,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,yBAAyB;IACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO;IAC9C,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,WAAW;IACxD,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS;IACjD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ;IAClD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,QAAQ;IAChD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM;IAC3C,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO;IAE3C,uBAAuB;IACvB,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,aAAa,EAAE,KAAK,CAAC,aAAa;IAElC,wBAAwB;IACxB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;IAClC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI;IACxC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI;IACxC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;IAE/D,kEAAkE;IAClE,QAAQ,EAAE;QACR,OAAO,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAqB;QAC7F,GAAG,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAqB;QAC3F,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAqB;QAC/G,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;QAC5G,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAqB;QACzF,OAAO,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAqB;QAChG,yBAAyB;QACzB,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAqB;QAC9F,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;QACvG,KAAK,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;QAC7G,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAqB;QAEzG,qBAAqB;QACrB,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAqB;QAC9E,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAqB;QAClF,QAAQ,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAqB;KACnD;IAErC,uCAAuC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI;QACtC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QACpC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI;QACtC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI;QACtC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QAClC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QACpC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI;KAC3C;IAED,EAAE,EAAE;QACF,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzC,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,iBAAiB;QAC1D,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,kBAAkB;QAC3D,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc;QAC/C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU;QAC/C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU;QAC3C,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW;QAC7C,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY;KACpD;IAED,OAAO,EAAE;QACP,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QAC1C,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;KACxC;IAED,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI;QACnC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS;QACxC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;KAC7B;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;KAClC;IAED,kEAAkE;IAClE,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAS,gBAAgB;QAC1D,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAW,0BAA0B;QACpE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAO,mBAAmB;QAC7D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAG,4BAA4B;KACvE;IAED,6CAA6C;IAC7C,KAAK,EAAE;QACL,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAM,sBAAsB;QACvF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAc,qBAAqB;QACtF,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAQ,sBAAsB;QACvF,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAY,qBAAqB;QACtF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAO,sBAAsB;QACvF,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAS,qBAAqB;QACtF,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAQ,uBAAuB;QACxF,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAM,0BAA0B;KAC5F;IAED,+CAA+C;IAC/C,WAAW,EAAE;QACX,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAK,cAAc;QACtD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAU,YAAY;QACpD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAO,cAAc;QACtD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAW,aAAa;QACrD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAM,OAAO;QAC/C,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAQ,OAAO;QAC/C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAO,SAAS;KAClD;IAED,sBAAsB;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAY,oBAAoB;QAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAM,qBAAqB;QAC7D,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAO,gBAAgB;QACxD,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAI,oBAAoB;KAC7D;IAED,qBAAqB;IACrB,MAAM,EAAE;QACN,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAM,wBAAwB;QAChE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAI,yBAAyB;QACjE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAI,mBAAmB;QAC3D,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,mBAAmB;KAC5D;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAW,aAAa;QACrD,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAG,eAAe;QACvD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAO,cAAc;QACtD,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,sBAAsB;KAC/D;IAED,+BAA+B;IAC/B,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAY,cAAc;QAC9D,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAU,oBAAoB;QACpE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAS,eAAe;QAC/D,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAW,sBAAsB;QACtE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAG,wBAAwB;QACtF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAY,sBAAsB;QACtE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,0BAA0B;QACpF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAU,gBAAgB;QAChE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAU,aAAa;QAC7D,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAY,eAAe;QAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,aAAa;KAC3E;IAED,uBAAuB;IACvB,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAQ,0BAA0B;QACrE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAS,gBAAgB;QAC3D,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAO,eAAe;QAC1D,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAU,wBAAwB;KACpE;IAED,oBAAoB;IACpB,KAAK,EAAE;QACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAc,aAAa;QACxD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAU,mBAAmB;QAC9D,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAS,cAAc;QACzD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAS,gBAAgB;KAC5D;IAED,gDAAgD;IAChD,UAAU,EAAE;QACV,sBAAsB;QACtB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAEhC,8BAA8B;QAC9B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAE7B,sBAAsB;QACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAE/B,yBAAyB;QACzB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEjC,4BAA4B;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAElC,yBAAyB;QACzB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAElC,eAAe;QACf,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAE9B,kBAAkB;QAClB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAEjC,0BAA0B;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAE5B,qBAAqB;QACrB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;KACrC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,oBAAoB;IACpB,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IAEX,oBAAoB;IACpB,KAAK,EAAE,GAAG;IACV,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;IAER,kBAAkB;IAClB,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG,EAAO,0CAA0C;IAC5D,SAAS,EAAE,GAAG,EAAI,oCAAoC;IAEtD,iBAAiB;IACjB,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,GAAG,EAAM,eAAe;IAEjC,qBAAqB;IACrB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAE9B,kBAAkB;IAClB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,KAAK;IAEb,gBAAgB;IAChB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IAEZ,uBAAuB;IACvB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,GAAG;IAEf,oBAAoB;IACpB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACxD,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAChD,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEpC,iCAAiC;IACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACvG,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,cAAc;IACd,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED,kBAAkB;IAClB,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,KAAa;IAC9D,MAAM,IAAI,GAAG,YAAY,IAAI,OAAO,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAC;IAEhE,OAAO,KAAK,KAAK,KAAK,QAAQ,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,GAAG,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAuC;IAClF,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACtE,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAEvE,gDAAgD;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAqC,EAAE,OAAe;IAClF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;QACvD,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function track(eventName: string, params?: Record<string, unknown>): void;
2
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/utils/analytics.ts"],"names":[],"mappings":"AA4BA,wBAAgB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAsBnF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * GA4 Measurement Protocol shim — fire-and-forget HTTP.
3
+ *
4
+ * Firebase Analytics has no Node.js SDK, so we ship lightweight events to
5
+ * GA4 directly via the Measurement Protocol. Two env vars opt in:
6
+ *
7
+ * EROSOLAR_GA_MEASUREMENT_ID e.g. G-6G9HQ9E20S
8
+ * EROSOLAR_GA_API_SECRET the API secret from the GA4 Data Stream
9
+ *
10
+ * If either is missing, every call is a no-op. We never block the CLI on
11
+ * the network round-trip.
12
+ */
13
+ import os from 'node:os';
14
+ import crypto from 'node:crypto';
15
+ const MEASUREMENT_ID = process.env.EROSOLAR_GA_MEASUREMENT_ID || 'G-6G9HQ9E20S';
16
+ const API_SECRET = process.env.EROSOLAR_GA_API_SECRET || '';
17
+ const DISABLED = process.env.EROSOLAR_DISABLE_ANALYTICS === '1';
18
+ let cachedClientId = null;
19
+ function clientId() {
20
+ if (cachedClientId)
21
+ return cachedClientId;
22
+ // Stable per-machine, non-PII: hash of hostname + platform + arch.
23
+ const seed = `${os.hostname()}|${os.platform()}|${os.arch()}|${os.userInfo().username}`;
24
+ cachedClientId = crypto.createHash('sha256').update(seed).digest('hex').slice(0, 24);
25
+ return cachedClientId;
26
+ }
27
+ export function track(eventName, params = {}) {
28
+ if (DISABLED || !MEASUREMENT_ID || !API_SECRET)
29
+ return;
30
+ const payload = {
31
+ client_id: clientId(),
32
+ events: [{
33
+ name: eventName,
34
+ params: {
35
+ cli_version: params.cli_version ?? process.env.npm_package_version ?? 'unknown',
36
+ node_version: process.versions.node,
37
+ platform: os.platform(),
38
+ arch: os.arch(),
39
+ ...params,
40
+ },
41
+ }],
42
+ };
43
+ const url = `https://www.google-analytics.com/mp/collect?measurement_id=${MEASUREMENT_ID}&api_secret=${API_SECRET}`;
44
+ // Fire and forget — no await, no error surface.
45
+ fetch(url, {
46
+ method: 'POST',
47
+ headers: { 'Content-Type': 'application/json' },
48
+ body: JSON.stringify(payload),
49
+ }).catch(() => { });
50
+ }
51
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/utils/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,cAAc,CAAC;AAChF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;AAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAAC;AAEhE,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,SAAS,QAAQ;IACf,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAC1C,mEAAmE;IACnE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxF,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE,SAAkC,EAAE;IAC3E,IAAI,QAAQ,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU;QAAE,OAAO;IACvD,MAAM,OAAO,GAAG;QACd,SAAS,EAAE,QAAQ,EAAE;QACrB,MAAM,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE;oBACN,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;oBAC/E,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBACnC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;oBACf,GAAG,MAAM;iBACV;aACF,CAAC;KACH,CAAC;IACF,MAAM,GAAG,GAAG,8DAA8D,cAAc,eAAe,UAAU,EAAE,CAAC;IACpH,gDAAgD;IAChD,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Async Utilities Module
3
+ *
4
+ * Production-ready async patterns for rate limiting, throttling,
5
+ * concurrency control, and caching with TTL.
6
+ *
7
+ * Principal Investigator: Bo Shang
8
+ * Framework: agi-cli
9
+ */
10
+ export interface RateLimiterConfig {
11
+ maxRequests: number;
12
+ windowMs: number;
13
+ }
14
+ export interface ThrottleConfig {
15
+ intervalMs: number;
16
+ leading?: boolean;
17
+ trailing?: boolean;
18
+ }
19
+ export interface CacheEntry<T> {
20
+ value: T;
21
+ expiresAt: number;
22
+ }
23
+ export interface CacheConfig {
24
+ ttlMs: number;
25
+ maxSize?: number;
26
+ }
27
+ export interface ConcurrencyConfig {
28
+ maxConcurrent: number;
29
+ timeout?: number;
30
+ }
31
+ export declare class RateLimiter {
32
+ private tokens;
33
+ private lastRefill;
34
+ private readonly maxTokens;
35
+ private readonly refillRate;
36
+ constructor(config: RateLimiterConfig);
37
+ private refill;
38
+ acquire(): Promise<void>;
39
+ tryAcquire(): boolean;
40
+ get availableTokens(): number;
41
+ }
42
+ export declare function throttle<T extends (...args: unknown[]) => unknown>(fn: T, config: ThrottleConfig): (...args: Parameters<T>) => ReturnType<T> | undefined;
43
+ export declare function debounce<T extends (...args: unknown[]) => unknown>(fn: T, delayMs: number): (...args: Parameters<T>) => void;
44
+ export declare class TTLCache<K, V> {
45
+ private cache;
46
+ private readonly ttlMs;
47
+ private readonly maxSize;
48
+ constructor(config: CacheConfig);
49
+ get(key: K): V | undefined;
50
+ set(key: K, value: V, ttlMs?: number): void;
51
+ has(key: K): boolean;
52
+ delete(key: K): boolean;
53
+ clear(): void;
54
+ get size(): number;
55
+ private prune;
56
+ }
57
+ export declare function memoize<T extends (...args: unknown[]) => unknown>(fn: T, config: CacheConfig & {
58
+ keyFn?: (...args: Parameters<T>) => string;
59
+ }): T;
60
+ export declare class ConcurrencyPool {
61
+ private running;
62
+ private queue;
63
+ private readonly maxConcurrent;
64
+ private readonly timeout;
65
+ constructor(config: ConcurrencyConfig);
66
+ run<T>(fn: () => Promise<T>): Promise<T>;
67
+ private acquire;
68
+ private release;
69
+ get pending(): number;
70
+ get active(): number;
71
+ }
72
+ export declare function parallelMap<T, R>(items: T[], fn: (item: T, index: number) => Promise<R>, concurrency?: number): Promise<R[]>;
73
+ export declare function sleep(ms: number): Promise<void>;
74
+ export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, errorMessage?: string): Promise<T>;
75
+ export declare function retry<T>(fn: () => Promise<T>, config?: {
76
+ maxRetries?: number;
77
+ baseDelayMs?: number;
78
+ maxDelayMs?: number;
79
+ backoffMultiplier?: number;
80
+ shouldRetry?: (error: unknown) => boolean;
81
+ }): Promise<T>;
82
+ declare const _default: {
83
+ RateLimiter: typeof RateLimiter;
84
+ TTLCache: typeof TTLCache;
85
+ ConcurrencyPool: typeof ConcurrencyPool;
86
+ throttle: typeof throttle;
87
+ debounce: typeof debounce;
88
+ memoize: typeof memoize;
89
+ parallelMap: typeof parallelMap;
90
+ sleep: typeof sleep;
91
+ withTimeout: typeof withTimeout;
92
+ retry: typeof retry;
93
+ };
94
+ export default _default;
95
+ //# sourceMappingURL=asyncUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncUtils.d.ts","sourceRoot":"","sources":["../../src/utils/asyncUtils.ts"],"names":[],"mappings":"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"}