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,71 @@
1
+ import { ResolvedElement } from '../trace/snapshot-resolver.js';
2
+ import { FailedAction } from '../core/types/diagnostic-context.js';
3
+ export type LocatorPlan = {
4
+ kind: 'getByRole';
5
+ role: string;
6
+ options?: {
7
+ name?: string;
8
+ exact?: boolean;
9
+ };
10
+ } | {
11
+ kind: 'getByText';
12
+ text: string;
13
+ options?: {
14
+ exact?: boolean;
15
+ };
16
+ } | {
17
+ kind: 'getByLabel';
18
+ label: string;
19
+ options?: {
20
+ exact?: boolean;
21
+ };
22
+ } | {
23
+ kind: 'getByPlaceholder';
24
+ placeholder: string;
25
+ options?: {
26
+ exact?: boolean;
27
+ };
28
+ } | {
29
+ kind: 'getByTestId';
30
+ testId: string;
31
+ } | {
32
+ kind: 'locator';
33
+ selector: string;
34
+ };
35
+ export declare class CandidateExtractor {
36
+ /**
37
+ * Safely escapes a string literal for embedding inside TypeScript single-quoted strings.
38
+ * Handles backslashes, quotes, newlines, tabs, and unicode line separators.
39
+ */
40
+ static escapeLocatorString(val: string): string;
41
+ /**
42
+ * Discovers the page property identifier used in a Page Object class using AST analysis.
43
+ * Inspects class property declarations, constructor parameters, and inheritance context.
44
+ * Does NOT rely on loose substring search in comments or unrelated text.
45
+ */
46
+ static discoverPageProperty(source?: string): string;
47
+ /**
48
+ * Generates a strongly typed, safe LocatorPlan representing a Playwright locator intent.
49
+ * Strictly refuses to generate bare tag fallbacks.
50
+ */
51
+ static generateLocatorPlan(el: ResolvedElement): LocatorPlan;
52
+ /**
53
+ * Converts a typed LocatorPlan into an approved TypeScript expression string.
54
+ */
55
+ static planToExpression(plan: LocatorPlan, pageProperty?: string): string;
56
+ /**
57
+ * Generates a modern, user-centric Playwright locator expression.
58
+ * Delegates to generateLocatorPlan and planToExpression.
59
+ * Throws EngineError('INSUFFICIENT_IDENTIFIERS') if element lacks distinctive attributes.
60
+ */
61
+ static generateLocator(el: ResolvedElement, pageProperty?: string): string;
62
+ /**
63
+ * Extracts candidate elements from a resolved DOM tree matching the target action's semantics.
64
+ * Requires genuine semantic or structural affinity.
65
+ */
66
+ static extractCandidates(root: ResolvedElement, actionOrFailedAction?: FailedAction | {
67
+ action?: string | undefined;
68
+ selector?: string | undefined;
69
+ } | string): ResolvedElement[];
70
+ }
71
+ //# sourceMappingURL=candidate-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidate-extractor.d.ts","sourceRoot":"","sources":["../../src/selector/candidate-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAoB,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,OAAc,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASrD;IAED;;;;OAIG;IACH,OAAc,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAuD1D;IAED;;;OAGG;IACH,OAAc,mBAAmB,CAAC,EAAE,EAAE,eAAe,GAAG,WAAW,CAwGlE;IAED;;OAEG;IACH,OAAc,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,SAAc,GAAG,MAAM,CA+BpF;IAED;;;;OAIG;IACH,OAAc,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,YAAY,SAAc,GAAG,MAAM,CAGrF;IAED;;;OAGG;IACH,OAAc,iBAAiB,CAC7B,IAAI,EAAE,eAAe,EACrB,oBAAoB,CAAC,EAAE,YAAY,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,MAAM,GAC5G,eAAe,EAAE,CAwDnB;CACF"}
@@ -0,0 +1,28 @@
1
+ import { LocatorPlan } from './candidate-extractor.js';
2
+ export interface LiveVerificationResult {
3
+ isUnique: boolean;
4
+ count: number;
5
+ isVisible: boolean;
6
+ isEnabled: boolean;
7
+ plan: LocatorPlan;
8
+ expression: string;
9
+ reason?: string;
10
+ }
11
+ /**
12
+ * Safely resolves typed LocatorPlan instances to live Playwright Locator objects
13
+ * and empirically tests count(), isVisible(), and isEnabled() against the live browser DOM.
14
+ * Strictly enforces that count() === 1 for uniqueness (AUDIT-13).
15
+ */
16
+ export declare class LiveLocatorVerifier {
17
+ static locate(pageOrFrame: any, plan: LocatorPlan): any;
18
+ /**
19
+ * Dispatches typed LocatorPlan to official Playwright Page/Frame API methods.
20
+ * Completely avoids eval or arbitrary code execution.
21
+ */
22
+ static resolveLocator(pageOrFrame: any, plan: LocatorPlan): any;
23
+ /**
24
+ * Empirically checks locator uniqueness (count === 1) and actionability in the live DOM.
25
+ */
26
+ static verify(pageOrFrame: any, plan: LocatorPlan): Promise<LiveVerificationResult>;
27
+ }
28
+ //# sourceMappingURL=live-locator-verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-locator-verifier.d.ts","sourceRoot":"","sources":["../../src/selector/live-locator-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,0BAA0B,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAc,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,CAE7D;IAED;;;OAGG;IACH,OAAc,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,CAuCrE;IAED;;OAEG;IACH,OAAoB,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmE/F;CACF"}
@@ -0,0 +1,10 @@
1
+ import { ProjectIntelligenceSnapshot } from '../intelligence/project-intelligence.js';
2
+ import { ResolvedElement } from '../trace/snapshot-resolver.js';
3
+ import { ScoredCandidate } from './abstention-policy.js';
4
+ export interface RankedRepairCandidate extends ScoredCandidate {
5
+ locatorExpression: string;
6
+ }
7
+ export declare class RepairCandidateRanker {
8
+ static rank(candidates: ResolvedElement[], originalSelector?: string, intendedAction?: string, intelligence?: ProjectIntelligenceSnapshot, rootDom?: ResolvedElement, testIntentText?: string): RankedRepairCandidate[];
9
+ }
10
+ //# sourceMappingURL=repair-candidate-ranker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair-candidate-ranker.d.ts","sourceRoot":"","sources":["../../src/selector/repair-candidate-ranker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAqC,MAAM,yCAAyC,CAAC;AAEzH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,qBAAqB;IAChC,OAAc,IAAI,CAChB,UAAU,EAAE,eAAe,EAAE,EAC7B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,2BAA2B,EAC1C,OAAO,CAAC,EAAE,eAAe,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB,qBAAqB,EAAE,CAuEzB;CACF"}
@@ -0,0 +1,43 @@
1
+ import { ResolvedElement } from '../trace/snapshot-resolver.js';
2
+ export interface ScorerWeights {
3
+ wU: number;
4
+ wI: number;
5
+ wM: number;
6
+ wA: number;
7
+ wH: number;
8
+ wD: number;
9
+ }
10
+ export interface ScoreBreakdown {
11
+ score: number;
12
+ transformedScore: number;
13
+ calibratedProbability: number;
14
+ uniqueness: number;
15
+ matchCount: number;
16
+ identityMatch: number;
17
+ semanticMatch: number;
18
+ actionability: number;
19
+ historicalReliability: number;
20
+ historicalExecutionReliability: number;
21
+ volatilePenalty: number;
22
+ conventionAlignment?: number;
23
+ explanation: string[];
24
+ }
25
+ export interface SelectorProjectContext {
26
+ preferredLocator?: 'getByRole' | 'getByTestId' | 'getByLabel' | 'getByText' | 'locator' | 'unknown';
27
+ /** Observed locator counts from the repository profile. */
28
+ locatorUsage?: Partial<Record<'getByRole' | 'getByTestId' | 'getByLabel' | 'getByText' | 'locator', number>>;
29
+ }
30
+ export declare class SelectorScorer {
31
+ static readonly DEFAULT_WEIGHTS: ScorerWeights;
32
+ /**
33
+ * Scores a candidate element against the multi-factor formula:
34
+ * S(L) = w1*U + w2*I + w3*M + w4*A + w5*H - w6*D
35
+ *
36
+ * Uniqueness evaluates whether the proposed locator resolves to exactly one element.
37
+ * Identity requires affirmative token overlap and rejects contradictory semantics.
38
+ * Actionability verifies enabled state and non-hidden status.
39
+ * Produces a transformed score (sigmoid scaling), not an overclaimed empirical probability.
40
+ */
41
+ static score(candidate: ResolvedElement, allCandidates: ResolvedElement[], originalSelector?: string, historicalScore?: number, weights?: ScorerWeights, projectContext?: SelectorProjectContext): ScoreBreakdown;
42
+ }
43
+ //# sourceMappingURL=selector-scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-scorer.d.ts","sourceRoot":"","sources":["../../src/selector/selector-scorer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B,EAAE,MAAM,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACpG,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9G;AAcD,qBAAa,cAAc;IACzB,gBAAuB,eAAe,EAAE,aAAa,CAOnD;IAEF;;;;;;;;OAQG;IACH,OAAc,KAAK,CACjB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,eAAe,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,gBAAiC,EACxC,cAAc,CAAC,EAAE,sBAAsB,GACtC,cAAc,CA+QhB;CACF"}
@@ -0,0 +1,18 @@
1
+ import { TraceAdapter, ArchiveManifest } from './trace-adapter.js';
2
+ export declare class TraceAdapterRegistry {
3
+ private static adapters;
4
+ private static fallbackAdapter;
5
+ /**
6
+ * Registers a custom or extended trace adapter.
7
+ */
8
+ static registerAdapter(adapter: TraceAdapter): void;
9
+ /**
10
+ * Resolves the matching TraceAdapter for a given trace format version.
11
+ */
12
+ static getAdapter(version: number): TraceAdapter;
13
+ /**
14
+ * Resolves the matching TraceAdapter for a given trace archive and sample lines.
15
+ */
16
+ static resolveAdapter(manifest: ArchiveManifest, sampleLines: string[]): TraceAdapter;
17
+ }
18
+ //# sourceMappingURL=adapter-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOnE,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAKrB;IAEF,OAAO,CAAC,MAAM,CAAC,eAAe,CAA6B;IAE3D;;OAEG;IACH,OAAc,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAEzD;IAED;;OAEG;IACH,OAAc,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAOtD;IAED;;OAEG;IACH,OAAc,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,YAAY,CAO3F;CACF"}
@@ -0,0 +1,21 @@
1
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
2
+ export interface ArchiveManifest {
3
+ archivePath: string;
4
+ entryNames: string[];
5
+ traceEntryName?: string | undefined;
6
+ networkEntryName?: string | undefined;
7
+ stacksEntryName?: string | undefined;
8
+ }
9
+ export interface AdapterValidationResult {
10
+ isValid: boolean;
11
+ errors: string[];
12
+ warnings: string[];
13
+ }
14
+ export interface TraceAdapter {
15
+ readonly adapterVersion: string;
16
+ readonly supportedFormatVersions: number[];
17
+ canParse(manifest: ArchiveManifest, sampleLines: string[]): boolean;
18
+ parse(manifest: ArchiveManifest, traceLines: string[], networkLines: string[]): Promise<DiagnosticContext>;
19
+ validate(context: DiagnosticContext): AdapterValidationResult;
20
+ }
21
+ //# sourceMappingURL=trace-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/trace-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACpE,KAAK,CACH,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAAC;CAC/D"}
@@ -0,0 +1,10 @@
1
+ import { TraceAdapter, ArchiveManifest, AdapterValidationResult } from './trace-adapter.js';
2
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
3
+ export declare class UnknownTraceAdapter implements TraceAdapter {
4
+ readonly adapterVersion = "1.0.0-unsupported";
5
+ readonly supportedFormatVersions: number[];
6
+ canParse(_manifest: ArchiveManifest, _sampleLines: string[]): boolean;
7
+ parse(_manifest: ArchiveManifest, traceLines: string[], _networkLines: string[]): Promise<DiagnosticContext>;
8
+ validate(context: DiagnosticContext): AdapterValidationResult;
9
+ }
10
+ //# sourceMappingURL=unknown-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/unknown-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAG3E,qBAAa,mBAAoB,YAAW,YAAY;IACtD,SAAgB,cAAc,uBAAuB;IACrD,SAAgB,uBAAuB,EAAE,MAAM,EAAE,CAAM;IAEhD,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3E;IAEY,KAAK,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;IAEM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAQnE;CACF"}
@@ -0,0 +1,10 @@
1
+ import { TraceAdapter, ArchiveManifest, AdapterValidationResult } from './trace-adapter.js';
2
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
3
+ export declare class V10TraceAdapter implements TraceAdapter {
4
+ readonly adapterVersion = "1.0.0-v10";
5
+ readonly supportedFormatVersions: number[];
6
+ canParse(_manifest: ArchiveManifest, sampleLines: string[]): boolean;
7
+ parse(_manifest: ArchiveManifest, traceLines: string[], networkLines: string[]): Promise<DiagnosticContext>;
8
+ validate(context: DiagnosticContext): AdapterValidationResult;
9
+ }
10
+ //# sourceMappingURL=v10-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v10-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/v10-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI3E,qBAAa,eAAgB,YAAW,YAAY;IAClD,SAAgB,cAAc,eAAe;IAC7C,SAAgB,uBAAuB,WAAQ;IAExC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAG1E;IAEY,KAAK,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAG5B;IAEM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAanE;CACF"}
@@ -0,0 +1,11 @@
1
+ import { TraceAdapter, ArchiveManifest, AdapterValidationResult } from './trace-adapter.js';
2
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
3
+ /** Compatibility adapter for Playwright 1.32-era trace format v4. */
4
+ export declare class V4TraceAdapter implements TraceAdapter {
5
+ readonly adapterVersion = "1.0.0-v4";
6
+ readonly supportedFormatVersions: number[];
7
+ canParse(_manifest: ArchiveManifest, sampleLines: string[]): boolean;
8
+ parse(_manifest: ArchiveManifest, traceLines: string[], networkLines: string[]): Promise<DiagnosticContext>;
9
+ validate(context: DiagnosticContext): AdapterValidationResult;
10
+ }
11
+ //# sourceMappingURL=v4-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v4-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/v4-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI3E,qEAAqE;AACrE,qBAAa,cAAe,YAAW,YAAY;IACjD,SAAgB,cAAc,cAAc;IAC5C,SAAgB,uBAAuB,WAAO;IAEvC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAG1E;IAEY,KAAK,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAEM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAMnE;CACF"}
@@ -0,0 +1,10 @@
1
+ import { TraceAdapter, ArchiveManifest, AdapterValidationResult } from './trace-adapter.js';
2
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
3
+ export declare class V8TraceAdapter implements TraceAdapter {
4
+ readonly adapterVersion = "1.0.0-v8";
5
+ readonly supportedFormatVersions: number[];
6
+ canParse(_manifest: ArchiveManifest, sampleLines: string[]): boolean;
7
+ parse(_manifest: ArchiveManifest, traceLines: string[], networkLines: string[]): Promise<DiagnosticContext>;
8
+ validate(context: DiagnosticContext): AdapterValidationResult;
9
+ }
10
+ //# sourceMappingURL=v8-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v8-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/v8-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI3E,qBAAa,cAAe,YAAW,YAAY;IACjD,SAAgB,cAAc,cAAc;IAC5C,SAAgB,uBAAuB,WAAU;IAE1C,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAG1E;IAEY,KAAK,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAI5B;IAEM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAgBnE;CACF"}
@@ -0,0 +1,10 @@
1
+ import { TraceAdapter, ArchiveManifest, AdapterValidationResult } from './trace-adapter.js';
2
+ import { DiagnosticContext } from '../../core/types/diagnostic-context.js';
3
+ export declare class V9TraceAdapter implements TraceAdapter {
4
+ readonly adapterVersion = "1.0.0-v9";
5
+ readonly supportedFormatVersions: number[];
6
+ canParse(_manifest: ArchiveManifest, sampleLines: string[]): boolean;
7
+ parse(_manifest: ArchiveManifest, traceLines: string[], networkLines: string[]): Promise<DiagnosticContext>;
8
+ validate(context: DiagnosticContext): AdapterValidationResult;
9
+ }
10
+ //# sourceMappingURL=v9-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v9-adapter.d.ts","sourceRoot":"","sources":["../../../src/trace/adapters/v9-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI3E,qBAAa,cAAe,YAAW,YAAY;IACjD,SAAgB,cAAc,cAAc;IAC5C,SAAgB,uBAAuB,WAAO;IAEvC,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAG1E;IAEY,KAAK,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAG5B;IAEM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB,CAanE;CACF"}
@@ -0,0 +1,44 @@
1
+ export interface UnpackOptions {
2
+ maxTotalSize?: number;
3
+ maxEntries?: number;
4
+ targetDir?: string;
5
+ }
6
+ export interface ExtractedTraceArchive {
7
+ archivePath: string;
8
+ extractDir: string;
9
+ entryNames: string[];
10
+ hasTraceEventFile: boolean;
11
+ hasNetworkEventFile: boolean;
12
+ }
13
+ export interface TraceEntryDiscovery {
14
+ /** Best stream for backward-compatible single-stream consumers. */
15
+ traceEntryName?: string | undefined;
16
+ networkEntryName?: string | undefined;
17
+ /** All streams, ordered with explicit failure streams first. */
18
+ traceEntryNames?: string[] | undefined;
19
+ networkEntryNames?: string[] | undefined;
20
+ }
21
+ export declare class ArchiveReader {
22
+ private static readonly DEFAULT_MAX_SIZE;
23
+ private static readonly DEFAULT_MAX_ENTRIES;
24
+ private static readonly MAX_COMPRESSION_RATIO;
25
+ private static readonly MAX_SINGLE_ENTRY_SIZE;
26
+ /**
27
+ * Automatically discovers the primary trace and network JSONL entry names inside a Playwright trace archive.
28
+ * Matches stream and worker IDs between .trace and .network files to prevent cross-worker mismatch.
29
+ */
30
+ static findTraceFileEntries(zipPath: string): TraceEntryDiscovery;
31
+ /** Reads multiple archive entries and joins them as one logical JSONL stream. */
32
+ static readEntriesAsText(zipPath: string, entryNames: string[]): Promise<string>;
33
+ /**
34
+ * Reads a single entry as a UTF-8 string directly from a .zip file in memory
35
+ * with strict per-entry size limits.
36
+ */
37
+ static readEntryAsText(zipPath: string, entryName: string): Promise<string>;
38
+ /**
39
+ * Safely unpacks a Playwright trace.zip archive to an isolated destination directory
40
+ * with strict Zip-Slip and Zip-Bomb protections.
41
+ */
42
+ static unpackSafely(zipPath: string, destinationDir: string, options?: UnpackOptions): Promise<ExtractedTraceArchive>;
43
+ }
44
+ //# sourceMappingURL=archive-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-reader.d.ts","sourceRoot":"","sources":["../../src/trace/archive-reader.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAoB;IAEjE;;;OAGG;IACH,OAAc,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CA6DvE;IAED,iFAAiF;IACjF,OAAoB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5F;IAED;;;OAGG;IACH,OAAoB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBvF;IAED;;;OAGG;IACH,OAAoB,YAAY,CAC9B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAuGhC;CACF"}
@@ -0,0 +1,55 @@
1
+ export type NodeSnapshot = string | number | [string, Record<string, string>, ...NodeSnapshot[]];
2
+ export interface ResolvedElement {
3
+ tag: string;
4
+ attributes: Record<string, string>;
5
+ text: string;
6
+ children: ResolvedElement[];
7
+ role?: string | undefined;
8
+ accessibleName?: string | undefined;
9
+ }
10
+ export type SnapshotCompleteness = 'COMPLETE' | 'PARTIAL' | 'UNAVAILABLE';
11
+ export interface ResolvedSnapshot {
12
+ frameId: string;
13
+ callId?: string | undefined;
14
+ phase: 'before' | 'action' | 'after';
15
+ completeness: SnapshotCompleteness;
16
+ unresolvedReferences: string[];
17
+ dom: ResolvedElement[];
18
+ }
19
+ export interface FrameSnapshotRecord {
20
+ frameId: string;
21
+ pageId?: string | undefined;
22
+ callId?: string | undefined;
23
+ snapshotName?: string | undefined;
24
+ phase?: 'before' | 'action' | 'after' | undefined;
25
+ node?: NodeSnapshot | undefined;
26
+ }
27
+ export declare class SnapshotResolver {
28
+ /**
29
+ * Reconstructs an in-memory resolved element tree from Playwright's array-based NodeSnapshot,
30
+ * tracking provenance, snapshot phase, and evidence completeness.
31
+ */
32
+ static resolveSnapshot(record: FrameSnapshotRecord): ResolvedSnapshot;
33
+ /**
34
+ * Reconstructs an in-memory resolved element tree from Playwright's array-based NodeSnapshot.
35
+ */
36
+ static resolveNode(node: NodeSnapshot, unresolvedRefs?: string[]): ResolvedElement | null;
37
+ /**
38
+ * Traverses and collects all nodes in depth-first order as Playwright's snapshotNodes does.
39
+ */
40
+ static snapshotNodes(snap: any): any[];
41
+ /**
42
+ * Resolves a modern Playwright differential snapshot node with support for subtree references [ [ delta, nodeIndex ] ].
43
+ */
44
+ static resolveDifferentialNode(n: any, snapshotIndex: number, allSnapshots: any[], unresolvedRefs?: string[]): ResolvedElement | string | null;
45
+ /**
46
+ * Serializes a resolved element tree back into clean, formatted HTML.
47
+ */
48
+ static toHtml(element: ResolvedElement, indent?: number): string;
49
+ /**
50
+ * Collects all descendant interactive elements (buttons, inputs, links, selects, roles).
51
+ */
52
+ static extractInteractiveElements(root: ResolvedElement): ResolvedElement[];
53
+ private static inferRoleFromTag;
54
+ }
55
+ //# sourceMappingURL=snapshot-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-resolver.d.ts","sourceRoot":"","sources":["../../src/trace/snapshot-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,YAAY,EAAE,oBAAoB,CAAC;IACnC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,GAAG,EAAE,eAAe,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAClD,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjC;AAED,qBAAa,gBAAgB;IAC3B;;;OAGG;IACH,OAAc,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CA4B3E;IAED;;OAEG;IACH,OAAc,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,GAAG,IAAI,CAmD/F;IAED;;OAEG;IACH,OAAc,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,CAiB5C;IAED;;OAEG;IACH,OAAc,uBAAuB,CACnC,CAAC,EAAE,GAAG,EACN,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,GAAG,EAAE,EACnB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,eAAe,GAAG,MAAM,GAAG,IAAI,CAyEjC;IAED;;OAEG;IACH,OAAc,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAI,GAAG,MAAM,CAajE;IAED;;OAEG;IACH,OAAc,0BAA0B,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CAiCjF;IAED,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAqBhC"}
@@ -0,0 +1,50 @@
1
+ import { DiagnosticContext, FailedAction, NetworkEvent, ConsoleEvent } from '../core/types/diagnostic-context.js';
2
+ import { ResolvedElement } from './snapshot-resolver.js';
3
+ export interface RawTraceEvent {
4
+ type: string;
5
+ callId?: string;
6
+ apiName?: string;
7
+ method?: string;
8
+ title?: string;
9
+ params?: Record<string, any>;
10
+ error?: any;
11
+ stack?: Array<{
12
+ file: string;
13
+ line: number;
14
+ column?: number;
15
+ }>;
16
+ wallTime?: number;
17
+ startTime?: number;
18
+ endTime?: number;
19
+ log?: string[];
20
+ message?: string;
21
+ snapshot?: any;
22
+ [key: string]: any;
23
+ }
24
+ export interface ParsedTraceStream {
25
+ actions: Map<string, FailedAction>;
26
+ failedAction?: FailedAction | undefined;
27
+ consoleEvents: ConsoleEvent[];
28
+ rawSnapshots?: any[];
29
+ latestResolvedDom?: ResolvedElement | null;
30
+ mainFrameDom?: ResolvedElement | null;
31
+ latestChildFrameDom?: ResolvedElement | null;
32
+ domByCallId?: Map<string, ResolvedElement>;
33
+ domByFrameId?: Map<string, ResolvedElement>;
34
+ }
35
+ export declare class TraceParser {
36
+ private static selectFailedAction;
37
+ /**
38
+ * Parses the raw lines of a .trace JSONL stream into structured actions, events, and DOM snapshots.
39
+ */
40
+ static parseTraceLines(lines: string[]): ParsedTraceStream;
41
+ /**
42
+ * Parses raw lines of a .network JSONL stream into structured NetworkEvents.
43
+ */
44
+ static parseNetworkLines(lines: string[]): NetworkEvent[];
45
+ /**
46
+ * Assembles a normalized DiagnosticContext from raw trace lines and network lines.
47
+ */
48
+ static assembleDiagnosticContext(traceLines: string[], networkLines: string[]): DiagnosticContext;
49
+ }
50
+ //# sourceMappingURL=trace-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-parser.d.ts","sourceRoot":"","sources":["../../src/trace/trace-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAoB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,mBAAmB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AA4BD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC;;OAEG;IACH,OAAc,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAoQhE;IAED;;OAEG;IACH,OAAc,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CA6C/D;IAED;;OAEG;IACH,OAAc,yBAAyB,CACrC,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,MAAM,EAAE,GACrB,iBAAiB,CA4DnB;CACF"}
@@ -0,0 +1,20 @@
1
+ export interface TraceVersionInfo {
2
+ traceFormatVersion: number;
3
+ playwrightVersion?: string;
4
+ isSupported: boolean;
5
+ }
6
+ export declare class VersionDetector {
7
+ static readonly SUPPORTED_FORMAT_VERSIONS: number[];
8
+ /**
9
+ * Detects the trace format version from raw JSONL event lines or an archive entry.
10
+ * Scans the first N events looking for a 'version' event or metadata object.
11
+ * If no explicit version is found, returns version 0 (unknown/unsupported).
12
+ */
13
+ static detectFromLines(lines: string[]): TraceVersionInfo;
14
+ /**
15
+ * Asserts that a detected trace version is supported by the engine.
16
+ * Throws UnsupportedTraceVersionError if not.
17
+ */
18
+ static assertSupported(versionInfo: TraceVersionInfo): void;
19
+ }
20
+ //# sourceMappingURL=version-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-detector.d.ts","sourceRoot":"","sources":["../../src/trace/version-detector.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,eAAe;IAI1B,gBAAuB,yBAAyB,WAA0B;IAE1E;;;;OAIG;IACH,OAAc,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CA8C/D;IAED;;;OAGG;IACH,OAAc,eAAe,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAOjE;CACF"}
package/package.json CHANGED
@@ -1,6 +1,76 @@
1
- {
2
- "name": "playwright-intelligence-engine",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
1
+ {
2
+ "name": "playwright-intelligence-engine",
3
+ "version": "2.0.0",
4
+ "description": "Enterprise-grade Playwright reliability, failure diagnosis, and intent-preserving test verification engine",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "pw-intel": "bin/pw-intel.js",
10
+ "playwright-intelligence-engine": "bin/pw-intel.js"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "bin",
15
+ "src",
16
+ "skills",
17
+ "README.md",
18
+ "LICENSE"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsup src/index.ts --format esm --clean && tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist",
22
+ "test": "vitest run --maxWorkers=4",
23
+ "test:watch": "vitest",
24
+ "typecheck": "tsc --noEmit && tsc -p tests/tsconfig.json --noEmit",
25
+ "verify:all": "node scripts/verify/index.mjs",
26
+ "verify:full": "node scripts/verify/index.mjs --full",
27
+ "verify:baseline": "node scripts/verify-baseline.mjs"
28
+ },
29
+ "keywords": [
30
+ "playwright",
31
+ "test-intelligence",
32
+ "self-healing",
33
+ "flaky-tests",
34
+ "ast-manipulation",
35
+ "trace-analysis"
36
+ ],
37
+ "author": "Playwright Intelligence Team",
38
+ "license": "Apache-2.0",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/lst2121/playwright-intelligence-engine.git"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/lst2121/playwright-intelligence-engine/issues"
45
+ },
46
+ "homepage": "https://github.com/lst2121/playwright-intelligence-engine#readme",
47
+ "engines": {
48
+ "node": ">=20.0.0"
49
+ },
50
+ "dependencies": {
51
+ "adm-zip": "^0.6.1",
52
+ "ts-morph": "^28.0.0",
53
+ "tsx": "^4.23.15",
54
+ "zod": "^4.6.7"
55
+ },
56
+ "peerDependencies": {
57
+ "@playwright/test": ">=1.30.0"
58
+ },
59
+ "peerDependenciesMeta": {
60
+ "@playwright/test": {
61
+ "optional": true
62
+ }
63
+ },
64
+ "devDependencies": {
65
+ "@playwright/test": "^1.64.1",
66
+ "@types/adm-zip": "^0.6.0",
67
+ "@types/node": "^26.6.6",
68
+ "tsup": "^9.0.0",
69
+ "typescript": "^7.0.2",
70
+ "vitest": "^5.1.0"
71
+ },
72
+ "directories": {
73
+ "doc": "docs",
74
+ "test": "tests"
75
+ }
76
+ }
@@ -0,0 +1,20 @@
1
+ # PIE Agent Skill Pack
2
+
3
+ This directory contains first-party skills for agents that use PIE through the
4
+ CLI or MCP server.
5
+
6
+ - `pie-quality-engineer`: end-to-end quality workflow.
7
+ - `pie-failure-investigation`: evidence-first diagnosis.
8
+ - `pie-repair-review`: safe repair review and approval readiness.
9
+ - `pie-trace-to-repair`: trace diagnosis through bounded repair proposal and
10
+ isolated verification.
11
+ - `pie-release-readiness`: suite health and release reporting.
12
+
13
+ The skills orchestrate PIE. They do not replace PIE's deterministic safety
14
+ gates, worktree isolation, verification, or human approval model.
15
+
16
+ ## Architectural Rule: Workflow vs Conventions vs Truth
17
+
18
+ - **Skills carry workflow** (sequencing, diagnostic reasoning, human review narrative).
19
+ - **Conventions live in `.pie/conventions.json`** (discovered runtime facts: locator strategies, directory layout, identifier conventions, sibling exemplars).
20
+ - **Truth is enforced by a validator** (AST invariant proofs, typechecking, execution proofs). Anything that must be true is enforced by a validator, never by a prompt.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: pie-failure-investigation
3
+ description: Investigate Playwright failures through PIE evidence, causal classification, failure clustering, and safe abstention.
4
+ ---
5
+
6
+ # PIE Failure Investigation
7
+
8
+ Use `diagnose_trace` for individual traces and `cluster_failures` for multiple
9
+ observations. Preserve the original trace, repository, commit, test title, and
10
+ source location in every finding.
11
+
12
+ Do not propose locator changes for backend, authentication, assertion,
13
+ environment, incomplete-evidence, or unsupported-trace failures.
14
+
15
+ When evidence is incomplete, explain what is missing and request a rerun or
16
+ additional artifact instead of guessing.