@agent-teams/engineering-foundation 1.1.1 → 1.3.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 (321) hide show
  1. package/README.md +9 -0
  2. package/dist/capabilities/public-api-compatibility/adapters/inbound/configuration/load-public-api-audit.d.ts +4 -0
  3. package/dist/capabilities/public-api-compatibility/adapters/inbound/configuration/load-public-api-audit.d.ts.map +1 -0
  4. package/dist/capabilities/public-api-compatibility/adapters/inbound/configuration/load-public-api-audit.js +13 -0
  5. package/dist/capabilities/public-api-compatibility/adapters/inbound/configuration/load-public-api-audit.js.map +1 -0
  6. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/audit-compiler-bindings.d.ts +17 -0
  7. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/audit-compiler-bindings.d.ts.map +1 -0
  8. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/audit-compiler-bindings.js +139 -0
  9. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/audit-compiler-bindings.js.map +1 -0
  10. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/load-pinned-audit-sdk.d.ts +7 -0
  11. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/load-pinned-audit-sdk.d.ts.map +1 -0
  12. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/load-pinned-audit-sdk.js +14 -0
  13. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/load-pinned-audit-sdk.js.map +1 -0
  14. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  15. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +10 -43
  16. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  17. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-observer.d.ts +6 -0
  18. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-observer.d.ts.map +1 -0
  19. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-observer.js +497 -0
  20. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-observer.js.map +1 -0
  21. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/pinned-audit-compiler.d.ts +101 -0
  22. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/pinned-audit-compiler.d.ts.map +1 -0
  23. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/pinned-audit-compiler.js +2 -0
  24. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/pinned-audit-compiler.js.map +1 -0
  25. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/prepare-public-api-extractor.d.ts +15 -0
  26. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/prepare-public-api-extractor.d.ts.map +1 -0
  27. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/prepare-public-api-extractor.js +47 -0
  28. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/prepare-public-api-extractor.js.map +1 -0
  29. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-audit-inputs.d.ts +43 -0
  30. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-audit-inputs.d.ts.map +1 -0
  31. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-audit-inputs.js +239 -0
  32. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-audit-inputs.js.map +1 -0
  33. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +1 -1
  34. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -1
  35. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -1
  36. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/stage-public-api-audit.d.ts +12 -0
  37. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/stage-public-api-audit.d.ts.map +1 -0
  38. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/stage-public-api-audit.js +169 -0
  39. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/stage-public-api-audit.js.map +1 -0
  40. package/dist/capabilities/public-api-compatibility/api.d.ts +3 -0
  41. package/dist/capabilities/public-api-compatibility/api.d.ts.map +1 -0
  42. package/dist/capabilities/public-api-compatibility/api.js +2 -0
  43. package/dist/capabilities/public-api-compatibility/api.js.map +1 -0
  44. package/dist/capabilities/public-api-compatibility/application/model/public-api-audit-report.d.ts +36 -0
  45. package/dist/capabilities/public-api-compatibility/application/model/public-api-audit-report.d.ts.map +1 -0
  46. package/dist/capabilities/public-api-compatibility/application/model/public-api-audit-report.js +2 -0
  47. package/dist/capabilities/public-api-compatibility/application/model/public-api-audit-report.js.map +1 -0
  48. package/dist/capabilities/public-api-compatibility/application/model/public-api-observation.d.ts +73 -0
  49. package/dist/capabilities/public-api-compatibility/application/model/public-api-observation.d.ts.map +1 -0
  50. package/dist/capabilities/public-api-compatibility/application/model/public-api-observation.js +5 -0
  51. package/dist/capabilities/public-api-compatibility/application/model/public-api-observation.js.map +1 -0
  52. package/dist/capabilities/public-api-compatibility/application/policies/project-public-api-observation.d.ts +33 -0
  53. package/dist/capabilities/public-api-compatibility/application/policies/project-public-api-observation.d.ts.map +1 -0
  54. package/dist/capabilities/public-api-compatibility/application/policies/project-public-api-observation.js +110 -0
  55. package/dist/capabilities/public-api-compatibility/application/policies/project-public-api-observation.js.map +1 -0
  56. package/dist/capabilities/public-api-compatibility/application/policies/public-api-audit-eligibility.d.ts +9 -0
  57. package/dist/capabilities/public-api-compatibility/application/policies/public-api-audit-eligibility.d.ts.map +1 -0
  58. package/dist/capabilities/public-api-compatibility/application/policies/public-api-audit-eligibility.js +180 -0
  59. package/dist/capabilities/public-api-compatibility/application/policies/public-api-audit-eligibility.js.map +1 -0
  60. package/dist/capabilities/public-api-compatibility/application/ports/public-api-observer.d.ts +29 -0
  61. package/dist/capabilities/public-api-compatibility/application/ports/public-api-observer.d.ts.map +1 -0
  62. package/dist/capabilities/public-api-compatibility/application/ports/public-api-observer.js +2 -0
  63. package/dist/capabilities/public-api-compatibility/application/ports/public-api-observer.js.map +1 -0
  64. package/dist/capabilities/public-api-compatibility/application/use-cases/audit-public-api.d.ts +14 -0
  65. package/dist/capabilities/public-api-compatibility/application/use-cases/audit-public-api.d.ts.map +1 -0
  66. package/dist/capabilities/public-api-compatibility/application/use-cases/audit-public-api.js +144 -0
  67. package/dist/capabilities/public-api-compatibility/application/use-cases/audit-public-api.js.map +1 -0
  68. package/dist/capabilities/public-api-compatibility/contract/public-api-audit.d.ts +58 -0
  69. package/dist/capabilities/public-api-compatibility/contract/public-api-audit.d.ts.map +1 -0
  70. package/dist/capabilities/public-api-compatibility/contract/public-api-audit.js +2 -0
  71. package/dist/capabilities/public-api-compatibility/contract/public-api-audit.js.map +1 -0
  72. package/dist/capabilities/public-api-compatibility/node.d.ts +3 -0
  73. package/dist/capabilities/public-api-compatibility/node.d.ts.map +1 -0
  74. package/dist/capabilities/public-api-compatibility/node.js +2 -0
  75. package/dist/capabilities/public-api-compatibility/node.js.map +1 -0
  76. package/dist/capabilities/public-api-compatibility/schemas.d.ts +1 -1
  77. package/dist/capabilities/public-api-compatibility/schemas.d.ts.map +1 -1
  78. package/dist/capabilities/public-api-compatibility/schemas.js +2 -0
  79. package/dist/capabilities/public-api-compatibility/schemas.js.map +1 -1
  80. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.d.ts +2 -1
  81. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.d.ts.map +1 -1
  82. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.js +6 -2
  83. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.js.map +1 -1
  84. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.d.ts.map +1 -1
  85. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.js +17 -13
  86. package/dist/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.js.map +1 -1
  87. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.d.ts +1 -0
  88. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.d.ts.map +1 -1
  89. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.js +22 -7
  90. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-filesystem.js.map +1 -1
  91. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.d.ts +8 -0
  92. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.d.ts.map +1 -0
  93. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.js +135 -0
  94. package/dist/capabilities/source-dependencies/adapters/outbound/node/generated-output-manifest-observations.js.map +1 -0
  95. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -1
  96. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +1 -0
  97. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -1
  98. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.d.ts +4 -0
  99. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.d.ts.map +1 -1
  100. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.js +70 -34
  101. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-snapshot.js.map +1 -1
  102. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.d.ts.map +1 -1
  103. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.js +12 -4
  104. package/dist/capabilities/source-dependencies/adapters/outbound/node/pnpm-source-workspace-topology-inspector.js.map +1 -1
  105. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.d.ts +20 -0
  106. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.d.ts.map +1 -0
  107. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.js +164 -0
  108. package/dist/capabilities/source-dependencies/adapters/outbound/node/root-package-source-scopes.js.map +1 -0
  109. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.d.ts +13 -4
  110. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.d.ts.map +1 -1
  111. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.js +39 -67
  112. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-discovery.js.map +1 -1
  113. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.d.ts +1 -0
  114. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.d.ts.map +1 -1
  115. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.js +4 -1
  116. package/dist/capabilities/source-dependencies/adapters/outbound/node/selected-package-source-snapshot-reader.js.map +1 -1
  117. package/dist/capabilities/source-dependencies/adapters/outbound/node/source-census-reader.d.ts +3 -0
  118. package/dist/capabilities/source-dependencies/adapters/outbound/node/source-census-reader.d.ts.map +1 -0
  119. package/dist/capabilities/source-dependencies/adapters/outbound/node/source-census-reader.js +32 -0
  120. package/dist/capabilities/source-dependencies/adapters/outbound/node/source-census-reader.js.map +1 -0
  121. package/dist/capabilities/source-dependencies/api.d.ts +1 -0
  122. package/dist/capabilities/source-dependencies/api.d.ts.map +1 -1
  123. package/dist/capabilities/source-dependencies/api.js.map +1 -1
  124. package/dist/capabilities/source-dependencies/application/model/source-workspace-topology.d.ts +1 -0
  125. package/dist/capabilities/source-dependencies/application/model/source-workspace-topology.d.ts.map +1 -1
  126. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +5 -1
  127. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
  128. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +1 -1
  129. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.d.ts.map +1 -1
  130. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.js +19 -14
  131. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-workspace-coverage.js.map +1 -1
  132. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.d.ts +5 -0
  133. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.d.ts.map +1 -0
  134. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.js +59 -0
  135. package/dist/capabilities/source-dependencies/application/policies/selected-source-package-topology.js.map +1 -0
  136. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.d.ts +11 -0
  137. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.d.ts.map +1 -0
  138. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.js +27 -0
  139. package/dist/capabilities/source-dependencies/application/policies/source-package-ownership.js.map +1 -0
  140. package/dist/capabilities/source-dependencies/application/ports/source-census-reader.d.ts +13 -0
  141. package/dist/capabilities/source-dependencies/application/ports/source-census-reader.d.ts.map +1 -0
  142. package/dist/capabilities/source-dependencies/application/ports/source-census-reader.js +2 -0
  143. package/dist/capabilities/source-dependencies/application/ports/source-census-reader.js.map +1 -0
  144. package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts +1 -0
  145. package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts.map +1 -1
  146. package/dist/capabilities/source-dependencies/application/ports/source-workspace-topology-inspector.d.ts +3 -0
  147. package/dist/capabilities/source-dependencies/application/ports/source-workspace-topology-inspector.d.ts.map +1 -1
  148. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
  149. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +17 -8
  150. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
  151. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts +1 -0
  152. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts.map +1 -1
  153. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js +1 -0
  154. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js.map +1 -1
  155. package/dist/capabilities/source-dependencies/contract/config.d.ts +1 -1
  156. package/dist/capabilities/source-dependencies/contract/config.js +1 -1
  157. package/dist/capabilities/source-dependencies/module.d.ts +2 -0
  158. package/dist/capabilities/source-dependencies/module.d.ts.map +1 -1
  159. package/dist/capabilities/source-dependencies/module.js +3 -1
  160. package/dist/capabilities/source-dependencies/module.js.map +1 -1
  161. package/dist/capabilities/source-dependencies/schemas.d.ts +1 -1
  162. package/dist/capabilities/source-dependencies/schemas.d.ts.map +1 -1
  163. package/dist/capabilities/source-dependencies/schemas.js +2 -1
  164. package/dist/capabilities/source-dependencies/schemas.js.map +1 -1
  165. package/dist/capabilities/suppression-governance/adapters/inbound/configuration/load-capability-config.d.ts +1 -0
  166. package/dist/capabilities/suppression-governance/adapters/inbound/configuration/load-capability-config.d.ts.map +1 -1
  167. package/dist/capabilities/suppression-governance/adapters/inbound/configuration/load-capability-config.js +3 -0
  168. package/dist/capabilities/suppression-governance/adapters/inbound/configuration/load-capability-config.js.map +1 -1
  169. package/dist/capabilities/suppression-governance/module.d.ts +1 -0
  170. package/dist/capabilities/suppression-governance/module.d.ts.map +1 -1
  171. package/dist/capabilities/suppression-governance/module.js +1 -0
  172. package/dist/capabilities/suppression-governance/module.js.map +1 -1
  173. package/dist/composition/capability-modules.d.ts.map +1 -1
  174. package/dist/composition/capability-modules.js +3 -0
  175. package/dist/composition/capability-modules.js.map +1 -1
  176. package/dist/composition/command-host.d.ts.map +1 -1
  177. package/dist/composition/command-host.js +2 -1
  178. package/dist/composition/command-host.js.map +1 -1
  179. package/dist/composition/quality-coverage.d.ts +6 -0
  180. package/dist/composition/quality-coverage.d.ts.map +1 -0
  181. package/dist/composition/quality-coverage.js +25 -0
  182. package/dist/composition/quality-coverage.js.map +1 -0
  183. package/dist/features/command-host/adapters/inbound/cli/cli-arguments.d.ts.map +1 -1
  184. package/dist/features/command-host/adapters/inbound/cli/cli-arguments.js +17 -2
  185. package/dist/features/command-host/adapters/inbound/cli/cli-arguments.js.map +1 -1
  186. package/dist/features/command-host/adapters/inbound/cli/foundation-cli.d.ts.map +1 -1
  187. package/dist/features/command-host/adapters/inbound/cli/foundation-cli.js +38 -1
  188. package/dist/features/command-host/adapters/inbound/cli/foundation-cli.js.map +1 -1
  189. package/dist/features/command-host/application/command-invocation.d.ts +1 -0
  190. package/dist/features/command-host/application/command-invocation.d.ts.map +1 -1
  191. package/dist/features/command-host/application/command-invocation.js.map +1 -1
  192. package/dist/features/command-host/application/command-reporting.d.ts +2 -2
  193. package/dist/features/command-host/application/command-reporting.d.ts.map +1 -1
  194. package/dist/features/command-host/application/command-reporting.js +4 -1
  195. package/dist/features/command-host/application/command-reporting.js.map +1 -1
  196. package/dist/features/command-host/application/command-services.d.ts +10 -1
  197. package/dist/features/command-host/application/command-services.d.ts.map +1 -1
  198. package/dist/features/command-host/composition/node-command-host.d.ts +4 -1
  199. package/dist/features/command-host/composition/node-command-host.d.ts.map +1 -1
  200. package/dist/features/command-host/composition/node-command-host.js +3 -0
  201. package/dist/features/command-host/composition/node-command-host.js.map +1 -1
  202. package/dist/features/foundation-check/adapters/inbound/config/foundation-config-reader.d.ts.map +1 -1
  203. package/dist/features/foundation-check/adapters/inbound/config/foundation-config-reader.js +2 -1
  204. package/dist/features/foundation-check/adapters/inbound/config/foundation-config-reader.js.map +1 -1
  205. package/dist/features/foundation-check/application/ports/foundation-config-input.d.ts +1 -1
  206. package/dist/features/foundation-check/application/ports/foundation-config-input.d.ts.map +1 -1
  207. package/dist/features/foundation-check/schemas.d.ts +1 -1
  208. package/dist/features/foundation-check/schemas.d.ts.map +1 -1
  209. package/dist/features/foundation-check/schemas.js +2 -1
  210. package/dist/features/foundation-check/schemas.js.map +1 -1
  211. package/dist/features/quality-coverage/adapters/configuration.d.ts +3 -0
  212. package/dist/features/quality-coverage/adapters/configuration.d.ts.map +1 -0
  213. package/dist/features/quality-coverage/adapters/configuration.js +4 -0
  214. package/dist/features/quality-coverage/adapters/configuration.js.map +1 -0
  215. package/dist/features/quality-coverage/adapters/consumer-execution.d.ts +12 -0
  216. package/dist/features/quality-coverage/adapters/consumer-execution.d.ts.map +1 -0
  217. package/dist/features/quality-coverage/adapters/consumer-execution.js +35 -0
  218. package/dist/features/quality-coverage/adapters/consumer-execution.js.map +1 -0
  219. package/dist/features/quality-coverage/adapters/consumer-observations.d.ts +8 -0
  220. package/dist/features/quality-coverage/adapters/consumer-observations.d.ts.map +1 -0
  221. package/dist/features/quality-coverage/adapters/consumer-observations.js +93 -0
  222. package/dist/features/quality-coverage/adapters/consumer-observations.js.map +1 -0
  223. package/dist/features/quality-coverage/adapters/consumer-toolchain.d.ts +13 -0
  224. package/dist/features/quality-coverage/adapters/consumer-toolchain.d.ts.map +1 -0
  225. package/dist/features/quality-coverage/adapters/consumer-toolchain.js +84 -0
  226. package/dist/features/quality-coverage/adapters/consumer-toolchain.js.map +1 -0
  227. package/dist/features/quality-coverage/adapters/oxlint-output.d.ts +8 -0
  228. package/dist/features/quality-coverage/adapters/oxlint-output.d.ts.map +1 -0
  229. package/dist/features/quality-coverage/adapters/oxlint-output.js +53 -0
  230. package/dist/features/quality-coverage/adapters/oxlint-output.js.map +1 -0
  231. package/dist/features/quality-coverage/adapters/oxlint-session.d.ts +14 -0
  232. package/dist/features/quality-coverage/adapters/oxlint-session.d.ts.map +1 -0
  233. package/dist/features/quality-coverage/adapters/oxlint-session.js +53 -0
  234. package/dist/features/quality-coverage/adapters/oxlint-session.js.map +1 -0
  235. package/dist/features/quality-coverage/adapters/profile-input.d.ts +9 -0
  236. package/dist/features/quality-coverage/adapters/profile-input.d.ts.map +1 -0
  237. package/dist/features/quality-coverage/adapters/profile-input.js +110 -0
  238. package/dist/features/quality-coverage/adapters/profile-input.js.map +1 -0
  239. package/dist/features/quality-coverage/adapters/protected-config.d.ts +15 -0
  240. package/dist/features/quality-coverage/adapters/protected-config.d.ts.map +1 -0
  241. package/dist/features/quality-coverage/adapters/protected-config.js +200 -0
  242. package/dist/features/quality-coverage/adapters/protected-config.js.map +1 -0
  243. package/dist/features/quality-coverage/api.d.ts +13 -0
  244. package/dist/features/quality-coverage/api.d.ts.map +1 -0
  245. package/dist/features/quality-coverage/api.js +7 -0
  246. package/dist/features/quality-coverage/api.js.map +1 -0
  247. package/dist/features/quality-coverage/application/capability.d.ts +7 -0
  248. package/dist/features/quality-coverage/application/capability.d.ts.map +1 -0
  249. package/dist/features/quality-coverage/application/capability.js +12 -0
  250. package/dist/features/quality-coverage/application/capability.js.map +1 -0
  251. package/dist/features/quality-coverage/application/check-quality-coverage.d.ts +9 -0
  252. package/dist/features/quality-coverage/application/check-quality-coverage.d.ts.map +1 -0
  253. package/dist/features/quality-coverage/application/check-quality-coverage.js +56 -0
  254. package/dist/features/quality-coverage/application/check-quality-coverage.js.map +1 -0
  255. package/dist/features/quality-coverage/application/evaluate-coverage.d.ts +6 -0
  256. package/dist/features/quality-coverage/application/evaluate-coverage.d.ts.map +1 -0
  257. package/dist/features/quality-coverage/application/evaluate-coverage.js +125 -0
  258. package/dist/features/quality-coverage/application/evaluate-coverage.js.map +1 -0
  259. package/dist/features/quality-coverage/application/input-observations.d.ts +6 -0
  260. package/dist/features/quality-coverage/application/input-observations.d.ts.map +1 -0
  261. package/dist/features/quality-coverage/application/input-observations.js +2 -0
  262. package/dist/features/quality-coverage/application/input-observations.js.map +1 -0
  263. package/dist/features/quality-coverage/application/model.d.ts +57 -0
  264. package/dist/features/quality-coverage/application/model.d.ts.map +1 -0
  265. package/dist/features/quality-coverage/application/model.js +2 -0
  266. package/dist/features/quality-coverage/application/model.js.map +1 -0
  267. package/dist/features/quality-coverage/application/observation-input.d.ts +17 -0
  268. package/dist/features/quality-coverage/application/observation-input.d.ts.map +1 -0
  269. package/dist/features/quality-coverage/application/observation-input.js +2 -0
  270. package/dist/features/quality-coverage/application/observation-input.js.map +1 -0
  271. package/dist/features/quality-coverage/application/profile.d.ts +38 -0
  272. package/dist/features/quality-coverage/application/profile.d.ts.map +1 -0
  273. package/dist/features/quality-coverage/application/profile.js +2 -0
  274. package/dist/features/quality-coverage/application/profile.js.map +1 -0
  275. package/dist/features/quality-coverage/application/rules.d.ts +20 -0
  276. package/dist/features/quality-coverage/application/rules.d.ts.map +1 -0
  277. package/dist/features/quality-coverage/application/rules.js +33 -0
  278. package/dist/features/quality-coverage/application/rules.js.map +1 -0
  279. package/dist/features/quality-coverage/application/script-route.d.ts +3 -0
  280. package/dist/features/quality-coverage/application/script-route.d.ts.map +1 -0
  281. package/dist/features/quality-coverage/application/script-route.js +46 -0
  282. package/dist/features/quality-coverage/application/script-route.js.map +1 -0
  283. package/dist/features/quality-coverage/application/source-coverage.d.ts +19 -0
  284. package/dist/features/quality-coverage/application/source-coverage.d.ts.map +1 -0
  285. package/dist/features/quality-coverage/application/source-coverage.js +46 -0
  286. package/dist/features/quality-coverage/application/source-coverage.js.map +1 -0
  287. package/dist/features/quality-coverage/application/tool-execution.d.ts +2 -0
  288. package/dist/features/quality-coverage/application/tool-execution.d.ts.map +1 -0
  289. package/dist/features/quality-coverage/application/tool-execution.js +2 -0
  290. package/dist/features/quality-coverage/application/tool-execution.js.map +1 -0
  291. package/dist/features/quality-coverage/node.d.ts +5 -0
  292. package/dist/features/quality-coverage/node.d.ts.map +1 -0
  293. package/dist/features/quality-coverage/node.js +5 -0
  294. package/dist/features/quality-coverage/node.js.map +1 -0
  295. package/dist/features/quality-coverage/schemas.d.ts +2 -0
  296. package/dist/features/quality-coverage/schemas.d.ts.map +1 -0
  297. package/dist/features/quality-coverage/schemas.js +2 -0
  298. package/dist/features/quality-coverage/schemas.js.map +1 -0
  299. package/dist/features/validation-reporting/api.d.ts +1 -1
  300. package/dist/features/validation-reporting/api.d.ts.map +1 -1
  301. package/dist/features/validation-reporting/api.js.map +1 -1
  302. package/dist/process-execution/node-process-runner.d.ts.map +1 -1
  303. package/dist/process-execution/node-process-runner.js +15 -0
  304. package/dist/process-execution/node-process-runner.js.map +1 -1
  305. package/dist/process-execution/windows-managed-process.js +2 -2
  306. package/dist/process-execution/windows-managed-process.js.map +1 -1
  307. package/dist/schema-catalog.d.ts +1 -1
  308. package/dist/schema-catalog.d.ts.map +1 -1
  309. package/dist/schema-ids.d.ts +1 -1
  310. package/dist/schema-ids.d.ts.map +1 -1
  311. package/dist/schema-ids.js +2 -0
  312. package/dist/schema-ids.js.map +1 -1
  313. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  314. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +4 -0
  315. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  316. package/package.json +6 -1
  317. package/schemas/architecture-source-dependencies/v3.schema.json +195 -0
  318. package/schemas/foundation-config/v2.schema.json +201 -0
  319. package/schemas/package-public-api-audit-report/v1.schema.json +1400 -0
  320. package/schemas/package-public-api-audit-request/v1.schema.json +339 -0
  321. package/schemas/quality-source-coverage/v1.schema.json +119 -0
