@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.40

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 (791) hide show
  1. package/README.md +18 -0
  2. package/executors.json +21 -1
  3. package/generators.json +10 -0
  4. package/package.json +31 -7
  5. package/src/aws/child-environment.d.ts +10 -0
  6. package/src/aws/child-environment.js +77 -0
  7. package/src/aws/identity.d.ts +13 -0
  8. package/src/aws/identity.js +41 -0
  9. package/src/aws-authority/index.d.ts +2 -0
  10. package/src/aws-authority/index.js +6 -0
  11. package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
  12. package/src/aws-authority/lambda-policy-ordering.js +56 -0
  13. package/src/aws-authority/stage-authority.d.ts +248 -0
  14. package/src/aws-authority/stage-authority.js +3558 -0
  15. package/src/blueprints/external-sandbox.js +21 -9
  16. package/src/blueprints/manifest.d.ts +1 -1
  17. package/src/blueprints/resolver.js +28 -15
  18. package/src/cli/bootstrap.d.ts +1 -1
  19. package/src/cli/deploy-runtime.d.ts +6 -0
  20. package/src/cli/deploy-runtime.js +58 -0
  21. package/src/cli/dev-command.d.ts +16 -4
  22. package/src/cli/dev-command.js +63 -0
  23. package/src/cli/main.d.ts +9 -1
  24. package/src/cli/main.js +139 -20
  25. package/src/cli/output.d.ts +1 -1
  26. package/src/cli/output.js +1 -1
  27. package/src/developer-agent/context.js +41 -9
  28. package/src/developer-agent/generator-planning.js +20 -6
  29. package/src/developer-agent/git-inspection.d.ts +6 -2
  30. package/src/developer-agent/git-inspection.js +78 -6
  31. package/src/developer-agent/model.d.ts +5 -3
  32. package/src/developer-agent/model.js +4 -4
  33. package/src/developer-agent/operation-registry.d.ts +5 -0
  34. package/src/developer-agent/operation-registry.js +286 -40
  35. package/src/developer-agent/planning.js +16 -13
  36. package/src/developer-agent/preview-changes.d.ts +2 -0
  37. package/src/developer-agent/preview-changes.js +14 -2
  38. package/src/developer-agent/preview-source.js +3 -0
  39. package/src/developer-agent/validation.js +25 -9
  40. package/src/developer-agent/workspace-inspection.js +60 -5
  41. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  42. package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
  43. package/src/executors/deployment-plan/deployment-plan.js +57 -2
  44. package/src/executors/dev-doctor/dev-doctor.js +13 -6
  45. package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
  46. package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
  47. package/src/executors/dev-task-cleanup/schema.json +9 -0
  48. package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
  49. package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
  50. package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
  51. package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
  52. package/src/executors/fleet/fleet.js +1 -1
  53. package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
  54. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  55. package/src/executors/foundation-preflight/schema.json +5 -0
  56. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
  57. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
  58. package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
  59. package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
  60. package/src/executors/foundation-profile-preflight/schema.json +15 -4
  61. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
  62. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
  63. package/src/executors/foundation-remove-preflight/schema.json +6 -1
  64. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  65. package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
  66. package/src/executors/github-bootstrap/schema.json +7 -1
  67. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
  68. package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
  69. package/src/executors/infrastructure-plan/schema.json +12 -52
  70. package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
  71. package/src/executors/local-deploy/federated-credential-transport.js +252 -0
  72. package/src/executors/local-deploy/local-approval.d.ts +18 -0
  73. package/src/executors/local-deploy/local-approval.js +39 -0
  74. package/src/executors/local-deploy/local-deploy.d.ts +112 -0
  75. package/src/executors/local-deploy/local-deploy.js +1404 -0
  76. package/src/executors/local-deploy/schema.json +70 -0
  77. package/src/executors/refresh/refresh.js +2 -2
  78. package/src/executors/remove/remove.js +2 -2
  79. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
  80. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
  81. package/src/executors/router-waf-rehearsal/schema.json +29 -0
  82. package/src/executors/secret-initialize/schema.json +42 -0
  83. package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
  84. package/src/executors/secret-initialize/secret-initialize.js +297 -0
  85. package/src/executors/secret-metadata/schema.json +5 -0
  86. package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
  87. package/src/executors/secret-metadata/secret-metadata.js +129 -30
  88. package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
  89. package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
  90. package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
  91. package/src/executors/sst-lifecycle/governed-native-operation.js +162 -0
  92. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  93. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  94. package/src/executors/sst-lifecycle/run-sst-command.d.ts +40 -6
  95. package/src/executors/sst-lifecycle/run-sst-command.js +779 -70
  96. package/src/executors/sst-lifecycle/schema.json +8 -1
  97. package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
  98. package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
  99. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
  100. package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
  101. package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
  102. package/src/executors/sst-lifecycle/task-unlock.js +126 -0
  103. package/src/executors/unlock/unlock.js +2 -2
  104. package/src/foundation/capability-plan.d.ts +43 -0
  105. package/src/foundation/capability-plan.js +168 -0
  106. package/src/foundation/discovery.d.ts +14 -11
  107. package/src/foundation/discovery.js +32 -6
  108. package/src/foundation/index.d.ts +4 -0
  109. package/src/foundation/index.js +11 -0
  110. package/src/foundation/local-database-contract.d.ts +20 -0
  111. package/src/foundation/local-database-contract.js +262 -13
  112. package/src/foundation/local-private-smoke-access.d.ts +20 -0
  113. package/src/foundation/local-private-smoke-access.js +197 -0
  114. package/src/foundation/logging-preflight.js +1 -1
  115. package/src/foundation/logging.d.ts +3 -1
  116. package/src/foundation/logging.js +1 -1
  117. package/src/foundation/partial-state.d.ts +10 -0
  118. package/src/foundation/partial-state.js +21 -0
  119. package/src/foundation/preflight.js +37 -18
  120. package/src/foundation/private-smoke-access.d.ts +25 -0
  121. package/src/foundation/private-smoke-access.js +135 -0
  122. package/src/foundation/private-smoke-admission.d.ts +45 -0
  123. package/src/foundation/private-smoke-admission.js +180 -0
  124. package/src/foundation/private-smoke-control-plane.d.ts +18 -0
  125. package/src/foundation/private-smoke-control-plane.js +184 -0
  126. package/src/foundation/provision-database-bindings.d.ts +5 -0
  127. package/src/foundation/provision-database-bindings.js +41 -8
  128. package/src/foundation/provision-logical-database.js +15 -8
  129. package/src/foundation/requirements.d.ts +3 -3
  130. package/src/foundation/requirements.js +24 -12
  131. package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
  132. package/src/foundation/router-waf-rate-rehearsal.js +210 -0
  133. package/src/foundation/router-waf.d.ts +149 -0
  134. package/src/foundation/router-waf.js +809 -0
  135. package/src/foundation/stages.d.ts +1 -0
  136. package/src/foundation/stages.js +11 -0
  137. package/src/generators/blueprint/blueprint.d.ts +5 -0
  138. package/src/generators/blueprint/blueprint.js +102 -0
  139. package/src/generators/blueprint/files.d.ts +6 -0
  140. package/src/generators/blueprint/files.js +217 -0
  141. package/src/generators/blueprint/schema.d.ts +4 -0
  142. package/src/generators/blueprint/schema.json +18 -0
  143. package/src/generators/formatting.d.ts +8 -0
  144. package/src/generators/formatting.js +141 -0
  145. package/src/generators/function/function.js +38 -17
  146. package/src/generators/logging-registry.d.ts +2 -0
  147. package/src/generators/logging-registry.js +22 -0
  148. package/src/generators/post-generation-install.js +2 -2
  149. package/src/generators/preset/dependency-overrides.d.ts +8 -0
  150. package/src/generators/preset/dependency-overrides.js +55 -0
  151. package/src/generators/preset/generator.js +43 -3
  152. package/src/generators/preset/schema.d.ts +10 -0
  153. package/src/generators/preset/schema.json +47 -0
  154. package/src/generators/preset/tool-versions.d.ts +2 -0
  155. package/src/generators/preset/tool-versions.js +3 -1
  156. package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
  157. package/src/generators/preset/workspace-files-adopter-skills.js +303 -0
  158. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  159. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  160. package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
  161. package/src/generators/preset/workspace-files-ci-install.js +196 -0
  162. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  163. package/src/generators/preset/workspace-files-developer-agent.js +90 -28
  164. package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
  165. package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
  166. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  167. package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
  168. package/src/generators/preset/workspace-files-performance-cost.js +8 -8
  169. package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
  170. package/src/generators/preset/workspace-files-performance-load.js +39 -25
  171. package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
  172. package/src/generators/preset/workspace-files-stage-authority.js +518 -0
  173. package/src/generators/preset/workspace-files-thin-deploy.d.ts +55 -0
  174. package/src/generators/preset/workspace-files-thin-deploy.js +2473 -0
  175. package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
  176. package/src/generators/preset/workspace-files-thin-docs.js +352 -0
  177. package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
  178. package/src/generators/preset/workspace-files-thin-release.js +26 -0
  179. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  180. package/src/generators/preset/workspace-files.d.ts +18 -2
  181. package/src/generators/preset/workspace-files.js +1504 -608
  182. package/src/generators/repository-policy/repository-policy.js +235 -5
  183. package/src/generators/repository-policy/schema.d.ts +10 -0
  184. package/src/generators/repository-policy/schema.json +80 -4
  185. package/src/generators/repository-policy/tree-policy.d.ts +3 -0
  186. package/src/generators/repository-policy/tree-policy.js +25 -0
  187. package/src/generators/slice/built-in-plan-api-contract-files.js +42 -7
  188. package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
  189. package/src/generators/slice/built-in-plan-api-files.js +130 -414
  190. package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
  191. package/src/generators/slice/built-in-plan-authorization-files.js +92 -329
  192. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +60 -2
  193. package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
  194. package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
  195. package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
  196. package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
  197. package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
  198. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
  199. package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
  200. package/src/generators/slice/built-in-plan-data-files.js +163 -1196
  201. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
  202. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
  203. package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
  204. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
  205. package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
  206. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
  207. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +20 -1
  208. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
  209. package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
  210. package/src/generators/slice/built-in-plan-frontend-files.js +7 -3
  211. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
  212. package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -729
  213. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  214. package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
  215. package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
  216. package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
  217. package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
  218. package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
  219. package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
  220. package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
  221. package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
  222. package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
  223. package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
  224. package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
  225. package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
  226. package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
  227. package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
  228. package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
  229. package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
  230. package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
  231. package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
  232. package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
  233. package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
  234. package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
  235. package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
  236. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
  237. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
  238. package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
  239. package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
  240. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
  241. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
  242. package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
  243. package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
  244. package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
  245. package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
  246. package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
  247. package/src/generators/slice/built-in-plan-metadata-files.js +157 -28
  248. package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
  249. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
  250. package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
  251. package/src/generators/slice/built-in-plan-operations-files.js +585 -97
  252. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  253. package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
  254. package/src/generators/slice/built-in-plan-project-files.js +141 -135
  255. package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
  256. package/src/generators/slice/built-in-plan-release-files.js +310 -70
  257. package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
  258. package/src/generators/slice/built-in-plan-reliability-files.js +279 -43
  259. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
  260. package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
  261. package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
  262. package/src/generators/slice/built-in-plan-shared.js +41 -19
  263. package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
  264. package/src/generators/slice/built-in-plan-sql-events.js +276 -0
  265. package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
  266. package/src/generators/slice/built-in-plan-testing-files.js +304 -172
  267. package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
  268. package/src/generators/slice/built-in-plan-testing-persistence-files.js +178 -0
  269. package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
  270. package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
  271. package/src/generators/slice/built-in-plan-verification-files.js +76 -2
  272. package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
  273. package/src/generators/slice/built-in-plan-web-files.js +223 -16
  274. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
  275. package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
  276. package/src/generators/slice/built-in-plan.d.ts +11 -1
  277. package/src/generators/slice/built-in-plan.js +80 -29
  278. package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
  279. package/src/generators/slice/data-policy-review-seed.js +22 -0
  280. package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
  281. package/src/generators/slice/deployed-smoke-readiness.js +214 -0
  282. package/src/generators/slice/local-source-identity.d.ts +2 -0
  283. package/src/generators/slice/local-source-identity.js +31 -0
  284. package/src/generators/slice/persistence-contract.d.ts +14 -0
  285. package/src/generators/slice/persistence-contract.js +32 -0
  286. package/src/generators/slice/slice.js +61 -50
  287. package/src/generators/sql/schema.d.ts +7 -0
  288. package/src/generators/sql/schema.json +38 -0
  289. package/src/generators/sql/sql.d.ts +6 -0
  290. package/src/generators/sql/sql.js +53 -0
  291. package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
  292. package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
  293. package/src/generators/upgrade/upgrade.d.ts +15 -1
  294. package/src/generators/upgrade/upgrade.js +435 -44
  295. package/src/generators/workload/performance-registration.d.ts +1 -0
  296. package/src/generators/workload/performance-registration.js +9 -11
  297. package/src/generators/workload/service-performance-files.d.ts +1 -0
  298. package/src/generators/workload/service-performance-files.js +27 -7
  299. package/src/generators/workload/workload.d.ts +1 -1
  300. package/src/generators/workload/workload.js +105 -29
  301. package/src/git-policy/action-pins.d.ts +5 -0
  302. package/src/git-policy/action-pins.js +5 -0
  303. package/src/git-policy/github-bootstrap.d.ts +39 -8
  304. package/src/git-policy/github-bootstrap.js +329 -175
  305. package/src/git-policy/routing.d.ts +7 -1
  306. package/src/git-policy/routing.js +62 -1
  307. package/src/index.d.ts +1 -0
  308. package/src/index.js +1 -0
  309. package/src/infrastructure-change/local-capability.d.ts +73 -0
  310. package/src/infrastructure-change/local-capability.js +114 -0
  311. package/src/infrastructure-change/model.d.ts +25 -4
  312. package/src/infrastructure-change/model.js +1 -0
  313. package/src/infrastructure-change/normalize.d.ts +4 -0
  314. package/src/infrastructure-change/normalize.js +47 -7
  315. package/src/infrastructure-change/plan.d.ts +30 -3
  316. package/src/infrastructure-change/plan.js +323 -13
  317. package/src/infrastructure-change/risk.d.ts +3 -1
  318. package/src/infrastructure-change/risk.js +96 -16
  319. package/src/local-dev/browser-verification.d.ts +37 -0
  320. package/src/local-dev/browser-verification.js +281 -0
  321. package/src/local-dev/contracts.d.ts +10 -1
  322. package/src/local-dev/contracts.js +114 -13
  323. package/src/local-dev/dev-command-core.js +24 -5
  324. package/src/local-dev/docker-credential-health.d.ts +14 -0
  325. package/src/local-dev/docker-credential-health.js +94 -0
  326. package/src/local-dev/environment-inspector.d.ts +7 -0
  327. package/src/local-dev/environment-inspector.js +42 -15
  328. package/src/local-dev/environment-state.js +2 -2
  329. package/src/local-dev/errors.d.ts +1 -1
  330. package/src/local-dev/errors.js +2 -0
  331. package/src/local-dev/fleet-client.js +2 -2
  332. package/src/local-dev/fleet-configuration.js +57 -25
  333. package/src/local-dev/fleet-inventory.js +46 -18
  334. package/src/local-dev/fleet-ipc.d.ts +7 -0
  335. package/src/local-dev/fleet-ipc.js +14 -2
  336. package/src/local-dev/fleet-launcher.d.ts +6 -0
  337. package/src/local-dev/fleet-launcher.js +14 -2
  338. package/src/local-dev/fleet-logs.js +50 -22
  339. package/src/local-dev/fleet-process.d.ts +20 -1
  340. package/src/local-dev/fleet-process.js +197 -41
  341. package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
  342. package/src/local-dev/fleet-runner-evidence.js +56 -0
  343. package/src/local-dev/fleet-runtime.js +268 -229
  344. package/src/local-dev/fleet-session.d.ts +2 -0
  345. package/src/local-dev/fleet-session.js +28 -11
  346. package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
  347. package/src/local-dev/fleet-state.d.ts +5 -2
  348. package/src/local-dev/fleet-state.js +25 -4
  349. package/src/local-dev/fleet-supervisor.d.ts +3 -0
  350. package/src/local-dev/fleet-supervisor.js +66 -11
  351. package/src/local-dev/fleet-web-start.d.ts +12 -0
  352. package/src/local-dev/fleet-web-start.js +48 -0
  353. package/src/local-dev/identity.js +3 -14
  354. package/src/local-dev/index.d.ts +1 -0
  355. package/src/local-dev/index.js +1 -0
  356. package/src/local-dev/native-completion.d.ts +9 -0
  357. package/src/local-dev/native-completion.js +130 -0
  358. package/src/local-dev/nx-workspace.d.ts +4 -2
  359. package/src/local-dev/nx-workspace.js +11 -6
  360. package/src/local-dev/personal-stage.d.ts +4 -5
  361. package/src/local-dev/personal-stage.js +6 -54
  362. package/src/local-dev/port-claims.d.ts +13 -0
  363. package/src/local-dev/port-claims.js +46 -0
  364. package/src/local-dev/ports.d.ts +14 -2
  365. package/src/local-dev/ports.js +78 -3
  366. package/src/local-dev/private-state.d.ts +11 -0
  367. package/src/local-dev/private-state.js +146 -40
  368. package/src/local-dev/process-group.d.ts +4 -0
  369. package/src/local-dev/process-group.js +29 -0
  370. package/src/local-dev/process-identity.d.ts +8 -0
  371. package/src/local-dev/process-identity.js +31 -1
  372. package/src/local-dev/proxy.js +11 -12
  373. package/src/local-dev/runtime-paths.js +1 -1
  374. package/src/local-dev/slice-claim.js +1 -1
  375. package/src/local-dev/slice-runner.d.ts +15 -6
  376. package/src/local-dev/slice-runner.js +189 -54
  377. package/src/local-dev/task-attachment.d.ts +17 -0
  378. package/src/local-dev/task-attachment.js +73 -0
  379. package/src/local-dev/task-authority.d.ts +10 -0
  380. package/src/local-dev/task-authority.js +27 -0
  381. package/src/local-dev/task-identity.d.ts +33 -0
  382. package/src/local-dev/task-identity.js +418 -0
  383. package/src/local-dev/task-native-writer.d.ts +18 -0
  384. package/src/local-dev/task-native-writer.js +329 -0
  385. package/src/local-dev/tls.js +8 -2
  386. package/src/local-dev/web-launch.d.ts +9 -0
  387. package/src/local-dev/web-launch.js +130 -0
  388. package/src/ownership/composition.d.ts +2 -1
  389. package/src/ownership/composition.js +1 -0
  390. package/src/performance/cost-collection.d.ts +1 -1
  391. package/src/performance/cost-collection.js +4 -2
  392. package/src/performance/cost-controls.d.ts +8 -4
  393. package/src/performance/cost-controls.js +39 -28
  394. package/src/performance/evidence.d.ts +1 -1
  395. package/src/performance/evidence.js +5 -3
  396. package/src/performance/load-safety.js +5 -3
  397. package/src/performance/model.d.ts +4 -4
  398. package/src/performance/model.js +4 -5
  399. package/src/performance/scenario.d.ts +22 -0
  400. package/src/performance/scenario.js +100 -92
  401. package/src/release/index.d.ts +0 -2
  402. package/src/release/index.js +0 -2
  403. package/src/release/source-authority.d.ts +5 -5
  404. package/src/release/source-authority.js +141 -124
  405. package/src/repository-policy/aurora-preflight.d.ts +1 -1
  406. package/src/repository-policy/aurora-preflight.js +4 -1
  407. package/src/repository-policy/capacity-migration.d.ts +3 -0
  408. package/src/repository-policy/capacity-migration.js +21 -0
  409. package/src/repository-policy/deployment-plan.d.ts +4 -1
  410. package/src/repository-policy/deployment-plan.js +9 -0
  411. package/src/repository-policy/foundation-profile.js +10 -1
  412. package/src/repository-policy/policy.d.ts +57 -3
  413. package/src/repository-policy/policy.js +497 -11
  414. package/src/schemas/blueprint-v1.json +5 -4
  415. package/src/schemas/foundation-requirement-v1.json +5 -4
  416. package/src/schemas/performance-policy-v1.json +3 -3
  417. package/src/schemas/repository-policy-v1.json +130 -6
  418. package/src/schemas/testing-evidence-result-v1.json +1 -1
  419. package/src/secrets/adapters.d.ts +7 -2
  420. package/src/secrets/adapters.js +34 -3
  421. package/src/secrets/aws-control-plane.d.ts +10 -1
  422. package/src/secrets/aws-control-plane.js +67 -0
  423. package/src/secrets/generated-aws-control-plane.d.ts +23 -0
  424. package/src/secrets/generated-aws-control-plane.js +259 -0
  425. package/src/secrets/metadata.js +38 -10
  426. package/src/secrets/model.d.ts +8 -1
  427. package/src/secrets/model.js +24 -3
  428. package/src/secrets/operator.d.ts +91 -3
  429. package/src/secrets/operator.js +463 -13
  430. package/src/secrets/registry.d.ts +2 -1
  431. package/src/secrets/registry.js +18 -1
  432. package/src/secrets/verification.js +9 -1
  433. package/src/secrets/workload-access.js +10 -2
  434. package/src/sst-environment-source-format.d.ts +6 -0
  435. package/src/sst-environment-source-format.js +199 -0
  436. package/src/supply-chain/action-pins.js +61 -7
  437. package/src/supply-chain/blueprint-trust-git.js +85 -24
  438. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  439. package/src/supply-chain/build-output-bounds.d.ts +2 -0
  440. package/src/supply-chain/build-output-bounds.js +12 -0
  441. package/src/supply-chain/build-output.d.ts +7 -1
  442. package/src/supply-chain/build-output.js +177 -24
  443. package/src/supply-chain/ecr-scanning.d.ts +5 -3
  444. package/src/supply-chain/ecr-scanning.js +11 -7
  445. package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
  446. package/src/supply-chain/ecs-deployed-image.js +6 -4
  447. package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
  448. package/src/supply-chain/generated-command.js +1 -0
  449. package/src/supply-chain/generated-container-release-command.js +1285 -124
  450. package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
  451. package/src/supply-chain/generated-ecr-collector-command.js +200 -93
  452. package/src/supply-chain/generated-files.js +25 -14
  453. package/src/supply-chain/generated-scanner-command.js +2 -1
  454. package/src/supply-chain/index.d.ts +1 -1
  455. package/src/supply-chain/index.js +2 -1
  456. package/src/supply-chain/sbom.d.ts +1 -1
  457. package/src/supply-chain/sbom.js +30 -5
  458. package/src/supply-chain/scanner.js +3 -0
  459. package/src/testing-evidence/fixture-scope.d.ts +2 -1
  460. package/src/testing-evidence/fixture-scope.js +4 -2
  461. package/src/testing-evidence/result.d.ts +2 -1
  462. package/src/testing-evidence/result.js +18 -4
  463. package/src/workload-roles/account-baseline.d.ts +11 -0
  464. package/src/workload-roles/account-baseline.js +253 -16
  465. package/src/workload-roles/authority.d.ts +3 -1
  466. package/src/workload-roles/authority.js +48 -2
  467. package/src/workload-roles/aws-s3-state.js +27 -0
  468. package/src/workload-roles/boundary.d.ts +2 -1
  469. package/src/workload-roles/boundary.js +9 -2
  470. package/src/workload-roles/handler.js +52 -24
  471. package/src/workload-roles/index.d.ts +10 -17
  472. package/src/workload-roles/index.js +5 -18
  473. package/src/workload-roles/injection.js +1 -1
  474. package/src/workload-roles/provisioner.js +12 -4
  475. package/src/workload-roles/registration.d.ts +1 -0
  476. package/src/workload-roles/registration.js +5 -0
  477. package/src/workload-roles/stage-boundary.js +1 -1
  478. package/src/workload-roles/standard-slice.js +3 -3
  479. package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
  480. package/src/workspace-deployment/affected-lifecycle.js +84 -0
  481. package/src/workspace-deployment/identity.d.ts +3 -0
  482. package/src/workspace-deployment/identity.js +22 -0
  483. package/src/workspace-deployment/index.d.ts +4 -0
  484. package/src/workspace-deployment/index.js +8 -0
  485. package/src/workspace-deployment/migration-evidence.d.ts +29 -0
  486. package/src/workspace-deployment/migration-evidence.js +83 -0
  487. package/src/workspace-deployment/migration.d.ts +27 -0
  488. package/src/workspace-deployment/migration.js +109 -0
  489. package/src/workspace-deployment/ownership.d.ts +81 -0
  490. package/src/workspace-deployment/ownership.js +381 -0
  491. package/src/api-contract/baseline-update.js.map +0 -1
  492. package/src/api-contract/compatibility.js.map +0 -1
  493. package/src/api-contract/contract-graph.js.map +0 -1
  494. package/src/api-contract/evidence.js.map +0 -1
  495. package/src/api-contract/index.js.map +0 -1
  496. package/src/api-contract/model.fixtures.d.ts +0 -2
  497. package/src/api-contract/model.fixtures.js +0 -81
  498. package/src/api-contract/model.fixtures.js.map +0 -1
  499. package/src/api-contract/model.js.map +0 -1
  500. package/src/api-contract/rollout.js.map +0 -1
  501. package/src/authorization/compatibility.js.map +0 -1
  502. package/src/authorization/index.js.map +0 -1
  503. package/src/blueprints/execution.js.map +0 -1
  504. package/src/blueprints/external-sandbox.js.map +0 -1
  505. package/src/blueprints/index.js.map +0 -1
  506. package/src/blueprints/inputs.js.map +0 -1
  507. package/src/blueprints/manifest.js.map +0 -1
  508. package/src/blueprints/resolver.js.map +0 -1
  509. package/src/blueprints/transitions.js.map +0 -1
  510. package/src/cli/agent-command.js.map +0 -1
  511. package/src/cli/agent-runtime.js.map +0 -1
  512. package/src/cli/blueprint-authority.js.map +0 -1
  513. package/src/cli/blueprint-command.js.map +0 -1
  514. package/src/cli/bootstrap.js.map +0 -1
  515. package/src/cli/dev-command.js.map +0 -1
  516. package/src/cli/main.js.map +0 -1
  517. package/src/cli/output.js.map +0 -1
  518. package/src/cli/personal-secret-runtime.js.map +0 -1
  519. package/src/cli/secret-terminal.js.map +0 -1
  520. package/src/container-images.js.map +0 -1
  521. package/src/data-lifecycle/index.js.map +0 -1
  522. package/src/data-lifecycle/model.fixtures.d.ts +0 -2
  523. package/src/data-lifecycle/model.fixtures.js +0 -244
  524. package/src/data-lifecycle/model.fixtures.js.map +0 -1
  525. package/src/data-lifecycle/model.js.map +0 -1
  526. package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
  527. package/src/data-lifecycle/validation.js.map +0 -1
  528. package/src/database-retirement/contract.js.map +0 -1
  529. package/src/database-retirement/index.js.map +0 -1
  530. package/src/deterministic-order.js.map +0 -1
  531. package/src/developer-agent/context.js.map +0 -1
  532. package/src/developer-agent/generator-planning.js.map +0 -1
  533. package/src/developer-agent/generator-preview.js.map +0 -1
  534. package/src/developer-agent/git-inspection.js.map +0 -1
  535. package/src/developer-agent/handoff.js.map +0 -1
  536. package/src/developer-agent/index.js.map +0 -1
  537. package/src/developer-agent/model.js.map +0 -1
  538. package/src/developer-agent/operation-registry.js.map +0 -1
  539. package/src/developer-agent/ordering.js.map +0 -1
  540. package/src/developer-agent/planning.js.map +0 -1
  541. package/src/developer-agent/preview-changes.js.map +0 -1
  542. package/src/developer-agent/preview-source.js.map +0 -1
  543. package/src/developer-agent/validation.js.map +0 -1
  544. package/src/developer-agent/workspace-inspection.js.map +0 -1
  545. package/src/developer-agent/workspace-path.js.map +0 -1
  546. package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
  547. package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
  548. package/src/executors/deploy/deploy.js.map +0 -1
  549. package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
  550. package/src/executors/dev/dev.js.map +0 -1
  551. package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
  552. package/src/executors/dev-setup/dev-setup.js.map +0 -1
  553. package/src/executors/developer-context/developer-context.js.map +0 -1
  554. package/src/executors/fleet/fleet.js.map +0 -1
  555. package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
  556. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
  557. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
  558. package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
  559. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
  560. package/src/executors/refresh/refresh.js.map +0 -1
  561. package/src/executors/remove/remove.js.map +0 -1
  562. package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
  563. package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
  564. package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
  565. package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
  566. package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
  567. package/src/executors/unlock/unlock.js.map +0 -1
  568. package/src/executors/work-markers/work-markers.js.map +0 -1
  569. package/src/foundation/discovery.js.map +0 -1
  570. package/src/foundation/index.js.map +0 -1
  571. package/src/foundation/local-database-contract.js.map +0 -1
  572. package/src/foundation/logging-preflight.js.map +0 -1
  573. package/src/foundation/logging.js.map +0 -1
  574. package/src/foundation/preflight.js.map +0 -1
  575. package/src/foundation/provision-database-bindings.js.map +0 -1
  576. package/src/foundation/provision-logical-database.js.map +0 -1
  577. package/src/foundation/requirements.js.map +0 -1
  578. package/src/foundation/router-origin-proof.js.map +0 -1
  579. package/src/foundation/stages.js.map +0 -1
  580. package/src/frontend-security/index.js.map +0 -1
  581. package/src/frontend-security/security-headers.js.map +0 -1
  582. package/src/generators/feature-registry.js.map +0 -1
  583. package/src/generators/function/function.js.map +0 -1
  584. package/src/generators/job/job.js.map +0 -1
  585. package/src/generators/logging-registry.js.map +0 -1
  586. package/src/generators/post-generation-install.js.map +0 -1
  587. package/src/generators/preset/generator.js.map +0 -1
  588. package/src/generators/preset/tool-versions.js.map +0 -1
  589. package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
  590. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
  591. package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
  592. package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
  593. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
  594. package/src/generators/preset/workspace-files.js.map +0 -1
  595. package/src/generators/repository-policy/repository-policy.js.map +0 -1
  596. package/src/generators/service/service.js.map +0 -1
  597. package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
  598. package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
  599. package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
  600. package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
  601. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
  602. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
  603. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
  604. package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
  605. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
  606. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
  607. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
  608. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
  609. package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
  610. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
  611. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
  612. package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
  613. package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
  614. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
  615. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
  616. package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
  617. package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
  618. package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
  619. package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
  620. package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
  621. package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
  622. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
  623. package/src/generators/slice/built-in-plan-shared.js.map +0 -1
  624. package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
  625. package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
  626. package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
  627. package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
  628. package/src/generators/slice/built-in-plan.js.map +0 -1
  629. package/src/generators/slice/slice.js.map +0 -1
  630. package/src/generators/upgrade/upgrade.js.map +0 -1
  631. package/src/generators/workload/frozen-container.js.map +0 -1
  632. package/src/generators/workload/performance-registration.js.map +0 -1
  633. package/src/generators/workload/reliability-registration.js.map +0 -1
  634. package/src/generators/workload/service-performance-files.js.map +0 -1
  635. package/src/generators/workload/workload.js.map +0 -1
  636. package/src/git-policy/action-pins.js.map +0 -1
  637. package/src/git-policy/github-bootstrap.js.map +0 -1
  638. package/src/git-policy/index.js.map +0 -1
  639. package/src/git-policy/routing.js.map +0 -1
  640. package/src/index.js.map +0 -1
  641. package/src/infrastructure-change/convergence.js.map +0 -1
  642. package/src/infrastructure-change/drift.js.map +0 -1
  643. package/src/infrastructure-change/index.js.map +0 -1
  644. package/src/infrastructure-change/model.js.map +0 -1
  645. package/src/infrastructure-change/normalize.js.map +0 -1
  646. package/src/infrastructure-change/plan.js.map +0 -1
  647. package/src/infrastructure-change/risk.js.map +0 -1
  648. package/src/infrastructure-change/summary.js.map +0 -1
  649. package/src/local-dev/context-discovery.js.map +0 -1
  650. package/src/local-dev/contract-validation.js.map +0 -1
  651. package/src/local-dev/contracts.js.map +0 -1
  652. package/src/local-dev/control-contract.js.map +0 -1
  653. package/src/local-dev/dev-command-core.js.map +0 -1
  654. package/src/local-dev/effects.js.map +0 -1
  655. package/src/local-dev/environment-inspector.js.map +0 -1
  656. package/src/local-dev/environment-state.js.map +0 -1
  657. package/src/local-dev/errors.js.map +0 -1
  658. package/src/local-dev/fleet-client.js.map +0 -1
  659. package/src/local-dev/fleet-configuration.js.map +0 -1
  660. package/src/local-dev/fleet-inventory.js.map +0 -1
  661. package/src/local-dev/fleet-ipc.js.map +0 -1
  662. package/src/local-dev/fleet-launcher.js.map +0 -1
  663. package/src/local-dev/fleet-lock.js.map +0 -1
  664. package/src/local-dev/fleet-logs.js.map +0 -1
  665. package/src/local-dev/fleet-process.js.map +0 -1
  666. package/src/local-dev/fleet-runtime.js.map +0 -1
  667. package/src/local-dev/fleet-session.js.map +0 -1
  668. package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
  669. package/src/local-dev/fleet-startup.js.map +0 -1
  670. package/src/local-dev/fleet-state.js.map +0 -1
  671. package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
  672. package/src/local-dev/fleet-supervisor.js.map +0 -1
  673. package/src/local-dev/gateway-daemon.js.map +0 -1
  674. package/src/local-dev/gateway.js.map +0 -1
  675. package/src/local-dev/identity.js.map +0 -1
  676. package/src/local-dev/index.js.map +0 -1
  677. package/src/local-dev/local-context.js.map +0 -1
  678. package/src/local-dev/nx-workspace.js.map +0 -1
  679. package/src/local-dev/personal-secret-ledger.js.map +0 -1
  680. package/src/local-dev/personal-stage.js.map +0 -1
  681. package/src/local-dev/portless.js.map +0 -1
  682. package/src/local-dev/ports.js.map +0 -1
  683. package/src/local-dev/private-state.js.map +0 -1
  684. package/src/local-dev/process-identity.js.map +0 -1
  685. package/src/local-dev/proxy.js.map +0 -1
  686. package/src/local-dev/runtime-paths.js.map +0 -1
  687. package/src/local-dev/secret-slice-claim.js.map +0 -1
  688. package/src/local-dev/slice-claim.js.map +0 -1
  689. package/src/local-dev/slice-runner.js.map +0 -1
  690. package/src/local-dev/tls.js.map +0 -1
  691. package/src/ownership/composition.js.map +0 -1
  692. package/src/ownership/foundation-record.js.map +0 -1
  693. package/src/ownership/hash.js.map +0 -1
  694. package/src/ownership/index.js.map +0 -1
  695. package/src/ownership/json-ownership.js.map +0 -1
  696. package/src/ownership/record.js.map +0 -1
  697. package/src/ownership/workspace-record.js.map +0 -1
  698. package/src/performance/cost-collection.js.map +0 -1
  699. package/src/performance/cost-controls.js.map +0 -1
  700. package/src/performance/evidence.js.map +0 -1
  701. package/src/performance/index.js.map +0 -1
  702. package/src/performance/load-safety.js.map +0 -1
  703. package/src/performance/model.js.map +0 -1
  704. package/src/performance/pr-artifact-budget.js.map +0 -1
  705. package/src/performance/runner.js.map +0 -1
  706. package/src/performance/scenario-endpoint.js.map +0 -1
  707. package/src/performance/scenario.js.map +0 -1
  708. package/src/performance/test-fixtures.d.ts +0 -7
  709. package/src/performance/test-fixtures.js +0 -169
  710. package/src/performance/test-fixtures.js.map +0 -1
  711. package/src/performance/unit-cost.js.map +0 -1
  712. package/src/release/index.js.map +0 -1
  713. package/src/release/lifecycle.js.map +0 -1
  714. package/src/release/manifest.js.map +0 -1
  715. package/src/release/rollout.js.map +0 -1
  716. package/src/release/source-authority.js.map +0 -1
  717. package/src/repository-policy/aurora-preflight.js.map +0 -1
  718. package/src/repository-policy/deployment-plan.js.map +0 -1
  719. package/src/repository-policy/foundation-profile.js.map +0 -1
  720. package/src/repository-policy/index.js.map +0 -1
  721. package/src/repository-policy/policy.js.map +0 -1
  722. package/src/secrets/adapters.js.map +0 -1
  723. package/src/secrets/aws-control-plane.js.map +0 -1
  724. package/src/secrets/declaration-verification.js.map +0 -1
  725. package/src/secrets/guardrails.js.map +0 -1
  726. package/src/secrets/index.js.map +0 -1
  727. package/src/secrets/metadata.js.map +0 -1
  728. package/src/secrets/model.js.map +0 -1
  729. package/src/secrets/operator.js.map +0 -1
  730. package/src/secrets/permissions.js.map +0 -1
  731. package/src/secrets/personal-command.js.map +0 -1
  732. package/src/secrets/personal-ledger.js.map +0 -1
  733. package/src/secrets/registry.js.map +0 -1
  734. package/src/secrets/verification.js.map +0 -1
  735. package/src/secrets/workload-access.js.map +0 -1
  736. package/src/supply-chain/action-pins.js.map +0 -1
  737. package/src/supply-chain/blueprint-trust-git.js.map +0 -1
  738. package/src/supply-chain/blueprint-trust-process.js.map +0 -1
  739. package/src/supply-chain/blueprint-trust.js.map +0 -1
  740. package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
  741. package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
  742. package/src/supply-chain/build-output.js.map +0 -1
  743. package/src/supply-chain/common.js.map +0 -1
  744. package/src/supply-chain/container-artifact-contract.js.map +0 -1
  745. package/src/supply-chain/container-release.js.map +0 -1
  746. package/src/supply-chain/ecr-applicability.js.map +0 -1
  747. package/src/supply-chain/ecr-scanning.js.map +0 -1
  748. package/src/supply-chain/ecs-deployed-image.js.map +0 -1
  749. package/src/supply-chain/errors.js.map +0 -1
  750. package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
  751. package/src/supply-chain/generated-command.js.map +0 -1
  752. package/src/supply-chain/generated-container-release-command.js.map +0 -1
  753. package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
  754. package/src/supply-chain/generated-files.js.map +0 -1
  755. package/src/supply-chain/generated-scanner-command.js.map +0 -1
  756. package/src/supply-chain/index.js.map +0 -1
  757. package/src/supply-chain/inventory.js.map +0 -1
  758. package/src/supply-chain/license-expression.js.map +0 -1
  759. package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
  760. package/src/supply-chain/policy.js.map +0 -1
  761. package/src/supply-chain/publication.js.map +0 -1
  762. package/src/supply-chain/sbom.js.map +0 -1
  763. package/src/supply-chain/scanner.js.map +0 -1
  764. package/src/supply-chain/vendored-source.js.map +0 -1
  765. package/src/testing-evidence/fixture-scope.js.map +0 -1
  766. package/src/testing-evidence/index.js.map +0 -1
  767. package/src/testing-evidence/quarantine.js.map +0 -1
  768. package/src/testing-evidence/result.js.map +0 -1
  769. package/src/testing-evidence/runner-adapter.js.map +0 -1
  770. package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
  771. package/src/validation.js.map +0 -1
  772. package/src/work-markers/index.js.map +0 -1
  773. package/src/work-markers/work-markers.js.map +0 -1
  774. package/src/workload-roles/account-baseline.js.map +0 -1
  775. package/src/workload-roles/authority.js.map +0 -1
  776. package/src/workload-roles/aws-adapter.js.map +0 -1
  777. package/src/workload-roles/aws-internal-handler.js.map +0 -1
  778. package/src/workload-roles/aws-s3-state.js.map +0 -1
  779. package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
  780. package/src/workload-roles/boundary.js.map +0 -1
  781. package/src/workload-roles/convergence.js.map +0 -1
  782. package/src/workload-roles/effective-policy.js.map +0 -1
  783. package/src/workload-roles/handler.js.map +0 -1
  784. package/src/workload-roles/history.js.map +0 -1
  785. package/src/workload-roles/index.js.map +0 -1
  786. package/src/workload-roles/injection.js.map +0 -1
  787. package/src/workload-roles/manifest.js.map +0 -1
  788. package/src/workload-roles/provisioner.js.map +0 -1
  789. package/src/workload-roles/registration.js.map +0 -1
  790. package/src/workload-roles/stage-boundary.js.map +0 -1
  791. package/src/workload-roles/standard-slice.js.map +0 -1
