@agent-teams/engineering-foundation 0.17.0-rc.8 → 0.18.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 (285) hide show
  1. package/README.md +33 -47
  2. package/dist/capabilities/contract-json-schema-releases/module.d.ts.map +1 -1
  3. package/dist/capabilities/contract-json-schema-releases/module.js +4 -17
  4. package/dist/capabilities/contract-json-schema-releases/module.js.map +1 -1
  5. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -1
  6. package/dist/capabilities/contract-protobuf-evolution/module.js +4 -17
  7. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -1
  8. package/dist/capabilities/documentation-local-references/module.d.ts.map +1 -1
  9. package/dist/capabilities/documentation-local-references/module.js +4 -17
  10. package/dist/capabilities/documentation-local-references/module.js.map +1 -1
  11. package/dist/capabilities/executable-specifications/module.d.ts.map +1 -1
  12. package/dist/capabilities/executable-specifications/module.js +4 -17
  13. package/dist/capabilities/executable-specifications/module.js.map +1 -1
  14. package/dist/capabilities/governance-architecture-decisions/module.d.ts.map +1 -1
  15. package/dist/capabilities/governance-architecture-decisions/module.js +4 -17
  16. package/dist/capabilities/governance-architecture-decisions/module.js.map +1 -1
  17. package/dist/capabilities/public-api-compatibility/module.d.ts.map +1 -1
  18. package/dist/capabilities/public-api-compatibility/module.js +4 -19
  19. package/dist/capabilities/public-api-compatibility/module.js.map +1 -1
  20. package/dist/capabilities/quality-gate-runner/adapters/inbound/cli/report-renderer.d.ts +3 -0
  21. package/dist/capabilities/quality-gate-runner/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  22. package/dist/capabilities/quality-gate-runner/adapters/inbound/cli/report-renderer.js +17 -0
  23. package/dist/capabilities/quality-gate-runner/adapters/inbound/cli/report-renderer.js.map +1 -0
  24. package/dist/capabilities/quality-gate-runner/adapters/outbound/filesystem/filesystem-package-script-catalog-reader.d.ts +7 -0
  25. package/dist/capabilities/quality-gate-runner/adapters/outbound/filesystem/filesystem-package-script-catalog-reader.d.ts.map +1 -0
  26. package/dist/capabilities/quality-gate-runner/adapters/outbound/filesystem/filesystem-package-script-catalog-reader.js +51 -0
  27. package/dist/capabilities/quality-gate-runner/adapters/outbound/filesystem/filesystem-package-script-catalog-reader.js.map +1 -0
  28. package/dist/capabilities/quality-gate-runner/adapters/outbound/pnpm/pnpm-package-script-executor.d.ts +22 -0
  29. package/dist/capabilities/quality-gate-runner/adapters/outbound/pnpm/pnpm-package-script-executor.d.ts.map +1 -0
  30. package/dist/capabilities/quality-gate-runner/adapters/outbound/pnpm/pnpm-package-script-executor.js +90 -0
  31. package/dist/capabilities/quality-gate-runner/adapters/outbound/pnpm/pnpm-package-script-executor.js.map +1 -0
  32. package/dist/capabilities/quality-gate-runner/adapters/outbound/time/performance-monotonic-clock.d.ts +3 -0
  33. package/dist/capabilities/quality-gate-runner/adapters/outbound/time/performance-monotonic-clock.d.ts.map +1 -0
  34. package/dist/capabilities/quality-gate-runner/adapters/outbound/time/performance-monotonic-clock.js +5 -0
  35. package/dist/capabilities/quality-gate-runner/adapters/outbound/time/performance-monotonic-clock.js.map +1 -0
  36. package/dist/capabilities/quality-gate-runner/application/model/quality-gate-report.d.ts +18 -0
  37. package/dist/capabilities/quality-gate-runner/application/model/quality-gate-report.d.ts.map +1 -0
  38. package/dist/capabilities/quality-gate-runner/application/model/quality-gate-report.js +2 -0
  39. package/dist/capabilities/quality-gate-runner/application/model/quality-gate-report.js.map +1 -0
  40. package/dist/capabilities/quality-gate-runner/application/model/quality-gate.d.ts +19 -0
  41. package/dist/capabilities/quality-gate-runner/application/model/quality-gate.d.ts.map +1 -0
  42. package/dist/capabilities/quality-gate-runner/application/model/quality-gate.js +2 -0
  43. package/dist/capabilities/quality-gate-runner/application/model/quality-gate.js.map +1 -0
  44. package/dist/capabilities/quality-gate-runner/application/policies/evaluate-quality-gate-scripts.d.ts +4 -0
  45. package/dist/capabilities/quality-gate-runner/application/policies/evaluate-quality-gate-scripts.d.ts.map +1 -0
  46. package/dist/capabilities/quality-gate-runner/application/policies/evaluate-quality-gate-scripts.js +64 -0
  47. package/dist/capabilities/quality-gate-runner/application/policies/evaluate-quality-gate-scripts.js.map +1 -0
  48. package/dist/capabilities/quality-gate-runner/application/policies/validate-quality-gate-graph.d.ts +6 -0
  49. package/dist/capabilities/quality-gate-runner/application/policies/validate-quality-gate-graph.d.ts.map +1 -0
  50. package/dist/capabilities/quality-gate-runner/application/policies/validate-quality-gate-graph.js +75 -0
  51. package/dist/capabilities/quality-gate-runner/application/policies/validate-quality-gate-graph.js.map +1 -0
  52. package/dist/capabilities/quality-gate-runner/application/ports/monotonic-clock.d.ts +4 -0
  53. package/dist/capabilities/quality-gate-runner/application/ports/monotonic-clock.d.ts.map +1 -0
  54. package/dist/capabilities/quality-gate-runner/application/ports/monotonic-clock.js +2 -0
  55. package/dist/capabilities/quality-gate-runner/application/ports/monotonic-clock.js.map +1 -0
  56. package/dist/capabilities/quality-gate-runner/application/ports/package-script-catalog-reader.d.ts +5 -0
  57. package/dist/capabilities/quality-gate-runner/application/ports/package-script-catalog-reader.d.ts.map +1 -0
  58. package/dist/capabilities/quality-gate-runner/application/ports/package-script-catalog-reader.js +2 -0
  59. package/dist/capabilities/quality-gate-runner/application/ports/package-script-catalog-reader.js.map +1 -0
  60. package/dist/capabilities/quality-gate-runner/application/ports/package-script-executor.d.ts +20 -0
  61. package/dist/capabilities/quality-gate-runner/application/ports/package-script-executor.d.ts.map +1 -0
  62. package/dist/capabilities/quality-gate-runner/application/ports/package-script-executor.js +9 -0
  63. package/dist/capabilities/quality-gate-runner/application/ports/package-script-executor.js.map +1 -0
  64. package/dist/capabilities/quality-gate-runner/application/rules.d.ts +12 -0
  65. package/dist/capabilities/quality-gate-runner/application/rules.d.ts.map +1 -0
  66. package/dist/capabilities/quality-gate-runner/application/rules.js +18 -0
  67. package/dist/capabilities/quality-gate-runner/application/rules.js.map +1 -0
  68. package/dist/capabilities/quality-gate-runner/application/use-cases/analyze-quality-gate-runner.d.ts +9 -0
  69. package/dist/capabilities/quality-gate-runner/application/use-cases/analyze-quality-gate-runner.d.ts.map +1 -0
  70. package/dist/capabilities/quality-gate-runner/application/use-cases/analyze-quality-gate-runner.js +5 -0
  71. package/dist/capabilities/quality-gate-runner/application/use-cases/analyze-quality-gate-runner.js.map +1 -0
  72. package/dist/capabilities/quality-gate-runner/application/use-cases/run-quality-gate-profile.d.ts +10 -0
  73. package/dist/capabilities/quality-gate-runner/application/use-cases/run-quality-gate-profile.d.ts.map +1 -0
  74. package/dist/capabilities/quality-gate-runner/application/use-cases/run-quality-gate-profile.js +138 -0
  75. package/dist/capabilities/quality-gate-runner/application/use-cases/run-quality-gate-profile.js.map +1 -0
  76. package/dist/capabilities/quality-gate-runner/contract/config.d.ts +5 -0
  77. package/dist/capabilities/quality-gate-runner/contract/config.d.ts.map +1 -0
  78. package/dist/capabilities/quality-gate-runner/contract/config.js +89 -0
  79. package/dist/capabilities/quality-gate-runner/contract/config.js.map +1 -0
  80. package/dist/capabilities/quality-gate-runner/gate-command.d.ts +10 -0
  81. package/dist/capabilities/quality-gate-runner/gate-command.d.ts.map +1 -0
  82. package/dist/capabilities/quality-gate-runner/gate-command.js +82 -0
  83. package/dist/capabilities/quality-gate-runner/gate-command.js.map +1 -0
  84. package/dist/capabilities/quality-gate-runner/module.d.ts +5 -0
  85. package/dist/capabilities/quality-gate-runner/module.d.ts.map +1 -0
  86. package/dist/capabilities/quality-gate-runner/module.js +36 -0
  87. package/dist/capabilities/quality-gate-runner/module.js.map +1 -0
  88. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +2 -0
  89. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -1
  90. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +32 -0
  91. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -1
  92. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-effective-instructions-reader.d.ts +16 -0
  93. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-effective-instructions-reader.d.ts.map +1 -0
  94. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-effective-instructions-reader.js +213 -0
  95. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-effective-instructions-reader.js.map +1 -0
  96. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +9 -0
  97. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -1
  98. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +232 -62
  99. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -1
  100. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +1 -0
  101. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -1
  102. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +2 -1
  103. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -1
  104. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +26 -0
  105. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -1
  106. package/dist/capabilities/repository-agent-workflow/application/model/effective-instructions.d.ts +61 -0
  107. package/dist/capabilities/repository-agent-workflow/application/model/effective-instructions.d.ts.map +1 -0
  108. package/dist/capabilities/repository-agent-workflow/application/model/effective-instructions.js +7 -0
  109. package/dist/capabilities/repository-agent-workflow/application/model/effective-instructions.js.map +1 -0
  110. package/dist/capabilities/repository-agent-workflow/application/ports/effective-instructions-reader.d.ts +15 -0
  111. package/dist/capabilities/repository-agent-workflow/application/ports/effective-instructions-reader.d.ts.map +1 -0
  112. package/dist/capabilities/repository-agent-workflow/application/ports/effective-instructions-reader.js +2 -0
  113. package/dist/capabilities/repository-agent-workflow/application/ports/effective-instructions-reader.js.map +1 -0
  114. package/dist/capabilities/repository-agent-workflow/application/use-cases/resolve-effective-instructions.d.ts +8 -0
  115. package/dist/capabilities/repository-agent-workflow/application/use-cases/resolve-effective-instructions.d.ts.map +1 -0
  116. package/dist/capabilities/repository-agent-workflow/application/use-cases/resolve-effective-instructions.js +128 -0
  117. package/dist/capabilities/repository-agent-workflow/application/use-cases/resolve-effective-instructions.js.map +1 -0
  118. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -1
  119. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +8 -0
  120. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -1
  121. package/dist/capabilities/repository-agent-workflow/instructions-command.d.ts +6 -0
  122. package/dist/capabilities/repository-agent-workflow/instructions-command.d.ts.map +1 -0
  123. package/dist/capabilities/repository-agent-workflow/instructions-command.js +26 -0
  124. package/dist/capabilities/repository-agent-workflow/instructions-command.js.map +1 -0
  125. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -1
  126. package/dist/capabilities/repository-agent-workflow/module.js +4 -17
  127. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -1
  128. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts.map +1 -1
  129. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js +33 -0
  130. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js.map +1 -1
  131. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts +1 -0
  132. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts.map +1 -1
  133. package/dist/capabilities/repository-security-baseline/application/model/repository-security.js.map +1 -1
  134. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js +1 -1
  135. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js.map +1 -1
  136. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js +1 -1
  137. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js.map +1 -1
  138. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +1 -1
  139. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  140. package/dist/capabilities/repository-security-baseline/module.d.ts.map +1 -1
  141. package/dist/capabilities/repository-security-baseline/module.js +4 -17
  142. package/dist/capabilities/repository-security-baseline/module.js.map +1 -1
  143. package/dist/capabilities/source-dependencies/module.d.ts.map +1 -1
  144. package/dist/capabilities/source-dependencies/module.js +4 -19
  145. package/dist/capabilities/source-dependencies/module.js.map +1 -1
  146. package/dist/capabilities/suppression-governance/module.d.ts.map +1 -1
  147. package/dist/capabilities/suppression-governance/module.js +4 -19
  148. package/dist/capabilities/suppression-governance/module.js.map +1 -1
  149. package/dist/capabilities/workspace-dependency-declarations/module.d.ts.map +1 -1
  150. package/dist/capabilities/workspace-dependency-declarations/module.js +4 -18
  151. package/dist/capabilities/workspace-dependency-declarations/module.js.map +1 -1
  152. package/dist/capability-runtime.d.ts +8 -0
  153. package/dist/capability-runtime.d.ts.map +1 -1
  154. package/dist/capability-runtime.js +66 -0
  155. package/dist/capability-runtime.js.map +1 -1
  156. package/dist/check-runner.d.ts.map +1 -1
  157. package/dist/check-runner.js +16 -10
  158. package/dist/check-runner.js.map +1 -1
  159. package/dist/cli-arguments.d.ts.map +1 -1
  160. package/dist/cli-arguments.js +15 -8
  161. package/dist/cli-arguments.js.map +1 -1
  162. package/dist/cli.js +31 -8
  163. package/dist/cli.js.map +1 -1
  164. package/dist/composition/capability-modules.d.ts +13 -0
  165. package/dist/composition/capability-modules.d.ts.map +1 -0
  166. package/dist/composition/capability-modules.js +30 -0
  167. package/dist/composition/capability-modules.js.map +1 -0
  168. package/dist/composition/capability-registry.d.ts +2 -0
  169. package/dist/composition/capability-registry.d.ts.map +1 -1
  170. package/dist/composition/capability-registry.js +5 -25
  171. package/dist/composition/capability-registry.js.map +1 -1
  172. package/dist/composition/rule-registry.d.ts +4 -7
  173. package/dist/composition/rule-registry.d.ts.map +1 -1
  174. package/dist/composition/rule-registry.js +17 -25
  175. package/dist/composition/rule-registry.js.map +1 -1
  176. package/dist/document-authoring/index.d.ts +6 -1
  177. package/dist/document-authoring/index.d.ts.map +1 -1
  178. package/dist/document-authoring/index.js.map +1 -1
  179. package/dist/filesystem-path-safety.d.ts +6 -0
  180. package/dist/filesystem-path-safety.d.ts.map +1 -1
  181. package/dist/filesystem-path-safety.js +76 -21
  182. package/dist/filesystem-path-safety.js.map +1 -1
  183. package/dist/index.d.ts +2 -0
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +2 -0
  186. package/dist/index.js.map +1 -1
  187. package/dist/legacy-docs-cli-deprecation.d.ts +10 -0
  188. package/dist/legacy-docs-cli-deprecation.d.ts.map +1 -0
  189. package/dist/legacy-docs-cli-deprecation.js +36 -0
  190. package/dist/legacy-docs-cli-deprecation.js.map +1 -0
  191. package/dist/local-mode/index.d.ts +5 -0
  192. package/dist/local-mode/index.d.ts.map +1 -1
  193. package/dist/local-mode/index.js +5 -0
  194. package/dist/local-mode/index.js.map +1 -1
  195. package/dist/mutation/index.d.ts +8 -0
  196. package/dist/mutation/index.d.ts.map +1 -1
  197. package/dist/mutation/index.js.map +1 -1
  198. package/dist/mutation/qualification/index.d.ts +10 -0
  199. package/dist/mutation/qualification/index.d.ts.map +1 -0
  200. package/dist/mutation/qualification/index.js +6 -0
  201. package/dist/mutation/qualification/index.js.map +1 -0
  202. package/dist/process-execution/node-process-runner.d.ts +6 -1
  203. package/dist/process-execution/node-process-runner.d.ts.map +1 -1
  204. package/dist/process-execution/node-process-runner.js +29 -6
  205. package/dist/process-execution/node-process-runner.js.map +1 -1
  206. package/dist/quality-gate-cli-command.d.ts +3 -0
  207. package/dist/quality-gate-cli-command.d.ts.map +1 -0
  208. package/dist/quality-gate-cli-command.js +37 -0
  209. package/dist/quality-gate-cli-command.js.map +1 -0
  210. package/dist/repository-mutation/adapters/node/node-known-file-apply-effects.d.ts +84 -0
  211. package/dist/repository-mutation/adapters/node/node-known-file-apply-effects.d.ts.map +1 -0
  212. package/dist/repository-mutation/adapters/node/node-known-file-apply-effects.js +232 -0
  213. package/dist/repository-mutation/adapters/node/node-known-file-apply-effects.js.map +1 -0
  214. package/dist/repository-mutation/adapters/node/node-known-file-apply-faults.d.ts +9 -0
  215. package/dist/repository-mutation/adapters/node/node-known-file-apply-faults.d.ts.map +1 -0
  216. package/dist/repository-mutation/adapters/node/node-known-file-apply-faults.js +2 -0
  217. package/dist/repository-mutation/adapters/node/node-known-file-apply-faults.js.map +1 -0
  218. package/dist/repository-mutation/adapters/node/node-known-file-apply-observation.d.ts +6 -0
  219. package/dist/repository-mutation/adapters/node/node-known-file-apply-observation.d.ts.map +1 -0
  220. package/dist/repository-mutation/adapters/node/node-known-file-apply-observation.js +30 -0
  221. package/dist/repository-mutation/adapters/node/node-known-file-apply-observation.js.map +1 -0
  222. package/dist/repository-mutation/adapters/node/node-known-file-apply-operation.d.ts +11 -0
  223. package/dist/repository-mutation/adapters/node/node-known-file-apply-operation.d.ts.map +1 -0
  224. package/dist/repository-mutation/adapters/node/node-known-file-apply-operation.js +159 -0
  225. package/dist/repository-mutation/adapters/node/node-known-file-apply-operation.js.map +1 -0
  226. package/dist/repository-mutation/adapters/node/node-known-file-apply-state.d.ts +9 -0
  227. package/dist/repository-mutation/adapters/node/node-known-file-apply-state.d.ts.map +1 -0
  228. package/dist/repository-mutation/adapters/node/node-known-file-apply-state.js +21 -0
  229. package/dist/repository-mutation/adapters/node/node-known-file-apply-state.js.map +1 -0
  230. package/dist/repository-mutation/adapters/node/node-known-file-recovery-cleanup.d.ts +9 -0
  231. package/dist/repository-mutation/adapters/node/node-known-file-recovery-cleanup.d.ts.map +1 -0
  232. package/dist/repository-mutation/adapters/node/node-known-file-recovery-cleanup.js +203 -0
  233. package/dist/repository-mutation/adapters/node/node-known-file-recovery-cleanup.js.map +1 -0
  234. package/dist/repository-mutation/adapters/node/node-known-file-recovery-executor.d.ts +17 -0
  235. package/dist/repository-mutation/adapters/node/node-known-file-recovery-executor.d.ts.map +1 -0
  236. package/dist/repository-mutation/adapters/node/node-known-file-recovery-executor.js +22 -0
  237. package/dist/repository-mutation/adapters/node/node-known-file-recovery-executor.js.map +1 -0
  238. package/dist/repository-mutation/adapters/node/node-known-file-recovery-observation.d.ts +15 -0
  239. package/dist/repository-mutation/adapters/node/node-known-file-recovery-observation.d.ts.map +1 -0
  240. package/dist/repository-mutation/adapters/node/node-known-file-recovery-observation.js +47 -0
  241. package/dist/repository-mutation/adapters/node/node-known-file-recovery-observation.js.map +1 -0
  242. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured-cleanup.d.ts +29 -0
  243. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured-cleanup.d.ts.map +1 -0
  244. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured-cleanup.js +72 -0
  245. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured-cleanup.js.map +1 -0
  246. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured.d.ts +31 -0
  247. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured.d.ts.map +1 -0
  248. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured.js +254 -0
  249. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage-captured.js.map +1 -0
  250. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage.d.ts +13 -0
  251. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage.d.ts.map +1 -0
  252. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage.js +210 -0
  253. package/dist/repository-mutation/adapters/node/node-known-file-recovery-preimage.js.map +1 -0
  254. package/dist/repository-mutation/adapters/node/node-known-file-recovery-retirement.d.ts +15 -0
  255. package/dist/repository-mutation/adapters/node/node-known-file-recovery-retirement.d.ts.map +1 -0
  256. package/dist/repository-mutation/adapters/node/node-known-file-recovery-retirement.js +172 -0
  257. package/dist/repository-mutation/adapters/node/node-known-file-recovery-retirement.js.map +1 -0
  258. package/dist/repository-mutation/adapters/node/node-known-file-recovery-state.d.ts +12 -0
  259. package/dist/repository-mutation/adapters/node/node-known-file-recovery-state.d.ts.map +1 -0
  260. package/dist/repository-mutation/adapters/node/node-known-file-recovery-state.js +17 -0
  261. package/dist/repository-mutation/adapters/node/node-known-file-recovery-state.js.map +1 -0
  262. package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.d.ts +2 -5
  263. package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.d.ts.map +1 -1
  264. package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.js +18 -860
  265. package/dist/repository-mutation/adapters/node/node-known-file-transaction-recovery.js.map +1 -1
  266. package/dist/repository-mutation/adapters/node/node-known-file-transaction.d.ts +3 -9
  267. package/dist/repository-mutation/adapters/node/node-known-file-transaction.d.ts.map +1 -1
  268. package/dist/repository-mutation/adapters/node/node-known-file-transaction.js +35 -451
  269. package/dist/repository-mutation/adapters/node/node-known-file-transaction.js.map +1 -1
  270. package/dist/repository-mutation/application/policies/classify-known-file-recovery-transition.d.ts +25 -0
  271. package/dist/repository-mutation/application/policies/classify-known-file-recovery-transition.d.ts.map +1 -0
  272. package/dist/repository-mutation/application/policies/classify-known-file-recovery-transition.js +19 -0
  273. package/dist/repository-mutation/application/policies/classify-known-file-recovery-transition.js.map +1 -0
  274. package/dist/schema-ids.d.ts +1 -1
  275. package/dist/schema-ids.d.ts.map +1 -1
  276. package/dist/schema-ids.js +2 -0
  277. package/dist/schema-ids.js.map +1 -1
  278. package/dist/unexpected-failure.d.ts +9 -0
  279. package/dist/unexpected-failure.d.ts.map +1 -0
  280. package/dist/unexpected-failure.js +105 -0
  281. package/dist/unexpected-failure.js.map +1 -0
  282. package/package.json +7 -1
  283. package/schemas/foundation-config/v1.schema.json +10 -0
  284. package/schemas/quality-gate-run-report/v1.schema.json +47 -0
  285. package/schemas/quality-gate-runner/v1.schema.json +74 -0
