@agent-teams/engineering-foundation 0.4.0 → 0.5.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 (225) hide show
  1. package/README.md +22 -0
  2. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  3. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +12 -2
  4. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  5. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +3 -0
  6. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  7. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +26 -0
  8. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -0
  9. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts +6 -0
  10. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts.map +1 -0
  11. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js +81 -0
  12. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js.map +1 -0
  13. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +15 -0
  14. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -0
  15. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +153 -0
  16. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -0
  17. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts +17 -0
  18. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts.map +1 -0
  19. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js +70 -0
  20. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js.map +1 -0
  21. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +10 -0
  22. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -0
  23. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +30 -0
  24. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -0
  25. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +36 -0
  26. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -0
  27. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js +2 -0
  28. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js.map +1 -0
  29. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts +34 -0
  30. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts.map +1 -0
  31. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js +2 -0
  32. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js.map +1 -0
  33. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts +4 -0
  34. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -0
  35. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +131 -0
  36. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -0
  37. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts +17 -0
  38. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts.map +1 -0
  39. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js +2 -0
  40. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js.map +1 -0
  41. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts +5 -0
  42. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts.map +1 -0
  43. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js +2 -0
  44. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js.map +1 -0
  45. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts +8 -0
  46. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts.map +1 -0
  47. package/dist/capabilities/repository-agent-workflow/application/rules.js +35 -0
  48. package/dist/capabilities/repository-agent-workflow/application/rules.js.map +1 -0
  49. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts +9 -0
  50. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts.map +1 -0
  51. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js +7 -0
  52. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js.map +1 -0
  53. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts +4 -0
  54. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -0
  55. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +79 -0
  56. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -0
  57. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts +9 -0
  58. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -0
  59. package/dist/capabilities/repository-agent-workflow/changed-command.js +28 -0
  60. package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -0
  61. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts +5 -0
  62. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -0
  63. package/dist/capabilities/repository-agent-workflow/contract/config.js +121 -0
  64. package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -0
  65. package/dist/capabilities/repository-agent-workflow/module.d.ts +5 -0
  66. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -0
  67. package/dist/capabilities/repository-agent-workflow/module.js +49 -0
  68. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -0
  69. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
  70. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +150 -125
  71. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  72. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
  73. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js +9 -1
  74. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js.map +1 -1
  75. package/dist/cli-arguments.d.ts +12 -0
  76. package/dist/cli-arguments.d.ts.map +1 -0
  77. package/dist/cli-arguments.js +114 -0
  78. package/dist/cli-arguments.js.map +1 -0
  79. package/dist/cli.js +131 -125
  80. package/dist/cli.js.map +1 -1
  81. package/dist/composition/capability-registry.d.ts.map +1 -1
  82. package/dist/composition/capability-registry.js +2 -0
  83. package/dist/composition/capability-registry.js.map +1 -1
  84. package/dist/composition/rule-registry.d.ts.map +1 -1
  85. package/dist/composition/rule-registry.js +2 -0
  86. package/dist/composition/rule-registry.js.map +1 -1
  87. package/dist/foundation-config.d.ts +1 -1
  88. package/dist/foundation-config.d.ts.map +1 -1
  89. package/dist/foundation-config.js +2 -0
  90. package/dist/foundation-config.js.map +1 -1
  91. package/dist/local-mode/attach-transaction.d.ts +11 -0
  92. package/dist/local-mode/attach-transaction.d.ts.map +1 -0
  93. package/dist/local-mode/attach-transaction.js +176 -0
  94. package/dist/local-mode/attach-transaction.js.map +1 -0
  95. package/dist/local-mode/consumer-policy.d.ts +2 -3
  96. package/dist/local-mode/consumer-policy.d.ts.map +1 -1
  97. package/dist/local-mode/consumer-policy.js +130 -88
  98. package/dist/local-mode/consumer-policy.js.map +1 -1
  99. package/dist/local-mode/index.d.ts +1 -0
  100. package/dist/local-mode/index.d.ts.map +1 -1
  101. package/dist/local-mode/index.js.map +1 -1
  102. package/dist/local-mode/inspection.d.ts.map +1 -1
  103. package/dist/local-mode/inspection.js +126 -118
  104. package/dist/local-mode/inspection.js.map +1 -1
  105. package/dist/local-mode/local-state-store.d.ts +6 -0
  106. package/dist/local-mode/local-state-store.d.ts.map +1 -0
  107. package/dist/local-mode/local-state-store.js +138 -0
  108. package/dist/local-mode/local-state-store.js.map +1 -0
  109. package/dist/local-mode/registry-recovery.d.ts +5 -0
  110. package/dist/local-mode/registry-recovery.d.ts.map +1 -0
  111. package/dist/local-mode/registry-recovery.js +112 -0
  112. package/dist/local-mode/registry-recovery.js.map +1 -0
  113. package/dist/local-mode/service.d.ts +1 -1
  114. package/dist/local-mode/service.d.ts.map +1 -1
  115. package/dist/local-mode/service.js +14 -398
  116. package/dist/local-mode/service.js.map +1 -1
  117. package/dist/package-self-check.d.ts +1 -1
  118. package/dist/package-self-check.d.ts.map +1 -1
  119. package/dist/package-self-check.js +13 -1
  120. package/dist/package-self-check.js.map +1 -1
  121. package/dist/public-api-surface.d.ts +4 -0
  122. package/dist/public-api-surface.d.ts.map +1 -0
  123. package/dist/public-api-surface.js +4 -0
  124. package/dist/public-api-surface.js.map +1 -0
  125. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +9 -0
  126. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +1 -0
  127. package/dist/scaffolding/adapters/memory/memory-workspace.js +93 -0
  128. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +6 -0
  130. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -0
  131. package/dist/scaffolding/adapters/node/filesystem-journal.js +79 -0
  132. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -0
  133. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +7 -0
  134. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -0
  135. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +144 -0
  136. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -0
  137. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +13 -0
  138. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -0
  139. package/dist/scaffolding/adapters/node/filesystem-workspace.js +336 -0
  140. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -0
  141. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts +2 -0
  142. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts.map +1 -0
  143. package/dist/scaffolding/adapters/node/installed-foundation-version.js +10 -0
  144. package/dist/scaffolding/adapters/node/installed-foundation-version.js.map +1 -0
  145. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +17 -0
  146. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -0
  147. package/dist/scaffolding/adapters/node/node-input-loader.js +157 -0
  148. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -0
  149. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +3 -0
  150. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -0
  151. package/dist/scaffolding/adapters/node/node-plan-authority.js +18 -0
  152. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -0
  153. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +4 -0
  154. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -0
  155. package/dist/scaffolding/adapters/node/node-receipt-validator.js +10 -0
  156. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -0
  157. package/dist/scaffolding/cli-command.d.ts +8 -0
  158. package/dist/scaffolding/cli-command.d.ts.map +1 -0
  159. package/dist/scaffolding/cli-command.js +60 -0
  160. package/dist/scaffolding/cli-command.js.map +1 -0
  161. package/dist/scaffolding/contract/types.d.ts +296 -0
  162. package/dist/scaffolding/contract/types.d.ts.map +1 -0
  163. package/dist/scaffolding/contract/types.js +2 -0
  164. package/dist/scaffolding/contract/types.js.map +1 -0
  165. package/dist/scaffolding/definitions/conformance-fixture.d.ts +3 -0
  166. package/dist/scaffolding/definitions/conformance-fixture.d.ts.map +1 -0
  167. package/dist/scaffolding/definitions/conformance-fixture.js +217 -0
  168. package/dist/scaffolding/definitions/conformance-fixture.js.map +1 -0
  169. package/dist/scaffolding/definitions/registry.d.ts +3 -0
  170. package/dist/scaffolding/definitions/registry.d.ts.map +1 -0
  171. package/dist/scaffolding/definitions/registry.js +6 -0
  172. package/dist/scaffolding/definitions/registry.js.map +1 -0
  173. package/dist/scaffolding/index.d.ts +11 -0
  174. package/dist/scaffolding/index.d.ts.map +1 -0
  175. package/dist/scaffolding/index.js +9 -0
  176. package/dist/scaffolding/index.js.map +1 -0
  177. package/dist/scaffolding/kernel/canonical-json.d.ts +6 -0
  178. package/dist/scaffolding/kernel/canonical-json.d.ts.map +1 -0
  179. package/dist/scaffolding/kernel/canonical-json.js +55 -0
  180. package/dist/scaffolding/kernel/canonical-json.js.map +1 -0
  181. package/dist/scaffolding/kernel/compiler.d.ts +4 -0
  182. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -0
  183. package/dist/scaffolding/kernel/compiler.js +297 -0
  184. package/dist/scaffolding/kernel/compiler.js.map +1 -0
  185. package/dist/scaffolding/kernel/definition-registry.d.ts +50 -0
  186. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -0
  187. package/dist/scaffolding/kernel/definition-registry.js +92 -0
  188. package/dist/scaffolding/kernel/definition-registry.js.map +1 -0
  189. package/dist/scaffolding/kernel/limits.d.ts +5 -0
  190. package/dist/scaffolding/kernel/limits.d.ts.map +1 -0
  191. package/dist/scaffolding/kernel/limits.js +5 -0
  192. package/dist/scaffolding/kernel/limits.js.map +1 -0
  193. package/dist/scaffolding/kernel/plan-validation.d.ts +3 -0
  194. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -0
  195. package/dist/scaffolding/kernel/plan-validation.js +44 -0
  196. package/dist/scaffolding/kernel/plan-validation.js.map +1 -0
  197. package/dist/scaffolding/kernel/receipt.d.ts +35 -0
  198. package/dist/scaffolding/kernel/receipt.d.ts.map +1 -0
  199. package/dist/scaffolding/kernel/receipt.js +206 -0
  200. package/dist/scaffolding/kernel/receipt.js.map +1 -0
  201. package/dist/scaffolding/scaffold-error.d.ts +8 -0
  202. package/dist/scaffolding/scaffold-error.d.ts.map +1 -0
  203. package/dist/scaffolding/scaffold-error.js +11 -0
  204. package/dist/scaffolding/scaffold-error.js.map +1 -0
  205. package/dist/scaffolding/service.d.ts +8 -0
  206. package/dist/scaffolding/service.d.ts.map +1 -0
  207. package/dist/scaffolding/service.js +15 -0
  208. package/dist/scaffolding/service.js.map +1 -0
  209. package/dist/schema-ids.d.ts +1 -1
  210. package/dist/schema-ids.d.ts.map +1 -1
  211. package/dist/schema-ids.js +6 -0
  212. package/dist/schema-ids.js.map +1 -1
  213. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  214. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +17 -12
  215. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  216. package/package.json +5 -1
  217. package/presets/oxlint/maintainability-tests.json +23 -0
  218. package/presets/oxlint/maintainability.json +23 -0
  219. package/schemas/foundation-config/v1.schema.json +10 -0
  220. package/schemas/repository-agent-workflow/v1.schema.json +92 -0
  221. package/schemas/scaffold-intent/v1.schema.json +60 -0
  222. package/schemas/scaffold-plan/v1.schema.json +250 -0
  223. package/schemas/scaffold-receipt/v1.schema.json +299 -0
  224. package/schemas/scaffold-target-catalog/v1.schema.json +52 -0
  225. package/schemas/scaffolding-config/v1.schema.json +99 -0
