@quadnix/octo 0.0.30 → 0.2.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 (383) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +117 -8
  3. package/dist/app.type.d.ts +277 -19
  4. package/dist/app.type.js +80 -9
  5. package/dist/app.type.js.map +1 -1
  6. package/dist/decorators/action.decorator.d.ts +10 -6
  7. package/dist/decorators/action.decorator.js +19 -6
  8. package/dist/decorators/action.decorator.js.map +1 -1
  9. package/dist/decorators/anchor.decorator.d.ts +12 -5
  10. package/dist/decorators/anchor.decorator.js +12 -5
  11. package/dist/decorators/anchor.decorator.js.map +1 -1
  12. package/dist/decorators/enable-hook.decorator.d.ts +1 -1
  13. package/dist/decorators/enable-hook.decorator.js +1 -1
  14. package/dist/decorators/factory.decorator.d.ts +18 -34
  15. package/dist/decorators/factory.decorator.js +18 -34
  16. package/dist/decorators/factory.decorator.js.map +1 -1
  17. package/dist/decorators/model.decorator.d.ts +4 -6
  18. package/dist/decorators/model.decorator.js +2 -7
  19. package/dist/decorators/model.decorator.js.map +1 -1
  20. package/dist/decorators/module.decorator.d.ts +16 -10
  21. package/dist/decorators/module.decorator.js +16 -10
  22. package/dist/decorators/module.decorator.js.map +1 -1
  23. package/dist/decorators/on-event.decorator.d.ts +7 -2
  24. package/dist/decorators/on-event.decorator.js +5 -0
  25. package/dist/decorators/on-event.decorator.js.map +1 -1
  26. package/dist/decorators/resource.decorator.d.ts +50 -1
  27. package/dist/decorators/resource.decorator.js +38 -1
  28. package/dist/decorators/resource.decorator.js.map +1 -1
  29. package/dist/decorators/validate.decorator.d.ts +15 -1
  30. package/dist/decorators/validate.decorator.js +15 -1
  31. package/dist/decorators/validate.decorator.js.map +1 -1
  32. package/dist/errors/container.error.d.ts +18 -0
  33. package/dist/errors/container.error.js +18 -0
  34. package/dist/errors/container.error.js.map +1 -1
  35. package/dist/errors/index.d.ts +1 -0
  36. package/dist/errors/index.js +1 -0
  37. package/dist/errors/index.js.map +1 -1
  38. package/dist/errors/module.error.d.ts +6 -0
  39. package/dist/errors/module.error.js +6 -0
  40. package/dist/errors/module.error.js.map +1 -1
  41. package/dist/errors/node.error.d.ts +56 -0
  42. package/dist/errors/node.error.js +56 -0
  43. package/dist/errors/node.error.js.map +1 -1
  44. package/dist/errors/schema.error.d.ts +14 -1
  45. package/dist/errors/schema.error.js +11 -1
  46. package/dist/errors/schema.error.js.map +1 -1
  47. package/dist/errors/terraform.error.d.ts +20 -0
  48. package/dist/errors/terraform.error.js +24 -0
  49. package/dist/errors/terraform.error.js.map +1 -0
  50. package/dist/errors/transaction.error.d.ts +93 -2
  51. package/dist/errors/transaction.error.js +83 -0
  52. package/dist/errors/transaction.error.js.map +1 -1
  53. package/dist/events/action.event.d.ts +8 -4
  54. package/dist/events/action.event.js +2 -4
  55. package/dist/events/action.event.js.map +1 -1
  56. package/dist/events/command.event.d.ts +43 -0
  57. package/dist/events/command.event.js +33 -0
  58. package/dist/events/command.event.js.map +1 -0
  59. package/dist/events/event.model.d.ts +26 -8
  60. package/dist/events/event.model.js +15 -7
  61. package/dist/events/event.model.js.map +1 -1
  62. package/dist/events/hook/commit.hook.event.d.ts +1 -7
  63. package/dist/events/hook/commit.hook.event.js +0 -6
  64. package/dist/events/hook/commit.hook.event.js.map +1 -1
  65. package/dist/events/hook/hook.event.d.ts +1 -3
  66. package/dist/events/hook/hook.event.js +0 -2
  67. package/dist/events/hook/hook.event.js.map +1 -1
  68. package/dist/events/hook/model.hook.event.d.ts +1 -7
  69. package/dist/events/hook/model.hook.event.js +0 -6
  70. package/dist/events/hook/model.hook.event.js.map +1 -1
  71. package/dist/events/hook/resource.hook.event.d.ts +1 -7
  72. package/dist/events/hook/resource.hook.event.js +0 -6
  73. package/dist/events/hook/resource.hook.event.js.map +1 -1
  74. package/dist/events/index.d.ts +5 -0
  75. package/dist/events/index.js +5 -0
  76. package/dist/events/index.js.map +1 -1
  77. package/dist/events/mode-result.event.d.ts +57 -0
  78. package/dist/events/mode-result.event.js +24 -0
  79. package/dist/events/mode-result.event.js.map +1 -0
  80. package/dist/events/mode.event.d.ts +61 -0
  81. package/dist/events/mode.event.js +32 -0
  82. package/dist/events/mode.event.js.map +1 -0
  83. package/dist/events/module.event.d.ts +7 -5
  84. package/dist/events/module.event.js +3 -4
  85. package/dist/events/module.event.js.map +1 -1
  86. package/dist/events/registration.event.d.ts +19 -15
  87. package/dist/events/registration.event.js +18 -14
  88. package/dist/events/registration.event.js.map +1 -1
  89. package/dist/events/serialization.event.d.ts +16 -13
  90. package/dist/events/serialization.event.js +15 -12
  91. package/dist/events/serialization.event.js.map +1 -1
  92. package/dist/events/state.event.d.ts +102 -0
  93. package/dist/events/state.event.js +69 -0
  94. package/dist/events/state.event.js.map +1 -0
  95. package/dist/events/terraform.event.d.ts +78 -0
  96. package/dist/events/terraform.event.js +55 -0
  97. package/dist/events/terraform.event.js.map +1 -0
  98. package/dist/events/transaction.event.d.ts +3 -40
  99. package/dist/events/transaction.event.js +1 -29
  100. package/dist/events/transaction.event.js.map +1 -1
  101. package/dist/functions/container/container.d.ts +54 -13
  102. package/dist/functions/container/container.js +64 -19
  103. package/dist/functions/container/container.js.map +1 -1
  104. package/dist/functions/container/test-container.d.ts +43 -29
  105. package/dist/functions/container/test-container.js +71 -43
  106. package/dist/functions/container/test-container.js.map +1 -1
  107. package/dist/functions/dependency/dependency.d.ts +84 -23
  108. package/dist/functions/dependency/dependency.js +84 -14
  109. package/dist/functions/dependency/dependency.js.map +1 -1
  110. package/dist/functions/diff/aggregate-resource-actions.d.ts +19 -0
  111. package/dist/functions/diff/aggregate-resource-actions.js +41 -0
  112. package/dist/functions/diff/aggregate-resource-actions.js.map +1 -0
  113. package/dist/functions/diff/diff-metadata.d.ts +21 -3
  114. package/dist/functions/diff/diff-metadata.js +18 -0
  115. package/dist/functions/diff/diff-metadata.js.map +1 -1
  116. package/dist/functions/diff/diff.d.ts +68 -7
  117. package/dist/functions/diff/diff.js +44 -3
  118. package/dist/functions/diff/diff.js.map +1 -1
  119. package/dist/functions/hook/commit.hook.d.ts +16 -1
  120. package/dist/functions/hook/commit.hook.js +21 -6
  121. package/dist/functions/hook/commit.hook.js.map +1 -1
  122. package/dist/functions/hook/model-action.hook.d.ts +16 -1
  123. package/dist/functions/hook/model-action.hook.js +21 -6
  124. package/dist/functions/hook/model-action.hook.js.map +1 -1
  125. package/dist/functions/hook/resource-action.hook.d.ts +16 -1
  126. package/dist/functions/hook/resource-action.hook.js +21 -6
  127. package/dist/functions/hook/resource-action.hook.js.map +1 -1
  128. package/dist/functions/node/node-action.abstract.d.ts +23 -2
  129. package/dist/functions/node/node-action.abstract.js +22 -8
  130. package/dist/functions/node/node-action.abstract.js.map +1 -1
  131. package/dist/functions/node/node.abstract.d.ts +56 -5
  132. package/dist/functions/node/node.abstract.js +106 -22
  133. package/dist/functions/node/node.abstract.js.map +1 -1
  134. package/dist/functions/node/node.interface.d.ts +3 -1
  135. package/dist/functions/schema/schema.d.ts +7 -0
  136. package/dist/functions/schema/schema.js +10 -1
  137. package/dist/functions/schema/schema.js.map +1 -1
  138. package/dist/index.d.ts +12 -6
  139. package/dist/index.js +9 -4
  140. package/dist/index.js.map +1 -1
  141. package/dist/index.type.d.ts +5 -0
  142. package/dist/index.type.js +2 -0
  143. package/dist/index.type.js.map +1 -0
  144. package/dist/main.d.ts +245 -14
  145. package/dist/main.js +377 -72
  146. package/dist/main.js.map +1 -1
  147. package/dist/models/account/account.model.d.ts +43 -7
  148. package/dist/models/account/account.model.js +56 -8
  149. package/dist/models/account/account.model.js.map +1 -1
  150. package/dist/models/account/account.schema.d.ts +13 -1
  151. package/dist/models/account/account.schema.js +12 -0
  152. package/dist/models/account/account.schema.js.map +1 -1
  153. package/dist/models/app/app.model.d.ts +13 -8
  154. package/dist/models/app/app.model.js +17 -32
  155. package/dist/models/app/app.model.js.map +1 -1
  156. package/dist/models/app/app.schema.d.ts +6 -0
  157. package/dist/models/app/app.schema.js +6 -0
  158. package/dist/models/app/app.schema.js.map +1 -1
  159. package/dist/models/deployment/deployment.model.d.ts +13 -1
  160. package/dist/models/deployment/deployment.model.js +16 -4
  161. package/dist/models/deployment/deployment.model.js.map +1 -1
  162. package/dist/models/deployment/deployment.schema.d.ts +6 -0
  163. package/dist/models/deployment/deployment.schema.js +6 -0
  164. package/dist/models/deployment/deployment.schema.js.map +1 -1
  165. package/dist/models/environment/environment.model.d.ts +15 -3
  166. package/dist/models/environment/environment.model.js +22 -10
  167. package/dist/models/environment/environment.model.js.map +1 -1
  168. package/dist/models/environment/environment.schema.d.ts +2 -0
  169. package/dist/models/environment/environment.schema.js +2 -0
  170. package/dist/models/environment/environment.schema.js.map +1 -1
  171. package/dist/models/execution/execution.model.d.ts +21 -3
  172. package/dist/models/execution/execution.model.js +47 -29
  173. package/dist/models/execution/execution.model.js.map +1 -1
  174. package/dist/models/execution/execution.schema.d.ts +11 -0
  175. package/dist/models/execution/execution.schema.js +11 -0
  176. package/dist/models/execution/execution.schema.js.map +1 -1
  177. package/dist/models/filesystem/filesystem.model.d.ts +27 -1
  178. package/dist/models/filesystem/filesystem.model.js +30 -4
  179. package/dist/models/filesystem/filesystem.model.js.map +1 -1
  180. package/dist/models/filesystem/filesystem.schema.d.ts +5 -0
  181. package/dist/models/filesystem/filesystem.schema.js +5 -0
  182. package/dist/models/filesystem/filesystem.schema.js.map +1 -1
  183. package/dist/models/image/image.model.d.ts +19 -5
  184. package/dist/models/image/image.model.js +25 -11
  185. package/dist/models/image/image.model.js.map +1 -1
  186. package/dist/models/image/image.schema.d.ts +8 -0
  187. package/dist/models/image/image.schema.js +8 -0
  188. package/dist/models/image/image.schema.js.map +1 -1
  189. package/dist/models/model-action.interface.d.ts +17 -4
  190. package/dist/models/model.abstract.d.ts +96 -1
  191. package/dist/models/model.abstract.js +107 -8
  192. package/dist/models/model.abstract.js.map +1 -1
  193. package/dist/models/model.interface.d.ts +3 -0
  194. package/dist/models/pipeline/pipeline.model.d.ts +14 -2
  195. package/dist/models/pipeline/pipeline.model.js +19 -7
  196. package/dist/models/pipeline/pipeline.model.js.map +1 -1
  197. package/dist/models/pipeline/pipeline.schema.d.ts +8 -0
  198. package/dist/models/pipeline/pipeline.schema.js +8 -0
  199. package/dist/models/pipeline/pipeline.schema.js.map +1 -1
  200. package/dist/models/region/region.model.d.ts +16 -1
  201. package/dist/models/region/region.model.js +19 -4
  202. package/dist/models/region/region.model.js.map +1 -1
  203. package/dist/models/region/region.schema.d.ts +6 -0
  204. package/dist/models/region/region.schema.js +6 -0
  205. package/dist/models/region/region.schema.js.map +1 -1
  206. package/dist/models/server/server.model.d.ts +15 -3
  207. package/dist/models/server/server.model.js +18 -6
  208. package/dist/models/server/server.model.js.map +1 -1
  209. package/dist/models/server/server.schema.d.ts +3 -1
  210. package/dist/models/server/server.schema.js +3 -1
  211. package/dist/models/server/server.schema.js.map +1 -1
  212. package/dist/models/service/service.model.d.ts +37 -6
  213. package/dist/models/service/service.model.js +65 -11
  214. package/dist/models/service/service.model.js.map +1 -1
  215. package/dist/models/service/service.schema.d.ts +48 -1
  216. package/dist/models/service/service.schema.js +56 -1
  217. package/dist/models/service/service.schema.js.map +1 -1
  218. package/dist/models/subnet/subnet.model.d.ts +27 -3
  219. package/dist/models/subnet/subnet.model.js +40 -16
  220. package/dist/models/subnet/subnet.model.js.map +1 -1
  221. package/dist/models/subnet/subnet.schema.d.ts +9 -0
  222. package/dist/models/subnet/subnet.schema.js +9 -0
  223. package/dist/models/subnet/subnet.schema.js.map +1 -1
  224. package/dist/modes/apply-transaction.d.ts +23 -0
  225. package/dist/modes/apply-transaction.js +25 -0
  226. package/dist/modes/apply-transaction.js.map +1 -0
  227. package/dist/modes/commit.mode.d.ts +54 -0
  228. package/dist/modes/commit.mode.js +235 -0
  229. package/dist/modes/commit.mode.js.map +1 -0
  230. package/dist/modes/generate.mode.d.ts +30 -0
  231. package/dist/modes/generate.mode.js +50 -0
  232. package/dist/modes/generate.mode.js.map +1 -0
  233. package/dist/modes/run-action.mode.d.ts +30 -0
  234. package/dist/modes/run-action.mode.js +140 -0
  235. package/dist/modes/run-action.mode.js.map +1 -0
  236. package/dist/modes/validate.mode.d.ts +186 -0
  237. package/dist/modes/validate.mode.js +558 -0
  238. package/dist/modes/validate.mode.js.map +1 -0
  239. package/dist/modules/module.abstract.d.ts +51 -0
  240. package/dist/modules/module.abstract.js +36 -0
  241. package/dist/modules/module.abstract.js.map +1 -1
  242. package/dist/modules/module.container.d.ts +43 -1
  243. package/dist/modules/module.container.js +77 -5
  244. package/dist/modules/module.container.js.map +1 -1
  245. package/dist/modules/test-module.container.d.ts +139 -25
  246. package/dist/modules/test-module.container.js +383 -199
  247. package/dist/modules/test-module.container.js.map +1 -1
  248. package/dist/overlays/anchor.abstract.d.ts +32 -1
  249. package/dist/overlays/anchor.abstract.js +42 -11
  250. package/dist/overlays/anchor.abstract.js.map +1 -1
  251. package/dist/overlays/anchor.schema.d.ts +21 -0
  252. package/dist/overlays/anchor.schema.js +21 -0
  253. package/dist/overlays/anchor.schema.js.map +1 -1
  254. package/dist/overlays/overlay-data.repository.d.ts +18 -0
  255. package/dist/overlays/overlay-data.repository.js +18 -0
  256. package/dist/overlays/overlay-data.repository.js.map +1 -1
  257. package/dist/overlays/overlay.abstract.d.ts +56 -1
  258. package/dist/overlays/overlay.abstract.js +79 -20
  259. package/dist/overlays/overlay.abstract.js.map +1 -1
  260. package/dist/overlays/overlay.schema.d.ts +20 -0
  261. package/dist/overlays/overlay.schema.js +20 -0
  262. package/dist/overlays/overlay.schema.js.map +1 -1
  263. package/dist/resources/resource-action.interface.d.ts +29 -3
  264. package/dist/resources/resource-data.repository.d.ts +63 -1
  265. package/dist/resources/resource-data.repository.js +94 -4
  266. package/dist/resources/resource-data.repository.js.map +1 -1
  267. package/dist/resources/resource.abstract.d.ts +163 -6
  268. package/dist/resources/resource.abstract.js +223 -59
  269. package/dist/resources/resource.abstract.js.map +1 -1
  270. package/dist/resources/resource.interface.d.ts +0 -2
  271. package/dist/resources/resource.schema.d.ts +39 -1
  272. package/dist/resources/resource.schema.js +38 -0
  273. package/dist/resources/resource.schema.js.map +1 -1
  274. package/dist/resources/terraform-resource.abstract.d.ts +44 -0
  275. package/dist/resources/terraform-resource.abstract.js +45 -0
  276. package/dist/resources/terraform-resource.abstract.js.map +1 -0
  277. package/dist/services/event/event.service.d.ts +32 -5
  278. package/dist/services/event/event.service.js +58 -16
  279. package/dist/services/event/event.service.js.map +1 -1
  280. package/dist/services/input/input.service.d.ts +82 -5
  281. package/dist/services/input/input.service.js +143 -12
  282. package/dist/services/input/input.service.js.map +1 -1
  283. package/dist/services/schema-translation/schema-translation.service.d.ts +9 -0
  284. package/dist/services/schema-translation/schema-translation.service.js +9 -0
  285. package/dist/services/schema-translation/schema-translation.service.js.map +1 -1
  286. package/dist/services/serialization/model/model-serialization.service.d.ts +25 -3
  287. package/dist/services/serialization/model/model-serialization.service.js +113 -62
  288. package/dist/services/serialization/model/model-serialization.service.js.map +1 -1
  289. package/dist/services/serialization/resource/resource-serialization.service.d.ts +36 -6
  290. package/dist/services/serialization/resource/resource-serialization.service.js +77 -28
  291. package/dist/services/serialization/resource/resource-serialization.service.js.map +1 -1
  292. package/dist/services/state-management/local.state-provider.d.ts +67 -4
  293. package/dist/services/state-management/local.state-provider.js +168 -41
  294. package/dist/services/state-management/local.state-provider.js.map +1 -1
  295. package/dist/services/state-management/remote.state-provider.d.ts +216 -0
  296. package/dist/services/state-management/remote.state-provider.js +645 -0
  297. package/dist/services/state-management/remote.state-provider.js.map +1 -0
  298. package/dist/services/state-management/state-management.service.d.ts +195 -17
  299. package/dist/services/state-management/state-management.service.js +259 -10
  300. package/dist/services/state-management/state-management.service.js.map +1 -1
  301. package/dist/services/state-management/state-provider.interface.d.ts +98 -3
  302. package/dist/services/state-management/state-provider.interface.js +14 -1
  303. package/dist/services/state-management/state-provider.interface.js.map +1 -1
  304. package/dist/services/state-management/terraform-state.service.d.ts +99 -0
  305. package/dist/services/state-management/terraform-state.service.js +197 -0
  306. package/dist/services/state-management/terraform-state.service.js.map +1 -0
  307. package/dist/services/state-management/test.state-provider.d.ts +42 -4
  308. package/dist/services/state-management/test.state-provider.js +77 -25
  309. package/dist/services/state-management/test.state-provider.js.map +1 -1
  310. package/dist/services/terraform/terraform.service.d.ts +480 -0
  311. package/dist/services/terraform/terraform.service.js +1082 -0
  312. package/dist/services/terraform/terraform.service.js.map +1 -0
  313. package/dist/services/terraform/terraform.type.d.ts +387 -0
  314. package/dist/services/terraform/terraform.type.js +579 -0
  315. package/dist/services/terraform/terraform.type.js.map +1 -0
  316. package/dist/services/transaction/transaction.service.d.ts +110 -10
  317. package/dist/services/transaction/transaction.service.js +570 -251
  318. package/dist/services/transaction/transaction.service.js.map +1 -1
  319. package/dist/services/validation/validation.service.d.ts +15 -3
  320. package/dist/services/validation/validation.service.js +12 -0
  321. package/dist/services/validation/validation.service.js.map +1 -1
  322. package/dist/utilities/array/array.utility.d.ts +3 -0
  323. package/dist/utilities/array/array.utility.js +3 -0
  324. package/dist/utilities/array/array.utility.js.map +1 -1
  325. package/dist/{functions → utilities}/diff/diff.utility.d.ts +19 -3
  326. package/dist/{functions → utilities}/diff/diff.utility.js +57 -41
  327. package/dist/utilities/diff/diff.utility.js.map +1 -0
  328. package/dist/utilities/file/file.utility.d.ts +16 -2
  329. package/dist/utilities/file/file.utility.js +23 -61
  330. package/dist/utilities/file/file.utility.js.map +1 -1
  331. package/dist/utilities/hcl/hcl.utility.d.ts +128 -0
  332. package/dist/utilities/hcl/hcl.utility.js +402 -0
  333. package/dist/utilities/hcl/hcl.utility.js.map +1 -0
  334. package/dist/utilities/http/http.utility.d.ts +57 -0
  335. package/dist/utilities/http/http.utility.js +98 -0
  336. package/dist/utilities/http/http.utility.js.map +1 -0
  337. package/dist/utilities/node/node.utility.d.ts +3 -0
  338. package/dist/utilities/node/node.utility.js +3 -0
  339. package/dist/utilities/node/node.utility.js.map +1 -1
  340. package/dist/utilities/object/object.utility.d.ts +12 -0
  341. package/dist/utilities/object/object.utility.js +12 -0
  342. package/dist/utilities/object/object.utility.js.map +1 -1
  343. package/dist/utilities/project/project.utility.d.ts +28 -0
  344. package/dist/utilities/project/project.utility.js +35 -0
  345. package/dist/utilities/project/project.utility.js.map +1 -0
  346. package/dist/utilities/string/string.utility.d.ts +41 -0
  347. package/dist/utilities/string/string.utility.js +65 -0
  348. package/dist/utilities/string/string.utility.js.map +1 -0
  349. package/dist/utilities/terraform/terraform.utility.d.ts +276 -0
  350. package/dist/utilities/terraform/terraform.utility.js +623 -0
  351. package/dist/utilities/terraform/terraform.utility.js.map +1 -0
  352. package/dist/utilities/test-helpers/test-classes.d.ts +36 -30
  353. package/dist/utilities/test-helpers/test-classes.js +38 -39
  354. package/dist/utilities/test-helpers/test-classes.js.map +1 -1
  355. package/dist/utilities/test-helpers/test-models.d.ts +8 -1
  356. package/dist/utilities/test-helpers/test-models.js +37 -12
  357. package/dist/utilities/test-helpers/test-models.js.map +1 -1
  358. package/dist/utilities/test-helpers/test-modes.d.ts +315 -0
  359. package/dist/utilities/test-helpers/test-modes.js +486 -0
  360. package/dist/utilities/test-helpers/test-modes.js.map +1 -0
  361. package/dist/utilities/test-helpers/test-modules.d.ts +47 -0
  362. package/dist/utilities/test-helpers/test-modules.js +85 -0
  363. package/dist/utilities/test-helpers/test-modules.js.map +1 -0
  364. package/dist/utilities/test-helpers/test-overlays.d.ts +20 -2
  365. package/dist/utilities/test-helpers/test-overlays.js +56 -6
  366. package/dist/utilities/test-helpers/test-overlays.js.map +1 -1
  367. package/dist/utilities/test-helpers/test-resources.d.ts +23 -3
  368. package/dist/utilities/test-helpers/test-resources.js +83 -23
  369. package/dist/utilities/test-helpers/test-resources.js.map +1 -1
  370. package/dist/utilities/validation/validation.utility.d.ts +24 -0
  371. package/dist/utilities/validation/validation.utility.js +24 -0
  372. package/dist/utilities/validation/validation.utility.js.map +1 -1
  373. package/package.json +12 -6
  374. package/dist/functions/diff/diff.utility.js.map +0 -1
  375. package/dist/services/capture/capture.service.d.ts +0 -19
  376. package/dist/services/capture/capture.service.js +0 -43
  377. package/dist/services/capture/capture.service.js.map +0 -1
  378. package/dist/services/state-management/local-encryption.state-provider.d.ts +0 -20
  379. package/dist/services/state-management/local-encryption.state-provider.js +0 -90
  380. package/dist/services/state-management/local-encryption.state-provider.js.map +0 -1
  381. package/dist/utilities/cidr/cidr.utility.d.ts +0 -10
  382. package/dist/utilities/cidr/cidr.utility.js +0 -51
  383. package/dist/utilities/cidr/cidr.utility.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { DiffAction } from './diff.js';
