@empire-builder-kit/nx 1.0.0-beta.9 → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/NOTICE +6 -0
  2. package/README.md +113 -3
  3. package/executors.json +30 -0
  4. package/package.json +84 -6
  5. package/src/api-contract/baseline-update.d.ts +82 -0
  6. package/src/api-contract/baseline-update.js +225 -0
  7. package/src/api-contract/baseline-update.js.map +1 -0
  8. package/src/api-contract/compatibility.d.ts +30 -0
  9. package/src/api-contract/compatibility.js +643 -0
  10. package/src/api-contract/compatibility.js.map +1 -0
  11. package/src/api-contract/contract-graph.d.ts +35 -0
  12. package/src/api-contract/contract-graph.js +141 -0
  13. package/src/api-contract/contract-graph.js.map +1 -0
  14. package/src/api-contract/evidence.d.ts +23 -0
  15. package/src/api-contract/evidence.js +87 -0
  16. package/src/api-contract/evidence.js.map +1 -0
  17. package/src/api-contract/index.d.ts +6 -0
  18. package/src/api-contract/index.js +10 -0
  19. package/src/api-contract/index.js.map +1 -0
  20. package/src/api-contract/model.d.ts +144 -0
  21. package/src/api-contract/model.fixtures.d.ts +2 -0
  22. package/src/api-contract/model.fixtures.js +81 -0
  23. package/src/api-contract/model.fixtures.js.map +1 -0
  24. package/src/api-contract/model.js +993 -0
  25. package/src/api-contract/model.js.map +1 -0
  26. package/src/api-contract/rollout.d.ts +32 -0
  27. package/src/api-contract/rollout.js +88 -0
  28. package/src/api-contract/rollout.js.map +1 -0
  29. package/src/authorization/compatibility.d.ts +62 -0
  30. package/src/authorization/compatibility.js +175 -0
  31. package/src/authorization/compatibility.js.map +1 -0
  32. package/src/authorization/index.d.ts +1 -0
  33. package/src/authorization/index.js +5 -0
  34. package/src/authorization/index.js.map +1 -0
  35. package/src/blueprints/execution.d.ts +25 -1
  36. package/src/blueprints/execution.js +246 -83
  37. package/src/blueprints/execution.js.map +1 -1
  38. package/src/blueprints/external-sandbox.d.ts +53 -0
  39. package/src/blueprints/external-sandbox.js +1182 -0
  40. package/src/blueprints/external-sandbox.js.map +1 -0
  41. package/src/blueprints/manifest.d.ts +42 -2
  42. package/src/blueprints/manifest.js +82 -27
  43. package/src/blueprints/manifest.js.map +1 -1
  44. package/src/blueprints/resolver.d.ts +14 -5
  45. package/src/blueprints/resolver.js +228 -68
  46. package/src/blueprints/resolver.js.map +1 -1
  47. package/src/cli/agent-command.d.ts +30 -0
  48. package/src/cli/agent-command.js +204 -0
  49. package/src/cli/agent-command.js.map +1 -0
  50. package/src/cli/agent-runtime.d.ts +25 -0
  51. package/src/cli/agent-runtime.js +488 -0
  52. package/src/cli/agent-runtime.js.map +1 -0
  53. package/src/cli/blueprint-authority.d.ts +9 -0
  54. package/src/cli/blueprint-authority.js +43 -0
  55. package/src/cli/blueprint-authority.js.map +1 -0
  56. package/src/cli/blueprint-command.d.ts +24 -0
  57. package/src/cli/blueprint-command.js +63 -0
  58. package/src/cli/blueprint-command.js.map +1 -0
  59. package/src/cli/bootstrap.d.ts +31 -0
  60. package/src/cli/bootstrap.js +165 -0
  61. package/src/cli/bootstrap.js.map +1 -0
  62. package/src/cli/dev-command.d.ts +92 -0
  63. package/src/cli/dev-command.js +561 -0
  64. package/src/cli/dev-command.js.map +1 -0
  65. package/src/cli/main.d.ts +131 -0
  66. package/src/cli/main.js +1199 -0
  67. package/src/cli/main.js.map +1 -0
  68. package/src/cli/output.d.ts +19 -0
  69. package/src/cli/output.js +51 -0
  70. package/src/cli/output.js.map +1 -0
  71. package/src/cli/personal-secret-runtime.d.ts +81 -0
  72. package/src/cli/personal-secret-runtime.js +567 -0
  73. package/src/cli/personal-secret-runtime.js.map +1 -0
  74. package/src/cli/secret-terminal.d.ts +12 -0
  75. package/src/cli/secret-terminal.js +128 -0
  76. package/src/cli/secret-terminal.js.map +1 -0
  77. package/src/container-images.d.ts +1 -0
  78. package/src/container-images.js +5 -0
  79. package/src/container-images.js.map +1 -0
  80. package/src/data-lifecycle/index.d.ts +3 -0
  81. package/src/data-lifecycle/index.js +7 -0
  82. package/src/data-lifecycle/index.js.map +1 -0
  83. package/src/data-lifecycle/model.d.ts +172 -0
  84. package/src/data-lifecycle/model.fixtures.d.ts +2 -0
  85. package/src/data-lifecycle/model.fixtures.js +244 -0
  86. package/src/data-lifecycle/model.fixtures.js.map +1 -0
  87. package/src/data-lifecycle/model.js +95 -0
  88. package/src/data-lifecycle/model.js.map +1 -0
  89. package/src/data-lifecycle/sensitive-artifacts.d.ts +28 -0
  90. package/src/data-lifecycle/sensitive-artifacts.js +146 -0
  91. package/src/data-lifecycle/sensitive-artifacts.js.map +1 -0
  92. package/src/data-lifecycle/validation.d.ts +32 -0
  93. package/src/data-lifecycle/validation.js +837 -0
  94. package/src/data-lifecycle/validation.js.map +1 -0
  95. package/src/database-retirement/contract.d.ts +68 -0
  96. package/src/database-retirement/contract.js +166 -0
  97. package/src/database-retirement/contract.js.map +1 -0
  98. package/src/database-retirement/index.d.ts +1 -0
  99. package/src/database-retirement/index.js +5 -0
  100. package/src/database-retirement/index.js.map +1 -0
  101. package/src/deterministic-order.d.ts +2 -0
  102. package/src/deterministic-order.js +7 -0
  103. package/src/deterministic-order.js.map +1 -0
  104. package/src/developer-agent/context.d.ts +27 -0
  105. package/src/developer-agent/context.js +497 -0
  106. package/src/developer-agent/context.js.map +1 -0
  107. package/src/developer-agent/generator-planning.d.ts +34 -0
  108. package/src/developer-agent/generator-planning.js +645 -0
  109. package/src/developer-agent/generator-planning.js.map +1 -0
  110. package/src/developer-agent/generator-preview.d.ts +8 -0
  111. package/src/developer-agent/generator-preview.js +650 -0
  112. package/src/developer-agent/generator-preview.js.map +1 -0
  113. package/src/developer-agent/git-inspection.d.ts +108 -0
  114. package/src/developer-agent/git-inspection.js +815 -0
  115. package/src/developer-agent/git-inspection.js.map +1 -0
  116. package/src/developer-agent/handoff.d.ts +43 -0
  117. package/src/developer-agent/handoff.js +698 -0
  118. package/src/developer-agent/handoff.js.map +1 -0
  119. package/src/developer-agent/index.d.ts +10 -0
  120. package/src/developer-agent/index.js +14 -0
  121. package/src/developer-agent/index.js.map +1 -0
  122. package/src/developer-agent/model.d.ts +481 -0
  123. package/src/developer-agent/model.js +143 -0
  124. package/src/developer-agent/model.js.map +1 -0
  125. package/src/developer-agent/operation-registry.d.ts +45 -0
  126. package/src/developer-agent/operation-registry.js +1255 -0
  127. package/src/developer-agent/operation-registry.js.map +1 -0
  128. package/src/developer-agent/ordering.d.ts +9 -0
  129. package/src/developer-agent/ordering.js +15 -0
  130. package/src/developer-agent/ordering.js.map +1 -0
  131. package/src/developer-agent/planning.d.ts +18 -0
  132. package/src/developer-agent/planning.js +447 -0
  133. package/src/developer-agent/planning.js.map +1 -0
  134. package/src/developer-agent/preview-changes.d.ts +26 -0
  135. package/src/developer-agent/preview-changes.js +203 -0
  136. package/src/developer-agent/preview-changes.js.map +1 -0
  137. package/src/developer-agent/preview-source.d.ts +2 -0
  138. package/src/developer-agent/preview-source.js +16 -0
  139. package/src/developer-agent/preview-source.js.map +1 -0
  140. package/src/developer-agent/validation.d.ts +18 -0
  141. package/src/developer-agent/validation.js +2617 -0
  142. package/src/developer-agent/validation.js.map +1 -0
  143. package/src/developer-agent/workspace-inspection.d.ts +20 -0
  144. package/src/developer-agent/workspace-inspection.js +1134 -0
  145. package/src/developer-agent/workspace-inspection.js.map +1 -0
  146. package/src/developer-agent/workspace-path.d.ts +6 -0
  147. package/src/developer-agent/workspace-path.js +22 -0
  148. package/src/developer-agent/workspace-path.js.map +1 -0
  149. package/src/executors/blueprint-trust/blueprint-trust.d.ts +29 -0
  150. package/src/executors/blueprint-trust/blueprint-trust.js +115 -0
  151. package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -0
  152. package/src/executors/blueprint-trust/schema.json +27 -0
  153. package/src/executors/blueprint-verification/blueprint-verification.d.ts +13 -0
  154. package/src/executors/blueprint-verification/blueprint-verification.js +110 -0
  155. package/src/executors/blueprint-verification/blueprint-verification.js.map +1 -0
  156. package/src/executors/blueprint-verification/schema.json +44 -0
  157. package/src/executors/deployment-plan/deployment-plan.js +1 -0
  158. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  159. package/src/executors/dev-doctor/dev-doctor.d.ts +19 -5
  160. package/src/executors/dev-doctor/dev-doctor.js +186 -32
  161. package/src/executors/dev-doctor/dev-doctor.js.map +1 -1
  162. package/src/executors/dev-doctor/schema.json +1 -6
  163. package/src/executors/dev-setup/dev-setup.d.ts +7 -1
  164. package/src/executors/dev-setup/dev-setup.js +14 -3
  165. package/src/executors/dev-setup/dev-setup.js.map +1 -1
  166. package/src/executors/developer-context/developer-context.d.ts +38 -0
  167. package/src/executors/developer-context/developer-context.js +78 -0
  168. package/src/executors/developer-context/developer-context.js.map +1 -0
  169. package/src/executors/developer-context/schema.json +87 -0
  170. package/src/executors/fleet/fleet.d.ts +12 -43
  171. package/src/executors/fleet/fleet.js +120 -500
  172. package/src/executors/fleet/fleet.js.map +1 -1
  173. package/src/executors/fleet/schema.json +64 -14
  174. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  175. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  176. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  177. package/src/executors/github-bootstrap/schema.json +5 -0
  178. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +144 -0
  179. package/src/executors/infrastructure-plan/infrastructure-plan.js +3320 -0
  180. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -0
  181. package/src/executors/infrastructure-plan/schema.json +78 -0
  182. package/src/executors/secret-guardrails/schema.json +6 -0
  183. package/src/executors/secret-guardrails/secret-guardrails.d.ts +3 -0
  184. package/src/executors/secret-guardrails/secret-guardrails.js +44 -0
  185. package/src/executors/secret-guardrails/secret-guardrails.js.map +1 -0
  186. package/src/executors/secret-metadata/schema.json +31 -0
  187. package/src/executors/secret-metadata/secret-metadata.d.ts +32 -0
  188. package/src/executors/secret-metadata/secret-metadata.js +131 -0
  189. package/src/executors/secret-metadata/secret-metadata.js.map +1 -0
  190. package/src/executors/sst-lifecycle/logging-preflight.d.ts +17 -0
  191. package/src/executors/sst-lifecycle/logging-preflight.js +196 -0
  192. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -0
  193. package/src/executors/sst-lifecycle/run-sst-command.d.ts +23 -3
  194. package/src/executors/sst-lifecycle/run-sst-command.js +113 -10
  195. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  196. package/src/executors/sst-lifecycle/schema.json +9 -5
  197. package/src/executors/sst-lifecycle/secret-preflight.d.ts +25 -0
  198. package/src/executors/sst-lifecycle/secret-preflight.js +119 -0
  199. package/src/executors/sst-lifecycle/secret-preflight.js.map +1 -0
  200. package/src/foundation/discovery.d.ts +17 -1
  201. package/src/foundation/discovery.js +16 -1
  202. package/src/foundation/discovery.js.map +1 -1
  203. package/src/foundation/index.d.ts +3 -0
  204. package/src/foundation/index.js +3 -0
  205. package/src/foundation/index.js.map +1 -1
  206. package/src/foundation/local-database-contract.d.ts +1 -0
  207. package/src/foundation/local-database-contract.js +3 -0
  208. package/src/foundation/local-database-contract.js.map +1 -1
  209. package/src/foundation/logging-preflight.d.ts +30 -0
  210. package/src/foundation/logging-preflight.js +138 -0
  211. package/src/foundation/logging-preflight.js.map +1 -0
  212. package/src/foundation/logging.d.ts +70 -0
  213. package/src/foundation/logging.js +133 -0
  214. package/src/foundation/logging.js.map +1 -0
  215. package/src/foundation/preflight.d.ts +9 -0
  216. package/src/foundation/preflight.js +58 -2
  217. package/src/foundation/preflight.js.map +1 -1
  218. package/src/foundation/provision-database-bindings.d.ts +9 -1
  219. package/src/foundation/provision-database-bindings.js +25 -5
  220. package/src/foundation/provision-database-bindings.js.map +1 -1
  221. package/src/foundation/provision-logical-database.d.ts +10 -2
  222. package/src/foundation/provision-logical-database.js +68 -113
  223. package/src/foundation/provision-logical-database.js.map +1 -1
  224. package/src/foundation/router-origin-proof.d.ts +2 -0
  225. package/src/foundation/router-origin-proof.js +25 -0
  226. package/src/foundation/router-origin-proof.js.map +1 -0
  227. package/src/foundation/stages.d.ts +1 -0
  228. package/src/foundation/stages.js +9 -1
  229. package/src/foundation/stages.js.map +1 -1
  230. package/src/frontend-security/index.d.ts +1 -0
  231. package/src/frontend-security/index.js +5 -0
  232. package/src/frontend-security/index.js.map +1 -0
  233. package/src/frontend-security/security-headers.d.ts +50 -0
  234. package/src/frontend-security/security-headers.js +418 -0
  235. package/src/frontend-security/security-headers.js.map +1 -0
  236. package/src/generators/feature-registry.d.ts +13 -0
  237. package/src/generators/feature-registry.js +73 -0
  238. package/src/generators/feature-registry.js.map +1 -0
  239. package/src/generators/function/function.d.ts +1 -1
  240. package/src/generators/function/function.js +51 -6
  241. package/src/generators/function/function.js.map +1 -1
  242. package/src/generators/function/schema.d.ts +1 -0
  243. package/src/generators/function/schema.json +6 -1
  244. package/src/generators/logging-registry.d.ts +13 -0
  245. package/src/generators/logging-registry.js +62 -0
  246. package/src/generators/logging-registry.js.map +1 -0
  247. package/src/generators/post-generation-install.d.ts +67 -0
  248. package/src/generators/post-generation-install.js +3308 -0
  249. package/src/generators/post-generation-install.js.map +1 -0
  250. package/src/generators/preset/generator.js +3 -0
  251. package/src/generators/preset/generator.js.map +1 -1
  252. package/src/generators/preset/tool-versions.d.ts +18 -0
  253. package/src/generators/preset/tool-versions.js +22 -0
  254. package/src/generators/preset/tool-versions.js.map +1 -0
  255. package/src/generators/preset/workspace-files-developer-agent.d.ts +14 -0
  256. package/src/generators/preset/workspace-files-developer-agent.js +511 -0
  257. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -0
  258. package/src/generators/preset/workspace-files-foundation-workload-roles.d.ts +6 -0
  259. package/src/generators/preset/workspace-files-foundation-workload-roles.js +406 -0
  260. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -0
  261. package/src/generators/preset/workspace-files-performance-cost.d.ts +66 -0
  262. package/src/generators/preset/workspace-files-performance-cost.js +866 -0
  263. package/src/generators/preset/workspace-files-performance-cost.js.map +1 -0
  264. package/src/generators/preset/workspace-files-performance-load.d.ts +73 -0
  265. package/src/generators/preset/workspace-files-performance-load.js +801 -0
  266. package/src/generators/preset/workspace-files-performance-load.js.map +1 -0
  267. package/src/generators/preset/workspace-files-workload-role-baseline.d.ts +9 -0
  268. package/src/generators/preset/workspace-files-workload-role-baseline.js +1102 -0
  269. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -0
  270. package/src/generators/preset/workspace-files.d.ts +14 -1
  271. package/src/generators/preset/workspace-files.js +8189 -245
  272. package/src/generators/preset/workspace-files.js.map +1 -1
  273. package/src/generators/repository-policy/repository-policy.js +3 -47
  274. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  275. package/src/generators/slice/built-in-plan-api-contract-files.d.ts +2 -0
  276. package/src/generators/slice/built-in-plan-api-contract-files.js +2656 -0
  277. package/src/generators/slice/built-in-plan-api-contract-files.js.map +1 -0
  278. package/src/generators/slice/built-in-plan-api-files.d.ts +2 -0
  279. package/src/generators/slice/built-in-plan-api-files.js +1186 -0
  280. package/src/generators/slice/built-in-plan-api-files.js.map +1 -0
  281. package/src/generators/slice/built-in-plan-async-work-files.d.ts +2 -0
  282. package/src/generators/slice/built-in-plan-async-work-files.js +7903 -0
  283. package/src/generators/slice/built-in-plan-async-work-files.js.map +1 -0
  284. package/src/generators/slice/built-in-plan-authorization-files.d.ts +2 -0
  285. package/src/generators/slice/built-in-plan-authorization-files.js +2314 -0
  286. package/src/generators/slice/built-in-plan-authorization-files.js.map +1 -0
  287. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.d.ts +2 -0
  288. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +559 -0
  289. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -0
  290. package/src/generators/slice/built-in-plan-data-deletion-files.d.ts +2 -0
  291. package/src/generators/slice/built-in-plan-data-deletion-files.js +1101 -0
  292. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +1 -0
  293. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.d.ts +2 -0
  294. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +249 -0
  295. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +1 -0
  296. package/src/generators/slice/built-in-plan-data-files.d.ts +2 -0
  297. package/src/generators/slice/built-in-plan-data-files.js +1530 -0
  298. package/src/generators/slice/built-in-plan-data-files.js.map +1 -0
  299. package/src/generators/slice/built-in-plan-data-lifecycle-files.d.ts +2 -0
  300. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +750 -0
  301. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +1 -0
  302. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.d.ts +2 -0
  303. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +828 -0
  304. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +1 -0
  305. package/src/generators/slice/built-in-plan-data-retention-job-files.d.ts +2 -0
  306. package/src/generators/slice/built-in-plan-data-retention-job-files.js +2604 -0
  307. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -0
  308. package/src/generators/slice/built-in-plan-data-retention-launcher-files.d.ts +2 -0
  309. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +144 -0
  310. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +1 -0
  311. package/src/generators/slice/built-in-plan-data-rights-files.d.ts +2 -0
  312. package/src/generators/slice/built-in-plan-data-rights-files.js +4628 -0
  313. package/src/generators/slice/built-in-plan-data-rights-files.js.map +1 -0
  314. package/src/generators/slice/built-in-plan-database-lifecycle-files.d.ts +2 -0
  315. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +1901 -0
  316. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -0
  317. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.d.ts +2 -0
  318. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +485 -0
  319. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +1 -0
  320. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -0
  321. package/src/generators/slice/built-in-plan-foundation-files.js +184 -0
  322. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -0
  323. package/src/generators/slice/built-in-plan-frontend-files.d.ts +2 -0
  324. package/src/generators/slice/built-in-plan-frontend-files.js +2233 -0
  325. package/src/generators/slice/built-in-plan-frontend-files.js.map +1 -0
  326. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +2 -0
  327. package/src/generators/slice/built-in-plan-infrastructure-files.js +3038 -0
  328. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -0
  329. package/src/generators/slice/built-in-plan-infrastructure-safety-files.d.ts +2 -0
  330. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +312 -0
  331. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -0
  332. package/src/generators/slice/built-in-plan-metadata-files.d.ts +3 -0
  333. package/src/generators/slice/built-in-plan-metadata-files.js +219 -0
  334. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -0
  335. package/src/generators/slice/built-in-plan-operations-files.d.ts +2 -0
  336. package/src/generators/slice/built-in-plan-operations-files.js +630 -0
  337. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -0
  338. package/src/generators/slice/built-in-plan-performance-files.d.ts +3 -0
  339. package/src/generators/slice/built-in-plan-performance-files.js +3293 -0
  340. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -0
  341. package/src/generators/slice/built-in-plan-project-files.d.ts +3 -0
  342. package/src/generators/slice/built-in-plan-project-files.js +979 -0
  343. package/src/generators/slice/built-in-plan-project-files.js.map +1 -0
  344. package/src/generators/slice/built-in-plan-release-files.d.ts +2 -0
  345. package/src/generators/slice/built-in-plan-release-files.js +6387 -0
  346. package/src/generators/slice/built-in-plan-release-files.js.map +1 -0
  347. package/src/generators/slice/built-in-plan-reliability-files.d.ts +2 -0
  348. package/src/generators/slice/built-in-plan-reliability-files.js +4499 -0
  349. package/src/generators/slice/built-in-plan-reliability-files.js.map +1 -0
  350. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +2 -0
  351. package/src/generators/slice/built-in-plan-secret-runtime-files.js +1004 -0
  352. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +1 -0
  353. package/src/generators/slice/built-in-plan-shared.d.ts +53 -0
  354. package/src/generators/slice/built-in-plan-shared.js +113 -0
  355. package/src/generators/slice/built-in-plan-shared.js.map +1 -0
  356. package/src/generators/slice/built-in-plan-testing-files.d.ts +2 -0
  357. package/src/generators/slice/built-in-plan-testing-files.js +2356 -0
  358. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -0
  359. package/src/generators/slice/built-in-plan-verification-files.d.ts +2 -0
  360. package/src/generators/slice/built-in-plan-verification-files.js +358 -0
  361. package/src/generators/slice/built-in-plan-verification-files.js.map +1 -0
  362. package/src/generators/slice/built-in-plan-web-files.d.ts +2 -0
  363. package/src/generators/slice/built-in-plan-web-files.js +430 -0
  364. package/src/generators/slice/built-in-plan-web-files.js.map +1 -0
  365. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +2 -0
  366. package/src/generators/slice/built-in-plan-workload-role-files.js +2356 -0
  367. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -0
  368. package/src/generators/slice/built-in-plan.d.ts +8 -0
  369. package/src/generators/slice/built-in-plan.js +264 -0
  370. package/src/generators/slice/built-in-plan.js.map +1 -0
  371. package/src/generators/slice/schema.json +1 -1
  372. package/src/generators/slice/slice.d.ts +1 -22
  373. package/src/generators/slice/slice.js +185 -1510
  374. package/src/generators/slice/slice.js.map +1 -1
  375. package/src/generators/upgrade/schema.d.ts +2 -0
  376. package/src/generators/upgrade/schema.json +11 -1
  377. package/src/generators/upgrade/upgrade.d.ts +51 -1
  378. package/src/generators/upgrade/upgrade.js +820 -82
  379. package/src/generators/upgrade/upgrade.js.map +1 -1
  380. package/src/generators/workload/frozen-container.d.ts +8 -0
  381. package/src/generators/workload/frozen-container.js +36 -0
  382. package/src/generators/workload/frozen-container.js.map +1 -0
  383. package/src/generators/workload/performance-registration.d.ts +32 -0
  384. package/src/generators/workload/performance-registration.js +226 -0
  385. package/src/generators/workload/performance-registration.js.map +1 -0
  386. package/src/generators/workload/reliability-registration.d.ts +16 -0
  387. package/src/generators/workload/reliability-registration.js +150 -0
  388. package/src/generators/workload/reliability-registration.js.map +1 -0
  389. package/src/generators/workload/schema.d.ts +1 -0
  390. package/src/generators/workload/schema.json +6 -1
  391. package/src/generators/workload/service-performance-files.d.ts +4 -0
  392. package/src/generators/workload/service-performance-files.js +1846 -0
  393. package/src/generators/workload/service-performance-files.js.map +1 -0
  394. package/src/generators/workload/workload.d.ts +3 -2
  395. package/src/generators/workload/workload.js +1083 -18
  396. package/src/generators/workload/workload.js.map +1 -1
  397. package/src/git-policy/action-pins.d.ts +10 -0
  398. package/src/git-policy/action-pins.js +10 -0
  399. package/src/git-policy/action-pins.js.map +1 -1
  400. package/src/git-policy/github-bootstrap.d.ts +14 -1
  401. package/src/git-policy/github-bootstrap.js +274 -46
  402. package/src/git-policy/github-bootstrap.js.map +1 -1
  403. package/src/index.d.ts +2 -0
  404. package/src/index.js +2 -0
  405. package/src/index.js.map +1 -1
  406. package/src/infrastructure-change/convergence.d.ts +13 -0
  407. package/src/infrastructure-change/convergence.js +85 -0
  408. package/src/infrastructure-change/convergence.js.map +1 -0
  409. package/src/infrastructure-change/drift.d.ts +13 -0
  410. package/src/infrastructure-change/drift.js +112 -0
  411. package/src/infrastructure-change/drift.js.map +1 -0
  412. package/src/infrastructure-change/index.d.ts +7 -0
  413. package/src/infrastructure-change/index.js +11 -0
  414. package/src/infrastructure-change/index.js.map +1 -0
  415. package/src/infrastructure-change/model.d.ts +253 -0
  416. package/src/infrastructure-change/model.js +28 -0
  417. package/src/infrastructure-change/model.js.map +1 -0
  418. package/src/infrastructure-change/normalize.d.ts +12 -0
  419. package/src/infrastructure-change/normalize.js +245 -0
  420. package/src/infrastructure-change/normalize.js.map +1 -0
  421. package/src/infrastructure-change/plan.d.ts +40 -0
  422. package/src/infrastructure-change/plan.js +361 -0
  423. package/src/infrastructure-change/plan.js.map +1 -0
  424. package/src/infrastructure-change/risk.d.ts +7 -0
  425. package/src/infrastructure-change/risk.js +269 -0
  426. package/src/infrastructure-change/risk.js.map +1 -0
  427. package/src/infrastructure-change/summary.d.ts +20 -0
  428. package/src/infrastructure-change/summary.js +130 -0
  429. package/src/infrastructure-change/summary.js.map +1 -0
  430. package/src/local-dev/context-discovery.d.ts +2 -0
  431. package/src/local-dev/context-discovery.js +59 -0
  432. package/src/local-dev/context-discovery.js.map +1 -0
  433. package/src/local-dev/contract-validation.d.ts +15 -0
  434. package/src/local-dev/contract-validation.js +84 -0
  435. package/src/local-dev/contract-validation.js.map +1 -0
  436. package/src/local-dev/contracts.d.ts +10 -1
  437. package/src/local-dev/contracts.js +57 -5
  438. package/src/local-dev/contracts.js.map +1 -1
  439. package/src/local-dev/control-contract.d.ts +67 -0
  440. package/src/local-dev/control-contract.js +180 -0
  441. package/src/local-dev/control-contract.js.map +1 -0
  442. package/src/local-dev/dev-command-core.d.ts +60 -0
  443. package/src/local-dev/dev-command-core.js +89 -0
  444. package/src/local-dev/dev-command-core.js.map +1 -0
  445. package/src/local-dev/effects.d.ts +16 -0
  446. package/src/local-dev/effects.js +63 -0
  447. package/src/local-dev/effects.js.map +1 -0
  448. package/src/local-dev/environment-inspector.d.ts +125 -0
  449. package/src/local-dev/environment-inspector.js +687 -0
  450. package/src/local-dev/environment-inspector.js.map +1 -0
  451. package/src/local-dev/environment-state.d.ts +113 -0
  452. package/src/local-dev/environment-state.js +463 -0
  453. package/src/local-dev/environment-state.js.map +1 -0
  454. package/src/local-dev/errors.d.ts +6 -0
  455. package/src/local-dev/errors.js +41 -0
  456. package/src/local-dev/errors.js.map +1 -0
  457. package/src/local-dev/fleet-client.d.ts +33 -0
  458. package/src/local-dev/fleet-client.js +156 -0
  459. package/src/local-dev/fleet-client.js.map +1 -0
  460. package/src/local-dev/fleet-configuration.d.ts +13 -0
  461. package/src/local-dev/fleet-configuration.js +71 -0
  462. package/src/local-dev/fleet-configuration.js.map +1 -0
  463. package/src/local-dev/fleet-inventory.d.ts +56 -0
  464. package/src/local-dev/fleet-inventory.js +469 -0
  465. package/src/local-dev/fleet-inventory.js.map +1 -0
  466. package/src/local-dev/fleet-ipc.d.ts +28 -0
  467. package/src/local-dev/fleet-ipc.js +267 -0
  468. package/src/local-dev/fleet-ipc.js.map +1 -0
  469. package/src/local-dev/fleet-launcher.d.ts +53 -0
  470. package/src/local-dev/fleet-launcher.js +379 -0
  471. package/src/local-dev/fleet-launcher.js.map +1 -0
  472. package/src/local-dev/fleet-lock.d.ts +41 -0
  473. package/src/local-dev/fleet-lock.js +135 -0
  474. package/src/local-dev/fleet-lock.js.map +1 -0
  475. package/src/local-dev/fleet-logs.d.ts +66 -0
  476. package/src/local-dev/fleet-logs.js +542 -0
  477. package/src/local-dev/fleet-logs.js.map +1 -0
  478. package/src/local-dev/fleet-process.d.ts +50 -0
  479. package/src/local-dev/fleet-process.js +289 -0
  480. package/src/local-dev/fleet-process.js.map +1 -0
  481. package/src/local-dev/fleet-runtime.d.ts +22 -0
  482. package/src/local-dev/fleet-runtime.js +368 -0
  483. package/src/local-dev/fleet-runtime.js.map +1 -0
  484. package/src/local-dev/fleet-session.d.ts +70 -0
  485. package/src/local-dev/fleet-session.js +301 -0
  486. package/src/local-dev/fleet-session.js.map +1 -0
  487. package/src/local-dev/fleet-slice-runner-daemon.d.ts +1 -0
  488. package/src/local-dev/fleet-slice-runner-daemon.js +21 -0
  489. package/src/local-dev/fleet-slice-runner-daemon.js.map +1 -0
  490. package/src/local-dev/fleet-startup.d.ts +22 -0
  491. package/src/local-dev/fleet-startup.js +114 -0
  492. package/src/local-dev/fleet-startup.js.map +1 -0
  493. package/src/local-dev/fleet-state.d.ts +62 -0
  494. package/src/local-dev/fleet-state.js +297 -0
  495. package/src/local-dev/fleet-state.js.map +1 -0
  496. package/src/local-dev/fleet-supervisor-daemon.d.ts +1 -0
  497. package/src/local-dev/fleet-supervisor-daemon.js +41 -0
  498. package/src/local-dev/fleet-supervisor-daemon.js.map +1 -0
  499. package/src/local-dev/fleet-supervisor.d.ts +52 -0
  500. package/src/local-dev/fleet-supervisor.js +384 -0
  501. package/src/local-dev/fleet-supervisor.js.map +1 -0
  502. package/src/local-dev/gateway.js +1 -1
  503. package/src/local-dev/gateway.js.map +1 -1
  504. package/src/local-dev/identity.js +4 -6
  505. package/src/local-dev/identity.js.map +1 -1
  506. package/src/local-dev/index.d.ts +1 -0
  507. package/src/local-dev/index.js +1 -0
  508. package/src/local-dev/index.js.map +1 -1
  509. package/src/local-dev/local-context.d.ts +62 -0
  510. package/src/local-dev/local-context.js +299 -0
  511. package/src/local-dev/local-context.js.map +1 -0
  512. package/src/local-dev/nx-workspace.d.ts +45 -0
  513. package/src/local-dev/nx-workspace.js +228 -0
  514. package/src/local-dev/nx-workspace.js.map +1 -0
  515. package/src/local-dev/personal-secret-ledger.d.ts +75 -0
  516. package/src/local-dev/personal-secret-ledger.js +391 -0
  517. package/src/local-dev/personal-secret-ledger.js.map +1 -0
  518. package/src/local-dev/personal-stage.d.ts +18 -0
  519. package/src/local-dev/personal-stage.js +129 -0
  520. package/src/local-dev/personal-stage.js.map +1 -0
  521. package/src/local-dev/private-state.d.ts +17 -0
  522. package/src/local-dev/private-state.js +254 -0
  523. package/src/local-dev/private-state.js.map +1 -0
  524. package/src/local-dev/process-identity.d.ts +9 -0
  525. package/src/local-dev/process-identity.js +79 -0
  526. package/src/local-dev/process-identity.js.map +1 -0
  527. package/src/local-dev/runtime-paths.d.ts +17 -0
  528. package/src/local-dev/runtime-paths.js +33 -0
  529. package/src/local-dev/runtime-paths.js.map +1 -0
  530. package/src/local-dev/secret-slice-claim.d.ts +17 -0
  531. package/src/local-dev/secret-slice-claim.js +75 -0
  532. package/src/local-dev/secret-slice-claim.js.map +1 -0
  533. package/src/local-dev/slice-claim.d.ts +36 -0
  534. package/src/local-dev/slice-claim.js +199 -0
  535. package/src/local-dev/slice-claim.js.map +1 -0
  536. package/src/local-dev/slice-runner.d.ts +121 -0
  537. package/src/local-dev/slice-runner.js +715 -0
  538. package/src/local-dev/slice-runner.js.map +1 -0
  539. package/src/local-dev/tls.js +51 -17
  540. package/src/local-dev/tls.js.map +1 -1
  541. package/src/ownership/composition.d.ts +5 -2
  542. package/src/ownership/composition.js +26 -3
  543. package/src/ownership/composition.js.map +1 -1
  544. package/src/ownership/hash.d.ts +1 -1
  545. package/src/ownership/hash.js +3 -1
  546. package/src/ownership/hash.js.map +1 -1
  547. package/src/ownership/record.d.ts +32 -1
  548. package/src/ownership/record.js +139 -2
  549. package/src/ownership/record.js.map +1 -1
  550. package/src/performance/cost-collection.d.ts +225 -0
  551. package/src/performance/cost-collection.js +825 -0
  552. package/src/performance/cost-collection.js.map +1 -0
  553. package/src/performance/cost-controls.d.ts +131 -0
  554. package/src/performance/cost-controls.js +336 -0
  555. package/src/performance/cost-controls.js.map +1 -0
  556. package/src/performance/evidence.d.ts +140 -0
  557. package/src/performance/evidence.js +599 -0
  558. package/src/performance/evidence.js.map +1 -0
  559. package/src/performance/index.d.ts +10 -0
  560. package/src/performance/index.js +14 -0
  561. package/src/performance/index.js.map +1 -0
  562. package/src/performance/load-safety.d.ts +84 -0
  563. package/src/performance/load-safety.js +346 -0
  564. package/src/performance/load-safety.js.map +1 -0
  565. package/src/performance/model.d.ts +129 -0
  566. package/src/performance/model.js +452 -0
  567. package/src/performance/model.js.map +1 -0
  568. package/src/performance/pr-artifact-budget.d.ts +42 -0
  569. package/src/performance/pr-artifact-budget.js +151 -0
  570. package/src/performance/pr-artifact-budget.js.map +1 -0
  571. package/src/performance/runner.d.ts +75 -0
  572. package/src/performance/runner.js +227 -0
  573. package/src/performance/runner.js.map +1 -0
  574. package/src/performance/scenario-endpoint.d.ts +1 -0
  575. package/src/performance/scenario-endpoint.js +5 -0
  576. package/src/performance/scenario-endpoint.js.map +1 -0
  577. package/src/performance/scenario.d.ts +193 -0
  578. package/src/performance/scenario.js +736 -0
  579. package/src/performance/scenario.js.map +1 -0
  580. package/src/performance/test-fixtures.d.ts +7 -0
  581. package/src/performance/test-fixtures.js +169 -0
  582. package/src/performance/test-fixtures.js.map +1 -0
  583. package/src/performance/unit-cost.d.ts +105 -0
  584. package/src/performance/unit-cost.js +364 -0
  585. package/src/performance/unit-cost.js.map +1 -0
  586. package/src/release/index.d.ts +4 -0
  587. package/src/release/index.js +8 -0
  588. package/src/release/index.js.map +1 -0
  589. package/src/release/lifecycle.d.ts +132 -0
  590. package/src/release/lifecycle.js +411 -0
  591. package/src/release/lifecycle.js.map +1 -0
  592. package/src/release/manifest.d.ts +148 -0
  593. package/src/release/manifest.js +503 -0
  594. package/src/release/manifest.js.map +1 -0
  595. package/src/release/rollout.d.ts +170 -0
  596. package/src/release/rollout.js +578 -0
  597. package/src/release/rollout.js.map +1 -0
  598. package/src/release/source-authority.d.ts +19 -0
  599. package/src/release/source-authority.js +195 -0
  600. package/src/release/source-authority.js.map +1 -0
  601. package/src/repository-policy/deployment-plan.d.ts +2 -1
  602. package/src/repository-policy/deployment-plan.js +2 -0
  603. package/src/repository-policy/deployment-plan.js.map +1 -1
  604. package/src/repository-policy/policy.d.ts +1 -1
  605. package/src/repository-policy/policy.js +29 -25
  606. package/src/repository-policy/policy.js.map +1 -1
  607. package/src/schemas/aggregate-count-evidence-v1.json +135 -0
  608. package/src/schemas/api-contract-baseline-v1.json +674 -0
  609. package/src/schemas/api-contract-compatibility-report-v1.json +126 -0
  610. package/src/schemas/aws-billing-actual-evidence-v1.json +407 -0
  611. package/src/schemas/blueprint-v1.json +18 -1
  612. package/src/schemas/data-lifecycle-policy-v1.json +517 -0
  613. package/src/schemas/generated-ownership-v2.json +22 -0
  614. package/src/schemas/performance-policy-v1.json +335 -0
  615. package/src/schemas/repository-policy-v1.json +1 -0
  616. package/src/schemas/testing-evidence-quarantine-v1.json +168 -0
  617. package/src/schemas/testing-evidence-result-v1.json +319 -0
  618. package/src/secrets/adapters.d.ts +49 -0
  619. package/src/secrets/adapters.js +184 -0
  620. package/src/secrets/adapters.js.map +1 -0
  621. package/src/secrets/aws-control-plane.d.ts +20 -0
  622. package/src/secrets/aws-control-plane.js +255 -0
  623. package/src/secrets/aws-control-plane.js.map +1 -0
  624. package/src/secrets/declaration-verification.d.ts +11 -0
  625. package/src/secrets/declaration-verification.js +68 -0
  626. package/src/secrets/declaration-verification.js.map +1 -0
  627. package/src/secrets/guardrails.d.ts +26 -0
  628. package/src/secrets/guardrails.js +328 -0
  629. package/src/secrets/guardrails.js.map +1 -0
  630. package/src/secrets/index.d.ts +12 -0
  631. package/src/secrets/index.js +16 -0
  632. package/src/secrets/index.js.map +1 -0
  633. package/src/secrets/metadata.d.ts +48 -0
  634. package/src/secrets/metadata.js +171 -0
  635. package/src/secrets/metadata.js.map +1 -0
  636. package/src/secrets/model.d.ts +49 -0
  637. package/src/secrets/model.js +125 -0
  638. package/src/secrets/model.js.map +1 -0
  639. package/src/secrets/operator.d.ts +101 -0
  640. package/src/secrets/operator.js +229 -0
  641. package/src/secrets/operator.js.map +1 -0
  642. package/src/secrets/permissions.d.ts +34 -0
  643. package/src/secrets/permissions.js +86 -0
  644. package/src/secrets/permissions.js.map +1 -0
  645. package/src/secrets/personal-command.d.ts +83 -0
  646. package/src/secrets/personal-command.js +197 -0
  647. package/src/secrets/personal-command.js.map +1 -0
  648. package/src/secrets/personal-ledger.d.ts +21 -0
  649. package/src/secrets/personal-ledger.js +135 -0
  650. package/src/secrets/personal-ledger.js.map +1 -0
  651. package/src/secrets/registry.d.ts +9 -0
  652. package/src/secrets/registry.js +86 -0
  653. package/src/secrets/registry.js.map +1 -0
  654. package/src/secrets/verification.d.ts +18 -0
  655. package/src/secrets/verification.js +139 -0
  656. package/src/secrets/verification.js.map +1 -0
  657. package/src/secrets/workload-access.d.ts +46 -0
  658. package/src/secrets/workload-access.js +163 -0
  659. package/src/secrets/workload-access.js.map +1 -0
  660. package/src/supply-chain/action-pins.d.ts +26 -0
  661. package/src/supply-chain/action-pins.js +208 -0
  662. package/src/supply-chain/action-pins.js.map +1 -0
  663. package/src/supply-chain/blueprint-trust-git.d.ts +130 -0
  664. package/src/supply-chain/blueprint-trust-git.js +1581 -0
  665. package/src/supply-chain/blueprint-trust-git.js.map +1 -0
  666. package/src/supply-chain/blueprint-trust-process.d.ts +4 -0
  667. package/src/supply-chain/blueprint-trust-process.js +88 -0
  668. package/src/supply-chain/blueprint-trust-process.js.map +1 -0
  669. package/src/supply-chain/blueprint-trust.d.ts +354 -0
  670. package/src/supply-chain/blueprint-trust.js +1558 -0
  671. package/src/supply-chain/blueprint-trust.js.map +1 -0
  672. package/src/supply-chain/blueprint-verification-authority.d.ts +62 -0
  673. package/src/supply-chain/blueprint-verification-authority.js +588 -0
  674. package/src/supply-chain/blueprint-verification-authority.js.map +1 -0
  675. package/src/supply-chain/blueprint-verification-execution.d.ts +68 -0
  676. package/src/supply-chain/blueprint-verification-execution.js +624 -0
  677. package/src/supply-chain/blueprint-verification-execution.js.map +1 -0
  678. package/src/supply-chain/build-output.d.ts +35 -0
  679. package/src/supply-chain/build-output.js +398 -0
  680. package/src/supply-chain/build-output.js.map +1 -0
  681. package/src/supply-chain/common.d.ts +21 -0
  682. package/src/supply-chain/common.js +107 -0
  683. package/src/supply-chain/common.js.map +1 -0
  684. package/src/supply-chain/container-artifact-contract.d.ts +23 -0
  685. package/src/supply-chain/container-artifact-contract.js +208 -0
  686. package/src/supply-chain/container-artifact-contract.js.map +1 -0
  687. package/src/supply-chain/container-release.d.ts +119 -0
  688. package/src/supply-chain/container-release.js +496 -0
  689. package/src/supply-chain/container-release.js.map +1 -0
  690. package/src/supply-chain/ecr-applicability.d.ts +19 -0
  691. package/src/supply-chain/ecr-applicability.js +103 -0
  692. package/src/supply-chain/ecr-applicability.js.map +1 -0
  693. package/src/supply-chain/ecr-scanning.d.ts +83 -0
  694. package/src/supply-chain/ecr-scanning.js +321 -0
  695. package/src/supply-chain/ecr-scanning.js.map +1 -0
  696. package/src/supply-chain/ecs-deployed-image.d.ts +85 -0
  697. package/src/supply-chain/ecs-deployed-image.js +300 -0
  698. package/src/supply-chain/ecs-deployed-image.js.map +1 -0
  699. package/src/supply-chain/errors.d.ts +6 -0
  700. package/src/supply-chain/errors.js +15 -0
  701. package/src/supply-chain/errors.js.map +1 -0
  702. package/src/supply-chain/generated-blueprint-trust-command.d.ts +4 -0
  703. package/src/supply-chain/generated-blueprint-trust-command.js +1362 -0
  704. package/src/supply-chain/generated-blueprint-trust-command.js.map +1 -0
  705. package/src/supply-chain/generated-command.d.ts +1 -0
  706. package/src/supply-chain/generated-command.js +687 -0
  707. package/src/supply-chain/generated-command.js.map +1 -0
  708. package/src/supply-chain/generated-container-release-command.d.ts +16 -0
  709. package/src/supply-chain/generated-container-release-command.js +2087 -0
  710. package/src/supply-chain/generated-container-release-command.js.map +1 -0
  711. package/src/supply-chain/generated-ecr-collector-command.d.ts +21 -0
  712. package/src/supply-chain/generated-ecr-collector-command.js +1338 -0
  713. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -0
  714. package/src/supply-chain/generated-files.d.ts +13 -0
  715. package/src/supply-chain/generated-files.js +401 -0
  716. package/src/supply-chain/generated-files.js.map +1 -0
  717. package/src/supply-chain/generated-scanner-command.d.ts +1 -0
  718. package/src/supply-chain/generated-scanner-command.js +718 -0
  719. package/src/supply-chain/generated-scanner-command.js.map +1 -0
  720. package/src/supply-chain/index.d.ts +28 -0
  721. package/src/supply-chain/index.js +35 -0
  722. package/src/supply-chain/index.js.map +1 -0
  723. package/src/supply-chain/inventory.d.ts +79 -0
  724. package/src/supply-chain/inventory.js +717 -0
  725. package/src/supply-chain/inventory.js.map +1 -0
  726. package/src/supply-chain/license-expression.d.ts +7 -0
  727. package/src/supply-chain/license-expression.js +128 -0
  728. package/src/supply-chain/license-expression.js.map +1 -0
  729. package/src/supply-chain/pnpm-toolchain-authority.d.ts +31 -0
  730. package/src/supply-chain/pnpm-toolchain-authority.js +316 -0
  731. package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -0
  732. package/src/supply-chain/policy.d.ts +105 -0
  733. package/src/supply-chain/policy.js +301 -0
  734. package/src/supply-chain/policy.js.map +1 -0
  735. package/src/supply-chain/publication.d.ts +48 -0
  736. package/src/supply-chain/publication.js +85 -0
  737. package/src/supply-chain/publication.js.map +1 -0
  738. package/src/supply-chain/sbom.d.ts +228 -0
  739. package/src/supply-chain/sbom.js +826 -0
  740. package/src/supply-chain/sbom.js.map +1 -0
  741. package/src/supply-chain/scanner.d.ts +77 -0
  742. package/src/supply-chain/scanner.js +502 -0
  743. package/src/supply-chain/scanner.js.map +1 -0
  744. package/src/supply-chain/vendored-source.d.ts +95 -0
  745. package/src/supply-chain/vendored-source.js +315 -0
  746. package/src/supply-chain/vendored-source.js.map +1 -0
  747. package/src/testing-evidence/fixture-scope.d.ts +52 -0
  748. package/src/testing-evidence/fixture-scope.js +140 -0
  749. package/src/testing-evidence/fixture-scope.js.map +1 -0
  750. package/src/testing-evidence/index.d.ts +5 -0
  751. package/src/testing-evidence/index.js +9 -0
  752. package/src/testing-evidence/index.js.map +1 -0
  753. package/src/testing-evidence/quarantine.d.ts +48 -0
  754. package/src/testing-evidence/quarantine.js +253 -0
  755. package/src/testing-evidence/quarantine.js.map +1 -0
  756. package/src/testing-evidence/result.d.ts +108 -0
  757. package/src/testing-evidence/result.js +571 -0
  758. package/src/testing-evidence/result.js.map +1 -0
  759. package/src/testing-evidence/runner-adapter.d.ts +51 -0
  760. package/src/testing-evidence/runner-adapter.js +288 -0
  761. package/src/testing-evidence/runner-adapter.js.map +1 -0
  762. package/src/testing-evidence/sensitive-artifacts.d.ts +13 -0
  763. package/src/testing-evidence/sensitive-artifacts.js +93 -0
  764. package/src/testing-evidence/sensitive-artifacts.js.map +1 -0
  765. package/src/work-markers/work-markers.js +4 -3
  766. package/src/work-markers/work-markers.js.map +1 -1
  767. package/src/workload-roles/account-baseline.d.ts +132 -0
  768. package/src/workload-roles/account-baseline.js +743 -0
  769. package/src/workload-roles/account-baseline.js.map +1 -0
  770. package/src/workload-roles/authority.d.ts +38 -0
  771. package/src/workload-roles/authority.js +156 -0
  772. package/src/workload-roles/authority.js.map +1 -0
  773. package/src/workload-roles/aws-adapter.d.ts +99 -0
  774. package/src/workload-roles/aws-adapter.js +416 -0
  775. package/src/workload-roles/aws-adapter.js.map +1 -0
  776. package/src/workload-roles/aws-internal-handler.d.ts +27 -0
  777. package/src/workload-roles/aws-internal-handler.js +58 -0
  778. package/src/workload-roles/aws-internal-handler.js.map +1 -0
  779. package/src/workload-roles/aws-s3-state.d.ts +52 -0
  780. package/src/workload-roles/aws-s3-state.js +164 -0
  781. package/src/workload-roles/aws-s3-state.js.map +1 -0
  782. package/src/workload-roles/aws-sdk-control-plane.d.ts +12 -0
  783. package/src/workload-roles/aws-sdk-control-plane.js +291 -0
  784. package/src/workload-roles/aws-sdk-control-plane.js.map +1 -0
  785. package/src/workload-roles/boundary.d.ts +33 -0
  786. package/src/workload-roles/boundary.js +130 -0
  787. package/src/workload-roles/boundary.js.map +1 -0
  788. package/src/workload-roles/convergence.d.ts +66 -0
  789. package/src/workload-roles/convergence.js +186 -0
  790. package/src/workload-roles/convergence.js.map +1 -0
  791. package/src/workload-roles/effective-policy.d.ts +51 -0
  792. package/src/workload-roles/effective-policy.js +183 -0
  793. package/src/workload-roles/effective-policy.js.map +1 -0
  794. package/src/workload-roles/handler.d.ts +43 -0
  795. package/src/workload-roles/handler.js +130 -0
  796. package/src/workload-roles/handler.js.map +1 -0
  797. package/src/workload-roles/history.d.ts +47 -0
  798. package/src/workload-roles/history.js +324 -0
  799. package/src/workload-roles/history.js.map +1 -0
  800. package/src/workload-roles/index.d.ts +17 -0
  801. package/src/workload-roles/index.js +21 -0
  802. package/src/workload-roles/index.js.map +1 -0
  803. package/src/workload-roles/injection.d.ts +119 -0
  804. package/src/workload-roles/injection.js +495 -0
  805. package/src/workload-roles/injection.js.map +1 -0
  806. package/src/workload-roles/manifest.d.ts +54 -0
  807. package/src/workload-roles/manifest.js +343 -0
  808. package/src/workload-roles/manifest.js.map +1 -0
  809. package/src/workload-roles/provisioner.d.ts +70 -0
  810. package/src/workload-roles/provisioner.js +231 -0
  811. package/src/workload-roles/provisioner.js.map +1 -0
  812. package/src/workload-roles/registration.d.ts +101 -0
  813. package/src/workload-roles/registration.js +457 -0
  814. package/src/workload-roles/registration.js.map +1 -0
  815. package/src/workload-roles/stage-boundary.d.ts +31 -0
  816. package/src/workload-roles/stage-boundary.js +208 -0
  817. package/src/workload-roles/stage-boundary.js.map +1 -0
  818. package/src/workload-roles/standard-slice.d.ts +54 -0
  819. package/src/workload-roles/standard-slice.js +252 -0
  820. package/src/workload-roles/standard-slice.js.map +1 -0
  821. package/migrations/standard-pre-v1-to-v1.md +0 -11
  822. package/src/foundation/aurora-logical-database.d.ts +0 -76
  823. package/src/foundation/aurora-logical-database.js +0 -419
  824. package/src/foundation/aurora-logical-database.js.map +0 -1
