@agent-teams/engineering-foundation 0.4.1 → 0.6.0

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 (673) hide show
  1. package/README.md +29 -5
  2. package/dist/binary-string-comparator.d.ts +9 -0
  3. package/dist/binary-string-comparator.d.ts.map +1 -0
  4. package/dist/binary-string-comparator.js +27 -0
  5. package/dist/binary-string-comparator.js.map +1 -0
  6. package/dist/cancellation.d.ts +6 -0
  7. package/dist/cancellation.d.ts.map +1 -0
  8. package/dist/cancellation.js +16 -0
  9. package/dist/cancellation.js.map +1 -0
  10. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts +11 -0
  11. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts.map +1 -0
  12. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js +365 -0
  13. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js.map +1 -0
  14. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts +46 -0
  15. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts.map +1 -0
  16. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js +2 -0
  17. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js.map +1 -0
  18. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts +4 -0
  19. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts.map +1 -0
  20. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js +201 -0
  21. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js.map +1 -0
  22. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts +10 -0
  23. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts.map +1 -0
  24. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js +2 -0
  25. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js.map +1 -0
  26. package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts +17 -0
  27. package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts.map +1 -0
  28. package/dist/capabilities/contract-json-schema-releases/application/rules.js +18 -0
  29. package/dist/capabilities/contract-json-schema-releases/application/rules.js.map +1 -0
  30. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts +11 -0
  31. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts.map +1 -0
  32. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js +14 -0
  33. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js.map +1 -0
  34. package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts +5 -0
  35. package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts.map +1 -0
  36. package/dist/capabilities/contract-json-schema-releases/contract/config.js +133 -0
  37. package/dist/capabilities/contract-json-schema-releases/contract/config.js.map +1 -0
  38. package/dist/capabilities/contract-json-schema-releases/module.d.ts +13 -0
  39. package/dist/capabilities/contract-json-schema-releases/module.d.ts.map +1 -0
  40. package/dist/capabilities/contract-json-schema-releases/module.js +52 -0
  41. package/dist/capabilities/contract-json-schema-releases/module.js.map +1 -0
  42. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +11 -0
  43. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
  44. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +21 -0
  45. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
  46. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +58 -0
  47. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -0
  48. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js +2 -0
  49. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js.map +1 -0
  50. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts +4 -0
  51. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts.map +1 -0
  52. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js +277 -0
  53. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js.map +1 -0
  54. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts +18 -0
  55. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts.map +1 -0
  56. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js +2 -0
  57. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js.map +1 -0
  58. package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts +20 -0
  59. package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts.map +1 -0
  60. package/dist/capabilities/contract-protobuf-evolution/application/rules.js +21 -0
  61. package/dist/capabilities/contract-protobuf-evolution/application/rules.js.map +1 -0
  62. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts +12 -0
  63. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts.map +1 -0
  64. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js +30 -0
  65. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js.map +1 -0
  66. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts +5 -0
  67. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -0
  68. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +186 -0
  69. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -0
  70. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +11 -0
  71. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -0
  72. package/dist/capabilities/contract-protobuf-evolution/module.js +51 -0
  73. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -0
  74. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +5 -0
  75. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -0
  76. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +109 -0
  77. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -0
  78. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +4 -0
  79. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -0
  80. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +3 -0
  81. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -0
  82. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts +14 -0
  83. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts.map +1 -0
  84. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js +2 -0
  85. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js.map +1 -0
  86. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts +7 -0
  87. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts.map +1 -0
  88. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js +41 -0
  89. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js.map +1 -0
  90. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts +15 -0
  91. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts.map +1 -0
  92. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js +2 -0
  93. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js.map +1 -0
  94. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts +9 -0
  95. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts.map +1 -0
  96. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js +124 -0
  97. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js.map +1 -0
  98. package/dist/capabilities/documentation-local-references/application/rules.d.ts +20 -0
  99. package/dist/capabilities/documentation-local-references/application/rules.d.ts.map +1 -0
  100. package/dist/capabilities/documentation-local-references/application/rules.js +24 -0
  101. package/dist/capabilities/documentation-local-references/application/rules.js.map +1 -0
  102. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts +12 -0
  103. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts.map +1 -0
  104. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js +36 -0
  105. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js.map +1 -0
  106. package/dist/capabilities/documentation-local-references/contract/config.d.ts +5 -0
  107. package/dist/capabilities/documentation-local-references/contract/config.d.ts.map +1 -0
  108. package/dist/capabilities/documentation-local-references/contract/config.js +68 -0
  109. package/dist/capabilities/documentation-local-references/contract/config.js.map +1 -0
  110. package/dist/capabilities/documentation-local-references/module.d.ts +5 -0
  111. package/dist/capabilities/documentation-local-references/module.d.ts.map +1 -0
  112. package/dist/capabilities/documentation-local-references/module.js +49 -0
  113. package/dist/capabilities/documentation-local-references/module.js.map +1 -0
  114. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts +5 -0
  115. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts.map +1 -0
  116. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js +7 -0
  117. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js.map +1 -0
  118. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts +17 -0
  119. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts.map +1 -0
  120. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js +285 -0
  121. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js.map +1 -0
  122. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts +32 -0
  123. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts.map +1 -0
  124. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js +26 -0
  125. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js.map +1 -0
  126. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts +32 -0
  127. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts.map +1 -0
  128. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js +65 -0
  129. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js.map +1 -0
  130. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts +20 -0
  131. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts.map +1 -0
  132. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js +37 -0
  133. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js.map +1 -0
  134. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts +18 -0
  135. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts.map +1 -0
  136. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js +71 -0
  137. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js.map +1 -0
  138. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts +5 -0
  139. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts.map +1 -0
  140. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js +158 -0
  141. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js.map +1 -0
  142. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts +30 -0
  143. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts.map +1 -0
  144. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js +163 -0
  145. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js.map +1 -0
  146. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts +3 -0
  147. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts.map +1 -0
  148. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js +75 -0
  149. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js.map +1 -0
  150. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts +10 -0
  151. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts.map +1 -0
  152. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js +178 -0
  153. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js.map +1 -0
  154. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts +37 -0
  155. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts.map +1 -0
  156. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js +2 -0
  157. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js.map +1 -0
  158. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts +4 -0
  159. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts.map +1 -0
  160. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js +2 -0
  161. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js.map +1 -0
  162. package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts +30 -0
  163. package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts.map +1 -0
  164. package/dist/capabilities/governance-architecture-decisions/application/rules.js +34 -0
  165. package/dist/capabilities/governance-architecture-decisions/application/rules.js.map +1 -0
  166. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts +28 -0
  167. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts.map +1 -0
  168. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js +35 -0
  169. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js.map +1 -0
  170. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts +17 -0
  171. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts.map +1 -0
  172. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js +29 -0
  173. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js.map +1 -0
  174. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts +19 -0
  175. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts.map +1 -0
  176. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js +85 -0
  177. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js.map +1 -0
  178. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts +12 -0
  179. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts.map +1 -0
  180. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js +50 -0
  181. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js.map +1 -0
  182. package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts +5 -0
  183. package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts.map +1 -0
  184. package/dist/capabilities/governance-architecture-decisions/contract/config.js +94 -0
  185. package/dist/capabilities/governance-architecture-decisions/contract/config.js.map +1 -0
  186. package/dist/capabilities/governance-architecture-decisions/module.d.ts +26 -0
  187. package/dist/capabilities/governance-architecture-decisions/module.d.ts.map +1 -0
  188. package/dist/capabilities/governance-architecture-decisions/module.js +136 -0
  189. package/dist/capabilities/governance-architecture-decisions/module.js.map +1 -0
  190. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts +27 -0
  191. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts.map +1 -0
  192. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js +109 -0
  193. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js.map +1 -0
  194. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts +9 -0
  195. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts.map +1 -0
  196. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js +45 -0
  197. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js.map +1 -0
  198. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts +1 -1
  199. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  200. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +177 -98
  201. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  202. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts +17 -0
  203. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts.map +1 -0
  204. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js +214 -0
  205. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js.map +1 -0
  206. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts +1 -2
  207. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts.map +1 -1
  208. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js +94 -73
  209. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js.map +1 -1
  210. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +8 -0
  211. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -0
  212. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +132 -0
  213. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -0
  214. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +15 -0
  215. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
  216. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +17 -0
  217. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
  218. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +106 -15
  219. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
  220. package/dist/capabilities/public-api-compatibility/application/model/public-api.js +46 -0
  221. package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
  222. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +8 -0
  223. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -0
  224. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +11 -0
  225. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -0
  226. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
  227. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +146 -23
  228. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
  229. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +14 -0
  230. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts.map +1 -0
  231. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +210 -0
  232. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -0
  233. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts +19 -0
  234. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts.map +1 -0
  235. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js +2 -0
  236. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js.map +1 -0
  237. package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts +1 -2
  238. package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts.map +1 -1
  239. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts +2 -0
  240. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
  241. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +16 -1
  242. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
  243. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts +2 -0
  244. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
  245. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +61 -5
  246. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
  247. package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
  248. package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
  249. package/dist/capabilities/public-api-compatibility/contract/config.js +217 -13
  250. package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
  251. package/dist/capabilities/public-api-compatibility/module.d.ts.map +1 -1
  252. package/dist/capabilities/public-api-compatibility/module.js +5 -2
  253. package/dist/capabilities/public-api-compatibility/module.js.map +1 -1
  254. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +3 -0
  255. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  256. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +26 -0
  257. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -0
  258. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts +6 -0
  259. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts.map +1 -0
  260. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js +81 -0
  261. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js.map +1 -0
  262. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +15 -0
  263. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -0
  264. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +153 -0
  265. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -0
  266. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts +17 -0
  267. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts.map +1 -0
  268. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js +70 -0
  269. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js.map +1 -0
  270. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +10 -0
  271. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -0
  272. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +15 -0
  273. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -0
  274. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +36 -0
  275. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -0
  276. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js +2 -0
  277. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js.map +1 -0
  278. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts +34 -0
  279. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts.map +1 -0
  280. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js +2 -0
  281. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js.map +1 -0
  282. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts +4 -0
  283. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -0
  284. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +132 -0
  285. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -0
  286. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts +17 -0
  287. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts.map +1 -0
  288. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js +2 -0
  289. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js.map +1 -0
  290. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts +5 -0
  291. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts.map +1 -0
  292. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js +2 -0
  293. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js.map +1 -0
  294. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts +8 -0
  295. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts.map +1 -0
  296. package/dist/capabilities/repository-agent-workflow/application/rules.js +35 -0
  297. package/dist/capabilities/repository-agent-workflow/application/rules.js.map +1 -0
  298. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts +9 -0
  299. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts.map +1 -0
  300. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js +7 -0
  301. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js.map +1 -0
  302. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts +4 -0
  303. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -0
  304. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +79 -0
  305. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -0
  306. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts +9 -0
  307. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -0
  308. package/dist/capabilities/repository-agent-workflow/changed-command.js +30 -0
  309. package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -0
  310. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts +5 -0
  311. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -0
  312. package/dist/capabilities/repository-agent-workflow/contract/config.js +122 -0
  313. package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -0
  314. package/dist/capabilities/repository-agent-workflow/module.d.ts +5 -0
  315. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -0
  316. package/dist/capabilities/repository-agent-workflow/module.js +49 -0
  317. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -0
  318. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.d.ts.map +1 -1
  319. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js +24 -190
  320. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js.map +1 -1
  321. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts +3 -0
  322. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts.map +1 -0
  323. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js +31 -0
  324. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js.map +1 -0
  325. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts +6 -0
  326. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts.map +1 -0
  327. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js +31 -0
  328. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js.map +1 -0
  329. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts +5 -0
  330. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts.map +1 -0
  331. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js +73 -0
  332. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js.map +1 -0
  333. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts +3 -0
  334. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts.map +1 -0
  335. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js +16 -0
  336. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js.map +1 -0
  337. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts +3 -0
  338. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts.map +1 -0
  339. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js +98 -0
  340. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js.map +1 -0
  341. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts +6 -0
  342. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts.map +1 -0
  343. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js +208 -0
  344. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js.map +1 -0
  345. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts +10 -0
  346. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts.map +1 -0
  347. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js +95 -0
  348. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js.map +1 -0
  349. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts +88 -1
  350. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts.map +1 -1
  351. package/dist/capabilities/repository-security-baseline/application/model/repository-security.js +40 -1
  352. package/dist/capabilities/repository-security-baseline/application/model/repository-security.js.map +1 -1
  353. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts +5 -0
  354. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts.map +1 -0
  355. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js +143 -0
  356. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js.map +1 -0
  357. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts +4 -0
  358. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts.map +1 -0
  359. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js +136 -0
  360. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js.map +1 -0
  361. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
  362. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +200 -147
  363. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  364. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts +4 -0
  365. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts.map +1 -0
  366. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js +55 -0
  367. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js.map +1 -0
  368. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts +14 -0
  369. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts.map +1 -0
  370. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js +14 -0
  371. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js.map +1 -0
  372. package/dist/capabilities/repository-security-baseline/application/rules.d.ts +15 -0
  373. package/dist/capabilities/repository-security-baseline/application/rules.d.ts.map +1 -1
  374. package/dist/capabilities/repository-security-baseline/application/rules.js +16 -1
  375. package/dist/capabilities/repository-security-baseline/application/rules.js.map +1 -1
  376. package/dist/capabilities/repository-security-baseline/contract/config.d.ts.map +1 -1
  377. package/dist/capabilities/repository-security-baseline/contract/config.js +137 -4
  378. package/dist/capabilities/repository-security-baseline/contract/config.js.map +1 -1
  379. package/dist/capabilities/repository-security-baseline/module.d.ts.map +1 -1
  380. package/dist/capabilities/repository-security-baseline/module.js +7 -5
  381. package/dist/capabilities/repository-security-baseline/module.js.map +1 -1
  382. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -1
  383. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +15 -5
  384. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -1
  385. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.d.ts.map +1 -1
  386. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js +4 -3
  387. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js.map +1 -1
  388. package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts +3 -0
  389. package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts.map +1 -0
  390. package/dist/capabilities/source-dependencies/application/model/repository-path.js +33 -0
  391. package/dist/capabilities/source-dependencies/application/model/repository-path.js.map +1 -0
  392. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +92 -0
  393. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
  394. package/dist/capabilities/source-dependencies/application/model/source-workspace.js +1 -0
  395. package/dist/capabilities/source-dependencies/application/model/source-workspace.js.map +1 -1
  396. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts +10 -0
  397. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts.map +1 -0
  398. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +264 -0
  399. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js.map +1 -0
  400. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts +2 -8
  401. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts.map +1 -1
  402. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js +62 -194
  403. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js.map +1 -1
  404. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts +4 -0
  405. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts.map +1 -0
  406. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js +315 -0
  407. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js.map +1 -0
  408. package/dist/capabilities/source-dependencies/application/rules.d.ts +7 -0
  409. package/dist/capabilities/source-dependencies/application/rules.d.ts.map +1 -1
  410. package/dist/capabilities/source-dependencies/application/rules.js +7 -0
  411. package/dist/capabilities/source-dependencies/application/rules.js.map +1 -1
  412. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
  413. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +54 -16
  414. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
  415. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts +17 -0
  416. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts.map +1 -0
  417. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js +216 -0
  418. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js.map +1 -0
  419. package/dist/capabilities/source-dependencies/contract/config.d.ts +1 -1
  420. package/dist/capabilities/source-dependencies/contract/config.d.ts.map +1 -1
  421. package/dist/capabilities/source-dependencies/contract/config.js +57 -14
  422. package/dist/capabilities/source-dependencies/contract/config.js.map +1 -1
  423. package/dist/capabilities/source-dependencies/module.js +1 -1
  424. package/dist/capabilities/source-dependencies/module.js.map +1 -1
  425. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.d.ts.map +1 -1
  426. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js +2 -1
  427. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js.map +1 -1
  428. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
  429. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js +9 -1
  430. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js.map +1 -1
  431. package/dist/capability-runtime.d.ts.map +1 -1
  432. package/dist/capability-runtime.js +5 -4
  433. package/dist/capability-runtime.js.map +1 -1
  434. package/dist/cli-arguments.d.ts +12 -0
  435. package/dist/cli-arguments.d.ts.map +1 -0
  436. package/dist/cli-arguments.js +115 -0
  437. package/dist/cli-arguments.js.map +1 -0
  438. package/dist/cli.js +153 -125
  439. package/dist/cli.js.map +1 -1
  440. package/dist/composition/capability-registry.d.ts.map +1 -1
  441. package/dist/composition/capability-registry.js +10 -0
  442. package/dist/composition/capability-registry.js.map +1 -1
  443. package/dist/composition/rule-registry.d.ts.map +1 -1
  444. package/dist/composition/rule-registry.js +10 -0
  445. package/dist/composition/rule-registry.js.map +1 -1
  446. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts +11 -0
  447. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts.map +1 -0
  448. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js +91 -0
  449. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js.map +1 -0
  450. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts +14 -0
  451. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts.map +1 -0
  452. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js +61 -0
  453. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js.map +1 -0
  454. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts +8 -0
  455. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts.map +1 -0
  456. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js +44 -0
  457. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js.map +1 -0
  458. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts +6 -0
  459. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts.map +1 -0
  460. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js +160 -0
  461. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js.map +1 -0
  462. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts +8 -0
  463. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts.map +1 -0
  464. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js +13 -0
  465. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js.map +1 -0
  466. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts +6 -0
  467. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts.map +1 -0
  468. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js +233 -0
  469. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js.map +1 -0
  470. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts +3 -0
  471. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts.map +1 -0
  472. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js +260 -0
  473. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js.map +1 -0
  474. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts +15 -0
  475. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts.map +1 -0
  476. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js +59 -0
  477. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js.map +1 -0
  478. package/dist/documentation-observation/application/model/markdown-document.d.ts +70 -0
  479. package/dist/documentation-observation/application/model/markdown-document.d.ts.map +1 -0
  480. package/dist/documentation-observation/application/model/markdown-document.js +10 -0
  481. package/dist/documentation-observation/application/model/markdown-document.js.map +1 -0
  482. package/dist/documentation-observation/application/ports/markdown-repository.d.ts +17 -0
  483. package/dist/documentation-observation/application/ports/markdown-repository.d.ts.map +1 -0
  484. package/dist/documentation-observation/application/ports/markdown-repository.js +2 -0
  485. package/dist/documentation-observation/application/ports/markdown-repository.js.map +1 -0
  486. package/dist/filesystem-path-safety.d.ts +38 -0
  487. package/dist/filesystem-path-safety.d.ts.map +1 -1
  488. package/dist/filesystem-path-safety.js +228 -2
  489. package/dist/filesystem-path-safety.js.map +1 -1
  490. package/dist/foundation-config.d.ts +1 -1
  491. package/dist/foundation-config.d.ts.map +1 -1
  492. package/dist/foundation-config.js +12 -1
  493. package/dist/foundation-config.js.map +1 -1
  494. package/dist/index.d.ts +3 -0
  495. package/dist/index.d.ts.map +1 -1
  496. package/dist/index.js +2 -0
  497. package/dist/index.js.map +1 -1
  498. package/dist/local-mode/attach-transaction.d.ts +11 -0
  499. package/dist/local-mode/attach-transaction.d.ts.map +1 -0
  500. package/dist/local-mode/attach-transaction.js +190 -0
  501. package/dist/local-mode/attach-transaction.js.map +1 -0
  502. package/dist/local-mode/consumer-policy.d.ts +1 -9
  503. package/dist/local-mode/consumer-policy.d.ts.map +1 -1
  504. package/dist/local-mode/consumer-policy.js +102 -94
  505. package/dist/local-mode/consumer-policy.js.map +1 -1
  506. package/dist/local-mode/index.d.ts +1 -1
  507. package/dist/local-mode/index.d.ts.map +1 -1
  508. package/dist/local-mode/inspection.d.ts.map +1 -1
  509. package/dist/local-mode/inspection.js +126 -118
  510. package/dist/local-mode/inspection.js.map +1 -1
  511. package/dist/local-mode/local-state-store.d.ts +6 -0
  512. package/dist/local-mode/local-state-store.d.ts.map +1 -0
  513. package/dist/local-mode/local-state-store.js +138 -0
  514. package/dist/local-mode/local-state-store.js.map +1 -0
  515. package/dist/local-mode/process-runner.d.ts +1 -4
  516. package/dist/local-mode/process-runner.d.ts.map +1 -1
  517. package/dist/local-mode/process-runner.js +1 -19
  518. package/dist/local-mode/process-runner.js.map +1 -1
  519. package/dist/local-mode/registry-recovery.d.ts +5 -0
  520. package/dist/local-mode/registry-recovery.d.ts.map +1 -0
  521. package/dist/local-mode/registry-recovery.js +112 -0
  522. package/dist/local-mode/registry-recovery.js.map +1 -0
  523. package/dist/local-mode/service.d.ts +1 -1
  524. package/dist/local-mode/service.d.ts.map +1 -1
  525. package/dist/local-mode/service.js +14 -398
  526. package/dist/local-mode/service.js.map +1 -1
  527. package/dist/local-mode/types.d.ts +10 -12
  528. package/dist/local-mode/types.d.ts.map +1 -1
  529. package/dist/package-self-check.d.ts +1 -1
  530. package/dist/package-self-check.d.ts.map +1 -1
  531. package/dist/package-self-check.js +15 -2
  532. package/dist/package-self-check.js.map +1 -1
  533. package/dist/process-execution/node-process-runner.d.ts +10 -0
  534. package/dist/process-execution/node-process-runner.d.ts.map +1 -0
  535. package/dist/process-execution/node-process-runner.js +270 -0
  536. package/dist/process-execution/node-process-runner.js.map +1 -0
  537. package/dist/process-execution/types.d.ts +23 -0
  538. package/dist/process-execution/types.d.ts.map +1 -0
  539. package/dist/process-execution/types.js +2 -0
  540. package/dist/process-execution/types.js.map +1 -0
  541. package/dist/process-execution/windows-managed-process.d.ts +13 -0
  542. package/dist/process-execution/windows-managed-process.d.ts.map +1 -0
  543. package/dist/process-execution/windows-managed-process.js +389 -0
  544. package/dist/process-execution/windows-managed-process.js.map +1 -0
  545. package/dist/process-execution/windows-process-host.d.ts +2 -0
  546. package/dist/process-execution/windows-process-host.d.ts.map +1 -0
  547. package/dist/process-execution/windows-process-host.js +59 -0
  548. package/dist/process-execution/windows-process-host.js.map +1 -0
  549. package/dist/public-api-surface.d.ts +4 -0
  550. package/dist/public-api-surface.d.ts.map +1 -0
  551. package/dist/public-api-surface.js +4 -0
  552. package/dist/public-api-surface.js.map +1 -0
  553. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +9 -0
  554. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +1 -0
  555. package/dist/scaffolding/adapters/memory/memory-workspace.js +93 -0
  556. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -0
  557. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +6 -0
  558. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -0
  559. package/dist/scaffolding/adapters/node/filesystem-journal.js +79 -0
  560. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -0
  561. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +7 -0
  562. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -0
  563. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +144 -0
  564. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -0
  565. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +13 -0
  566. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -0
  567. package/dist/scaffolding/adapters/node/filesystem-workspace.js +336 -0
  568. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -0
  569. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts +2 -0
  570. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts.map +1 -0
  571. package/dist/scaffolding/adapters/node/installed-foundation-version.js +10 -0
  572. package/dist/scaffolding/adapters/node/installed-foundation-version.js.map +1 -0
  573. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +17 -0
  574. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -0
  575. package/dist/scaffolding/adapters/node/node-input-loader.js +157 -0
  576. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -0
  577. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +3 -0
  578. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -0
  579. package/dist/scaffolding/adapters/node/node-plan-authority.js +18 -0
  580. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -0
  581. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +4 -0
  582. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -0
  583. package/dist/scaffolding/adapters/node/node-receipt-validator.js +10 -0
  584. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -0
  585. package/dist/scaffolding/cli-command.d.ts +8 -0
  586. package/dist/scaffolding/cli-command.d.ts.map +1 -0
  587. package/dist/scaffolding/cli-command.js +60 -0
  588. package/dist/scaffolding/cli-command.js.map +1 -0
  589. package/dist/scaffolding/contract/types.d.ts +296 -0
  590. package/dist/scaffolding/contract/types.d.ts.map +1 -0
  591. package/dist/scaffolding/contract/types.js +2 -0
  592. package/dist/scaffolding/contract/types.js.map +1 -0
  593. package/dist/scaffolding/definitions/conformance-fixture.d.ts +3 -0
  594. package/dist/scaffolding/definitions/conformance-fixture.d.ts.map +1 -0
  595. package/dist/scaffolding/definitions/conformance-fixture.js +217 -0
  596. package/dist/scaffolding/definitions/conformance-fixture.js.map +1 -0
  597. package/dist/scaffolding/definitions/registry.d.ts +3 -0
  598. package/dist/scaffolding/definitions/registry.d.ts.map +1 -0
  599. package/dist/scaffolding/definitions/registry.js +6 -0
  600. package/dist/scaffolding/definitions/registry.js.map +1 -0
  601. package/dist/scaffolding/index.d.ts +11 -0
  602. package/dist/scaffolding/index.d.ts.map +1 -0
  603. package/dist/scaffolding/index.js +9 -0
  604. package/dist/scaffolding/index.js.map +1 -0
  605. package/dist/scaffolding/kernel/canonical-json.d.ts +6 -0
  606. package/dist/scaffolding/kernel/canonical-json.d.ts.map +1 -0
  607. package/dist/scaffolding/kernel/canonical-json.js +55 -0
  608. package/dist/scaffolding/kernel/canonical-json.js.map +1 -0
  609. package/dist/scaffolding/kernel/compiler.d.ts +4 -0
  610. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -0
  611. package/dist/scaffolding/kernel/compiler.js +297 -0
  612. package/dist/scaffolding/kernel/compiler.js.map +1 -0
  613. package/dist/scaffolding/kernel/definition-registry.d.ts +50 -0
  614. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -0
  615. package/dist/scaffolding/kernel/definition-registry.js +92 -0
  616. package/dist/scaffolding/kernel/definition-registry.js.map +1 -0
  617. package/dist/scaffolding/kernel/limits.d.ts +5 -0
  618. package/dist/scaffolding/kernel/limits.d.ts.map +1 -0
  619. package/dist/scaffolding/kernel/limits.js +5 -0
  620. package/dist/scaffolding/kernel/limits.js.map +1 -0
  621. package/dist/scaffolding/kernel/plan-validation.d.ts +3 -0
  622. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -0
  623. package/dist/scaffolding/kernel/plan-validation.js +44 -0
  624. package/dist/scaffolding/kernel/plan-validation.js.map +1 -0
  625. package/dist/scaffolding/kernel/receipt.d.ts +35 -0
  626. package/dist/scaffolding/kernel/receipt.d.ts.map +1 -0
  627. package/dist/scaffolding/kernel/receipt.js +206 -0
  628. package/dist/scaffolding/kernel/receipt.js.map +1 -0
  629. package/dist/scaffolding/scaffold-error.d.ts +8 -0
  630. package/dist/scaffolding/scaffold-error.d.ts.map +1 -0
  631. package/dist/scaffolding/scaffold-error.js +11 -0
  632. package/dist/scaffolding/scaffold-error.js.map +1 -0
  633. package/dist/scaffolding/service.d.ts +8 -0
  634. package/dist/scaffolding/service.d.ts.map +1 -0
  635. package/dist/scaffolding/service.js +15 -0
  636. package/dist/scaffolding/service.js.map +1 -0
  637. package/dist/schema-ids.d.ts +1 -1
  638. package/dist/schema-ids.d.ts.map +1 -1
  639. package/dist/schema-ids.js +16 -0
  640. package/dist/schema-ids.js.map +1 -1
  641. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  642. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +17 -12
  643. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  644. package/dist/strict-yaml.d.ts +1 -1
  645. package/dist/strict-yaml.d.ts.map +1 -1
  646. package/dist/strict-yaml.js +33 -33
  647. package/dist/strict-yaml.js.map +1 -1
  648. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.d.ts.map +1 -1
  649. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js +7 -6
  650. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js.map +1 -1
  651. package/package.json +13 -1
  652. package/presets/oxlint/maintainability-tests.json +23 -0
  653. package/presets/oxlint/maintainability.json +23 -0
  654. package/schemas/architecture-source-dependencies/v2.schema.json +102 -0
  655. package/schemas/contract-json-schema-release-baseline/v1.schema.json +65 -0
  656. package/schemas/contract-json-schema-releases/v1.schema.json +119 -0
  657. package/schemas/contract-protobuf-evolution/v1.schema.json +115 -0
  658. package/schemas/contract-protobuf-evolution-baseline/v1.schema.json +54 -0
  659. package/schemas/documentation-local-references/v1.schema.json +29 -0
  660. package/schemas/foundation-config/v1.schema.json +50 -0
  661. package/schemas/governance-architecture-decision-baseline/v1.schema.json +37 -0
  662. package/schemas/governance-architecture-decisions/v1.schema.json +63 -0
  663. package/schemas/package-public-api-baseline/v1.schema.json +1 -1
  664. package/schemas/package-public-api-baseline/v2.schema.json +62 -0
  665. package/schemas/package-public-api-compatibility/v1.schema.json +2 -0
  666. package/schemas/package-public-api-compatibility/v2.schema.json +113 -0
  667. package/schemas/repository-agent-workflow/v1.schema.json +92 -0
  668. package/schemas/repository-security-baseline/v1.schema.json +95 -2
  669. package/schemas/scaffold-intent/v1.schema.json +60 -0
  670. package/schemas/scaffold-plan/v1.schema.json +250 -0
  671. package/schemas/scaffold-receipt/v1.schema.json +299 -0
  672. package/schemas/scaffold-target-catalog/v1.schema.json +52 -0
  673. package/schemas/scaffolding-config/v1.schema.json +99 -0