@@ -0,0 +1,36 @@
1
+ import type { RepositoryAgentWorkflowPolicy } from "./repository-agent-workflow.js";
2
+ export interface RepositoryChanges {
3
+ readonly baselineRef: string;
4
+ readonly baselineCommit: string | null;
5
+ readonly changedPaths: readonly string[];
6
+ readonly deletedPaths: readonly string[];
7
+ readonly existingPaths: readonly string[];
8
+ }
9
+ export interface ScriptExecutionResult {
10
+ readonly exitCode: number;
11
+ readonly stdout: string;
12
+ readonly stderr: string;
13
+ }
14
+ export interface AgentWorkflowStepReport {
15
+ readonly id: string;
16
+ readonly script: string;
17
+ readonly paths: readonly string[];
18
+ readonly outcome: "passed" | "violations";
19
+ readonly output: string;
20
+ }
21
+ export interface AgentWorkflowChangedReport {
22
+ readonly reportSchemaVersion: 1;
23
+ readonly outcome: "passed" | "violations";
24
+ readonly coverage: "changed" | "fast-full";
25
+ readonly baselineRef: string;
26
+ readonly baselineCommit: string | null;
27
+ readonly changedPaths: readonly string[];
28
+ readonly steps: readonly AgentWorkflowStepReport[];
29
+ }
30
+ export interface AgentWorkflowInvocation {
31
+ readonly consumerRoot: string;
32
+ readonly policy: RepositoryAgentWorkflowPolicy;
33
+ readonly baseRef?: string;
34
+ readonly signal?: AbortSignal;
35
+ }
36
+ //# sourceMappingURL=changed-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/model/changed-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,WAAW,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=changed-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/model/changed-workflow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ export interface AgentInstructionPaths {
2
+ readonly canonical: string;
3
+ readonly claude: string;
4
+ readonly gemini: string;
5
+ readonly copilot: string;
6
+ }
7
+ export interface AgentWorkflowScripts {
8
+ readonly changed: string;
9
+ readonly fast: string;
10
+ readonly full: string;
11
+ }
12
+ export interface ChangedCheckPolicy {
13
+ readonly id: string;
14
+ readonly script: string;
15
+ readonly extensions: readonly string[];
16
+ readonly passPaths: boolean;
17
+ }
18
+ export interface RepositoryAgentWorkflowPolicy {
19
+ readonly instructions: AgentInstructionPaths;
20
+ readonly scripts: AgentWorkflowScripts;
21
+ readonly changedChecks: readonly ChangedCheckPolicy[];
22
+ readonly fullScanPaths: readonly string[];
23
+ }
24
+ export type InstructionFileEvidence = {
25
+ readonly kind: "file";
26
+ readonly source: string;
27
+ } | {
28
+ readonly kind: "missing" | "symlink" | "invalid";
29
+ };
30
+ export interface RepositoryAgentWorkflowEvidence {
31
+ readonly instructionFiles: Readonly<Record<keyof AgentInstructionPaths, InstructionFileEvidence>>;
32
+ readonly packageScripts: Readonly<Record<string, string>>;
33
+ }
34
+ //# sourceMappingURL=repository-agent-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-agent-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAClG,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repository-agent-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-agent-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { FoundationDiagnostic } from "../../../../check-contract.js";
2
+ import type { RepositoryAgentWorkflowEvidence, RepositoryAgentWorkflowPolicy } from "../model/repository-agent-workflow.js";
3
+ export declare function evaluateRepositoryAgentWorkflow(policy: RepositoryAgentWorkflowPolicy, evidence: RepositoryAgentWorkflowEvidence): readonly FoundationDiagnostic[];
4
+ //# sourceMappingURL=evaluate-repository-agent-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate-repository-agent-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAEV,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAuK/C,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,6BAA6B,EACrC,QAAQ,EAAE,+BAA+B,GACxC,SAAS,oBAAoB,EAAE,CAQjC"}
@@ -0,0 +1,131 @@
1
+ function diagnostic(input) {
2
+ return Object.freeze({
3
+ ruleId: input.ruleId,
4
+ severity: "error",
5
+ subject: input.subject,
6
+ message: input.message,
7
+ location: { path: input.path },
8
+ relatedLocations: [],
9
+ evidence: input.evidence ?? [],
10
+ remediation: input.remediation,
11
+ requiresArchitectureReview: false
12
+ });
13
+ }
14
+ function fileSource(evidence) {
15
+ return evidence.kind === "file" ? evidence.source : null;
16
+ }
17
+ function isExactAdapter(source, candidates) {
18
+ return candidates.includes(source.trim());
19
+ }
20
+ function importCandidates(adapterPath, canonicalPath) {
21
+ const adapterDirectory = adapterPath.split("/").slice(0, -1);
22
+ const canonicalSegments = canonicalPath.split("/");
23
+ let commonSegments = 0;
24
+ while (adapterDirectory[commonSegments] !== undefined &&
25
+ adapterDirectory[commonSegments] === canonicalSegments[commonSegments]) {
26
+ commonSegments += 1;
27
+ }
28
+ const relative = [
29
+ ...adapterDirectory.slice(commonSegments).map(() => ".."),
30
+ ...canonicalSegments.slice(commonSegments)
31
+ ].join("/");
32
+ const normalized = relative.startsWith(".") ? relative : `./${relative}`;
33
+ return Object.freeze([`@${relative}`, `@${normalized}`]);
34
+ }
35
+ function validateInstructionFiles(policy, evidence) {
36
+ const diagnostics = [];
37
+ for (const kind of ["canonical", "claude", "gemini", "copilot"]) {
38
+ const repositoryPath = policy.instructions[kind];
39
+ const file = evidence.instructionFiles[kind];
40
+ if (file.kind !== "file") {
41
+ diagnostics.push(diagnostic({
42
+ ruleId: "repository.agent-workflow.instruction-file-invalid",
43
+ subject: `${kind}:${repositoryPath}`,
44
+ message: `Instruction file is ${file.kind}: ${repositoryPath}.`,
45
+ path: repositoryPath,
46
+ remediation: "Create a regular instruction file within the repository."
47
+ }));
48
+ }
49
+ }
50
+ return diagnostics;
51
+ }
52
+ function validateAdapters(policy, evidence) {
53
+ const diagnostics = [];
54
+ for (const kind of ["claude", "gemini"]) {
55
+ const source = fileSource(evidence.instructionFiles[kind]);
56
+ const candidates = importCandidates(policy.instructions[kind], policy.instructions.canonical);
57
+ if (source !== null && !isExactAdapter(source, candidates)) {
58
+ diagnostics.push(diagnostic({
59
+ ruleId: "repository.agent-workflow.adapter-not-linked",
60
+ subject: `${kind}:${policy.instructions[kind]}`,
61
+ message: `${kind} instructions do not import ${policy.instructions.canonical}.`,
62
+ path: policy.instructions[kind],
63
+ remediation: `Replace the adapter content with ${candidates[0]}.`,
64
+ evidence: candidates.map((value) => ({ kind: "accepted-import", value }))
65
+ }));
66
+ }
67
+ }
68
+ const copilotSource = fileSource(evidence.instructionFiles.copilot);
69
+ if (copilotSource !== null && !copilotSource.includes(policy.instructions.canonical)) {
70
+ diagnostics.push(diagnostic({
71
+ ruleId: "repository.agent-workflow.adapter-not-linked",
72
+ subject: `copilot:${policy.instructions.copilot}`,
73
+ message: `Copilot instructions do not reference ${policy.instructions.canonical}.`,
74
+ path: policy.instructions.copilot,
75
+ remediation: `Require Copilot to read and follow ${policy.instructions.canonical}.`
76
+ }));
77
+ }
78
+ return diagnostics;
79
+ }
80
+ function validateCommands(policy, evidence) {
81
+ const diagnostics = [];
82
+ const canonicalSource = fileSource(evidence.instructionFiles.canonical);
83
+ const requiredScripts = new Set([
84
+ policy.scripts.changed,
85
+ policy.scripts.fast,
86
+ policy.scripts.full,
87
+ ...policy.changedChecks.map(({ script }) => script)
88
+ ]);
89
+ for (const script of [...requiredScripts].toSorted()) {
90
+ if (!(script in evidence.packageScripts)) {
91
+ diagnostics.push(diagnostic({
92
+ ruleId: "repository.agent-workflow.package-script-missing",
93
+ subject: `package-script:${script}`,
94
+ message: `Required package script is missing: ${script}.`,
95
+ path: "package.json",
96
+ remediation: `Define the ${script} package script.`
97
+ }));
98
+ }
99
+ }
100
+ for (const script of [policy.scripts.changed, policy.scripts.fast, policy.scripts.full]) {
101
+ if (canonicalSource !== null && !canonicalSource.includes(script)) {
102
+ diagnostics.push(diagnostic({
103
+ ruleId: "repository.agent-workflow.command-not-documented",
104
+ subject: `instruction-command:${script}`,
105
+ message: `Canonical instructions do not mention ${script}.`,
106
+ path: policy.instructions.canonical,
107
+ remediation: `Document when agents must run pnpm ${script}.`
108
+ }));
109
+ }
110
+ }
111
+ const changedCommand = evidence.packageScripts[policy.scripts.changed];
112
+ if (changedCommand !== undefined &&
113
+ !/^(?:pnpm\s+build\s*&&\s*)?agent-teams-foundation\s+agent-workflow\s+changed\s+--consumer\s+\.$/u.test(changedCommand.trim())) {
114
+ diagnostics.push(diagnostic({
115
+ ruleId: "repository.agent-workflow.changed-runner-invalid",
116
+ subject: `package-script:${policy.scripts.changed}`,
117
+ message: "The changed-file script bypasses the shared Foundation runner.",
118
+ path: "package.json",
119
+ remediation: "Set the script exactly to: agent-teams-foundation agent-workflow changed --consumer ."
120
+ }));
121
+ }
122
+ return diagnostics;
123
+ }
124
+ export function evaluateRepositoryAgentWorkflow(policy, evidence) {
125
+ return Object.freeze([
126
+ ...validateInstructionFiles(policy, evidence),
127
+ ...validateAdapters(policy, evidence),
128
+ ...validateCommands(policy, evidence)
129
+ ].toSorted((left, right) => `${left.ruleId}:${left.subject}`.localeCompare(`${right.ruleId}:${right.subject}`)));
130
+ }
131
+ //# sourceMappingURL=evaluate-repository-agent-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate-repository-agent-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { RepositoryChanges, ScriptExecutionResult } from "../model/changed-workflow.js";
2
+ export interface RepositoryChangesReader {
3
+ collect(input: {
4
+ readonly consumerRoot: string;
5
+ readonly baseRef?: string;
6
+ readonly signal?: AbortSignal;
7
+ }): Promise<RepositoryChanges>;
8
+ }
9
+ export interface PackageScriptRunner {
10
+ run(input: {
11
+ readonly consumerRoot: string;
12
+ readonly script: string;
13
+ readonly paths: readonly string[];
14
+ readonly signal?: AbortSignal;
15
+ }): Promise<ScriptExecutionResult>;
16
+ }
17
+ //# sourceMappingURL=changed-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/ports/changed-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,KAAK,EAAE;QACT,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=changed-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/ports/changed-workflow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { RepositoryAgentWorkflowEvidence, RepositoryAgentWorkflowPolicy } from "../model/repository-agent-workflow.js";
2
+ export interface RepositoryAgentWorkflowReader {
3
+ read(consumerRoot: string, policy: RepositoryAgentWorkflowPolicy, signal?: AbortSignal): Promise<RepositoryAgentWorkflowEvidence>;
4
+ }
5
+ //# sourceMappingURL=repository-agent-workflow-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-agent-workflow-reader.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CACF,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,6BAA6B,EACrC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC7C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repository-agent-workflow-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-agent-workflow-reader.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface RepositoryAgentWorkflowRuleMetadata {
2
+ readonly id: string;
3
+ readonly rationale: string;
4
+ readonly remediation: string;
5
+ readonly documentation: string;
6
+ }
7
+ export declare const REPOSITORY_AGENT_WORKFLOW_RULES_BY_ID: ReadonlyMap<string, RepositoryAgentWorkflowRuleMetadata>;
8
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/repository-agent-workflow/application/rules.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAsCD,eAAO,MAAM,qCAAqC,EAAE,WAAW,CAC7D,MAAM,EACN,mCAAmC,CACY,CAAC"}
@@ -0,0 +1,35 @@
1
+ const DOCUMENTATION = "https://github.com/agent-teams-ai/engineering-foundation/blob/main/docs/reference/repository-agent-workflow.md";
2
+ const rules = [
3
+ {
4
+ id: "repository.agent-workflow.instruction-file-invalid",
5
+ rationale: "Every supported agent must receive the repository's canonical instructions.",
6
+ remediation: "Create a regular, bounded instruction file at the configured path.",
7
+ documentation: DOCUMENTATION
8
+ },
9
+ {
10
+ id: "repository.agent-workflow.adapter-not-linked",
11
+ rationale: "Provider-specific instruction adapters must route to one canonical source.",
12
+ remediation: "Import or explicitly reference the configured canonical instruction file.",
13
+ documentation: DOCUMENTATION
14
+ },
15
+ {
16
+ id: "repository.agent-workflow.command-not-documented",
17
+ rationale: "Agents need exact, stable commands instead of prose-only quality expectations.",
18
+ remediation: "Document the configured changed, fast, and full verification scripts.",
19
+ documentation: DOCUMENTATION
20
+ },
21
+ {
22
+ id: "repository.agent-workflow.package-script-missing",
23
+ rationale: "A documented workflow is reproducible only when every referenced script exists.",
24
+ remediation: "Add the missing package script or update the workflow policy.",
25
+ documentation: DOCUMENTATION
26
+ },
27
+ {
28
+ id: "repository.agent-workflow.changed-runner-invalid",
29
+ rationale: "Changed-file discovery must use the shared Foundation implementation.",
30
+ remediation: "Route the configured changed script to agent-teams-foundation agent-workflow changed.",
31
+ documentation: DOCUMENTATION
32
+ }
33
+ ];
34
+ export const REPOSITORY_AGENT_WORKFLOW_RULES_BY_ID = new Map(rules.map((rule) => [rule.id, rule]));
35
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../src/capabilities/repository-agent-workflow/application/rules.ts"],"names":[],"mappings":"AAOA,MAAM,aAAa,GACjB,gHAAgH,CAAC;AAEnH,MAAM,KAAK,GAAmD;IAC5D;QACE,EAAE,EAAE,oDAAoD;QACxD,SAAS,EAAE,6EAA6E;QACxF,WAAW,EAAE,oEAAoE;QACjF,aAAa,EAAE,aAAa;KAC7B;IACD;QACE,EAAE,EAAE,8CAA8C;QAClD,SAAS,EAAE,4EAA4E;QACvF,WAAW,EAAE,2EAA2E;QACxF,aAAa,EAAE,aAAa;KAC7B;IACD;QACE,EAAE,EAAE,kDAAkD;QACtD,SAAS,EAAE,gFAAgF;QAC3F,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,aAAa;KAC7B;IACD;QACE,EAAE,EAAE,kDAAkD;QACtD,SAAS,EAAE,iFAAiF;QAC5F,WAAW,EAAE,+DAA+D;QAC5E,aAAa,EAAE,aAAa;KAC7B;IACD;QACE,EAAE,EAAE,kDAAkD;QACtD,SAAS,EAAE,uEAAuE;QAClF,WAAW,EAAE,uFAAuF;QACpG,aAAa,EAAE,aAAa;KAC7B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAG9C,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { FoundationDiagnostic } from "../../../../check-contract.js";
2
+ import type { RepositoryAgentWorkflowPolicy } from "../model/repository-agent-workflow.js";
3
+ import type { RepositoryAgentWorkflowReader } from "../ports/repository-agent-workflow-reader.js";
4
+ export declare function analyzeRepositoryAgentWorkflow(input: {
5
+ readonly consumerRoot: string;
6
+ readonly policy: RepositoryAgentWorkflowPolicy;
7
+ readonly signal?: AbortSignal;
8
+ }, reader: RepositoryAgentWorkflowReader): Promise<readonly FoundationDiagnostic[]>;
9
+ //# sourceMappingURL=analyze-repository-agent-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-repository-agent-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAE3F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAElG,wBAAsB,8BAA8B,CAClD,KAAK,EAAE;IACL,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B,EACD,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAM1C"}
@@ -0,0 +1,7 @@
1
+ import { assertNotCancelled } from "../../../../strict-yaml.js";
2
+ import { evaluateRepositoryAgentWorkflow } from "../policies/evaluate-repository-agent-workflow.js";
3
+ export async function analyzeRepositoryAgentWorkflow(input, reader) {
4
+ assertNotCancelled(input.signal);
5
+ return evaluateRepositoryAgentWorkflow(input.policy, await reader.read(input.consumerRoot, input.policy, input.signal));
6
+ }
7
+ //# sourceMappingURL=analyze-repository-agent-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-repository-agent-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAGpG,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAIC,EACD,MAAqC;IAErC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,+BAA+B,CACpC,KAAK,CAAC,MAAM,EACZ,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAClE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AgentWorkflowChangedReport, AgentWorkflowInvocation } from "../model/changed-workflow.js";
2
+ import type { PackageScriptRunner, RepositoryChangesReader } from "../ports/changed-workflow.js";
3
+ export declare function runChangedAgentWorkflow(input: AgentWorkflowInvocation, changesReader: RepositoryChangesReader, scriptRunner: PackageScriptRunner): Promise<AgentWorkflowChangedReport>;
4
+ //# sourceMappingURL=run-changed-agent-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-changed-agent-workflow.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EAIxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AA6FtC,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,uBAAuB,EAC9B,aAAa,EAAE,uBAAuB,EACtC,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,0BAA0B,CAAC,CA6BrC"}
@@ -0,0 +1,79 @@
1
+ const MAX_PATH_ARGUMENTS = 200;
2
+ const MAX_PATH_ARGUMENT_BYTES = 24 * 1024;
3
+ const MAX_STEP_OUTPUT_CHARS = 128 * 1024;
4
+ function pathMatchesExtension(path, extension) {
5
+ return path.toLowerCase().endsWith(extension.toLowerCase());
6
+ }
7
+ function pathMatchesTrigger(path, trigger) {
8
+ return path === trigger || path.startsWith(`${trigger}/`);
9
+ }
10
+ function exceedsArgumentBudget(paths) {
11
+ return (paths.length > MAX_PATH_ARGUMENTS ||
12
+ paths.reduce((total, path) => total + Buffer.byteLength(path) + 1, 0) >
13
+ MAX_PATH_ARGUMENT_BYTES);
14
+ }
15
+ function output(result) {
16
+ const combined = [result.stdout.trim(), result.stderr.trim()]
17
+ .filter((value) => value.length > 0)
18
+ .join("\n");
19
+ return combined.length <= MAX_STEP_OUTPUT_CHARS
20
+ ? combined
21
+ : combined.slice(combined.length - MAX_STEP_OUTPUT_CHARS);
22
+ }
23
+ async function executeStep(input, runner, id, script, paths) {
24
+ const result = await runner.run({
25
+ consumerRoot: input.consumerRoot,
26
+ script,
27
+ paths,
28
+ ...(input.signal === undefined ? {} : { signal: input.signal })
29
+ });
30
+ return Object.freeze({
31
+ id,
32
+ script,
33
+ paths: Object.freeze([...paths]),
34
+ outcome: result.exitCode === 0 ? "passed" : "violations",
35
+ output: output(result)
36
+ });
37
+ }
38
+ function shouldRunFastFull(input, changes) {
39
+ return (changes.changedPaths.some((path) => input.policy.fullScanPaths.some((trigger) => pathMatchesTrigger(path, trigger))) ||
40
+ changes.deletedPaths.length > 0 ||
41
+ changes.changedPaths.length !== changes.existingPaths.length ||
42
+ exceedsArgumentBudget(changes.existingPaths));
43
+ }
44
+ async function changedSteps(input, changes, runner) {
45
+ const steps = [];
46
+ for (const check of input.policy.changedChecks) {
47
+ const paths = changes.existingPaths.filter((path) => check.extensions.some((extension) => pathMatchesExtension(path, extension)));
48
+ if (paths.length === 0) {
49
+ continue;
50
+ }
51
+ steps.push(await executeStep(input, runner, check.id, check.script, check.passPaths ? paths : []));
52
+ }
53
+ return Object.freeze(steps);
54
+ }
55
+ export async function runChangedAgentWorkflow(input, changesReader, scriptRunner) {
56
+ const changes = await changesReader.collect({
57
+ consumerRoot: input.consumerRoot,
58
+ ...(input.baseRef === undefined ? {} : { baseRef: input.baseRef }),
59
+ ...(input.signal === undefined ? {} : { signal: input.signal })
60
+ });
61
+ const fastFull = shouldRunFastFull(input, changes);
62
+ const steps = fastFull
63
+ ? Object.freeze([
64
+ await executeStep(input, scriptRunner, "fast-full", input.policy.scripts.fast, [])
65
+ ])
66
+ : await changedSteps(input, changes, scriptRunner);
67
+ return Object.freeze({
68
+ reportSchemaVersion: 1,
69
+ outcome: steps.some(({ outcome }) => outcome === "violations")
70
+ ? "violations"
71
+ : "passed",
72
+ coverage: fastFull ? "fast-full" : "changed",
73
+ baselineRef: changes.baselineRef,
74
+ baselineCommit: changes.baselineCommit,
75
+ changedPaths: changes.changedPaths,
76
+ steps
77
+ });
78
+ }
79
+ //# sourceMappingURL=run-changed-agent-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-changed-agent-workflow.js","sourceRoot":"","sources":["../../../../../src/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { PnpmProcessEnvironment } from "./adapters/outbound/pnpm/pnpm-package-script-runner.js";
2
+ export declare function runAgentWorkflowChangedCommand(input: {
3
+ readonly consumerRoot: string;
4
+ readonly format: "json" | "text";
5
+ readonly baseRef?: string;
6
+ readonly configPath: string;
7
+ readonly pnpmEnvironment: PnpmProcessEnvironment;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=changed-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-command.d.ts","sourceRoot":"","sources":["../../../src/capabilities/repository-agent-workflow/changed-command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAKrG,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;CAClD,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhB"}
@@ -0,0 +1,28 @@
1
+ import { GitRepositoryChangesReader } from "./adapters/outbound/git/git-repository-changes-reader.js";
2
+ import { PnpmPackageScriptRunner } from "./adapters/outbound/pnpm/pnpm-package-script-runner.js";
3
+ import { renderAgentWorkflowReport } from "./adapters/inbound/cli/report-renderer.js";
4
+ import { runChangedAgentWorkflow } from "./application/use-cases/run-changed-agent-workflow.js";
5
+ import { loadAgentWorkflowPolicy } from "./contract/config.js";
6
+ export async function runAgentWorkflowChangedCommand(input) {
7
+ const controller = new AbortController();
8
+ const cancel = () => {
9
+ controller.abort();
10
+ };
11
+ process.once("SIGINT", cancel);
12
+ try {
13
+ const report = await runChangedAgentWorkflow({
14
+ consumerRoot: input.consumerRoot,
15
+ policy: await loadAgentWorkflowPolicy(input.consumerRoot, input.configPath, controller.signal),
16
+ ...(input.baseRef === undefined ? {} : { baseRef: input.baseRef }),
17
+ signal: controller.signal
18
+ }, new GitRepositoryChangesReader(), new PnpmPackageScriptRunner(input.pnpmEnvironment));
19
+ process.stdout.write(input.format === "json"
20
+ ? `${JSON.stringify(report, null, 2)}\n`
21
+ : renderAgentWorkflowReport(report));
22
+ process.exitCode = report.outcome === "passed" ? 0 : 1;
23
+ }
24
+ finally {
25
+ process.removeListener("SIGINT", cancel);
26
+ }
27
+ }
28
+ //# sourceMappingURL=changed-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-command.js","sourceRoot":"","sources":["../../../src/capabilities/repository-agent-workflow/changed-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAMpD;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C;YACE,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,MAAM,uBAAuB,CACnC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,UAAU,CAAC,MAAM,CAClB;YACD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClE,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,EACD,IAAI,0BAA0B,EAAE,EAChC,IAAI,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC,CACnD,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,MAAM,KAAK,MAAM;YACrB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;YACxC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CACtC,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { RepositoryAgentWorkflowPolicy } from "../application/model/repository-agent-workflow.js";
2
+ export declare const CAPABILITY_ID: "repository.agent-workflow";
3
+ export declare const CAPABILITY_CONFIG_SCHEMA_VERSION: 1;
4
+ export declare function loadAgentWorkflowPolicy(consumerRoot: string, configPath: string, signal?: AbortSignal): Promise<RepositoryAgentWorkflowPolicy>;
5
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/repository-agent-workflow/contract/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,6BAA6B,EAC9B,MAAM,mDAAmD,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAG,2BAAoC,CAAC;AAClE,eAAO,MAAM,gCAAgC,EAAG,CAAU,CAAC;AA4E3D,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,6BAA6B,CAAC,CA+DxC"}