@@ -0,0 +1,1255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeveloperAgentOperationRegistryError = void 0;
4
+ exports.joinDeveloperAgentAuthorityClasses = joinDeveloperAgentAuthorityClasses;
5
+ exports.createDeveloperAgentOperationRegistry = createDeveloperAgentOperationRegistry;
6
+ exports.requireDeveloperAgentOperation = requireDeveloperAgentOperation;
7
+ exports.operationLooksMutating = operationLooksMutating;
8
+ const node_util_1 = require("node:util");
9
+ const blueprint_trust_js_1 = require("../supply-chain/blueprint-trust.js");
10
+ const model_js_1 = require("./model.js");
11
+ const ordering_js_1 = require("./ordering.js");
12
+ class DeveloperAgentOperationRegistryError extends Error {
13
+ classification = 'unsupported-operation';
14
+ constructor() {
15
+ super('Requested Developer-Agent operation is not in the inspected operation registry.');
16
+ this.name = 'DeveloperAgentOperationRegistryError';
17
+ }
18
+ }
19
+ exports.DeveloperAgentOperationRegistryError = DeveloperAgentOperationRegistryError;
20
+ const exact = (...names) => {
21
+ const values = new Set(names);
22
+ return (targetName) => values.has(targetName);
23
+ };
24
+ const suffix = (...suffixes) => (targetName) => suffixes.some((value) => targetName.endsWith(value));
25
+ const containsSegment = (...segments) => (targetName) => {
26
+ const words = new Set(targetName.split('-'));
27
+ return segments.some((value) => words.has(value));
28
+ };
29
+ const ALL_CANONICAL_STAGES = [
30
+ 'development',
31
+ 'staging',
32
+ 'production',
33
+ ];
34
+ const PROTECTED_CANONICAL_STAGES = [
35
+ 'staging',
36
+ 'production',
37
+ ];
38
+ const PROTECTED_WORKFLOW_ONLY_RATIONALE = 'This exact target is reserved for a protected workflow that supplies reviewed authority and retained evidence; Developer-Agent planning must use that owning workflow.';
39
+ const LOCAL_OWNER_ONLY_RATIONALE = 'This exact target is intentionally unavailable to Developer-Agent planning; use its bounded framework owner instead.';
40
+ function policyLifecycleActionForTarget(targetName) {
41
+ if (exact('deploy', 'deploy-infrastructure', 'deployment-plan', 'foundation-ready', 'infrastructure-plan')(targetName)) {
42
+ return 'deploy';
43
+ }
44
+ if (exact('dev', 'dev-cleanup', 'dev-setup')(targetName))
45
+ return 'dev';
46
+ if (exact('db-local-migrate', 'db-migrate')(targetName))
47
+ return 'migrate';
48
+ if (targetName === 'refresh')
49
+ return 'refresh';
50
+ if (targetName === 'remove')
51
+ return 'remove';
52
+ if (targetName === 'unlock')
53
+ return 'unlock';
54
+ return undefined;
55
+ }
56
+ function exactOptions(expected) {
57
+ return (input, options) => (0, node_util_1.isDeepStrictEqual)(options, expected(input));
58
+ }
59
+ function runCommandSignature(targetName, command, settings = {}) {
60
+ return {
61
+ ...(settings.continuous ? { continuous: true } : {}),
62
+ ...(settings.dependsOn
63
+ ? { dependsOn: () => settings.dependsOn }
64
+ : {}),
65
+ executor: 'nx:run-commands',
66
+ ...(settings.nonPlannableRationale
67
+ ? { nonPlannableRationale: settings.nonPlannableRationale }
68
+ : {}),
69
+ optionsMatch: exactOptions((input) => ({
70
+ command,
71
+ ...(settings.workspaceRoot ? {} : { cwd: input.project.root }),
72
+ ...(settings.env ? { env: settings.env } : {}),
73
+ ...(settings.forwardAllArgs === undefined
74
+ ? {}
75
+ : { forwardAllArgs: settings.forwardAllArgs }),
76
+ })),
77
+ targetName,
78
+ };
79
+ }
80
+ function runScriptSignature(targetName, expectedScript, settings = {}) {
81
+ const { dependsOn, ...signatureSettings } = settings;
82
+ return {
83
+ ...signatureSettings,
84
+ ...(dependsOn ? { dependsOn: () => dependsOn } : {}),
85
+ executor: 'nx:run-script',
86
+ metadataMatch: (input, metadata) => {
87
+ const script = expectedScript(input);
88
+ return (script !== undefined &&
89
+ (0, node_util_1.isDeepStrictEqual)(metadata, {
90
+ runCommand: `pnpm run ${targetName}`,
91
+ scriptContent: script,
92
+ }));
93
+ },
94
+ optionsMatch: (_input, options) => (0, node_util_1.isDeepStrictEqual)(options, { script: targetName }),
95
+ targetName,
96
+ };
97
+ }
98
+ function executorSignature(targetName, executor, options, dependsOn, settings = {}) {
99
+ return {
100
+ ...settings,
101
+ ...(dependsOn ? { dependsOn: () => dependsOn } : {}),
102
+ executor,
103
+ optionsMatch: options,
104
+ targetName,
105
+ };
106
+ }
107
+ const sliceVerifyDependencies = [
108
+ 'api-contract-check',
109
+ 'async-verify',
110
+ 'authorization-check',
111
+ 'build',
112
+ 'contract-dependencies-check',
113
+ 'data-policy-check',
114
+ 'db-check',
115
+ 'frontend-boundaries',
116
+ 'lint',
117
+ 'performance-budget',
118
+ 'performance-check',
119
+ 'reliability-verify',
120
+ 'secret-guardrails',
121
+ 'smoke-deployed-check',
122
+ 'test',
123
+ 'test-integration',
124
+ 'typecheck',
125
+ ];
126
+ // These are execution signatures, not name heuristics. Generator changes that
127
+ // alter executor options or dependency closure must update this reviewed list;
128
+ // external Blueprint verification instead enters through the exact protected
129
+ // target-closure review passed to the registry below.
130
+ const TARGET_SIGNATURES = [
131
+ runCommandSignature('api-contract-baseline', 'node --experimental-strip-types scripts/api-contract.mjs baseline', { forwardAllArgs: true }),
132
+ runCommandSignature('api-contract-check', 'node --experimental-strip-types scripts/api-contract.mjs check', { forwardAllArgs: false }),
133
+ runCommandSignature('api-contract-generate', 'node --experimental-strip-types scripts/api-contract.mjs generate', { forwardAllArgs: false }),
134
+ runCommandSignature('authorization-check', 'vitest run authorization', {
135
+ forwardAllArgs: false,
136
+ }),
137
+ executorSignature('blueprint-trust-check', '@empire-builder-kit/nx:blueprint-trust', exactOptions(() => ({
138
+ operation: 'adopt',
139
+ output: '.ebk/evidence/supply-chain/blueprint-trust.json',
140
+ protectedBranch: 'develop',
141
+ protectedRef: 'refs/remotes/origin/develop',
142
+ }))),
143
+ executorSignature('blueprint-trust-check-protected', '@empire-builder-kit/nx:blueprint-trust', exactOptions(() => ({
144
+ operation: 'deploy',
145
+ output: '.ebk/evidence/supply-chain/blueprint-trust.json',
146
+ protectedBranch: 'develop',
147
+ protectedRef: 'refs/remotes/origin/develop',
148
+ })), undefined, {
149
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
150
+ }),
151
+ runCommandSignature('async-inventory', 'node --experimental-strip-types scripts/async-recovery.mjs inventory dlq-redrive', { forwardAllArgs: false }),
152
+ runCommandSignature('async-backfill', 'node --experimental-strip-types scripts/async-recovery.mjs apply checkpointed-backfill', { forwardAllArgs: false }),
153
+ runCommandSignature('async-backfill-report', 'node --experimental-strip-types scripts/async-recovery.mjs report checkpointed-backfill', { forwardAllArgs: false }),
154
+ runCommandSignature('async-backfill-status', 'node --experimental-strip-types scripts/async-recovery.mjs status checkpointed-backfill', { forwardAllArgs: false }),
155
+ runCommandSignature('async-provider-reconcile', 'node --experimental-strip-types scripts/async-recovery.mjs apply provider-reconciliation', { forwardAllArgs: false }),
156
+ runCommandSignature('async-provider-reconcile-report', 'node --experimental-strip-types scripts/async-recovery.mjs report provider-reconciliation', { forwardAllArgs: false }),
157
+ runCommandSignature('async-provider-reconcile-status', 'node --experimental-strip-types scripts/async-recovery.mjs status provider-reconciliation', { forwardAllArgs: false }),
158
+ runCommandSignature('async-queue-redrive-report', 'node --experimental-strip-types scripts/async-recovery.mjs report dlq-redrive', { forwardAllArgs: false }),
159
+ runCommandSignature('async-queue-redrive-status', 'node --experimental-strip-types scripts/async-recovery.mjs status dlq-redrive', { forwardAllArgs: false }),
160
+ runCommandSignature('async-workflow-recover', 'node --experimental-strip-types scripts/async-recovery.mjs apply workflow-recovery', { forwardAllArgs: false }),
161
+ runCommandSignature('async-workflow-recovery-report', 'node --experimental-strip-types scripts/async-recovery.mjs report workflow-recovery', { forwardAllArgs: false }),
162
+ runCommandSignature('async-workflow-recovery-status', 'node --experimental-strip-types scripts/async-recovery.mjs status workflow-recovery', { forwardAllArgs: false }),
163
+ runCommandSignature('async-verify', 'node --experimental-strip-types scripts/async-contract.mjs', { forwardAllArgs: false }),
164
+ runCommandSignature('build', 'next build web', {
165
+ dependsOn: ['secret-guardrails', 'typecheck'],
166
+ env: { NODE_ENV: 'production' },
167
+ }),
168
+ runCommandSignature('configuration-expected', 'node --experimental-strip-types scripts/configuration-expected.mjs', { forwardAllArgs: false }),
169
+ runCommandSignature('configuration-check', 'node --experimental-strip-types scripts/configuration-check.mjs', { forwardAllArgs: false }),
170
+ runCommandSignature('contract-dependencies-check', 'node scripts/contract-dependencies.mjs check', { forwardAllArgs: false }),
171
+ runCommandSignature('contract-dependencies-sync', 'node scripts/contract-dependencies.mjs sync', { forwardAllArgs: false }),
172
+ runCommandSignature('container-release-amd64', 'node ../../tools/container-release.mjs platform linux/amd64', {
173
+ forwardAllArgs: false,
174
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
175
+ }),
176
+ runCommandSignature('container-release-arm64', 'node ../../tools/container-release.mjs platform linux/arm64', {
177
+ forwardAllArgs: false,
178
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
179
+ }),
180
+ runCommandSignature('container-release-assemble', 'node ../../tools/container-release.mjs assemble', {
181
+ forwardAllArgs: false,
182
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
183
+ }),
184
+ runCommandSignature('container-release-promote', 'node ../../tools/container-release.mjs promote', {
185
+ forwardAllArgs: false,
186
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
187
+ }),
188
+ runCommandSignature('db-check', 'node scripts/check-database.mjs'),
189
+ runCommandSignature('db-generate', 'drizzle-kit generate --config=database/drizzle.config.ts'),
190
+ runCommandSignature('db-migrate', 'node scripts/migrate-database.mjs', {
191
+ dependsOn: [{ params: 'forward', target: 'deploy-infrastructure' }],
192
+ forwardAllArgs: true,
193
+ }),
194
+ runCommandSignature('db-local-down', 'node scripts/local-database.mjs down'),
195
+ runCommandSignature('db-local-migrate', 'drizzle-kit migrate --config=database/drizzle.config.ts', { dependsOn: ['db-local-up'] }),
196
+ runCommandSignature('db-local-up', 'node scripts/local-database.mjs up', {
197
+ dependsOn: ['db-check'],
198
+ }),
199
+ runCommandSignature('db-retirement-rehearsal', 'node scripts/rehearse-database-retirement.mjs', { forwardAllArgs: false }),
200
+ runCommandSignature('data-policy-check', 'node scripts/data-policy.mjs', {
201
+ forwardAllArgs: false,
202
+ }),
203
+ runCommandSignature('data-policy-reconcile', 'node scripts/data-policy-reconcile.mjs', { dependsOn: ['data-policy-check'], forwardAllArgs: true }),
204
+ runCommandSignature('data-restore-reconcile', 'node --experimental-strip-types scripts/data-restore-reconcile.mjs', { forwardAllArgs: true }),
205
+ runCommandSignature('data-retention', 'node --experimental-strip-types scripts/data-retention.mjs', { forwardAllArgs: true }),
206
+ runCommandSignature('deploy', 'node scripts/confirm-deploy.mjs', {
207
+ dependsOn: [{ params: 'forward', target: 'db-migrate' }],
208
+ forwardAllArgs: true,
209
+ }),
210
+ runCommandSignature('dev-prerequisite', 'node scripts/verify-live-mode.mjs', {
211
+ dependsOn: ['db-check', 'secret-guardrails', 'typecheck'],
212
+ }),
213
+ runCommandSignature('frontend-boundaries', 'node scripts/frontend-boundaries.mjs --output=.ebk/evidence/frontend/frontend-boundaries.json', { forwardAllArgs: false }),
214
+ runCommandSignature('frontend-security-headers', 'node scripts/frontend-security-headers.mjs', {
215
+ forwardAllArgs: true,
216
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
217
+ }),
218
+ runCommandSignature('frontend-visual', 'node scripts/frontend-visual-report.mjs verify', { forwardAllArgs: false }),
219
+ runCommandSignature('frontend-visual-update', 'node scripts/frontend-visual-report.mjs update', { forwardAllArgs: true }),
220
+ runCommandSignature('ecr-inspector-collect', 'node ../../tools/ecr-inspector-collect.mjs collect', { forwardAllArgs: false }),
221
+ runCommandSignature('ecr-scan-applicability', 'node ../../tools/ecr-inspector-collect.mjs assess', { forwardAllArgs: false }),
222
+ runCommandSignature('infrastructure-drift', 'node --experimental-strip-types scripts/infrastructure-drift.mjs', { forwardAllArgs: false }),
223
+ runCommandSignature('lint', 'eslint .'),
224
+ runCommandSignature('performance-budget', 'node scripts/performance-budget-check.mjs', { dependsOn: ['build'], forwardAllArgs: false }),
225
+ runCommandSignature('performance-evidence-evaluate', 'node scripts/performance-evidence-evaluate.mjs', { forwardAllArgs: false }),
226
+ runCommandSignature('performance-check', 'node scripts/performance-policy-check.mjs', { forwardAllArgs: false }),
227
+ runCommandSignature('performance-cost-collect', 'node scripts/performance-cost-collect.mjs', { forwardAllArgs: false }),
228
+ runCommandSignature('performance-aggregate-counts', 'node --experimental-strip-types scripts/performance-aggregate-counts.mjs', {
229
+ forwardAllArgs: false,
230
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
231
+ }),
232
+ runCommandSignature('performance-load-cleanup', 'node scripts/performance-load-cleanup.mjs', {
233
+ forwardAllArgs: false,
234
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
235
+ }),
236
+ runCommandSignature('performance-run', 'node scripts/performance-load-runner.mjs', {
237
+ forwardAllArgs: false,
238
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
239
+ }),
240
+ runCommandSignature('performance-ready', 'node scripts/performance-policy-check.mjs --require-ready', { forwardAllArgs: false }),
241
+ runCommandSignature('performance-tag-coverage', 'node scripts/performance-tag-coverage.mjs', { forwardAllArgs: false }),
242
+ runCommandSignature('performance-unit-cost', 'node scripts/performance-unit-cost.mjs', { forwardAllArgs: false }),
243
+ runCommandSignature('reliability-deployed-verify', 'node scripts/verify-reliability.mjs --deployed', { forwardAllArgs: false }),
244
+ runCommandSignature('reliability-deployment-binding', 'node scripts/create-reliability-deployment-binding.mjs', {
245
+ forwardAllArgs: false,
246
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
247
+ }),
248
+ runCommandSignature('reliability-diagnostic', 'node scripts/reliability-diagnostic.mjs', { forwardAllArgs: false }),
249
+ runCommandSignature('reliability-exercise-collect', 'node scripts/collect-reliability-exercise.mjs', { forwardAllArgs: false }),
250
+ runCommandSignature('reliability-exercise-report', 'node scripts/reliability-exercise-report.mjs', { forwardAllArgs: false }),
251
+ runCommandSignature('reliability-remediation', 'node scripts/incident-remediation.mjs', { forwardAllArgs: false }),
252
+ runCommandSignature('reliability-report', 'node scripts/reliability-report.mjs', { forwardAllArgs: false }),
253
+ runCommandSignature('reliability-verify', 'node scripts/verify-reliability.mjs', { forwardAllArgs: false }),
254
+ runCommandSignature('release-artifacts', 'node --experimental-strip-types scripts/release-artifacts.mjs', { forwardAllArgs: false }),
255
+ runCommandSignature('release-candidate', 'node --experimental-strip-types scripts/release-candidate.mjs', { dependsOn: ['release-artifacts'], forwardAllArgs: false }),
256
+ runCommandSignature('release-lifecycle', 'node --experimental-strip-types scripts/release-lifecycle.mjs', { forwardAllArgs: false }),
257
+ runCommandSignature('release-manifest', 'node --experimental-strip-types scripts/release-manifest.mjs', { forwardAllArgs: false }),
258
+ runCommandSignature('release-rollout', 'node --experimental-strip-types scripts/release-rollout.mjs', { forwardAllArgs: false }),
259
+ runCommandSignature('secret-personal-down', 'node --experimental-strip-types scripts/remove-personal-secrets.mjs', { forwardAllArgs: false }),
260
+ runCommandSignature('smoke-deployed', 'node scripts/run-smoke-deployed.mjs', {
261
+ forwardAllArgs: false,
262
+ }),
263
+ runCommandSignature('smoke-deployed-check', 'playwright test --list'),
264
+ runCommandSignature('test', 'vitest run'),
265
+ runCommandSignature('test', 'vitest run', {
266
+ dependsOn: ['^build'],
267
+ }),
268
+ runCommandSignature('test-integration', 'node scripts/run-integration-tests.mjs', { forwardAllArgs: false }),
269
+ runCommandSignature('typecheck', 'tsc --noEmit -p tsconfig.json'),
270
+ runCommandSignature('typecheck', 'tsc --noEmit -p tsconfig.json', {
271
+ dependsOn: ['^build'],
272
+ }),
273
+ runCommandSignature('verify', 'node scripts/verify-slice.mjs', {
274
+ dependsOn: sliceVerifyDependencies,
275
+ }),
276
+ runCommandSignature('verify', 'node scripts/verify-foundation.mjs', {
277
+ dependsOn: ['lint', 'typecheck'],
278
+ }),
279
+ runCommandSignature('install-git-hooks', 'node tools/install-ebk-hooks.mjs', {
280
+ workspaceRoot: true,
281
+ }),
282
+ runCommandSignature('supply-chain-scan', 'node tools/supply-chain-scan.mjs --output=.ebk/evidence/supply-chain/scanner-input.json', { workspaceRoot: true }),
283
+ runCommandSignature('supply-chain-check', 'node tools/supply-chain-check.mjs --scanner=supply-chain/structural-scanner-input.json --output=.ebk/evidence/supply-chain/check.json', { workspaceRoot: true }),
284
+ runCommandSignature('supply-chain-check-protected', 'node tools/supply-chain-check.mjs --protected --scanner=.ebk/evidence/supply-chain/scanner-input.json --output=.ebk/evidence/supply-chain/check.json', {
285
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
286
+ workspaceRoot: true,
287
+ }),
288
+ runCommandSignature('workload-role-candidate-report', 'node tools/workload-role-baseline/report-candidate-bundle.mjs', { forwardAllArgs: true, workspaceRoot: true }),
289
+ runCommandSignature('workload-role-provisioner-build', 'node tools/workload-role-baseline/build.mjs', { workspaceRoot: true }),
290
+ runCommandSignature('verify', 'node tools/workspace-health.mjs', {
291
+ dependsOn: ['blueprint-trust-check', 'supply-chain-check'],
292
+ workspaceRoot: true,
293
+ }),
294
+ runCommandSignature('workspace-health', 'node tools/workspace-health.mjs', {
295
+ workspaceRoot: true,
296
+ }),
297
+ runScriptSignature('build', (input) => input.project.tags.includes('scope:workspace')
298
+ ? `nx run-many -t build --exclude=${input.project.name}`
299
+ : input.project.root.includes('/services/') ||
300
+ input.project.root.includes('/jobs/')
301
+ ? 'tsc -p tsconfig.json'
302
+ : undefined, { dependsOn: ['^build'] }),
303
+ runScriptSignature('docker-build', (input) => {
304
+ const match = /^packages\/([^/]+)\/(services|jobs)\/([^/]+)$/u.exec(input.project.root);
305
+ if (!match)
306
+ return undefined;
307
+ const [, slice, plural, workload] = match;
308
+ const kind = plural === 'services' ? 'service' : 'job';
309
+ return (`docker build -f packages/${slice}/${plural}/${workload}/Dockerfile ` +
310
+ `-t ${slice}-${kind}-${workload}:local ../../../..`);
311
+ }, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
312
+ runScriptSignature('dev', (input) => input.project.root.includes('/services/')
313
+ ? 'node --experimental-strip-types src/main.ts'
314
+ : input.project.root.includes('/jobs/')
315
+ ? 'node --experimental-strip-types src/run.ts'
316
+ : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
317
+ runScriptSignature('format', (input) => input.project.tags.includes('scope:workspace')
318
+ ? 'nx format:write'
319
+ : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
320
+ runScriptSignature('format:check', (input) => input.project.tags.includes('scope:workspace')
321
+ ? 'nx format:check'
322
+ : undefined),
323
+ runScriptSignature('graph', (input) => input.project.tags.includes('scope:workspace') ? 'nx graph' : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
324
+ runScriptSignature('health', (input) => input.project.tags.includes('scope:workspace')
325
+ ? `nx run ${input.project.name}:workspace-health`
326
+ : undefined),
327
+ runScriptSignature('lint', (input) => input.project.tags.includes('scope:workspace')
328
+ ? `nx run-many -t lint --exclude=${input.project.name}`
329
+ : input.project.root.includes('/services/') ||
330
+ input.project.root.includes('/jobs/')
331
+ ? 'eslint .'
332
+ : undefined),
333
+ runScriptSignature('test', (input) => input.project.tags.includes('scope:workspace')
334
+ ? `nx run-many -t test --exclude=${input.project.name}`
335
+ : input.project.root.includes('/services/') ||
336
+ input.project.root.includes('/jobs/')
337
+ ? 'vitest run'
338
+ : undefined, { dependsOn: ['^build'] }),
339
+ runScriptSignature('typecheck', (input) => input.project.tags.includes('scope:workspace')
340
+ ? `nx run-many -t typecheck --exclude=${input.project.name}`
341
+ : input.project.root.includes('/services/') ||
342
+ input.project.root.includes('/jobs/')
343
+ ? 'tsc --noEmit -p tsconfig.json'
344
+ : undefined, { dependsOn: ['^build'] }),
345
+ runScriptSignature('verify', (input) => input.project.root.includes('/services/') ||
346
+ input.project.root.includes('/jobs/')
347
+ ? 'pnpm run lint && pnpm run typecheck && pnpm test && pnpm run build'
348
+ : undefined),
349
+ executorSignature('deployment-plan', '@empire-builder-kit/nx:deployment-plan', exactOptions(() => ({ action: 'deploy', stage: 'staging' }))),
350
+ executorSignature('dev', '@empire-builder-kit/nx:fleet', exactOptions(() => ({})), undefined, {
351
+ continuous: true,
352
+ nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE,
353
+ }),
354
+ executorSignature('developer-context', '@empire-builder-kit/nx:developer-context', exactOptions(() => ({}))),
355
+ executorSignature('dev-doctor', '@empire-builder-kit/nx:dev-doctor', exactOptions(() => ({}))),
356
+ executorSignature('dev-setup', '@empire-builder-kit/nx:dev-setup', exactOptions(() => ({}))),
357
+ executorSignature('github-bootstrap', '@empire-builder-kit/nx:github-bootstrap', exactOptions(() => ({}))),
358
+ executorSignature('work-markers', '@empire-builder-kit/nx:work-markers', exactOptions(() => ({}))),
359
+ executorSignature('secret-guardrails', '@empire-builder-kit/nx:secret-guardrails', exactOptions(() => ({}))),
360
+ executorSignature('secret-metadata', '@empire-builder-kit/nx:secret-metadata', exactOptions(() => ({ stage: 'development' }))),
361
+ executorSignature('dev-cleanup', 'nx:noop', exactOptions(() => ({})), ['db-local-down', 'secret-personal-down']),
362
+ executorSignature('dev', '@empire-builder-kit/nx:dev', exactOptions((input) => ({
363
+ cwd: input.project.root,
364
+ stageMode: 'consumer',
365
+ })), [
366
+ 'dev-prerequisite',
367
+ 'db-local-migrate',
368
+ { params: 'forward', target: 'foundation-preflight' },
369
+ ]),
370
+ executorSignature('deploy-infrastructure', '@empire-builder-kit/nx:deploy', exactOptions((input) => ({
371
+ cwd: input.project.root,
372
+ stage: 'development',
373
+ stageMode: 'consumer',
374
+ })), ['verify', { params: 'forward', target: 'foundation-ready' }]),
375
+ executorSignature('deploy', '@empire-builder-kit/nx:deploy', exactOptions((input) => ({
376
+ cwd: input.project.root,
377
+ stage: 'development',
378
+ stageMode: 'foundation',
379
+ })), ['verify', { params: 'forward', target: 'profile-preflight' }]),
380
+ executorSignature('infrastructure-plan', '@empire-builder-kit/nx:infrastructure-plan', exactOptions((input) => ({
381
+ action: 'deploy',
382
+ cwd: input.project.root,
383
+ stage: 'development',
384
+ stageMode: 'consumer',
385
+ }))),
386
+ executorSignature('infrastructure-plan', '@empire-builder-kit/nx:infrastructure-plan', exactOptions((input) => ({
387
+ action: 'deploy',
388
+ cwd: input.project.root,
389
+ stage: 'development',
390
+ stageMode: 'foundation',
391
+ }))),
392
+ ...['refresh', 'remove', 'unlock'].flatMap((targetName) => [
393
+ executorSignature(targetName, `@empire-builder-kit/nx:${targetName}`, exactOptions((input) => ({
394
+ cwd: input.project.root,
395
+ stage: 'development',
396
+ stageMode: 'consumer',
397
+ }))),
398
+ executorSignature(targetName, `@empire-builder-kit/nx:${targetName}`, exactOptions((input) => ({
399
+ cwd: input.project.root,
400
+ stage: 'development',
401
+ stageMode: 'foundation',
402
+ })), targetName === 'refresh'
403
+ ? [{ params: 'forward', target: 'profile-preflight' }]
404
+ : targetName === 'remove'
405
+ ? [{ params: 'forward', target: 'remove-preflight' }]
406
+ : undefined),
407
+ ]),
408
+ executorSignature('foundation-preflight', '@empire-builder-kit/nx:foundation-preflight', (input, options) => options['stage'] === 'development' &&
409
+ Array.isArray(options['capabilities']) &&
410
+ options['capabilities'].every((capability) => typeof capability === 'string') &&
411
+ typeof options['contract'] === 'string' &&
412
+ Object.keys(options).sort().join(',') === 'capabilities,contract,stage' &&
413
+ input.project.root.length > 0),
414
+ executorSignature('foundation-ready', '@empire-builder-kit/nx:foundation-preflight', (_input, options) => options['stage'] === 'development' &&
415
+ options['deployIfMissing'] === true &&
416
+ options['foundationProject'] === 'foundation' &&
417
+ Array.isArray(options['capabilities']) &&
418
+ options['capabilities'].every((capability) => typeof capability === 'string') &&
419
+ typeof options['contract'] === 'string' &&
420
+ Object.keys(options).sort().join(',') ===
421
+ 'capabilities,contract,deployIfMissing,foundationProject,stage', [{ params: 'ignore', projects: ['foundation'], target: 'verify' }]),
422
+ executorSignature('profile-preflight', '@empire-builder-kit/nx:foundation-profile-preflight', exactOptions(() => ({ stage: 'development' }))),
423
+ executorSignature('remove-preflight', '@empire-builder-kit/nx:foundation-remove-preflight', exactOptions(() => ({ stage: 'development' }))),
424
+ ];
425
+ /**
426
+ * Rules are deliberately ordered from highest/conservative authority to
427
+ * lowest. A target that is not explicitly recognized is omitted and reported
428
+ * as unsupported; it never inherits read-only or local-source authority.
429
+ * Authority describes the target's reviewed effects, not a code sandbox.
430
+ * Targets that load seeded or adopter-owned executable configuration belong in
431
+ * local-source even when their command is observational by convention.
432
+ */
433
+ const TARGET_RULES = [
434
+ {
435
+ approvalRequired: true,
436
+ authority: 'destructive',
437
+ contractClasses: ['database', 'data', 'infrastructure'],
438
+ documentationPaths: [
439
+ 'AGENTS.md',
440
+ 'docs/architecture.md',
441
+ 'docs/developer-agent.md',
442
+ ],
443
+ evidenceClasses: ['recovery-proof', 'protected-promotion-proof'],
444
+ matches: exact('remove', 'unlock', 'db-migrate', 'db-retirement-rehearsal', 'data-restore-reconcile', 'data-retention'),
445
+ requiredVerification: ['verify', 'protected-proof'],
446
+ },
447
+ {
448
+ approvalRequired: true,
449
+ authority: 'protected-mutate',
450
+ contractClasses: [
451
+ 'async',
452
+ 'configuration',
453
+ 'data',
454
+ 'infrastructure',
455
+ 'reliability',
456
+ 'release',
457
+ ],
458
+ documentationPaths: [
459
+ 'AGENTS.md',
460
+ 'docs/git-workflow.md',
461
+ 'docs/developer-agent.md',
462
+ ],
463
+ evidenceClasses: ['protected-promotion-proof'],
464
+ matches: (targetName) => exact('async-backfill', 'async-provider-reconcile', 'async-workflow-recover', 'deploy', 'deploy-infrastructure', 'foundation-ready', 'refresh', 'release-lifecycle', 'release-rollout', 'reliability-remediation')(targetName) ||
465
+ (suffix('-reconcile')(targetName) &&
466
+ !suffix('-report', '-status')(targetName)),
467
+ requiredVerification: ['verify', 'protected-proof'],
468
+ },
469
+ {
470
+ approvalRequired: true,
471
+ authority: 'protected-propose',
472
+ contractClasses: [
473
+ 'configuration',
474
+ 'infrastructure',
475
+ 'reliability',
476
+ 'performance',
477
+ ],
478
+ documentationPaths: [
479
+ 'AGENTS.md',
480
+ 'docs/git-workflow.md',
481
+ 'docs/developer-agent.md',
482
+ ],
483
+ evidenceClasses: ['protected-promotion-proof'],
484
+ matches: (targetName) => exact('deployment-plan', 'github-bootstrap', 'infrastructure-plan', 'infrastructure-drift', 'ecr-inspector-collect', 'performance-cost-collect', 'reliability-deployed-verify', 'reliability-diagnostic', 'reliability-exercise-collect', 'secret-metadata', 'smoke-deployed')(targetName),
485
+ requiredVerification: ['source', 'protected-proof'],
486
+ },
487
+ {
488
+ applicableStages: ['development'],
489
+ approvalRequired: true,
490
+ authority: 'development-mutate',
491
+ contractClasses: ['database'],
492
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
493
+ evidenceClasses: ['local-integration'],
494
+ matches: exact('test-integration'),
495
+ requiredVerification: ['local-integration'],
496
+ },
497
+ {
498
+ approvalRequired: true,
499
+ authority: 'development-mutate',
500
+ contractClasses: ['database', 'infrastructure'],
501
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
502
+ evidenceClasses: ['local-integration'],
503
+ matches: exact('dev', 'dev-cleanup', 'dev-setup', 'db-local-down', 'db-local-migrate', 'db-local-up', 'secret-personal-down'),
504
+ requiredVerification: ['local-integration'],
505
+ },
506
+ {
507
+ approvalRequired: false,
508
+ authority: 'local-source',
509
+ contractClasses: [
510
+ 'configuration',
511
+ 'frontend',
512
+ 'release',
513
+ 'synchronous',
514
+ 'supply-chain',
515
+ ],
516
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
517
+ evidenceClasses: ['source'],
518
+ matches: (targetName) => exact('api-contract-baseline', 'api-contract-generate', 'authorization-check', 'build', 'configuration-expected', 'contract-dependencies-sync', 'db-generate', 'ecr-scan-applicability', 'format:check', 'frontend-visual', 'frontend-visual-update', 'install-git-hooks', 'performance-tag-coverage', 'performance-unit-cost', 'release-artifacts', 'release-candidate', 'release-manifest', 'smoke-deployed-check', 'supply-chain-scan', 'test', 'typecheck', 'verify', 'workload-role-provisioner-build')(targetName),
519
+ requiredVerification: ['source'],
520
+ },
521
+ {
522
+ approvalRequired: false,
523
+ authority: 'local-source',
524
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
525
+ evidenceClasses: ['source'],
526
+ matches: (targetName) => suffix('-check', '-report', '-verify')(targetName) ||
527
+ exact('lint')(targetName),
528
+ requiredVerification: ['source'],
529
+ },
530
+ {
531
+ approvalRequired: false,
532
+ authority: 'read-only',
533
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
534
+ evidenceClasses: ['source'],
535
+ matches: (targetName) => exact('blueprint-trust-check', 'developer-context', 'dev-doctor', 'dev-prerequisite', 'foundation-preflight', 'frontend-boundaries', 'health', 'performance-budget', 'performance-evidence-evaluate', 'performance-ready', 'profile-preflight', 'remove-preflight', 'secret-guardrails', 'workspace-health', 'work-markers', 'workload-role-candidate-report')(targetName) || suffix('-inventory', '-status')(targetName),
536
+ requiredVerification: ['source'],
537
+ },
538
+ ];
539
+ /**
540
+ * Static invocable operations contain complete argv only. Source edits use a
541
+ * commandless, project-scoped identity. Stable generators use commandless
542
+ * typed templates that planning binds to exact normalized argv. Mutable dev
543
+ * configuration and human-only secret set/remove stay with their direct owner.
544
+ */
545
+ function localDevOperations(projects, externalOwnedProjectNames) {
546
+ const sliceNames = projects
547
+ .map(({ context }) => context)
548
+ .filter(({ tags }) => tags.includes('type:slice'))
549
+ .map(({ name }) => name)
550
+ .sort();
551
+ const readOnly = (id, args, selectedProjects = []) => ({
552
+ applicableStages: ['development'],
553
+ approvalRequired: false,
554
+ authority: 'read-only',
555
+ command: { args, executable: 'ebk' },
556
+ contracts: [],
557
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
558
+ evidenceClasses: ['local-integration'],
559
+ id,
560
+ owner: 'ebk-reconciler',
561
+ projects: selectedProjects,
562
+ requiredVerification: ['source'],
563
+ });
564
+ const lifecycle = (command, slice) => ({
565
+ applicableStages: ['development'],
566
+ approvalRequired: true,
567
+ authority: 'development-mutate',
568
+ command: {
569
+ args: ['dev', command, slice, '--no-wait', '--json'],
570
+ executable: 'ebk',
571
+ },
572
+ contracts: [
573
+ { class: 'database', reference: `${slice}:database` },
574
+ { class: 'infrastructure', reference: `${slice}:infrastructure` },
575
+ ],
576
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
577
+ evidenceClasses: ['local-integration'],
578
+ id: `ebk-dev:${command}:${slice}`,
579
+ owner: 'ebk-reconciler',
580
+ policyLifecycleAction: 'dev',
581
+ projects: [slice],
582
+ requiredVerification: ['ebk-dev:doctor'],
583
+ });
584
+ return [
585
+ readOnly('ebk-dev:configure-show', [
586
+ 'dev',
587
+ 'configure',
588
+ '--show',
589
+ '--json',
590
+ ]),
591
+ readOnly('ebk-dev:doctor', ['dev', 'doctor', '--json']),
592
+ readOnly('ebk-dev:ps', ['dev', 'ps', '--json']),
593
+ readOnly('ebk-dev:status', ['dev', 'status', '--json']),
594
+ ...sliceNames.flatMap((slice) => [
595
+ readOnly(`ebk-dev:logs:${slice}`, ['dev', 'logs', slice, '--limit=200', '--json'], [slice]),
596
+ ...(externalOwnedProjectNames.has(slice)
597
+ ? []
598
+ : [
599
+ lifecycle('up', slice),
600
+ lifecycle('restart', slice),
601
+ lifecycle('down', slice),
602
+ ]),
603
+ ]),
604
+ ];
605
+ }
606
+ function packageManagerOperations(workspaceVerification) {
607
+ return [
608
+ {
609
+ applicableStages: ALL_CANONICAL_STAGES,
610
+ approvalRequired: false,
611
+ authority: 'local-source',
612
+ command: {
613
+ args: ['install', '--frozen-lockfile'],
614
+ executable: 'pnpm',
615
+ },
616
+ contracts: [],
617
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
618
+ evidenceClasses: ['source'],
619
+ id: 'package-manager:install-frozen',
620
+ owner: 'package-manager',
621
+ projects: [],
622
+ requiredVerification: [workspaceVerification],
623
+ },
624
+ ];
625
+ }
626
+ function generatorOperations(workspaceVerification) {
627
+ const operation = (generator, mode) => ({
628
+ applicableStages: ALL_CANONICAL_STAGES,
629
+ approvalRequired: false,
630
+ authority: 'local-source',
631
+ contracts: [],
632
+ documentationPaths: [
633
+ 'AGENTS.md',
634
+ 'docs/developer-agent.md',
635
+ 'docs/architecture.md',
636
+ ],
637
+ evidenceClasses: ['source'],
638
+ generator: { generator, mode },
639
+ id: `generator:${generator}:${mode}`,
640
+ owner: 'nx-generator',
641
+ projects: [],
642
+ requiredVerification: [workspaceVerification],
643
+ });
644
+ return model_js_1.DEVELOPER_AGENT_STABLE_GENERATORS.flatMap((generator) => [
645
+ operation(generator, 'preview'),
646
+ operation(generator, 'apply'),
647
+ ]);
648
+ }
649
+ function contractsForRule(rule, project) {
650
+ return (rule.contractClasses ?? []).map((contractClass) => ({
651
+ class: contractClass,
652
+ reference: `${project.name}:${contractClass}`,
653
+ }));
654
+ }
655
+ function authenticatedTargetSignature(input) {
656
+ const configurations = input.target.configurations;
657
+ if (input.namedInputRuntimeDetected ||
658
+ (configurations !== undefined &&
659
+ (configurations === null ||
660
+ typeof configurations !== 'object' ||
661
+ Array.isArray(configurations) ||
662
+ Object.keys(configurations).length > 0)) ||
663
+ input.target.defaultConfiguration !== undefined ||
664
+ (input.target.syncGenerators !== undefined &&
665
+ (!Array.isArray(input.target.syncGenerators) ||
666
+ input.target.syncGenerators.length > 0)) ||
667
+ (input.target.inputs !== undefined &&
668
+ (!Array.isArray(input.target.inputs) ||
669
+ containsRuntimeInput(input.target.inputs))) ||
670
+ !hasAuthenticatedCacheContract(input) ||
671
+ (input.target.parallelism !== undefined &&
672
+ input.target.parallelism !== true)) {
673
+ return undefined;
674
+ }
675
+ const options = input.target.options ?? {};
676
+ if (typeof options !== 'object' ||
677
+ options === null ||
678
+ Array.isArray(options)) {
679
+ return undefined;
680
+ }
681
+ return TARGET_SIGNATURES.find((signature) => {
682
+ const continuousMatches = signature.continuous
683
+ ? input.target.continuous === true
684
+ : input.target.continuous === undefined ||
685
+ input.target.continuous === false;
686
+ const metadataMatches = signature.metadataMatch
687
+ ? signature.metadataMatch(input, input.target.metadata)
688
+ : input.target.metadata === undefined;
689
+ return (continuousMatches &&
690
+ metadataMatches &&
691
+ signature.targetName === input.targetName &&
692
+ signature.executor === input.target.executor &&
693
+ signature.optionsMatch(input, options) &&
694
+ (0, node_util_1.isDeepStrictEqual)(input.target.dependsOn ?? [], signature.dependsOn?.(input) ?? []));
695
+ });
696
+ }
697
+ const CACHEABLE_TARGET_INPUTS = new Map([
698
+ ['build', ['production', '^production']],
699
+ ['lint', ['default', '^production']],
700
+ ['test', ['default', '^production']],
701
+ ['typecheck', ['default', '^production']],
702
+ ]);
703
+ function hasAuthenticatedCacheContract(input) {
704
+ const cache = input.target.cache;
705
+ if (cache === undefined || cache === false)
706
+ return true;
707
+ if (cache !== true)
708
+ return false;
709
+ const expectedInputs = CACHEABLE_TARGET_INPUTS.get(input.targetName);
710
+ if (expectedInputs === undefined ||
711
+ !(0, node_util_1.isDeepStrictEqual)(input.target.inputs, expectedInputs)) {
712
+ return false;
713
+ }
714
+ if (input.targetName !== 'build')
715
+ return input.target.outputs === undefined;
716
+ return input.target.executor === 'nx:run-script'
717
+ ? input.target.outputs === undefined
718
+ : (0, node_util_1.isDeepStrictEqual)(input.target.outputs, ['{projectRoot}/web/.next']);
719
+ }
720
+ function containsRuntimeInput(value) {
721
+ if (Array.isArray(value))
722
+ return value.some(containsRuntimeInput);
723
+ if (!value || typeof value !== 'object')
724
+ return false;
725
+ if ('runtime' in value)
726
+ return true;
727
+ return Object.values(value).some(containsRuntimeInput);
728
+ }
729
+ function reviewedExternalTargetIsSafe(input) {
730
+ try {
731
+ (0, blueprint_trust_js_1.assertBlueprintVerificationTargetAgentSafe)(input.targetName, input.target, input.project.root);
732
+ }
733
+ catch {
734
+ return false;
735
+ }
736
+ const signature = authenticatedTargetSignature(input);
737
+ if (signature?.nonPlannableRationale !== undefined)
738
+ return false;
739
+ const rule = TARGET_RULES.find(({ matches }) => matches(input.targetName));
740
+ return (!operationLooksMutating(input.targetName) &&
741
+ (rule === undefined ||
742
+ rule.authority === 'local-source' ||
743
+ rule.authority === 'read-only'));
744
+ }
745
+ function reviewedExternalDependencies(input) {
746
+ try {
747
+ return [
748
+ ...(0, blueprint_trust_js_1.blueprintVerificationTargetDependencies)(input.targetName, input.target, input.project.root),
749
+ ];
750
+ }
751
+ catch {
752
+ return undefined;
753
+ }
754
+ }
755
+ function dependencyTargets(input, dependsOn, availableProjects, availableTargets) {
756
+ const targets = [];
757
+ for (const dependency of dependsOn) {
758
+ if (typeof dependency === 'string') {
759
+ if (dependency.startsWith('^')) {
760
+ const targetName = dependency.slice(1);
761
+ if (targetName.length === 0)
762
+ return undefined;
763
+ for (const projectName of input.project.dependencies) {
764
+ // Nx skips a ^target for dependency projects that do not define it.
765
+ // Requiring the dependency project in the inspected selection first
766
+ // distinguishes that legitimate absence from an omitted graph node.
767
+ if (availableProjects !== undefined &&
768
+ !availableProjects.has(projectName)) {
769
+ return undefined;
770
+ }
771
+ const id = `${projectName}:${targetName}`;
772
+ if (availableTargets === undefined || availableTargets.has(id)) {
773
+ targets.push({ id, params: 'ignore' });
774
+ }
775
+ }
776
+ }
777
+ else {
778
+ targets.push({
779
+ id: `${input.project.name}:${dependency}`,
780
+ params: 'ignore',
781
+ });
782
+ }
783
+ continue;
784
+ }
785
+ if (!dependency ||
786
+ typeof dependency !== 'object' ||
787
+ typeof dependency.target !== 'string') {
788
+ return undefined;
789
+ }
790
+ if (Array.isArray(dependency.projects)) {
791
+ if (dependency.projects.length === 0 ||
792
+ dependency.projects.some((projectName) => typeof projectName !== 'string')) {
793
+ return undefined;
794
+ }
795
+ targets.push(...dependency.projects.map((projectName) => ({
796
+ id: `${projectName}:${dependency.target}`,
797
+ params: dependency.params === 'forward' ? 'forward' : 'ignore',
798
+ })));
799
+ continue;
800
+ }
801
+ if (dependency.dependencies === true) {
802
+ for (const projectName of input.project.dependencies) {
803
+ if (availableProjects !== undefined &&
804
+ !availableProjects.has(projectName)) {
805
+ return undefined;
806
+ }
807
+ const id = `${projectName}:${dependency.target}`;
808
+ if (availableTargets === undefined || availableTargets.has(id)) {
809
+ targets.push({
810
+ id,
811
+ params: dependency.params === 'forward' ? 'forward' : 'ignore',
812
+ });
813
+ }
814
+ }
815
+ continue;
816
+ }
817
+ targets.push({
818
+ id: `${input.project.name}:${dependency.target}`,
819
+ params: dependency.params === 'forward' ? 'forward' : 'ignore',
820
+ });
821
+ }
822
+ return targets;
823
+ }
824
+ function configuredCanonicalStage(input) {
825
+ const stage = input.target.options &&
826
+ typeof input.target.options === 'object' &&
827
+ input.target.options['stage'];
828
+ return stage === 'development' ||
829
+ stage === 'staging' ||
830
+ stage === 'production'
831
+ ? stage
832
+ : undefined;
833
+ }
834
+ function operationForTarget(input, forwardedStage, reviewedExternal = false) {
835
+ if (reviewedExternal) {
836
+ return {
837
+ applicableStages: ALL_CANONICAL_STAGES,
838
+ approvalRequired: false,
839
+ authority: 'local-source',
840
+ command: {
841
+ args: ['nx', 'run', `${input.project.name}:${input.targetName}`],
842
+ executable: 'pnpm',
843
+ },
844
+ contracts: [
845
+ {
846
+ class: 'supply-chain',
847
+ reference: `${input.project.name}:external-blueprint-verification`,
848
+ },
849
+ ],
850
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
851
+ evidenceClasses: ['source'],
852
+ id: `target:${input.project.name}:${input.targetName}`,
853
+ owner: 'nx-target',
854
+ projects: [input.project.name],
855
+ requiredVerification: ['source'],
856
+ };
857
+ }
858
+ const rule = TARGET_RULES.find(({ matches }) => matches(input.targetName));
859
+ if (!rule || !authenticatedTargetSignature(input))
860
+ return undefined;
861
+ const configuredStage = configuredCanonicalStage(input);
862
+ const effectiveStage = forwardedStage ?? configuredStage;
863
+ const policyLifecycleAction = policyLifecycleActionForTarget(input.targetName);
864
+ const developmentLifecycle = effectiveStage === 'development' &&
865
+ policyLifecycleAction !== undefined &&
866
+ (rule.authority === 'protected-mutate' || rule.authority === 'destructive');
867
+ const authority = developmentLifecycle
868
+ ? 'development-mutate'
869
+ : rule.authority;
870
+ if (effectiveStage !== undefined &&
871
+ rule.applicableStages !== undefined &&
872
+ !rule.applicableStages.includes(effectiveStage)) {
873
+ return undefined;
874
+ }
875
+ if ((effectiveStage === 'staging' || effectiveStage === 'production') &&
876
+ authority === 'development-mutate') {
877
+ return undefined;
878
+ }
879
+ const applicableStages = effectiveStage !== undefined
880
+ ? [effectiveStage]
881
+ : rule.applicableStages
882
+ ? rule.applicableStages
883
+ : authority === 'development-mutate'
884
+ ? ['development']
885
+ : authority === 'protected-mutate' || authority === 'destructive'
886
+ ? PROTECTED_CANONICAL_STAGES
887
+ : ALL_CANONICAL_STAGES;
888
+ return {
889
+ applicableStages,
890
+ approvalRequired: developmentLifecycle ? true : rule.approvalRequired,
891
+ authority,
892
+ ...(authority === 'protected-mutate' || authority === 'destructive'
893
+ ? {}
894
+ : {
895
+ command: {
896
+ args: ['nx', 'run', `${input.project.name}:${input.targetName}`],
897
+ executable: 'pnpm',
898
+ },
899
+ }),
900
+ contracts: contractsForRule(rule, input.project),
901
+ documentationPaths: [...rule.documentationPaths],
902
+ evidenceClasses: [...rule.evidenceClasses],
903
+ id: `target:${input.project.name}:${input.targetName}`,
904
+ owner: input.target.executor?.startsWith('@empire-builder-kit/nx:') === true
905
+ ? 'ebk-reconciler'
906
+ : 'nx-target',
907
+ ...(policyLifecycleAction ? { policyLifecycleAction } : {}),
908
+ projects: [input.project.name],
909
+ requiredVerification: [...rule.requiredVerification],
910
+ };
911
+ }
912
+ /**
913
+ * Authority classes are not a severity list. In particular, development
914
+ * mutation plus protected proposal crosses authority domains and therefore
915
+ * requires protected mutation authority. Keep the join explicit so a newly
916
+ * added class or unmodeled pair fails closed instead of inheriting an ordinal.
917
+ */
918
+ function joinDeveloperAgentAuthorityClasses(left, right) {
919
+ if (left === right)
920
+ return left;
921
+ if (left === 'destructive' || right === 'destructive')
922
+ return 'destructive';
923
+ if (left === 'protected-mutate' || right === 'protected-mutate') {
924
+ return 'protected-mutate';
925
+ }
926
+ if (left === 'read-only')
927
+ return right;
928
+ if (right === 'read-only')
929
+ return left;
930
+ if ((left === 'local-source' && right === 'development-mutate') ||
931
+ (right === 'local-source' && left === 'development-mutate')) {
932
+ return 'development-mutate';
933
+ }
934
+ if ((left === 'local-source' && right === 'protected-propose') ||
935
+ (right === 'local-source' && left === 'protected-propose')) {
936
+ return 'protected-propose';
937
+ }
938
+ if ((left === 'development-mutate' && right === 'protected-propose') ||
939
+ (right === 'development-mutate' && left === 'protected-propose')) {
940
+ return 'protected-mutate';
941
+ }
942
+ return undefined;
943
+ }
944
+ function intersectApplicableStages(members) {
945
+ return ALL_CANONICAL_STAGES.filter((stage) => members.every(({ applicableStages }) => applicableStages.includes(stage)));
946
+ }
947
+ function composeTargetOperation(operation, dependencies) {
948
+ const members = [operation, ...dependencies];
949
+ let authority = operation.authority;
950
+ for (const candidate of dependencies) {
951
+ authority =
952
+ authority === undefined
953
+ ? undefined
954
+ : joinDeveloperAgentAuthorityClasses(authority, candidate.authority);
955
+ }
956
+ const applicableStages = intersectApplicableStages(members);
957
+ if (authority === undefined || applicableStages.length === 0) {
958
+ return undefined;
959
+ }
960
+ const contracts = new Map();
961
+ for (const contract of members.flatMap((candidate) => candidate.contracts)) {
962
+ contracts.set(`${contract.class}\u0000${contract.reference}`, contract);
963
+ }
964
+ const commandAllowed = authority !== 'protected-mutate' && authority !== 'destructive';
965
+ const { command: owningCommand, ...operationWithoutCommand } = operation;
966
+ return {
967
+ ...operationWithoutCommand,
968
+ applicableStages,
969
+ approvalRequired: members.some((candidate) => candidate.approvalRequired),
970
+ authority,
971
+ ...(commandAllowed && owningCommand ? { command: owningCommand } : {}),
972
+ contracts: [...contracts.values()].sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.class, right.class) ||
973
+ (0, ordering_js_1.compareDeveloperAgentStrings)(left.reference, right.reference)),
974
+ documentationPaths: [
975
+ ...new Set(members.flatMap((candidate) => candidate.documentationPaths)),
976
+ ].sort(),
977
+ evidenceClasses: [
978
+ ...new Set(members.flatMap((candidate) => candidate.evidenceClasses)),
979
+ ].sort(),
980
+ projects: [
981
+ ...new Set(members.flatMap((candidate) => candidate.projects)),
982
+ ].sort(),
983
+ requiredVerification: [
984
+ ...new Set(members.flatMap((candidate) => candidate.requiredVerification)),
985
+ ].sort(),
986
+ };
987
+ }
988
+ function sourceEditOperations(projects, authenticatedTargets, workspaceVerification) {
989
+ return projects.flatMap(({ context }) => {
990
+ const projectVerification = `${context.name}:verify`;
991
+ const requiredVerification = context.targets.includes('verify')
992
+ ? authenticatedTargets.has(projectVerification)
993
+ ? projectVerification
994
+ : undefined
995
+ : workspaceVerification;
996
+ if (!requiredVerification)
997
+ return [];
998
+ return [
999
+ {
1000
+ applicableStages: ALL_CANONICAL_STAGES,
1001
+ approvalRequired: false,
1002
+ authority: 'local-source',
1003
+ contracts: [],
1004
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
1005
+ evidenceClasses: ['source'],
1006
+ id: `source-edit:${context.name}`,
1007
+ owner: 'source-edit',
1008
+ projects: [context.name],
1009
+ requiredVerification: [requiredVerification],
1010
+ },
1011
+ ];
1012
+ });
1013
+ }
1014
+ function createDeveloperAgentOperationRegistry(projects, options) {
1015
+ const namedInputRuntimeDetected = options.namedInputDefinitions.some(containsRuntimeInput);
1016
+ const exposedProjectNames = new Set(options.exposedProjectNames ?? projects.map(({ context }) => context.name));
1017
+ const externalOwnedProjectNames = new Set(options.externalOwnedProjectNames);
1018
+ const exposedProjects = projects.filter(({ context }) => exposedProjectNames.has(context.name));
1019
+ const operations = [
1020
+ ...localDevOperations(exposedProjects, externalOwnedProjectNames),
1021
+ ];
1022
+ const nonPlannableTargets = [];
1023
+ const unsupportedTargets = [];
1024
+ const orderedProjects = [...projects].sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.context.name, right.context.name));
1025
+ const targetInputs = new Map();
1026
+ for (const project of orderedProjects) {
1027
+ for (const [targetName, target] of Object.entries(project.targets)) {
1028
+ targetInputs.set(`${project.context.name}:${targetName}`, {
1029
+ namedInputRuntimeDetected,
1030
+ project: project.context,
1031
+ target,
1032
+ targetName,
1033
+ });
1034
+ }
1035
+ }
1036
+ const availableProjects = new Set(orderedProjects.map(({ context }) => context.name));
1037
+ const availableTargets = new Set(targetInputs.keys());
1038
+ const reviewedExternalTargets = new Set();
1039
+ for (const review of options.reviewedExternalVerification ?? []) {
1040
+ if (!externalOwnedProjectNames.has(review.project))
1041
+ continue;
1042
+ const project = orderedProjects.find(({ context }) => context.name === review.project);
1043
+ if (!project)
1044
+ continue;
1045
+ let actual;
1046
+ try {
1047
+ actual = (0, blueprint_trust_js_1.blueprintVerificationTargetClosure)({
1048
+ projectRoot: project.context.root,
1049
+ roots: review.roots,
1050
+ targets: project.targets,
1051
+ });
1052
+ }
1053
+ catch {
1054
+ continue;
1055
+ }
1056
+ if (!(0, node_util_1.isDeepStrictEqual)(actual, review.verificationTargets) ||
1057
+ actual.some(({ name }) => {
1058
+ const input = targetInputs.get(`${review.project}:${name}`);
1059
+ return input === undefined || !reviewedExternalTargetIsSafe(input);
1060
+ })) {
1061
+ continue;
1062
+ }
1063
+ for (const { name } of actual) {
1064
+ reviewedExternalTargets.add(`${review.project}:${name}`);
1065
+ }
1066
+ }
1067
+ const authentication = new Map();
1068
+ const authenticate = (id, active) => {
1069
+ const memoized = authentication.get(id);
1070
+ if (memoized !== undefined)
1071
+ return memoized;
1072
+ if (active.has(id)) {
1073
+ authentication.set(id, false);
1074
+ return false;
1075
+ }
1076
+ const input = targetInputs.get(id);
1077
+ if (!input) {
1078
+ authentication.set(id, false);
1079
+ return false;
1080
+ }
1081
+ if (input.namedInputRuntimeDetected) {
1082
+ authentication.set(id, false);
1083
+ return false;
1084
+ }
1085
+ const signature = authenticatedTargetSignature(input);
1086
+ const reviewedExternal = reviewedExternalTargets.has(id);
1087
+ if (externalOwnedProjectNames.has(input.project.name) &&
1088
+ !reviewedExternal) {
1089
+ authentication.set(id, false);
1090
+ return false;
1091
+ }
1092
+ if (!reviewedExternal &&
1093
+ (!signature ||
1094
+ signature.nonPlannableRationale !== undefined ||
1095
+ !TARGET_RULES.some(({ matches }) => matches(input.targetName)))) {
1096
+ authentication.set(id, false);
1097
+ return false;
1098
+ }
1099
+ const reviewedDependencies = reviewedExternal
1100
+ ? reviewedExternalDependencies(input)
1101
+ : undefined;
1102
+ const dependencies = dependencyTargets(input, reviewedExternal
1103
+ ? (reviewedDependencies ?? [])
1104
+ : (signature?.dependsOn?.(input) ?? []), availableProjects, availableTargets);
1105
+ if (reviewedExternal && reviewedDependencies === undefined) {
1106
+ authentication.set(id, false);
1107
+ return false;
1108
+ }
1109
+ if (!dependencies) {
1110
+ authentication.set(id, false);
1111
+ return false;
1112
+ }
1113
+ const nextActive = new Set(active);
1114
+ nextActive.add(id);
1115
+ const authenticated = dependencies.every((dependency) => authenticate(dependency.id, nextActive));
1116
+ authentication.set(id, authenticated);
1117
+ return authenticated;
1118
+ };
1119
+ const composedInvocations = new Map();
1120
+ const composeInvocation = (id, forwardedStage) => {
1121
+ const memoKey = `${id}\u0000${forwardedStage ?? ''}`;
1122
+ const memoized = composedInvocations.get(memoKey);
1123
+ if (memoized !== undefined)
1124
+ return memoized ?? undefined;
1125
+ if (!authenticate(id, new Set())) {
1126
+ composedInvocations.set(memoKey, null);
1127
+ return undefined;
1128
+ }
1129
+ const input = targetInputs.get(id);
1130
+ if (!input) {
1131
+ composedInvocations.set(memoKey, null);
1132
+ return undefined;
1133
+ }
1134
+ const signature = authenticatedTargetSignature(input);
1135
+ const reviewedExternal = reviewedExternalTargets.has(id);
1136
+ const operation = operationForTarget(input, forwardedStage, reviewedExternal);
1137
+ const reviewedDependencies = reviewedExternal
1138
+ ? reviewedExternalDependencies(input)
1139
+ : undefined;
1140
+ const dependencyTargetsForOperation = reviewedExternal
1141
+ ? reviewedDependencies === undefined
1142
+ ? undefined
1143
+ : dependencyTargets(input, reviewedDependencies, availableProjects, availableTargets)
1144
+ : signature
1145
+ ? dependencyTargets(input, signature.dependsOn?.(input) ?? [], availableProjects, availableTargets)
1146
+ : undefined;
1147
+ if (!operation || !dependencyTargetsForOperation) {
1148
+ composedInvocations.set(memoKey, null);
1149
+ return undefined;
1150
+ }
1151
+ const dependencies = dependencyTargetsForOperation.map((dependency) => {
1152
+ const composed = composeInvocation(dependency.id, dependency.params === 'forward' ? forwardedStage : undefined);
1153
+ if (!composed)
1154
+ return undefined;
1155
+ // Nx forwards CLI overrides only across params:forward. A dependency
1156
+ // with ignored params runs under its independently authenticated stage,
1157
+ // so it contributes authority and evidence without constraining the
1158
+ // forwarded parent stage. Without a forwarded stage, ordinary aggregate
1159
+ // targets share a stage domain and are intersected normally.
1160
+ return forwardedStage !== undefined && dependency.params === 'ignore'
1161
+ ? { ...composed, applicableStages: operation.applicableStages }
1162
+ : composed;
1163
+ });
1164
+ if (dependencies.some((dependency) => dependency === undefined)) {
1165
+ composedInvocations.set(memoKey, null);
1166
+ return undefined;
1167
+ }
1168
+ const composed = composeTargetOperation(operation, dependencies);
1169
+ composedInvocations.set(memoKey, composed ?? null);
1170
+ return composed;
1171
+ };
1172
+ const compose = (id) => {
1173
+ const input = targetInputs.get(id);
1174
+ const direct = input
1175
+ ? operationForTarget(input, undefined, reviewedExternalTargets.has(id))
1176
+ : undefined;
1177
+ if (!input || !direct)
1178
+ return undefined;
1179
+ // A protected lifecycle target without a configured stage receives its
1180
+ // canonical stage as a CLI override. Nx then propagates that value only
1181
+ // through params:forward edges. Compose each exact stage variant and merge
1182
+ // their stage availability; all other targets use their configured/default
1183
+ // invocation and a literal dependency-stage intersection.
1184
+ if (configuredCanonicalStage(input) === undefined &&
1185
+ direct.policyLifecycleAction !== undefined &&
1186
+ (direct.authority === 'protected-mutate' ||
1187
+ direct.authority === 'destructive')) {
1188
+ const variants = direct.applicableStages
1189
+ .map((stage) => composeInvocation(id, stage))
1190
+ .filter((operation) => operation !== undefined);
1191
+ if (variants.length === 0)
1192
+ return undefined;
1193
+ const applicableStages = ALL_CANONICAL_STAGES.filter((stage) => variants.some((operation) => operation.applicableStages.includes(stage)));
1194
+ const merged = composeTargetOperation({ ...variants[0], applicableStages }, variants.slice(1).map((operation) => ({
1195
+ ...operation,
1196
+ applicableStages,
1197
+ })));
1198
+ return merged ? { ...merged, applicableStages } : undefined;
1199
+ }
1200
+ return composeInvocation(id, undefined);
1201
+ };
1202
+ const workspaceProjects = orderedProjects.filter(({ context }) => context.tags.includes('scope:workspace'));
1203
+ let workspaceVerification;
1204
+ if (workspaceProjects.length === 1) {
1205
+ const candidate = `${workspaceProjects[0].context.name}:verify`;
1206
+ if (compose(candidate)) {
1207
+ workspaceVerification = candidate;
1208
+ operations.push(...generatorOperations(candidate), ...packageManagerOperations(candidate));
1209
+ }
1210
+ }
1211
+ const authenticatedTargets = new Set([...targetInputs.keys()].filter((target) => compose(target) !== undefined));
1212
+ operations.push(...sourceEditOperations(exposedProjects, authenticatedTargets, workspaceVerification));
1213
+ for (const project of orderedProjects) {
1214
+ if (!exposedProjectNames.has(project.context.name))
1215
+ continue;
1216
+ for (const [targetName] of Object.entries(project.targets).sort(([left], [right]) => (0, ordering_js_1.compareDeveloperAgentStrings)(left, right))) {
1217
+ const target = `${project.context.name}:${targetName}`;
1218
+ const input = targetInputs.get(target);
1219
+ const signature = input ? authenticatedTargetSignature(input) : undefined;
1220
+ if (signature?.nonPlannableRationale &&
1221
+ !externalOwnedProjectNames.has(project.context.name)) {
1222
+ nonPlannableTargets.push({
1223
+ rationale: signature.nonPlannableRationale,
1224
+ target,
1225
+ });
1226
+ continue;
1227
+ }
1228
+ const operation = compose(target);
1229
+ if (operation)
1230
+ operations.push(operation);
1231
+ else
1232
+ unsupportedTargets.push(target);
1233
+ }
1234
+ }
1235
+ operations.sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.id, right.id));
1236
+ nonPlannableTargets.sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.target, right.target));
1237
+ unsupportedTargets.sort();
1238
+ return {
1239
+ authenticatedTargets: [...authenticatedTargets].sort(ordering_js_1.compareDeveloperAgentStrings),
1240
+ nonPlannableTargets,
1241
+ operations,
1242
+ unsupportedTargets,
1243
+ };
1244
+ }
1245
+ function requireDeveloperAgentOperation(registry, id) {
1246
+ const operation = registry.operations.find((candidate) => candidate.id === id);
1247
+ if (!operation) {
1248
+ throw new DeveloperAgentOperationRegistryError();
1249
+ }
1250
+ return operation;
1251
+ }
1252
+ function operationLooksMutating(targetName) {
1253
+ return containsSegment('apply', 'backfill', 'cleanup', 'deploy', 'generate', 'migrate', 'reconcile', 'recover', 'refresh', 'remove', 'retire', 'rollout', 'setup', 'sync', 'unlock', 'update', 'up')(targetName);
1254
+ }
1255
+ //# sourceMappingURL=operation-registry.js.map