package/src/cli/main.js CHANGED
@@ -33,7 +33,11 @@ const runtime_paths_js_1 = require("../local-dev/runtime-paths.js");
33
33
  const secret_slice_claim_js_1 = require("../local-dev/secret-slice-claim.js");
34
34
  const tls_js_1 = require("../local-dev/tls.js");
35
35
  const personal_command_js_1 = require("../secrets/personal-command.js");
36
+ const index_js_1 = require("../workspace-deployment/index.js");
37
+ const task_attachment_js_1 = require("../local-dev/task-attachment.js");
38
+ const task_identity_js_1 = require("../local-dev/task-identity.js");
36
39
  const dev_command_js_1 = require("./dev-command.js");
40
+ const deploy_runtime_js_1 = require("./deploy-runtime.js");
37
41
  const agent_runtime_js_1 = require("./agent-runtime.js");
38
42
  const output_js_1 = require("./output.js");
39
43
  const personal_secret_runtime_js_1 = require("./personal-secret-runtime.js");
@@ -43,11 +47,32 @@ const ROOT_HELP = `Empire Builder Kit
43
47
  Usage:
44
48
  ebk agent <command> [options]
45
49
  ebk blueprint verification-review
50
+ ebk deploy [stage] [slice...] [options]
46
51
  ebk dev <command> [options]
47
52
  ebk secret <command> <slice> <logical-name>
48
53
 
49
- Run "ebk agent --help", "ebk blueprint --help", "ebk dev --help", or
54
+ Run "ebk agent --help", "ebk blueprint --help", "ebk deploy --help", "ebk dev --help", or
50
55
  "ebk secret --help" for namespace help.`;
