playwright-intelligence-engine 0.0.0-stage → 2.0.1

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 (353) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +229 -3
  3. package/bin/pw-intel.js +37 -0
  4. package/dist/authoring/author.d.ts +83 -0
  5. package/dist/authoring/author.d.ts.map +1 -0
  6. package/dist/authoring/generation-contract.d.ts +90 -0
  7. package/dist/authoring/generation-contract.d.ts.map +1 -0
  8. package/dist/authoring/hybrid-author.d.ts +6 -0
  9. package/dist/authoring/hybrid-author.d.ts.map +1 -0
  10. package/dist/authoring/index.d.ts +7 -0
  11. package/dist/authoring/index.d.ts.map +1 -0
  12. package/dist/authoring/llm-author.d.ts +28 -0
  13. package/dist/authoring/llm-author.d.ts.map +1 -0
  14. package/dist/authoring/naming/index.d.ts +4 -0
  15. package/dist/authoring/naming/index.d.ts.map +1 -0
  16. package/dist/authoring/naming/name-plan.d.ts +45 -0
  17. package/dist/authoring/naming/name-plan.d.ts.map +1 -0
  18. package/dist/authoring/naming/name-planner.d.ts +25 -0
  19. package/dist/authoring/naming/name-planner.d.ts.map +1 -0
  20. package/dist/authoring/naming/naming-linter.d.ts +20 -0
  21. package/dist/authoring/naming/naming-linter.d.ts.map +1 -0
  22. package/dist/authoring/template-author.d.ts +6 -0
  23. package/dist/authoring/template-author.d.ts.map +1 -0
  24. package/dist/cli/index.d.ts +2 -0
  25. package/dist/cli/index.d.ts.map +1 -0
  26. package/dist/collectors/collector-interface.d.ts +7 -0
  27. package/dist/collectors/collector-interface.d.ts.map +1 -0
  28. package/dist/collectors/environment-collector.d.ts +12 -0
  29. package/dist/collectors/environment-collector.d.ts.map +1 -0
  30. package/dist/collectors/error-collector.d.ts +18 -0
  31. package/dist/collectors/error-collector.d.ts.map +1 -0
  32. package/dist/collectors/git-diff-collector.d.ts +20 -0
  33. package/dist/collectors/git-diff-collector.d.ts.map +1 -0
  34. package/dist/collectors/live-browser-collector.d.ts +45 -0
  35. package/dist/collectors/live-browser-collector.d.ts.map +1 -0
  36. package/dist/collectors/network-collector.d.ts +28 -0
  37. package/dist/collectors/network-collector.d.ts.map +1 -0
  38. package/dist/collectors/static-ast-collector.d.ts +32 -0
  39. package/dist/collectors/static-ast-collector.d.ts.map +1 -0
  40. package/dist/collectors/trace-collector.d.ts +12 -0
  41. package/dist/collectors/trace-collector.d.ts.map +1 -0
  42. package/dist/config/project-config.d.ts +33 -0
  43. package/dist/config/project-config.d.ts.map +1 -0
  44. package/dist/core/errors/engine-errors.d.ts +34 -0
  45. package/dist/core/errors/engine-errors.d.ts.map +1 -0
  46. package/dist/core/types/diagnostic-context.d.ts +151 -0
  47. package/dist/core/types/diagnostic-context.d.ts.map +1 -0
  48. package/dist/core/types/repair-evidence.d.ts +56 -0
  49. package/dist/core/types/repair-evidence.d.ts.map +1 -0
  50. package/dist/core/version.d.ts +13 -0
  51. package/dist/core/version.d.ts.map +1 -0
  52. package/dist/diagnostics/diagnostic-contract.d.ts +52 -0
  53. package/dist/diagnostics/diagnostic-contract.d.ts.map +1 -0
  54. package/dist/diagnostics/diagnostic-report.d.ts +11 -0
  55. package/dist/diagnostics/diagnostic-report.d.ts.map +1 -0
  56. package/dist/diagnostics/evidence-correlator.d.ts +22 -0
  57. package/dist/diagnostics/evidence-correlator.d.ts.map +1 -0
  58. package/dist/diagnostics/external-failure-evidence.d.ts +18 -0
  59. package/dist/diagnostics/external-failure-evidence.d.ts.map +1 -0
  60. package/dist/diagnostics/failure-category.d.ts +4 -0
  61. package/dist/diagnostics/failure-category.d.ts.map +1 -0
  62. package/dist/diagnostics/failure-classifier.d.ts +58 -0
  63. package/dist/diagnostics/failure-classifier.d.ts.map +1 -0
  64. package/dist/evaluation/evaluation-scorecard.d.ts +72 -0
  65. package/dist/evaluation/evaluation-scorecard.d.ts.map +1 -0
  66. package/dist/evaluation/repository-inspector.d.ts +21 -0
  67. package/dist/evaluation/repository-inspector.d.ts.map +1 -0
  68. package/dist/evaluation/repository-runner.d.ts +24 -0
  69. package/dist/evaluation/repository-runner.d.ts.map +1 -0
  70. package/dist/evidence/evidence-model.d.ts +88 -0
  71. package/dist/evidence/evidence-model.d.ts.map +1 -0
  72. package/dist/evidence/evidence-normalizer.d.ts +19 -0
  73. package/dist/evidence/evidence-normalizer.d.ts.map +1 -0
  74. package/dist/evidence/evidence-redactor.d.ts +37 -0
  75. package/dist/evidence/evidence-redactor.d.ts.map +1 -0
  76. package/dist/framework/config-adapter.d.ts +28 -0
  77. package/dist/framework/config-adapter.d.ts.map +1 -0
  78. package/dist/gate/index.d.ts +21 -0
  79. package/dist/gate/index.d.ts.map +1 -0
  80. package/dist/gate/oracle.d.ts +26 -0
  81. package/dist/gate/oracle.d.ts.map +1 -0
  82. package/dist/gate/quality.d.ts +27 -0
  83. package/dist/gate/quality.d.ts.map +1 -0
  84. package/dist/gate/safety.d.ts +28 -0
  85. package/dist/gate/safety.d.ts.map +1 -0
  86. package/dist/generator/architecture-generator.d.ts +55 -0
  87. package/dist/generator/architecture-generator.d.ts.map +1 -0
  88. package/dist/generator/assertion-quality-gate.d.ts +18 -0
  89. package/dist/generator/assertion-quality-gate.d.ts.map +1 -0
  90. package/dist/generator/candidate-writer.d.ts +34 -0
  91. package/dist/generator/candidate-writer.d.ts.map +1 -0
  92. package/dist/generator/test-generator.d.ts +26 -0
  93. package/dist/generator/test-generator.d.ts.map +1 -0
  94. package/dist/governance/audit-log.d.ts +23 -0
  95. package/dist/governance/audit-log.d.ts.map +1 -0
  96. package/dist/governance/governance-policy.d.ts +24 -0
  97. package/dist/governance/governance-policy.d.ts.map +1 -0
  98. package/dist/governance/team-dashboard.d.ts +51 -0
  99. package/dist/governance/team-dashboard.d.ts.map +1 -0
  100. package/dist/governance/workflow-audit.d.ts +13 -0
  101. package/dist/governance/workflow-audit.d.ts.map +1 -0
  102. package/dist/index.d.ts +90 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +20318 -0
  105. package/dist/integrations/ci-summary.d.ts +14 -0
  106. package/dist/integrations/ci-summary.d.ts.map +1 -0
  107. package/dist/integrations/playwright-report-adapter.d.ts +22 -0
  108. package/dist/integrations/playwright-report-adapter.d.ts.map +1 -0
  109. package/dist/integrations/quality-gate.d.ts +35 -0
  110. package/dist/integrations/quality-gate.d.ts.map +1 -0
  111. package/dist/integrations/sarif-report.d.ts +48 -0
  112. package/dist/integrations/sarif-report.d.ts.map +1 -0
  113. package/dist/intelligence/autonomous-repair-workflow.d.ts +31 -0
  114. package/dist/intelligence/autonomous-repair-workflow.d.ts.map +1 -0
  115. package/dist/intelligence/business-intent.d.ts +58 -0
  116. package/dist/intelligence/business-intent.d.ts.map +1 -0
  117. package/dist/intelligence/evidence-bundle.d.ts +364 -0
  118. package/dist/intelligence/evidence-bundle.d.ts.map +1 -0
  119. package/dist/intelligence/failure-clustering.d.ts +38 -0
  120. package/dist/intelligence/failure-clustering.d.ts.map +1 -0
  121. package/dist/intelligence/generation-agent.d.ts +120 -0
  122. package/dist/intelligence/generation-agent.d.ts.map +1 -0
  123. package/dist/intelligence/generation-verifier.d.ts +151 -0
  124. package/dist/intelligence/generation-verifier.d.ts.map +1 -0
  125. package/dist/intelligence/llm-proposal.d.ts +377 -0
  126. package/dist/intelligence/llm-proposal.d.ts.map +1 -0
  127. package/dist/intelligence/locator-disambiguation-engine.d.ts +38 -0
  128. package/dist/intelligence/locator-disambiguation-engine.d.ts.map +1 -0
  129. package/dist/intelligence/model-contract.d.ts +86 -0
  130. package/dist/intelligence/model-contract.d.ts.map +1 -0
  131. package/dist/intelligence/model-provider.d.ts +75 -0
  132. package/dist/intelligence/model-provider.d.ts.map +1 -0
  133. package/dist/intelligence/project-intelligence.d.ts +22 -0
  134. package/dist/intelligence/project-intelligence.d.ts.map +1 -0
  135. package/dist/intelligence/repair-agent.d.ts +46 -0
  136. package/dist/intelligence/repair-agent.d.ts.map +1 -0
  137. package/dist/intelligence/repository-profile.d.ts +131 -0
  138. package/dist/intelligence/repository-profile.d.ts.map +1 -0
  139. package/dist/intelligence/suite-intelligence.d.ts +59 -0
  140. package/dist/intelligence/suite-intelligence.d.ts.map +1 -0
  141. package/dist/intelligence/test-intelligence.d.ts +44 -0
  142. package/dist/intelligence/test-intelligence.d.ts.map +1 -0
  143. package/dist/intelligence/trace-proposal-workflow.d.ts +30 -0
  144. package/dist/intelligence/trace-proposal-workflow.d.ts.map +1 -0
  145. package/dist/intelligence/verified-llm-repair-workflow.d.ts +21 -0
  146. package/dist/intelligence/verified-llm-repair-workflow.d.ts.map +1 -0
  147. package/dist/intelligence/workflow-planner.d.ts +278 -0
  148. package/dist/intelligence/workflow-planner.d.ts.map +1 -0
  149. package/dist/mcp/server.d.ts +32 -0
  150. package/dist/mcp/server.d.ts.map +1 -0
  151. package/dist/memory/stability-ledger.d.ts +46 -0
  152. package/dist/memory/stability-ledger.d.ts.map +1 -0
  153. package/dist/perception/app-model.d.ts +55 -0
  154. package/dist/perception/app-model.d.ts.map +1 -0
  155. package/dist/perception/crawler.d.ts +18 -0
  156. package/dist/perception/crawler.d.ts.map +1 -0
  157. package/dist/perception/index.d.ts +3 -0
  158. package/dist/perception/index.d.ts.map +1 -0
  159. package/dist/repair/approval-service.d.ts +139 -0
  160. package/dist/repair/approval-service.d.ts.map +1 -0
  161. package/dist/repair/assertion-hasher.d.ts +62 -0
  162. package/dist/repair/assertion-hasher.d.ts.map +1 -0
  163. package/dist/repair/ast-patcher.d.ts +36 -0
  164. package/dist/repair/ast-patcher.d.ts.map +1 -0
  165. package/dist/repair/browser-operation-executor.d.ts +27 -0
  166. package/dist/repair/browser-operation-executor.d.ts.map +1 -0
  167. package/dist/repair/diff-allowlist.d.ts +74 -0
  168. package/dist/repair/diff-allowlist.d.ts.map +1 -0
  169. package/dist/repair/intent-validator.d.ts +157 -0
  170. package/dist/repair/intent-validator.d.ts.map +1 -0
  171. package/dist/repair/repair-operations.d.ts +40 -0
  172. package/dist/repair/repair-operations.d.ts.map +1 -0
  173. package/dist/repair/repair-planner.d.ts +98 -0
  174. package/dist/repair/repair-planner.d.ts.map +1 -0
  175. package/dist/repair/repair-workflow.d.ts +42 -0
  176. package/dist/repair/repair-workflow.d.ts.map +1 -0
  177. package/dist/repair/safe-operation-compiler.d.ts +15 -0
  178. package/dist/repair/safe-operation-compiler.d.ts.map +1 -0
  179. package/dist/repair/source-mapper.d.ts +19 -0
  180. package/dist/repair/source-mapper.d.ts.map +1 -0
  181. package/dist/repair/statement-patcher.d.ts +75 -0
  182. package/dist/repair/statement-patcher.d.ts.map +1 -0
  183. package/dist/repair/verification-gates.d.ts +25 -0
  184. package/dist/repair/verification-gates.d.ts.map +1 -0
  185. package/dist/repair/workflow-plan.d.ts +35 -0
  186. package/dist/repair/workflow-plan.d.ts.map +1 -0
  187. package/dist/repair/workspace-promoter.d.ts +43 -0
  188. package/dist/repair/workspace-promoter.d.ts.map +1 -0
  189. package/dist/reproduce/diagnostic-rerunner.d.ts +40 -0
  190. package/dist/reproduce/diagnostic-rerunner.d.ts.map +1 -0
  191. package/dist/reproduce/direct-browser-investigator.d.ts +41 -0
  192. package/dist/reproduce/direct-browser-investigator.d.ts.map +1 -0
  193. package/dist/reproduce/interactive-workflow-runner.d.ts +43 -0
  194. package/dist/reproduce/interactive-workflow-runner.d.ts.map +1 -0
  195. package/dist/sandbox/dependency-strategy.d.ts +45 -0
  196. package/dist/sandbox/dependency-strategy.d.ts.map +1 -0
  197. package/dist/sandbox/execution-runner.d.ts +81 -0
  198. package/dist/sandbox/execution-runner.d.ts.map +1 -0
  199. package/dist/sandbox/worktree-manager.d.ts +51 -0
  200. package/dist/sandbox/worktree-manager.d.ts.map +1 -0
  201. package/dist/selector/abstention-policy.d.ts +34 -0
  202. package/dist/selector/abstention-policy.d.ts.map +1 -0
  203. package/dist/selector/candidate-extractor.d.ts +71 -0
  204. package/dist/selector/candidate-extractor.d.ts.map +1 -0
  205. package/dist/selector/live-locator-verifier.d.ts +28 -0
  206. package/dist/selector/live-locator-verifier.d.ts.map +1 -0
  207. package/dist/selector/repair-candidate-ranker.d.ts +10 -0
  208. package/dist/selector/repair-candidate-ranker.d.ts.map +1 -0
  209. package/dist/selector/selector-scorer.d.ts +43 -0
  210. package/dist/selector/selector-scorer.d.ts.map +1 -0
  211. package/dist/trace/adapters/adapter-registry.d.ts +18 -0
  212. package/dist/trace/adapters/adapter-registry.d.ts.map +1 -0
  213. package/dist/trace/adapters/trace-adapter.d.ts +21 -0
  214. package/dist/trace/adapters/trace-adapter.d.ts.map +1 -0
  215. package/dist/trace/adapters/unknown-adapter.d.ts +10 -0
  216. package/dist/trace/adapters/unknown-adapter.d.ts.map +1 -0
  217. package/dist/trace/adapters/v10-adapter.d.ts +10 -0
  218. package/dist/trace/adapters/v10-adapter.d.ts.map +1 -0
  219. package/dist/trace/adapters/v4-adapter.d.ts +11 -0
  220. package/dist/trace/adapters/v4-adapter.d.ts.map +1 -0
  221. package/dist/trace/adapters/v8-adapter.d.ts +10 -0
  222. package/dist/trace/adapters/v8-adapter.d.ts.map +1 -0
  223. package/dist/trace/adapters/v9-adapter.d.ts +10 -0
  224. package/dist/trace/adapters/v9-adapter.d.ts.map +1 -0
  225. package/dist/trace/archive-reader.d.ts +44 -0
  226. package/dist/trace/archive-reader.d.ts.map +1 -0
  227. package/dist/trace/snapshot-resolver.d.ts +55 -0
  228. package/dist/trace/snapshot-resolver.d.ts.map +1 -0
  229. package/dist/trace/trace-parser.d.ts +50 -0
  230. package/dist/trace/trace-parser.d.ts.map +1 -0
  231. package/dist/trace/version-detector.d.ts +20 -0
  232. package/dist/trace/version-detector.d.ts.map +1 -0
  233. package/package.json +76 -6
  234. package/skills/README.md +20 -0
  235. package/skills/pie-failure-investigation/SKILL.md +16 -0
  236. package/skills/pie-quality-engineer/SKILL.md +66 -0
  237. package/skills/pie-release-readiness/SKILL.md +22 -0
  238. package/skills/pie-repair-review/SKILL.md +21 -0
  239. package/skills/pie-trace-to-repair/SKILL.md +35 -0
  240. package/src/authoring/author.ts +81 -0
  241. package/src/authoring/generation-contract.ts +283 -0
  242. package/src/authoring/hybrid-author.ts +115 -0
  243. package/src/authoring/index.ts +7 -0
  244. package/src/authoring/llm-author.ts +282 -0
  245. package/src/authoring/naming/index.ts +4 -0
  246. package/src/authoring/naming/name-plan.ts +28 -0
  247. package/src/authoring/naming/name-planner.ts +339 -0
  248. package/src/authoring/naming/naming-linter.ts +292 -0
  249. package/src/authoring/template-author.ts +39 -0
  250. package/src/cli/index.ts +1172 -0
  251. package/src/collectors/collector-interface.ts +8 -0
  252. package/src/collectors/environment-collector.ts +103 -0
  253. package/src/collectors/error-collector.ts +177 -0
  254. package/src/collectors/git-diff-collector.ts +190 -0
  255. package/src/collectors/live-browser-collector.ts +412 -0
  256. package/src/collectors/network-collector.ts +90 -0
  257. package/src/collectors/static-ast-collector.ts +226 -0
  258. package/src/collectors/trace-collector.ts +66 -0
  259. package/src/config/project-config.ts +114 -0
  260. package/src/core/errors/engine-errors.ts +90 -0
  261. package/src/core/types/diagnostic-context.ts +94 -0
  262. package/src/core/types/repair-evidence.ts +45 -0
  263. package/src/core/version.ts +25 -0
  264. package/src/diagnostics/diagnostic-contract.ts +79 -0
  265. package/src/diagnostics/diagnostic-report.ts +204 -0
  266. package/src/diagnostics/evidence-correlator.ts +117 -0
  267. package/src/diagnostics/external-failure-evidence.ts +72 -0
  268. package/src/diagnostics/failure-category.ts +40 -0
  269. package/src/diagnostics/failure-classifier.ts +701 -0
  270. package/src/evaluation/evaluation-scorecard.ts +198 -0
  271. package/src/evaluation/repository-inspector.ts +143 -0
  272. package/src/evaluation/repository-runner.ts +197 -0
  273. package/src/evidence/evidence-model.ts +76 -0
  274. package/src/evidence/evidence-normalizer.ts +322 -0
  275. package/src/evidence/evidence-redactor.ts +218 -0
  276. package/src/framework/config-adapter.ts +131 -0
  277. package/src/gate/index.ts +43 -0
  278. package/src/gate/oracle.ts +69 -0
  279. package/src/gate/quality.ts +101 -0
  280. package/src/gate/safety.ts +94 -0
  281. package/src/generator/architecture-generator.ts +582 -0
  282. package/src/generator/assertion-quality-gate.ts +88 -0
  283. package/src/generator/candidate-writer.ts +288 -0
  284. package/src/generator/test-generator.ts +52 -0
  285. package/src/governance/audit-log.ts +115 -0
  286. package/src/governance/governance-policy.ts +72 -0
  287. package/src/governance/team-dashboard.ts +189 -0
  288. package/src/governance/workflow-audit.ts +72 -0
  289. package/src/index.ts +107 -0
  290. package/src/integrations/ci-summary.ts +37 -0
  291. package/src/integrations/playwright-report-adapter.ts +173 -0
  292. package/src/integrations/quality-gate.ts +95 -0
  293. package/src/integrations/sarif-report.ts +110 -0
  294. package/src/intelligence/autonomous-repair-workflow.ts +139 -0
  295. package/src/intelligence/business-intent.ts +163 -0
  296. package/src/intelligence/evidence-bundle.ts +300 -0
  297. package/src/intelligence/failure-clustering.ts +134 -0
  298. package/src/intelligence/generation-agent.ts +561 -0
  299. package/src/intelligence/generation-verifier.ts +1115 -0
  300. package/src/intelligence/llm-proposal.ts +519 -0
  301. package/src/intelligence/locator-disambiguation-engine.ts +331 -0
  302. package/src/intelligence/model-contract.ts +205 -0
  303. package/src/intelligence/model-provider.ts +348 -0
  304. package/src/intelligence/project-intelligence.ts +140 -0
  305. package/src/intelligence/repair-agent.ts +297 -0
  306. package/src/intelligence/repository-profile.ts +796 -0
  307. package/src/intelligence/suite-intelligence.ts +305 -0
  308. package/src/intelligence/test-intelligence.ts +136 -0
  309. package/src/intelligence/trace-proposal-workflow.ts +318 -0
  310. package/src/intelligence/verified-llm-repair-workflow.ts +48 -0
  311. package/src/intelligence/workflow-planner.ts +966 -0
  312. package/src/mcp/server.ts +970 -0
  313. package/src/memory/stability-ledger.ts +243 -0
  314. package/src/perception/app-model.ts +32 -0
  315. package/src/perception/crawler.ts +263 -0
  316. package/src/perception/index.ts +3 -0
  317. package/src/repair/approval-service.ts +541 -0
  318. package/src/repair/assertion-hasher.ts +386 -0
  319. package/src/repair/ast-patcher.ts +223 -0
  320. package/src/repair/browser-operation-executor.ts +263 -0
  321. package/src/repair/diff-allowlist.ts +612 -0
  322. package/src/repair/intent-validator.ts +761 -0
  323. package/src/repair/repair-operations.ts +65 -0
  324. package/src/repair/repair-planner.ts +467 -0
  325. package/src/repair/repair-workflow.ts +241 -0
  326. package/src/repair/safe-operation-compiler.ts +68 -0
  327. package/src/repair/source-mapper.ts +156 -0
  328. package/src/repair/statement-patcher.ts +544 -0
  329. package/src/repair/verification-gates.ts +46 -0
  330. package/src/repair/workflow-plan.ts +59 -0
  331. package/src/repair/workspace-promoter.ts +313 -0
  332. package/src/reproduce/diagnostic-rerunner.ts +287 -0
  333. package/src/reproduce/direct-browser-investigator.ts +208 -0
  334. package/src/reproduce/interactive-workflow-runner.ts +828 -0
  335. package/src/sandbox/dependency-strategy.ts +215 -0
  336. package/src/sandbox/execution-runner.ts +408 -0
  337. package/src/sandbox/worktree-manager.ts +287 -0
  338. package/src/selector/abstention-policy.ts +175 -0
  339. package/src/selector/candidate-extractor.ts +343 -0
  340. package/src/selector/live-locator-verifier.ts +139 -0
  341. package/src/selector/repair-candidate-ranker.ts +92 -0
  342. package/src/selector/selector-scorer.ts +344 -0
  343. package/src/trace/adapters/adapter-registry.ts +49 -0
  344. package/src/trace/adapters/trace-adapter.ts +28 -0
  345. package/src/trace/adapters/unknown-adapter.ts +50 -0
  346. package/src/trace/adapters/v10-adapter.ts +39 -0
  347. package/src/trace/adapters/v4-adapter.ts +31 -0
  348. package/src/trace/adapters/v8-adapter.ts +42 -0
  349. package/src/trace/adapters/v9-adapter.ts +39 -0
  350. package/src/trace/archive-reader.ts +246 -0
  351. package/src/trace/snapshot-resolver.ts +308 -0
  352. package/src/trace/trace-parser.ts +467 -0
  353. package/src/trace/version-detector.ts +81 -0
