@agent-teams/engineering-foundation 0.6.0 → 0.8.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 (280) 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 +1 -1
  32. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -1
  33. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +33 -18
  34. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -1
  35. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +3 -1
  36. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -1
  37. package/dist/capabilities/contract-protobuf-evolution/module.js +4 -1
  38. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -1
  39. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts +21 -0
  40. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts.map +1 -0
  41. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js +301 -0
  42. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js.map +1 -0
  43. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +2 -0
  44. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -1
  45. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +28 -41
  46. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -1
  47. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts +8 -0
  48. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts.map +1 -0
  49. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js +102 -0
  50. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js.map +1 -0
  51. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +14 -0
  52. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -1
  53. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +22 -0
  54. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -1
  55. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts +21 -0
  56. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts.map +1 -0
  57. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js +2 -0
  58. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js.map +1 -0
  59. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts +18 -0
  60. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts.map +1 -0
  61. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js +2 -0
  62. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js.map +1 -0
  63. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts +22 -0
  64. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts.map +1 -0
  65. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js +221 -0
  66. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js.map +1 -0
  67. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +2 -6
  68. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
  69. package/dist/capabilities/source-dependencies/application/model/source-workspace.js +0 -1
  70. package/dist/capabilities/source-dependencies/application/model/source-workspace.js.map +1 -1
  71. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts.map +1 -1
  72. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +1 -3
  73. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js.map +1 -1
  74. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts.map +1 -1
  75. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js +1 -6
  76. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js.map +1 -1
  77. package/dist/capabilities/source-dependencies/application/rules.js +2 -2
  78. package/dist/capabilities/source-dependencies/application/rules.js.map +1 -1
  79. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
  80. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +1 -3
  81. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
  82. package/dist/capabilities/source-dependencies/contract/config.d.ts +1 -1
  83. package/dist/capabilities/source-dependencies/contract/config.d.ts.map +1 -1
  84. package/dist/capabilities/source-dependencies/contract/config.js +17 -25
  85. package/dist/capabilities/source-dependencies/contract/config.js.map +1 -1
  86. package/dist/cli-arguments.d.ts +2 -0
  87. package/dist/cli-arguments.d.ts.map +1 -1
  88. package/dist/cli-arguments.js +34 -2
  89. package/dist/cli-arguments.js.map +1 -1
  90. package/dist/cli.js +40 -1
  91. package/dist/cli.js.map +1 -1
  92. package/dist/scaffolding/adapters/memory/memory-workspace.js +1 -1
  93. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -1
  94. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts +13 -0
  95. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts.map +1 -0
  96. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js +257 -0
  97. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js.map +1 -0
  98. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts +20 -0
  99. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts.map +1 -0
  100. package/dist/scaffolding/adapters/node/filesystem-authority.js +55 -0
  101. package/dist/scaffolding/adapters/node/filesystem-authority.js.map +1 -0
  102. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts +20 -0
  103. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts.map +1 -0
  104. package/dist/scaffolding/adapters/node/filesystem-file-identity.js +122 -0
  105. package/dist/scaffolding/adapters/node/filesystem-file-identity.js.map +1 -0
  106. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts +22 -0
  107. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts.map +1 -0
  108. package/dist/scaffolding/adapters/node/filesystem-finalization.js +169 -0
  109. package/dist/scaffolding/adapters/node/filesystem-finalization.js.map +1 -0
  110. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts +25 -0
  111. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts.map +1 -0
  112. package/dist/scaffolding/adapters/node/filesystem-journal-state.js +119 -0
  113. package/dist/scaffolding/adapters/node/filesystem-journal-state.js.map +1 -0
  114. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +7 -4
  115. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -1
  116. package/dist/scaffolding/adapters/node/filesystem-journal.js +104 -29
  117. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -1
  118. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +23 -0
  119. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -0
  120. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +182 -0
  121. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -0
  122. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +2 -2
  123. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  124. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -1
  125. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts +6 -0
  126. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts.map +1 -0
  127. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js +80 -0
  128. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +1 -0
  130. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -1
  131. package/dist/scaffolding/adapters/node/filesystem-workspace.js +22 -151
  132. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -1
  133. package/dist/scaffolding/adapters/node/node-authority-error.d.ts +4 -0
  134. package/dist/scaffolding/adapters/node/node-authority-error.d.ts.map +1 -0
  135. package/dist/scaffolding/adapters/node/node-authority-error.js +7 -0
  136. package/dist/scaffolding/adapters/node/node-authority-error.js.map +1 -0
  137. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts +20 -0
  138. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts.map +1 -0
  139. package/dist/scaffolding/adapters/node/node-authority-input-loader.js +180 -0
  140. package/dist/scaffolding/adapters/node/node-authority-input-loader.js.map +1 -0
  141. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts +4 -0
  142. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts.map +1 -0
  143. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js +10 -0
  144. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js.map +1 -0
  145. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +1 -1
  146. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -1
  147. package/dist/scaffolding/adapters/node/node-input-loader.js +6 -56
  148. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -1
  149. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts +17 -0
  150. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts.map +1 -0
  151. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js +161 -0
  152. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js.map +1 -0
  153. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +14 -2
  154. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -1
  155. package/dist/scaffolding/adapters/node/node-plan-authority.js +28 -9
  156. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -1
  157. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +1 -1
  158. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -1
  159. package/dist/scaffolding/adapters/node/node-receipt-validator.js +2 -2
  160. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -1
  161. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts +3 -0
  162. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts.map +1 -0
  163. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js +18 -0
  164. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js.map +1 -0
  165. package/dist/scaffolding/adapters/node/node-repository-file.d.ts +9 -0
  166. package/dist/scaffolding/adapters/node/node-repository-file.d.ts.map +1 -0
  167. package/dist/scaffolding/adapters/node/node-repository-file.js +65 -0
  168. package/dist/scaffolding/adapters/node/node-repository-file.js.map +1 -0
  169. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts +2 -0
  170. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts.map +1 -0
  171. package/dist/scaffolding/adapters/node/node-scaffold-limits.js +2 -0
  172. package/dist/scaffolding/adapters/node/node-scaffold-limits.js.map +1 -0
  173. package/dist/scaffolding/authority-service.d.ts +7 -0
  174. package/dist/scaffolding/authority-service.d.ts.map +1 -0
  175. package/dist/scaffolding/authority-service.js +15 -0
  176. package/dist/scaffolding/authority-service.js.map +1 -0
  177. package/dist/scaffolding/canonical-api.d.ts +14 -0
  178. package/dist/scaffolding/canonical-api.d.ts.map +1 -0
  179. package/dist/scaffolding/canonical-api.js +32 -0
  180. package/dist/scaffolding/canonical-api.js.map +1 -0
  181. package/dist/scaffolding/cli-command.d.ts.map +1 -1
  182. package/dist/scaffolding/cli-command.js +1 -2
  183. package/dist/scaffolding/cli-command.js.map +1 -1
  184. package/dist/scaffolding/contract/receipt-authority-types.d.ts +125 -0
  185. package/dist/scaffolding/contract/receipt-authority-types.d.ts.map +1 -0
  186. package/dist/scaffolding/contract/receipt-authority-types.js +2 -0
  187. package/dist/scaffolding/contract/receipt-authority-types.js.map +1 -0
  188. package/dist/scaffolding/contract/scaffold-contract.d.ts +329 -0
  189. package/dist/scaffolding/contract/scaffold-contract.d.ts.map +1 -0
  190. package/dist/scaffolding/contract/scaffold-contract.js +2 -0
  191. package/dist/scaffolding/contract/scaffold-contract.js.map +1 -0
  192. package/dist/scaffolding/contract/types.d.ts +177 -35
  193. package/dist/scaffolding/contract/types.d.ts.map +1 -1
  194. package/dist/scaffolding/definitions/node-typescript-library.d.ts +3 -0
  195. package/dist/scaffolding/definitions/node-typescript-library.d.ts.map +1 -0
  196. package/dist/scaffolding/definitions/node-typescript-library.js +134 -0
  197. package/dist/scaffolding/definitions/node-typescript-library.js.map +1 -0
  198. package/dist/scaffolding/definitions/registry.d.ts +2 -1
  199. package/dist/scaffolding/definitions/registry.d.ts.map +1 -1
  200. package/dist/scaffolding/definitions/registry.js +8 -1
  201. package/dist/scaffolding/definitions/registry.js.map +1 -1
  202. package/dist/scaffolding/index.d.ts +4 -8
  203. package/dist/scaffolding/index.d.ts.map +1 -1
  204. package/dist/scaffolding/index.js +2 -7
  205. package/dist/scaffolding/index.js.map +1 -1
  206. package/dist/scaffolding/internal-rendering-regression-api.d.ts +8 -0
  207. package/dist/scaffolding/internal-rendering-regression-api.d.ts.map +1 -0
  208. package/dist/scaffolding/internal-rendering-regression-api.js +8 -0
  209. package/dist/scaffolding/internal-rendering-regression-api.js.map +1 -0
  210. package/dist/scaffolding/kernel/authority-compiler.d.ts +4 -0
  211. package/dist/scaffolding/kernel/authority-compiler.d.ts.map +1 -0
  212. package/dist/scaffolding/kernel/authority-compiler.js +78 -0
  213. package/dist/scaffolding/kernel/authority-compiler.js.map +1 -0
  214. package/dist/scaffolding/kernel/authority-evidence.d.ts +13 -0
  215. package/dist/scaffolding/kernel/authority-evidence.d.ts.map +1 -0
  216. package/dist/scaffolding/kernel/authority-evidence.js +79 -0
  217. package/dist/scaffolding/kernel/authority-evidence.js.map +1 -0
  218. package/dist/scaffolding/kernel/authority-receipt.d.ts +11 -0
  219. package/dist/scaffolding/kernel/authority-receipt.d.ts.map +1 -0
  220. package/dist/scaffolding/kernel/authority-receipt.js +189 -0
  221. package/dist/scaffolding/kernel/authority-receipt.js.map +1 -0
  222. package/dist/scaffolding/kernel/compiler.d.ts +28 -2
  223. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -1
  224. package/dist/scaffolding/kernel/compiler.js +22 -36
  225. package/dist/scaffolding/kernel/compiler.js.map +1 -1
  226. package/dist/scaffolding/kernel/definition-registry.d.ts +6 -3
  227. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -1
  228. package/dist/scaffolding/kernel/definition-registry.js +17 -1
  229. package/dist/scaffolding/kernel/definition-registry.js.map +1 -1
  230. package/dist/scaffolding/kernel/plan-content-validation.d.ts +3 -0
  231. package/dist/scaffolding/kernel/plan-content-validation.d.ts.map +1 -0
  232. package/dist/scaffolding/kernel/plan-content-validation.js +44 -0
  233. package/dist/scaffolding/kernel/plan-content-validation.js.map +1 -0
  234. package/dist/scaffolding/kernel/plan-validation.d.ts +2 -2
  235. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -1
  236. package/dist/scaffolding/kernel/plan-validation.js +16 -40
  237. package/dist/scaffolding/kernel/plan-validation.js.map +1 -1
  238. package/dist/scaffolding/kernel/receipt.js +1 -1
  239. package/dist/scaffolding/kernel/receipt.js.map +1 -1
  240. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts +4 -0
  241. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts.map +1 -0
  242. package/dist/scaffolding/kernel/rendering-plan-compiler.js +43 -0
  243. package/dist/scaffolding/kernel/rendering-plan-compiler.js.map +1 -0
  244. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts +3 -0
  245. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts.map +1 -0
  246. package/dist/scaffolding/kernel/rendering-plan-validation.js +10 -0
  247. package/dist/scaffolding/kernel/rendering-plan-validation.js.map +1 -0
  248. package/dist/scaffolding/scaffold-defaults.d.ts +2 -0
  249. package/dist/scaffolding/scaffold-defaults.d.ts.map +1 -0
  250. package/dist/scaffolding/scaffold-defaults.js +2 -0
  251. package/dist/scaffolding/scaffold-defaults.js.map +1 -0
  252. package/dist/scaffolding/scaffold-error.d.ts +3 -3
  253. package/dist/scaffolding/scaffold-error.d.ts.map +1 -1
  254. package/dist/scaffolding/scaffold-error.js.map +1 -1
  255. package/dist/scaffolding/service.d.ts +1 -1
  256. package/dist/scaffolding/service.d.ts.map +1 -1
  257. package/dist/scaffolding/service.js +5 -4
  258. package/dist/scaffolding/service.js.map +1 -1
  259. package/dist/schema-catalog.d.ts +2 -2
  260. package/dist/schema-catalog.d.ts.map +1 -1
  261. package/dist/schema-catalog.js +41 -8
  262. package/dist/schema-catalog.js.map +1 -1
  263. package/dist/schema-ids.d.ts +5 -1
  264. package/dist/schema-ids.d.ts.map +1 -1
  265. package/dist/schema-ids.js +14 -3
  266. package/dist/schema-ids.js.map +1 -1
  267. package/package.json +30 -2
  268. package/schemas/architecture-source-dependencies/v1.schema.json +6 -1
  269. package/schemas/contract-protobuf-breaking-qualification/v1.schema.json +89 -0
  270. package/schemas/contract-protobuf-breaking-qualification/v2.schema.json +93 -0
  271. package/schemas/contract-protobuf-evolution/v2.schema.json +147 -0
  272. package/schemas/scaffold-authority-evidence.schema.json +103 -0
  273. package/schemas/{scaffold-intent/v1.schema.json → scaffold-intent.schema.json} +2 -2
  274. package/schemas/{scaffold-plan/v1.schema.json → scaffold-plan.schema.json} +89 -11
  275. package/schemas/scaffold-receipt.schema.json +180 -0
  276. package/schemas/scaffold-recovery-journal.schema.json +31 -0
  277. package/schemas/{scaffold-target-catalog/v1.schema.json → scaffold-target-catalog.schema.json} +11 -10
  278. package/schemas/{scaffolding-config/v1.schema.json → scaffolding-config.schema.json} +40 -4
  279. package/schemas/architecture-source-dependencies/v2.schema.json +0 -102
  280. package/schemas/scaffold-receipt/v1.schema.json +0 -299
