@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
@@ -1,8 +1,18 @@
1
1
  import type { BlueprintManifest } from '../../blueprints/index.js';
2
+ import type { DeploymentProfile } from '../../repository-policy/index.js';
2
3
  import { type GeneratedOwnershipRecord } from '../../ownership/index.js';
3
4
  export { PRODUCT_PACKAGE_MANAGED_JSON_POINTERS, STANDARD_LOCAL_DEV_ADAPTER, } from './built-in-plan-shared.js';
5
+ export declare function isBuiltInSliceFormatSensitivePath(path: string): boolean;
4
6
  export interface BuiltInSlicePlan {
5
7
  files: Readonly<Record<string, string>>;
6
8
  ownership: GeneratedOwnershipRecord;
7
9
  }
8
- export declare function createBuiltInSlicePlan(name: string, scope: string, runtimeVersion: string, manifest: BlueprintManifest, inputs: Record<string, unknown>, dataPolicyReviewedAt?: string): BuiltInSlicePlan;
10
+ export declare function createBuiltInSlicePlan(name: string, scope: string, runtimeVersion: string, manifest: BlueprintManifest, inputs: Record<string, unknown>, dataPolicyReviewedAt?: string, deploymentProfile?: DeploymentProfile, persistenceSource?: {
11
+ current?: unknown;
12
+ compositions?: readonly {
13
+ kind: string;
14
+ }[];
15
+ existingStandardRequirement?: {
16
+ capabilities: readonly string[];
17
+ };
18
+ }): BuiltInSlicePlan;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.STANDARD_LOCAL_DEV_ADAPTER = exports.PRODUCT_PACKAGE_MANAGED_JSON_POINTERS = void 0;
4
+ exports.isBuiltInSliceFormatSensitivePath = isBuiltInSliceFormatSensitivePath;
4
5
  exports.createBuiltInSlicePlan = createBuiltInSlicePlan;
5
6
  const deterministic_order_js_1 = require("../../deterministic-order.js");
7
+ const capability_plan_js_1 = require("../../foundation/capability-plan.js");
8
+ const persistence_contract_js_1 = require("./persistence-contract.js");
9
+ const built_in_plan_key_value_files_js_1 = require("./built-in-plan-key-value-files.js");
10
+ const built_in_plan_key_value_infrastructure_js_1 = require("./built-in-plan-key-value-infrastructure.js");
11
+ const built_in_plan_sql_events_js_1 = require("./built-in-plan-sql-events.js");
6
12
  const index_js_1 = require("../../ownership/index.js");
7
13
  const built_in_plan_api_contract_files_js_1 = require("./built-in-plan-api-contract-files.js");
8
14
  const built_in_plan_api_files_js_1 = require("./built-in-plan-api-files.js");