@@ -0,0 +1,112 @@
1
+ import { lstat, mkdir, readFile, realpath, rename, rm, stat } from "node:fs/promises";
2
+ import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
3
+ import { FoundationError } from "../errors.js";
4
+ import { syncDirectory } from "./local-state-store.js";
5
+ import { FOUNDATION_PACKAGE_NAME, LOCAL_REGISTRY_BACKUP, LOCAL_STATE_DIRECTORY } from "./types.js";
6
+ async function readPackageManifest(path) {
7
+ const value = JSON.parse(await readFile(join(path, "package.json"), "utf8"));
8
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
9
+ throw new FoundationError("PACKAGE_INVALID", `Invalid package.json at ${path}.`);
10
+ }
11
+ return value;
12
+ }
13
+ async function pathExists(path) {
14
+ try {
15
+ await stat(path);
16
+ return true;
17
+ }
18
+ catch (error) {
19
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
20
+ return false;
21
+ }
22
+ throw error;
23
+ }
24
+ }
25
+ export async function pathEntryExists(path) {
26
+ try {
27
+ await lstat(path);
28
+ return true;
29
+ }
30
+ catch (error) {
31
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
32
+ return false;
33
+ }
34
+ throw error;
35
+ }
36
+ }
37
+ async function readPackageEntry(path) {
38
+ const packageRoot = await realpath(path);
39
+ return { manifest: await readPackageManifest(packageRoot), packageRoot };
40
+ }
41
+ function isWithin(parent, candidate) {
42
+ const path = relative(parent, candidate);
43
+ return path === "" || (!path.startsWith(`..${sep}`) && path !== ".." && !isAbsolute(path));
44
+ }
45
+ function assertRecoveryStatePaths(consumerRoot, state) {
46
+ const backupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
47
+ if (resolve(state.consumerRoot) !== consumerRoot ||
48
+ resolve(state.registryBackupPath) !== backupPath ||
49
+ !isWithin(join(consumerRoot, "node_modules"), resolve(state.registryPackageRoot))) {
50
+ throw new FoundationError("LOCAL_STATE_INVALID", "Local recovery state contains paths outside its consumer-owned boundary.");
51
+ }
52
+ }
53
+ function backupRootExpected(consumerRoot, backupRoot, backupPath, state) {
54
+ if (state === undefined) {
55
+ return backupRoot === backupPath || isWithin(join(consumerRoot, "node_modules"), backupRoot);
56
+ }
57
+ return backupRoot === (state.registryEntryKind === "directory"
58
+ ? backupPath
59
+ : resolve(state.registryPackageRoot));
60
+ }
61
+ export async function restoreRegistryEntry(consumerRoot, dependencySpec, state) {
62
+ const installedPath = join(consumerRoot, "node_modules", FOUNDATION_PACKAGE_NAME);
63
+ const backupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
64
+ if (state !== undefined) {
65
+ assertRecoveryStatePaths(consumerRoot, state);
66
+ }
67
+ if (await pathEntryExists(backupPath)) {
68
+ const backup = await readPackageEntry(backupPath);
69
+ if (backup.manifest.name !== FOUNDATION_PACKAGE_NAME ||
70
+ backup.manifest.version !== dependencySpec ||
71
+ !backupRootExpected(consumerRoot, backup.packageRoot, backupPath, state)) {
72
+ throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup identity, version, or location is invalid.");
73
+ }
74
+ await rm(installedPath, { force: true, recursive: true });
75
+ await mkdir(dirname(installedPath), { recursive: true });
76
+ await rename(backupPath, installedPath);
77
+ await syncDirectory(dirname(installedPath));
78
+ await syncDirectory(dirname(backupPath));
79
+ return;
80
+ }
81
+ if (await pathEntryExists(installedPath)) {
82
+ const installed = await readPackageEntry(installedPath).catch(() => { });
83
+ const expectedRoot = state === undefined
84
+ ? installed !== undefined && isWithin(join(consumerRoot, "node_modules"), installed.packageRoot)
85
+ : installed?.packageRoot === resolve(state.registryPackageRoot);
86
+ if (installed !== undefined &&
87
+ expectedRoot &&
88
+ installed.manifest.name === FOUNDATION_PACKAGE_NAME &&
89
+ installed.manifest.version === dependencySpec) {
90
+ return;
91
+ }
92
+ }
93
+ throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup is unavailable and the installed package cannot be proven to be the original registry entry.");
94
+ }
95
+ export async function resolveTargetPackageRoot(targetPath) {
96
+ const root = await realpath(resolve(targetPath));
97
+ if (await pathExists(join(root, "package.json"))) {
98
+ const manifest = await readPackageManifest(root);
99
+ if (manifest.name === FOUNDATION_PACKAGE_NAME) {
100
+ return root;
101
+ }
102
+ }
103
+ const workspacePackage = join(root, "packages", "engineering-foundation");
104
+ if (await pathExists(join(workspacePackage, "package.json"))) {
105
+ const manifest = await readPackageManifest(workspacePackage);
106
+ if (manifest.name === FOUNDATION_PACKAGE_NAME) {
107
+ return await realpath(workspacePackage);
108
+ }
109
+ }
110
+ throw new FoundationError("PACKAGE_INVALID", `Target does not contain ${FOUNDATION_PACKAGE_NAME}.`);
111
+ }
112
+ //# sourceMappingURL=registry-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-recovery.js","sourceRoot":"","sources":["../../src/local-mode/registry-recovery.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { AttachResult, FoundationDevOnlyStatus, FoundationStatus, ProcessRunner } from "./types.js";
2
+ export { acquireFoundationOperationLock } from "./local-state-store.js";
2
3
  export interface FoundationLocalModeServiceOptions {
3
4
  readonly runner: ProcessRunner;
4
5
  readonly now: () => Date;
5
6
  }
