@factiii/stack 0.1.2

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 (400) hide show
  1. package/README.md +420 -0
  2. package/bin/factiii +229 -0
  3. package/dist/cli/check-config.d.ts +9 -0
  4. package/dist/cli/check-config.d.ts.map +1 -0
  5. package/dist/cli/check-config.js +19 -0
  6. package/dist/cli/check-config.js.map +1 -0
  7. package/dist/cli/deploy-secrets.d.ts +16 -0
  8. package/dist/cli/deploy-secrets.d.ts.map +1 -0
  9. package/dist/cli/deploy-secrets.js +227 -0
  10. package/dist/cli/deploy-secrets.js.map +1 -0
  11. package/dist/cli/deploy.d.ts +30 -0
  12. package/dist/cli/deploy.d.ts.map +1 -0
  13. package/dist/cli/deploy.js +306 -0
  14. package/dist/cli/deploy.js.map +1 -0
  15. package/dist/cli/deployer.d.ts +13 -0
  16. package/dist/cli/deployer.d.ts.map +1 -0
  17. package/dist/cli/deployer.js +21 -0
  18. package/dist/cli/deployer.js.map +1 -0
  19. package/dist/cli/dev-sync.d.ts +30 -0
  20. package/dist/cli/dev-sync.d.ts.map +1 -0
  21. package/dist/cli/dev-sync.js +500 -0
  22. package/dist/cli/dev-sync.js.map +1 -0
  23. package/dist/cli/execute-plugin-command.d.ts +25 -0
  24. package/dist/cli/execute-plugin-command.d.ts.map +1 -0
  25. package/dist/cli/execute-plugin-command.js +237 -0
  26. package/dist/cli/execute-plugin-command.js.map +1 -0
  27. package/dist/cli/fix.d.ts +22 -0
  28. package/dist/cli/fix.d.ts.map +1 -0
  29. package/dist/cli/fix.js +267 -0
  30. package/dist/cli/fix.js.map +1 -0
  31. package/dist/cli/index.d.ts +17 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +31 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/init.d.ts +9 -0
  36. package/dist/cli/init.d.ts.map +1 -0
  37. package/dist/cli/init.js +190 -0
  38. package/dist/cli/init.js.map +1 -0
  39. package/dist/cli/plugin-commands.d.ts +22 -0
  40. package/dist/cli/plugin-commands.d.ts.map +1 -0
  41. package/dist/cli/plugin-commands.js +121 -0
  42. package/dist/cli/plugin-commands.js.map +1 -0
  43. package/dist/cli/scan.d.ts +66 -0
  44. package/dist/cli/scan.d.ts.map +1 -0
  45. package/dist/cli/scan.js +511 -0
  46. package/dist/cli/scan.js.map +1 -0
  47. package/dist/cli/secrets.d.ts +19 -0
  48. package/dist/cli/secrets.d.ts.map +1 -0
  49. package/dist/cli/secrets.js +318 -0
  50. package/dist/cli/secrets.js.map +1 -0
  51. package/dist/cli/undeploy.d.ts +9 -0
  52. package/dist/cli/undeploy.d.ts.map +1 -0
  53. package/dist/cli/undeploy.js +95 -0
  54. package/dist/cli/undeploy.js.map +1 -0
  55. package/dist/cli/upgrade.d.ts +9 -0
  56. package/dist/cli/upgrade.d.ts.map +1 -0
  57. package/dist/cli/upgrade.js +24 -0
  58. package/dist/cli/upgrade.js.map +1 -0
  59. package/dist/cli/validate.d.ts +9 -0
  60. package/dist/cli/validate.d.ts.map +1 -0
  61. package/dist/cli/validate.js +20 -0
  62. package/dist/cli/validate.js.map +1 -0
  63. package/dist/generators/generate-factiii-auto.d.ts +31 -0
  64. package/dist/generators/generate-factiii-auto.d.ts.map +1 -0
  65. package/dist/generators/generate-factiii-auto.js +251 -0
  66. package/dist/generators/generate-factiii-auto.js.map +1 -0
  67. package/dist/generators/generate-factiii-yml.d.ts +23 -0
  68. package/dist/generators/generate-factiii-yml.d.ts.map +1 -0
  69. package/dist/generators/generate-factiii-yml.js +228 -0
  70. package/dist/generators/generate-factiii-yml.js.map +1 -0
  71. package/dist/generators/index.d.ts +8 -0
  72. package/dist/generators/index.d.ts.map +1 -0
  73. package/dist/generators/index.js +14 -0
  74. package/dist/generators/index.js.map +1 -0
  75. package/dist/index.d.ts +39 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +90 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/plugins/addons/server-mode/index.d.ts +57 -0
  80. package/dist/plugins/addons/server-mode/index.d.ts.map +1 -0
  81. package/dist/plugins/addons/server-mode/index.js +136 -0
  82. package/dist/plugins/addons/server-mode/index.js.map +1 -0
  83. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts +17 -0
  84. package/dist/plugins/addons/server-mode/scanfix/mac.d.ts.map +1 -0
  85. package/dist/plugins/addons/server-mode/scanfix/mac.js +461 -0
  86. package/dist/plugins/addons/server-mode/scanfix/mac.js.map +1 -0
  87. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts +12 -0
  88. package/dist/plugins/addons/server-mode/scanfix/ubuntu.d.ts.map +1 -0
  89. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js +246 -0
  90. package/dist/plugins/addons/server-mode/scanfix/ubuntu.js.map +1 -0
  91. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts +14 -0
  92. package/dist/plugins/addons/server-mode/scanfix/windows.d.ts.map +1 -0
  93. package/dist/plugins/addons/server-mode/scanfix/windows.js +113 -0
  94. package/dist/plugins/addons/server-mode/scanfix/windows.js.map +1 -0
  95. package/dist/plugins/approved.json +13 -0
  96. package/dist/plugins/frameworks/prisma-trpc/index.d.ts +65 -0
  97. package/dist/plugins/frameworks/prisma-trpc/index.d.ts.map +1 -0
  98. package/dist/plugins/frameworks/prisma-trpc/index.js +668 -0
  99. package/dist/plugins/frameworks/prisma-trpc/index.js.map +1 -0
  100. package/dist/plugins/index.d.ts +101 -0
  101. package/dist/plugins/index.d.ts.map +1 -0
  102. package/dist/plugins/index.js +411 -0
  103. package/dist/plugins/index.js.map +1 -0
  104. package/dist/plugins/interfaces/addon.d.ts +43 -0
  105. package/dist/plugins/interfaces/addon.d.ts.map +1 -0
  106. package/dist/plugins/interfaces/addon.js +53 -0
  107. package/dist/plugins/interfaces/addon.js.map +1 -0
  108. package/dist/plugins/interfaces/framework.d.ts +43 -0
  109. package/dist/plugins/interfaces/framework.d.ts.map +1 -0
  110. package/dist/plugins/interfaces/framework.js +53 -0
  111. package/dist/plugins/interfaces/framework.js.map +1 -0
  112. package/dist/plugins/interfaces/index.d.ts +10 -0
  113. package/dist/plugins/interfaces/index.d.ts.map +1 -0
  114. package/dist/plugins/interfaces/index.js +17 -0
  115. package/dist/plugins/interfaces/index.js.map +1 -0
  116. package/dist/plugins/interfaces/pipeline.d.ts +78 -0
  117. package/dist/plugins/interfaces/pipeline.d.ts.map +1 -0
  118. package/dist/plugins/interfaces/pipeline.js +82 -0
  119. package/dist/plugins/interfaces/pipeline.js.map +1 -0
  120. package/dist/plugins/interfaces/server.d.ts +65 -0
  121. package/dist/plugins/interfaces/server.d.ts.map +1 -0
  122. package/dist/plugins/interfaces/server.js +72 -0
  123. package/dist/plugins/interfaces/server.js.map +1 -0
  124. package/dist/plugins/pipelines/aws/configs/ec2.d.ts +9 -0
  125. package/dist/plugins/pipelines/aws/configs/ec2.d.ts.map +1 -0
  126. package/dist/plugins/pipelines/aws/configs/ec2.js +34 -0
  127. package/dist/plugins/pipelines/aws/configs/ec2.js.map +1 -0
  128. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts +13 -0
  129. package/dist/plugins/pipelines/aws/configs/free-tier.d.ts.map +1 -0
  130. package/dist/plugins/pipelines/aws/configs/free-tier.js +86 -0
  131. package/dist/plugins/pipelines/aws/configs/free-tier.js.map +1 -0
  132. package/dist/plugins/pipelines/aws/configs/index.d.ts +14 -0
  133. package/dist/plugins/pipelines/aws/configs/index.d.ts.map +1 -0
  134. package/dist/plugins/pipelines/aws/configs/index.js +21 -0
  135. package/dist/plugins/pipelines/aws/configs/index.js.map +1 -0
  136. package/dist/plugins/pipelines/aws/configs/types.d.ts +36 -0
  137. package/dist/plugins/pipelines/aws/configs/types.d.ts.map +1 -0
  138. package/dist/plugins/pipelines/aws/configs/types.js +9 -0
  139. package/dist/plugins/pipelines/aws/configs/types.js.map +1 -0
  140. package/dist/plugins/pipelines/aws/dev.d.ts +10 -0
  141. package/dist/plugins/pipelines/aws/dev.d.ts.map +1 -0
  142. package/dist/plugins/pipelines/aws/dev.js +70 -0
  143. package/dist/plugins/pipelines/aws/dev.js.map +1 -0
  144. package/dist/plugins/pipelines/aws/index.d.ts +118 -0
  145. package/dist/plugins/pipelines/aws/index.d.ts.map +1 -0
  146. package/dist/plugins/pipelines/aws/index.js +346 -0
  147. package/dist/plugins/pipelines/aws/index.js.map +1 -0
  148. package/dist/plugins/pipelines/aws/prod.d.ts +19 -0
  149. package/dist/plugins/pipelines/aws/prod.d.ts.map +1 -0
  150. package/dist/plugins/pipelines/aws/prod.js +362 -0
  151. package/dist/plugins/pipelines/aws/prod.js.map +1 -0
  152. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts +7 -0
  153. package/dist/plugins/pipelines/aws/scanfix/aws-cli.d.ts.map +1 -0
  154. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js +31 -0
  155. package/dist/plugins/pipelines/aws/scanfix/aws-cli.js.map +1 -0
  156. package/dist/plugins/pipelines/aws/scanfix/config.d.ts +7 -0
  157. package/dist/plugins/pipelines/aws/scanfix/config.d.ts.map +1 -0
  158. package/dist/plugins/pipelines/aws/scanfix/config.js +134 -0
  159. package/dist/plugins/pipelines/aws/scanfix/config.js.map +1 -0
  160. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts +65 -0
  161. package/dist/plugins/pipelines/factiii/github-secrets-store.d.ts.map +1 -0
  162. package/dist/plugins/pipelines/factiii/github-secrets-store.js +221 -0
  163. package/dist/plugins/pipelines/factiii/github-secrets-store.js.map +1 -0
  164. package/dist/plugins/pipelines/factiii/index.d.ts +195 -0
  165. package/dist/plugins/pipelines/factiii/index.d.ts.map +1 -0
  166. package/dist/plugins/pipelines/factiii/index.js +862 -0
  167. package/dist/plugins/pipelines/factiii/index.js.map +1 -0
  168. package/dist/plugins/pipelines/factiii/prod.d.ts +17 -0
  169. package/dist/plugins/pipelines/factiii/prod.d.ts.map +1 -0
  170. package/dist/plugins/pipelines/factiii/prod.js +282 -0
  171. package/dist/plugins/pipelines/factiii/prod.js.map +1 -0
  172. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts +7 -0
  173. package/dist/plugins/pipelines/factiii/scanfix/config.d.ts.map +1 -0
  174. package/dist/plugins/pipelines/factiii/scanfix/config.js +80 -0
  175. package/dist/plugins/pipelines/factiii/scanfix/config.js.map +1 -0
  176. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts +7 -0
  177. package/dist/plugins/pipelines/factiii/scanfix/github-cli.d.ts.map +1 -0
  178. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js +43 -0
  179. package/dist/plugins/pipelines/factiii/scanfix/github-cli.js.map +1 -0
  180. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts +7 -0
  181. package/dist/plugins/pipelines/factiii/scanfix/secrets.d.ts.map +1 -0
  182. package/dist/plugins/pipelines/factiii/scanfix/secrets.js +237 -0
  183. package/dist/plugins/pipelines/factiii/scanfix/secrets.js.map +1 -0
  184. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts +7 -0
  185. package/dist/plugins/pipelines/factiii/scanfix/workflows.d.ts.map +1 -0
  186. package/dist/plugins/pipelines/factiii/scanfix/workflows.js +169 -0
  187. package/dist/plugins/pipelines/factiii/scanfix/workflows.js.map +1 -0
  188. package/dist/plugins/pipelines/factiii/staging.d.ts +25 -0
  189. package/dist/plugins/pipelines/factiii/staging.d.ts.map +1 -0
  190. package/dist/plugins/pipelines/factiii/staging.js +223 -0
  191. package/dist/plugins/pipelines/factiii/staging.js.map +1 -0
  192. package/dist/plugins/pipelines/factiii/utils/detection.d.ts +36 -0
  193. package/dist/plugins/pipelines/factiii/utils/detection.d.ts.map +1 -0
  194. package/dist/plugins/pipelines/factiii/utils/detection.js +140 -0
  195. package/dist/plugins/pipelines/factiii/utils/detection.js.map +1 -0
  196. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts +16 -0
  197. package/dist/plugins/pipelines/factiii/utils/workflows.d.ts.map +1 -0
  198. package/dist/plugins/pipelines/factiii/utils/workflows.js +129 -0
  199. package/dist/plugins/pipelines/factiii/utils/workflows.js.map +1 -0
  200. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-prod.yml +112 -0
  201. package/dist/plugins/pipelines/factiii/workflows/factiii-cicd-staging.yml +112 -0
  202. package/dist/plugins/pipelines/factiii/workflows/factiii-command.yml +130 -0
  203. package/dist/plugins/pipelines/factiii/workflows/factiii-deploy.yml +198 -0
  204. package/dist/plugins/pipelines/factiii/workflows/factiii-dev-sync.yml +179 -0
  205. package/dist/plugins/pipelines/factiii/workflows/factiii-fix.yml +176 -0
  206. package/dist/plugins/pipelines/factiii/workflows/factiii-scan.yml +176 -0
  207. package/dist/plugins/pipelines/factiii/workflows/factiii-undeploy.yml +95 -0
  208. package/dist/plugins/servers/amazon-linux/index.d.ts +93 -0
  209. package/dist/plugins/servers/amazon-linux/index.d.ts.map +1 -0
  210. package/dist/plugins/servers/amazon-linux/index.js +217 -0
  211. package/dist/plugins/servers/amazon-linux/index.js.map +1 -0
  212. package/dist/plugins/servers/mac/dev.d.ts +10 -0
  213. package/dist/plugins/servers/mac/dev.d.ts.map +1 -0
  214. package/dist/plugins/servers/mac/dev.js +71 -0
  215. package/dist/plugins/servers/mac/dev.js.map +1 -0
  216. package/dist/plugins/servers/mac/index.d.ts +101 -0
  217. package/dist/plugins/servers/mac/index.d.ts.map +1 -0
  218. package/dist/plugins/servers/mac/index.js +257 -0
  219. package/dist/plugins/servers/mac/index.js.map +1 -0
  220. package/dist/plugins/servers/mac/scanfix/config.d.ts +7 -0
  221. package/dist/plugins/servers/mac/scanfix/config.d.ts.map +1 -0
  222. package/dist/plugins/servers/mac/scanfix/config.js +168 -0
  223. package/dist/plugins/servers/mac/scanfix/config.js.map +1 -0
  224. package/dist/plugins/servers/mac/scanfix/containers.d.ts +7 -0
  225. package/dist/plugins/servers/mac/scanfix/containers.d.ts.map +1 -0
  226. package/dist/plugins/servers/mac/scanfix/containers.js +167 -0
  227. package/dist/plugins/servers/mac/scanfix/containers.js.map +1 -0
  228. package/dist/plugins/servers/mac/scanfix/system.d.ts +7 -0
  229. package/dist/plugins/servers/mac/scanfix/system.d.ts.map +1 -0
  230. package/dist/plugins/servers/mac/scanfix/system.js +144 -0
  231. package/dist/plugins/servers/mac/scanfix/system.js.map +1 -0
  232. package/dist/plugins/servers/mac/staging.d.ts +21 -0
  233. package/dist/plugins/servers/mac/staging.d.ts.map +1 -0
  234. package/dist/plugins/servers/mac/staging.js +708 -0
  235. package/dist/plugins/servers/mac/staging.js.map +1 -0
  236. package/dist/plugins/servers/ubuntu/index.d.ts +93 -0
  237. package/dist/plugins/servers/ubuntu/index.d.ts.map +1 -0
  238. package/dist/plugins/servers/ubuntu/index.js +224 -0
  239. package/dist/plugins/servers/ubuntu/index.js.map +1 -0
  240. package/dist/plugins/servers/windows/index.d.ts +90 -0
  241. package/dist/plugins/servers/windows/index.d.ts.map +1 -0
  242. package/dist/plugins/servers/windows/index.js +205 -0
  243. package/dist/plugins/servers/windows/index.js.map +1 -0
  244. package/dist/scanfix/commands/index.d.ts +27 -0
  245. package/dist/scanfix/commands/index.d.ts.map +1 -0
  246. package/dist/scanfix/commands/index.js +97 -0
  247. package/dist/scanfix/commands/index.js.map +1 -0
  248. package/dist/scanfix/commands/mac.d.ts +11 -0
  249. package/dist/scanfix/commands/mac.d.ts.map +1 -0
  250. package/dist/scanfix/commands/mac.js +31 -0
  251. package/dist/scanfix/commands/mac.js.map +1 -0
  252. package/dist/scanfix/commands/ubuntu.d.ts +11 -0
  253. package/dist/scanfix/commands/ubuntu.d.ts.map +1 -0
  254. package/dist/scanfix/commands/ubuntu.js +30 -0
  255. package/dist/scanfix/commands/ubuntu.js.map +1 -0
  256. package/dist/scanfix/fixes/certbot.d.ts +25 -0
  257. package/dist/scanfix/fixes/certbot.d.ts.map +1 -0
  258. package/dist/scanfix/fixes/certbot.js +136 -0
  259. package/dist/scanfix/fixes/certbot.js.map +1 -0
  260. package/dist/scanfix/fixes/docker.d.ts +29 -0
  261. package/dist/scanfix/fixes/docker.d.ts.map +1 -0
  262. package/dist/scanfix/fixes/docker.js +149 -0
  263. package/dist/scanfix/fixes/docker.js.map +1 -0
  264. package/dist/scanfix/fixes/git.d.ts +20 -0
  265. package/dist/scanfix/fixes/git.d.ts.map +1 -0
  266. package/dist/scanfix/fixes/git.js +71 -0
  267. package/dist/scanfix/fixes/git.js.map +1 -0
  268. package/dist/scanfix/fixes/index.d.ts +11 -0
  269. package/dist/scanfix/fixes/index.d.ts.map +1 -0
  270. package/dist/scanfix/fixes/index.js +27 -0
  271. package/dist/scanfix/fixes/index.js.map +1 -0
  272. package/dist/scanfix/fixes/node.d.ts +20 -0
  273. package/dist/scanfix/fixes/node.d.ts.map +1 -0
  274. package/dist/scanfix/fixes/node.js +71 -0
  275. package/dist/scanfix/fixes/node.js.map +1 -0
  276. package/dist/scanfix/fixes/pnpm.d.ts +20 -0
  277. package/dist/scanfix/fixes/pnpm.d.ts.map +1 -0
  278. package/dist/scanfix/fixes/pnpm.js +122 -0
  279. package/dist/scanfix/fixes/pnpm.js.map +1 -0
  280. package/dist/scanfix/index.d.ts +23 -0
  281. package/dist/scanfix/index.d.ts.map +1 -0
  282. package/dist/scanfix/index.js +44 -0
  283. package/dist/scanfix/index.js.map +1 -0
  284. package/dist/scanfix/platform.d.ts +20 -0
  285. package/dist/scanfix/platform.d.ts.map +1 -0
  286. package/dist/scanfix/platform.js +48 -0
  287. package/dist/scanfix/platform.js.map +1 -0
  288. package/dist/scanfix/ssl-cert-helper.d.ts +27 -0
  289. package/dist/scanfix/ssl-cert-helper.d.ts.map +1 -0
  290. package/dist/scanfix/ssl-cert-helper.js +117 -0
  291. package/dist/scanfix/ssl-cert-helper.js.map +1 -0
  292. package/dist/scanfix/types.d.ts +27 -0
  293. package/dist/scanfix/types.d.ts.map +1 -0
  294. package/dist/scanfix/types.js +8 -0
  295. package/dist/scanfix/types.js.map +1 -0
  296. package/dist/scripts/check-existing-secrets.d.ts +6 -0
  297. package/dist/scripts/check-existing-secrets.d.ts.map +1 -0
  298. package/dist/scripts/check-existing-secrets.js +86 -0
  299. package/dist/scripts/check-existing-secrets.js.map +1 -0
  300. package/dist/scripts/generate-all.d.ts +40 -0
  301. package/dist/scripts/generate-all.d.ts.map +1 -0
  302. package/dist/scripts/generate-all.js +373 -0
  303. package/dist/scripts/generate-all.js.map +1 -0
  304. package/dist/scripts/get-repo-name.d.ts +6 -0
  305. package/dist/scripts/get-repo-name.d.ts.map +1 -0
  306. package/dist/scripts/get-repo-name.js +54 -0
  307. package/dist/scripts/get-repo-name.js.map +1 -0
  308. package/dist/scripts/index.d.ts +7 -0
  309. package/dist/scripts/index.d.ts.map +1 -0
  310. package/dist/scripts/index.js +14 -0
  311. package/dist/scripts/index.js.map +1 -0
  312. package/dist/scripts/validate-env-files.d.ts +6 -0
  313. package/dist/scripts/validate-env-files.d.ts.map +1 -0
  314. package/dist/scripts/validate-env-files.js +126 -0
  315. package/dist/scripts/validate-env-files.js.map +1 -0
  316. package/dist/scripts/validate-example-values.d.ts +8 -0
  317. package/dist/scripts/validate-example-values.d.ts.map +1 -0
  318. package/dist/scripts/validate-example-values.js +88 -0
  319. package/dist/scripts/validate-example-values.js.map +1 -0
  320. package/dist/scripts/validate-factiii-yml.d.ts +6 -0
  321. package/dist/scripts/validate-factiii-yml.d.ts.map +1 -0
  322. package/dist/scripts/validate-factiii-yml.js +71 -0
  323. package/dist/scripts/validate-factiii-yml.js.map +1 -0
  324. package/dist/types/cli.d.ts +138 -0
  325. package/dist/types/cli.d.ts.map +1 -0
  326. package/dist/types/cli.js +8 -0
  327. package/dist/types/cli.js.map +1 -0
  328. package/dist/types/config.d.ts +113 -0
  329. package/dist/types/config.d.ts.map +1 -0
  330. package/dist/types/config.js +8 -0
  331. package/dist/types/config.js.map +1 -0
  332. package/dist/types/index.d.ts +9 -0
  333. package/dist/types/index.d.ts.map +1 -0
  334. package/dist/types/index.js +25 -0
  335. package/dist/types/index.js.map +1 -0
  336. package/dist/types/plugin.d.ts +352 -0
  337. package/dist/types/plugin.d.ts.map +1 -0
  338. package/dist/types/plugin.js +8 -0
  339. package/dist/types/plugin.js.map +1 -0
  340. package/dist/utils/ansible-vault-secrets.d.ts +95 -0
  341. package/dist/utils/ansible-vault-secrets.d.ts.map +1 -0
  342. package/dist/utils/ansible-vault-secrets.js +406 -0
  343. package/dist/utils/ansible-vault-secrets.js.map +1 -0
  344. package/dist/utils/config-helpers.d.ts +72 -0
  345. package/dist/utils/config-helpers.d.ts.map +1 -0
  346. package/dist/utils/config-helpers.js +171 -0
  347. package/dist/utils/config-helpers.js.map +1 -0
  348. package/dist/utils/config-schema.d.ts +17 -0
  349. package/dist/utils/config-schema.d.ts.map +1 -0
  350. package/dist/utils/config-schema.js +100 -0
  351. package/dist/utils/config-schema.js.map +1 -0
  352. package/dist/utils/config-validator.d.ts +29 -0
  353. package/dist/utils/config-validator.d.ts.map +1 -0
  354. package/dist/utils/config-validator.js +146 -0
  355. package/dist/utils/config-validator.js.map +1 -0
  356. package/dist/utils/deployment-report.d.ts +100 -0
  357. package/dist/utils/deployment-report.d.ts.map +1 -0
  358. package/dist/utils/deployment-report.js +225 -0
  359. package/dist/utils/deployment-report.js.map +1 -0
  360. package/dist/utils/dns-validator.d.ts +19 -0
  361. package/dist/utils/dns-validator.d.ts.map +1 -0
  362. package/dist/utils/dns-validator.js +94 -0
  363. package/dist/utils/dns-validator.js.map +1 -0
  364. package/dist/utils/env-validator.d.ts +108 -0
  365. package/dist/utils/env-validator.d.ts.map +1 -0
  366. package/dist/utils/env-validator.js +342 -0
  367. package/dist/utils/env-validator.js.map +1 -0
  368. package/dist/utils/github-workflow-monitor.d.ts +49 -0
  369. package/dist/utils/github-workflow-monitor.d.ts.map +1 -0
  370. package/dist/utils/github-workflow-monitor.js +145 -0
  371. package/dist/utils/github-workflow-monitor.js.map +1 -0
  372. package/dist/utils/index.d.ts +18 -0
  373. package/dist/utils/index.d.ts.map +1 -0
  374. package/dist/utils/index.js +48 -0
  375. package/dist/utils/index.js.map +1 -0
  376. package/dist/utils/secret-prompts.d.ts +67 -0
  377. package/dist/utils/secret-prompts.d.ts.map +1 -0
  378. package/dist/utils/secret-prompts.js +369 -0
  379. package/dist/utils/secret-prompts.js.map +1 -0
  380. package/dist/utils/server-check.d.ts +43 -0
  381. package/dist/utils/server-check.d.ts.map +1 -0
  382. package/dist/utils/server-check.js +397 -0
  383. package/dist/utils/server-check.js.map +1 -0
  384. package/dist/utils/ssh-deploy.d.ts +70 -0
  385. package/dist/utils/ssh-deploy.d.ts.map +1 -0
  386. package/dist/utils/ssh-deploy.js +268 -0
  387. package/dist/utils/ssh-deploy.js.map +1 -0
  388. package/dist/utils/ssh-helper.d.ts +40 -0
  389. package/dist/utils/ssh-helper.d.ts.map +1 -0
  390. package/dist/utils/ssh-helper.js +221 -0
  391. package/dist/utils/ssh-helper.js.map +1 -0
  392. package/dist/utils/template-generator.d.ts +42 -0
  393. package/dist/utils/template-generator.d.ts.map +1 -0
  394. package/dist/utils/template-generator.js +223 -0
  395. package/dist/utils/template-generator.js.map +1 -0
  396. package/dist/utils/version-check.d.ts +69 -0
  397. package/dist/utils/version-check.d.ts.map +1 -0
  398. package/dist/utils/version-check.js +211 -0
  399. package/dist/utils/version-check.js.map +1 -0
  400. package/package.json +82 -0