2
+ /**
3
+ * Collapses a resource's field-level diffs into one action per resource, keyed by resource context.
4
+ *
5
+ * Precedence: an add/delete of `resourceId` wins; a REPLACE beats an UPDATE; otherwise UPDATE.
6
+ * `reason` is taken from the winning diff.
7
+ *
8
+ * @internal
9
+ */
10
+ export function aggregateResourceActions(diffs) {
11
+ const aggregated = new Map();
12
+ for (const diff of diffs) {
13
+ const node = diff.node;
14
+ const context = node.getContext();
15
+ const reason = diff.diff.reason;
16
+ if (diff.action === DiffAction.DELETE && diff.field === 'resourceId') {
17
+ aggregated.set(context, { action: DiffAction.DELETE, reason, resourceId: node.resourceId });
18
+ }
19
+ else if (diff.action === DiffAction.ADD && diff.field === 'resourceId') {
20
+ aggregated.set(context, { action: DiffAction.ADD, reason, resourceId: node.resourceId });
21
+ }
22
+ else if (diff.action === DiffAction.REPLACE) {
23
+ const existing = aggregated.get(context);
24
+ if (!existing || existing.action === DiffAction.UPDATE) {
25
+ aggregated.set(context, { action: DiffAction.REPLACE, reason, resourceId: node.resourceId });
26
+ }
27
+ }
28
+ else if (!aggregated.has(context)) {
29
+ aggregated.set(context, { action: DiffAction.UPDATE, reason, resourceId: node.resourceId });
30
+ }
31
+ else {
32
+ // A later update may be the only one carrying a reason.
33
+ const existing = aggregated.get(context);
34
+ if (existing.action === DiffAction.UPDATE && existing.reason === undefined && reason !== undefined) {
35
+ existing.reason = reason;
36
+ }
37
+ }
38
+ }
39
+ return aggregated;
40
+ }
41
+ //# sourceMappingURL=aggregate-resource-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate-resource-actions.js","sourceRoot":"","sources":["../../../src/functions/diff/aggregate-resource-actions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAWvC;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAuB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACrE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACzE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,24 +1,42 @@
1
1
  import type { ActionInputs, ActionOutputs, IUnknownModelAction, IUnknownResourceAction, UnknownNode } from '../../app.type.js';
