@intentius/chant 0.56.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 (515) 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/import.d.ts.map +1 -1
  37. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts +1 -0
  38. package/dist/cli/commands/init-lexicon/templates/codegen.d.ts.map +1 -1
  39. package/dist/cli/commands/init-lexicon/templates/project.d.ts +7 -0
  40. package/dist/cli/commands/init-lexicon/templates/project.d.ts.map +1 -1
  41. package/dist/cli/commands/init-lexicon.d.ts.map +1 -1
  42. package/dist/cli/commands/init.d.ts.map +1 -1
  43. package/dist/cli/commands/lint.d.ts.map +1 -1
  44. package/dist/cli/commands/onboard.d.ts +2 -0
  45. package/dist/cli/commands/onboard.d.ts.map +1 -1
  46. package/dist/cli/handlers/build.d.ts.map +1 -1
  47. package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
  48. package/dist/cli/handlers/operator.d.ts +82 -16
  49. package/dist/cli/handlers/operator.d.ts.map +1 -1
  50. package/dist/cli/handlers/run.d.ts +49 -42
  51. package/dist/cli/handlers/run.d.ts.map +1 -1
  52. package/dist/cli/main.d.ts +28 -1
  53. package/dist/cli/main.d.ts.map +1 -1
  54. package/dist/cli/mcp/op-tools.d.ts +16 -1
  55. package/dist/cli/mcp/op-tools.d.ts.map +1 -1
  56. package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
  57. package/dist/cli/mcp/resources/context.d.ts.map +1 -1
  58. package/dist/cli/registry.d.ts +26 -9
  59. package/dist/cli/registry.d.ts.map +1 -1
  60. package/dist/codegen/generate-post-synth-barrel.d.ts +1 -1
  61. package/dist/components/auto-release.d.ts +10 -20
  62. package/dist/components/auto-release.d.ts.map +1 -1
  63. package/dist/components/capability.d.ts +4 -4
  64. package/dist/components/cli-support.d.ts +20 -21
  65. package/dist/components/cli-support.d.ts.map +1 -1
  66. package/dist/components/component.d.ts +3 -3
  67. package/dist/components/component.d.ts.map +1 -1
  68. package/dist/components/driver-output.d.ts.map +1 -1
  69. package/dist/components/driver.d.ts +66 -36
  70. package/dist/components/driver.d.ts.map +1 -1
  71. package/dist/components/index.d.ts +1 -2
  72. package/dist/components/index.d.ts.map +1 -1
  73. package/dist/components/manifest-persistence.d.ts +1 -9
  74. package/dist/components/manifest-persistence.d.ts.map +1 -1
  75. package/dist/components/run-progress.d.ts +6 -6
  76. package/dist/components/run-progress.d.ts.map +1 -1
  77. package/dist/components/verbs/run-agent.d.ts +9 -15
  78. package/dist/components/verbs/run-agent.d.ts.map +1 -1
  79. package/dist/components/verbs/verify.d.ts +2 -2
  80. package/dist/deep-observation.d.ts +17 -0
  81. package/dist/deep-observation.d.ts.map +1 -1
  82. package/dist/discovery/files.d.ts +4 -4
  83. package/dist/discovery/fold-import.d.ts.map +1 -1
  84. package/dist/discovery/param-deps.d.ts +33 -0
  85. package/dist/discovery/param-deps.d.ts.map +1 -1
  86. package/dist/discovery/sandbox/bundle.d.ts.map +1 -1
  87. package/dist/discovery/sandbox/config-wire.d.ts +2 -2
  88. package/dist/fold/foldable-helpers.d.ts +5 -1
  89. package/dist/fold/foldable-helpers.d.ts.map +1 -1
  90. package/dist/fold-provenance.d.ts +236 -0
  91. package/dist/fold-provenance.d.ts.map +1 -0
  92. package/dist/graph-ops.d.ts +1 -1
  93. package/dist/held-elsewhere.d.ts +85 -0
  94. package/dist/held-elsewhere.d.ts.map +1 -0
  95. package/dist/import/ir-utils.d.ts +1 -1
  96. package/dist/import/ir-utils.d.ts.map +1 -1
  97. package/dist/import/parser.d.ts +33 -0
  98. package/dist/import/parser.d.ts.map +1 -1
  99. package/dist/index.d.ts +3 -0
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/kubectl-context.d.ts +3 -3
  102. package/dist/lexicon-config.d.ts +4 -4
  103. package/dist/lexicon-plugin-helpers.d.ts +1 -1
  104. package/dist/lexicon.d.ts +104 -14
  105. package/dist/lexicon.d.ts.map +1 -1
  106. package/dist/lifecycle/change-set.d.ts +13 -0
  107. package/dist/lifecycle/change-set.d.ts.map +1 -1
  108. package/dist/lifecycle/deep-diff.d.ts +133 -6
  109. package/dist/lifecycle/deep-diff.d.ts.map +1 -1
  110. package/dist/lifecycle/deep-observe.d.ts.map +1 -1
  111. package/dist/lifecycle/gate-ledger.d.ts +71 -3
  112. package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
  113. package/dist/lifecycle/index.d.ts +1 -0
  114. package/dist/lifecycle/index.d.ts.map +1 -1
  115. package/dist/lifecycle/release-ledger.d.ts +2 -2
  116. package/dist/lifecycle/run-ledger.d.ts +53 -0
  117. package/dist/lifecycle/run-ledger.d.ts.map +1 -0
  118. package/dist/lifecycle/symptoms.d.ts +3 -3
  119. package/dist/lifecycle/symptoms.d.ts.map +1 -1
  120. package/dist/lint/config.d.ts +81 -2
  121. package/dist/lint/config.d.ts.map +1 -1
  122. package/dist/lint/post-synth.d.ts +55 -2
  123. package/dist/lint/post-synth.d.ts.map +1 -1
  124. package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts +1 -1
  125. package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.d.ts.map +1 -1
  126. package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts +1 -1
  127. package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.d.ts.map +1 -1
  128. package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts +44 -0
  129. package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.d.ts.map +1 -0
  130. package/dist/lint/rules/comp/index.d.ts +1 -1
  131. package/dist/lint/rules/comp/index.d.ts.map +1 -1
  132. package/dist/lint/rules/op/index.d.ts +16 -0
  133. package/dist/lint/rules/op/index.d.ts.map +1 -0
  134. package/dist/lint/rules/op/ops012-activity-contract.d.ts +27 -0
  135. package/dist/lint/rules/op/ops012-activity-contract.d.ts.map +1 -0
  136. package/dist/lint/rules/op/ops013-step-output-ref.d.ts +61 -0
  137. package/dist/lint/rules/op/ops013-step-output-ref.d.ts.map +1 -0
  138. package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts +55 -0
  139. package/dist/lint/rules/op/ops014-converge-rule-refusals.d.ts.map +1 -0
  140. package/dist/lint/rules/op/support.d.ts +12 -0
  141. package/dist/lint/rules/op/support.d.ts.map +1 -0
  142. package/dist/lint/suppressions.d.ts +108 -0
  143. package/dist/lint/suppressions.d.ts.map +1 -0
  144. package/dist/live-endpoint.d.ts +1 -1
  145. package/dist/op/activities/activity-contracts.d.ts +54 -0
  146. package/dist/op/activities/activity-contracts.d.ts.map +1 -0
  147. package/dist/op/activities/apply.d.ts +262 -0
  148. package/dist/op/activities/apply.d.ts.map +1 -0
  149. package/dist/op/activities/build.d.ts +13 -0
  150. package/dist/op/activities/build.d.ts.map +1 -0
  151. package/dist/op/activities/converge.d.ts +110 -0
  152. package/dist/op/activities/converge.d.ts.map +1 -0
  153. package/dist/op/activities/env-teardown.d.ts +76 -0
  154. package/dist/op/activities/env-teardown.d.ts.map +1 -0
  155. package/dist/op/activities/guard-validate.d.ts +64 -0
  156. package/dist/op/activities/guard-validate.d.ts.map +1 -0
  157. package/dist/op/activities/http-check.d.ts +34 -0
  158. package/dist/op/activities/http-check.d.ts.map +1 -0
  159. package/dist/op/activities/index.d.ts +31 -0
  160. package/dist/op/activities/index.d.ts.map +1 -0
  161. package/dist/op/activities/lexicon-upgrade.d.ts +182 -0
  162. package/dist/op/activities/lexicon-upgrade.d.ts.map +1 -0
  163. package/dist/op/activities/lifecycle.d.ts +42 -0
  164. package/dist/op/activities/lifecycle.d.ts.map +1 -0
  165. package/dist/op/activities/pipeline-audit.d.ts +84 -0
  166. package/dist/op/activities/pipeline-audit.d.ts.map +1 -0
  167. package/dist/op/activities/policy.d.ts +17 -0
  168. package/dist/op/activities/policy.d.ts.map +1 -0
  169. package/dist/op/activities/reconcile.d.ts +89 -0
  170. package/dist/op/activities/reconcile.d.ts.map +1 -0
  171. package/dist/op/activities/shell.d.ts +13 -0
  172. package/dist/op/activities/shell.d.ts.map +1 -0
  173. package/dist/op/activities/teardown.d.ts +10 -0
  174. package/dist/op/activities/teardown.d.ts.map +1 -0
  175. package/dist/op/activities/util.d.ts +7 -0
  176. package/dist/op/activities/util.d.ts.map +1 -0
  177. package/dist/op/activities/wait.d.ts +28 -0
  178. package/dist/op/activities/wait.d.ts.map +1 -0
  179. package/dist/op/activities/workflow-audit.d.ts +92 -0
  180. package/dist/op/activities/workflow-audit.d.ts.map +1 -0
  181. package/dist/op/activity-contract-registry.d.ts +76 -0
  182. package/dist/op/activity-contract-registry.d.ts.map +1 -0
  183. package/dist/op/activity-contract.d.ts +25 -18
  184. package/dist/op/activity-contract.d.ts.map +1 -1
  185. package/dist/op/activity-failure.d.ts +28 -0
  186. package/dist/op/activity-failure.d.ts.map +1 -0
  187. package/dist/op/activity-profiles.d.ts +118 -0
  188. package/dist/op/activity-profiles.d.ts.map +1 -0
  189. package/dist/op/activity-registry.d.ts +22 -38
  190. package/dist/op/activity-registry.d.ts.map +1 -1
  191. package/dist/op/activity-runtime.d.ts +3 -14
  192. package/dist/op/activity-runtime.d.ts.map +1 -1
  193. package/dist/op/builders.d.ts +84 -29
  194. package/dist/op/builders.d.ts.map +1 -1
  195. package/dist/op/composites/apply-op.d.ts +113 -0
  196. package/dist/op/composites/apply-op.d.ts.map +1 -0
  197. package/dist/op/composites/converge-op.d.ts +120 -0
  198. package/dist/op/composites/converge-op.d.ts.map +1 -0
  199. package/dist/op/composites/index.d.ts +26 -0
  200. package/dist/op/composites/index.d.ts.map +1 -0
  201. package/dist/op/composites/lexicon-upgrade-op.d.ts +78 -0
  202. package/dist/op/composites/lexicon-upgrade-op.d.ts.map +1 -0
  203. package/dist/op/composites/pipeline-audit-op.d.ts +50 -0
  204. package/dist/op/composites/pipeline-audit-op.d.ts.map +1 -0
  205. package/dist/op/composites/reconcile-op.d.ts +57 -0
  206. package/dist/op/composites/reconcile-op.d.ts.map +1 -0
  207. package/dist/op/composites/watch-op.d.ts +60 -0
  208. package/dist/op/composites/watch-op.d.ts.map +1 -0
  209. package/dist/op/composites/workflow-audit-op.d.ts +57 -0
  210. package/dist/op/composites/workflow-audit-op.d.ts.map +1 -0
  211. package/dist/op/converge-rule.d.ts +12 -10
  212. package/dist/op/converge-rule.d.ts.map +1 -1
  213. package/dist/op/cron.d.ts +51 -0
  214. package/dist/op/cron.d.ts.map +1 -0
  215. package/dist/op/discover.d.ts +9 -0
  216. package/dist/op/discover.d.ts.map +1 -1
  217. package/dist/op/duration.d.ts +11 -0
  218. package/dist/op/duration.d.ts.map +1 -0
  219. package/dist/op/emulator-lifecycle.d.ts.map +1 -1
  220. package/dist/op/gate.d.ts +90 -0
  221. package/dist/op/gate.d.ts.map +1 -0
  222. package/dist/op/generate-pipeline.d.ts +9 -0
  223. package/dist/op/generate-pipeline.d.ts.map +1 -1
  224. package/dist/op/index.d.ts +23 -7
  225. package/dist/op/index.d.ts.map +1 -1
  226. package/dist/op/local-executor.d.ts +114 -28
  227. package/dist/op/local-executor.d.ts.map +1 -1
  228. package/dist/op/local-output.d.ts +11 -1
  229. package/dist/op/local-output.d.ts.map +1 -1
  230. package/dist/op/op-ir.d.ts +184 -0
  231. package/dist/op/op-ir.d.ts.map +1 -0
  232. package/dist/op/op-verb-class.d.ts +10 -2
  233. package/dist/op/op-verb-class.d.ts.map +1 -1
  234. package/dist/op/operator.d.ts +30 -5
  235. package/dist/op/operator.d.ts.map +1 -1
  236. package/dist/op/receipt-store.d.ts +1 -1
  237. package/dist/op/receipt-store.d.ts.map +1 -1
  238. package/dist/op/resource.d.ts +15 -1
  239. package/dist/op/resource.d.ts.map +1 -1
  240. package/dist/op/runtime.d.ts +200 -0
  241. package/dist/op/runtime.d.ts.map +1 -0
  242. package/dist/op/runtimes/local.d.ts +29 -0
  243. package/dist/op/runtimes/local.d.ts.map +1 -0
  244. package/dist/op/step-output-ref.d.ts +15 -13
  245. package/dist/op/step-output-ref.d.ts.map +1 -1
  246. package/dist/op/types.d.ts +79 -27
  247. package/dist/op/types.d.ts.map +1 -1
  248. package/dist/ownership.d.ts +1 -1
  249. package/dist/provenance.d.ts +21 -0
  250. package/dist/provenance.d.ts.map +1 -1
  251. package/dist/serializer-walker.d.ts.map +1 -1
  252. package/dist/stack-output.d.ts +5 -0
  253. package/dist/stack-output.d.ts.map +1 -1
  254. package/package.json +6 -1
  255. package/src/audit/catalog.test.ts +79 -3
  256. package/src/audit/catalog.ts +111 -13
  257. package/src/audit/core.test.ts +26 -0
  258. package/src/audit/core.ts +61 -17
  259. package/src/audit/discover.test.ts +39 -0
  260. package/src/audit/discover.ts +91 -15
  261. package/src/audit/lineage.ts +100 -0
  262. package/src/audit/prior-art.ts +153 -0
  263. package/src/audit/proof.test.ts +67 -0
  264. package/src/audit/proof.ts +70 -0
  265. package/src/audit/report-html.ts +9 -4
  266. package/src/audit/report-model.ts +16 -2
  267. package/src/audit/report.test.ts +33 -0
  268. package/src/audit/report.ts +5 -3
  269. package/src/audit/rules-doc.test.ts +34 -2
  270. package/src/audit/rules-doc.ts +82 -9
  271. package/src/audit/secrets.ts +15 -3
  272. package/src/audit/terraform-state.test.ts +144 -0
  273. package/src/audit/terraform-state.ts +131 -0
  274. package/src/build.ts +31 -1
  275. package/src/claimed-fields.test.ts +145 -0
  276. package/src/claimed-fields.ts +208 -0
  277. package/src/cli/build-params-cli.ts +2 -2
  278. package/src/cli/command-group.ts +14 -0
  279. package/src/cli/commands/__fixtures__/audit-terraform/infra/.terraform/providers/lock.txt +1 -0
  280. package/src/cli/commands/__fixtures__/audit-terraform/infra/main.tf +1 -0
  281. package/src/cli/commands/__fixtures__/audit-terraform/infra/modules/foo/main.tf +1 -0
  282. package/src/cli/commands/__fixtures__/audit-terraform/infra/variables.tf +3 -0
  283. package/src/cli/commands/__fixtures__/init-lexicon-output/package.json +13 -4
  284. package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/docs-cli.ts +4 -0
  285. package/src/cli/commands/__fixtures__/init-lexicon-output/src/codegen/package.ts +1 -0
  286. package/src/cli/commands/__fixtures__/init-lexicon-output/src/package-cli.ts +21 -0
  287. package/src/cli/commands/__snapshots__/init-lexicon.test.ts.snap +1 -0
  288. package/src/cli/commands/audit.test.ts +189 -11
  289. package/src/cli/commands/audit.ts +73 -27
  290. package/src/cli/commands/build.test.ts +292 -9
  291. package/src/cli/commands/build.ts +156 -24
  292. package/src/cli/commands/check-lexicon-docs.ts +1 -1
  293. package/src/cli/commands/check-lexicon-examples.test.ts +29 -1
  294. package/src/cli/commands/check-lexicon-examples.ts +42 -10
  295. package/src/cli/commands/import.ts +6 -0
  296. package/src/cli/commands/init-lexicon/templates/codegen.ts +9 -0
  297. package/src/cli/commands/init-lexicon/templates/project.ts +44 -4
  298. package/src/cli/commands/init-lexicon.test.ts +97 -2
  299. package/src/cli/commands/init-lexicon.ts +4 -2
  300. package/src/cli/commands/init.test.ts +35 -1
  301. package/src/cli/commands/init.ts +14 -3
  302. package/src/cli/commands/lint.test.ts +48 -0
  303. package/src/cli/commands/lint.ts +123 -0
  304. package/src/cli/commands/onboard.test.ts +75 -0
  305. package/src/cli/commands/onboard.ts +54 -23
  306. package/src/cli/handlers/build.test.ts +81 -1
  307. package/src/cli/handlers/build.ts +15 -1
  308. package/src/cli/handlers/graph.test.ts +3 -3
  309. package/src/cli/handlers/lifecycle.test.ts +195 -12
  310. package/src/cli/handlers/lifecycle.ts +123 -6
  311. package/src/cli/handlers/misc.ts +1 -1
  312. package/src/cli/handlers/operator.test.ts +183 -11
  313. package/src/cli/handlers/operator.ts +260 -55
  314. package/src/cli/handlers/run.test.ts +431 -1287
  315. package/src/cli/handlers/run.ts +365 -915
  316. package/src/cli/main.test.ts +23 -15
  317. package/src/cli/main.ts +88 -33
  318. package/src/cli/mcp/op-tools.ts +147 -88
  319. package/src/cli/mcp/resource-handlers.ts +10 -37
  320. package/src/cli/mcp/resources/context.ts +11 -12
  321. package/src/cli/mcp/server.test.ts +25 -27
  322. package/src/cli/mcp/server.ts +2 -2
  323. package/src/cli/registry.ts +26 -9
  324. package/src/codegen/docs.ts +1 -1
  325. package/src/codegen/generate-post-synth-barrel.test.ts +1 -1
  326. package/src/codegen/generate-post-synth-barrel.ts +1 -1
  327. package/src/components/README.md +3 -2
  328. package/src/components/auto-release.test.ts +4 -20
  329. package/src/components/auto-release.ts +17 -42
  330. package/src/components/capability.ts +4 -4
  331. package/src/components/cli-support.test.ts +10 -5
  332. package/src/components/cli-support.ts +52 -44
  333. package/src/components/component.schema.json +2 -2
  334. package/src/components/component.ts +3 -3
  335. package/src/components/driver-output.ts +14 -2
  336. package/src/components/driver.test.ts +92 -22
  337. package/src/components/driver.ts +193 -83
  338. package/src/components/index.ts +1 -6
  339. package/src/components/manifest-persistence.test.ts +2 -20
  340. package/src/components/manifest-persistence.ts +4 -24
  341. package/src/components/pilots/pilots-lint-clean.test.ts +11 -10
  342. package/src/components/run-progress.ts +6 -6
  343. package/src/components/verbs/run-agent.ts +11 -17
  344. package/src/components/verbs/verify.ts +2 -2
  345. package/src/deep-observation.test.ts +75 -0
  346. package/src/deep-observation.ts +48 -0
  347. package/src/discovery/collect.test.ts +3 -3
  348. package/src/discovery/files.ts +4 -4
  349. package/src/discovery/fold-import.ts +105 -2
  350. package/src/discovery/param-deps.test.ts +112 -1
  351. package/src/discovery/param-deps.ts +193 -0
  352. package/src/discovery/sandbox/bundle.ts +15 -1
  353. package/src/discovery/sandbox/config-wire.test.ts +2 -2
  354. package/src/discovery/sandbox/config-wire.ts +2 -2
  355. package/src/fold/fold.test.ts +56 -0
  356. package/src/fold/foldable-helpers.ts +81 -1
  357. package/src/fold-provenance-exclusion.test.ts +186 -0
  358. package/src/fold-provenance.test.ts +495 -0
  359. package/src/fold-provenance.ts +441 -0
  360. package/src/graph-ops.test.ts +2 -2
  361. package/src/graph-ops.ts +1 -1
  362. package/src/held-elsewhere.test.ts +102 -0
  363. package/src/held-elsewhere.ts +114 -0
  364. package/src/import/ir-utils.ts +11 -1
  365. package/src/import/parser.ts +35 -0
  366. package/src/index.ts +3 -0
  367. package/src/kubectl-context.ts +3 -3
  368. package/src/lexicon-config.test.ts +5 -5
  369. package/src/lexicon-config.ts +4 -4
  370. package/src/lexicon-plugin-helpers.ts +1 -1
  371. package/src/lexicon.ts +120 -14
  372. package/src/lifecycle/change-set.test.ts +49 -0
  373. package/src/lifecycle/change-set.ts +67 -0
  374. package/src/lifecycle/converge-ledger.ts +1 -1
  375. package/src/lifecycle/deep-diff.test.ts +267 -14
  376. package/src/lifecycle/deep-diff.ts +217 -14
  377. package/src/lifecycle/deep-observe.test.ts +3 -1
  378. package/src/lifecycle/deep-observe.ts +16 -6
  379. package/src/lifecycle/gate-ledger.test.ts +74 -2
  380. package/src/lifecycle/gate-ledger.ts +143 -36
  381. package/src/lifecycle/index.ts +1 -0
  382. package/src/lifecycle/release-ledger.ts +2 -2
  383. package/src/lifecycle/run-ledger.test.ts +268 -0
  384. package/src/lifecycle/run-ledger.ts +201 -0
  385. package/src/lifecycle/symptoms.ts +3 -3
  386. package/src/lint/config.test.ts +82 -1
  387. package/src/lint/config.ts +112 -3
  388. package/src/lint/policy.test.ts +1 -1
  389. package/src/lint/post-synth.test.ts +31 -0
  390. package/src/lint/post-synth.ts +54 -1
  391. package/src/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.ts +2 -2
  392. package/src/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.ts +1 -1
  393. package/src/lint/rules/comp/comp.test.ts +1 -1
  394. package/src/lint/rules/comp/comp004-gate-needs-durable-runtime.ts +74 -0
  395. package/src/lint/rules/comp/index.ts +3 -3
  396. package/src/lint/rules/op/index.ts +23 -0
  397. package/src/lint/rules/op/ops012-activity-contract.test.ts +161 -0
  398. package/src/lint/rules/op/ops012-activity-contract.ts +64 -0
  399. package/src/lint/rules/op/ops013-step-output-ref.test.ts +237 -0
  400. package/src/lint/rules/op/ops013-step-output-ref.ts +98 -0
  401. package/src/lint/rules/op/ops014-converge-rule-refusals.test.ts +263 -0
  402. package/src/lint/rules/op/ops014-converge-rule-refusals.ts +179 -0
  403. package/src/lint/rules/op/support.ts +11 -0
  404. package/src/lint/suppressions.test.ts +163 -0
  405. package/src/lint/suppressions.ts +204 -0
  406. package/src/live-endpoint.ts +1 -1
  407. package/src/op/activities/activity-contracts.ts +66 -0
  408. package/src/op/activities/apply.test.ts +567 -0
  409. package/src/op/activities/apply.ts +662 -0
  410. package/src/op/activities/build.ts +26 -0
  411. package/src/op/activities/converge.test.ts +330 -0
  412. package/src/op/activities/converge.ts +449 -0
  413. package/src/op/activities/env-teardown.test.ts +187 -0
  414. package/src/op/activities/env-teardown.ts +171 -0
  415. package/src/op/activities/guard-validate.test.ts +139 -0
  416. package/src/op/activities/guard-validate.ts +223 -0
  417. package/src/op/activities/http-check.test.ts +48 -0
  418. package/src/op/activities/http-check.ts +55 -0
  419. package/src/op/activities/index.ts +119 -0
  420. package/src/op/activities/lexicon-upgrade.test.ts +492 -0
  421. package/src/op/activities/lexicon-upgrade.ts +673 -0
  422. package/src/op/activities/lifecycle.ts +85 -0
  423. package/src/op/activities/pipeline-audit.test.ts +67 -0
  424. package/src/op/activities/pipeline-audit.ts +201 -0
  425. package/src/op/activities/policy.test.ts +19 -0
  426. package/src/op/activities/policy.ts +37 -0
  427. package/src/op/activities/reconcile.test.ts +81 -0
  428. package/src/op/activities/reconcile.ts +187 -0
  429. package/src/op/activities/shell.ts +26 -0
  430. package/src/op/activities/teardown.ts +22 -0
  431. package/src/op/activities/util.ts +6 -0
  432. package/src/op/activities/wait.ts +69 -0
  433. package/src/op/activities/workflow-audit.test.ts +90 -0
  434. package/src/op/activities/workflow-audit.ts +203 -0
  435. package/src/op/activity-contract-registry.test.ts +98 -0
  436. package/src/op/activity-contract-registry.ts +114 -0
  437. package/src/op/activity-contract.test.ts +1 -1
  438. package/src/op/activity-contract.ts +37 -33
  439. package/src/op/activity-failure.ts +34 -0
  440. package/src/op/activity-profiles.test.ts +56 -0
  441. package/src/op/activity-profiles.ts +116 -0
  442. package/src/op/activity-registry.test.ts +37 -28
  443. package/src/op/activity-registry.ts +27 -56
  444. package/src/op/activity-runtime.ts +3 -47
  445. package/src/op/builders-exports.test.ts +0 -49
  446. package/src/op/builders-typed.test.ts +164 -0
  447. package/src/op/builders.ts +123 -39
  448. package/src/op/composites/apply-op.ts +208 -0
  449. package/src/op/composites/composites.test.ts +366 -0
  450. package/src/op/composites/converge-op.test.ts +168 -0
  451. package/src/op/composites/converge-op.ts +214 -0
  452. package/src/op/composites/index.ts +26 -0
  453. package/src/op/composites/lexicon-upgrade-op.test.ts +68 -0
  454. package/src/op/composites/lexicon-upgrade-op.ts +134 -0
  455. package/src/op/composites/pipeline-audit-op.test.ts +25 -0
  456. package/src/op/composites/pipeline-audit-op.ts +78 -0
  457. package/src/op/composites/reconcile-op.test.ts +51 -0
  458. package/src/op/composites/reconcile-op.ts +107 -0
  459. package/src/op/composites/watch-op.ts +108 -0
  460. package/src/op/composites/workflow-audit-op.test.ts +25 -0
  461. package/src/op/composites/workflow-audit-op.ts +88 -0
  462. package/src/op/converge-rule.ts +12 -10
  463. package/src/op/cron.test.ts +128 -0
  464. package/src/op/cron.ts +149 -0
  465. package/src/op/discover-root.test.ts +105 -1
  466. package/src/op/discover.test.ts +6 -2
  467. package/src/op/discover.ts +84 -16
  468. package/src/op/duration.ts +21 -0
  469. package/src/op/effect-step.test.ts +26 -11
  470. package/src/op/emulator-lifecycle.ts +1 -2
  471. package/src/op/gate.ts +155 -0
  472. package/src/op/generate-pipeline.test.ts +65 -3
  473. package/src/op/generate-pipeline.ts +19 -2
  474. package/src/op/index.ts +39 -6
  475. package/src/op/local-executor.test.ts +163 -34
  476. package/src/op/local-executor.ts +370 -102
  477. package/src/op/local-output.test.ts +95 -11
  478. package/src/op/local-output.ts +33 -4
  479. package/src/op/op-ir.test.ts +281 -0
  480. package/src/op/op-ir.ts +417 -0
  481. package/src/op/op-verb-class.ts +19 -5
  482. package/src/op/op.test.ts +26 -5
  483. package/src/op/operator.test.ts +175 -6
  484. package/src/op/operator.ts +63 -16
  485. package/src/op/receipt-store.ts +1 -1
  486. package/src/op/resource.ts +20 -2
  487. package/src/op/runtime.ts +203 -0
  488. package/src/op/runtimes/local.test.ts +181 -0
  489. package/src/op/runtimes/local.ts +212 -0
  490. package/src/op/step-output-ref.ts +15 -13
  491. package/src/op/types.ts +84 -24
  492. package/src/ownership.ts +1 -1
  493. package/src/provenance.test.ts +6 -0
  494. package/src/provenance.ts +21 -1
  495. package/src/serializer-walker.test.ts +42 -0
  496. package/src/serializer-walker.ts +21 -2
  497. package/src/stack-output.ts +6 -1
  498. package/dist/cli/handlers/op-progress.d.ts +0 -90
  499. package/dist/cli/handlers/op-progress.d.ts.map +0 -1
  500. package/dist/cli/handlers/run-client.d.ts +0 -127
  501. package/dist/cli/handlers/run-client.d.ts.map +0 -1
  502. package/dist/cli/handlers/run-report.d.ts +0 -5
  503. package/dist/cli/handlers/run-report.d.ts.map +0 -1
  504. package/dist/components/temporal-codegen-loader.d.ts +0 -27
  505. package/dist/components/temporal-codegen-loader.d.ts.map +0 -1
  506. package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts +0 -37
  507. package/dist/lint/rules/comp/comp004-gate-needs-temporal.d.ts.map +0 -1
  508. package/src/cli/handlers/op-progress.test.ts +0 -268
  509. package/src/cli/handlers/op-progress.ts +0 -248
  510. package/src/cli/handlers/run-client.test.ts +0 -82
  511. package/src/cli/handlers/run-client.ts +0 -219
  512. package/src/cli/handlers/run-report.test.ts +0 -62
  513. package/src/cli/handlers/run-report.ts +0 -122
  514. package/src/components/temporal-codegen-loader.ts +0 -41
  515. package/src/lint/rules/comp/comp004-gate-needs-temporal.ts +0 -66
