@empire-builder-kit/nx 1.0.0-rc.38 → 1.0.0-rc.39

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 (637) hide show
  1. package/README.md +18 -0
  2. package/executors.json +5 -0
  3. package/generators.json +10 -0
  4. package/package.json +20 -3
  5. package/src/aws-authority/index.d.ts +1 -0
  6. package/src/aws-authority/index.js +1 -0
  7. package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
  8. package/src/aws-authority/lambda-policy-ordering.js +56 -0
  9. package/src/aws-authority/stage-authority.d.ts +11 -3
  10. package/src/aws-authority/stage-authority.js +615 -29
  11. package/src/blueprints/external-sandbox.js +21 -9
  12. package/src/blueprints/manifest.d.ts +1 -1
  13. package/src/blueprints/resolver.js +28 -15
  14. package/src/cli/bootstrap.d.ts +1 -1
  15. package/src/cli/deploy-runtime.d.ts +6 -0
  16. package/src/cli/deploy-runtime.js +58 -0
  17. package/src/cli/dev-command.d.ts +16 -4
  18. package/src/cli/dev-command.js +63 -0
  19. package/src/cli/main.d.ts +7 -1
  20. package/src/cli/main.js +128 -20
  21. package/src/cli/output.d.ts +1 -1
  22. package/src/developer-agent/context.js +41 -9
  23. package/src/developer-agent/generator-planning.js +16 -2
  24. package/src/developer-agent/git-inspection.d.ts +6 -2
  25. package/src/developer-agent/git-inspection.js +78 -6
  26. package/src/developer-agent/model.d.ts +4 -2
  27. package/src/developer-agent/operation-registry.d.ts +5 -0
  28. package/src/developer-agent/operation-registry.js +179 -23
  29. package/src/developer-agent/preview-changes.d.ts +2 -0
  30. package/src/developer-agent/preview-changes.js +14 -2
  31. package/src/developer-agent/preview-source.js +3 -0
  32. package/src/developer-agent/validation.js +20 -8
  33. package/src/developer-agent/workspace-inspection.js +37 -3
  34. package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
  35. package/src/executors/deployment-plan/deployment-plan.js +51 -4
  36. package/src/executors/dev-doctor/dev-doctor.js +13 -6
  37. package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
  38. package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
  39. package/src/executors/dev-task-cleanup/schema.json +9 -0
  40. package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
  41. package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
  42. package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
  43. package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
  44. package/src/executors/fleet/fleet.js +1 -1
  45. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +28 -1
  46. package/src/executors/local-deploy/local-deploy.d.ts +8 -1
  47. package/src/executors/local-deploy/local-deploy.js +97 -24
  48. package/src/executors/local-deploy/schema.json +8 -0
  49. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +30 -18
  50. package/src/executors/sst-lifecycle/governed-native-operation.d.ts +2 -0
  51. package/src/executors/sst-lifecycle/governed-native-operation.js +9 -0
  52. package/src/executors/sst-lifecycle/run-sst-command.d.ts +5 -0
  53. package/src/executors/sst-lifecycle/run-sst-command.js +220 -32
  54. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +8 -0
  55. package/src/executors/sst-lifecycle/sst-environment-source.js +54 -0
  56. package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
  57. package/src/executors/sst-lifecycle/task-unlock.js +126 -0
  58. package/src/foundation/capability-plan.d.ts +43 -0
  59. package/src/foundation/capability-plan.js +168 -0
  60. package/src/foundation/discovery.d.ts +14 -11
  61. package/src/foundation/discovery.js +32 -6
  62. package/src/foundation/index.d.ts +1 -0
  63. package/src/foundation/index.js +1 -0
  64. package/src/foundation/local-database-contract.d.ts +20 -0
  65. package/src/foundation/local-database-contract.js +262 -13
  66. package/src/foundation/local-private-smoke-access.d.ts +20 -0
  67. package/src/foundation/local-private-smoke-access.js +197 -0
  68. package/src/foundation/preflight.js +37 -18
  69. package/src/foundation/private-smoke-access.js +10 -2
  70. package/src/foundation/private-smoke-admission.d.ts +3 -1
  71. package/src/foundation/private-smoke-admission.js +29 -8
  72. package/src/foundation/private-smoke-control-plane.js +17 -6
  73. package/src/foundation/provision-database-bindings.d.ts +5 -0
  74. package/src/foundation/provision-database-bindings.js +41 -8
  75. package/src/foundation/provision-logical-database.js +13 -8
  76. package/src/foundation/requirements.d.ts +3 -3
  77. package/src/foundation/requirements.js +24 -12
  78. package/src/foundation/router-waf.d.ts +1 -0
  79. package/src/foundation/router-waf.js +14 -1
  80. package/src/generators/blueprint/blueprint.d.ts +5 -0
  81. package/src/generators/blueprint/blueprint.js +102 -0
  82. package/src/generators/blueprint/files.d.ts +6 -0
  83. package/src/generators/blueprint/files.js +217 -0
  84. package/src/generators/blueprint/schema.d.ts +4 -0
  85. package/src/generators/blueprint/schema.json +18 -0
  86. package/src/generators/formatting.js +24 -1
  87. package/src/generators/logging-registry.d.ts +2 -0
  88. package/src/generators/logging-registry.js +22 -0
  89. package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
  90. package/src/generators/preset/workspace-files-adopter-skills.js +301 -0
  91. package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
  92. package/src/generators/preset/workspace-files-ci-install.js +196 -0
  93. package/src/generators/preset/workspace-files-developer-agent.js +40 -13
  94. package/src/generators/preset/workspace-files-performance-load.js +8 -0
  95. package/src/generators/preset/workspace-files-stage-authority.js +40 -1
  96. package/src/generators/preset/workspace-files-thin-deploy.js +66 -34
  97. package/src/generators/preset/workspace-files-thin-docs.js +64 -18
  98. package/src/generators/preset/workspace-files.d.ts +4 -0
  99. package/src/generators/preset/workspace-files.js +159 -91
  100. package/src/generators/repository-policy/repository-policy.js +37 -0
  101. package/src/generators/slice/built-in-plan-api-contract-files.js +42 -7
  102. package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
  103. package/src/generators/slice/built-in-plan-api-files.js +47 -389
  104. package/src/generators/slice/built-in-plan-async-work-files.js +19 -1912
  105. package/src/generators/slice/built-in-plan-authorization-files.js +92 -329
  106. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +36 -2
  107. package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
  108. package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
  109. package/src/generators/slice/built-in-plan-background-work-files.d.ts +1 -1
  110. package/src/generators/slice/built-in-plan-background-work-files.js +15 -5
  111. package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
  112. package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
  113. package/src/generators/slice/built-in-plan-data-files.js +61 -1164
  114. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
  115. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +18 -2
  116. package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2446
  117. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +30 -6
  118. package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
  119. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +4 -15
  120. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
  121. package/src/generators/slice/built-in-plan-foundation-files.js +34 -10
  122. package/src/generators/slice/built-in-plan-frontend-files.js +2 -2
  123. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
  124. package/src/generators/slice/built-in-plan-infrastructure-files.js +180 -522
  125. package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
  126. package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
  127. package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
  128. package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
  129. package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
  130. package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
  131. package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
  132. package/src/generators/slice/built-in-plan-key-value-delivery.js +120 -0
  133. package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
  134. package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
  135. package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
  136. package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
  137. package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
  138. package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
  139. package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
  140. package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
  141. package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
  142. package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
  143. package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
  144. package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
  145. package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
  146. package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
  147. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
  148. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
  149. package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
  150. package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
  151. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
  152. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
  153. package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
  154. package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
  155. package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
  156. package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
  157. package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
  158. package/src/generators/slice/built-in-plan-metadata-files.js +140 -28
  159. package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +1 -1
  160. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +36 -19
  161. package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
  162. package/src/generators/slice/built-in-plan-operations-files.js +89 -50
  163. package/src/generators/slice/built-in-plan-performance-files.js +84 -1010
  164. package/src/generators/slice/built-in-plan-project-files.js +116 -67
  165. package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
  166. package/src/generators/slice/built-in-plan-release-files.js +64 -15
  167. package/src/generators/slice/built-in-plan-reliability-files.js +54 -28
  168. package/src/generators/slice/built-in-plan-shared.d.ts +3 -1
  169. package/src/generators/slice/built-in-plan-shared.js +40 -18
  170. package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
  171. package/src/generators/slice/built-in-plan-sql-events.js +257 -0
  172. package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
  173. package/src/generators/slice/built-in-plan-testing-files.js +184 -132
  174. package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
  175. package/src/generators/slice/built-in-plan-testing-persistence-files.js +178 -0
  176. package/src/generators/slice/built-in-plan-thin-release-files.d.ts +1 -1
  177. package/src/generators/slice/built-in-plan-thin-release-files.js +35 -2
  178. package/src/generators/slice/built-in-plan-verification-files.js +70 -0
  179. package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
  180. package/src/generators/slice/built-in-plan-web-files.js +191 -14
  181. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
  182. package/src/generators/slice/built-in-plan-workload-role-files.js +113 -274
  183. package/src/generators/slice/built-in-plan.d.ts +9 -1
  184. package/src/generators/slice/built-in-plan.js +49 -21
  185. package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
  186. package/src/generators/slice/data-policy-review-seed.js +22 -0
  187. package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
  188. package/src/generators/slice/deployed-smoke-readiness.js +214 -0
  189. package/src/generators/slice/local-source-identity.d.ts +2 -0
  190. package/src/generators/slice/local-source-identity.js +31 -0
  191. package/src/generators/slice/persistence-contract.d.ts +14 -0
  192. package/src/generators/slice/persistence-contract.js +32 -0
  193. package/src/generators/slice/slice.js +29 -24
  194. package/src/generators/sql/schema.d.ts +7 -0
  195. package/src/generators/sql/schema.json +38 -0
  196. package/src/generators/sql/sql.d.ts +6 -0
  197. package/src/generators/sql/sql.js +53 -0
  198. package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
  199. package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
  200. package/src/generators/upgrade/upgrade.d.ts +2 -0
  201. package/src/generators/upgrade/upgrade.js +136 -9
  202. package/src/generators/workload/workload.js +51 -2
  203. package/src/local-dev/browser-verification.d.ts +37 -0
  204. package/src/local-dev/browser-verification.js +281 -0
  205. package/src/local-dev/contracts.d.ts +10 -1
  206. package/src/local-dev/contracts.js +114 -13
  207. package/src/local-dev/dev-command-core.js +24 -5
  208. package/src/local-dev/docker-credential-health.d.ts +14 -0
  209. package/src/local-dev/docker-credential-health.js +94 -0
  210. package/src/local-dev/environment-inspector.d.ts +7 -0
  211. package/src/local-dev/environment-inspector.js +42 -15
  212. package/src/local-dev/environment-state.js +2 -2
  213. package/src/local-dev/errors.d.ts +1 -1
  214. package/src/local-dev/errors.js +2 -0
  215. package/src/local-dev/fleet-client.js +2 -2
  216. package/src/local-dev/fleet-configuration.js +57 -25
  217. package/src/local-dev/fleet-inventory.js +46 -18
  218. package/src/local-dev/fleet-ipc.d.ts +7 -0
  219. package/src/local-dev/fleet-ipc.js +14 -2
  220. package/src/local-dev/fleet-launcher.d.ts +6 -0
  221. package/src/local-dev/fleet-launcher.js +14 -2
  222. package/src/local-dev/fleet-logs.js +50 -22
  223. package/src/local-dev/fleet-process.d.ts +20 -1
  224. package/src/local-dev/fleet-process.js +197 -41
  225. package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
  226. package/src/local-dev/fleet-runner-evidence.js +56 -0
  227. package/src/local-dev/fleet-runtime.js +268 -229
  228. package/src/local-dev/fleet-session.d.ts +2 -0
  229. package/src/local-dev/fleet-session.js +28 -11
  230. package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
  231. package/src/local-dev/fleet-state.d.ts +5 -2
  232. package/src/local-dev/fleet-state.js +25 -4
  233. package/src/local-dev/fleet-supervisor.d.ts +3 -0
  234. package/src/local-dev/fleet-supervisor.js +66 -11
  235. package/src/local-dev/fleet-web-start.d.ts +12 -0
  236. package/src/local-dev/fleet-web-start.js +48 -0
  237. package/src/local-dev/identity.js +3 -14
  238. package/src/local-dev/index.d.ts +1 -0
  239. package/src/local-dev/index.js +1 -0
  240. package/src/local-dev/native-completion.d.ts +9 -0
  241. package/src/local-dev/native-completion.js +130 -0
  242. package/src/local-dev/nx-workspace.d.ts +4 -2
  243. package/src/local-dev/nx-workspace.js +11 -6
  244. package/src/local-dev/personal-stage.d.ts +4 -5
  245. package/src/local-dev/personal-stage.js +6 -54
  246. package/src/local-dev/port-claims.d.ts +13 -0
  247. package/src/local-dev/port-claims.js +46 -0
  248. package/src/local-dev/ports.d.ts +14 -2
  249. package/src/local-dev/ports.js +78 -3
  250. package/src/local-dev/private-state.d.ts +6 -0
  251. package/src/local-dev/private-state.js +126 -34
  252. package/src/local-dev/process-group.d.ts +4 -0
  253. package/src/local-dev/process-group.js +29 -0
  254. package/src/local-dev/process-identity.d.ts +8 -0
  255. package/src/local-dev/process-identity.js +31 -1
  256. package/src/local-dev/proxy.js +11 -12
  257. package/src/local-dev/runtime-paths.js +1 -1
  258. package/src/local-dev/slice-claim.js +1 -1
  259. package/src/local-dev/slice-runner.d.ts +15 -6
  260. package/src/local-dev/slice-runner.js +189 -54
  261. package/src/local-dev/task-attachment.d.ts +17 -0
  262. package/src/local-dev/task-attachment.js +73 -0
  263. package/src/local-dev/task-authority.d.ts +10 -0
  264. package/src/local-dev/task-authority.js +27 -0
  265. package/src/local-dev/task-identity.d.ts +33 -0
  266. package/src/local-dev/task-identity.js +418 -0
  267. package/src/local-dev/task-native-writer.d.ts +18 -0
  268. package/src/local-dev/task-native-writer.js +329 -0
  269. package/src/local-dev/tls.js +3 -1
  270. package/src/local-dev/web-launch.d.ts +9 -0
  271. package/src/local-dev/web-launch.js +130 -0
  272. package/src/ownership/composition.d.ts +2 -1
  273. package/src/ownership/composition.js +1 -0
  274. package/src/performance/scenario.d.ts +22 -0
  275. package/src/performance/scenario.js +100 -92
  276. package/src/repository-policy/deployment-plan.d.ts +2 -2
  277. package/src/repository-policy/deployment-plan.js +2 -1
  278. package/src/repository-policy/policy.js +38 -3
  279. package/src/schemas/blueprint-v1.json +5 -4
  280. package/src/schemas/foundation-requirement-v1.json +5 -4
  281. package/src/schemas/testing-evidence-result-v1.json +1 -1
  282. package/src/secrets/operator.d.ts +3 -1
  283. package/src/secrets/operator.js +22 -3
  284. package/src/sst-environment-source-format.d.ts +3 -0
  285. package/src/sst-environment-source-format.js +20 -0
  286. package/src/supply-chain/blueprint-trust-git.js +13 -3
  287. package/src/supply-chain/build-output.js +15 -0
  288. package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
  289. package/src/testing-evidence/fixture-scope.d.ts +2 -1
  290. package/src/testing-evidence/fixture-scope.js +4 -2
  291. package/src/testing-evidence/result.d.ts +2 -1
  292. package/src/testing-evidence/result.js +18 -4
  293. package/src/workload-roles/standard-slice.js +2 -3
  294. package/src/api-contract/baseline-update.js.map +0 -1
  295. package/src/api-contract/compatibility.js.map +0 -1
  296. package/src/api-contract/contract-graph.js.map +0 -1
  297. package/src/api-contract/evidence.js.map +0 -1
  298. package/src/api-contract/index.js.map +0 -1
  299. package/src/api-contract/model.fixtures.d.ts +0 -2
  300. package/src/api-contract/model.fixtures.js +0 -81
  301. package/src/api-contract/model.fixtures.js.map +0 -1
  302. package/src/api-contract/model.js.map +0 -1
  303. package/src/api-contract/rollout.js.map +0 -1
  304. package/src/authorization/compatibility.js.map +0 -1
  305. package/src/authorization/index.js.map +0 -1
  306. package/src/aws/child-environment.js.map +0 -1
  307. package/src/aws/identity.js.map +0 -1
  308. package/src/aws-authority/index.js.map +0 -1
  309. package/src/aws-authority/stage-authority.js.map +0 -1
  310. package/src/blueprints/execution.js.map +0 -1
  311. package/src/blueprints/external-sandbox.js.map +0 -1
  312. package/src/blueprints/index.js.map +0 -1
  313. package/src/blueprints/inputs.js.map +0 -1
  314. package/src/blueprints/manifest.js.map +0 -1
  315. package/src/blueprints/resolver.js.map +0 -1
  316. package/src/blueprints/transitions.js.map +0 -1
  317. package/src/cli/agent-command.js.map +0 -1
  318. package/src/cli/agent-runtime.js.map +0 -1
  319. package/src/cli/blueprint-authority.js.map +0 -1
  320. package/src/cli/blueprint-command.js.map +0 -1
  321. package/src/cli/bootstrap.js.map +0 -1
  322. package/src/cli/dev-command.js.map +0 -1
  323. package/src/cli/main.js.map +0 -1
  324. package/src/cli/output.js.map +0 -1
  325. package/src/cli/personal-secret-runtime.js.map +0 -1
  326. package/src/cli/secret-terminal.js.map +0 -1
  327. package/src/container-images.js.map +0 -1
  328. package/src/data-lifecycle/index.js.map +0 -1
  329. package/src/data-lifecycle/model.fixtures.d.ts +0 -2
  330. package/src/data-lifecycle/model.fixtures.js +0 -244
  331. package/src/data-lifecycle/model.fixtures.js.map +0 -1
  332. package/src/data-lifecycle/model.js.map +0 -1
  333. package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
  334. package/src/data-lifecycle/validation.js.map +0 -1
  335. package/src/database-retirement/contract.js.map +0 -1
  336. package/src/database-retirement/index.js.map +0 -1
  337. package/src/deterministic-order.js.map +0 -1
  338. package/src/developer-agent/context.js.map +0 -1
  339. package/src/developer-agent/generator-planning.js.map +0 -1
  340. package/src/developer-agent/generator-preview.js.map +0 -1
  341. package/src/developer-agent/git-inspection.js.map +0 -1
  342. package/src/developer-agent/handoff.js.map +0 -1
  343. package/src/developer-agent/index.js.map +0 -1
  344. package/src/developer-agent/model.js.map +0 -1
  345. package/src/developer-agent/operation-registry.js.map +0 -1
  346. package/src/developer-agent/ordering.js.map +0 -1
  347. package/src/developer-agent/planning.js.map +0 -1
  348. package/src/developer-agent/preview-changes.js.map +0 -1
  349. package/src/developer-agent/preview-source.js.map +0 -1
  350. package/src/developer-agent/validation.js.map +0 -1
  351. package/src/developer-agent/workspace-inspection.js.map +0 -1
  352. package/src/developer-agent/workspace-path.js.map +0 -1
  353. package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
  354. package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
  355. package/src/executors/deploy/deploy.js.map +0 -1
  356. package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
  357. package/src/executors/dev/dev.js.map +0 -1
  358. package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
  359. package/src/executors/dev-setup/dev-setup.js.map +0 -1
  360. package/src/executors/developer-context/developer-context.js.map +0 -1
  361. package/src/executors/fleet/fleet.js.map +0 -1
  362. package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
  363. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
  364. package/src/executors/foundation-profile-preflight/production-database-safeguard.js.map +0 -1
  365. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
  366. package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
  367. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
  368. package/src/executors/local-deploy/federated-credential-transport.js.map +0 -1
  369. package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +0 -53
  370. package/src/executors/local-deploy/local-approval.js.map +0 -1
  371. package/src/executors/local-deploy/local-deploy.js.map +0 -1
  372. package/src/executors/refresh/refresh.js.map +0 -1
  373. package/src/executors/remove/remove.js.map +0 -1
  374. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +0 -1
  375. package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
  376. package/src/executors/secret-initialize/secret-initialize.js.map +0 -1
  377. package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
  378. package/src/executors/sst-lifecycle/generated-secret-retirement.js.map +0 -1
  379. package/src/executors/sst-lifecycle/governed-native-operation.js.map +0 -1
  380. package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
  381. package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
  382. package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
  383. package/src/executors/sst-lifecycle/sst-environment-source.js.map +0 -1
  384. package/src/executors/unlock/unlock.js.map +0 -1
  385. package/src/executors/work-markers/work-markers.js.map +0 -1
  386. package/src/foundation/discovery.js.map +0 -1
  387. package/src/foundation/index.js.map +0 -1
  388. package/src/foundation/local-database-contract.js.map +0 -1
  389. package/src/foundation/logging-preflight.js.map +0 -1
  390. package/src/foundation/logging.js.map +0 -1
  391. package/src/foundation/partial-state.js.map +0 -1
  392. package/src/foundation/preflight.js.map +0 -1
  393. package/src/foundation/private-smoke-access.js.map +0 -1
  394. package/src/foundation/private-smoke-admission.js.map +0 -1
  395. package/src/foundation/private-smoke-control-plane.js.map +0 -1
  396. package/src/foundation/provision-database-bindings.js.map +0 -1
  397. package/src/foundation/provision-logical-database.js.map +0 -1
  398. package/src/foundation/requirements.js.map +0 -1
  399. package/src/foundation/router-origin-proof.js.map +0 -1
  400. package/src/foundation/router-waf-rate-rehearsal.js.map +0 -1
  401. package/src/foundation/router-waf.js.map +0 -1
  402. package/src/foundation/stages.js.map +0 -1
  403. package/src/frontend-security/index.js.map +0 -1
  404. package/src/frontend-security/security-headers.js.map +0 -1
  405. package/src/generators/feature-registry.js.map +0 -1
  406. package/src/generators/formatting.js.map +0 -1
  407. package/src/generators/function/function.js.map +0 -1
  408. package/src/generators/job/job.js.map +0 -1
  409. package/src/generators/logging-registry.js.map +0 -1
  410. package/src/generators/post-generation-install.js.map +0 -1
  411. package/src/generators/preset/dependency-overrides.js.map +0 -1
  412. package/src/generators/preset/generator.js.map +0 -1
  413. package/src/generators/preset/tool-versions.js.map +0 -1
  414. package/src/generators/preset/workspace-files-ci-acceptance.js.map +0 -1
  415. package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
  416. package/src/generators/preset/workspace-files-ecr-inspector.js.map +0 -1
  417. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
  418. package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
  419. package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
  420. package/src/generators/preset/workspace-files-stage-authority.js.map +0 -1
  421. package/src/generators/preset/workspace-files-thin-deploy.js.map +0 -1
  422. package/src/generators/preset/workspace-files-thin-docs.js.map +0 -1
  423. package/src/generators/preset/workspace-files-thin-release.js.map +0 -1
  424. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
  425. package/src/generators/preset/workspace-files.js.map +0 -1
  426. package/src/generators/repository-policy/repository-policy.js.map +0 -1
  427. package/src/generators/repository-policy/tree-policy.js.map +0 -1
  428. package/src/generators/service/service.js.map +0 -1
  429. package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
  430. package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
  431. package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
  432. package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
  433. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
  434. package/src/generators/slice/built-in-plan-background-work-files.js.map +0 -1
  435. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
  436. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
  437. package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
  438. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
  439. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
  440. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
  441. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
  442. package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
  443. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
  444. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
  445. package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
  446. package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
  447. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
  448. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
  449. package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
  450. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js.map +0 -1
  451. package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
  452. package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
  453. package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
  454. package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
  455. package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
  456. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
  457. package/src/generators/slice/built-in-plan-shared.js.map +0 -1
  458. package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
  459. package/src/generators/slice/built-in-plan-thin-release-files.js.map +0 -1
  460. package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
  461. package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
  462. package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
  463. package/src/generators/slice/built-in-plan.js.map +0 -1
  464. package/src/generators/slice/slice.js.map +0 -1
  465. package/src/generators/upgrade/upgrade.js.map +0 -1
  466. package/src/generators/workload/frozen-container.js.map +0 -1
  467. package/src/generators/workload/performance-registration.js.map +0 -1
  468. package/src/generators/workload/reliability-registration.js.map +0 -1
  469. package/src/generators/workload/service-performance-files.js.map +0 -1
  470. package/src/generators/workload/workload.js.map +0 -1
  471. package/src/git-policy/action-pins.js.map +0 -1
  472. package/src/git-policy/github-bootstrap.js.map +0 -1
  473. package/src/git-policy/index.js.map +0 -1
  474. package/src/git-policy/routing.js.map +0 -1
  475. package/src/index.js.map +0 -1
  476. package/src/infrastructure-change/convergence.js.map +0 -1
  477. package/src/infrastructure-change/drift.js.map +0 -1
  478. package/src/infrastructure-change/index.js.map +0 -1
  479. package/src/infrastructure-change/local-capability.js.map +0 -1
  480. package/src/infrastructure-change/model.js.map +0 -1
  481. package/src/infrastructure-change/normalize.js.map +0 -1
  482. package/src/infrastructure-change/plan.js.map +0 -1
  483. package/src/infrastructure-change/risk.js.map +0 -1
  484. package/src/infrastructure-change/summary.js.map +0 -1
  485. package/src/local-dev/context-discovery.js.map +0 -1
  486. package/src/local-dev/contract-validation.js.map +0 -1
  487. package/src/local-dev/contracts.js.map +0 -1
  488. package/src/local-dev/control-contract.js.map +0 -1
  489. package/src/local-dev/dev-command-core.js.map +0 -1
  490. package/src/local-dev/effects.js.map +0 -1
  491. package/src/local-dev/environment-inspector.js.map +0 -1
  492. package/src/local-dev/environment-state.js.map +0 -1
  493. package/src/local-dev/errors.js.map +0 -1
  494. package/src/local-dev/fleet-client.js.map +0 -1
  495. package/src/local-dev/fleet-configuration.js.map +0 -1
  496. package/src/local-dev/fleet-inventory.js.map +0 -1
  497. package/src/local-dev/fleet-ipc.js.map +0 -1
  498. package/src/local-dev/fleet-launcher.js.map +0 -1
  499. package/src/local-dev/fleet-lock.js.map +0 -1
  500. package/src/local-dev/fleet-logs.js.map +0 -1
  501. package/src/local-dev/fleet-process.js.map +0 -1
  502. package/src/local-dev/fleet-runtime.js.map +0 -1
  503. package/src/local-dev/fleet-session.js.map +0 -1
  504. package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
  505. package/src/local-dev/fleet-startup.js.map +0 -1
  506. package/src/local-dev/fleet-state.js.map +0 -1
  507. package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
  508. package/src/local-dev/fleet-supervisor.js.map +0 -1
  509. package/src/local-dev/gateway-daemon.js.map +0 -1
  510. package/src/local-dev/gateway.js.map +0 -1
  511. package/src/local-dev/identity.js.map +0 -1
  512. package/src/local-dev/index.js.map +0 -1
  513. package/src/local-dev/local-context.js.map +0 -1
  514. package/src/local-dev/nx-workspace.js.map +0 -1
  515. package/src/local-dev/personal-secret-ledger.js.map +0 -1
  516. package/src/local-dev/personal-stage.js.map +0 -1
  517. package/src/local-dev/portless.js.map +0 -1
  518. package/src/local-dev/ports.js.map +0 -1
  519. package/src/local-dev/private-state.js.map +0 -1
  520. package/src/local-dev/process-identity.js.map +0 -1
  521. package/src/local-dev/proxy.js.map +0 -1
  522. package/src/local-dev/runtime-paths.js.map +0 -1
  523. package/src/local-dev/secret-slice-claim.js.map +0 -1
  524. package/src/local-dev/slice-claim.js.map +0 -1
  525. package/src/local-dev/slice-runner.js.map +0 -1
  526. package/src/local-dev/tls.js.map +0 -1
  527. package/src/ownership/composition.js.map +0 -1
  528. package/src/ownership/foundation-record.js.map +0 -1
  529. package/src/ownership/hash.js.map +0 -1
  530. package/src/ownership/index.js.map +0 -1
  531. package/src/ownership/json-ownership.js.map +0 -1
  532. package/src/ownership/record.js.map +0 -1
  533. package/src/ownership/workspace-record.js.map +0 -1
  534. package/src/performance/cost-collection.js.map +0 -1
  535. package/src/performance/cost-controls.js.map +0 -1
  536. package/src/performance/evidence.js.map +0 -1
  537. package/src/performance/index.js.map +0 -1
  538. package/src/performance/load-safety.js.map +0 -1
  539. package/src/performance/model.js.map +0 -1
  540. package/src/performance/pr-artifact-budget.js.map +0 -1
  541. package/src/performance/runner.js.map +0 -1
  542. package/src/performance/scenario-endpoint.js.map +0 -1
  543. package/src/performance/scenario.js.map +0 -1
  544. package/src/performance/test-fixtures.d.ts +0 -7
  545. package/src/performance/test-fixtures.js +0 -167
  546. package/src/performance/test-fixtures.js.map +0 -1
  547. package/src/performance/unit-cost.js.map +0 -1
  548. package/src/release/index.js.map +0 -1
  549. package/src/release/lifecycle.js.map +0 -1
  550. package/src/release/manifest.js.map +0 -1
  551. package/src/release/rollout.js.map +0 -1
  552. package/src/release/source-authority.js.map +0 -1
  553. package/src/repository-policy/aurora-preflight.js.map +0 -1
  554. package/src/repository-policy/capacity-migration.js.map +0 -1
  555. package/src/repository-policy/deployment-plan.js.map +0 -1
  556. package/src/repository-policy/foundation-profile.js.map +0 -1
  557. package/src/repository-policy/index.js.map +0 -1
  558. package/src/repository-policy/policy.js.map +0 -1
  559. package/src/secrets/adapters.js.map +0 -1
  560. package/src/secrets/aws-control-plane.js.map +0 -1
  561. package/src/secrets/declaration-verification.js.map +0 -1
  562. package/src/secrets/generated-aws-control-plane.js.map +0 -1
  563. package/src/secrets/guardrails.js.map +0 -1
  564. package/src/secrets/index.js.map +0 -1
  565. package/src/secrets/metadata.js.map +0 -1
  566. package/src/secrets/model.js.map +0 -1
  567. package/src/secrets/operator.js.map +0 -1
  568. package/src/secrets/permissions.js.map +0 -1
  569. package/src/secrets/personal-command.js.map +0 -1
  570. package/src/secrets/personal-ledger.js.map +0 -1
  571. package/src/secrets/registry.js.map +0 -1
  572. package/src/secrets/verification.js.map +0 -1
  573. package/src/secrets/workload-access.js.map +0 -1
  574. package/src/sst-environment-source-format.js.map +0 -1
  575. package/src/supply-chain/action-pins.js.map +0 -1
  576. package/src/supply-chain/blueprint-trust-git.js.map +0 -1
  577. package/src/supply-chain/blueprint-trust-process.js.map +0 -1
  578. package/src/supply-chain/blueprint-trust.js.map +0 -1
  579. package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
  580. package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
  581. package/src/supply-chain/build-output-bounds.js.map +0 -1
  582. package/src/supply-chain/build-output.js.map +0 -1
  583. package/src/supply-chain/common.js.map +0 -1
  584. package/src/supply-chain/container-artifact-contract.js.map +0 -1
  585. package/src/supply-chain/container-release.js.map +0 -1
  586. package/src/supply-chain/ecr-applicability.js.map +0 -1
  587. package/src/supply-chain/ecr-scanning.js.map +0 -1
  588. package/src/supply-chain/ecs-deployed-image.js.map +0 -1
  589. package/src/supply-chain/errors.js.map +0 -1
  590. package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
  591. package/src/supply-chain/generated-command.js.map +0 -1
  592. package/src/supply-chain/generated-container-release-command.js.map +0 -1
  593. package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
  594. package/src/supply-chain/generated-files.js.map +0 -1
  595. package/src/supply-chain/generated-scanner-command.js.map +0 -1
  596. package/src/supply-chain/index.js.map +0 -1
  597. package/src/supply-chain/inventory.js.map +0 -1
  598. package/src/supply-chain/license-expression.js.map +0 -1
  599. package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
  600. package/src/supply-chain/policy.js.map +0 -1
  601. package/src/supply-chain/publication.js.map +0 -1
  602. package/src/supply-chain/sbom.js.map +0 -1
  603. package/src/supply-chain/scanner.js.map +0 -1
  604. package/src/supply-chain/vendored-source.js.map +0 -1
  605. package/src/testing-evidence/fixture-scope.js.map +0 -1
  606. package/src/testing-evidence/index.js.map +0 -1
  607. package/src/testing-evidence/quarantine.js.map +0 -1
  608. package/src/testing-evidence/result.js.map +0 -1
  609. package/src/testing-evidence/runner-adapter.js.map +0 -1
  610. package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
  611. package/src/validation.js.map +0 -1
  612. package/src/work-markers/index.js.map +0 -1
  613. package/src/work-markers/work-markers.js.map +0 -1
  614. package/src/workload-roles/account-baseline.js.map +0 -1
  615. package/src/workload-roles/authority.js.map +0 -1
  616. package/src/workload-roles/aws-adapter.js.map +0 -1
  617. package/src/workload-roles/aws-internal-handler.js.map +0 -1
  618. package/src/workload-roles/aws-s3-state.js.map +0 -1
  619. package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
  620. package/src/workload-roles/boundary.js.map +0 -1
  621. package/src/workload-roles/convergence.js.map +0 -1
  622. package/src/workload-roles/effective-policy.js.map +0 -1
  623. package/src/workload-roles/handler.js.map +0 -1
  624. package/src/workload-roles/history.js.map +0 -1
  625. package/src/workload-roles/index.js.map +0 -1
  626. package/src/workload-roles/injection.js.map +0 -1
  627. package/src/workload-roles/manifest.js.map +0 -1
  628. package/src/workload-roles/provisioner.js.map +0 -1
  629. package/src/workload-roles/registration.js.map +0 -1
  630. package/src/workload-roles/stage-boundary.js.map +0 -1
  631. package/src/workload-roles/standard-slice.js.map +0 -1
  632. package/src/workspace-deployment/affected-lifecycle.js.map +0 -1
  633. package/src/workspace-deployment/identity.js.map +0 -1
  634. package/src/workspace-deployment/index.js.map +0 -1
  635. package/src/workspace-deployment/migration-evidence.js.map +0 -1
  636. package/src/workspace-deployment/migration.js.map +0 -1
  637. package/src/workspace-deployment/ownership.js.map +0 -1