56
+ const DEPLOY_HELP = `Empire Builder Kit local deployment
57
+
58
+ Usage:
59
+ ebk deploy [development|staging|production] [slice...] --expectedRoleArn=<role-arn> [--profile=<aws-profile>]
60
+
61
+ The stage defaults to development; --stage=<stage> is also supported instead
62
+ of a positional stage. Account and Region come from committed repository policy.
63
+ Uses the workspace-pinned Nx deploy-local target: Foundation, then eligible
64
+ Slices, declared migrations and deployed smoke. Supply billing to deploy only
65
+ that Slice after Foundation; omit Slice names for the complete stage. Other
66
+ Slices are not redeployed and must already exist if the feature needs them.
67
+ Native output and terminal
68
+ interaction are inherited; --json and arbitrary Nx/SST options are not accepted.
69
+ The existing deployment receipt is the structured result, not a CLI success seal.
70
+
71
+ Development allows dirty source without a prompt. Local staging requires a
72
+ clean commit and its TTY acknowledgement. Starter production requires a clean
73
+ commit and the exact deploy:production:<account>:<region>:<source-commit> TTY
74
+ confirmation. Isolated protected stages remain GitHub-only. No authority or
75
+ confirmation is inferred from a hot task; ebk dev up remains the hot edit loop.`;
51
76
  const AGENT_HELP = `Empire Builder Kit Developer-Agent contract
52
77
 
53
78
  Usage:
@@ -75,6 +100,7 @@ Usage:
75
100
  ebk dev configure [<context options>] [--clear-development-router-url] [--json]
76
101
  ebk dev setup [--trust] [--portless] [--upgrade] [--remove] [--json]
77
102
  ebk dev up <slice...>|--all [--foreground] [--sst-mode=mono|multiplexer]
103
+ ebk dev attach <task-id> [--json]
78
104
  [--no-wait] [--timeout=<duration>] [<context options>] [--json]
79
105
  ebk dev status [--json]
80
106
  ebk dev restart <slice...>|--all [--no-wait] [--timeout=<duration>] [--json]
@@ -98,7 +124,8 @@ Configure mutation requires at least one context option or
98
124
  non-router context changes.
99
125
 
100
126
  Use "ebk dev <command> --help" to return this bounded command reference.
101
- Fleet stage is always derived from the current operating-system account.`;
127
+ Fleet stage uses a persisted random task ID per worktree. Use attach explicitly
128
+ to resume a verified inactive task; --stage overrides are not supported.`;
102
129
  const SECRET_HELP = `Empire Builder Kit personal secrets
