@intentius/chant 0.57.0 → 0.58.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 (504) hide show
  1. package/dist/audit/catalog.d.ts +51 -1
  2. package/dist/audit/catalog.d.ts.map +1 -1
  3. package/dist/audit/core.d.ts +20 -1
  4. package/dist/audit/core.d.ts.map +1 -1
  5. package/dist/audit/discover.d.ts +14 -8
  6. package/dist/audit/discover.d.ts.map +1 -1
  7. package/dist/audit/lineage.d.ts +10 -0
  8. package/dist/audit/lineage.d.ts.map +1 -0
  9. package/dist/audit/prior-art.d.ts +385 -0
  10. package/dist/audit/prior-art.d.ts.map +1 -0
  11. package/dist/audit/proof.d.ts +16 -0
  12. package/dist/audit/proof.d.ts.map +1 -1
  13. package/dist/audit/report-html.d.ts.map +1 -1
  14. package/dist/audit/report-model.d.ts +8 -1
  15. package/dist/audit/report-model.d.ts.map +1 -1
  16. package/dist/audit/report.d.ts.map +1 -1
  17. package/dist/audit/rules-doc.d.ts +3 -0
  18. package/dist/audit/rules-doc.d.ts.map +1 -1
  19. package/dist/audit/secrets.d.ts +15 -0
  20. package/dist/audit/secrets.d.ts.map +1 -1
  21. package/dist/audit/terraform-state.d.ts +46 -0
  22. package/dist/audit/terraform-state.d.ts.map +1 -0
  23. package/dist/build.d.ts +17 -1
  24. package/dist/build.d.ts.map +1 -1
  25. package/dist/claimed-fields.d.ts +161 -0
  26. package/dist/claimed-fields.d.ts.map +1 -0
  27. package/dist/cli/build-params-cli.d.ts +2 -2
  28. package/dist/cli/command-group.d.ts +14 -0
  29. package/dist/cli/command-group.d.ts.map +1 -1
  30. package/dist/cli/commands/audit.d.ts +17 -1
  31. package/dist/cli/commands/audit.d.ts.map +1 -1
  32. package/dist/cli/commands/build.d.ts.map +1 -1
  33. package/dist/cli/commands/check-lexicon-docs.d.ts +1 -1
  34. package/dist/cli/commands/check-lexicon-examples.d.ts +16 -6
  35. package/dist/cli/commands/check-lexicon-examples.d.ts.map +1 -1
  36. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts +1 -0
  37. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts.map +1 -1
  38. package/dist/cli/commands/init-lexicon/templates/project.d.ts +7 -0
  39. package/dist/cli/commands/init-lexicon/templates/project.d.ts.map +1 -1
  40. package/dist/cli/commands/init-lexicon.d.ts.map +1 -1
  41. package/dist/cli/commands/init.d.ts.map +1 -1
  42. package/dist/cli/commands/lint.d.ts.map +1 -1
  43. package/dist/cli/commands/onboard.d.ts +2 -0
  44. package/dist/cli/commands/onboard.d.ts.map +1 -1
  45. package/dist/cli/handlers/build.d.ts.map +1 -1
  46. package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
  47. package/dist/cli/handlers/operator.d.ts +82 -16
  48. package/dist/cli/handlers/operator.d.ts.map +1 -1
  49. package/dist/cli/handlers/run.d.ts +49 -42
  50. package/dist/cli/handlers/run.d.ts.map +1 -1
  51. package/dist/cli/main.d.ts +28 -1
  52. package/dist/cli/main.d.ts.map +1 -1
  53. package/dist/cli/mcp/op-tools.d.ts +16 -1
  54. package/dist/cli/mcp/op-tools.d.ts.map +1 -1
  55. package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
  56. package/dist/cli/mcp/resources/context.d.ts.map +1 -1
  57. package/dist/cli/registry.d.ts +26 -9
  58. package/dist/cli/registry.d.ts.map +1 -1
  59. package/dist/codegen/generate-post-synth-barrel.d.ts +1 -1
  60. package/dist/components/auto-release.d.ts +10 -20
  61. package/dist/components/auto-release.d.ts.map +1 -1
  62. package/dist/components/capability.d.ts +4 -4
  63. package/dist/components/cli-support.d.ts +20 -21
  64. package/dist/components/cli-support.d.ts.map +1 -1
  65. package/dist/components/component.d.ts +3 -3
  66. package/dist/components/component.d.ts.map +1 -1
  67. package/dist/components/driver-output.d.ts.map +1 -1
  68. package/dist/components/driver.d.ts +66 -36
  69. package/dist/components/driver.d.ts.map +1 -1
  70. package/dist/components/index.d.ts +1 -2
  71. package/dist/components/index.d.ts.map +1 -1
  72. package/dist/components/manifest-persistence.d.ts +1 -9
  73. package/dist/components/manifest-persistence.d.ts.map +1 -1
  74. package/dist/components/run-progress.d.ts +6 -6
  75. package/dist/components/run-progress.d.ts.map +1 -1
  76. package/dist/components/verbs/run-agent.d.ts +9 -15
  77. package/dist/components/verbs/run-agent.d.ts.map +1 -1
  78. package/dist/components/verbs/verify.d.ts +2 -2
  79. package/dist/deep-observation.d.ts +17 -0
  80. package/dist/deep-observation.d.ts.map +1 -1
  81. package/dist/discovery/files.d.ts +4 -4
  82. package/dist/discovery/fold-import.d.ts.map +1 -1
  83. package/dist/discovery/param-deps.d.ts +33 -0
  84. package/dist/discovery/param-deps.d.ts.map +1 -1
  85. package/dist/discovery/sandbox/bundle.d.ts.map +1 -1
  86. package/dist/discovery/sandbox/config-wire.d.ts +2 -2
  87. package/dist/fold/foldable-helpers.d.ts +5 -1
  88. package/dist/fold/foldable-helpers.d.ts.map +1 -1
  89. package/dist/fold-provenance.d.ts +236 -0
  90. package/dist/fold-provenance.d.ts.map +1 -0
  91. package/dist/graph-ops.d.ts +1 -1
  92. package/dist/held-elsewhere.d.ts +85 -0
  93. package/dist/held-elsewhere.d.ts.map +1 -0
  94. package/dist/index.d.ts +3 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/kubectl-context.d.ts +3 -3
  97. package/dist/lexicon-config.d.ts +4 -4
  98. package/dist/lexicon-plugin-helpers.d.ts +1 -1
  99. package/dist/lexicon.d.ts +104 -14
  100. package/dist/lexicon.d.ts.map +1 -1
  101. package/dist/lifecycle/change-set.d.ts +13 -0
  102. package/dist/lifecycle/change-set.d.ts.map +1 -1
  103. package/dist/lifecycle/deep-diff.d.ts +133 -6
  104. package/dist/lifecycle/deep-diff.d.ts.map +1 -1
  105. package/dist/lifecycle/deep-observe.d.ts.map +1 -1
  106. package/dist/lifecycle/gate-ledger.d.ts +71 -3
  107. package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
  108. package/dist/lifecycle/index.d.ts +1 -0
  109. package/dist/lifecycle/index.d.ts.map +1 -1
  110. package/dist/lifecycle/release-ledger.d.ts +2 -2
  111. package/dist/lifecycle/run-ledger.d.ts +53 -0
  112. package/dist/lifecycle/run-ledger.d.ts.map +1 -0
  113. package/dist/lifecycle/symptoms.d.ts +3 -3
  114. package/dist/lifecycle/symptoms.d.ts.map +1 -1
  115. package/dist/lint/config.d.ts +81 -2
  116. package/dist/lint/config.d.ts.map +1 -1
  117. package/dist/lint/post-synth.d.ts +55 -2
  118. package/dist/lint/post-synth.d.ts.map +1 -1
  119. package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts +1 -1
  120. package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts.map +1 -1
  121. package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts +1 -1
  122. package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts.map +1 -1
  123. package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts +44 -0
  124. package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts.map +1 -0
  125. package/dist/lint/rules/comp/index.d.ts +1 -1
  126. package/dist/lint/rules/comp/index.d.ts.map +1 -1
  127. package/dist/lint/rules/op/index.d.ts +16 -0
  128. package/dist/lint/rules/op/index.d.ts.map +1 -0
  129. package/dist/lint/rules/op/ops012-activity-contract.d.ts +27 -0
  130. package/dist/lint/rules/op/ops012-activity-contract.d.ts.map +1 -0
  131. package/dist/lint/rules/op/ops013-step-output-ref.d.ts +61 -0
  132. package/dist/lint/rules/op/ops013-step-output-ref.d.ts.map +1 -0
  133. package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts +55 -0
  134. package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts.map +1 -0
  135. package/dist/lint/rules/op/support.d.ts +12 -0
  136. package/dist/lint/rules/op/support.d.ts.map +1 -0
  137. package/dist/lint/suppressions.d.ts +108 -0
  138. package/dist/lint/suppressions.d.ts.map +1 -0
  139. package/dist/live-endpoint.d.ts +1 -1
  140. package/dist/op/activities/activity-contracts.d.ts +54 -0
  141. package/dist/op/activities/activity-contracts.d.ts.map +1 -0
  142. package/dist/op/activities/apply.d.ts +262 -0
  143. package/dist/op/activities/apply.d.ts.map +1 -0
  144. package/dist/op/activities/build.d.ts +13 -0
  145. package/dist/op/activities/build.d.ts.map +1 -0
  146. package/dist/op/activities/converge.d.ts +110 -0
  147. package/dist/op/activities/converge.d.ts.map +1 -0
  148. package/dist/op/activities/env-teardown.d.ts +76 -0
  149. package/dist/op/activities/env-teardown.d.ts.map +1 -0
  150. package/dist/op/activities/guard-validate.d.ts +64 -0
  151. package/dist/op/activities/guard-validate.d.ts.map +1 -0
  152. package/dist/op/activities/http-check.d.ts +34 -0
  153. package/dist/op/activities/http-check.d.ts.map +1 -0
  154. package/dist/op/activities/index.d.ts +31 -0
  155. package/dist/op/activities/index.d.ts.map +1 -0
  156. package/dist/op/activities/lexicon-upgrade.d.ts +182 -0
  157. package/dist/op/activities/lexicon-upgrade.d.ts.map +1 -0
  158. package/dist/op/activities/lifecycle.d.ts +42 -0
  159. package/dist/op/activities/lifecycle.d.ts.map +1 -0
  160. package/dist/op/activities/pipeline-audit.d.ts +84 -0
  161. package/dist/op/activities/pipeline-audit.d.ts.map +1 -0
  162. package/dist/op/activities/policy.d.ts +17 -0
  163. package/dist/op/activities/policy.d.ts.map +1 -0
  164. package/dist/op/activities/reconcile.d.ts +89 -0
  165. package/dist/op/activities/reconcile.d.ts.map +1 -0
  166. package/dist/op/activities/shell.d.ts +13 -0
  167. package/dist/op/activities/shell.d.ts.map +1 -0
  168. package/dist/op/activities/teardown.d.ts +10 -0
  169. package/dist/op/activities/teardown.d.ts.map +1 -0
  170. package/dist/op/activities/util.d.ts +7 -0
  171. package/dist/op/activities/util.d.ts.map +1 -0
  172. package/dist/op/activities/wait.d.ts +28 -0
  173. package/dist/op/activities/wait.d.ts.map +1 -0
  174. package/dist/op/activities/workflow-audit.d.ts +92 -0
  175. package/dist/op/activities/workflow-audit.d.ts.map +1 -0
  176. package/dist/op/activity-contract-registry.d.ts +76 -0
  177. package/dist/op/activity-contract-registry.d.ts.map +1 -0
  178. package/dist/op/activity-contract.d.ts +25 -18
  179. package/dist/op/activity-contract.d.ts.map +1 -1
  180. package/dist/op/activity-failure.d.ts +28 -0
  181. package/dist/op/activity-failure.d.ts.map +1 -0
  182. package/dist/op/activity-profiles.d.ts +118 -0
  183. package/dist/op/activity-profiles.d.ts.map +1 -0
  184. package/dist/op/activity-registry.d.ts +22 -38
  185. package/dist/op/activity-registry.d.ts.map +1 -1
  186. package/dist/op/activity-runtime.d.ts +3 -14
  187. package/dist/op/activity-runtime.d.ts.map +1 -1
  188. package/dist/op/builders.d.ts +84 -29
  189. package/dist/op/builders.d.ts.map +1 -1
  190. package/dist/op/composites/apply-op.d.ts +113 -0
  191. package/dist/op/composites/apply-op.d.ts.map +1 -0
  192. package/dist/op/composites/converge-op.d.ts +120 -0
  193. package/dist/op/composites/converge-op.d.ts.map +1 -0
  194. package/dist/op/composites/index.d.ts +26 -0
  195. package/dist/op/composites/index.d.ts.map +1 -0
  196. package/dist/op/composites/lexicon-upgrade-op.d.ts +78 -0
  197. package/dist/op/composites/lexicon-upgrade-op.d.ts.map +1 -0
  198. package/dist/op/composites/pipeline-audit-op.d.ts +50 -0
  199. package/dist/op/composites/pipeline-audit-op.d.ts.map +1 -0
  200. package/dist/op/composites/reconcile-op.d.ts +57 -0
  201. package/dist/op/composites/reconcile-op.d.ts.map +1 -0
  202. package/dist/op/composites/watch-op.d.ts +60 -0
  203. package/dist/op/composites/watch-op.d.ts.map +1 -0
  204. package/dist/op/composites/workflow-audit-op.d.ts +57 -0
  205. package/dist/op/composites/workflow-audit-op.d.ts.map +1 -0
  206. package/dist/op/converge-rule.d.ts +12 -10
  207. package/dist/op/converge-rule.d.ts.map +1 -1
  208. package/dist/op/cron.d.ts +51 -0
  209. package/dist/op/cron.d.ts.map +1 -0
  210. package/dist/op/discover.d.ts +9 -0
  211. package/dist/op/discover.d.ts.map +1 -1
  212. package/dist/op/duration.d.ts +11 -0
  213. package/dist/op/duration.d.ts.map +1 -0
  214. package/dist/op/emulator-lifecycle.d.ts.map +1 -1
  215. package/dist/op/gate.d.ts +90 -0
  216. package/dist/op/gate.d.ts.map +1 -0
  217. package/dist/op/generate-pipeline.d.ts +9 -0
  218. package/dist/op/generate-pipeline.d.ts.map +1 -1
  219. package/dist/op/index.d.ts +23 -7
  220. package/dist/op/index.d.ts.map +1 -1
  221. package/dist/op/local-executor.d.ts +114 -28
  222. package/dist/op/local-executor.d.ts.map +1 -1
  223. package/dist/op/local-output.d.ts +11 -1
  224. package/dist/op/local-output.d.ts.map +1 -1
  225. package/dist/op/op-ir.d.ts +184 -0
  226. package/dist/op/op-ir.d.ts.map +1 -0
  227. package/dist/op/op-verb-class.d.ts +10 -2
  228. package/dist/op/op-verb-class.d.ts.map +1 -1
  229. package/dist/op/operator.d.ts +30 -5
  230. package/dist/op/operator.d.ts.map +1 -1
  231. package/dist/op/receipt-store.d.ts +1 -1
  232. package/dist/op/receipt-store.d.ts.map +1 -1
  233. package/dist/op/resource.d.ts +15 -1
  234. package/dist/op/resource.d.ts.map +1 -1
  235. package/dist/op/runtime.d.ts +200 -0
  236. package/dist/op/runtime.d.ts.map +1 -0
  237. package/dist/op/runtimes/local.d.ts +29 -0
  238. package/dist/op/runtimes/local.d.ts.map +1 -0
  239. package/dist/op/step-output-ref.d.ts +15 -13
  240. package/dist/op/step-output-ref.d.ts.map +1 -1
  241. package/dist/op/types.d.ts +79 -27
  242. package/dist/op/types.d.ts.map +1 -1
  243. package/dist/ownership.d.ts +1 -1
  244. package/dist/provenance.d.ts +21 -0
  245. package/dist/provenance.d.ts.map +1 -1
  246. package/dist/serializer-walker.d.ts.map +1 -1
  247. package/package.json +6 -1
  248. package/src/audit/catalog.test.ts +79 -3
  249. package/src/audit/catalog.ts +111 -13
  250. package/src/audit/core.test.ts +26 -0
  251. package/src/audit/core.ts +61 -17
  252. package/src/audit/discover.test.ts +39 -0
  253. package/src/audit/discover.ts +91 -15
  254. package/src/audit/lineage.ts +100 -0
  255. package/src/audit/prior-art.ts +153 -0
  256. package/src/audit/proof.test.ts +67 -0
  257. package/src/audit/proof.ts +70 -0
  258. package/src/audit/report-html.ts +9 -4
  259. package/src/audit/report-model.ts +16 -2
  260. package/src/audit/report.test.ts +33 -0
  261. package/src/audit/report.ts +5 -3
  262. package/src/audit/rules-doc.test.ts +34 -2
  263. package/src/audit/rules-doc.ts +82 -9
  264. package/src/audit/secrets.ts +15 -3
  265. package/src/audit/terraform-state.test.ts +144 -0
  266. package/src/audit/terraform-state.ts +131 -0
  267. package/src/build.ts +31 -1
  268. package/src/claimed-fields.test.ts +145 -0
  269. package/src/claimed-fields.ts +208 -0
  270. package/src/cli/build-params-cli.ts +2 -2
  271. package/src/cli/command-group.ts +14 -0
  272. package/src/cli/commands/__fixtures__/audit-terraform/infra/.terraform/providers/lock.txt +1 -0
  273. package/src/cli/commands/__fixtures__/audit-terraform/infra/main.tf +1 -0
  274. package/src/cli/commands/__fixtures__/audit-terraform/infra/modules/foo/main.tf +1 -0
  275. package/src/cli/commands/__fixtures__/audit-terraform/infra/variables.tf +3 -0
  276. package/src/cli/commands/__fixtures__/init-lexicon-output/package.json +13 -4
  277. package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/docs-cli.ts +4 -0
  278. package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/package.ts +1 -0
  279. package/src/cli/commands/__fixtures__/init-lexicon-output/src/package-cli.ts +21 -0
  280. package/src/cli/commands/__snapshots__/init-lexicon.test.ts.snap +1 -0
  281. package/src/cli/commands/audit.test.ts +189 -11
  282. package/src/cli/commands/audit.ts +73 -27
  283. package/src/cli/commands/build.test.ts +292 -9
  284. package/src/cli/commands/build.ts +156 -24
  285. package/src/cli/commands/check-lexicon-docs.ts +1 -1
  286. package/src/cli/commands/check-lexicon-examples.test.ts +29 -1
  287. package/src/cli/commands/check-lexicon-examples.ts +42 -10
  288. package/src/cli/commands/init-lexicon/templates/codegen.ts +9 -0
  289. package/src/cli/commands/init-lexicon/templates/project.ts +44 -4
  290. package/src/cli/commands/init-lexicon.test.ts +97 -2
  291. package/src/cli/commands/init-lexicon.ts +4 -2
  292. package/src/cli/commands/init.test.ts +35 -1
  293. package/src/cli/commands/init.ts +14 -3
  294. package/src/cli/commands/lint.test.ts +48 -0
  295. package/src/cli/commands/lint.ts +123 -0
  296. package/src/cli/commands/onboard.test.ts +75 -0
  297. package/src/cli/commands/onboard.ts +54 -23
  298. package/src/cli/handlers/build.test.ts +81 -1
  299. package/src/cli/handlers/build.ts +15 -1
  300. package/src/cli/handlers/graph.test.ts +3 -3
  301. package/src/cli/handlers/lifecycle.test.ts +195 -12
  302. package/src/cli/handlers/lifecycle.ts +123 -6
  303. package/src/cli/handlers/misc.ts +1 -1
  304. package/src/cli/handlers/operator.test.ts +183 -11
  305. package/src/cli/handlers/operator.ts +260 -55
  306. package/src/cli/handlers/run.test.ts +431 -1287
  307. package/src/cli/handlers/run.ts +365 -915
  308. package/src/cli/main.test.ts +23 -15
  309. package/src/cli/main.ts +88 -33
  310. package/src/cli/mcp/op-tools.ts +147 -88
  311. package/src/cli/mcp/resource-handlers.ts +10 -37
  312. package/src/cli/mcp/resources/context.ts +11 -12
  313. package/src/cli/mcp/server.test.ts +25 -27
  314. package/src/cli/mcp/server.ts +2 -2
  315. package/src/cli/registry.ts +26 -9
  316. package/src/codegen/docs.ts +1 -1
  317. package/src/codegen/generate-post-synth-barrel.test.ts +1 -1
  318. package/src/codegen/generate-post-synth-barrel.ts +1 -1
  319. package/src/components/README.md +3 -2
  320. package/src/components/auto-release.test.ts +4 -20
  321. package/src/components/auto-release.ts +17 -42
  322. package/src/components/capability.ts +4 -4
  323. package/src/components/cli-support.test.ts +10 -5
  324. package/src/components/cli-support.ts +52 -44
  325. package/src/components/component.schema.json +2 -2
  326. package/src/components/component.ts +3 -3
  327. package/src/components/driver-output.ts +14 -2
  328. package/src/components/driver.test.ts +92 -22
  329. package/src/components/driver.ts +193 -83
  330. package/src/components/index.ts +1 -6
  331. package/src/components/manifest-persistence.test.ts +2 -20
  332. package/src/components/manifest-persistence.ts +4 -24
  333. package/src/components/pilots/pilots-lint-clean.test.ts +11 -10
  334. package/src/components/run-progress.ts +6 -6
  335. package/src/components/verbs/run-agent.ts +11 -17
  336. package/src/components/verbs/verify.ts +2 -2
  337. package/src/deep-observation.test.ts +75 -0
  338. package/src/deep-observation.ts +48 -0
  339. package/src/discovery/collect.test.ts +3 -3
  340. package/src/discovery/files.ts +4 -4
  341. package/src/discovery/fold-import.ts +105 -2
  342. package/src/discovery/param-deps.test.ts +112 -1
  343. package/src/discovery/param-deps.ts +193 -0
  344. package/src/discovery/sandbox/bundle.ts +15 -1
  345. package/src/discovery/sandbox/config-wire.test.ts +2 -2
  346. package/src/discovery/sandbox/config-wire.ts +2 -2
  347. package/src/fold/fold.test.ts +56 -0
  348. package/src/fold/foldable-helpers.ts +81 -1
  349. package/src/fold-provenance-exclusion.test.ts +186 -0
  350. package/src/fold-provenance.test.ts +495 -0
  351. package/src/fold-provenance.ts +441 -0
  352. package/src/graph-ops.test.ts +2 -2
  353. package/src/graph-ops.ts +1 -1
  354. package/src/held-elsewhere.test.ts +102 -0
  355. package/src/held-elsewhere.ts +114 -0
  356. package/src/index.ts +3 -0
  357. package/src/kubectl-context.ts +3 -3
  358. package/src/lexicon-config.test.ts +5 -5
  359. package/src/lexicon-config.ts +4 -4
  360. package/src/lexicon-plugin-helpers.ts +1 -1
  361. package/src/lexicon.ts +120 -14
  362. package/src/lifecycle/change-set.test.ts +49 -0
  363. package/src/lifecycle/change-set.ts +67 -0
  364. package/src/lifecycle/converge-ledger.ts +1 -1
  365. package/src/lifecycle/deep-diff.test.ts +267 -14
  366. package/src/lifecycle/deep-diff.ts +217 -14
  367. package/src/lifecycle/deep-observe.test.ts +3 -1
  368. package/src/lifecycle/deep-observe.ts +16 -6
  369. package/src/lifecycle/gate-ledger.test.ts +74 -2
  370. package/src/lifecycle/gate-ledger.ts +143 -36
  371. package/src/lifecycle/index.ts +1 -0
  372. package/src/lifecycle/release-ledger.ts +2 -2
  373. package/src/lifecycle/run-ledger.test.ts +268 -0
  374. package/src/lifecycle/run-ledger.ts +201 -0
  375. package/src/lifecycle/symptoms.ts +3 -3
  376. package/src/lint/config.test.ts +82 -1
  377. package/src/lint/config.ts +112 -3
  378. package/src/lint/policy.test.ts +1 -1
  379. package/src/lint/post-synth.test.ts +31 -0
  380. package/src/lint/post-synth.ts +54 -1
  381. package/src/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.ts +2 -2
  382. package/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts +1 -1
  383. package/src/lint/rules/comp/comp.test.ts +1 -1
  384. package/src/lint/rules/comp/comp004-gate-needs-durable-runtime.ts +74 -0
  385. package/src/lint/rules/comp/index.ts +3 -3
  386. package/src/lint/rules/op/index.ts +23 -0
  387. package/src/lint/rules/op/ops012-activity-contract.test.ts +161 -0
  388. package/src/lint/rules/op/ops012-activity-contract.ts +64 -0
  389. package/src/lint/rules/op/ops013-step-output-ref.test.ts +237 -0
  390. package/src/lint/rules/op/ops013-step-output-ref.ts +98 -0
  391. package/src/lint/rules/op/ops014-converge-rule-refusals.test.ts +263 -0
  392. package/src/lint/rules/op/ops014-converge-rule-refusals.ts +179 -0
  393. package/src/lint/rules/op/support.ts +11 -0
  394. package/src/lint/suppressions.test.ts +163 -0
  395. package/src/lint/suppressions.ts +204 -0
  396. package/src/live-endpoint.ts +1 -1
  397. package/src/op/activities/activity-contracts.ts +66 -0
  398. package/src/op/activities/apply.test.ts +567 -0
  399. package/src/op/activities/apply.ts +662 -0
  400. package/src/op/activities/build.ts +26 -0
  401. package/src/op/activities/converge.test.ts +330 -0
  402. package/src/op/activities/converge.ts +449 -0
  403. package/src/op/activities/env-teardown.test.ts +187 -0
  404. package/src/op/activities/env-teardown.ts +171 -0
  405. package/src/op/activities/guard-validate.test.ts +139 -0
  406. package/src/op/activities/guard-validate.ts +223 -0
  407. package/src/op/activities/http-check.test.ts +48 -0
  408. package/src/op/activities/http-check.ts +55 -0
  409. package/src/op/activities/index.ts +119 -0
  410. package/src/op/activities/lexicon-upgrade.test.ts +492 -0
  411. package/src/op/activities/lexicon-upgrade.ts +673 -0
  412. package/src/op/activities/lifecycle.ts +85 -0
  413. package/src/op/activities/pipeline-audit.test.ts +67 -0
  414. package/src/op/activities/pipeline-audit.ts +201 -0
  415. package/src/op/activities/policy.test.ts +19 -0
  416. package/src/op/activities/policy.ts +37 -0
  417. package/src/op/activities/reconcile.test.ts +81 -0
  418. package/src/op/activities/reconcile.ts +187 -0
  419. package/src/op/activities/shell.ts +26 -0
  420. package/src/op/activities/teardown.ts +22 -0
  421. package/src/op/activities/util.ts +6 -0
  422. package/src/op/activities/wait.ts +69 -0
  423. package/src/op/activities/workflow-audit.test.ts +90 -0
  424. package/src/op/activities/workflow-audit.ts +203 -0
  425. package/src/op/activity-contract-registry.test.ts +98 -0
  426. package/src/op/activity-contract-registry.ts +114 -0
  427. package/src/op/activity-contract.test.ts +1 -1
  428. package/src/op/activity-contract.ts +37 -33
  429. package/src/op/activity-failure.ts +34 -0
  430. package/src/op/activity-profiles.test.ts +56 -0
  431. package/src/op/activity-profiles.ts +116 -0
  432. package/src/op/activity-registry.test.ts +37 -28
  433. package/src/op/activity-registry.ts +27 -56
  434. package/src/op/activity-runtime.ts +3 -47
  435. package/src/op/builders-exports.test.ts +0 -49
  436. package/src/op/builders-typed.test.ts +164 -0
  437. package/src/op/builders.ts +123 -39
  438. package/src/op/composites/apply-op.ts +208 -0
  439. package/src/op/composites/composites.test.ts +366 -0
  440. package/src/op/composites/converge-op.test.ts +168 -0
  441. package/src/op/composites/converge-op.ts +214 -0
  442. package/src/op/composites/index.ts +26 -0
  443. package/src/op/composites/lexicon-upgrade-op.test.ts +68 -0
  444. package/src/op/composites/lexicon-upgrade-op.ts +134 -0
  445. package/src/op/composites/pipeline-audit-op.test.ts +25 -0
  446. package/src/op/composites/pipeline-audit-op.ts +78 -0
  447. package/src/op/composites/reconcile-op.test.ts +51 -0
  448. package/src/op/composites/reconcile-op.ts +107 -0
  449. package/src/op/composites/watch-op.ts +108 -0
  450. package/src/op/composites/workflow-audit-op.test.ts +25 -0
  451. package/src/op/composites/workflow-audit-op.ts +88 -0
  452. package/src/op/converge-rule.ts +12 -10
  453. package/src/op/cron.test.ts +128 -0
  454. package/src/op/cron.ts +149 -0
  455. package/src/op/discover-root.test.ts +105 -1
  456. package/src/op/discover.test.ts +6 -2
  457. package/src/op/discover.ts +84 -16
  458. package/src/op/duration.ts +21 -0
  459. package/src/op/effect-step.test.ts +26 -11
  460. package/src/op/emulator-lifecycle.ts +1 -2
  461. package/src/op/gate.ts +155 -0
  462. package/src/op/generate-pipeline.test.ts +65 -3
  463. package/src/op/generate-pipeline.ts +19 -2
  464. package/src/op/index.ts +39 -6
  465. package/src/op/local-executor.test.ts +163 -34
  466. package/src/op/local-executor.ts +370 -102
  467. package/src/op/local-output.test.ts +95 -11
  468. package/src/op/local-output.ts +33 -4
  469. package/src/op/op-ir.test.ts +281 -0
  470. package/src/op/op-ir.ts +417 -0
  471. package/src/op/op-verb-class.ts +19 -5
  472. package/src/op/op.test.ts +26 -5
  473. package/src/op/operator.test.ts +175 -6
  474. package/src/op/operator.ts +63 -16
  475. package/src/op/receipt-store.ts +1 -1
  476. package/src/op/resource.ts +20 -2
  477. package/src/op/runtime.ts +203 -0
  478. package/src/op/runtimes/local.test.ts +181 -0
  479. package/src/op/runtimes/local.ts +212 -0
  480. package/src/op/step-output-ref.ts +15 -13
  481. package/src/op/types.ts +84 -24
  482. package/src/ownership.ts +1 -1
  483. package/src/provenance.test.ts +6 -0
  484. package/src/provenance.ts +21 -1
  485. package/src/serializer-walker.test.ts +42 -0
  486. package/src/serializer-walker.ts +21 -2
  487. package/dist/cli/handlers/op-progress.d.ts +0 -90
  488. package/dist/cli/handlers/op-progress.d.ts.map +0 -1
  489. package/dist/cli/handlers/run-client.d.ts +0 -127
  490. package/dist/cli/handlers/run-client.d.ts.map +0 -1
  491. package/dist/cli/handlers/run-report.d.ts +0 -5
  492. package/dist/cli/handlers/run-report.d.ts.map +0 -1
  493. package/dist/components/temporal-codegen-loader.d.ts +0 -27
  494. package/dist/components/temporal-codegen-loader.d.ts.map +0 -1
  495. package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts +0 -37
  496. package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts.map +0 -1
  497. package/src/cli/handlers/op-progress.test.ts +0 -268
  498. package/src/cli/handlers/op-progress.ts +0 -248
  499. package/src/cli/handlers/run-client.test.ts +0 -82
  500. package/src/cli/handlers/run-client.ts +0 -219
  501. package/src/cli/handlers/run-report.test.ts +0 -62
  502. package/src/cli/handlers/run-report.ts +0 -122
  503. package/src/components/temporal-codegen-loader.ts +0 -41
  504. package/src/lint/rules/comp/comp004-gate-needs-temporal.ts +0 -66