@@ -160,7 +160,7 @@ function packagePathSegments(name, label) {
160
160
  }
161
161
  return segments;
162
162
  }
163
- function assertLinuxMuslPortableManifest(manifest) {
163
+ function assertLinuxMuslPortableManifest(manifest, registryDependency) {
164
164
  if (manifest.optionalDependencies !== undefined) {
165
165
  if (!isRecord(manifest.optionalDependencies)) {
166
166
  throw new Error(`External Blueprint package ${manifest.name}@${manifest.version} has a malformed optional dependency map.`);
@@ -212,7 +212,8 @@ function assertLinuxMuslPortableManifest(manifest) {
212
212
  'postinstall',
213
213
  'prepare',
214
214
  'prepublish',
215
- ].find((name) => Object.prototype.hasOwnProperty.call(manifest.scripts, name));
215
+ ].find((name) => Object.prototype.hasOwnProperty.call(manifest.scripts, name) &&
216
+ !(name === 'prepublish' && registryDependency));
216
217
  if (installScript) {
217
218
  throw new Error(`External Blueprint package ${manifest.name}@${manifest.version} declares unsupported install/build script ${installScript}.`);
218
219
  }
@@ -225,7 +226,7 @@ function assertLinuxMuslPortableManifest(manifest) {
225
226
  throw new Error(`External Blueprint package ${manifest.name}@${manifest.version} declares unsupported native build dependency ${buildDependency}.`);
226
227
  }
227
228
  }
228
- function readPackageManifest(packageRoot, expectedName, expectedVersion) {
229
+ function readPackageManifest(packageRoot, expectedName, expectedVersion, registryDependencyAuthority) {
229
230
  const manifestPath = (0, node_path_1.join)(packageRoot, 'package.json');
230
231
  let descriptor;
231
232
  let bytes;
@@ -283,7 +284,15 @@ function readPackageManifest(packageRoot, expectedName, expectedVersion) {
283
284
  }
284
285
  packagePathSegments(value.name, 'External Blueprint dependency name');
285
286
  const manifest = value;
286
- assertLinuxMuslPortableManifest(manifest);
287
+ if (registryDependencyAuthority) {
288
+ assertInstalledPackageAuthority(registryDependencyAuthority, packageRoot, manifest);
289
+ }
290
+ // A registry dependency may ship prepublish metadata alongside ready JS.
291
+ // This is not a publish-only hook: npm install can execute it. The sandbox
292
+ // runs Node directly, never a package manager or build script. Missing built
293
+ // files therefore fail execution; hooks cannot be used to manufacture them.
294
+ // Publisher roots never receive this dependency-only admission.
295
+ assertLinuxMuslPortableManifest(manifest, !!registryDependencyAuthority);
287
296
  return manifest;
288
297
  }
289
298
  function manifestDependencyInventory(manifest) {
@@ -460,7 +469,7 @@ function resolveInstalledDependencyRoot(workspaceRoot, packageRoot, dependency,
460
469
  throw new Error('External Blueprint dependency closure escapes the canonical workspace.');
461
470
  }
462
471
  assertInstalledPackageRoot(installedAuthority, canonical);
463
- readPackageManifest(canonical, dependency.name);
472
+ readPackageManifest(canonical, dependency.name, undefined, installedAuthority);
464
473
  return canonical;
465
474
  }
466
475
  if (dependency.optional)
@@ -513,7 +522,7 @@ function copyPackageBytes(sourceRoot, destinationRoot, budget) {
513
522
  };
514
523
  visit(sourceRoot, destinationRoot, 0);
515
524
  }
516
- function discoverPackage(workspaceRoot, sourceRoot, packagesRoot, packages, budget, installedAuthority, requiresRegistryAuthority) {
525
+ function discoverPackage(workspaceRoot, sourceRoot, packagesRoot, packages, budget, installedAuthority, packageKind) {
517
526
  const existing = packages.get(sourceRoot);
518
527
  if (existing)
519
528
  return existing;
@@ -521,13 +530,14 @@ function discoverPackage(workspaceRoot, sourceRoot, packagesRoot, packages, budg
521
530
  if (budget.packages > MAX_CLOSURE_PACKAGES) {
522
531
  throw new Error('External Blueprint dependency closure exceeds its fixed package bound.');
523
532
  }
533
+ const requiresRegistryAuthority = packageKind !== 'local-publisher';
524
534
  if (requiresRegistryAuthority && !installedAuthority) {
525
535
  throw new Error('Local external Blueprint dependencies require canonical pnpm registry and lockfile authority.');
526
536
  }
527
537
  if (requiresRegistryAuthority && installedAuthority) {
528
538
  assertInstalledPackageRoot(installedAuthority, sourceRoot);
529
539
  }
530
- const manifest = readPackageManifest(sourceRoot);
540
+ const manifest = readPackageManifest(sourceRoot, undefined, undefined, packageKind === 'dependency' ? installedAuthority : undefined);
531
541
  if (requiresRegistryAuthority && installedAuthority) {
532
542
  assertInstalledPackageAuthority(installedAuthority, sourceRoot, manifest);
533
543
  }
@@ -546,7 +556,7 @@ function discoverPackage(workspaceRoot, sourceRoot, packagesRoot, packages, budg
546
556
  const dependencyRoot = resolveInstalledDependencyRoot(workspaceRoot, sourceRoot, dependency, installedAuthority);
547
557
  if (dependencyRoot === undefined)
548
558
  continue;
549
- node.dependencies.set(dependency.name, discoverPackage(workspaceRoot, dependencyRoot, packagesRoot, packages, budget, installedAuthority, true));
559
+ node.dependencies.set(dependency.name, discoverPackage(workspaceRoot, dependencyRoot, packagesRoot, packages, budget, installedAuthority, 'dependency'));
550
560
  }
551
561
  return node;
552
562
  }
@@ -602,7 +612,9 @@ function stageExternalBlueprintClosure(workspaceRoot, packageRoot, generatorPath
602
612
  (0, node_fs_1.mkdirSync)(packagesRoot, { recursive: true, mode: 0o700 });
603
613
  (0, node_fs_1.chmodSync)(packagesRoot, 0o700);
604
614
  const packages = new Map();
605
- const root = discoverPackage(workspaceRoot, packageRoot, packagesRoot, packages, { bytes: 0, directories: 0, files: 0, packages: 0 }, installedAuthority, authority.source === 'installed');
615
+ const root = discoverPackage(workspaceRoot, packageRoot, packagesRoot, packages, { bytes: 0, directories: 0, files: 0, packages: 0 }, installedAuthority, authority.source === 'installed'
616
+ ? 'installed-publisher'
617
+ : 'local-publisher');
606
618
  linkStagedPackageGraph(stageRoot, root, packages);
607
619
  const containerGeneratorUrl = `file://${node_path_1.posix.join('/sandbox/node_modules', ...packageSegments, ...generatorChild
608
620
  .split(node_path_1.sep)
@@ -73,7 +73,7 @@ export declare const blueprintManifestSchema: {
73
73
  readonly properties: {
74
74
  readonly capabilities: {
75
75
  readonly items: {
76
- readonly enum: readonly ["network", "routing", "container-compute", "postgres", "identity", "events", "observability", "configuration", "deployment"];
76
+ readonly enum: readonly ["key-value", "routing", "identity", "events", "observability", "configuration", "deployment", "network", "container-compute", "postgres"];
77
77
  readonly type: "string";
78
78
  };
79
79
  readonly type: "array";
@@ -7,6 +7,7 @@ const node_crypto_1 = require("node:crypto");
7
7
  const node_fs_1 = require("node:fs");
8
8
  const node_path_1 = require("node:path");
9
9
  const semver_1 = require("semver");
10
+ const capability_plan_js_1 = require("../foundation/capability-plan.js");
10
11
  const blueprint_trust_js_1 = require("../supply-chain/blueprint-trust.js");
11
12
  const blueprint_trust_git_js_1 = require("../supply-chain/blueprint-trust-git.js");
12
13
  const inputs_js_1 = require("./inputs.js");
@@ -21,7 +22,31 @@ const MAX_PNPM_LOCKFILE_BYTES = 32 * 1024 * 1024;
21
22
  const builtInInputSchema = {
22
23
  $schema: 'https://json-schema.org/draft/2020-12/schema',
23
24
  additionalProperties: false,
24
- properties: {},
25
+ properties: {
26
+ sql: {
27
+ type: 'object',
28
+ additionalProperties: false,
29
+ required: ['reason'],
30
+ properties: {
31
+ reason: {
32
+ type: 'string',
33
+ minLength: 1,
34
+ maxLength: 512,
35
+ pattern: '^[^\\u0000-\\u001f\\u007f]+$',
36
+ },
37
+ },
38
+ },
39
+ dependencySlices: {
40
+ type: 'array',
41
+ maxItems: 64,
42
+ uniqueItems: true,
43
+ items: {
44
+ type: 'string',
45
+ maxLength: 63,
46
+ pattern: '^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$',
47
+ },
48
+ },
49
+ },
25
50
  type: 'object',
26
51
  };
27
52
  function readEngineVersion() {
@@ -42,19 +67,7 @@ function createBuiltInManifest(engineVersion) {
42
67
  return {
43
68
  $schema: 'https://empirebuilderkit.dev/schemas/blueprint-v1.json',
44
69
  engine: engineVersion,
45
- foundation: {
46
- capabilities: [
47
- 'network',
48
- 'routing',
49
- 'postgres',
50
- 'identity',
51
- 'events',
52
- 'observability',
53
- 'configuration',
54
- 'deployment',
55
- ],
56
- contract: '^1',
57
- },
70
+ foundation: (0, capability_plan_js_1.standardPersistenceRequirement)({}),
58
71
  generator: './built-in/standard.js',
59
72
  inputs: './built-in/standard-inputs.json',
60
73
  kind: 'slice',
@@ -340,7 +353,7 @@ function resolveBlueprint({ engineVersion, localAuthoringPackages = [], localPac
340
353
  throw new Error(`Blueprint manifest identity ${manifestResult.value.name}@${manifestResult.value.version} does not match requested ${parsed.name}@${parsed.version}.`);
341
354
  }
342
355
  if (!(0, semver_1.satisfies)(resolvedEngineVersion, manifestResult.value.engine)) {
343
- throw new Error(`Blueprint ${parsed.name}@${parsed.version} requires EBK engine ${manifestResult.value.engine}, but this workspace provides ${resolvedEngineVersion}.`);
356
+ throw new Error(`Blueprint ${parsed.name}@${parsed.version} requires EBK engine ${manifestResult.value.engine}, but this workspace provides ${resolvedEngineVersion}. Use a compatible reviewed recipe, or revalidate your adopter-owned recipe against this engine in a disposable workspace before updating its engine declaration, version and trust record.`);
344
357
  }
345
358
  resolveManifestAssets(packageRoot, manifestResult.value);
346
359
  if (localRoot) {
@@ -27,5 +27,5 @@ export declare function launchBlueprintAuthority(workspaceRoot: string, io: Requ
27
27
  childPath?: string;
28
28
  nodeExecutable?: string;
29
29
  }): 0 | 1;
30
- export declare function runEbkBootstrap(arguments_: readonly string[], io?: BootstrapIo, dependencies?: BootstrapDependencies): Promise<0 | 1 | 2>;
30
+ export declare function runEbkBootstrap(arguments_: readonly string[], io?: BootstrapIo, dependencies?: BootstrapDependencies): Promise<number>;
31
31
  export {};
@@ -0,0 +1,6 @@
1
+ import { runGovernedChildProcess } from '../executors/sst-lifecycle/run-sst-command.js';
2
+ import type { DeployCliCommand } from './dev-command.js';
3
+ /** The CLI selects the existing workspace lifecycle, never an individual SST
4
+ * child. All policy, identity, TTY, migration, smoke and receipt decisions
5
+ * remain in the generated Nx target and its executor. */
6
+ export declare function executeDeployCommand(command: DeployCliCommand, workspaceRoot: string, environment: NodeJS.ProcessEnv, run?: typeof runGovernedChildProcess): Promise<number>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeDeployCommand = executeDeployCommand;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_os_1 = require("node:os");
6
+ const node_path_1 = require("node:path");
7
+ const run_sst_command_js_1 = require("../executors/sst-lifecycle/run-sst-command.js");
8
+ const errors_js_1 = require("../local-dev/errors.js");
9
+ const nx_workspace_js_1 = require("../local-dev/nx-workspace.js");
10
+ /** The CLI selects the existing workspace lifecycle, never an individual SST
11
+ * child. All policy, identity, TTY, migration, smoke and receipt decisions
12
+ * remain in the generated Nx target and its executor. */
13
+ async function executeDeployCommand(command, workspaceRoot, environment, run = run_sst_command_js_1.runGovernedChildProcess) {
14
+ let project;
15
+ try {
16
+ project = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(workspaceRoot, 'project.json'), 'utf8'));
17
+ }
18
+ catch {
19
+ throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'ebk deploy requires the generated root project.json. Run the supported workspace upgrade and workspace-health check.');
20
+ }
21
+ const target = project?.targets?.['deploy-local'];
22
+ if (typeof project?.name !== 'string' ||
23
+ !/^[a-zA-Z0-9@][a-zA-Z0-9@/._-]{0,213}$/.test(project.name) ||
24
+ target?.executor !== '@empire-builder-kit/nx:local-deploy' ||
25
+ target.cache !== false ||
26
+ !Array.isArray(target.dependsOn) ||
27
+ !target.dependsOn.includes('workspace-health')) {
28
+ throw new errors_js_1.LocalDevContractError('prerequisite-unavailable', 'ebk deploy requires the generated, non-cacheable workspace deploy-local target. Run the supported workspace upgrade and workspace-health check.');
29
+ }
30
+ const nx = (0, nx_workspace_js_1.resolveWorkspaceNxRuntime)(workspaceRoot);
31
+ const result = await run({
32
+ executable: process.execPath,
33
+ args: [
34
+ nx.binary,
35
+ 'run',
36
+ `${project.name}:deploy-local`,
37
+ '--',
38
+ `--stage=${command.stage}`,
39
+ `--expectedRoleArn=${command.expectedRoleArn}`,
40
+ ...(command.profile ? [`--profile=${command.profile}`] : []),
41
+ ...(command.slices ? [`--slices=${command.slices.join(',')}`] : []),
42
+ ],
43
+ cwd: workspaceRoot,
44
+ environment: {
45
+ ...environment,
46
+ // Stream native diagnostics and preserve the inherited TTY. This target
47
+ // is never served from cache and receives no skip/approval overrides.
48
+ NX_TUI: 'false',
49
+ NX_TASKS_RUNNER_DYNAMIC_OUTPUT: 'false',
50
+ },
51
+ });
52
+ if (result.error)
53
+ throw result.error;
54
+ if (result.signal)
55
+ return 128 + (node_os_1.constants.signals[result.signal] ?? 1);
56
+ return result.status ?? 1;
57
+ }
58
+ //# sourceMappingURL=deploy-runtime.js.map
@@ -1,11 +1,11 @@
1
1
  import { type LocalDevContextInput } from '../local-dev/local-context.js';
2
2
  import { type AgentCliCommand } from './agent-command.js';
3
3
  export declare const EBK_AGENT_COMMANDS: readonly ["context", "handoff", "plan", "resume", "upgrade-preview"];
4
- export declare const EBK_DEV_COMMANDS: readonly ["configure", "doctor", "down", "logs", "prune", "ps", "restart", "setup", "status", "tail", "up"];
4
+ export declare const EBK_DEV_COMMANDS: readonly ["attach", "configure", "doctor", "down", "logs", "prune", "ps", "restart", "setup", "status", "tail", "up"];
5
5
  export declare const EBK_SECRET_COMMANDS: readonly ["remove", "set"];
6
6
  export type CliHelpCommand = {
7
7
  kind: 'help';
8
- namespace?: 'agent' | 'dev' | 'secret';
8
+ namespace?: 'agent' | 'deploy' | 'dev' | 'secret';
9
9
  };
10
10
  export type CliVersionCommand = {
11
11
  kind: 'version';
@@ -49,6 +49,10 @@ export interface DevLifecycleCommand extends DevCommandBase {
49
49
  export interface DevStatusCommand extends DevCommandBase {
50
50
  command: 'status';
51
51
  }
52
+ export interface DevAttachCommand extends DevCommandBase {
53
+ command: 'attach';
54
+ taskId: string;
55
+ }
52
56
  export interface DevDoctorCommand extends DevCommandBase {
53
57
  command: 'doctor';
54
58
  environmentOnly: boolean;
@@ -80,13 +84,21 @@ export interface DevPruneCommand extends DevCommandBase {
80
84
  command: 'prune';
81
85
  fleetId?: string;
82
86
  }
83
- export type DevCliCommand = DevConfigureCommand | DevDoctorCommand | DevLifecycleCommand | DevLogsCommand | DevPruneCommand | DevPsCommand | DevSetupCommand | DevStatusCommand | DevTailCommand | DevUpCommand;
87
+ export type DevCliCommand = DevAttachCommand | DevConfigureCommand | DevDoctorCommand | DevLifecycleCommand | DevLogsCommand | DevPruneCommand | DevPsCommand | DevSetupCommand | DevStatusCommand | DevTailCommand | DevUpCommand;
84
88
  export interface SecretCliCommand {
85
89
  command: 'remove' | 'set';
86
90
  kind: 'secret';
87
91
  logicalName: string;
88
92
  slice: string;
89
93
  }
90
- export type ParsedEbkCommand = AgentCliCommand | CliHelpCommand | CliVersionCommand | DevCliCommand | SecretCliCommand;
94
+ export interface DeployCliCommand {
95
+ kind: 'deploy';
96
+ command: 'deploy';
97
+ stage: 'development' | 'staging' | 'production';
98
+ profile?: string;
99
+ expectedRoleArn: string;
100
+ slices?: string[];
101
+ }
102
+ export type ParsedEbkCommand = AgentCliCommand | CliHelpCommand | CliVersionCommand | DeployCliCommand | DevCliCommand | SecretCliCommand;
91
103
  export declare function parseEbkArguments(arguments_: readonly string[]): ParsedEbkCommand;
92
104
  export {};
@@ -6,6 +6,7 @@ const errors_js_1 = require("../local-dev/errors.js");
6
6
  const local_context_js_1 = require("../local-dev/local-context.js");
7
7
  const identity_js_1 = require("../local-dev/identity.js");
8
8
  const personal_stage_js_1 = require("../local-dev/personal-stage.js");
9
+ const task_identity_js_1 = require("../local-dev/task-identity.js");
9
10
  const agent_command_js_1 = require("./agent-command.js");
10
11
  exports.EBK_AGENT_COMMANDS = [
11
12
  'context',
@@ -15,6 +16,7 @@ exports.EBK_AGENT_COMMANDS = [
15
16
  'upgrade-preview',
16
17
  ];
17
18
  exports.EBK_DEV_COMMANDS = [
19
+ 'attach',
18
20
  'configure',
19
21
  'doctor',
20
22
  'down',
@@ -486,6 +488,56 @@ function parseSecret(arguments_) {
486
488
  };
487
489
  }
488
490
  function parseEbkArguments(arguments_) {
491
+ // Canonical deploy stages are explicit; personal dev/secret stages remain
492
+ // resolver-owned and must continue rejecting stage overrides.
493
+ if (arguments_[0] === 'deploy') {
494
+ if (arguments_.length === 2 && arguments_[1] === '--help') {
495
+ return { kind: 'help', namespace: 'deploy' };
496
+ }
497
+ const tokens = parseTokens(arguments_.slice(1), {
498
+ stage: {
499
+ kind: 'string',
500
+ values: ['development', 'staging', 'production'],
501
+ },
502
+ profile: { kind: 'string' },
503
+ expectedRoleArn: { kind: 'string' },
504
+ });
505
+ const stages = ['development', 'staging', 'production'];
506
+ const positionalStage = stages.includes(tokens.positionals[0])
507
+ ? tokens.positionals[0]
508
+ : undefined;
509
+ if (positionalStage && tokens.options.stage !== undefined) {
510
+ return usageError('ebk deploy accepts one stage, positional or --stage, not both.');
511
+ }
512
+ const stage = positionalStage ?? stringOption(tokens, 'stage') ?? 'development';
513
+ if (stage !== 'development' &&
514
+ stage !== 'staging' &&
515
+ stage !== 'production') {
516
+ return usageError('ebk deploy stage must be development, staging, or production.');
517
+ }
518
+ const expectedRoleArn = stringOption(tokens, 'expectedRoleArn');
519
+ if (!expectedRoleArn ||
520
+ !/^arn:(aws|aws-us-gov|aws-cn):iam::[0-9]{12}:role\/[A-Za-z0-9+=,.@_/-]{1,512}$/.test(expectedRoleArn)) {
521
+ return usageError('ebk deploy requires --expectedRoleArn=<exact-stage-deployment-role-arn>. See ebk deploy --help.');
522
+ }
523
+ const profile = stringOption(tokens, 'profile');
524
+ const slices = tokens.positionals.slice(positionalStage ? 1 : 0);
525
+ if (slices.length > 64 ||
526
+ new Set(slices).size !== slices.length ||
527
+ slices.some((slice) => !SLICE_PATTERN.test(slice) || stages.includes(slice))) {
528
+ return usageError('ebk deploy requires unique Slice names after the optional stage.');
529
+ }
530
+ return {
531
+ kind: 'deploy',
532
+ command: 'deploy',
533
+ stage,
534
+ expectedRoleArn,
535
+ ...(profile === undefined
536
+ ? {}
537
+ : { profile: (0, local_context_js_1.normalizeLocalDevProfile)(profile) }),
538
+ ...(slices.length === 0 ? {} : { slices }),
539
+ };
540
+ }
489
541
  (0, personal_stage_js_1.rejectExplicitStageArguments)(arguments_);
490
542
  if (arguments_.length === 0 || arguments_[0] === '--help') {
491
543
  if (arguments_.length > 1) {
@@ -532,6 +584,17 @@ function parseEbkArguments(arguments_) {
532
584
  const command = arguments_[1];
533
585
  const rest = arguments_.slice(2);
534
586
  switch (command) {
587
+ case 'attach': {
588
+ const tokens = parseTokens(rest, JSON_OPTION);
589
+ if (tokens.positionals.length !== 1)
590
+ return usageError('ebk dev attach requires exactly one task ID.');
591
+ return {
592
+ command: 'attach',
593
+ kind: 'dev',
594
+ json: booleanOption(tokens, 'json'),
595
+ taskId: (0, task_identity_js_1.requireTaskId)(tokens.positionals[0]),
596
+ };
597
+ }
535
598
  case 'configure':
536
599
  return parseConfigure(rest);
537
600
  case 'setup':
package/src/cli/main.d.ts CHANGED
@@ -17,8 +17,11 @@ import { assertSecretSliceClaimAuthority } from '../local-dev/secret-slice-claim
17
17
  import { type HiddenSecretInputReader, type HumanSecretCeremony, type PersonalSecretConfirmation, type PersonalSecretValueValidator, type PersonalSstSecretStore } from '../secrets/personal-command.js';
18
18
  import type { SecretMetadataDeclaration } from '../secrets/model.js';
19
19
  import { assertWorkspaceStageOwnershipForWorkspace } from '../workspace-deployment/index.js';
20
+ import { attachStoppedTask } from '../local-dev/task-attachment.js';
21
+ import { bindTaskEnvironment } from '../local-dev/task-identity.js';
20
22
  import { type DevCliCommand, type DevSliceSelector } from './dev-command.js';
21
23
  import type { AgentCliCommand } from './agent-command.js';
24
+ import { executeDeployCommand } from './deploy-runtime.js';
22
25
  import { executeDeveloperAgentCommand } from './agent-runtime.js';
23
26
  import { type LoadedPersonalOperatorSecret, type PersonalSecretAwsContext } from './personal-secret-runtime.js';
24
27
  export interface EbkCliIo {
@@ -65,6 +68,8 @@ interface WorkspaceFilesystemIdentity {
65
68
  }
66
69
  export declare function sameWorkspaceRealpath(left: string, right: string, currentPlatform?: NodeJS.Platform, inspectIdentity?: (path: string) => WorkspaceFilesystemIdentity): boolean;
67
70
  export interface EbkCliDependencies {
71
+ bindTask: typeof bindTaskEnvironment;
72
+ attachTask: typeof attachStoppedTask;
68
73
  acquireSecretLedgerLock: typeof acquirePersonalSecretLedgerLock;
69
74
  appData: () => string;
70
75
  assertSecretSliceClaim: typeof assertSecretSliceClaimAuthority;
@@ -73,6 +78,7 @@ export interface EbkCliDependencies {
73
78
  client: (paths: FleetRuntimePaths) => FleetClientPort;
74
79
  discoverContext: (explicit: LocalDevContextInput, environment: NodeJS.ProcessEnv) => Promise<LocalDevContextDiscovery>;
75
80
  executeAgent: typeof executeDeveloperAgentCommand;
81
+ executeDeploy: typeof executeDeployCommand;
76
82
  followLogs: typeof followFleetLogs;
77
83
  frameworkVersion: () => string;
78
84
  gitCommonDirectory: (workspaceRoot: string) => string;
@@ -129,5 +135,5 @@ export declare function runAgentCommandCore(command: AgentCliCommand, io?: EbkCl
129
135
  * Nx never calls back through argv parsing or the CLI entry point.
130
136
  */
131
137
  export declare function runDevCommandCore(command: DevCliCommand, io?: EbkCliIo, overrides?: Partial<EbkCliDependencies>): Promise<0 | 1 | 2>;
132
- export declare function runEbkCli(arguments_: readonly string[], io?: EbkCliIo, overrides?: Partial<EbkCliDependencies>): Promise<0 | 1 | 2>;
138
+ export declare function runEbkCli(arguments_: readonly string[], io?: EbkCliIo, overrides?: Partial<EbkCliDependencies>): Promise<number>;
133
139
  export {};