@@ -0,0 +1,4 @@
1
+ export declare class ScaffoldAuthorityStaleError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ //# sourceMappingURL=node-authority-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-error.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-error.ts"],"names":[],"mappings":"AAAA,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
@@ -0,0 +1,7 @@
1
+ export class ScaffoldAuthorityStaleError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "ScaffoldAuthorityStaleError";
5
+ }
6
+ }
7
+ //# sourceMappingURL=node-authority-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-error.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import type { AuthorityScaffoldCompilationInput, AuthorityScaffoldPlan } from "../../contract/types.js";
2
+ export type ScaffoldAuthorityInputFaultInjector = (point: {
3
+ readonly phase: "before-authority-source-stability-check";
4
+ }) => Promise<void> | void;
5
+ export declare function loadAuthorityScaffoldCompilationInputFromFile(options: {
6
+ readonly consumerRoot: string;
7
+ readonly configPath: string;
8
+ readonly intentPath: string;
9
+ readonly foundationVersion: string;
10
+ readonly faultInjector?: ScaffoldAuthorityInputFaultInjector;
11
+ }): Promise<AuthorityScaffoldCompilationInput>;
12
+ export declare function loadAuthorityScaffoldCompilationInputFromIntent(options: {
13
+ readonly consumerRoot: string;
14
+ readonly configPath: string;
15
+ readonly foundationVersion: string;
16
+ readonly intent: unknown;
17
+ readonly faultInjector?: ScaffoldAuthorityInputFaultInjector;
18
+ }): Promise<AuthorityScaffoldCompilationInput>;
19
+ export declare function readAuthorityScaffoldPlanFile(consumerRoot: string, planPath: string): Promise<AuthorityScaffoldPlan>;
20
+ //# sourceMappingURL=node-authority-input-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-input-loader.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-input-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,iCAAiC,EACjC,qBAAqB,EAKtB,MAAM,yBAAyB,CAAC;AAgBjC,MAAM,MAAM,mCAAmC,GAAG,CAChD,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,yCAAyC,CAAA;CAAE,KACjE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAqO1B,wBAAsB,6CAA6C,CAAC,OAAO,EAAE;IAC3E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,mCAAmC,CAAC;CAC9D,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAwB7C;AAED,wBAAsB,+CAA+C,CAAC,OAAO,EAAE;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,mCAAmC,CAAC;CAC9D,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAiB7C;AAED,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAYhC"}
@@ -0,0 +1,180 @@
1
+ import { sha256Json } from "../../kernel/canonical-json.js";
2
+ import { createScaffoldAuthorityEvidence } from "../../kernel/authority-evidence.js";
3
+ import { assertAuthorityScaffoldPlanDigest } from "../../kernel/plan-validation.js";
4
+ import { ScaffoldError } from "../../scaffold-error.js";
5
+ import { assertSchema } from "../../../schema-catalog.js";
6
+ import { parseStrictYamlSource } from "../../../strict-yaml.js";
7
+ import { assertion, readContainedRepositoryFile } from "./node-repository-file.js";
8
+ import { ScaffoldAuthorityStaleError } from "./node-authority-error.js";
9
+ import { resolveOwnerDocument } from "./node-owner-document-resolver.js";
10
+ import { MAX_SCAFFOLD_PLAN_BYTES } from "./node-scaffold-limits.js";
11
+ function requireExactlyOne(values, predicate, message) {
12
+ const matches = values.filter(predicate);
13
+ if (matches.length !== 1) {
14
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", message);
15
+ }
16
+ return matches[0];
17
+ }
18
+ function mapAuthorityCatalog(value) {
19
+ const raw = value;
20
+ return Object.freeze({
21
+ version: 2,
22
+ packages: Object.freeze(raw.packages.map((entry) => Object.freeze({
23
+ id: entry.id,
24
+ role: entry.role,
25
+ path: entry.path,
26
+ packageName: entry.package_name,
27
+ ownerDocumentId: entry.owner_document
28
+ })))
29
+ });
30
+ }
31
+ async function assertAuthoritySourceSetStable(options) {
32
+ const [files, owner] = await Promise.all([
33
+ Promise.all([
34
+ readContainedRepositoryFile(options.consumerRoot, options.configPath, "scaffolding-config-stability"),
35
+ readContainedRepositoryFile(options.consumerRoot, options.catalogPath, "scaffold-target-catalog-stability")
36
+ ]),
37
+ resolveOwnerDocument({
38
+ consumerRoot: options.consumerRoot,
39
+ documentRoots: options.documentRoots,
40
+ ownerDocumentId: options.ownerDocumentId
41
+ })
42
+ ]);
43
+ const observed = [...files.map(assertion), assertion(owner.file)];
44
+ if (owner.indexDigest !== options.ownerIndexDigest ||
45
+ observed.some((current, index) => {
46
+ const expected = options.expected[index];
47
+ return (expected === undefined ||
48
+ current.path !== expected.path ||
49
+ current.size !== expected.size ||
50
+ current.digest !== expected.digest);
51
+ })) {
52
+ throw new ScaffoldAuthorityStaleError("Consumer authority changed while Foundation was reading its canonical source set.");
53
+ }
54
+ }
55
+ async function loadAuthorityScaffoldCompilationInput(options) {
56
+ await Promise.all([
57
+ assertSchema("scaffolding-config", options.configValue, "scaffolding-config"),
58
+ assertSchema("scaffold-intent", options.intent, "scaffold-intent")
59
+ ]);
60
+ const config = options.configValue;
61
+ const catalogFile = await readContainedRepositoryFile(options.consumerRoot, config.targetCatalogPath, "scaffold-target-catalog");
62
+ const catalogValue = parseStrictYamlSource(catalogFile.source, "scaffold-target-catalog");
63
+ await assertSchema("scaffold-target-catalog", catalogValue, "scaffold-target-catalog");
64
+ const unresolvedCatalog = mapAuthorityCatalog(catalogValue);
65
+ const intent = options.intent;
66
+ const composition = requireExactlyOne(config.compositions, (candidate) => candidate.id === intent.compositionId, `Composition must exist exactly once: ${intent.compositionId}.`);
67
+ const target = requireExactlyOne(unresolvedCatalog.packages, (candidate) => candidate.id === intent.targetRef, `Scaffold target must exist exactly once: ${intent.targetRef}.`);
68
+ const authorityVerifiers = composition.authorityVerifiers;
69
+ if (authorityVerifiers.length !== 1) {
70
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "The selected Composition must contain exactly one authority verifier.");
71
+ }
72
+ const verifier = authorityVerifiers[0];
73
+ if (verifier === undefined) {
74
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "The selected Composition must admit exactly one supported authority verifier.");
75
+ }
76
+ const owner = await resolveOwnerDocument({
77
+ consumerRoot: options.consumerRoot,
78
+ documentRoots: verifier.parameters.documentRoots,
79
+ ownerDocumentId: target.ownerDocumentId
80
+ });
81
+ if (!verifier.parameters.allowedStatuses.includes(owner.status)) {
82
+ throw new ScaffoldAuthorityStaleError("Owner document status is not admitted by the selected Composition.");
83
+ }
84
+ const resolvedTarget = Object.freeze({
85
+ id: target.id,
86
+ role: target.role,
87
+ path: target.path,
88
+ packageName: target.packageName,
89
+ ownerDocument: Object.freeze({ id: owner.id, path: owner.file.path })
90
+ });
91
+ const catalog = Object.freeze({
92
+ version: 2,
93
+ packages: Object.freeze([resolvedTarget])
94
+ });
95
+ const authorityReadSet = Object.freeze([
96
+ assertion(options.configFile),
97
+ assertion(catalogFile),
98
+ assertion(owner.file)
99
+ ]);
100
+ const [configAssertion, catalogAssertion, ownerAssertion] = authorityReadSet;
101
+ const evidence = createScaffoldAuthorityEvidence({
102
+ schemaVersion: 1,
103
+ verifier: Object.freeze({ id: verifier.id, contractVersion: verifier.contractVersion }),
104
+ projectId: config.projectId,
105
+ targetRef: intent.targetRef,
106
+ targetIdentityDigest: sha256Json(resolvedTarget),
107
+ ownerDocument: Object.freeze({
108
+ id: resolvedTarget.ownerDocument.id,
109
+ path: resolvedTarget.ownerDocument.path,
110
+ status: owner.status
111
+ }),
112
+ sources: Object.freeze([
113
+ Object.freeze({ role: "config", assertion: configAssertion }),
114
+ Object.freeze({ role: "owner-document", assertion: ownerAssertion }),
115
+ Object.freeze({ role: "target-catalog", assertion: catalogAssertion })
116
+ ])
117
+ });
118
+ await assertSchema("scaffold-authority-evidence", evidence, "scaffold-authority-evidence");
119
+ await options.faultInjector?.({
120
+ phase: "before-authority-source-stability-check"
121
+ });
122
+ await assertAuthoritySourceSetStable({
123
+ consumerRoot: options.consumerRoot,
124
+ configPath: options.configPath,
125
+ catalogPath: config.targetCatalogPath,
126
+ ownerDocumentId: target.ownerDocumentId,
127
+ documentRoots: verifier.parameters.documentRoots,
128
+ ownerIndexDigest: owner.indexDigest,
129
+ expected: authorityReadSet
130
+ });
131
+ return Object.freeze({
132
+ foundationVersion: options.foundationVersion,
133
+ configPath: options.configPath,
134
+ config,
135
+ intent,
136
+ catalog,
137
+ authorityEvidence: evidence,
138
+ authorityReadSet
139
+ });
140
+ }
141
+ export async function loadAuthorityScaffoldCompilationInputFromFile(options) {
142
+ const [configFile, intentFile] = await Promise.all([
143
+ readContainedRepositoryFile(options.consumerRoot, options.configPath, "scaffolding-config"),
144
+ readContainedRepositoryFile(options.consumerRoot, options.intentPath, "scaffold-intent")
145
+ ]);
146
+ return loadAuthorityScaffoldCompilationInput({
147
+ consumerRoot: options.consumerRoot,
148
+ configPath: options.configPath,
149
+ foundationVersion: options.foundationVersion,
150
+ intent: parseStrictYamlSource(intentFile.source, "scaffold-intent"),
151
+ configFile,
152
+ configValue: parseStrictYamlSource(configFile.source, "scaffolding-config"),
153
+ ...(options.faultInjector === undefined
154
+ ? {}
155
+ : { faultInjector: options.faultInjector })
156
+ });
157
+ }
158
+ export async function loadAuthorityScaffoldCompilationInputFromIntent(options) {
159
+ const configFile = await readContainedRepositoryFile(options.consumerRoot, options.configPath, "scaffolding-config");
160
+ return loadAuthorityScaffoldCompilationInput({
161
+ consumerRoot: options.consumerRoot,
162
+ configPath: options.configPath,
163
+ foundationVersion: options.foundationVersion,
164
+ intent: options.intent,
165
+ configFile,
166
+ configValue: parseStrictYamlSource(configFile.source, "scaffolding-config"),
167
+ ...(options.faultInjector === undefined
168
+ ? {}
169
+ : { faultInjector: options.faultInjector })
170
+ });
171
+ }
172
+ export async function readAuthorityScaffoldPlanFile(consumerRoot, planPath) {
173
+ const planFile = await readContainedRepositoryFile(consumerRoot, planPath, "scaffold-plan", MAX_SCAFFOLD_PLAN_BYTES);
174
+ const value = parseStrictYamlSource(planFile.source, "scaffold-plan");
175
+ await assertSchema("scaffold-plan", value, "scaffold-plan");
176
+ const plan = value;
177
+ assertAuthorityScaffoldPlanDigest(plan);
178
+ return plan;
179
+ }
180
+ //# sourceMappingURL=node-authority-input-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-input-loader.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-input-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AuthorityScaffoldPlan, AuthorityScaffoldReceipt } from "../../contract/types.js";
2
+ /** Validates an untrusted canonical Receipt against structural and semantic evidence. */
3
+ export declare function validateAuthorityScaffoldReceipt(receipt: unknown, plan?: AuthorityScaffoldPlan): Promise<AuthorityScaffoldReceipt>;
4
+ //# sourceMappingURL=node-authority-receipt-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-receipt-validator.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-receipt-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAIjC,yFAAyF;AACzF,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,qBAAqB,GAC3B,OAAO,CAAC,wBAAwB,CAAC,CAKnC"}
@@ -0,0 +1,10 @@
1
+ import { assertAuthorityScaffoldReceiptDigest } from "../../kernel/authority-receipt.js";
2
+ import { assertSchema } from "../../../schema-catalog.js";
3
+ /** Validates an untrusted canonical Receipt against structural and semantic evidence. */
4
+ export async function validateAuthorityScaffoldReceipt(receipt, plan) {
5
+ await assertSchema("scaffold-receipt", receipt, "scaffold-receipt");
6
+ const validated = receipt;
7
+ assertAuthorityScaffoldReceiptDigest(validated, plan);
8
+ return validated;
9
+ }
10
+ //# sourceMappingURL=node-authority-receipt-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-authority-receipt-validator.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-authority-receipt-validator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,OAAgB,EAChB,IAA4B;IAE5B,MAAM,YAAY,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAmC,CAAC;IACtD,oCAAoC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { ScaffoldCompilationInput, ScaffoldPlanV1, ScaffoldReadAssertionV1 } from "../../contract/types.js";
2
- export declare const MAX_SCAFFOLD_PLAN_BYTES: number;
3
2
  export declare function loadScaffoldCompilationInput(options: {
4
3
  readonly consumerRoot: string;
5
4
  readonly configPath: string;
@@ -12,6 +11,7 @@ export declare function loadScaffoldCompilationInputFromIntent(options: {
12
11
  readonly foundationVersion: string;
13
12
  readonly intent: unknown;
14
13
  }): Promise<ScaffoldCompilationInput>;
14
+ /** Reads a released 0.5 Plan for regression evidence only. */
15
15
  export declare function readScaffoldPlanFile(consumerRoot: string, planPath: string): Promise<ScaffoldPlanV1>;
16
16
  export declare function inspectAuthorityReadSet(consumerRoot: string, readSet: readonly ScaffoldReadAssertionV1[]): Promise<boolean>;
17
17
  //# sourceMappingURL=node-input-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-input-loader.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-input-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAYjC,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AA+HxD,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0BpC;AAoDD,wBAAsB,sCAAsC,CAAC,OAAO,EAAE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAEpC;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
1
+ {"version":3,"file":"node-input-loader.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-input-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAExB,cAAc,EACd,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AA2DjC,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0BpC;AAoDD,wBAAsB,sCAAsC,CAAC,OAAO,EAAE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAEpC;AAED,8DAA8D;AAC9D,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
@@ -1,13 +1,8 @@
1
- import { lstat, readFile, realpath } from "node:fs/promises";
2
- import { isAbsolute, relative, resolve, sep } from "node:path";
3
- import { sha256Bytes } from "../../kernel/canonical-json.js";
4
- import { assertScaffoldPlanDigest } from "../../kernel/plan-validation.js";
5
- import { ScaffoldError } from "../../scaffold-error.js";
6
- import { pathTraversesSymbolicLink } from "../../../filesystem-path-safety.js";
1
+ import { assertScaffoldPlanDigest } from "../../kernel/rendering-plan-validation.js";
7
2
  import { assertSchema } from "../../../schema-catalog.js";
8
- import { assertRepositoryRelativePath, parseStrictYamlSource } from "../../../strict-yaml.js";
9
- const MAX_INPUT_BYTES = 1024 * 1024;
10
- export const MAX_SCAFFOLD_PLAN_BYTES = 32 * 1024 * 1024;
3
+ import { parseStrictYamlSource } from "../../../strict-yaml.js";
4
+ import { assertion, readContainedRepositoryFile } from "./node-repository-file.js";
5
+ import { MAX_SCAFFOLD_PLAN_BYTES } from "./node-scaffold-limits.js";
11
6
  function hasErrorCode(error, code) {
12
7
  const visited = new Set();
13
8
  let candidate = error;
@@ -21,52 +16,6 @@ function hasErrorCode(error, code) {
21
16
  }
22
17
  return false;
23
18
  }
24
- function isContained(root, candidate) {
25
- const relation = relative(root, candidate);
26
- return (relation === "" ||
27
- (!relation.startsWith(`..${sep}`) && relation !== ".." && !isAbsolute(relation)));
28
- }
29
- async function readContainedRepositoryFile(consumerRoot, repositoryPath, phase, maxBytes = MAX_INPUT_BYTES) {
30
- try {
31
- assertRepositoryRelativePath(repositoryPath, phase);
32
- const canonicalRoot = await realpath(consumerRoot);
33
- const candidate = resolve(canonicalRoot, repositoryPath);
34
- if (await pathTraversesSymbolicLink(canonicalRoot, candidate)) {
35
- throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Scaffolding input cannot traverse a symbolic link: ${repositoryPath}.`);
36
- }
37
- const canonicalCandidate = await realpath(candidate);
38
- if (!isContained(canonicalRoot, canonicalCandidate)) {
39
- throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Scaffolding input escapes the consumer repository: ${repositoryPath}.`);
40
- }
41
- const metadata = await lstat(canonicalCandidate);
42
- if (metadata.isSymbolicLink() ||
43
- !metadata.isFile() ||
44
- metadata.size > maxBytes) {
45
- throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Scaffolding input must be a regular file no larger than ${maxBytes} bytes: ${repositoryPath}.`);
46
- }
47
- const bytes = await readFile(canonicalCandidate);
48
- return {
49
- path: repositoryPath,
50
- bytes,
51
- source: bytes.toString("utf8")
52
- };
53
- }
54
- catch (error) {
55
- if (error instanceof ScaffoldError) {
56
- throw error;
57
- }
58
- throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Cannot read scaffolding input: ${repositoryPath}.`, [], { cause: error });
59
- }
60
- }
61
- function assertion(file) {
62
- const canonicalBytes = Buffer.from(file.source.replace(/\r\n?/gu, "\n"), "utf8");
63
- return Object.freeze({
64
- path: file.path,
65
- state: "file",
66
- digest: sha256Bytes(canonicalBytes),
67
- size: canonicalBytes.byteLength
68
- });
69
- }
70
19
  function mapCatalog(value) {
71
20
  const raw = value;
72
21
  return Object.freeze({
@@ -126,10 +75,11 @@ async function loadScaffoldCompilationInputFromIntentInternal(options) {
126
75
  export async function loadScaffoldCompilationInputFromIntent(options) {
127
76
  return loadScaffoldCompilationInputFromIntentInternal(options);
128
77
  }
78
+ /** Reads a released 0.5 Plan for regression evidence only. */
129
79
  export async function readScaffoldPlanFile(consumerRoot, planPath) {
130
80
  const planFile = await readContainedRepositoryFile(consumerRoot, planPath, "scaffold-plan", MAX_SCAFFOLD_PLAN_BYTES);
131
81
  const value = parseStrictYamlSource(planFile.source, "scaffold-plan");
132
- await assertSchema("scaffold-plan/v1", value, "scaffold-plan");
82
+ await assertSchema("scaffold-plan/v1", value, "rendering-regression-plan");
133
83
  const plan = value;
134
84
  assertScaffoldPlanDigest(plan);
135
85
  return plan;
@@ -1 +1 @@
1
- {"version":3,"file":"node-input-loader.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-input-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-input-loader.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-input-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Sha256Digest } from "../../contract/types.js";
2
+ import { type LoadedRepositoryFile } from "./node-repository-file.js";
3
+ interface OwnerDocumentMetadata {
4
+ readonly id: string;
5
+ readonly status: string;
6
+ }
7
+ export interface ResolvedOwnerDocument extends OwnerDocumentMetadata {
8
+ readonly file: LoadedRepositoryFile;
9
+ readonly indexDigest: Sha256Digest;
10
+ }
11
+ export declare function resolveOwnerDocument(options: {
12
+ readonly consumerRoot: string;
13
+ readonly documentRoots: readonly string[];
14
+ readonly ownerDocumentId: string;
15
+ }): Promise<ResolvedOwnerDocument>;
16
+ export {};
17
+ //# sourceMappingURL=node-owner-document-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-owner-document-resolver.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-owner-document-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAUnC,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAOD,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;CACpC;AAqMD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA4CjC"}
@@ -0,0 +1,161 @@
1
+ import { lstat, opendir, realpath } from "node:fs/promises";
2
+ import { isAbsolute, relative, resolve, sep } from "node:path";
3
+ import { sha256Json } from "../../kernel/canonical-json.js";
4
+ import { ScaffoldError } from "../../scaffold-error.js";
5
+ import { pathTraversesSymbolicLink } from "../../../filesystem-path-safety.js";
6
+ import { assertRepositoryRelativePath, parseStrictYamlSource } from "../../../strict-yaml.js";
7
+ import { readContainedRepositoryFile } from "./node-repository-file.js";
8
+ import { ScaffoldAuthorityStaleError } from "./node-authority-error.js";
9
+ const MAX_AUTHORITY_DOCUMENTS = 4096;
10
+ const MAX_AUTHORITY_DOCUMENT_ENTRIES = 16_384;
11
+ const MAX_AUTHORITY_DOCUMENT_DEPTH = 32;
12
+ const MAX_AUTHORITY_METADATA_LENGTH = 160;
13
+ const OWNER_DOCUMENT_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._/-]*$/u;
14
+ const OWNER_DOCUMENT_STATUS_PATTERN = /^[a-z0-9][a-z0-9._/-]*$/u;
15
+ function isRecord(value) {
16
+ return typeof value === "object" && value !== null && !Array.isArray(value);
17
+ }
18
+ function isContained(root, candidate) {
19
+ const relation = relative(root, candidate);
20
+ return (relation === "" ||
21
+ (!relation.startsWith(`..${sep}`) &&
22
+ relation !== ".." &&
23
+ !isAbsolute(relation)));
24
+ }
25
+ function compareStrings(left, right) {
26
+ return left < right ? -1 : left > right ? 1 : 0;
27
+ }
28
+ function parseOwnerFrontmatter(source) {
29
+ const normalized = source.replace(/\r\n?/gu, "\n");
30
+ if (!normalized.startsWith("---\n")) {
31
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Authority documents must start with strict YAML frontmatter.");
32
+ }
33
+ const end = normalized.indexOf("\n---\n", 4);
34
+ if (end === -1) {
35
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Authority document YAML frontmatter must have a closing delimiter.");
36
+ }
37
+ const parsed = parseStrictYamlSource(normalized.slice(4, end), "scaffold-owner-document");
38
+ if (!isRecord(parsed) ||
39
+ typeof parsed.id !== "string" ||
40
+ typeof parsed.status !== "string" ||
41
+ parsed.id.length > MAX_AUTHORITY_METADATA_LENGTH ||
42
+ parsed.status.length > MAX_AUTHORITY_METADATA_LENGTH ||
43
+ !OWNER_DOCUMENT_ID_PATTERN.test(parsed.id) ||
44
+ !OWNER_DOCUMENT_STATUS_PATTERN.test(parsed.status)) {
45
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Authority document frontmatter must contain normalized id and status strings.");
46
+ }
47
+ return Object.freeze({ id: parsed.id, status: parsed.status });
48
+ }
49
+ async function listMarkdownFilesInRoot(options) {
50
+ assertRepositoryRelativePath(options.documentRoot, "scaffold-owner-document-root");
51
+ const absoluteRoot = resolve(options.canonicalConsumerRoot, options.documentRoot);
52
+ if ((await pathTraversesSymbolicLink(options.canonicalConsumerRoot, absoluteRoot)) ||
53
+ !isContained(options.canonicalConsumerRoot, await realpath(absoluteRoot)) ||
54
+ !(await lstat(absoluteRoot)).isDirectory()) {
55
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document root must be a contained regular directory: ${options.documentRoot}.`);
56
+ }
57
+ const paths = [];
58
+ const walk = async (absoluteDirectory, repositoryDirectory, depth) => {
59
+ if (depth > MAX_AUTHORITY_DOCUMENT_DEPTH) {
60
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document roots cannot exceed ${MAX_AUTHORITY_DOCUMENT_DEPTH} directory levels.`);
61
+ }
62
+ const entries = [];
63
+ const directory = await opendir(absoluteDirectory);
64
+ for await (const entry of directory) {
65
+ options.budget.entriesVisited += 1;
66
+ if (options.budget.entriesVisited > MAX_AUTHORITY_DOCUMENT_ENTRIES) {
67
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document roots cannot contain more than ${MAX_AUTHORITY_DOCUMENT_ENTRIES} entries.`);
68
+ }
69
+ entries.push(entry);
70
+ }
71
+ entries.sort((left, right) => compareStrings(left.name, right.name));
72
+ for (const entry of entries) {
73
+ const repositoryPath = `${repositoryDirectory}/${entry.name}`;
74
+ const absolutePath = resolve(absoluteDirectory, entry.name);
75
+ if (entry.isSymbolicLink()) {
76
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document roots cannot contain symbolic links: ${repositoryPath}.`);
77
+ }
78
+ if (entry.isDirectory()) {
79
+ await walk(absolutePath, repositoryPath, depth + 1);
80
+ }
81
+ else if (entry.isFile() && entry.name.endsWith(".md")) {
82
+ options.budget.documentsVisited += 1;
83
+ if (options.budget.documentsVisited > MAX_AUTHORITY_DOCUMENTS) {
84
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document roots cannot contain more than ${MAX_AUTHORITY_DOCUMENTS} Markdown files.`);
85
+ }
86
+ paths.push(repositoryPath);
87
+ }
88
+ else if (!entry.isFile()) {
89
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", `Authority document roots may contain only regular files and directories: ${repositoryPath}.`);
90
+ }
91
+ }
92
+ };
93
+ await walk(absoluteRoot, options.documentRoot, 0);
94
+ return Object.freeze(paths);
95
+ }
96
+ async function listAuthorityDocumentPaths(consumerRoot, documentRoots) {
97
+ try {
98
+ const normalizedRoots = documentRoots
99
+ .map((documentRoot) => documentRoot.toLowerCase())
100
+ .toSorted(compareStrings);
101
+ for (const [index, root] of normalizedRoots.entries()) {
102
+ for (const candidate of normalizedRoots.slice(index + 1)) {
103
+ if (root === candidate ||
104
+ root.startsWith(`${candidate}/`) ||
105
+ candidate.startsWith(`${root}/`)) {
106
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Authority document roots cannot overlap or differ only by case.");
107
+ }
108
+ }
109
+ }
110
+ const canonicalConsumerRoot = await realpath(consumerRoot);
111
+ const budget = { entriesVisited: 0, documentsVisited: 0 };
112
+ const paths = [];
113
+ for (const documentRoot of documentRoots.toSorted(compareStrings)) {
114
+ paths.push(...(await listMarkdownFilesInRoot({
115
+ canonicalConsumerRoot,
116
+ documentRoot,
117
+ budget
118
+ })));
119
+ }
120
+ paths.sort(compareStrings);
121
+ const exact = new Set(paths);
122
+ const caseFolded = new Set(paths.map((path) => path.toLowerCase()));
123
+ if (exact.size !== paths.length || caseFolded.size !== paths.length) {
124
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Authority document roots overlap or contain case-folding path collisions.");
125
+ }
126
+ return Object.freeze(paths);
127
+ }
128
+ catch (error) {
129
+ if (error instanceof ScaffoldError) {
130
+ throw error;
131
+ }
132
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Cannot index configured authority document roots.", [], { cause: error });
133
+ }
134
+ }
135
+ export async function resolveOwnerDocument(options) {
136
+ if (!OWNER_DOCUMENT_ID_PATTERN.test(options.ownerDocumentId)) {
137
+ throw new ScaffoldError("SCAFFOLD_INPUT_INVALID", "Owner document ID must be a normalized authority identifier.");
138
+ }
139
+ const paths = await listAuthorityDocumentPaths(options.consumerRoot, options.documentRoots);
140
+ const index = [];
141
+ const matches = [];
142
+ for (const path of paths) {
143
+ const file = await readContainedRepositoryFile(options.consumerRoot, path, "scaffold-owner-document");
144
+ const metadata = parseOwnerFrontmatter(file.source);
145
+ index.push({ path: file.path, id: metadata.id, status: metadata.status });
146
+ if (metadata.id === options.ownerDocumentId) {
147
+ matches.push({ file, metadata });
148
+ }
149
+ }
150
+ if (matches.length !== 1) {
151
+ throw new ScaffoldAuthorityStaleError(`Owner document must resolve exactly once from configured roots: ${options.ownerDocumentId}.`);
152
+ }
153
+ const selected = matches[0];
154
+ const indexDigest = sha256Json(index);
155
+ return Object.freeze({
156
+ ...selected.metadata,
157
+ file: selected.file,
158
+ indexDigest
159
+ });
160
+ }
161
+ //# sourceMappingURL=node-owner-document-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-owner-document-resolver.js","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-owner-document-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,15 @@
1
- import type { ScaffoldPlanV1 } from "../../contract/types.js";
2
- export declare function assertPlanMatchesConsumerAuthority(consumerRoot: string, plan: ScaffoldPlanV1): Promise<void>;
1
+ import type { AuthorityScaffoldPlan } from "../../contract/types.js";
2
+ import { type ScaffoldAuthorityInputFaultInjector } from "./node-authority-input-loader.js";
3
+ export type ScaffoldAuthorityAssessment = {
4
+ readonly state: "current";
5
+ } | {
6
+ readonly state: "stale";
7
+ } | {
8
+ readonly state: "unverifiable";
9
+ };
10
+ /**
11
+ * A source-bound authority change is stale only when the closed compiler can prove it.
12
+ * Input, parser, and filesystem failures are deliberately kept unverifiable.
13
+ */
14
+ export declare function assessScaffoldPlanAuthority(consumerRoot: string, plan: AuthorityScaffoldPlan, faultInjector?: ScaffoldAuthorityInputFaultInjector): Promise<ScaffoldAuthorityAssessment>;
3
15
  //# sourceMappingURL=node-plan-authority.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-plan-authority.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-plan-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAO9D,wBAAsB,kCAAkC,CACtD,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"node-plan-authority.d.ts","sourceRoot":"","sources":["../../../../src/scaffolding/adapters/node/node-plan-authority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKrE,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,2BAA2B,GACnC;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AA2BvC;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,qBAAqB,EAC3B,aAAa,CAAC,EAAE,mCAAmC,GAClD,OAAO,CAAC,2BAA2B,CAAC,CAgBtC"}