infraweaver 0.1.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 (524) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +244 -0
  3. package/dist/agents/claude.d.ts +113 -0
  4. package/dist/agents/claudePretoolGate.d.ts +137 -0
  5. package/dist/agents/dispatchMetrics.d.ts +77 -0
  6. package/dist/agents/gateServer.d.ts +7 -0
  7. package/dist/agents/index.d.ts +6 -0
  8. package/dist/agents/nativeFsDenies.d.ts +46 -0
  9. package/dist/agents/opencode.d.ts +284 -0
  10. package/dist/agents/opencodePlugin.d.ts +96 -0
  11. package/dist/agents/opencodeShared.d.ts +40 -0
  12. package/dist/agents/postRun.d.ts +126 -0
  13. package/dist/agents/reviewer.d.ts +41 -0
  14. package/dist/agents/sessionLabeler.d.ts +97 -0
  15. package/dist/agents/shared.d.ts +246 -0
  16. package/dist/agents/subagentModels.d.ts +19 -0
  17. package/dist/agents/tokenQuota.d.ts +118 -0
  18. package/dist/agents/writeGateSource.d.ts +22 -0
  19. package/dist/agents/writePolicy.d.ts +79 -0
  20. package/dist/brand.d.ts +67 -0
  21. package/dist/cli.mjs +247846 -0
  22. package/dist/external.d.ts +227 -0
  23. package/dist/i18n/scaffolding.d.ts +59 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.js +247061 -0
  26. package/dist/internal/index.d.ts +18 -0
  27. package/dist/internal.js +2398 -0
  28. package/dist/lifecycle.d.ts +2 -0
  29. package/dist/main.d.ts +8 -0
  30. package/dist/mcp/arkConfig.d.ts +1 -0
  31. package/dist/mcp/assess.d.ts +157 -0
  32. package/dist/mcp/capabilityContext.d.ts +71 -0
  33. package/dist/mcp/changeSummary.d.ts +52 -0
  34. package/dist/mcp/checkSuite.d.ts +27 -0
  35. package/dist/mcp/checkout.d.ts +92 -0
  36. package/dist/mcp/comment.d.ts +127 -0
  37. package/dist/mcp/commitInfo.d.ts +11 -0
  38. package/dist/mcp/crosswalk.d.ts +178 -0
  39. package/dist/mcp/crosswalkDigest.d.ts +1 -0
  40. package/dist/mcp/cyberEssentials.d.ts +24 -0
  41. package/dist/mcp/dashboard.d.ts +125 -0
  42. package/dist/mcp/dependencies.d.ts +12 -0
  43. package/dist/mcp/frameworks.d.ts +74 -0
  44. package/dist/mcp/geminiSanitizer.d.ts +28 -0
  45. package/dist/mcp/git.d.ts +60 -0
  46. package/dist/mcp/guardrails.d.ts +222 -0
  47. package/dist/mcp/issue.d.ts +20 -0
  48. package/dist/mcp/issueComments.d.ts +11 -0
  49. package/dist/mcp/issueEvents.d.ts +11 -0
  50. package/dist/mcp/issueInfo.d.ts +11 -0
  51. package/dist/mcp/labels.d.ts +14 -0
  52. package/dist/mcp/localContext.d.ts +26 -0
  53. package/dist/mcp/moduleExtraction.d.ts +79 -0
  54. package/dist/mcp/moduleTests.d.ts +106 -0
  55. package/dist/mcp/modules.d.ts +198 -0
  56. package/dist/mcp/output.d.ts +16 -0
  57. package/dist/mcp/pathSafety.d.ts +14 -0
  58. package/dist/mcp/policy.d.ts +50 -0
  59. package/dist/mcp/pr.d.ts +64 -0
  60. package/dist/mcp/prInfo.d.ts +11 -0
  61. package/dist/mcp/providerSchema.d.ts +52 -0
  62. package/dist/mcp/review.d.ts +212 -0
  63. package/dist/mcp/reviewComments.d.ts +245 -0
  64. package/dist/mcp/roots.d.ts +60 -0
  65. package/dist/mcp/scope.d.ts +26 -0
  66. package/dist/mcp/selectMode.d.ts +20 -0
  67. package/dist/mcp/server.d.ts +61 -0
  68. package/dist/mcp/shared.d.ts +62 -0
  69. package/dist/mcp/shell.d.ts +58 -0
  70. package/dist/mcp/staleFix.d.ts +138 -0
  71. package/dist/mcp/terraform/azurePrices.d.ts +8 -0
  72. package/dist/mcp/terraform/baseline.d.ts +57 -0
  73. package/dist/mcp/terraform/concernResult.d.ts +38 -0
  74. package/dist/mcp/terraform/cost.d.ts +55 -0
  75. package/dist/mcp/terraform/cspm.d.ts +80 -0
  76. package/dist/mcp/terraform/currency.d.ts +110 -0
  77. package/dist/mcp/terraform/decisions.d.ts +178 -0
  78. package/dist/mcp/terraform/eidas.d.ts +100 -0
  79. package/dist/mcp/terraform/evidence.d.ts +343 -0
  80. package/dist/mcp/terraform/findings.d.ts +76 -0
  81. package/dist/mcp/terraform/fixMemory.d.ts +81 -0
  82. package/dist/mcp/terraform/governance.d.ts +56 -0
  83. package/dist/mcp/terraform/hcl.d.ts +115 -0
  84. package/dist/mcp/terraform/iacLanguages.d.ts +120 -0
  85. package/dist/mcp/terraform/idleFloor.d.ts +78 -0
  86. package/dist/mcp/terraform/keyless.d.ts +68 -0
  87. package/dist/mcp/terraform/moduleDocs.d.ts +56 -0
  88. package/dist/mcp/terraform/nativeRules.d.ts +38 -0
  89. package/dist/mcp/terraform/nativeScan.d.ts +11 -0
  90. package/dist/mcp/terraform/noiseProfile.d.ts +100 -0
  91. package/dist/mcp/terraform/normalization.d.ts +52 -0
  92. package/dist/mcp/terraform/oscal.d.ts +103 -0
  93. package/dist/mcp/terraform/packs/azurerm-3-4.d.ts +2 -0
  94. package/dist/mcp/terraform/packs/cloudflare-4-5.d.ts +2 -0
  95. package/dist/mcp/terraform/paths.d.ts +28 -0
  96. package/dist/mcp/terraform/plan.d.ts +157 -0
  97. package/dist/mcp/terraform/planDrift.d.ts +199 -0
  98. package/dist/mcp/terraform/policyAuthor.d.ts +191 -0
  99. package/dist/mcp/terraform/prowlerOcsf.d.ts +136 -0
  100. package/dist/mcp/terraform/refactor.d.ts +183 -0
  101. package/dist/mcp/terraform/registry.d.ts +108 -0
  102. package/dist/mcp/terraform/risk.d.ts +41 -0
  103. package/dist/mcp/terraform/scanSession.d.ts +116 -0
  104. package/dist/mcp/terraform/scannerCache.d.ts +15 -0
  105. package/dist/mcp/terraform/scannerEgress.d.ts +72 -0
  106. package/dist/mcp/terraform/scannerJson.d.ts +13 -0
  107. package/dist/mcp/terraform/scanners.d.ts +205 -0
  108. package/dist/mcp/terraform/signing.d.ts +61 -0
  109. package/dist/mcp/terraform/stateLocking.d.ts +18 -0
  110. package/dist/mcp/terraform/subprocess.d.ts +43 -0
  111. package/dist/mcp/terraform/suppressions.d.ts +90 -0
  112. package/dist/mcp/terraform/taxonomy.d.ts +39 -0
  113. package/dist/mcp/terraform/tfquery.d.ts +47 -0
  114. package/dist/mcp/terraform/toolchainIntegrity.d.ts +82 -0
  115. package/dist/mcp/terraform/tools/authorPolicy.d.ts +59 -0
  116. package/dist/mcp/terraform/tools/detectPlanDrift.d.ts +20 -0
  117. package/dist/mcp/terraform/tools/emitCost.d.ts +11 -0
  118. package/dist/mcp/terraform/tools/emitSarif.d.ts +14 -0
  119. package/dist/mcp/terraform/tools/fixMemory.d.ts +19 -0
  120. package/dist/mcp/terraform/tools/infracostDiff.d.ts +22 -0
  121. package/dist/mcp/terraform/tools/ingestExternalFindings.d.ts +21 -0
  122. package/dist/mcp/terraform/tools/moduleLookup.d.ts +14 -0
  123. package/dist/mcp/terraform/tools/moduleSearch.d.ts +23 -0
  124. package/dist/mcp/terraform/tools/plan.d.ts +59 -0
  125. package/dist/mcp/terraform/tools/providerUpgrade.d.ts +55 -0
  126. package/dist/mcp/terraform/tools/readFindings.d.ts +17 -0
  127. package/dist/mcp/terraform/tools/scan.d.ts +114 -0
  128. package/dist/mcp/terraform/tools/validate.d.ts +31 -0
  129. package/dist/mcp/terraform/tools/verifyRemediation.d.ts +31 -0
  130. package/dist/mcp/terraform/tools/versionCurrency.d.ts +5 -0
  131. package/dist/mcp/terraform/tools.d.ts +16 -0
  132. package/dist/mcp/terraform/transformPacks.d.ts +267 -0
  133. package/dist/mcp/terraform/types.d.ts +226 -0
  134. package/dist/mcp/terraform/verification.d.ts +81 -0
  135. package/dist/mcp/terraform/vex.d.ts +115 -0
  136. package/dist/mcp/terraform/writeOnly.d.ts +67 -0
  137. package/dist/mcp/terraform.d.ts +51 -0
  138. package/dist/mcp/terratest.d.ts +85 -0
  139. package/dist/mcp/untrustedContent.d.ts +76 -0
  140. package/dist/mcp/upload.d.ts +8 -0
  141. package/dist/models.d.ts +181 -0
  142. package/dist/modes/address-reviews.d.ts +2 -0
  143. package/dist/modes/assess.d.ts +2 -0
  144. package/dist/modes/build.d.ts +2 -0
  145. package/dist/modes/compliance-audit.d.ts +2 -0
  146. package/dist/modes/cost-optimization.d.ts +2 -0
  147. package/dist/modes/drift-detect.d.ts +2 -0
  148. package/dist/modes/fix.d.ts +2 -0
  149. package/dist/modes/incremental-review.d.ts +2 -0
  150. package/dist/modes/index.d.ts +24 -0
  151. package/dist/modes/modernize-deprecated.d.ts +2 -0
  152. package/dist/modes/plan.d.ts +2 -0
  153. package/dist/modes/policy-gate.d.ts +2 -0
  154. package/dist/modes/prFormats.d.ts +3 -0
  155. package/dist/modes/refactor.d.ts +2 -0
  156. package/dist/modes/refresh-remediation.d.ts +2 -0
  157. package/dist/modes/remediate-and-refactor.d.ts +2 -0
  158. package/dist/modes/remediate.d.ts +2 -0
  159. package/dist/modes/resolve-conflicts.d.ts +2 -0
  160. package/dist/modes/review.d.ts +2 -0
  161. package/dist/modes/summarize-pr.d.ts +2 -0
  162. package/dist/modes/task.d.ts +2 -0
  163. package/dist/modes/terraform-code-review.d.ts +2 -0
  164. package/dist/modes/types.d.ts +9 -0
  165. package/dist/modes/update-dependencies.d.ts +2 -0
  166. package/dist/prep/index.d.ts +7 -0
  167. package/dist/prep/installNodeDependencies.d.ts +2 -0
  168. package/dist/prep/installPythonDependencies.d.ts +2 -0
  169. package/dist/prep/types.d.ts +31 -0
  170. package/dist/reviewQuality.d.ts +107 -0
  171. package/dist/skills/terraform-best-practices/SKILL.md +379 -0
  172. package/dist/toolState.d.ts +123 -0
  173. package/dist/utils/activity.d.ts +40 -0
  174. package/dist/utils/agent.d.ts +47 -0
  175. package/dist/utils/agentHangReport.d.ts +38 -0
  176. package/dist/utils/annotations.d.ts +17 -0
  177. package/dist/utils/apiFetch.d.ts +11 -0
  178. package/dist/utils/apiKeys.d.ts +48 -0
  179. package/dist/utils/apiUrl.d.ts +28 -0
  180. package/dist/utils/assets.d.ts +8 -0
  181. package/dist/utils/baseRefConfig.d.ts +121 -0
  182. package/dist/utils/billingErrors.d.ts +85 -0
  183. package/dist/utils/body.d.ts +34 -0
  184. package/dist/utils/buildInfraweaverFooter.d.ts +29 -0
  185. package/dist/utils/byokFallback.d.ts +85 -0
  186. package/dist/utils/changeImpact.d.ts +101 -0
  187. package/dist/utils/claudeSubscription.d.ts +30 -0
  188. package/dist/utils/cli.d.ts +10 -0
  189. package/dist/utils/cloudClient.d.ts +33 -0
  190. package/dist/utils/cloudFetchCore.d.ts +42 -0
  191. package/dist/utils/cloudReport.d.ts +114 -0
  192. package/dist/utils/codexHome.d.ts +29 -0
  193. package/dist/utils/codexOAuth.d.ts +60 -0
  194. package/dist/utils/diffCoverage.d.ts +63 -0
  195. package/dist/utils/env.d.ts +46 -0
  196. package/dist/utils/errorReport.d.ts +17 -0
  197. package/dist/utils/exitHandler.d.ts +8 -0
  198. package/dist/utils/fixDoubleEscapedString.d.ts +1 -0
  199. package/dist/utils/gitAuth.d.ts +84 -0
  200. package/dist/utils/gitAuthServer.d.ts +24 -0
  201. package/dist/utils/github.d.ts +104 -0
  202. package/dist/utils/globals.d.ts +3 -0
  203. package/dist/utils/infraweaverConfig.d.ts +56 -0
  204. package/dist/utils/install.d.ts +37 -0
  205. package/dist/utils/instructions.d.ts +48 -0
  206. package/dist/utils/keylessOidc.d.ts +28 -0
  207. package/dist/utils/leapingComment.d.ts +11 -0
  208. package/dist/utils/learnings.d.ts +62 -0
  209. package/dist/utils/learningsTruncate.d.ts +25 -0
  210. package/dist/utils/lifecycle.d.ts +57 -0
  211. package/dist/utils/log.d.ts +111 -0
  212. package/dist/utils/modelResolver.d.ts +63 -0
  213. package/dist/utils/moduleFetch.d.ts +39 -0
  214. package/dist/utils/normalizeEnv.d.ts +30 -0
  215. package/dist/utils/openCodeModels.d.ts +11 -0
  216. package/dist/utils/openaiCompatible.d.ts +26 -0
  217. package/dist/utils/opentofuMcp.d.ts +50 -0
  218. package/dist/utils/overrides.d.ts +40 -0
  219. package/dist/utils/packageManager.d.ts +49 -0
  220. package/dist/utils/patchWorkflowRunFields.d.ts +29 -0
  221. package/dist/utils/payload.d.ts +249 -0
  222. package/dist/utils/prSummary.d.ts +61 -0
  223. package/dist/utils/presets.d.ts +36 -0
  224. package/dist/utils/progressComment.d.ts +146 -0
  225. package/dist/utils/providerErrors.d.ts +31 -0
  226. package/dist/utils/proxyModel.d.ts +76 -0
  227. package/dist/utils/rangeDiff.d.ts +51 -0
  228. package/dist/utils/redact.d.ts +33 -0
  229. package/dist/utils/registryAuth.d.ts +52 -0
  230. package/dist/utils/remediationCommand.d.ts +58 -0
  231. package/dist/utils/retry.d.ts +38 -0
  232. package/dist/utils/reviewCleanup.d.ts +14 -0
  233. package/dist/utils/run.d.ts +9 -0
  234. package/dist/utils/runContext.d.ts +112 -0
  235. package/dist/utils/runContextData.d.ts +42 -0
  236. package/dist/utils/runErrorRenderer.d.ts +64 -0
  237. package/dist/utils/runLifecycle.d.ts +89 -0
  238. package/dist/utils/runStartupLog.d.ts +15 -0
  239. package/dist/utils/secrets.d.ts +34 -0
  240. package/dist/utils/setup.d.ts +90 -0
  241. package/dist/utils/shell.d.ts +44 -0
  242. package/dist/utils/skills.d.ts +10 -0
  243. package/dist/utils/subprocess.d.ts +81 -0
  244. package/dist/utils/terraformMcp.d.ts +46 -0
  245. package/dist/utils/time.d.ts +15 -0
  246. package/dist/utils/timer.d.ts +23 -0
  247. package/dist/utils/todoTracking.d.ts +16 -0
  248. package/dist/utils/token.d.ts +52 -0
  249. package/dist/utils/toolLicensing.d.ts +56 -0
  250. package/dist/utils/toolSelection.d.ts +73 -0
  251. package/dist/utils/toon.d.ts +16 -0
  252. package/dist/utils/version.d.ts +2 -0
  253. package/dist/utils/versioning.d.ts +7 -0
  254. package/dist/utils/vertex.d.ts +16 -0
  255. package/dist/utils/workflow.d.ts +13 -0
  256. package/package.json +132 -0
  257. package/src/agents/claude.ts +1588 -0
  258. package/src/agents/claudePretoolGate.ts +286 -0
  259. package/src/agents/dispatchMetrics.ts +162 -0
  260. package/src/agents/gateServer.ts +178 -0
  261. package/src/agents/index.ts +10 -0
  262. package/src/agents/nativeFsDenies.ts +164 -0
  263. package/src/agents/opencode.ts +1600 -0
  264. package/src/agents/opencodePlugin.ts +304 -0
  265. package/src/agents/opencodeShared.ts +134 -0
  266. package/src/agents/postRun.ts +615 -0
  267. package/src/agents/reviewer.ts +134 -0
  268. package/src/agents/sessionLabeler.ts +185 -0
  269. package/src/agents/shared.ts +377 -0
  270. package/src/agents/subagentModels.ts +40 -0
  271. package/src/agents/tokenQuota.ts +203 -0
  272. package/src/agents/writeGateSource.ts +148 -0
  273. package/src/agents/writePolicy.ts +132 -0
  274. package/src/brand.ts +84 -0
  275. package/src/cli.ts +117 -0
  276. package/src/commands/gha.ts +188 -0
  277. package/src/commands/mcp.ts +126 -0
  278. package/src/commands/verifyEvidence.ts +100 -0
  279. package/src/entry.ts +7 -0
  280. package/src/entryPost.ts +109 -0
  281. package/src/external.ts +308 -0
  282. package/src/i18n/scaffolding.ts +191 -0
  283. package/src/index.ts +7 -0
  284. package/src/internal/index.ts +74 -0
  285. package/src/lifecycle.ts +2 -0
  286. package/src/main.ts +815 -0
  287. package/src/mcp/__fixtures__/infraweaver-scratch-pr-49-review-3485940013.json +110 -0
  288. package/src/mcp/__fixtures__/infraweaver-scratch-pr-64-review-3531000326.json +14 -0
  289. package/src/mcp/__fixtures__/infraweaver-test-repo-pr-1.diff.json +67 -0
  290. package/src/mcp/__snapshots__/checkout.test.ts.snap +109 -0
  291. package/src/mcp/__snapshots__/reviewComments.test.ts.snap +71 -0
  292. package/src/mcp/arkConfig.ts +7 -0
  293. package/src/mcp/assess.ts +723 -0
  294. package/src/mcp/capabilityContext.ts +80 -0
  295. package/src/mcp/changeSummary.ts +145 -0
  296. package/src/mcp/checkSuite.ts +261 -0
  297. package/src/mcp/checkout.ts +1015 -0
  298. package/src/mcp/comment.ts +683 -0
  299. package/src/mcp/commitInfo.ts +57 -0
  300. package/src/mcp/crosswalk.ts +1253 -0
  301. package/src/mcp/crosswalkDigest.ts +5 -0
  302. package/src/mcp/cyberEssentials.ts +60 -0
  303. package/src/mcp/dashboard.ts +232 -0
  304. package/src/mcp/dependencies.ts +190 -0
  305. package/src/mcp/frameworks.ts +236 -0
  306. package/src/mcp/geminiSanitizer.ts +212 -0
  307. package/src/mcp/git.ts +1116 -0
  308. package/src/mcp/guardrails.ts +771 -0
  309. package/src/mcp/issue.ts +74 -0
  310. package/src/mcp/issueComments.ts +48 -0
  311. package/src/mcp/issueEvents.ts +100 -0
  312. package/src/mcp/issueInfo.ts +72 -0
  313. package/src/mcp/labels.ts +35 -0
  314. package/src/mcp/localContext.ts +65 -0
  315. package/src/mcp/localServer.ts +217 -0
  316. package/src/mcp/moduleExtraction.ts +368 -0
  317. package/src/mcp/moduleTests.ts +421 -0
  318. package/src/mcp/modules.ts +752 -0
  319. package/src/mcp/output.ts +71 -0
  320. package/src/mcp/pathSafety.ts +28 -0
  321. package/src/mcp/policy.ts +226 -0
  322. package/src/mcp/pr.ts +238 -0
  323. package/src/mcp/prInfo.ts +91 -0
  324. package/src/mcp/providerSchema.ts +175 -0
  325. package/src/mcp/review.ts +1081 -0
  326. package/src/mcp/reviewComments.ts +1137 -0
  327. package/src/mcp/roots.ts +217 -0
  328. package/src/mcp/scope.ts +82 -0
  329. package/src/mcp/selectMode.ts +207 -0
  330. package/src/mcp/server.ts +498 -0
  331. package/src/mcp/shared.ts +120 -0
  332. package/src/mcp/shell.ts +631 -0
  333. package/src/mcp/staleFix.ts +557 -0
  334. package/src/mcp/terraform/__snapshots__/moduleDocs.test.ts.snap +40 -0
  335. package/src/mcp/terraform/azurePrices.ts +38 -0
  336. package/src/mcp/terraform/baseline.ts +172 -0
  337. package/src/mcp/terraform/concernResult.ts +111 -0
  338. package/src/mcp/terraform/cost.ts +175 -0
  339. package/src/mcp/terraform/cspm.ts +326 -0
  340. package/src/mcp/terraform/currency.ts +354 -0
  341. package/src/mcp/terraform/decisions.ts +590 -0
  342. package/src/mcp/terraform/eidas.ts +134 -0
  343. package/src/mcp/terraform/evidence.ts +771 -0
  344. package/src/mcp/terraform/findings.ts +383 -0
  345. package/src/mcp/terraform/fixMemory.ts +253 -0
  346. package/src/mcp/terraform/governance.ts +231 -0
  347. package/src/mcp/terraform/hcl.ts +273 -0
  348. package/src/mcp/terraform/iacLanguages.ts +431 -0
  349. package/src/mcp/terraform/idleFloor.ts +304 -0
  350. package/src/mcp/terraform/keyless.ts +123 -0
  351. package/src/mcp/terraform/moduleDocs.ts +303 -0
  352. package/src/mcp/terraform/nativeRules.ts +152 -0
  353. package/src/mcp/terraform/nativeScan.ts +67 -0
  354. package/src/mcp/terraform/noiseProfile.ts +183 -0
  355. package/src/mcp/terraform/normalization.ts +265 -0
  356. package/src/mcp/terraform/oscal.ts +283 -0
  357. package/src/mcp/terraform/packs/azurerm-3-4.ts +382 -0
  358. package/src/mcp/terraform/packs/cloudflare-4-5.ts +114 -0
  359. package/src/mcp/terraform/paths.ts +59 -0
  360. package/src/mcp/terraform/plan.ts +377 -0
  361. package/src/mcp/terraform/planDrift.ts +520 -0
  362. package/src/mcp/terraform/policyAuthor.ts +886 -0
  363. package/src/mcp/terraform/prowlerOcsf.ts +380 -0
  364. package/src/mcp/terraform/refactor.ts +879 -0
  365. package/src/mcp/terraform/registry.ts +317 -0
  366. package/src/mcp/terraform/risk.ts +99 -0
  367. package/src/mcp/terraform/scanSession.ts +242 -0
  368. package/src/mcp/terraform/scannerCache.ts +86 -0
  369. package/src/mcp/terraform/scannerEgress.ts +141 -0
  370. package/src/mcp/terraform/scannerJson.ts +22 -0
  371. package/src/mcp/terraform/scanners.ts +1134 -0
  372. package/src/mcp/terraform/signing.ts +151 -0
  373. package/src/mcp/terraform/stateLocking.ts +106 -0
  374. package/src/mcp/terraform/subprocess.ts +102 -0
  375. package/src/mcp/terraform/suppressions.ts +551 -0
  376. package/src/mcp/terraform/taxonomy.ts +0 -0
  377. package/src/mcp/terraform/tfquery.ts +159 -0
  378. package/src/mcp/terraform/toolchainIntegrity.ts +151 -0
  379. package/src/mcp/terraform/tools/authorPolicy.ts +185 -0
  380. package/src/mcp/terraform/tools/detectPlanDrift.ts +279 -0
  381. package/src/mcp/terraform/tools/emitCost.ts +130 -0
  382. package/src/mcp/terraform/tools/emitSarif.ts +108 -0
  383. package/src/mcp/terraform/tools/fixMemory.ts +82 -0
  384. package/src/mcp/terraform/tools/infracostDiff.ts +110 -0
  385. package/src/mcp/terraform/tools/ingestExternalFindings.ts +259 -0
  386. package/src/mcp/terraform/tools/moduleLookup.ts +86 -0
  387. package/src/mcp/terraform/tools/moduleSearch.ts +46 -0
  388. package/src/mcp/terraform/tools/plan.ts +384 -0
  389. package/src/mcp/terraform/tools/providerUpgrade.ts +217 -0
  390. package/src/mcp/terraform/tools/readFindings.ts +138 -0
  391. package/src/mcp/terraform/tools/scan.ts +303 -0
  392. package/src/mcp/terraform/tools/validate.ts +160 -0
  393. package/src/mcp/terraform/tools/verifyRemediation.ts +190 -0
  394. package/src/mcp/terraform/tools/versionCurrency.ts +64 -0
  395. package/src/mcp/terraform/tools.ts +62 -0
  396. package/src/mcp/terraform/transformPacks.ts +594 -0
  397. package/src/mcp/terraform/types.ts +382 -0
  398. package/src/mcp/terraform/verification.ts +150 -0
  399. package/src/mcp/terraform/vex.ts +367 -0
  400. package/src/mcp/terraform/writeOnly.ts +252 -0
  401. package/src/mcp/terraform.ts +52 -0
  402. package/src/mcp/terratest.ts +215 -0
  403. package/src/mcp/untrustedContent.ts +126 -0
  404. package/src/mcp/upload.ts +123 -0
  405. package/src/models.ts +753 -0
  406. package/src/modes/address-reviews.ts +35 -0
  407. package/src/modes/assess.ts +27 -0
  408. package/src/modes/build.ts +86 -0
  409. package/src/modes/compliance-audit.ts +25 -0
  410. package/src/modes/cost-optimization.ts +36 -0
  411. package/src/modes/drift-detect.ts +31 -0
  412. package/src/modes/fix.ts +29 -0
  413. package/src/modes/incremental-review.ts +103 -0
  414. package/src/modes/index.ts +94 -0
  415. package/src/modes/modernize-deprecated.ts +36 -0
  416. package/src/modes/plan.ts +21 -0
  417. package/src/modes/policy-gate.ts +27 -0
  418. package/src/modes/prFormats.ts +325 -0
  419. package/src/modes/refactor.ts +74 -0
  420. package/src/modes/refresh-remediation.ts +40 -0
  421. package/src/modes/remediate-and-refactor.ts +42 -0
  422. package/src/modes/remediate.ts +78 -0
  423. package/src/modes/resolve-conflicts.ts +32 -0
  424. package/src/modes/review.ts +135 -0
  425. package/src/modes/summarize-pr.ts +42 -0
  426. package/src/modes/task.ts +26 -0
  427. package/src/modes/terraform-code-review.ts +68 -0
  428. package/src/modes/types.ts +17 -0
  429. package/src/modes/update-dependencies.ts +44 -0
  430. package/src/prep/index.ts +96 -0
  431. package/src/prep/installNodeDependencies.ts +251 -0
  432. package/src/prep/installPythonDependencies.ts +235 -0
  433. package/src/prep/types.ts +38 -0
  434. package/src/reviewQuality.ts +237 -0
  435. package/src/runCli.ts +335 -0
  436. package/src/skills/terraform-best-practices/SKILL.md +379 -0
  437. package/src/toolState.ts +241 -0
  438. package/src/utils/activity.ts +210 -0
  439. package/src/utils/agent.ts +245 -0
  440. package/src/utils/agentHangReport.ts +180 -0
  441. package/src/utils/annotations.ts +56 -0
  442. package/src/utils/apiFetch.ts +19 -0
  443. package/src/utils/apiKeys.ts +305 -0
  444. package/src/utils/apiUrl.ts +42 -0
  445. package/src/utils/assets.ts +123 -0
  446. package/src/utils/baseRefConfig.ts +254 -0
  447. package/src/utils/billingErrors.ts +210 -0
  448. package/src/utils/body.ts +168 -0
  449. package/src/utils/buildInfraweaverFooter.ts +104 -0
  450. package/src/utils/byokFallback.ts +137 -0
  451. package/src/utils/changeImpact.ts +330 -0
  452. package/src/utils/claudeSubscription.ts +93 -0
  453. package/src/utils/cli.ts +36 -0
  454. package/src/utils/cloudClient.ts +57 -0
  455. package/src/utils/cloudFetchCore.ts +139 -0
  456. package/src/utils/cloudReport.ts +316 -0
  457. package/src/utils/codexHome.ts +204 -0
  458. package/src/utils/codexOAuth.ts +154 -0
  459. package/src/utils/codexRefreshDetect.ts +36 -0
  460. package/src/utils/diffCoverage.ts +404 -0
  461. package/src/utils/env.ts +84 -0
  462. package/src/utils/errorReport.ts +94 -0
  463. package/src/utils/exitHandler.ts +35 -0
  464. package/src/utils/fixDoubleEscapedString.ts +9 -0
  465. package/src/utils/ghaCore.ts +13 -0
  466. package/src/utils/gitAuth.ts +268 -0
  467. package/src/utils/gitAuthServer.ts +186 -0
  468. package/src/utils/github.ts +676 -0
  469. package/src/utils/globals.ts +9 -0
  470. package/src/utils/humanEditCapture.ts +198 -0
  471. package/src/utils/infraweaverConfig.ts +202 -0
  472. package/src/utils/install.ts +279 -0
  473. package/src/utils/instructions.ts +640 -0
  474. package/src/utils/keylessOidc.ts +47 -0
  475. package/src/utils/leapingComment.ts +20 -0
  476. package/src/utils/learnings.ts +145 -0
  477. package/src/utils/learningsTruncate.ts +42 -0
  478. package/src/utils/lifecycle.ts +198 -0
  479. package/src/utils/log.ts +452 -0
  480. package/src/utils/modelResolver.ts +105 -0
  481. package/src/utils/moduleFetch.ts +138 -0
  482. package/src/utils/normalizeEnv.ts +106 -0
  483. package/src/utils/openCodeModels.ts +86 -0
  484. package/src/utils/openaiCompatible.ts +52 -0
  485. package/src/utils/opentofuMcp.ts +61 -0
  486. package/src/utils/overrides.ts +100 -0
  487. package/src/utils/packageManager.ts +257 -0
  488. package/src/utils/patchWorkflowRunFields.ts +173 -0
  489. package/src/utils/payload.ts +1206 -0
  490. package/src/utils/prSummary.ts +148 -0
  491. package/src/utils/presets.ts +105 -0
  492. package/src/utils/progressComment.ts +266 -0
  493. package/src/utils/providerErrors.ts +189 -0
  494. package/src/utils/proxyModel.ts +239 -0
  495. package/src/utils/rangeDiff.ts +182 -0
  496. package/src/utils/redact.ts +86 -0
  497. package/src/utils/registryAuth.ts +115 -0
  498. package/src/utils/remediationCommand.ts +144 -0
  499. package/src/utils/retry.ts +180 -0
  500. package/src/utils/reviewCleanup.ts +116 -0
  501. package/src/utils/run.ts +100 -0
  502. package/src/utils/runContext.ts +276 -0
  503. package/src/utils/runContextData.ts +121 -0
  504. package/src/utils/runErrorRenderer.ts +282 -0
  505. package/src/utils/runFixture.ts +91 -0
  506. package/src/utils/runLifecycle.ts +360 -0
  507. package/src/utils/runStartupLog.ts +67 -0
  508. package/src/utils/secrets.ts +208 -0
  509. package/src/utils/setup.ts +368 -0
  510. package/src/utils/shell.ts +132 -0
  511. package/src/utils/skills.ts +67 -0
  512. package/src/utils/subprocess.ts +474 -0
  513. package/src/utils/terraformMcp.ts +99 -0
  514. package/src/utils/time.ts +59 -0
  515. package/src/utils/timer.ts +72 -0
  516. package/src/utils/todoTracking.ts +168 -0
  517. package/src/utils/token.ts +294 -0
  518. package/src/utils/toolLicensing.ts +152 -0
  519. package/src/utils/toolSelection.ts +239 -0
  520. package/src/utils/toon.ts +76 -0
  521. package/src/utils/version.ts +10 -0
  522. package/src/utils/versioning.ts +44 -0
  523. package/src/utils/vertex.ts +94 -0
  524. package/src/utils/workflow.ts +25 -0