@@ -0,0 +1,352 @@
1
+ /**
2
+ * Plugin Types
3
+ *
4
+ * Types for the Factiii plugin system.
5
+ */
6
+ import type { FactiiiConfig } from './config.js';
7
+ import type { DeployOptions } from './cli.js';
8
+ /**
9
+ * Deployment stages
10
+ */
11
+ export type Stage = 'dev' | 'secrets' | 'staging' | 'prod';
12
+ /**
13
+ * Server OS types
14
+ * Used to identify which operating system a server runs
15
+ */
16
+ export type ServerOS = 'mac' | 'ubuntu' | 'windows' | 'amazon-linux' | 'alpine';
17
+ /**
18
+ * Package managers by OS
19
+ */
20
+ export type PackageManager = 'brew' | 'apt' | 'choco' | 'winget' | 'dnf' | 'apk';
21
+ /**
22
+ * Service managers by OS
23
+ */
24
+ export type ServiceManager = 'launchctl' | 'systemd' | 'windows-service';
25
+ /**
26
+ * Fix severity levels
27
+ */
28
+ export type Severity = 'critical' | 'warning' | 'info';
29
+ /**
30
+ * How a stage can be reached
31
+ */
32
+ export type ReachVia = 'local' | 'ssh' | 'workflow' | 'api' | 'github-api';
33
+ /**
34
+ * Reachability check result - discriminated union for type safety
35
+ */
36
+ export type Reachability = {
37
+ reachable: true;
38
+ via: ReachVia;
39
+ } | {
40
+ reachable: false;
41
+ reason: string;
42
+ };
43
+ /**
44
+ * Prod safety levels for plugin commands
45
+ */
46
+ export type ProdSafetyLevel = 'safe' | 'caution' | 'destructive';
47
+ /**
48
+ * Command categories for grouping in help
49
+ */
50
+ export type CommandCategory = 'db' | 'ops' | 'backup';
51
+ /**
52
+ * Command option definition
53
+ */
54
+ export interface CommandOption {
55
+ flags: string;
56
+ description: string;
57
+ defaultValue?: string | boolean | string[];
58
+ }
59
+ /**
60
+ * Result of a plugin command execution
61
+ */
62
+ export interface CommandResult {
63
+ success: boolean;
64
+ message?: string;
65
+ error?: string;
66
+ }
67
+ /**
68
+ * Plugin command definition
69
+ */
70
+ export interface PluginCommand {
71
+ /** Command name (e.g., 'seed', 'migrate') */
72
+ name: string;
73
+ /** Human-readable description */
74
+ description: string;
75
+ /** Category for grouping */
76
+ category: CommandCategory;
77
+ /** Which stages this command supports (default: ['dev', 'staging', 'prod']) */
78
+ stages?: Stage[];
79
+ /** Safety level on prod - 'destructive' requires --force */
80
+ prodSafety: ProdSafetyLevel;
81
+ /** Command-specific options */
82
+ options?: CommandOption[];
83
+ /** Execute the command */
84
+ execute: (stage: Stage, options: Record<string, unknown>, config: FactiiiConfig, rootDir: string) => Promise<CommandResult>;
85
+ }
86
+ /**
87
+ * A fix definition that can detect and resolve issues
88
+ */
89
+ export interface Fix {
90
+ id: string;
91
+ stage: Stage;
92
+ severity: Severity;
93
+ description: string;
94
+ plugin?: string;
95
+ /** Optional: Only run this fix on specific OS types */
96
+ os?: ServerOS | ServerOS[];
97
+ scan: (config: FactiiiConfig, rootDir: string) => Promise<boolean>;
98
+ fix?: ((config: FactiiiConfig, rootDir: string) => Promise<boolean>) | null;
99
+ manualFix: string;
100
+ }
101
+ /**
102
+ * Plugin categories
103
+ */
104
+ export type PluginCategory = 'pipeline' | 'server' | 'framework' | 'addon';
105
+ /**
106
+ * Plugin metadata for listing
107
+ */
108
+ export interface PluginMetadata {
109
+ id: string;
110
+ category: string;
111
+ name: string;
112
+ version: string;
113
+ }
114
+ /**
115
+ * Result of a deploy/undeploy operation
116
+ */
117
+ export interface DeployResult {
118
+ success: boolean;
119
+ message?: string;
120
+ error?: string;
121
+ }
122
+ /**
123
+ * Options for ensuring server is ready
124
+ */
125
+ export interface EnsureServerReadyOptions {
126
+ commitHash?: string;
127
+ branch?: string;
128
+ repoUrl?: string;
129
+ }
130
+ /**
131
+ * SSH command result
132
+ */
133
+ export interface SSHResult {
134
+ success: boolean;
135
+ output?: string;
136
+ error?: string;
137
+ }
138
+ /**
139
+ * Server software check results
140
+ */
141
+ export interface ServerSoftwareChecks {
142
+ git: boolean;
143
+ docker: boolean;
144
+ dockerCompose: boolean;
145
+ node: boolean;
146
+ }
147
+ /**
148
+ * Server environment detection result
149
+ */
150
+ export interface ServerEnvironment {
151
+ os: ServerOS | 'unknown';
152
+ packageManager: PackageManager | null;
153
+ hasHomebrew: boolean;
154
+ hasApt: boolean;
155
+ hasYum: boolean;
156
+ hasDnf: boolean;
157
+ hasChoco: boolean;
158
+ hasApk: boolean;
159
+ }
160
+ /**
161
+ * Server dependency installation results
162
+ */
163
+ export interface DependencyInstallResult {
164
+ needed: boolean;
165
+ installed: boolean;
166
+ error: string | null;
167
+ }
168
+ /**
169
+ * Server dependencies installation results
170
+ */
171
+ export interface InstallDependenciesResult {
172
+ success: boolean;
173
+ error?: string;
174
+ serverEnv?: ServerEnvironment;
175
+ results: {
176
+ node: DependencyInstallResult;
177
+ git: DependencyInstallResult;
178
+ docker: DependencyInstallResult;
179
+ pnpm: DependencyInstallResult;
180
+ };
181
+ }
182
+ /**
183
+ * Server connectivity check result
184
+ */
185
+ export interface ConnectivityResult {
186
+ ssh: boolean;
187
+ error?: string;
188
+ }
189
+ /**
190
+ * Repository check result
191
+ */
192
+ export interface RepoCheckResult {
193
+ exists: boolean;
194
+ branch?: string;
195
+ }
196
+ /**
197
+ * Config validation result on server
198
+ */
199
+ export interface ConfigValidationResult {
200
+ expectedServices: number;
201
+ actualServices: number;
202
+ nginxMatches: boolean | null;
203
+ dockerComposeUpToDate: boolean | null;
204
+ }
205
+ /**
206
+ * Comprehensive server scan result
207
+ */
208
+ export interface ServerScanResult {
209
+ environment: string;
210
+ ssh: boolean;
211
+ git: boolean;
212
+ docker: boolean;
213
+ dockerCompose: boolean;
214
+ node: boolean;
215
+ repo: boolean;
216
+ branch: string | null;
217
+ repoName: string;
218
+ configValidation: ConfigValidationResult | null;
219
+ error?: string;
220
+ }
221
+ /**
222
+ * Server basics setup result
223
+ */
224
+ export interface ServerBasicsResult {
225
+ gitInstalled: boolean;
226
+ dockerInstalled: boolean;
227
+ repoCloned: boolean;
228
+ repoExists: boolean;
229
+ configMismatch: boolean;
230
+ }
231
+ /**
232
+ * Base interface for all plugin classes (static side)
233
+ */
234
+ export interface PluginStatic {
235
+ readonly id: string;
236
+ readonly name: string;
237
+ readonly category: PluginCategory;
238
+ readonly version: string;
239
+ readonly fixes: Fix[];
240
+ readonly requiredEnvVars: string[];
241
+ readonly configSchema: Record<string, unknown>;
242
+ readonly autoConfigSchema: Record<string, string>;
243
+ shouldLoad(rootDir: string, config: FactiiiConfig): Promise<boolean>;
244
+ detectConfig?(rootDir: string): Promise<Record<string, unknown>>;
245
+ }
246
+ /**
247
+ * Base interface for plugin instances
248
+ */
249
+ export interface PluginInstance {
250
+ config: FactiiiConfig;
251
+ deploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
252
+ undeploy(config: FactiiiConfig, environment: string): Promise<DeployResult>;
253
+ }
254
+ /**
255
+ * Pipeline plugin static interface
256
+ */
257
+ export interface PipelinePluginStatic extends PluginStatic {
258
+ readonly category: 'pipeline';
259
+ readonly commands?: PluginCommand[];
260
+ canReach(stage: Stage, config: FactiiiConfig): Reachability;
261
+ requiresFullRepo?(environment: string): boolean;
262
+ generateWorkflows?(rootDir: string): Promise<void>;
263
+ triggerWorkflow?(workflowName: string, inputs?: Record<string, string>): Promise<void>;
264
+ }
265
+ /**
266
+ * Pipeline plugin instance interface
267
+ */
268
+ export interface PipelinePluginInstance extends PluginInstance {
269
+ /**
270
+ * Deploy to a stage - handles routing based on canReach()
271
+ *
272
+ * This is the main entry point for deployments. The pipeline plugin
273
+ * checks canReach() to determine how to reach the stage:
274
+ * - 'local': Execute deployment directly
275
+ * - 'workflow': Trigger a workflow (e.g., GitHub Actions)
276
+ * - Not reachable: Return error with reason
277
+ */
278
+ deployStage(stage: Stage, options: DeployOptions): Promise<DeployResult>;
279
+ /**
280
+ * Scan a stage - handles routing based on canReach()
281
+ *
282
+ * Returns { handled: true } if pipeline ran scan remotely (via SSH or workflow).
283
+ * Returns { handled: false } if caller should run scan locally.
284
+ */
285
+ scanStage(stage: Stage, options: Record<string, unknown>): Promise<{
286
+ handled: boolean;
287
+ }>;
288
+ /**
289
+ * Fix a stage - handles routing based on canReach()
290
+ *
291
+ * Returns { handled: true } if pipeline ran fix remotely (via SSH or workflow).
292
+ * Returns { handled: false } if caller should run fix locally.
293
+ */
294
+ fixStage(stage: Stage, options: Record<string, unknown>): Promise<{
295
+ handled: boolean;
296
+ }>;
297
+ }
298
+ /**
299
+ * Server plugin static interface
300
+ *
301
+ * Server plugins represent OS types (mac, ubuntu, windows, etc.)
302
+ * and handle OS-specific package management and commands.
303
+ */
304
+ export interface ServerPluginStatic extends PluginStatic {
305
+ readonly category: 'server';
306
+ /** The OS this server plugin handles */
307
+ readonly os: ServerOS;
308
+ /** Package manager for this OS */
309
+ readonly packageManager: PackageManager;
310
+ /** Service manager for this OS */
311
+ readonly serviceManager: ServiceManager;
312
+ sshExec?(envConfig: {
313
+ host: string;
314
+ ssh_user?: string;
315
+ }, command: string): Promise<string>;
316
+ }
317
+ /**
318
+ * Server plugin instance interface
319
+ */
320
+ export interface ServerPluginInstance extends PluginInstance {
321
+ ensureServerReady(config: FactiiiConfig, environment: string, options?: EnsureServerReadyOptions): Promise<DeployResult>;
322
+ }
323
+ /**
324
+ * Framework plugin static interface
325
+ */
326
+ export interface FrameworkPluginStatic extends PluginStatic {
327
+ readonly category: 'framework';
328
+ }
329
+ /**
330
+ * Addon plugin static interface
331
+ */
332
+ export interface AddonPluginStatic extends PluginStatic {
333
+ readonly category: 'addon';
334
+ }
335
+ /**
336
+ * Union type for any plugin class
337
+ */
338
+ export type AnyPluginStatic = PipelinePluginStatic | ServerPluginStatic | FrameworkPluginStatic | AddonPluginStatic;
339
+ /**
340
+ * Constructor type for plugin classes
341
+ */
342
+ export interface PluginConstructor<T extends PluginInstance = PluginInstance> {
343
+ new (config: FactiiiConfig): T;
344
+ readonly id: string;
345
+ readonly name: string;
346
+ readonly category: PluginCategory;
347
+ readonly version: string;
348
+ readonly fixes: Fix[];
349
+ readonly requiredEnvVars: string[];
350
+ shouldLoad(rootDir: string, config: FactiiiConfig): Promise<boolean>;
351
+ }
352
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Plugin Types
4
+ *
5
+ * Types for the Factiii plugin system.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Ansible Vault Secrets
3
+ *
4
+ * Read, write, and check secrets stored in an Ansible Vault–encrypted YAML file.
5
+ * Used by the secrets CLI and pipeline secrets stage. Requires ansible-vault on PATH.
6
+ */
7
+ export interface AnsibleVaultSecretsConfig {
8
+ /** Path to the vault file (relative to rootDir or absolute) */
9
+ vault_path: string;
10
+ /** Optional path to file containing vault password */
11
+ vault_password_file?: string;
12
+ /** Root directory for resolving relative vault_path */
13
+ rootDir?: string;
14
+ }
15
+ export interface SetSecretResult {
16
+ success: boolean;
17
+ error?: string;
18
+ }
19
+ export interface CheckSecretsResult {
20
+ status?: Record<string, boolean>;
21
+ missing?: string[];
22
+ error?: string;
23
+ }
24
+ /**
25
+ * Vault content structure supporting nested environment secrets
26
+ */
27
+ export interface VaultContent {
28
+ STAGING_SSH?: string;
29
+ PROD_SSH?: string;
30
+ AWS_SECRET_ACCESS_KEY?: string;
31
+ staging_envs?: Record<string, string>;
32
+ prod_envs?: Record<string, string>;
33
+ [key: string]: string | Record<string, string> | undefined;
34
+ }
35
+ /**
36
+ * Ansible Vault–backed secret operations.
37
+ * Uses ansible-vault view/encrypt; vault password from config or ANSIBLE_VAULT_PASSWORD_FILE / ANSIBLE_VAULT_PASSWORD.
38
+ */
39
+ export declare class AnsibleVaultSecrets {
40
+ private config;
41
+ constructor(config: AnsibleVaultSecretsConfig);
42
+ /**
43
+ * Ensure vault file exists; if not, create an empty encrypted file
44
+ */
45
+ private ensureVaultExists;
46
+ /**
47
+ * Get decrypted vault content as key-value object (flat, for backwards compatibility)
48
+ */
49
+ private getDecrypted;
50
+ /**
51
+ * Get decrypted vault content as full structure (supports nested objects)
52
+ */
53
+ private getDecryptedFull;
54
+ /**
55
+ * Save vault content (full structure)
56
+ */
57
+ private saveVault;
58
+ /**
59
+ * Set a secret in the vault file
60
+ */
61
+ setSecret(name: string, value: string): Promise<SetSecretResult>;
62
+ /**
63
+ * Get a secret value from the vault
64
+ */
65
+ getSecret(name: string): Promise<string | null>;
66
+ /**
67
+ * Check which of the given secret names exist in the vault
68
+ */
69
+ checkSecrets(names: string[]): Promise<CheckSecretsResult>;
70
+ /**
71
+ * Get SSH key for a stage
72
+ */
73
+ getSSHKey(stage: 'staging' | 'prod'): Promise<string | null>;
74
+ /**
75
+ * Get all environment secrets for a stage
76
+ */
77
+ getEnvironmentSecrets(stage: 'staging' | 'prod'): Promise<Record<string, string>>;
78
+ /**
79
+ * Set an environment secret for a stage
80
+ */
81
+ setEnvironmentSecret(stage: 'staging' | 'prod', name: string, value: string): Promise<SetSecretResult>;
82
+ /**
83
+ * Set multiple environment secrets for a stage at once
84
+ */
85
+ setEnvironmentSecrets(stage: 'staging' | 'prod', secrets: Record<string, string>): Promise<SetSecretResult>;
86
+ /**
87
+ * List all environment secret keys for a stage (not values)
88
+ */
89
+ listEnvironmentSecretKeys(stage: 'staging' | 'prod'): Promise<string[]>;
90
+ /**
91
+ * Check if environment secrets exist for a stage
92
+ */
93
+ hasEnvironmentSecrets(stage: 'staging' | 'prod'): Promise<boolean>;
94
+ }
95
+ //# sourceMappingURL=ansible-vault-secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansible-vault-secrets.d.ts","sourceRoot":"","sources":["../../src/utils/ansible-vault-secrets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0ID;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5D;AAYD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAO7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;YACW,YAAY;IAO1B;;OAEG;YACW,gBAAgB;IAO9B;;OAEG;YACW,SAAS;IAwBvB;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBtE;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBhE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlE;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAevF;;OAEG;IACG,oBAAoB,CACxB,KAAK,EAAE,SAAS,GAAG,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC;IAqB3B;;OAEG;IACG,qBAAqB,CACzB,KAAK,EAAE,SAAS,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC;IAsB3B;;OAEG;IACG,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7E;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIzE"}