devharness 0.8.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 (627) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/build/atomic-write.d.ts +28 -0
  4. package/build/atomic-write.d.ts.map +1 -0
  5. package/build/atomic-write.js +126 -0
  6. package/build/atomic-write.js.map +1 -0
  7. package/build/cdp-manager.d.ts +524 -0
  8. package/build/cdp-manager.d.ts.map +1 -0
  9. package/build/cdp-manager.js +1828 -0
  10. package/build/cdp-manager.js.map +1 -0
  11. package/build/cdp-manager.test.d.ts +6 -0
  12. package/build/cdp-manager.test.d.ts.map +1 -0
  13. package/build/cdp-manager.test.js +546 -0
  14. package/build/cdp-manager.test.js.map +1 -0
  15. package/build/chrome-launcher.d.ts +400 -0
  16. package/build/chrome-launcher.d.ts.map +1 -0
  17. package/build/chrome-launcher.js +1071 -0
  18. package/build/chrome-launcher.js.map +1 -0
  19. package/build/chrome-launcher.test.d.ts +11 -0
  20. package/build/chrome-launcher.test.d.ts.map +1 -0
  21. package/build/chrome-launcher.test.js +204 -0
  22. package/build/chrome-launcher.test.js.map +1 -0
  23. package/build/clickable-cache.d.ts +73 -0
  24. package/build/clickable-cache.d.ts.map +1 -0
  25. package/build/clickable-cache.js +90 -0
  26. package/build/clickable-cache.js.map +1 -0
  27. package/build/command-recorder.d.ts +401 -0
  28. package/build/command-recorder.d.ts.map +1 -0
  29. package/build/command-recorder.js +701 -0
  30. package/build/command-recorder.js.map +1 -0
  31. package/build/config.d.ts +390 -0
  32. package/build/config.d.ts.map +1 -0
  33. package/build/config.js +826 -0
  34. package/build/config.js.map +1 -0
  35. package/build/config.test.d.ts +2 -0
  36. package/build/config.test.d.ts.map +1 -0
  37. package/build/config.test.js +112 -0
  38. package/build/config.test.js.map +1 -0
  39. package/build/connection-manager.d.ts +159 -0
  40. package/build/connection-manager.d.ts.map +1 -0
  41. package/build/connection-manager.js +432 -0
  42. package/build/connection-manager.js.map +1 -0
  43. package/build/connection-manager.test.d.ts +11 -0
  44. package/build/connection-manager.test.d.ts.map +1 -0
  45. package/build/connection-manager.test.js +114 -0
  46. package/build/connection-manager.test.js.map +1 -0
  47. package/build/console-monitor.d.ts +150 -0
  48. package/build/console-monitor.d.ts.map +1 -0
  49. package/build/console-monitor.js +454 -0
  50. package/build/console-monitor.js.map +1 -0
  51. package/build/dashboard/bundle.js +1 -0
  52. package/build/dashboard/dashboard-client.d.ts +42 -0
  53. package/build/dashboard/dashboard-client.d.ts.map +1 -0
  54. package/build/dashboard/dashboard-client.js +184 -0
  55. package/build/dashboard/dashboard-client.js.map +1 -0
  56. package/build/dashboard/dashboard-hub.d.ts +50 -0
  57. package/build/dashboard/dashboard-hub.d.ts.map +1 -0
  58. package/build/dashboard/dashboard-hub.js +654 -0
  59. package/build/dashboard/dashboard-hub.js.map +1 -0
  60. package/build/dashboard/hub-lock.d.ts +16 -0
  61. package/build/dashboard/hub-lock.d.ts.map +1 -0
  62. package/build/dashboard/hub-lock.js +77 -0
  63. package/build/dashboard/hub-lock.js.map +1 -0
  64. package/build/dashboard/index.d.ts +25 -0
  65. package/build/dashboard/index.d.ts.map +1 -0
  66. package/build/dashboard/index.js +77 -0
  67. package/build/dashboard/index.js.map +1 -0
  68. package/build/dashboard/types.d.ts +83 -0
  69. package/build/dashboard/types.d.ts.map +1 -0
  70. package/build/dashboard/types.js +6 -0
  71. package/build/dashboard/types.js.map +1 -0
  72. package/build/debug-logger.d.ts +85 -0
  73. package/build/debug-logger.d.ts.map +1 -0
  74. package/build/debug-logger.js +195 -0
  75. package/build/debug-logger.js.map +1 -0
  76. package/build/debugger-aware-wrapper.d.ts +37 -0
  77. package/build/debugger-aware-wrapper.d.ts.map +1 -0
  78. package/build/debugger-aware-wrapper.js +128 -0
  79. package/build/debugger-aware-wrapper.js.map +1 -0
  80. package/build/dom-change-monitor.d.ts +92 -0
  81. package/build/dom-change-monitor.d.ts.map +1 -0
  82. package/build/dom-change-monitor.js +437 -0
  83. package/build/dom-change-monitor.js.map +1 -0
  84. package/build/element-collector.d.ts +16 -0
  85. package/build/element-collector.d.ts.map +1 -0
  86. package/build/element-collector.js +207 -0
  87. package/build/element-collector.js.map +1 -0
  88. package/build/error-helpers.d.ts +43 -0
  89. package/build/error-helpers.d.ts.map +1 -0
  90. package/build/error-helpers.js +143 -0
  91. package/build/error-helpers.js.map +1 -0
  92. package/build/formatters/console-formatter.d.ts +160 -0
  93. package/build/formatters/console-formatter.d.ts.map +1 -0
  94. package/build/formatters/console-formatter.js +338 -0
  95. package/build/formatters/console-formatter.js.map +1 -0
  96. package/build/helpers/parser-plugins.d.ts +44 -0
  97. package/build/helpers/parser-plugins.d.ts.map +1 -0
  98. package/build/helpers/parser-plugins.js +102 -0
  99. package/build/helpers/parser-plugins.js.map +1 -0
  100. package/build/helpers/paths.d.ts +79 -0
  101. package/build/helpers/paths.d.ts.map +1 -0
  102. package/build/helpers/paths.js +168 -0
  103. package/build/helpers/paths.js.map +1 -0
  104. package/build/helpers/process-liveness.d.ts +24 -0
  105. package/build/helpers/process-liveness.d.ts.map +1 -0
  106. package/build/helpers/process-liveness.js +36 -0
  107. package/build/helpers/process-liveness.js.map +1 -0
  108. package/build/helpers/process-liveness.test.d.ts +2 -0
  109. package/build/helpers/process-liveness.test.d.ts.map +1 -0
  110. package/build/helpers/process-liveness.test.js +40 -0
  111. package/build/helpers/process-liveness.test.js.map +1 -0
  112. package/build/helpers/sequence-tree.d.ts +27 -0
  113. package/build/helpers/sequence-tree.d.ts.map +1 -0
  114. package/build/helpers/sequence-tree.js +80 -0
  115. package/build/helpers/sequence-tree.js.map +1 -0
  116. package/build/helpers/sequence-tree.test.d.ts +2 -0
  117. package/build/helpers/sequence-tree.test.d.ts.map +1 -0
  118. package/build/helpers/sequence-tree.test.js +122 -0
  119. package/build/helpers/sequence-tree.test.js.map +1 -0
  120. package/build/index.d.ts +3 -0
  121. package/build/index.d.ts.map +1 -0
  122. package/build/index.js +2007 -0
  123. package/build/index.js.map +1 -0
  124. package/build/interaction-recorder.d.ts +214 -0
  125. package/build/interaction-recorder.d.ts.map +1 -0
  126. package/build/interaction-recorder.js +2007 -0
  127. package/build/interaction-recorder.js.map +1 -0
  128. package/build/issue-tracker.d.ts +107 -0
  129. package/build/issue-tracker.d.ts.map +1 -0
  130. package/build/issue-tracker.js +582 -0
  131. package/build/issue-tracker.js.map +1 -0
  132. package/build/issue-tracker.test.d.ts +2 -0
  133. package/build/issue-tracker.test.d.ts.map +1 -0
  134. package/build/issue-tracker.test.js +88 -0
  135. package/build/issue-tracker.test.js.map +1 -0
  136. package/build/launch-chrome-port.test.d.ts +14 -0
  137. package/build/launch-chrome-port.test.d.ts.map +1 -0
  138. package/build/launch-chrome-port.test.js +97 -0
  139. package/build/launch-chrome-port.test.js.map +1 -0
  140. package/build/log-processor/orchestrator.d.ts +32 -0
  141. package/build/log-processor/orchestrator.d.ts.map +1 -0
  142. package/build/log-processor/orchestrator.js +27 -0
  143. package/build/log-processor/orchestrator.js.map +1 -0
  144. package/build/logpoint-execution-tracker.d.ts +57 -0
  145. package/build/logpoint-execution-tracker.d.ts.map +1 -0
  146. package/build/logpoint-execution-tracker.js +112 -0
  147. package/build/logpoint-execution-tracker.js.map +1 -0
  148. package/build/mcp-supervisor.d.ts +3 -0
  149. package/build/mcp-supervisor.d.ts.map +1 -0
  150. package/build/mcp-supervisor.js +211 -0
  151. package/build/mcp-supervisor.js.map +1 -0
  152. package/build/messages.d.ts +165 -0
  153. package/build/messages.d.ts.map +1 -0
  154. package/build/messages.js +574 -0
  155. package/build/messages.js.map +1 -0
  156. package/build/network-monitor.d.ts +172 -0
  157. package/build/network-monitor.d.ts.map +1 -0
  158. package/build/network-monitor.js +350 -0
  159. package/build/network-monitor.js.map +1 -0
  160. package/build/overlays.d.ts +49 -0
  161. package/build/overlays.d.ts.map +1 -0
  162. package/build/overlays.js +409 -0
  163. package/build/overlays.js.map +1 -0
  164. package/build/persistent-profiles.test.d.ts +15 -0
  165. package/build/persistent-profiles.test.d.ts.map +1 -0
  166. package/build/persistent-profiles.test.js +470 -0
  167. package/build/persistent-profiles.test.js.map +1 -0
  168. package/build/port-reserver.d.ts +32 -0
  169. package/build/port-reserver.d.ts.map +1 -0
  170. package/build/port-reserver.js +118 -0
  171. package/build/port-reserver.js.map +1 -0
  172. package/build/puppeteer-manager.d.ts +47 -0
  173. package/build/puppeteer-manager.d.ts.map +1 -0
  174. package/build/puppeteer-manager.js +116 -0
  175. package/build/puppeteer-manager.js.map +1 -0
  176. package/build/recording-coverage.test.d.ts +12 -0
  177. package/build/recording-coverage.test.d.ts.map +1 -0
  178. package/build/recording-coverage.test.js +72 -0
  179. package/build/recording-coverage.test.js.map +1 -0
  180. package/build/reference-validator.d.ts +47 -0
  181. package/build/reference-validator.d.ts.map +1 -0
  182. package/build/reference-validator.js +86 -0
  183. package/build/reference-validator.js.map +1 -0
  184. package/build/reference-validator.test.d.ts +5 -0
  185. package/build/reference-validator.test.d.ts.map +1 -0
  186. package/build/reference-validator.test.js +243 -0
  187. package/build/reference-validator.test.js.map +1 -0
  188. package/build/replay-cursor.d.ts +27 -0
  189. package/build/replay-cursor.d.ts.map +1 -0
  190. package/build/replay-cursor.js +240 -0
  191. package/build/replay-cursor.js.map +1 -0
  192. package/build/runners/docker-compose-runner.d.ts +69 -0
  193. package/build/runners/docker-compose-runner.d.ts.map +1 -0
  194. package/build/runners/docker-compose-runner.js +438 -0
  195. package/build/runners/docker-compose-runner.js.map +1 -0
  196. package/build/runners/docker-runner.d.ts +65 -0
  197. package/build/runners/docker-runner.d.ts.map +1 -0
  198. package/build/runners/docker-runner.js +414 -0
  199. package/build/runners/docker-runner.js.map +1 -0
  200. package/build/runners/index.d.ts +19 -0
  201. package/build/runners/index.d.ts.map +1 -0
  202. package/build/runners/index.js +35 -0
  203. package/build/runners/index.js.map +1 -0
  204. package/build/runners/native-runner.d.ts +95 -0
  205. package/build/runners/native-runner.d.ts.map +1 -0
  206. package/build/runners/native-runner.js +370 -0
  207. package/build/runners/native-runner.js.map +1 -0
  208. package/build/runners/types.d.ts +147 -0
  209. package/build/runners/types.d.ts.map +1 -0
  210. package/build/runners/types.js +25 -0
  211. package/build/runners/types.js.map +1 -0
  212. package/build/self-restart.d.ts +12 -0
  213. package/build/self-restart.d.ts.map +1 -0
  214. package/build/self-restart.js +41 -0
  215. package/build/self-restart.js.map +1 -0
  216. package/build/self-restart.test.d.ts +2 -0
  217. package/build/self-restart.test.d.ts.map +1 -0
  218. package/build/self-restart.test.js +34 -0
  219. package/build/self-restart.test.js.map +1 -0
  220. package/build/server-claims.d.ts +161 -0
  221. package/build/server-claims.d.ts.map +1 -0
  222. package/build/server-claims.js +382 -0
  223. package/build/server-claims.js.map +1 -0
  224. package/build/server-claims.test.d.ts +2 -0
  225. package/build/server-claims.test.d.ts.map +1 -0
  226. package/build/server-claims.test.js +197 -0
  227. package/build/server-claims.test.js.map +1 -0
  228. package/build/server-manager.d.ts +438 -0
  229. package/build/server-manager.d.ts.map +1 -0
  230. package/build/server-manager.js +1674 -0
  231. package/build/server-manager.js.map +1 -0
  232. package/build/server-manager.test.d.ts +17 -0
  233. package/build/server-manager.test.d.ts.map +1 -0
  234. package/build/server-manager.test.js +122 -0
  235. package/build/server-manager.test.js.map +1 -0
  236. package/build/server-ownership.test.d.ts +2 -0
  237. package/build/server-ownership.test.d.ts.map +1 -0
  238. package/build/server-ownership.test.js +238 -0
  239. package/build/server-ownership.test.js.map +1 -0
  240. package/build/server-watcher.d.ts +21 -0
  241. package/build/server-watcher.d.ts.map +1 -0
  242. package/build/server-watcher.js +105 -0
  243. package/build/server-watcher.js.map +1 -0
  244. package/build/session-detector.d.ts +47 -0
  245. package/build/session-detector.d.ts.map +1 -0
  246. package/build/session-detector.js +229 -0
  247. package/build/session-detector.js.map +1 -0
  248. package/build/session-detector.test.d.ts +9 -0
  249. package/build/session-detector.test.d.ts.map +1 -0
  250. package/build/session-detector.test.js +45 -0
  251. package/build/session-detector.test.js.map +1 -0
  252. package/build/sourcemap-handler.d.ts +114 -0
  253. package/build/sourcemap-handler.d.ts.map +1 -0
  254. package/build/sourcemap-handler.js +479 -0
  255. package/build/sourcemap-handler.js.map +1 -0
  256. package/build/supervisor/child-manager.d.ts +43 -0
  257. package/build/supervisor/child-manager.d.ts.map +1 -0
  258. package/build/supervisor/child-manager.js +148 -0
  259. package/build/supervisor/child-manager.js.map +1 -0
  260. package/build/supervisor/child-manager.test.d.ts +2 -0
  261. package/build/supervisor/child-manager.test.d.ts.map +1 -0
  262. package/build/supervisor/child-manager.test.js +107 -0
  263. package/build/supervisor/child-manager.test.js.map +1 -0
  264. package/build/supervisor/client-watcher.d.ts +48 -0
  265. package/build/supervisor/client-watcher.d.ts.map +1 -0
  266. package/build/supervisor/client-watcher.js +186 -0
  267. package/build/supervisor/client-watcher.js.map +1 -0
  268. package/build/supervisor/client-watcher.test.d.ts +2 -0
  269. package/build/supervisor/client-watcher.test.d.ts.map +1 -0
  270. package/build/supervisor/client-watcher.test.js +121 -0
  271. package/build/supervisor/client-watcher.test.js.map +1 -0
  272. package/build/supervisor/idle-config.d.ts +30 -0
  273. package/build/supervisor/idle-config.d.ts.map +1 -0
  274. package/build/supervisor/idle-config.js +76 -0
  275. package/build/supervisor/idle-config.js.map +1 -0
  276. package/build/supervisor/idle-config.test.d.ts +2 -0
  277. package/build/supervisor/idle-config.test.d.ts.map +1 -0
  278. package/build/supervisor/idle-config.test.js +119 -0
  279. package/build/supervisor/idle-config.test.js.map +1 -0
  280. package/build/supervisor/ndjson-reader.d.ts +47 -0
  281. package/build/supervisor/ndjson-reader.d.ts.map +1 -0
  282. package/build/supervisor/ndjson-reader.js +75 -0
  283. package/build/supervisor/ndjson-reader.js.map +1 -0
  284. package/build/supervisor/ndjson-reader.test.d.ts +2 -0
  285. package/build/supervisor/ndjson-reader.test.d.ts.map +1 -0
  286. package/build/supervisor/ndjson-reader.test.js +92 -0
  287. package/build/supervisor/ndjson-reader.test.js.map +1 -0
  288. package/build/supervisor/pidfile.d.ts +11 -0
  289. package/build/supervisor/pidfile.d.ts.map +1 -0
  290. package/build/supervisor/pidfile.js +29 -0
  291. package/build/supervisor/pidfile.js.map +1 -0
  292. package/build/supervisor/pidfile.test.d.ts +8 -0
  293. package/build/supervisor/pidfile.test.d.ts.map +1 -0
  294. package/build/supervisor/pidfile.test.js +46 -0
  295. package/build/supervisor/pidfile.test.js.map +1 -0
  296. package/build/supervisor/restart-coordinator.d.ts +73 -0
  297. package/build/supervisor/restart-coordinator.d.ts.map +1 -0
  298. package/build/supervisor/restart-coordinator.js +300 -0
  299. package/build/supervisor/restart-coordinator.js.map +1 -0
  300. package/build/supervisor/restart-coordinator.test.d.ts +2 -0
  301. package/build/supervisor/restart-coordinator.test.d.ts.map +1 -0
  302. package/build/supervisor/restart-coordinator.test.js +434 -0
  303. package/build/supervisor/restart-coordinator.test.js.map +1 -0
  304. package/build/test-support/fake-execute-tool-call.d.ts +11 -0
  305. package/build/test-support/fake-execute-tool-call.d.ts.map +1 -0
  306. package/build/test-support/fake-execute-tool-call.js +19 -0
  307. package/build/test-support/fake-execute-tool-call.js.map +1 -0
  308. package/build/tool-error.d.ts +14 -0
  309. package/build/tool-error.d.ts.map +1 -0
  310. package/build/tool-error.js +18 -0
  311. package/build/tool-error.js.map +1 -0
  312. package/build/tool-response.d.ts +293 -0
  313. package/build/tool-response.d.ts.map +1 -0
  314. package/build/tool-response.js +365 -0
  315. package/build/tool-response.js.map +1 -0
  316. package/build/tools/assert-tools.d.ts +62 -0
  317. package/build/tools/assert-tools.d.ts.map +1 -0
  318. package/build/tools/assert-tools.js +330 -0
  319. package/build/tools/assert-tools.js.map +1 -0
  320. package/build/tools/breakpoint-await-abort.test.d.ts +2 -0
  321. package/build/tools/breakpoint-await-abort.test.d.ts.map +1 -0
  322. package/build/tools/breakpoint-await-abort.test.js +124 -0
  323. package/build/tools/breakpoint-await-abort.test.js.map +1 -0
  324. package/build/tools/breakpoint-tools.d.ts +99 -0
  325. package/build/tools/breakpoint-tools.d.ts.map +1 -0
  326. package/build/tools/breakpoint-tools.js +1197 -0
  327. package/build/tools/breakpoint-tools.js.map +1 -0
  328. package/build/tools/config-tools.d.ts +58 -0
  329. package/build/tools/config-tools.d.ts.map +1 -0
  330. package/build/tools/config-tools.js +180 -0
  331. package/build/tools/config-tools.js.map +1 -0
  332. package/build/tools/connection-routing.test.d.ts +12 -0
  333. package/build/tools/connection-routing.test.d.ts.map +1 -0
  334. package/build/tools/connection-routing.test.js +206 -0
  335. package/build/tools/connection-routing.test.js.map +1 -0
  336. package/build/tools/console-tools.d.ts +84 -0
  337. package/build/tools/console-tools.d.ts.map +1 -0
  338. package/build/tools/console-tools.js +241 -0
  339. package/build/tools/console-tools.js.map +1 -0
  340. package/build/tools/content-tools.d.ts +74 -0
  341. package/build/tools/content-tools.d.ts.map +1 -0
  342. package/build/tools/content-tools.js +582 -0
  343. package/build/tools/content-tools.js.map +1 -0
  344. package/build/tools/dashboard-tools.d.ts +38 -0
  345. package/build/tools/dashboard-tools.d.ts.map +1 -0
  346. package/build/tools/dashboard-tools.js +123 -0
  347. package/build/tools/dashboard-tools.js.map +1 -0
  348. package/build/tools/dom-tools.d.ts +41 -0
  349. package/build/tools/dom-tools.d.ts.map +1 -0
  350. package/build/tools/dom-tools.js +277 -0
  351. package/build/tools/dom-tools.js.map +1 -0
  352. package/build/tools/download-tools.d.ts +55 -0
  353. package/build/tools/download-tools.d.ts.map +1 -0
  354. package/build/tools/download-tools.js +280 -0
  355. package/build/tools/download-tools.js.map +1 -0
  356. package/build/tools/execution-tools.d.ts +40 -0
  357. package/build/tools/execution-tools.d.ts.map +1 -0
  358. package/build/tools/execution-tools.js +121 -0
  359. package/build/tools/execution-tools.js.map +1 -0
  360. package/build/tools/input-abort.test.d.ts +2 -0
  361. package/build/tools/input-abort.test.d.ts.map +1 -0
  362. package/build/tools/input-abort.test.js +227 -0
  363. package/build/tools/input-abort.test.js.map +1 -0
  364. package/build/tools/input-ambiguous-selector.test.d.ts +2 -0
  365. package/build/tools/input-ambiguous-selector.test.d.ts.map +1 -0
  366. package/build/tools/input-ambiguous-selector.test.js +34 -0
  367. package/build/tools/input-ambiguous-selector.test.js.map +1 -0
  368. package/build/tools/input-tools.d.ts +168 -0
  369. package/build/tools/input-tools.d.ts.map +1 -0
  370. package/build/tools/input-tools.js +1397 -0
  371. package/build/tools/input-tools.js.map +1 -0
  372. package/build/tools/inspection-tools.d.ts +112 -0
  373. package/build/tools/inspection-tools.d.ts.map +1 -0
  374. package/build/tools/inspection-tools.js +637 -0
  375. package/build/tools/inspection-tools.js.map +1 -0
  376. package/build/tools/interpolation.d.ts +30 -0
  377. package/build/tools/interpolation.d.ts.map +1 -0
  378. package/build/tools/interpolation.js +143 -0
  379. package/build/tools/interpolation.js.map +1 -0
  380. package/build/tools/issues-abort-hygiene.test.d.ts +2 -0
  381. package/build/tools/issues-abort-hygiene.test.d.ts.map +1 -0
  382. package/build/tools/issues-abort-hygiene.test.js +79 -0
  383. package/build/tools/issues-abort-hygiene.test.js.map +1 -0
  384. package/build/tools/issues-tools.d.ts +98 -0
  385. package/build/tools/issues-tools.d.ts.map +1 -0
  386. package/build/tools/issues-tools.js +821 -0
  387. package/build/tools/issues-tools.js.map +1 -0
  388. package/build/tools/issues-tools.test.d.ts +8 -0
  389. package/build/tools/issues-tools.test.d.ts.map +1 -0
  390. package/build/tools/issues-tools.test.js +184 -0
  391. package/build/tools/issues-tools.test.js.map +1 -0
  392. package/build/tools/modal-tools.d.ts +73 -0
  393. package/build/tools/modal-tools.d.ts.map +1 -0
  394. package/build/tools/modal-tools.js +161 -0
  395. package/build/tools/modal-tools.js.map +1 -0
  396. package/build/tools/network-tools.d.ts +72 -0
  397. package/build/tools/network-tools.d.ts.map +1 -0
  398. package/build/tools/network-tools.js +432 -0
  399. package/build/tools/network-tools.js.map +1 -0
  400. package/build/tools/page-tools.d.ts +78 -0
  401. package/build/tools/page-tools.d.ts.map +1 -0
  402. package/build/tools/page-tools.js +255 -0
  403. package/build/tools/page-tools.js.map +1 -0
  404. package/build/tools/plugin-tools.d.ts +16 -0
  405. package/build/tools/plugin-tools.d.ts.map +1 -0
  406. package/build/tools/plugin-tools.js +17 -0
  407. package/build/tools/plugin-tools.js.map +1 -0
  408. package/build/tools/replay-abort.test.d.ts +2 -0
  409. package/build/tools/replay-abort.test.d.ts.map +1 -0
  410. package/build/tools/replay-abort.test.js +259 -0
  411. package/build/tools/replay-abort.test.js.map +1 -0
  412. package/build/tools/replay-add-conditional.test.d.ts +2 -0
  413. package/build/tools/replay-add-conditional.test.d.ts.map +1 -0
  414. package/build/tools/replay-add-conditional.test.js +205 -0
  415. package/build/tools/replay-add-conditional.test.js.map +1 -0
  416. package/build/tools/replay-background-run.test.d.ts +2 -0
  417. package/build/tools/replay-background-run.test.d.ts.map +1 -0
  418. package/build/tools/replay-background-run.test.js +176 -0
  419. package/build/tools/replay-background-run.test.js.map +1 -0
  420. package/build/tools/replay-capture-variables.test.d.ts +2 -0
  421. package/build/tools/replay-capture-variables.test.d.ts.map +1 -0
  422. package/build/tools/replay-capture-variables.test.js +331 -0
  423. package/build/tools/replay-capture-variables.test.js.map +1 -0
  424. package/build/tools/replay-conditional-idb-and-launch.test.d.ts +11 -0
  425. package/build/tools/replay-conditional-idb-and-launch.test.d.ts.map +1 -0
  426. package/build/tools/replay-conditional-idb-and-launch.test.js +429 -0
  427. package/build/tools/replay-conditional-idb-and-launch.test.js.map +1 -0
  428. package/build/tools/replay-conditional-timeout.test.d.ts +14 -0
  429. package/build/tools/replay-conditional-timeout.test.d.ts.map +1 -0
  430. package/build/tools/replay-conditional-timeout.test.js +126 -0
  431. package/build/tools/replay-conditional-timeout.test.js.map +1 -0
  432. package/build/tools/replay-declare.test.d.ts +2 -0
  433. package/build/tools/replay-declare.test.d.ts.map +1 -0
  434. package/build/tools/replay-declare.test.js +106 -0
  435. package/build/tools/replay-declare.test.js.map +1 -0
  436. package/build/tools/replay-declared-browser-cleanup.test.d.ts +2 -0
  437. package/build/tools/replay-declared-browser-cleanup.test.d.ts.map +1 -0
  438. package/build/tools/replay-declared-browser-cleanup.test.js +103 -0
  439. package/build/tools/replay-declared-browser-cleanup.test.js.map +1 -0
  440. package/build/tools/replay-declared-profile.test.d.ts +2 -0
  441. package/build/tools/replay-declared-profile.test.d.ts.map +1 -0
  442. package/build/tools/replay-declared-profile.test.js +116 -0
  443. package/build/tools/replay-declared-profile.test.js.map +1 -0
  444. package/build/tools/replay-executor.d.ts +556 -0
  445. package/build/tools/replay-executor.d.ts.map +1 -0
  446. package/build/tools/replay-executor.js +2347 -0
  447. package/build/tools/replay-executor.js.map +1 -0
  448. package/build/tools/replay-folder-save.test.d.ts +2 -0
  449. package/build/tools/replay-folder-save.test.d.ts.map +1 -0
  450. package/build/tools/replay-folder-save.test.js +63 -0
  451. package/build/tools/replay-folder-save.test.js.map +1 -0
  452. package/build/tools/replay-formatters.d.ts +148 -0
  453. package/build/tools/replay-formatters.d.ts.map +1 -0
  454. package/build/tools/replay-formatters.js +856 -0
  455. package/build/tools/replay-formatters.js.map +1 -0
  456. package/build/tools/replay-kill-chrome-on-finish.test.d.ts +2 -0
  457. package/build/tools/replay-kill-chrome-on-finish.test.d.ts.map +1 -0
  458. package/build/tools/replay-kill-chrome-on-finish.test.js +175 -0
  459. package/build/tools/replay-kill-chrome-on-finish.test.js.map +1 -0
  460. package/build/tools/replay-multi-connection.test.d.ts +2 -0
  461. package/build/tools/replay-multi-connection.test.d.ts.map +1 -0
  462. package/build/tools/replay-multi-connection.test.js +547 -0
  463. package/build/tools/replay-multi-connection.test.js.map +1 -0
  464. package/build/tools/replay-output-and-record-options.test.d.ts +2 -0
  465. package/build/tools/replay-output-and-record-options.test.d.ts.map +1 -0
  466. package/build/tools/replay-output-and-record-options.test.js +240 -0
  467. package/build/tools/replay-output-and-record-options.test.js.map +1 -0
  468. package/build/tools/replay-production-error-shape.test.d.ts +7 -0
  469. package/build/tools/replay-production-error-shape.test.d.ts.map +1 -0
  470. package/build/tools/replay-production-error-shape.test.js +93 -0
  471. package/build/tools/replay-production-error-shape.test.js.map +1 -0
  472. package/build/tools/replay-rebase.test.d.ts +2 -0
  473. package/build/tools/replay-rebase.test.d.ts.map +1 -0
  474. package/build/tools/replay-rebase.test.js +58 -0
  475. package/build/tools/replay-rebase.test.js.map +1 -0
  476. package/build/tools/replay-retry-classification.test.d.ts +9 -0
  477. package/build/tools/replay-retry-classification.test.d.ts.map +1 -0
  478. package/build/tools/replay-retry-classification.test.js +57 -0
  479. package/build/tools/replay-retry-classification.test.js.map +1 -0
  480. package/build/tools/replay-run-registry.d.ts +55 -0
  481. package/build/tools/replay-run-registry.d.ts.map +1 -0
  482. package/build/tools/replay-run-registry.js +65 -0
  483. package/build/tools/replay-run-registry.js.map +1 -0
  484. package/build/tools/replay-sequence-reload.test.d.ts +2 -0
  485. package/build/tools/replay-sequence-reload.test.d.ts.map +1 -0
  486. package/build/tools/replay-sequence-reload.test.js +82 -0
  487. package/build/tools/replay-sequence-reload.test.js.map +1 -0
  488. package/build/tools/replay-socket-scope.test.d.ts +2 -0
  489. package/build/tools/replay-socket-scope.test.d.ts.map +1 -0
  490. package/build/tools/replay-socket-scope.test.js +75 -0
  491. package/build/tools/replay-socket-scope.test.js.map +1 -0
  492. package/build/tools/replay-step-connection.test.d.ts +2 -0
  493. package/build/tools/replay-step-connection.test.d.ts.map +1 -0
  494. package/build/tools/replay-step-connection.test.js +292 -0
  495. package/build/tools/replay-step-connection.test.js.map +1 -0
  496. package/build/tools/replay-step-timeout.test.d.ts +2 -0
  497. package/build/tools/replay-step-timeout.test.d.ts.map +1 -0
  498. package/build/tools/replay-step-timeout.test.js +204 -0
  499. package/build/tools/replay-step-timeout.test.js.map +1 -0
  500. package/build/tools/replay-tags.test.d.ts +2 -0
  501. package/build/tools/replay-tags.test.d.ts.map +1 -0
  502. package/build/tools/replay-tags.test.js +99 -0
  503. package/build/tools/replay-tags.test.js.map +1 -0
  504. package/build/tools/replay-teardown-and-foreach.test.d.ts +13 -0
  505. package/build/tools/replay-teardown-and-foreach.test.d.ts.map +1 -0
  506. package/build/tools/replay-teardown-and-foreach.test.js +318 -0
  507. package/build/tools/replay-teardown-and-foreach.test.js.map +1 -0
  508. package/build/tools/replay-tool-name-validation.test.d.ts +2 -0
  509. package/build/tools/replay-tool-name-validation.test.d.ts.map +1 -0
  510. package/build/tools/replay-tool-name-validation.test.js +280 -0
  511. package/build/tools/replay-tool-name-validation.test.js.map +1 -0
  512. package/build/tools/replay-tools.d.ts +288 -0
  513. package/build/tools/replay-tools.d.ts.map +1 -0
  514. package/build/tools/replay-tools.js +2994 -0
  515. package/build/tools/replay-tools.js.map +1 -0
  516. package/build/tools/request-abort.test.d.ts +2 -0
  517. package/build/tools/request-abort.test.d.ts.map +1 -0
  518. package/build/tools/request-abort.test.js +130 -0
  519. package/build/tools/request-abort.test.js.map +1 -0
  520. package/build/tools/request-tools.d.ts +56 -0
  521. package/build/tools/request-tools.d.ts.map +1 -0
  522. package/build/tools/request-tools.js +174 -0
  523. package/build/tools/request-tools.js.map +1 -0
  524. package/build/tools/screenshot-tools.d.ts +135 -0
  525. package/build/tools/screenshot-tools.d.ts.map +1 -0
  526. package/build/tools/screenshot-tools.js +636 -0
  527. package/build/tools/screenshot-tools.js.map +1 -0
  528. package/build/tools/server-tools.d.ts +88 -0
  529. package/build/tools/server-tools.d.ts.map +1 -0
  530. package/build/tools/server-tools.js +485 -0
  531. package/build/tools/server-tools.js.map +1 -0
  532. package/build/tools/source-tools.d.ts +46 -0
  533. package/build/tools/source-tools.d.ts.map +1 -0
  534. package/build/tools/source-tools.js +47 -0
  535. package/build/tools/source-tools.js.map +1 -0
  536. package/build/tools/storage-tools.d.ts +141 -0
  537. package/build/tools/storage-tools.d.ts.map +1 -0
  538. package/build/tools/storage-tools.js +894 -0
  539. package/build/tools/storage-tools.js.map +1 -0
  540. package/build/tools/storage-tools.test.d.ts +13 -0
  541. package/build/tools/storage-tools.test.d.ts.map +1 -0
  542. package/build/tools/storage-tools.test.js +707 -0
  543. package/build/tools/storage-tools.test.js.map +1 -0
  544. package/build/tools/tab-tools.d.ts +42 -0
  545. package/build/tools/tab-tools.d.ts.map +1 -0
  546. package/build/tools/tab-tools.js +296 -0
  547. package/build/tools/tab-tools.js.map +1 -0
  548. package/build/tools/wait-tools.d.ts +85 -0
  549. package/build/tools/wait-tools.d.ts.map +1 -0
  550. package/build/tools/wait-tools.js +236 -0
  551. package/build/tools/wait-tools.js.map +1 -0
  552. package/build/tools/wait-tools.test.d.ts +9 -0
  553. package/build/tools/wait-tools.test.d.ts.map +1 -0
  554. package/build/tools/wait-tools.test.js +193 -0
  555. package/build/tools/wait-tools.test.js.map +1 -0
  556. package/build/types.d.ts +133 -0
  557. package/build/types.d.ts.map +1 -0
  558. package/build/types.js +5 -0
  559. package/build/types.js.map +1 -0
  560. package/build/ui-verifier.d.ts +88 -0
  561. package/build/ui-verifier.d.ts.map +1 -0
  562. package/build/ui-verifier.js +540 -0
  563. package/build/ui-verifier.js.map +1 -0
  564. package/build/utils/abort.d.ts +68 -0
  565. package/build/utils/abort.d.ts.map +1 -0
  566. package/build/utils/abort.js +159 -0
  567. package/build/utils/abort.js.map +1 -0
  568. package/build/utils/abort.test.d.ts +2 -0
  569. package/build/utils/abort.test.d.ts.map +1 -0
  570. package/build/utils/abort.test.js +174 -0
  571. package/build/utils/abort.test.js.map +1 -0
  572. package/build/utils/modal-detection-core.d.ts +150 -0
  573. package/build/utils/modal-detection-core.d.ts.map +1 -0
  574. package/build/utils/modal-detection-core.js +332 -0
  575. package/build/utils/modal-detection-core.js.map +1 -0
  576. package/build/utils/modal-detection-core.test.d.ts +5 -0
  577. package/build/utils/modal-detection-core.test.d.ts.map +1 -0
  578. package/build/utils/modal-detection-core.test.js +492 -0
  579. package/build/utils/modal-detection-core.test.js.map +1 -0
  580. package/build/utils/modal-detector.d.ts +29 -0
  581. package/build/utils/modal-detector.d.ts.map +1 -0
  582. package/build/utils/modal-detector.js +281 -0
  583. package/build/utils/modal-detector.js.map +1 -0
  584. package/build/utils/modal-dismissal.d.ts +32 -0
  585. package/build/utils/modal-dismissal.d.ts.map +1 -0
  586. package/build/utils/modal-dismissal.js +190 -0
  587. package/build/utils/modal-dismissal.js.map +1 -0
  588. package/build/utils/port-check.d.ts +31 -0
  589. package/build/utils/port-check.d.ts.map +1 -0
  590. package/build/utils/port-check.js +87 -0
  591. package/build/utils/port-check.js.map +1 -0
  592. package/build/utils/port-check.test.d.ts +2 -0
  593. package/build/utils/port-check.test.d.ts.map +1 -0
  594. package/build/utils/port-check.test.js +66 -0
  595. package/build/utils/port-check.test.js.map +1 -0
  596. package/build/utils/selector-resolver.d.ts +66 -0
  597. package/build/utils/selector-resolver.d.ts.map +1 -0
  598. package/build/utils/selector-resolver.js +200 -0
  599. package/build/utils/selector-resolver.js.map +1 -0
  600. package/build/validation-helpers.d.ts +41 -0
  601. package/build/validation-helpers.d.ts.map +1 -0
  602. package/build/validation-helpers.js +236 -0
  603. package/build/validation-helpers.js.map +1 -0
  604. package/build/window-sizing.d.ts +26 -0
  605. package/build/window-sizing.d.ts.map +1 -0
  606. package/build/window-sizing.js +87 -0
  607. package/build/window-sizing.js.map +1 -0
  608. package/build/window-sizing.test.d.ts +8 -0
  609. package/build/window-sizing.test.d.ts.map +1 -0
  610. package/build/window-sizing.test.js +113 -0
  611. package/build/window-sizing.test.js.map +1 -0
  612. package/docs/README.md +74 -0
  613. package/docs/automation.md +562 -0
  614. package/docs/debugging.md +229 -0
  615. package/docs/installation.md +133 -0
  616. package/docs/instructions.md +227 -0
  617. package/docs/mcp-instructions.md +15 -0
  618. package/docs/message-system.md +327 -0
  619. package/docs/messages.md +3480 -0
  620. package/docs/parser-plugins.md +132 -0
  621. package/docs/replay.md +1411 -0
  622. package/docs/troubleshooting.md +272 -0
  623. package/docs/working_with_llm_notes.md +5 -0
  624. package/package.json +87 -0
  625. package/skills/devharness/SKILL.md +195 -0
  626. package/skills/devharness/references/sequences.md +613 -0
  627. package/skills/devharness/references/tool-categories.md +99 -0
