@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,815 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeveloperAgentGitInspectionError = exports.DEVELOPER_AGENT_GIT_MAX_WORKTREES = exports.DEVELOPER_AGENT_GIT_MAX_PATH_BYTES = exports.DEVELOPER_AGENT_GIT_MAX_PATHS = exports.DEVELOPER_AGENT_GIT_MAX_RESULT_BYTES = exports.DEVELOPER_AGENT_GIT_MAX_TOTAL_OUTPUT_BYTES = exports.DEVELOPER_AGENT_GIT_MAX_COMMAND_BYTES = exports.DEVELOPER_AGENT_GIT_INSPECTION_SCHEMA_VERSION = void 0;
4
+ exports.createDeveloperAgentGitEnvironment = createDeveloperAgentGitEnvironment;
5
+ exports.assertDeveloperAgentReadOnlyGitInvocation = assertDeveloperAgentReadOnlyGitInvocation;
6
+ exports.inspectDeveloperAgentGit = inspectDeveloperAgentGit;
7
+ const node_child_process_1 = require("node:child_process");
8
+ const node_fs_1 = require("node:fs");
9
+ const node_path_1 = require("node:path");
10
+ exports.DEVELOPER_AGENT_GIT_INSPECTION_SCHEMA_VERSION = 1;
11
+ exports.DEVELOPER_AGENT_GIT_MAX_COMMAND_BYTES = 256 * 1024;
12
+ exports.DEVELOPER_AGENT_GIT_MAX_TOTAL_OUTPUT_BYTES = 1024 * 1024;
13
+ exports.DEVELOPER_AGENT_GIT_MAX_RESULT_BYTES = 256 * 1024;
14
+ exports.DEVELOPER_AGENT_GIT_MAX_PATHS = 2_048;
15
+ exports.DEVELOPER_AGENT_GIT_MAX_PATH_BYTES = 4_096;
16
+ exports.DEVELOPER_AGENT_GIT_MAX_WORKTREES = 64;
17
+ const GIT_COMMAND_TIMEOUT_MS = 10_000;
18
+ const NO_OPTIONAL_LOCKS = '--no-optional-locks';
19
+ const DISABLE_FS_MONITOR = ['-c', 'core.fsmonitor=false'];
20
+ const SHA = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/;
21
+ const SAFE_REF_CHARACTERS = /^[A-Za-z0-9][A-Za-z0-9._/@+-]{0,255}$/;
22
+ class DeveloperAgentGitInspectionError extends Error {
23
+ code;
24
+ constructor(code, message) {
25
+ super(message);
26
+ this.code = code;
27
+ this.name = 'DeveloperAgentGitInspectionError';
28
+ }
29
+ }
30
+ exports.DeveloperAgentGitInspectionError = DeveloperAgentGitInspectionError;
31
+ function fail(code, message) {
32
+ throw new DeveloperAgentGitInspectionError(code, message);
33
+ }
34
+ function compareStrings(left, right) {
35
+ return left < right ? -1 : left > right ? 1 : 0;
36
+ }
37
+ function hasControlCharacter(value) {
38
+ for (const character of value) {
39
+ const codePoint = character.codePointAt(0);
40
+ if (codePoint !== undefined && (codePoint <= 0x1f || codePoint === 0x7f)) {
41
+ return true;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ function sameArgs(args, expected) {
47
+ return (args.length === expected.length &&
48
+ args.every((value, index) => value === expected[index]));
49
+ }
50
+ function createDeveloperAgentGitEnvironment(source = process.env) {
51
+ const environment = {};
52
+ for (const [key, value] of Object.entries(source)) {
53
+ if (!key.toUpperCase().startsWith('GIT_') && value !== undefined) {
54
+ environment[key] = value;
55
+ }
56
+ }
57
+ environment.GIT_OPTIONAL_LOCKS = '0';
58
+ environment.GIT_TERMINAL_PROMPT = '0';
59
+ return environment;
60
+ }
61
+ function safeRef(value) {
62
+ if (!SAFE_REF_CHARACTERS.test(value) ||
63
+ value === '@' ||
64
+ value.startsWith('-') ||
65
+ value.startsWith('/') ||
66
+ value.endsWith('/') ||
67
+ value.endsWith('.') ||
68
+ value.includes('..') ||
69
+ value.includes('//') ||
70
+ value.includes('@{') ||
71
+ hasControlCharacter(value)) {
72
+ return false;
73
+ }
74
+ const components = value.split('/');
75
+ return components.every((component) => component !== '' &&
76
+ component !== '.' &&
77
+ component !== '..' &&
78
+ !component.startsWith('.') &&
79
+ !component.endsWith('.lock'));
80
+ }
81
+ function requireSafeRef(value, label) {
82
+ if (!safeRef(value)) {
83
+ return fail('invalid-input', `${label} must be a literal bounded Git ref or full object ID.`);
84
+ }
85
+ return value;
86
+ }
87
+ function commitExpression(value) {
88
+ return value.endsWith('^{commit}') && safeRef(value.slice(0, -9));
89
+ }
90
+ function exactCommitRange(value) {
91
+ const separator = value.indexOf('...');
92
+ return (separator > 0 &&
93
+ value.indexOf('...', separator + 3) === -1 &&
94
+ SHA.test(value.slice(0, separator)) &&
95
+ SHA.test(value.slice(separator + 3)));
96
+ }
97
+ /**
98
+ * The inspector calls this gate before every process invocation. It is exported
99
+ * so adapters can preserve the same fail-closed command boundary.
100
+ */
101
+ function assertDeveloperAgentReadOnlyGitInvocation(args) {
102
+ if (args[0] !== NO_OPTIONAL_LOCKS) {
103
+ return fail('git-command-not-allowed', 'Git inspection requires --no-optional-locks.');
104
+ }
105
+ const allowed = sameArgs(args, [
106
+ NO_OPTIONAL_LOCKS,
107
+ 'rev-parse',
108
+ '--path-format=absolute',
109
+ '--show-toplevel',
110
+ ]) ||
111
+ sameArgs(args, [
112
+ NO_OPTIONAL_LOCKS,
113
+ 'rev-parse',
114
+ '--path-format=absolute',
115
+ '--git-common-dir',
116
+ ]) ||
117
+ (args.length === 5 &&
118
+ args[1] === 'rev-parse' &&
119
+ args[2] === '--verify' &&
120
+ args[3] === '--end-of-options' &&
121
+ commitExpression(args[4] ?? '')) ||
122
+ sameArgs(args, [
123
+ NO_OPTIONAL_LOCKS,
124
+ 'symbolic-ref',
125
+ '--quiet',
126
+ '--short',
127
+ 'HEAD',
128
+ ]) ||
129
+ sameArgs(args, [
130
+ NO_OPTIONAL_LOCKS,
131
+ ...DISABLE_FS_MONITOR,
132
+ 'status',
133
+ '--porcelain=v1',
134
+ '-z',
135
+ '--untracked-files=all',
136
+ '--no-renames',
137
+ ]) ||
138
+ sameArgs(args, [
139
+ NO_OPTIONAL_LOCKS,
140
+ 'worktree',
141
+ 'list',
142
+ '--porcelain',
143
+ '-z',
144
+ ]) ||
145
+ (args.length === 5 &&
146
+ args[1] === 'for-each-ref' &&
147
+ args[2] === '--format=%(upstream:short)' &&
148
+ args[3] === '--count=1' &&
149
+ args[4]?.startsWith('refs/heads/') === true &&
150
+ safeRef(args[4])) ||
151
+ (args.length === 5 &&
152
+ args[1] === 'rev-list' &&
153
+ args[2] === '--left-right' &&
154
+ args[3] === '--count' &&
155
+ exactCommitRange(args[4] ?? '')) ||
156
+ (args.length === 8 &&
157
+ args[1] === 'diff' &&
158
+ args[2] === '--name-only' &&
159
+ args[3] === '-z' &&
160
+ args[4] === '--no-renames' &&
161
+ SHA.test(args[5] ?? '') &&
162
+ SHA.test(args[6] ?? '') &&
163
+ args[7] === '--') ||
164
+ (args.length === 5 &&
165
+ args[1] === 'merge-base' &&
166
+ args[2] === '--is-ancestor' &&
167
+ SHA.test(args[3] ?? '') &&
168
+ SHA.test(args[4] ?? '')) ||
169
+ (args.length === 5 &&
170
+ args[1] === 'merge-base' &&
171
+ args[2] === '--all' &&
172
+ SHA.test(args[3] ?? '') &&
173
+ SHA.test(args[4] ?? ''));
174
+ if (!allowed) {
175
+ return fail('git-command-not-allowed', 'Git inspection attempted a command outside the read-only allowlist.');
176
+ }
177
+ }
178
+ const defaultExecFile = (executable, args, options) => new Promise((resolve, reject) => {
179
+ (0, node_child_process_1.execFile)(executable, [...args], options, (error, stdout, stderr) => {
180
+ if (error &&
181
+ error.code ===
182
+ 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER') {
183
+ reject(new DeveloperAgentGitInspectionError('git-output-too-large', 'Git inspection command output exceeded its byte bound.'));
184
+ return;
185
+ }
186
+ if (error && typeof error.code !== 'number') {
187
+ reject(error);
188
+ return;
189
+ }
190
+ resolve({
191
+ exitCode: error && typeof error.code === 'number' ? error.code : 0,
192
+ stderr,
193
+ stdout,
194
+ });
195
+ });
196
+ });
197
+ class ReadOnlyGit {
198
+ execFile;
199
+ defaultCwd;
200
+ #totalOutputBytes = 0;
201
+ #environment = createDeveloperAgentGitEnvironment();
202
+ constructor(execFile, defaultCwd) {
203
+ this.execFile = execFile;
204
+ this.defaultCwd = defaultCwd;
205
+ }
206
+ async run(args, options = {}) {
207
+ assertDeveloperAgentReadOnlyGitInvocation(args);
208
+ let result;
209
+ try {
210
+ result = await this.execFile('git', args, {
211
+ cwd: options.cwd ?? this.defaultCwd,
212
+ encoding: 'utf8',
213
+ env: { ...this.#environment },
214
+ maxBuffer: exports.DEVELOPER_AGENT_GIT_MAX_COMMAND_BYTES,
215
+ shell: false,
216
+ timeout: GIT_COMMAND_TIMEOUT_MS,
217
+ windowsHide: true,
218
+ });
219
+ }
220
+ catch (error) {
221
+ if (error instanceof DeveloperAgentGitInspectionError)
222
+ throw error;
223
+ return fail('git-command-failed', 'A read-only Git inspection command could not be executed.');
224
+ }
225
+ if (!result ||
226
+ typeof result !== 'object' ||
227
+ typeof result.stdout !== 'string' ||
228
+ typeof result.stderr !== 'string' ||
229
+ !Number.isInteger(result.exitCode) ||
230
+ result.exitCode < 0) {
231
+ return fail('git-output-invalid', 'Git inspection runner returned an invalid command result.');
232
+ }
233
+ const outputBytes = Buffer.byteLength(result.stdout, 'utf8') +
234
+ Buffer.byteLength(result.stderr, 'utf8');
235
+ this.#totalOutputBytes += outputBytes;
236
+ if (outputBytes > exports.DEVELOPER_AGENT_GIT_MAX_COMMAND_BYTES ||
237
+ this.#totalOutputBytes > exports.DEVELOPER_AGENT_GIT_MAX_TOTAL_OUTPUT_BYTES) {
238
+ return fail('git-output-too-large', 'Git inspection command output exceeded its byte bound.');
239
+ }
240
+ const allowedExitCodes = options.allowedExitCodes ?? [0];
241
+ if (!allowedExitCodes.includes(result.exitCode)) {
242
+ return fail('git-command-failed', `Read-only Git inspection command failed with exit code ${result.exitCode}.`);
243
+ }
244
+ return result;
245
+ }
246
+ }
247
+ function stripLineEnding(value) {
248
+ return value.endsWith('\r\n')
249
+ ? value.slice(0, -2)
250
+ : value.endsWith('\n')
251
+ ? value.slice(0, -1)
252
+ : value;
253
+ }
254
+ function singleSafeLine(value, label, options = {}) {
255
+ const line = stripLineEnding(value);
256
+ if ((!options.allowEmpty && line.length === 0) ||
257
+ line.includes('\n') ||
258
+ line.includes('\r') ||
259
+ hasControlCharacter(line) ||
260
+ line.includes('\uFFFD')) {
261
+ return fail('git-output-invalid', `${label} returned invalid text.`);
262
+ }
263
+ return line;
264
+ }
265
+ function requireCommit(value, label) {
266
+ const commit = singleSafeLine(value, label);
267
+ if (!SHA.test(commit)) {
268
+ return fail('git-output-invalid', `${label} did not resolve one exact commit.`);
269
+ }
270
+ return commit;
271
+ }
272
+ function realDirectory(path, label, code) {
273
+ try {
274
+ const real = (0, node_fs_1.realpathSync)(path);
275
+ if (!(0, node_fs_1.statSync)(real).isDirectory())
276
+ throw new Error('not a directory');
277
+ return real;
278
+ }
279
+ catch {
280
+ return fail(code, `${label} is not a readable directory.`);
281
+ }
282
+ }
283
+ function requireAbsoluteDirectoryOutput(value, label, code) {
284
+ const path = singleSafeLine(value, label);
285
+ if (!(0, node_path_1.isAbsolute)(path)) {
286
+ return fail('git-output-invalid', `${label} did not return an absolute path.`);
287
+ }
288
+ try {
289
+ const real = (0, node_fs_1.realpathSync)(path);
290
+ if (!(0, node_fs_1.statSync)(real).isDirectory())
291
+ throw new Error('not a directory');
292
+ return real;
293
+ }
294
+ catch {
295
+ return fail(code, `${label} did not resolve to a readable directory.`);
296
+ }
297
+ }
298
+ function consumePath(path, label, budget) {
299
+ budget.count += 1;
300
+ if (budget.count > exports.DEVELOPER_AGENT_GIT_MAX_PATHS) {
301
+ return fail('git-path-limit-exceeded', 'Git inspection exceeded its total path-count bound.');
302
+ }
303
+ if (path.length === 0 ||
304
+ Buffer.byteLength(path, 'utf8') > exports.DEVELOPER_AGENT_GIT_MAX_PATH_BYTES ||
305
+ hasControlCharacter(path) ||
306
+ path.includes('\uFFFD') ||
307
+ path.includes('\\') ||
308
+ (0, node_path_1.isAbsolute)(path) ||
309
+ path.split('/').some((part) => part === '' || part === '.' || part === '..')) {
310
+ return fail('git-output-invalid', `${label} returned an unsafe path.`);
311
+ }
312
+ return path;
313
+ }
314
+ function nulTokens(value, label) {
315
+ if (value === '')
316
+ return [];
317
+ if (!value.endsWith('\0')) {
318
+ return fail('git-output-invalid', `${label} did not use a complete NUL-delimited result.`);
319
+ }
320
+ const tokens = value.split('\0');
321
+ tokens.pop();
322
+ return tokens;
323
+ }
324
+ function parseChangedPaths(value, label, budget) {
325
+ const tokens = nulTokens(value, label);
326
+ if (tokens.some((token) => token === '')) {
327
+ return fail('git-output-invalid', `${label} returned an empty path.`);
328
+ }
329
+ const paths = tokens.map((path) => consumePath(path, label, budget));
330
+ return [...new Set(paths)].sort(compareStrings);
331
+ }
332
+ function parseDirtyPaths(value, budget) {
333
+ const tokens = nulTokens(value, 'Git status');
334
+ const paths = [];
335
+ for (const token of tokens) {
336
+ if (token.length < 4 ||
337
+ token[2] !== ' ' ||
338
+ !/^[ MADUT?!]{2}$/u.test(token.slice(0, 2)) ||
339
+ token.slice(0, 2) === ' ') {
340
+ return fail('git-output-invalid', 'Git status returned malformed porcelain output.');
341
+ }
342
+ if (token.slice(0, 2) === '!!')
343
+ continue;
344
+ paths.push(consumePath(token.slice(3), 'Git status', budget));
345
+ }
346
+ return [...new Set(paths)].sort(compareStrings);
347
+ }
348
+ function worktreeField(token) {
349
+ const separator = token.indexOf(' ');
350
+ const key = separator === -1 ? token : token.slice(0, separator);
351
+ const value = separator === -1 ? undefined : token.slice(separator + 1);
352
+ if (key.length === 0 ||
353
+ hasControlCharacter(key) ||
354
+ value?.includes('\uFFFD') ||
355
+ (value !== undefined && hasControlCharacter(value))) {
356
+ return fail('git-output-invalid', 'Git worktree inventory returned invalid text.');
357
+ }
358
+ return value === undefined ? { key } : { key, value };
359
+ }
360
+ function parseWorktreeList(value) {
361
+ const tokens = nulTokens(value, 'Git worktree inventory');
362
+ const worktrees = [];
363
+ let current;
364
+ const finish = () => {
365
+ if (!current) {
366
+ return fail('git-output-invalid', 'Git worktree inventory contained an empty record.');
367
+ }
368
+ worktrees.push(current);
369
+ current = undefined;
370
+ if (worktrees.length > exports.DEVELOPER_AGENT_GIT_MAX_WORKTREES) {
371
+ return fail('git-path-limit-exceeded', 'Git worktree inventory exceeded its worktree-count bound.');
372
+ }
373
+ };
374
+ for (const token of tokens) {
375
+ if (token === '') {
376
+ finish();
377
+ continue;
378
+ }
379
+ const { key, value: fieldValue } = worktreeField(token);
380
+ if (key === 'worktree') {
381
+ if (current || !fieldValue) {
382
+ return fail('git-output-invalid', 'Git worktree inventory has an ambiguous record boundary.');
383
+ }
384
+ current = {
385
+ bare: false,
386
+ detached: false,
387
+ locked: false,
388
+ path: fieldValue,
389
+ prunable: false,
390
+ };
391
+ continue;
392
+ }
393
+ if (!current) {
394
+ return fail('git-output-invalid', 'Git worktree inventory did not begin with a worktree path.');
395
+ }
396
+ if (key === 'HEAD') {
397
+ if (current.head !== undefined || !fieldValue) {
398
+ return fail('git-output-invalid', 'Git worktree inventory contains duplicate HEAD state.');
399
+ }
400
+ current.head = fieldValue;
401
+ }
402
+ else if (key === 'branch') {
403
+ if (current.branchRef !== undefined || current.detached || !fieldValue) {
404
+ return fail('git-output-invalid', 'Git worktree inventory contains ambiguous branch state.');
405
+ }
406
+ current.branchRef = fieldValue;
407
+ }
408
+ else if (key === 'detached') {
409
+ if (fieldValue !== undefined || current.detached || current.branchRef) {
410
+ return fail('git-output-invalid', 'Git worktree inventory contains ambiguous detached state.');
411
+ }
412
+ current.detached = true;
413
+ }
414
+ else if (key === 'bare') {
415
+ if (fieldValue !== undefined || current.bare) {
416
+ return fail('git-output-invalid', 'Git worktree inventory contains duplicate bare state.');
417
+ }
418
+ current.bare = true;
419
+ }
420
+ else if (key === 'locked') {
421
+ if (current.locked) {
422
+ return fail('git-output-invalid', 'Git worktree inventory contains duplicate lock state.');
423
+ }
424
+ current.locked = true;
425
+ }
426
+ else if (key === 'prunable') {
427
+ if (current.prunable) {
428
+ return fail('git-output-invalid', 'Git worktree inventory contains duplicate prunable state.');
429
+ }
430
+ current.prunable = true;
431
+ }
432
+ else {
433
+ return fail('git-output-invalid', `Git worktree inventory returned unsupported field ${key}.`);
434
+ }
435
+ }
436
+ if (current) {
437
+ return fail('git-output-invalid', 'Git worktree inventory omitted its final record boundary.');
438
+ }
439
+ if (worktrees.length === 0) {
440
+ return fail('git-output-invalid', 'Git worktree inventory returned no worktrees.');
441
+ }
442
+ return worktrees;
443
+ }
444
+ function prepareWorktrees(raw) {
445
+ const prepared = raw.map((worktree, index) => {
446
+ if (worktree.bare) {
447
+ return fail('git-worktree-unreadable', 'Bare repositories are outside linked-worktree inspection.');
448
+ }
449
+ if (!(0, node_path_1.isAbsolute)(worktree.path) || hasControlCharacter(worktree.path)) {
450
+ return fail('git-output-invalid', 'Git worktree inventory returned an unsafe worktree path.');
451
+ }
452
+ const realRoot = realDirectory(worktree.path, `Linked worktree ${index}`, 'git-worktree-unreadable');
453
+ if (!worktree.head || !SHA.test(worktree.head)) {
454
+ return fail('git-output-invalid', 'Git worktree inventory did not bind an exact commit.');
455
+ }
456
+ if ((worktree.branchRef === undefined) === !worktree.detached) {
457
+ return fail('git-output-invalid', 'Git worktree inventory did not bind exactly one branch state.');
458
+ }
459
+ let branch = null;
460
+ if (worktree.branchRef !== undefined) {
461
+ if (!worktree.branchRef.startsWith('refs/heads/') ||
462
+ !safeRef(worktree.branchRef)) {
463
+ return fail('git-output-invalid', 'Git worktree inventory returned an unsafe local branch ref.');
464
+ }
465
+ branch = worktree.branchRef.slice('refs/heads/'.length);
466
+ if (!safeRef(branch)) {
467
+ return fail('git-output-invalid', 'Git worktree inventory returned an unsafe local branch name.');
468
+ }
469
+ }
470
+ return {
471
+ ...worktree,
472
+ branch,
473
+ head: worktree.head,
474
+ realRoot,
475
+ };
476
+ });
477
+ const roots = prepared.map(({ realRoot }) => realRoot);
478
+ if (new Set(roots).size !== roots.length) {
479
+ return fail('git-worktree-ambiguous', 'Multiple linked-worktree records resolve to the same directory.');
480
+ }
481
+ const branches = prepared
482
+ .map(({ branch }) => branch)
483
+ .filter((branch) => branch !== null);
484
+ if (new Set(branches).size !== branches.length) {
485
+ return fail('git-worktree-ambiguous', 'Multiple linked worktrees claim the same local branch.');
486
+ }
487
+ return {
488
+ primaryRoot: prepared[0]?.realRoot,
489
+ worktrees: prepared.sort((left, right) => compareStrings(left.realRoot, right.realRoot)),
490
+ };
491
+ }
492
+ async function resolveCommit(git, ref, cwd) {
493
+ const result = await git.run([
494
+ NO_OPTIONAL_LOCKS,
495
+ 'rev-parse',
496
+ '--verify',
497
+ '--end-of-options',
498
+ `${ref}^{commit}`,
499
+ ], { cwd });
500
+ return requireCommit(result.stdout, `Git ref ${ref}`);
501
+ }
502
+ async function resolveDirectory(git, kind, cwd) {
503
+ const result = await git.run([NO_OPTIONAL_LOCKS, 'rev-parse', '--path-format=absolute', kind], { cwd });
504
+ return requireAbsoluteDirectoryOutput(result.stdout, kind === '--show-toplevel' ? 'Git worktree root' : 'Git common directory', kind === '--show-toplevel'
505
+ ? 'git-worktree-unreadable'
506
+ : 'git-output-invalid');
507
+ }
508
+ async function resolveBranch(git, cwd) {
509
+ const result = await git.run([NO_OPTIONAL_LOCKS, 'symbolic-ref', '--quiet', '--short', 'HEAD'], { allowedExitCodes: [0, 1], cwd });
510
+ if (result.exitCode === 1) {
511
+ if (singleSafeLine(result.stdout, 'Detached branch state', {
512
+ allowEmpty: true,
513
+ })) {
514
+ return fail('git-output-invalid', 'Detached branch inspection unexpectedly returned a branch.');
515
+ }
516
+ return { branch: null, detached: true };
517
+ }
518
+ const branch = singleSafeLine(result.stdout, 'Current Git branch');
519
+ if (!safeRef(branch)) {
520
+ return fail('git-output-invalid', 'Current Git branch is outside the safe ref grammar.');
521
+ }
522
+ return { branch, detached: false };
523
+ }
524
+ async function verifyWorktree(git, commonDirectory, worktree, budget) {
525
+ const discoveredRoot = await resolveDirectory(git, '--show-toplevel', worktree.realRoot);
526
+ const discoveredCommon = await resolveDirectory(git, '--git-common-dir', worktree.realRoot);
527
+ if (discoveredRoot !== worktree.realRoot ||
528
+ discoveredCommon !== commonDirectory) {
529
+ return fail('git-worktree-ambiguous', 'Linked worktree identity does not match the inspected repository.');
530
+ }
531
+ const commit = await resolveCommit(git, 'HEAD', worktree.realRoot);
532
+ const branchState = await resolveBranch(git, worktree.realRoot);
533
+ if (commit !== worktree.head ||
534
+ branchState.branch !== worktree.branch ||
535
+ branchState.detached !== worktree.detached) {
536
+ return fail('git-worktree-ambiguous', 'Linked worktree state changed during inspection.');
537
+ }
538
+ const status = await git.run([
539
+ NO_OPTIONAL_LOCKS,
540
+ ...DISABLE_FS_MONITOR,
541
+ 'status',
542
+ '--porcelain=v1',
543
+ '-z',
544
+ '--untracked-files=all',
545
+ '--no-renames',
546
+ ], { cwd: worktree.realRoot });
547
+ return {
548
+ branch: branchState.branch,
549
+ commit,
550
+ detached: branchState.detached,
551
+ dirtyPaths: parseDirtyPaths(status.stdout, budget),
552
+ locked: worktree.locked,
553
+ prunable: worktree.prunable,
554
+ root: worktree.realRoot,
555
+ };
556
+ }
557
+ async function inspectUpstream(git, current) {
558
+ if (!current.branch)
559
+ return undefined;
560
+ const upstreamResult = await git.run([
561
+ NO_OPTIONAL_LOCKS,
562
+ 'for-each-ref',
563
+ '--format=%(upstream:short)',
564
+ '--count=1',
565
+ `refs/heads/${current.branch}`,
566
+ ], { cwd: current.root });
567
+ const ref = singleSafeLine(upstreamResult.stdout, 'Git upstream', {
568
+ allowEmpty: true,
569
+ });
570
+ if (!ref)
571
+ return undefined;
572
+ if (!safeRef(ref)) {
573
+ return fail('git-output-invalid', 'Git upstream is outside the safe ref grammar.');
574
+ }
575
+ const commit = await resolveCommit(git, ref, current.root);
576
+ const counts = await git.run([
577
+ NO_OPTIONAL_LOCKS,
578
+ 'rev-list',
579
+ '--left-right',
580
+ '--count',
581
+ `${current.commit}...${commit}`,
582
+ ], { cwd: current.root });
583
+ const countLine = stripLineEnding(counts.stdout);
584
+ const match = countLine.match(/^([0-9]+)[\t ]+([0-9]+)$/u);
585
+ if (!match ||
586
+ countLine.includes('\n') ||
587
+ countLine.includes('\r') ||
588
+ Number(match[1]) > Number.MAX_SAFE_INTEGER ||
589
+ Number(match[2]) > Number.MAX_SAFE_INTEGER) {
590
+ return fail('git-output-invalid', 'Git upstream divergence returned invalid counts.');
591
+ }
592
+ return {
593
+ ahead: Number(match[1]),
594
+ behind: Number(match[2]),
595
+ commit,
596
+ ref,
597
+ };
598
+ }
599
+ async function inspectComparison(git, root, base, head, budget) {
600
+ const baseCommit = await resolveCommit(git, base, root);
601
+ const headCommit = await resolveCommit(git, head, root);
602
+ const changed = await git.run([
603
+ NO_OPTIONAL_LOCKS,
604
+ 'diff',
605
+ '--name-only',
606
+ '-z',
607
+ '--no-renames',
608
+ baseCommit,
609
+ headCommit,
610
+ '--',
611
+ ], { cwd: root });
612
+ const ancestry = await git.run([NO_OPTIONAL_LOCKS, 'merge-base', '--is-ancestor', baseCommit, headCommit], { allowedExitCodes: [0, 1], cwd: root });
613
+ const baseIsAncestorOfHead = ancestry.exitCode === 0;
614
+ return {
615
+ base: { commit: baseCommit, ref: base },
616
+ baseIsAncestorOfHead,
617
+ changedPaths: parseChangedPaths(changed.stdout, 'Git base/head comparison', budget),
618
+ head: { commit: headCommit, ref: head },
619
+ staleBase: !baseIsAncestorOfHead,
620
+ };
621
+ }
622
+ function dirtyOverlapWarnings(worktrees) {
623
+ const rootsByPath = new Map();
624
+ for (const worktree of worktrees) {
625
+ for (const path of worktree.dirtyPaths) {
626
+ const roots = rootsByPath.get(path) ?? [];
627
+ roots.push(worktree.root);
628
+ rootsByPath.set(path, roots);
629
+ }
630
+ }
631
+ return [...rootsByPath.entries()]
632
+ .filter(([, roots]) => roots.length > 1)
633
+ .sort(([left], [right]) => compareStrings(left, right))
634
+ .map(([path, roots]) => ({
635
+ code: 'dirty-path-overlap',
636
+ path,
637
+ worktreeRoots: roots.sort(compareStrings),
638
+ }));
639
+ }
640
+ function pathCollisionKey(path) {
641
+ return path.normalize('NFC').toLocaleLowerCase('en-US');
642
+ }
643
+ async function inspectConcurrentChanges(git, current, worktrees, budget) {
644
+ const changes = new Map();
645
+ const record = (path, root, source) => {
646
+ const key = pathCollisionKey(path);
647
+ const existing = changes.get(key) ?? {
648
+ committedRoots: new Set(),
649
+ dirtyRoots: new Set(),
650
+ path,
651
+ };
652
+ if (compareStrings(path, existing.path) < 0)
653
+ existing.path = path;
654
+ (source === 'committed'
655
+ ? existing.committedRoots
656
+ : existing.dirtyRoots).add(root);
657
+ changes.set(key, existing);
658
+ };
659
+ let complete = true;
660
+ for (const worktree of worktrees) {
661
+ if (worktree.root === current.root)
662
+ continue;
663
+ for (const path of worktree.dirtyPaths)
664
+ record(path, worktree.root, 'dirty');
665
+ if (worktree.commit === current.commit)
666
+ continue;
667
+ const mergeBase = await git.run([
668
+ NO_OPTIONAL_LOCKS,
669
+ 'merge-base',
670
+ '--all',
671
+ current.commit,
672
+ worktree.commit,
673
+ ], { allowedExitCodes: [0, 1], cwd: current.root });
674
+ if (mergeBase.exitCode === 1) {
675
+ complete = false;
676
+ continue;
677
+ }
678
+ const mergeBases = stripLineEnding(mergeBase.stdout).split(/\r?\n/u);
679
+ if (mergeBases.length !== 1 ||
680
+ !SHA.test(mergeBases[0] ?? '') ||
681
+ mergeBases[0] === '') {
682
+ complete = false;
683
+ continue;
684
+ }
685
+ const base = mergeBases[0];
686
+ if (base === worktree.commit)
687
+ continue;
688
+ const changed = await git.run([
689
+ NO_OPTIONAL_LOCKS,
690
+ 'diff',
691
+ '--name-only',
692
+ '-z',
693
+ '--no-renames',
694
+ base,
695
+ worktree.commit,
696
+ '--',
697
+ ], { cwd: current.root });
698
+ for (const path of parseChangedPaths(changed.stdout, 'Concurrent linked-worktree comparison', budget)) {
699
+ record(path, worktree.root, 'committed');
700
+ }
701
+ }
702
+ return {
703
+ complete,
704
+ paths: [...changes.values()]
705
+ .map(({ committedRoots, dirtyRoots, path }) => ({
706
+ committed: committedRoots.size > 0,
707
+ dirty: dirtyRoots.size > 0,
708
+ path,
709
+ worktreeRoots: [...new Set([...committedRoots, ...dirtyRoots])].sort(compareStrings),
710
+ }))
711
+ .sort((left, right) => compareStrings(pathCollisionKey(left.path), pathCollisionKey(right.path))),
712
+ };
713
+ }
714
+ function validateInput(options) {
715
+ if (!options ||
716
+ typeof options !== 'object' ||
717
+ typeof options.cwd !== 'string' ||
718
+ options.cwd.length === 0 ||
719
+ hasControlCharacter(options.cwd) ||
720
+ !(0, node_path_1.isAbsolute)(options.cwd)) {
721
+ return fail('invalid-input', 'Git inspection requires an absolute control-free cwd.');
722
+ }
723
+ if ((options.base === undefined) !== (options.head === undefined)) {
724
+ return fail('invalid-input', 'Git comparison requires both explicit base and head refs.');
725
+ }
726
+ if (options.base !== undefined && options.head !== undefined) {
727
+ return {
728
+ base: requireSafeRef(options.base, 'Git comparison base'),
729
+ ...(options.defaultBase !== undefined
730
+ ? {
731
+ defaultBase: requireSafeRef(options.defaultBase, 'Git default base'),
732
+ }
733
+ : {}),
734
+ head: requireSafeRef(options.head, 'Git comparison head'),
735
+ };
736
+ }
737
+ return options.defaultBase !== undefined
738
+ ? {
739
+ defaultBase: requireSafeRef(options.defaultBase, 'Git default base'),
740
+ }
741
+ : {};
742
+ }
743
+ async function inspectDeveloperAgentGit(options) {
744
+ const comparisonInput = validateInput(options);
745
+ const invocationCwd = realDirectory(options.cwd, 'Git inspection cwd', 'invalid-input');
746
+ const git = new ReadOnlyGit(options.execFile ?? defaultExecFile, invocationCwd);
747
+ const currentRoot = await resolveDirectory(git, '--show-toplevel', invocationCwd);
748
+ const commonDirectory = await resolveDirectory(git, '--git-common-dir', invocationCwd);
749
+ const worktreeList = await git.run([NO_OPTIONAL_LOCKS, 'worktree', 'list', '--porcelain', '-z'], { cwd: currentRoot });
750
+ const { primaryRoot, worktrees: prepared } = prepareWorktrees(parseWorktreeList(worktreeList.stdout));
751
+ if (!prepared.some(({ realRoot }) => realRoot === currentRoot)) {
752
+ return fail('git-worktree-ambiguous', 'Current worktree is absent from the repository worktree inventory.');
753
+ }
754
+ const budget = { count: 0 };
755
+ const linkedWorktrees = [];
756
+ for (const worktree of prepared) {
757
+ linkedWorktrees.push(await verifyWorktree(git, commonDirectory, worktree, budget));
758
+ }
759
+ const current = linkedWorktrees.find(({ root }) => root === currentRoot);
760
+ if (!current) {
761
+ return fail('git-worktree-ambiguous', 'Current worktree could not be resolved uniquely.');
762
+ }
763
+ const upstream = await inspectUpstream(git, current);
764
+ const defaultBase = comparisonInput.defaultBase !== undefined
765
+ ? {
766
+ commit: await resolveCommit(git, comparisonInput.defaultBase, currentRoot),
767
+ ref: comparisonInput.defaultBase,
768
+ }
769
+ : undefined;
770
+ const comparison = comparisonInput.base !== undefined && comparisonInput.head !== undefined
771
+ ? await inspectComparison(git, currentRoot, comparisonInput.base, comparisonInput.head, budget)
772
+ : undefined;
773
+ const concurrent = await inspectConcurrentChanges(git, current, linkedWorktrees, budget);
774
+ const warnings = dirtyOverlapWarnings(linkedWorktrees);
775
+ if (comparison?.staleBase) {
776
+ warnings.push({
777
+ baseRef: comparison.base.ref,
778
+ code: 'stale-base',
779
+ headRef: comparison.head.ref,
780
+ });
781
+ }
782
+ warnings.sort((left, right) => {
783
+ const leftKey = left.code === 'dirty-path-overlap'
784
+ ? `${left.code}:${left.path}`
785
+ : `${left.code}:${left.baseRef}:${left.headRef}`;
786
+ const rightKey = right.code === 'dirty-path-overlap'
787
+ ? `${right.code}:${right.path}`
788
+ : `${right.code}:${right.baseRef}:${right.headRef}`;
789
+ return compareStrings(leftKey, rightKey);
790
+ });
791
+ const result = {
792
+ ...(comparison ? { comparison } : {}),
793
+ concurrentChangeInspectionComplete: concurrent.complete,
794
+ concurrentChanges: concurrent.paths,
795
+ ...(defaultBase ? { defaultBase } : {}),
796
+ kind: 'developer-agent-git-inspection',
797
+ linkedWorktrees,
798
+ repository: {
799
+ commonDirectory,
800
+ root: primaryRoot,
801
+ },
802
+ schemaVersion: exports.DEVELOPER_AGENT_GIT_INSPECTION_SCHEMA_VERSION,
803
+ warnings,
804
+ worktree: {
805
+ ...current,
806
+ ...(upstream ? { upstream } : {}),
807
+ },
808
+ };
809
+ if (Buffer.byteLength(JSON.stringify(result), 'utf8') >
810
+ exports.DEVELOPER_AGENT_GIT_MAX_RESULT_BYTES) {
811
+ return fail('git-output-too-large', 'Git inspection result exceeded its serialized byte bound.');
812
+ }
813
+ return result;
814
+ }
815
+ //# sourceMappingURL=git-inspection.js.map