6
- export declare function acquireFoundationOperationLock(consumerRoot: string): Promise<() => Promise<void>>;
7
7
  export declare class FoundationLocalModeService {
8
8
  #private;
9
9
  constructor(options: FoundationLocalModeServiceOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EAEvB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAcpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAmPD,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAmC9B;AAED,qBAAa,0BAA0B;;IAIrC,YAAY,OAAO,EAAE,iCAAiC,EAGrD;IA4HK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5D;IAEK,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CA2NvB;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6C5D;IAEK,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASpE;IAEK,aAAa,CACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAUlC;CACF"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,0BAA0B;;IAIrC,YAAY,OAAO,EAAE,iCAAiC,EAGrD;IAsDK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5D;IAEK,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CASvB;IAEK,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6C5D;IAEK,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASpE;IAEK,aAAa,CACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAUlC;CACF"}
@@ -1,222 +1,14 @@
1
- import { appendFile, lstat, mkdir, open, readFile, readdir, realpath, rename, rm, rmdir, stat, symlink } from "node:fs/promises";
2
- import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
3
- import { isDeepStrictEqual } from "node:util";
4
- import { lock } from "proper-lockfile";
1
+ import { realpath } from "node:fs/promises";
2
+ import { resolve } from "node:path";
5
3
  import { FoundationError } from "../errors.js";
6
- import { inspectFoundationPackage, parseFoundationPackageSelfCheck } from "../package-self-check.js";
4
+ import { attachFoundation } from "./attach-transaction.js";
7
5
  import { inspectFoundationDevOnly } from "./consumer-policy.js";
8
6
  import { isExactVersion } from "../semantic-version.js";
9
7
  import { inspectFoundationMode } from "./inspection.js";
10
- import { FOUNDATION_PACKAGE_NAME, LOCAL_OPERATION_LOCK, LOCAL_REGISTRY_BACKUP, LOCAL_STATE_DIRECTORY, LOCAL_STATE_FILE } from "./types.js";
11
- async function readPackageManifest(path) {
12
- const value = JSON.parse(await readFile(join(path, "package.json"), "utf8"));
13
- if (typeof value !== "object" || value === null || Array.isArray(value)) {
14
- throw new FoundationError("PACKAGE_INVALID", `Invalid package.json at ${path}.`);
15
- }
16
- return value;
17
- }
18
- async function pathExists(path) {
19
- try {
20
- await stat(path);
21
- return true;
22
- }
23
- catch (error) {
24
- if (error instanceof Error &&
25
- "code" in error &&
26
- error.code === "ENOENT") {
27
- return false;
28
- }
29
- throw error;
30
- }
31
- }
32
- async function pathEntryExists(path) {
33
- try {
34
- await lstat(path);
35
- return true;
36
- }
37
- catch (error) {
38
- if (error instanceof Error &&
39
- "code" in error &&
40
- error.code === "ENOENT") {
41
- return false;
42
- }
43
- throw error;
44
- }
45
- }
46
- async function ensureLocalStateDirectory(consumerRoot) {
47
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
48
- try {
49
- const entry = await lstat(directory);
50
- if (!entry.isDirectory() || entry.isSymbolicLink()) {
51
- throw new FoundationError("LOCAL_STATE_INVALID", "Local foundation state path must be a real consumer-owned directory.");
52
- }
53
- if ((await realpath(directory)) !== directory) {
54
- throw new FoundationError("LOCAL_STATE_INVALID", "Local foundation state directory resolves outside its expected path.");
55
- }
56
- return directory;
57
- }
58
- catch (error) {
59
- if (!(error instanceof Error &&
60
- "code" in error &&
61
- error.code === "ENOENT")) {
62
- throw error;
63
- }
64
- }
65
- try {
66
- await mkdir(directory);
67
- }
68
- catch (error) {
69
- if (error instanceof Error &&
70
- "code" in error &&
71
- error.code === "EEXIST") {
72
- return await ensureLocalStateDirectory(consumerRoot);
73
- }
74
- throw error;
75
- }
76
- await syncDirectory(consumerRoot);
77
- return directory;
78
- }
79
- async function readPackageEntry(path) {
80
- const packageRoot = await realpath(path);
81
- return {
82
- manifest: await readPackageManifest(packageRoot),
83
- packageRoot
84
- };
85
- }
86
- function isWithin(parent, candidate) {
87
- const path = relative(parent, candidate);
88
- return (path === "" ||
89
- (!path.startsWith(`..${sep}`) && path !== ".." && !isAbsolute(path)));
90
- }
91
- function assertRecoveryStatePaths(consumerRoot, state) {
92
- const expectedBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
93
- const nodeModulesRoot = join(consumerRoot, "node_modules");
94
- if (resolve(state.consumerRoot) !== consumerRoot ||
95
- resolve(state.registryBackupPath) !== expectedBackupPath ||
96
- !isWithin(nodeModulesRoot, resolve(state.registryPackageRoot))) {
97
- throw new FoundationError("LOCAL_STATE_INVALID", "Local recovery state contains paths outside its consumer-owned boundary.");
98
- }
99
- }
100
- async function resolveTargetPackageRoot(targetPath) {
101
- const root = await realpath(resolve(targetPath));
102
- const directManifest = join(root, "package.json");
103
- if (await pathExists(directManifest)) {
104
- const manifest = await readPackageManifest(root);
105
- if (manifest.name === FOUNDATION_PACKAGE_NAME) {
106
- return root;
107
- }
108
- }
109
- const workspacePackage = join(root, "packages", "engineering-foundation");
110
- if (await pathExists(join(workspacePackage, "package.json"))) {
111
- const manifest = await readPackageManifest(workspacePackage);
112
- if (manifest.name === FOUNDATION_PACKAGE_NAME) {
113
- return await realpath(workspacePackage);
114
- }
115
- }
116
- throw new FoundationError("PACKAGE_INVALID", `Target does not contain ${FOUNDATION_PACKAGE_NAME}.`);
117
- }
118
- async function writeLinkState(consumerRoot, state) {
119
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
120
- const destination = join(directory, LOCAL_STATE_FILE);
121
- const temporary = `${destination}.${process.pid}.tmp`;
122
- await ensureLocalStateDirectory(consumerRoot);
123
- const handle = await open(temporary, "w", 0o600);
124
- try {
125
- await handle.writeFile(`${JSON.stringify(state, null, 2)}\n`, "utf8");
126
- await handle.sync();
127
- }
128
- finally {
129
- await handle.close();
130
- }
131
- await rename(temporary, destination);
132
- await syncDirectory(directory);
133
- }
134
- async function syncDirectory(path) {
135
- try {
136
- const handle = await open(path, "r");
137
- try {
138
- await handle.sync();
139
- }
140
- finally {
141
- await handle.close();
142
- }
143
- }
144
- catch (error) {
145
- if (process.platform === "win32" &&
146
- error instanceof Error &&
147
- "code" in error &&
148
- ["EACCES", "EINVAL", "EISDIR", "EPERM"].includes(error.code ?? "")) {
149
- return;
150
- }
151
- throw error;
152
- }
153
- }
154
- async function removeLinkState(consumerRoot) {
155
- const directory = join(consumerRoot, LOCAL_STATE_DIRECTORY);
156
- const destination = join(directory, LOCAL_STATE_FILE);
157
- await rm(destination, { force: true });
158
- const temporaryEntries = await readdir(directory).catch(() => []);
159
- await Promise.all(temporaryEntries
160
- .filter((entry) => entry.startsWith(`${LOCAL_STATE_FILE}.`) && entry.endsWith(".tmp"))
161
- .map(async (entry) => {
162
- await rm(join(directory, entry), { force: true });
163
- }));
164
- await syncDirectory(directory);
165
- try {
166
- await rmdir(directory);
167
- }
168
- catch (error) {
169
- if (error instanceof Error &&
170
- "code" in error &&
171
- ["ENOENT", "ENOTEMPTY"].includes(error.code ?? "")) {
172
- return;
173
- }
174
- throw error;
175
- }
176
- }
177
- async function pruneLocalStateDirectory(consumerRoot) {
178
- try {
179
- await rmdir(join(consumerRoot, LOCAL_STATE_DIRECTORY));
180
- }
181
- catch (error) {
182
- if (error instanceof Error &&
183
- "code" in error &&
184
- ["ENOENT", "ENOTEMPTY"].includes(error.code ?? "")) {
185
- return;
186
- }
187
- throw error;
188
- }
189
- }
190
- export async function acquireFoundationOperationLock(consumerRoot) {
191
- const directory = await ensureLocalStateDirectory(consumerRoot);
192
- const lockPath = join(directory, LOCAL_OPERATION_LOCK);
193
- if (await pathEntryExists(lockPath)) {
194
- const lockEntry = await lstat(lockPath);
195
- if (!lockEntry.isDirectory() || lockEntry.isSymbolicLink()) {
196
- throw new FoundationError("LOCAL_STATE_INVALID", "Foundation operation lock path must be a real local directory.");
197
- }
198
- }
199
- try {
200
- const release = await lock(directory, {
201
- lockfilePath: lockPath,
202
- onCompromised: (error) => {
203
- throw error;
204
- },
205
- realpath: true,
206
- retries: 0,
207
- stale: 120_000,
208
- update: 30_000
209
- });
210
- return async () => {
211
- await release();
212
- await syncDirectory(directory);
213
- await pruneLocalStateDirectory(consumerRoot);
214
- };
215
- }
216
- catch (error) {
217
- throw new FoundationError("LOCAL_STATE_INVALID", "Another foundation operation is active or its lock is not safely recoverable.", { cause: error });
218
- }
219
- }
8
+ import { acquireFoundationOperationLock, removeLinkState, writeLinkState } from "./local-state-store.js";
9
+ import { restoreRegistryEntry } from "./registry-recovery.js";
10
+ import { FOUNDATION_PACKAGE_NAME } from "./types.js";
11
+ export { acquireFoundationOperationLock } from "./local-state-store.js";
220
12
  export class FoundationLocalModeService {
221
13
  #runner;
222
14
  #now;
@@ -224,47 +16,6 @@ export class FoundationLocalModeService {
224
16
  this.#runner = options.runner;
225
17
  this.#now = options.now;
226
18
  }
227
- async #restoreRegistryEntry(consumerRoot, dependencySpec, state) {
228
- const installedPackagePath = join(consumerRoot, "node_modules", FOUNDATION_PACKAGE_NAME);
229
- const registryBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
230
- if (state !== undefined) {
231
- assertRecoveryStatePaths(consumerRoot, state);
232
- }
233
- if (await pathEntryExists(registryBackupPath)) {
234
- const backup = await readPackageEntry(registryBackupPath);
235
- const nodeModulesRoot = join(consumerRoot, "node_modules");
236
- const backupRootIsExpected = state === undefined
237
- ? backup.packageRoot === registryBackupPath ||
238
- isWithin(nodeModulesRoot, backup.packageRoot)
239
- : backup.packageRoot ===
240
- (state.registryEntryKind === "directory"
241
- ? registryBackupPath
242
- : resolve(state.registryPackageRoot));
243
- if (backup.manifest.name !== FOUNDATION_PACKAGE_NAME ||
244
- backup.manifest.version !== dependencySpec ||
245
- !backupRootIsExpected) {
246
- throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup identity, version, or location is invalid.");
247
- }
248
- await rm(installedPackagePath, { force: true, recursive: true });
249
- await mkdir(dirname(installedPackagePath), { recursive: true });
250
- await rename(registryBackupPath, installedPackagePath);
251
- await syncDirectory(dirname(installedPackagePath));
252
- await syncDirectory(dirname(registryBackupPath));
253
- return;
254
- }
255
- if (await pathEntryExists(installedPackagePath)) {
256
- const installed = await readPackageEntry(installedPackagePath).catch(() => { });
257
- if (installed !== undefined &&
258
- (state === undefined
259
- ? isWithin(join(consumerRoot, "node_modules"), installed.packageRoot)
260
- : installed.packageRoot === resolve(state.registryPackageRoot)) &&
261
- installed.manifest.name === FOUNDATION_PACKAGE_NAME &&
262
- installed.manifest.version === dependencySpec) {
263
- return;
264
- }
265
- }
266
- throw new FoundationError("LOCAL_STATE_INVALID", "Registry backup is unavailable and the installed package cannot be proven to be the original registry entry.");
267
- }
268
19
  async #readStatus(consumerPath, ignoreOperationLock) {
269
20
  const status = await inspectFoundationMode(consumerPath, {
270
21
  ignoreOperationLock
@@ -310,148 +61,13 @@ export class FoundationLocalModeService {
310
61
  return await this.#readStatus(consumerPath, false);
311
62
  }
312
63
  async attach(consumerPath, targetPath) {
313
- const before = await inspectFoundationMode(consumerPath, {
314
- ignoreOperationLock: true
64
+ return await attachFoundation({
65
+ consumerPath,
66
+ targetPath,
67
+ runner: this.#runner,
68
+ now: this.#now,
69
+ readStatus: async (path, ignoreOperationLock) => await this.#readStatus(path, ignoreOperationLock)
315
70
  });
316
- if (before.mode !== "REGISTRY" ||
317
- before.dependencySpec === undefined ||
318
- !isExactVersion(before.dependencySpec)) {
319
- throw new FoundationError("CONSUMER_INVALID", `Consumer must be in valid registry mode with an exact ${FOUNDATION_PACKAGE_NAME} version before attach: ${before.issues.join(" ") || before.mode}.`);
320
- }
321
- const consumerRoot = before.consumerRoot;
322
- const targetPackageRoot = await resolveTargetPackageRoot(targetPath);
323
- if (targetPackageRoot === consumerRoot) {
324
- throw new FoundationError("PACKAGE_INVALID", "Foundation target cannot be the consumer repository.");
325
- }
326
- const expectedSelfCheck = await inspectFoundationPackage(targetPackageRoot);
327
- const selfCheckResult = await this.#runner.run({
328
- command: process.execPath,
329
- args: [join(targetPackageRoot, "dist", "cli.js"), "self-check", "--json"],
330
- cwd: targetPackageRoot
331
- });
332
- let actualSelfCheck;
333
- try {
334
- actualSelfCheck = parseFoundationPackageSelfCheck(JSON.parse(selfCheckResult.stdout));
335
- }
336
- catch (error) {
337
- throw new FoundationError("PACKAGE_INVALID", "Foundation target CLI self-check did not return a valid result.", { cause: error });
338
- }
339
- if (!isDeepStrictEqual(actualSelfCheck, expectedSelfCheck)) {
340
- throw new FoundationError("PACKAGE_INVALID", "Foundation target CLI self-check disagrees with package metadata.");
341
- }
342
- const gitCommit = (await this.#runner.run({
343
- command: "git",
344
- args: ["-C", targetPackageRoot, "rev-parse", "HEAD"],
345
- cwd: consumerRoot
346
- })).stdout.trim();
347
- const gitDirty = (await this.#runner.run({
348
- command: "git",
349
- args: ["-C", targetPackageRoot, "status", "--porcelain"],
350
- cwd: consumerRoot
351
- })).stdout.trim().length > 0;
352
- const excludeResult = await this.#runner.run({
353
- command: "git",
354
- args: ["-C", consumerRoot, "rev-parse", "--git-path", "info/exclude"],
355
- cwd: consumerRoot
356
- });
357
- const excludePathCandidate = excludeResult.stdout.trim();
358
- const excludePath = isAbsolute(excludePathCandidate)
359
- ? excludePathCandidate
360
- : resolve(consumerRoot, excludePathCandidate);
361
- await mkdir(dirname(excludePath), { recursive: true });
362
- const exclude = await readFile(excludePath, "utf8").catch(() => "");
363
- if (!exclude.split(/\r?\n/u).includes(`${LOCAL_STATE_DIRECTORY}/`)) {
364
- const separator = exclude.length === 0 || exclude.endsWith("\n") ? "" : "\n";
365
- await appendFile(excludePath, `${separator}${LOCAL_STATE_DIRECTORY}/\n`, "utf8");
366
- }
367
- const installedPackagePath = join(consumerRoot, "node_modules", FOUNDATION_PACKAGE_NAME);
368
- const registryBackupPath = join(consumerRoot, LOCAL_STATE_DIRECTORY, LOCAL_REGISTRY_BACKUP);
369
- const releaseLock = await acquireFoundationOperationLock(consumerRoot);
370
- let state;
371
- try {
372
- const current = await inspectFoundationMode(consumerRoot, {
373
- ignoreOperationLock: true
374
- });
375
- if (current.mode !== "REGISTRY" ||
376
- current.dependencySpec !== before.dependencySpec ||
377
- current.installedPackageRoot === undefined) {
378
- throw new FoundationError("LOCAL_STATE_INVALID", "Consumer foundation state changed before attach acquired its operation lock.");
379
- }
380
- if (await pathEntryExists(registryBackupPath)) {
381
- throw new FoundationError("LOCAL_STATE_INVALID", "A registry backup already exists; run detach to recover it before attaching.");
382
- }
383
- const registryEntry = await lstat(installedPackagePath);
384
- if (!registryEntry.isDirectory() && !registryEntry.isSymbolicLink()) {
385
- throw new FoundationError("LOCAL_STATE_INVALID", "Installed foundation entry is neither a directory nor a symbolic link.");
386
- }
387
- state = {
388
- schemaVersion: 1,
389
- phase: "ATTACHING",
390
- consumerRoot,
391
- targetPackageRoot,
392
- registryBackupPath,
393
- registryEntryKind: registryEntry.isSymbolicLink()
394
- ? "symbolic-link"
395
- : "directory",
396
- registryPackageRoot: current.installedPackageRoot,
397
- packageVersion: expectedSelfCheck.packageVersion,
398
- gitCommit,
399
- gitDirty,
400
- attachedAt: this.#now().toISOString()
401
- };
402
- await writeLinkState(consumerRoot, state);
403
- if (state.registryEntryKind === "symbolic-link") {
404
- await symlink(state.registryPackageRoot, registryBackupPath, process.platform === "win32" ? "junction" : "dir");
405
- await syncDirectory(dirname(registryBackupPath));
406
- await rm(installedPackagePath, { force: true });
407
- }
408
- else {
409
- await rename(installedPackagePath, registryBackupPath);
410
- await syncDirectory(dirname(registryBackupPath));
411
- }
412
- await syncDirectory(dirname(installedPackagePath));
413
- await mkdir(dirname(installedPackagePath), { recursive: true });
414
- await symlink(targetPackageRoot, installedPackagePath, process.platform === "win32" ? "junction" : "dir");
415
- const installedPackageRoot = await realpath(installedPackagePath);
416
- if (installedPackageRoot !== targetPackageRoot) {
417
- throw new FoundationError("LOCAL_STATE_INVALID", "Local package link does not resolve to the requested target.");
418
- }
419
- await syncDirectory(dirname(installedPackagePath));
420
- state = { ...state, phase: "LOCAL" };
421
- await writeLinkState(consumerRoot, state);
422
- const status = await this.#readStatus(consumerRoot, true);
423
- if (status.mode !== "LOCAL") {
424
- throw new FoundationError("LOCAL_STATE_INVALID", `Local attach verification failed: ${status.issues.join(" ")}`);
425
- }
426
- return { status, targetPackageRoot };
427
- }
428
- catch (error) {
429
- if (state === undefined) {
430
- throw error;
431
- }
432
- const recoveryErrors = [];
433
- try {
434
- await this.#restoreRegistryEntry(consumerRoot, before.dependencySpec, state);
435
- }
436
- catch (restoreError) {
437
- recoveryErrors.push(restoreError);
438
- }
439
- try {
440
- await removeLinkState(consumerRoot);
441
- }
442
- catch (cleanupError) {
443
- recoveryErrors.push(cleanupError);
444
- }
445
- if (recoveryErrors.length > 0) {
446
- throw new FoundationError("LOCAL_STATE_INVALID", "Local attach failed and its registry state could not be fully restored.", {
447
- cause: new AggregateError([error, ...recoveryErrors], "Attach and one or more recovery operations failed.")
448
- });
449
- }
450
- throw new FoundationError("LOCAL_STATE_INVALID", "Local attach failed and the registry installation was restored.", { cause: error });
451
- }
452
- finally {
453
- await releaseLock();
454
- }
455
71
  }
456
72
  async detach(consumerPath) {
457
73
  const before = await inspectFoundationMode(consumerPath);
@@ -473,7 +89,7 @@ export class FoundationLocalModeService {
473
89
  phase: "DETACHING"
474
90
  });
475
91
  }
476
- await this.#restoreRegistryEntry(before.consumerRoot, before.dependencySpec, current.linkState);
92
+ await restoreRegistryEntry(before.consumerRoot, before.dependencySpec, current.linkState);
477
93
  await removeLinkState(before.consumerRoot);
478
94
  }
479
95
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/local-mode/service.ts"],"names":[],"mappings":"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"}