@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,43 @@
1
+ import { Event } from './event.model.js';
2
+ /**
3
+ * The superclass of the events marking one command a driver runs, such as one `octo` CLI command.
4
+ * A command may run several modes, or none.
5
+ *
6
+ * @group Events/Command
7
+ */
8
+ export declare abstract class CommandEvent<T extends {
9
+ command: string;
10
+ } = {
11
+ command: string;
12
+ }> extends Event<T> {
13
+ }
14
+ /**
15
+ * This event is emitted when a command begins.
16
+ *
17
+ * @group Events/Command
18
+ */
19
+ export declare class CommandStartedEvent extends CommandEvent {
20
+ }
21
+ /**
22
+ * This event is emitted when a command completes successfully. A listener that returns a promise is
23
+ * awaited, so it can finish writing before the process exits.
24
+ *
25
+ * @group Events/Command
26
+ */
27
+ export declare class CommandFinishedEvent extends CommandEvent<{
28
+ command: string;
29
+ durationInMs: number;
30
+ }> {
31
+ }
32
+ /**
33
+ * This event is emitted when a command fails. A listener that returns a promise is awaited, so it
34
+ * can finish writing before the process exits.
35
+ *
36
+ * @group Events/Command
37
+ */
38
+ export declare class CommandFailedEvent extends CommandEvent<{
39
+ command: string;
40
+ durationInMs: number;
41
+ error: Error;
42
+ }> {
43
+ }
@@ -0,0 +1,33 @@
1
+ import { Event } from './event.model.js';
2
+ /**
3
+ * The superclass of the events marking one command a driver runs, such as one `octo` CLI command.
4
+ * A command may run several modes, or none.
5
+ *
6
+ * @group Events/Command
7
+ */
8
+ export class CommandEvent extends Event {
9
+ }
10
+ /**
11
+ * This event is emitted when a command begins.
12
+ *
13
+ * @group Events/Command
14
+ */
15
+ export class CommandStartedEvent extends CommandEvent {
16
+ }
17
+ /**
18
+ * This event is emitted when a command completes successfully. A listener that returns a promise is
19
+ * awaited, so it can finish writing before the process exits.
20
+ *
21
+ * @group Events/Command
22
+ */
23
+ export class CommandFinishedEvent extends CommandEvent {
24
+ }
25
+ /**
26
+ * This event is emitted when a command fails. A listener that returns a promise is awaited, so it
27
+ * can finish writing before the process exits.
28
+ *
29
+ * @group Events/Command
30
+ */
31
+ export class CommandFailedEvent extends CommandEvent {
32
+ }
33
+ //# sourceMappingURL=command.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.event.js","sourceRoot":"","sources":["../../src/events/command.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAgB,YAAkE,SAAQ,KAAQ;CAAG;AAE3G;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AAExD;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAuD;CAAG;AAEpG;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAqE;CAAG"}
@@ -1,33 +1,51 @@
1
1
  import type { EventService } from '../services/event/event.service.js';
2
2
  /**
3
- * The Event class is the superclass for all events.
4
- * An event is generated when something important happens in Octo.
5
- * The body of the event contains a header, name (optional), and payload (optional).
3
+ * The superclass of every event Octo emits.
4
+ *
5
+ * Octo narrates its whole run as events - what registered, what changed, what terraform did, what
6
+ * each mode concluded. Subscribe with {@link OnEvent} to build logging, reporting, or notifications
7
+ * on top of a run without touching the framework. Emit your own by extending it.
6
8
  *
7
9
  * @example
8
10
  * ```ts
9
- * const myEvent = new Event<{ value: string }>('event name', { value: 'my payload' });
10
- * EventService.getInstance().emit(myEvent);
11
+ * class DeployApprovedEvent extends Event<{ reviewer: string }> {}
12
+ * EventService.getInstance().emit(new DeployApprovedEvent('deploy approved', { reviewer: 'ops-lead' }));
11
13
  * ```
12
14
  *
13
15
  * @group Events
14
- *
15
- * @returns The Event instance.
16
16
  */
