@nxuss/lemma 1.38.0 → 1.40.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 (431) hide show
  1. package/README.md +3 -4
  2. package/bin/brain-ingest.js +68 -31
  3. package/bin/init.js +25 -28
  4. package/dashboard/dist/assets/index-DNTQXLER.css +1 -0
  5. package/dashboard/dist/assets/index-DzL_Zu3m.js +452 -0
  6. package/dashboard/dist/index.html +2 -2
  7. package/dist/cjs/cli/gitHooks.d.ts +9 -2
  8. package/dist/cjs/cli/gitHooks.d.ts.map +1 -1
  9. package/dist/cjs/cli/gitHooks.js +31 -4
  10. package/dist/cjs/cli/gitHooks.js.map +1 -1
  11. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  12. package/dist/cjs/cli/lemma-proxy.js +21 -1
  13. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  14. package/dist/cjs/infra/analyzers/index.d.ts +0 -2
  15. package/dist/cjs/infra/analyzers/index.d.ts.map +1 -1
  16. package/dist/cjs/infra/analyzers/index.js +1 -6
  17. package/dist/cjs/infra/analyzers/index.js.map +1 -1
  18. package/dist/cjs/infra/cli.d.ts +4 -0
  19. package/dist/cjs/infra/cli.d.ts.map +1 -1
  20. package/dist/cjs/infra/cli.js +6 -199
  21. package/dist/cjs/infra/cli.js.map +1 -1
  22. package/dist/cjs/infra/index.d.ts +1 -3
  23. package/dist/cjs/infra/index.d.ts.map +1 -1
  24. package/dist/cjs/infra/index.js +1 -16
  25. package/dist/cjs/infra/index.js.map +1 -1
  26. package/dist/cjs/infra/mcp-tools.d.ts.map +1 -1
  27. package/dist/cjs/infra/mcp-tools.js +8 -453
  28. package/dist/cjs/infra/mcp-tools.js.map +1 -1
  29. package/dist/cjs/infra/types.d.ts +0 -101
  30. package/dist/cjs/infra/types.d.ts.map +1 -1
  31. package/dist/cjs/infra/types.js +2 -1
  32. package/dist/cjs/infra/types.js.map +1 -1
  33. package/dist/cjs/mcp/cognitiveMap.d.ts.map +1 -1
  34. package/dist/cjs/mcp/cognitiveMap.js +6 -2
  35. package/dist/cjs/mcp/cognitiveMap.js.map +1 -1
  36. package/dist/cjs/mcp/index.js +2 -0
  37. package/dist/cjs/mcp/index.js.map +1 -1
  38. package/dist/cjs/mcp/prompts.d.ts +1 -1
  39. package/dist/cjs/mcp/prompts.d.ts.map +1 -1
  40. package/dist/cjs/mcp/prompts.js +8 -23
  41. package/dist/cjs/mcp/prompts.js.map +1 -1
  42. package/dist/cjs/mcp/tool-profiles.d.ts +8 -3
  43. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  44. package/dist/cjs/mcp/tool-profiles.js +25 -54
  45. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  46. package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -1
  47. package/dist/cjs/mcp/tools/devtools.js +11 -1
  48. package/dist/cjs/mcp/tools/devtools.js.map +1 -1
  49. package/dist/cjs/mcp/tools/memory.d.ts +8 -0
  50. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  51. package/dist/cjs/mcp/tools/memory.js +209 -137
  52. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  53. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
  54. package/dist/cjs/mcp/tools/refactor.js +129 -32
  55. package/dist/cjs/mcp/tools/refactor.js.map +1 -1
  56. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  57. package/dist/cjs/mcp/tools/workspace.js +108 -8
  58. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  59. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  60. package/dist/cjs/mcp/tools.js +11 -6
  61. package/dist/cjs/mcp/tools.js.map +1 -1
  62. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  63. package/dist/cjs/mcp/workspaceShared.js +8 -4
  64. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  65. package/dist/cjs/proxy/ProjectRegistry.d.ts +20 -0
  66. package/dist/cjs/proxy/ProjectRegistry.d.ts.map +1 -1
  67. package/dist/cjs/proxy/ProjectRegistry.js +46 -4
  68. package/dist/cjs/proxy/ProjectRegistry.js.map +1 -1
  69. package/dist/cjs/proxy/ProjectStore.d.ts.map +1 -1
  70. package/dist/cjs/proxy/ProjectStore.js +9 -6
  71. package/dist/cjs/proxy/ProjectStore.js.map +1 -1
  72. package/dist/cjs/subconscious/HostRecall.d.ts +26 -2
  73. package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
  74. package/dist/cjs/subconscious/HostRecall.js +115 -40
  75. package/dist/cjs/subconscious/HostRecall.js.map +1 -1
  76. package/dist/cjs/subconscious/NarrowEvidence.d.ts +53 -0
  77. package/dist/cjs/subconscious/NarrowEvidence.d.ts.map +1 -0
  78. package/dist/cjs/subconscious/NarrowEvidence.js +237 -0
  79. package/dist/cjs/subconscious/NarrowEvidence.js.map +1 -0
  80. package/dist/cjs/subconscious/TheBrainV2.d.ts +48 -0
  81. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  82. package/dist/cjs/subconscious/TheBrainV2.js +227 -26
  83. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  84. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  85. package/dist/cjs/subconscious/freshness/LocalFsResolver.js +32 -0
  86. package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
  87. package/dist/cjs/subconscious/recallDigest.d.ts +8 -0
  88. package/dist/cjs/subconscious/recallDigest.d.ts.map +1 -1
  89. package/dist/cjs/subconscious/recallDigest.js +13 -1
  90. package/dist/cjs/subconscious/recallDigest.js.map +1 -1
  91. package/dist/cjs/utils/AffectedTests.d.ts +1 -5
  92. package/dist/cjs/utils/AffectedTests.d.ts.map +1 -1
  93. package/dist/cjs/utils/AffectedTests.js +5 -37
  94. package/dist/cjs/utils/AffectedTests.js.map +1 -1
  95. package/dist/cjs/utils/AtomicFile.d.ts +14 -0
  96. package/dist/cjs/utils/AtomicFile.d.ts.map +1 -0
  97. package/dist/cjs/utils/AtomicFile.js +44 -0
  98. package/dist/cjs/utils/AtomicFile.js.map +1 -0
  99. package/dist/cjs/utils/AutoContextBundle.js +1 -1
  100. package/dist/cjs/utils/AutoContextBundle.js.map +1 -1
  101. package/dist/cjs/utils/BulkFileDigest.js +1 -1
  102. package/dist/cjs/utils/BulkFileDigest.js.map +1 -1
  103. package/dist/cjs/utils/ContextSqueezer.d.ts +36 -4
  104. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  105. package/dist/cjs/utils/ContextSqueezer.js +69 -21
  106. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  107. package/dist/cjs/utils/FileLock.d.ts +2 -0
  108. package/dist/cjs/utils/FileLock.d.ts.map +1 -0
  109. package/dist/cjs/utils/FileLock.js +32 -0
  110. package/dist/cjs/utils/FileLock.js.map +1 -0
  111. package/dist/cjs/utils/FileOutline.d.ts +1 -1
  112. package/dist/cjs/utils/FileOutline.d.ts.map +1 -1
  113. package/dist/cjs/utils/FileOutline.js +5 -1
  114. package/dist/cjs/utils/FileOutline.js.map +1 -1
  115. package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
  116. package/dist/cjs/utils/FixCapture.js +4 -3
  117. package/dist/cjs/utils/FixCapture.js.map +1 -1
  118. package/dist/cjs/utils/GitChanges.d.ts +11 -0
  119. package/dist/cjs/utils/GitChanges.d.ts.map +1 -0
  120. package/dist/cjs/utils/GitChanges.js +44 -0
  121. package/dist/cjs/utils/GitChanges.js.map +1 -0
  122. package/dist/cjs/utils/JsonKeys.d.ts +17 -0
  123. package/dist/cjs/utils/JsonKeys.d.ts.map +1 -0
  124. package/dist/cjs/utils/JsonKeys.js +75 -0
  125. package/dist/cjs/utils/JsonKeys.js.map +1 -0
  126. package/dist/cjs/utils/LocalExclude.d.ts +3 -0
  127. package/dist/cjs/utils/LocalExclude.d.ts.map +1 -0
  128. package/dist/cjs/utils/LocalExclude.js +68 -0
  129. package/dist/cjs/utils/LocalExclude.js.map +1 -0
  130. package/dist/cjs/utils/OtherLanguageSymbols.d.ts +31 -0
  131. package/dist/cjs/utils/OtherLanguageSymbols.d.ts.map +1 -0
  132. package/dist/cjs/utils/OtherLanguageSymbols.js +276 -0
  133. package/dist/cjs/utils/OtherLanguageSymbols.js.map +1 -0
  134. package/dist/cjs/utils/OutputDelta.d.ts +14 -2
  135. package/dist/cjs/utils/OutputDelta.d.ts.map +1 -1
  136. package/dist/cjs/utils/OutputDelta.js +22 -15
  137. package/dist/cjs/utils/OutputDelta.js.map +1 -1
  138. package/dist/cjs/utils/RoiLedger.d.ts.map +1 -1
  139. package/dist/cjs/utils/RoiLedger.js +7 -3
  140. package/dist/cjs/utils/RoiLedger.js.map +1 -1
  141. package/dist/cjs/utils/SavingsLedger.d.ts +27 -0
  142. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
  143. package/dist/cjs/utils/SavingsLedger.js +56 -2
  144. package/dist/cjs/utils/SavingsLedger.js.map +1 -1
  145. package/dist/cjs/utils/SharedLedgerStore.d.ts.map +1 -1
  146. package/dist/cjs/utils/SharedLedgerStore.js +2 -1
  147. package/dist/cjs/utils/SharedLedgerStore.js.map +1 -1
  148. package/dist/cjs/utils/StoreDraft.d.ts +12 -0
  149. package/dist/cjs/utils/StoreDraft.d.ts.map +1 -1
  150. package/dist/cjs/utils/StoreDraft.js +53 -1
  151. package/dist/cjs/utils/StoreDraft.js.map +1 -1
  152. package/dist/cjs/utils/SurgicalASTInsert.d.ts.map +1 -1
  153. package/dist/cjs/utils/SurgicalASTInsert.js +2 -1
  154. package/dist/cjs/utils/SurgicalASTInsert.js.map +1 -1
  155. package/dist/cjs/utils/SymbolSurgicalContext.d.ts +2 -0
  156. package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
  157. package/dist/cjs/utils/SymbolSurgicalContext.js +30 -62
  158. package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
  159. package/dist/cjs/utils/Utf8Guard.d.ts +23 -0
  160. package/dist/cjs/utils/Utf8Guard.d.ts.map +1 -0
  161. package/dist/cjs/utils/Utf8Guard.js +81 -0
  162. package/dist/cjs/utils/Utf8Guard.js.map +1 -0
  163. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  164. package/dist/cjs/utils/WorkspaceSearch.js +26 -8
  165. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  166. package/dist/cjs/utils/reportSavings.d.ts +17 -4
  167. package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
  168. package/dist/cjs/utils/reportSavings.js +67 -22
  169. package/dist/cjs/utils/reportSavings.js.map +1 -1
  170. package/dist/cjs/utils/tsLoader.d.ts +5 -0
  171. package/dist/cjs/utils/tsLoader.d.ts.map +1 -0
  172. package/dist/cjs/utils/tsLoader.js +15 -0
  173. package/dist/cjs/utils/tsLoader.js.map +1 -0
  174. package/dist/esm/cli/gitHooks.d.ts +9 -2
  175. package/dist/esm/cli/gitHooks.d.ts.map +1 -1
  176. package/dist/esm/cli/gitHooks.js +31 -4
  177. package/dist/esm/cli/gitHooks.js.map +1 -1
  178. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  179. package/dist/esm/cli/lemma-proxy.js +21 -1
  180. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  181. package/dist/esm/infra/analyzers/index.d.ts +0 -2
  182. package/dist/esm/infra/analyzers/index.d.ts.map +1 -1
  183. package/dist/esm/infra/analyzers/index.js +0 -2
  184. package/dist/esm/infra/analyzers/index.js.map +1 -1
  185. package/dist/esm/infra/cli.d.ts +4 -0
  186. package/dist/esm/infra/cli.d.ts.map +1 -1
  187. package/dist/esm/infra/cli.js +6 -199
  188. package/dist/esm/infra/cli.js.map +1 -1
  189. package/dist/esm/infra/index.d.ts +1 -3
  190. package/dist/esm/infra/index.d.ts.map +1 -1
  191. package/dist/esm/infra/index.js +1 -3
  192. package/dist/esm/infra/index.js.map +1 -1
  193. package/dist/esm/infra/mcp-tools.d.ts.map +1 -1
  194. package/dist/esm/infra/mcp-tools.js +9 -454
  195. package/dist/esm/infra/mcp-tools.js.map +1 -1
  196. package/dist/esm/infra/types.d.ts +0 -101
  197. package/dist/esm/infra/types.d.ts.map +1 -1
  198. package/dist/esm/infra/types.js +2 -1
  199. package/dist/esm/infra/types.js.map +1 -1
  200. package/dist/esm/mcp/cognitiveMap.d.ts.map +1 -1
  201. package/dist/esm/mcp/cognitiveMap.js +6 -2
  202. package/dist/esm/mcp/cognitiveMap.js.map +1 -1
  203. package/dist/esm/mcp/index.js +2 -0
  204. package/dist/esm/mcp/index.js.map +1 -1
  205. package/dist/esm/mcp/prompts.d.ts +1 -1
  206. package/dist/esm/mcp/prompts.d.ts.map +1 -1
  207. package/dist/esm/mcp/prompts.js +8 -23
  208. package/dist/esm/mcp/prompts.js.map +1 -1
  209. package/dist/esm/mcp/tool-profiles.d.ts +8 -3
  210. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  211. package/dist/esm/mcp/tool-profiles.js +25 -54
  212. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  213. package/dist/esm/mcp/tools/devtools.d.ts.map +1 -1
  214. package/dist/esm/mcp/tools/devtools.js +11 -1
  215. package/dist/esm/mcp/tools/devtools.js.map +1 -1
  216. package/dist/esm/mcp/tools/memory.d.ts +8 -0
  217. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  218. package/dist/esm/mcp/tools/memory.js +211 -140
  219. package/dist/esm/mcp/tools/memory.js.map +1 -1
  220. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
  221. package/dist/esm/mcp/tools/refactor.js +129 -32
  222. package/dist/esm/mcp/tools/refactor.js.map +1 -1
  223. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  224. package/dist/esm/mcp/tools/workspace.js +108 -8
  225. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  226. package/dist/esm/mcp/tools.d.ts.map +1 -1
  227. package/dist/esm/mcp/tools.js +12 -7
  228. package/dist/esm/mcp/tools.js.map +1 -1
  229. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  230. package/dist/esm/mcp/workspaceShared.js +9 -5
  231. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  232. package/dist/esm/proxy/ProjectRegistry.d.ts +20 -0
  233. package/dist/esm/proxy/ProjectRegistry.d.ts.map +1 -1
  234. package/dist/esm/proxy/ProjectRegistry.js +45 -3
  235. package/dist/esm/proxy/ProjectRegistry.js.map +1 -1
  236. package/dist/esm/proxy/ProjectStore.d.ts.map +1 -1
  237. package/dist/esm/proxy/ProjectStore.js +9 -6
  238. package/dist/esm/proxy/ProjectStore.js.map +1 -1
  239. package/dist/esm/subconscious/HostRecall.d.ts +26 -2
  240. package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
  241. package/dist/esm/subconscious/HostRecall.js +113 -41
  242. package/dist/esm/subconscious/HostRecall.js.map +1 -1
  243. package/dist/esm/subconscious/NarrowEvidence.d.ts +53 -0
  244. package/dist/esm/subconscious/NarrowEvidence.d.ts.map +1 -0
  245. package/dist/esm/subconscious/NarrowEvidence.js +228 -0
  246. package/dist/esm/subconscious/NarrowEvidence.js.map +1 -0
  247. package/dist/esm/subconscious/TheBrainV2.d.ts +48 -0
  248. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  249. package/dist/esm/subconscious/TheBrainV2.js +226 -25
  250. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  251. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  252. package/dist/esm/subconscious/freshness/LocalFsResolver.js +32 -0
  253. package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
  254. package/dist/esm/subconscious/recallDigest.d.ts +8 -0
  255. package/dist/esm/subconscious/recallDigest.d.ts.map +1 -1
  256. package/dist/esm/subconscious/recallDigest.js +12 -1
  257. package/dist/esm/subconscious/recallDigest.js.map +1 -1
  258. package/dist/esm/utils/AffectedTests.d.ts +1 -5
  259. package/dist/esm/utils/AffectedTests.d.ts.map +1 -1
  260. package/dist/esm/utils/AffectedTests.js +2 -35
  261. package/dist/esm/utils/AffectedTests.js.map +1 -1
  262. package/dist/esm/utils/AtomicFile.d.ts +14 -0
  263. package/dist/esm/utils/AtomicFile.d.ts.map +1 -0
  264. package/dist/esm/utils/AtomicFile.js +37 -0
  265. package/dist/esm/utils/AtomicFile.js.map +1 -0
  266. package/dist/esm/utils/AutoContextBundle.js +1 -1
  267. package/dist/esm/utils/AutoContextBundle.js.map +1 -1
  268. package/dist/esm/utils/BulkFileDigest.js +1 -1
  269. package/dist/esm/utils/BulkFileDigest.js.map +1 -1
  270. package/dist/esm/utils/ContextSqueezer.d.ts +36 -4
  271. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  272. package/dist/esm/utils/ContextSqueezer.js +67 -21
  273. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  274. package/dist/esm/utils/FileLock.d.ts +2 -0
  275. package/dist/esm/utils/FileLock.d.ts.map +1 -0
  276. package/dist/esm/utils/FileLock.js +29 -0
  277. package/dist/esm/utils/FileLock.js.map +1 -0
  278. package/dist/esm/utils/FileOutline.d.ts +1 -1
  279. package/dist/esm/utils/FileOutline.d.ts.map +1 -1
  280. package/dist/esm/utils/FileOutline.js +5 -1
  281. package/dist/esm/utils/FileOutline.js.map +1 -1
  282. package/dist/esm/utils/FixCapture.d.ts.map +1 -1
  283. package/dist/esm/utils/FixCapture.js +3 -2
  284. package/dist/esm/utils/FixCapture.js.map +1 -1
  285. package/dist/esm/utils/GitChanges.d.ts +11 -0
  286. package/dist/esm/utils/GitChanges.d.ts.map +1 -0
  287. package/dist/esm/utils/GitChanges.js +41 -0
  288. package/dist/esm/utils/GitChanges.js.map +1 -0
  289. package/dist/esm/utils/JsonKeys.d.ts +17 -0
  290. package/dist/esm/utils/JsonKeys.d.ts.map +1 -0
  291. package/dist/esm/utils/JsonKeys.js +71 -0
  292. package/dist/esm/utils/JsonKeys.js.map +1 -0
  293. package/dist/esm/utils/LocalExclude.d.ts +3 -0
  294. package/dist/esm/utils/LocalExclude.d.ts.map +1 -0
  295. package/dist/esm/utils/LocalExclude.js +62 -0
  296. package/dist/esm/utils/LocalExclude.js.map +1 -0
  297. package/dist/esm/utils/OtherLanguageSymbols.d.ts +31 -0
  298. package/dist/esm/utils/OtherLanguageSymbols.d.ts.map +1 -0
  299. package/dist/esm/utils/OtherLanguageSymbols.js +268 -0
  300. package/dist/esm/utils/OtherLanguageSymbols.js.map +1 -0
  301. package/dist/esm/utils/OutputDelta.d.ts +14 -2
  302. package/dist/esm/utils/OutputDelta.d.ts.map +1 -1
  303. package/dist/esm/utils/OutputDelta.js +22 -15
  304. package/dist/esm/utils/OutputDelta.js.map +1 -1
  305. package/dist/esm/utils/RoiLedger.d.ts.map +1 -1
  306. package/dist/esm/utils/RoiLedger.js +7 -3
  307. package/dist/esm/utils/RoiLedger.js.map +1 -1
  308. package/dist/esm/utils/SavingsLedger.d.ts +27 -0
  309. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
  310. package/dist/esm/utils/SavingsLedger.js +56 -2
  311. package/dist/esm/utils/SavingsLedger.js.map +1 -1
  312. package/dist/esm/utils/SharedLedgerStore.d.ts.map +1 -1
  313. package/dist/esm/utils/SharedLedgerStore.js +2 -1
  314. package/dist/esm/utils/SharedLedgerStore.js.map +1 -1
  315. package/dist/esm/utils/StoreDraft.d.ts +12 -0
  316. package/dist/esm/utils/StoreDraft.d.ts.map +1 -1
  317. package/dist/esm/utils/StoreDraft.js +52 -1
  318. package/dist/esm/utils/StoreDraft.js.map +1 -1
  319. package/dist/esm/utils/SurgicalASTInsert.d.ts.map +1 -1
  320. package/dist/esm/utils/SurgicalASTInsert.js +2 -1
  321. package/dist/esm/utils/SurgicalASTInsert.js.map +1 -1
  322. package/dist/esm/utils/SymbolSurgicalContext.d.ts +2 -0
  323. package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
  324. package/dist/esm/utils/SymbolSurgicalContext.js +2 -2
  325. package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
  326. package/dist/esm/utils/Utf8Guard.d.ts +23 -0
  327. package/dist/esm/utils/Utf8Guard.d.ts.map +1 -0
  328. package/dist/esm/utils/Utf8Guard.js +74 -0
  329. package/dist/esm/utils/Utf8Guard.js.map +1 -0
  330. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  331. package/dist/esm/utils/WorkspaceSearch.js +26 -8
  332. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  333. package/dist/esm/utils/reportSavings.d.ts +17 -4
  334. package/dist/esm/utils/reportSavings.d.ts.map +1 -1
  335. package/dist/esm/utils/reportSavings.js +65 -22
  336. package/dist/esm/utils/reportSavings.js.map +1 -1
  337. package/dist/esm/utils/tsLoader.d.ts +5 -0
  338. package/dist/esm/utils/tsLoader.d.ts.map +1 -0
  339. package/dist/esm/utils/tsLoader.js +13 -0
  340. package/dist/esm/utils/tsLoader.js.map +1 -0
  341. package/package.json +3 -2
  342. package/dashboard/dist/assets/index-CLXWgzTm.css +0 -1
  343. package/dashboard/dist/assets/index-CoMIMxyC.js +0 -451
  344. package/dist/cjs/infra/analyzers/DriftDetector.d.ts +0 -4
  345. package/dist/cjs/infra/analyzers/DriftDetector.d.ts.map +0 -1
  346. package/dist/cjs/infra/analyzers/DriftDetector.js +0 -88
  347. package/dist/cjs/infra/analyzers/DriftDetector.js.map +0 -1
  348. package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts +0 -3
  349. package/dist/cjs/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
  350. package/dist/cjs/infra/analyzers/InfraAnalyzer.js +0 -73
  351. package/dist/cjs/infra/analyzers/InfraAnalyzer.js.map +0 -1
  352. package/dist/cjs/infra/config.d.ts +0 -17
  353. package/dist/cjs/infra/config.d.ts.map +0 -1
  354. package/dist/cjs/infra/config.js +0 -111
  355. package/dist/cjs/infra/config.js.map +0 -1
  356. package/dist/cjs/infra/errorCause.d.ts +0 -36
  357. package/dist/cjs/infra/errorCause.d.ts.map +0 -1
  358. package/dist/cjs/infra/errorCause.js +0 -143
  359. package/dist/cjs/infra/errorCause.js.map +0 -1
  360. package/dist/cjs/infra/providers/InfraProvider.d.ts +0 -9
  361. package/dist/cjs/infra/providers/InfraProvider.d.ts.map +0 -1
  362. package/dist/cjs/infra/providers/InfraProvider.js +0 -3
  363. package/dist/cjs/infra/providers/InfraProvider.js.map +0 -1
  364. package/dist/cjs/infra/providers/JenkinsProvider.d.ts +0 -16
  365. package/dist/cjs/infra/providers/JenkinsProvider.d.ts.map +0 -1
  366. package/dist/cjs/infra/providers/JenkinsProvider.js +0 -193
  367. package/dist/cjs/infra/providers/JenkinsProvider.js.map +0 -1
  368. package/dist/cjs/infra/providers/OKDProvider.d.ts +0 -24
  369. package/dist/cjs/infra/providers/OKDProvider.d.ts.map +0 -1
  370. package/dist/cjs/infra/providers/OKDProvider.js +0 -296
  371. package/dist/cjs/infra/providers/OKDProvider.js.map +0 -1
  372. package/dist/cjs/infra/providers/TerraformProvider.d.ts +0 -17
  373. package/dist/cjs/infra/providers/TerraformProvider.d.ts.map +0 -1
  374. package/dist/cjs/infra/providers/TerraformProvider.js +0 -111
  375. package/dist/cjs/infra/providers/TerraformProvider.js.map +0 -1
  376. package/dist/cjs/infra/providers/index.d.ts +0 -9
  377. package/dist/cjs/infra/providers/index.d.ts.map +0 -1
  378. package/dist/cjs/infra/providers/index.js +0 -34
  379. package/dist/cjs/infra/providers/index.js.map +0 -1
  380. package/dist/cjs/infra/templates/jenkins/index.d.ts +0 -15
  381. package/dist/cjs/infra/templates/jenkins/index.d.ts.map +0 -1
  382. package/dist/cjs/infra/templates/jenkins/index.js +0 -128
  383. package/dist/cjs/infra/templates/jenkins/index.js.map +0 -1
  384. package/dist/cjs/infra/templates/okd/index.d.ts +0 -31
  385. package/dist/cjs/infra/templates/okd/index.d.ts.map +0 -1
  386. package/dist/cjs/infra/templates/okd/index.js +0 -149
  387. package/dist/cjs/infra/templates/okd/index.js.map +0 -1
  388. package/dist/esm/infra/analyzers/DriftDetector.d.ts +0 -4
  389. package/dist/esm/infra/analyzers/DriftDetector.d.ts.map +0 -1
  390. package/dist/esm/infra/analyzers/DriftDetector.js +0 -84
  391. package/dist/esm/infra/analyzers/DriftDetector.js.map +0 -1
  392. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +0 -3
  393. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts.map +0 -1
  394. package/dist/esm/infra/analyzers/InfraAnalyzer.js +0 -70
  395. package/dist/esm/infra/analyzers/InfraAnalyzer.js.map +0 -1
  396. package/dist/esm/infra/config.d.ts +0 -17
  397. package/dist/esm/infra/config.d.ts.map +0 -1
  398. package/dist/esm/infra/config.js +0 -101
  399. package/dist/esm/infra/config.js.map +0 -1
  400. package/dist/esm/infra/errorCause.d.ts +0 -36
  401. package/dist/esm/infra/errorCause.d.ts.map +0 -1
  402. package/dist/esm/infra/errorCause.js +0 -138
  403. package/dist/esm/infra/errorCause.js.map +0 -1
  404. package/dist/esm/infra/providers/InfraProvider.d.ts +0 -9
  405. package/dist/esm/infra/providers/InfraProvider.d.ts.map +0 -1
  406. package/dist/esm/infra/providers/InfraProvider.js +0 -2
  407. package/dist/esm/infra/providers/InfraProvider.js.map +0 -1
  408. package/dist/esm/infra/providers/JenkinsProvider.d.ts +0 -16
  409. package/dist/esm/infra/providers/JenkinsProvider.d.ts.map +0 -1
  410. package/dist/esm/infra/providers/JenkinsProvider.js +0 -186
  411. package/dist/esm/infra/providers/JenkinsProvider.js.map +0 -1
  412. package/dist/esm/infra/providers/OKDProvider.d.ts +0 -24
  413. package/dist/esm/infra/providers/OKDProvider.d.ts.map +0 -1
  414. package/dist/esm/infra/providers/OKDProvider.js +0 -292
  415. package/dist/esm/infra/providers/OKDProvider.js.map +0 -1
  416. package/dist/esm/infra/providers/TerraformProvider.d.ts +0 -17
  417. package/dist/esm/infra/providers/TerraformProvider.d.ts.map +0 -1
  418. package/dist/esm/infra/providers/TerraformProvider.js +0 -107
  419. package/dist/esm/infra/providers/TerraformProvider.js.map +0 -1
  420. package/dist/esm/infra/providers/index.d.ts +0 -9
  421. package/dist/esm/infra/providers/index.d.ts.map +0 -1
  422. package/dist/esm/infra/providers/index.js +0 -27
  423. package/dist/esm/infra/providers/index.js.map +0 -1
  424. package/dist/esm/infra/templates/jenkins/index.d.ts +0 -15
  425. package/dist/esm/infra/templates/jenkins/index.d.ts.map +0 -1
  426. package/dist/esm/infra/templates/jenkins/index.js +0 -124
  427. package/dist/esm/infra/templates/jenkins/index.js.map +0 -1
  428. package/dist/esm/infra/templates/okd/index.d.ts +0 -31
  429. package/dist/esm/infra/templates/okd/index.d.ts.map +0 -1
  430. package/dist/esm/infra/templates/okd/index.js +0 -142
  431. package/dist/esm/infra/templates/okd/index.js.map +0 -1
