@msn-control/liftoff 0.10.4 → 0.11.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 (700) hide show
  1. package/DEVELOPER.md +238 -77
  2. package/README.md +38 -33
  3. package/assets/supported-stack.json +3 -136
  4. package/dist/adapters/azure/governance-assessment.d.ts +2 -0
  5. package/dist/adapters/azure/governance-assessment.js +21 -0
  6. package/dist/adapters/azure/governance-assessment.js.map +1 -0
  7. package/dist/adapters/filesystem/atomic-write.d.ts +2 -0
  8. package/dist/adapters/filesystem/atomic-write.js +74 -0
  9. package/dist/adapters/filesystem/atomic-write.js.map +1 -0
  10. package/dist/adapters/filesystem/errors.d.ts +2 -0
  11. package/dist/adapters/filesystem/errors.js +8 -0
  12. package/dist/adapters/filesystem/errors.js.map +1 -0
  13. package/dist/adapters/filesystem/manifest-file.d.ts +1 -0
  14. package/dist/adapters/filesystem/manifest-file.js +21 -0
  15. package/dist/adapters/filesystem/manifest-file.js.map +1 -0
  16. package/dist/adapters/filesystem/project-config.d.ts +4 -0
  17. package/dist/adapters/filesystem/project-config.js +157 -0
  18. package/dist/adapters/filesystem/project-config.js.map +1 -0
  19. package/dist/adapters/filesystem/project-discovery.d.ts +2 -0
  20. package/dist/adapters/filesystem/project-discovery.js +30 -0
  21. package/dist/adapters/filesystem/project-discovery.js.map +1 -0
  22. package/dist/adapters/filesystem/project-files.d.ts +6 -0
  23. package/dist/adapters/filesystem/project-files.js +68 -0
  24. package/dist/adapters/filesystem/project-files.js.map +1 -0
  25. package/dist/adapters/filesystem/project-lock.d.ts +8 -0
  26. package/dist/adapters/filesystem/project-lock.js +164 -0
  27. package/dist/adapters/filesystem/project-lock.js.map +1 -0
  28. package/dist/adapters/filesystem/project-paths.d.ts +2 -0
  29. package/dist/adapters/filesystem/project-paths.js +60 -0
  30. package/dist/adapters/filesystem/project-paths.js.map +1 -0
  31. package/dist/adapters/filesystem/project-transaction.d.ts +24 -0
  32. package/dist/adapters/filesystem/project-transaction.js +177 -0
  33. package/dist/adapters/filesystem/project-transaction.js.map +1 -0
  34. package/dist/adapters/filesystem/reviewed-update-transaction.d.ts +53 -0
  35. package/dist/adapters/filesystem/reviewed-update-transaction.js +864 -0
  36. package/dist/adapters/filesystem/reviewed-update-transaction.js.map +1 -0
  37. package/dist/adapters/filesystem/update-previews.d.ts +50 -0
  38. package/dist/adapters/filesystem/update-previews.js +613 -0
  39. package/dist/adapters/filesystem/update-previews.js.map +1 -0
  40. package/dist/adapters/git/governance-assessment.d.ts +22 -0
  41. package/dist/adapters/git/governance-assessment.js +161 -0
  42. package/dist/adapters/git/governance-assessment.js.map +1 -0
  43. package/dist/adapters/github/governance-assessment.d.ts +2 -0
  44. package/dist/adapters/github/governance-assessment.js +18 -0
  45. package/dist/adapters/github/governance-assessment.js.map +1 -0
  46. package/dist/adapters/packaged-assets/package-root.d.ts +3 -0
  47. package/dist/adapters/packaged-assets/package-root.js +21 -0
  48. package/dist/adapters/packaged-assets/package-root.js.map +1 -0
  49. package/dist/adapters/packaged-assets/supported-stack.d.ts +4 -0
  50. package/dist/adapters/packaged-assets/supported-stack.js +18 -0
  51. package/dist/adapters/packaged-assets/supported-stack.js.map +1 -0
  52. package/dist/adapters/packaged-assets/template-assets.d.ts +23 -0
  53. package/dist/adapters/packaged-assets/template-assets.js +36 -0
  54. package/dist/adapters/packaged-assets/template-assets.js.map +1 -0
  55. package/dist/adapters/process/shell-command.d.ts +6 -0
  56. package/dist/adapters/process/shell-command.js +27 -0
  57. package/dist/adapters/process/shell-command.js.map +1 -0
  58. package/dist/application/context.d.ts +25 -0
  59. package/dist/application/context.js +2 -0
  60. package/dist/application/context.js.map +1 -0
  61. package/dist/application/diagnose/doctor.d.ts +21 -0
  62. package/dist/application/diagnose/doctor.js +580 -0
  63. package/dist/application/diagnose/doctor.js.map +1 -0
  64. package/dist/application/diagnose/generated-project.d.ts +1 -0
  65. package/dist/application/diagnose/generated-project.js +105 -0
  66. package/dist/application/diagnose/generated-project.js.map +1 -0
  67. package/dist/application/diagnose/validate.d.ts +6 -0
  68. package/dist/application/diagnose/validate.js +27 -0
  69. package/dist/application/diagnose/validate.js.map +1 -0
  70. package/dist/application/initialize/fixture.d.ts +2 -0
  71. package/dist/application/initialize/fixture.js +39 -0
  72. package/dist/application/initialize/fixture.js.map +1 -0
  73. package/dist/application/initialize/inputs.d.ts +3 -0
  74. package/dist/application/initialize/inputs.js +35 -0
  75. package/dist/application/initialize/inputs.js.map +1 -0
  76. package/dist/application/initialize/use-case.d.ts +23 -0
  77. package/dist/application/initialize/use-case.js +360 -0
  78. package/dist/application/initialize/use-case.js.map +1 -0
  79. package/dist/application/migrate/use-case.d.ts +7 -0
  80. package/dist/application/migrate/use-case.js +378 -0
  81. package/dist/application/migrate/use-case.js.map +1 -0
  82. package/dist/application/project/catalog.d.ts +46 -0
  83. package/dist/application/project/catalog.js +12 -0
  84. package/dist/application/project/catalog.js.map +1 -0
  85. package/dist/application/project/manifest.d.ts +2 -0
  86. package/dist/application/project/manifest.js +29 -0
  87. package/dist/application/project/manifest.js.map +1 -0
  88. package/dist/application/project/planning.d.ts +6 -0
  89. package/dist/application/project/planning.js +12 -0
  90. package/dist/application/project/planning.js.map +1 -0
  91. package/dist/application/update/approval.d.ts +39 -0
  92. package/dist/application/update/approval.js +54 -0
  93. package/dist/application/update/approval.js.map +1 -0
  94. package/dist/application/update/command-guidance.d.ts +2 -0
  95. package/dist/application/update/command-guidance.js +14 -0
  96. package/dist/application/update/command-guidance.js.map +1 -0
  97. package/dist/application/update/inspection.d.ts +37 -0
  98. package/dist/application/update/inspection.js +235 -0
  99. package/dist/application/update/inspection.js.map +1 -0
  100. package/dist/application/update/migration-runtime.d.ts +14 -0
  101. package/dist/application/update/migration-runtime.js +178 -0
  102. package/dist/application/update/migration-runtime.js.map +1 -0
  103. package/dist/application/update/output.d.ts +134 -0
  104. package/dist/application/update/output.js +182 -0
  105. package/dist/application/update/output.js.map +1 -0
  106. package/dist/application/update/planning.d.ts +40 -0
  107. package/dist/application/update/planning.js +293 -0
  108. package/dist/application/update/planning.js.map +1 -0
  109. package/dist/application/update/preview.d.ts +49 -0
  110. package/dist/application/update/preview.js +220 -0
  111. package/dist/application/update/preview.js.map +1 -0
  112. package/dist/application/update/protected-source.d.ts +25 -0
  113. package/dist/application/update/protected-source.js +81 -0
  114. package/dist/application/update/protected-source.js.map +1 -0
  115. package/dist/application/update/reporting.d.ts +42 -0
  116. package/dist/application/update/reporting.js +326 -0
  117. package/dist/application/update/reporting.js.map +1 -0
  118. package/dist/application/update/revalidation-plan.d.ts +22 -0
  119. package/dist/application/update/revalidation-plan.js +108 -0
  120. package/dist/application/update/revalidation-plan.js.map +1 -0
  121. package/dist/application/update/revalidation.d.ts +70 -0
  122. package/dist/application/update/revalidation.js +337 -0
  123. package/dist/application/update/revalidation.js.map +1 -0
  124. package/dist/application/update/review-plan.d.ts +25 -0
  125. package/dist/application/update/review-plan.js +89 -0
  126. package/dist/application/update/review-plan.js.map +1 -0
  127. package/dist/application/update/transaction-approval.d.ts +29 -0
  128. package/dist/application/update/transaction-approval.js +82 -0
  129. package/dist/application/update/transaction-approval.js.map +1 -0
  130. package/dist/application/update/use-case.d.ts +9 -0
  131. package/dist/application/update/use-case.js +271 -0
  132. package/dist/application/update/use-case.js.map +1 -0
  133. package/dist/application/update/write-plan.d.ts +15 -0
  134. package/dist/application/update/write-plan.js +115 -0
  135. package/dist/application/update/write-plan.js.map +1 -0
  136. package/dist/application/upgrade/use-case.d.ts +6 -0
  137. package/dist/application/upgrade/use-case.js +82 -0
  138. package/dist/application/upgrade/use-case.js.map +1 -0
  139. package/dist/args.d.ts +5 -65
  140. package/dist/args.js +4 -472
  141. package/dist/args.js.map +1 -1
  142. package/dist/artifact-lifecycle.d.ts +1 -21
  143. package/dist/artifact-lifecycle.js +1 -75
  144. package/dist/artifact-lifecycle.js.map +1 -1
  145. package/dist/catalogs.d.ts +1 -50
  146. package/dist/catalogs.js +1 -472
  147. package/dist/catalogs.js.map +1 -1
  148. package/dist/cli/args/contracts.d.ts +51 -0
  149. package/dist/cli/args/contracts.js +2 -0
  150. package/dist/cli/args/contracts.js.map +1 -0
  151. package/dist/cli/args/definitions.d.ts +6 -0
  152. package/dist/cli/args/definitions.js +188 -0
  153. package/dist/cli/args/definitions.js.map +1 -0
  154. package/dist/cli/args/help.d.ts +5 -0
  155. package/dist/cli/args/help.js +142 -0
  156. package/dist/cli/args/help.js.map +1 -0
  157. package/dist/cli/args/parser.d.ts +5 -0
  158. package/dist/cli/args/parser.js +160 -0
  159. package/dist/cli/args/parser.js.map +1 -0
  160. package/dist/cli/args/readers.d.ts +4 -0
  161. package/dist/cli/args/readers.js +19 -0
  162. package/dist/cli/args/readers.js.map +1 -0
  163. package/dist/cli/commands/diagnose.d.ts +4 -0
  164. package/dist/cli/commands/diagnose.js +12 -0
  165. package/dist/cli/commands/diagnose.js.map +1 -0
  166. package/dist/cli/commands/dispatch.d.ts +3 -0
  167. package/dist/cli/commands/dispatch.js +94 -0
  168. package/dist/cli/commands/dispatch.js.map +1 -0
  169. package/dist/cli/commands/help.d.ts +3 -0
  170. package/dist/cli/commands/help.js +32 -0
  171. package/dist/cli/commands/help.js.map +1 -0
  172. package/dist/cli/commands/helpers.d.ts +8 -0
  173. package/dist/cli/commands/helpers.js +97 -0
  174. package/dist/cli/commands/helpers.js.map +1 -0
  175. package/dist/cli/commands/initialize.d.ts +3 -0
  176. package/dist/cli/commands/initialize.js +7 -0
  177. package/dist/cli/commands/initialize.js.map +1 -0
  178. package/dist/cli/commands/migrate.d.ts +3 -0
  179. package/dist/cli/commands/migrate.js +8 -0
  180. package/dist/cli/commands/migrate.js.map +1 -0
  181. package/dist/cli/commands/plan.d.ts +3 -0
  182. package/dist/cli/commands/plan.js +34 -0
  183. package/dist/cli/commands/plan.js.map +1 -0
  184. package/dist/cli/commands/reference.d.ts +5 -0
  185. package/dist/cli/commands/reference.js +43 -0
  186. package/dist/cli/commands/reference.js.map +1 -0
  187. package/dist/cli/commands/update.d.ts +3 -0
  188. package/dist/cli/commands/update.js +10 -0
  189. package/dist/cli/commands/update.js.map +1 -0
  190. package/dist/cli/commands/upgrade.d.ts +3 -0
  191. package/dist/cli/commands/upgrade.js +7 -0
  192. package/dist/cli/commands/upgrade.js.map +1 -0
  193. package/dist/cli/context.d.ts +1 -0
  194. package/dist/cli/context.js +2 -0
  195. package/dist/cli/context.js.map +1 -0
  196. package/dist/cli/project-options.d.ts +3 -0
  197. package/dist/cli/project-options.js +41 -0
  198. package/dist/cli/project-options.js.map +1 -0
  199. package/dist/cli.d.ts +3 -3
  200. package/dist/cli.js +2 -2
  201. package/dist/cli.js.map +1 -1
  202. package/dist/commands.d.ts +4 -35
  203. package/dist/commands.js +3 -2969
  204. package/dist/commands.js.map +1 -1
  205. package/dist/container-validation.d.ts +1 -1
  206. package/dist/domain/governance/activation/approvals.d.ts +351 -0
  207. package/dist/domain/governance/activation/approvals.js +528 -0
  208. package/dist/domain/governance/activation/approvals.js.map +1 -0
  209. package/dist/domain/governance/activation/canonical-json.d.ts +4 -0
  210. package/dist/domain/governance/activation/canonical-json.js +39 -0
  211. package/dist/domain/governance/activation/canonical-json.js.map +1 -0
  212. package/dist/domain/governance/activation/capabilities.d.ts +7 -0
  213. package/dist/domain/governance/activation/capabilities.js +33 -0
  214. package/dist/domain/governance/activation/capabilities.js.map +1 -0
  215. package/dist/domain/governance/activation/evidence.d.ts +63 -0
  216. package/dist/domain/governance/activation/evidence.js +444 -0
  217. package/dist/domain/governance/activation/evidence.js.map +1 -0
  218. package/dist/domain/governance/activation/graph.d.ts +397 -0
  219. package/dist/domain/governance/activation/graph.js +441 -0
  220. package/dist/domain/governance/activation/graph.js.map +1 -0
  221. package/dist/domain/governance/activation/inputs.d.ts +25 -0
  222. package/dist/domain/governance/activation/inputs.js +63 -0
  223. package/dist/domain/governance/activation/inputs.js.map +1 -0
  224. package/dist/domain/governance/activation/operations.d.ts +19 -0
  225. package/dist/domain/governance/activation/operations.js +181 -0
  226. package/dist/domain/governance/activation/operations.js.map +1 -0
  227. package/dist/domain/governance/activation/readiness.d.ts +27 -0
  228. package/dist/domain/governance/activation/readiness.js +269 -0
  229. package/dist/domain/governance/activation/readiness.js.map +1 -0
  230. package/dist/domain/governance/activation/types.d.ts +399 -0
  231. package/dist/domain/governance/activation/types.js +109 -0
  232. package/dist/domain/governance/activation/types.js.map +1 -0
  233. package/dist/domain/governance/activation/validators.d.ts +22 -0
  234. package/dist/domain/governance/activation/validators.js +1347 -0
  235. package/dist/domain/governance/activation/validators.js.map +1 -0
  236. package/dist/domain/governance/assessment/catalog.d.ts +14 -0
  237. package/dist/domain/governance/assessment/catalog.js +105 -0
  238. package/dist/domain/governance/assessment/catalog.js.map +1 -0
  239. package/dist/domain/governance/assessment/errors.d.ts +10 -0
  240. package/dist/domain/governance/assessment/errors.js +22 -0
  241. package/dist/domain/governance/assessment/errors.js.map +1 -0
  242. package/dist/domain/governance/assessment/index.d.ts +8 -0
  243. package/dist/domain/governance/assessment/index.js +9 -0
  244. package/dist/domain/governance/assessment/index.js.map +1 -0
  245. package/dist/domain/governance/assessment/live-normalize.d.ts +19 -0
  246. package/dist/domain/governance/assessment/live-normalize.js +403 -0
  247. package/dist/domain/governance/assessment/live-normalize.js.map +1 -0
  248. package/dist/domain/governance/assessment/predicates.d.ts +36 -0
  249. package/dist/domain/governance/assessment/predicates.js +545 -0
  250. package/dist/domain/governance/assessment/predicates.js.map +1 -0
  251. package/dist/domain/governance/assessment/report.d.ts +23 -0
  252. package/dist/domain/governance/assessment/report.js +266 -0
  253. package/dist/domain/governance/assessment/report.js.map +1 -0
  254. package/dist/domain/governance/assessment/sanitize.d.ts +8 -0
  255. package/dist/domain/governance/assessment/sanitize.js +60 -0
  256. package/dist/domain/governance/assessment/sanitize.js.map +1 -0
  257. package/dist/domain/governance/assessment/types.d.ts +174 -0
  258. package/dist/domain/governance/assessment/types.js +13 -0
  259. package/dist/domain/governance/assessment/types.js.map +1 -0
  260. package/dist/domain/governance/assessment/yaml.d.ts +6 -0
  261. package/dist/domain/governance/assessment/yaml.js +30 -0
  262. package/dist/domain/governance/assessment/yaml.js.map +1 -0
  263. package/dist/domain/governance/policy/identity.d.ts +64 -0
  264. package/dist/domain/governance/policy/identity.js +112 -0
  265. package/dist/domain/governance/policy/identity.js.map +1 -0
  266. package/dist/domain/migration/dependencies.d.ts +7 -0
  267. package/dist/domain/migration/dependencies.js +221 -0
  268. package/dist/domain/migration/dependencies.js.map +1 -0
  269. package/dist/domain/migration/inventory.d.ts +3 -0
  270. package/dist/domain/migration/inventory.js +15 -0
  271. package/dist/domain/migration/inventory.js.map +1 -0
  272. package/dist/domain/project/artifact-lifecycle.d.ts +69 -0
  273. package/dist/domain/project/artifact-lifecycle.js +137 -0
  274. package/dist/domain/project/artifact-lifecycle.js.map +1 -0
  275. package/dist/domain/project/catalog.d.ts +48 -0
  276. package/dist/domain/project/catalog.js +507 -0
  277. package/dist/domain/project/catalog.js.map +1 -0
  278. package/dist/domain/project/contracts.d.ts +247 -0
  279. package/dist/domain/project/contracts.js +2 -0
  280. package/dist/domain/project/contracts.js.map +1 -0
  281. package/dist/domain/project/errors.d.ts +3 -0
  282. package/dist/domain/project/errors.js +7 -0
  283. package/dist/domain/project/errors.js.map +1 -0
  284. package/dist/domain/project/infrastructure-layout.d.ts +26 -0
  285. package/dist/domain/project/infrastructure-layout.js +125 -0
  286. package/dist/domain/project/infrastructure-layout.js.map +1 -0
  287. package/dist/domain/project/inputs.d.ts +21 -0
  288. package/dist/domain/project/inputs.js +41 -0
  289. package/dist/domain/project/inputs.js.map +1 -0
  290. package/dist/domain/project/manifest/artifacts.d.ts +8 -0
  291. package/dist/domain/project/manifest/artifacts.js +150 -0
  292. package/dist/domain/project/manifest/artifacts.js.map +1 -0
  293. package/dist/domain/project/manifest/context.d.ts +13 -0
  294. package/dist/domain/project/manifest/context.js +2 -0
  295. package/dist/domain/project/manifest/context.js.map +1 -0
  296. package/dist/domain/project/manifest/fields.d.ts +6 -0
  297. package/dist/domain/project/manifest/fields.js +36 -0
  298. package/dist/domain/project/manifest/fields.js.map +1 -0
  299. package/dist/domain/project/manifest/governance.d.ts +8 -0
  300. package/dist/domain/project/manifest/governance.js +161 -0
  301. package/dist/domain/project/manifest/governance.js.map +1 -0
  302. package/dist/domain/project/manifest/project-identity.d.ts +6 -0
  303. package/dist/domain/project/manifest/project-identity.js +273 -0
  304. package/dist/domain/project/manifest/project-identity.js.map +1 -0
  305. package/dist/domain/project/manifest/reader.d.ts +9 -0
  306. package/dist/domain/project/manifest/reader.js +141 -0
  307. package/dist/domain/project/manifest/reader.js.map +1 -0
  308. package/dist/domain/project/paths.d.ts +2 -0
  309. package/dist/domain/project/paths.js +29 -0
  310. package/dist/domain/project/paths.js.map +1 -0
  311. package/dist/domain/project/planning.d.ts +19 -0
  312. package/dist/domain/project/planning.js +329 -0
  313. package/dist/domain/project/planning.js.map +1 -0
  314. package/dist/domain/project/retired-workload.d.ts +4 -0
  315. package/dist/domain/project/retired-workload.js +18 -0
  316. package/dist/domain/project/retired-workload.js.map +1 -0
  317. package/dist/domain/project/reviewed-update-artifacts.d.ts +2 -0
  318. package/dist/domain/project/reviewed-update-artifacts.js +3 -0
  319. package/dist/domain/project/reviewed-update-artifacts.js.map +1 -0
  320. package/dist/domain/project/supported-stack.d.ts +113 -0
  321. package/dist/domain/project/supported-stack.js +426 -0
  322. package/dist/domain/project/supported-stack.js.map +1 -0
  323. package/dist/domain/workstation/constraints.d.ts +6 -0
  324. package/dist/domain/workstation/constraints.js +8 -0
  325. package/dist/domain/workstation/constraints.js.map +1 -0
  326. package/dist/file-system.d.ts +10 -44
  327. package/dist/file-system.js +9 -1245
  328. package/dist/file-system.js.map +1 -1
  329. package/dist/framework-adapters.d.ts +1 -1
  330. package/dist/framework-validation.d.ts +1 -1
  331. package/dist/framework-validation.js +1 -1
  332. package/dist/framework-validation.js.map +1 -1
  333. package/dist/genai-templates.d.ts +2 -9
  334. package/dist/genai-templates.js +4 -5
  335. package/dist/genai-templates.js.map +1 -1
  336. package/dist/generators/common/artifacts.d.ts +6 -0
  337. package/dist/generators/common/artifacts.js +30 -0
  338. package/dist/generators/common/artifacts.js.map +1 -0
  339. package/dist/generators/common/base.d.ts +17 -0
  340. package/dist/generators/common/base.js +425 -0
  341. package/dist/generators/common/base.js.map +1 -0
  342. package/dist/generators/common/dotenv-validation.d.ts +2 -0
  343. package/dist/generators/common/dotenv-validation.js +80 -0
  344. package/dist/generators/common/dotenv-validation.js.map +1 -0
  345. package/dist/generators/common/environments.d.ts +3 -0
  346. package/dist/generators/common/environments.js +15 -0
  347. package/dist/generators/common/environments.js.map +1 -0
  348. package/dist/generators/common/frontend.d.ts +15 -0
  349. package/dist/generators/common/frontend.js +166 -0
  350. package/dist/generators/common/frontend.js.map +1 -0
  351. package/dist/generators/common/python-settings.d.ts +2 -0
  352. package/dist/generators/common/python-settings.js +70 -0
  353. package/dist/generators/common/python-settings.js.map +1 -0
  354. package/dist/generators/common/spec-workflow.d.ts +28 -0
  355. package/dist/generators/common/spec-workflow.js +567 -0
  356. package/dist/generators/common/spec-workflow.js.map +1 -0
  357. package/dist/generators/common/values.d.ts +13 -0
  358. package/dist/generators/common/values.js +16 -0
  359. package/dist/generators/common/values.js.map +1 -0
  360. package/dist/generators/containers/compose.d.ts +7 -0
  361. package/dist/generators/containers/compose.js +196 -0
  362. package/dist/generators/containers/compose.js.map +1 -0
  363. package/dist/generators/containers/context.d.ts +1 -0
  364. package/dist/generators/containers/context.js +43 -0
  365. package/dist/generators/containers/context.js.map +1 -0
  366. package/dist/generators/containers/images.d.ts +7 -0
  367. package/dist/generators/containers/images.js +119 -0
  368. package/dist/generators/containers/images.js.map +1 -0
  369. package/dist/generators/context.d.ts +42 -0
  370. package/dist/generators/context.js +38 -0
  371. package/dist/generators/context.js.map +1 -0
  372. package/dist/generators/genai/backend.d.ts +20 -0
  373. package/dist/generators/genai/backend.js +667 -0
  374. package/dist/generators/genai/backend.js.map +1 -0
  375. package/dist/generators/genai/configuration.d.ts +3 -0
  376. package/dist/generators/genai/configuration.js +43 -0
  377. package/dist/generators/genai/configuration.js.map +1 -0
  378. package/dist/generators/genai/database.d.ts +7 -0
  379. package/dist/generators/genai/database.js +71 -0
  380. package/dist/generators/genai/database.js.map +1 -0
  381. package/dist/generators/genai/functions.d.ts +15 -0
  382. package/dist/generators/genai/functions.js +156 -0
  383. package/dist/generators/genai/functions.js.map +1 -0
  384. package/dist/generators/genai/index.d.ts +8 -0
  385. package/dist/generators/genai/index.js +11 -0
  386. package/dist/generators/genai/index.js.map +1 -0
  387. package/dist/generators/genai/patterns.d.ts +9 -0
  388. package/dist/generators/genai/patterns.js +309 -0
  389. package/dist/generators/genai/patterns.js.map +1 -0
  390. package/dist/generators/infrastructure/azure.d.ts +18 -0
  391. package/dist/generators/infrastructure/azure.js +655 -0
  392. package/dist/generators/infrastructure/azure.js.map +1 -0
  393. package/dist/generators/infrastructure/names.d.ts +23 -0
  394. package/dist/generators/infrastructure/names.js +51 -0
  395. package/dist/generators/infrastructure/names.js.map +1 -0
  396. package/dist/generators/standard/configuration.d.ts +3 -0
  397. package/dist/generators/standard/configuration.js +26 -0
  398. package/dist/generators/standard/configuration.js.map +1 -0
  399. package/dist/generators/standard/go.d.ts +17 -0
  400. package/dist/generators/standard/go.js +338 -0
  401. package/dist/generators/standard/go.js.map +1 -0
  402. package/dist/generators/standard/index.d.ts +12 -0
  403. package/dist/generators/standard/index.js +12 -0
  404. package/dist/generators/standard/index.js.map +1 -0
  405. package/dist/generators/standard/node.d.ts +20 -0
  406. package/dist/generators/standard/node.js +314 -0
  407. package/dist/generators/standard/node.js.map +1 -0
  408. package/dist/generators/standard/python.d.ts +18 -0
  409. package/dist/generators/standard/python.js +191 -0
  410. package/dist/generators/standard/python.js.map +1 -0
  411. package/dist/go-template-assets.js +3 -3
  412. package/dist/go-template-assets.js.map +1 -1
  413. package/dist/governance-activation/activation-state.d.ts +1 -1
  414. package/dist/governance-activation/activation-state.js +49 -9
  415. package/dist/governance-activation/activation-state.js.map +1 -1
  416. package/dist/governance-activation/approvals.d.ts +1 -188
  417. package/dist/governance-activation/approvals.js +1 -507
  418. package/dist/governance-activation/approvals.js.map +1 -1
  419. package/dist/governance-activation/canonical-json.d.ts +1 -3
  420. package/dist/governance-activation/canonical-json.js +1 -35
  421. package/dist/governance-activation/canonical-json.js.map +1 -1
  422. package/dist/governance-activation/commands.d.ts +6 -1
  423. package/dist/governance-activation/commands.js +135 -107
  424. package/dist/governance-activation/commands.js.map +1 -1
  425. package/dist/governance-activation/compatibility.d.ts +30 -5
  426. package/dist/governance-activation/compatibility.js +74 -8
  427. package/dist/governance-activation/compatibility.js.map +1 -1
  428. package/dist/governance-activation/credentials.d.ts +3 -3
  429. package/dist/governance-activation/credentials.js +5 -5
  430. package/dist/governance-activation/credentials.js.map +1 -1
  431. package/dist/governance-activation/doctor.d.ts +1 -1
  432. package/dist/governance-activation/doctor.js +59 -100
  433. package/dist/governance-activation/doctor.js.map +1 -1
  434. package/dist/governance-activation/evidence.d.ts +1 -49
  435. package/dist/governance-activation/evidence.js +1 -245
  436. package/dist/governance-activation/evidence.js.map +1 -1
  437. package/dist/governance-activation/git-ignore.d.ts +9 -0
  438. package/dist/governance-activation/git-ignore.js +76 -0
  439. package/dist/governance-activation/git-ignore.js.map +1 -0
  440. package/dist/governance-activation/graph.d.ts +1 -397
  441. package/dist/governance-activation/graph.js +1 -440
  442. package/dist/governance-activation/graph.js.map +1 -1
  443. package/dist/governance-activation/historical-state.d.ts +81 -0
  444. package/dist/governance-activation/historical-state.js +817 -0
  445. package/dist/governance-activation/historical-state.js.map +1 -0
  446. package/dist/governance-activation/history-contracts.d.ts +109 -0
  447. package/dist/governance-activation/history-contracts.js +303 -0
  448. package/dist/governance-activation/history-contracts.js.map +1 -0
  449. package/dist/governance-activation/identity.d.ts +1 -35
  450. package/dist/governance-activation/identity.js +1 -88
  451. package/dist/governance-activation/identity.js.map +1 -1
  452. package/dist/governance-activation/index.d.ts +3 -0
  453. package/dist/governance-activation/index.js +3 -0
  454. package/dist/governance-activation/index.js.map +1 -1
  455. package/dist/governance-activation/inputs.d.ts +10 -0
  456. package/dist/governance-activation/inputs.js +158 -0
  457. package/dist/governance-activation/inputs.js.map +1 -0
  458. package/dist/governance-activation/migration-history.d.ts +97 -0
  459. package/dist/governance-activation/migration-history.js +388 -0
  460. package/dist/governance-activation/migration-history.js.map +1 -0
  461. package/dist/governance-activation/migration.d.ts +4 -3
  462. package/dist/governance-activation/migration.js +14 -6
  463. package/dist/governance-activation/migration.js.map +1 -1
  464. package/dist/governance-activation/phase-bootstrap-state.d.ts +3 -0
  465. package/dist/governance-activation/phase-bootstrap-state.js +128 -0
  466. package/dist/governance-activation/phase-bootstrap-state.js.map +1 -0
  467. package/dist/governance-activation/phase-discovery.d.ts +2 -0
  468. package/dist/governance-activation/phase-discovery.js +88 -0
  469. package/dist/governance-activation/phase-discovery.js.map +1 -0
  470. package/dist/governance-activation/phase-governance.d.ts +4 -0
  471. package/dist/governance-activation/phase-governance.js +141 -0
  472. package/dist/governance-activation/phase-governance.js.map +1 -0
  473. package/dist/governance-activation/phase-publication.d.ts +8 -0
  474. package/dist/governance-activation/phase-publication.js +318 -0
  475. package/dist/governance-activation/phase-publication.js.map +1 -0
  476. package/dist/governance-activation/proof-records.d.ts +3 -0
  477. package/dist/governance-activation/proof-records.js +78 -0
  478. package/dist/governance-activation/proof-records.js.map +1 -0
  479. package/dist/governance-activation/read-only.d.ts +30 -0
  480. package/dist/governance-activation/read-only.js +33 -0
  481. package/dist/governance-activation/read-only.js.map +1 -0
  482. package/dist/governance-activation/readiness.d.ts +1 -25
  483. package/dist/governance-activation/readiness.js +1 -222
  484. package/dist/governance-activation/readiness.js.map +1 -1
  485. package/dist/governance-activation/reconciliation.d.ts +1 -1
  486. package/dist/governance-activation/reconciliation.js +3 -3
  487. package/dist/governance-activation/reconciliation.js.map +1 -1
  488. package/dist/governance-activation/release-integrity.d.ts +1 -1
  489. package/dist/governance-activation/release-integrity.js +2 -2
  490. package/dist/governance-activation/release-integrity.js.map +1 -1
  491. package/dist/governance-activation/seed-lifecycle.d.ts +36 -6
  492. package/dist/governance-activation/seed-lifecycle.js +444 -77
  493. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  494. package/dist/governance-activation/source-of-truth.d.ts +5 -3
  495. package/dist/governance-activation/source-of-truth.js +32 -52
  496. package/dist/governance-activation/source-of-truth.js.map +1 -1
  497. package/dist/governance-activation/spec-kit-seed.d.ts +9 -0
  498. package/dist/governance-activation/spec-kit-seed.js +43 -0
  499. package/dist/governance-activation/spec-kit-seed.js.map +1 -0
  500. package/dist/governance-activation/task-projection.d.ts +1 -1
  501. package/dist/governance-activation/transition-planning.d.ts +17 -0
  502. package/dist/governance-activation/transition-planning.js +259 -0
  503. package/dist/governance-activation/transition-planning.js.map +1 -0
  504. package/dist/governance-activation/transition-ports.d.ts +150 -0
  505. package/dist/governance-activation/transition-ports.js +2 -0
  506. package/dist/governance-activation/transition-ports.js.map +1 -0
  507. package/dist/governance-activation/transition-process.d.ts +7 -0
  508. package/dist/governance-activation/transition-process.js +21 -0
  509. package/dist/governance-activation/transition-process.js.map +1 -0
  510. package/dist/governance-activation/transition-records.d.ts +56 -0
  511. package/dist/governance-activation/transition-records.js +208 -0
  512. package/dist/governance-activation/transition-records.js.map +1 -0
  513. package/dist/governance-activation/transitions.d.ts +14 -167
  514. package/dist/governance-activation/transitions.js +173 -2061
  515. package/dist/governance-activation/transitions.js.map +1 -1
  516. package/dist/governance-activation/types.d.ts +1 -390
  517. package/dist/governance-activation/types.js +1 -107
  518. package/dist/governance-activation/types.js.map +1 -1
  519. package/dist/governance-activation/validators.d.ts +1 -17
  520. package/dist/governance-activation/validators.js +1 -1304
  521. package/dist/governance-activation/validators.js.map +1 -1
  522. package/dist/governance-assessment/catalog.d.ts +1 -2
  523. package/dist/governance-assessment/catalog.js +18 -85
  524. package/dist/governance-assessment/catalog.js.map +1 -1
  525. package/dist/governance-assessment/command.d.ts +1 -1
  526. package/dist/governance-assessment/command.js +8 -12
  527. package/dist/governance-assessment/command.js.map +1 -1
  528. package/dist/governance-assessment/engine.d.ts +6 -11
  529. package/dist/governance-assessment/engine.js +490 -114
  530. package/dist/governance-assessment/engine.js.map +1 -1
  531. package/dist/governance-assessment/live-normalize.d.ts +1 -19
  532. package/dist/governance-assessment/live-normalize.js +1 -402
  533. package/dist/governance-assessment/live-normalize.js.map +1 -1
  534. package/dist/governance-assessment/live-transport.d.ts +2 -6
  535. package/dist/governance-assessment/live-transport.js +10 -22
  536. package/dist/governance-assessment/live-transport.js.map +1 -1
  537. package/dist/governance-assessment/live.js +55 -5
  538. package/dist/governance-assessment/live.js.map +1 -1
  539. package/dist/governance-assessment/predicates.d.ts +1 -27
  540. package/dist/governance-assessment/predicates.js +1 -329
  541. package/dist/governance-assessment/predicates.js.map +1 -1
  542. package/dist/governance-assessment/project.d.ts +20 -17
  543. package/dist/governance-assessment/project.js +101 -151
  544. package/dist/governance-assessment/project.js.map +1 -1
  545. package/dist/governance-assessment/readers.d.ts +1 -5
  546. package/dist/governance-assessment/readers.js +5 -13
  547. package/dist/governance-assessment/readers.js.map +1 -1
  548. package/dist/governance-assessment/report.d.ts +1 -23
  549. package/dist/governance-assessment/report.js +1 -265
  550. package/dist/governance-assessment/report.js.map +1 -1
  551. package/dist/governance-assessment/sanitize.d.ts +1 -8
  552. package/dist/governance-assessment/sanitize.js +1 -56
  553. package/dist/governance-assessment/sanitize.js.map +1 -1
  554. package/dist/governance-assessment/types.d.ts +1 -173
  555. package/dist/governance-assessment/types.js +1 -12
  556. package/dist/governance-assessment/types.js.map +1 -1
  557. package/dist/governance-assessment/yaml.d.ts +1 -6
  558. package/dist/governance-assessment/yaml.js +1 -29
  559. package/dist/governance-assessment/yaml.js.map +1 -1
  560. package/dist/init-filesystem.d.ts +1 -1
  561. package/dist/init-filesystem.js +126 -174
  562. package/dist/init-filesystem.js.map +1 -1
  563. package/dist/interactive.d.ts +2 -2
  564. package/dist/interactive.js +42 -41
  565. package/dist/interactive.js.map +1 -1
  566. package/dist/migrate-plan.d.ts +1 -1
  567. package/dist/migrate-plan.js +14 -8
  568. package/dist/migrate-plan.js.map +1 -1
  569. package/dist/npm-template-assets.js +5 -4
  570. package/dist/npm-template-assets.js.map +1 -1
  571. package/dist/openspec-profile.d.ts +1 -1
  572. package/dist/opentofu-template-assets.js +3 -3
  573. package/dist/opentofu-template-assets.js.map +1 -1
  574. package/dist/package-identity.d.ts +3 -0
  575. package/dist/package-identity.js +13 -2
  576. package/dist/package-identity.js.map +1 -1
  577. package/dist/planner.d.ts +1 -19
  578. package/dist/planner.js +1 -565
  579. package/dist/planner.js.map +1 -1
  580. package/dist/process-runner.d.ts +1 -1
  581. package/dist/project-dependencies.d.ts +5 -3
  582. package/dist/project-dependencies.js +74 -63
  583. package/dist/project-dependencies.js.map +1 -1
  584. package/dist/published-verifier.js +61 -30
  585. package/dist/published-verifier.js.map +1 -1
  586. package/dist/python-template-assets.js +6 -9
  587. package/dist/python-template-assets.js.map +1 -1
  588. package/dist/reconcile.d.ts +1 -1
  589. package/dist/reconcile.js +2 -2
  590. package/dist/reconcile.js.map +1 -1
  591. package/dist/repository-governance.d.ts +5 -2
  592. package/dist/repository-governance.js +140 -113
  593. package/dist/repository-governance.js.map +1 -1
  594. package/dist/runtime.js +1 -1
  595. package/dist/runtime.js.map +1 -1
  596. package/dist/scan.d.ts +6 -2
  597. package/dist/scan.js +78 -30
  598. package/dist/scan.js.map +1 -1
  599. package/dist/self-upgrade.d.ts +1 -1
  600. package/dist/self-upgrade.js +20 -7
  601. package/dist/self-upgrade.js.map +1 -1
  602. package/dist/stable-release.js +7 -1
  603. package/dist/stable-release.js.map +1 -1
  604. package/dist/standard-templates.d.ts +2 -2
  605. package/dist/standard-templates.js +6 -841
  606. package/dist/standard-templates.js.map +1 -1
  607. package/dist/supported-stack.d.ts +3 -115
  608. package/dist/supported-stack.js +4 -438
  609. package/dist/supported-stack.js.map +1 -1
  610. package/dist/telemetry/index.d.ts +1 -1
  611. package/dist/templates.d.ts +10 -20
  612. package/dist/templates.js +52 -3261
  613. package/dist/templates.js.map +1 -1
  614. package/dist/types.d.ts +1 -263
  615. package/dist/types.js +1 -1
  616. package/dist/types.js.map +1 -1
  617. package/dist/version.js +2 -6
  618. package/dist/version.js.map +1 -1
  619. package/dist/workstation-catalog.d.ts +5 -2
  620. package/dist/workstation-catalog.js +33 -2
  621. package/dist/workstation-catalog.js.map +1 -1
  622. package/dist/workstation.d.ts +4 -3
  623. package/dist/workstation.js +86 -32
  624. package/dist/workstation.js.map +1 -1
  625. package/docs/assets/liftoff-terminal.svg +3 -3
  626. package/docs/azure-deployment.md +107 -10
  627. package/docs/cli-reference.md +144 -35
  628. package/docs/configuration-and-manifests.md +152 -35
  629. package/docs/existing-repositories.md +48 -12
  630. package/docs/getting-started.md +44 -31
  631. package/docs/prerequisites.md +34 -35
  632. package/docs/project-structure.md +39 -46
  633. package/docs/repository-governance.md +96 -26
  634. package/docs/safety-and-consent.md +90 -28
  635. package/docs/spec-workflows-and-agents.md +31 -28
  636. package/docs/supported-stack.md +11 -9
  637. package/docs/troubleshooting.md +114 -54
  638. package/docs/workloads.md +52 -67
  639. package/package.json +4 -7
  640. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +0 -21
  641. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +0 -520
  642. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +0 -27
  643. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +0 -25
  644. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +0 -22
  645. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +0 -23
  646. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +0 -13
  647. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +0 -6156
  648. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +0 -60
  649. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +0 -55
  650. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +0 -17
  651. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +0 -1
  652. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +0 -37
  653. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +0 -46
  654. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +0 -60
  655. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +0 -211
  656. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +0 -92
  657. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +0 -355
  658. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +0 -32
  659. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +0 -184
  660. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +0 -141
  661. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +0 -257
  662. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +0 -21
  663. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +0 -22
  664. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +0 -46
  665. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +0 -29
  666. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +0 -185
  667. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +0 -26
  668. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +0 -13
  669. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +0 -114
  670. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +0 -66
  671. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +0 -18
  672. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +0 -61
  673. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +0 -11
  674. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +0 -131
  675. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +0 -6
  676. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +0 -10
  677. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +0 -31
  678. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +0 -59
  679. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +0 -14
  680. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +0 -26
  681. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +0 -23
  682. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +0 -64
  683. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +0 -24
  684. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +0 -34
  685. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +0 -13
  686. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +0 -26
  687. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +0 -19
  688. package/assets/power-apps-code-app/README.md +0 -27
  689. package/dist/code-apps-plugin.d.ts +0 -13
  690. package/dist/code-apps-plugin.js +0 -69
  691. package/dist/code-apps-plugin.js.map +0 -1
  692. package/dist/power-apps-assets.d.ts +0 -30
  693. package/dist/power-apps-assets.js +0 -131
  694. package/dist/power-apps-assets.js.map +0 -1
  695. package/dist/power-apps-templates.d.ts +0 -3
  696. package/dist/power-apps-templates.js +0 -177
  697. package/dist/power-apps-templates.js.map +0 -1
  698. package/dist/power-apps-validation.d.ts +0 -1
  699. package/dist/power-apps-validation.js +0 -79
  700. package/dist/power-apps-validation.js.map +0 -1