@@ -0,0 +1,84 @@
1
+ /**
2
+ * pipelineSupplyChainAudit — the live counterpart to the gitlab post-synth
3
+ * include/component/image checks (#297).
4
+ *
5
+ * Some include/component checks can only be answered against a moving external
6
+ * truth: whether a pinned component/include ref still resolves upstream, whether
7
+ * the upstream project was archived or moved, or whether a new advisory now
8
+ * covers a component/image already in use. These change independent of the
9
+ * source, so they cannot live in the deterministic build — this activity owns
10
+ * *only* the checks that require live resolution.
11
+ *
12
+ * Dependency-free and primitives-only: it reads the emitted `.gitlab-ci.yml`
13
+ * (passed as a string) and resolves references through an injectable
14
+ * `GitlabRefResolver`, so `chant run` can schedule it and tests can run
15
+ * it against recorded responses with no live network.
16
+ */
17
+ /** What the audit produces on findings. For GitLab the PR mode is a merge request. */
18
+ export type PipelineAuditMode = "report" | "issue" | "merge-request";
19
+ /** The kind of reference being resolved. */
20
+ export type PipelineRefKind = "include" | "component" | "image";
21
+ /** Live resolution of a single pipeline reference against its upstream. */
22
+ export interface PipelineRefResolution {
23
+ /** Does the project/component/image (at this ref/version) still resolve? */
24
+ exists: boolean;
25
+ /** Has the upstream project been archived? */
26
+ archived: boolean;
27
+ /** Has the upstream project moved (new path), if known. */
28
+ movedTo?: string;
29
+ /** Disclosed advisory identifiers affecting this reference. */
30
+ advisories: string[];
31
+ }
32
+ /** Pluggable upstream resolver — overridden in tests with recorded responses. */
33
+ export type GitlabRefResolver = (kind: PipelineRefKind, identifier: string, ref: string) => Promise<PipelineRefResolution>;
34
+ export type PipelineAuditFindingKind = "unresolved" | "archived" | "moved" | "advisory";
35
+ export interface PipelineAuditFinding {
36
+ kind: PipelineAuditFindingKind;
37
+ refKind: PipelineRefKind;
38
+ /** project path / component address / image. */
39
+ identifier: string;
40
+ /** ref / version / tag. */
41
+ ref: string;
42
+ detail: string;
43
+ }
44
+ export interface PipelineAuditArgs {
45
+ /** One emitted `.gitlab-ci.yml` document. */
46
+ yaml?: string;
47
+ /** Several emitted documents. */
48
+ yamls?: string[];
49
+ /** Path to an emitted `.gitlab-ci.yml` to read at run time (default `.gitlab-ci.yml`). */
50
+ pipelineFile?: string;
51
+ /** What to produce. Default: report. */
52
+ mode?: PipelineAuditMode;
53
+ /** Injectable upstream resolver. Defaults to the live GitLab REST resolver. */
54
+ resolver?: GitlabRefResolver;
55
+ }
56
+ export interface PipelineAuditResult {
57
+ mode: PipelineAuditMode;
58
+ findings: PipelineAuditFinding[];
59
+ summary: string;
60
+ }
61
+ interface CollectedRef {
62
+ refKind: PipelineRefKind;
63
+ identifier: string;
64
+ ref: string;
65
+ }
66
+ /**
67
+ * Collect `include:project` (+ ref), `component:` (with @version), and `image:`
68
+ * references from a `.gitlab-ci.yml`.
69
+ */
70
+ export declare function collectPipelineRefs(yaml: string): CollectedRef[];
71
+ /**
72
+ * Default resolver: query the GitLab REST API for project existence / archive /
73
+ * move status. Best-effort and resilient — errors yield an "unknown" resolution
74
+ * (exists=true, no findings) rather than a false positive. Component/image
75
+ * advisory lookups are left to a configured resolver.
76
+ */
77
+ export declare const defaultGitlabRefResolver: GitlabRefResolver;
78
+ /**
79
+ * Resolve each include/component/image reference in the emitted pipeline against
80
+ * live upstreams and report drift.
81
+ */
82
+ export declare function pipelineSupplyChainAudit(args: PipelineAuditArgs): Promise<PipelineAuditResult>;
83
+ export {};
84
+ //# sourceMappingURL=pipeline-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-audit.d.ts","sourceRoot":"","sources":["../../../src/op/activities/pipeline-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC;AAErE,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEhE,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAE3H,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAExF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAwChE;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAgBtC,CAAC;AAmBF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkCpG"}
@@ -0,0 +1,17 @@
1
+ export interface PolicyGateArgs {
2
+ /** Project/source directory to build and evaluate. Default ".". */
3
+ path?: string;
4
+ /** Environment for policy evaluation (falls back to `ownership.env`). */
5
+ env?: string;
6
+ }
7
+ /**
8
+ * Gate an apply on organizational policy: build the project, run its
9
+ * `lint.policies` over the resolved resources, and **block** on any violation.
10
+ * Place it as a step before the apply phase — a violation fails the run
11
+ * (non-retryable; the `policyCheck` profile is single-attempt) so nothing is
12
+ * applied. A clean evaluation passes through.
13
+ *
14
+ * A plain activity on every runtime, not a `gate` step.
15
+ */
16
+ export declare function policyGate(args: PolicyGateArgs, _signal?: AbortSignal): Promise<void>;
17
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/op/activities/policy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3F"}
@@ -0,0 +1,89 @@
1
+ /** What the reconcile activity does with the regenerated source. */
2
+ export type ReconcileMode = "pull-request" | "issue" | "report";
3
+ /** A change-set entry that triggered reconciliation. */
4
+ export interface ReconcileEntry {
5
+ /** chant entity name. */
6
+ name: string;
7
+ /** create | update | delete | adopt | noop (from `chant lifecycle plan`). */
8
+ action: string;
9
+ /** Resource type, when known. */
10
+ type?: string;
11
+ }
12
+ export interface ReconcilePrArgs {
13
+ /** Environment to reconcile from (passed to `chant import --from`). */
14
+ env: string;
15
+ /**
16
+ * The change-set entries that triggered this reconcile. Omit to derive them
17
+ * from `chant lifecycle plan <env> --json` at run time — the form used inside
18
+ * an Op, where the entries aren't known until the activity runs.
19
+ */
20
+ entries?: ReconcileEntry[];
21
+ /** What to produce. Default: pull-request. */
22
+ mode?: ReconcileMode;
23
+ /** Output directory for regenerated source. Default: ./infra. */
24
+ output?: string;
25
+ /** Branch to open the PR from. Default: chant/reconcile-<env>. */
26
+ branch?: string;
27
+ /** Restrict live import to chant-owned resources. */
28
+ owned?: boolean;
29
+ /** PR / issue title. Default derived from env. */
30
+ title?: string;
31
+ /**
32
+ * A finding body built by the caller, used verbatim as the issue/PR body in
33
+ * place of {@link reconcileSummary} (chant #2087).
34
+ *
35
+ * The summary this activity writes itself is a change-set table, which is
36
+ * the right artifact when the finding IS a change set. Some observe-dial
37
+ * Ops already hold a better one: `TerraformWatchOp` carries the
38
+ * `terraform plan -no-color` render its own Plan step produced, and
39
+ * re-deriving that from `chant lifecycle plan` here would both lose the
40
+ * plan and run a second, differently-timed read.
41
+ *
42
+ * Supplying it also suppresses the `chant lifecycle plan --json` derivation
43
+ * that fills `entries`: a caller that already knows what it wants to say
44
+ * is not asking this activity to go and find out.
45
+ */
46
+ body?: string;
47
+ }
48
+ export interface ReconcileResult {
49
+ mode: ReconcileMode;
50
+ /** Branch created (pull-request mode). */
51
+ branch?: string;
52
+ /** Opened PR URL (pull-request mode). */
53
+ prUrl?: string;
54
+ /** Opened issue URL (issue mode). */
55
+ issueUrl?: string;
56
+ /** The markdown summary used as the PR/issue body. */
57
+ summary: string;
58
+ /** The entries that triggered the reconcile. */
59
+ entries: ReconcileEntry[];
60
+ }
61
+ /** Default branch name for a reconcile PR. Deterministic — no timestamp. */
62
+ export declare function reconcileBranchName(env: string): string;
63
+ /**
64
+ * Build the markdown body summarizing which change-set entries triggered the
65
+ * reconcile. Pure — used as the PR/issue body and returned in `report` mode.
66
+ */
67
+ export declare function reconcileSummary(env: string, entries: ReconcileEntry[]): string;
68
+ /**
69
+ * Map a `chant lifecycle plan --json` ChangeSet to reconcile entries, dropping
70
+ * `noop` entries (nothing to reconcile). Pure — exported for testing.
71
+ */
72
+ export declare function entriesFromPlan(planJson: string): ReconcileEntry[];
73
+ /**
74
+ * Reconcile activity: turn regenerated TypeScript into a reviewable artifact.
75
+ *
76
+ * - `report` — return the summary only; no git, no network.
77
+ * - `issue` — open a GitHub issue describing the drift (no code change).
78
+ * - `pull-request` — create a branch, regenerate source via
79
+ * `chant import --from <env>`, commit, push, and open a PR whose diff is the
80
+ * regenerated TypeScript. Never commits to the main branch.
81
+ *
82
+ * The body is {@link reconcileSummary}'s change-set table unless `args.body`
83
+ * supplies one, in which case that text is used verbatim and no plan is
84
+ * derived (chant #2087).
85
+ *
86
+ * Requires `chant` and (for non-report modes) `gh`/`git` in the environment.
87
+ */
88
+ export declare function reconcilePr(args: ReconcilePrArgs, signal?: AbortSignal): Promise<ReconcileResult>;
89
+ //# sourceMappingURL=reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../src/op/activities/reconcile.ts"],"names":[],"mappings":"AAKA,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAkB/E;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAOlE;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAyCvG"}
@@ -0,0 +1,13 @@
1
+ export interface ShellCmdArgs {
2
+ cmd: string;
3
+ /** Additional environment variables. */
4
+ env?: Record<string, string>;
5
+ /** Working directory. Default: process.cwd(). */
6
+ cwd?: string;
7
+ }
8
+ /**
9
+ * Run an arbitrary shell command.
10
+ * Uses fastIdempotent profile — 5m timeout, 3 retries.
11
+ */
12
+ export declare function shellCmd(args: ShellCmdArgs, signal?: AbortSignal): Promise<string>;
13
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/op/activities/shell.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF"}
@@ -0,0 +1,10 @@
1
+ export interface ChantTeardownArgs {
2
+ /** Path to the chant project to tear down. */
3
+ path: string;
4
+ }
5
+ /**
6
+ * Run `chant teardown` in the given project path.
7
+ * Uses longInfra profile — 20m timeout.
8
+ */
9
+ export declare function chantTeardown(args: ChantTeardownArgs, signal?: AbortSignal): Promise<void>;
10
+ //# sourceMappingURL=teardown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../../src/op/activities/teardown.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Re-export shim — `sleep` is the shared activity-runtime helper one directory
3
+ * up (`../activity-runtime`). Kept here so existing `./util` imports resolve
4
+ * unchanged.
5
+ */
6
+ export { sleep } from "../activity-runtime.js";
7
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/op/activities/util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ export interface WaitForStackArgs {
2
+ /** Stack name — used to locate the kubectl deployment/statefulset to poll. */
3
+ name: string;
4
+ /** Kubernetes namespace. */
5
+ namespace?: string;
6
+ /** kubectl context. */
7
+ context?: string;
8
+ /** Poll interval in ms. Default: 10000. */
9
+ intervalMs?: number;
10
+ }
11
+ /**
12
+ * Poll until a Kubernetes Deployment or StatefulSet named `name` is fully rolled out.
13
+ * Uses the `k8sWait` profile — 15m timeout.
14
+ *
15
+ * Progress goes to stdout, one line per poll, which is the executor's step-record
16
+ * channel: the local executor streams an activity's output alongside the step it
17
+ * belongs to, so a long rollout is visible without a liveness protocol. Nothing
18
+ * mid-run is durable here by design (chant #2114) — the op re-runs and converges.
19
+ *
20
+ * Deliberately NOT migrated onto the generic `waitForReady` (#957): `kubectl
21
+ * rollout status` encodes rollout-specific semantics — progress-deadline
22
+ * timeouts, partial/paused rollouts, generation tracking — that a status-field
23
+ * predicate spec does not replicate, and it targets built-in workloads rather
24
+ * than arbitrary operator CRDs. `waitForReady` is the right tool for CRD
25
+ * readiness; `waitForStack` stays the right tool for workload rollouts.
26
+ */
27
+ export declare function waitForStack(args: WaitForStackArgs, signal?: AbortSignal): Promise<void>;
28
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/op/activities/wait.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC9F"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * workflowSupplyChainAudit — the live counterpart to the github post-synth
3
+ * supply-chain checks (#286-#291).
4
+ *
5
+ * Some workflow-reference checks can only be answered against a moving external
6
+ * truth: whether a pinned SHA still corresponds to a real tag/release upstream,
7
+ * whether a referenced commit exists in the repo it claims, whether a ref is
8
+ * confusable as both a tag and a branch, whether a pin matches its version
9
+ * comment, or whether a new advisory now covers an action already in use. These
10
+ * change over time independent of the source, so they cannot live in the
11
+ * deterministic build — this activity owns *only* the checks that require live
12
+ * resolution.
13
+ *
14
+ * It is dependency-free and primitives-only: it reads the emitted workflow YAML
15
+ * (passed as a string) and resolves references through an injectable
16
+ * `ActionRefResolver`, so `chant run` can schedule it and tests can run
17
+ * it against recorded responses with no live network.
18
+ */
19
+ /** What the audit produces on findings, mirroring ReconcileOp's modes. */
20
+ export type WorkflowAuditMode = "report" | "issue" | "pull-request";
21
+ /** Live resolution of a single action reference against its upstream. */
22
+ export interface ActionRefResolution {
23
+ /** Does the ref/SHA exist in the claimed repo? */
24
+ exists: boolean;
25
+ /** Tag/release names that point at this commit (empty for a SHA ⇒ stale pin). */
26
+ tags: string[];
27
+ /** Is the upstream repository archived? */
28
+ archived: boolean;
29
+ /** Disclosed advisory identifiers affecting this action. */
30
+ advisories: string[];
31
+ /** Is the ref resolvable as BOTH a tag and a branch upstream? */
32
+ ambiguousRef?: boolean;
33
+ }
34
+ /** Pluggable upstream resolver — overridden in tests with recorded responses. */
35
+ export type ActionRefResolver = (slug: string, ref: string) => Promise<ActionRefResolution>;
36
+ export type WorkflowAuditFindingKind = "stale-pin" | "impostor" | "ambiguous-ref" | "pin-comment-mismatch" | "advisory" | "archived";
37
+ export interface WorkflowAuditFinding {
38
+ /** owner/repo slug. */
39
+ slug: string;
40
+ /** The pinned ref/SHA. */
41
+ ref: string;
42
+ kind: WorkflowAuditFindingKind;
43
+ detail: string;
44
+ }
45
+ export interface WorkflowAuditArgs {
46
+ /** One emitted workflow YAML document. */
47
+ yaml?: string;
48
+ /** Several emitted workflow YAML documents. */
49
+ yamls?: string[];
50
+ /**
51
+ * Directory of emitted workflow files (`*.yml`/`*.yaml`) to read at run time
52
+ * when no `yaml`/`yamls` is given — the form used inside a scheduled Op.
53
+ * Default `.github/workflows`.
54
+ */
55
+ workflowsDir?: string;
56
+ /** What to produce. Default: report. */
57
+ mode?: WorkflowAuditMode;
58
+ /** Injectable upstream resolver. Defaults to the live GitHub REST resolver. */
59
+ resolver?: ActionRefResolver;
60
+ }
61
+ export interface WorkflowAuditResult {
62
+ mode: WorkflowAuditMode;
63
+ findings: WorkflowAuditFinding[];
64
+ /** Markdown summary used as the PR/issue body or printed in report mode. */
65
+ summary: string;
66
+ }
67
+ interface CollectedRef {
68
+ slug: string;
69
+ ref: string;
70
+ /** Adjacent `# vX.Y.Z` comment, when present. */
71
+ comment?: string;
72
+ }
73
+ /**
74
+ * Collect external action references (`uses: owner/repo@ref`, with an optional
75
+ * trailing version comment) from a workflow YAML. Local (`./`) and `docker://`
76
+ * references are excluded.
77
+ */
78
+ export declare function collectAuditRefs(yaml: string): CollectedRef[];
79
+ /**
80
+ * Default resolver: query the GitHub REST API for whether the ref exists, what
81
+ * tags point at it, archive status, and advisories. Best-effort and resilient —
82
+ * a network/HTTP error yields an "unknown" resolution (exists=true, no findings)
83
+ * rather than a false positive.
84
+ */
85
+ export declare const defaultActionRefResolver: ActionRefResolver;
86
+ /**
87
+ * Resolve each pinned external reference in the emitted workflows against live
88
+ * upstreams and report drift.
89
+ */
90
+ export declare function workflowSupplyChainAudit(args: WorkflowAuditArgs): Promise<WorkflowAuditResult>;
91
+ export {};
92
+ //# sourceMappingURL=workflow-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-audit.d.ts","sourceRoot":"","sources":["../../../src/op/activities/workflow-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC;AAEpE,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5F,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,UAAU,GACV,eAAe,GACf,sBAAsB,GACtB,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAcD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBA0BtC,CAAC;AAUF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwCpG"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Activity contract registry — the schema-shaped sibling of
3
+ * `./activity-registry.ts` (chant #2101).
4
+ *
5
+ * `activity-contract.ts` left contract ownership per-caller on purpose: an
6
+ * activity declares its contract alongside its implementation, and whoever
7
+ * builds a contract map decides which activities it covers. What was missing
8
+ * was the other half of that arrangement, a way for the checks that validate
9
+ * Op steps to SEE a contract a lexicon declared. OPS012 and OPS013
10
+ * (`../lint/rules/op/`) walk every Op entity in the build, including steps
11
+ * calling `terraformPlan`, `k3sInstall`, `flyApply` or `gcpApply`, over
12
+ * core's own static table alone. Since #2122 moved those checks into core
13
+ * they fire on every project that declares an Op, so an Op built out of one
14
+ * lexicon's steps failed `chant build` outright even though `loadActivities`
15
+ * resolves the very same names at run time. Both terraform examples that
16
+ * carry an Op kept it outside `src/` because of the older, lexicon-hosted
17
+ * form of the same gap, which meant no example ever proved its Op builds.
18
+ *
19
+ * The resolution mirrors activities exactly, by convention:
20
+ * `@intentius/chant-lexicon-<name>/op/activity-contracts` is imported for
21
+ * every configured lexicon and every {@link ActivityContract} it exports is
22
+ * collected, keyed by the contract's declared `name`. A lexicon that ships
23
+ * no such module is skipped, the same way `loadActivities` skips one that
24
+ * contributes no activities. A plugin may also hand its contracts over
25
+ * directly through {@link LexiconActivityContractContributor}, for a lexicon
26
+ * whose contracts are not reachable at a subpath (a bundled single-file
27
+ * plugin, a project-local one).
28
+ *
29
+ * The merged map reaches a post-synth check as
30
+ * `PostSynthContext.activityContracts` (`../lint/post-synth.ts`), filled in
31
+ * by whoever runs the checks: `chant build`, `chant lint` and
32
+ * `check-lexicon`'s example harness all do. A check merges it over its own
33
+ * base table rather than replacing it, so a context that carries none (a
34
+ * hand-built one in a test) behaves exactly as before this existed.
35
+ */
36
+ import { type ActivityContract } from "./activity-contract.js";
37
+ /**
38
+ * The shape {@link loadActivityContracts} reads off a plugin: an optional
39
+ * member returning this lexicon's contracts directly, for one that cannot be
40
+ * reached by the subpath convention. Structural on purpose, so core's op
41
+ * layer does not depend on `../lexicon.ts`.
42
+ */
43
+ export interface LexiconActivityContractContributor {
44
+ /** The lexicon's name, as in `@intentius/chant-lexicon-<name>`. */
45
+ name: string;
46
+ /** This lexicon's activity contracts, if it declares them in code rather than at the conventional subpath. */
47
+ activityContracts?(): ActivityContract[];
48
+ }
49
+ /**
50
+ * Build the activity-contract map for build-time validation: core's own
51
+ * contracts (`./activities/activity-contracts`, a static import so a project
52
+ * that has installed nothing but chant still gets them) plus every contract
53
+ * the named lexicons contribute.
54
+ *
55
+ * `lexicons` may be plain names or plugin-shaped objects; a plugin's
56
+ * `activityContracts()` is read after its conventional module, so a plugin
57
+ * that declares both wins on a name collision with itself. Across lexicons,
58
+ * last one in wins, which is the same rule `loadActivities` applies to
59
+ * implementations.
60
+ *
61
+ * Never throws: an absent lexicon, a missing subpath, or a plugin member that
62
+ * throws all leave the map as it was.
63
+ */
64
+ export declare function loadActivityContracts(lexicons?: ReadonlyArray<string | LexiconActivityContractContributor>): Promise<Map<string, ActivityContract>>;
65
+ /**
66
+ * Merge a check's own base contracts with the ones the build loaded, into the
67
+ * map `validateActivitySteps`/`validateStepOutputRefs` take. The loaded set
68
+ * wins on a name collision: it is the one resolved against the lexicons this
69
+ * build actually configured, whereas the base table is whatever the check
70
+ * imported statically.
71
+ *
72
+ * `loaded` being `undefined` is the ordinary case for a hand-built
73
+ * `PostSynthContext` and yields the base table unchanged.
74
+ */
75
+ export declare function mergeActivityContracts(base: ReadonlyMap<string, ActivityContract>, loaded: ReadonlyMap<string, ActivityContract> | undefined): ReadonlyMap<string, ActivityContract>;
76
+ //# sourceMappingURL=activity-contract-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-contract-registry.d.ts","sourceRoot":"","sources":["../../src/op/activity-contract-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8GAA8G;IAC9G,iBAAiB,CAAC,IAAI,gBAAgB,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,GAAE,aAAa,CAAC,MAAM,GAAG,kCAAkC,CAAM,GACxE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAwBxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC3C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,GACxD,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAKvC"}
@@ -16,28 +16,35 @@
16
16
  * An activity declares a contract alongside its implementation — the same
17
17
  * "registration surface" the issue asked for (`activity-registry.ts`'s
18
18
  * `collectActivities` already does this for implementations; this is the
19
- * schema-shaped sibling). `chant build` — via a lexicon's own post-synth
20
- * check, e.g. the temporal lexicon's TMP012 — resolves each step's `fn`
21
- * against a contract map built the same way and validates `args` and
22
- * `outcomeAttribute.from`. A step whose `fn` has no registered contract is
23
- * skipped (not an error): this is deliberately incremental — a lexicon opts
24
- * an activity in by declaring a contract for it, and the k8s/aws/azure/gcp/
25
- * fly activity sets are expected to pick this up lexicon by lexicon rather
26
- * than all at once (see the issue's "worth checking this lands cleanly"
27
- * note).
19
+ * schema-shaped sibling). `chant build` resolves each step's `fn` against a
20
+ * contract map built from `Object.values()` of an activity-contracts module
21
+ * and validates `args` and `outcomeAttribute.from` — core's own OPS012
22
+ * (`../lint/rules/op/ops012-activity-contract.ts`, chant #2122) does this
23
+ * for every declared Op regardless of which lexicons are configured; a
24
+ * lexicon's own post-synth check can additionally validate against its own
25
+ * roster the same way (a lexicon-owned check did this before #2122 moved the
26
+ * op-model checks to core). A step whose `fn` has no registered
27
+ * contract is skipped (not an error): this is deliberately incremental — a
28
+ * contract map opts an activity in by declaring one for it, and the
29
+ * k8s/aws/azure/gcp/fly activity sets are expected to pick this up one at a
30
+ * time rather than all at once (see the issue's "worth checking this lands
31
+ * cleanly" note).
28
32
  *
29
- * Ownership is decentralized on purpose: each lexicon declares contracts for
30
- * the activities it implements and validates them with its own post-synth
31
- * check (the same `rulePrefix`-per-lexicon pattern every other check in
32
- * chant already uses), rather than a shared cross-lexicon registry. A
33
- * `Temporal::Op` step can call an activity contributed by any lexicon, and
34
- * `PostSynthContext.entities` already carries the whole resolved graph to
35
- * every lexicon's checks, so no new plumbing is needed for that to work.
33
+ * Ownership of a contract map is per-caller, not a shared cross-lexicon
34
+ * registry: whoever builds the map (core's OPS012/OPS013, or a lexicon's own
35
+ * check) decides which activities it covers. A `Chant::Op` step can call an
36
+ * activity contributed by any lexicon, and `PostSynthContext.entities`
37
+ * already carries the whole resolved graph to every check, so no new
38
+ * plumbing is needed for that to work.
36
39
  */
37
40
  import { z } from "zod";
38
41
  import type { OpConfig } from "./types.js";
39
- /** Every literal value {@link ActivityStep.profile} may hold. Kept in sync with `types.ts`'s `ActivityStep["profile"]`. */
40
- export declare const KNOWN_ACTIVITY_PROFILES: readonly ["fastIdempotent", "longInfra", "k8sWait", "humanGate", "argoSync", "policyCheck"];
42
+ /**
43
+ * Every literal value {@link ActivityStep.profile} may hold, read off
44
+ * {@link ACTIVITY_PROFILES} itself so the runtime list cannot drift from the
45
+ * table the type is derived from.
46
+ */
47
+ export declare const KNOWN_ACTIVITY_PROFILES: ("fastIdempotent" | "longInfra" | "k8sWait" | "humanGate" | "argoSync" | "policyCheck")[];
41
48
  declare const CONTRACT_BRAND: unique symbol;
42
49
  /**
43
50
  * A registered activity's args/return schemas — the declaration that lets
@@ -1 +1 @@
1
- {"version":3,"file":"activity-contract.d.ts","sourceRoot":"","sources":["../../src/op/activity-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAiD,MAAM,SAAS,CAAC;AAEvF,2HAA2H;AAC3H,eAAO,MAAM,uBAAuB,6FAO1B,CAAC;AAEX,QAAA,MAAM,cAAc,eAA0C,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAChC,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oCAAoC;AACpC,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,EACzG,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7B,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAQ5G;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAIhH;AAID,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,SAAS,CASxG;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAQrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,EACvD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC/C,qBAAqB,EAAE,CA+CzB"}
1
+ {"version":3,"file":"activity-contract.d.ts","sourceRoot":"","sources":["../../src/op/activity-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAiD,MAAM,SAAS,CAAC;AAGvF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,2FAAyB,CAAC;AAE9D,QAAA,MAAM,cAAc,eAA0C,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAChC,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oCAAoC;AACpC,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,SAAS,CAAC,CAAC,UAAU,GAAG,KAAK,EACzG,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,YAAY,EACtB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7B,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAQ5G;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAIhH;AAID,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,SAAS,CASxG;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAQrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,EACvD,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC/C,qBAAqB,EAAE,CAiDzB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A terminal activity failure.
3
+ *
4
+ * Some activities fail deterministically: an organizational policy violation
5
+ * (`policyGate`) or a cfn-guard finding (`guardValidate`) reads the same on the
6
+ * second attempt as on the first, so a retry only delays the report. Those
7
+ * activities used to raise an orchestrator SDK's non-retryable failure type,
8
+ * which put that SDK on the import path of every base activity. Core owns the
9
+ * base activities now (chant #2114), and depends on no runtime SDK — this is
10
+ * the same signal in a plain `Error`.
11
+ *
12
+ * `name` is the failure type, not the class name, so the local executor's
13
+ * `retry.nonRetryableErrorTypes` (which matches on `Error.name`) can name it in
14
+ * a profile. `type` and `nonRetryable` are kept alongside it because that is
15
+ * the shape callers and tests already read.
16
+ */
17
+ export declare class NonRetryableActivityError extends Error {
18
+ /** Failure type, e.g. `"PolicyViolation"`. Also this error's `name`. */
19
+ readonly type: string;
20
+ /** Always true — present so a caller can branch without an `instanceof`. */
21
+ readonly nonRetryable = true;
22
+ constructor(message: string,
23
+ /** Failure type, e.g. `"PolicyViolation"`. Also this error's `name`. */
24
+ type: string);
25
+ }
26
+ /** Build a {@link NonRetryableActivityError} — a non-retryable failure with no SDK behind it. */
27
+ export declare function nonRetryableFailure(message: string, type: string): NonRetryableActivityError;
28
+ //# sourceMappingURL=activity-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-failure.d.ts","sourceRoot":"","sources":["../../src/op/activity-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAMhD,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM;IANvB,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,QAAQ;gBAG3B,OAAO,EAAE,MAAM;IACf,wEAAwE;IAC/D,IAAI,EAAE,MAAM;CAKxB;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAE5F"}