@agent-teams/engineering-foundation 0.7.0 → 0.9.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 (275) hide show
  1. package/README.md +6 -2
  2. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.d.ts +6 -0
  3. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.d.ts.map +1 -0
  4. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.js +7 -0
  5. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.js.map +1 -0
  6. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.d.ts +8 -0
  7. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.d.ts.map +1 -0
  8. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.js +131 -0
  9. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.js.map +1 -0
  10. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.d.ts +37 -0
  11. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.d.ts.map +1 -0
  12. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.js +258 -0
  13. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.js.map +1 -0
  14. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +52 -2
  15. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -1
  16. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts.map +1 -1
  17. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js +0 -3
  18. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js.map +1 -1
  19. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.d.ts +14 -0
  20. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.d.ts.map +1 -0
  21. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.js +2 -0
  22. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.js.map +1 -0
  23. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.d.ts +5 -0
  24. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.d.ts.map +1 -0
  25. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.js +2 -0
  26. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.js.map +1 -0
  27. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts +2 -0
  28. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts.map +1 -1
  29. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js +10 -1
  30. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js.map +1 -1
  31. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -1
  32. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +30 -15
  33. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -1
  34. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +3 -1
  35. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -1
  36. package/dist/capabilities/contract-protobuf-evolution/module.js +4 -1
  37. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -1
  38. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts +21 -0
  39. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts.map +1 -0
  40. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js +301 -0
  41. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js.map +1 -0
  42. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +2 -0
  43. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -1
  44. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +28 -41
  45. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -1
  46. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts +8 -0
  47. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts.map +1 -0
  48. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js +102 -0
  49. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js.map +1 -0
  50. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +14 -0
  51. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -1
  52. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +22 -0
  53. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -1
  54. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts +21 -0
  55. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts.map +1 -0
  56. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js +2 -0
  57. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js.map +1 -0
  58. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts +18 -0
  59. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts.map +1 -0
  60. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js +2 -0
  61. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js.map +1 -0
  62. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts +22 -0
  63. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts.map +1 -0
  64. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js +221 -0
  65. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js.map +1 -0
  66. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  67. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +1 -14
  68. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  69. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +4 -4
  70. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -1
  71. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +34 -46
  72. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -1
  73. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +18 -75
  74. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
  75. package/dist/capabilities/public-api-compatibility/application/model/public-api.js +7 -29
  76. package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
  77. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +1 -5
  78. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -1
  79. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +1 -8
  80. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -1
  81. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
  82. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +5 -38
  83. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
  84. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +1 -1
  85. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +2 -2
  86. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -1
  87. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
  88. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +0 -1
  89. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
  90. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
  91. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +0 -38
  92. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
  93. package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
  94. package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
  95. package/dist/capabilities/public-api-compatibility/contract/config.js +32 -106
  96. package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
  97. package/dist/cli-arguments.d.ts +2 -0
  98. package/dist/cli-arguments.d.ts.map +1 -1
  99. package/dist/cli-arguments.js +34 -2
  100. package/dist/cli-arguments.js.map +1 -1
  101. package/dist/cli.js +40 -1
  102. package/dist/cli.js.map +1 -1
  103. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts +13 -0
  104. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts.map +1 -0
  105. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js +257 -0
  106. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js.map +1 -0
  107. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts +20 -0
  108. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts.map +1 -0
  109. package/dist/scaffolding/adapters/node/filesystem-authority.js +55 -0
  110. package/dist/scaffolding/adapters/node/filesystem-authority.js.map +1 -0
  111. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts +20 -0
  112. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts.map +1 -0
  113. package/dist/scaffolding/adapters/node/filesystem-file-identity.js +122 -0
  114. package/dist/scaffolding/adapters/node/filesystem-file-identity.js.map +1 -0
  115. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts +22 -0
  116. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts.map +1 -0
  117. package/dist/scaffolding/adapters/node/filesystem-finalization.js +169 -0
  118. package/dist/scaffolding/adapters/node/filesystem-finalization.js.map +1 -0
  119. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts +25 -0
  120. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts.map +1 -0
  121. package/dist/scaffolding/adapters/node/filesystem-journal-state.js +119 -0
  122. package/dist/scaffolding/adapters/node/filesystem-journal-state.js.map +1 -0
  123. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +7 -4
  124. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -1
  125. package/dist/scaffolding/adapters/node/filesystem-journal.js +104 -29
  126. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -1
  127. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +16 -0
  128. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +158 -0
  130. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -0
  131. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +2 -2
  132. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  133. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -1
  134. package/dist/scaffolding/adapters/node/node-authority-error.d.ts +4 -0
  135. package/dist/scaffolding/adapters/node/node-authority-error.d.ts.map +1 -0
  136. package/dist/scaffolding/adapters/node/node-authority-error.js +7 -0
  137. package/dist/scaffolding/adapters/node/node-authority-error.js.map +1 -0
  138. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts +20 -0
  139. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts.map +1 -0
  140. package/dist/scaffolding/adapters/node/node-authority-input-loader.js +180 -0
  141. package/dist/scaffolding/adapters/node/node-authority-input-loader.js.map +1 -0
  142. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts +4 -0
  143. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts.map +1 -0
  144. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js +10 -0
  145. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js.map +1 -0
  146. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts +17 -0
  147. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts.map +1 -0
  148. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js +161 -0
  149. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js.map +1 -0
  150. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +14 -2
  151. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -1
  152. package/dist/scaffolding/adapters/node/node-plan-authority.js +28 -9
  153. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -1
  154. package/dist/scaffolding/adapters/node/node-repository-file.d.ts +9 -0
  155. package/dist/scaffolding/adapters/node/node-repository-file.d.ts.map +1 -0
  156. package/dist/scaffolding/adapters/node/node-repository-file.js +65 -0
  157. package/dist/scaffolding/adapters/node/node-repository-file.js.map +1 -0
  158. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts +2 -0
  159. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts.map +1 -0
  160. package/dist/scaffolding/adapters/node/node-scaffold-limits.js +2 -0
  161. package/dist/scaffolding/adapters/node/node-scaffold-limits.js.map +1 -0
  162. package/dist/scaffolding/authority-service.d.ts +7 -0
  163. package/dist/scaffolding/authority-service.d.ts.map +1 -0
  164. package/dist/scaffolding/authority-service.js +15 -0
  165. package/dist/scaffolding/authority-service.js.map +1 -0
  166. package/dist/scaffolding/canonical-api.d.ts +14 -0
  167. package/dist/scaffolding/canonical-api.d.ts.map +1 -0
  168. package/dist/scaffolding/canonical-api.js +32 -0
  169. package/dist/scaffolding/canonical-api.js.map +1 -0
  170. package/dist/scaffolding/cli-command.d.ts.map +1 -1
  171. package/dist/scaffolding/cli-command.js +1 -2
  172. package/dist/scaffolding/cli-command.js.map +1 -1
  173. package/dist/scaffolding/contract/receipt-authority-types.d.ts +125 -0
  174. package/dist/scaffolding/contract/receipt-authority-types.d.ts.map +1 -0
  175. package/dist/scaffolding/contract/receipt-authority-types.js +2 -0
  176. package/dist/scaffolding/contract/receipt-authority-types.js.map +1 -0
  177. package/dist/scaffolding/contract/scaffold-contract.d.ts +329 -0
  178. package/dist/scaffolding/contract/scaffold-contract.d.ts.map +1 -0
  179. package/dist/scaffolding/contract/scaffold-contract.js +2 -0
  180. package/dist/scaffolding/contract/scaffold-contract.js.map +1 -0
  181. package/dist/scaffolding/contract/types.d.ts +130 -193
  182. package/dist/scaffolding/contract/types.d.ts.map +1 -1
  183. package/dist/scaffolding/definitions/node-typescript-library.d.ts +3 -0
  184. package/dist/scaffolding/definitions/node-typescript-library.d.ts.map +1 -0
  185. package/dist/scaffolding/definitions/node-typescript-library.js +134 -0
  186. package/dist/scaffolding/definitions/node-typescript-library.js.map +1 -0
  187. package/dist/scaffolding/definitions/registry.d.ts +1 -1
  188. package/dist/scaffolding/definitions/registry.d.ts.map +1 -1
  189. package/dist/scaffolding/definitions/registry.js +6 -2
  190. package/dist/scaffolding/definitions/registry.js.map +1 -1
  191. package/dist/scaffolding/index.d.ts +4 -8
  192. package/dist/scaffolding/index.d.ts.map +1 -1
  193. package/dist/scaffolding/index.js +2 -7
  194. package/dist/scaffolding/index.js.map +1 -1
  195. package/dist/scaffolding/kernel/authority-compiler.d.ts +4 -0
  196. package/dist/scaffolding/kernel/authority-compiler.d.ts.map +1 -0
  197. package/dist/scaffolding/kernel/authority-compiler.js +78 -0
  198. package/dist/scaffolding/kernel/authority-compiler.js.map +1 -0
  199. package/dist/scaffolding/kernel/authority-evidence.d.ts +13 -0
  200. package/dist/scaffolding/kernel/authority-evidence.d.ts.map +1 -0
  201. package/dist/scaffolding/kernel/authority-evidence.js +79 -0
  202. package/dist/scaffolding/kernel/authority-evidence.js.map +1 -0
  203. package/dist/scaffolding/kernel/authority-receipt.d.ts +11 -0
  204. package/dist/scaffolding/kernel/authority-receipt.d.ts.map +1 -0
  205. package/dist/scaffolding/kernel/authority-receipt.js +189 -0
  206. package/dist/scaffolding/kernel/authority-receipt.js.map +1 -0
  207. package/dist/scaffolding/kernel/compiler.d.ts +28 -2
  208. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -1
  209. package/dist/scaffolding/kernel/compiler.js +22 -36
  210. package/dist/scaffolding/kernel/compiler.js.map +1 -1
  211. package/dist/scaffolding/kernel/definition-registry.d.ts +6 -3
  212. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -1
  213. package/dist/scaffolding/kernel/definition-registry.js +17 -1
  214. package/dist/scaffolding/kernel/definition-registry.js.map +1 -1
  215. package/dist/scaffolding/kernel/plan-content-validation.d.ts +3 -0
  216. package/dist/scaffolding/kernel/plan-content-validation.d.ts.map +1 -0
  217. package/dist/scaffolding/kernel/plan-content-validation.js +44 -0
  218. package/dist/scaffolding/kernel/plan-content-validation.js.map +1 -0
  219. package/dist/scaffolding/kernel/plan-validation.d.ts +2 -2
  220. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -1
  221. package/dist/scaffolding/kernel/plan-validation.js +16 -40
  222. package/dist/scaffolding/kernel/plan-validation.js.map +1 -1
  223. package/dist/scaffolding/scaffold-defaults.d.ts +2 -0
  224. package/dist/scaffolding/scaffold-defaults.d.ts.map +1 -0
  225. package/dist/scaffolding/scaffold-defaults.js +2 -0
  226. package/dist/scaffolding/scaffold-defaults.js.map +1 -0
  227. package/dist/scaffolding/scaffold-error.d.ts +3 -3
  228. package/dist/scaffolding/scaffold-error.d.ts.map +1 -1
  229. package/dist/scaffolding/scaffold-error.js.map +1 -1
  230. package/dist/schema-catalog.d.ts +2 -2
  231. package/dist/schema-catalog.d.ts.map +1 -1
  232. package/dist/schema-catalog.js +41 -8
  233. package/dist/schema-catalog.js.map +1 -1
  234. package/dist/schema-ids.d.ts +2 -1
  235. package/dist/schema-ids.d.ts.map +1 -1
  236. package/dist/schema-ids.js +3 -2
  237. package/dist/schema-ids.js.map +1 -1
  238. package/package.json +25 -2
  239. package/schemas/contract-protobuf-breaking-qualification/v1.schema.json +93 -0
  240. package/schemas/contract-protobuf-evolution/v1.schema.json +47 -15
  241. package/schemas/package-public-api-baseline/v1.schema.json +49 -12
  242. package/schemas/package-public-api-compatibility/v1.schema.json +46 -5
  243. package/schemas/scaffold-authority-evidence/v1.schema.json +103 -0
  244. package/schemas/scaffold-intent/v1.schema.json +1 -1
  245. package/schemas/scaffold-plan/v1.schema.json +86 -8
  246. package/schemas/scaffold-receipt/v1.schema.json +102 -221
  247. package/schemas/scaffold-recovery-journal/v1.schema.json +31 -0
  248. package/schemas/scaffold-target-catalog/v1.schema.json +9 -8
  249. package/schemas/scaffolding-config/v1.schema.json +38 -2
  250. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +0 -9
  251. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +0 -1
  252. package/dist/scaffolding/adapters/memory/memory-workspace.js +0 -93
  253. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +0 -1
  254. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +0 -13
  255. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +0 -1
  256. package/dist/scaffolding/adapters/node/filesystem-workspace.js +0 -336
  257. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +0 -1
  258. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +0 -17
  259. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +0 -1
  260. package/dist/scaffolding/adapters/node/node-input-loader.js +0 -157
  261. package/dist/scaffolding/adapters/node/node-input-loader.js.map +0 -1
  262. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +0 -4
  263. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +0 -1
  264. package/dist/scaffolding/adapters/node/node-receipt-validator.js +0 -10
  265. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +0 -1
  266. package/dist/scaffolding/kernel/receipt.d.ts +0 -35
  267. package/dist/scaffolding/kernel/receipt.d.ts.map +0 -1
  268. package/dist/scaffolding/kernel/receipt.js +0 -206
  269. package/dist/scaffolding/kernel/receipt.js.map +0 -1
  270. package/dist/scaffolding/service.d.ts +0 -8
  271. package/dist/scaffolding/service.d.ts.map +0 -1
  272. package/dist/scaffolding/service.js +0 -15
  273. package/dist/scaffolding/service.js.map +0 -1
  274. package/schemas/package-public-api-baseline/v2.schema.json +0 -62
  275. package/schemas/package-public-api-compatibility/v2.schema.json +0 -113
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffolding/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffolding/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,wBAAwB,EACxB,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,qCAAqC,EACrC,wBAAwB,EACxB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,9 +1,4 @@
1
- export { applyFilesystemScaffold, recoverFilesystemScaffold } from "./adapters/node/filesystem-workspace.js";
2
- export { readScaffoldPlanFile } from "./adapters/node/node-input-loader.js";
3
- export { validateScaffoldReceipt } from "./adapters/node/node-receipt-validator.js";
4
- export { MemoryScaffoldWorkspace } from "./adapters/memory/memory-workspace.js";
5
- export { assertScaffoldPlanDigest } from "./kernel/plan-validation.js";
6
- export { assertScaffoldReceiptDigest } from "./kernel/receipt.js";
1
+ export { applyFilesystemScaffold, assertScaffoldAuthorityEvidenceDigest, assertScaffoldPlanDigest, assertScaffoldReceiptDigest, planScaffoldFromFile, readScaffoldPlanFile, recoverFilesystemScaffold, validateScaffoldReceipt } from "./canonical-api.js";
7
2
  export { ScaffoldError } from "./scaffold-error.js";