@@ -1,292 +0,0 @@
1
- import { execSync } from 'child_process';
2
- import { infraError } from '../errorCause.js';
3
- function oc(args, opts) {
4
- try {
5
- return execSync(`oc ${args}`, {
6
- encoding: 'utf8',
7
- timeout: opts?.timeout || 15000,
8
- stdio: ['pipe', 'pipe', 'pipe'],
9
- }).trim();
10
- }
11
- catch (err) {
12
- // AN-17: classified at the throw site, where errno/signal/stderr still exist.
13
- // Every downstream consumer (is_error joins, onToolCall's 100-char error, health
14
- // details) inherits the [oc:<cause>] prefix instead of one opaque bucket.
15
- throw infraError('oc', err);
16
- }
17
- }
18
- export class OKDProvider {
19
- constructor() {
20
- this.name = 'okd';
21
- this.type = 'okd';
22
- this.config = null;
23
- }
24
- async connect(config) {
25
- this.config = config;
26
- if (config.server && config.token) {
27
- try {
28
- oc(`login ${config.server} --token=${config.token} --insecure-skip-tls-verify=true`, { timeout: 10000 });
29
- }
30
- catch {
31
- return false;
32
- }
33
- }
34
- if (config.project) {
35
- try {
36
- oc(`project ${config.project}`);
37
- }
38
- catch { /* project may not exist yet */ }
39
- }
40
- try {
41
- const health = await this.healthCheck();
42
- return health.status !== 'down';
43
- }
44
- catch {
45
- return false;
46
- }
47
- }
48
- async healthCheck() {
49
- const start = Date.now();
50
- try {
51
- const version = oc('version client', { timeout: 5000 });
52
- const project = this.config?.project
53
- ? oc(`project ${this.config.project} -o jsonpath='{.metadata.name}'`)
54
- : 'none';
55
- return {
56
- status: 'healthy',
57
- latency: Date.now() - start,
58
- details: { version: version.split('\n')[0], project },
59
- lastChecked: new Date().toISOString(),
60
- };
61
- }
62
- catch (err) {
63
- return {
64
- status: 'down',
65
- latency: Date.now() - start,
66
- details: { error: err.message },
67
- lastChecked: new Date().toISOString(),
68
- };
69
- }
70
- }
71
- async getStatus() {
72
- const ns = this.config?.project || '';
73
- const pods = JSON.parse(oc(`get pods -n ${ns} -o json`, { timeout: 10000 }));
74
- const builds = JSON.parse(oc(`get builds -n ${ns} -o json`, { timeout: 10000 }));
75
- const routes = JSON.parse(oc(`get routes -n ${ns} -o json`, { timeout: 10000 }));
76
- return {
77
- pods: pods.items?.length || 0,
78
- builds: builds.items?.length || 0,
79
- routes: routes.items?.length || 0,
80
- podList: (pods.items || []).map((p) => ({
81
- name: p.metadata.name,
82
- status: p.status.phase,
83
- ready: p.status.conditions?.find((c) => c.type === 'Ready')?.status === 'True',
84
- })),
85
- };
86
- }
87
- generateManifests(cfg) {
88
- const name = cfg.name;
89
- const image = cfg.image || `${name}:latest`;
90
- const port = cfg.port || 8080;
91
- const replicas = cfg.replicas || 2;
92
- const ns = this.config?.project || 'default';
93
- const registry = this.config?.imageRegistry || 'image-registry.openshift-image-registry.svc:5000';
94
- const envYaml = cfg.envVars
95
- ? Object.entries(cfg.envVars).map(([k, v]) => ` - name: ${k}\n value: "${v}"`).join('\n')
96
- : '';
97
- const deploymentConfig = `apiVersion: apps.openshift.io/v1
98
- kind: DeploymentConfig
99
- metadata:
100
- name: ${name}
101
- namespace: ${ns}
102
- labels:
103
- app: ${name}
104
- spec:
105
- replicas: ${replicas}
106
- selector:
107
- app: ${name}
108
- template:
109
- metadata:
110
- labels:
111
- app: ${name}
112
- spec:
113
- containers:
114
- - name: ${name}
115
- image: ${registry}/${ns}/${image}
116
- ports:
117
- - containerPort: ${port}
118
- protocol: TCP
119
- resources:
120
- requests:
121
- cpu: 100m
122
- memory: 128Mi
123
- limits:
124
- cpu: 500m
125
- memory: 512Mi
126
- ${envYaml ? ` env:\n${envYaml}` : ''}
127
- readinessProbe:
128
- httpGet:
129
- path: /health
130
- port: ${port}
131
- initialDelaySeconds: 5
132
- periodSeconds: 10
133
- livenessProbe:
134
- httpGet:
135
- path: /health
136
- port: ${port}
137
- initialDelaySeconds: 15
138
- periodSeconds: 20
139
- triggers:
140
- - type: ConfigChange
141
- - type: ImageChange
142
- imageChangeParams:
143
- automatic: true
144
- containerNames:
145
- - ${name}
146
- from:
147
- kind: ImageStreamTag
148
- name: ${name}:latest`;
149
- const buildConfig = `apiVersion: build.openshift.io/v1
150
- kind: BuildConfig
151
- metadata:
152
- name: ${name}
153
- namespace: ${ns}
154
- labels:
155
- app: ${name}
156
- spec:
157
- source:
158
- type: Git
159
- git:
160
- uri: ""
161
- strategy:
162
- type: Docker
163
- dockerStrategy:
164
- dockerfilePath: Dockerfile
165
- output:
166
- to:
167
- kind: ImageStreamTag
168
- name: ${name}:latest
169
- triggers:
170
- - type: GitHub
171
- github:
172
- secret: ""
173
- - type: ConfigChange`;
174
- const imageStream = `apiVersion: image.openshift.io/v1
175
- kind: ImageStream
176
- metadata:
177
- name: ${name}
178
- namespace: ${ns}
179
- labels:
180
- app: ${name}
181
- spec:
182
- lookupPolicy:
183
- local: false
184
- tags:
185
- - name: latest
186
- from:
187
- kind: DockerImage
188
- name: ${registry}/${ns}/${name}:latest
189
- importPolicy:
190
- scheduled: true`;
191
- const route = `apiVersion: route.openshift.io/v1
192
- kind: Route
193
- metadata:
194
- name: ${name}
195
- namespace: ${ns}
196
- labels:
197
- app: ${name}
198
- spec:
199
- host: ${this.config?.route?.hostname || `${name}-${ns}.apps.example.com`}
200
- to:
201
- kind: Service
202
- name: ${name}
203
- weight: 100
204
- port:
205
- targetPort: ${port}
206
- tls:
207
- termination: ${this.config?.route?.tls ? 'edge' : 'passthrough'}
208
- insecureEdgeTerminationPolicy: Redirect`;
209
- const service = `apiVersion: v1
210
- kind: Service
211
- metadata:
212
- name: ${name}
213
- namespace: ${ns}
214
- labels:
215
- app: ${name}
216
- spec:
217
- ports:
218
- - port: ${port}
219
- targetPort: ${port}
220
- protocol: TCP
221
- selector:
222
- app: ${name}`;
223
- return { deploymentConfig, buildConfig, imageStream, route, service };
224
- }
225
- async apply(manifests, dryRun = false) {
226
- const ns = this.config?.project || 'default';
227
- const flag = dryRun ? '--dry-run=client -o yaml' : '';
228
- const logs = [];
229
- const artifacts = [];
230
- const resources = [
231
- { name: 'ImageStream', yaml: manifests.imageStream },
232
- { name: 'BuildConfig', yaml: manifests.buildConfig },
233
- { name: 'DeploymentConfig', yaml: manifests.deploymentConfig },
234
- { name: 'Service', yaml: manifests.service },
235
- { name: 'Route', yaml: manifests.route },
236
- ];
237
- for (const res of resources) {
238
- try {
239
- const result = oc(`apply -n ${ns} ${flag} -f -`, { timeout: 15000 });
240
- logs.push(`${res.name}: ${result}`);
241
- if (!dryRun)
242
- artifacts.push(res.name);
243
- }
244
- catch (err) {
245
- logs.push(`${res.name} ERROR: ${err.message}`);
246
- }
247
- }
248
- const url = dryRun
249
- ? '(dry-run)'
250
- : `https://${this.config?.route?.hostname || `${this.config?.project}.apps.example.com`}`;
251
- return {
252
- provider: 'okd',
253
- success: logs.every((l) => !l.includes('ERROR')),
254
- url,
255
- artifacts,
256
- logs,
257
- nextSteps: dryRun
258
- ? ['Review manifests above', 'Run without --dry-run to apply']
259
- : ['Verify pods: oc get pods -n ' + ns, `Open: ${url}`],
260
- tokenEstimate: logs.join('').length / 4,
261
- };
262
- }
263
- async getPods() {
264
- const ns = this.config?.project || '';
265
- const raw = oc(`get pods -n ${ns} -o json`, { timeout: 10000 });
266
- const data = JSON.parse(raw);
267
- return (data.items || []).map((p) => ({
268
- name: p.metadata.name,
269
- status: p.status.phase,
270
- ready: p.status.conditions?.find((c) => c.type === 'Ready')?.status === 'True',
271
- restarts: p.status.containerStatuses?.[0]?.restartCount || 0,
272
- age: p.metadata.creationTimestamp,
273
- }));
274
- }
275
- async getLogs(podName, lines = 50) {
276
- const ns = this.config?.project || '';
277
- return oc(`logs ${podName} -n ${ns} --tail=${lines}`, { timeout: 10000 });
278
- }
279
- async getEvents() {
280
- const ns = this.config?.project || '';
281
- return oc(`get events -n ${ns} --sort-by='.lastTimestamp' --no-headers | tail -30`, { timeout: 10000 });
282
- }
283
- async describe(resource, name) {
284
- const ns = this.config?.project || '';
285
- return oc(`describe ${resource} ${name} -n ${ns}`, { timeout: 10000 });
286
- }
287
- async getRouteURL(routeName) {
288
- const ns = this.config?.project || '';
289
- return oc(`get route ${routeName} -n ${ns} -o jsonpath='{.spec.host}'`);
290
- }
291
- }
292
- //# sourceMappingURL=OKDProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OKDProvider.js","sourceRoot":"","sources":["../../../../src/infra/providers/OKDProvider.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { InfraProvider } from './InfraProvider.js';
2
- import type { HealthStatus, DriftResult, TerraformConfig } from '../types.js';
3
- export declare class TerraformProvider implements InfraProvider {
4
- readonly name = "terraform";
5
- readonly type: "terraform";
6
- private config;
7
- connect(config: TerraformConfig): Promise<boolean>;
8
- healthCheck(): Promise<HealthStatus>;
9
- getStatus(): Promise<Record<string, any>>;
10
- plan(): Promise<string>;
11
- apply(autoApprove?: boolean): Promise<string>;
12
- stateList(): Promise<string[]>;
13
- detectDrift(): Promise<DriftResult[]>;
14
- stateShow(resource: string): Promise<string>;
15
- output(): Promise<Record<string, string>>;
16
- }
17
- //# sourceMappingURL=TerraformProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TerraformProvider.d.ts","sourceRoot":"","sources":["../../../../src/infra/providers/TerraformProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAiB3E,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;IACrC,OAAO,CAAC,MAAM,CAAgC;IAExC,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAoBpC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAOzC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,KAAK,CAAC,WAAW,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9B,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAsBrC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAahD"}
@@ -1,107 +0,0 @@
1
- import { execSync } from 'child_process';
2
- import { infraError } from '../errorCause.js';
3
- function tf(args, workDir, timeout = 30000) {
4
- try {
5
- return execSync(`terraform ${args}`, {
6
- encoding: 'utf8',
7
- timeout,
8
- cwd: workDir,
9
- stdio: ['pipe', 'pipe', 'pipe'],
10
- }).trim();
11
- }
12
- catch (err) {
13
- // AN-17: same classification as oc() — see OKDProvider for why it lives here.
14
- throw infraError('terraform', err);
15
- }
16
- }
17
- export class TerraformProvider {
18
- constructor() {
19
- this.name = 'terraform';
20
- this.type = 'terraform';
21
- this.config = null;
22
- }
23
- async connect(config) {
24
- this.config = config;
25
- try {
26
- const health = await this.healthCheck();
27
- return health.status !== 'down';
28
- }
29
- catch {
30
- return false;
31
- }
32
- }
33
- async healthCheck() {
34
- const start = Date.now();
35
- try {
36
- const version = tf('version', this.config?.workDir, 5000);
37
- return {
38
- status: 'healthy',
39
- latency: Date.now() - start,
40
- details: { version: version.split('\n')[0] },
41
- lastChecked: new Date().toISOString(),
42
- };
43
- }
44
- catch (err) {
45
- return {
46
- status: 'down',
47
- latency: Date.now() - start,
48
- details: { error: err.message },
49
- lastChecked: new Date().toISOString(),
50
- };
51
- }
52
- }
53
- async getStatus() {
54
- const workDir = this.config?.workDir;
55
- const stateList = tf('state list', workDir, 10000);
56
- const resources = stateList.split('\n').filter(Boolean);
57
- return { resources, count: resources.length };
58
- }
59
- async plan() {
60
- return tf('plan -no-color', this.config?.workDir, 60000);
61
- }
62
- async apply(autoApprove = false) {
63
- const flag = autoApprove ? ' -auto-approve' : '';
64
- return tf(`apply${flag} -no-color`, this.config?.workDir, 120000);
65
- }
66
- async stateList() {
67
- const raw = tf('state list', this.config?.workDir, 10000);
68
- return raw.split('\n').filter(Boolean);
69
- }
70
- async detectDrift() {
71
- const workDir = this.config?.workDir;
72
- const planOutput = tf('plan -detailed-exitcode -no-color', workDir, 60000);
73
- const drifts = [];
74
- const lines = planOutput.split('\n');
75
- for (const line of lines) {
76
- if (line.startsWith(' ~ ') || line.startsWith(' - ') || line.startsWith(' + ')) {
77
- const isDestructive = line.startsWith(' - ');
78
- drifts.push({
79
- resource: line.replace(/^\s*[~+-]\s+/, '').split(' ')[0],
80
- type: 'config',
81
- expected: 'current state',
82
- actual: line.startsWith(' ~') ? 'modified' : line.startsWith(' -') ? 'removed' : 'added',
83
- severity: isDestructive ? 'HIGH' : 'MEDIUM',
84
- });
85
- }
86
- }
87
- return drifts;
88
- }
89
- async stateShow(resource) {
90
- return tf(`state show ${resource}`, this.config?.workDir, 10000);
91
- }
92
- async output() {
93
- try {
94
- const raw = tf('output -json', this.config?.workDir, 10000);
95
- const parsed = JSON.parse(raw);
96
- const result = {};
97
- for (const [k, v] of Object.entries(parsed)) {
98
- result[k] = v.value;
99
- }
100
- return result;
101
- }
102
- catch {
103
- return {};
104
- }
105
- }
106
- }
107
- //# sourceMappingURL=TerraformProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TerraformProvider.js","sourceRoot":"","sources":["../../../../src/infra/providers/TerraformProvider.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { JenkinsProvider } from './JenkinsProvider.js';
2
- import { OKDProvider } from './OKDProvider.js';
3
- import { TerraformProvider } from './TerraformProvider.js';
4
- import type { InfraProvider } from './InfraProvider.js';
5
- export declare function getProvider(name: string): InfraProvider;
6
- export declare function listProviders(): string[];
7
- export { JenkinsProvider, OKDProvider, TerraformProvider };
8
- export type { InfraProvider } from './InfraProvider.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAiBvD;AAED,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { JenkinsProvider } from './JenkinsProvider.js';
2
- import { OKDProvider } from './OKDProvider.js';
3
- import { TerraformProvider } from './TerraformProvider.js';
4
- const providers = {};
5
- export function getProvider(name) {
6
- if (!providers[name]) {
7
- switch (name) {
8
- case 'jenkins':
9
- providers[name] = new JenkinsProvider();
10
- break;
11
- case 'okd':
12
- providers[name] = new OKDProvider();
13
- break;
14
- case 'terraform':
15
- providers[name] = new TerraformProvider();
16
- break;
17
- default:
18
- throw new Error(`Unknown provider: ${name}. Available: jenkins, okd, terraform`);
19
- }
20
- }
21
- return providers[name];
22
- }
23
- export function listProviders() {
24
- return ['jenkins', 'okd', 'terraform'];
25
- }
26
- export { JenkinsProvider, OKDProvider, TerraformProvider };
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,SAAS,GAAkC,EAAE,CAAC;AAEpD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;gBACxC,MAAM;YACR,KAAK,KAAK;gBACR,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;gBACpC,MAAM;YACR,KAAK,WAAW;gBACd,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sCAAsC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- export declare function jenkinsfileTemplate(cfg: {
2
- name: string;
3
- dockerImage?: string;
4
- registry?: string;
5
- namespace?: string;
6
- buildArgs?: Record<string, string>;
7
- envVars?: Record<string, string>;
8
- triggers?: string[];
9
- }): string;
10
- export declare function multibranchTemplate(cfg: {
11
- name: string;
12
- repoUrl: string;
13
- branchPattern?: string;
14
- }): string;
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/infra/templates/jenkins/index.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,MAAM,CAyET;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAiDT"}
@@ -1,124 +0,0 @@
1
- export function jenkinsfileTemplate(cfg) {
2
- const buildArgsYaml = cfg.buildArgs
3
- ? Object.entries(cfg.buildArgs).map(([k, v]) => ` ${k} = '${v}'`).join('\n')
4
- : '';
5
- const envYaml = cfg.envVars
6
- ? Object.entries(cfg.envVars).map(([k, v]) => ` ${k} = '${v}'`).join('\n')
7
- : '';
8
- const triggersYaml = cfg.triggers?.length
9
- ? cfg.triggers.map((t) => ` ${t}`).join('\n')
10
- : " pollSCM('H/5 * * * *')";
11
- return `pipeline {
12
- agent any
13
-
14
- environment {
15
- DOCKER_IMAGE = '${cfg.dockerImage || cfg.name}'
16
- REGISTRY = '${cfg.registry || 'docker.io'}'
17
- NAMESPACE = '${cfg.namespace || 'default'}'
18
- ${buildArgsYaml ? `\n parameters {\n${buildArgsYaml}\n }\n` : ''}
19
- ${envYaml ? `\n${envYaml}\n` : ''}
20
- }
21
-
22
- triggers {
23
- ${triggersYaml}
24
- }
25
-
26
- stages {
27
- stage('Checkout') {
28
- steps {
29
- checkout scm
30
- }
31
- }
32
-
33
- stage('Build Image') {
34
- steps {
35
- sh "docker build -t \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} ."
36
- }
37
- }
38
-
39
- stage('Test') {
40
- steps {
41
- sh 'echo "Running tests..."'
42
- }
43
- }
44
-
45
- stage('Push Image') {
46
- steps {
47
- withCredentials([usernamePassword(credentialsId: 'registry-creds', usernameVariable: 'USER', passwordVariable: 'PASS')]) {
48
- sh "echo $PASS | docker login \${REGISTRY} -u $USER --password-stdin"
49
- sh "docker push \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER}"
50
- sh "docker tag \${REGISTRY}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} \${REGISTRY}/\${DOCKER_IMAGE}:latest"
51
- sh "docker push \${REGISTRY}/\${DOCKER_IMAGE}:latest"
52
- }
53
- }
54
- }
55
-
56
- stage('Deploy to OKD') {
57
- steps {
58
- sh "oc tag \${NAMESPACE}/\${DOCKER_IMAGE}:\${BUILD_NUMBER} \${NAMESPACE}/\${DOCKER_IMAGE}:latest || true"
59
- sh "oc rollout latest dc/\${DOCKER_IMAGE} -n \${NAMESPACE}"
60
- }
61
- }
62
- }
63
-
64
- post {
65
- success {
66
- echo 'Build + Deploy succeeded!'
67
- }
68
- failure {
69
- echo 'Build failed!'
70
- }
71
- }
72
- }`;
73
- }
74
- export function multibranchTemplate(cfg) {
75
- const branch = cfg.branchPattern || 'main';
76
- const checkoutStep = cfg.repoUrl
77
- ? `checkout([$class: 'GitSCM', branches: [[name: "*/\${env.BRANCH_NAME}"]], userRemoteConfigs: [[url: '${cfg.repoUrl}']]])`
78
- : 'checkout scm';
79
- return `pipeline {
80
- agent any
81
-
82
- triggers {
83
- pollSCM('H/5 * * * *')
84
- }
85
-
86
- stages {
87
- stage('Detect Branch') {
88
- steps {
89
- script {
90
- env.BRANCH_NAME = env.BRANCH_NAME ?: '${branch}'
91
- echo "Building branch: \${env.BRANCH_NAME}"
92
- }
93
- }
94
- }
95
-
96
- stage('Checkout') {
97
- steps {
98
- ${checkoutStep}
99
- }
100
- }
101
-
102
- stage('Build') {
103
- steps {
104
- sh "docker build -t ${cfg.name}:\${env.BRANCH_NAME}-\${BUILD_NUMBER} ."
105
- }
106
- }
107
-
108
- stage('Test') {
109
- steps {
110
- sh 'echo "Running tests for \${env.BRANCH_NAME}"'
111
- }
112
- }
113
-
114
- stage('Deploy') {
115
- when { branch '${branch}' }
116
- steps {
117
- sh "oc tag ${cfg.name}:latest ${cfg.name}:\${BUILD_NUMBER} || true"
118
- sh "oc rollout latest dc/${cfg.name}"
119
- }
120
- }
121
- }
122
- }`;
123
- }
124
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/infra/templates/jenkins/index.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,GAQnC;IACC,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS;QACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;QACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM;QACvC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC,4BAA4B,CAAC;IAEjC,OAAO;;;;sBAIa,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI;kBAC/B,GAAG,CAAC,QAAQ,IAAI,WAAW;mBAC1B,GAAG,CAAC,SAAS,IAAI,SAAS;EAC3C,aAAa,CAAC,CAAC,CAAC,qBAAqB,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE;EAChE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;EAI/B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAInC;IACC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO;QAC9B,CAAC,CAAC,uGAAuG,GAAG,CAAC,OAAO,OAAO;QAC3H,CAAC,CAAC,cAAc,CAAC;IACnB,OAAO;;;;;;;;;;;kDAWyC,MAAM;;;;;;;;UAQ9C,YAAY;;;;;;8BAMQ,GAAG,CAAC,IAAI;;;;;;;;;;;uBAWf,MAAM;;qBAER,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI;mCACb,GAAG,CAAC,IAAI;;;;EAIzC,CAAC;AACH,CAAC"}
@@ -1,31 +0,0 @@
1
- export declare function deploymentConfigTemplate(cfg: {
2
- name: string;
3
- image: string;
4
- port: number;
5
- replicas: number;
6
- ns: string;
7
- registry: string;
8
- envVars?: Record<string, string>;
9
- }): string;
10
- export declare function buildConfigTemplate(cfg: {
11
- name: string;
12
- ns: string;
13
- }): string;
14
- export declare function imageStreamTemplate(cfg: {
15
- name: string;
16
- ns: string;
17
- registry: string;
18
- }): string;
19
- export declare function routeTemplate(cfg: {
20
- name: string;
21
- ns: string;
22
- hostname: string;
23
- tls: boolean;
24
- port: number;
25
- }): string;
26
- export declare function serviceTemplate(cfg: {
27
- name: string;
28
- ns: string;
29
- port: number;
30
- }): string;
31
- //# sourceMappingURL=index.d.ts.map