@@ -0,0 +1,180 @@
1
+ import { auditIdentityKey, PUBLIC_API_AUDIT_PROFILE } from "../model/public-api-observation.js";
2
+ function result(reasons) {
3
+ return { eligible: reasons.size === 0, reasons: [...reasons].toSorted() };
4
+ }
5
+ function modelReasons(observation) {
6
+ if (!observation.modelExpected) {
7
+ const invalid = observation.exportPath !== null || observation.modelPresent || observation.modelDigest !== undefined || observation.items.length > 0
8
+ || observation.invocation.outcome !== "not-invoked" || observation.invocation.succeeded
9
+ || observation.invocation.errorCount !== null || observation.invocation.warningCount !== null
10
+ || observation.diagnostics.some((diagnostic) => diagnostic.source === "extractor");
11
+ return invalid ? ["invalid-empty-export-observation"] : [];
12
+ }
13
+ const reasons = [];
14
+ if (observation.exportPath === null) {
15
+ reasons.push("missing-model-export-path");
16
+ }
17
+ if (!observation.modelPresent) {
18
+ reasons.push("missing-model");
19
+ }
20
+ if (observation.modelPresent && observation.modelDigest === undefined) {
21
+ reasons.push("missing-model-digest");
22
+ }
23
+ if (observation.invocation.outcome !== "completed") {
24
+ reasons.push("incomplete-invocation");
25
+ }
26
+ return reasons;
27
+ }
28
+ // Check the runtime profile independently of the producer's literal TypeScript claim.
29
+ function supportedProfile(profile) {
30
+ return profile === PUBLIC_API_AUDIT_PROFILE;
31
+ }
32
+ function observationReasons(observation) {
33
+ const reasons = [];
34
+ if (!observation.inputBytesRevalidated) {
35
+ reasons.push("input-bytes-not-revalidated");
36
+ }
37
+ if (!observation.compilerDiagnosticsCollected) {
38
+ reasons.push("compiler-diagnostics-unavailable");
39
+ }
40
+ reasons.push(...modelReasons(observation));
41
+ if (!supportedProfile(observation.normalizationProfile)) {
42
+ reasons.push("unsupported-profile");
43
+ }
44
+ const errors = observation.diagnostics.filter((diagnostic) => diagnostic.severity === "error");
45
+ if (errors.some((diagnostic) => diagnostic.source !== "extractor" || diagnostic.id !== "ae-forgotten-export")) {
46
+ reasons.push("non-forgotten-export-error");
47
+ }
48
+ if (observation.modelExpected && !observation.invocation.succeeded && errors.length === 0) {
49
+ reasons.push("unexplained-extraction-failure");
50
+ }
51
+ if (observation.modelExpected && observation.invocation.errorCount !== errors.filter((diagnostic) => diagnostic.source === "extractor").length) {
52
+ reasons.push("incomplete-extractor-diagnostics");
53
+ }
54
+ return [...reasons, ...observation.unsupported];
55
+ }
56
+ function parentReasons(item, observation) {
57
+ const reasons = [];
58
+ const visited = new Set();
59
+ let cursor = item;
60
+ let expectedPublic = true;
61
+ while (cursor !== undefined) {
62
+ if (visited.has(cursor.identity.canonicalReference)) {
63
+ reasons.push("parent-cycle");
64
+ break;
65
+ }
66
+ visited.add(cursor.identity.canonicalReference);
67
+ expectedPublic &&= cursor.isExported !== false;
68
+ if (cursor.parentKind === "EntryPoint") {
69
+ break;
70
+ }
71
+ if (!["Namespace", "Class", "Interface", "Enum"].includes(cursor.parentKind)) {
72
+ reasons.push("unsupported-parent-semantics");
73
+ }
74
+ const parent = observation.items.find((candidate) => candidate.identity.canonicalReference === cursor?.parentReference);
75
+ if (parent === undefined || parent.kind !== cursor.parentKind) {
76
+ reasons.push("unsupported-parent");
77
+ }
78
+ cursor = parent;
79
+ }
80
+ if (item.public !== expectedPublic) {
81
+ reasons.push("inconsistent-parent-visibility");
82
+ }
83
+ return reasons;
84
+ }
85
+ function itemReasons(item, observation) {
86
+ const reasons = [...parentReasons(item, observation)];
87
+ if (item.identity.subject !== observation.subject || item.identity.packageName !== observation.packageName || item.identity.exportPath !== observation.exportPath) {
88
+ reasons.push("invalid-scoped-identity");
89
+ }
90
+ if (item.parentKind === "EntryPoint" && item.isExported === null) {
91
+ reasons.push("unsupported-root-visibility");
92
+ }
93
+ if (!item.excerpt.trim() && item.kind !== "Namespace") {
94
+ reasons.push("empty-declaration-excerpt");
95
+ }
96
+ return reasons;
97
+ }
98
+ function referenceReasons(reference, observation, identities) {
99
+ if (reference.resolution === "verified-external-library") {
100
+ return reference.library === undefined || reference.library.declarations.length === 0 ? ["unverified-library"] : [];
101
+ }
102
+ if ((reference.resolution !== "local" && reference.resolution !== "same-subject-dependency") || reference.target === undefined || !identities.has(auditIdentityKey(reference.target))) {
103
+ return ["incomplete-reference-resolution"];
104
+ }
105
+ const reasons = [];
106
+ if (reference.target.subject !== observation.subject) {
107
+ reasons.push("cross-subject-reference");
108
+ }
109
+ if (reference.resolution === "local" && (reference.target.packageName !== observation.packageName || reference.target.exportPath !== observation.exportPath)) {
110
+ reasons.push("invalid-local-reference");
111
+ }
112
+ if (reference.resolution === "same-subject-dependency" && reference.target.packageName === observation.packageName) {
113
+ reasons.push("invalid-dependency-reference");
114
+ }
115
+ return reasons;
116
+ }
117
+ /** Admission is Foundation-derived; extraction failure remains a separate failed gate. */
118
+ export function publicApiAuditEligibility(observations) {
119
+ const reasons = new Set();
120
+ const identities = new Set();
121
+ if (observations.length === 0) {
122
+ reasons.add("missing-observations");
123
+ }
124
+ const subject = observations[0]?.subject;
125
+ for (const observation of observations) {
126
+ if (observation.subject !== subject) {
127
+ reasons.add("mixed-subjects");
128
+ }
129
+ for (const reason of observationReasons(observation)) {
130
+ reasons.add(reason);
131
+ }
132
+ for (const item of observation.items) {
133
+ const key = auditIdentityKey(item.identity);
134
+ if (identities.has(key)) {
135
+ reasons.add("duplicate-scoped-identity");
136
+ }
137
+ identities.add(key);
138
+ for (const reason of itemReasons(item, observation)) {
139
+ reasons.add(reason);
140
+ }
141
+ }
142
+ }
143
+ for (const observation of observations) {
144
+ for (const reference of observation.items.flatMap((item) => item.references)) {
145
+ for (const reason of referenceReasons(reference, observation, identities)) {
146
+ reasons.add(reason);
147
+ }
148
+ }
149
+ }
150
+ return result(reasons);
151
+ }
152
+ function environments(observations) {
153
+ return [...new Set(observations.map((observation) => observation.compilerEnvironment))].toSorted();
154
+ }
155
+ function libraries(observations) {
156
+ return [...new Set(observations.flatMap((observation) => observation.externalDeclarations.map((file) => JSON.stringify([file.path, file.digest]))))].toSorted();
157
+ }
158
+ export function publicApiAuditPairEligibility(before, after) {
159
+ const reasons = new Set([...publicApiAuditEligibility(before).reasons, ...publicApiAuditEligibility(after).reasons]);
160
+ const tools = new Set([...before, ...after].map((observation) => observation.toolchain));
161
+ if (tools.size !== 1) {
162
+ reasons.add("toolchain-mismatch");
163
+ }
164
+ const packages = new Set([...before, ...after].map((observation) => observation.packageName));
165
+ for (const packageName of packages) {
166
+ const left = before.filter((observation) => observation.packageName === packageName);
167
+ const right = after.filter((observation) => observation.packageName === packageName);
168
+ if (left.length === 0 || right.length === 0) {
169
+ continue;
170
+ }
171
+ if (JSON.stringify(environments(left)) !== JSON.stringify(environments(right))) {
172
+ reasons.add("compiler-environment-mismatch");
173
+ }
174
+ if (JSON.stringify(libraries(left)) !== JSON.stringify(libraries(right))) {
175
+ reasons.add("compiler-library-mismatch");
176
+ }
177
+ }
178
+ return result(reasons);
179
+ }
180
+ //# sourceMappingURL=public-api-audit-eligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-audit-eligibility.js","sourceRoot":"","sources":["../../../../../src/capabilities/public-api-compatibility/application/policies/public-api-audit-eligibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AuditDeclarationInput, PublicApiAuditRequest } from "../../contract/public-api-audit.js";
2
+ import type { AuditObservation, AuditSubject } from "../model/public-api-observation.js";
3
+ import type { PublicApiSnapshot } from "../model/public-api.js";
4
+ export interface PublicApiObserver {
5
+ observe(input: {
6
+ readonly consumerRoot: string;
7
+ readonly subject: AuditSubject;
8
+ readonly declarations: AuditDeclarationInput;
9
+ readonly signal?: AbortSignal;
10
+ }): Promise<readonly AuditObservation[]>;
11
+ }
12
+ /** Monotonic reservations owned by one audit invocation, including failed reads. */
13
+ export interface AuditInputBudget {
14
+ bytes: number;
15
+ files: number;
16
+ }
17
+ /** Requires a caller-frozen input namespace (including ancestors) for the whole
18
+ * invocation. Digests authenticate supplied content, not filesystem containment
19
+ * against concurrent writers. Revalidation is best-effort mutation detection.
20
+ */
21
+ export interface PublicApiAuditInputs {
22
+ load(consumerRoot: string, configPath: string): Promise<{
23
+ readonly request: PublicApiAuditRequest;
24
+ readonly digest: string;
25
+ }>;
26
+ baseline(consumerRoot: string, input: PublicApiAuditRequest["subjects"]["B"]["baselines"][number], budget: AuditInputBudget): Promise<PublicApiSnapshot>;
27
+ revalidate(consumerRoot: string, request: PublicApiAuditRequest): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=public-api-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-observer.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/public-api-compatibility/application/ports/public-api-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;QAC/B,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;QAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;CAC1C;AACD,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAClE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9H,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzJ,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-observer.js","sourceRoot":"","sources":["../../../../../src/capabilities/public-api-compatibility/application/ports/public-api-observer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { PublicApiAuditReport } from "../model/public-api-audit-report.js";
2
+ import type { PublicApiAuditInputs, PublicApiObserver } from "../ports/public-api-observer.js";
3
+ import type { ChangeFingerprint } from "../ports/change-fingerprint.js";
4
+ export declare function auditPublicApi(input: {
5
+ readonly consumerRoot: string;
6
+ readonly configPath: string;
7
+ readonly foundationVersion: string;
8
+ readonly signal?: AbortSignal;
9
+ }, dependencies: {
10
+ readonly inputs: PublicApiAuditInputs;
11
+ readonly observer: PublicApiObserver;
12
+ readonly fingerprint: ChangeFingerprint;
13
+ }): Promise<PublicApiAuditReport>;
14
+ //# sourceMappingURL=audit-public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-public-api.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/public-api-compatibility/application/use-cases/audit-public-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAmB,MAAM,qCAAqC,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAoFxE,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/H,EAAE,YAAY,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuCxK"}
@@ -0,0 +1,144 @@
1
+ import { classifyPublicApiChange } from "../policies/evaluate-public-api-compatibility.js";
2
+ import { publicApiAuditPairEligibility } from "../policies/public-api-audit-eligibility.js";
3
+ import { projectPublicApiObservation } from "../policies/project-public-api-observation.js";
4
+ import { assertNotCancelled } from "../policies/public-api-evidence-errors.js";
5
+ const HISTORICAL_LIMITATIONS = ["B records stored declarations only; original export visibility is not reconstructible.", "B lacks hidden declarations, ordered reference targets and compiler-input closure.", "Stored-surface findings do not qualify a rich comparison or release admission."];
6
+ function stored(observations, pkg) {
7
+ const selected = observations.filter((observation) => observation.packageName === pkg.packageName);
8
+ if (selected.length !== Math.max(1, pkg.entrypoints.length) || selected.some((observation) => observation.storedSurface === undefined || !observation.inputBytesRevalidated)) {
9
+ return undefined;
10
+ }
11
+ return { schemaVersion: 1, packageName: pkg.packageName, packageVersion: pkg.packageVersion,
12
+ extractorVersion: selected[0]?.storedSurface?.extractorVersion ?? "",
13
+ entrypoints: selected.flatMap((observation) => observation.storedSurface?.entrypoints ?? []) };
14
+ }
15
+ /** Admit each package with its declared reference dependencies, never unrelated packages. */
16
+ function packageScope(observations, packageName) {
17
+ const names = new Set([packageName]);
18
+ const pending = [packageName];
19
+ while (pending.length > 0) {
20
+ const current = pending.pop();
21
+ for (const observation of observations.filter((candidate) => candidate.packageName === current)) {
22
+ for (const reference of observation.items.flatMap((item) => item.references)) {
23
+ const dependency = reference.target?.packageName;
24
+ if (dependency !== undefined && !names.has(dependency)) {
25
+ names.add(dependency);
26
+ pending.push(dependency);
27
+ }
28
+ }
29
+ }
30
+ }
31
+ return observations.filter((observation) => names.has(observation.packageName));
32
+ }
33
+ function completeExportCoverage(observations, pkg) {
34
+ if (pkg === undefined) {
35
+ return false;
36
+ }
37
+ const expected = pkg.entrypoints.map((entry) => entry.exportPath).toSorted();
38
+ const observed = observations.filter((observation) => observation.packageName === pkg.packageName).flatMap((observation) => observation.exportPath === null ? [] : [observation.exportPath]).toSorted();
39
+ return JSON.stringify(expected) === JSON.stringify(observed);
40
+ }
41
+ function retainComparison(comparisons, comparison, budget) {
42
+ const size = JSON.stringify(comparison).length;
43
+ if (budget.characters + size > 16 * 1024 * 1024) {
44
+ comparisons.push({ pair: comparison.pair, packageName: comparison.packageName, scope: comparison.scope,
45
+ eligibility: { eligible: false, reasons: [...comparison.eligibility.reasons, "comparison-output-budget-exhausted"] }, limitations: comparison.limitations });
46
+ return;
47
+ }
48
+ budget.characters += size;
49
+ comparisons.push(comparison);
50
+ }
51
+ function historicalComparison(input, fingerprint) {
52
+ const { pair, packageName, observed, baseline } = input;
53
+ const reasons = input.inputsRevalidated ? [] : ["input-evidence-failure"];
54
+ if (observed === undefined || baseline === undefined) {
55
+ reasons.push("stored-surface-unavailable");
56
+ }
57
+ if (observed !== undefined && baseline !== undefined && observed.extractorVersion !== baseline.extractorVersion) {
58
+ reasons.push("historical-extractor-version-mismatch");
59
+ }
60
+ const findings = reasons.length > 0 || observed === undefined || baseline === undefined ? undefined
61
+ : classifyPublicApiChange(pair === "A-B" ? observed : baseline, pair === "A-B" ? baseline : observed, fingerprint);
62
+ return { pair, packageName, scope: "historical-stored-surface", eligibility: { eligible: reasons.length === 0, reasons }, limitations: HISTORICAL_LIMITATIONS,
63
+ ...(findings === undefined ? {} : { findings }) };
64
+ }
65
+ function richComparison(input, fingerprint) {
66
+ const aScope = packageScope(input.a, input.packageName);
67
+ const cScope = packageScope(input.c, input.packageName);
68
+ const reasons = [...publicApiAuditPairEligibility(aScope, cScope).reasons];
69
+ if (!input.packagesPresent) {
70
+ reasons.push("package-unavailable");
71
+ }
72
+ if (!input.coverageComplete) {
73
+ reasons.push("incomplete-export-path-observations");
74
+ }
75
+ if (!input.inputsRevalidated) {
76
+ reasons.push("input-evidence-failure");
77
+ }
78
+ let projections = {};
79
+ if (reasons.length === 0) {
80
+ try {
81
+ const beforeProjection = projectPublicApiObservation(aScope, input.packageName);
82
+ const afterProjection = projectPublicApiObservation(cScope, input.packageName);
83
+ const auditFingerprint = { sha256: (value) => fingerprint.sha256(`foundation:public-api-audit:declaration-graph:1\n${value}`) };
84
+ projections = { beforeProjection, afterProjection, findings: classifyPublicApiChange(beforeProjection.snapshot, afterProjection.snapshot, auditFingerprint) };
85
+ }
86
+ catch (error) {
87
+ reasons.push(`unsupported-graph: ${String(error)}`);
88
+ }
89
+ }
90
+ return { pair: "A-C", packageName: input.packageName, scope: "declaration-graph", eligibility: { eligible: reasons.length === 0, reasons }, limitations: ["Bounded declaration/reference comparison; no assignability or semantic-equivalence claim."], ...projections };
91
+ }
92
+ export async function auditPublicApi(input, dependencies) {
93
+ assertNotCancelled(input.signal);
94
+ const loaded = await dependencies.inputs.load(input.consumerRoot, input.configPath);
95
+ const request = loaded.request;
96
+ const observations = [];
97
+ const comparisons = [];
98
+ const comparisonBudget = { characters: 0 };
99
+ const baselineBudget = { bytes: 0, files: 0 };
100
+ const errors = [];
101
+ for (const subject of ["A", "C"]) {
102
+ assertNotCancelled(input.signal);
103
+ try {
104
+ observations.push(...await dependencies.observer.observe({ consumerRoot: input.consumerRoot, subject, declarations: request.subjects[subject], ...(input.signal === undefined ? {} : { signal: input.signal }) }));
105
+ }
106
+ catch (error) {
107
+ errors.push(`${subject}: ${String(error)}`);
108
+ }
109
+ }
110
+ try {
111
+ await dependencies.inputs.revalidate(input.consumerRoot, request);
112
+ }
113
+ catch (error) {
114
+ errors.push(`Input revalidation failed: ${String(error)}`);
115
+ }
116
+ const inputsRevalidated = errors.length === 0;
117
+ const a = observations.filter((observation) => observation.subject === "A");
118
+ const c = observations.filter((observation) => observation.subject === "C");
119
+ const names = [...new Set([...request.subjects.A.packages, ...request.subjects.C.packages, ...request.subjects.B.baselines].map((pkg) => pkg.packageName))].toSorted();
120
+ for (const packageName of names) {
121
+ const aPackage = request.subjects.A.packages.find((pkg) => pkg.packageName === packageName);
122
+ const cPackage = request.subjects.C.packages.find((pkg) => pkg.packageName === packageName);
123
+ let baseline;
124
+ const b = request.subjects.B.baselines.find((pkg) => pkg.packageName === packageName);
125
+ if (b !== undefined) {
126
+ try {
127
+ baseline = await dependencies.inputs.baseline(input.consumerRoot, b, baselineBudget);
128
+ }
129
+ catch (error) {
130
+ errors.push(`B/${packageName}: ${String(error)}`);
131
+ }
132
+ }
133
+ retainComparison(comparisons, historicalComparison({ pair: "A-B", packageName, observed: aPackage === undefined ? undefined : stored(a, aPackage), baseline, inputsRevalidated }, dependencies.fingerprint), comparisonBudget);
134
+ retainComparison(comparisons, historicalComparison({ pair: "B-C", packageName, observed: cPackage === undefined ? undefined : stored(c, cPackage), baseline, inputsRevalidated }, dependencies.fingerprint), comparisonBudget);
135
+ retainComparison(comparisons, richComparison({ a, c, packageName, packagesPresent: aPackage !== undefined && cPackage !== undefined, coverageComplete: completeExportCoverage(a, aPackage) && completeExportCoverage(c, cPackage), inputsRevalidated }, dependencies.fingerprint), comparisonBudget);
136
+ }
137
+ assertNotCancelled(input.signal);
138
+ const evidenceComplete = errors.length === 0 && comparisons.length > 0 && comparisons.every((comparison) => comparison.eligibility.eligible);
139
+ const failed = observations.some((observation) => (observation.modelExpected && !observation.invocation.succeeded) || observation.diagnostics.some((diagnostic) => diagnostic.severity === "error"));
140
+ return { schemaVersion: 1, operation: "public-api-audit", releaseEligible: false, foundationVersion: input.foundationVersion, requestDigest: loaded.digest,
141
+ custody: { supplied: request.subjects, archiveProvenanceVerified: false, archiveDigestVerified: false, archiveInventoryCompletenessVerified: false, buildExecutionVerified: false }, observations, comparisons, evidenceComplete, errors,
142
+ exitCode: evidenceComplete && !failed ? 0 : 2 };
143
+ }
144
+ //# sourceMappingURL=audit-public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-public-api.js","sourceRoot":"","sources":["../../../../../src/capabilities/public-api-compatibility/application/use-cases/audit-public-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export interface AuditFileIdentity {
2
+ readonly path: string;
3
+ readonly digest: string;
4
+ }
5
+ export interface AuditPackageInput {
6
+ readonly packageName: string;
7
+ readonly packageVersion: string;
8
+ readonly manifestPath: string;
9
+ readonly tsconfigPath: string;
10
+ readonly entrypoints: readonly {
11
+ readonly exportPath: string;
12
+ readonly declarationEntryPoint: string;
13
+ }[];
14
+ readonly nonTypeExports: readonly {
15
+ readonly exportPath: string;
16
+ readonly kind: "data" | "runtime" | "wildcard";
17
+ }[];
18
+ }
19
+ export interface AuditDeclarationInput {
20
+ readonly packages: readonly AuditPackageInput[];
21
+ /** Exact complete allowed non-toolchain input set, including configs and manifests. */
22
+ readonly files: readonly AuditFileIdentity[];
23
+ readonly resolutionUniverse: readonly {
24
+ readonly packageName: string;
25
+ readonly exportPath: string;
26
+ readonly declarationPath: string;
27
+ }[];
28
+ }
29
+ /** Content-addressed evidence in an externally frozen namespace. Preparation
30
+ * must finish and all writers must be excluded before the request is consumed;
31
+ * the auditor cannot verify that external custody precondition.
32
+ */
33
+ export interface PublicApiAuditRequest {
34
+ readonly schemaVersion: 1;
35
+ readonly subjects: {
36
+ readonly A: AuditDeclarationInput & {
37
+ readonly archive: {
38
+ readonly digest: string;
39
+ readonly extractedMembers: readonly AuditFileIdentity[];
40
+ };
41
+ };
42
+ readonly B: {
43
+ readonly baselines: readonly {
44
+ readonly packageName: string;
45
+ readonly path: string;
46
+ readonly digest: string;
47
+ }[];
48
+ };
49
+ readonly C: AuditDeclarationInput & {
50
+ readonly build: {
51
+ readonly sourceIdentity: string;
52
+ readonly buildIdentity: string;
53
+ readonly declarations: readonly AuditFileIdentity[];
54
+ };
55
+ };
56
+ };
57
+ }
58
+ //# sourceMappingURL=public-api-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-audit.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/public-api-compatibility/contract/public-api-audit.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzG,QAAQ,CAAC,cAAc,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;KAAE,EAAE,CAAC;CACrH;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,SAAS;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzI;AACD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,CAAC,EAAE,qBAAqB,GAAG;YAClC,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,iBAAiB,EAAE,CAAA;aAAE,CAAC;SACxG,CAAC;QACF,QAAQ,CAAC,CAAC,EAAE;YAAE,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAAE,CAAC;QAChI,QAAQ,CAAC,CAAC,EAAE,qBAAqB,GAAG;YAClC,QAAQ,CAAC,KAAK,EAAE;gBAAE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAA;aAAE,CAAC;SAC1I,CAAC;KACH,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-audit.js","sourceRoot":"","sources":["../../../../src/capabilities/public-api-compatibility/contract/public-api-audit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { runPublicApiAudit } from "./adapters/inbound/configuration/load-public-api-audit.js";
2
+ export type { PublicApiAuditSchemaAssertion } from "./adapters/inbound/configuration/load-public-api-audit.js";
3
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAC9F,YAAY,EAAE,6BAA6B,EAAE,MAAM,2DAA2D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { runPublicApiAudit } from "./adapters/inbound/configuration/load-public-api-audit.js";
2
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const PUBLIC_API_COMPATIBILITY_SCHEMA_IDS: readonly ["package-public-api-baseline/v1", "package-public-api-compatibility/v1"];
1
+ export declare const PUBLIC_API_COMPATIBILITY_SCHEMA_IDS: readonly ["package-public-api-audit-request/v1", "package-public-api-audit-report/v1", "package-public-api-baseline/v1", "package-public-api-compatibility/v1"];
2
2
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/schemas.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mCAAmC,YAC9C,gCAAgC,EAChC,qCAAqC,CAC7B,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/schemas.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mCAAmC,YAC9C,qCAAqC,EACrC,oCAAoC,EACpC,gCAAgC,EAChC,qCAAqC,CAC7B,CAAC"}
@@ -1,5 +1,7 @@
1
1
  // Published schema identities contributed by their semantic owner. Schema bytes stay in schemas/.