2
2
  import type { Diff, DiffAction } from './diff.js';
3
3
  /**
4
+ * A {@link Diff} paired with the actions that will apply it, and the order they run in.
5
+ *
6
+ * A transaction is a list of these, so this is the shape you read when inspecting what a run did -
7
+ * in an event payload, or in a test.
8
+ *
4
9
  * @group Functions/Diff
5
10
  */
6
11
  export declare class DiffMetadata {
12
+ readonly action: DiffAction;
7
13
  readonly actions: IUnknownModelAction[] | IUnknownResourceAction[];
8
14
  applied: boolean;
9
15
  applyOrder: number;
10
16
  readonly diff: Diff;
11
- readonly action: DiffAction;
12
17
  readonly field: string;
13
- readonly node: UnknownNode;
14
- readonly value: unknown;
15
18
  readonly inputs: ActionInputs;
19
+ readonly node: UnknownNode;
16
20
  readonly outputs: ActionOutputs;
21
+ readonly value: unknown;
22
+ /**
23
+ * @param diff The change this metadata is about.
24
+ * @param actions The actions that will apply it.
25
+ * @throws {@link NoMatchingActionFoundTransactionError} If no action was given.
26
+ */
17
27
  constructor(diff: Diff, actions: IUnknownModelAction[] | IUnknownResourceAction[]);
18
28
  /**
19
29
  * Overrides JSON.serialize() to output a more succinct model of diff-metadata.
30
+ *
31
+ * @internal
20
32
  */
21
33
  toJSON(): ReturnType<Diff['toJSON']>;
34
+ /**
35
+ * @internal
36
+ */
22
37
  updateInputs(inputs: ActionInputs): void;
38
+ /**
39
+ * @internal
40
+ */
23
41
  updateOutputs(outputs: ActionOutputs): void;
24
42
  }