@@ -0,0 +1,14 @@
1
+ export interface CiFailureSummary {
2
+ status: 'PASS' | 'FAIL' | 'ABSTAIN' | 'BLOCKED';
3
+ repository?: string;
4
+ testIdentity?: string;
5
+ category?: string;
6
+ confidence?: number;
7
+ reason: string;
8
+ artifacts: string[];
9
+ repairProposalAvailable: boolean;
10
+ verifiedRepair: boolean;
11
+ }
12
+ export declare function renderCiSummary(summary: CiFailureSummary): string;
13
+ export declare function renderGitHubAnnotation(summary: CiFailureSummary): string;
14
+ //# sourceMappingURL=ci-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-summary.d.ts","sourceRoot":"","sources":["../../src/integrations/ci-summary.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAkBjE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAGxE"}
@@ -0,0 +1,22 @@
1
+ import { clusterFailures, FailureObservation } from '../intelligence/failure-clustering.js';
2
+ import { analyzeTestStability, TestRunObservation } from '../intelligence/suite-intelligence.js';
3
+ import { QualityGateReport } from './quality-gate.js';
4
+ export interface PlaywrightReportAdapterOptions {
5
+ repository?: string | undefined;
6
+ runId?: string | undefined;
7
+ timestamp?: number | undefined;
8
+ }
9
+ export interface ParsedPlaywrightReport {
10
+ runs: TestRunObservation[];
11
+ failures: FailureObservation[];
12
+ }
13
+ export interface CiEvidenceReport extends ParsedPlaywrightReport {
14
+ clusters: ReturnType<typeof clusterFailures>;
15
+ stability: ReturnType<typeof analyzeTestStability>;
16
+ qualityGate: QualityGateReport;
17
+ markdown: string;
18
+ annotations: string[];
19
+ }
20
+ export declare function parsePlaywrightJsonReport(report: unknown, options?: PlaywrightReportAdapterOptions): ParsedPlaywrightReport;
21
+ export declare function buildCiEvidenceReport(report: unknown, options?: PlaywrightReportAdapterOptions): CiEvidenceReport;
22
+ //# sourceMappingURL=playwright-report-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-report-adapter.d.ts","sourceRoot":"","sources":["../../src/integrations/playwright-report-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAuB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC7C,SAAS,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACnD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA0ED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,8BAAmC,GAAG,sBAAsB,CA+C/H;AAmBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,8BAAmC,GAAG,gBAAgB,CAWrH"}
@@ -0,0 +1,35 @@
1
+ import { FailureCluster } from '../intelligence/failure-clustering.js';
2
+ import { TestStabilitySummary } from '../intelligence/suite-intelligence.js';
3
+ export interface QualityGateInput {
4
+ clusters?: FailureCluster[] | undefined;
5
+ stability?: TestStabilitySummary[] | undefined;
6
+ blockedCount?: number | undefined;
7
+ requiredOracleUnavailable?: number | undefined;
8
+ verifiedRepairs?: number | undefined;
9
+ failedRepairs?: number | undefined;
10
+ }
11
+ /**
12
+ * Optional team policy. When omitted, evaluateQualityGate preserves the
13
+ * original evidence-driven behavior used by local diagnosis and CI reports.
14
+ */
15
+ export interface QualityGatePolicy {
16
+ name?: string | undefined;
17
+ maxFlakyTests?: number | undefined;
18
+ maxHighSeverityClusters?: number | undefined;
19
+ maxBlockedResults?: number | undefined;
20
+ failOnAbstain?: boolean | undefined;
21
+ }
22
+ export interface QualityGateReport {
23
+ status: 'PASS' | 'FAIL' | 'ABSTAIN' | 'BLOCKED';
24
+ reasons: string[];
25
+ criticalClusters: number;
26
+ highSeverityClusters: number;
27
+ flakyTests: number;
28
+ blockedCount: number;
29
+ requiredOracleUnavailable: number;
30
+ verifiedRepairs: number;
31
+ failedRepairs: number;
32
+ policyViolations: string[];
33
+ }
34
+ export declare function evaluateQualityGate(input: QualityGateInput, policy?: QualityGatePolicy): QualityGateReport;
35
+ //# sourceMappingURL=quality-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-gate.d.ts","sourceRoot":"","sources":["../../src/integrations/quality-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAE,iBAAsB,GAAG,iBAAiB,CAyD9G"}
@@ -0,0 +1,48 @@
1
+ import type { CiEvidenceReport } from './playwright-report-adapter.js';
2
+ export interface SarifReport {
3
+ version: '2.1.0';
4
+ $schema: 'https://json.schemastore.org/sarif-2.1.0.json';
5
+ runs: Array<{
6
+ tool: {
7
+ driver: {
8
+ name: string;
9
+ version: string;
10
+ informationUri: string;
11
+ rules: SarifRule[];
12
+ };
13
+ };
14
+ results: SarifResult[];
15
+ }>;
16
+ }
17
+ interface SarifRule {
18
+ id: string;
19
+ name: string;
20
+ shortDescription: {
21
+ text: string;
22
+ };
23
+ defaultConfiguration: {
24
+ level: 'error' | 'warning' | 'note';
25
+ };
26
+ }
27
+ interface SarifResult {
28
+ ruleId: string;
29
+ level: 'error' | 'warning' | 'note';
30
+ message: {
31
+ text: string;
32
+ };
33
+ properties: Record<string, string | number | boolean>;
34
+ locations?: Array<{
35
+ physicalLocation: {
36
+ artifactLocation: {
37
+ uri: string;
38
+ };
39
+ region?: {
40
+ startLine: number;
41
+ };
42
+ };
43
+ }>;
44
+ }
45
+ /** Converts normalized PIE CI evidence into a standard SARIF 2.1.0 artifact. */
46
+ export declare function buildSarifReport(report: CiEvidenceReport, toolVersion?: string): SarifReport;
47
+ export {};
48
+ //# sourceMappingURL=sarif-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sarif-report.d.ts","sourceRoot":"","sources":["../../src/integrations/sarif-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,+CAA+C,CAAC;IACzD,IAAI,EAAE,KAAK,CAAC;QACV,IAAI,EAAE;YAAE,MAAM,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,cAAc,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,SAAS,EAAE,CAAA;aAAE,CAAA;SAAE,CAAC;QAChG,OAAO,EAAE,WAAW,EAAE,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,oBAAoB,EAAE;QAAE,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,gBAAgB,EAAE;YAAE,gBAAgB,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,MAAM,CAAC,EAAE;gBAAE,SAAS,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAChH;AAiBD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,SAAU,GAAG,WAAW,CAmE7F"}
@@ -0,0 +1,31 @@
1
+ import { LlmRepairProposal } from './llm-proposal.js';
2
+ import { TraceProposalWorkflowInput, TraceProposalWorkflowResult } from './trace-proposal-workflow.js';
3
+ import { RepairWorkflowResult } from '../repair/repair-workflow.js';
4
+ import { PromotionResult } from '../repair/workspace-promoter.js';
5
+ export interface AutonomousRepairWorkflowInput extends TraceProposalWorkflowInput {
6
+ execute?: boolean | undefined;
7
+ testFilePath?: string | undefined;
8
+ pomFilePath?: string | undefined;
9
+ className?: string | undefined;
10
+ memberName?: string | undefined;
11
+ configPath?: string | undefined;
12
+ worktreeId?: string | undefined;
13
+ autoPromote?: boolean | undefined;
14
+ }
15
+ export type AutonomousRepairStatus = 'ABSTAINED' | 'MODEL_NOT_CONFIGURED' | 'PROPOSAL_REJECTED' | 'PROPOSAL_READY' | 'INPUT_REQUIRED' | 'VERIFIED_READY_FOR_APPROVAL' | 'PROMOTED' | 'VERIFICATION_FAILED';
16
+ export interface AutonomousRepairWorkflowResult {
17
+ status: AutonomousRepairStatus;
18
+ proposalRun: TraceProposalWorkflowResult;
19
+ proposal?: LlmRepairProposal | undefined;
20
+ verification?: RepairWorkflowResult | undefined;
21
+ promotion?: PromotionResult | undefined;
22
+ reason?: string | undefined;
23
+ }
24
+ /**
25
+ * Connects PIE's bounded reasoning loop to its existing deterministic repair
26
+ * verifier. The model can propose one allowlisted operation, but only the
27
+ * deterministic workflow can apply it in a disposable worktree and decide
28
+ * whether it is eligible for approval.
29
+ */
30
+ export declare function runAutonomousRepairWorkflow(input: AutonomousRepairWorkflowInput): Promise<AutonomousRepairWorkflowResult>;
31
+ //# sourceMappingURL=autonomous-repair-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autonomous-repair-workflow.d.ts","sourceRoot":"","sources":["../../src/intelligence/autonomous-repair-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAA4B,MAAM,8BAA8B,CAAC;AAEjI,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAqB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAC/E,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,GAC9B,WAAW,GACX,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,6BAA6B,GAC7B,UAAU,GACV,qBAAqB,CAAC;AAE1B,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CA6FzC"}
@@ -0,0 +1,58 @@
1
+ import { BusinessOracleStatus } from '../core/types/repair-evidence.js';
2
+ export interface BusinessIntent {
3
+ id: string;
4
+ title?: string | undefined;
5
+ actions: string[];
6
+ entities: string[];
7
+ expectedOutcomes: string[];
8
+ assertions: string[];
9
+ risk: 'critical' | 'high' | 'medium' | 'low' | 'unknown';
10
+ evidenceSources: string[];
11
+ }
12
+ export interface BusinessOracleContext {
13
+ intent: BusinessIntent;
14
+ originalAssertions?: string[] | undefined;
15
+ currentAssertions?: string[] | undefined;
16
+ observedStates?: Record<string, unknown> | undefined;
17
+ executionPassed: boolean;
18
+ }
19
+ export interface BusinessOracleResult {
20
+ name: string;
21
+ status: BusinessOracleStatus;
22
+ reason: string;
23
+ evidence: string[];
24
+ }
25
+ export interface BusinessOracle {
26
+ name: string;
27
+ evaluate(context: BusinessOracleContext): BusinessOracleResult;
28
+ }
29
+ export interface BuiltInOracleEvaluation {
30
+ status: BusinessOracleStatus;
31
+ results: BusinessOracleResult[];
32
+ }
33
+ /** Extracts a conservative intent model from test titles and source text. */
34
+ export declare function extractBusinessIntent(input: {
35
+ id: string;
36
+ title?: string;
37
+ sourceText: string;
38
+ sourcePath?: string;
39
+ }): BusinessIntent;
40
+ export declare class BusinessOracleRegistry {
41
+ private readonly oracles;
42
+ register(oracle: BusinessOracle): void;
43
+ evaluate(context: BusinessOracleContext): BusinessOracleResult[];
44
+ }
45
+ export declare const AssertionPreservationOracle: BusinessOracle;
46
+ export declare const ExecutionOracle: BusinessOracle;
47
+ /**
48
+ * Evaluates the evidence PIE can prove locally for an isolated repair.
49
+ * This deliberately does not claim domain truth such as whether a payment
50
+ * was actually captured; domain-specific adapters can add that later.
51
+ */
52
+ export declare function evaluateBuiltInBusinessOracles(input: {
53
+ intent: BusinessIntent;
54
+ originalSourceText?: string | undefined;
55
+ currentSourceText?: string | undefined;
56
+ executionPassed: boolean;
57
+ }): BuiltInOracleEvaluation;
58
+ //# sourceMappingURL=business-intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-intent.d.ts","sourceRoot":"","sources":["../../src/intelligence/business-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IACzD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACrD,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;CAChE;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAiBD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAuBpI;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEzC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAK5C;IAEM,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,EAAE,CAEtE;CACF;AAED,eAAO,MAAM,2BAA2B,EAAE,cAqBzC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAU7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,uBAAuB,CAuB1B"}
@@ -0,0 +1,364 @@
1
+ import { z } from 'zod';
2
+ import { DiagnosticContext, FailureCategory } from '../core/types/diagnostic-context.js';
3
+ import { EvidenceBundle } from './llm-proposal.js';
4
+ import type { BrownfieldRepositoryGraph } from './repository-profile.js';
5
+ export interface EvidenceBundleBuildInput {
6
+ executionId: string;
7
+ testIdentity: string;
8
+ context: DiagnosticContext;
9
+ failureCategory?: FailureCategory | string | undefined;
10
+ sourceContext?: EvidenceBundle['sourceContext'] | undefined;
11
+ artifacts?: EvidenceBundle['artifacts'] | undefined;
12
+ redactionComplete: boolean;
13
+ limitations?: string[] | undefined;
14
+ }
15
+ /**
16
+ * Builds the only payload that may cross the model-provider boundary. The
17
+ * builder carries references to artifacts rather than reading or uploading
18
+ * trace archives, and requires the caller to explicitly attest redaction.
19
+ */
20
+ export declare function buildEvidenceBundle(input: EvidenceBundleBuildInput): EvidenceBundle;
21
+ export declare const VerificationLayerStatusSchema: z.ZodEnum<{
22
+ FAIL: "FAIL";
23
+ NOT_APPLICABLE: "NOT_APPLICABLE";
24
+ NOT_VERIFIED: "NOT_VERIFIED";
25
+ PASS: "PASS";
26
+ }>;
27
+ export type VerificationLayerStatus = z.infer<typeof VerificationLayerStatusSchema>;
28
+ export declare const ExplorationFindingCategorySchema: z.ZodEnum<{
29
+ AUTOMATION_GAP: "AUTOMATION_GAP";
30
+ NOT_VERIFIED: "NOT_VERIFIED";
31
+ OBSERVED_BEHAVIOR: "OBSERVED_BEHAVIOR";
32
+ RUNTIME_ERROR: "RUNTIME_ERROR";
33
+ SPEC_VIOLATION: "SPEC_VIOLATION";
34
+ }>;
35
+ export type ExplorationFindingCategory = z.infer<typeof ExplorationFindingCategorySchema>;
36
+ export declare const VerifiedLocatorEvidenceSchema: z.ZodObject<{
37
+ id: z.ZodString;
38
+ route: z.ZodString;
39
+ strategy: z.ZodEnum<{
40
+ css: "css";
41
+ frame: "frame";
42
+ label: "label";
43
+ placeholder: "placeholder";
44
+ role: "role";
45
+ testId: "testId";
46
+ text: "text";
47
+ }>;
48
+ expression: z.ZodString;
49
+ role: z.ZodOptional<z.ZodString>;
50
+ accessibleName: z.ZodOptional<z.ZodString>;
51
+ label: z.ZodOptional<z.ZodString>;
52
+ placeholder: z.ZodOptional<z.ZodString>;
53
+ testId: z.ZodOptional<z.ZodString>;
54
+ frameSelector: z.ZodOptional<z.ZodString>;
55
+ matchCount: z.ZodNumber;
56
+ visible: z.ZodBoolean;
57
+ enabled: z.ZodBoolean;
58
+ confidence: z.ZodNumber;
59
+ timestamp: z.ZodString;
60
+ }, z.core.$strip>;
61
+ export type VerifiedLocatorEvidence = z.infer<typeof VerifiedLocatorEvidenceSchema>;
62
+ export declare const ExplorationNetworkRecordSchema: z.ZodObject<{
63
+ id: z.ZodString;
64
+ scenarioId: z.ZodOptional<z.ZodString>;
65
+ method: z.ZodString;
66
+ url: z.ZodString;
67
+ status: z.ZodNumber;
68
+ durationMs: z.ZodOptional<z.ZodNumber>;
69
+ isError: z.ZodBoolean;
70
+ resourceType: z.ZodOptional<z.ZodString>;
71
+ errorText: z.ZodOptional<z.ZodString>;
72
+ timestamp: z.ZodString;
73
+ }, z.core.$strip>;
74
+ export type ExplorationNetworkRecord = z.infer<typeof ExplorationNetworkRecordSchema>;
75
+ export declare const ExplorationActionRecordSchema: z.ZodObject<{
76
+ id: z.ZodString;
77
+ scenarioId: z.ZodString;
78
+ stepIndex: z.ZodNumber;
79
+ action: z.ZodString;
80
+ targetLocatorId: z.ZodOptional<z.ZodString>;
81
+ targetExpression: z.ZodOptional<z.ZodString>;
82
+ valueRedacted: z.ZodOptional<z.ZodString>;
83
+ routeBefore: z.ZodString;
84
+ routeAfter: z.ZodString;
85
+ domBeforeSummary: z.ZodString;
86
+ domAfterSummary: z.ZodString;
87
+ domDiff: z.ZodDefault<z.ZodArray<z.ZodString>>;
88
+ networkIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
89
+ consoleErrors: z.ZodDefault<z.ZodArray<z.ZodString>>;
90
+ screenshotPath: z.ZodOptional<z.ZodString>;
91
+ status: z.ZodEnum<{
92
+ BLOCKED_BY_POLICY: "BLOCKED_BY_POLICY";
93
+ EXECUTED: "EXECUTED";
94
+ FAILED: "FAILED";
95
+ SKIPPED: "SKIPPED";
96
+ }>;
97
+ timestamp: z.ZodString;
98
+ }, z.core.$strip>;
99
+ export type ExplorationActionRecord = z.infer<typeof ExplorationActionRecordSchema>;
100
+ export declare const ExplorationFindingSchema: z.ZodObject<{
101
+ id: z.ZodString;
102
+ category: z.ZodEnum<{
103
+ AUTOMATION_GAP: "AUTOMATION_GAP";
104
+ NOT_VERIFIED: "NOT_VERIFIED";
105
+ OBSERVED_BEHAVIOR: "OBSERVED_BEHAVIOR";
106
+ RUNTIME_ERROR: "RUNTIME_ERROR";
107
+ SPEC_VIOLATION: "SPEC_VIOLATION";
108
+ }>;
109
+ scenarioId: z.ZodOptional<z.ZodString>;
110
+ evidenceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
111
+ expectedSource: z.ZodOptional<z.ZodString>;
112
+ expectedBehavior: z.ZodOptional<z.ZodString>;
113
+ actualBehavior: z.ZodString;
114
+ confidence: z.ZodNumber;
115
+ severity: z.ZodDefault<z.ZodEnum<{
116
+ critical: "critical";
117
+ high: "high";
118
+ info: "info";
119
+ low: "low";
120
+ medium: "medium";
121
+ }>>;
122
+ }, z.core.$strip>;
123
+ export type ExplorationFinding = z.infer<typeof ExplorationFindingSchema>;
124
+ export declare const ScenarioExplorationStatusSchema: z.ZodObject<{
125
+ scenarioId: z.ZodString;
126
+ status: z.ZodEnum<{
127
+ BLOCKED: "BLOCKED";
128
+ DEFECT_DETECTED: "DEFECT_DETECTED";
129
+ NOT_VERIFIED: "NOT_VERIFIED";
130
+ PARTIAL: "PARTIAL";
131
+ VERIFIED: "VERIFIED";
132
+ }>;
133
+ verificationLayers: z.ZodObject<{
134
+ UI: z.ZodEnum<{
135
+ FAIL: "FAIL";
136
+ NOT_APPLICABLE: "NOT_APPLICABLE";
137
+ NOT_VERIFIED: "NOT_VERIFIED";
138
+ PASS: "PASS";
139
+ }>;
140
+ API: z.ZodEnum<{
141
+ FAIL: "FAIL";
142
+ NOT_APPLICABLE: "NOT_APPLICABLE";
143
+ NOT_VERIFIED: "NOT_VERIFIED";
144
+ PASS: "PASS";
145
+ }>;
146
+ CLIENT_RELOAD: z.ZodEnum<{
147
+ FAIL: "FAIL";
148
+ NOT_APPLICABLE: "NOT_APPLICABLE";
149
+ NOT_VERIFIED: "NOT_VERIFIED";
150
+ PASS: "PASS";
151
+ }>;
152
+ DB: z.ZodEnum<{
153
+ FAIL: "FAIL";
154
+ NOT_APPLICABLE: "NOT_APPLICABLE";
155
+ NOT_VERIFIED: "NOT_VERIFIED";
156
+ PASS: "PASS";
157
+ }>;
158
+ }, z.core.$strip>;
159
+ reason: z.ZodOptional<z.ZodString>;
160
+ evidenceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
161
+ }, z.core.$strip>;
162
+ export type ScenarioExplorationStatus = z.infer<typeof ScenarioExplorationStatusSchema>;
163
+ export declare const ExplorationRouteObservationSchema: z.ZodObject<{
164
+ route: z.ZodString;
165
+ title: z.ZodOptional<z.ZodString>;
166
+ discoveredAt: z.ZodString;
167
+ locatorIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
168
+ }, z.core.$strip>;
169
+ export declare const EvidenceIndexEntrySchema: z.ZodObject<{
170
+ id: z.ZodString;
171
+ kind: z.ZodString;
172
+ source: z.ZodString;
173
+ timestamp: z.ZodString;
174
+ confidence: z.ZodNumber;
175
+ scenarioIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
176
+ description: z.ZodString;
177
+ }, z.core.$strip>;
178
+ export declare const ExplorationContextBundleSchema: z.ZodObject<{
179
+ bundleVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
180
+ bundleId: z.ZodString;
181
+ createdAt: z.ZodString;
182
+ topology: z.ZodEnum<{
183
+ monorepo: "monorepo";
184
+ "source-only": "source-only";
185
+ standalone: "standalone";
186
+ }>;
187
+ runtimeVerified: z.ZodBoolean;
188
+ baseUrl: z.ZodOptional<z.ZodString>;
189
+ authentication: z.ZodObject<{
190
+ configured: z.ZodBoolean;
191
+ method: z.ZodEnum<{
192
+ "existing-fixture": "existing-fixture";
193
+ "login-flow": "login-flow";
194
+ none: "none";
195
+ "storage-state": "storage-state";
196
+ }>;
197
+ authenticated: z.ZodBoolean;
198
+ secretsExposed: z.ZodDefault<z.ZodLiteral<false>>;
199
+ }, z.core.$strip>;
200
+ requirements: z.ZodObject<{
201
+ featureName: z.ZodString;
202
+ requirementIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
203
+ scenarioIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
204
+ workflowPlanHash: z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strip>;
206
+ routes: z.ZodDefault<z.ZodArray<z.ZodObject<{
207
+ route: z.ZodString;
208
+ title: z.ZodOptional<z.ZodString>;
209
+ discoveredAt: z.ZodString;
210
+ locatorIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
211
+ }, z.core.$strip>>>;
212
+ locators: z.ZodDefault<z.ZodArray<z.ZodObject<{
213
+ id: z.ZodString;
214
+ route: z.ZodString;
215
+ strategy: z.ZodEnum<{
216
+ css: "css";
217
+ frame: "frame";
218
+ label: "label";
219
+ placeholder: "placeholder";
220
+ role: "role";
221
+ testId: "testId";
222
+ text: "text";
223
+ }>;
224
+ expression: z.ZodString;
225
+ role: z.ZodOptional<z.ZodString>;
226
+ accessibleName: z.ZodOptional<z.ZodString>;
227
+ label: z.ZodOptional<z.ZodString>;
228
+ placeholder: z.ZodOptional<z.ZodString>;
229
+ testId: z.ZodOptional<z.ZodString>;
230
+ frameSelector: z.ZodOptional<z.ZodString>;
231
+ matchCount: z.ZodNumber;
232
+ visible: z.ZodBoolean;
233
+ enabled: z.ZodBoolean;
234
+ confidence: z.ZodNumber;
235
+ timestamp: z.ZodString;
236
+ }, z.core.$strip>>>;
237
+ actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
238
+ id: z.ZodString;
239
+ scenarioId: z.ZodString;
240
+ stepIndex: z.ZodNumber;
241
+ action: z.ZodString;
242
+ targetLocatorId: z.ZodOptional<z.ZodString>;
243
+ targetExpression: z.ZodOptional<z.ZodString>;
244
+ valueRedacted: z.ZodOptional<z.ZodString>;
245
+ routeBefore: z.ZodString;
246
+ routeAfter: z.ZodString;
247
+ domBeforeSummary: z.ZodString;
248
+ domAfterSummary: z.ZodString;
249
+ domDiff: z.ZodDefault<z.ZodArray<z.ZodString>>;
250
+ networkIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
251
+ consoleErrors: z.ZodDefault<z.ZodArray<z.ZodString>>;
252
+ screenshotPath: z.ZodOptional<z.ZodString>;
253
+ status: z.ZodEnum<{
254
+ BLOCKED_BY_POLICY: "BLOCKED_BY_POLICY";
255
+ EXECUTED: "EXECUTED";
256
+ FAILED: "FAILED";
257
+ SKIPPED: "SKIPPED";
258
+ }>;
259
+ timestamp: z.ZodString;
260
+ }, z.core.$strip>>>;
261
+ network: z.ZodDefault<z.ZodArray<z.ZodObject<{
262
+ id: z.ZodString;
263
+ scenarioId: z.ZodOptional<z.ZodString>;
264
+ method: z.ZodString;
265
+ url: z.ZodString;
266
+ status: z.ZodNumber;
267
+ durationMs: z.ZodOptional<z.ZodNumber>;
268
+ isError: z.ZodBoolean;
269
+ resourceType: z.ZodOptional<z.ZodString>;
270
+ errorText: z.ZodOptional<z.ZodString>;
271
+ timestamp: z.ZodString;
272
+ }, z.core.$strip>>>;
273
+ consoleErrors: z.ZodDefault<z.ZodArray<z.ZodString>>;
274
+ persistenceObservations: z.ZodDefault<z.ZodArray<z.ZodObject<{
275
+ scenarioId: z.ZodString;
276
+ clientReloadPreserved: z.ZodOptional<z.ZodBoolean>;
277
+ dbStatus: z.ZodEnum<{
278
+ FAIL: "FAIL";
279
+ NOT_APPLICABLE: "NOT_APPLICABLE";
280
+ NOT_VERIFIED: "NOT_VERIFIED";
281
+ PASS: "PASS";
282
+ }>;
283
+ note: z.ZodString;
284
+ }, z.core.$strip>>>;
285
+ scenarioStatuses: z.ZodDefault<z.ZodArray<z.ZodObject<{
286
+ scenarioId: z.ZodString;
287
+ status: z.ZodEnum<{
288
+ BLOCKED: "BLOCKED";
289
+ DEFECT_DETECTED: "DEFECT_DETECTED";
290
+ NOT_VERIFIED: "NOT_VERIFIED";
291
+ PARTIAL: "PARTIAL";
292
+ VERIFIED: "VERIFIED";
293
+ }>;
294
+ verificationLayers: z.ZodObject<{
295
+ UI: z.ZodEnum<{
296
+ FAIL: "FAIL";
297
+ NOT_APPLICABLE: "NOT_APPLICABLE";
298
+ NOT_VERIFIED: "NOT_VERIFIED";
299
+ PASS: "PASS";
300
+ }>;
301
+ API: z.ZodEnum<{
302
+ FAIL: "FAIL";
303
+ NOT_APPLICABLE: "NOT_APPLICABLE";
304
+ NOT_VERIFIED: "NOT_VERIFIED";
305
+ PASS: "PASS";
306
+ }>;
307
+ CLIENT_RELOAD: z.ZodEnum<{
308
+ FAIL: "FAIL";
309
+ NOT_APPLICABLE: "NOT_APPLICABLE";
310
+ NOT_VERIFIED: "NOT_VERIFIED";
311
+ PASS: "PASS";
312
+ }>;
313
+ DB: z.ZodEnum<{
314
+ FAIL: "FAIL";
315
+ NOT_APPLICABLE: "NOT_APPLICABLE";
316
+ NOT_VERIFIED: "NOT_VERIFIED";
317
+ PASS: "PASS";
318
+ }>;
319
+ }, z.core.$strip>;
320
+ reason: z.ZodOptional<z.ZodString>;
321
+ evidenceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
322
+ }, z.core.$strip>>>;
323
+ findings: z.ZodDefault<z.ZodArray<z.ZodObject<{
324
+ id: z.ZodString;
325
+ category: z.ZodEnum<{
326
+ AUTOMATION_GAP: "AUTOMATION_GAP";
327
+ NOT_VERIFIED: "NOT_VERIFIED";
328
+ OBSERVED_BEHAVIOR: "OBSERVED_BEHAVIOR";
329
+ RUNTIME_ERROR: "RUNTIME_ERROR";
330
+ SPEC_VIOLATION: "SPEC_VIOLATION";
331
+ }>;
332
+ scenarioId: z.ZodOptional<z.ZodString>;
333
+ evidenceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
334
+ expectedSource: z.ZodOptional<z.ZodString>;
335
+ expectedBehavior: z.ZodOptional<z.ZodString>;
336
+ actualBehavior: z.ZodString;
337
+ confidence: z.ZodNumber;
338
+ severity: z.ZodDefault<z.ZodEnum<{
339
+ critical: "critical";
340
+ high: "high";
341
+ info: "info";
342
+ low: "low";
343
+ medium: "medium";
344
+ }>>;
345
+ }, z.core.$strip>>>;
346
+ repositoryGraph: z.ZodOptional<z.ZodCustom<BrownfieldRepositoryGraph, BrownfieldRepositoryGraph>>;
347
+ evidenceIndex: z.ZodDefault<z.ZodArray<z.ZodObject<{
348
+ id: z.ZodString;
349
+ kind: z.ZodString;
350
+ source: z.ZodString;
351
+ timestamp: z.ZodString;
352
+ confidence: z.ZodNumber;
353
+ scenarioIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
354
+ description: z.ZodString;
355
+ }, z.core.$strip>>>;
356
+ limitations: z.ZodDefault<z.ZodArray<z.ZodString>>;
357
+ redactionComplete: z.ZodDefault<z.ZodLiteral<true>>;
358
+ }, z.core.$strip>;
359
+ export type ExplorationContextBundle = z.infer<typeof ExplorationContextBundleSchema>;
360
+ export declare function sanitizeUrlSecrets(rawUrl: string): string;
361
+ export declare function redactExplorationBundle(bundle: ExplorationContextBundle): ExplorationContextBundle;
362
+ export declare function saveExplorationContextBundle(bundlePath: string, bundle: ExplorationContextBundle): Promise<void>;
363
+ export declare function loadExplorationContextBundle(bundlePath: string): Promise<ExplorationContextBundle>;
364
+ //# sourceMappingURL=evidence-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-bundle.d.ts","sourceRoot":"","sources":["../../src/intelligence/evidence-bundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IACvD,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAC5D,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACpD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,cAAc,CAyDnF;AAED,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,gCAAgC;;;;;;EAM3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;iBAgBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBAWzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;iBAkBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,iCAAiC;;;;;iBAK5C,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;iBAQnC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,wBAAwB,CA8BlG;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAGxG"}
@@ -0,0 +1,38 @@
1
+ export interface FailureObservation {
2
+ id: string;
3
+ repository?: string | undefined;
4
+ testTitle?: string | undefined;
5
+ sourceFile?: string | undefined;
6
+ category: string;
7
+ action?: string | undefined;
8
+ selector?: string | undefined;
9
+ errorMessage?: string | undefined;
10
+ errorStack?: string | undefined;
11
+ networkStatuses?: number[] | undefined;
12
+ tracePath?: string | undefined;
13
+ timestamp?: number | undefined;
14
+ durationMs?: number | undefined;
15
+ }
16
+ export interface FailureFingerprint {
17
+ key: string;
18
+ category: string;
19
+ action: string;
20
+ messageSignature: string;
21
+ networkSignature: string;
22
+ }
23
+ export interface FailureCluster {
24
+ clusterId: string;
25
+ fingerprint: FailureFingerprint;
26
+ count: number;
27
+ observationIds: string[];
28
+ affectedRepositories: string[];
29
+ affectedTests: string[];
30
+ representative: FailureObservation;
31
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'unknown';
32
+ evidenceConsistency: number;
33
+ firstSeen?: number | undefined;
34
+ lastSeen?: number | undefined;
35
+ }
36
+ export declare function fingerprintFailure(observation: FailureObservation): FailureFingerprint;
37
+ export declare function clusterFailures(observations: FailureObservation[]): FailureCluster[];
38
+ //# sourceMappingURL=failure-clustering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-clustering.d.ts","sourceRoot":"","sources":["../../src/intelligence/failure-clustering.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,kBAAkB,CAAC;IACnC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC7D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAiCD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,GAAG,kBAAkB,CActF;AAeD,wBAAgB,eAAe,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,CAgCpF"}