package/src/provenance.ts CHANGED
@@ -71,11 +71,27 @@ export interface EntityProvenance {
71
71
  * is governed by `tier`, which is what an editor needs to know. Under-reports
72
72
  * (a shape the collector does not follow drops a dependency) and never
73
73
  * over-reports a parameter the expression does not mention.
74
+ * - `composite-parameter` — the fold interpreted the composite's factory body,
75
+ * and the expression for this path reads the named factory parameter paths
76
+ * (chant #2161). Same syntactic-dependency discipline as `build-param`, and
77
+ * for the same reason: a shape the collector does not follow drops a
78
+ * parameter, it never invents one.
79
+ * - `composite-literal` — the fold interpreted the factory body and the
80
+ * expression for this path reads no parameter at all. The composite fixes
81
+ * this field, and no argument at the call site moves it.
82
+ *
83
+ * The coarse `composite` and the two fine kinds are not alternatives. A build
84
+ * records `composite` when it expanded a composite without interpreting its
85
+ * body (the run path, an inadmissible factory), and that is why
86
+ * ./fold-provenance.ts answers `unknown` there rather than falling through to a
87
+ * direct declaration.
74
88
  */
75
89
  export type PathOrigin =
76
90
  | { kind: "authored" }
77
91
  | { kind: "composite"; composite: string; instance: string }
78
- | { kind: "build-param"; params: string[] };
92
+ | { kind: "build-param"; params: string[] }
93
+ | { kind: "composite-parameter"; composite: string; parameters: string[] }
94
+ | { kind: "composite-literal"; composite: string };
79
95
 
80
96
  /** True when `prefix` addresses `path` or an ancestor of it, on a segment boundary. */
81
97
  function isPathPrefix(prefix: string, path: string): boolean {
@@ -170,6 +186,10 @@ export function describePathOrigin(origin: PathOrigin): string {
170
186
  return `composite ${origin.composite} (${origin.instance})`;
171
187
  case "build-param":
172
188
  return `param ${origin.params.join(", ")}`;
189
+ case "composite-parameter":
190
+ return `composite ${origin.composite} parameter ${origin.parameters.join(", ")}`;
191
+ case "composite-literal":
192
+ return `composite ${origin.composite} literal`;
173
193
  }
174
194
  }
175
195
 
@@ -4,6 +4,7 @@ import { DECLARABLE_MARKER, type Declarable } from "./declarable";
4
4
  import { INTRINSIC_MARKER } from "./intrinsic";
5
5
  import { AttrRef } from "./attrref";
6
6
  import { createResource } from "./runtime";
7
+ import { heldElsewhere } from "./held-elsewhere";
7
8
 
8
9
  function makeDeclarable(type: string, kind: "resource" | "property" = "resource", props?: Record<string, unknown>): Declarable & { props?: Record<string, unknown> } {
9
10
  const d: Declarable & { props?: Record<string, unknown> } = {
@@ -145,3 +146,44 @@ describe("walkValue", () => {
145
146
  });
146
147
  });
147
148
  });