@@ -0,0 +1,59 @@
1
+ export declare const PolicyAuthorParams: import("arktype/internal/variants/object.ts").ObjectType<{
2
+ id: string;
3
+ title: string;
4
+ source_requirement: string;
5
+ resource_type: string;
6
+ attribute: string;
7
+ operator: string;
8
+ value?: string | number | boolean | (string | number)[];
9
+ when_absent: "compliant" | "violation";
10
+ severity: "critical" | "high" | "info" | "low" | "medium";
11
+ theme: string;
12
+ message: string;
13
+ example_compliant?: string | number | boolean;
14
+ example_violating?: string | number | boolean;
15
+ }, {}>;
16
+ /**
17
+ * §5.2 — the authoring surface. Turns one requirement from a written standard
18
+ * into reviewed policy-as-code plus the fixtures that prove it is not vacuous.
19
+ *
20
+ * The tool is NON-MUTATING on purpose. It returns file CONTENT, never writes it:
21
+ * the whole premise of §5.2 is that the output is reviewed code a human commits,
22
+ * not a policy that appears in the repo because a model decided it should. That
23
+ * also keeps the push allow-list untouched.
24
+ *
25
+ * It takes no `LocalToolContext` for the same reason: nothing here reads the
26
+ * workspace, the run payload or the scan session. Spec in, artifacts out — which
27
+ * is what lets the whole path be unit-tested without a fixture repo.
28
+ */
29
+ export declare function PolicyAuthorTool(): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
30
+ id: string;
31
+ title: string;
32
+ source_requirement: string;
33
+ resource_type: string;
34
+ attribute: string;
35
+ operator: string;
36
+ value?: string | number | boolean | (string | number)[];
37
+ when_absent: "compliant" | "violation";
38
+ severity: "critical" | "high" | "info" | "low" | "medium";
39
+ theme: string;
40
+ message: string;
41
+ example_compliant?: string | number | boolean;
42
+ example_violating?: string | number | boolean;
43
+ }, {
44
+ id: string;
45
+ title: string;
46
+ source_requirement: string;
47
+ resource_type: string;
48
+ attribute: string;
49
+ operator: string;
50
+ value?: string | number | boolean | (string | number)[];
51
+ when_absent: "compliant" | "violation";
52
+ severity: "critical" | "high" | "info" | "low" | "medium";
53
+ theme: string;
54
+ message: string;
55
+ example_compliant?: string | number | boolean;
56
+ example_violating?: string | number | boolean;
57
+ }>> & {
58
+ mutates?: boolean;
59
+ };
@@ -0,0 +1,20 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const DetectPlanDriftParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ path?: string;
4
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
5
+ noise_fields?: string[];
6
+ noise_filter?: boolean;
7
+ }, {}>;
8
+ export declare function DetectPlanDriftTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
9
+ path?: string;
10
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
11
+ noise_fields?: string[];
12
+ noise_filter?: boolean;
13
+ }, {
14
+ path?: string;
15
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
16
+ noise_fields?: string[];
17
+ noise_filter?: boolean;
18
+ }>> & {
19
+ mutates?: boolean;
20
+ };
@@ -0,0 +1,11 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ /** No `output_path`: the artifact name is FIXED. The guardrail carve-out that
3
+ * lets this file be pushed is the single literal `cost.md` (see
4
+ * `COST_ALLOWED_PATHS`), so an agent-chosen path could either be rejected at
5
+ * push time or — worse, for a path like `main.tf` that IS allow-listed —
6
+ * overwrite Terraform source with markdown. Fixing the name makes the tool's
7
+ * write surface exactly the surface the guardrail permits. */
8
+ export declare const TerraformEmitCostParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
9
+ export declare function TerraformEmitCostTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
10
+ mutates?: boolean;
11
+ };
@@ -0,0 +1,14 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformEmitSarifParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ output_path?: string;
4
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
5
+ }, {}>;
6
+ export declare function TerraformEmitSarifTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
7
+ output_path?: string;
8
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
9
+ }, {
10
+ output_path?: string;
11
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
12
+ }>> & {
13
+ mutates?: boolean;
14
+ };
@@ -0,0 +1,19 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformFixMemoryParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
3
+ export declare function runFixMemory(ctx: LocalToolContext): import("#app/mcp/shared").ToolOk<{
4
+ enabled: boolean;
5
+ patterns: {
6
+ finding_type: string;
7
+ title: string;
8
+ canonical_class: string | undefined;
9
+ remediation_hint: string | undefined;
10
+ before_example: string | undefined;
11
+ times_proven: number | undefined;
12
+ repos_count: number | undefined;
13
+ last_proven: string | undefined;
14
+ }[];
15
+ note: string;
16
+ }>;
17
+ export declare function TerraformFixMemoryTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
18
+ mutates?: boolean;
19
+ };
@@ -0,0 +1,22 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ import { infracostBaseline, runInfracostBreakdown } from "#app/mcp/terraform/cost";
3
+ export declare const InfracostDiffParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
4
+ export interface InfracostRunners {
5
+ runInfracostBreakdown: typeof runInfracostBreakdown;
6
+ infracostBaseline: typeof infracostBaseline;
7
+ }
8
+ export declare function runInfracostDiff(ctx: LocalToolContext, runners?: InfracostRunners): Promise<Record<string, any> | import("#app/mcp/shared").ToolOk<{
9
+ ran: boolean;
10
+ currency: string;
11
+ current_monthly_cost: number | null;
12
+ baseline_monthly_cost: number | null;
13
+ monthly_delta: number | null;
14
+ direction: "decrease" | "increase" | "no-change" | "unknown";
15
+ needs_human: boolean;
16
+ cost_escalation_reason?: string;
17
+ top_resource_costs?: import("#app/mcp/terraform/cost").ResourceCost[];
18
+ note?: string;
19
+ }>>;
20
+ export declare function InfracostDiffTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
21
+ mutates?: boolean;
22
+ };
@@ -0,0 +1,21 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const IngestExternalFindingsParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ path?: string;
4
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
5
+ group_by?: "file" | "rule";
6
+ }, {}>;
7
+ /** the findings feed is untrusted third-party output parsed with JSON.parse in
8
+ * one shot — cap it well below V8's ~1 GiB string limit so a hostile or
9
+ * runaway feed degrades to a named skip instead of an OOM crash. */
10
+ export declare const MAX_FEED_BYTES: number;
11
+ export declare function IngestExternalFindingsTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
12
+ path?: string;
13
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
14
+ group_by?: "file" | "rule";
15
+ }, {
16
+ path?: string;
17
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
18
+ group_by?: "file" | "rule";
19
+ }>> & {
20
+ mutates?: boolean;
21
+ };
@@ -0,0 +1,14 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformModuleLookupParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ source: string;
4
+ version?: string;
5
+ }, {}>;
6
+ export declare function TerraformModuleLookupTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
7
+ source: string;
8
+ version?: string;
9
+ }, {
10
+ source: string;
11
+ version?: string;
12
+ }>> & {
13
+ mutates?: boolean;
14
+ };
@@ -0,0 +1,23 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformModuleSearchParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ query: string;
4
+ namespace?: string;
5
+ provider?: string;
6
+ verified?: boolean;
7
+ limit?: number;
8
+ }, {}>;
9
+ export declare function TerraformModuleSearchTool(_ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
10
+ query: string;
11
+ namespace?: string;
12
+ provider?: string;
13
+ verified?: boolean;
14
+ limit?: number;
15
+ }, {
16
+ query: string;
17
+ namespace?: string;
18
+ provider?: string;
19
+ verified?: boolean;
20
+ limit?: number;
21
+ }>> & {
22
+ mutates?: boolean;
23
+ };
@@ -0,0 +1,59 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ import { type PlanSummary } from "#app/mcp/terraform/plan";
3
+ interface RootPlanOutcome {
4
+ ran: boolean;
5
+ skipReason?: string | undefined;
6
+ summary?: PlanSummary | undefined;
7
+ stable?: boolean | undefined;
8
+ stabilityReason?: string | undefined;
9
+ planText?: string | undefined;
10
+ }
11
+ export declare function collectCloudCredentials(): Record<string, string>;
12
+ export declare const TerraformPlanParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
13
+ export interface PlanRunners {
14
+ planOneRoot: (absDir: string, creds: Record<string, string>) => RootPlanOutcome;
15
+ hasCloudCredentials: () => boolean;
16
+ }
17
+ export declare function runPlan(ctx: LocalToolContext, runners?: PlanRunners): Promise<Record<string, any> | import("#app/mcp/shared").ToolOk<{
18
+ ran: boolean;
19
+ roots_planned: string[];
20
+ to_add: number;
21
+ to_change: number;
22
+ to_destroy: number;
23
+ has_destroy_or_replace: boolean;
24
+ destructive: {
25
+ address: string;
26
+ action: string;
27
+ }[];
28
+ stateful_destructive: {
29
+ address: string;
30
+ action: string;
31
+ type: string;
32
+ }[];
33
+ blocked_destructive?: {
34
+ address: string;
35
+ action: string;
36
+ type: string;
37
+ }[];
38
+ push_will_block: boolean;
39
+ blast_radius: import("#app/mcp/terraform/plan").BlastRadius;
40
+ idempotent: boolean;
41
+ idempotency_warning: string | undefined;
42
+ moved_count: number;
43
+ moved?: {
44
+ address: string;
45
+ previousAddress: string | null;
46
+ }[];
47
+ refactor_safe: boolean;
48
+ needs_human: boolean;
49
+ needs_human_reasons?: string[];
50
+ plan_text?: string;
51
+ roots_skipped?: {
52
+ dir: string;
53
+ reason: string | undefined;
54
+ }[];
55
+ }>>;
56
+ export declare function TerraformPlanTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
57
+ mutates?: boolean;
58
+ };
59
+ export {};
@@ -0,0 +1,55 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformProviderUpgradeParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
3
+ export declare function runProviderUpgrade(ctx: LocalToolContext): import("#app/mcp/shared").ToolOk<{
4
+ applicable: boolean;
5
+ pinned_providers: {
6
+ provider: string;
7
+ major: number | null;
8
+ constraint: string | null;
9
+ }[];
10
+ transforms: never[];
11
+ note: string;
12
+ }> | import("#app/mcp/shared").ToolOk<{
13
+ applicable: boolean;
14
+ pinned_providers: {
15
+ provider: string;
16
+ major: number | null;
17
+ constraint: string | null;
18
+ }[];
19
+ packs: {
20
+ provider: string;
21
+ from_major: number;
22
+ to_major: number;
23
+ pack_version: string;
24
+ source: string;
25
+ exhaustive: boolean;
26
+ official_tool?: string;
27
+ matched: number;
28
+ }[];
29
+ matched_sites: number;
30
+ transforms_detected: number;
31
+ transforms_needing_human: number;
32
+ transforms: {
33
+ id: string;
34
+ kind: import("#app/mcp/terraform/transformPacks").TransformKind;
35
+ resource_type?: string;
36
+ from: string;
37
+ to?: string;
38
+ file?: string;
39
+ resource_name?: string;
40
+ confidence: import("#app/mcp/terraform/transformPacks").MatchConfidence;
41
+ schema_agreement: import("#app/mcp/terraform/transformPacks").SchemaAgreement;
42
+ state_move: import("#app/mcp/terraform/transformPacks").StateMove;
43
+ needs_human: boolean;
44
+ needs_human_reason?: string;
45
+ value_change?: string;
46
+ note: string;
47
+ fleet_times_proven?: number;
48
+ fleet_repos_count?: number;
49
+ }[];
50
+ truncated?: string;
51
+ note: string;
52
+ }>;
53
+ export declare function TerraformProviderUpgradeTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
54
+ mutates?: boolean;
55
+ };
@@ -0,0 +1,17 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const ReadFindingsParams: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ path?: string;
4
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
5
+ group_by?: "file" | "rule";
6
+ }, {}>;
7
+ export declare function ReadFindingsTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
8
+ path?: string;
9
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
10
+ group_by?: "file" | "rule";
11
+ }, {
12
+ path?: string;
13
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
14
+ group_by?: "file" | "rule";
15
+ }>> & {
16
+ mutates?: boolean;
17
+ };
@@ -0,0 +1,114 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ import { type PreventiveControl } from "#app/mcp/terraform/decisions";
3
+ import { runScannersCached } from "#app/mcp/terraform/scannerCache";
4
+ import { changedTerraformFiles } from "#app/mcp/terraform/scanners";
5
+ import { type Severity } from "#app/mcp/terraform/types";
6
+ export declare const TerraformScanParams: import("arktype/internal/variants/object.ts").ObjectType<{
7
+ scan_scope?: "diff" | "full";
8
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
9
+ group_by?: "file" | "rule";
10
+ download_external_modules?: boolean;
11
+ }, {}>;
12
+ export interface ScanScanners {
13
+ runScannersCached: typeof runScannersCached;
14
+ changedTerraformFiles: typeof changedTerraformFiles;
15
+ }
16
+ export declare function runScan(ctx: LocalToolContext, { scan_scope, severity_threshold, group_by, download_external_modules, }: typeof TerraformScanParams.infer, scanners?: ScanScanners): Promise<import("#app/mcp/shared").ToolOk<{
17
+ scanned_dir: string;
18
+ scope: string;
19
+ scope_note?: string;
20
+ grouping: "file" | "rule";
21
+ scanners_ran: ("checkov" | "infraweaver" | "reviewer" | "terraform-fmt" | "terraform-validate" | "tflint" | "trivy")[];
22
+ scanners_skipped: {
23
+ source: "checkov" | "infraweaver" | "reviewer" | "terraform-fmt" | "terraform-validate" | "tflint" | "trivy";
24
+ reason: string | undefined;
25
+ }[];
26
+ scanners_partial?: {
27
+ check: string;
28
+ reason: string;
29
+ }[];
30
+ tool_selection: {
31
+ licence_gated: import("#app/utils/toolSelection").ToolId[];
32
+ disabled: import("#app/utils/toolSelection").ToolId[];
33
+ };
34
+ summary: {
35
+ total: number;
36
+ suppressed: number;
37
+ groups: number;
38
+ by_severity: Record<string, number>;
39
+ };
40
+ groups: {
41
+ doc_urls: Record<string, string>;
42
+ id: string;
43
+ file: string;
44
+ files?: string[];
45
+ grouping?: "file" | "rule";
46
+ severity: Severity;
47
+ concern_count: number;
48
+ rule_ids: string[];
49
+ concern_ids: string[];
50
+ autonomy?: import("#app/mcp/terraform/types").Autonomy;
51
+ autonomy_reasons?: string[];
52
+ }[];
53
+ batch_plan: import("#app/mcp/terraform/decisions").BatchPlan;
54
+ co_located: import("#app/mcp/terraform/decisions").LocationCluster[];
55
+ refusal_candidates: {
56
+ concern_id: string;
57
+ reason: string | undefined;
58
+ }[];
59
+ prevention: Record<string, PreventiveControl>;
60
+ top_risks: import("#app/mcp/terraform/risk").RankedConcern[];
61
+ concerns: {
62
+ doc_url: string | null;
63
+ risk_score: number;
64
+ noise_reason?: string;
65
+ id: string;
66
+ source: "terraform-fmt" | "terraform-validate" | "tflint" | "trivy" | "checkov" | "infraweaver" | "reviewer";
67
+ rule_id: string;
68
+ severity: Severity;
69
+ category: "security" | "style" | "correctness" | "cost";
70
+ evidence: string;
71
+ location: {
72
+ file: string;
73
+ line: number | null;
74
+ };
75
+ language?: import("../iacLanguages.ts").IacLanguage;
76
+ code_snippet?: string | null;
77
+ remediation_hint: string | null;
78
+ suppression?: import("#app/mcp/terraform/types").ConcernSuppression;
79
+ canonical_class?: string;
80
+ flagged_by?: string[];
81
+ }[];
82
+ orphan_native_skips?: {
83
+ file: string;
84
+ line: number;
85
+ tool: string;
86
+ rule: string;
87
+ reason: string;
88
+ expires?: string;
89
+ }[];
90
+ suppressed?: {
91
+ id: string;
92
+ rule_id: string;
93
+ severity: "critical" | "high" | "info" | "low" | "medium";
94
+ location: {
95
+ file: string;
96
+ line: number | null;
97
+ };
98
+ suppression: import("#app/mcp/terraform/types").ConcernSuppression | undefined;
99
+ }[];
100
+ untrusted_data: string;
101
+ }>>;
102
+ export declare function TerraformScanTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
103
+ scan_scope?: "diff" | "full";
104
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
105
+ group_by?: "file" | "rule";
106
+ download_external_modules?: boolean;
107
+ }, {
108
+ scan_scope?: "diff" | "full";
109
+ severity_threshold?: "critical" | "high" | "info" | "low" | "medium";
110
+ group_by?: "file" | "rule";
111
+ download_external_modules?: boolean;
112
+ }>> & {
113
+ mutates?: boolean;
114
+ };
@@ -0,0 +1,31 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ import { checkArgumentsAgainstSchema, collectProviderRequirements, scanFmt, scanTflint, scanValidate } from "#app/mcp/terraform/scanners";
3
+ export declare const TerraformValidateParams: import("arktype/internal/variants/object.ts").ObjectType<{
4
+ paths?: string[];
5
+ }, {}>;
6
+ export interface ValidateScanners {
7
+ scanFmt: typeof scanFmt;
8
+ scanValidate: typeof scanValidate;
9
+ scanTflint: typeof scanTflint;
10
+ collectProviderRequirements: typeof collectProviderRequirements;
11
+ checkArgumentsAgainstSchema: typeof checkArgumentsAgainstSchema;
12
+ }
13
+ export declare function runValidate(ctx: LocalToolContext, scanners?: ValidateScanners): Promise<import("#app/mcp/shared").ToolOk<{
14
+ passed: boolean;
15
+ checks_ran: ("checkov" | "infraweaver" | "reviewer" | "terraform-fmt" | "terraform-validate" | "tflint" | "trivy")[];
16
+ validate_incomplete: boolean;
17
+ remaining_issues: import("#app/mcp/terraform/types").Concern[];
18
+ preexisting_fmt_drift: string[];
19
+ providers: import("#app/mcp/terraform/scanners").ProviderRequirement[];
20
+ schema_checked: boolean;
21
+ unknown_arguments: import("#app/mcp/terraform/scanners").UnknownArgument[];
22
+ roots_validated: string[];
23
+ untrusted_data: string;
24
+ }>>;
25
+ export declare function TerraformValidateTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
26
+ paths?: string[];
27
+ }, {
28
+ paths?: string[];
29
+ }>> & {
30
+ mutates?: boolean;
31
+ };
@@ -0,0 +1,31 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ import { runScanners } from "#app/mcp/terraform/scanners";
3
+ export declare const TerraformVerifyRemediationParams: import("arktype/internal/variants/object.ts").ObjectType<{
4
+ concern_ids: string[];
5
+ download_external_modules?: boolean;
6
+ }, {}>;
7
+ export interface VerifyScanners {
8
+ runScanners: typeof runScanners;
9
+ }
10
+ export declare function runVerifyRemediation(ctx: LocalToolContext, { concern_ids, download_external_modules, }: typeof TerraformVerifyRemediationParams.infer, scanners?: VerifyScanners): Promise<import("#app/mcp/shared").ToolOk<{
11
+ verified: boolean;
12
+ resolved_count: number;
13
+ remaining_count: number;
14
+ resolved: string[];
15
+ remaining: string[];
16
+ has_regressions: boolean;
17
+ regressions: string[];
18
+ regressions_note?: string;
19
+ confidence: import("#app/mcp/terraform/decisions").Confidence;
20
+ confidence_reasons: string[];
21
+ scanners_ran: ("checkov" | "infraweaver" | "reviewer" | "terraform-fmt" | "terraform-validate" | "tflint" | "trivy")[];
22
+ }>>;
23
+ export declare function TerraformVerifyRemediationTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<{
24
+ concern_ids: string[];
25
+ download_external_modules?: boolean;
26
+ }, {
27
+ concern_ids: string[];
28
+ download_external_modules?: boolean;
29
+ }>> & {
30
+ mutates?: boolean;
31
+ };
@@ -0,0 +1,5 @@
1
+ import type { LocalToolContext } from "#app/mcp/localContext";
2
+ export declare const TerraformVersionCurrencyParams: import("arktype/internal/variants/object.ts").ObjectType<object, {}>;
3
+ export declare function TerraformVersionCurrencyTool(ctx: LocalToolContext): import("fastmcp").Tool<any, import("@standard-schema/spec").StandardSchemaV1<object, object>> & {
4
+ mutates?: boolean;
5
+ };
@@ -0,0 +1,16 @@
1
+ export { PolicyAuthorParams, PolicyAuthorTool, } from "#app/mcp/terraform/tools/authorPolicy";
2
+ export { DetectPlanDriftParams, DetectPlanDriftTool, } from "#app/mcp/terraform/tools/detectPlanDrift";
3
+ export { TerraformEmitCostParams, TerraformEmitCostTool, } from "#app/mcp/terraform/tools/emitCost";
4
+ export { TerraformEmitSarifParams, TerraformEmitSarifTool, } from "#app/mcp/terraform/tools/emitSarif";
5
+ export { TerraformFixMemoryParams, TerraformFixMemoryTool, } from "#app/mcp/terraform/tools/fixMemory";
6
+ export { InfracostDiffParams, InfracostDiffTool, } from "#app/mcp/terraform/tools/infracostDiff";
7
+ export { IngestExternalFindingsParams, IngestExternalFindingsTool, } from "#app/mcp/terraform/tools/ingestExternalFindings";
8
+ export { TerraformModuleLookupParams, TerraformModuleLookupTool, } from "#app/mcp/terraform/tools/moduleLookup";
9
+ export { TerraformModuleSearchParams, TerraformModuleSearchTool, } from "#app/mcp/terraform/tools/moduleSearch";
10
+ export { collectCloudCredentials, TerraformPlanParams, TerraformPlanTool, } from "#app/mcp/terraform/tools/plan";
11
+ export { TerraformProviderUpgradeParams, TerraformProviderUpgradeTool, } from "#app/mcp/terraform/tools/providerUpgrade";
12
+ export { ReadFindingsParams, ReadFindingsTool, } from "#app/mcp/terraform/tools/readFindings";
13
+ export { TerraformScanParams, TerraformScanTool } from "#app/mcp/terraform/tools/scan";
14
+ export { TerraformValidateParams, TerraformValidateTool, } from "#app/mcp/terraform/tools/validate";
15
+ export { TerraformVerifyRemediationParams, TerraformVerifyRemediationTool, } from "#app/mcp/terraform/tools/verifyRemediation";
16
+ export { TerraformVersionCurrencyParams, TerraformVersionCurrencyTool, } from "#app/mcp/terraform/tools/versionCurrency";