@@ -1,8 +1,18 @@
1
1
  import { NoMatchingActionFoundTransactionError } from '../../errors/index.js';
2
2
  /**
3
+ * A {@link Diff} paired with the actions that will apply it, and the order they run in.
4
+ *
5
+ * A transaction is a list of these, so this is the shape you read when inspecting what a run did -
6
+ * in an event payload, or in a test.
7
+ *
3
8
  * @group Functions/Diff
4
9
  */
5
10
  export class DiffMetadata {
11
+ /**
12
+ * @param diff The change this metadata is about.
13
+ * @param actions The actions that will apply it.
14
+ * @throws {@link NoMatchingActionFoundTransactionError} If no action was given.
15
+ */
6
16
  constructor(diff, actions) {
7
17
  this.inputs = { inputs: {}, metadata: {}, models: {}, overlays: {}, resources: {} };
8
18
  this.outputs = {};
@@ -20,13 +30,21 @@ export class DiffMetadata {
20
30
  }
21
31
  /**
22
32
  * Overrides JSON.serialize() to output a more succinct model of diff-metadata.
33
+ *
34
+ * @internal
23
35
  */
24
36
  toJSON() {
25
37
  return this.diff.toJSON();
26
38
  }
39
+ /**
40
+ * @internal
41
+ */
27
42
  updateInputs(inputs) {
28
43
  Object.assign(this.inputs, inputs);
29
44
  }
45
+ /**
46
+ * @internal
47
+ */
30
48
  updateOutputs(outputs) {
31
49
  Object.assign(this.outputs, outputs);
32
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;GAEG;AACH,MAAM,OAAO,YAAY;IAcvB,YAAY,IAAU,EAAE,OAAyD;QAHxE,WAAM,GAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC7F,YAAO,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,qCAAqC,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,OAAsB;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"diff-metadata.js","sourceRoot":"","sources":["../../../src/functions/diff/diff-metadata.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAG9E;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IAcvB;;;;OAIG;IACH,YAAY,IAAU,EAAE,OAAyD;QAXxE,WAAM,GAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAG7F,YAAO,GAAkB,EAAE,CAAC;QASnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,qCAAqC,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAoB;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAsB;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -1,30 +1,91 @@
1
1
  import type { UnknownNode } from '../../app.type.js';
2
2
  /**
3
+ * What a {@link Diff} says happened to a node.
4
+ *
5
+ * `REPLACE` is distinct from `UPDATE`: it means the change cannot be applied in place, and the
6
+ * infrastructure must be destroyed and re-created.
7
+ *
3
8
  * @group Functions/Diff
4
9
  */
5
10
  export declare enum DiffAction {
11
+ /**
12
+ * The node is in the new graph and not in the last committed one, so it has to be created.
13
+ */
6
14
  ADD = "add",
15
+ /**
16
+ * The node is in the last committed graph and not in the new one, so it has to be destroyed.
17
+ */
7
18
  DELETE = "delete",
19
+ /**
20
+ * A field changed that cannot be changed in place, so the infrastructure is destroyed and created
21
+ * again. A resource declares this itself, with a reason, which is what a report shows a reviewer
22
+ * in place of leaving them to work a recreate out of a terraform plan.
23
+ */
8
24
  REPLACE = "replace",
25
+ /**
26
+ * A field changed and can be changed in place.
27
+ */
9
28
  UPDATE = "update",
29
+ /**
30
+ * Nothing changed, and the node still wants an action to run over it.
31
+ */
10
32
  VALIDATE = "validate"
11
33
  }
12
34
  /**
35
+ * A diff as it leaves the process: `node` is the context of the model, overlay or resource changed,
36
+ * and a `value` naming a node is its context, or `anchorId=<id>` for an anchor.
37
+ *
38
+ * @group Functions/Diff
39
+ */
40
+ export type DiffSerializedOutput = {
41
+ action: `${DiffAction}`;
42
+ field: string;
43
+ node: string;
44
+ reason?: string;
45
+ value: unknown;
46
+ };
47
+ /**
48
+ * One change to one field of one node.
49
+ *
50
+ * Diffs are the currency of Octo: comparing the graph you just described against the last committed
51
+ * one produces a list of them, and every action is selected and driven by the diffs it accepts.
52
+ *
13
53
  * @group Functions/Diff
14
54
  */
15
55
  export declare class Diff<N extends UnknownNode = UnknownNode, V = unknown> {
56
+ /**
57
+ * What happened.
58
+ */
16
59
  readonly action: DiffAction;
60
+ /**
61
+ * The field of the node that changed, e.g. `resourceId`, `properties`, or `parent`.
62
+ */
17
63
  readonly field: string;
64
+ /**
65
+ * The node that changed.
66
+ */
18
67
  readonly node: N;
68
+ /**
69
+ * Why the change is being made, when the field alone does not explain it.
70
+ * It is carried into reports, so write it for whoever reads the plan.
71
+ */
72
+ readonly reason?: string;
73
+ /**
74
+ * The new value of the field. Its shape depends on the field.
75
+ */
19
76
  readonly value: V;
20
- constructor(node: Diff<N, V>['node'], action: Diff['action'], field: Diff['field'], value: Diff<N, V>['value']);
77
+ /**
78
+ * @param node The node that changed.
79
+ * @param action What happened to it.
80
+ * @param field The field of the node that changed.
81
+ * @param value The new value of the field.
82
+ * @param reason Why the change is being made, carried into reports.
83
+ */
84
+ constructor(node: Diff<N, V>['node'], action: Diff['action'], field: Diff['field'], value: Diff<N, V>['value'], reason?: Diff['reason']);
21
85
  /**
22
86
  * Overrides JSON.serialize() to output a more succinct representation of diff.
87
+ *
88
+ * @internal
23
89
  */
24
- toJSON(): {
25
- action: string;
26
- field: string;
27
- node: string;
28
- value: V | string;
29
- };
90
+ toJSON(): DiffSerializedOutput;
30
91
  }
@@ -1,26 +1,63 @@
1
1
  /**
2
+ * What a {@link Diff} says happened to a node.
3
+ *
4
+ * `REPLACE` is distinct from `UPDATE`: it means the change cannot be applied in place, and the
5
+ * infrastructure must be destroyed and re-created.
6
+ *
2
7
  * @group Functions/Diff
3
8
  */
4
9
  export var DiffAction;
5
10
  (function (DiffAction) {
11
+ /**
12
+ * The node is in the new graph and not in the last committed one, so it has to be created.
13
+ */
6
14
  DiffAction["ADD"] = "add";
15
+ /**
16
+ * The node is in the last committed graph and not in the new one, so it has to be destroyed.
17
+ */
7
18
  DiffAction["DELETE"] = "delete";
19
+ /**
20
+ * A field changed that cannot be changed in place, so the infrastructure is destroyed and created
21
+ * again. A resource declares this itself, with a reason, which is what a report shows a reviewer
22
+ * in place of leaving them to work a recreate out of a terraform plan.
23
+ */
8
24
  DiffAction["REPLACE"] = "replace";
25
+ /**
26
+ * A field changed and can be changed in place.
27
+ */
9
28
  DiffAction["UPDATE"] = "update";
29
+ /**
30
+ * Nothing changed, and the node still wants an action to run over it.
31
+ */
10
32
  DiffAction["VALIDATE"] = "validate";
11
33
  })(DiffAction || (DiffAction = {}));
12
34
  /**
35
+ * One change to one field of one node.
36
+ *
37
+ * Diffs are the currency of Octo: comparing the graph you just described against the last committed
38
+ * one produces a list of them, and every action is selected and driven by the diffs it accepts.
39
+ *
13
40
  * @group Functions/Diff
14
41
  */
15
42
  export class Diff {
16
- constructor(node, action, field, value) {
43
+ /**
44
+ * @param node The node that changed.
45
+ * @param action What happened to it.
46
+ * @param field The field of the node that changed.
47
+ * @param value The new value of the field.
48
+ * @param reason Why the change is being made, carried into reports.
49
+ */
50
+ constructor(node, action, field, value, reason) {
17
51
  this.node = node;
18
52
  this.action = action;
19
53
  this.field = field;
20
54
  this.value = value;
55
+ this.reason = reason;
21
56
  }
22
57
  /**
23
58
  * Overrides JSON.serialize() to output a more succinct representation of diff.
59
+ *
60
+ * @internal
24
61
  */
25
62
  toJSON() {
26
63
  let value = this.value;
@@ -31,14 +68,18 @@ export class Diff {
31
68
  value = `anchorId=${value.anchorId}`;
32
69
  }
33
70
  else {
34
- value = JSON.parse(JSON.stringify(value));
71
+ value = value === undefined ? undefined : JSON.parse(JSON.stringify(value));
35
72
  }
36
- return {
73
+ const json = {
37
74
  action: this.action,
38
75
  field: this.field,
39
76
  node: this.node.getContext(),
40
77
  value,
41
78
  };
79
+ if (this.reason !== undefined) {
80
+ json.reason = this.reason;
81
+ }
82
+ return json;
42
83
  }
43
84
  }
44
85
  //# sourceMappingURL=diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACvB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED;;GAEG;AACH,MAAM,OAAO,IAAI;IASf,YAAY,IAAwB,EAAE,MAAsB,EAAE,KAAoB,EAAE,KAA0B;QAC5G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;QACnC,IAAK,KAAqB,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,GAAI,KAAqB,CAAC,UAAU,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAK,KAAuB,CAAC,QAAQ,EAAE,CAAC;YAC7C,KAAK,GAAG,YAAa,KAAuB,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5B,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/functions/diff/diff.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,UA2BX;AA3BD,WAAY,UAAU;IACpB;;OAEG;IACH,yBAAW,CAAA;IAEX;;OAEG;IACH,+BAAiB,CAAA;IAEjB;;;;OAIG;IACH,iCAAmB,CAAA;IAEnB;;OAEG;IACH,+BAAiB,CAAA;IAEjB;;OAEG;IACH,mCAAqB,CAAA;AACvB,CAAC,EA3BW,UAAU,KAAV,UAAU,QA2BrB;AAgBD;;;;;;;GAOG;AACH,MAAM,OAAO,IAAI;IA2Bf;;;;;;OAMG;IACH,YACE,IAAwB,EACxB,MAAsB,EACtB,KAAoB,EACpB,KAA0B,EAC1B,MAAuB;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC;QAChC,IAAK,KAAqB,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,GAAI,KAAqB,CAAC,UAAU,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAK,KAAuB,CAAC,QAAQ,EAAE,CAAC;YAC7C,KAAK,GAAG,YAAa,KAAuB,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,IAAI,GAAyB;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5B,KAAK;SACN,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -13,13 +13,28 @@ export declare class CommitHook implements IHook<PreHookSignature, PostHookSigna
13
13
  private static instance;
14
14
  private readonly postCommitHooks;
15
15
  private readonly preCommitHooks;
16
+ /**
17
+ * @internal
18
+ */
16
19
  private constructor();
20
+ /**
21
+ * @internal
22
+ */
23
+ static getInstance(): CommitHook;
24
+ /**
25
+ * @internal
26
+ */
17
27
  collectHooks(hooks: {
18
28
  postHooks?: PostHookSignature[];
19
29
  preHooks?: PreHookSignature[];
20
30
  }): void;
21
- static getInstance(): CommitHook;
31
+ /**
32
+ * @internal
33
+ */
22
34
  registrar(descriptor: PropertyDescriptor): void;
35
+ /**
36
+ * @internal
37
+ */
23
38
  reset(): void;
24
39
  }
25
40
  export {};
@@ -5,10 +5,25 @@ import { Container } from '../container/container.js';
5
5
  * @internal
6
6
  */
7
7
  export class CommitHook {
8
+ /**
9
+ * @internal
10
+ */
8
11
  constructor() {
9
12
  this.postCommitHooks = [];
10
13
  this.preCommitHooks = [];
11
14
  }
15
+ /**
16
+ * @internal
17
+ */
18
+ static getInstance() {
19
+ if (!this.instance) {
20
+ this.instance = new CommitHook();
21
+ }
22
+ return this.instance;
23
+ }
24
+ /**
25
+ * @internal
26
+ */
12
27
  collectHooks(hooks) {
13
28
  for (const { handle } of hooks.postHooks || []) {
14
29
  this.postCommitHooks.push({ handle });
@@ -17,12 +32,9 @@ export class CommitHook {
17
32
  this.preCommitHooks.push({ handle });
18
33
  }
19
34
  }
20
- static getInstance() {
21
- if (!this.instance) {
22
- this.instance = new CommitHook();
23
- }
24
- return this.instance;
25
- }
35
+ /**
36
+ * @internal
37
+ */
26
38
  registrar(descriptor) {
27
39
  // `self` here references this class, vs `this` references the original method.
28
40
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -42,6 +54,9 @@ export class CommitHook {
42
54
  }
43
55
  };
44
56
  }
57
+ /**
58
+ * @internal
59
+ */
45
60
  reset() {
46
61
  this.postCommitHooks.splice(0, this.postCommitHooks.length);
47
62
  this.preCommitHooks.splice(0, this.preCommitHooks.length);
@@ -1 +1 @@
1
- {"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAExG,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD;;GAEG;AACH,MAAM,OAAO,UAAU;IAMrB;QAHiB,oBAAe,GAAwB,EAAE,CAAC;QAC1C,mBAAc,GAAuB,EAAE,CAAC;IAElC,CAAC;IAExB,YAAY,CAAC,KAAyE;QACpF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,UAA8B;QACtC,+EAA+E;QAC/E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAA2C;YAC/E,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEvD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"commit.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/commit.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAExG,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD;;GAEG;AACH,MAAM,OAAO,UAAU;IAMrB;;OAEG;IACH;QANiB,oBAAe,GAAwB,EAAE,CAAC;QAC1C,mBAAc,GAAuB,EAAE,CAAC;IAKlC,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAyE;QACpF,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,UAA8B;QACtC,+EAA+E;QAC/E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAA2C;YAC/E,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEvD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -15,13 +15,28 @@ export declare class ModelActionHook implements IHook<PreHookSignature, PostHook
15
15
  private static instance;
16
16
  private readonly postModelActionHooks;
17
17
  private readonly preModelActionHooks;
18
+ /**
19
+ * @internal
20
+ */
18
21
  private constructor();
22
+ /**
23
+ * @internal
24
+ */
25
+ static getInstance(): ModelActionHook;
26
+ /**
27
+ * @internal
28
+ */
19
29
  collectHooks(hooks: {
20
30
  postHooks?: PostHookSignature[];
21
31
  preHooks?: PreHookSignature[];
22
32
  }): void;
23
- static getInstance(): ModelActionHook;
33
+ /**
34
+ * @internal
35
+ */
24
36
  registrar(modelAction: IUnknownModelAction): void;
37
+ /**
38
+ * @internal
39
+ */
25
40
  reset(): void;
26
41
  }
27
42
  export {};
@@ -5,10 +5,25 @@ import { Container } from '../container/container.js';
5
5
  * @internal
6
6
  */
7
7
  export class ModelActionHook {
8
+ /**
9
+ * @internal
10
+ */
8
11
  constructor() {
9
12
  this.postModelActionHooks = {};
10
13
  this.preModelActionHooks = {};
11
14
  }
15
+ /**
16
+ * @internal
17
+ */
18
+ static getInstance() {
19
+ if (!this.instance) {
20
+ this.instance = new ModelActionHook();
21
+ }
22
+ return this.instance;
23
+ }
24
+ /**
25
+ * @internal
26
+ */
12
27
  collectHooks(hooks) {
13
28
  for (const { action, handle } of hooks.postHooks || []) {
14
29
  if (!this.postModelActionHooks[action.constructor.name]) {
@@ -23,12 +38,9 @@ export class ModelActionHook {
23
38
  this.preModelActionHooks[action.constructor.name].push({ handle });
24
39
  }
25
40
  }
26
- static getInstance() {
27
- if (!this.instance) {
28
- this.instance = new ModelActionHook();
29
- }
30
- return this.instance;
31
- }
41
+ /**
42
+ * @internal
43
+ */
32
44
  registrar(modelAction) {
33
45
  // `self` here references this class, vs `this` references the original method.
34
46
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -50,6 +62,9 @@ export class ModelActionHook {
50
62
  return output;
51
63
  };
52
64
  }
65
+ /**
66
+ * @internal
67
+ */
53
68
  reset() {
54
69
  for (const name in this.postModelActionHooks) {
55
70
  delete this.postModelActionHooks[name];
@@ -1 +1 @@
1
- {"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/model-action.hook.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,28 @@ export declare class ResourceActionHook implements IHook<PreHookSignature, PostH
15
15
  private static instance;
16
16
  private readonly postResourceActionHooks;
17
17
  private readonly preResourceActionHooks;
18
+ /**
19
+ * @internal
20
+ */
18
21
  private constructor();
22
+ /**
23
+ * @internal
24
+ */
25
+ static getInstance(): ResourceActionHook;
26
+ /**
27
+ * @internal
28
+ */
19
29
  collectHooks(hooks: {
20
30
  postHooks?: PostHookSignature[];
21
31
  preHooks?: PreHookSignature[];
22
32
  }): void;
23
- static getInstance(): ResourceActionHook;
33
+ /**
34
+ * @internal
35
+ */
24
36
  registrar(resourceAction: IUnknownResourceAction): void;
37
+ /**
38
+ * @internal
39
+ */
25
40
  reset(): void;
26
41
  }
27
42
  export {};
@@ -5,10 +5,25 @@ import { Container } from '../container/container.js';
5
5
  * @internal
6
6
  */
7
7
  export class ResourceActionHook {
8
+ /**
9
+ * @internal
10
+ */
8
11
  constructor() {
9
12
  this.postResourceActionHooks = {};
10
13
  this.preResourceActionHooks = {};
11
14
  }
15
+ /**
16
+ * @internal
17
+ */
18
+ static getInstance() {
19
+ if (!this.instance) {
20
+ this.instance = new ResourceActionHook();
21
+ }
22
+ return this.instance;
23
+ }
24
+ /**
25
+ * @internal
26
+ */
12
27
  collectHooks(hooks) {
13
28
  for (const { action, handle } of hooks.postHooks || []) {
14
29
  if (!this.postResourceActionHooks[action.constructor.name]) {
@@ -23,12 +38,9 @@ export class ResourceActionHook {
23
38
  this.preResourceActionHooks[action.constructor.name].push({ handle });
24
39
  }
25
40
  }
26
- static getInstance() {
27
- if (!this.instance) {
28
- this.instance = new ResourceActionHook();
29
- }
30
- return this.instance;
31
- }
41
+ /**
42
+ * @internal
43
+ */
32
44
  registrar(resourceAction) {
33
45
  // `self` here references this class, vs `this` references the original method.
34
46
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -49,6 +61,9 @@ export class ResourceActionHook {
49
61
  return response;
50
62
  };
51
63
  }
64
+ /**
65
+ * @internal
66
+ */
52
67
  reset() {
53
68
  for (const name in this.postResourceActionHooks) {
54
69
  delete this.postResourceActionHooks[name];
@@ -1 +1 @@
1
- {"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-action.hook.js","sourceRoot":"","sources":["../../../src/functions/hook/resource-action.hook.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,31 @@
1
1
  import { Container } from '../container/container.js';
2
+ import type { Diff } from '../diff/diff.js';
2
3
  /**
4
+ * The base class of every resource action: an action implementing {@link IResourceAction} must extend
5
+ * it. It gives the action the {@link Container}, and a `log()` that goes through Octo's event stream so
6
+ * its output lands in the command's report alongside everything else.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * @Action(MyResource)
11
+ * export class AddMyResourceAction extends ANodeAction implements IResourceAction<MyResource> { ... }
12
+ * ```
13
+ *
3
14
  * @group Functions/Node
4
15
  */
5
16
  export declare abstract class ANodeAction {
17
+ /**
18
+ * The container, for resolving whatever services or SDK clients the action needs.
19
+ */
6
20
  readonly container: Container;
7
- private readonly eventService;
21
+ /**
22
+ * @internal
23
+ */
8
24
  protected constructor();
9
- log(message: string, metadata?: Record<string, unknown>): void;
25
+ /**
26
+ * To report what the action is doing for `diff`, the diff its `handle()` was given. The message is
27
+ * emitted as an {@link ActionEvent}, so it is picked up by whatever listeners the command has,
28
+ * rather than written straight to the console.
29
+ */
30
+ log(diff: Diff, message: string, metadata?: Record<string, unknown>): void;
10
31
  }