deepseek-coder-cli 1.0.0

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 (824) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +422 -0
  3. package/agents/agi-code.rules.json +87 -0
  4. package/agents/general.rules.json +171 -0
  5. package/dist/bin/cliMode.d.ts +8 -0
  6. package/dist/bin/cliMode.d.ts.map +1 -0
  7. package/dist/bin/cliMode.js +20 -0
  8. package/dist/bin/cliMode.js.map +1 -0
  9. package/dist/bin/deepseek.d.ts +16 -0
  10. package/dist/bin/deepseek.d.ts.map +1 -0
  11. package/dist/bin/deepseek.js +737 -0
  12. package/dist/bin/deepseek.js.map +1 -0
  13. package/dist/bin/erosolar.d.ts +7 -0
  14. package/dist/bin/erosolar.d.ts.map +1 -0
  15. package/dist/bin/erosolar.js +7 -0
  16. package/dist/bin/erosolar.js.map +1 -0
  17. package/dist/bin/selfTest.d.ts +14 -0
  18. package/dist/bin/selfTest.d.ts.map +1 -0
  19. package/dist/bin/selfTest.js +304 -0
  20. package/dist/bin/selfTest.js.map +1 -0
  21. package/dist/capabilities/appleSecurityCapability.d.ts +57 -0
  22. package/dist/capabilities/appleSecurityCapability.d.ts.map +1 -0
  23. package/dist/capabilities/appleSecurityCapability.js +197 -0
  24. package/dist/capabilities/appleSecurityCapability.js.map +1 -0
  25. package/dist/capabilities/authorizedSecurityCapability.d.ts +17 -0
  26. package/dist/capabilities/authorizedSecurityCapability.d.ts.map +1 -0
  27. package/dist/capabilities/authorizedSecurityCapability.js +333 -0
  28. package/dist/capabilities/authorizedSecurityCapability.js.map +1 -0
  29. package/dist/capabilities/autoEnhancementCapability.d.ts +98 -0
  30. package/dist/capabilities/autoEnhancementCapability.d.ts.map +1 -0
  31. package/dist/capabilities/autoEnhancementCapability.js +455 -0
  32. package/dist/capabilities/autoEnhancementCapability.js.map +1 -0
  33. package/dist/capabilities/baseCapability.d.ts +72 -0
  34. package/dist/capabilities/baseCapability.d.ts.map +1 -0
  35. package/dist/capabilities/baseCapability.js +183 -0
  36. package/dist/capabilities/baseCapability.js.map +1 -0
  37. package/dist/capabilities/bashCapability.d.ts +13 -0
  38. package/dist/capabilities/bashCapability.d.ts.map +1 -0
  39. package/dist/capabilities/bashCapability.js +24 -0
  40. package/dist/capabilities/bashCapability.js.map +1 -0
  41. package/dist/capabilities/biocognitiveWarfare.d.ts +136 -0
  42. package/dist/capabilities/biocognitiveWarfare.d.ts.map +1 -0
  43. package/dist/capabilities/biocognitiveWarfare.js +603 -0
  44. package/dist/capabilities/biocognitiveWarfare.js.map +1 -0
  45. package/dist/capabilities/chineseCnoIntegration.d.ts +60 -0
  46. package/dist/capabilities/chineseCnoIntegration.d.ts.map +1 -0
  47. package/dist/capabilities/chineseCnoIntegration.js +253 -0
  48. package/dist/capabilities/chineseCnoIntegration.js.map +1 -0
  49. package/dist/capabilities/cnoCapability.d.ts +110 -0
  50. package/dist/capabilities/cnoCapability.d.ts.map +1 -0
  51. package/dist/capabilities/cnoCapability.js +785 -0
  52. package/dist/capabilities/cnoCapability.js.map +1 -0
  53. package/dist/capabilities/editCapability.d.ts +17 -0
  54. package/dist/capabilities/editCapability.d.ts.map +1 -0
  55. package/dist/capabilities/editCapability.js +27 -0
  56. package/dist/capabilities/editCapability.js.map +1 -0
  57. package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts +99 -0
  58. package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts.map +1 -0
  59. package/dist/capabilities/eliteCryptoMilitaryCapability.js +618 -0
  60. package/dist/capabilities/eliteCryptoMilitaryCapability.js.map +1 -0
  61. package/dist/capabilities/enhancedGitCapability.d.ts +7 -0
  62. package/dist/capabilities/enhancedGitCapability.d.ts.map +1 -0
  63. package/dist/capabilities/enhancedGitCapability.js +220 -0
  64. package/dist/capabilities/enhancedGitCapability.js.map +1 -0
  65. package/dist/capabilities/filesystemCapability.d.ts +13 -0
  66. package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
  67. package/dist/capabilities/filesystemCapability.js +24 -0
  68. package/dist/capabilities/filesystemCapability.js.map +1 -0
  69. package/dist/capabilities/gitHistoryCapability.d.ts +6 -0
  70. package/dist/capabilities/gitHistoryCapability.d.ts.map +1 -0
  71. package/dist/capabilities/gitHistoryCapability.js +160 -0
  72. package/dist/capabilities/gitHistoryCapability.js.map +1 -0
  73. package/dist/capabilities/index.d.ts +26 -0
  74. package/dist/capabilities/index.d.ts.map +1 -0
  75. package/dist/capabilities/index.js +26 -0
  76. package/dist/capabilities/index.js.map +1 -0
  77. package/dist/capabilities/integratedUnifiedCapability.d.ts +105 -0
  78. package/dist/capabilities/integratedUnifiedCapability.d.ts.map +1 -0
  79. package/dist/capabilities/integratedUnifiedCapability.js +422 -0
  80. package/dist/capabilities/integratedUnifiedCapability.js.map +1 -0
  81. package/dist/capabilities/maxOffensiveUkraineCapability.d.ts +46 -0
  82. package/dist/capabilities/maxOffensiveUkraineCapability.d.ts.map +1 -0
  83. package/dist/capabilities/maxOffensiveUkraineCapability.js +725 -0
  84. package/dist/capabilities/maxOffensiveUkraineCapability.js.map +1 -0
  85. package/dist/capabilities/migrationUtilities.d.ts +128 -0
  86. package/dist/capabilities/migrationUtilities.d.ts.map +1 -0
  87. package/dist/capabilities/migrationUtilities.js +658 -0
  88. package/dist/capabilities/migrationUtilities.js.map +1 -0
  89. package/dist/capabilities/offensiveDestructionCapability.d.ts +98 -0
  90. package/dist/capabilities/offensiveDestructionCapability.d.ts.map +1 -0
  91. package/dist/capabilities/offensiveDestructionCapability.js +848 -0
  92. package/dist/capabilities/offensiveDestructionCapability.js.map +1 -0
  93. package/dist/capabilities/quantumSpaceWarfare.d.ts +108 -0
  94. package/dist/capabilities/quantumSpaceWarfare.d.ts.map +1 -0
  95. package/dist/capabilities/quantumSpaceWarfare.js +342 -0
  96. package/dist/capabilities/quantumSpaceWarfare.js.map +1 -0
  97. package/dist/capabilities/readmeIntegration.d.ts +161 -0
  98. package/dist/capabilities/readmeIntegration.d.ts.map +1 -0
  99. package/dist/capabilities/readmeIntegration.js +1034 -0
  100. package/dist/capabilities/readmeIntegration.js.map +1 -0
  101. package/dist/capabilities/searchCapability.d.ts +19 -0
  102. package/dist/capabilities/searchCapability.d.ts.map +1 -0
  103. package/dist/capabilities/searchCapability.js +29 -0
  104. package/dist/capabilities/searchCapability.js.map +1 -0
  105. package/dist/capabilities/selfUpdateSystem.d.ts +122 -0
  106. package/dist/capabilities/selfUpdateSystem.d.ts.map +1 -0
  107. package/dist/capabilities/selfUpdateSystem.js +725 -0
  108. package/dist/capabilities/selfUpdateSystem.js.map +1 -0
  109. package/dist/capabilities/sharedMilitaryInfrastructure.d.ts +89 -0
  110. package/dist/capabilities/sharedMilitaryInfrastructure.d.ts.map +1 -0
  111. package/dist/capabilities/sharedMilitaryInfrastructure.js +233 -0
  112. package/dist/capabilities/sharedMilitaryInfrastructure.js.map +1 -0
  113. package/dist/capabilities/simpleSecurityCapability.d.ts +36 -0
  114. package/dist/capabilities/simpleSecurityCapability.d.ts.map +1 -0
  115. package/dist/capabilities/simpleSecurityCapability.js +271 -0
  116. package/dist/capabilities/simpleSecurityCapability.js.map +1 -0
  117. package/dist/capabilities/toolManifest.d.ts +3 -0
  118. package/dist/capabilities/toolManifest.d.ts.map +1 -0
  119. package/dist/capabilities/toolManifest.js +163 -0
  120. package/dist/capabilities/toolManifest.js.map +1 -0
  121. package/dist/capabilities/toolRegistry.d.ts +25 -0
  122. package/dist/capabilities/toolRegistry.d.ts.map +1 -0
  123. package/dist/capabilities/toolRegistry.js +150 -0
  124. package/dist/capabilities/toolRegistry.js.map +1 -0
  125. package/dist/capabilities/ultimateChineseCno.d.ts +115 -0
  126. package/dist/capabilities/ultimateChineseCno.d.ts.map +1 -0
  127. package/dist/capabilities/ultimateChineseCno.js +516 -0
  128. package/dist/capabilities/ultimateChineseCno.js.map +1 -0
  129. package/dist/capabilities/ultimateIntegrationDemo.d.ts +54 -0
  130. package/dist/capabilities/ultimateIntegrationDemo.d.ts.map +1 -0
  131. package/dist/capabilities/ultimateIntegrationDemo.js +423 -0
  132. package/dist/capabilities/ultimateIntegrationDemo.js.map +1 -0
  133. package/dist/capabilities/unifiedMilitaryCapability.d.ts +63 -0
  134. package/dist/capabilities/unifiedMilitaryCapability.d.ts.map +1 -0
  135. package/dist/capabilities/unifiedMilitaryCapability.js +384 -0
  136. package/dist/capabilities/unifiedMilitaryCapability.js.map +1 -0
  137. package/dist/capabilities/universalCapabilityFramework.d.ts +352 -0
  138. package/dist/capabilities/universalCapabilityFramework.d.ts.map +1 -0
  139. package/dist/capabilities/universalCapabilityFramework.js +1056 -0
  140. package/dist/capabilities/universalCapabilityFramework.js.map +1 -0
  141. package/dist/capabilities/universalSecurityCapability.d.ts +46 -0
  142. package/dist/capabilities/universalSecurityCapability.d.ts.map +1 -0
  143. package/dist/capabilities/universalSecurityCapability.js +580 -0
  144. package/dist/capabilities/universalSecurityCapability.js.map +1 -0
  145. package/dist/capabilities/webCapability.d.ts +23 -0
  146. package/dist/capabilities/webCapability.d.ts.map +1 -0
  147. package/dist/capabilities/webCapability.js +33 -0
  148. package/dist/capabilities/webCapability.js.map +1 -0
  149. package/dist/capabilities/zeroDayDiscoveryCapability.d.ts +31 -0
  150. package/dist/capabilities/zeroDayDiscoveryCapability.d.ts.map +1 -0
  151. package/dist/capabilities/zeroDayDiscoveryCapability.js +183 -0
  152. package/dist/capabilities/zeroDayDiscoveryCapability.js.map +1 -0
  153. package/dist/config.d.ts +25 -0
  154. package/dist/config.d.ts.map +1 -0
  155. package/dist/config.js +155 -0
  156. package/dist/config.js.map +1 -0
  157. package/dist/contracts/agent-profiles.schema.json +43 -0
  158. package/dist/contracts/agent-schemas.json +466 -0
  159. package/dist/contracts/models.schema.json +9 -0
  160. package/dist/contracts/module-schema.json +430 -0
  161. package/dist/contracts/schemas/agent-profile.schema.json +157 -0
  162. package/dist/contracts/schemas/agent-rules.schema.json +238 -0
  163. package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
  164. package/dist/contracts/schemas/agent.schema.json +90 -0
  165. package/dist/contracts/schemas/tool-selection.schema.json +174 -0
  166. package/dist/contracts/tools.schema.json +82 -0
  167. package/dist/contracts/unified-schema.json +757 -0
  168. package/dist/contracts/v1/agent.d.ts +179 -0
  169. package/dist/contracts/v1/agent.d.ts.map +1 -0
  170. package/dist/contracts/v1/agent.js +8 -0
  171. package/dist/contracts/v1/agent.js.map +1 -0
  172. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  173. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  174. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  175. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  176. package/dist/contracts/v1/agentRules.d.ts +60 -0
  177. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  178. package/dist/contracts/v1/agentRules.js +10 -0
  179. package/dist/contracts/v1/agentRules.js.map +1 -0
  180. package/dist/contracts/v1/provider.d.ts +149 -0
  181. package/dist/contracts/v1/provider.d.ts.map +1 -0
  182. package/dist/contracts/v1/provider.js +7 -0
  183. package/dist/contracts/v1/provider.js.map +1 -0
  184. package/dist/contracts/v1/tool.d.ts +136 -0
  185. package/dist/contracts/v1/tool.d.ts.map +1 -0
  186. package/dist/contracts/v1/tool.js +7 -0
  187. package/dist/contracts/v1/tool.js.map +1 -0
  188. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  189. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  190. package/dist/contracts/v1/toolAccess.js +9 -0
  191. package/dist/contracts/v1/toolAccess.js.map +1 -0
  192. package/dist/core/agent.d.ts +287 -0
  193. package/dist/core/agent.d.ts.map +1 -0
  194. package/dist/core/agent.js +1563 -0
  195. package/dist/core/agent.js.map +1 -0
  196. package/dist/core/agentProfileManifest.d.ts +3 -0
  197. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  198. package/dist/core/agentProfileManifest.js +188 -0
  199. package/dist/core/agentProfileManifest.js.map +1 -0
  200. package/dist/core/agentProfiles.d.ts +22 -0
  201. package/dist/core/agentProfiles.d.ts.map +1 -0
  202. package/dist/core/agentProfiles.js +35 -0
  203. package/dist/core/agentProfiles.js.map +1 -0
  204. package/dist/core/agentRulebook.d.ts +11 -0
  205. package/dist/core/agentRulebook.d.ts.map +1 -0
  206. package/dist/core/agentRulebook.js +136 -0
  207. package/dist/core/agentRulebook.js.map +1 -0
  208. package/dist/core/agentSchemaLoader.d.ts +131 -0
  209. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  210. package/dist/core/agentSchemaLoader.js +235 -0
  211. package/dist/core/agentSchemaLoader.js.map +1 -0
  212. package/dist/core/agiCore.d.ts +290 -0
  213. package/dist/core/agiCore.d.ts.map +1 -0
  214. package/dist/core/agiCore.js +1348 -0
  215. package/dist/core/agiCore.js.map +1 -0
  216. package/dist/core/aiErrorFixer.d.ts +57 -0
  217. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  218. package/dist/core/aiErrorFixer.js +214 -0
  219. package/dist/core/aiErrorFixer.js.map +1 -0
  220. package/dist/core/antiTermination.d.ts +226 -0
  221. package/dist/core/antiTermination.d.ts.map +1 -0
  222. package/dist/core/antiTermination.js +713 -0
  223. package/dist/core/antiTermination.js.map +1 -0
  224. package/dist/core/appleSecurityAudit.d.ts +98 -0
  225. package/dist/core/appleSecurityAudit.d.ts.map +1 -0
  226. package/dist/core/appleSecurityAudit.js +505 -0
  227. package/dist/core/appleSecurityAudit.js.map +1 -0
  228. package/dist/core/appleSecurityIntegration.d.ts +130 -0
  229. package/dist/core/appleSecurityIntegration.d.ts.map +1 -0
  230. package/dist/core/appleSecurityIntegration.js +697 -0
  231. package/dist/core/appleSecurityIntegration.js.map +1 -0
  232. package/dist/core/bashCommandGuidance.d.ts +16 -0
  233. package/dist/core/bashCommandGuidance.d.ts.map +1 -0
  234. package/dist/core/bashCommandGuidance.js +40 -0
  235. package/dist/core/bashCommandGuidance.js.map +1 -0
  236. package/dist/core/constants.d.ts +31 -0
  237. package/dist/core/constants.d.ts.map +1 -0
  238. package/dist/core/constants.js +62 -0
  239. package/dist/core/constants.js.map +1 -0
  240. package/dist/core/contextManager.d.ts +271 -0
  241. package/dist/core/contextManager.d.ts.map +1 -0
  242. package/dist/core/contextManager.js +1073 -0
  243. package/dist/core/contextManager.js.map +1 -0
  244. package/dist/core/contextWindow.d.ts +42 -0
  245. package/dist/core/contextWindow.d.ts.map +1 -0
  246. package/dist/core/contextWindow.js +123 -0
  247. package/dist/core/contextWindow.js.map +1 -0
  248. package/dist/core/customCommands.d.ts +19 -0
  249. package/dist/core/customCommands.d.ts.map +1 -0
  250. package/dist/core/customCommands.js +85 -0
  251. package/dist/core/customCommands.js.map +1 -0
  252. package/dist/core/deepBugAnalyzer.d.ts +25 -0
  253. package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
  254. package/dist/core/deepBugAnalyzer.js +44 -0
  255. package/dist/core/deepBugAnalyzer.js.map +1 -0
  256. package/dist/core/dualTournament.d.ts +110 -0
  257. package/dist/core/dualTournament.d.ts.map +1 -0
  258. package/dist/core/dualTournament.js +270 -0
  259. package/dist/core/dualTournament.js.map +1 -0
  260. package/dist/core/dynamicGuardrails.d.ts +207 -0
  261. package/dist/core/dynamicGuardrails.d.ts.map +1 -0
  262. package/dist/core/dynamicGuardrails.js +516 -0
  263. package/dist/core/dynamicGuardrails.js.map +1 -0
  264. package/dist/core/embeddingProviders.d.ts +80 -0
  265. package/dist/core/embeddingProviders.d.ts.map +1 -0
  266. package/dist/core/embeddingProviders.js +241 -0
  267. package/dist/core/embeddingProviders.js.map +1 -0
  268. package/dist/core/episodicMemory.d.ts +259 -0
  269. package/dist/core/episodicMemory.d.ts.map +1 -0
  270. package/dist/core/episodicMemory.js +833 -0
  271. package/dist/core/episodicMemory.js.map +1 -0
  272. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  273. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  274. package/dist/core/errors/apiKeyErrors.js +159 -0
  275. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  276. package/dist/core/errors/errorTypes.d.ts +111 -0
  277. package/dist/core/errors/errorTypes.d.ts.map +1 -0
  278. package/dist/core/errors/errorTypes.js +345 -0
  279. package/dist/core/errors/errorTypes.js.map +1 -0
  280. package/dist/core/errors/index.d.ts +50 -0
  281. package/dist/core/errors/index.d.ts.map +1 -0
  282. package/dist/core/errors/index.js +156 -0
  283. package/dist/core/errors/index.js.map +1 -0
  284. package/dist/core/errors/networkErrors.d.ts +14 -0
  285. package/dist/core/errors/networkErrors.d.ts.map +1 -0
  286. package/dist/core/errors/networkErrors.js +53 -0
  287. package/dist/core/errors/networkErrors.js.map +1 -0
  288. package/dist/core/errors/safetyValidator.d.ts +115 -0
  289. package/dist/core/errors/safetyValidator.d.ts.map +1 -0
  290. package/dist/core/errors/safetyValidator.js +302 -0
  291. package/dist/core/errors/safetyValidator.js.map +1 -0
  292. package/dist/core/errors.d.ts +4 -0
  293. package/dist/core/errors.d.ts.map +1 -0
  294. package/dist/core/errors.js +33 -0
  295. package/dist/core/errors.js.map +1 -0
  296. package/dist/core/finalResponseFormatter.d.ts +10 -0
  297. package/dist/core/finalResponseFormatter.d.ts.map +1 -0
  298. package/dist/core/finalResponseFormatter.js +14 -0
  299. package/dist/core/finalResponseFormatter.js.map +1 -0
  300. package/dist/core/flowProtection.d.ts +154 -0
  301. package/dist/core/flowProtection.d.ts.map +1 -0
  302. package/dist/core/flowProtection.js +436 -0
  303. package/dist/core/flowProtection.js.map +1 -0
  304. package/dist/core/gitWorktreeManager.d.ts +126 -0
  305. package/dist/core/gitWorktreeManager.d.ts.map +1 -0
  306. package/dist/core/gitWorktreeManager.js +403 -0
  307. package/dist/core/gitWorktreeManager.js.map +1 -0
  308. package/dist/core/guardrails.d.ts +150 -0
  309. package/dist/core/guardrails.d.ts.map +1 -0
  310. package/dist/core/guardrails.js +360 -0
  311. package/dist/core/guardrails.js.map +1 -0
  312. package/dist/core/hallucinationGuard.d.ts +57 -0
  313. package/dist/core/hallucinationGuard.d.ts.map +1 -0
  314. package/dist/core/hallucinationGuard.js +237 -0
  315. package/dist/core/hallucinationGuard.js.map +1 -0
  316. package/dist/core/hooks.d.ts +113 -0
  317. package/dist/core/hooks.d.ts.map +1 -0
  318. package/dist/core/hooks.js +364 -0
  319. package/dist/core/hooks.js.map +1 -0
  320. package/dist/core/hotReload.d.ts +154 -0
  321. package/dist/core/hotReload.d.ts.map +1 -0
  322. package/dist/core/hotReload.js +451 -0
  323. package/dist/core/hotReload.js.map +1 -0
  324. package/dist/core/hypothesisEngine.d.ts +27 -0
  325. package/dist/core/hypothesisEngine.d.ts.map +1 -0
  326. package/dist/core/hypothesisEngine.js +58 -0
  327. package/dist/core/hypothesisEngine.js.map +1 -0
  328. package/dist/core/index.d.ts +26 -0
  329. package/dist/core/index.d.ts.map +1 -0
  330. package/dist/core/index.js +54 -0
  331. package/dist/core/index.js.map +1 -0
  332. package/dist/core/inputProtection.d.ts +122 -0
  333. package/dist/core/inputProtection.d.ts.map +1 -0
  334. package/dist/core/inputProtection.js +421 -0
  335. package/dist/core/inputProtection.js.map +1 -0
  336. package/dist/core/liveGCPVerification.d.ts +41 -0
  337. package/dist/core/liveGCPVerification.d.ts.map +1 -0
  338. package/dist/core/liveGCPVerification.js +745 -0
  339. package/dist/core/liveGCPVerification.js.map +1 -0
  340. package/dist/core/modelDiscovery.d.ts +105 -0
  341. package/dist/core/modelDiscovery.d.ts.map +1 -0
  342. package/dist/core/modelDiscovery.js +740 -0
  343. package/dist/core/modelDiscovery.js.map +1 -0
  344. package/dist/core/multilinePasteHandler.d.ts +35 -0
  345. package/dist/core/multilinePasteHandler.d.ts.map +1 -0
  346. package/dist/core/multilinePasteHandler.js +80 -0
  347. package/dist/core/multilinePasteHandler.js.map +1 -0
  348. package/dist/core/parallel.d.ts +85 -0
  349. package/dist/core/parallel.d.ts.map +1 -0
  350. package/dist/core/parallel.js +150 -0
  351. package/dist/core/parallel.js.map +1 -0
  352. package/dist/core/parallelCoordinator.d.ts +21 -0
  353. package/dist/core/parallelCoordinator.d.ts.map +1 -0
  354. package/dist/core/parallelCoordinator.js +42 -0
  355. package/dist/core/parallelCoordinator.js.map +1 -0
  356. package/dist/core/parallelExecutor.d.ts +215 -0
  357. package/dist/core/parallelExecutor.d.ts.map +1 -0
  358. package/dist/core/parallelExecutor.js +584 -0
  359. package/dist/core/parallelExecutor.js.map +1 -0
  360. package/dist/core/preferences.d.ts +71 -0
  361. package/dist/core/preferences.d.ts.map +1 -0
  362. package/dist/core/preferences.js +341 -0
  363. package/dist/core/preferences.js.map +1 -0
  364. package/dist/core/productTestHarness.d.ts +46 -0
  365. package/dist/core/productTestHarness.d.ts.map +1 -0
  366. package/dist/core/productTestHarness.js +128 -0
  367. package/dist/core/productTestHarness.js.map +1 -0
  368. package/dist/core/providerKeys.d.ts +20 -0
  369. package/dist/core/providerKeys.d.ts.map +1 -0
  370. package/dist/core/providerKeys.js +40 -0
  371. package/dist/core/providerKeys.js.map +1 -0
  372. package/dist/core/realityScore.d.ts +159 -0
  373. package/dist/core/realityScore.d.ts.map +1 -0
  374. package/dist/core/realityScore.js +734 -0
  375. package/dist/core/realityScore.js.map +1 -0
  376. package/dist/core/repoUpgradeOrchestrator.d.ts +223 -0
  377. package/dist/core/repoUpgradeOrchestrator.d.ts.map +1 -0
  378. package/dist/core/repoUpgradeOrchestrator.js +1003 -0
  379. package/dist/core/repoUpgradeOrchestrator.js.map +1 -0
  380. package/dist/core/resultVerification.d.ts +47 -0
  381. package/dist/core/resultVerification.d.ts.map +1 -0
  382. package/dist/core/resultVerification.js +126 -0
  383. package/dist/core/resultVerification.js.map +1 -0
  384. package/dist/core/revenueEnvValidator.d.ts +30 -0
  385. package/dist/core/revenueEnvValidator.d.ts.map +1 -0
  386. package/dist/core/revenueEnvValidator.js +241 -0
  387. package/dist/core/revenueEnvValidator.js.map +1 -0
  388. package/dist/core/schemaValidator.d.ts +49 -0
  389. package/dist/core/schemaValidator.d.ts.map +1 -0
  390. package/dist/core/schemaValidator.js +234 -0
  391. package/dist/core/schemaValidator.js.map +1 -0
  392. package/dist/core/secretStore.d.ts +48 -0
  393. package/dist/core/secretStore.d.ts.map +1 -0
  394. package/dist/core/secretStore.js +295 -0
  395. package/dist/core/secretStore.js.map +1 -0
  396. package/dist/core/securityTournament.d.ts +83 -0
  397. package/dist/core/securityTournament.d.ts.map +1 -0
  398. package/dist/core/securityTournament.js +357 -0
  399. package/dist/core/securityTournament.js.map +1 -0
  400. package/dist/core/selfUpgrade.d.ts +253 -0
  401. package/dist/core/selfUpgrade.d.ts.map +1 -0
  402. package/dist/core/selfUpgrade.js +669 -0
  403. package/dist/core/selfUpgrade.js.map +1 -0
  404. package/dist/core/sessionStorage.d.ts +10 -0
  405. package/dist/core/sessionStorage.d.ts.map +1 -0
  406. package/dist/core/sessionStorage.js +46 -0
  407. package/dist/core/sessionStorage.js.map +1 -0
  408. package/dist/core/sessionStore.d.ts +35 -0
  409. package/dist/core/sessionStore.d.ts.map +1 -0
  410. package/dist/core/sessionStore.js +191 -0
  411. package/dist/core/sessionStore.js.map +1 -0
  412. package/dist/core/taskCompletionDetector.d.ts +112 -0
  413. package/dist/core/taskCompletionDetector.d.ts.map +1 -0
  414. package/dist/core/taskCompletionDetector.js +469 -0
  415. package/dist/core/taskCompletionDetector.js.map +1 -0
  416. package/dist/core/toolPreconditions.d.ts +34 -0
  417. package/dist/core/toolPreconditions.d.ts.map +1 -0
  418. package/dist/core/toolPreconditions.js +242 -0
  419. package/dist/core/toolPreconditions.js.map +1 -0
  420. package/dist/core/toolRuntime.d.ts +185 -0
  421. package/dist/core/toolRuntime.d.ts.map +1 -0
  422. package/dist/core/toolRuntime.js +412 -0
  423. package/dist/core/toolRuntime.js.map +1 -0
  424. package/dist/core/tournamentStrategy.d.ts +12 -0
  425. package/dist/core/tournamentStrategy.d.ts.map +1 -0
  426. package/dist/core/tournamentStrategy.js +41 -0
  427. package/dist/core/tournamentStrategy.js.map +1 -0
  428. package/dist/core/types/utilityTypes.d.ts +192 -0
  429. package/dist/core/types/utilityTypes.d.ts.map +1 -0
  430. package/dist/core/types/utilityTypes.js +272 -0
  431. package/dist/core/types/utilityTypes.js.map +1 -0
  432. package/dist/core/types.d.ts +334 -0
  433. package/dist/core/types.d.ts.map +1 -0
  434. package/dist/core/types.js +76 -0
  435. package/dist/core/types.js.map +1 -0
  436. package/dist/core/unifiedOrchestrator.d.ts +47 -0
  437. package/dist/core/unifiedOrchestrator.d.ts.map +1 -0
  438. package/dist/core/unifiedOrchestrator.js +103 -0
  439. package/dist/core/unifiedOrchestrator.js.map +1 -0
  440. package/dist/core/universalSecurityAudit.d.ts +104 -0
  441. package/dist/core/universalSecurityAudit.d.ts.map +1 -0
  442. package/dist/core/universalSecurityAudit.js +2190 -0
  443. package/dist/core/universalSecurityAudit.js.map +1 -0
  444. package/dist/core/updateChecker.d.ts +148 -0
  445. package/dist/core/updateChecker.d.ts.map +1 -0
  446. package/dist/core/updateChecker.js +593 -0
  447. package/dist/core/updateChecker.js.map +1 -0
  448. package/dist/core/variantExecution.d.ts +23 -0
  449. package/dist/core/variantExecution.d.ts.map +1 -0
  450. package/dist/core/variantExecution.js +58 -0
  451. package/dist/core/variantExecution.js.map +1 -0
  452. package/dist/core/winnerStrategy.d.ts +15 -0
  453. package/dist/core/winnerStrategy.d.ts.map +1 -0
  454. package/dist/core/winnerStrategy.js +18 -0
  455. package/dist/core/winnerStrategy.js.map +1 -0
  456. package/dist/core/zeroDayDiscovery.d.ts +96 -0
  457. package/dist/core/zeroDayDiscovery.d.ts.map +1 -0
  458. package/dist/core/zeroDayDiscovery.js +358 -0
  459. package/dist/core/zeroDayDiscovery.js.map +1 -0
  460. package/dist/headless/interactiveShell.d.ts +22 -0
  461. package/dist/headless/interactiveShell.d.ts.map +1 -0
  462. package/dist/headless/interactiveShell.js +3799 -0
  463. package/dist/headless/interactiveShell.js.map +1 -0
  464. package/dist/headless/quickMode.d.ts +26 -0
  465. package/dist/headless/quickMode.d.ts.map +1 -0
  466. package/dist/headless/quickMode.js +226 -0
  467. package/dist/headless/quickMode.js.map +1 -0
  468. package/dist/orchestration/index.d.ts +10 -0
  469. package/dist/orchestration/index.d.ts.map +1 -0
  470. package/dist/orchestration/index.js +13 -0
  471. package/dist/orchestration/index.js.map +1 -0
  472. package/dist/orchestration/repoUpgradeRunner.d.ts +44 -0
  473. package/dist/orchestration/repoUpgradeRunner.d.ts.map +1 -0
  474. package/dist/orchestration/repoUpgradeRunner.js +375 -0
  475. package/dist/orchestration/repoUpgradeRunner.js.map +1 -0
  476. package/dist/orchestration/securityAuditRunner.d.ts +144 -0
  477. package/dist/orchestration/securityAuditRunner.d.ts.map +1 -0
  478. package/dist/orchestration/securityAuditRunner.js +526 -0
  479. package/dist/orchestration/securityAuditRunner.js.map +1 -0
  480. package/dist/plugins/index.d.ts +49 -0
  481. package/dist/plugins/index.d.ts.map +1 -0
  482. package/dist/plugins/index.js +105 -0
  483. package/dist/plugins/index.js.map +1 -0
  484. package/dist/plugins/providers/deepseek/index.d.ts +11 -0
  485. package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
  486. package/dist/plugins/providers/deepseek/index.js +54 -0
  487. package/dist/plugins/providers/deepseek/index.js.map +1 -0
  488. package/dist/plugins/providers/index.d.ts +2 -0
  489. package/dist/plugins/providers/index.d.ts.map +1 -0
  490. package/dist/plugins/providers/index.js +11 -0
  491. package/dist/plugins/providers/index.js.map +1 -0
  492. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +3 -0
  493. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
  494. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +27 -0
  495. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -0
  496. package/dist/plugins/tools/apple/secureApplePlugin.d.ts +3 -0
  497. package/dist/plugins/tools/apple/secureApplePlugin.d.ts.map +1 -0
  498. package/dist/plugins/tools/apple/secureApplePlugin.js +26 -0
  499. package/dist/plugins/tools/apple/secureApplePlugin.js.map +1 -0
  500. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts +3 -0
  501. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts.map +1 -0
  502. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js +9 -0
  503. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js.map +1 -0
  504. package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
  505. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
  506. package/dist/plugins/tools/bash/localBashPlugin.js +14 -0
  507. package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
  508. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts +3 -0
  509. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts.map +1 -0
  510. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js +27 -0
  511. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js.map +1 -0
  512. package/dist/plugins/tools/edit/editPlugin.d.ts +9 -0
  513. package/dist/plugins/tools/edit/editPlugin.d.ts.map +1 -0
  514. package/dist/plugins/tools/edit/editPlugin.js +15 -0
  515. package/dist/plugins/tools/edit/editPlugin.js.map +1 -0
  516. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +3 -0
  517. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +1 -0
  518. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +9 -0
  519. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +1 -0
  520. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
  521. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
  522. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +14 -0
  523. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
  524. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +3 -0
  525. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +1 -0
  526. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +9 -0
  527. package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +1 -0
  528. package/dist/plugins/tools/index.d.ts +3 -0
  529. package/dist/plugins/tools/index.d.ts.map +1 -0
  530. package/dist/plugins/tools/index.js +3 -0
  531. package/dist/plugins/tools/index.js.map +1 -0
  532. package/dist/plugins/tools/integrity/integrityPlugin.d.ts +3 -0
  533. package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +1 -0
  534. package/dist/plugins/tools/integrity/integrityPlugin.js +31 -0
  535. package/dist/plugins/tools/integrity/integrityPlugin.js.map +1 -0
  536. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +3 -0
  537. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +1 -0
  538. package/dist/plugins/tools/mcp/mcpPlugin.js +27 -0
  539. package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
  540. package/dist/plugins/tools/nodeDefaults.d.ts +15 -0
  541. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
  542. package/dist/plugins/tools/nodeDefaults.js +37 -0
  543. package/dist/plugins/tools/nodeDefaults.js.map +1 -0
  544. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts +3 -0
  545. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts.map +1 -0
  546. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js +9 -0
  547. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js.map +1 -0
  548. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +3 -0
  549. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +1 -0
  550. package/dist/plugins/tools/orchestration/orchestrationPlugin.js +340 -0
  551. package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +1 -0
  552. package/dist/plugins/tools/registry.d.ts +22 -0
  553. package/dist/plugins/tools/registry.d.ts.map +1 -0
  554. package/dist/plugins/tools/registry.js +58 -0
  555. package/dist/plugins/tools/registry.js.map +1 -0
  556. package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
  557. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
  558. package/dist/plugins/tools/search/localSearchPlugin.js +14 -0
  559. package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
  560. package/dist/plugins/tools/skills/skillPlugin.d.ts +3 -0
  561. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +1 -0
  562. package/dist/plugins/tools/skills/skillPlugin.js +27 -0
  563. package/dist/plugins/tools/skills/skillPlugin.js.map +1 -0
  564. package/dist/plugins/tools/tao/secureTaoPlugin.d.ts +3 -0
  565. package/dist/plugins/tools/tao/secureTaoPlugin.d.ts.map +1 -0
  566. package/dist/plugins/tools/tao/secureTaoPlugin.js +37 -0
  567. package/dist/plugins/tools/tao/secureTaoPlugin.js.map +1 -0
  568. package/dist/providers/baseProvider.d.ts +148 -0
  569. package/dist/providers/baseProvider.d.ts.map +1 -0
  570. package/dist/providers/baseProvider.js +284 -0
  571. package/dist/providers/baseProvider.js.map +1 -0
  572. package/dist/providers/openaiChatCompletionsProvider.d.ts +64 -0
  573. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  574. package/dist/providers/openaiChatCompletionsProvider.js +1000 -0
  575. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  576. package/dist/providers/providerFactory.d.ts +22 -0
  577. package/dist/providers/providerFactory.d.ts.map +1 -0
  578. package/dist/providers/providerFactory.js +25 -0
  579. package/dist/providers/providerFactory.js.map +1 -0
  580. package/dist/providers/resilientProvider.d.ts +103 -0
  581. package/dist/providers/resilientProvider.d.ts.map +1 -0
  582. package/dist/providers/resilientProvider.js +462 -0
  583. package/dist/providers/resilientProvider.js.map +1 -0
  584. package/dist/runtime/agentController.d.ts +114 -0
  585. package/dist/runtime/agentController.d.ts.map +1 -0
  586. package/dist/runtime/agentController.js +693 -0
  587. package/dist/runtime/agentController.js.map +1 -0
  588. package/dist/runtime/agentHost.d.ts +61 -0
  589. package/dist/runtime/agentHost.d.ts.map +1 -0
  590. package/dist/runtime/agentHost.js +157 -0
  591. package/dist/runtime/agentHost.js.map +1 -0
  592. package/dist/runtime/agentSession.d.ts +45 -0
  593. package/dist/runtime/agentSession.d.ts.map +1 -0
  594. package/dist/runtime/agentSession.js +210 -0
  595. package/dist/runtime/agentSession.js.map +1 -0
  596. package/dist/runtime/agentWorkerPool.d.ts +167 -0
  597. package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
  598. package/dist/runtime/agentWorkerPool.js +435 -0
  599. package/dist/runtime/agentWorkerPool.js.map +1 -0
  600. package/dist/runtime/node.d.ts +7 -0
  601. package/dist/runtime/node.d.ts.map +1 -0
  602. package/dist/runtime/node.js +24 -0
  603. package/dist/runtime/node.js.map +1 -0
  604. package/dist/runtime/universal.d.ts +18 -0
  605. package/dist/runtime/universal.d.ts.map +1 -0
  606. package/dist/runtime/universal.js +21 -0
  607. package/dist/runtime/universal.js.map +1 -0
  608. package/dist/shell/autoExecutor.d.ts +70 -0
  609. package/dist/shell/autoExecutor.d.ts.map +1 -0
  610. package/dist/shell/autoExecutor.js +320 -0
  611. package/dist/shell/autoExecutor.js.map +1 -0
  612. package/dist/shell/commandRegistry.d.ts +122 -0
  613. package/dist/shell/commandRegistry.d.ts.map +1 -0
  614. package/dist/shell/commandRegistry.js +386 -0
  615. package/dist/shell/commandRegistry.js.map +1 -0
  616. package/dist/shell/composableMessage.d.ts +183 -0
  617. package/dist/shell/composableMessage.d.ts.map +1 -0
  618. package/dist/shell/composableMessage.js +420 -0
  619. package/dist/shell/composableMessage.js.map +1 -0
  620. package/dist/shell/liveStatus.d.ts +27 -0
  621. package/dist/shell/liveStatus.d.ts.map +1 -0
  622. package/dist/shell/liveStatus.js +53 -0
  623. package/dist/shell/liveStatus.js.map +1 -0
  624. package/dist/shell/systemPrompt.d.ts +12 -0
  625. package/dist/shell/systemPrompt.d.ts.map +1 -0
  626. package/dist/shell/systemPrompt.js +16 -0
  627. package/dist/shell/systemPrompt.js.map +1 -0
  628. package/dist/shell/vimMode.d.ts +66 -0
  629. package/dist/shell/vimMode.d.ts.map +1 -0
  630. package/dist/shell/vimMode.js +435 -0
  631. package/dist/shell/vimMode.js.map +1 -0
  632. package/dist/tools/bashTools.d.ts +6 -0
  633. package/dist/tools/bashTools.d.ts.map +1 -0
  634. package/dist/tools/bashTools.js +485 -0
  635. package/dist/tools/bashTools.js.map +1 -0
  636. package/dist/tools/diffUtils.d.ts +43 -0
  637. package/dist/tools/diffUtils.d.ts.map +1 -0
  638. package/dist/tools/diffUtils.js +607 -0
  639. package/dist/tools/diffUtils.js.map +1 -0
  640. package/dist/tools/editTools.d.ts +29 -0
  641. package/dist/tools/editTools.d.ts.map +1 -0
  642. package/dist/tools/editTools.js +702 -0
  643. package/dist/tools/editTools.js.map +1 -0
  644. package/dist/tools/emailTools.d.ts +140 -0
  645. package/dist/tools/emailTools.d.ts.map +1 -0
  646. package/dist/tools/emailTools.js +792 -0
  647. package/dist/tools/emailTools.js.map +1 -0
  648. package/dist/tools/fileReadTracker.d.ts +69 -0
  649. package/dist/tools/fileReadTracker.d.ts.map +1 -0
  650. package/dist/tools/fileReadTracker.js +213 -0
  651. package/dist/tools/fileReadTracker.js.map +1 -0
  652. package/dist/tools/fileTools.d.ts +3 -0
  653. package/dist/tools/fileTools.d.ts.map +1 -0
  654. package/dist/tools/fileTools.js +342 -0
  655. package/dist/tools/fileTools.js.map +1 -0
  656. package/dist/tools/grepTools.d.ts +3 -0
  657. package/dist/tools/grepTools.d.ts.map +1 -0
  658. package/dist/tools/grepTools.js +129 -0
  659. package/dist/tools/grepTools.js.map +1 -0
  660. package/dist/tools/humanOpsTools.d.ts +3 -0
  661. package/dist/tools/humanOpsTools.d.ts.map +1 -0
  662. package/dist/tools/humanOpsTools.js +86 -0
  663. package/dist/tools/humanOpsTools.js.map +1 -0
  664. package/dist/tools/localExplore.d.ts +38 -0
  665. package/dist/tools/localExplore.d.ts.map +1 -0
  666. package/dist/tools/localExplore.js +30 -0
  667. package/dist/tools/localExplore.js.map +1 -0
  668. package/dist/tools/metaTools.d.ts +3 -0
  669. package/dist/tools/metaTools.d.ts.map +1 -0
  670. package/dist/tools/metaTools.js +148 -0
  671. package/dist/tools/metaTools.js.map +1 -0
  672. package/dist/tools/planningTools.d.ts +12 -0
  673. package/dist/tools/planningTools.d.ts.map +1 -0
  674. package/dist/tools/planningTools.js +75 -0
  675. package/dist/tools/planningTools.js.map +1 -0
  676. package/dist/tools/searchTools.d.ts +12 -0
  677. package/dist/tools/searchTools.d.ts.map +1 -0
  678. package/dist/tools/searchTools.js +370 -0
  679. package/dist/tools/searchTools.js.map +1 -0
  680. package/dist/tools/secureAppleExploitation.d.ts +29 -0
  681. package/dist/tools/secureAppleExploitation.d.ts.map +1 -0
  682. package/dist/tools/secureAppleExploitation.js +518 -0
  683. package/dist/tools/secureAppleExploitation.js.map +1 -0
  684. package/dist/tools/telemetryTools.d.ts +5 -0
  685. package/dist/tools/telemetryTools.d.ts.map +1 -0
  686. package/dist/tools/telemetryTools.js +9 -0
  687. package/dist/tools/telemetryTools.js.map +1 -0
  688. package/dist/tools/unifiedOps.d.ts +3 -0
  689. package/dist/tools/unifiedOps.d.ts.map +1 -0
  690. package/dist/tools/unifiedOps.js +57 -0
  691. package/dist/tools/unifiedOps.js.map +1 -0
  692. package/dist/tools/webTools.d.ts +26 -0
  693. package/dist/tools/webTools.d.ts.map +1 -0
  694. package/dist/tools/webTools.js +227 -0
  695. package/dist/tools/webTools.js.map +1 -0
  696. package/dist/ui/PromptController.d.ts +174 -0
  697. package/dist/ui/PromptController.d.ts.map +1 -0
  698. package/dist/ui/PromptController.js +351 -0
  699. package/dist/ui/PromptController.js.map +1 -0
  700. package/dist/ui/UnifiedUIRenderer.d.ts +779 -0
  701. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -0
  702. package/dist/ui/UnifiedUIRenderer.js +5458 -0
  703. package/dist/ui/UnifiedUIRenderer.js.map +1 -0
  704. package/dist/ui/animatedStatus.d.ts +140 -0
  705. package/dist/ui/animatedStatus.d.ts.map +1 -0
  706. package/dist/ui/animatedStatus.js +480 -0
  707. package/dist/ui/animatedStatus.js.map +1 -0
  708. package/dist/ui/animation/AnimationScheduler.d.ts +197 -0
  709. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
  710. package/dist/ui/animation/AnimationScheduler.js +440 -0
  711. package/dist/ui/animation/AnimationScheduler.js.map +1 -0
  712. package/dist/ui/codeHighlighter.d.ts +6 -0
  713. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  714. package/dist/ui/codeHighlighter.js +855 -0
  715. package/dist/ui/codeHighlighter.js.map +1 -0
  716. package/dist/ui/designSystem.d.ts +26 -0
  717. package/dist/ui/designSystem.d.ts.map +1 -0
  718. package/dist/ui/designSystem.js +114 -0
  719. package/dist/ui/designSystem.js.map +1 -0
  720. package/dist/ui/errorFormatter.d.ts +64 -0
  721. package/dist/ui/errorFormatter.d.ts.map +1 -0
  722. package/dist/ui/errorFormatter.js +316 -0
  723. package/dist/ui/errorFormatter.js.map +1 -0
  724. package/dist/ui/globalWriteLock.d.ts +63 -0
  725. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  726. package/dist/ui/globalWriteLock.js +173 -0
  727. package/dist/ui/globalWriteLock.js.map +1 -0
  728. package/dist/ui/index.d.ts +32 -0
  729. package/dist/ui/index.d.ts.map +1 -0
  730. package/dist/ui/index.js +54 -0
  731. package/dist/ui/index.js.map +1 -0
  732. package/dist/ui/interrupts/InterruptManager.d.ts +157 -0
  733. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
  734. package/dist/ui/interrupts/InterruptManager.js +501 -0
  735. package/dist/ui/interrupts/InterruptManager.js.map +1 -0
  736. package/dist/ui/layout.d.ts +27 -0
  737. package/dist/ui/layout.d.ts.map +1 -0
  738. package/dist/ui/layout.js +184 -0
  739. package/dist/ui/layout.js.map +1 -0
  740. package/dist/ui/maxOffensiveUkraineUI.d.ts +94 -0
  741. package/dist/ui/maxOffensiveUkraineUI.d.ts.map +1 -0
  742. package/dist/ui/maxOffensiveUkraineUI.js +316 -0
  743. package/dist/ui/maxOffensiveUkraineUI.js.map +1 -0
  744. package/dist/ui/outputMode.d.ts +44 -0
  745. package/dist/ui/outputMode.d.ts.map +1 -0
  746. package/dist/ui/outputMode.js +123 -0
  747. package/dist/ui/outputMode.js.map +1 -0
  748. package/dist/ui/overlay/OverlayManager.d.ts +105 -0
  749. package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
  750. package/dist/ui/overlay/OverlayManager.js +291 -0
  751. package/dist/ui/overlay/OverlayManager.js.map +1 -0
  752. package/dist/ui/premiumComponents.d.ts +54 -0
  753. package/dist/ui/premiumComponents.d.ts.map +1 -0
  754. package/dist/ui/premiumComponents.js +241 -0
  755. package/dist/ui/premiumComponents.js.map +1 -0
  756. package/dist/ui/richText.d.ts +13 -0
  757. package/dist/ui/richText.d.ts.map +1 -0
  758. package/dist/ui/richText.js +443 -0
  759. package/dist/ui/richText.js.map +1 -0
  760. package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
  761. package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
  762. package/dist/ui/telemetry/ResponseTracker.js +60 -0
  763. package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
  764. package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
  765. package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
  766. package/dist/ui/telemetry/UITelemetry.js +446 -0
  767. package/dist/ui/telemetry/UITelemetry.js.map +1 -0
  768. package/dist/ui/textHighlighter.d.ts +83 -0
  769. package/dist/ui/textHighlighter.d.ts.map +1 -0
  770. package/dist/ui/textHighlighter.js +267 -0
  771. package/dist/ui/textHighlighter.js.map +1 -0
  772. package/dist/ui/theme.d.ts +364 -0
  773. package/dist/ui/theme.d.ts.map +1 -0
  774. package/dist/ui/theme.js +471 -0
  775. package/dist/ui/theme.js.map +1 -0
  776. package/dist/ui/toolDisplay.d.ts +221 -0
  777. package/dist/ui/toolDisplay.d.ts.map +1 -0
  778. package/dist/ui/toolDisplay.js +1654 -0
  779. package/dist/ui/toolDisplay.js.map +1 -0
  780. package/dist/ui/uiConstants.d.ts +288 -0
  781. package/dist/ui/uiConstants.d.ts.map +1 -0
  782. package/dist/ui/uiConstants.js +472 -0
  783. package/dist/ui/uiConstants.js.map +1 -0
  784. package/dist/utils/askUserPrompt.d.ts +21 -0
  785. package/dist/utils/askUserPrompt.d.ts.map +1 -0
  786. package/dist/utils/askUserPrompt.js +87 -0
  787. package/dist/utils/askUserPrompt.js.map +1 -0
  788. package/dist/utils/asyncUtils.d.ts +95 -0
  789. package/dist/utils/asyncUtils.d.ts.map +1 -0
  790. package/dist/utils/asyncUtils.js +286 -0
  791. package/dist/utils/asyncUtils.js.map +1 -0
  792. package/dist/utils/debugLogger.d.ts +6 -0
  793. package/dist/utils/debugLogger.d.ts.map +1 -0
  794. package/dist/utils/debugLogger.js +39 -0
  795. package/dist/utils/debugLogger.js.map +1 -0
  796. package/dist/utils/errorUtils.d.ts +12 -0
  797. package/dist/utils/errorUtils.d.ts.map +1 -0
  798. package/dist/utils/errorUtils.js +83 -0
  799. package/dist/utils/errorUtils.js.map +1 -0
  800. package/dist/utils/frontmatter.d.ts +10 -0
  801. package/dist/utils/frontmatter.d.ts.map +1 -0
  802. package/dist/utils/frontmatter.js +78 -0
  803. package/dist/utils/frontmatter.js.map +1 -0
  804. package/dist/utils/packageInfo.d.ts +14 -0
  805. package/dist/utils/packageInfo.d.ts.map +1 -0
  806. package/dist/utils/packageInfo.js +45 -0
  807. package/dist/utils/packageInfo.js.map +1 -0
  808. package/dist/utils/planFormatter.d.ts +34 -0
  809. package/dist/utils/planFormatter.d.ts.map +1 -0
  810. package/dist/utils/planFormatter.js +141 -0
  811. package/dist/utils/planFormatter.js.map +1 -0
  812. package/dist/utils/securityUtils.d.ts +132 -0
  813. package/dist/utils/securityUtils.d.ts.map +1 -0
  814. package/dist/utils/securityUtils.js +324 -0
  815. package/dist/utils/securityUtils.js.map +1 -0
  816. package/dist/workspace.d.ts +8 -0
  817. package/dist/workspace.d.ts.map +1 -0
  818. package/dist/workspace.js +134 -0
  819. package/dist/workspace.js.map +1 -0
  820. package/dist/workspace.validator.d.ts +49 -0
  821. package/dist/workspace.validator.d.ts.map +1 -0
  822. package/dist/workspace.validator.js +215 -0
  823. package/dist/workspace.validator.js.map +1 -0
  824. package/package.json +108 -0