@@ -0,0 +1,172 @@
1
+ import { lstat, mkdir, readdir, rename, rmdir, unlink } from "node:fs/promises";
2
+ import { basename, dirname, join } from "node:path";
3
+ import { deserializeKnownFileIdentity, serializeKnownFileIdentity } from "../../application/model/known-file-transaction-journal.js";
4
+ import { pathMatchesRegularFileIdentity } from "./node-bounded-regular-file.js";
5
+ import { syncDirectoryStrictly } from "./node-directory-durability.js";
6
+ import { knownFileErrorCode, knownFileTemporaryName, KnownFileTransactionError, sameKnownFileIdentity } from "./node-known-file-transaction-filesystem.js";
7
+ import { persistRecoveryJournal, replaceRecoveryOperation } from "./node-known-file-recovery-state.js";
8
+ function clearOperationRetirement(operation) {
9
+ if (operation.retirement === undefined) {
10
+ return operation;
11
+ }
12
+ const { retirement: _retirement, ...cleared } = operation;
13
+ return Object.freeze(cleared);
14
+ }
15
+ function retirementPath(options) {
16
+ const leaf = basename(options.operation.path);
17
+ const directory = join(options.parent, `.${leaf}.agent-teams.retire.${options.planDigest.slice(7, 23)}.${options.operationIndex}.${options.kind}`);
18
+ const source = options.kind === "destination"
19
+ ? join(options.parent, leaf)
20
+ : options.kind === "temporary"
21
+ ? join(options.parent, knownFileTemporaryName(options.operation.path, options.planDigest, options.operationIndex))
22
+ : join(options.parent, `.${leaf}.agent-teams.rollback.${options.operationIndex}.tmp`);
23
+ return { captured: join(directory, "captured"), directory, source };
24
+ }
25
+ async function createRetirementAuthority(options, operation, parent, paths, journalOperation) {
26
+ if (await pathMatchesRegularFileIdentity(paths.source, options.expectedIdentity) !== "match") {
27
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Identity-bound recovery path changed before retirement: ${operation.path}.`);
28
+ }
29
+ const directory = await mkdir(paths.directory, { mode: 0o700 }).then(() => lstat(paths.directory, { bigint: true })).catch((error) => {
30
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Retirement directory could not be exclusively created: ${operation.path}.`, { cause: error });
31
+ });
32
+ await syncDirectoryStrictly(parent);
33
+ const durableDirectory = await lstat(paths.directory, { bigint: true }).catch((error) => {
34
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Retirement directory disappeared before durable identity binding: ${operation.path}.`, { cause: error });
35
+ });
36
+ if (!durableDirectory.isDirectory() || durableDirectory.isSymbolicLink() ||
37
+ durableDirectory.birthtimeNs !== directory.birthtimeNs ||
38
+ durableDirectory.dev !== directory.dev || durableDirectory.ino !== directory.ino) {
39
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Retirement directory changed before durable identity binding: ${operation.path}.`);
40
+ }
41
+ const retirement = Object.freeze({
42
+ kind: options.kind,
43
+ state: "ready",
44
+ directoryIdentity: serializeKnownFileIdentity(directory),
45
+ pathIdentity: serializeKnownFileIdentity(options.expectedIdentity)
46
+ });
47
+ const updated = Object.freeze({ ...journalOperation, retirement });
48
+ await persistRecoveryJournal(options.store, options.stored, replaceRecoveryOperation(options.stored.envelope.journal, options.operationIndex, updated));
49
+ await options.faultInjector?.({
50
+ phase: "after-retirement-directory-bound",
51
+ operationIndex: options.operationIndex,
52
+ path: operation.path
53
+ });
54
+ return updated;
55
+ }
56
+ async function reconcileRetirementDirectory(options, operation, paths, journalOperation, retirement) {
57
+ const expectedDirectory = deserializeKnownFileIdentity(retirement.directoryIdentity);
58
+ const directory = await lstat(paths.directory, { bigint: true }).catch((error) => {
59
+ if (knownFileErrorCode(error) === "ENOENT") {
60
+ return null;
61
+ }
62
+ throw error;
63
+ });
64
+ if (directory === null) {
65
+ if (retirement.state !== "unlink-authorized" ||
66
+ await pathMatchesRegularFileIdentity(paths.source, options.expectedIdentity) === "match") {
67
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Journal-bound retirement directory disappeared: ${operation.path}.`);
68
+ }
69
+ await persistRecoveryJournal(options.store, options.stored, replaceRecoveryOperation(options.stored.envelope.journal, options.operationIndex, clearOperationRetirement(journalOperation)));
70
+ return "complete";
71
+ }
72
+ if (!directory.isDirectory() || directory.isSymbolicLink() ||
73
+ directory.birthtimeNs !== expectedDirectory.birthtimeNs ||
74
+ directory.dev !== expectedDirectory.dev || directory.ino !== expectedDirectory.ino) {
75
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Journal-bound retirement directory changed: ${operation.path}.`);
76
+ }
77
+ return "continue";
78
+ }
79
+ async function captureRetirementPath(options, context) {
80
+ const { journalOperation, operation, parent, paths, retirement } = context;
81
+ if (retirement.state !== "ready") {
82
+ return journalOperation;
83
+ }
84
+ const capturedMatch = await pathMatchesRegularFileIdentity(paths.captured, options.expectedIdentity);
85
+ const sourceMatch = await pathMatchesRegularFileIdentity(paths.source, options.expectedIdentity);
86
+ if (capturedMatch === "missing" && sourceMatch === "match") {
87
+ await rename(paths.source, paths.captured);
88
+ await syncDirectoryStrictly(paths.directory);
89
+ await syncDirectoryStrictly(parent);
90
+ }
91
+ else if (capturedMatch !== "match" || sourceMatch === "match") {
92
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Journal-bound retirement capture is ambiguous: ${operation.path}.`);
93
+ }
94
+ const updated = Object.freeze({
95
+ ...journalOperation,
96
+ retirement: Object.freeze({ ...retirement, state: "captured" })
97
+ });
98
+ await persistRecoveryJournal(options.store, options.stored, replaceRecoveryOperation(options.stored.envelope.journal, options.operationIndex, updated));
99
+ await options.faultInjector?.({
100
+ phase: "after-retirement-captured",
101
+ operationIndex: options.operationIndex,
102
+ path: operation.path
103
+ });
104
+ return updated;
105
+ }
106
+ async function authorizeRetirementUnlink(options, operation, paths, journalOperation) {
107
+ const retirement = journalOperation.retirement;
108
+ if (retirement.state !== "captured") {
109
+ return journalOperation;
110
+ }
111
+ if (await pathMatchesRegularFileIdentity(paths.captured, options.expectedIdentity) !== "match") {
112
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Journal-bound retired bytes changed: ${operation.path}.`);
113
+ }
114
+ const updated = Object.freeze({
115
+ ...journalOperation,
116
+ retirement: Object.freeze({ ...retirement, state: "unlink-authorized" })
117
+ });
118
+ await persistRecoveryJournal(options.store, options.stored, replaceRecoveryOperation(options.stored.envelope.journal, options.operationIndex, updated));
119
+ await options.faultInjector?.({
120
+ phase: "after-retirement-unlink-authorized",
121
+ operationIndex: options.operationIndex,
122
+ path: operation.path
123
+ });
124
+ return updated;
125
+ }
126
+ async function removeRetirementEvidence(options, operation, parent, paths, journalOperation) {
127
+ const captured = await pathMatchesRegularFileIdentity(paths.captured, options.expectedIdentity);
128
+ if (captured === "match") {
129
+ await unlink(paths.captured);
130
+ await syncDirectoryStrictly(paths.directory);
131
+ }
132
+ else if (captured !== "missing") {
133
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Authorized retirement capture became foreign: ${operation.path}.`);
134
+ }
135
+ if ((await readdir(paths.directory)).length !== 0) {
136
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Retirement directory contains foreign evidence: ${operation.path}.`);
137
+ }
138
+ await rmdir(paths.directory);
139
+ await syncDirectoryStrictly(parent);
140
+ await persistRecoveryJournal(options.store, options.stored, replaceRecoveryOperation(options.stored.envelope.journal, options.operationIndex, clearOperationRetirement(journalOperation)));
141
+ }
142
+ export async function retireJournalBoundPath(options) {
143
+ const operation = options.stored.envelope.journal.plan.operations[options.operationIndex];
144
+ const parent = dirname(join(options.root, ...operation.path.split("/")));
145
+ const paths = retirementPath({
146
+ kind: options.kind,
147
+ operation,
148
+ operationIndex: options.operationIndex,
149
+ parent,
150
+ planDigest: options.stored.envelope.journal.plan.planDigest
151
+ });
152
+ const initial = options.stored.envelope.journal.operations[options.operationIndex];
153
+ if (!("temporaryIdentity" in initial)) {
154
+ throw new KnownFileTransactionError("KNOWN_FILE_JOURNAL_INVALID", `Retirement requires durable operation identity: ${operation.path}.`);
155
+ }
156
+ let journalOperation = initial;
157
+ if (journalOperation.retirement === undefined) {
158
+ journalOperation = await createRetirementAuthority(options, operation, parent, paths, journalOperation);
159
+ }
160
+ const retirement = journalOperation.retirement;
161
+ if (retirement.kind !== options.kind ||
162
+ !sameKnownFileIdentity(deserializeKnownFileIdentity(retirement.pathIdentity), options.expectedIdentity)) {
163
+ throw new KnownFileTransactionError("KNOWN_FILE_RECOVERY_CONFLICT", `Retirement authority does not match the requested path: ${operation.path}.`);
164
+ }
165
+ if (await reconcileRetirementDirectory(options, operation, paths, journalOperation, retirement) === "complete") {
166
+ return;
167
+ }
168
+ journalOperation = await captureRetirementPath(options, { journalOperation, operation, parent, paths, retirement });
169
+ journalOperation = await authorizeRetirementUnlink(options, operation, paths, journalOperation);
170
+ await removeRetirementEvidence(options, operation, parent, paths, journalOperation);
171
+ }
172
+ //# sourceMappingURL=node-known-file-recovery-retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-known-file-recovery-retirement.js","sourceRoot":"","sources":["../../../../src/repository-mutation/adapters/node/node-known-file-recovery-retirement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { KnownFileTransactionJournalV1 } from "../../application/model/known-file-transaction-journal.js";
2
+ import type { NodeKnownFileTransactionJournalStore } from "./node-known-file-transaction-journal-store.js";
3
+ import type { StoredKnownFileRecoveryJournal } from "./node-known-file-recovery-observation.js";
4
+ export type StoredRecoveryJournal = StoredKnownFileRecoveryJournal;
5
+ export type KnownFileRecoveryFaultInjector = (point: {
6
+ readonly phase: "after-committed-capture-unlinked" | "after-destination-retired" | "after-rollback-linked" | "after-rollback-capture-unlinked" | "after-retirement-directory-bound" | "after-retirement-captured" | "after-retirement-unlink-authorized";
7
+ readonly operationIndex: number;
8
+ readonly path: string;
9
+ }) => Promise<void> | void;
10
+ export declare function persistRecoveryJournal(store: NodeKnownFileTransactionJournalStore, stored: StoredRecoveryJournal, journal: KnownFileTransactionJournalV1): Promise<void>;
11
+ export declare function replaceRecoveryOperation(journal: KnownFileTransactionJournalV1, index: number, operation: KnownFileTransactionJournalV1["operations"][number]): KnownFileTransactionJournalV1;
12
+ //# sourceMappingURL=node-known-file-recovery-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-known-file-recovery-state.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/adapters/node/node-known-file-recovery-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2DAA2D,CAAC;AAE/G,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAC3G,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAEhG,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAEnE,MAAM,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,KAAK,EACV,kCAAkC,GAClC,2BAA2B,GAC3B,uBAAuB,GACvB,iCAAiC,GACjC,kCAAkC,GAClC,2BAA2B,GAC3B,oCAAoC,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3B,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,oCAAoC,EAC3C,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,6BAA6B,EACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC7D,6BAA6B,CAK/B"}
@@ -0,0 +1,17 @@
1
+ import { compileKnownFileTransactionEnvelope } from "../../application/policies/known-file-transaction-envelope.js";
2
+ export async function persistRecoveryJournal(store, stored, journal) {
3
+ const envelope = compileKnownFileTransactionEnvelope({
4
+ foundation: stored.envelope.foundation,
5
+ journal,
6
+ state: stored.envelope.state
7
+ });
8
+ stored.authority = await store.replace(stored.authority, envelope);
9
+ stored.envelope = envelope;
10
+ }
11
+ export function replaceRecoveryOperation(journal, index, operation) {
12
+ return Object.freeze({
13
+ ...journal,
14
+ operations: Object.freeze(journal.operations.with(index, operation))
15
+ });
16
+ }
17
+ //# sourceMappingURL=node-known-file-recovery-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-known-file-recovery-state.js","sourceRoot":"","sources":["../../../../src/repository-mutation/adapters/node/node-known-file-recovery-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,+DAA+D,CAAC;AAmBpH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAA2C,EAC3C,MAA6B,EAC7B,OAAsC;IAEtC,MAAM,QAAQ,GAAG,mCAAmC,CAAC;QACnD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;QACtC,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;KAC7B,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAsC,EACtC,KAAa,EACb,SAA8D;IAE9D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,OAAO;QACV,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACrE,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import type { KnownFileTransactionReceiptV1 } from "../../application/model/known-file-transaction.js";
2
- export type KnownFileRecoveryFaultInjector = (point: {
3
- readonly phase: "after-committed-capture-unlinked" | "after-destination-retired" | "after-rollback-linked" | "after-rollback-capture-unlinked" | "after-retirement-directory-bound" | "after-retirement-captured" | "after-retirement-unlink-authorized";
4
- readonly operationIndex: number;
5
- readonly path: string;
6
- }) => Promise<void> | void;
2
+ import { type KnownFileRecoveryFaultInjector } from "./node-known-file-recovery-executor.js";
3
+ export type { KnownFileRecoveryFaultInjector } from "./node-known-file-recovery-executor.js";
7
4
  export declare function recoverKnownFileTransaction(options: {
8
5
  readonly consumerRoot: string;
9
6
  readonly faultInjector?: KnownFileRecoveryFaultInjector;
@@ -1 +1 @@
1
- {"version":3,"file":"node-known-file-transaction-recovery.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/adapters/node/node-known-file-transaction-recovery.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGV,6BAA6B,EAC9B,MAAM,mDAAmD,CAAC;AA8C3D,MAAM,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,KAAK,EACV,kCAAkC,GAClC,2BAA2B,GAC3B,uBAAuB,GACvB,iCAAiC,GACjC,kCAAkC,GAClC,2BAA2B,GAC3B,oCAAoC,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAgqC3B,wBAAsB,2BAA2B,CAAC,OAAO,EAAE;IACzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC;CACzD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAqEzC"}
1
+ {"version":3,"file":"node-known-file-transaction-recovery.d.ts","sourceRoot":"","sources":["../../../../src/repository-mutation/adapters/node/node-known-file-transaction-recovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAEvG,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,wCAAwC,CAAC;AAShD,YAAY,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAE7F,wBAAsB,2BAA2B,CAAC,OAAO,EAAE;IACzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC;CACzD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAsCzC"}