@msn-control/liftoff 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/DEVELOPER.md +26 -24
  2. package/README.md +18 -18
  3. package/assets/governance/single-maintainer-gitflow/activation-v2-graph.json +1583 -0
  4. package/dist/adapters/credentials/github-enrollment.d.ts +51 -0
  5. package/dist/adapters/credentials/github-enrollment.js +226 -0
  6. package/dist/adapters/credentials/github-enrollment.js.map +1 -0
  7. package/dist/adapters/credentials/protected-input.d.ts +7 -0
  8. package/dist/adapters/credentials/protected-input.js +68 -0
  9. package/dist/adapters/credentials/protected-input.js.map +1 -0
  10. package/dist/adapters/filesystem/executables.d.ts +2 -0
  11. package/dist/adapters/filesystem/executables.js +70 -0
  12. package/dist/adapters/filesystem/executables.js.map +1 -0
  13. package/dist/adapters/filesystem/update-previews.d.ts +9 -0
  14. package/dist/adapters/filesystem/update-previews.js +45 -2
  15. package/dist/adapters/filesystem/update-previews.js.map +1 -1
  16. package/dist/adapters/filesystem/workstation-attempts.d.ts +13 -0
  17. package/dist/adapters/filesystem/workstation-attempts.js +78 -0
  18. package/dist/adapters/filesystem/workstation-attempts.js.map +1 -0
  19. package/dist/adapters/github/activation-rest.d.ts +40 -0
  20. package/dist/adapters/github/activation-rest.js +272 -0
  21. package/dist/adapters/github/activation-rest.js.map +1 -0
  22. package/dist/adapters/process/shell-command.d.ts +1 -0
  23. package/dist/adapters/process/shell-command.js +5 -2
  24. package/dist/adapters/process/shell-command.js.map +1 -1
  25. package/dist/adapters/state/azure-blob.d.ts +43 -0
  26. package/dist/adapters/state/azure-blob.js +335 -0
  27. package/dist/adapters/state/azure-blob.js.map +1 -0
  28. package/dist/adapters/state/darwin-capabilities.d.ts +33 -0
  29. package/dist/adapters/state/darwin-capabilities.js +146 -0
  30. package/dist/adapters/state/darwin-capabilities.js.map +1 -0
  31. package/dist/adapters/state/darwin-native-host.d.ts +32 -0
  32. package/dist/adapters/state/darwin-native-host.js +294 -0
  33. package/dist/adapters/state/darwin-native-host.js.map +1 -0
  34. package/dist/adapters/state/darwin-profile.d.ts +6 -0
  35. package/dist/adapters/state/darwin-profile.js +56 -0
  36. package/dist/adapters/state/darwin-profile.js.map +1 -0
  37. package/dist/adapters/state/darwin-system-program.d.ts +1 -0
  38. package/dist/adapters/state/darwin-system-program.js +94 -0
  39. package/dist/adapters/state/darwin-system-program.js.map +1 -0
  40. package/dist/adapters/state/local-qualification.d.ts +16 -0
  41. package/dist/adapters/state/local-qualification.js +299 -0
  42. package/dist/adapters/state/local-qualification.js.map +1 -0
  43. package/dist/adapters/state/local.d.ts +25 -0
  44. package/dist/adapters/state/local.js +145 -0
  45. package/dist/adapters/state/local.js.map +1 -0
  46. package/dist/adapters/state/native-command.d.ts +21 -0
  47. package/dist/adapters/state/native-command.js +82 -0
  48. package/dist/adapters/state/native-command.js.map +1 -0
  49. package/dist/adapters/state/native-files.d.ts +2 -0
  50. package/dist/adapters/state/native-files.js +47 -0
  51. package/dist/adapters/state/native-files.js.map +1 -0
  52. package/dist/adapters/state/native-system.d.ts +38 -0
  53. package/dist/adapters/state/native-system.js +86 -0
  54. package/dist/adapters/state/native-system.js.map +1 -0
  55. package/dist/adapters/state/opentofu.d.ts +35 -0
  56. package/dist/adapters/state/opentofu.js +350 -0
  57. package/dist/adapters/state/opentofu.js.map +1 -0
  58. package/dist/adapters/state/owned-process.d.ts +43 -0
  59. package/dist/adapters/state/owned-process.js +252 -0
  60. package/dist/adapters/state/owned-process.js.map +1 -0
  61. package/dist/adapters/state/posix-lock-program.d.ts +1 -0
  62. package/dist/adapters/state/posix-lock-program.js +185 -0
  63. package/dist/adapters/state/posix-lock-program.js.map +1 -0
  64. package/dist/adapters/state/posix-native-lock.d.ts +15 -0
  65. package/dist/adapters/state/posix-native-lock.js +145 -0
  66. package/dist/adapters/state/posix-native-lock.js.map +1 -0
  67. package/dist/adapters/state/protected-workspace.d.ts +57 -0
  68. package/dist/adapters/state/protected-workspace.js +412 -0
  69. package/dist/adapters/state/protected-workspace.js.map +1 -0
  70. package/dist/application/context.d.ts +3 -0
  71. package/dist/application/diagnose/doctor.d.ts +5 -0
  72. package/dist/application/diagnose/doctor.js +21 -5
  73. package/dist/application/diagnose/doctor.js.map +1 -1
  74. package/dist/application/diagnose/generated-project.js +2 -7
  75. package/dist/application/diagnose/generated-project.js.map +1 -1
  76. package/dist/application/initialize/fixture.js +8 -1
  77. package/dist/application/initialize/fixture.js.map +1 -1
  78. package/dist/application/initialize/use-case.js +70 -36
  79. package/dist/application/initialize/use-case.js.map +1 -1
  80. package/dist/application/project/manifest.js +5 -4
  81. package/dist/application/project/manifest.js.map +1 -1
  82. package/dist/application/state-migration/execution.d.ts +32 -0
  83. package/dist/application/state-migration/execution.js +440 -0
  84. package/dist/application/state-migration/execution.js.map +1 -0
  85. package/dist/application/state-migration/index.d.ts +22 -0
  86. package/dist/application/state-migration/index.js +17 -0
  87. package/dist/application/state-migration/index.js.map +1 -0
  88. package/dist/application/state-migration/lifecycle.d.ts +3 -0
  89. package/dist/application/state-migration/lifecycle.js +149 -0
  90. package/dist/application/state-migration/lifecycle.js.map +1 -0
  91. package/dist/application/state-migration/planning.d.ts +7 -0
  92. package/dist/application/state-migration/planning.js +150 -0
  93. package/dist/application/state-migration/planning.js.map +1 -0
  94. package/dist/application/state-migration/recovery.d.ts +5 -0
  95. package/dist/application/state-migration/recovery.js +145 -0
  96. package/dist/application/state-migration/recovery.js.map +1 -0
  97. package/dist/application/state-migration/runtime.d.ts +32 -0
  98. package/dist/application/state-migration/runtime.js +188 -0
  99. package/dist/application/state-migration/runtime.js.map +1 -0
  100. package/dist/application/state-migration/service.d.ts +2 -0
  101. package/dist/application/state-migration/service.js +20 -0
  102. package/dist/application/state-migration/service.js.map +1 -0
  103. package/dist/application/update/command-guidance.d.ts +19 -2
  104. package/dist/application/update/command-guidance.js +20 -6
  105. package/dist/application/update/command-guidance.js.map +1 -1
  106. package/dist/application/update/guidance-context.d.ts +2 -0
  107. package/dist/application/update/guidance-context.js +35 -0
  108. package/dist/application/update/guidance-context.js.map +1 -0
  109. package/dist/application/update/inspection.d.ts +21 -4
  110. package/dist/application/update/inspection.js +88 -29
  111. package/dist/application/update/inspection.js.map +1 -1
  112. package/dist/application/update/migration-runtime.js +25 -13
  113. package/dist/application/update/migration-runtime.js.map +1 -1
  114. package/dist/application/update/output.d.ts +4 -1
  115. package/dist/application/update/output.js +14 -4
  116. package/dist/application/update/output.js.map +1 -1
  117. package/dist/application/update/preview.d.ts +10 -1
  118. package/dist/application/update/preview.js +26 -4
  119. package/dist/application/update/preview.js.map +1 -1
  120. package/dist/application/update/revalidation-plan.d.ts +1 -0
  121. package/dist/application/update/revalidation-plan.js +27 -15
  122. package/dist/application/update/revalidation-plan.js.map +1 -1
  123. package/dist/application/update/revalidation.d.ts +4 -1
  124. package/dist/application/update/revalidation.js +64 -23
  125. package/dist/application/update/revalidation.js.map +1 -1
  126. package/dist/application/update/use-case.js +50 -29
  127. package/dist/application/update/use-case.js.map +1 -1
  128. package/dist/cli/args/definitions.js +11 -3
  129. package/dist/cli/args/definitions.js.map +1 -1
  130. package/dist/cli/args/parser.js +29 -3
  131. package/dist/cli/args/parser.js.map +1 -1
  132. package/dist/domain/governance/activation/approvals.d.ts +264 -7
  133. package/dist/domain/governance/activation/approvals.js +166 -23
  134. package/dist/domain/governance/activation/approvals.js.map +1 -1
  135. package/dist/domain/governance/activation/capabilities.js +5 -2
  136. package/dist/domain/governance/activation/capabilities.js.map +1 -1
  137. package/dist/domain/governance/activation/evidence.d.ts +2 -1
  138. package/dist/domain/governance/activation/evidence.js +64 -11
  139. package/dist/domain/governance/activation/evidence.js.map +1 -1
  140. package/dist/domain/governance/activation/graph.d.ts +11 -384
  141. package/dist/domain/governance/activation/graph.js +424 -379
  142. package/dist/domain/governance/activation/graph.js.map +1 -1
  143. package/dist/domain/governance/activation/inputs.d.ts +3 -1
  144. package/dist/domain/governance/activation/inputs.js +47 -6
  145. package/dist/domain/governance/activation/inputs.js.map +1 -1
  146. package/dist/domain/governance/activation/operations.d.ts +4 -1
  147. package/dist/domain/governance/activation/operations.js +110 -22
  148. package/dist/domain/governance/activation/operations.js.map +1 -1
  149. package/dist/domain/governance/activation/readiness.d.ts +10 -0
  150. package/dist/domain/governance/activation/readiness.js +77 -38
  151. package/dist/domain/governance/activation/readiness.js.map +1 -1
  152. package/dist/domain/governance/activation/types.d.ts +151 -9
  153. package/dist/domain/governance/activation/types.js +23 -1
  154. package/dist/domain/governance/activation/types.js.map +1 -1
  155. package/dist/domain/governance/activation/validators.d.ts +4 -1
  156. package/dist/domain/governance/activation/validators.js +419 -26
  157. package/dist/domain/governance/activation/validators.js.map +1 -1
  158. package/dist/domain/governance/policy/identity.d.ts +55 -13
  159. package/dist/domain/governance/policy/identity.js +28 -8
  160. package/dist/domain/governance/policy/identity.js.map +1 -1
  161. package/dist/domain/project/artifact-lifecycle.d.ts +2 -1
  162. package/dist/domain/project/artifact-lifecycle.js +7 -1
  163. package/dist/domain/project/artifact-lifecycle.js.map +1 -1
  164. package/dist/domain/project/catalog.d.ts +50 -1
  165. package/dist/domain/project/catalog.js +104 -4
  166. package/dist/domain/project/catalog.js.map +1 -1
  167. package/dist/domain/project/contracts.d.ts +9 -1
  168. package/dist/domain/project/infrastructure-layout.d.ts +1 -1
  169. package/dist/domain/project/infrastructure-layout.js +3 -1
  170. package/dist/domain/project/infrastructure-layout.js.map +1 -1
  171. package/dist/domain/project/manifest/governance.d.ts +1 -1
  172. package/dist/domain/project/manifest/governance.js +9 -10
  173. package/dist/domain/project/manifest/governance.js.map +1 -1
  174. package/dist/domain/project/planning.js +4 -5
  175. package/dist/domain/project/planning.js.map +1 -1
  176. package/dist/domain/repair/stateful-bounded.d.ts +1 -0
  177. package/dist/domain/repair/stateful-bounded.js +37 -0
  178. package/dist/domain/repair/stateful-bounded.js.map +1 -0
  179. package/dist/domain/repair/stateful-invariants.d.ts +28 -0
  180. package/dist/domain/repair/stateful-invariants.js +278 -0
  181. package/dist/domain/repair/stateful-invariants.js.map +1 -0
  182. package/dist/domain/repair/stateful.d.ts +690 -0
  183. package/dist/domain/repair/stateful.js +26 -0
  184. package/dist/domain/repair/stateful.js.map +1 -0
  185. package/dist/domain/workstation/constraints.d.ts +1 -0
  186. package/dist/domain/workstation/constraints.js.map +1 -1
  187. package/dist/domain/workstation/contracts.d.ts +42 -0
  188. package/dist/domain/workstation/contracts.js +2 -0
  189. package/dist/domain/workstation/contracts.js.map +1 -0
  190. package/dist/domain/workstation/executables.d.ts +19 -0
  191. package/dist/domain/workstation/executables.js +68 -0
  192. package/dist/domain/workstation/executables.js.map +1 -0
  193. package/dist/domain/workstation/versions.d.ts +8 -0
  194. package/dist/domain/workstation/versions.js +145 -0
  195. package/dist/domain/workstation/versions.js.map +1 -0
  196. package/dist/framework-adapters.d.ts +2 -0
  197. package/dist/framework-adapters.js +148 -22
  198. package/dist/framework-adapters.js.map +1 -1
  199. package/dist/framework-validation.d.ts +6 -0
  200. package/dist/framework-validation.js +89 -24
  201. package/dist/framework-validation.js.map +1 -1
  202. package/dist/generators/common/base.js +57 -17
  203. package/dist/generators/common/base.js.map +1 -1
  204. package/dist/governance-activation/activation-state.js +39 -7
  205. package/dist/governance-activation/activation-state.js.map +1 -1
  206. package/dist/governance-activation/authority-records.d.ts +4 -0
  207. package/dist/governance-activation/authority-records.js +24 -0
  208. package/dist/governance-activation/authority-records.js.map +1 -0
  209. package/dist/governance-activation/commands.d.ts +9 -1
  210. package/dist/governance-activation/commands.js +392 -97
  211. package/dist/governance-activation/commands.js.map +1 -1
  212. package/dist/governance-activation/compatibility.d.ts +11 -8
  213. package/dist/governance-activation/compatibility.js +37 -23
  214. package/dist/governance-activation/compatibility.js.map +1 -1
  215. package/dist/governance-activation/doctor.js +40 -16
  216. package/dist/governance-activation/doctor.js.map +1 -1
  217. package/dist/governance-activation/github-config.d.ts +17 -0
  218. package/dist/governance-activation/github-config.js +88 -0
  219. package/dist/governance-activation/github-config.js.map +1 -0
  220. package/dist/governance-activation/github-discovery.d.ts +18 -0
  221. package/dist/governance-activation/github-discovery.js +229 -0
  222. package/dist/governance-activation/github-discovery.js.map +1 -0
  223. package/dist/governance-activation/github-ports.d.ts +12 -0
  224. package/dist/governance-activation/github-ports.js +4 -0
  225. package/dist/governance-activation/github-ports.js.map +1 -0
  226. package/dist/governance-activation/github-publication.d.ts +3 -0
  227. package/dist/governance-activation/github-publication.js +190 -0
  228. package/dist/governance-activation/github-publication.js.map +1 -0
  229. package/dist/governance-activation/historical-common.d.ts +98 -0
  230. package/dist/governance-activation/historical-common.js +269 -0
  231. package/dist/governance-activation/historical-common.js.map +1 -0
  232. package/dist/governance-activation/historical-credential-policy.d.ts +3 -0
  233. package/dist/governance-activation/historical-credential-policy.js +91 -0
  234. package/dist/governance-activation/historical-credential-policy.js.map +1 -0
  235. package/dist/governance-activation/historical-inputs.d.ts +6 -0
  236. package/dist/governance-activation/historical-inputs.js +57 -0
  237. package/dist/governance-activation/historical-inputs.js.map +1 -0
  238. package/dist/governance-activation/historical-safety.d.ts +9 -0
  239. package/dist/governance-activation/historical-safety.js +102 -0
  240. package/dist/governance-activation/historical-safety.js.map +1 -0
  241. package/dist/governance-activation/historical-source-metadata.d.ts +31 -0
  242. package/dist/governance-activation/historical-source-metadata.js +55 -0
  243. package/dist/governance-activation/historical-source-metadata.js.map +1 -0
  244. package/dist/governance-activation/historical-state.d.ts +12 -50
  245. package/dist/governance-activation/historical-state.js +195 -308
  246. package/dist/governance-activation/historical-state.js.map +1 -1
  247. package/dist/governance-activation/historical-v1-auxiliary.d.ts +1 -0
  248. package/dist/governance-activation/historical-v1-auxiliary.js +43 -0
  249. package/dist/governance-activation/historical-v1-auxiliary.js.map +1 -0
  250. package/dist/governance-activation/historical-v1-phase-contracts.d.ts +31 -0
  251. package/dist/governance-activation/historical-v1-phase-contracts.js +46 -0
  252. package/dist/governance-activation/historical-v1-phase-contracts.js.map +1 -0
  253. package/dist/governance-activation/historical-v2.d.ts +53 -0
  254. package/dist/governance-activation/historical-v2.js +313 -0
  255. package/dist/governance-activation/historical-v2.js.map +1 -0
  256. package/dist/governance-activation/history-contracts.d.ts +21 -12
  257. package/dist/governance-activation/history-contracts.js +99 -27
  258. package/dist/governance-activation/history-contracts.js.map +1 -1
  259. package/dist/governance-activation/inputs.d.ts +8 -2
  260. package/dist/governance-activation/inputs.js +41 -6
  261. package/dist/governance-activation/inputs.js.map +1 -1
  262. package/dist/governance-activation/migration-history.d.ts +43 -5
  263. package/dist/governance-activation/migration-history.js +231 -50
  264. package/dist/governance-activation/migration-history.js.map +1 -1
  265. package/dist/governance-activation/migration.d.ts +7 -4
  266. package/dist/governance-activation/migration.js +53 -252
  267. package/dist/governance-activation/migration.js.map +1 -1
  268. package/dist/governance-activation/phase-azure.d.ts +3 -0
  269. package/dist/governance-activation/phase-azure.js +205 -0
  270. package/dist/governance-activation/phase-azure.js.map +1 -0
  271. package/dist/governance-activation/phase-bootstrap-state.js +3 -0
  272. package/dist/governance-activation/phase-bootstrap-state.js.map +1 -1
  273. package/dist/governance-activation/phase-github.d.ts +3 -0
  274. package/dist/governance-activation/phase-github.js +192 -0
  275. package/dist/governance-activation/phase-github.js.map +1 -0
  276. package/dist/governance-activation/phase-governance.js +8 -2
  277. package/dist/governance-activation/phase-governance.js.map +1 -1
  278. package/dist/governance-activation/public-plans.d.ts +36 -0
  279. package/dist/governance-activation/public-plans.js +100 -0
  280. package/dist/governance-activation/public-plans.js.map +1 -0
  281. package/dist/governance-activation/read-only.d.ts +3 -1
  282. package/dist/governance-activation/read-only.js +7 -3
  283. package/dist/governance-activation/read-only.js.map +1 -1
  284. package/dist/governance-activation/reconciliation.js +10 -0
  285. package/dist/governance-activation/reconciliation.js.map +1 -1
  286. package/dist/governance-activation/seed-lifecycle.js +14 -25
  287. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  288. package/dist/governance-activation/source-of-truth.d.ts +21 -5
  289. package/dist/governance-activation/source-of-truth.js +102 -13
  290. package/dist/governance-activation/source-of-truth.js.map +1 -1
  291. package/dist/governance-activation/task-projection.d.ts +4 -1
  292. package/dist/governance-activation/task-projection.js +32 -3
  293. package/dist/governance-activation/task-projection.js.map +1 -1
  294. package/dist/governance-activation/task-writes.d.ts +42 -0
  295. package/dist/governance-activation/task-writes.js +250 -0
  296. package/dist/governance-activation/task-writes.js.map +1 -0
  297. package/dist/governance-activation/transition-files.d.ts +12 -0
  298. package/dist/governance-activation/transition-files.js +109 -0
  299. package/dist/governance-activation/transition-files.js.map +1 -0
  300. package/dist/governance-activation/transition-planning.d.ts +3 -1
  301. package/dist/governance-activation/transition-planning.js +158 -20
  302. package/dist/governance-activation/transition-planning.js.map +1 -1
  303. package/dist/governance-activation/transition-ports.d.ts +31 -3
  304. package/dist/governance-activation/transition-records.d.ts +11 -1
  305. package/dist/governance-activation/transition-records.js +52 -6
  306. package/dist/governance-activation/transition-records.js.map +1 -1
  307. package/dist/governance-activation/transitions.d.ts +5 -0
  308. package/dist/governance-activation/transitions.js +271 -37
  309. package/dist/governance-activation/transitions.js.map +1 -1
  310. package/dist/governance-assessment/engine.js +22 -15
  311. package/dist/governance-assessment/engine.js.map +1 -1
  312. package/dist/governance-assessment/project.d.ts +2 -0
  313. package/dist/governance-assessment/project.js +2 -1
  314. package/dist/governance-assessment/project.js.map +1 -1
  315. package/dist/interactive.d.ts +0 -1
  316. package/dist/interactive.js +3 -22
  317. package/dist/interactive.js.map +1 -1
  318. package/dist/openspec-profile.d.ts +2 -1
  319. package/dist/openspec-profile.js +11 -41
  320. package/dist/openspec-profile.js.map +1 -1
  321. package/dist/repository-governance.d.ts +10 -5
  322. package/dist/repository-governance.js +178 -92
  323. package/dist/repository-governance.js.map +1 -1
  324. package/dist/telemetry/contract.d.ts +1 -1
  325. package/dist/telemetry/contract.js +3 -0
  326. package/dist/telemetry/contract.js.map +1 -1
  327. package/dist/workstation-catalog.d.ts +13 -1
  328. package/dist/workstation-catalog.js +122 -0
  329. package/dist/workstation-catalog.js.map +1 -1
  330. package/dist/workstation.d.ts +69 -14
  331. package/dist/workstation.js +600 -215
  332. package/dist/workstation.js.map +1 -1
  333. package/docs/cli-reference.md +94 -23
  334. package/docs/configuration-and-manifests.md +11 -10
  335. package/docs/prerequisites.md +93 -18
  336. package/docs/repository-governance.md +68 -40
  337. package/docs/spec-workflows-and-agents.md +132 -13
  338. package/docs/troubleshooting.md +28 -0
  339. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protected-workspace.js","sourceRoot":"","sources":["../../../src/adapters/state/protected-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,mBAAmB,EAQpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAY9D,MAAM,UAAU,GAAG,uEAAuE,CAAC;AAC3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AAE9H,MAAM,OAAO,uBAAuB;IAKL,OAAO;IAJ3B,YAAY,CAAS;IAC9B,MAAM,GAAG,KAAK,CAAC;IACf,aAAa,GAAG,CAAC,CAAC;IAElB,YAA6B,OAS5B;uBAT4B,OAAO;QAUlC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,mBAAmB,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,KAA+B,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAE1E,OAAO,CAAI,MAAwB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QACnD,WAAW,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACtE,OAAO,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA8B;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/F,WAAW,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;mBAClH,GAAG,CAAC,OAAO,KAAK,uBAAuB,IAAI,GAAG,CAAC,SAAS,KAAK,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACpG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB;gBAAE,MAAM,KAAK,CAAC;YACtD,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,CAAI,MAAmC;QACtD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAChG,WAAW,CAAC,QAAQ,CAAC,UAAU,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClC,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC;oBAAC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;wBAAS,CAAC;oBAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC5D,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB;gBAAE,MAAM,KAAK,CAAC;YACtD,IAAI,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,EAAE,CAAC,GAAW;QACpB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACvG,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,GAAG,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa;QACnE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;QACzD,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa,EAAE,KAAiB;QAC7F,WAAW,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;QACtG,WAAW,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;QAC3H,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACxE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACvF,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa,EAAE,KAAiB;QAC/F,WAAW,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC;QACjH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;YAC7E,WAAW,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YACrG,WAAW,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YACrJ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChD,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,oBAAoB,CAAC,CAAC;YAC5E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YAC1F,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAA6B,EAAE,KAAa,EAAE,KAAiB,EAAE,EAAE,GAAG,UAAU,EAAE;QAC1F,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,EAAE,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAC5G,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAAC,CAAC;gBAChF,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa;QACjE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;YAC9G,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC;YAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAAC,CAAC;gBAC3D,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,OAA6B,EAAE,KAAa,EAAE,cAAsB,EAAE,KAAiB;QAChH,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC;YAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAAC,CAAC;gBACzE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAAC,CAAC;gBAChF,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAmC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC;YAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAAC,CAAC;gBAC5E,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,OAA8B,EAAE,MAAyC;QAC5F,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,SAAiB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,OAA8B,EAC9B,QAAiC,EACjC,SAAkB,EAClB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;IAClI,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAA4B,EAAE,EAAE;YACpG,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC1C,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM;QAC5B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,WAAW,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,WAAW,CAAC,KAAK,CAAC,kBAAkB,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;WAC/G,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,2BAA2B,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAClJ,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;eAC5E,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACzJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,MAAc,EAAE,OAA8B;IAChG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM;WACnE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,KAAK,OAAO,CAAC,WAAW;WACtE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/H,WAAW,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACxF,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,OAAO,CAAC,WAAW;YAAE,MAAM;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;QACzF,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;WAC5E,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACzJ,CAAC;AAED,MAAM,OAAO,kCAAkC;IAGhB,IAAI;IAA2B,QAAQ;IAA4C,cAAc;IAF9H,QAAQ,GAAiC,IAAI,CAAC;IAE9C,YAA6B,IAAY,EAAmB,QAAiC,EAAmB,cAAc,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;oBAArH,IAAI;wBAA2B,QAAQ;8BAA4C,cAAc;IAAuB,CAAC;IAEtJ,MAAM,KAA0B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IAE3E,KAAK,CAAC,eAAe,CAAC,OAA8B;QAClD,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC/B,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,KAAiB;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClI,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC;YAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAA2B;QAC/D,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC3D,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAG,CAAC;gBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACtE,WAAW,CAAC,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,CAAC,CAAC;oBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;wBACxE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,IAAI,CAAC;wBACzC,MAAM,KAAK,CAAC;oBACd,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;wBAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;wBACxE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;oBACvB,WAAW,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;gBAAS,CAAC;YAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAiB;QACxC,WAAW,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC7I,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,cAAsB,EAAE,MAA2C;QACnG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,QAAQ,QAAQ,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC;YACH,WAAW,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,EAAE,oBAAoB,CAAC,CAAC;YACvF,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,cAAsB,EAAE,KAAiB;QACzE,WAAW,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAAC,CAAC;oBAChC,CAAC;gBAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QAC3H,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,cAAsB;QAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,OAA8B,EAAE,MAAyC;QAC5F,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,UAAU,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC;YAAC,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QACvC,OAAO,KAAK,EAAE,CAAC;YACb,mBAAmB,GAAG,KAAK,YAAY,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,mCAAmC,CAAC;YACjH,MAAM,KAAK,CAAC;QACd,CAAC;gBACO,CAAC;YACP,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,MAAM,wBAAwB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;oBACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;oBACpC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,aAAa,CAAC,CAAC;oBACpH,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,OAAO,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACvH,CAAC"}