@@ -0,0 +1,409 @@
1
+ /**
2
+ * Shared overlay system for cdp-tools
3
+ * Provides consistent UI for issue workflows (workOn, resolve, replay)
4
+ */
5
+ // =============================================================================
6
+ // Preset Configurations
7
+ // =============================================================================
8
+ /**
9
+ * Overlay for workOn when there's no sequence - offers Record or Explore
10
+ */
11
+ export function getWorkOnNoSequenceConfig(issueType, issueId, issueTitle) {
12
+ const typeLabel = issueType === 'bug' ? 'Bug' : 'Feature';
13
+ const actionLabel = issueType === 'bug' ? 'Reproduce' : 'Test';
14
+ return {
15
+ id: '__cdp-workon-overlay',
16
+ title: `${typeLabel} #${issueId}`,
17
+ description: issueTitle,
18
+ instructions: 'No recording exists for this issue. Choose how to proceed:',
19
+ buttons: [
20
+ { id: 'cancel', label: 'CANCEL', action: 'cancel' },
21
+ { id: 'explore', label: 'EXPLORE', action: 'explore' },
22
+ { id: 'record', label: `${actionLabel.toUpperCase()} & RECORD`, action: 'record', primary: true },
23
+ ],
24
+ };
25
+ }
26
+ /**
27
+ * Overlay for workOn/resolve when there IS a sequence - just Begin or Cancel
28
+ */
29
+ export function getTestReadyConfig(issueType, issueId, issueTitle) {
30
+ const typeLabel = issueType === 'bug' ? 'Bug' : 'Feature';
31
+ return {
32
+ id: '__cdp-test-ready-overlay',
33
+ title: `Testing ${typeLabel} #${issueId}`,
34
+ description: issueTitle,
35
+ instructions: 'The recorded sequence will replay. Watch for the issue.',
36
+ buttons: [
37
+ { id: 'cancel', label: 'CANCEL', action: 'cancel' },
38
+ { id: 'begin', label: 'BEGIN TEST', action: 'begin', primary: true },
39
+ ],
40
+ };
41
+ }
42
+ /**
43
+ * Overlay for resolve verification - asks if issue is fixed
44
+ */
45
+ export function getVerificationConfig(issueType, issueId, issueTitle) {
46
+ const typeLabel = issueType === 'bug' ? 'Bug' : 'Feature';
47
+ const questionText = issueType === 'bug'
48
+ ? 'Is this bug fixed?'
49
+ : 'Is this feature implemented?';
50
+ const yesLabel = issueType === 'bug' ? 'FIXED' : 'IMPLEMENTED';
51
+ const noLabel = issueType === 'bug' ? 'NOT FIXED' : 'NOT DONE';
52
+ return {
53
+ id: '__cdp-verification-overlay',
54
+ title: `${typeLabel} #${issueId}`,
55
+ description: issueTitle,
56
+ instructions: questionText,
57
+ buttons: [
58
+ { id: 'no', label: noLabel, action: 'no' },
59
+ { id: 'yes', label: yesLabel, action: 'yes', primary: true },
60
+ ],
61
+ showComment: true,
62
+ commentPlaceholder: 'Add a comment (optional)',
63
+ };
64
+ }
65
+ // =============================================================================
66
+ // Main Overlay Function
67
+ // =============================================================================
68
+ /**
69
+ * Show a modal overlay with configurable buttons
70
+ * Returns the action taken and optional comment
71
+ */
72
+ export async function showOverlay(page, config) {
73
+ return await page.evaluate((params) => {
74
+ return new Promise((resolve) => {
75
+ const doc = globalThis.document;
76
+ // Remove any existing overlays that might interfere
77
+ const existing = doc.getElementById(params.id);
78
+ if (existing)
79
+ existing.remove();
80
+ const replayOverlay = doc.getElementById('__cdp-replay-overlay');
81
+ if (replayOverlay)
82
+ replayOverlay.remove();
83
+ const verifyOverlay = doc.getElementById('__cdp-verification-overlay');
84
+ if (verifyOverlay)
85
+ verifyOverlay.remove();
86
+ const testReadyOverlay = doc.getElementById('__cdp-test-ready-overlay');
87
+ if (testReadyOverlay)
88
+ testReadyOverlay.remove();
89
+ // Clean up any replay overlay event listeners/styles
90
+ const blocker = globalThis.__cdpReplayBlocker;
91
+ if (blocker) {
92
+ blocker.feedbackEvents?.forEach((evt) => doc.removeEventListener(evt, blocker.blockWithFeedback, true));
93
+ blocker.silentBlockEvents?.forEach((evt) => doc.removeEventListener(evt, blocker.blockSilently, true));
94
+ delete globalThis.__cdpReplayBlocker;
95
+ }
96
+ const style = globalThis.__cdpReplayStyle;
97
+ if (style) {
98
+ style.remove();
99
+ delete globalThis.__cdpReplayStyle;
100
+ }
101
+ // Create elements using DOM methods (Trusted Types compatible)
102
+ const overlay = doc.createElement('div');
103
+ overlay.id = params.id;
104
+ // Reset all inherited styles and set our own
105
+ overlay.style.cssText = 'all: initial; opacity: 1 !important;';
106
+ const backdrop = doc.createElement('div');
107
+ backdrop.style.cssText = `
108
+ all: initial;
109
+ position: fixed !important;
110
+ top: 0 !important;
111
+ left: 0 !important;
112
+ right: 0 !important;
113
+ bottom: 0 !important;
114
+ background: #424242 !important;
115
+ z-index: 2147483646 !important;
116
+ display: flex !important;
117
+ align-items: center !important;
118
+ justify-content: center !important;
119
+ font-family: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
120
+ opacity: 1 !important;
121
+ `;
122
+ const card = doc.createElement('div');
123
+ card.style.cssText = `
124
+ background: #ffffff !important;
125
+ border-radius: 4px !important;
126
+ padding: 24px !important;
127
+ max-width: 480px !important;
128
+ width: 90% !important;
129
+ box-shadow: 0 11px 15px -7px rgba(0,0,0,0.2), 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12) !important;
130
+ color: #212121 !important;
131
+ text-align: center !important;
132
+ opacity: 1 !important;
133
+ `;
134
+ // Title label
135
+ const titleLabel = doc.createElement('div');
136
+ titleLabel.textContent = params.title;
137
+ titleLabel.style.cssText = `
138
+ font-size: 12px !important;
139
+ color: #757575 !important;
140
+ text-transform: uppercase !important;
141
+ letter-spacing: 0.5px !important;
142
+ margin-bottom: 16px !important;
143
+ opacity: 1 !important;
144
+ `;
145
+ // Description
146
+ const description = doc.createElement('div');
147
+ description.textContent = params.description;
148
+ description.style.cssText = `
149
+ font-size: 18px !important;
150
+ font-weight: 500 !important;
151
+ margin-bottom: 20px !important;
152
+ padding: 16px !important;
153
+ background: #f5f5f5 !important;
154
+ border-radius: 4px !important;
155
+ color: #212121 !important;
156
+ text-align: center !important;
157
+ opacity: 1 !important;
158
+ `;
159
+ // Instructions (if provided)
160
+ let instructionsEl = null;
161
+ if (params.instructions) {
162
+ instructionsEl = doc.createElement('div');
163
+ instructionsEl.textContent = params.instructions;
164
+ instructionsEl.style.cssText = `
165
+ font-size: 14px !important;
166
+ color: #616161 !important;
167
+ margin-bottom: 24px !important;
168
+ opacity: 1 !important;
169
+ `;
170
+ }
171
+ // Comment textarea (if enabled)
172
+ let commentInput = null;
173
+ if (params.showComment) {
174
+ commentInput = doc.createElement('textarea');
175
+ commentInput.placeholder = params.commentPlaceholder || 'Add a comment (optional)';
176
+ commentInput.style.cssText = `
177
+ width: 100% !important;
178
+ height: 80px !important;
179
+ padding: 12px !important;
180
+ border: 1px solid #e0e0e0 !important;
181
+ border-radius: 4px !important;
182
+ background: #fafafa !important;
183
+ color: #212121 !important;
184
+ font-size: 14px !important;
185
+ resize: none !important;
186
+ margin-bottom: 24px !important;
187
+ box-sizing: border-box !important;
188
+ outline: none !important;
189
+ opacity: 1 !important;
190
+ `;
191
+ }
192
+ // Button container
193
+ const buttonContainer = doc.createElement('div');
194
+ buttonContainer.style.cssText = `
195
+ display: flex !important;
196
+ gap: 8px !important;
197
+ justify-content: center !important;
198
+ flex-wrap: wrap !important;
199
+ opacity: 1 !important;
200
+ `;
201
+ // Shared button styles
202
+ const buttonBase = {
203
+ minWidth: '120px',
204
+ height: '36px',
205
+ padding: '0 16px',
206
+ borderRadius: '4px',
207
+ border: 'none',
208
+ fontSize: '14px',
209
+ fontWeight: '500',
210
+ cursor: 'pointer',
211
+ textTransform: 'uppercase',
212
+ letterSpacing: '0.5px'
213
+ };
214
+ // Block keyboard events from reaching the app
215
+ const blockKeyboard = (e) => {
216
+ e.stopPropagation();
217
+ };
218
+ doc.addEventListener('keydown', blockKeyboard, true);
219
+ doc.addEventListener('keyup', blockKeyboard, true);
220
+ doc.addEventListener('keypress', blockKeyboard, true);
221
+ const cleanup = () => {
222
+ doc.removeEventListener('keydown', blockKeyboard, true);
223
+ doc.removeEventListener('keyup', blockKeyboard, true);
224
+ doc.removeEventListener('keypress', blockKeyboard, true);
225
+ overlay.remove();
226
+ };
227
+ // Create buttons
228
+ for (const btnConfig of params.buttons) {
229
+ const btn = doc.createElement('button');
230
+ btn.id = `__cdp-overlay-${btnConfig.id}`;
231
+ btn.textContent = btnConfig.label;
232
+ let bgColor = '#f5f5f5';
233
+ let textColor = '#616161';
234
+ if (btnConfig.primary) {
235
+ bgColor = '#1976d2';
236
+ textColor = '#ffffff';
237
+ }
238
+ else if (btnConfig.danger) {
239
+ bgColor = '#d32f2f';
240
+ textColor = '#ffffff';
241
+ }
242
+ Object.assign(btn.style, {
243
+ ...buttonBase,
244
+ background: bgColor,
245
+ color: textColor
246
+ });
247
+ btn.addEventListener('click', () => {
248
+ const comment = commentInput?.value?.trim() || undefined;
249
+ cleanup();
250
+ resolve({ action: btnConfig.action, comment });
251
+ });
252
+ buttonContainer.appendChild(btn);
253
+ }
254
+ // Assemble card
255
+ card.appendChild(titleLabel);
256
+ card.appendChild(description);
257
+ if (instructionsEl)
258
+ card.appendChild(instructionsEl);
259
+ if (commentInput)
260
+ card.appendChild(commentInput);
261
+ card.appendChild(buttonContainer);
262
+ backdrop.appendChild(card);
263
+ overlay.appendChild(backdrop);
264
+ doc.body.appendChild(overlay);
265
+ });
266
+ }, config);
267
+ }
268
+ // =============================================================================
269
+ // Replay Overlay (non-blocking banner)
270
+ // =============================================================================
271
+ /**
272
+ * Show a "Replay in progress" overlay that blocks user interaction
273
+ * Returns a cleanup function to remove the overlay
274
+ */
275
+ export async function showReplayBanner(page, issueType, issueTitle, issueId) {
276
+ const typeLabel = issueType === 'bug' ? 'Bug' : 'Feature';
277
+ await page.evaluate((params) => {
278
+ const doc = globalThis.document;
279
+ // Create overlay - transparent with banner at top
280
+ // pointerEvents: 'none' allows automated clicks to pass through while
281
+ // event listeners still capture and block manual user interactions
282
+ const overlay = doc.createElement('div');
283
+ overlay.id = '__cdp-replay-overlay';
284
+ Object.assign(overlay.style, {
285
+ position: 'fixed',
286
+ top: '0',
287
+ left: '0',
288
+ width: '100%',
289
+ height: '100%',
290
+ background: 'transparent',
291
+ zIndex: '2147483647',
292
+ pointerEvents: 'none',
293
+ fontFamily: '"Roboto", -apple-system, system-ui, sans-serif'
294
+ });
295
+ // Banner at top (not centered)
296
+ const card = doc.createElement('div');
297
+ Object.assign(card.style, {
298
+ position: 'absolute',
299
+ top: '16px',
300
+ left: '50%',
301
+ transform: 'translateX(-50%)',
302
+ background: 'rgba(33, 33, 33, 0.9)',
303
+ borderRadius: '8px',
304
+ padding: '12px 24px',
305
+ maxWidth: '400px',
306
+ boxShadow: '0 4px 12px rgba(0,0,0,0.3)',
307
+ textAlign: 'center',
308
+ display: 'flex',
309
+ alignItems: 'center',
310
+ gap: '12px'
311
+ });
312
+ // Spinner (small, inline)
313
+ const spinner = doc.createElement('div');
314
+ Object.assign(spinner.style, {
315
+ width: '20px',
316
+ height: '20px',
317
+ border: '2px solid rgba(255,255,255,0.3)',
318
+ borderTop: '2px solid #4fc3f7',
319
+ borderRadius: '50%',
320
+ animation: 'cdp-spin 1s linear infinite',
321
+ flexShrink: '0'
322
+ });
323
+ // Add keyframe animations
324
+ const style = doc.createElement('style');
325
+ style.textContent = `
326
+ @keyframes cdp-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
327
+ @keyframes cdp-shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-4px); } 40% { transform: translateX(4px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }
328
+ `;
329
+ doc.head.appendChild(style);
330
+ globalThis.__cdpReplayStyle = style;
331
+ // Instructions/status text
332
+ const instructions = doc.createElement('div');
333
+ instructions.textContent = `Replaying ${params.typeLabel} #${params.issueId}...`;
334
+ Object.assign(instructions.style, {
335
+ fontSize: '14px',
336
+ color: '#ffffff',
337
+ whiteSpace: 'nowrap'
338
+ });
339
+ card.appendChild(spinner);
340
+ card.appendChild(instructions);
341
+ overlay.appendChild(card);
342
+ doc.body.appendChild(overlay);
343
+ // Block all user interactions with escalating feedback
344
+ let attemptCount = 0;
345
+ const attitudeMessages = [
346
+ "I said WAIT.",
347
+ "Seriously?",
348
+ "The spinner means BUSY.",
349
+ "Do you want bugs? Because this is how you get bugs.",
350
+ "...",
351
+ ];
352
+ const feedbackEvents = ['click', 'keydown', 'touchend'];
353
+ const silentBlockEvents = ['mousedown', 'mouseup', 'keyup', 'keypress', 'touchstart'];
354
+ const blockWithFeedback = (e) => {
355
+ // Don't block if CDP replay is in progress (flag set by replay executor)
356
+ if (globalThis.__cdpReplayClickInProgress)
357
+ return;
358
+ e.preventDefault();
359
+ e.stopPropagation();
360
+ e.stopImmediatePropagation();
361
+ attemptCount++;
362
+ console.log('[cdp-tools] Blocked user interaction during replay:', e.type, 'target:', e.target?.tagName);
363
+ instructions.style.animation = 'none';
364
+ void instructions.offsetWidth;
365
+ instructions.style.animation = 'cdp-shake 0.3s ease';
366
+ if (attemptCount > 3) {
367
+ const msgIndex = Math.min(attemptCount - 4, attitudeMessages.length - 1);
368
+ instructions.textContent = attitudeMessages[msgIndex];
369
+ instructions.style.color = '#d32f2f';
370
+ }
371
+ };
372
+ const blockSilently = (e) => {
373
+ // Don't block if CDP replay is in progress (flag set by replay executor)
374
+ if (globalThis.__cdpReplayClickInProgress)
375
+ return;
376
+ e.preventDefault();
377
+ e.stopPropagation();
378
+ e.stopImmediatePropagation();
379
+ };
380
+ feedbackEvents.forEach(evt => doc.addEventListener(evt, blockWithFeedback, true));
381
+ silentBlockEvents.forEach(evt => doc.addEventListener(evt, blockSilently, true));
382
+ globalThis.__cdpReplayBlocker = {
383
+ blockWithFeedback,
384
+ blockSilently,
385
+ feedbackEvents,
386
+ silentBlockEvents
387
+ };
388
+ }, { typeLabel, issueTitle, issueId });
389
+ // Return cleanup function
390
+ return async () => {
391
+ await page.evaluate(() => {
392
+ const doc = globalThis.document;
393
+ const overlay = doc.getElementById('__cdp-replay-overlay');
394
+ if (overlay)
395
+ overlay.remove();
396
+ const style = globalThis.__cdpReplayStyle;
397
+ if (style)
398
+ style.remove();
399
+ const blocker = globalThis.__cdpReplayBlocker;
400
+ if (blocker) {
401
+ blocker.feedbackEvents.forEach((evt) => doc.removeEventListener(evt, blocker.blockWithFeedback, true));
402
+ blocker.silentBlockEvents.forEach((evt) => doc.removeEventListener(evt, blocker.blockSilently, true));
403
+ delete globalThis.__cdpReplayBlocker;
404
+ }
405
+ delete globalThis.__cdpReplayStyle;
406
+ });
407
+ };
408
+ }
409
+ //# sourceMappingURL=overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlays.js","sourceRoot":"","sources":["../src/overlays.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tests for feature-013: named persistent Chrome profiles.
3
+ *
4
+ * Covers the three pieces of the feature:
5
+ * - ChromeLauncher: name validation, stable directories, ephemeral: false so
6
+ * the bug-007 cleanup paths leave them alone, and reset semantics.
7
+ * - ConfigManager: where the profile root resolves to (global by default,
8
+ * per-project override via chrome.persistentProfileRoot).
9
+ * - config tool: the resetProfile / listProfiles actions.
10
+ *
11
+ * No real Chrome is ever spawned - the launch path is exercised through the
12
+ * profile bookkeeping it depends on.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=persistent-profiles.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-profiles.test.d.ts","sourceRoot":"","sources":["../src/persistent-profiles.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}