@@ -0,0 +1,1003 @@
1
+ import { existsSync, readFileSync, readdirSync, writeFileSync, mkdirSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ import { UnifiedOrchestrator } from './unifiedOrchestrator.js';
5
+ import { ParallelExecutor, createTask } from './parallelExecutor.js';
6
+ import { DEFAULT_HUMAN_REWARD_WEIGHTS, runDualTournament, } from './dualTournament.js';
7
+ import { resolveWinner as resolveWinnerStrategy } from './winnerStrategy.js';
8
+ export const DEFAULT_REWARD_WEIGHTS = {
9
+ executionSuccess: 0.25,
10
+ testsPassed: 0.30,
11
+ staticAnalysis: 0.15,
12
+ codeQuality: 0.10,
13
+ blastRadius: 0.10,
14
+ selfAssessment: 0.05,
15
+ speedBonus: 0.05,
16
+ };
17
+ /**
18
+ * Calculate composite reward score from individual signals.
19
+ */
20
+ export function calculateRewardScore(signals, weights = DEFAULT_REWARD_WEIGHTS) {
21
+ let score = 0;
22
+ let totalWeight = 0;
23
+ for (const [key, weight] of Object.entries(weights)) {
24
+ const signal = signals[key];
25
+ if (typeof signal === 'number') {
26
+ score += signal * weight;
27
+ totalWeight += weight;
28
+ }
29
+ }
30
+ return totalWeight > 0 ? score / totalWeight : 0;
31
+ }
32
+ /**
33
+ * Extract reward signals from execution output text.
34
+ */
35
+ export function extractRewardSignals(output, durationMs, baselineDurationMs = 60000) {
36
+ const lower = output.toLowerCase();
37
+ const signals = {};
38
+ const clamp = (value) => Math.max(0, Math.min(1, value));
39
+ // Execution success - no error keywords
40
+ const hasErrors = /\b(error|exception|failed|failure|fatal)\b/i.test(output);
41
+ signals.executionSuccess = hasErrors ? 0 : 1;
42
+ // Tests passed - look for test result patterns
43
+ const testMatch = output.match(/(\d+)\s*(?:tests?\s*)?pass(?:ed|ing)?/i);
44
+ const failMatch = output.match(/(\d+)\s*(?:tests?\s*)?fail(?:ed|ing)?/i);
45
+ if (testMatch || failMatch) {
46
+ const passed = parseInt(testMatch?.[1] ?? '0', 10);
47
+ const failed = parseInt(failMatch?.[1] ?? '0', 10);
48
+ const total = passed + failed;
49
+ signals.testsPassed = total > 0 ? passed / total : (/pass|success|✓/i.test(lower) ? 1 : 0.5);
50
+ }
51
+ else if (/all tests pass|tests passing|✓.*test/i.test(lower)) {
52
+ signals.testsPassed = 1;
53
+ }
54
+ // Static analysis - lint/type check patterns
55
+ if (/lint.*pass|no.*lint.*error|eslint.*clean|tsc.*success/i.test(lower)) {
56
+ signals.staticAnalysis = 1;
57
+ }
58
+ else if (/lint.*warn|eslint.*warn/i.test(lower)) {
59
+ signals.staticAnalysis = 0.7;
60
+ }
61
+ else if (/lint.*error|type.*error|eslint.*error/i.test(lower)) {
62
+ signals.staticAnalysis = 0.3;
63
+ }
64
+ // Code quality heuristics (TODO/HACK penalties vs cleanup/refactor bonuses)
65
+ if (/todo|hack|workaround|temporary fix/i.test(lower)) {
66
+ signals.codeQuality = 0.45;
67
+ }
68
+ else if (/refactor|cleanup|simplif|reducing complexity|streamlined/i.test(lower)) {
69
+ signals.codeQuality = Math.max(signals.codeQuality ?? 0, 0.65);
70
+ }
71
+ // Blast radius approximation from diff summaries / dependency adds
72
+ const diffMatch = output.match(/(\d+)\s+files?\s+changed/i);
73
+ if (diffMatch) {
74
+ const filesChanged = parseInt(diffMatch[1] ?? '0', 10);
75
+ signals.blastRadius = clamp(1 - Math.min(1, filesChanged / 8));
76
+ }
77
+ if (/npm install|yarn add|pnpm add|pip install|go get|cargo add/i.test(lower)) {
78
+ signals.blastRadius = clamp((signals.blastRadius ?? 0.6) - 0.15);
79
+ }
80
+ // Self-assessment from confidence keywords
81
+ if (/confident|verified|validated|confirmed/i.test(lower)) {
82
+ signals.selfAssessment = 0.9;
83
+ }
84
+ else if (/likely|probably|should work/i.test(lower)) {
85
+ signals.selfAssessment = 0.6;
86
+ }
87
+ else if (/uncertain|unclear|might|may/i.test(lower)) {
88
+ signals.selfAssessment = 0.3;
89
+ }
90
+ // Speed bonus - faster than baseline gets bonus
91
+ if (durationMs > 0 && baselineDurationMs > 0) {
92
+ const speedRatio = baselineDurationMs / durationMs;
93
+ signals.speedBonus = Math.min(1, Math.max(0, (speedRatio - 0.5) / 1.5));
94
+ }
95
+ return signals;
96
+ }
97
+ export const REPO_UPGRADE_MODE_DEFINITIONS = {
98
+ 'single-continuous': {
99
+ id: 'single-continuous',
100
+ label: 'Single continuous',
101
+ description: 'Single-pass deterministic execution focused on minimal blast radius.',
102
+ variants: ['primary'],
103
+ variantGuidance: {
104
+ primary: 'Plan and execute the best possible upgrade in one pass. Keep edits surgical and runnable.',
105
+ },
106
+ parallelVariants: false,
107
+ },
108
+ 'dual-rl-continuous': {
109
+ id: 'dual-rl-continuous',
110
+ label: 'Dual-agent RL continuous',
111
+ description: 'Primary + refiner loop where the refiner competes to improve safety and quality. Refiner sees primary output.',
112
+ variants: ['primary', 'refiner'],
113
+ variantGuidance: {
114
+ primary: 'Primary pass sets the baseline plan and changes with conservative scope and runnable checks.',
115
+ refiner: 'RL refiner critiques the primary, fixes gaps, tightens safety, and only repeats steps if they materially improve the result.',
116
+ },
117
+ refinerBias: 0.05,
118
+ parallelVariants: false, // Sequential so refiner can see primary's work
119
+ },
120
+ 'dual-rl-tournament': {
121
+ id: 'dual-rl-tournament',
122
+ label: 'Dual-agent RL tournament',
123
+ description: 'Primary and refiner compete in parallel with isolated workspaces. Best result wins per step.',
124
+ variants: ['primary', 'refiner'],
125
+ variantGuidance: {
126
+ primary: 'Execute the upgrade with focus on correctness and test coverage. You are competing against another agent.',
127
+ refiner: 'Execute the upgrade with focus on safety and minimal changes. You are competing against another agent.',
128
+ },
129
+ refinerBias: 0.03, // Lower bias since both start fresh
130
+ parallelVariants: true, // Run in parallel with git worktree isolation
131
+ },
132
+ };
133
+ /**
134
+ * Build a repo-wide upgrade plan using common directories. Falls back to a single
135
+ * catch-all module when no known scopes are found.
136
+ */
137
+ export function buildRepoWidePlan(workspaceRoot, additionalScopes = []) {
138
+ const areas = [
139
+ {
140
+ id: 'source',
141
+ label: 'Source',
142
+ description: 'Core application and library code.',
143
+ scope: ['src/**/*', 'lib/**/*'],
144
+ candidates: ['src', 'lib'],
145
+ codemodCommands: ['npx jscodeshift -t <transform> src'],
146
+ validationCommands: ['npm run build', 'npm test'],
147
+ },
148
+ {
149
+ id: 'tests',
150
+ label: 'Tests',
151
+ description: 'Unit, integration, and smoke tests.',
152
+ scope: ['test/**/*', '__tests__/**/*'],
153
+ candidates: ['test', '__tests__'],
154
+ validationCommands: ['npm test -- --runInBand', 'npm run lint'],
155
+ },
156
+ {
157
+ id: 'docs',
158
+ label: 'Docs',
159
+ description: 'Documentation and guides.',
160
+ scope: ['docs/**/*', 'README.md'],
161
+ candidates: ['docs', 'README.md'],
162
+ },
163
+ {
164
+ id: 'scripts',
165
+ label: 'Tooling Scripts',
166
+ description: 'Build, migration, and maintenance scripts.',
167
+ scope: ['scripts/**/*'],
168
+ candidates: ['scripts'],
169
+ validationCommands: ['npm run lint -- scripts/**/*.ts'],
170
+ },
171
+ {
172
+ id: 'agents',
173
+ label: 'Agents',
174
+ description: 'Agent rules and behaviors.',
175
+ scope: ['agents/**/*'],
176
+ candidates: ['agents'],
177
+ validationCommands: ['npm run build'],
178
+ },
179
+ {
180
+ id: 'skills',
181
+ label: 'Skills',
182
+ description: 'Skill packs and reusable automation.',
183
+ scope: ['skills/**/*'],
184
+ candidates: ['skills'],
185
+ validationCommands: ['npm run build'],
186
+ },
187
+ {
188
+ id: 'examples',
189
+ label: 'Examples',
190
+ description: 'Example flows and templates.',
191
+ scope: ['examples/**/*'],
192
+ candidates: ['examples'],
193
+ },
194
+ {
195
+ id: 'configs',
196
+ label: 'Configuration',
197
+ description: 'Configuration and deployment settings.',
198
+ scope: ['config/**/*', '*.config.*', '*.rc', '*.json'],
199
+ candidates: ['config'],
200
+ },
201
+ ];
202
+ for (const extra of additionalScopes) {
203
+ if (!extra?.trim())
204
+ continue;
205
+ const slug = extra.replace(/[^\w]/g, '-').toLowerCase() || 'custom';
206
+ areas.push({
207
+ id: `custom-${slug}`,
208
+ label: `Custom: ${extra}`,
209
+ description: `User-specified scope: ${extra}`,
210
+ scope: [`${extra}/**/*`],
211
+ candidates: [extra],
212
+ });
213
+ }
214
+ const modules = [];
215
+ const workspaceModules = detectWorkspaceModules(workspaceRoot);
216
+ modules.push(...workspaceModules);
217
+ for (const area of areas) {
218
+ const matches = area.candidates.some((candidate) => existsSync(join(workspaceRoot, candidate)));
219
+ if (!matches) {
220
+ continue;
221
+ }
222
+ modules.push({
223
+ id: area.id,
224
+ label: area.label,
225
+ description: area.description,
226
+ scope: area.scope,
227
+ codemodCommands: area.codemodCommands,
228
+ validationCommands: area.validationCommands,
229
+ steps: buildDefaultSteps(area.id),
230
+ });
231
+ }
232
+ if (modules.length === 0) {
233
+ modules.push({
234
+ id: 'repo-wide',
235
+ label: 'Repository',
236
+ description: 'Fallback repo-wide upgrade module.',
237
+ scope: ['**/*'],
238
+ steps: buildDefaultSteps('repo'),
239
+ });
240
+ }
241
+ return { modules };
242
+ }
243
+ function detectWorkspaceModules(workspaceRoot) {
244
+ const pkgPath = join(workspaceRoot, 'package.json');
245
+ if (!existsSync(pkgPath)) {
246
+ return [];
247
+ }
248
+ let workspaces = [];
249
+ try {
250
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
251
+ workspaces = parseWorkspaceField(pkg?.workspaces);
252
+ }
253
+ catch {
254
+ return [];
255
+ }
256
+ if (!workspaces.length) {
257
+ return [];
258
+ }
259
+ const modules = [];
260
+ const seen = new Set();
261
+ for (const pattern of workspaces) {
262
+ const paths = expandWorkspacePattern(workspaceRoot, pattern);
263
+ for (const relPath of paths) {
264
+ if (seen.has(relPath)) {
265
+ continue;
266
+ }
267
+ seen.add(relPath);
268
+ const cleanPath = relPath.replace(/\/+$/, '');
269
+ const name = cleanPath.split('/').filter(Boolean).pop() ?? cleanPath;
270
+ const normalizedPath = cleanPath.replace(/[/\\]+/g, '-');
271
+ const slug = `workspace-${normalizedPath.replace(/[^\w-]+/g, '-').replace(/-+/g, '-').toLowerCase() || 'default'}`;
272
+ modules.push({
273
+ id: slug,
274
+ label: `Workspace: ${name}`,
275
+ description: `Upgrade tasks scoped to workspace "${name}" (${cleanPath}).`,
276
+ scope: [`${cleanPath}/**/*`],
277
+ validationCommands: [
278
+ `npm test --workspace ${name} --if-present`,
279
+ `npm run lint --workspace ${name} --if-present`,
280
+ ],
281
+ steps: buildDefaultSteps(slug),
282
+ });
283
+ }
284
+ }
285
+ return modules;
286
+ }
287
+ function parseWorkspaceField(value) {
288
+ if (Array.isArray(value)) {
289
+ return value.map((entry) => (typeof entry === 'string' ? entry.trim() : '')).filter(Boolean);
290
+ }
291
+ if (value && typeof value === 'object') {
292
+ const record = value;
293
+ if (Array.isArray(record.packages)) {
294
+ return record.packages.map((entry) => (typeof entry === 'string' ? entry.trim() : '')).filter(Boolean);
295
+ }
296
+ }
297
+ return [];
298
+ }
299
+ function expandWorkspacePattern(workspaceRoot, pattern) {
300
+ const normalized = pattern.trim();
301
+ if (!normalized)
302
+ return [];
303
+ if (!normalized.includes('*')) {
304
+ const target = join(workspaceRoot, normalized);
305
+ return existsSync(target) ? [normalized] : [];
306
+ }
307
+ const base = normalized.split('*')[0]?.replace(/\/+$/, '') ?? '';
308
+ if (!base)
309
+ return [];
310
+ const baseDir = join(workspaceRoot, base);
311
+ if (!existsSync(baseDir))
312
+ return [];
313
+ try {
314
+ const entries = readdirSync(baseDir, { withFileTypes: true });
315
+ return entries.filter((entry) => entry.isDirectory()).map((entry) => `${base}/${entry.name}`);
316
+ }
317
+ catch {
318
+ return [];
319
+ }
320
+ }
321
+ export class RepoUpgradeOrchestrator extends UnifiedOrchestrator {
322
+ executor;
323
+ variantWorkspaceRoots;
324
+ repoPolicy;
325
+ parallelExecutor = null;
326
+ objective;
327
+ static repoTypeTelemetry = new Map();
328
+ /** Disable persisted telemetry via env or flag */
329
+ static disableTelemetryPersistence = process.env.AGI_DISABLE_RL_TELEMETRY === '1';
330
+ constructor(executor) {
331
+ super();
332
+ this.executor = executor;
333
+ }
334
+ /**
335
+ * Get or create a parallel executor instance
336
+ */
337
+ getParallelExecutor(concurrency) {
338
+ if (!this.parallelExecutor) {
339
+ this.parallelExecutor = new ParallelExecutor({
340
+ maxConcurrency: concurrency,
341
+ continueOnFailure: true,
342
+ onTaskEvent: (event) => {
343
+ this.emit({
344
+ type: `parallel.${event.type}`,
345
+ timestamp: event.timestamp,
346
+ data: event.data,
347
+ });
348
+ },
349
+ });
350
+ }
351
+ return this.parallelExecutor;
352
+ }
353
+ /**
354
+ * Execute the repo-wide plan using either single continuous or dual RL continuous mode.
355
+ * Supports parallel module processing and parallel variant execution for improved performance.
356
+ */
357
+ async run(plan, options) {
358
+ const mode = options.mode;
359
+ const continueOnFailure = options.continueOnFailure ?? true;
360
+ const objective = options.objective ?? 'Repository-wide source code upgrade';
361
+ const modeDefinition = getModeDefinition(mode);
362
+ this.objective = objective;
363
+ const parallelModules = options.parallelModules ?? false;
364
+ const parallelModuleConcurrency = options.parallelModuleConcurrency ?? 3;
365
+ const parallelVariants = options.parallelVariants ?? true;
366
+ this.variantWorkspaceRoots = options.variantWorkspaceRoots;
367
+ this.repoPolicy = options.repoPolicy ?? undefined;
368
+ // Reset state per run to keep reports clean
369
+ this.results = [];
370
+ this.findings = [];
371
+ this.parallelExecutor = null;
372
+ const variantStats = { primaryWins: 0, refinerWins: 0, ties: 0, totalSteps: 0 };
373
+ // Emit parallel mode info
374
+ this.emit({
375
+ type: 'upgrade.parallel.config',
376
+ timestamp: Date.now(),
377
+ data: {
378
+ parallelModules,
379
+ parallelModuleConcurrency,
380
+ parallelVariants,
381
+ mode,
382
+ },
383
+ });
384
+ let moduleReports;
385
+ if (parallelModules && plan.modules.length > 1) {
386
+ // PARALLEL MODULE PROCESSING
387
+ moduleReports = await this.runModulesInParallel(plan.modules, mode, modeDefinition, parallelModuleConcurrency, parallelVariants, continueOnFailure, variantStats);
388
+ }
389
+ else {
390
+ // SEQUENTIAL MODULE PROCESSING (original behavior)
391
+ moduleReports = await this.runModulesSequentially(plan.modules, mode, modeDefinition, parallelVariants, continueOnFailure, variantStats);
392
+ }
393
+ const baseReport = this.generateReport(objective);
394
+ return {
395
+ ...baseReport,
396
+ mode,
397
+ continueOnFailure,
398
+ modules: moduleReports,
399
+ variantStats,
400
+ variantWorkspaceRoots: this.variantWorkspaceRoots,
401
+ repoPolicy: this.repoPolicy,
402
+ };
403
+ }
404
+ /**
405
+ * Run modules sequentially (original behavior)
406
+ */
407
+ async runModulesSequentially(modules, mode, modeDefinition, parallelVariants, continueOnFailure, variantStats) {
408
+ const moduleReports = [];
409
+ let halted = false;
410
+ for (const module of modules) {
411
+ if (halted) {
412
+ moduleReports.push({
413
+ id: module.id,
414
+ label: module.label,
415
+ scope: module.scope,
416
+ steps: [],
417
+ status: 'skipped',
418
+ });
419
+ continue;
420
+ }
421
+ const moduleReport = await this.processModule(module, mode, modeDefinition, parallelVariants, variantStats, continueOnFailure);
422
+ moduleReports.push(moduleReport);
423
+ if (moduleReport.status === 'failed' && !continueOnFailure) {
424
+ halted = true;
425
+ }
426
+ }
427
+ return moduleReports;
428
+ }
429
+ /**
430
+ * Run modules in parallel using the ParallelExecutor
431
+ */
432
+ async runModulesInParallel(modules, mode, modeDefinition, concurrency, parallelVariants, continueOnFailure, variantStats) {
433
+ const executor = this.getParallelExecutor(concurrency);
434
+ this.emit({
435
+ type: 'upgrade.parallel.start',
436
+ timestamp: Date.now(),
437
+ data: { moduleCount: modules.length, concurrency },
438
+ });
439
+ // Create parallel tasks for each module
440
+ const tasks = modules.map((module) => createTask(`module:${module.id}`, async () => this.processModule(module, mode, modeDefinition, parallelVariants, variantStats, continueOnFailure), {
441
+ label: module.label,
442
+ parallelizable: true,
443
+ group: 'modules',
444
+ }));
445
+ const batchResult = await executor.execute(tasks);
446
+ this.emit({
447
+ type: 'upgrade.parallel.complete',
448
+ timestamp: Date.now(),
449
+ data: {
450
+ totalDurationMs: batchResult.totalDurationMs,
451
+ successCount: batchResult.successCount,
452
+ failureCount: batchResult.failureCount,
453
+ parallelismAchieved: batchResult.parallelismAchieved,
454
+ },
455
+ });
456
+ // Extract results in order, handling failures
457
+ const moduleReports = [];
458
+ for (const result of batchResult.results) {
459
+ if (result.status === 'completed' && result.result) {
460
+ moduleReports.push(result.result);
461
+ }
462
+ else {
463
+ // Create a failed report for tasks that couldn't complete
464
+ const moduleId = result.taskId.replace('module:', '');
465
+ const module = modules.find((m) => m.id === moduleId);
466
+ moduleReports.push({
467
+ id: moduleId,
468
+ label: module?.label ?? moduleId,
469
+ scope: module?.scope ?? [],
470
+ steps: [],
471
+ status: 'failed',
472
+ });
473
+ if (!continueOnFailure) {
474
+ // Mark remaining as skipped
475
+ break;
476
+ }
477
+ }
478
+ }
479
+ return moduleReports;
480
+ }
481
+ /**
482
+ * Process a single module (can be called in parallel or sequentially)
483
+ */
484
+ async processModule(module, mode, modeDefinition, parallelVariants, variantStats, continueOnFailure = true) {
485
+ this.emit({
486
+ type: 'upgrade.module.start',
487
+ timestamp: Date.now(),
488
+ data: { moduleId: module.id, label: module.label, scope: module.scope, mode },
489
+ });
490
+ const moduleReport = {
491
+ id: module.id,
492
+ label: module.label,
493
+ scope: module.scope,
494
+ codemodCommands: module.codemodCommands,
495
+ validationCommands: module.validationCommands,
496
+ steps: [],
497
+ status: 'completed',
498
+ };
499
+ for (const step of module.steps) {
500
+ const outcome = await this.runStep(module, step, mode, parallelVariants);
501
+ moduleReport.steps.push(outcome);
502
+ this.updateVariantStats(variantStats, outcome, modeDefinition);
503
+ if (!outcome.winner.success) {
504
+ moduleReport.status = 'failed';
505
+ // Stop processing this module's steps if continueOnFailure is false
506
+ if (!continueOnFailure) {
507
+ break;
508
+ }
509
+ }
510
+ }
511
+ this.emit({
512
+ type: 'upgrade.module.complete',
513
+ timestamp: Date.now(),
514
+ data: { moduleId: module.id, status: moduleReport.status },
515
+ });
516
+ return moduleReport;
517
+ }
518
+ async runStep(module, step, mode, parallelVariants = true) {
519
+ const modeDefinition = getModeDefinition(mode);
520
+ this.emit({
521
+ type: 'upgrade.step.start',
522
+ timestamp: Date.now(),
523
+ data: { moduleId: module.id, stepId: step.id, variant: 'primary', mode, parallelVariants },
524
+ });
525
+ const variantResults = {};
526
+ // Determine if we can run variants in parallel
527
+ // Parallel is possible when:
528
+ // 1. parallelVariants is enabled
529
+ // 2. We have both primary and refiner variants
530
+ // 3. We have separate workspace roots for each variant
531
+ const canRunParallel = parallelVariants &&
532
+ modeDefinition.variants.includes('refiner') &&
533
+ this.variantWorkspaceRoots?.refiner &&
534
+ this.variantWorkspaceRoots.refiner !== this.variantWorkspaceRoots.primary;
535
+ if (canRunParallel && modeDefinition.variants.length > 1) {
536
+ // PARALLEL VARIANT EXECUTION
537
+ this.emit({
538
+ type: 'upgrade.step.variants.parallel',
539
+ timestamp: Date.now(),
540
+ data: { moduleId: module.id, stepId: step.id, variants: modeDefinition.variants },
541
+ });
542
+ const variantPromises = modeDefinition.variants.map(async (variant) => {
543
+ const result = await this.safeExecuteVariant({
544
+ module,
545
+ step,
546
+ mode,
547
+ variant,
548
+ // In parallel mode, refiner doesn't get primary's result as it runs concurrently
549
+ previousResult: undefined,
550
+ workspaceRoot: this.variantWorkspaceRoots?.[variant] ?? this.variantWorkspaceRoots?.primary,
551
+ repoPolicy: this.repoPolicy,
552
+ });
553
+ return { variant, result };
554
+ });
555
+ const results = await Promise.all(variantPromises);
556
+ for (const { variant, result } of results) {
557
+ variantResults[variant] = result;
558
+ }
559
+ }
560
+ else {
561
+ // SEQUENTIAL VARIANT EXECUTION (original behavior)
562
+ // Refiner gets primary's result for informed refinement
563
+ for (const variant of modeDefinition.variants) {
564
+ const previousResult = variant === 'refiner' ? variantResults.primary : undefined;
565
+ const result = await this.safeExecuteVariant({
566
+ module,
567
+ step,
568
+ mode,
569
+ variant,
570
+ previousResult,
571
+ workspaceRoot: this.variantWorkspaceRoots?.[variant] ?? this.variantWorkspaceRoots?.primary,
572
+ repoPolicy: this.repoPolicy,
573
+ });
574
+ variantResults[variant] = result;
575
+ }
576
+ }
577
+ const primary = variantResults.primary;
578
+ const refiner = variantResults.refiner;
579
+ const tournamentOutcome = modeDefinition.parallelVariants
580
+ ? this.evaluateTournamentOutcome(module, step, modeDefinition, primary, refiner)
581
+ : null;
582
+ if (tournamentOutcome) {
583
+ this.attachTournamentBreakdown(variantResults, tournamentOutcome);
584
+ }
585
+ const { winner, winnerVariant } = resolveWinnerStrategy({ modeDefinition, variantResults, tournamentOutcome }, (definition, primaryResult, refinerResult) => this.pickWinner(definition, primaryResult, refinerResult));
586
+ this.recordOutcomeArtifacts(module, step, winner, winnerVariant);
587
+ const primaryScore = primary.tournament?.aggregateScore ?? primary.score;
588
+ const refinerScore = refiner?.tournament?.aggregateScore ?? refiner?.score;
589
+ const primaryAccuracy = primary.tournament?.humanAccuracy ?? primary.humanAccuracy;
590
+ const refinerAccuracy = refiner?.tournament?.humanAccuracy ?? refiner?.humanAccuracy;
591
+ this.emit({
592
+ type: 'upgrade.step.complete',
593
+ timestamp: Date.now(),
594
+ data: {
595
+ moduleId: module.id,
596
+ stepId: step.id,
597
+ variant: winnerVariant,
598
+ success: winner.success,
599
+ // Include outcome details for UI scoring
600
+ primaryScore,
601
+ primarySuccess: primary.success,
602
+ refinerScore,
603
+ refinerSuccess: refiner?.success,
604
+ winnerVariant,
605
+ primaryAccuracy,
606
+ refinerAccuracy,
607
+ tournamentRankings: tournamentOutcome?.ranked,
608
+ },
609
+ });
610
+ return {
611
+ stepId: step.id,
612
+ intent: step.intent,
613
+ description: step.description,
614
+ primary,
615
+ refiner,
616
+ winner,
617
+ winnerVariant,
618
+ status: winner.success ? 'completed' : 'failed',
619
+ };
620
+ }
621
+ evaluateTournamentOutcome(module, step, modeDefinition, primary, refiner) {
622
+ // Fast exits: if only one variant succeeded, avoid tournament overhead
623
+ if (primary.success && (!refiner || !refiner.success)) {
624
+ primary.humanAccuracy = 1;
625
+ if (refiner)
626
+ refiner.humanAccuracy = 0;
627
+ this.updateRepoTypeTelemetry(getRepoTypeFromModule(module), 'primary');
628
+ return null;
629
+ }
630
+ if (refiner?.success && !primary.success) {
631
+ refiner.humanAccuracy = 1;
632
+ primary.humanAccuracy = 0;
633
+ this.updateRepoTypeTelemetry(getRepoTypeFromModule(module), 'refiner');
634
+ return null;
635
+ }
636
+ // If neither variant succeeded, skip tournament aggregation for efficiency
637
+ if (!primary.success && (!refiner || !refiner.success)) {
638
+ return null;
639
+ }
640
+ const candidates = [
641
+ this.buildTournamentCandidate('primary', primary, modeDefinition),
642
+ ];
643
+ if (refiner) {
644
+ candidates.push(this.buildTournamentCandidate('refiner', refiner, modeDefinition));
645
+ }
646
+ const task = {
647
+ id: `${module.id}:${step.id}`,
648
+ goal: step.description,
649
+ constraints: module.scope,
650
+ metadata: {
651
+ module: module.label,
652
+ objective: this.objective,
653
+ repoPolicy: this.repoPolicy,
654
+ intent: step.intent,
655
+ },
656
+ };
657
+ const evaluatorConfig = buildEvaluatorConfig(module);
658
+ try {
659
+ return runDualTournament(task, candidates, {
660
+ rewardWeights: evaluatorConfig.rewardWeights,
661
+ evaluators: evaluatorConfig.evaluators,
662
+ maxCandidates: 8,
663
+ });
664
+ }
665
+ catch {
666
+ return null;
667
+ }
668
+ }
669
+ buildTournamentCandidate(variant, result, modeDefinition) {
670
+ const signals = result.rewardSignals ?? {};
671
+ const rawReward = typeof result.score === 'number' ? clampScore(result.score) : 0;
672
+ const adjustedReward = variant === 'refiner' ? clampScore(rawReward + (modeDefinition.refinerBias ?? 0)) : rawReward;
673
+ const evaluatorScores = [
674
+ { evaluatorId: 'reward-signal', score: adjustedReward, weight: 1 },
675
+ { evaluatorId: 'hard-metrics', score: signals.executionSuccess ?? (result.success ? 1 : 0), weight: 1.1 },
676
+ ];
677
+ if (typeof signals.testsPassed === 'number') {
678
+ evaluatorScores.push({ evaluatorId: 'tests', score: signals.testsPassed, weight: 0.8 });
679
+ }
680
+ if (typeof signals.staticAnalysis === 'number') {
681
+ evaluatorScores.push({ evaluatorId: 'static-analysis', score: signals.staticAnalysis, weight: 0.6 });
682
+ }
683
+ if (typeof signals.codeQuality === 'number' || typeof signals.blastRadius === 'number') {
684
+ const qualityScore = averageDefined([
685
+ signals.codeQuality,
686
+ signals.blastRadius,
687
+ signals.staticAnalysis,
688
+ ]);
689
+ if (!Number.isNaN(qualityScore)) {
690
+ evaluatorScores.push({ evaluatorId: 'quality', score: qualityScore, weight: 0.9 });
691
+ }
692
+ }
693
+ return {
694
+ id: variant,
695
+ policyId: variant,
696
+ patchSummary: result.summary,
697
+ metrics: {
698
+ executionSuccess: signals.executionSuccess ?? (result.success ? 1 : 0),
699
+ testsPassed: signals.testsPassed,
700
+ staticAnalysis: signals.staticAnalysis,
701
+ codeQuality: signals.codeQuality,
702
+ blastRadius: signals.blastRadius,
703
+ speedBonus: signals.speedBonus,
704
+ },
705
+ signals: {
706
+ rewardModelScore: adjustedReward,
707
+ selfAssessment: signals.selfAssessment,
708
+ },
709
+ evaluatorScores: evaluatorScores ?? [],
710
+ rawOutput: result.detail,
711
+ };
712
+ }
713
+ attachTournamentBreakdown(variantResults, outcome) {
714
+ for (const entry of outcome.ranked) {
715
+ const variant = entry.candidateId;
716
+ const target = variantResults[variant];
717
+ if (target) {
718
+ target.tournament = entry;
719
+ target.humanAccuracy = entry.humanAccuracy;
720
+ }
721
+ }
722
+ // Update telemetry based on winner to auto-tune per repo type
723
+ const top = outcome.ranked[0];
724
+ if (top) {
725
+ const repoType = getRepoTypeFromOutcomeMetadata(outcome.task);
726
+ this.updateRepoTypeTelemetry(repoType, top.candidateId);
727
+ }
728
+ }
729
+ async safeExecuteVariant(input) {
730
+ try {
731
+ return await this.executor(input);
732
+ }
733
+ catch (error) {
734
+ const message = error instanceof Error ? error.message : String(error);
735
+ return {
736
+ success: false,
737
+ summary: 'Execution failed',
738
+ detail: message,
739
+ score: 0,
740
+ durationMs: 0,
741
+ execution: {
742
+ success: false,
743
+ output: 'Execution failed',
744
+ duration: 0,
745
+ command: `${input.module.id}/${input.step.id}/${input.variant}`,
746
+ error: message,
747
+ },
748
+ notes: ['Executor threw an error'],
749
+ };
750
+ }
751
+ }
752
+ pickWinner(definition, primary, refiner) {
753
+ if (!refiner || !definition.variants.includes('refiner')) {
754
+ return { winner: primary, winnerVariant: 'primary' };
755
+ }
756
+ if (refiner.success && !primary.success) {
757
+ return { winner: refiner, winnerVariant: 'refiner' };
758
+ }
759
+ if (primary.success && !refiner.success) {
760
+ return { winner: primary, winnerVariant: 'primary' };
761
+ }
762
+ const primaryScore = typeof primary.score === 'number' ? primary.score : 0;
763
+ const refinerScore = (typeof refiner.score === 'number' ? refiner.score : 0) + (definition.refinerBias ?? 0);
764
+ const primaryAccuracy = typeof primary.humanAccuracy === 'number' ? primary.humanAccuracy : 0;
765
+ const refinerAccuracy = typeof refiner.humanAccuracy === 'number' ? refiner.humanAccuracy : 0;
766
+ if (refinerScore > primaryScore) {
767
+ return { winner: refiner, winnerVariant: 'refiner' };
768
+ }
769
+ if (primaryScore > refinerScore) {
770
+ return { winner: primary, winnerVariant: 'primary' };
771
+ }
772
+ // Accuracy-aware tie break
773
+ if (refinerAccuracy > primaryAccuracy + 1e-6) {
774
+ return { winner: refiner, winnerVariant: 'refiner' };
775
+ }
776
+ if (primaryAccuracy > refinerAccuracy + 1e-6) {
777
+ return { winner: primary, winnerVariant: 'primary' };
778
+ }
779
+ // Tie breaker: prefer refiner to encourage RL exploration
780
+ return { winner: refiner, winnerVariant: 'refiner' };
781
+ }
782
+ recordOutcomeArtifacts(module, step, result, variant) {
783
+ if (result.findings?.length) {
784
+ this.findings.push(...result.findings);
785
+ }
786
+ const execution = result.execution ?? {
787
+ success: result.success,
788
+ output: result.summary,
789
+ duration: result.durationMs ?? 0,
790
+ command: `${module.id}/${step.id}/${variant}`,
791
+ error: result.success ? undefined : result.detail ?? result.summary,
792
+ };
793
+ // Ensure we only track a single winner record per step to keep reports clean
794
+ this.results.push(execution);
795
+ // Update telemetry after each recorded outcome
796
+ const repoType = getRepoTypeFromModule(module);
797
+ this.updateRepoTypeTelemetry(repoType, variant);
798
+ }
799
+ updateRepoTypeTelemetry(repoType, winner) {
800
+ updateRepoTypeTelemetryMap(repoType, winner);
801
+ }
802
+ updateVariantStats(stats, outcome, modeDefinition) {
803
+ stats.totalSteps += 1;
804
+ if (outcome.winnerVariant === 'refiner') {
805
+ stats.refinerWins += 1;
806
+ }
807
+ else {
808
+ stats.primaryWins += 1;
809
+ }
810
+ if (!outcome.refiner) {
811
+ return;
812
+ }
813
+ const primaryScore = typeof outcome.primary.score === 'number' ? outcome.primary.score : 0;
814
+ const primaryTournamentScore = typeof outcome.primary.tournament?.aggregateScore === 'number'
815
+ ? outcome.primary.tournament.aggregateScore
816
+ : primaryScore;
817
+ const refinerScoreRaw = typeof outcome.refiner.tournament?.aggregateScore === 'number'
818
+ ? outcome.refiner.tournament.aggregateScore
819
+ : typeof outcome.refiner.score === 'number'
820
+ ? outcome.refiner.score
821
+ : 0;
822
+ const refinerScore = refinerScoreRaw + (modeDefinition.refinerBias ?? 0);
823
+ const scoresClose = Math.abs(primaryTournamentScore - refinerScore) < 1e-6;
824
+ const bothSucceeded = outcome.primary.success && outcome.refiner.success;
825
+ if (bothSucceeded && scoresClose) {
826
+ stats.ties += 1;
827
+ }
828
+ }
829
+ }
830
+ export function clampScore(value, min = 0, max = 1) {
831
+ if (!Number.isFinite(value))
832
+ return min;
833
+ return Math.max(min, Math.min(max, value));
834
+ }
835
+ function averageDefined(values) {
836
+ const nums = values.filter((v) => typeof v === 'number');
837
+ if (!nums.length)
838
+ return NaN;
839
+ const total = nums.reduce((sum, val) => sum + val, 0);
840
+ return total / nums.length;
841
+ }
842
+ function buildEvaluatorConfig(module) {
843
+ const repoType = getRepoTypeFromModule(module);
844
+ // Default: balanced weights
845
+ let rewardWeights = DEFAULT_HUMAN_REWARD_WEIGHTS;
846
+ let hardWeight = 1.35;
847
+ let qualityWeight = 1.0;
848
+ let rewardWeight = 0.9;
849
+ if (repoType === 'tests') {
850
+ rewardWeights = { alpha: 0.7, beta: 0.15, gamma: 0.15 };
851
+ hardWeight = 1.55;
852
+ qualityWeight = 0.9;
853
+ rewardWeight = 0.85;
854
+ }
855
+ else if (repoType === 'docs') {
856
+ rewardWeights = { alpha: 0.45, beta: 0.3, gamma: 0.25 };
857
+ hardWeight = 1.0;
858
+ qualityWeight = 1.2;
859
+ rewardWeight = 1.0;
860
+ }
861
+ else if (repoType === 'refactor') {
862
+ rewardWeights = { alpha: 0.55, beta: 0.25, gamma: 0.2 };
863
+ hardWeight = 1.25;
864
+ qualityWeight = 1.15;
865
+ rewardWeight = 0.95;
866
+ }
867
+ // Telemetry-based nudges per repo type
868
+ const telemetry = RepoUpgradeOrchestrator.repoTypeTelemetry.get(repoType);
869
+ if (telemetry) {
870
+ const total = Math.max(1, telemetry.winsPrimary + telemetry.winsRefiner);
871
+ const bias = (telemetry.winsPrimary - telemetry.winsRefiner) / total;
872
+ if (bias > 0.1) {
873
+ hardWeight = clampScore(hardWeight + 0.1, 0.8, 2);
874
+ rewardWeights = {
875
+ alpha: clampScore((rewardWeights.alpha ?? 0.6) + 0.05, 0, 1),
876
+ beta: rewardWeights.beta,
877
+ gamma: clampScore((rewardWeights.gamma ?? 0.2) - 0.02, 0, 1),
878
+ };
879
+ }
880
+ else if (bias < -0.1) {
881
+ qualityWeight = clampScore(qualityWeight + 0.1, 0.8, 2);
882
+ rewardWeight = clampScore(rewardWeight + 0.05, 0.5, 1.5);
883
+ rewardWeights = {
884
+ alpha: clampScore((rewardWeights.alpha ?? 0.6) - 0.05, 0, 1),
885
+ beta: clampScore((rewardWeights.beta ?? 0.25) + 0.05, 0, 1),
886
+ gamma: clampScore((rewardWeights.gamma ?? 0.2) + 0.02, 0, 1),
887
+ };
888
+ }
889
+ }
890
+ return {
891
+ rewardWeights,
892
+ evaluators: [
893
+ { id: 'hard-metrics', label: 'Hard metrics', weight: hardWeight, kind: 'hard' },
894
+ { id: 'quality', label: 'Quality', weight: qualityWeight, kind: 'hybrid' },
895
+ { id: 'reward-signal', label: 'Reward signal', weight: rewardWeight, kind: 'hybrid' },
896
+ ],
897
+ };
898
+ }
899
+ function getRepoTypeFromModule(module) {
900
+ const scope = (module.scope || []).join(' ').toLowerCase();
901
+ const label = (module.label || '').toLowerCase();
902
+ if (/\btest|__tests__|spec\b/i.test(scope) || /\btest\b/i.test(label))
903
+ return 'tests';
904
+ if (/\bdocs?\b/i.test(scope) || /\bdoc\b/i.test(label))
905
+ return 'docs';
906
+ if (/\brefactor|cleanup|source\b/i.test(scope + ' ' + label))
907
+ return 'refactor';
908
+ return 'general';
909
+ }
910
+ function getRepoTypeFromOutcomeMetadata(task) {
911
+ const scopeText = Array.isArray(task.constraints) ? task.constraints.join(' ').toLowerCase() : '';
912
+ const intent = typeof task.metadata?.intent === 'string' ? task.metadata.intent.toLowerCase() : '';
913
+ if (/\btest|__tests__|spec\b/i.test(scopeText) || /\btest\b/i.test(intent))
914
+ return 'tests';
915
+ if (/\bdoc\b/i.test(scopeText) || /\bdoc\b/i.test(intent))
916
+ return 'docs';
917
+ if (/\brefactor|cleanup\b/i.test(scopeText + ' ' + intent))
918
+ return 'refactor';
919
+ return 'general';
920
+ }
921
+ function updateRepoTypeTelemetryMap(repoType, winner) {
922
+ if (RepoUpgradeOrchestrator.disableTelemetryPersistence) {
923
+ return;
924
+ }
925
+ ensureTelemetryLoaded();
926
+ const current = RepoUpgradeOrchestrator.repoTypeTelemetry.get(repoType) ?? { winsPrimary: 0, winsRefiner: 0 };
927
+ const updated = winner === 'primary'
928
+ ? { ...current, winsPrimary: current.winsPrimary + 1 }
929
+ : { ...current, winsRefiner: current.winsRefiner + 1 };
930
+ RepoUpgradeOrchestrator.repoTypeTelemetry.set(repoType, updated);
931
+ persistTelemetry();
932
+ }
933
+ // Simple persistence of repo-type telemetry to inform future runs
934
+ const TELEMETRY_DIR = join(homedir(), '.agi');
935
+ const TELEMETRY_FILE = join(TELEMETRY_DIR, 'rl-telemetry.json');
936
+ let telemetryLoaded = false;
937
+ function ensureTelemetryLoaded() {
938
+ if (RepoUpgradeOrchestrator.disableTelemetryPersistence)
939
+ return;
940
+ if (telemetryLoaded)
941
+ return;
942
+ telemetryLoaded = true;
943
+ try {
944
+ if (!existsSync(TELEMETRY_FILE))
945
+ return;
946
+ const data = JSON.parse(readFileSync(TELEMETRY_FILE, 'utf-8'));
947
+ if (data && typeof data === 'object') {
948
+ for (const [key, value] of Object.entries(data)) {
949
+ if (value && typeof value === 'object' && 'winsPrimary' in value && 'winsRefiner' in value) {
950
+ RepoUpgradeOrchestrator.repoTypeTelemetry.set(key, {
951
+ winsPrimary: Number(value.winsPrimary) || 0,
952
+ winsRefiner: Number(value.winsRefiner) || 0,
953
+ });
954
+ }
955
+ }
956
+ }
957
+ }
958
+ catch {
959
+ // ignore load errors
960
+ }
961
+ }
962
+ function persistTelemetry() {
963
+ if (RepoUpgradeOrchestrator.disableTelemetryPersistence)
964
+ return;
965
+ try {
966
+ mkdirSync(TELEMETRY_DIR, { recursive: true });
967
+ const payload = {};
968
+ for (const [key, value] of RepoUpgradeOrchestrator.repoTypeTelemetry.entries()) {
969
+ payload[key] = value;
970
+ }
971
+ writeFileSync(TELEMETRY_FILE, JSON.stringify(payload, null, 2), 'utf-8');
972
+ }
973
+ catch {
974
+ // ignore persistence errors
975
+ }
976
+ }
977
+ function buildDefaultSteps(moduleId) {
978
+ return [
979
+ {
980
+ id: `${moduleId}-analyze`,
981
+ intent: 'analyze',
982
+ description: `Map the upgrade surface for ${moduleId}. Identify risky files and coupling.`,
983
+ prompt: 'Inventory files, dependencies, and breaking-change areas before upgrading.',
984
+ },
985
+ {
986
+ id: `${moduleId}-upgrade`,
987
+ intent: 'upgrade',
988
+ description: `Apply modular upgrades for ${moduleId} with minimal blast radius.`,
989
+ prompt: 'Execute codemods or targeted edits. Keep edits small, atomic, and well scoped.',
990
+ },
991
+ {
992
+ id: `${moduleId}-verify`,
993
+ intent: 'verify',
994
+ description: `Validate ${moduleId} after the upgrade.`,
995
+ prompt: 'Run tests/lint/health checks relevant to this scope. Summarize residual risks.',
996
+ },
997
+ ];
998
+ }
999
+ function getModeDefinition(mode) {
1000
+ // AlphaZero dual-agent tournament is now the default mode
1001
+ return REPO_UPGRADE_MODE_DEFINITIONS[mode] ?? REPO_UPGRADE_MODE_DEFINITIONS['dual-rl-tournament'];
1002
+ }
1003
+ //# sourceMappingURL=repoUpgradeOrchestrator.js.map