@@ -5,6 +5,7 @@ import type { StableRelease } from '../stable-release.js';
5
5
  import type { PresentationSession, PresentationSessionOptions } from '../terminal.js';
6
6
  import type { UpdateApprovalPrompt } from './update/approval.js';
7
7
  import type { resolveUpdatePreviewLocation } from '../adapters/filesystem/update-previews.js';
8
+ import type { WorkstationNoProgressStore, WorkstationProbeOptions } from '../workstation.js';
8
9
  export interface CommandContext {
9
10
  cwd: string;
10
11
  stdout: NodeJS.WritableStream;
@@ -18,6 +19,8 @@ export interface CommandContext {
18
19
  updatePreview?: Parameters<typeof resolveUpdatePreviewLocation>[1];
19
20
  approveUpdatePlan?: UpdateApprovalPrompt;
20
21
  updateNow?: () => Date;
22
+ workstationProbe?: WorkstationProbeOptions;
23
+ workstationNoProgressStore?: WorkstationNoProgressStore;
21
24
  terminal?: Pick<PresentationSessionOptions, 'columns' | 'color' | 'snapshot' | 'env' | 'layout' | 'normalize'>;
22
25
  }
23
26
  export interface ExecutionContext extends CommandContext {
@@ -1,4 +1,5 @@
1
1
  import type { ExecutionContext } from '../context.js';
2
+ import { type ExecutableIdentity, type RequirementReasonCode, type RequirementProbeResult } from '../../workstation.js';
2
3
  interface DoctorCheck {
3
4
  id?: string;
4
5
  label: string;
@@ -7,6 +8,10 @@ interface DoctorCheck {
7
8
  requirementSeverity?: 'blocking' | 'advisory';
8
9
  detail: string;
9
10
  remedy?: string;
11
+ reasonCode?: RequirementReasonCode;
12
+ executable?: ExecutableIdentity;
13
+ required?: RequirementProbeResult['required'];
14
+ observedVersion?: string;
10
15
  }
11
16
  export interface DoctorLayer {
12
17
  title: string;
@@ -14,7 +14,7 @@ import { packagedSupportedStack as supportedStack } from '../../adapters/package
14
14
  import { governanceDoctorChecks } from '../../governance-activation/doctor.js';
15
15
  import { liftoffVersion } from '../../version.js';
16
16
  import { isRetiredPowerAppsError } from '../../domain/project/retired-workload.js';
17
- import { probeWorkstation, selectLiftoffRuntimeRequirements, selectWorkstationRequirements } from '../../workstation.js';
17
+ import { probeWorkstation, selectLiftoffRuntimeRequirements, selectWorkstationRequirements, workstationScopeReadiness } from '../../workstation.js';
18
18
  import { inspectProjectUpdate, UpdatePlanError } from '../update/inspection.js';
19
19
  const doctorProbeTimeoutMs = 15_000;
20
20
  async function versionedBinaryCheck(label, command, args, minimum, remedy, runner) {
@@ -90,6 +90,10 @@ function doctorCheckFromProbe(probe) {
90
90
  state: probe.state,
91
91
  requirementSeverity: probe.requirement.severity,
92
92
  detail: probe.detail,
93
+ reasonCode: probe.reasonCode,
94
+ executable: probe.identity,
95
+ required: probe.required,
96
+ ...(probe.detectedVersion ? { observedVersion: probe.detectedVersion } : {}),
93
97
  ...(probe.remedy ? { remedy: probe.remedy } : {})
94
98
  };
95
99
  }
@@ -119,7 +123,8 @@ function workstationSelectionFromManifest(manifest) {
119
123
  workload: {
120
124
  kind: workload.kind,
121
125
  apiStack: { id: workload.apiStack },
122
- provider: { id: workload.cloud }
126
+ provider: { id: workload.cloud },
127
+ frontend: workload.frontend
123
128
  },
124
129
  specWorkflow: { id: manifest.project.specWorkflow },
125
130
  framework: { version: framework.version },
@@ -530,9 +535,13 @@ export async function diagnoseProject(request, context) {
530
535
  }));
531
536
  layers.push(await cliLayer(releaseLookup, configuredRegistryLookup));
532
537
  const requirements = manifest
533
- ? selectWorkstationRequirements(workstationSelectionFromManifest(manifest), { includeFramework: manifest.framework.state === 'initialized' })
538
+ ? selectWorkstationRequirements(workstationSelectionFromManifest(manifest), { includeFramework: manifest.framework.state === 'initialized', scope: 'initialization' }).filter((requirement) => requirement.id !== 'docker' || ['compose.yaml', 'compose.yml', 'docker-compose.yml', 'docker-compose.yaml']
539
+ .some((name) => existsSync(path.join(projectRoot, name))))
534
540
  : selectLiftoffRuntimeRequirements();
535
- const probes = await probeWorkstation(requirements, runner);
541
+ const probes = await probeWorkstation(requirements, runner, {
542
+ ...context.workstationProbe, cwd: projectRoot ?? context.cwd, env: context.env ?? context.workstationProbe?.env
543
+ });
544
+ const readiness = workstationScopeReadiness(probes, manifest ? 'local' : 'initialization');
536
545
  const environment = workstationLayer(probes);
537
546
  layers.push(environment);
538
547
  const dockerAvailable = probes.some((probe) => probe.requirement.id === 'docker' && probe.state === 'ready');
@@ -569,7 +578,14 @@ export async function diagnoseProject(request, context) {
569
578
  const failures = layers.reduce((count, layer) => count + layer.checks.filter((check) => check.severity === 'fail').length, 0);
570
579
  const warnings = layers.reduce((count, layer) => count + layer.checks.filter((check) => check.severity === 'warn').length, 0);
571
580
  if (jsonMode) {
572
- context.presentation.rawStdout(`${JSON.stringify({ schemaVersion: 1, layers, summary: { failures, warnings } }, null, 2)}\n`);
581
+ context.presentation.rawStdout(`${JSON.stringify({
582
+ schemaVersion: 1, layers, summary: { failures, warnings },
583
+ workstation: {
584
+ scope: readiness.scope, ready: readiness.ready,
585
+ blockingTools: readiness.toolFailures.map((probe) => ({ id: probe.requirement.id, reasonCode: probe.reasonCode })),
586
+ authenticationRequiredForLocal: false
587
+ }
588
+ }, null, 2)}\n`);
573
589
  }
574
590
  else {
575
591
  renderDoctorLayers(layers, context.presentation);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/application/diagnose/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/application/diagnose/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readFile } from 'node:fs/promises';
3
- import { isRetiredManagedCoreLogicalName, managedCoreLogicalNames } from '../../domain/project/artifact-lifecycle.js';
4
- import { assessmentLogicalNames, preAssessmentManagedCoreLogicalNames } from '../../domain/project/manifest/governance.js';
3
+ import { isRetiredManagedCoreLogicalName } from '../../domain/project/artifact-lifecycle.js';
5
4
  import { readProjectFile } from '../../adapters/filesystem/project-files.js';
6
5
  import { resolveProjectPath } from '../../adapters/filesystem/project-paths.js';
7
6
  import { errorCode, errorMessage } from '../../adapters/filesystem/errors.js';
@@ -63,11 +62,7 @@ export async function validateGeneratedProject(projectRoot) {
63
62
  contentHashAuthority: 'liftoff.manifest.json managedArtifacts[].contentHash'
64
63
  }));
65
64
  const compatibility = validateGovernanceCompatibilityMetadata(JSON.parse(bytes.toString('utf8')));
66
- const predatesAssessment = !currentManagedArtifacts.some((artifact) => assessmentLogicalNames.some((logicalName) => artifact.logicalName === logicalName)) && compatibility.managedCore.logicalNameAllowlist.join('\0') ===
67
- preAssessmentManagedCoreLogicalNames.join('\0');
68
- const logicalNameAllowlist = predatesAssessment
69
- ? preAssessmentManagedCoreLogicalNames
70
- : managedCoreLogicalNames;
65
+ const logicalNameAllowlist = compatibility.managedCore.logicalNameAllowlist;
71
66
  validateGovernanceCompatibilityMetadata(compatibility, hasRetiredManagedArtifacts
72
67
  ? undefined
73
68
  : manifest.governance.state === 'handoff-generated'
@@ -1 +1 @@
1
- {"version":3,"file":"generated-project.js","sourceRoot":"","sources":["../../../src/application/diagnose/generated-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated-project.js","sourceRoot":"","sources":["../../../src/application/diagnose/generated-project.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import { artifactPath } from '../../adapters/filesystem/project-paths.js';
5
5
  import { assertNewOrEmptyDirectory, writeArtifacts, writeProjectFile } from '../../adapters/filesystem/project-files.js';
6
6
  import { buildProjectPlan } from '../project/planning.js';
7
7
  import { buildArtifacts } from '../../templates.js';
8
+ import { SPEC_KIT_AGENT_SURFACES, SPEC_KIT_WORKFLOW_IDS } from '../../domain/project/catalog.js';
9
+ import { openSpecIntegrationPaths } from '../../openspec-profile.js';
8
10
  export async function createFixtureProject(options) {
9
11
  const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'liftoff-'));
10
12
  const plan = buildProjectPlan(options, { requireProjectName: true });
@@ -15,7 +17,9 @@ export async function createFixtureProject(options) {
15
17
  await writeArtifacts(target, buildArtifacts(plan));
16
18
  for (const marker of [
17
19
  ...plan.framework.baseMarkers,
18
- ...plan.agents.flatMap((agent) => plan.framework.agentMarkers[agent.id])
20
+ ...plan.agents.flatMap((agent) => plan.specWorkflow.id === 'openspec'
21
+ ? openSpecIntegrationPaths(agent.id)
22
+ : SPEC_KIT_WORKFLOW_IDS.map((workflow) => [...SPEC_KIT_AGENT_SURFACES[agent.id].skillsRoot, `speckit-${workflow}`, 'SKILL.md']))
19
23
  ]) {
20
24
  let content = 'fixture marker\n';
21
25
  if (marker.join('/') === '.specify/integration.json') {
@@ -32,6 +36,9 @@ export async function createFixtureProject(options) {
32
36
  else if (marker.join('/') === '.specify/init-options.json') {
33
37
  content = '{}\n';
34
38
  }
39
+ else if (marker.join('/') === 'openspec/config.yaml') {
40
+ content = 'schema: spec-driven\n';
41
+ }
35
42
  await writeProjectFile(target, marker, content);
36
43
  }
37
44
  return target;
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/application/initialize/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,EACP,EAAE,EACH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,YAAY,EACb,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACf,MAAM,oBAAoB,CAAC;AAK5B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAuB;IAChE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI;QACnB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;QAC7B,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACzE,EAAE,CAAC;QACF,IAAI,OAAO,GAAG,kBAAkB,CAAC;QACjC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,2BAA2B,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/E,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;YACzE,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,wBAAwB,EAAE,CAAC;gBAC3B,WAAW,EAAE,kBAAkB;gBAC/B,mBAAmB,EAAE,kBAAkB;gBACvC,sBAAsB,EAAE,SAAS;gBACjC,oBAAoB,EAAE,EAAE;aACzB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,4BAA4B,EAAE,CAAC;YAC7D,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;QACD,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/application/initialize/fixture.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,10 @@ import { projectPlanEntries } from '../../domain/project/planning.js';
11
11
  import { buildDependencySetupPlan, dependencyResumeCommand, dependencyResumeShell, runDependencySetup } from '../../project-dependencies.js';
12
12
  import { formatCommand, NodeCommandRunner } from '../../process-runner.js';
13
13
  import { buildArtifacts, partitionGeneratedArtifacts } from '../../templates.js';
14
- import { blockingReadinessFailures, detectHostEnvironment, installRequirement, probeWorkstation, selectWorkstationRequirements } from '../../workstation.js';
14
+ import { detectHostEnvironment, installRequirement, probeWorkstation, selectRemediation, selectWorkstationRequirements, workstationScopeReadiness } from '../../workstation.js';
15
15
  import { assertSupportedProjectOptions, hasMissingInitInputs } from './inputs.js';
16
+ import { governanceAgentIntegrations, openSpecDeliveryDescription } from '../../domain/project/catalog.js';
17
+ import { createWorkstationNoProgressStore } from '../../adapters/filesystem/workstation-attempts.js';
16
18
  export async function initializeProject(input, context) {
17
19
  const { presentation } = context;
18
20
  assertSupportedProjectOptions(input);
@@ -119,13 +121,14 @@ export async function initializeProject(input, context) {
119
121
  if (!dependencyPhase.success) {
120
122
  return 1;
121
123
  }
124
+ const setupInvocations = [...new Set(plan.agents.map((agent) => governanceAgentIntegrations[agent.id].setup.invocation))];
122
125
  presentation.bullets('Configured integrations', [
123
126
  `${plan.specWorkflow.label} ${plan.framework.version}`,
124
127
  ...plan.agents.map((agent) => `${agent.label}${plan.defaultAgent?.id === agent.id ? ' (default)' : ''}`),
125
128
  ...(plan.specWorkflow.id === 'openspec'
126
129
  ? [
127
130
  `OpenSpec global profile: ${profileReadiness.changed ? 'configured' : 'verified'}; ` +
128
- `${OPEN_SPEC_WORKFLOW_IDS.length} workflows; skills and commands`,
131
+ `${OPEN_SPEC_WORKFLOW_IDS.length} workflows; ${openSpecDeliveryDescription(plan.agents)}`,
129
132
  ...(plan.agents.some((agent) => agent.id === 'github-copilot')
130
133
  ? [`GitHub Copilot cloud agent: ${plan.copilotCloud ? 'enabled' : 'disabled'}`]
131
134
  : [])
@@ -133,7 +136,10 @@ export async function initializeProject(input, context) {
133
136
  : []),
134
137
  plan.governanceProfile.id === 'none'
135
138
  ? 'Repository governance: disabled'
136
- : `Repository governance: ${plan.governanceProfile.label} policy ${plan.governanceProfile.policyVersion}; local handoff generated, live activation deferred`
139
+ : `Repository governance: ${plan.governanceProfile.label} policy ${plan.governanceProfile.policyVersion}; local handoff generated, live activation deferred`,
140
+ ...(plan.governanceProfile.id !== 'none' && setupInvocations.length > 1
141
+ ? plan.agents.map((agent) => `${agent.label} setup: ${governanceAgentIntegrations[agent.id].setup.invocation}`)
142
+ : [])
137
143
  ]);
138
144
  if (readiness.deferred.length > 0) {
139
145
  presentation.bullets('Deferred advisory checks', readiness.deferred);
@@ -141,6 +147,9 @@ export async function initializeProject(input, context) {
141
147
  if (dependencyPhase.deferred.length > 0) {
142
148
  presentation.bullets('Deferred project dependencies', dependencyPhase.deferred);
143
149
  }
150
+ const setupInvocation = setupInvocations.length === 1
151
+ ? setupInvocations[0]
152
+ : 'Use the setup invocation shown above for your selected agent';
144
153
  presentation.completion(`Initialized ${plan.projectName}`, target.root, [
145
154
  { label: 'Target', value: target.root },
146
155
  { label: 'Spec workflow', value: plan.specWorkflow.label },
@@ -149,11 +158,13 @@ export async function initializeProject(input, context) {
149
158
  label: 'Repository governance',
150
159
  value: plan.governanceProfile.id === 'none'
151
160
  ? 'Disabled'
152
- : 'Deterministic setup generated; run /liftoff-setup next'
161
+ : setupInvocations.length === 1
162
+ ? `Deterministic setup generated; run ${setupInvocation} next`
163
+ : 'Deterministic setup generated; use the agent-specific invocation shown above'
153
164
  }
154
165
  ], plan.governanceProfile.id === 'none'
155
166
  ? `liftoff validate ${JSON.stringify(target.root)}`
156
- : '/liftoff-setup');
167
+ : setupInvocation);
157
168
  return 0;
158
169
  });
159
170
  }
@@ -162,29 +173,28 @@ export async function initializeProject(input, context) {
162
173
  }
163
174
  }
164
175
  export async function ensureWorkstationReady(plan, options, context, runner, presentation, prompter, resumeInvocation = 'liftoff init', commandCwd) {
165
- const requirements = selectWorkstationRequirements(plan);
166
- const initialProbes = await probeWorkstation(requirements, runner, { cwd: commandCwd });
176
+ const requirements = selectWorkstationRequirements(plan, { scope: 'initialization' });
177
+ const probeOptions = { ...context.workstationProbe, cwd: commandCwd ?? context.cwd, env: context.env ?? context.workstationProbe?.env };
178
+ const initialProbes = await probeWorkstation(requirements, runner, probeOptions);
167
179
  let probes = initialProbes;
168
- presentation.table('Workstation readiness', ['Requirement', 'Level', 'State', 'Detail'], probes.map((probe) => [
180
+ presentation.table('Workstation readiness', ['Requirement', 'Level', 'State', 'Cause', 'Executable', 'Detail'], probes.map((probe) => [
169
181
  probe.requirement.definition.label,
170
182
  probe.requirement.severity,
171
183
  probe.state,
184
+ probe.reasonCode,
185
+ probe.identity.resolvedPath ?? probe.identity.executable,
172
186
  probe.detail
173
187
  ]));
174
- const actionable = probes.filter((probe) => probe.state !== 'ready');
175
- const host = await detectHostEnvironment();
188
+ const actionable = probes.filter((probe) => probe.state !== 'ready' || probe.reasonCode !== 'compatible');
189
+ const host = context.workstationProbe?.host ?? await detectHostEnvironment();
176
190
  const installInstruction = (probe) => {
177
- const recipe = probe.requirement.definition.install[host.platform];
178
- const automatic = recipe && (host.platform !== 'linux' || recipe.manager === 'npm' || recipe.manager === 'uv');
179
- if (automatic) {
180
- return formatCommand(recipe.command);
181
- }
182
- if (host.platform === 'linux') {
183
- return probe.requirement.definition.linuxRemedies[host.linuxFamily];
184
- }
185
- return `Install ${probe.requirement.definition.label} manually, then retry.`;
191
+ const selected = selectRemediation(probe.requirement, probe, host);
192
+ return selected.recipe ? formatCommand(selected.recipe.command) :
193
+ selected.remedy ?? probe.remedy ?? selected.detail;
186
194
  };
187
195
  const authorizedInstallations = new Set();
196
+ const reviewedRemedies = new Map();
197
+ const installationResults = new Map();
188
198
  if (options.installTools === true) {
189
199
  for (const probe of actionable) {
190
200
  authorizedInstallations.add(probe.requirement.id);
@@ -192,10 +202,13 @@ export async function ensureWorkstationReady(plan, options, context, runner, pre
192
202
  }
193
203
  if (options.installTools === undefined &&
194
204
  options.yes !== true &&
195
- actionable.length > 0) {
205
+ actionable.length > 0 &&
206
+ prompter !== undefined) {
196
207
  for (const probe of actionable) {
197
- const recipe = probe.requirement.definition.install[host.platform];
198
- const automatic = recipe && (host.platform !== 'linux' || recipe.manager === 'npm' || recipe.manager === 'uv');
208
+ const selection = selectRemediation(probe.requirement, probe, host);
209
+ const recipe = selection.recipe;
210
+ if (!recipe)
211
+ continue;
199
212
  const constraint = probe.requirement.exactVersion || probe.requirement.minimumVersion
200
213
  ? `required ${formatRequirementVersion(probe.requirement)}`
201
214
  : 'required to be available';
@@ -205,34 +218,53 @@ export async function ensureWorkstationReady(plan, options, context, runner, pre
205
218
  purpose: probe.requirement.reasons.join('; '),
206
219
  requirement: constraint,
207
220
  observed: `${probe.state} - ${probe.detail}`,
208
- ...(automatic
209
- ? { command: formatCommand(recipe.command) }
210
- : { remedy: installInstruction(probe) })
221
+ command: formatCommand(recipe.command)
211
222
  })) {
212
223
  authorizedInstallations.add(probe.requirement.id);
224
+ reviewedRemedies.set(probe.requirement.id, recipe.id);
213
225
  }
214
226
  }
215
227
  }
216
228
  if (authorizedInstallations.size > 0) {
229
+ const noProgressStore = context.workstationNoProgressStore ?? createWorkstationNoProgressStore(context.cwd, {
230
+ ...context.updatePreview,
231
+ env: context.env ?? context.updatePreview?.env
232
+ });
217
233
  const updates = new Map();
218
234
  for (const probe of actionable) {
219
235
  if (!authorizedInstallations.has(probe.requirement.id)) {
220
236
  continue;
221
237
  }
222
- presentation.stage(`Install ${probe.requirement.definition.label}`, `${probe.state} - ${probe.detail}`);
223
- const recipe = probe.requirement.definition.install[host.platform];
224
- if (recipe && (host.platform !== 'linux' || recipe.manager === 'npm' || recipe.manager === 'uv')) {
238
+ const selection = selectRemediation(probe.requirement, probe, host);
239
+ const recipe = selection.recipe;
240
+ if (recipe?.requiresExplicitReview && !reviewedRemedies.has(probe.requirement.id) &&
241
+ prompter && options.yes !== true) {
242
+ if (await prompter.confirmToolInstallation({
243
+ label: probe.requirement.definition.label,
244
+ severity: probe.requirement.severity,
245
+ purpose: `Separate review of ${recipe.operation}; generic tool-install consent does not authorize version or channel replacement.`,
246
+ requirement: formatRequirementVersion(probe.requirement),
247
+ observed: `${probe.reasonCode} - ${probe.detail}`,
248
+ command: formatCommand(recipe.command)
249
+ }))
250
+ reviewedRemedies.set(probe.requirement.id, recipe.id);
251
+ }
252
+ presentation.stage(`Remediate ${probe.requirement.definition.label}`, `${probe.reasonCode} - ${probe.detail}`);
253
+ if (recipe && (!recipe.requiresExplicitReview || reviewedRemedies.has(probe.requirement.id))) {
225
254
  presentation.command(formatCommand(recipe.command));
226
255
  }
227
256
  const installation = await installRequirement(probe.requirement, probe, {
257
+ ...probeOptions,
228
258
  authorized: true,
229
259
  host,
230
260
  runner,
231
- cwd: commandCwd,
261
+ approvedRemediationId: reviewedRemedies.get(probe.requirement.id),
262
+ noProgressStore,
232
263
  streamOptions: presentation.childStreams()
233
264
  });
265
+ installationResults.set(probe.requirement.id, installation);
234
266
  updates.set(probe.requirement.id, installation.probe);
235
- const kind = installation.state === 'installed'
267
+ const kind = installation.state === 'installed' || installation.state === 'not-needed'
236
268
  ? 'success'
237
269
  : probe.requirement.severity === 'blocking'
238
270
  ? 'error'
@@ -244,20 +276,22 @@ export async function ensureWorkstationReady(plan, options, context, runner, pre
244
276
  }
245
277
  probes = probes.map((probe) => updates.get(probe.requirement.id) ?? probe);
246
278
  }
247
- const blockers = blockingReadinessFailures(probes);
279
+ const blockers = workstationScopeReadiness(probes, 'initialization').toolFailures;
248
280
  if (blockers.length > 0) {
249
281
  for (const blocker of blockers) {
250
- presentation.error(`${blocker.requirement.definition.label}: ${blocker.detail}`, installInstruction(blocker));
282
+ presentation.error(`${blocker.requirement.definition.label}: ${blocker.detail}`, installationResults.get(blocker.requirement.id)?.remedy ?? installInstruction(blocker));
251
283
  }
252
- presentation.error('Workstation readiness is incomplete.', options.installTools
253
- ? `Open a new terminal if PATH changed, then rerun \`${resumeInvocation}\` with the same project options.`
254
- : `Resume with \`${resumeInvocation} --install-tools\` plus the same project options after reviewing the commands.`);
284
+ presentation.error('Workstation readiness is incomplete.', [...installationResults.values()].some((result) => result.state === 'restart-required')
285
+ ? `Follow the named executable-discovery remedy, then rerun \`${resumeInvocation}\` with the same project options.`
286
+ : options.installTools
287
+ ? `Resolve the named compatibility or installation cause before retrying \`${resumeInvocation}\`. Use --install-tools only for a reviewed registered remedy; unchanged attempts will not be repeated.`
288
+ : `Resume with \`${resumeInvocation} --install-tools\` plus the same project options after reviewing the commands.`);
255
289
  return { ready: false, deferred: [], probes };
256
290
  }
257
291
  const deferred = [
258
292
  ...probes
259
293
  .filter((probe) => probe.requirement.severity === 'advisory' && probe.state !== 'ready')
260
- .map((probe) => `${probe.requirement.definition.label}: ${probe.detail} Remedy: ${installInstruction(probe)}`),
294
+ .map((probe) => `${probe.requirement.definition.label}: ${probe.detail} Remedy: ${installationResults.get(probe.requirement.id)?.remedy ?? installInstruction(probe)}`),
261
295
  ...probes.flatMap((probe) => probe.notices
262
296
  .filter((notice) => notice.state !== 'ready')
263
297
  .map((notice) => `${notice.label}: ${notice.detail}${notice.remedy ? ` Remedy: ${notice.remedy}` : ''}`))