playwright-intelligence-engine 0.0.0-stage → 2.0.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 (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,75 @@
1
+ export type StatementPatchOperation = 'replace-timeout-with-wait' | 'wrap-action-with-response' | 'insert-readiness-check' | 'replace-inline-locator' | 'replace-statement';
2
+ export interface BaseStatementPatchPlan {
3
+ kind: StatementPatchOperation;
4
+ /** 1-based line number in the source file. If omitted, matching is done by text pattern. */
5
+ targetLine?: number;
6
+ }
7
+ export interface ReplaceTimeoutPlan extends BaseStatementPatchPlan {
8
+ kind: 'replace-timeout-with-wait';
9
+ /** Replacement wait statement, e.g. "await expect(page.getByRole('button', { name: 'Submit' })).toBeVisible({ timeout: 5000 });" */
10
+ replacementWaitStatement: string;
11
+ }
12
+ export interface WrapActionWithResponsePlan extends BaseStatementPatchPlan {
13
+ kind: 'wrap-action-with-response';
14
+ /** Target action substring to locate if targetLine is omitted, e.g. "click()" or locator name */
15
+ targetActionSubstring?: string;
16
+ /** Predicate string for page.waitForResponse, e.g. "resp => resp.url().includes('/api/auth') && resp.status() === 200" */
17
+ responsePredicate: string;
18
+ /** Optional custom timeout in ms for waitForResponse */
19
+ timeoutMs?: number;
20
+ /** Optional explicit page variable name, defaults to auto-detected or "page" */
21
+ pageVarName?: string;
22
+ }
23
+ export interface InsertReadinessCheckPlan extends BaseStatementPatchPlan {
24
+ kind: 'insert-readiness-check';
25
+ /** Target action substring to locate if targetLine is omitted */
26
+ targetActionSubstring?: string;
27
+ /** Statement to insert before action, e.g. "await expect(page.getByRole('button', { name: 'Submit' })).toBeEnabled();" */
28
+ readinessStatement: string;
29
+ }
30
+ export interface ReplaceInlineLocatorPlan extends BaseStatementPatchPlan {
31
+ kind: 'replace-inline-locator';
32
+ /** Old locator text in statement, e.g. "page.locator('.btn-login')" */
33
+ oldLocatorText: string;
34
+ /** New locator expression, e.g. "page.getByRole('button', { name: 'Log In' })" */
35
+ newLocatorExpression: string;
36
+ }
37
+ export interface ReplaceStatementPlan extends BaseStatementPatchPlan {
38
+ kind: 'replace-statement';
39
+ /** Target substring to locate statement if targetLine is omitted */
40
+ targetSubstring?: string;
41
+ /** Complete new statement to replace existing one */
42
+ newStatement: string;
43
+ }
44
+ export type StatementPatchPlan = ReplaceTimeoutPlan | WrapActionWithResponsePlan | InsertReadinessCheckPlan | ReplaceInlineLocatorPlan | ReplaceStatementPlan;
45
+ export interface StatementPatchResult {
46
+ success: boolean;
47
+ operation: StatementPatchOperation;
48
+ originalStatement: string;
49
+ replacementStatement: string;
50
+ patchedSource: string;
51
+ diff: string;
52
+ importAdded?: boolean;
53
+ }
54
+ export declare class StatementPatcher {
55
+ private project;
56
+ constructor(tsConfigFilePath?: string);
57
+ /**
58
+ * Patches a test source string in-memory without touching disk.
59
+ */
60
+ patchStatementInMemory(sourceText: string, plan: StatementPatchPlan, fileName?: string): StatementPatchResult;
61
+ /**
62
+ * Patches a test file on disk atomically.
63
+ */
64
+ patchStatementInFile(filePath: string, plan: StatementPatchPlan): StatementPatchResult;
65
+ private executeReplaceTimeout;
66
+ private executeWrapActionWithResponse;
67
+ private executeInsertReadinessCheck;
68
+ private executeReplaceInlineLocator;
69
+ private executeReplaceStatement;
70
+ private selectSingleTargetStatement;
71
+ private findStatements;
72
+ private assertNotAssertion;
73
+ private ensurePlaywrightExpectImport;
74
+ }
75
+ //# sourceMappingURL=statement-patcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement-patcher.d.ts","sourceRoot":"","sources":["../../src/repair/statement-patcher.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,2BAA2B,GAC3B,wBAAwB,GACxB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,IAAI,EAAE,2BAA2B,CAAC;IAClC,oIAAoI;IACpI,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,IAAI,EAAE,2BAA2B,CAAC;IAClC,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0HAA0H;IAC1H,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0HAA0H;IAC1H,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,0BAA0B,GAC1B,wBAAwB,GACxB,wBAAwB,GACxB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,uBAAuB,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAU;IAEzB,YAAY,gBAAgB,CAAC,EAAE,MAAM,EAWpC;IAED;;OAEG;IACI,sBAAsB,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,kBAAkB,EACxB,QAAQ,SAAiB,GACxB,oBAAoB,CA2EtB;IAED;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,CAgC5F;IAMD,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,6BAA6B;IAsDrC,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,2BAA2B;IAoDnC,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,4BAA4B;CAuBrC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { BusinessOracleStatus } from '../core/types/repair-evidence.js';
3
+ export declare const VerificationGateInputSchema: z.ZodObject<{
4
+ executionPassed: z.ZodBoolean;
5
+ targetIdentityPreserved: z.ZodBoolean;
6
+ assertionsIntact: z.ZodBoolean;
7
+ fixturesIntact: z.ZodBoolean;
8
+ diffAllowlistPassed: z.ZodBoolean;
9
+ regressionPassed: z.ZodBoolean;
10
+ operationValidated: z.ZodBoolean;
11
+ businessOracleStatus: z.ZodEnum<{
12
+ contradicted: "contradicted";
13
+ unavailable: "unavailable";
14
+ verified: "verified";
15
+ }>;
16
+ requireBusinessOracle: z.ZodDefault<z.ZodBoolean>;
17
+ }, z.core.$strip>;
18
+ export type VerificationGateInput = z.input<typeof VerificationGateInputSchema>;
19
+ export interface VerificationGateResult {
20
+ isPromotable: boolean;
21
+ failedGates: string[];
22
+ businessOracleStatus: BusinessOracleStatus;
23
+ }
24
+ export declare function evaluateVerificationGates(input: VerificationGateInput): VerificationGateResult;
25
+ //# sourceMappingURL=verification-gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-gates.d.ts","sourceRoot":"","sources":["../../src/repair/verification-gates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAUtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAqB9F"}
@@ -0,0 +1,35 @@
1
+ import { RepairOperation } from './repair-operations.js';
2
+ export type WorkflowPlanStep = {
3
+ kind: 'replace_locator';
4
+ target: string;
5
+ locator: string;
6
+ } | {
7
+ kind: 'add_frame_scope';
8
+ target: string;
9
+ frameLocator: string;
10
+ } | {
11
+ kind: 'add_shadow_scope';
12
+ target: string;
13
+ shadowPath: string[];
14
+ } | {
15
+ kind: 'dismiss_overlay';
16
+ locator: string;
17
+ } | {
18
+ kind: 'satisfy_prerequisite';
19
+ prerequisite: string;
20
+ } | {
21
+ kind: 'replace_select_with_combobox_flow';
22
+ target: string;
23
+ steps: string[];
24
+ } | {
25
+ kind: 'replace_unstable_wait_with_state_wait';
26
+ target: string;
27
+ steps: string[];
28
+ };
29
+ export interface WorkflowPlan {
30
+ status: 'EXECUTABLE' | 'ABSTAIN';
31
+ steps: WorkflowPlanStep[];
32
+ errors: string[];
33
+ }
34
+ export declare function compileWorkflowPlan(operations: RepairOperation[]): WorkflowPlan;
35
+ //# sourceMappingURL=workflow-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-plan.d.ts","sourceRoot":"","sources":["../../src/repair/workflow-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA2B,MAAM,wBAAwB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,mCAAmC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,uCAAuC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,YAAY,CAuC/E"}
@@ -0,0 +1,43 @@
1
+ import { ApprovalTokenPayload } from './approval-service.js';
2
+ export interface PromotionResult {
3
+ success: boolean;
4
+ targetFilePath: string;
5
+ bytesWritten: number;
6
+ finalHash: string;
7
+ error?: string | undefined;
8
+ }
9
+ /**
10
+ * WorkspacePromoter handles safe, atomic, compare-before-write promotion of
11
+ * verified worktree repairs into the developer's active workspace.
12
+ *
13
+ * Enforces:
14
+ * 1. Canonical realpath containment inside the approved workspace.
15
+ * 2. Cross-process and in-process cooperative file locks.
16
+ * 3. Compare-And-Swap (CAS) hash verification of original source before mutation.
17
+ * 4. Patch diff and content hash validation against cryptographic approval token.
18
+ * 5. Safe temporary file write in the same directory.
19
+ * 6. Recoverable backup creation for fail-closed rollback.
20
+ * 7. Verification of post-promotion content hash.
21
+ * 8. Elimination of unvalidated direct-write fallbacks.
22
+ */
23
+ export declare class WorkspacePromoter {
24
+ private static activeLocks;
25
+ /**
26
+ * Promotes an approved patch to the active workspace with CAS hash verification,
27
+ * filesystem locks, and atomic rename.
28
+ */
29
+ static promote(params: {
30
+ targetFilePath: string;
31
+ workspaceRoot: string;
32
+ patchedContent: string;
33
+ approvalTokenPayload: ApprovalTokenPayload;
34
+ }): Promise<PromotionResult>;
35
+ /**
36
+ * Acquires a cross-process lock using exclusive file creation ('wx').
37
+ * If a lock exists, verifies whether the owning process is still alive.
38
+ * If the owner is dead or the lock is older than 30s, the stale lock is safely reclaimed.
39
+ */
40
+ private static acquireCrossProcessLock;
41
+ private static releaseCrossProcessLock;
42
+ }
43
+ //# sourceMappingURL=workspace-promoter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-promoter.d.ts","sourceRoot":"","sources":["../../src/repair/workspace-promoter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAOD;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAqB;IAE/C;;;OAGG;IACH,OAAoB,OAAO,CAAC,MAAM,EAAE;QAClC,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,GAAG,OAAO,CAAC,eAAe,CAAC,CA6M3B;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgDtC,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAOvC"}
@@ -0,0 +1,40 @@
1
+ import { EvidenceScorecard, UnifiedEvidenceRecord } from '../evidence/evidence-model.js';
2
+ import { DiagnosticContext } from '../core/types/diagnostic-context.js';
3
+ import { LocatorPlan } from '../selector/candidate-extractor.js';
4
+ import { BrowserOperationExecutionResult } from '../repair/browser-operation-executor.js';
5
+ export interface DiagnosticRerunOptions {
6
+ specFilePath: string;
7
+ workspaceRoot: string;
8
+ testNamePattern?: string;
9
+ timeoutMs?: number;
10
+ useWorktree?: boolean;
11
+ enableLiveEscalation?: boolean;
12
+ operation?: unknown;
13
+ operationTargetPlan?: LocatorPlan | undefined;
14
+ operationReplacementPlan?: LocatorPlan | undefined;
15
+ operationOverlayPlan?: LocatorPlan | undefined;
16
+ allowInteraction?: boolean | undefined;
17
+ }
18
+ export interface DiagnosticRerunResult {
19
+ passed: boolean;
20
+ exitCode: number;
21
+ stdout: string;
22
+ stderr: string;
23
+ scorecard: EvidenceScorecard;
24
+ unifiedEvidence: UnifiedEvidenceRecord[];
25
+ context: DiagnosticContext;
26
+ report: string;
27
+ executedInWorktree: boolean;
28
+ targetSpecPath: string;
29
+ browserOperationResult?: BrowserOperationExecutionResult | undefined;
30
+ }
31
+ export declare class DiagnosticRerunner {
32
+ /**
33
+ * Mode A: Executes the failing Playwright test inside an isolated Git worktree (AUDIT-11 / B2).
34
+ * Canonicalizes paths, guarantees worktree containment, captures multi-source evidence,
35
+ * enforces central redaction, and escalates to live browser investigation if trace is absent.
36
+ */
37
+ static rerunAndDiagnose(options: DiagnosticRerunOptions): Promise<DiagnosticRerunResult>;
38
+ private static findTraceFiles;
39
+ }
40
+ //# sourceMappingURL=diagnostic-rerunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostic-rerunner.d.ts","sourceRoot":"","sources":["../../src/reproduce/diagnostic-rerunner.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAIxE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,wBAAwB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,CAAC;IAC7B,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;CACtE;AAED,qBAAa,kBAAkB;IAC7B;;;;OAIG;IACH,OAAoB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2MpG;IAED,OAAO,CAAC,MAAM,CAAC,cAAc;CA4B9B"}
@@ -0,0 +1,41 @@
1
+ import { UnifiedEvidenceRecord } from '../evidence/evidence-model.js';
2
+ import { LocatorPlan } from '../selector/candidate-extractor.js';
3
+ import { LiveVerificationResult } from '../selector/live-locator-verifier.js';
4
+ import { BrowserOperationExecutionResult } from '../repair/browser-operation-executor.js';
5
+ export interface DirectInvestigationOptions {
6
+ url?: string | undefined;
7
+ actionSelector?: string | undefined;
8
+ intendedAction?: string | undefined;
9
+ executionId?: string | undefined;
10
+ timeoutMs?: number | undefined;
11
+ /** Optional allowlisted operation to verify against the live page. */
12
+ operation?: unknown;
13
+ operationTargetPlan?: LocatorPlan | undefined;
14
+ operationReplacementPlan?: LocatorPlan | undefined;
15
+ operationOverlayPlan?: LocatorPlan | undefined;
16
+ allowInteraction?: boolean | undefined;
17
+ }
18
+ export type DirectInvestigationStatus = 'REPRODUCED' | 'NOT_REPRODUCED' | 'INSUFFICIENT_EVIDENCE';
19
+ export interface DirectInvestigationResult {
20
+ success: boolean;
21
+ status: DirectInvestigationStatus;
22
+ pageUrl: string;
23
+ records: UnifiedEvidenceRecord[];
24
+ domSnapshotRecord: UnifiedEvidenceRecord | null;
25
+ ariaSnapshotRecord: UnifiedEvidenceRecord | null;
26
+ verificationResult?: LiveVerificationResult | undefined;
27
+ browserOperationResult?: BrowserOperationExecutionResult | undefined;
28
+ error?: string | undefined;
29
+ }
30
+ /**
31
+ * DirectBrowserInvestigator provides Mode B browser reproduction and exploratory probing.
32
+ * Directly launches headless Chromium, attaches LiveBrowserCollector and NetworkCollector,
33
+ * captures failure-point DOM & ariaSnapshots, and verifies candidate locators live.
34
+ *
35
+ * Enforces fail-closed validation: Missing URLs or about:blank fallbacks are explicitly
36
+ * rejected with INSUFFICIENT_EVIDENCE rather than claiming successful reproduction.
37
+ */
38
+ export declare class DirectBrowserInvestigator {
39
+ static investigateUrl(options: DirectInvestigationOptions, candidatePlan?: LocatorPlan): Promise<DirectInvestigationResult>;
40
+ }
41
+ //# sourceMappingURL=direct-browser-investigator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-browser-investigator.d.ts","sourceRoot":"","sources":["../../src/reproduce/direct-browser-investigator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAuB,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnG,OAAO,EAAE,+BAA+B,EAA2B,MAAM,yCAAyC,CAAC;AAEnH,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,wBAAwB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACnD,oBAAoB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAElG,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,iBAAiB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,kBAAkB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACxD,sBAAsB,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AA+BD;;;;;;;GAOG;AACH,qBAAa,yBAAyB;IACpC,OAAoB,cAAc,CAChC,OAAO,EAAE,0BAA0B,EACnC,aAAa,CAAC,EAAE,WAAW,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAkIpC;CACF"}
@@ -0,0 +1,43 @@
1
+ import { ExplorationActionRecord, ExplorationContextBundle, VerificationLayerStatus } from '../intelligence/evidence-bundle.js';
2
+ import { type BrownfieldRepositoryGraph } from '../intelligence/repository-profile.js';
3
+ import type { GenerationWorkflowPlan, PlannedWorkflowScenario } from '../intelligence/workflow-planner.js';
4
+ export interface ControlledLoginConfig {
5
+ loginUrl: string;
6
+ usernameSelector?: string | undefined;
7
+ passwordSelector?: string | undefined;
8
+ submitSelector?: string | undefined;
9
+ username?: string | undefined;
10
+ password?: string | undefined;
11
+ }
12
+ export interface DbVerificationResult {
13
+ status: VerificationLayerStatus;
14
+ summary: string;
15
+ }
16
+ export interface InteractiveExplorerOptions {
17
+ baseUrl?: string | undefined;
18
+ workspaceRoot?: string | undefined;
19
+ workflowPlan: GenerationWorkflowPlan;
20
+ checkpointPath?: string | undefined;
21
+ storageStatePath?: string | undefined;
22
+ loginConfig?: ControlledLoginConfig | undefined;
23
+ allowMutatingActions?: boolean | undefined;
24
+ allowDestructiveActions?: boolean | undefined;
25
+ designatedTestEnvironment?: boolean | undefined;
26
+ maxActionsPerScenario?: number | undefined;
27
+ timeoutMs?: number | undefined;
28
+ browser?: any;
29
+ page?: any;
30
+ dbVerifier?: ((scenario: PlannedWorkflowScenario, actions: ExplorationActionRecord[]) => Promise<DbVerificationResult>) | undefined;
31
+ repositoryGraph?: BrownfieldRepositoryGraph | undefined;
32
+ onCheckpoint?: ((bundle: ExplorationContextBundle) => void | Promise<void>) | undefined;
33
+ simulateCrashAfterScenarioIndex?: number | undefined;
34
+ }
35
+ export declare class InteractiveWorkflowRunner {
36
+ /**
37
+ * Executes workflow exploration & manual verification in a single native Playwright session
38
+ * with action-level checkpoints, passive defect classification, and redaction.
39
+ */
40
+ static run(options: InteractiveExplorerOptions): Promise<ExplorationContextBundle>;
41
+ static resumeFromCheckpoint(checkpointPath: string): Promise<ExplorationContextBundle>;
42
+ }
43
+ //# sourceMappingURL=interactive-workflow-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-workflow-runner.d.ts","sourceRoot":"","sources":["../../src/reproduce/interactive-workflow-runner.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EAQxB,uBAAuB,EAExB,MAAM,oCAAoC,CAAC;AAM5C,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,sBAAsB,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAChD,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3C,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,yBAAyB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChD,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;IACpI,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACxF,+BAA+B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtD;AA0HD,qBAAa,yBAAyB;IACpC;;;OAGG;IACH,OAAoB,GAAG,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAonB9F;IAED,OAAoB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAIlG;CACF"}
@@ -0,0 +1,45 @@
1
+ export type IsolationLevel = 'FULLY_ISOLATED' | 'IMMUTABLE_SHARED' | 'SHARED_MUTABLE' | 'UNSUPPORTED';
2
+ export interface DependencyPreparationResult {
3
+ isolationLevel: IsolationLevel;
4
+ strategy: 'npm' | 'pnpm' | 'yarn-classic' | 'yarn-pnp' | 'none';
5
+ linkedPaths: string[];
6
+ warning?: string | undefined;
7
+ }
8
+ export interface DependencyValidationResult {
9
+ isValid: boolean;
10
+ isolationLevel: IsolationLevel;
11
+ error?: string | undefined;
12
+ }
13
+ export interface DependencyStrategy {
14
+ readonly name: string;
15
+ detect(root: string): Promise<boolean>;
16
+ prepare(root: string, worktree: string): Promise<DependencyPreparationResult>;
17
+ validate(worktree: string): Promise<DependencyValidationResult>;
18
+ cleanup(worktree: string): Promise<void>;
19
+ }
20
+ export declare class NpmStrategy implements DependencyStrategy {
21
+ readonly name = "npm";
22
+ detect(root: string): Promise<boolean>;
23
+ prepare(root: string, worktree: string): Promise<DependencyPreparationResult>;
24
+ validate(worktree: string): Promise<DependencyValidationResult>;
25
+ cleanup(worktree: string): Promise<void>;
26
+ }
27
+ export declare class PnpmStrategy implements DependencyStrategy {
28
+ readonly name = "pnpm";
29
+ detect(root: string): Promise<boolean>;
30
+ prepare(root: string, worktree: string): Promise<DependencyPreparationResult>;
31
+ validate(worktree: string): Promise<DependencyValidationResult>;
32
+ cleanup(worktree: string): Promise<void>;
33
+ }
34
+ export declare class YarnPnpStrategy implements DependencyStrategy {
35
+ readonly name = "yarn-pnp";
36
+ detect(root: string): Promise<boolean>;
37
+ prepare(_root: string, _worktree: string): Promise<DependencyPreparationResult>;
38
+ validate(_worktree: string): Promise<DependencyValidationResult>;
39
+ cleanup(_worktree: string): Promise<void>;
40
+ }
41
+ export declare class DependencyStrategyResolver {
42
+ private static strategies;
43
+ static resolve(root: string): Promise<DependencyStrategy>;
44
+ }
45
+ //# sourceMappingURL=dependency-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-strategy.d.ts","sourceRoot":"","sources":["../../src/sandbox/dependency-strategy.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,CAAC;AAElB,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAC;IAChE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,qBAAa,WAAY,YAAW,kBAAkB;IACpD,SAAgB,IAAI,SAAS;IAEhB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlD;IAEY,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAqBzF;IAEY,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAgB3E;IAEY,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD;CACF;AAED,qBAAa,YAAa,YAAW,kBAAkB;IACrD,SAAgB,IAAI,UAAU;IAEjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlD;IAEY,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyBzF;IAEY,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAe3E;IAEY,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD;CACF;AAED,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,SAAgB,IAAI,cAAc;IAErB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlD;IAEY,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAO3F;IAEY,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAM5E;IAEY,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;CAC1D;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,UAAU,CAIvB;IAEF,OAAoB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQrE;CACF"}
@@ -0,0 +1,81 @@
1
+ export interface ExecutionOptions {
2
+ cwd: string;
3
+ args?: string[];
4
+ env?: Record<string, string>;
5
+ timeoutMs?: number;
6
+ }
7
+ export interface ExecutionResult {
8
+ exitCode: number;
9
+ stdout: string;
10
+ stderr: string;
11
+ durationMs: number;
12
+ timedOut: boolean;
13
+ truncated: boolean;
14
+ }
15
+ export declare class ExecutionRunner {
16
+ static readonly MAX_OUTPUT_BYTES: number;
17
+ private static readonly SAFE_ENV_KEYS;
18
+ private static readonly DANGEROUS_ENV_KEYS;
19
+ private static readonly SIGNAL_MAP;
20
+ /**
21
+ * Sanitizes inherited and explicit environment variables (AUDIT-15).
22
+ * Strictly filters against SAFE_ENV_KEYS and explicitly blocks dangerous
23
+ * interpreter-injection keys like NODE_OPTIONS.
24
+ */
25
+ static getSanitizedEnv(explicitEnv?: Record<string, string | undefined>): Record<string, string>;
26
+ /**
27
+ * Executes a command safely using child_process.spawn with an explicit argument array.
28
+ * Eliminates shell injection risks, sanitizes environment, bounds buffer sizes strictly by bytes,
29
+ * preserves signal exit codes, and terminates entire process trees upon timeout.
30
+ */
31
+ static run(command: string, options: ExecutionOptions): Promise<ExecutionResult>;
32
+ /**
33
+ * Executes a Playwright test specification via npx in the specified working directory.
34
+ * Guarantees process isolation, command sanitization, and true execution proofs.
35
+ */
36
+ static runPlaywrightTest(options: {
37
+ cwd: string;
38
+ testFilePath: string;
39
+ configPath?: string | undefined;
40
+ grep?: string | undefined;
41
+ timeoutMs?: number | undefined;
42
+ env?: Record<string, string> | undefined;
43
+ }): Promise<ExecutionResult>;
44
+ /**
45
+ * Computes the two-sided Wilson score confidence interval for binomial success rates.
46
+ * Provides mathematically rigorous confidence bounds for flaky test verification.
47
+ */
48
+ static computeWilsonScoreInterval(k: number, n: number, confidence?: number): WilsonScoreInterval;
49
+ /**
50
+ * Executes repeated trials of a Playwright test specification to statistically
51
+ * evaluate flakiness and measure intent preservation with Wilson confidence intervals.
52
+ */
53
+ static runRepeatedPlaywrightTrials(options: {
54
+ cwd: string;
55
+ testFilePath: string;
56
+ trials: number;
57
+ configPath?: string | undefined;
58
+ grep?: string | undefined;
59
+ timeoutMs?: number | undefined;
60
+ env?: Record<string, string> | undefined;
61
+ }): Promise<RepeatedExecutionSummary>;
62
+ }
63
+ export interface WilsonScoreInterval {
64
+ lower: number;
65
+ upper: number;
66
+ center: number;
67
+ confidenceLevel: number;
68
+ }
69
+ export interface RepeatedExecutionSummary {
70
+ totalTrials: number;
71
+ passedCount: number;
72
+ failedCount: number;
73
+ timedOutCount: number;
74
+ passRatePct: number;
75
+ isFlaky: boolean;
76
+ wilsonInterval95: WilsonScoreInterval;
77
+ averageDurationMs: number;
78
+ trialDurationsMs: number[];
79
+ trials: ExecutionResult[];
80
+ }
81
+ //# sourceMappingURL=execution-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-runner.d.ts","sourceRoot":"","sources":["../../src/sandbox/execution-runner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,eAAe;IAC1B,gBAAuB,gBAAgB,SAAoB;IAE3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CA0BlC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAWvC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAgBhC;IAEF;;;;OAIG;IACH,OAAc,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiCtG;IAED;;;;OAIG;IACH,OAAoB,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAuI1B;IAED;;;OAGG;IACH,OAAoB,iBAAiB,CAAC,OAAO,EAAE;QAC7C,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KAC1C,GAAG,OAAO,CAAC,eAAe,CAAC,CAoB3B;IAED;;;OAGG;IACH,OAAc,0BAA0B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,SAAO,GAAG,mBAAmB,CAoBrG;IAED;;;OAGG;IACH,OAAoB,2BAA2B,CAAC,OAAO,EAAE;QACvD,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KAC1C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgDpC;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B"}
@@ -0,0 +1,51 @@
1
+ import { IsolationLevel } from './dependency-strategy.js';
2
+ export interface WorktreeInfo {
3
+ id: string;
4
+ worktreePath: string;
5
+ branch: string;
6
+ createdAt: number;
7
+ ownerPid: number;
8
+ isolationLevel: IsolationLevel;
9
+ strategy: string;
10
+ }
11
+ export interface WorktreeRegistry {
12
+ worktrees: Record<string, WorktreeInfo>;
13
+ }
14
+ export declare class WorktreeManager {
15
+ private readonly rootDir;
16
+ private readonly baseWorktreeDir;
17
+ private readonly registryPath;
18
+ constructor(rootDir: string);
19
+ private static readonly VALID_ID_REGEX;
20
+ /**
21
+ * Checks whether a given process ID is currently alive on the host system.
22
+ */
23
+ static isProcessAlive(pid: number): boolean;
24
+ /**
25
+ * Asserts that a worktree ID is valid and that the resolved path is strictly contained
26
+ * within the base worktree directory using canonical real paths (AUDIT-05 / AUDIT-06).
27
+ * Prevents symlink/junction escape, directory traversal, and recursive host deletion.
28
+ */
29
+ private assertWorktreeContainment;
30
+ /**
31
+ * Creates an isolated detached Git worktree using the appropriate DependencyStrategy.
32
+ * Enforces fail-closed dependency validation (AUDIT-16).
33
+ */
34
+ createWorktree(worktreeId?: string): Promise<WorktreeInfo>;
35
+ /**
36
+ * Destroys an isolated worktree safely:
37
+ * 1. Unlinks the dependency junction/symlink FIRST (CRITICAL: prevents wiping root dependencies)
38
+ * 2. Runs git worktree remove
39
+ * 3. Deletes leftover branch
40
+ * 4. Cleans up registry
41
+ */
42
+ destroyWorktree(id: string): Promise<void>;
43
+ /**
44
+ * Robust directory removal with exponential backoff to handle temporary
45
+ * Windows anti-virus or search indexer file locks.
46
+ */
47
+ private resilientRemove;
48
+ private registerWorktree;
49
+ private unregisterWorktree;
50
+ }
51
+ //# sourceMappingURL=worktree-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-manager.d.ts","sourceRoot":"","sources":["../../src/sandbox/worktree-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAA8B,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAItF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACzC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YAAY,OAAO,EAAE,MAAM,EAI1B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAEjE;;OAEG;IACH,OAAc,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOjD;IAED;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAoDjC;;;OAGG;IACU,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoFtE;IAED;;;;;;OAMG;IACU,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BtD;IAED;;;OAGG;YACW,eAAe;YAyBf,gBAAgB;YAahB,kBAAkB;CAUjC"}
@@ -0,0 +1,34 @@
1
+ import { ScoreBreakdown } from './selector-scorer.js';
2
+ import { ResolvedElement } from '../trace/snapshot-resolver.js';
3
+ export interface ScoredCandidate {
4
+ element: ResolvedElement;
5
+ breakdown: ScoreBreakdown;
6
+ locatorExpression?: string | undefined;
7
+ originalSelector?: string | undefined;
8
+ intendedAction?: string | undefined;
9
+ parentScopeVerified?: boolean | undefined;
10
+ disambiguationStrategy?: string | undefined;
11
+ disambiguationExplanation?: string | undefined;
12
+ }
13
+ export type DecisionStage = 'SUPPORTED_ELEMENT' | 'TARGET_IDENTITY' | 'STRICT_UNIQUENESS' | 'ACTION_SEMANTICS' | 'SCORE_CONFIDENCE' | 'AMBIGUITY_DELTA' | 'AUTHORIZED';
14
+ export interface AbstentionDecision {
15
+ shouldAbstain: boolean;
16
+ stage: DecisionStage;
17
+ selectedCandidate?: ScoredCandidate | undefined;
18
+ reason?: string | undefined;
19
+ }
20
+ export declare class AbstentionPolicy {
21
+ static readonly MINIMUM_CONFIDENCE_THRESHOLD = 0.7;
22
+ static readonly AMBIGUITY_DELTA_THRESHOLD = 0.08;
23
+ /**
24
+ * Applies the formal Multi-Stage Decision Pipeline to candidate locators:
25
+ * 1. Supported Element? (Must be recognized interactive element)
26
+ * 2. Target Identity Verified? (Affinity to intended business entity)
27
+ * 3. Exactly One Scoped Match? (Strict Uniqueness: matchCount === 1, unless parentScopeVerified)
28
+ * 4. Action Semantics Preserved? (e.g. click -> clickable element, fill -> input/textarea)
29
+ * 5. Score & Calibrated Threshold Pass? (rawScore >= 0.70)
30
+ * 6. Ambiguity Delta Pass? (top.score - runnerUp.score >= 0.08)
31
+ */
32
+ static evaluate(candidates: ScoredCandidate[]): AbstentionDecision;
33
+ }
34
+ //# sourceMappingURL=abstention-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstention-policy.d.ts","sourceRoot":"","sources":["../../src/selector/abstention-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,CAAC;AAEjB,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;IACrB,iBAAiB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B,gBAAuB,4BAA4B,OAAQ;IAC3D,gBAAuB,yBAAyB,QAAQ;IAExD;;;;;;;;OAQG;IACH,OAAc,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAiIxE;CACF"}