@@ -22,22 +28,32 @@ const built_in_plan_database_retirement_rehearsal_files_js_1 = require("./built-
22
28
  const built_in_plan_foundation_files_js_1 = require("./built-in-plan-foundation-files.js");
23
29
  const built_in_plan_frontend_files_js_1 = require("./built-in-plan-frontend-files.js");
24
30
  const built_in_plan_infrastructure_files_js_1 = require("./built-in-plan-infrastructure-files.js");
25
- const built_in_plan_infrastructure_safety_files_js_1 = require("./built-in-plan-infrastructure-safety-files.js");
31
+ const built_in_plan_background_work_files_js_1 = require("./built-in-plan-background-work-files.js");
26
32
  const built_in_plan_metadata_files_js_1 = require("./built-in-plan-metadata-files.js");
33
+ const built_in_plan_native_runtime_authority_files_js_1 = require("./built-in-plan-native-runtime-authority-files.js");
27
34
  const built_in_plan_operations_files_js_1 = require("./built-in-plan-operations-files.js");
28
35
  const built_in_plan_performance_files_js_1 = require("./built-in-plan-performance-files.js");
29
36
  const built_in_plan_project_files_js_1 = require("./built-in-plan-project-files.js");
30
37
  const built_in_plan_reliability_files_js_1 = require("./built-in-plan-reliability-files.js");
31
- const built_in_plan_release_files_js_1 = require("./built-in-plan-release-files.js");
38
+ const built_in_plan_thin_release_files_js_1 = require("./built-in-plan-thin-release-files.js");
32
39
  const built_in_plan_secret_runtime_files_js_1 = require("./built-in-plan-secret-runtime-files.js");
33
40
  const built_in_plan_shared_js_1 = require("./built-in-plan-shared.js");
34
41
  const built_in_plan_testing_files_js_1 = require("./built-in-plan-testing-files.js");
35
42
  const built_in_plan_verification_files_js_1 = require("./built-in-plan-verification-files.js");
36
43
  const built_in_plan_web_files_js_1 = require("./built-in-plan-web-files.js");
37
- const built_in_plan_workload_role_files_js_1 = require("./built-in-plan-workload-role-files.js");
38
44
  var built_in_plan_shared_js_2 = require("./built-in-plan-shared.js");
39
45
  Object.defineProperty(exports, "PRODUCT_PACKAGE_MANAGED_JSON_POINTERS", { enumerable: true, get: function () { return built_in_plan_shared_js_2.PRODUCT_PACKAGE_MANAGED_JSON_POINTERS; } });
40
46
  Object.defineProperty(exports, "STANDARD_LOCAL_DEV_ADAPTER", { enumerable: true, get: function () { return built_in_plan_shared_js_2.STANDARD_LOCAL_DEV_ADAPTER; } });
47
+ const FORMAT_SENSITIVE_BUILT_IN_PATHS = new Set([
48
+ 'api/generated/baseline.json',
49
+ 'api/generated/contract.json',
50
+ 'api/generated/openapi.json',
51
+ 'web/next-env.d.ts',
52
+ ]);
53
+ function isBuiltInSliceFormatSensitivePath(path) {
54
+ return (path.startsWith('database/migrations/') ||
55
+ FORMAT_SENSITIVE_BUILT_IN_PATHS.has(path));
56
+ }
41
57
  function composeDisjointFileGroups(groups) {
42
58
  const files = {};
43
59
  for (const [label, groupFiles] of groups) {
@@ -50,35 +66,56 @@ function composeDisjointFileGroups(groups) {
50
66
  }
51
67
  return files;
52
68
  }
53
- function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt) {
69
+ function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt, deploymentProfile, persistence) {
54
70
  const pascalName = name
55
71
  .split('-')
56
72
  .map((segment) => segment[0]?.toUpperCase() + segment.slice(1))
57
73
  .join('');
74
+ const protectedRuntimeStages = deploymentProfile === 'starter'
75
+ ? ['development', 'production']
76
+ : ['staging', 'production'];
77
+ const sql = ownership.foundation.capabilities.includes('postgres');
58
78
  return composeDisjointFileGroups([
79
+ [
80
+ 'persistence declaration',
81
+ { 'data/persistence.json': JSON.stringify(persistence, null, 2) + '\n' },
82
+ ],
83
+ ['key-value runtime', (0, built_in_plan_key_value_files_js_1.renderKeyValueRuntimeFiles)(name)],
84
+ [
85
+ 'key-value infrastructure',
86
+ (0, built_in_plan_key_value_infrastructure_js_1.renderKeyValueInfrastructureFiles)(name, pascalName),
87
+ ],
88
+ ['background work', (0, built_in_plan_background_work_files_js_1.renderBackgroundWorkFiles)(deploymentProfile, sql)],
89
+ ['SQL events', sql ? (0, built_in_plan_sql_events_js_1.renderSqlEventFiles)(name) : {}],
59
90
  [
60
91
  'Slice metadata',
61
- (0, built_in_plan_metadata_files_js_1.renderSliceMetadataFiles)(name, scope, pascalName, ownership),
92
+ (0, built_in_plan_metadata_files_js_1.renderSliceMetadataFiles)(name, scope, pascalName, ownership, sql),
93
+ ],
94
+ [
95
+ 'Foundation wiring',
96
+ (0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(name, pascalName, ownership.foundation.capabilities),
62
97
  ],
63
- ['Foundation wiring', (0, built_in_plan_foundation_files_js_1.renderSliceFoundationFiles)(name, pascalName)],
64
98
  [
65
99
  'project configuration',
66
100
  (0, built_in_plan_project_files_js_1.renderSliceProjectFiles)(name, scope, runtimeVersion, ownership),
67
101
  ],
68
102
  [
69
103
  'operations',
70
- (0, built_in_plan_operations_files_js_1.renderSliceOperationsFiles)(name, scope.slice(1), runtimeVersion),
104
+ (0, built_in_plan_operations_files_js_1.renderSliceOperationsFiles)(name, scope.slice(1), runtimeVersion, sql),
71
105
  ],
72
- ['database lifecycle', (0, built_in_plan_database_lifecycle_files_js_1.renderDatabaseLifecycleFiles)(name)],
106
+ ['database lifecycle', sql ? (0, built_in_plan_database_lifecycle_files_js_1.renderDatabaseLifecycleFiles)(name) : {}],
73
107
  [
74
108
  'database retirement rehearsal',
75
- (0, built_in_plan_database_retirement_rehearsal_files_js_1.renderDatabaseRetirementRehearsalFiles)(name),
109
+ sql ? (0, built_in_plan_database_retirement_rehearsal_files_js_1.renderDatabaseRetirementRehearsalFiles)(name) : {},
76
110
  ],
77
111
  [
78
- 'workload roles',
79
- (0, built_in_plan_workload_role_files_js_1.renderStandardSliceWorkloadRoleFiles)(name, scope.slice(1)),
112
+ 'native runtime authority',
113
+ (0, built_in_plan_native_runtime_authority_files_js_1.renderStandardSliceNativeRuntimeAuthorityFiles)(name, scope.slice(1), sql),
114
+ ],
115
+ [
116
+ 'data contracts',
117
+ (0, built_in_plan_data_files_js_1.renderProductDataFiles)(name, pascalName, protectedRuntimeStages, sql),
80
118
  ],
81
- ['data contracts', (0, built_in_plan_data_files_js_1.renderProductDataFiles)(name, pascalName)],
82
119
  [
83
120
  'data deletion',
84
121
  (0, built_in_plan_data_deletion_files_js_1.renderProductDataDeletionFiles)(name, pascalName, scope.slice(1)),
@@ -98,7 +135,10 @@ function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyRevi
98
135
  (0, built_in_plan_data_retention_job_files_js_1.renderProductDataRetentionJobFiles)(name, runtimeVersion),
99
136
  ],
100
137
  ['data retention launcher', (0, built_in_plan_data_retention_launcher_files_js_1.renderProductDataRetentionLauncherFiles)(name)],
101
- ['secret runtime', (0, built_in_plan_secret_runtime_files_js_1.renderStandardSliceSecretRuntimeFiles)(name)],
138
+ [
139
+ 'secret runtime',
140
+ (0, built_in_plan_secret_runtime_files_js_1.renderStandardSliceSecretRuntimeFiles)(name, scope.slice(1)),
141
+ ],
102
142
  ['async work', (0, built_in_plan_async_work_files_js_1.renderProductAsyncWorkFiles)(name, pascalName)],
103
143
  ['API contracts', (0, built_in_plan_api_contract_files_js_1.renderProductApiContractFiles)(name, pascalName)],
104
144
  ['authorization', (0, built_in_plan_authorization_files_js_1.renderProductAuthorizationFiles)(name, pascalName)],
@@ -106,32 +146,35 @@ function renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyRevi
106
146
  'authorization infrastructure',
107
147
  (0, built_in_plan_authorization_infrastructure_files_js_1.renderStandardSliceAuthorizationInfrastructureFiles)(name, pascalName),
108
148
  ],
109
- ['API', (0, built_in_plan_api_files_js_1.renderProductApiFiles)(name, pascalName, scope.slice(1))],
149
+ ['API', (0, built_in_plan_api_files_js_1.renderProductApiFiles)(name, pascalName, scope.slice(1), sql)],
110
150
  [
111
151
  'reliability and incident response',
112
- (0, built_in_plan_reliability_files_js_1.renderProductReliabilityFiles)(name, pascalName, dataPolicyReviewedAt),
152
+ (0, built_in_plan_reliability_files_js_1.renderProductReliabilityFiles)(name, pascalName, dataPolicyReviewedAt, sql),
113
153
  ],
114
154
  [
115
155
  'product infrastructure',
116
- (0, built_in_plan_infrastructure_files_js_1.renderProductInfrastructureFiles)(name, pascalName, scope.slice(1)),
156
+ (0, built_in_plan_infrastructure_files_js_1.renderProductInfrastructureFiles)(name, pascalName, scope.slice(1), protectedRuntimeStages, sql, ownership.foundation.capabilities.includes('network')),
157
+ ],
158
+ [
159
+ 'performance, capacity, and cost',
160
+ (0, built_in_plan_performance_files_js_1.renderProductPerformanceFiles)(name, deploymentProfile),
117
161
  ],
118
- ['infrastructure safety', (0, built_in_plan_infrastructure_safety_files_js_1.renderProductInfrastructureSafetyFiles)(name)],
119
- ['performance, capacity, and cost', (0, built_in_plan_performance_files_js_1.renderProductPerformanceFiles)(name)],
120
162
  [
121
163
  'release and configuration',
122
- (0, built_in_plan_release_files_js_1.renderProductReleaseFiles)(name, dataPolicyReviewedAt),
164
+ (0, built_in_plan_thin_release_files_js_1.renderProductThinReleaseFiles)(name, dataPolicyReviewedAt, deploymentProfile, sql),
123
165
  ],
124
166
  [
125
167
  'frontend contract and evidence',
126
168
  (0, built_in_plan_frontend_files_js_1.renderProductFrontendFiles)(name, pascalName),
127
169
  ],
128
- ['web', (0, built_in_plan_web_files_js_1.renderProductWebFiles)(name, pascalName, scope.slice(1))],
129
- ['testing', (0, built_in_plan_testing_files_js_1.renderProductTestingFiles)(name, pascalName)],
170
+ ['web', (0, built_in_plan_web_files_js_1.renderProductWebFiles)(name, pascalName, scope.slice(1), sql)],
171
+ ['testing', (0, built_in_plan_testing_files_js_1.renderProductTestingFiles)(name, pascalName, sql)],
130
172
  ['verification', (0, built_in_plan_verification_files_js_1.renderProductVerificationFiles)(name, pascalName)],
131
173
  ]);
132
174
  }
133
- function classifyPaths(files) {
175
+ function classifyPaths(files, sql) {
134
176
  const seededPaths = new Set([
177
+ 'operations/background-work.json',
135
178
  'README.md',
136
179
  'api/data-retention.ts',
137
180
  'async/recovery-adapters.ts',
@@ -151,6 +194,7 @@ function classifyPaths(files) {
151
194
  'data/record-correction.ts',
152
195
  'data/record-export.ts',
153
196
  'data/record-holds.ts',
197
+ 'data/records.ts',
154
198
  'data/restore-adapter.ts',
155
199
  'docs/reliability/exclusions.md',
156
200
  'docs/reliability/slo.json',
@@ -162,7 +206,6 @@ function classifyPaths(files) {
162
206
  'jobs/data-retention/README.md',
163
207
  'jobs/data-retention/src/adapter.ts',
164
208
  'operations/features.json',
165
- 'operations/infrastructure-change.json',
166
209
  'operations/incident-template.json',
167
210
  'operations/log-queries.json',
168
211
  'operations/logging-components.json',
@@ -198,11 +241,15 @@ function classifyPaths(files) {
198
241
  'authorization/machine-authorization-proof.ts',
199
242
  'authorization/machine-client-provisioner.py',
200
243
  'authorization/runtime.ts',
244
+ 'authorization/record-store.ts',
245
+ 'authorization/groups.mjs',
246
+ 'authorization/groups.d.mts',
201
247
  'data/runtime-policy.cts',
202
248
  'jobs/data-export-cleanup.ts',
203
249
  'jobs/data-retention-maintenance-launcher.ts',
204
250
  'testing/quarantine-runtime.mjs',
205
251
  'testing/strict-json-reporter.mjs',
252
+ 'testing/local-key-value.ts',
206
253
  'e2e/frontend-accessibility.spec.ts',
207
254
  ]);
208
255
  for (const path of built_in_plan_performance_files_js_1.PRODUCT_PERFORMANCE_SEEDED_PATHS)
@@ -217,7 +264,7 @@ function classifyPaths(files) {
217
264
  ? 'seeded'
218
265
  : 'managed';
219
266
  const managedJsonPointers = path === 'package.json'
220
- ? [...built_in_plan_shared_js_1.PRODUCT_PACKAGE_MANAGED_JSON_POINTERS]
267
+ ? (0, built_in_plan_shared_js_1.standardPackageManagedJsonPointers)(sql)
221
268
  : undefined;
222
269
  if (managedJsonPointers) {
223
270
  (0, index_js_1.assertManagedJsonPointersExist)(contents, managedJsonPointers, `Built-in Standard Blueprint ${path}`);
@@ -232,7 +279,11 @@ function classifyPaths(files) {
232
279
  })
233
280
  .sort((left, right) => (0, deterministic_order_js_1.compareUtf16)(left.path, right.path));
234
281
  }
235
- function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, dataPolicyReviewedAt = '2026-07-27T00:00:00.000Z') {
282
+ function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, dataPolicyReviewedAt = '2026-07-27T00:00:00.000Z', deploymentProfile = 'starter', persistenceSource = {}) {
283
+ const persistence = (0, persistence_contract_js_1.standardPersistenceContract)({
284
+ inputs,
285
+ ...persistenceSource,
286
+ });
236
287
  const provisionalOwnership = {
237
288
  blueprint: { name: manifest.name, version: manifest.version },
238
289
  compositions: [],
@@ -243,7 +294,7 @@ function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, d
243
294
  `${scope}/${name}/contracts`,
244
295
  ],
245
296
  },
246
- foundation: manifest.foundation,
297
+ foundation: (0, capability_plan_js_1.standardPersistenceRequirement)(inputs, persistenceSource.compositions),
247
298
  inputs,
248
299
  paths: [],
249
300
  projects: [name, `@${name}/job-data-retention`],
@@ -251,13 +302,13 @@ function createBuiltInSlicePlan(name, scope, runtimeVersion, manifest, inputs, d
251
302
  slice: name,
252
303
  verification: manifest.verification,
253
304
  };
254
- const provisionalFiles = renderSliceFiles(name, scope, runtimeVersion, provisionalOwnership, dataPolicyReviewedAt);
305
+ const provisionalFiles = renderSliceFiles(name, scope, runtimeVersion, provisionalOwnership, dataPolicyReviewedAt, deploymentProfile, persistence);
255
306
  const ownership = {
256
307
  ...provisionalOwnership,
257
- paths: classifyPaths(provisionalFiles),
308
+ paths: classifyPaths(provisionalFiles, provisionalOwnership.foundation.capabilities.includes('postgres')),
258
309
  };
259
310
  return {
260
- files: renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt),
311
+ files: renderSliceFiles(name, scope, runtimeVersion, ownership, dataPolicyReviewedAt, deploymentProfile, persistence),
261
312
  ownership,
262
313
  };
263
314
  }
@@ -0,0 +1,2 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ export declare function dataPolicyReviewSeed(tree: Tree, root: string): string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dataPolicyReviewSeed = dataPolicyReviewSeed;
4
+ const node_path_1 = require("node:path");
5
+ function dataPolicyReviewSeed(tree, root) {
6
+ const path = node_path_1.posix.join(root, 'data/policy.json');
7
+ const existing = tree.read(path, 'utf8');
8
+ if (existing !== null) {
9
+ try {
10
+ const reviewedAt = JSON.parse(existing).governance?.reviewedAt;
11
+ if (typeof reviewedAt === 'string' &&
12
+ new Date(reviewedAt).toISOString() === reviewedAt) {
13
+ return reviewedAt;
14
+ }
15
+ }
16
+ catch {
17
+ // The generated ownership/reconciliation path reports malformed policy.
18
+ }
19
+ }
20
+ return new Date().toISOString();
21
+ }
22
+ //# sourceMappingURL=data-policy-review-seed.js.map
@@ -0,0 +1,2 @@
1
+ /** Managed post-deployment prerequisite, not a replacement for browser proof. */
2
+ export declare const deployedSmokeReadinessScript: string;
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deployedSmokeReadinessScript = void 0;
4
+ /** Managed post-deployment prerequisite, not a replacement for browser proof. */
5
+ exports.deployedSmokeReadinessScript = String.raw `import { performance } from 'node:perf_hooks';
6
+ import { setTimeout as delay } from 'node:timers/promises';
7
+
8
+ const totalLimitMs = 30_000;
9
+ // Only a CloudFront-generated Router fallthrough extends readiness. The pinned
10
+ // SST Router reads routing from an eventually consistent CloudFront
11
+ // KeyValueStore; until a new Slice's route is visible at the serving edge the
12
+ // request reaches the placeholder origin. Every other failure keeps the
13
+ // thirty-second bound above.
14
+ const edgeRouteLimitMs = 300_000;
15
+ const requestLimitMs = 5_000;
16
+ const retryDelayMs = 2_000;
17
+ // Edge hosts within one POP converge on new routing at different times. Admit
18
+ // browser setup only after consecutive healthy rounds, each on a fresh
19
+ // connection, span a sustained window; any fallthrough restarts the window.
20
+ const confirmationWindowMs = 30_000;
21
+ const confirmationDelayMs = 1_000;
22
+ const confirmationLimitMs = confirmationWindowMs + 10_000;
23
+ // Every round sleeps at least the shorter delay, so this cap is reached only
24
+ // by a stalled fixture or clock, never before the time bounds below.
25
+ const roundLimit = Math.ceil((edgeRouteLimitMs + confirmationLimitMs) / Math.min(retryDelayMs, confirmationDelayMs)) + 1;
26
+ const bodyLimitBytes = 4_096;
27
+ const transientStatuses = new Set([502, 503, 504]);
28
+ const transientNetworkCodes = new Set([
29
+ 'EAI_AGAIN', 'ECONNREFUSED', 'ECONNRESET', 'ETIMEDOUT',
30
+ 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_SOCKET',
31
+ ]);
32
+
33
+ function endpoint(value, path) {
34
+ const url = new URL(value);
35
+ if (url.protocol !== 'https:' || url.username || url.password || url.search || url.hash || url.pathname.replace(/\/$/, '') !== path) {
36
+ throw new Error('invalid-output');
37
+ }
38
+ return url;
39
+ }
40
+
41
+ function responseCorrelation(response) {
42
+ const requestId = response.headers.get('x-amz-cf-id');
43
+ const pop = response.headers.get('x-amz-cf-pop');
44
+ const cache = /^(Hit|Miss|RefreshHit|Error) from cloudfront$/i.exec(response.headers.get('x-cache') ?? '');
45
+ return {
46
+ ...(typeof requestId === 'string' && /^[A-Za-z0-9_+=/-]{20,128}$/.test(requestId) ? { cloudfrontRequestId: requestId } : {}),
47
+ ...(typeof pop === 'string' && /^[A-Z]{3}[0-9]{1,3}-[A-Z][0-9]{1,3}$/.test(pop) ? { cloudfrontPop: pop } : {}),
48
+ ...(cache ? { cloudfrontCache: cache[1].toLowerCase() } : {}),
49
+ };
50
+ }
51
+
52
+ async function boundedBytes(response) {
53
+ const reader = response.body?.getReader();
54
+ if (!reader) throw new Error('invalid-health');
55
+ const chunks = [];
56
+ let length = 0;
57
+ try {
58
+ for (;;) {
59
+ const chunk = await reader.read();
60
+ if (chunk.done) break;
61
+ length += chunk.value.byteLength;
62
+ if (length > bodyLimitBytes) throw new Error('invalid-health');
63
+ chunks.push(chunk.value);
64
+ }
65
+ const bytes = new Uint8Array(length);
66
+ let offset = 0;
67
+ for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.byteLength; }
68
+ return bytes;
69
+ } finally {
70
+ await reader.cancel().catch(() => {});
71
+ reader.releaseLock();
72
+ }
73
+ }
74
+
75
+ async function boundedJson(response) {
76
+ return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(await boundedBytes(response)));
77
+ }
78
+
79
+ // The Router answers a request it could not route with CloudFront's own error
80
+ // page. Only that page is classified; origin-returned gateway errors are not.
81
+ async function edgeRouteUnavailable(response) {
82
+ if (!/^Error from cloudfront$/i.test(response.headers.get('x-cache') ?? '')) return undefined;
83
+ if (!/^text\/html\b/i.test(response.headers.get('content-type') ?? '')) return undefined;
84
+ let page;
85
+ try { page = new TextDecoder('latin1').decode(await boundedBytes(response)); }
86
+ catch { return undefined; }
87
+ if (!/<title>\s*ERROR: The request could not be satisfied\s*<\/title>/i.test(page)) return undefined;
88
+ return { edgeRouting: 'unavailable', originDnsPage: /resolve the origin domain name/i.test(page) };
89
+ }
90
+
91
+ // Dependency injection is internal fixture support; the generated runner has
92
+ // no environment/CLI override for endpoints, TLS, policy or timing.
93
+ export async function waitForDeployedSmokeReadiness(input, runtime = {}) {
94
+ const request = runtime.fetch ?? globalThis.fetch;
95
+ const now = runtime.now ?? (() => performance.now());
96
+ const sleep = runtime.sleep ?? ((ms, signal) => delay(ms, undefined, { signal }));
97
+ const started = now();
98
+ const standardDeadline = started + totalLimitMs;
99
+ const edgeDeadline = started + edgeRouteLimitMs;
100
+ const observations = [];
101
+ let edgePending = false;
102
+ let edgeObservations = 0;
103
+ let consecutive = 0;
104
+ let confirmationDeadline = 0;
105
+ let firstReadyAt = 0;
106
+ let firstReadyMs;
107
+ const elapsed = () => Math.max(0, Math.round(now() - started));
108
+ const deadline = () => Math.max(
109
+ edgePending ? edgeDeadline : standardDeadline,
110
+ consecutive > 0 ? confirmationDeadline : 0,
111
+ );
112
+ const failed = (classification, summary) => ({
113
+ outcome: 'failed', classification, summary, elapsedMs: elapsed(), observations,
114
+ });
115
+ let targets;
116
+ try {
117
+ if (!/^[a-z][a-z0-9-]*$/.test(input.service) || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(input.sourceCommit) || !['development', 'staging', 'production'].includes(input.stage)) throw new Error('invalid-identity');
118
+ const api = endpoint(input.apiUrl, '');
119
+ const web = endpoint(input.webUrl, '/' + input.service);
120
+ targets = [
121
+ { name: 'api', url: new URL('/health', api).href, service: input.service },
122
+ { name: 'web', url: new URL('/' + input.service + '/api/health', web.origin).href, service: input.service + '-web' },
123
+ ];
124
+ } catch {
125
+ return failed('environment-drift', 'Deployed readiness requires exact credential-free HTTPS outputs and service/stage/build identity.');
126
+ }
127
+ // The round cap also bounds receipts if a fixture or monotonic clock stalls.
128
+ for (let round = 0; round < roundLimit && now() < deadline(); round += 1) {
129
+ if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
130
+ let ready = true;
131
+ for (const target of targets) {
132
+ if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
133
+ const remaining = deadline() - now();
134
+ if (remaining <= 0) { ready = false; break; }
135
+ const timeout = AbortSignal.timeout(Math.max(1, Math.min(requestLimitMs, Math.ceil(remaining))));
136
+ const signal = input.signal ? AbortSignal.any([input.signal, timeout]) : timeout;
137
+ const startedAt = new Date().toISOString();
138
+ const requestStarted = now();
139
+ const timing = () => ({ startedAt, durationMs: Math.max(0, Math.round(now() - requestStarted)), elapsedMs: elapsed() });
140
+ let response;
141
+ let observation;
142
+ try {
143
+ // A fresh connection per request samples more than one edge host.
144
+ response = await request(target.url, {
145
+ method: 'GET', redirect: 'manual', credentials: 'omit', cache: 'no-store',
146
+ headers: { accept: 'application/json', connection: 'close' }, signal,
147
+ });
148
+ observation = { endpoint: target.name, status: response.status, ...timing(), ...responseCorrelation(response) };
149
+ observations.push(observation);
150
+ if (response.status !== 200) {
151
+ if (!transientStatuses.has(response.status)) {
152
+ await response.body?.cancel();
153
+ return failed('infrastructure-unavailable', 'Deployed ' + target.name + ' readiness refused HTTP ' + response.status + '; verify the native deployment and exact output before retrying.');
154
+ }
155
+ const edge = target.name === 'web' && response.status === 502 ? await edgeRouteUnavailable(response) : undefined;
156
+ if (edge) { Object.assign(observation, edge); edgeObservations += 1; }
157
+ else await response.body?.cancel().catch(() => {});
158
+ edgePending = Boolean(edge);
159
+ consecutive = 0;
160
+ ready = false;
161
+ break;
162
+ }
163
+ let payload;
164
+ try { payload = await boundedJson(response); }
165
+ catch (error) { if (signal.aborted) throw error; return failed('environment-drift', 'Deployed ' + target.name + ' health is malformed or exceeds its bounded contract.'); }
166
+ const health = target.name === 'api' ? payload?.data : payload;
167
+ if (!health || health.service !== target.service || health.stage !== input.stage || health.sourceCommit !== input.sourceCommit || health.status !== 'ok') {
168
+ return failed('environment-drift', 'Deployed ' + target.name + ' health differs from the expected service/stage/build; reconcile source and deployed outputs.');
169
+ }
170
+ } catch (error) {
171
+ if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
172
+ const transient = signal.aborted || transientNetworkCodes.has(error?.cause?.code ?? error?.code);
173
+ // One row per request: a body failure after headers annotates that row.
174
+ if (observation) observation.body = signal.aborted ? 'timeout' : 'network-error';
175
+ else observations.push({ endpoint: target.name, status: signal.aborted ? 'timeout' : 'network-error', ...timing() });
176
+ if (!transient) return failed('infrastructure-unavailable', 'Deployed readiness transport failed; verify endpoint and certificate configuration before retrying.');
177
+ edgePending = false;
178
+ consecutive = 0;
179
+ ready = false;
180
+ break;
181
+ }
182
+ }
183
+ if (input.signal?.aborted) return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.');
184
+ if (ready && now() < deadline()) {
185
+ edgePending = false;
186
+ consecutive += 1;
187
+ if (consecutive === 1) {
188
+ firstReadyAt = now();
189
+ firstReadyMs = elapsed();
190
+ confirmationDeadline = firstReadyAt + confirmationLimitMs;
191
+ }
192
+ if (consecutive > 1 && now() - firstReadyAt >= confirmationWindowMs) {
193
+ return {
194
+ outcome: 'ready', elapsedMs: elapsed(), observations,
195
+ confirmation: { windowMs: confirmationWindowMs, rounds: consecutive, firstReadyMs },
196
+ edgeRouting: { unavailableObservations: edgeObservations, limitMs: edgeRouteLimitMs },
197
+ };
198
+ }
199
+ }
200
+ const remaining = deadline() - now();
201
+ if (remaining <= 0) break;
202
+ try { await sleep(Math.min(consecutive > 0 ? confirmationDelayMs : retryDelayMs, remaining), input.signal); }
203
+ catch { return failed('infrastructure-unavailable', 'Deployed readiness was interrupted before smoke setup.'); }
204
+ }
205
+ if (now() < deadline()) {
206
+ return failed('infrastructure-unavailable', 'Deployed readiness reached its bounded attempt count before its time bound; inspect the readiness clock and native diagnostics before another governed attempt.');
207
+ }
208
+ if (edgePending) {
209
+ return failed('infrastructure-unavailable', 'The deployed web route was not served by the Router within 300 seconds: CloudFront answered with its own error page because routing fell through to the placeholder origin. Inspect Router KeyValueStore propagation before another governed attempt.');
210
+ }
211
+ return failed('infrastructure-unavailable', 'The expected deployed API and web build did not become ready within the 30-second bound for unavailability other than Router edge propagation; inspect native diagnostics before another governed attempt.');
212
+ }
213
+ `;
214
+ //# sourceMappingURL=deployed-smoke-readiness.js.map
@@ -0,0 +1,2 @@
1
+ /** Local checks may run before the first commit; deployment evidence may not. */
2
+ export declare const localSourceCommitFunction = "function localSourceCommit() {\n const supplied = process.env.EBK_SOURCE_COMMIT;\n if (supplied !== undefined) {\n if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(supplied)) {\n throw new Error('EBK_SOURCE_COMMIT must be a full commit SHA.');\n }\n return supplied;\n }\n const git = (args) => spawnSync('git', args, {\n cwd: workspaceRoot,\n encoding: 'utf8',\n shell: false,\n windowsHide: true,\n });\n const head = git(['rev-parse', '--verify', 'HEAD^{commit}']);\n if (!head.error && head.status === 0) return head.stdout.trim();\n const worktree = git(['rev-parse', '--is-inside-work-tree']);\n const symbolic = git(['symbolic-ref', '--quiet', 'HEAD']);\n if (!worktree.error && worktree.status === 0 &&\n worktree.stdout.trim() === 'true' && !symbolic.error &&\n symbolic.status === 0 && symbolic.stdout.trim().startsWith('refs/heads/')) {\n const branch = git(['show-ref', '--verify', '--quiet', symbolic.stdout.trim()]);\n if (!branch.error && branch.status === 1) return null;\n }\n throw new Error('Local source identity requires a readable Git worktree or a full EBK_SOURCE_COMMIT.');\n}";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.localSourceCommitFunction = void 0;
4
+ /** Local checks may run before the first commit; deployment evidence may not. */
5
+ exports.localSourceCommitFunction = `function localSourceCommit() {
6
+ const supplied = process.env.EBK_SOURCE_COMMIT;
7
+ if (supplied !== undefined) {
8
+ if (!/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(supplied)) {
9
+ throw new Error('EBK_SOURCE_COMMIT must be a full commit SHA.');
10
+ }
11
+ return supplied;
12
+ }
13
+ const git = (args) => spawnSync('git', args, {
14
+ cwd: workspaceRoot,
15
+ encoding: 'utf8',
16
+ shell: false,
17
+ windowsHide: true,
18
+ });
19
+ const head = git(['rev-parse', '--verify', 'HEAD^{commit}']);
20
+ if (!head.error && head.status === 0) return head.stdout.trim();
21
+ const worktree = git(['rev-parse', '--is-inside-work-tree']);
22
+ const symbolic = git(['symbolic-ref', '--quiet', 'HEAD']);
23
+ if (!worktree.error && worktree.status === 0 &&
24
+ worktree.stdout.trim() === 'true' && !symbolic.error &&
25
+ symbolic.status === 0 && symbolic.stdout.trim().startsWith('refs/heads/')) {
26
+ const branch = git(['show-ref', '--verify', '--quiet', symbolic.stdout.trim()]);
27
+ if (!branch.error && branch.status === 1) return null;
28
+ }
29
+ throw new Error('Local source identity requires a readable Git worktree or a full EBK_SOURCE_COMMIT.');
30
+ }`;
31
+ //# sourceMappingURL=local-source-identity.js.map
@@ -0,0 +1,14 @@
1
+ export declare const STANDARD_PERSISTENCE_PATH = "data/persistence.json";
2
+ export interface StandardPersistenceContract {
3
+ kind: 'ebk-standard-persistence';
4
+ schemaVersion: 1;
5
+ defaultStore: 'dynamodb';
6
+ }
7
+ /** The framework core is DynamoDB. SQL is additive, never an alternate core. */
8
+ export declare function standardPersistenceContract(options: {
9
+ inputs: Record<string, unknown>;
10
+ current?: unknown;
11
+ existingStandardRequirement?: {
12
+ capabilities: readonly string[];
13
+ };
14
+ }): StandardPersistenceContract;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STANDARD_PERSISTENCE_PATH = void 0;
4
+ exports.standardPersistenceContract = standardPersistenceContract;
5
+ const validation_js_1 = require("../../validation.js");
6
+ const capability_plan_js_1 = require("../../foundation/capability-plan.js");
7
+ exports.STANDARD_PERSISTENCE_PATH = 'data/persistence.json';
8
+ /** The framework core is DynamoDB. SQL is additive, never an alternate core. */
9
+ function standardPersistenceContract(options) {
10
+ (0, capability_plan_js_1.readStandardSqlDeclaration)(options.inputs);
11
+ if (options.current !== undefined) {
12
+ const current = options.current;
13
+ if (!(0, validation_js_1.isRecord)(current) ||
14
+ current.kind !== 'ebk-standard-persistence' ||
15
+ current.schemaVersion !== 1 ||
16
+ (current.defaultStore !== 'dynamodb' &&
17
+ current.defaultStore !== 'postgres') ||
18
+ Object.keys(current).some((key) => !['kind', 'schemaVersion', 'defaultStore'].includes(key)))
19
+ throw new Error('Standard persistence declaration is invalid; no store may be inferred or reassigned.');
20
+ if (current.defaultStore === 'postgres')
21
+ throw new Error('This prerelease Standard Slice uses a PostgreSQL-backed framework core. Automatic upgrade is unsupported. Preserve its data and infrastructure, then complete an explicit repository-owned migration or rebuild before adopting the DynamoDB core. No files have been changed.');
22
+ }
23
+ else if (options.existingStandardRequirement) {
24
+ throw new Error('Existing Standard Slice is missing its persisted storage declaration. Automatic prerelease conversion is unsupported; preserve its data and infrastructure and complete an explicit repository-owned migration or rebuild. No files have been changed.');
25
+ }
26
+ return {
27
+ kind: 'ebk-standard-persistence',
28
+ schemaVersion: 1,
29
+ defaultStore: 'dynamodb',
30
+ };
31
+ }
32
+ //# sourceMappingURL=persistence-contract.js.map