8
- export { DEFAULT_SCAFFOLDING_CONFIG_PATH, planScaffoldFromFile } from "./service.js";
3
+ export { DEFAULT_SCAFFOLDING_CONFIG_PATH } from "./scaffold-defaults.js";
9
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffolding/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scaffolding/index.ts"],"names":[],"mappings":"AAsCA,OAAO,EACL,uBAAuB,EACvB,qCAAqC,EACrC,wBAAwB,EACxB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AuthorityScaffoldCompilationInput, AuthorityScaffoldPlan } from "../contract/types.js";
2
+ import type { ScaffoldDefinitionRegistry } from "./definition-registry.js";
3
+ export declare function compileAuthorityScaffoldPlan(input: AuthorityScaffoldCompilationInput, registry: ScaffoldDefinitionRegistry): AuthorityScaffoldPlan;
4
+ //# sourceMappingURL=authority-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-compiler.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iCAAiC,EAGjC,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAiF3E,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,EACxC,QAAQ,EAAE,0BAA0B,GACnC,qBAAqB,CAwBvB"}
@@ -0,0 +1,78 @@
1
+ import { ScaffoldError } from "../scaffold-error.js";
2
+ import { sha256Json } from "./canonical-json.js";
3
+ import { assertAuthorityEvidenceSourceBindings } from "./authority-evidence.js";
4
+ import { compileScaffoldRendering, resolveScaffoldRenderingSelection } from "./compiler.js";
5
+ function assertVerifierAdmission(input, composition, target) {
6
+ const authorityVerifiers = composition.authorityVerifiers;
7
+ if (authorityVerifiers.length !== 1) {
8
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "The selected Composition must contain exactly one supported authority verifier.");
9
+ }
10
+ const admittedVerifier = authorityVerifiers[0];
11
+ if (admittedVerifier === undefined) {
12
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "The selected Composition must admit exactly one authority verifier.");
13
+ }
14
+ if (!admittedVerifier.parameters.allowedStatuses.includes(input.authorityEvidence.ownerDocument.status)) {
15
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Owner document status is not allowed by the selected Composition.");
16
+ }
17
+ assertAuthorityEvidenceSourceBindings({
18
+ evidence: input.authorityEvidence,
19
+ target,
20
+ projectId: input.config.projectId,
21
+ targetRef: input.intent.targetRef,
22
+ configPath: input.configPath,
23
+ targetCatalogPath: input.config.targetCatalogPath,
24
+ authorityReadSet: input.authorityReadSet
25
+ });
26
+ }
27
+ function normalizeAuthorityPlan(input, rendering, composition, target) {
28
+ const authoritySnapshotDigest = sha256Json({
29
+ configPath: input.configPath,
30
+ projectId: input.config.projectId,
31
+ composition,
32
+ target,
33
+ authorityEvidence: input.authorityEvidence,
34
+ readSet: input.authorityReadSet
35
+ });
36
+ const planBody = {
37
+ schemaVersion: 1,
38
+ protocolVersion: 1,
39
+ ...rendering,
40
+ projectId: input.config.projectId,
41
+ authority: Object.freeze({
42
+ configPath: input.configPath,
43
+ targetCatalogPath: input.config.targetCatalogPath
44
+ }),
45
+ authorityEvidence: input.authorityEvidence,
46
+ authoritySnapshotDigest,
47
+ target,
48
+ readSet: Object.freeze([...input.authorityReadSet].toSorted((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0)),
49
+ requiredAdapterCapabilities: ["materialize-file/v1"]
50
+ };
51
+ return Object.freeze({
52
+ ...planBody,
53
+ planDigest: sha256Json(planBody)
54
+ });
55
+ }
56
+ export function compileAuthorityScaffoldPlan(input, registry) {
57
+ const { composition, target } = resolveScaffoldRenderingSelection({
58
+ compositions: input.config.compositions,
59
+ targets: input.catalog.packages,
60
+ authorityReadPaths: input.authorityReadSet.map(({ path }) => path),
61
+ intent: input.intent
62
+ });
63
+ assertVerifierAdmission(input, composition, target);
64
+ const rendering = compileScaffoldRendering({
65
+ foundationVersion: input.foundationVersion,
66
+ intent: input.intent,
67
+ composition,
68
+ target: {
69
+ id: target.id,
70
+ role: target.role,
71
+ path: target.path,
72
+ packageName: target.packageName
73
+ },
74
+ verifiedOwnerDocumentId: target.ownerDocument.id
75
+ }, registry);
76
+ return normalizeAuthorityPlan(input, rendering, composition, target);
77
+ }
78
+ //# sourceMappingURL=authority-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-compiler.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ScaffoldAuthorityEvidenceV1, ScaffoldReadAssertionV1, AuthorityScaffoldTarget } from "../contract/types.js";
2
+ export declare function createScaffoldAuthorityEvidence(evidence: Omit<ScaffoldAuthorityEvidenceV1, "evidenceDigest">): ScaffoldAuthorityEvidenceV1;
3
+ export declare function assertScaffoldAuthorityEvidenceDigest(evidence: ScaffoldAuthorityEvidenceV1): void;
4
+ export declare function assertAuthorityEvidenceSourceBindings(options: {
5
+ readonly evidence: ScaffoldAuthorityEvidenceV1;
6
+ readonly target: AuthorityScaffoldTarget;
7
+ readonly projectId: string;
8
+ readonly targetRef: string;
9
+ readonly configPath: string;
10
+ readonly targetCatalogPath: string;
11
+ readonly authorityReadSet: readonly ScaffoldReadAssertionV1[];
12
+ }): void;
13
+ //# sourceMappingURL=authority-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-evidence.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,2BAA2B,EAE3B,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAqC9B,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,IAAI,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,GAC5D,2BAA2B,CAM7B;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,2BAA2B,GACpC,IAAI,CAWN;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE;IAC7D,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC/D,GAAG,IAAI,CAgEP"}
@@ -0,0 +1,79 @@
1
+ import { ScaffoldError } from "../scaffold-error.js";
2
+ import { canonicalJson, sha256Json } from "./canonical-json.js";
3
+ function canonicalSources(sources) {
4
+ const source = (role) => {
5
+ const matches = sources.filter((candidate) => candidate.role === role);
6
+ if (matches.length !== 1) {
7
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", `Scaffolding Authority Evidence must contain exactly one ${role} source.`);
8
+ }
9
+ return matches[0];
10
+ };
11
+ return Object.freeze([
12
+ source("config"),
13
+ source("owner-document"),
14
+ source("target-catalog")
15
+ ]);
16
+ }
17
+ function canonicalEvidenceBody(evidence) {
18
+ return Object.freeze({
19
+ ...evidence,
20
+ sources: canonicalSources(evidence.sources)
21
+ });
22
+ }
23
+ export function createScaffoldAuthorityEvidence(evidence) {
24
+ const body = canonicalEvidenceBody(evidence);
25
+ return Object.freeze({
26
+ ...body,
27
+ evidenceDigest: sha256Json(body)
28
+ });
29
+ }
30
+ export function assertScaffoldAuthorityEvidenceDigest(evidence) {
31
+ const { evidenceDigest: _evidenceDigest, ...body } = evidence;
32
+ const expected = sha256Json(canonicalEvidenceBody(body));
33
+ if (evidence.evidenceDigest !== expected) {
34
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding Authority Evidence digest does not match its canonical content.");
35
+ }
36
+ }
37
+ export function assertAuthorityEvidenceSourceBindings(options) {
38
+ const { evidence, target } = options;
39
+ assertScaffoldAuthorityEvidenceDigest(evidence);
40
+ if (evidence.projectId !== options.projectId ||
41
+ evidence.targetRef !== options.targetRef ||
42
+ evidence.targetIdentityDigest !==
43
+ sha256Json(target) ||
44
+ evidence.ownerDocument.id !== target.ownerDocument.id ||
45
+ evidence.ownerDocument.path !== target.ownerDocument.path) {
46
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding Authority Evidence is not bound to the selected target.");
47
+ }
48
+ const expectedRoles = new Set(["config", "target-catalog", "owner-document"]);
49
+ const expectedPaths = new Map([
50
+ ["config", options.configPath],
51
+ ["target-catalog", options.targetCatalogPath],
52
+ ["owner-document", target.ownerDocument.path]
53
+ ]);
54
+ const evidencePaths = new Set();
55
+ for (const source of evidence.sources) {
56
+ if (!expectedRoles.delete(source.role) ||
57
+ evidencePaths.has(source.assertion.path) ||
58
+ expectedPaths.get(source.role) !== source.assertion.path) {
59
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding Authority Evidence source roles are not bound to canonical paths.");
60
+ }
61
+ evidencePaths.add(source.assertion.path);
62
+ }
63
+ if (expectedRoles.size !== 0) {
64
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding Authority Evidence does not contain every required source.");
65
+ }
66
+ const readSet = new Map(options.authorityReadSet.map((assertion) => [assertion.path, assertion]));
67
+ if (readSet.size !== options.authorityReadSet.length || readSet.size !== 3) {
68
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding source-bound must bind exactly three authority read sources.");
69
+ }
70
+ for (const source of evidence.sources) {
71
+ const assertion = readSet.get(source.assertion.path);
72
+ if (assertion === undefined ||
73
+ canonicalJson(assertion) !==
74
+ canonicalJson(source.assertion)) {
75
+ throw new ScaffoldError("SCAFFOLD_PLAN_INVALID", "Scaffolding Authority Evidence and Plan read set disagree.");
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=authority-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-evidence.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ScaffoldDiagnosticV1, AuthorityScaffoldOperationReceipt, AuthorityScaffoldPlan, AuthorityScaffoldReceiptOutcome, AuthorityScaffoldReceipt } from "../contract/types.js";
2
+ export interface CreateAuthorityScaffoldReceiptOptions {
3
+ readonly plan: AuthorityScaffoldPlan;
4
+ readonly outcome: AuthorityScaffoldReceiptOutcome;
5
+ readonly commitState: "committed" | "recovered" | "recovery-required" | "rejected" | "rolled-back";
6
+ readonly operations: readonly AuthorityScaffoldOperationReceipt[];
7
+ readonly diagnostics?: readonly ScaffoldDiagnosticV1[];
8
+ }
9
+ export declare function assertAuthorityScaffoldReceiptDigest(receipt: AuthorityScaffoldReceipt, plan?: AuthorityScaffoldPlan): void;
10
+ export declare function createAuthorityScaffoldReceipt(options: CreateAuthorityScaffoldReceiptOptions): AuthorityScaffoldReceipt;
11
+ //# sourceMappingURL=authority-receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-receipt.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-receipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,iCAAiC,EACjC,qBAAqB,EACrB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAuB9B,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;IAClD,QAAQ,CAAC,WAAW,EAChB,WAAW,GACX,WAAW,GACX,mBAAmB,GACnB,UAAU,GACV,aAAa,CAAC;IAClB,QAAQ,CAAC,UAAU,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACxD;AA+JD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,wBAAwB,EACjC,IAAI,CAAC,EAAE,qBAAqB,GAC3B,IAAI,CAgBN;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qCAAqC,GAC7C,wBAAwB,CAmC1B"}
@@ -0,0 +1,189 @@
1
+ import { ScaffoldError } from "../scaffold-error.js";
2
+ import { sha256Json } from "./canonical-json.js";
3
+ import { assertAuthorityScaffoldPlanDigest } from "./plan-validation.js";
4
+ const SHA_256_DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/u;
5
+ function invalidReceipt(message) {
6
+ throw new ScaffoldError("SCAFFOLD_RECEIPT_INVALID", message);
7
+ }
8
+ function hasObservedPostImage(outcome) {
9
+ return (outcome === "already-satisfied" ||
10
+ outcome === "applied" ||
11
+ outcome === "recovered");
12
+ }
13
+ function assertDigest(value, subject) {
14
+ if (value === undefined || !SHA_256_DIGEST_PATTERN.test(value)) {
15
+ invalidReceipt(`${subject} must be a SHA-256 digest.`);
16
+ }
17
+ }
18
+ function assertAdapterAndCommit(receipt) {
19
+ if (receipt.adapter.id !== "foundation.filesystem/v1") {
20
+ invalidReceipt("Scaffolding Receipt adapter is not supported by current scaffolding protocol.");
21
+ }
22
+ if (receipt.adapter.contractVersion !== 1) {
23
+ invalidReceipt("Scaffolding Receipt adapter contract version is not supported.");
24
+ }
25
+ if (receipt.commit.atomicity !== "journaled-recoverable") {
26
+ invalidReceipt("Scaffolding Receipt adapter and commit atomicity are incompatible.");
27
+ }
28
+ const expectedState = (() => {
29
+ switch (receipt.outcome) {
30
+ case "applied":
31
+ case "already-applied":
32
+ return "committed";
33
+ case "failed-recovered":
34
+ return "recovered";
35
+ case "recovery-required":
36
+ return "recovery-required";
37
+ case "rejected":
38
+ return "rejected";
39
+ case "authority-stale":
40
+ return "rolled-back";
41
+ default:
42
+ return invalidReceipt("Scaffolding Receipt outcome is not supported by current scaffolding protocol.");
43
+ }
44
+ })();
45
+ if (receipt.commit.state !== expectedState) {
46
+ invalidReceipt("Scaffolding Receipt outcome and commit state are incompatible.");
47
+ }
48
+ }
49
+ function assertOperations(receipt) {
50
+ const ids = new Set();
51
+ const paths = new Set();
52
+ for (const operation of receipt.operations) {
53
+ if (ids.has(operation.operationId) || paths.has(operation.path)) {
54
+ invalidReceipt(`Scaffolding Receipt operation evidence is duplicated: ${operation.operationId}.`);
55
+ }
56
+ ids.add(operation.operationId);
57
+ paths.add(operation.path);
58
+ if (hasObservedPostImage(operation.outcome)) {
59
+ assertDigest(operation.resultDigest, `Scaffolding Receipt operation ${operation.operationId} result`);
60
+ }
61
+ else if (operation.resultDigest !== undefined) {
62
+ invalidReceipt(`Scaffolding Receipt operation claims an unobserved result: ${operation.operationId}.`);
63
+ }
64
+ }
65
+ }
66
+ function assertOnly(operations, allowed, required) {
67
+ if (operations.some((operation) => !allowed.includes(operation.outcome))) {
68
+ invalidReceipt("Scaffolding Receipt operation outcome is incompatible with its Receipt outcome.");
69
+ }
70
+ if (required !== undefined &&
71
+ !operations.some((operation) => required.includes(operation.outcome))) {
72
+ invalidReceipt("Scaffolding Receipt does not contain the required operation evidence.");
73
+ }
74
+ }
75
+ function assertOutcome(receipt) {
76
+ switch (receipt.outcome) {
77
+ case "applied":
78
+ if (receipt.operations.length === 0) {
79
+ invalidReceipt("An applied Scaffolding Receipt requires operation evidence.");
80
+ }
81
+ if (receipt.operations[0]?.outcome !== "applied") {
82
+ invalidReceipt("An applied Scaffolding Receipt must place applied evidence first.");
83
+ }
84
+ assertOnly(receipt.operations, ["already-satisfied", "applied"], ["applied"]);
85
+ return;
86
+ case "already-applied":
87
+ if (receipt.operations.length === 0) {
88
+ invalidReceipt("An already-applied Scaffolding Receipt requires operation evidence.");
89
+ }
90
+ assertOnly(receipt.operations, ["already-satisfied"]);
91
+ return;
92
+ case "failed-recovered":
93
+ if (receipt.operations.length === 0) {
94
+ invalidReceipt("A failed-recovered Scaffolding Receipt requires operation evidence.");
95
+ }
96
+ assertOnly(receipt.operations, ["already-satisfied", "recovered"]);
97
+ return;
98
+ case "recovery-required":
99
+ if (receipt.operations.length === 0) {
100
+ invalidReceipt("A recovery-required Scaffolding Receipt requires operation evidence.");
101
+ }
102
+ assertOnly(receipt.operations, ["already-satisfied", "conflict", "not-applied", "unobserved"]);
103
+ return;
104
+ case "authority-stale":
105
+ if (receipt.operations.length === 0) {
106
+ invalidReceipt("An authority-stale Scaffolding Receipt requires operation evidence.");
107
+ }
108
+ assertOnly(receipt.operations, ["not-applied"]);
109
+ return;
110
+ case "rejected":
111
+ if (receipt.operations.length === 0) {
112
+ invalidReceipt("A rejected Scaffolding Receipt requires operation evidence.");
113
+ }
114
+ assertOnly(receipt.operations, ["already-satisfied", "conflict", "not-applied"]);
115
+ return;
116
+ default:
117
+ invalidReceipt("Scaffolding Receipt outcome is not supported by current scaffolding protocol.");
118
+ }
119
+ }
120
+ function assertPlanEvidence(receipt, plan) {
121
+ assertAuthorityScaffoldPlanDigest(plan);
122
+ if (receipt.planDigest !== plan.planDigest) {
123
+ invalidReceipt("Scaffolding Receipt references a different Plan digest.");
124
+ }
125
+ const operations = new Map(plan.operations.map((operation) => [operation.id, operation]));
126
+ for (const operation of receipt.operations) {
127
+ const planned = operations.get(operation.operationId);
128
+ if (planned === undefined || planned.path !== operation.path) {
129
+ invalidReceipt(`Scaffolding Receipt operation does not match its Plan evidence: ${operation.operationId}.`);
130
+ }
131
+ if (hasObservedPostImage(operation.outcome) && operation.resultDigest !== planned.after.digest) {
132
+ invalidReceipt(`Scaffolding Receipt result digest does not match its Plan evidence: ${operation.operationId}.`);
133
+ }
134
+ }
135
+ if (receipt.operations.length !== plan.operations.length) {
136
+ invalidReceipt("A plan-bound Scaffolding Receipt must provide evidence for every Plan operation.");
137
+ }
138
+ }
139
+ export function assertAuthorityScaffoldReceiptDigest(receipt, plan) {
140
+ const candidate = receipt;
141
+ if (candidate.schemaVersion !== 1 || candidate.protocolVersion !== 1) {
142
+ invalidReceipt("Scaffolding Receipt does not use current scaffolding protocol.");
143
+ }
144
+ assertDigest(candidate.planDigest, "Scaffolding Receipt Plan digest");
145
+ assertAdapterAndCommit(candidate);
146
+ assertOperations(candidate);
147
+ assertOutcome(candidate);
148
+ const { receiptDigest: _receiptDigest, ...body } = candidate;
149
+ if (candidate.receiptDigest !== sha256Json(body)) {
150
+ invalidReceipt("Scaffolding Receipt digest does not match its canonical content.");
151
+ }
152
+ if (plan !== undefined) {
153
+ assertPlanEvidence(candidate, plan);
154
+ }
155
+ }
156
+ export function createAuthorityScaffoldReceipt(options) {
157
+ const operations = options.outcome === "applied"
158
+ ? [...options.operations].toSorted((left, right) => left.outcome === "applied"
159
+ ? right.outcome === "applied"
160
+ ? 0
161
+ : -1
162
+ : right.outcome === "applied"
163
+ ? 1
164
+ : 0)
165
+ : [...options.operations];
166
+ const body = {
167
+ schemaVersion: 1,
168
+ protocolVersion: 1,
169
+ planDigest: options.plan.planDigest,
170
+ adapter: Object.freeze({
171
+ id: "foundation.filesystem/v1",
172
+ contractVersion: 1
173
+ }),
174
+ outcome: options.outcome,
175
+ commit: Object.freeze({
176
+ state: options.commitState,
177
+ atomicity: "journaled-recoverable"
178
+ }),
179
+ operations: Object.freeze(operations),
180
+ diagnostics: Object.freeze([...(options.diagnostics ?? [])])
181
+ };
182
+ const receipt = Object.freeze({
183
+ ...body,
184
+ receiptDigest: sha256Json(body)
185
+ });
186
+ assertAuthorityScaffoldReceiptDigest(receipt, options.plan);
187
+ return receipt;
188
+ }
189
+ //# sourceMappingURL=authority-receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority-receipt.js","sourceRoot":"","sources":["../../../src/scaffolding/kernel/authority-receipt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,30 @@
1
- import type { ScaffoldCompilationInput, ScaffoldPlanV1 } from "../contract/types.js";
1
+ import type { ScaffoldRenderingCompiler, ScaffoldRenderingComposition, ScaffoldRenderingCompositionSelection, ScaffoldRenderingDefinitionEvidence, ScaffoldRenderingDiagnostic, ScaffoldRenderingIntent, ScaffoldRenderingOperation, ScaffoldRenderingResolution, ScaffoldRenderingTarget, Sha256Digest } from "../contract/types.js";
2
2
  import { ScaffoldDefinitionRegistry } from "./definition-registry.js";
3
- export declare function compileScaffoldPlan(input: ScaffoldCompilationInput, registry: ScaffoldDefinitionRegistry): ScaffoldPlanV1;
3
+ export declare function resolveScaffoldRenderingSelection<TComposition extends ScaffoldRenderingComposition, TTarget extends ScaffoldRenderingTarget>(input: {
4
+ readonly compositions: readonly TComposition[];
5
+ readonly targets: readonly TTarget[];
6
+ readonly authorityReadPaths: readonly string[];
7
+ readonly intent: ScaffoldRenderingIntent;
8
+ }): {
9
+ readonly composition: TComposition;
10
+ readonly target: TTarget;
11
+ };
12
+ export interface ScaffoldRenderingInput {
13
+ readonly foundationVersion: string;
14
+ readonly intent: ScaffoldRenderingIntent;
15
+ readonly composition: ScaffoldRenderingComposition;
16
+ readonly target: ScaffoldRenderingTarget;
17
+ readonly verifiedOwnerDocumentId?: string;
18
+ }
19
+ export interface ScaffoldRenderingResult {
20
+ readonly compiler: ScaffoldRenderingCompiler;
21
+ readonly intent: ScaffoldRenderingIntent;
22
+ readonly intentDigest: Sha256Digest;
23
+ readonly composition: ScaffoldRenderingCompositionSelection;
24
+ readonly definitions: readonly ScaffoldRenderingDefinitionEvidence[];
25
+ readonly resolved: ScaffoldRenderingResolution;
26
+ readonly operations: readonly ScaffoldRenderingOperation[];
27
+ readonly diagnostics: readonly ScaffoldRenderingDiagnostic[];
28
+ }
29
+ export declare function compileScaffoldRendering(input: ScaffoldRenderingInput, registry: ScaffoldDefinitionRegistry): ScaffoldRenderingResult;
4
30
  //# sourceMappingURL=compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,wBAAwB,EAIxB,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EACL,0BAA0B,EAI3B,MAAM,0BAA0B,CAAC;AA0UlC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,EAAE,0BAA0B,GACnC,cAAc,CAiJhB"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/kernel/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,yBAAyB,EACzB,4BAA4B,EAC5B,qCAAqC,EACrC,mCAAmC,EACnC,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EAEvB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EACL,0BAA0B,EAI3B,MAAM,0BAA0B,CAAC;AAsRlC,wBAAgB,iCAAiC,CAC/C,YAAY,SAAS,4BAA4B,EACjD,OAAO,SAAS,uBAAuB,EACvC,KAAK,EAAE;IACP,QAAQ,CAAC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C,GAAG;IACF,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,CAiCA;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,qCAAqC,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC3D,QAAQ,CAAC,WAAW,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAC9D;AAgBD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,0BAA0B,GACnC,uBAAuB,CA+HzB"}
@@ -160,15 +160,15 @@ function definitionEvidence(registry, definitions) {
160
160
  : kindOrder;
161
161
  }));
162
162
  }