@@ -1,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
- "target": "ES2022",
5
- "useDefineForClassFields": true,
6
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
- "module": "ESNext",
8
- "types": ["vite/client"],
9
- "skipLibCheck": true,
10
-
11
- /* Bundler mode */
12
- "moduleResolution": "bundler",
13
- "allowImportingTsExtensions": true,
14
- "verbatimModuleSyntax": true,
15
- "moduleDetection": "force",
16
- "noEmit": true,
17
- "jsx": "react-jsx",
18
-
19
- /* Linting */
20
- "strict": true,
21
- "noUnusedLocals": true,
22
- "noUnusedParameters": true,
23
- "erasableSyntaxOnly": true,
24
- "noFallthroughCasesInSwitch": true,
25
- "noUncheckedSideEffectImports": true,
26
-
27
- /* Paths */
28
- "baseUrl": ".",
29
- "paths": {
30
- "@/*": ["src/*"]
31
- }
32
- },
33
- "include": ["src"]
34
- }
@@ -1,13 +0,0 @@
1
- {
2
- "files": [],
3
- "references": [
4
- { "path": "./tsconfig.app.json" },
5
- { "path": "./tsconfig.node.json" }
6
- ],
7
- "compilerOptions": {
8
- "baseUrl": ".",
9
- "paths": {
10
- "@/*": ["src/*"]
11
- }
12
- }
13
- }
@@ -1,26 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
- "target": "ES2023",
5
- "lib": ["ES2023"],
6
- "module": "ESNext",
7
- "types": ["node"],
8
- "skipLibCheck": true,
9
-
10
- /* Bundler mode */
11
- "moduleResolution": "bundler",
12
- "allowImportingTsExtensions": true,
13
- "verbatimModuleSyntax": true,
14
- "moduleDetection": "force",
15
- "noEmit": true,
16
-
17
- /* Linting */
18
- "strict": true,
19
- "noUnusedLocals": true,
20
- "noUnusedParameters": true,
21
- "erasableSyntaxOnly": true,
22
- "noFallthroughCasesInSwitch": true,
23
- "noUncheckedSideEffectImports": true
24
- },
25
- "include": ["vite.config.ts"]
26
- }
@@ -1,19 +0,0 @@
1
- import { defineConfig } from 'vite'
2
- import path from 'path'
3
- import react from '@vitejs/plugin-react'
4
- import tailwindcss from '@tailwindcss/vite'
5
- import { powerApps } from '@microsoft/power-apps-vite';
6
-
7
- // https://vite.dev/config/
8
- export default defineConfig({
9
- plugins: [
10
- react(),
11
- tailwindcss(),
12
- powerApps()
13
- ],
14
- resolve: {
15
- alias: {
16
- "@": path.resolve(__dirname, "./src"),
17
- },
18
- }
19
- })
@@ -1,27 +0,0 @@
1
- # Power Apps code-app starter asset
2
-
3
- Liftoff packages the official Microsoft starter from:
4
-
5
- - Repository: `https://github.com/microsoft/PowerAppsCodeApps`
6
- - Path: `templates/starter`
7
- - Commit: `3438c352483e40982f6c5c0fc36fd71f8e7adbbb`
8
- - License: MIT
9
-
10
- The versioned directory contains the copied source, generated lockfile, upstream license, and a
11
- catalog of portable paths, logical names, provenance, and SHA-256 hashes. Runtime generation reads
12
- only this checked-in catalog. The upstream `.gitignore` is also copied to the package-safe
13
- `packaged/gitignore` path because npm excludes nested `.gitignore` files from tarballs.
14
-
15
- ## Refresh procedure
16
-
17
- 1. Use Node 22 and run
18
- `npm run refresh:power-apps-starter -- <40-character-immutable-commit>`.
19
- 2. Review the displayed source diff, regenerated lock/catalog, upstream MIT license, package-root
20
- identity, hashes, and pinned metadata change. The command rejects symlinks, generated bindings,
21
- caches, dependencies, and build output.
22
- 3. Update commit-specific expectations, then run `npm run verify:power-apps-starter`, the package
23
- smoke test, and the full Liftoff test suite.
24
- 4. Review `THIRD_PARTY_NOTICES.md` output and packed-package size before release.
25
-
26
- This maintainer-only command downloads the requested immutable archive and never runs during
27
- `liftoff init`, planning, validation, updates, or doctor checks.
@@ -1,13 +0,0 @@
1
- import type { CommandRunner } from './process-runner.js';
2
- import type { CodingAgentDefinition, CodingAgentId } from './types.js';
3
- export type CodeAppsPluginState = 'ready' | 'missing' | 'not-observable';
4
- export interface CodeAppsPluginProbe {
5
- agent: CodingAgentDefinition;
6
- id: `code-apps-plugin:${CodingAgentId}`;
7
- state: CodeAppsPluginState;
8
- detail: string;
9
- remedy?: string;
10
- }
11
- export declare function codeAppsPluginIdentity(): string;
12
- export declare function codeAppsPluginGuidance(agent: CodingAgentDefinition): string;
13
- export declare function probeCodeAppsPlugin(agents: CodingAgentDefinition[], runner: CommandRunner, cwd?: string): Promise<CodeAppsPluginProbe[]>;
@@ -1,69 +0,0 @@
1
- import { codeAppsPlugin } from './catalogs.js';
2
- export function codeAppsPluginIdentity() {
3
- return `${codeAppsPlugin.id}@${codeAppsPlugin.marketplace}`;
4
- }
5
- export function codeAppsPluginGuidance(agent) {
6
- return [
7
- `Open ${agent.label} and add the marketplace with`,
8
- '`/plugin marketplace add microsoft/power-platform-skills`, then install',
9
- `\`/plugin install ${codeAppsPluginIdentity()}\`.`,
10
- 'Do not run `/create-code-app` in this project; use the connector and deployment skills',
11
- 'after Liftoff creates the application.'
12
- ].join(' ');
13
- }
14
- export async function probeCodeAppsPlugin(agents, runner, cwd) {
15
- return Promise.all(agents.map(async (agent) => {
16
- const id = `code-apps-plugin:${agent.id}`;
17
- const command = codeAppsPlugin.probes[agent.id];
18
- if (!command) {
19
- return {
20
- agent,
21
- id,
22
- state: 'not-observable',
23
- detail: `${agent.label} has no allowlisted plugin-list probe.`,
24
- remedy: codeAppsPluginGuidance(agent)
25
- };
26
- }
27
- const result = await runner.run(command, { cwd, timeoutMs: 15_000 });
28
- if (result.errorCode === 'ENOENT' || result.errorCode === 'UNKNOWN') {
29
- return {
30
- agent,
31
- id,
32
- state: 'not-observable',
33
- detail: `${agent.label} is unavailable, so plugin state cannot be observed.`,
34
- remedy: codeAppsPluginGuidance(agent)
35
- };
36
- }
37
- if (result.status !== 0 || result.timedOut) {
38
- return {
39
- agent,
40
- id,
41
- state: 'not-observable',
42
- detail: result.timedOut
43
- ? `${agent.label} plugin-list probe timed out.`
44
- : (result.stderr || result.errorMessage || `${agent.label} does not expose plugin state through this command.`)
45
- .trim()
46
- .split(/\r?\n/)[0],
47
- remedy: codeAppsPluginGuidance(agent)
48
- };
49
- }
50
- const installed = `${result.stdout}\n${result.stderr}`
51
- .toLowerCase()
52
- .includes(codeAppsPlugin.id);
53
- return installed
54
- ? {
55
- agent,
56
- id,
57
- state: 'ready',
58
- detail: `${codeAppsPluginIdentity()} ${codeAppsPlugin.version} is reported by ${agent.label}.`
59
- }
60
- : {
61
- agent,
62
- id,
63
- state: 'missing',
64
- detail: `${codeAppsPluginIdentity()} is not listed by ${agent.label}.`,
65
- remedy: codeAppsPluginGuidance(agent)
66
- };
67
- }));
68
- }
69
- //# sourceMappingURL=code-apps-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-apps-plugin.js","sourceRoot":"","sources":["../src/code-apps-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- export interface PowerAppsStarterAsset {
2
- logicalName: string;
3
- pathParts: string[];
4
- assetPath: string;
5
- sha256: string;
6
- provenance: 'upstream' | 'generated-lockfile';
7
- }
8
- export interface PowerAppsStarterCatalog {
9
- schemaVersion: 1;
10
- source: {
11
- repository: string;
12
- path: string;
13
- commit: string;
14
- archiveSha256: string;
15
- };
16
- license: {
17
- spdx: 'MIT';
18
- assetPath: string;
19
- sha256: string;
20
- };
21
- lockfile: {
22
- nodeBaseline: string;
23
- npmVersion: string;
24
- sha256: string;
25
- };
26
- files: PowerAppsStarterAsset[];
27
- }
28
- export declare const powerAppsStarterCatalog: PowerAppsStarterCatalog;
29
- export declare function readPowerAppsStarterAsset(asset: PowerAppsStarterAsset): string;
30
- export declare function readPowerAppsStarterLicense(): string;
@@ -1,131 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { readFileSync } from 'node:fs';
3
- import { fileURLToPath } from 'node:url';
4
- import { powerAppsCodeAppStarter } from './catalogs.js';
5
- const HASH_PATTERN = /^sha256:[0-9a-f]{64}$/;
6
- const ASSET_ROOT = `../assets/power-apps-code-app/${powerAppsCodeAppStarter.commit}/`;
7
- const catalogUrl = new URL(`${ASSET_ROOT}catalog.json`, import.meta.url);
8
- function hash(content) {
9
- return `sha256:${createHash('sha256').update(content).digest('hex')}`;
10
- }
11
- function isRecord(value) {
12
- return typeof value === 'object' && value !== null && !Array.isArray(value);
13
- }
14
- function validatePathParts(value, label) {
15
- if (!Array.isArray(value) || value.length === 0) {
16
- throw new Error(`${label} must be a non-empty path-part array.`);
17
- }
18
- return value.map((part, index) => {
19
- if (typeof part !== 'string' ||
20
- part.length === 0 ||
21
- part === '.' ||
22
- part === '..' ||
23
- part.includes('/') ||
24
- part.includes('\\') ||
25
- part.includes('\0')) {
26
- throw new Error(`${label}[${index}] is not a portable path part.`);
27
- }
28
- return part;
29
- });
30
- }
31
- function requiredString(record, field, label) {
32
- const value = record[field];
33
- if (typeof value !== 'string' || value.length === 0) {
34
- throw new Error(`${label}.${field} must be a non-empty string.`);
35
- }
36
- return value;
37
- }
38
- function parseCatalog() {
39
- const parsed = JSON.parse(readFileSync(fileURLToPath(catalogUrl), 'utf8'));
40
- if (!isRecord(parsed) || parsed.schemaVersion !== 1) {
41
- throw new Error('Power Apps starter catalog must use schema version 1.');
42
- }
43
- if (!isRecord(parsed.source) || !isRecord(parsed.license) || !isRecord(parsed.lockfile)) {
44
- throw new Error('Power Apps starter catalog metadata is incomplete.');
45
- }
46
- const source = {
47
- repository: requiredString(parsed.source, 'repository', 'catalog.source'),
48
- path: requiredString(parsed.source, 'path', 'catalog.source'),
49
- commit: requiredString(parsed.source, 'commit', 'catalog.source'),
50
- archiveSha256: requiredString(parsed.source, 'archiveSha256', 'catalog.source')
51
- };
52
- if (source.repository !== powerAppsCodeAppStarter.repository ||
53
- source.path !== powerAppsCodeAppStarter.path ||
54
- source.commit !== powerAppsCodeAppStarter.commit) {
55
- throw new Error('Power Apps starter catalog identity does not match the pinned workload catalog.');
56
- }
57
- if (!HASH_PATTERN.test(source.archiveSha256)) {
58
- throw new Error('Power Apps starter archive hash is invalid.');
59
- }
60
- const license = {
61
- spdx: requiredString(parsed.license, 'spdx', 'catalog.license'),
62
- assetPath: requiredString(parsed.license, 'assetPath', 'catalog.license'),
63
- sha256: requiredString(parsed.license, 'sha256', 'catalog.license')
64
- };
65
- if (license.spdx !== 'MIT' || !HASH_PATTERN.test(license.sha256)) {
66
- throw new Error('Power Apps starter license metadata is invalid.');
67
- }
68
- const lockfile = {
69
- nodeBaseline: requiredString(parsed.lockfile, 'nodeBaseline', 'catalog.lockfile'),
70
- npmVersion: requiredString(parsed.lockfile, 'npmVersion', 'catalog.lockfile'),
71
- sha256: requiredString(parsed.lockfile, 'sha256', 'catalog.lockfile')
72
- };
73
- if (!HASH_PATTERN.test(lockfile.sha256)) {
74
- throw new Error('Power Apps starter lockfile hash is invalid.');
75
- }
76
- if (!Array.isArray(parsed.files) || parsed.files.length === 0) {
77
- throw new Error('Power Apps starter catalog files must be a non-empty array.');
78
- }
79
- const logicalNames = new Set();
80
- const paths = new Set();
81
- const files = parsed.files.map((value, index) => {
82
- if (!isRecord(value)) {
83
- throw new Error(`catalog.files[${index}] must be an object.`);
84
- }
85
- const logicalName = requiredString(value, 'logicalName', `catalog.files[${index}]`);
86
- const pathParts = validatePathParts(value.pathParts, `catalog.files[${index}].pathParts`);
87
- const assetPath = requiredString(value, 'assetPath', `catalog.files[${index}]`);
88
- const sha256 = requiredString(value, 'sha256', `catalog.files[${index}]`);
89
- const provenance = requiredString(value, 'provenance', `catalog.files[${index}]`);
90
- if (provenance !== 'upstream' && provenance !== 'generated-lockfile') {
91
- throw new Error(`catalog.files[${index}].provenance is invalid.`);
92
- }
93
- const isGitignore = pathParts.length === 1 && pathParts[0] === '.gitignore';
94
- const expectedAssetPath = isGitignore
95
- ? assetPath === 'packaged/gitignore'
96
- : assetPath.startsWith('starter/');
97
- if (!expectedAssetPath || assetPath.includes('..') || !HASH_PATTERN.test(sha256)) {
98
- throw new Error(`catalog.files[${index}] contains unsafe asset metadata.`);
99
- }
100
- const pathKey = pathParts.join('\0');
101
- if (logicalNames.has(logicalName) || paths.has(pathKey)) {
102
- throw new Error(`Power Apps starter catalog contains duplicate entry ${logicalName}.`);
103
- }
104
- logicalNames.add(logicalName);
105
- paths.add(pathKey);
106
- return { logicalName, pathParts, assetPath, sha256, provenance };
107
- });
108
- return {
109
- schemaVersion: 1,
110
- source,
111
- license: { spdx: 'MIT', assetPath: license.assetPath, sha256: license.sha256 },
112
- lockfile,
113
- files
114
- };
115
- }
116
- export const powerAppsStarterCatalog = parseCatalog();
117
- function readVerifiedAsset(assetPath, expectedHash) {
118
- const bytes = readFileSync(fileURLToPath(new URL(`${ASSET_ROOT}${assetPath}`, import.meta.url)));
119
- const actualHash = hash(bytes);
120
- if (actualHash !== expectedHash) {
121
- throw new Error(`Packaged Power Apps asset ${assetPath} failed integrity validation.`);
122
- }
123
- return bytes.toString('utf8');
124
- }
125
- export function readPowerAppsStarterAsset(asset) {
126
- return readVerifiedAsset(asset.assetPath, asset.sha256);
127
- }
128
- export function readPowerAppsStarterLicense() {
129
- return readVerifiedAsset(powerAppsStarterCatalog.license.assetPath, powerAppsStarterCatalog.license.sha256);
130
- }
131
- //# sourceMappingURL=power-apps-assets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"power-apps-assets.js","sourceRoot":"","sources":["../src/power-apps-assets.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { AddArtifact } from './template-types.js';
2
- import type { PowerAppsCodeAppProjectPlan } from './types.js';
3
- export declare function addPowerAppsCodeAppArtifacts(add: AddArtifact, plan: PowerAppsCodeAppProjectPlan): void;
@@ -1,177 +0,0 @@
1
- import { codeAppsPlugin } from './catalogs.js';
2
- import { powerAppsStarterCatalog, readPowerAppsStarterAsset, readPowerAppsStarterLicense } from './power-apps-assets.js';
3
- import { renderGovernanceAssessmentGuide } from './repository-governance.js';
4
- import { OPEN_SPEC_DELIVERY, OPEN_SPEC_PROFILE, OPEN_SPEC_WORKFLOW_IDS } from './openspec-profile.js';
5
- function isRecord(value) {
6
- return typeof value === 'object' && value !== null && !Array.isArray(value);
7
- }
8
- function renderPackageJson(content, packageName) {
9
- const parsed = JSON.parse(content);
10
- if (!isRecord(parsed)) {
11
- throw new Error('Packaged Power Apps package.json must be an object.');
12
- }
13
- if (!isRecord(parsed.scripts)) {
14
- throw new Error('Packaged Power Apps package.json scripts must be an object.');
15
- }
16
- return JSON.stringify({
17
- ...parsed,
18
- name: packageName,
19
- scripts: {
20
- ...parsed.scripts,
21
- lint: 'eslint . --rule "react-refresh/only-export-components: off"'
22
- }
23
- }, null, 2);
24
- }
25
- function renderPackageLock(content, packageName) {
26
- const parsed = JSON.parse(content);
27
- if (!isRecord(parsed) || !isRecord(parsed.packages) || !isRecord(parsed.packages[''])) {
28
- throw new Error('Packaged Power Apps package-lock.json has an unsupported shape.');
29
- }
30
- return JSON.stringify({
31
- ...parsed,
32
- name: packageName,
33
- packages: {
34
- ...parsed.packages,
35
- '': {
36
- ...parsed.packages[''],
37
- name: packageName
38
- }
39
- }
40
- }, null, 2);
41
- }
42
- function renderReadme(plan) {
43
- const agents = plan.agents
44
- .map((agent) => `${agent.label}${agent.id === plan.defaultAgent?.id ? ' (default)' : ''}`)
45
- .join(', ');
46
- const pluginGuidance = plan.codeAppsPlugin
47
- ? `
48
- ## Optional Code Apps agent plugin
49
-
50
- This project requests the ${codeAppsPlugin.label}. In a selected agent session, add and install
51
- only the targeted plugin:
52
-
53
- \`\`\`text
54
- /plugin marketplace add microsoft/power-platform-skills
55
- /plugin install ${codeAppsPlugin.id}@${codeAppsPlugin.marketplace}
56
- \`\`\`
57
-
58
- Do not run \`/create-code-app\` here; Liftoff already created the application. Use the plugin's
59
- connector and deployment skills for post-creation work.
60
- `
61
- : '';
62
- const openSpecGuidance = plan.specWorkflow.id === 'openspec'
63
- ? [
64
- `- OpenSpec profile: ${OPEN_SPEC_PROFILE}; delivery: ${OPEN_SPEC_DELIVERY}; workflows: ${OPEN_SPEC_WORKFLOW_IDS.join(', ')}`,
65
- ...(plan.agents.some((agent) => agent.id === 'github-copilot')
66
- ? ['- GitHub Copilot cloud agent: controlled by `githubCopilot.cloudAgent` in `openspec/config.yaml`']
67
- : [])
68
- ].join('\n')
69
- : '';
70
- const governanceGuidance = plan.governanceProfile.id === 'none'
71
- ? 'Repository governance is disabled, so this project has no `/liftoff-setup` integration, managed phase graph, or credential-policy schema.'
72
- : 'When repository governance is enabled, `.liftoff/governance/README.md` explains deterministic setup. Run `/liftoff-setup` next from a selected agent; it completes, syncs, and archives the generated bootstrap seed, then stops at explicit authority gates. Rerun it to resume idempotently. Power Apps context does not invent a Liftoff backend, container, OpenTofu deployment, or API DAST lane.';
73
- return `# ${plan.projectName}
74
-
75
- Power Apps code app generated by Mission Control Liftoff from Microsoft's official starter.
76
-
77
- ## Start locally
78
-
79
- \`\`\`bash
80
- npm ci
81
- npm run dev
82
- \`\`\`
83
-
84
- ## Bind to Power Apps
85
-
86
- After dependencies are installed, initialize the local project with the packaged CLI:
87
-
88
- \`\`\`bash
89
- npx --no-install power-apps init
90
- \`\`\`
91
-
92
- Authentication, environment selection, connections, solutions, and deployment remain explicit
93
- Microsoft Power Platform actions. Liftoff does not generate \`power.config.json\`, tenant data,
94
- credentials, tokens, or connection identities.
95
-
96
- ## AI workflow
97
-
98
- - Spec workflow: ${plan.specWorkflow.label} ${plan.framework.version}
99
- - AI coding agents: ${agents}
100
- ${openSpecGuidance ? `${openSpecGuidance}\n` : ''}
101
- - Microsoft Code Apps preview plugin: ${plan.codeAppsPlugin ? 'requested' : 'not requested'}
102
-
103
- ## Quality checks
104
-
105
- The setup baseline is local only:
106
-
107
- \`\`\`bash
108
- npm run lint
109
- npm run build
110
- liftoff validate
111
- liftoff doctor
112
- \`\`\`
113
-
114
- Backend tests, frontend subproject builds, Docker Compose validation, OpenTofu
115
- format/init/validate, and API DAST are inapplicable because this generated
116
- workload has no Liftoff backend, \`frontend/\`, \`docker-compose.yml\`, or
117
- \`infrastructure/opentofu/azure\`. Setup does not run a live plan or apply, start
118
- containers, deploy, mutate GitHub, or ask for cloud credentials. Commit/push and
119
- Power Platform binding remain explicit; normal OpenSpec or Spec Kit feature and
120
- release work follows after the seed is archived.
121
-
122
- ## Liftoff maintenance
123
-
124
- \`liftoff upgrade --check\` and \`liftoff upgrade\` replace only a supported global Liftoff CLI installation. They do not modify this project. \`liftoff update --check\` and \`liftoff update\` maintain only explicit Liftoff core files.
125
-
126
- The Power Apps starter, package metadata, lockfile, source, assets, and this README are project-owned after generation. No update mode, including \`--force\`, replaces them. Adopting a newer packaged starter is a separately reviewed project migration; the existing non-Liftoff \`migrate\` command does not perform an in-place upgrade.
127
-
128
- For an existing OpenSpec project, change workflow delivery with \`openspec config profile\` and refresh framework-owned files with \`openspec update\`. Plain \`liftoff update\` does not regenerate OpenSpec integrations.
129
-
130
- ${governanceGuidance}
131
- ${plan.governanceProfile.id === 'none'
132
- ? '\nNo `/liftoff-governance-assess` integration is generated while governance is disabled.\n'
133
- : `\n${renderGovernanceAssessmentGuide()}`}
134
- ${pluginGuidance}
135
- ## Source
136
-
137
- - Repository: ${plan.starter.repository}
138
- - Template: \`${plan.starter.path}\`
139
- - Commit: \`${plan.starter.commit}\`
140
- - License: MIT; see \`THIRD_PARTY_NOTICES.md\`
141
- `;
142
- }
143
- function renderAttribution(plan) {
144
- return `# Third-party notices
145
-
146
- ## Microsoft PowerAppsCodeApps starter
147
-
148
- This project includes files derived from:
149
-
150
- - Repository: ${plan.starter.repository}
151
- - Path: \`${plan.starter.path}\`
152
- - Commit: \`${plan.starter.commit}\`
153
- - License: MIT
154
-
155
- Liftoff replaces the starter package name, supplies a deterministic generated lockfile, adjusts
156
- the lint command for starter modules that intentionally export shared variants or context, and
157
- replaces the starter README with workload and environment-binding guidance. Other starter files
158
- are packaged byte-for-byte from the recorded commit.
159
-
160
- ${readPowerAppsStarterLicense().trimEnd()}
161
- `;
162
- }
163
- export function addPowerAppsCodeAppArtifacts(add, plan) {
164
- for (const asset of powerAppsStarterCatalog.files) {
165
- const source = readPowerAppsStarterAsset(asset);
166
- const content = asset.logicalName === 'power-apps-package'
167
- ? renderPackageJson(source, plan.packageName)
168
- : asset.logicalName === 'power-apps-lock'
169
- ? renderPackageLock(source, plan.packageName)
170
- : asset.logicalName === 'power-apps-readme'
171
- ? renderReadme(plan)
172
- : source;
173
- add(asset.logicalName, 'power-apps-starter', asset.pathParts, content);
174
- }
175
- add('power-apps-attribution', 'documentation', ['THIRD_PARTY_NOTICES.md'], renderAttribution(plan));
176
- }
177
- //# sourceMappingURL=power-apps-templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"power-apps-templates.js","sourceRoot":"","sources":["../src/power-apps-templates.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function verifyPowerAppsPackageMetadata(projectRoot: string): Promise<string[]>;