17
- export declare class Event<T = undefined> {
17
+ export declare abstract class Event<T = undefined> {
18
+ /**
19
+ * When the event was created. `sequence` counts every event this process created, so it orders
20
+ * two events created in the same millisecond, and events a late listener receives replayed.
21
+ */
18
22
  readonly header: {
23
+ sequence: number;
19
24
  timestamp: number;
20
25
  };
26
+ /**
27
+ * The subject of the event, when the event type alone does not identify it - e.g. the class name
28
+ * on a registration event. Empty otherwise.
29
+ */
21
30
  readonly name: string;
31
+ /**
32
+ * The event's data. Its shape is fixed by the event type.
33
+ */
22
34
  readonly payload: T;
35
+ /**
36
+ * @param name The subject of the event, when the event type alone does not identify it.
37
+ * @param payload The event's data.
38
+ */
23
39
  constructor(name?: string, payload?: T);
24
40
  /**
25
41
  * The `registrar()` method is explicitly called by the {@link EventSource} decorator for a method
26
42
  * to enhance that method to auto-emit events.
27
43
  *
44
+ * @internal
28
45
  * @param args Arguments are spread out using the array spread operator.
29
46
  * - args[0] - Instance of {@link EventService}.
30
47
  * - args[1] - [PropertyDescriptor](https://www.typescriptlang.org/docs/handbook/decorators.html).
48
+ *
31
49
  */
32
50
  static registrar(...args: [EventService, PropertyDescriptor]): void;
33
51
  }
@@ -1,21 +1,27 @@
1
+ let nextSequence = 0;
1
2
  /**
2
- * The Event class is the superclass for all events.
3
- * An event is generated when something important happens in Octo.
4
- * The body of the event contains a header, name (optional), and payload (optional).
3
+ * The superclass of every event Octo emits.
4
+ *
5
+ * Octo narrates its whole run as events - what registered, what changed, what terraform did, what
6
+ * each mode concluded. Subscribe with {@link OnEvent} to build logging, reporting, or notifications
7
+ * on top of a run without touching the framework. Emit your own by extending it.
5
8
  *
6
9
  * @example
7
10
  * ```ts
8
- * const myEvent = new Event<{ value: string }>('event name', { value: 'my payload' });
9
- * EventService.getInstance().emit(myEvent);
11
+ * class DeployApprovedEvent extends Event<{ reviewer: string }> {}
12
+ * EventService.getInstance().emit(new DeployApprovedEvent('deploy approved', { reviewer: 'ops-lead' }));
10
13
  * ```
11
14
  *
12
15
  * @group Events
13
- *
14
- * @returns The Event instance.
15
16
  */
16
17
  export class Event {
18
+ /**
19
+ * @param name The subject of the event, when the event type alone does not identify it.
20
+ * @param payload The event's data.
21
+ */
17
22
  constructor(name, payload) {
18
23
  this.header = {
24
+ sequence: nextSequence++,
19
25
  timestamp: Date.now(),
20
26
  };
21
27
  this.name = name || '';
@@ -25,9 +31,11 @@ export class Event {
25
31
  * The `registrar()` method is explicitly called by the {@link EventSource} decorator for a method
26
32
  * to enhance that method to auto-emit events.
27
33
  *
34
+ * @internal
28
35
  * @param args Arguments are spread out using the array spread operator.
29
36
  * - args[0] - Instance of {@link EventService}.
30
37
  * - args[1] - [PropertyDescriptor](https://www.typescriptlang.org/docs/handbook/decorators.html).
38
+ *
31
39
  */
32
40
  static registrar(...args) {
33
41
  if (args.length !== 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"event.model.js","sourceRoot":"","sources":["../../src/events/event.model.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,KAAK;IAShB,YAAY,IAAa,EAAE,OAAW;QACpC,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAY,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,IAAwC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"event.model.js","sourceRoot":"","sources":["../../src/events/event.model.ts"],"names":[],"mappings":"AAEA,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,KAAK;IAqBzB;;;OAGG;IACH,YAAY,IAAa,EAAE,OAAW;QACpC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,YAAY,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAY,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,IAAwC;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;CACF"}
@@ -3,17 +3,13 @@ import { HookEvent } from './hook.event.js';
3
3
  * The CommitHookEvent class is the superclass for all events emitting in relation to commit hooks.
4
4
  *
5
5
  * @group Events/Hooks/Commit
6
- *
7
- * @returns The Event instance.
8
6
  */
9
- export declare class CommitHookEvent extends HookEvent {
7
+ export declare abstract class CommitHookEvent extends HookEvent {
10
8
  }
11
9
  /**
12
10
  * This hook event is emitted when a post-commit hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Commit
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export declare class PostCommitHookCallbackDoneEvent extends CommitHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export declare class PostCommitHookCallbackDoneEvent extends CommitHookEvent {
21
17
  * This hook event is emitted when a pre-commit hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Commit
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export declare class PreCommitHookCallbackDoneEvent extends CommitHookEvent {
28
22
  }
@@ -3,8 +3,6 @@ import { HookEvent } from './hook.event.js';
3
3
  * The CommitHookEvent class is the superclass for all events emitting in relation to commit hooks.
4
4
  *
5
5
  * @group Events/Hooks/Commit
6
- *
7
- * @returns The Event instance.
8
6
  */
9
7
  export class CommitHookEvent extends HookEvent {
10
8
  }
@@ -12,8 +10,6 @@ export class CommitHookEvent extends HookEvent {
12
10
  * This hook event is emitted when a post-commit hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Commit
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export class PostCommitHookCallbackDoneEvent extends CommitHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export class PostCommitHookCallbackDoneEvent extends CommitHookEvent {
21
17
  * This hook event is emitted when a pre-commit hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Commit
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export class PreCommitHookCallbackDoneEvent extends CommitHookEvent {
28
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commit.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/commit.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;CAAG;AAEjD;;;;;;GAMG;AACH,MAAM,OAAO,+BAAgC,SAAQ,eAAe;CAAG;AAEvE;;;;;;GAMG;AACH,MAAM,OAAO,8BAA+B,SAAQ,eAAe;CAAG"}
1
+ {"version":3,"file":"commit.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/commit.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAgB,eAAgB,SAAQ,SAAS;CAAG;AAE1D;;;;GAIG;AACH,MAAM,OAAO,+BAAgC,SAAQ,eAAe;CAAG;AAEvE;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,eAAe;CAAG"}
@@ -3,8 +3,6 @@ import { Event } from '../event.model.js';
3
3
  * The HookEvent class is the superclass for all events emitting in relation to hooks.
4
4
  *
5
5
  * @group Events/Hooks
6
- *
7
- * @returns The Event instance.
8
6
  */
9
- export declare class HookEvent extends Event<void> {
7
+ export declare abstract class HookEvent extends Event<undefined> {
10
8
  }
@@ -3,8 +3,6 @@ import { Event } from '../event.model.js';
3
3
  * The HookEvent class is the superclass for all events emitting in relation to hooks.
4
4
  *
5
5
  * @group Events/Hooks
6
- *
7
- * @returns The Event instance.
8
6
  */
9
7
  export class HookEvent extends Event {
10
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAW;CAAG"}
1
+ {"version":3,"file":"hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,OAAgB,SAAU,SAAQ,KAAgB;CAAG"}
@@ -3,17 +3,13 @@ import { HookEvent } from './hook.event.js';
3
3
  * The ModelActionHookEvent class is the superclass for all events emitting in relation to model action hooks.
4
4
  *
5
5
  * @group Events/Hooks/Model
6
- *
7
- * @returns The Event instance.
8
6
  */
9
- export declare class ModelActionHookEvent extends HookEvent {
7
+ export declare abstract class ModelActionHookEvent extends HookEvent {
10
8
  }
11
9
  /**
12
10
  * This hook event is emitted when a post-model action hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Model
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export declare class PostModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export declare class PostModelActionHookCallbackDoneEvent extends ModelActionHoo
21
17
  * This hook event is emitted when a pre-model action hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Model
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export declare class PreModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
28
22
  }
@@ -3,8 +3,6 @@ import { HookEvent } from './hook.event.js';
3
3
  * The ModelActionHookEvent class is the superclass for all events emitting in relation to model action hooks.
4
4
  *
5
5
  * @group Events/Hooks/Model
6
- *
7
- * @returns The Event instance.
8
6
  */
9
7
  export class ModelActionHookEvent extends HookEvent {
10
8
  }
@@ -12,8 +10,6 @@ export class ModelActionHookEvent extends HookEvent {
12
10
  * This hook event is emitted when a post-model action hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Model
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export class PostModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export class PostModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
21
17
  * This hook event is emitted when a pre-model action hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Model
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export class PreModelActionHookCallbackDoneEvent extends ModelActionHookEvent {
28
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/model.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;CAAG;AAEtD;;;;;;GAMG;AACH,MAAM,OAAO,oCAAqC,SAAQ,oBAAoB;CAAG;AAEjF;;;;;;GAMG;AACH,MAAM,OAAO,mCAAoC,SAAQ,oBAAoB;CAAG"}
1
+ {"version":3,"file":"model.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/model.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAgB,oBAAqB,SAAQ,SAAS;CAAG;AAE/D;;;;GAIG;AACH,MAAM,OAAO,oCAAqC,SAAQ,oBAAoB;CAAG;AAEjF;;;;GAIG;AACH,MAAM,OAAO,mCAAoC,SAAQ,oBAAoB;CAAG"}
@@ -3,17 +3,13 @@ import { HookEvent } from './hook.event.js';
3
3
  * The ResourceActionHookEvent class is the superclass for all events emitting in relation to resource action hooks.
4
4
  *
5
5
  * @group Events/Hooks/Resource
6
- *
7
- * @returns The Event instance.
8
6
  */
9
- export declare class ResourceActionHookEvent extends HookEvent {
7
+ export declare abstract class ResourceActionHookEvent extends HookEvent {
10
8
  }
11
9
  /**
12
10
  * This hook event is emitted when a post-resource action hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Resource
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export declare class PostResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export declare class PostResourceActionHookCallbackDoneEvent extends ResourceAct
21
17
  * This hook event is emitted when a pre-resource action hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Resource
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export declare class PreResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
28
22
  }
@@ -3,8 +3,6 @@ import { HookEvent } from './hook.event.js';
3
3
  * The ResourceActionHookEvent class is the superclass for all events emitting in relation to resource action hooks.
4
4
  *
5
5
  * @group Events/Hooks/Resource
6
- *
7
- * @returns The Event instance.
8
6
  */
9
7
  export class ResourceActionHookEvent extends HookEvent {
10
8
  }
@@ -12,8 +10,6 @@ export class ResourceActionHookEvent extends HookEvent {
12
10
  * This hook event is emitted when a post-resource action hook callback is done executing.
13
11
  *
14
12
  * @group Events/Hooks/Resource
15
- *
16
- * @returns The Event instance.
17
13
  */
18
14
  export class PostResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
19
15
  }
@@ -21,8 +17,6 @@ export class PostResourceActionHookCallbackDoneEvent extends ResourceActionHookE
21
17
  * This hook event is emitted when a pre-resource action hook callback is done executing.
22
18
  *
23
19
  * @group Events/Hooks/Resource
24
- *
25
- * @returns The Event instance.
26
20
  */
27
21
  export class PreResourceActionHookCallbackDoneEvent extends ResourceActionHookEvent {
28
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/resource.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,OAAO,uBAAwB,SAAQ,SAAS;CAAG;AAEzD;;;;;;GAMG;AACH,MAAM,OAAO,uCAAwC,SAAQ,uBAAuB;CAAG;AAEvF;;;;;;GAMG;AACH,MAAM,OAAO,sCAAuC,SAAQ,uBAAuB;CAAG"}
1
+ {"version":3,"file":"resource.hook.event.js","sourceRoot":"","sources":["../../../src/events/hook/resource.hook.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAgB,uBAAwB,SAAQ,SAAS;CAAG;AAElE;;;;GAIG;AACH,MAAM,OAAO,uCAAwC,SAAQ,uBAAuB;CAAG;AAEvF;;;;GAIG;AACH,MAAM,OAAO,sCAAuC,SAAQ,uBAAuB;CAAG"}
@@ -1,7 +1,12 @@
1
1
  export * from './action.event.js';
2
+ export * from './command.event.js';
2
3
  export * from './event.model.js';
3
4
  export * from './hook/index.js';
5
+ export * from './mode.event.js';
6
+ export * from './mode-result.event.js';
4
7
  export * from './module.event.js';
5
8
  export * from './registration.event.js';
6
9
  export * from './serialization.event.js';
10
+ export * from './state.event.js';
11
+ export * from './terraform.event.js';
7
12
  export * from './transaction.event.js';
@@ -1,8 +1,13 @@
1
1
  export * from './action.event.js';
2
+ export * from './command.event.js';
2
3
  export * from './event.model.js';
3
4
  export * from './hook/index.js';
5
+ export * from './mode.event.js';
6
+ export * from './mode-result.event.js';
4
7
  export * from './module.event.js';
5
8
  export * from './registration.event.js';
6
9
  export * from './serialization.event.js';
10
+ export * from './state.event.js';
11
+ export * from './terraform.event.js';
7
12
  export * from './transaction.event.js';
8
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { AggregatedResourceAction } from '../functions/diff/aggregate-resource-actions.js';
2
+ import type { ValidateReport } from '../modes/validate.mode.js';
3
+ import { Event } from './event.model.js';
4
+ /**
5
+ * The ModeResultEvent class is the superclass for all events carrying what a mode concluded.
6
+ *
7
+ * @group Events/ModeResult
8
+ */
9
+ export declare abstract class ModeResultEvent<T> extends Event<T> {
10
+ }
11
+ /**
12
+ * This event is emitted when `validate` has correlated terraform's plans with octo's intent.
13
+ * The payload is the {@link ValidateReport} that `validate` returns to its caller.
14
+ *
15
+ * @group Events/ModeResult
16
+ */
17
+ export declare class ValidateModeCompletedEvent extends ModeResultEvent<{
18
+ report: ValidateReport;
19
+ }> {
20
+ }
21
+ /**
22
+ * This event is emitted when `commit` has recorded a terraform apply back into octo state.
23
+ *
24
+ * @group Events/ModeResult
25
+ */
26
+ export declare class CommitModeCompletedEvent extends ModeResultEvent<{
27
+ /**
28
+ * Modules whose folders were written without resources, because they left intent.
29
+ */
30
+ emptiedModuleIds: string[];
31
+ /**
32
+ * Each octo resource this commit applied, with the terraform addresses it renders.
33
+ * Carries no terraform actions - `commit` runs after the apply, so it has no plan to read.
34
+ */
35
+ resources: {
36
+ action: AggregatedResourceAction['action'];
37
+ moduleId?: string;
38
+ reason?: string;
39
+ resourceContext: string;
40
+ resourceId: string;
41
+ terraformAddresses: string[];
42
+ }[];
43
+ /**
44
+ * Every response key written onto a resource from a terraform output, with the value it replaced.
45
+ */
46
+ responses: {
47
+ key: string;
48
+ previousValue?: string;
49
+ resourceContext: string;
50
+ value: string;
51
+ }[];
52
+ warnings: {
53
+ message: string;
54
+ moduleId?: string;
55
+ }[];
56
+ }> {
57
+ }
@@ -0,0 +1,24 @@
1
+ import { Event } from './event.model.js';
2
+ /**
3
+ * The ModeResultEvent class is the superclass for all events carrying what a mode concluded.
4
+ *
5
+ * @group Events/ModeResult
6
+ */
7
+ export class ModeResultEvent extends Event {
8
+ }
9
+ /**
10
+ * This event is emitted when `validate` has correlated terraform's plans with octo's intent.
11
+ * The payload is the {@link ValidateReport} that `validate` returns to its caller.
12
+ *
13
+ * @group Events/ModeResult
14
+ */
15
+ export class ValidateModeCompletedEvent extends ModeResultEvent {
16
+ }
17
+ /**
18
+ * This event is emitted when `commit` has recorded a terraform apply back into octo state.
19
+ *
20
+ * @group Events/ModeResult
21
+ */
22
+ export class CommitModeCompletedEvent extends ModeResultEvent {
23
+ }
24
+ //# sourceMappingURL=mode-result.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-result.event.js","sourceRoot":"","sources":["../../src/events/mode-result.event.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;;;GAIG;AACH,MAAM,OAAgB,eAAmB,SAAQ,KAAQ;CAAG;AAE5D;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,eAA2C;CAAG;AAE9F;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,eAyB5C;CAAG"}
@@ -0,0 +1,61 @@
1
+ import { Event } from './event.model.js';
2
+ /**
3
+ * The steps of the octo lifecycle.
4
+ *
5
+ * @group Events/Mode
6
+ */
7
+ export type OctoMode = 'commit' | 'generate' | 'run-action' | 'validate';
8
+ /**
9
+ * What every {@link ModeEvent} carries.
10
+ *
11
+ * @group Events/Mode
12
+ */
13
+ export interface ModeEventPayload {
14
+ /**
15
+ * The name of the app the mode runs on.
16
+ */
17
+ appName: string;
18
+ /**
19
+ * The mode this event is about.
20
+ */
21
+ mode: OctoMode;
22
+ /**
23
+ * The resource a `run-action` runs the action of. Absent in every other mode.
24
+ */
25
+ resourceId?: string;
26
+ }
27
+ /**
28
+ * The ModeEvent class is the superclass for all events marking the boundaries of an octo lifecycle mode.
29
+ *
30
+ * @group Events/Mode
31
+ */
32
+ export declare abstract class ModeEvent<T extends ModeEventPayload = ModeEventPayload> extends Event<T> {
33
+ }
34
+ /**
35
+ * This event is emitted when a mode begins, before any work is done.
36
+ *
37
+ * @group Events/Mode
38
+ */
39
+ export declare class ModeStartedEvent extends ModeEvent {
40
+ }
41
+ /**
42
+ * This event is emitted when a mode completes successfully.
43
+ * A listener that returns a promise is awaited, so it can finish writing before the process exits.
44
+ *
45
+ * @group Events/Mode
46
+ */
47
+ export declare class ModeFinishedEvent extends ModeEvent<ModeEventPayload & {
48
+ durationInMs: number;
49
+ }> {
50
+ }
51
+ /**
52
+ * This event is emitted when a mode throws. The error is also re-thrown to the caller.
53
+ * A listener that returns a promise is awaited, so it can finish writing before the process exits.
54
+ *
55
+ * @group Events/Mode
56
+ */
57
+ export declare class ModeFailedEvent extends ModeEvent<ModeEventPayload & {
58
+ durationInMs: number;
59
+ error: Error;
60
+ }> {
61
+ }
@@ -0,0 +1,32 @@
1
+ import { Event } from './event.model.js';
2
+ /**
3
+ * The ModeEvent class is the superclass for all events marking the boundaries of an octo lifecycle mode.
4
+ *
5
+ * @group Events/Mode
6
+ */
7
+ export class ModeEvent extends Event {
8
+ }
9
+ /**
10
+ * This event is emitted when a mode begins, before any work is done.
11
+ *
12
+ * @group Events/Mode
13
+ */
14
+ export class ModeStartedEvent extends ModeEvent {
15
+ }
16
+ /**
17
+ * This event is emitted when a mode completes successfully.
18
+ * A listener that returns a promise is awaited, so it can finish writing before the process exits.
19
+ *
20
+ * @group Events/Mode
21
+ */
22
+ export class ModeFinishedEvent extends ModeEvent {
23
+ }
24
+ /**
25
+ * This event is emitted when a mode throws. The error is also re-thrown to the caller.
26
+ * A listener that returns a promise is awaited, so it can finish writing before the process exits.
27
+ *
28
+ * @group Events/Mode
29
+ */
30
+ export class ModeFailedEvent extends ModeEvent {
31
+ }
32
+ //# sourceMappingURL=mode.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode.event.js","sourceRoot":"","sources":["../../src/events/mode.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AA+BzC;;;;GAIG;AACH,MAAM,OAAgB,SAAyD,SAAQ,KAAQ;CAAG;AAElG;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;CAAG;AAElD;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAsD;CAAG;AAEhG;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAoE;CAAG"}
@@ -1,11 +1,13 @@
1
1
  import { Event } from './event.model.js';
2
2
  /**
3
- * This event is emitted when a module's `onInit()` method is run.
4
- * It emits the name of the module.
3
+ * This event is emitted when a module's `onInit()` method is run, once for every module id, with the
4
+ * inputs it ran with: the definition's values, references resolved, and schema defaults filled in.
5
+ * Its name is the module's class name.
5
6
  *
6
7
  * @group Events/Module
7
- *
8
- * @returns The Event instance.
9
8
  */
10
- export declare class ModuleEvent extends Event<void> {
9
+ export declare class ModuleEvent extends Event<{
10
+ inputs: Record<string, unknown>;
11
+ moduleId: string;
12
+ }> {
11
13
  }