163
- function resolveAuthoritySelection(input) {
164
- assertUnique(input.config.compositions, ({ id }) => id, "Composition ID");
165
- assertUnique(input.catalog.packages, ({ id }) => id, "target ID");
166
- assertUnique(input.catalog.packages, ({ path }) => path, "target path");
167
- assertUnique(input.catalog.packages, ({ path }) => path.toLowerCase(), "case-folded target path");
168
- assertUnique(input.catalog.packages, ({ packageName }) => packageName, "target package name");
169
- assertUnique(input.authorityReadSet, ({ path }) => path, "authority read path");
170
- const composition = findExactlyOne(input.config.compositions, ({ id }) => id === input.intent.compositionId, `Composition must exist exactly once: ${input.intent.compositionId}.`);
171
- const target = findExactlyOne(input.catalog.packages, ({ id }) => id === input.intent.targetRef, `Scaffold target must exist exactly once: ${input.intent.targetRef}.`);
163
+ export function resolveScaffoldRenderingSelection(input) {
164
+ assertUnique(input.compositions, ({ id }) => id, "Composition ID");
165
+ assertUnique(input.targets, ({ id }) => id, "target ID");
166
+ assertUnique(input.targets, ({ path }) => path, "target path");
167
+ assertUnique(input.targets, ({ path }) => path.toLowerCase(), "case-folded target path");
168
+ assertUnique(input.targets, ({ packageName }) => packageName, "target package name");
169
+ assertUnique(input.authorityReadPaths, (path) => path, "authority read path");
170
+ const composition = findExactlyOne(input.compositions, ({ id }) => id === input.intent.compositionId, `Composition must exist exactly once: ${input.intent.compositionId}.`);
171
+ const target = findExactlyOne(input.targets, ({ id }) => id === input.intent.targetRef, `Scaffold target must exist exactly once: ${input.intent.targetRef}.`);
172
172
  assertUnique(composition.targetRoles, (role) => role, "target role");
173
173
  if (!composition.targetRoles.includes(target.role)) {
174
174
  throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Target role ${target.role} is not admitted by composition ${composition.id}.`);
@@ -182,27 +182,33 @@ function assertFacetCompatibility(facets, recipeId) {
182
182
  }
183
183
  }
184
184
  }
185
- export function compileScaffoldPlan(input, registry) {
186
- const { composition, target } = resolveAuthoritySelection(input);
185
+ export function compileScaffoldRendering(input, registry) {
186
+ const { composition, target } = input;
187
+ assertUnique(composition.targetRoles, (role) => role, "target role");
188
+ if (!composition.targetRoles.includes(target.role)) {
189
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Target role ${target.role} is not admitted by composition ${composition.id}.`);
190
+ }
187
191
  const profile = registry.resolve(composition.scaffoldProfile.ref, "scaffold-profile");
188
192
  const recipe = registry.resolve(composition.recipe.ref, "recipe");
189
193
  const profileParameters = composition.scaffoldProfile.parameters ?? {};
190
194
  const recipeParameters = mergeRecipeParameters(composition, input.intent.recipeParameters ?? {});
191
195
  registry.validateParameters(profile, profileParameters);
192
196
  registry.validateParameters(recipe, recipeParameters);
193
- if (!profile.allowedRecipeIds.includes(recipe.ref.id) ||
194
- !recipe.allowedProfileIds.includes(profile.ref.id) ||
195
- !recipe.allowedTargetRoles.includes(target.role)) {
197
+ if (!profile.allowedRecipeIds.includes(recipe.ref.id)) {
196
198
  throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Recipe ${refKey(recipe.ref)} is incompatible with the selected Profile or target role.`);
197
199
  }
198
200
  const facets = selectFacets(registry, composition, input.intent.facets);
199
201
  assertFacetCompatibility(facets, recipe.ref.id);
200
202
  const baseContext = Object.freeze({
201
203
  target,
204
+ ...(input.verifiedOwnerDocumentId === undefined
205
+ ? {}
206
+ : { verifiedOwnerDocumentId: input.verifiedOwnerDocumentId }),
202
207
  profileParameters,
203
208
  recipeParameters,
204
209
  facetParameters: Object.freeze({})
205
210
  });
211
+ registry.assertRecipeRequirements(recipe, profile.ref.id, baseContext);
206
212
  const policyConfigurations = collectPolicies([
207
213
  profile.requiredPolicies,
208
214
  recipe.requiredPolicies,
@@ -232,13 +238,6 @@ export function compileScaffoldPlan(input, registry) {
232
238
  ...facets.map(({ definition }) => definition),
233
239
  ...policies
234
240
  ]);
235
- const authoritySnapshotDigest = sha256Json({
236
- configPath: input.configPath,
237
- projectId: input.config.projectId,
238
- composition,
239
- target,
240
- readSet: input.authorityReadSet
241
- });
242
241
  const normalizedIntent = JSON.parse(canonicalJson({
243
242
  schemaVersion: 1,
244
243
  compositionId: input.intent.compositionId,
@@ -252,21 +251,13 @@ export function compileScaffoldPlan(input, registry) {
252
251
  facets: [...input.intent.facets].toSorted((left, right) => compareStrings(refKey(left.ref), refKey(right.ref)))
253
252
  })
254
253
  }));
255
- const planBody = {
256
- schemaVersion: 1,
257
- protocolVersion: 1,
254
+ return Object.freeze({
258
255
  compiler: Object.freeze({
259
256
  id: "@agent-teams/engineering-foundation",
260
257
  version: input.foundationVersion
261
258
  }),
262
- projectId: input.config.projectId,
263
- authority: Object.freeze({
264
- configPath: input.configPath,
265
- targetCatalogPath: input.config.targetCatalogPath
266
- }),
267
259
  intent: normalizedIntent,
268
260
  intentDigest: sha256Json(normalizedIntent),
269
- authoritySnapshotDigest,
270
261
  composition: Object.freeze({
271
262
  id: composition.id,
272
263
  scaffoldProfile: profile.ref,
@@ -285,13 +276,8 @@ export function compileScaffoldPlan(input, registry) {
285
276
  outcome: "passed"
286
277
  })))
287
278
  }),
288
- target,
289
- readSet: Object.freeze([...input.authorityReadSet].toSorted((left, right) => compareStrings(left.path, right.path))),
290
- requiredAdapterCapabilities: ["materialize-file/v1"],
291
279
  operations,
292
280
  diagnostics: Object.freeze([])
293
- };
294
- const planDigest = sha256Json(planBody);
295
- return Object.freeze({ ...planBody, planDigest });
281
+ });
296
282
  }
297
283
  //# sourceMappingURL=compiler.js.map