149
+
150
+ // #2162 — a `heldElsewhere()` marker is never written to the applied
151
+ // payload: the field is omitted entirely so the provider defaults it once at
152
+ // creation and the named holder owns it from there. Every apply this
153
+ // synthesizes omits it, not only the first — re-asserting even the field's
154
+ // own value on a later apply would fight whatever the holder wrote in
155
+ // between.
156
+ describe("walkValue — heldElsewhere() markers (#2162)", () => {
157
+ test("a top-level held value walks to undefined", () => {
158
+ const names = new Map<Declarable, string>();
159
+ const marker = heldElsewhere<number>({ by: "hpa", reason: "x" });
160
+ expect(walkValue(marker, names, mockVisitor)).toBeUndefined();
161
+ });
162
+
163
+ test("an object key holding a marker is omitted entirely, not set to undefined", () => {
164
+ const names = new Map<Declarable, string>();
165
+ const value = {
166
+ replicas: heldElsewhere<number>({ by: "hpa", reason: "the autoscaler owns replicas after the first apply" }),
167
+ image: "app:1",
168
+ };
169
+ const result = walkValue(value, names, mockVisitor);
170
+ expect(result).toEqual({ image: "app:1" });
171
+ expect(Object.keys(result as object)).not.toContain("replicas");
172
+ });
173
+
174
+ test("a held element inside an array is dropped, not left as a hole", () => {
175
+ const names = new Map<Declarable, string>();
176
+ const value = { tolerations: ["a", heldElsewhere<string>({ by: "controller", reason: "x" }), "b"] };
177
+ expect(walkValue(value, names, mockVisitor)).toEqual({ tolerations: ["a", "b"] });
178
+ });
179
+
180
+ test("nested inside a property-kind declarable's own props, still omitted", () => {
181
+ const names = new Map<Declarable, string>();
182
+ const scaleTarget = makeDeclarable("K8s::Autoscaling::HorizontalPodAutoscaler.Behavior", "property", {
183
+ scaleUp: heldElsewhere<Record<string, unknown>>({ by: "hpa", reason: "the controller tunes its own policy" }),
184
+ stabilizationWindowSeconds: 60,
185
+ });
186
+ const result = walkValue(scaleTarget, names, mockVisitor);
187
+ expect(result).toEqual({ stabilizationWindowSeconds: 60 });
188
+ });
189
+ });
@@ -7,6 +7,7 @@
7
7
 