103
130
 
104
131
  Usage:
@@ -142,13 +169,12 @@ function packageVersion() {
142
169
  }
143
170
  function workspaceRoot(cwd) {
144
171
  try {
145
- const root = (0, node_child_process_1.execFileSync)('git', [
172
+ const git = (args) => (0, node_child_process_1.execFileSync)('git', [
146
173
  '--no-optional-locks',
147
174
  '-c',
148
175
  'core.fsmonitor=false',
149
176
  'rev-parse',
150
- '--path-format=absolute',
151
- '--show-toplevel',
177
+ ...args,
152
178
  ], {
153
179
  cwd,
154
180
  encoding: 'utf8',
@@ -157,9 +183,22 @@ function workspaceRoot(cwd) {
157
183
  timeout: 5_000,
158
184
  windowsHide: true,
159
185
  }).trim();
160
- if (!(0, node_path_1.isAbsolute)(root))
186
+ const toplevel = git(['--path-format=absolute', '--show-toplevel']);
187
+ if (!(0, node_path_1.isAbsolute)(toplevel))
161
188
  throw new Error('Git returned a relative path.');
162
- return (0, node_fs_1.realpathSync)(root);
189
+ // Spell the root the way this process's working directory spells it. Git
190
+ // canonicalizes Windows 8.3 aliases to long names while every in-process
191
+ // resolver, the fleet runtime and the retained task pointer use realpathSync,
192
+ // so a checkout under an aliased directory (a hosted runner's TEMP) would
193
+ // otherwise be seen under two spellings and refused as another checkout.
194
+ let root = (0, node_fs_1.realpathSync)(cwd);
195
+ for (const segment of git(['--show-prefix']).split('/')) {
196
+ if (segment)
197
+ root = (0, node_path_1.dirname)(root);
198
+ }
199
+ if (node_fs_1.realpathSync.native(root) !== node_fs_1.realpathSync.native(toplevel))
200
+ throw new Error('Git toplevel does not match the working directory.');
201
+ return root;
163
202
  }
164
203
  catch {
165
204
  throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'Run ebk from a Git workspace with a readable repository root.');
@@ -167,13 +206,17 @@ function workspaceRoot(cwd) {
167
206
  }
168
207
  function defaultDependencies(overrides) {
169
208
  return {
209
+ attachTask: task_attachment_js_1.attachStoppedTask,
210
+ bindTask: task_identity_js_1.bindTaskEnvironment,
170
211
  acquireSecretLedgerLock: personal_secret_ledger_js_1.acquirePersonalSecretLedgerLock,
171
212
  appData: tls_js_1.defaultLocalDevAppData,
172
213
  assertSecretSliceClaim: secret_slice_claim_js_1.assertSecretSliceClaimAuthority,
214
+ assertWorkspaceOwnership: index_js_1.assertWorkspaceStageOwnershipForWorkspace,
173
215
  changeDirectory: (root) => process.chdir(root),
174
216
  client: (paths) => new fleet_client_js_1.FleetClient(paths),
175
217
  discoverContext: context_discovery_js_1.discoverLocalDevContext,
176
218
  executeAgent: agent_runtime_js_1.executeDeveloperAgentCommand,
219
+ executeDeploy: deploy_runtime_js_1.executeDeployCommand,
177
220
  followLogs: fleet_logs_js_1.followFleetLogs,
178
221
  frameworkVersion: packageVersion,
179
222
  gitCommonDirectory: fleet_launcher_js_1.resolveGitCommonDirectory,
@@ -224,7 +267,7 @@ function planWorkspaceName(plan) {
224
267
  }
225
268
  async function resolveCurrentFleetCoordinates(workspaceRoot, appData, dependencies) {
226
269
  const plan = await dependencies.loadPlan();
227
- const identity = dependencies.personalStageResolver.resolve();
270
+ const identity = dependencies.personalStageResolver.resolve(workspaceRoot);
228
271
  const workspaceName = planWorkspaceName(plan);
229
272
  const fleetId = (0, identity_js_1.createFleetId)({
230
273
  checkoutPath: workspaceRoot,
@@ -240,7 +283,7 @@ async function resolveCurrentFleetCoordinates(workspaceRoot, appData, dependenci
240
283
  };
241
284
  }
242
285
  async function resolveRecoveryFleetCoordinates(workspaceRoot, appData, dependencies, currentPlatform = process.platform) {
243
- const identity = dependencies.personalStageResolver.resolve();
286
+ const identity = dependencies.personalStageResolver.resolve(workspaceRoot);
244
287
  const inventory = await dependencies.inventory({ appData });
245
288
  const matches = inventory.filter(({ checkout, stage }) => checkout !== undefined &&
246
289
  sameWorkspaceRealpath(checkout, workspaceRoot, currentPlatform) &&
@@ -418,7 +461,7 @@ async function executeSecretCommand(command, dispatch) {
418
461
  : 'Personal secret commands require saved local-development profile and Region context. Run ebk dev configure first.');
419
462
  }
420
463
  const context = saved.resolution.context;
421
- const identity = dispatch.dependencies.personalStageResolver.resolve();
464
+ const identity = dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot);
422
465
  const environmentAssessment = await dispatch.dependencies.inspectEnvironment({
423
466
  appData: dispatch.appData,
424
467
  command: 'secret',
@@ -459,6 +502,20 @@ async function executeSecretCommand(command, dispatch) {
459
502
  accountId !== developmentAccountId) {
460
503
  throw new personal_command_js_1.PersonalSecretCommandError('personal-secret-account-invalid');
461
504
  }
505
+ try {
506
+ const ownership = await dispatch.dependencies.assertWorkspaceOwnership(dispatch.workspaceRoot, 'development', { profile: context.profile });
507
+ if (ownership.region !== context.region) {
508
+ throw new Error('Personal secret Region differs from workspace owner.');
509
+ }
510
+ dispatch.dependencies.bindTask(dispatch.workspaceRoot, {
511
+ accountId,
512
+ region: ownership.region,
513
+ workspaceDeploymentId: ownership.expectedOwner.workspaceDeploymentId,
514
+ });
515
+ }
516
+ catch {
517
+ throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'The development AWS tuple is not owned by this workspace. Run the generated workspace ownership doctor before personal secret mutation.');
518
+ }
462
519
  const store = dispatch.dependencies.secretStore({
463
520
  aws,
464
521
  environment: dispatch.environment,
@@ -563,7 +620,7 @@ async function recordDiagnosticAssessment(command, dispatch) {
563
620
  command,
564
621
  context,
565
622
  frameworkVersion: dispatch.dependencies.frameworkVersion(),
566
- identity: dispatch.dependencies.personalStageResolver.resolve(),
623
+ identity: dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot),
567
624
  workspaceRoot: dispatch.workspaceRoot,
568
625
  });
569
626
  }
@@ -749,7 +806,26 @@ async function executeDown(command, coordinates, dispatch) {
749
806
  throw new errors_js_1.LocalDevContractError('unknown-slice', `Product Slice ${unknown} is absent from the live Fleet state.`);
750
807
  }
751
808
  }
752
- const submission = await client.submit('down', command.selector, dispatch.dependencies.idempotencyKey());
809
+ let submission;
810
+ try {
811
+ submission = await client.submit('down', command.selector, dispatch.dependencies.idempotencyKey());
812
+ }
813
+ catch (error) {
814
+ if (!command.selector.all ||
815
+ !(error instanceof errors_js_1.LocalDevContractError) ||
816
+ error.classification !== 'not-running')
817
+ throw error;
818
+ // This remains an authenticated shutdown request. The supervisor checks
819
+ // in-flight work, active selections, and owned cleanup independently.
820
+ await client.shutdown(dispatch.dependencies.idempotencyKey());
821
+ return {
822
+ result: success(command.command, {
823
+ fleetId: coordinates.fleetId,
824
+ alreadyEmpty: true,
825
+ shutdown: 'accepted',
826
+ }),
827
+ };
828
+ }
753
829
  if (command.noWait) {
754
830
  return {
755
831
  result: success(command.command, { fleetId: coordinates.fleetId, operation: submission }, submission.operationId),
@@ -874,12 +950,27 @@ async function executeDoctor(command, identity, dispatch) {
874
950
  dispatch.dependencies.inventoryClaims({ appData: dispatch.appData }),
875
951
  ]);
876
952
  const outcome = doctorOutcome(environment, local);
953
+ const diagnostics = [
954
+ ...environment.checks
955
+ .filter(({ status }) => !['ready', 'unverified', 'not-required'].includes(status))
956
+ .map(({ id, status, remediation }) => `${id}=${status}${remediation ? `: ${remediation}` : ''}`),
957
+ ...(local?.issues ?? []),
958
+ ]
959
+ .slice(0, 8)
960
+ .map((message) => message.slice(0, 512));
877
961
  const payload = {
878
962
  context: contextPayload(saved),
879
963
  environmentAssessment: environment,
880
964
  fleetInventory,
881
965
  ...(local ? { localDevelopment: local } : {}),
882
966
  sliceClaims,
967
+ ...(outcome.outcome === 'failed'
968
+ ? {
969
+ message: diagnostics.length > 0
970
+ ? diagnostics.join(' ')
971
+ : 'Development readiness is incomplete. Run ebk dev doctor --refresh --json to inspect the exact prerequisite.',
972
+ }
973
+ : {}),
883
974
  };
884
975
  return {
885
976
  result: outcome.outcome === 'succeeded'
@@ -985,6 +1076,26 @@ async function executeSetup(command, identity, dispatch) {
985
1076
  };
986
1077
  }
987
1078
  async function dispatchDevCommand(command, dispatch) {
1079
+ if (command.command === 'attach') {
1080
+ const saved = dispatch.dependencies.readContext(dispatch.dependencies.gitCommonDirectory(dispatch.workspaceRoot));
1081
+ if (saved.kind !== 'ready')
1082
+ throw new errors_js_1.LocalDevContractError('local-context-missing', 'Task attachment requires saved AWS context. Run ebk dev configure first.');
1083
+ const plan = await dispatch.dependencies.loadPlan();
1084
+ const task = await dispatch.dependencies.attachTask({
1085
+ appData: dispatch.appData,
1086
+ context: saved.resolution.context,
1087
+ taskId: command.taskId,
1088
+ workspaceName: planWorkspaceName(plan),
1089
+ workspaceRoot: dispatch.workspaceRoot,
1090
+ });
1091
+ return {
1092
+ result: success('attach', {
1093
+ taskId: task.taskId,
1094
+ stage: `personal-${task.taskId}`,
1095
+ nextAction: 'ebk dev up <slice...>',
1096
+ }),
1097
+ };
1098
+ }
988
1099
  if (command.command === 'ps') {
989
1100
  await recordDiagnosticAssessment('ps', dispatch);
990
1101
  const [fleets, sliceClaims] = await Promise.all([
@@ -1008,13 +1119,13 @@ async function dispatchDevCommand(command, dispatch) {
1008
1119
  await recordDiagnosticAssessment(command.command, dispatch);
1009
1120
  }
1010
1121
  if (command.command === 'configure') {
1011
- return executeConfigure(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
1122
+ return executeConfigure(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
1012
1123
  }
1013
1124
  if (command.command === 'setup') {
1014
- return executeSetup(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
1125
+ return executeSetup(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
1015
1126
  }
1016
1127
  if (command.command === 'doctor') {
1017
- return executeDoctor(command, dispatch.dependencies.personalStageResolver.resolve(), dispatch);
1128
+ return executeDoctor(command, dispatch.dependencies.personalStageResolver.resolve(dispatch.workspaceRoot), dispatch);
1018
1129
  }
1019
1130
  if (command.command === 'up' || command.command === 'restart') {
1020
1131
  const coordinates = await resolveCurrentFleetCoordinates(dispatch.workspaceRoot, dispatch.appData, dispatch.dependencies);
@@ -1052,12 +1163,15 @@ function commandJson(command) {
1052
1163
  }
1053
1164
  function commandName(command) {
1054
1165
  return command?.kind === 'agent' ||
1166
+ command?.kind === 'deploy' ||
1055
1167
  command?.kind === 'dev' ||
1056
1168
  command?.kind === 'secret'
1057
1169
  ? command.command
1058
1170
  : 'parse';
1059
1171
  }
1060
1172
  function commandNamespace(command, arguments_) {
1173
+ if (command?.kind === 'deploy' || arguments_[0] === 'deploy')
1174
+ return 'deploy';
1061
1175
  if (command?.kind === 'agent' || arguments_[0] === 'agent')
1062
1176
  return 'agent';
1063
1177
  return command?.kind === 'secret' || arguments_[0] === 'secret'
@@ -1144,11 +1258,13 @@ async function runEbkCli(arguments_, io = {}, overrides = {}) {
1144
1258
  if (parsed.kind === 'help') {
1145
1259
  output.stdout(`${parsed.namespace === 'agent'
1146
1260
  ? AGENT_HELP
1147
- : parsed.namespace === 'dev'
1148
- ? DEV_HELP
1149
- : parsed.namespace === 'secret'
1150
- ? SECRET_HELP
1151
- : ROOT_HELP}\n`);
1261
+ : parsed.namespace === 'deploy'
1262
+ ? DEPLOY_HELP
1263
+ : parsed.namespace === 'dev'
1264
+ ? DEV_HELP
1265
+ : parsed.namespace === 'secret'
1266
+ ? SECRET_HELP
1267
+ : ROOT_HELP}\n`);
1152
1268
  return 0;
1153
1269
  }
1154
1270
  if (parsed.kind === 'version') {
@@ -1163,6 +1279,9 @@ async function runEbkCli(arguments_, io = {}, overrides = {}) {
1163
1279
  }
1164
1280
  const dependencies = defaultDependencies(overrides);
1165
1281
  const root = dependencies.resolveWorkspaceRoot(io.cwd ?? process.cwd());
1282
+ if (parsed.kind === 'deploy') {
1283
+ return await dependencies.executeDeploy(parsed, root, io.environment ?? process.env);
1284
+ }
1166
1285
  dependencies.changeDirectory(root);
1167
1286
  if (!io.abortSignal)
1168
1287
  ownedSignal = processAbortSignal();
@@ -9,7 +9,7 @@ export type CliFailureClassification = DeveloperAgentFailureClassification | Loc
9
9
  export interface CliResultEnvelope<TPayload = unknown> {
10
10
  command: string;
11
11
  failureClassification?: CliFailureClassification;
12
- namespace: 'agent' | 'dev' | 'secret';
12
+ namespace: 'agent' | 'deploy' | 'dev' | 'secret';
13
13
  operationId?: string;
14
14
  outcome: CliResultOutcome;
15
15
  payload?: TPayload;
package/src/cli/output.js CHANGED
@@ -8,7 +8,7 @@ const errors_js_1 = require("../local-dev/errors.js");
8
8
  const model_js_1 = require("../developer-agent/model.js");
9
9
  exports.CLI_RESULT_SCHEMA_VERSION = 1;
10
10
  exports.CLI_RESULT_MAX_BYTES = 64 * 1024;
11
- exports.AGENT_CLI_RESULT_MAX_BYTES = 128 * 1024;
11
+ exports.AGENT_CLI_RESULT_MAX_BYTES = 160 * 1024;
12
12
  exports.CLI_RESULT_OUTCOMES = ['succeeded', 'failed', 'partial'];
13
13
  const CLI_FAILURE_CLASSIFICATIONS = new Set([
14
14
  ...errors_js_1.LOCAL_DEV_FAILURE_CLASSIFICATIONS,
@@ -213,6 +213,13 @@ function gitContext(inspection) {
213
213
  }
214
214
  function gitWarnings(inspection) {
215
215
  const warnings = [];
216
+ if (inspection.worktree.commit === null ||
217
+ inspection.defaultBase?.commit === null) {
218
+ warnings.push({
219
+ classification: 'stale-base',
220
+ sanitizedSummary: 'Local source is available, but commit-bound planning, handoff, and protected authority require real Git commits and protected refs. No commit or remote ref was created by orientation.',
221
+ });
222
+ }
216
223
  if (inspection.worktree.dirtyPaths.length > 0) {
217
224
  warnings.push({
218
225
  classification: 'dirty-worktree',
@@ -335,6 +342,8 @@ async function inspectDeveloperAgentContext(cwd, query = {}, dependencyOverrides
335
342
  const workspaceRoot = (0, node_fs_1.realpathSync)(cwd);
336
343
  const nxConfiguration = workspaceNxExecutionConfiguration(workspaceRoot);
337
344
  const gitOptions = {
345
+ allowMissingDefaultBase: true,
346
+ allowUnborn: true,
338
347
  ...(query.base ? { base: query.base } : {}),
339
348
  cwd: workspaceRoot,
340
349
  defaultBase: nxConfiguration.defaultBaseRef,
@@ -355,11 +364,21 @@ async function inspectDeveloperAgentContext(cwd, query = {}, dependencyOverrides
355
364
  try {
356
365
  const currentExternalRoots = (0, blueprint_verification_authority_js_1.externalBlueprintOwnershipRoots)(workspaceRoot);
357
366
  (0, blueprint_verification_authority_js_1.assertDeveloperAgentNxProjectConfinement)(workspaceRoot);
367
+ // Orientation can describe an unborn worktree, but it cannot establish
368
+ // protected history. Keep package target authority strict; this is not an
369
+ // alternate path to a protected review or execution receipt.
358
370
  externalOwnershipHistory =
359
- (0, blueprint_trust_git_js_1.inspectProtectedWorkspaceExternalBlueprintHistory)({
360
- builtInName: resolver_js_1.BUILTIN_BLUEPRINT_NAME,
361
- workspaceRoot,
362
- });
371
+ gitInspection.worktree.commit === null
372
+ ? {
373
+ complete: false,
374
+ externalProjectNames: [],
375
+ externalSliceRoots: [],
376
+ requiresStrictNxAuthority: true,
377
+ }
378
+ : (0, blueprint_trust_git_js_1.inspectProtectedWorkspaceExternalBlueprintHistory)({
379
+ builtInName: resolver_js_1.BUILTIN_BLUEPRINT_NAME,
380
+ workspaceRoot,
381
+ });
363
382
  if (currentExternalRoots.length > 0 ||
364
383
  externalOwnershipHistory.requiresStrictNxAuthority) {
365
384
  (0, blueprint_verification_authority_js_1.assertNoMutableBlueprintVerificationConfiguration)(workspaceRoot);
@@ -443,7 +462,7 @@ function formatDeveloperAgentContext(context) {
443
462
  ].sort(ordering_js_1.compareDeveloperAgentStrings);
444
463
  const lines = [
445
464
  `Workspace: ${context.workspace.identity} (${context.workspace.frameworkVersion})`,
446
- `Git: ${branch} @ ${context.git.commit.slice(0, 12)}${context.git.dirty ? ' (dirty)' : ''}`,
465
+ `Git: ${branch} @ ${context.git.commit?.slice(0, 12) ?? '(uncommitted)'}${context.git.dirty ? ' (dirty)' : ''}`,
447
466
  `Selection: ${selection}`,
448
467
  `Nx graph projects: ${context.projectNames.length}`,
449
468
  `Policy stage: ${context.policy.canonicalStage}`,
@@ -458,6 +477,15 @@ function formatDeveloperAgentContext(context) {
458
477
  : ''}`,
459
478
  ];
460
479
  const details = [
480
+ ...context.supportedOperations
481
+ .filter((operation) => operation.command &&
482
+ (operation.id.startsWith('ebk-dev:') ||
483
+ operation.id.endsWith(':verify-local-browser') ||
484
+ operation.id.endsWith(':dev')))
485
+ .map((operation) => ({
486
+ kind: 'operation',
487
+ line: `- [operation] ${operation.id}: ${operation.command.executable} ${operation.command.args.map((argument) => (/^[A-Za-z0-9_./:@=-]+$/.test(argument) ? argument : JSON.stringify(argument))).join(' ')}`,
488
+ })),
461
489
  ...context.warnings.map((finding) => ({
462
490
  kind: 'warning',
463
491
  line: `- [${finding.classification}] ${finding.sanitizedSummary}`,
@@ -469,8 +497,9 @@ function formatDeveloperAgentContext(context) {
469
497
  ];
470
498
  let omittedWarnings = 0;
471
499
  let omittedNonPlannable = 0;
500
+ let omittedOperations = 0;
472
501
  const route = 'Full structured context: ebk agent context --json';
473
- const maximumOmission = `Omitted detail: ${context.warnings.length} warning(s), ${context.nonPlannableTargets.length} non-plannable target(s).`;
502
+ const maximumOmission = `Omitted detail: ${context.warnings.length} warning(s), ${context.nonPlannableTargets.length} non-plannable target(s), ${context.supportedOperations.length} operation(s).`;
474
503
  for (const detail of details) {
475
504
  const candidate = [...lines, detail.line, maximumOmission, route].join('\n');
476
505
  if (Buffer.byteLength(candidate, 'utf8') <=
@@ -480,12 +509,15 @@ function formatDeveloperAgentContext(context) {
480
509
  else if (detail.kind === 'warning') {
481
510
  omittedWarnings += 1;
482
511
  }
483
- else {
512
+ else if (detail.kind === 'non-plannable') {
484
513
  omittedNonPlannable += 1;
485
514
  }
515
+ else {
516
+ omittedOperations += 1;
517
+ }
486
518
  }
487
- if (omittedWarnings > 0 || omittedNonPlannable > 0) {
488
- lines.push(`Omitted detail: ${omittedWarnings} warning(s), ${omittedNonPlannable} non-plannable target(s).`);
519
+ if (omittedWarnings > 0 || omittedNonPlannable > 0 || omittedOperations > 0) {
520
+ lines.push(`Omitted detail: ${omittedWarnings} warning(s), ${omittedNonPlannable} non-plannable target(s), ${omittedOperations} operation(s).`);
489
521
  }
490
522
  lines.push(route);
491
523
  const output = lines.join('\n');
@@ -185,7 +185,9 @@ function generatorContextSelection(input) {
185
185
  input.generator === 'job') {
186
186
  return {
187
187
  selectedFeature: input.feature,
188
- selectedProjects: [input.slice],
188
+ selectedProjects: input.generator === 'function'
189
+ ? [input.slice]
190
+ : [input.slice, 'foundation'].sort(),
189
191
  selectedSlice: input.slice,
190
192
  };
191
193
  }
@@ -383,8 +385,8 @@ function functionPlan(context, input, mode, rebindCompleted = false) {
383
385
  ...prefixedSurfaces(input.slice, plan.paths),
384
386
  ...prefixedSurfaces(input.slice, [
385
387
  { path: 'infra/product.ts' },
386
- { path: 'infra/workload-roles/candidate.ts' },
387
- { path: 'infra/workload-roles/effective-intent.ts' },
388
+ { path: 'infra/native-runtime-authority/effective-intent.ts' },
389
+ { path: 'infra/native-runtime-authority/topology.ts' },
388
390
  { path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
389
391
  { path: PRODUCT_OWNERSHIP_PATH },
390
392
  ]),
@@ -425,9 +427,10 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
425
427
  const generatedSurfaces = sortedSurfaces([
426
428
  ...prefixedSurfaces(input.slice, plan.paths),
427
429
  ...prefixedSurfaces(input.slice, [
430
+ { path: 'infra/foundation.ts' },
428
431
  { path: 'infra/product.ts' },
429
- { path: 'infra/workload-roles/candidate.ts' },
430
- { path: 'infra/workload-roles/effective-intent.ts' },
432
+ { path: 'infra/native-runtime-authority/effective-intent.ts' },
433
+ { path: 'infra/native-runtime-authority/topology.ts' },
431
434
  { path: logging_registry_js_1.SLICE_LOGGING_REGISTRY_PATH },
432
435
  { mode: 'seeded', path: performance_registration_js_1.WORKLOAD_PERFORMANCE_POLICY_PATH },
433
436
  ...(ownsProtectedLoadAdapter
@@ -447,6 +450,16 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
447
450
  { mode: 'seeded', path: RELEASE_REGISTRY_PATH },
448
451
  { path: PRODUCT_OWNERSHIP_PATH },
449
452
  ]),
453
+ // The workload generator grows network/container-compute capabilities in
454
+ // the same source operation. These are its paired Foundation surfaces,
455
+ // even when an existing container makes the capability update a no-op.
456
+ ...prefixedSurfaces('foundation', [
457
+ { path: PRODUCT_OWNERSHIP_PATH },
458
+ { path: 'contracts/costs.json' },
459
+ { path: 'contracts/foundation.json' },
460
+ { path: 'infra/foundation.ts' },
461
+ { path: 'scripts/verify-foundation.mjs' },
462
+ ]),
450
463
  surface('pnpm-lock.yaml', 'adopter-owned'),
451
464
  ]);
452
465
  const prospectiveVerification = mode === 'apply' ? [`${plan.project}:verify`] : [];
@@ -469,11 +482,12 @@ function workloadPlan(context, input, mode, rebindCompleted = false) {
469
482
  'supply-chain',
470
483
  ], context.selection.contracts),
471
484
  generatedSurfaces,
472
- projects: [input.slice, plan.project].sort(),
485
+ projects: [input.slice, plan.project, 'foundation'].sort(),
473
486
  prospectiveVerification,
474
487
  verification: [
475
488
  ...new Set([
476
489
  `${input.slice}:verify`,
490
+ 'foundation:verify',
477
491
  ...prospectiveVerification,
478
492
  developerAgentWorkspaceVerificationTarget(context),
479
493
  ]),
@@ -26,6 +26,10 @@ export interface GitInspectionCommandResult {
26
26
  }
27
27
  export type GitInspectionExecFile = (executable: string, args: readonly string[], options: GitInspectionExecFileOptions) => GitInspectionCommandResult | Promise<GitInspectionCommandResult>;
28
28
  export interface InspectDeveloperAgentGitOptions {
29
+ /** Orientation only; strict commit-bound callers leave this disabled. */
30
+ allowUnborn?: boolean;
31
+ /** Only an absent fully qualified implicit ref may have a null binding. */
32
+ allowMissingDefaultBase?: boolean;
29
33
  /**
30
34
  * Base and head are accepted only as a pair. They must be literal safe refs
31
35
  * or full object IDs, never arbitrary revision expressions.
@@ -44,7 +48,7 @@ export interface DeveloperAgentGitUpstream {
44
48
  }
45
49
  export interface DeveloperAgentLinkedWorktree {
46
50
  branch: string | null;
47
- commit: string;
51
+ commit: string | null;
48
52
  detached: boolean;
49
53
  dirtyPaths: readonly string[];
50
54
  locked: boolean;
@@ -84,7 +88,7 @@ export interface DeveloperAgentGitInspection {
84
88
  concurrentChangeInspectionComplete: boolean;
85
89
  concurrentChanges: readonly DeveloperAgentConcurrentPathChange[];
86
90
  defaultBase?: {
87
- commit: string;
91
+ commit: string | null;
88
92
  ref: string;
89
93
  };
90
94
  kind: 'developer-agent-git-inspection';