2
2
  export const PUBLIC_API_COMPATIBILITY_SCHEMA_IDS = [
3
+ "package-public-api-audit-request/v1",
4
+ "package-public-api-audit-report/v1",
3
5
  "package-public-api-baseline/v1",
4
6
  "package-public-api-compatibility/v1"
5
7
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/schemas.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,gCAAgC;IAChC,qCAAqC;CAC7B,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/capabilities/public-api-compatibility/schemas.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,qCAAqC;IACrC,oCAAoC;IACpC,gCAAgC;IAChC,qCAAqC;CAC7B,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { SourceArchitectureConfigSchemaVersion, SourceArchitecturePolicy } from "../../../application/model/source-workspace.js";
2
2
  export interface SourceArchitectureConfigurationDependencies {
3
3
  readonly readYaml: (consumerRoot: string, configPath: string, phase: string) => Promise<unknown>;
4
- readonly assertSchema: (schemaId: "architecture-source-dependencies/v1" | "architecture-source-dependencies/v2", input: unknown, phase: string) => Promise<void>;
4
+ readonly assertSchema: (schemaId: "architecture-source-dependencies/v1" | "architecture-source-dependencies/v2" | "architecture-source-dependencies/v3", input: unknown, phase: string) => Promise<void>;
5
5
  }
6
+ export declare function createSourceArchitecturePolicyReader(dependencies: SourceArchitectureConfigurationDependencies): (consumerRoot: string, configPath: string, signal?: AbortSignal) => Promise<SourceArchitecturePolicy>;
6
7
  export declare function loadCapabilityConfig(dependencies: SourceArchitectureConfigurationDependencies, consumerRoot: string, configPath: string, signal?: AbortSignal, observeSchemaVersion?: (version: SourceArchitectureConfigSchemaVersion) => void): Promise<SourceArchitecturePolicy>;
7
8
  //# sourceMappingURL=load-capability-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-capability-config.d.ts","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAItI,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,qCAAqC,GAAG,qCAAqC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClK;AAOD,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,2CAA2C,EACzD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,qCAAqC,KAAK,IAAI,GAC9E,OAAO,CAAC,wBAAwB,CAAC,CAenC"}
1
+ {"version":3,"file":"load-capability-config.d.ts","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAItI,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,qCAAqC,GAAG,qCAAqC,GAAG,qCAAqC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1M;AAQD,wBAAgB,oCAAoC,CAAC,YAAY,EAAE,2CAA2C,kBACtF,MAAM,cAAc,MAAM,WAAW,WAAW,uCAEvE;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,2CAA2C,EACzD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,qCAAqC,KAAK,IAAI,GAC9E,OAAO,CAAC,wBAAwB,CAAC,CAenC"}
@@ -2,13 +2,17 @@ import { assertConfigurationNotCancelled } from "../../../application/configurat
2
2
  import { readSourceArchitectureHeader, parseSourceArchitecturePolicy } from "./parse-capability-config.js";
3
3
  const SOURCE_ARCHITECTURE_SCHEMA_IDS = Object.freeze({
4
4
  1: "architecture-source-dependencies/v1",
5
- 2: "architecture-source-dependencies/v2"
5
+ 2: "architecture-source-dependencies/v2",
6
+ 3: "architecture-source-dependencies/v3"
6
7
  });
8
+ export function createSourceArchitecturePolicyReader(dependencies) {
9
+ return (consumerRoot, configPath, signal) => loadCapabilityConfig(dependencies, consumerRoot, configPath, signal);
10
+ }
7
11
  export async function loadCapabilityConfig(dependencies, consumerRoot, configPath, signal, observeSchemaVersion) {
8
12
  let input;
9
13
  try {
10
14
  // This contained read is bounded. Completing it once lets cancellation
11
- // reports retain the requested v1/v2 schema version without a second read.
15
+ // reports retain the requested schema version without a second read.
12
16
  input = await dependencies.readYaml(consumerRoot, configPath, "source-architecture-config");
13
17
  }
14
18
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"load-capability-config.js","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAO3G,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,CAAC,EAAE,qCAAqC;IACxC,CAAC,EAAE,qCAAqC;CAChC,CAAC,CAAC;AAEZ,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAyD,EACzD,YAAoB,EACpB,UAAkB,EAClB,MAAoB,EACpB,oBAA+E;IAE/E,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,uEAAuE;QACvE,2EAA2E;QAC3E,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACnD,oBAAoB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,CAAC,YAAY,CAAC,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAC;IACrH,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"load-capability-config.js","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/load-capability-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAO3G,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,CAAC,EAAE,qCAAqC;IACxC,CAAC,EAAE,qCAAqC;IACxC,CAAC,EAAE,qCAAqC;CAChC,CAAC,CAAC;AAEZ,MAAM,UAAU,oCAAoC,CAAC,YAAyD;IAC5G,OAAO,CAAC,YAAoB,EAAE,UAAkB,EAAE,MAAoB,EAAE,EAAE,CACxE,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAyD,EACzD,YAAoB,EACpB,UAAkB,EAClB,MAAoB,EACpB,oBAA+E;IAE/E,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,uEAAuE;QACvE,qEAAqE;QACrE,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACnD,oBAAoB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,CAAC,YAAY,CAAC,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAC;IACrH,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-capability-config.d.ts","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,gDAAgD,CAAC;AA6XxD,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,qCAAqC,CAIlG;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,qCAAqC,GAAG,wBAAwB,CAsCrH"}
1
+ {"version":3,"file":"parse-capability-config.d.ts","sourceRoot":"","sources":["../../../../../../src/capabilities/source-dependencies/adapters/inbound/configuration/parse-capability-config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,gDAAgD,CAAC;AA+XxD,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,qCAAqC,CAIlG;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,qCAAqC,GAAG,wBAAwB,CAwCrH"}