8
8
  import type { Declarable } from "./declarable";
9
9
  import { isPropertyDeclarable } from "./declarable";
10
+ import { isHeldElsewhere } from "./held-elsewhere";
10
11
  import { INTRINSIC_MARKER } from "./intrinsic";
11
12
  import { AttrRef } from "./attrref";
12
13
  import { isAttrRefLike } from "./utils";
@@ -33,6 +34,16 @@ export function walkValue(
33
34
  return value;
34
35
  }
35
36
 
37
+ // A `heldElsewhere()` marker (#2162) is never written to the applied
38
+ // payload — the provider defaults the field once at actual creation, and
39
+ // whoever the declaration names as holder owns it from there. Every apply
40
+ // this synthesizes therefore omits the field entirely, not only the
41
+ // first: re-asserting even the field's own value on a later apply would
42
+ // fight whatever the holder wrote in between. Checked first, ahead of
43
+ // every other dispatch branch below — a held marker is never an AttrRef,
44
+ // an Intrinsic, or authored Declarable data.
45
+ if (isHeldElsewhere(value)) return undefined;
46
+
36
47
  // Handle AttrRef
37
48
  if (isAttrRefLike(value)) {
38
49
  const name = value.getLogicalName();
@@ -77,9 +88,13 @@ export function walkValue(
77
88
  return visitor.propertyDeclarable(decl, (v) => walkValue(v, entityNames, visitor));
78
89
  }
79
90
 
80
- // Handle arrays
91
+ // Handle arrays. A held marker element is filtered out before recursing —
92
+ // `walkValue` would return `undefined` for it too, but leaving it in the
93
+ // array would emit a hole (`[a, null, b]`) rather than omitting it.
81
94
  if (Array.isArray(value)) {
82
- return value.map((item) => walkValue(item, entityNames, visitor));
95
+ return value
96
+ .filter((item) => !isHeldElsewhere(item))
97
+ .map((item) => walkValue(item, entityNames, visitor));
83
98
  }
84
99
 
85
100
  // Handle serialized AttrRef envelopes (produced by AttrRef.toJSON() inside intrinsics)
@@ -92,6 +107,10 @@ export function walkValue(
92
107
  if (typeof value === "object") {
93
108
  const result: Record<string, unknown> = {};
94
109
  for (const [key, val] of Object.entries(value)) {
110
+ // A held marker key is omitted entirely (#2162), not set to
111
+ // `undefined` — the two read differently to a YAML emitter, and only
112
+ // omission is "the provider never hears about this field".
113
+ if (isHeldElsewhere(val)) continue;
95
114
  const outKey = key;
96
115
  result[outKey] = walkValue(val, entityNames, visitor);
97
116
  }
@@ -33,6 +33,10 @@ export interface StackOutput extends Declarable {
33
33
  /** When set, the serializer emits a cross-stack export under this name
34
34
  * (CloudFormation `Output.Export.Name`) in addition to the plain output. */
35
35
  readonly exportName?: string;
36
+ /** When set, the output is gated on a declared condition (CloudFormation
37
+ * `Output.Condition`) — a condition name, or the condition Declarable
38
+ * itself, resolved to its logical name at serialization (#2068/#2069). */
39
+ readonly condition?: string | Declarable;
36
40
  }
37
41
 
38
42
  /** What a wrapping intrinsic's lexicon gets derived from: either a nested
@@ -108,7 +112,7 @@ export function isStackOutput(value: unknown): value is StackOutput {
108
112
  */
109
113
  export function stackOutput(
110
114
  ref: AttrRef | Intrinsic | string,
111
- options?: { description?: string; exportName?: string; lexicon?: string },
115
+ options?: { description?: string; exportName?: string; lexicon?: string; condition?: string | Declarable },
112
116
  ): StackOutput {
113
117
  // Duck-type, not `instanceof` (chant #1137): AttrRef also implements
114
118
  // Intrinsic (a global-symbol marker), so `isIntrinsic(ref)` alone already
@@ -147,6 +151,7 @@ export function stackOutput(
147
151
  sourceRef: ref,
148
152
  description: options?.description,
149
153
  exportName: options?.exportName,
154
+ condition: options?.condition,
150
155
  };
151
156
 
152
157
  return output;
@@ -1,90 +0,0 @@
1
- /**
2
- * Per-phase progress reconstructed from a Temporal Op workflow's history
3
- * (chant #1676) — the durable-path counterpart to the local executor's
4
- * `StepRecord[]` (op/local-executor.ts), so `chant run <name> --temporal
5
- * --progress-json` and `op-status` can report the same shape `chant run
6
- * <name> --json` already does for the local path, instead of the two raw
7
- * `ActivityTaskScheduled`/`ActivityTaskCompleted` counts.
8
- *
9
- * A step is joined to its declared (phase, fn) by position, not by name: the
10
- * declared step list (`declaredStepOrder`, mirroring the serializer's own
11
- * `collectActivitySteps` traversal — main phases, then `onFailure` phases
12
- * *reversed*, matching how the generated workflow actually runs them) is
13
- * walked in order, and each step consumes the next not-yet-consumed
14
- * `ActivityTaskScheduled` event whose activity type matches its `fn` — a
15
- * per-fn FIFO queue, not a global "does this name appear anywhere" scan.
16
- * Two steps calling the same activity therefore each get their own
17
- * scheduled event instead of the later one overwriting the earlier
18
- * (the collision the prior `run-report.ts` join had). A step whose queue is
19
- * empty never ran this execution — an untaken effect branch, or an
20
- * `onFailure` phase on a run that succeeded.
21
- */
22
- import type { OpConfig } from "../../op/types.js";
23
- import type { StepRecord } from "../../op/local-executor.js";
24
- import type { WorkflowHistoryRaw, WorkflowHandleRaw } from "./run-client.js";
25
- /**
26
- * A step record paired with the position of the declared step it came from.
27
- *
28
- * `index` is an offset into `declaredStepOrder(config)`, which depends only
29
- * on the Op config — not on the history — so it is the record's identity
30
- * and is stable across polls. The record *list* is not: a mid-run poll omits
31
- * every step that hasn't settled yet, and the terminal `final: true` pass
32
- * inserts a `"skipped"` record at each such step's declared position, which
33
- * shifts every later record's list offset (chant #2032). Anything tracking
34
- * what it has already seen must key on `index`, never on how many records
35
- * the previous call returned.
36
- */
37
- export interface IndexedStepRecord {
38
- index: number;
39
- record: StepRecord;
40
- }
41
- /**
42
- * Reconstruct per-step progress records from a workflow's history, in
43
- * declared order, each tagged with its declared-step `index`. Only settled
44
- * steps (matched to a scheduled event that has since completed or failed)
45
- * produce a record — a step that hasn't been scheduled yet simply isn't in
46
- * the result. Pass `final: true` once the workflow has reached a terminal
47
- * status to also emit a `"skipped"` record for every declared step that
48
- * never got a matching scheduled event (an untaken effect branch, or an
49
- * `onFailure` phase on a run that succeeded) — never before, or a
50
- * still-running Op would show its not-yet-reached steps as skipped.
51
- */
52
- export declare function extractIndexedStepRecords(config: OpConfig, history: WorkflowHistoryRaw, opts?: {
53
- final?: boolean;
54
- }): IndexedStepRecord[];
55
- /** `extractIndexedStepRecords` without the indices — the plain declared-order record list. */
56
- export declare function extractStepRecords(config: OpConfig, history: WorkflowHistoryRaw, opts?: {
57
- final?: boolean;
58
- }): StepRecord[];
59
- /**
60
- * A sink that forwards each declared step's record exactly once, however many
61
- * times the poll loop re-derives the list.
62
- *
63
- * `--progress-json` calls this per poll with the whole list so far, plus once
64
- * more with the terminal `final: true` list. Deduplicating by declared-step
65
- * `index` is what makes that safe: an emitted-count watermark assumed the list
66
- * was append-only, and the `final` pass's inserted `"skipped"` records break
67
- * that assumption — with an unreached phase declared before an `onFailure`
68
- * phase that ran, the insertion shifted the tail, so the last record shipped
69
- * twice and the skipped one never shipped at all (chant #2032).
70
- */
71
- export declare function stepRecordEmitter(emit: (record: StepRecord) => void): (records: IndexedStepRecord[]) => void;
72
- /** `{completed, scheduled}` activity counts for the summary line `chant run status`/`op-status` show alongside the full record list. */
73
- export declare function countActivities(history: WorkflowHistoryRaw): {
74
- completed: number;
75
- scheduled: number;
76
- };
77
- /** The `gateState` workflow query's result (op/serializer.ts's `emitGate`) — the gate currently blocking the workflow, or `null` when none is pending. */
78
- export interface GateQueryResult {
79
- signalName: string;
80
- description?: string;
81
- since: string;
82
- }
83
- /**
84
- * Best-effort `gateState` query. `undefined` (as opposed to `null`) means
85
- * the query itself failed — an Op with no gate steps never registers a
86
- * `gateState` handler, so querying it is expected to fail, not an error
87
- * worth surfacing.
88
- */
89
- export declare function queryGateState(handle: WorkflowHandleRaw): Promise<GateQueryResult | null | undefined>;
90
- //# sourceMappingURL=op-progress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-progress.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/op-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAgB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA2FxF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,iBAAiB,EAAE,CAsCrB;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,UAAU,EAAE,CAEd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAS5G;AAED,wIAAwI;AACxI,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMrG;AAED,0JAA0J;AAC1J,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,CAM3G"}
@@ -1,127 +0,0 @@
1
- /** Subset of WorkerProfile fields used by `chant run`. */
2
- export interface WorkerProfile {
3
- address: string;
4
- namespace: string;
5
- taskQueue: string;
6
- tls?: boolean | {
7
- serverNameOverride?: string;
8
- };
9
- apiKey?: string | {
10
- env: string;
11
- };
12
- autoStart?: boolean;
13
- }
14
- export interface TemporalClientModule {
15
- Connection: {
16
- connect(opts: Record<string, unknown>): Promise<unknown>;
17
- };
18
- Client: new (opts: Record<string, unknown>) => TemporalClientHandle;
19
- }
20
- export interface TemporalClientHandle {
21
- workflow: {
22
- start(workflowFn: unknown, opts: Record<string, unknown>): Promise<WorkflowHandleRaw>;
23
- getHandle(workflowId: string): WorkflowHandleRaw;
24
- list(opts?: Record<string, unknown>): AsyncIterable<WorkflowExecutionInfo>;
25
- };
26
- }
27
- export interface WorkflowHandleRaw {
28
- workflowId: string;
29
- firstExecutionRunId?: string;
30
- result(): Promise<unknown>;
31
- describe(): Promise<WorkflowExecutionDescription>;
32
- fetchHistory(): Promise<WorkflowHistoryRaw>;
33
- signal(signalName: string, ...args: unknown[]): Promise<void>;
34
- query<T = unknown>(queryName: string, ...args: unknown[]): Promise<T>;
35
- cancel(): Promise<void>;
36
- }
37
- export interface WorkflowExecutionDescription {
38
- workflowId: string;
39
- runId: string;
40
- status: {
41
- name: string;
42
- };
43
- startTime: Date;
44
- closeTime?: Date;
45
- taskQueue: string;
46
- type: {
47
- name: string;
48
- };
49
- }
50
- export interface WorkflowExecutionInfo {
51
- workflowId: string;
52
- runId: string;
53
- type: {
54
- name: string;
55
- };
56
- status: {
57
- name: string;
58
- };
59
- startTime: Date;
60
- closeTime?: Date;
61
- }
62
- export interface WorkflowHistoryRaw {
63
- events?: HistoryEvent[];
64
- }
65
- /**
66
- * `eventType` is the short PascalCase form (`"ActivityTaskScheduled"`, not
67
- * the wire enum's `"EVENT_TYPE_ACTIVITY_TASK_SCHEDULED"`) and `eventId`/
68
- * `scheduledEventId` are decimal strings — the shape {@link fetchNormalizedHistory}
69
- * produces, not `WorkflowHandleRaw.fetchHistory()`'s own raw return value.
70
- */
71
- export interface HistoryEvent {
72
- eventId?: string;
73
- eventType?: string;
74
- eventTime?: Date;
75
- activityTaskCompletedEventAttributes?: {
76
- scheduledEventId?: string;
77
- };
78
- activityTaskScheduledEventAttributes?: {
79
- activityId?: string;
80
- activityType?: {
81
- name?: string;
82
- };
83
- };
84
- activityTaskFailedEventAttributes?: {
85
- scheduledEventId?: string;
86
- failure?: {
87
- message?: string;
88
- };
89
- };
90
- workflowExecutionCompletedEventAttributes?: unknown;
91
- workflowExecutionFailedEventAttributes?: {
92
- failure?: {
93
- message?: string;
94
- };
95
- };
96
- }
97
- /**
98
- * `WorkflowHandleRaw.fetchHistory()` returns the Temporal wire proto
99
- * untouched: `eventType` is the numeric enum, `eventId`/`scheduledEventId`
100
- * are `Long` instances, `eventTime` is a `{seconds, nanos}` protobuf
101
- * Timestamp — none of them comparable or constructible the way the rest of
102
- * this file (and run-report.ts, op-progress.ts) needs. The proto message's
103
- * own `toJSON()` is what turns enums into their string name and `Long`s into
104
- * decimal strings, so a JSON round-trip is the normalization step; only
105
- * `eventTime` then needs a further Timestamp-to-Date conversion.
106
- */
107
- export declare function fetchNormalizedHistory(handle: WorkflowHandleRaw): Promise<WorkflowHistoryRaw>;
108
- /**
109
- * Dynamically import @temporalio/client from the user's project node_modules.
110
- * Fails with a helpful message if not installed.
111
- */
112
- export declare function loadTemporalClient(): Promise<TemporalClientModule>;
113
- /**
114
- * Build a Temporal Connection.connect() options object from a worker profile.
115
- */
116
- export declare function connectionOptions(profile: WorkerProfile): Record<string, unknown>;
117
- /**
118
- * Deterministic workflow ID for an Op — allows status/signal/cancel/log
119
- * without storing run IDs locally.
120
- */
121
- export declare function resolveWorkflowId(opName: string): string;
122
- /**
123
- * Resolve a named profile from the chant config.
124
- * Falls back to defaultProfile then "local".
125
- */
126
- export declare function resolveProfile(config: Record<string, unknown>, profileName?: string): WorkerProfile;
127
- //# sourceMappingURL=run-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-client.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/run-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { OpConfig } from "../../op/types.js";
2
- import type { WorkflowExecutionDescription, WorkflowHistoryRaw } from "./run-client.js";
3
- export declare function generateReport(opName: string, config: OpConfig, description: WorkflowExecutionDescription, history: WorkflowHistoryRaw): string;
4
- export declare function writeReport(opName: string, markdown: string): string;
5
- //# sourceMappingURL=run-report.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-report.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/run-report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AA2CnG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,4BAA4B,EACzC,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CA+DR;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Dynamic loader for the durable component → Temporal codegen (#589, epic
3
- * #551 §5/§8). The actual `serializeComponent` generator lives in
4
- * `@intentius/chant-lexicon-temporal` (`src/component-op/serializer.ts`),
5
- * mirroring `Temporal::Op` codegen — core never statically depends on the
6
- * Temporal lexicon, the same boundary `../op/activity-registry.ts`'s
7
- * `loadActivities`/`loadProfiles` already keep for Op activities.
8
- */
9
- import type { DriverComponent } from "./driver.js";
10
- /** Target environment (and env-config) baked into the generated workflow at compile time — see `serializeComponent`'s docstring in the Temporal lexicon for why this can't be resolved at workflow-run time instead. */
11
- export interface ComponentTemporalCodegenOptions {
12
- env?: string;
13
- vars?: Record<string, unknown>;
14
- }
15
- export interface ComponentTemporalCodegen {
16
- /** Serialize one component into `{ "components/<name>/workflow.ts": "...", ... }`. */
17
- serializeComponent(component: DriverComponent, options?: ComponentTemporalCodegenOptions): Record<string, string>;
18
- /** Deterministic workflow function name for a component (mirrors the generated `export async function <fn>()`). */
19
- componentWorkflowFnName(componentName: string): string;
20
- }
21
- /**
22
- * Dynamically import the Temporal lexicon's component codegen. Throws a
23
- * friendly error if the lexicon is not installed — the durable component
24
- * path needs the generator even though discovery/local execution never do.
25
- */
26
- export declare function loadComponentTemporalCodegen(): Promise<ComponentTemporalCodegen>;
27
- //# sourceMappingURL=temporal-codegen-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"temporal-codegen-loader.d.ts","sourceRoot":"","sources":["../../src/components/temporal-codegen-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wNAAwN;AACxN,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,+BAA+B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClH,mHAAmH;IACnH,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAWtF"}
@@ -1,37 +0,0 @@
1
- /**
2
- * COMP004: gate-needs-temporal
3
- *
4
- * Flags a `gate` step anywhere in a component's composition — a durable,
5
- * human-approval wait that cannot run on the local in-process executor (see
6
- * ../../../components/driver.ts's `DriverGateUnsupportedError` and
7
- * docs/components/orchestration.mdx's "Temporal is optional" aside: "gates ...
8
- * require the durable (Temporal) execution backend").
9
- *
10
- * The component contract has no per-component backend/executor field (the
11
- * backend is chosen per *run*, via `chant run --temporal`, per epic #551 §8 —
12
- * intentionally not part of the declaration, so the same component graduates
13
- * to Temporal without changing its definition). That means lint cannot tell,
14
- * from the declaration alone, whether a given `gate` will actually run under
15
- * Temporal when this component is deployed — every `gate` is a standing
16
- * "this component needs the durable backend" fact worth surfacing, not a
17
- * mistake to silently allow. Acknowledge it explicitly with a **file-level**
18
- * disable directive once the durable backend is genuinely intended (see
19
- * lint-rules/disable-directives.mdx) — a COMP* diagnostic carries no real
20
- * line/column (it is reported for the whole component; see
21
- * ../../component-checks.ts), so only the file-level `chant-disable` form is
22
- * honored for these rules — `-line`/`-next-line` do not suppress a COMP*
23
- * diagnostic (see ../../../cli/commands/lint.ts's
24
- * `runComponentCheckDiagnostics`):
25
- *
26
- * ```ts
27
- * // chant-disable COMP004 -- graduates to --temporal for the human approval wait
28
- * ```
29
- *
30
- * Triggers on: any `gate` step in `deploy`/`rollback` with no matching
31
- * file-level disable directive.
32
- * OK: a component with no `gate` steps at all, or a `gate` whose file-level
33
- * disable directive documents the Temporal graduation.
34
- */
35
- import type { ComponentCheck } from "../../component-checks.js";
36
- export declare const comp004GateNeedsTemporalRule: ComponentCheck;
37
- //# sourceMappingURL=comp004-gate-needs-temporal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comp004-gate-needs-temporal.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/comp/comp004-gate-needs-temporal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAmD,MAAM,wBAAwB,CAAC;AAG9G,eAAO,MAAM,4BAA4B,EAAE,cA2B1C,CAAC"}