tabwright 1.0.0 → 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 (568) hide show
  1. package/dist/agent-skills/tabwright/SKILL.md +3 -0
  2. package/dist/aria-snapshot.d.ts +0 -1
  3. package/dist/aria-snapshot.js +9 -1
  4. package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.d.ts +0 -1
  5. package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.js +0 -1
  6. package/dist/bippy.js +5 -5
  7. package/dist/browser-config.d.ts +0 -1
  8. package/dist/browser-config.js +0 -1
  9. package/dist/browser-install.d.ts +0 -1
  10. package/dist/browser-install.js +0 -1
  11. package/dist/browser-launch.d.ts +0 -1
  12. package/dist/browser-launch.js +0 -1
  13. package/dist/capability-agent-skill.d.ts +0 -1
  14. package/dist/capability-agent-skill.js +0 -1
  15. package/dist/capability-auth-state.d.ts +0 -1
  16. package/dist/capability-auth-state.js +0 -1
  17. package/dist/capability-auth.d.ts +0 -1
  18. package/dist/capability-auth.js +0 -1
  19. package/dist/capability-options.d.ts +0 -1
  20. package/dist/capability-options.js +0 -1
  21. package/dist/capability-package.d.ts +0 -1
  22. package/dist/capability-package.js +47 -2
  23. package/dist/capability-registry.d.ts +0 -1
  24. package/dist/capability-registry.js +0 -1
  25. package/dist/capability-runner.d.ts +0 -1
  26. package/dist/capability-runner.js +0 -1
  27. package/dist/capability-studio.d.ts +0 -1
  28. package/dist/capability-studio.js +0 -1
  29. package/dist/cdp-log.d.ts +0 -1
  30. package/dist/cdp-log.js +0 -1
  31. package/dist/cdp-relay.d.ts +0 -1
  32. package/dist/cdp-relay.js +0 -1
  33. package/dist/cdp-session.d.ts +0 -1
  34. package/dist/cdp-session.js +0 -1
  35. package/dist/cdp-types.d.ts +0 -1
  36. package/dist/cdp-types.js +0 -1
  37. package/dist/chrome-discovery.d.ts +0 -1
  38. package/dist/chrome-discovery.js +0 -1
  39. package/dist/clean-html.d.ts +0 -1
  40. package/dist/clean-html.js +0 -1
  41. package/dist/cli.d.ts +0 -1
  42. package/dist/cli.js +10 -56
  43. package/dist/cloud-client.d.ts +0 -1
  44. package/dist/cloud-client.js +0 -1
  45. package/dist/create-logger.d.ts +0 -1
  46. package/dist/create-logger.js +0 -1
  47. package/dist/debugger-examples-types.d.ts +0 -1
  48. package/dist/debugger-examples-types.js +0 -1
  49. package/dist/debugger-examples.d.ts +0 -1
  50. package/dist/debugger-examples.js +0 -1
  51. package/dist/debugger.d.ts +0 -1
  52. package/dist/debugger.js +0 -1
  53. package/dist/diff-utils.d.ts +0 -1
  54. package/dist/diff-utils.js +0 -1
  55. package/dist/doctor.d.ts +0 -1
  56. package/dist/doctor.js +5 -7
  57. package/dist/editor-examples.d.ts +0 -1
  58. package/dist/editor-examples.js +0 -1
  59. package/dist/editor.d.ts +0 -1
  60. package/dist/editor.js +0 -1
  61. package/dist/env-compat.d.ts +0 -1
  62. package/dist/env-compat.js +0 -1
  63. package/dist/executor.d.ts +0 -1
  64. package/dist/executor.js +1 -2
  65. package/dist/extension/background.js +10 -6
  66. package/dist/extension/manifest.json +1 -1
  67. package/dist/extension/options.js +1 -1
  68. package/dist/extension/rrweb-recorder.js +1 -1
  69. package/dist/ghost-browser.d.ts +0 -1
  70. package/dist/ghost-browser.js +0 -1
  71. package/dist/ghost-cursor-controller.d.ts +0 -1
  72. package/dist/ghost-cursor-controller.js +0 -1
  73. package/dist/ghost-cursor.d.ts +0 -1
  74. package/dist/ghost-cursor.js +0 -1
  75. package/dist/htmlrewrite.d.ts +0 -1
  76. package/dist/htmlrewrite.js +0 -1
  77. package/dist/index.d.ts +0 -1
  78. package/dist/index.js +0 -1
  79. package/dist/kill-port.d.ts +0 -1
  80. package/dist/kill-port.js +0 -1
  81. package/dist/kitty-graphics.d.ts +0 -1
  82. package/dist/kitty-graphics.js +0 -1
  83. package/dist/mcp.d.ts +0 -1
  84. package/dist/mcp.js +0 -1
  85. package/dist/package-paths.d.ts +0 -1
  86. package/dist/package-paths.js +0 -1
  87. package/dist/page-markdown.d.ts +0 -1
  88. package/dist/page-markdown.js +0 -1
  89. package/dist/performance-examples.d.ts +0 -1
  90. package/dist/performance-examples.js +0 -1
  91. package/dist/playwright-import.d.ts +0 -1
  92. package/dist/playwright-import.js +0 -1
  93. package/dist/product-paths.d.ts +0 -1
  94. package/dist/product-paths.js +0 -1
  95. package/dist/protocol.d.ts +0 -1
  96. package/dist/protocol.js +0 -1
  97. package/dist/react-source.d.ts +0 -1
  98. package/dist/react-source.js +0 -1
  99. package/dist/readability.js +4 -4
  100. package/dist/relay-client.d.ts +0 -1
  101. package/dist/relay-client.js +0 -1
  102. package/dist/relay-state.d.ts +0 -1
  103. package/dist/relay-state.js +0 -1
  104. package/dist/replay-ai-index.d.ts +0 -1
  105. package/dist/replay-ai-index.js +0 -1
  106. package/dist/replay-eval.d.ts +0 -1
  107. package/dist/replay-eval.js +0 -1
  108. package/dist/replay-handoff.d.ts +0 -1
  109. package/dist/replay-handoff.js +0 -1
  110. package/dist/replay-workflow-compiler.d.ts +0 -1
  111. package/dist/replay-workflow-compiler.js +0 -1
  112. package/dist/rrweb-recording-relay.d.ts +0 -1
  113. package/dist/rrweb-recording-relay.js +0 -1
  114. package/dist/rrweb-recording.d.ts +0 -1
  115. package/dist/rrweb-recording.js +0 -1
  116. package/dist/scoped-fs.d.ts +0 -1
  117. package/dist/scoped-fs.js +0 -1
  118. package/dist/selector-generator.js +2 -2
  119. package/dist/start-relay-server.d.ts +0 -1
  120. package/dist/start-relay-server.js +0 -1
  121. package/dist/styles-examples.d.ts +0 -1
  122. package/dist/styles-examples.js +0 -1
  123. package/dist/styles.d.ts +0 -1
  124. package/dist/styles.js +0 -1
  125. package/dist/tabwright-agent-skill.d.ts +0 -1
  126. package/dist/tabwright-agent-skill.js +0 -1
  127. package/dist/test-declarations.d.ts +0 -1
  128. package/dist/test-declarations.js +0 -1
  129. package/dist/utils.d.ts +0 -1
  130. package/dist/utils.js +2 -2
  131. package/dist/wait-for-page-load.d.ts +0 -1
  132. package/dist/wait-for-page-load.js +0 -1
  133. package/dist/workflow-capability.d.ts +0 -1
  134. package/dist/workflow-capability.js +0 -1
  135. package/package.json +8 -4
  136. package/readme.md +43 -0
  137. package/src/skill.md +5 -2
  138. package/dist/aria-snapshot.d.ts.map +0 -1
  139. package/dist/aria-snapshot.js.map +0 -1
  140. package/dist/aria-snapshot.test.d.ts +0 -2
  141. package/dist/aria-snapshot.test.d.ts.map +0 -1
  142. package/dist/aria-snapshot.test.js +0 -270
  143. package/dist/aria-snapshot.test.js.map +0 -1
  144. package/dist/aria-snapshot.unit.test.d.ts +0 -2
  145. package/dist/aria-snapshot.unit.test.d.ts.map +0 -1
  146. package/dist/aria-snapshot.unit.test.js +0 -542
  147. package/dist/aria-snapshot.unit.test.js.map +0 -1
  148. package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.d.ts.map +0 -1
  149. package/dist/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.js.map +0 -1
  150. package/dist/browser-config.d.ts.map +0 -1
  151. package/dist/browser-config.js.map +0 -1
  152. package/dist/browser-install.d.ts.map +0 -1
  153. package/dist/browser-install.js.map +0 -1
  154. package/dist/browser-launch.d.ts.map +0 -1
  155. package/dist/browser-launch.js.map +0 -1
  156. package/dist/builtin-capabilities.d.ts +0 -28
  157. package/dist/builtin-capabilities.d.ts.map +0 -1
  158. package/dist/builtin-capabilities.js +0 -2673
  159. package/dist/builtin-capabilities.js.map +0 -1
  160. package/dist/capability-agent-skill.d.ts.map +0 -1
  161. package/dist/capability-agent-skill.js.map +0 -1
  162. package/dist/capability-auth-state.d.ts.map +0 -1
  163. package/dist/capability-auth-state.js.map +0 -1
  164. package/dist/capability-auth.d.ts.map +0 -1
  165. package/dist/capability-auth.js.map +0 -1
  166. package/dist/capability-cli-confirmation.test.d.ts +0 -2
  167. package/dist/capability-cli-confirmation.test.d.ts.map +0 -1
  168. package/dist/capability-cli-confirmation.test.js +0 -79
  169. package/dist/capability-cli-confirmation.test.js.map +0 -1
  170. package/dist/capability-options.d.ts.map +0 -1
  171. package/dist/capability-options.js.map +0 -1
  172. package/dist/capability-options.test.d.ts +0 -2
  173. package/dist/capability-options.test.d.ts.map +0 -1
  174. package/dist/capability-options.test.js +0 -81
  175. package/dist/capability-options.test.js.map +0 -1
  176. package/dist/capability-package.d.ts.map +0 -1
  177. package/dist/capability-package.js.map +0 -1
  178. package/dist/capability-package.test.d.ts +0 -2
  179. package/dist/capability-package.test.d.ts.map +0 -1
  180. package/dist/capability-package.test.js +0 -179
  181. package/dist/capability-package.test.js.map +0 -1
  182. package/dist/capability-registry.d.ts.map +0 -1
  183. package/dist/capability-registry.js.map +0 -1
  184. package/dist/capability-registry.test.d.ts +0 -2
  185. package/dist/capability-registry.test.d.ts.map +0 -1
  186. package/dist/capability-registry.test.js +0 -1683
  187. package/dist/capability-registry.test.js.map +0 -1
  188. package/dist/capability-runner.d.ts.map +0 -1
  189. package/dist/capability-runner.js.map +0 -1
  190. package/dist/capability-search-relevance.test.d.ts +0 -2
  191. package/dist/capability-search-relevance.test.d.ts.map +0 -1
  192. package/dist/capability-search-relevance.test.js +0 -67
  193. package/dist/capability-search-relevance.test.js.map +0 -1
  194. package/dist/capability-studio.d.ts.map +0 -1
  195. package/dist/capability-studio.js.map +0 -1
  196. package/dist/capability-studio.test.d.ts +0 -2
  197. package/dist/capability-studio.test.d.ts.map +0 -1
  198. package/dist/capability-studio.test.js +0 -41
  199. package/dist/capability-studio.test.js.map +0 -1
  200. package/dist/cdp-log.d.ts.map +0 -1
  201. package/dist/cdp-log.js.map +0 -1
  202. package/dist/cdp-log.test.d.ts +0 -2
  203. package/dist/cdp-log.test.d.ts.map +0 -1
  204. package/dist/cdp-log.test.js +0 -109
  205. package/dist/cdp-log.test.js.map +0 -1
  206. package/dist/cdp-relay.d.ts.map +0 -1
  207. package/dist/cdp-relay.js.map +0 -1
  208. package/dist/cdp-session.d.ts.map +0 -1
  209. package/dist/cdp-session.js.map +0 -1
  210. package/dist/cdp-types.d.ts.map +0 -1
  211. package/dist/cdp-types.js.map +0 -1
  212. package/dist/channel-owner-inspect.test.d.ts +0 -2
  213. package/dist/channel-owner-inspect.test.d.ts.map +0 -1
  214. package/dist/channel-owner-inspect.test.js +0 -75
  215. package/dist/channel-owner-inspect.test.js.map +0 -1
  216. package/dist/chrome-discovery.d.ts.map +0 -1
  217. package/dist/chrome-discovery.js.map +0 -1
  218. package/dist/chrome-discovery.test.d.ts +0 -2
  219. package/dist/chrome-discovery.test.d.ts.map +0 -1
  220. package/dist/chrome-discovery.test.js +0 -41
  221. package/dist/chrome-discovery.test.js.map +0 -1
  222. package/dist/clean-html.d.ts.map +0 -1
  223. package/dist/clean-html.js.map +0 -1
  224. package/dist/cli-help.test.d.ts +0 -2
  225. package/dist/cli-help.test.d.ts.map +0 -1
  226. package/dist/cli-help.test.js +0 -98
  227. package/dist/cli-help.test.js.map +0 -1
  228. package/dist/cli.d.ts.map +0 -1
  229. package/dist/cli.js.map +0 -1
  230. package/dist/cloud-client.d.ts.map +0 -1
  231. package/dist/cloud-client.js.map +0 -1
  232. package/dist/create-logger.d.ts.map +0 -1
  233. package/dist/create-logger.js.map +0 -1
  234. package/dist/debugger-examples-types.d.ts.map +0 -1
  235. package/dist/debugger-examples-types.js.map +0 -1
  236. package/dist/debugger-examples.d.ts.map +0 -1
  237. package/dist/debugger-examples.js.map +0 -1
  238. package/dist/debugger.d.ts.map +0 -1
  239. package/dist/debugger.js.map +0 -1
  240. package/dist/diff-utils.d.ts.map +0 -1
  241. package/dist/diff-utils.js.map +0 -1
  242. package/dist/diff-utils.test.d.ts +0 -2
  243. package/dist/diff-utils.test.d.ts.map +0 -1
  244. package/dist/diff-utils.test.js +0 -137
  245. package/dist/diff-utils.test.js.map +0 -1
  246. package/dist/doctor.d.ts.map +0 -1
  247. package/dist/doctor.js.map +0 -1
  248. package/dist/doctor.test.d.ts +0 -2
  249. package/dist/doctor.test.d.ts.map +0 -1
  250. package/dist/doctor.test.js +0 -208
  251. package/dist/doctor.test.js.map +0 -1
  252. package/dist/editor-examples.d.ts.map +0 -1
  253. package/dist/editor-examples.js.map +0 -1
  254. package/dist/editor.d.ts.map +0 -1
  255. package/dist/editor.js.map +0 -1
  256. package/dist/env-compat.d.ts.map +0 -1
  257. package/dist/env-compat.js.map +0 -1
  258. package/dist/executor.d.ts.map +0 -1
  259. package/dist/executor.js.map +0 -1
  260. package/dist/executor.unit.test.d.ts +0 -2
  261. package/dist/executor.unit.test.d.ts.map +0 -1
  262. package/dist/executor.unit.test.js +0 -143
  263. package/dist/executor.unit.test.js.map +0 -1
  264. package/dist/extension-connection.test.d.ts +0 -2
  265. package/dist/extension-connection.test.d.ts.map +0 -1
  266. package/dist/extension-connection.test.js +0 -708
  267. package/dist/extension-connection.test.js.map +0 -1
  268. package/dist/extension-icon-warning.test.d.ts +0 -2
  269. package/dist/extension-icon-warning.test.d.ts.map +0 -1
  270. package/dist/extension-icon-warning.test.js +0 -33
  271. package/dist/extension-icon-warning.test.js.map +0 -1
  272. package/dist/ghost-browser.d.ts.map +0 -1
  273. package/dist/ghost-browser.js.map +0 -1
  274. package/dist/ghost-cursor-controller.d.ts.map +0 -1
  275. package/dist/ghost-cursor-controller.js.map +0 -1
  276. package/dist/ghost-cursor.d.ts.map +0 -1
  277. package/dist/ghost-cursor.js.map +0 -1
  278. package/dist/htmlrewrite.d.ts.map +0 -1
  279. package/dist/htmlrewrite.js.map +0 -1
  280. package/dist/htmlrewrite.test.d.ts +0 -2
  281. package/dist/htmlrewrite.test.d.ts.map +0 -1
  282. package/dist/htmlrewrite.test.js +0 -7975
  283. package/dist/htmlrewrite.test.js.map +0 -1
  284. package/dist/index.d.ts.map +0 -1
  285. package/dist/index.js.map +0 -1
  286. package/dist/kill-port.d.ts.map +0 -1
  287. package/dist/kill-port.js.map +0 -1
  288. package/dist/kitty-graphics.d.ts.map +0 -1
  289. package/dist/kitty-graphics.js.map +0 -1
  290. package/dist/kitty-graphics.test.d.ts +0 -2
  291. package/dist/kitty-graphics.test.d.ts.map +0 -1
  292. package/dist/kitty-graphics.test.js +0 -125
  293. package/dist/kitty-graphics.test.js.map +0 -1
  294. package/dist/locator-selector.test.d.ts +0 -2
  295. package/dist/locator-selector.test.d.ts.map +0 -1
  296. package/dist/locator-selector.test.js +0 -98
  297. package/dist/locator-selector.test.js.map +0 -1
  298. package/dist/mcp-client.d.ts +0 -20
  299. package/dist/mcp-client.d.ts.map +0 -1
  300. package/dist/mcp-client.js +0 -56
  301. package/dist/mcp-client.js.map +0 -1
  302. package/dist/mcp.d.ts.map +0 -1
  303. package/dist/mcp.js.map +0 -1
  304. package/dist/on-mouse-action.test.d.ts +0 -2
  305. package/dist/on-mouse-action.test.d.ts.map +0 -1
  306. package/dist/on-mouse-action.test.js +0 -180
  307. package/dist/on-mouse-action.test.js.map +0 -1
  308. package/dist/options-page.test.d.ts +0 -2
  309. package/dist/options-page.test.d.ts.map +0 -1
  310. package/dist/options-page.test.js +0 -773
  311. package/dist/options-page.test.js.map +0 -1
  312. package/dist/package-paths.d.ts.map +0 -1
  313. package/dist/package-paths.js.map +0 -1
  314. package/dist/page-markdown.d.ts.map +0 -1
  315. package/dist/page-markdown.js.map +0 -1
  316. package/dist/performance-examples.d.ts.map +0 -1
  317. package/dist/performance-examples.js.map +0 -1
  318. package/dist/playwright-import.d.ts.map +0 -1
  319. package/dist/playwright-import.js.map +0 -1
  320. package/dist/popup-relocation.test.d.ts +0 -7
  321. package/dist/popup-relocation.test.d.ts.map +0 -1
  322. package/dist/popup-relocation.test.js +0 -139
  323. package/dist/popup-relocation.test.js.map +0 -1
  324. package/dist/product-paths.d.ts.map +0 -1
  325. package/dist/product-paths.js.map +0 -1
  326. package/dist/product-paths.test.d.ts +0 -2
  327. package/dist/product-paths.test.d.ts.map +0 -1
  328. package/dist/product-paths.test.js +0 -39
  329. package/dist/product-paths.test.js.map +0 -1
  330. package/dist/protocol.d.ts.map +0 -1
  331. package/dist/protocol.js.map +0 -1
  332. package/dist/protocol.test.d.ts +0 -2
  333. package/dist/protocol.test.d.ts.map +0 -1
  334. package/dist/protocol.test.js +0 -31
  335. package/dist/protocol.test.js.map +0 -1
  336. package/dist/react-source.d.ts.map +0 -1
  337. package/dist/react-source.js.map +0 -1
  338. package/dist/relay-client.d.ts.map +0 -1
  339. package/dist/relay-client.js.map +0 -1
  340. package/dist/relay-client.test.d.ts +0 -2
  341. package/dist/relay-client.test.d.ts.map +0 -1
  342. package/dist/relay-client.test.js +0 -305
  343. package/dist/relay-client.test.js.map +0 -1
  344. package/dist/relay-core.test.d.ts +0 -2
  345. package/dist/relay-core.test.d.ts.map +0 -1
  346. package/dist/relay-core.test.js +0 -1427
  347. package/dist/relay-core.test.js.map +0 -1
  348. package/dist/relay-navigation.test.d.ts +0 -2
  349. package/dist/relay-navigation.test.d.ts.map +0 -1
  350. package/dist/relay-navigation.test.js +0 -661
  351. package/dist/relay-navigation.test.js.map +0 -1
  352. package/dist/relay-session.test.d.ts +0 -2
  353. package/dist/relay-session.test.d.ts.map +0 -1
  354. package/dist/relay-session.test.js +0 -1121
  355. package/dist/relay-session.test.js.map +0 -1
  356. package/dist/relay-state.d.ts.map +0 -1
  357. package/dist/relay-state.js.map +0 -1
  358. package/dist/relay-state.test.d.ts +0 -2
  359. package/dist/relay-state.test.d.ts.map +0 -1
  360. package/dist/relay-state.test.js +0 -594
  361. package/dist/relay-state.test.js.map +0 -1
  362. package/dist/replay-ai-index.d.ts.map +0 -1
  363. package/dist/replay-ai-index.js.map +0 -1
  364. package/dist/replay-ai-index.test.d.ts +0 -2
  365. package/dist/replay-ai-index.test.d.ts.map +0 -1
  366. package/dist/replay-ai-index.test.js +0 -255
  367. package/dist/replay-ai-index.test.js.map +0 -1
  368. package/dist/replay-cli.test.d.ts +0 -2
  369. package/dist/replay-cli.test.d.ts.map +0 -1
  370. package/dist/replay-cli.test.js +0 -275
  371. package/dist/replay-cli.test.js.map +0 -1
  372. package/dist/replay-eval.d.ts.map +0 -1
  373. package/dist/replay-eval.js.map +0 -1
  374. package/dist/replay-handoff.d.ts.map +0 -1
  375. package/dist/replay-handoff.js.map +0 -1
  376. package/dist/replay-handoff.test.d.ts +0 -2
  377. package/dist/replay-handoff.test.d.ts.map +0 -1
  378. package/dist/replay-handoff.test.js +0 -123
  379. package/dist/replay-handoff.test.js.map +0 -1
  380. package/dist/replay-workflow-compiler.d.ts.map +0 -1
  381. package/dist/replay-workflow-compiler.js.map +0 -1
  382. package/dist/replay-workflow-compiler.test.d.ts +0 -2
  383. package/dist/replay-workflow-compiler.test.d.ts.map +0 -1
  384. package/dist/replay-workflow-compiler.test.js +0 -223
  385. package/dist/replay-workflow-compiler.test.js.map +0 -1
  386. package/dist/rrweb-recording-relay.d.ts.map +0 -1
  387. package/dist/rrweb-recording-relay.js.map +0 -1
  388. package/dist/rrweb-recording-relay.test.d.ts +0 -2
  389. package/dist/rrweb-recording-relay.test.d.ts.map +0 -1
  390. package/dist/rrweb-recording-relay.test.js +0 -85
  391. package/dist/rrweb-recording-relay.test.js.map +0 -1
  392. package/dist/rrweb-recording.d.ts.map +0 -1
  393. package/dist/rrweb-recording.js.map +0 -1
  394. package/dist/scoped-fs.d.ts.map +0 -1
  395. package/dist/scoped-fs.js.map +0 -1
  396. package/dist/scoped-fs.test.d.ts +0 -5
  397. package/dist/scoped-fs.test.d.ts.map +0 -1
  398. package/dist/scoped-fs.test.js +0 -73
  399. package/dist/scoped-fs.test.js.map +0 -1
  400. package/dist/skill-stub.test.d.ts +0 -2
  401. package/dist/skill-stub.test.d.ts.map +0 -1
  402. package/dist/skill-stub.test.js +0 -22
  403. package/dist/skill-stub.test.js.map +0 -1
  404. package/dist/snapshot-tools.test.d.ts +0 -2
  405. package/dist/snapshot-tools.test.d.ts.map +0 -1
  406. package/dist/snapshot-tools.test.js +0 -856
  407. package/dist/snapshot-tools.test.js.map +0 -1
  408. package/dist/start-relay-server.d.ts.map +0 -1
  409. package/dist/start-relay-server.js.map +0 -1
  410. package/dist/styles-examples.d.ts.map +0 -1
  411. package/dist/styles-examples.js.map +0 -1
  412. package/dist/styles.d.ts.map +0 -1
  413. package/dist/styles.js.map +0 -1
  414. package/dist/tabwright-agent-skill.d.ts.map +0 -1
  415. package/dist/tabwright-agent-skill.js.map +0 -1
  416. package/dist/tabwright-agent-skill.test.d.ts +0 -2
  417. package/dist/tabwright-agent-skill.test.d.ts.map +0 -1
  418. package/dist/tabwright-agent-skill.test.js +0 -51
  419. package/dist/tabwright-agent-skill.test.js.map +0 -1
  420. package/dist/test-declarations.d.ts.map +0 -1
  421. package/dist/test-declarations.js.map +0 -1
  422. package/dist/test-utils.d.ts +0 -69
  423. package/dist/test-utils.d.ts.map +0 -1
  424. package/dist/test-utils.js +0 -448
  425. package/dist/test-utils.js.map +0 -1
  426. package/dist/test-utils.test.d.ts +0 -2
  427. package/dist/test-utils.test.d.ts.map +0 -1
  428. package/dist/test-utils.test.js +0 -55
  429. package/dist/test-utils.test.js.map +0 -1
  430. package/dist/utils.d.ts.map +0 -1
  431. package/dist/utils.js.map +0 -1
  432. package/dist/wait-for-page-load.d.ts.map +0 -1
  433. package/dist/wait-for-page-load.js.map +0 -1
  434. package/dist/workflow-capability.d.ts.map +0 -1
  435. package/dist/workflow-capability.js.map +0 -1
  436. package/dist/workflow-script-flow.test.d.ts +0 -2
  437. package/dist/workflow-script-flow.test.d.ts.map +0 -1
  438. package/dist/workflow-script-flow.test.js +0 -285
  439. package/dist/workflow-script-flow.test.js.map +0 -1
  440. package/src/__snapshots__/x.com.processed.html +0 -1003
  441. package/src/__snapshots__/x.com.processed.withStyles.html +0 -2720
  442. package/src/a11y-client.ts +0 -241
  443. package/src/agent-skills/conan-config/SKILL.md +0 -141
  444. package/src/agent-skills/conan-config/agents/openai.yaml +0 -4
  445. package/src/aria-snapshot.test.ts +0 -311
  446. package/src/aria-snapshot.ts +0 -1681
  447. package/src/aria-snapshot.unit.test.ts +0 -615
  448. package/src/aria-snapshots/github-interactive.txt +0 -193
  449. package/src/aria-snapshots/github-raw.txt +0 -309
  450. package/src/aria-snapshots/hackernews-interactive.txt +0 -477
  451. package/src/aria-snapshots/hackernews-raw.txt +0 -428
  452. package/src/aria-snapshots/prosemirror-interactive.txt +0 -66
  453. package/src/aria-snapshots/prosemirror-raw.txt +0 -145
  454. package/src/assets/aria-labels-hacker-news.png +0 -0
  455. package/src/assets/aria-labels-old-reddit.png +0 -0
  456. package/src/assets/cursors/screen-studio/pointer-macos-tahoe-data-url.ts +0 -5
  457. package/src/assets/cursors/screen-studio/pointer-macos-tahoe.svg +0 -18
  458. package/src/assets/x.com.html +0 -32946
  459. package/src/browser-config.ts +0 -179
  460. package/src/browser-install.ts +0 -284
  461. package/src/browser-launch.ts +0 -75
  462. package/src/builtin-capabilities.ts +0 -2765
  463. package/src/capability-agent-skill.ts +0 -305
  464. package/src/capability-auth-state.ts +0 -197
  465. package/src/capability-auth.ts +0 -249
  466. package/src/capability-cli-confirmation.test.ts +0 -90
  467. package/src/capability-options.test.ts +0 -89
  468. package/src/capability-options.ts +0 -57
  469. package/src/capability-package.test.ts +0 -204
  470. package/src/capability-package.ts +0 -555
  471. package/src/capability-registry.test.ts +0 -1905
  472. package/src/capability-registry.ts +0 -1234
  473. package/src/capability-runner.ts +0 -801
  474. package/src/capability-search-relevance.test.ts +0 -73
  475. package/src/capability-studio.test.ts +0 -45
  476. package/src/capability-studio.ts +0 -641
  477. package/src/cdp-log.test.ts +0 -131
  478. package/src/cdp-log.ts +0 -112
  479. package/src/cdp-relay.ts +0 -2944
  480. package/src/cdp-session.ts +0 -77
  481. package/src/cdp-types.ts +0 -158
  482. package/src/channel-owner-inspect.test.ts +0 -94
  483. package/src/chrome-discovery.test.ts +0 -50
  484. package/src/chrome-discovery.ts +0 -220
  485. package/src/clean-html.ts +0 -141
  486. package/src/cli-help.test.ts +0 -123
  487. package/src/cli.ts +0 -3181
  488. package/src/cloud-client.ts +0 -179
  489. package/src/create-logger.ts +0 -38
  490. package/src/debugger-examples-types.ts +0 -16
  491. package/src/debugger-examples.ts +0 -66
  492. package/src/debugger.ts +0 -708
  493. package/src/diff-utils.test.ts +0 -152
  494. package/src/diff-utils.ts +0 -70
  495. package/src/doctor.test.ts +0 -244
  496. package/src/doctor.ts +0 -321
  497. package/src/editor-examples.ts +0 -158
  498. package/src/editor.ts +0 -426
  499. package/src/env-compat.ts +0 -28
  500. package/src/executor.ts +0 -1824
  501. package/src/executor.unit.test.ts +0 -168
  502. package/src/extension-connection.test.ts +0 -855
  503. package/src/extension-icon-warning.test.ts +0 -45
  504. package/src/ghost-browser.ts +0 -149
  505. package/src/ghost-cursor-client.ts +0 -494
  506. package/src/ghost-cursor-controller.ts +0 -129
  507. package/src/ghost-cursor.ts +0 -123
  508. package/src/htmlrewrite.test.ts +0 -8008
  509. package/src/htmlrewrite.ts +0 -390
  510. package/src/index.ts +0 -53
  511. package/src/kill-port.ts +0 -219
  512. package/src/kitty-graphics.test.ts +0 -139
  513. package/src/kitty-graphics.ts +0 -79
  514. package/src/locator-selector.test.ts +0 -119
  515. package/src/mcp-client.ts +0 -78
  516. package/src/mcp.ts +0 -629
  517. package/src/on-mouse-action.test.ts +0 -226
  518. package/src/options-page.test.ts +0 -839
  519. package/src/package-paths.ts +0 -38
  520. package/src/page-markdown.ts +0 -240
  521. package/src/performance-examples.ts +0 -186
  522. package/src/playwright-import.ts +0 -59
  523. package/src/popup-relocation.test.ts +0 -163
  524. package/src/product-paths.test.ts +0 -47
  525. package/src/product-paths.ts +0 -28
  526. package/src/protocol.test.ts +0 -52
  527. package/src/protocol.ts +0 -351
  528. package/src/react-source.ts +0 -379
  529. package/src/relay-client.test.ts +0 -375
  530. package/src/relay-client.ts +0 -572
  531. package/src/relay-core.test.ts +0 -1603
  532. package/src/relay-navigation.test.ts +0 -790
  533. package/src/relay-session.test.ts +0 -1375
  534. package/src/relay-state.test.ts +0 -729
  535. package/src/relay-state.ts +0 -561
  536. package/src/replay-ai-index.test.ts +0 -278
  537. package/src/replay-ai-index.ts +0 -872
  538. package/src/replay-cli.test.ts +0 -325
  539. package/src/replay-eval.ts +0 -1039
  540. package/src/replay-handoff.test.ts +0 -163
  541. package/src/replay-handoff.ts +0 -109
  542. package/src/replay-workflow-compiler.test.ts +0 -250
  543. package/src/replay-workflow-compiler.ts +0 -700
  544. package/src/resource.md +0 -409
  545. package/src/rrweb-recording-relay.test.ts +0 -99
  546. package/src/rrweb-recording-relay.ts +0 -400
  547. package/src/rrweb-recording.ts +0 -322
  548. package/src/scoped-fs.test.ts +0 -80
  549. package/src/scoped-fs.ts +0 -420
  550. package/src/skill-stub.test.ts +0 -24
  551. package/src/snapshot-tools.test.ts +0 -1017
  552. package/src/snapshots/hacker-news-accessibility-full.md +0 -81
  553. package/src/snapshots/hacker-news-accessibility-interactive.md +0 -43
  554. package/src/snapshots/page-markdown-output.txt +0 -16
  555. package/src/snapshots/shadcn-ui-accessibility-full.md +0 -201
  556. package/src/snapshots/shadcn-ui-accessibility-interactive.md +0 -109
  557. package/src/start-relay-server.ts +0 -69
  558. package/src/styles-examples.ts +0 -84
  559. package/src/styles.ts +0 -343
  560. package/src/tabwright-agent-skill.test.ts +0 -61
  561. package/src/tabwright-agent-skill.ts +0 -105
  562. package/src/test-declarations.ts +0 -13
  563. package/src/test-utils.test.ts +0 -70
  564. package/src/test-utils.ts +0 -566
  565. package/src/utils.ts +0 -78
  566. package/src/wait-for-page-load.ts +0 -198
  567. package/src/workflow-capability.ts +0 -417
  568. package/src/workflow-script-flow.test.ts +0 -388
@@ -1,47 +0,0 @@
1
- import fs from 'node:fs'
2
- import path from 'node:path'
3
- import { afterEach, describe, expect, test } from 'vitest'
4
- import { getTabwrightProjectDataDir, getTabwrightUserDataDir } from './product-paths.js'
5
-
6
- const testDirs: string[] = []
7
-
8
- function createTestDir(name: string): string {
9
- const root = path.join(process.cwd(), 'tmp')
10
- fs.mkdirSync(root, { recursive: true })
11
- const dir = fs.mkdtempSync(path.join(root, `${name}-`))
12
- testDirs.push(dir)
13
- return dir
14
- }
15
-
16
- afterEach(() => {
17
- testDirs.map((dir) => {
18
- fs.rmSync(dir, { recursive: true, force: true })
19
- return dir
20
- })
21
- })
22
-
23
- describe('Tabwright data paths', () => {
24
- test('uses the Tabwright user and project directories by default', () => {
25
- const root = createTestDir('tabwright-paths')
26
-
27
- expect(getTabwrightUserDataDir({ homeDir: root })).toBe(path.join(root, '.tabwright'))
28
- expect(getTabwrightProjectDataDir({ cwd: root })).toBe(path.join(root, '.tabwright'))
29
- })
30
-
31
- test('continues using legacy data when it is the only existing directory', () => {
32
- const root = createTestDir('tabwright-legacy-paths')
33
- fs.mkdirSync(path.join(root, '.playwriter'))
34
-
35
- expect(getTabwrightUserDataDir({ homeDir: root })).toBe(path.join(root, '.playwriter'))
36
- expect(getTabwrightProjectDataDir({ cwd: root })).toBe(path.join(root, '.playwriter'))
37
- })
38
-
39
- test('prefers the Tabwright directory when both directories exist', () => {
40
- const root = createTestDir('tabwright-current-paths')
41
- fs.mkdirSync(path.join(root, '.playwriter'))
42
- fs.mkdirSync(path.join(root, '.tabwright'))
43
-
44
- expect(getTabwrightUserDataDir({ homeDir: root })).toBe(path.join(root, '.tabwright'))
45
- expect(getTabwrightProjectDataDir({ cwd: root })).toBe(path.join(root, '.tabwright'))
46
- })
47
- })
@@ -1,28 +0,0 @@
1
- import fs from 'node:fs'
2
- import os from 'node:os'
3
- import path from 'node:path'
4
-
5
- export const TABWRIGHT_DATA_DIR_NAME = '.tabwright'
6
- export const LEGACY_PLAYWRITER_DATA_DIR_NAME = '.playwriter'
7
-
8
- export function getTabwrightUserDataDir(options: { homeDir?: string } = {}): string {
9
- const homeDir = options.homeDir || os.homedir()
10
- const currentDir = path.join(homeDir, TABWRIGHT_DATA_DIR_NAME)
11
- const legacyDir = path.join(homeDir, LEGACY_PLAYWRITER_DATA_DIR_NAME)
12
-
13
- if (!fs.existsSync(currentDir) && fs.existsSync(legacyDir)) {
14
- return legacyDir
15
- }
16
- return currentDir
17
- }
18
-
19
- export function getTabwrightProjectDataDir(options: { cwd?: string } = {}): string {
20
- const cwd = options.cwd || process.cwd()
21
- const currentDir = path.join(cwd, TABWRIGHT_DATA_DIR_NAME)
22
- const legacyDir = path.join(cwd, LEGACY_PLAYWRITER_DATA_DIR_NAME)
23
-
24
- if (!fs.existsSync(currentDir) && fs.existsSync(legacyDir)) {
25
- return legacyDir
26
- }
27
- return currentDir
28
- }
@@ -1,52 +0,0 @@
1
- import { describe, expect, test } from 'vitest'
2
- import {
3
- CURRENT_EXTENSION_FEATURES,
4
- EXTENSION_FEATURE,
5
- allowsExtensionFeature,
6
- parseExtensionFeatures,
7
- requiredExtensionFeatureForMethod,
8
- supportsExtensionFeature,
9
- } from './protocol.js'
10
-
11
- describe('extension feature negotiation', () => {
12
- test('treats a missing feature query as a legacy handshake', () => {
13
- expect(parseExtensionFeatures(undefined)).toBeUndefined()
14
- expect(
15
- supportsExtensionFeature({
16
- features: undefined,
17
- feature: EXTENSION_FEATURE.heartbeat,
18
- }),
19
- ).toBe(false)
20
- expect(
21
- allowsExtensionFeature({
22
- features: undefined,
23
- feature: EXTENSION_FEATURE.heartbeat,
24
- }),
25
- ).toBe(true)
26
- expect(
27
- allowsExtensionFeature({
28
- features: [],
29
- feature: EXTENSION_FEATURE.heartbeat,
30
- }),
31
- ).toBe(false)
32
- })
33
-
34
- test('deduplicates advertised features and ignores unknown values safely', () => {
35
- const features = parseExtensionFeatures(
36
- `${EXTENSION_FEATURE.heartbeat},future-feature-v9,${EXTENSION_FEATURE.heartbeat}`,
37
- )
38
-
39
- expect(features).toEqual([EXTENSION_FEATURE.heartbeat, 'future-feature-v9'])
40
- expect(
41
- supportsExtensionFeature({
42
- features,
43
- feature: EXTENSION_FEATURE.heartbeat,
44
- }),
45
- ).toBe(true)
46
- expect(CURRENT_EXTENSION_FEATURES).toContain(EXTENSION_FEATURE.rrwebRecording)
47
- expect(requiredExtensionFeatureForMethod('startRrwebRecording')).toBe(
48
- EXTENSION_FEATURE.rrwebRecording,
49
- )
50
- expect(requiredExtensionFeatureForMethod('forwardCDPCommand')).toBeUndefined()
51
- })
52
- })
package/src/protocol.ts DELETED
@@ -1,351 +0,0 @@
1
- import { CDPEventFor, ProtocolMapping } from './cdp-types.js'
2
-
3
- export const VERSION = 1
4
-
5
- export const EXTENSION_FEATURE = {
6
- heartbeat: 'heartbeat-v1',
7
- createInitialTab: 'create-initial-tab-v1',
8
- rrwebRecording: 'rrweb-recording-v1',
9
- toolbarRecording: 'toolbar-recording-v1',
10
- multiExtension: 'multi-extension-v1',
11
- } as const
12
-
13
- export type ExtensionFeature = (typeof EXTENSION_FEATURE)[keyof typeof EXTENSION_FEATURE]
14
-
15
- export const CURRENT_EXTENSION_FEATURES: ExtensionFeature[] = Object.values(EXTENSION_FEATURE)
16
-
17
- export const RELAY_FEATURE = {
18
- extensionFeatureNegotiation: 'extension-feature-negotiation-v1',
19
- capabilityOptions: 'capability-options-v1',
20
- capabilityAuth: 'capability-auth-v1',
21
- capabilityAuthAutoTab: 'capability-auth-auto-tab-v1',
22
- rrwebRecording: 'rrweb-recording-v1',
23
- multiExtension: 'multi-extension-v1',
24
- } as const
25
-
26
- export type RelayFeature = (typeof RELAY_FEATURE)[keyof typeof RELAY_FEATURE]
27
-
28
- export const RELAY_FEATURES: RelayFeature[] = Object.values(RELAY_FEATURE)
29
- export const RELAY_REVIEW_FEATURES: RelayFeature[] = [
30
- RELAY_FEATURE.capabilityOptions,
31
- RELAY_FEATURE.capabilityAuth,
32
- RELAY_FEATURE.capabilityAuthAutoTab,
33
- RELAY_FEATURE.rrwebRecording,
34
- ]
35
-
36
- export function supportsExtensionFeature(options: {
37
- features: readonly string[] | undefined
38
- feature: ExtensionFeature
39
- }): boolean {
40
- return options.features?.includes(options.feature) || false
41
- }
42
-
43
- export function allowsExtensionFeature(options: {
44
- features: readonly string[] | undefined
45
- feature: ExtensionFeature
46
- }): boolean {
47
- if (options.features === undefined) {
48
- return true
49
- }
50
- return supportsExtensionFeature(options)
51
- }
52
-
53
- export function parseExtensionFeatures(value: string | undefined): string[] | undefined {
54
- if (!value) {
55
- return undefined
56
- }
57
- return [
58
- ...new Set(
59
- value
60
- .split(',')
61
- .map((feature) => feature.trim())
62
- .filter((feature) => {
63
- return feature.length > 0
64
- }),
65
- ),
66
- ]
67
- }
68
-
69
- export function requiredExtensionFeatureForMethod(method: string): ExtensionFeature | undefined {
70
- if (method === 'createInitialTab') {
71
- return EXTENSION_FEATURE.createInitialTab
72
- }
73
- if (
74
- method === 'startRrwebRecording' ||
75
- method === 'stopRrwebRecording' ||
76
- method === 'isRrwebRecording' ||
77
- method === 'cancelRrwebRecording'
78
- ) {
79
- return EXTENSION_FEATURE.rrwebRecording
80
- }
81
- return undefined
82
- }
83
-
84
- type ForwardCDPCommand = {
85
- [K in keyof ProtocolMapping.Commands]: {
86
- id: number
87
- method: 'forwardCDPCommand'
88
- params: {
89
- method: K
90
- sessionId?: string
91
- params?: ProtocolMapping.Commands[K]['paramsType'][0]
92
- source?: 'playwriter'
93
- }
94
- }
95
- }[keyof ProtocolMapping.Commands]
96
-
97
- export type ExtensionCommandMessage = ForwardCDPCommand
98
-
99
- export type ExtensionResponseMessage = {
100
- id: number
101
- method?: undefined
102
- result?: any
103
- error?: string
104
- }
105
-
106
- /**
107
- * This produces a discriminated union for narrowing, similar to ForwardCDPCommand,
108
- * but for forwarded CDP events. Uses CDPEvent to maintain proper type extraction.
109
- */
110
- export type ExtensionEventMessage = {
111
- [K in keyof ProtocolMapping.Events]: {
112
- id?: undefined
113
- method: 'forwardCDPEvent'
114
- params: {
115
- method: CDPEventFor<K>['method']
116
- sessionId?: string
117
- params?: CDPEventFor<K>['params']
118
- }
119
- }
120
- }[keyof ProtocolMapping.Events]
121
-
122
- export type ExtensionLogMessage = {
123
- id?: undefined
124
- method: 'log'
125
- params: {
126
- level: 'log' | 'debug' | 'info' | 'warn' | 'error'
127
- args: string[]
128
- }
129
- }
130
-
131
- export type ExtensionPongMessage = {
132
- id?: undefined
133
- method: 'pong'
134
- }
135
-
136
- export type ServerPingMessage = {
137
- method: 'ping'
138
- id?: undefined
139
- }
140
-
141
- export type RrwebEvent = Record<string, unknown>
142
-
143
- export type RrwebRecordingDataMessage = {
144
- id?: undefined
145
- method: 'rrwebRecordingData'
146
- params: {
147
- tabId: number
148
- events: RrwebEvent[]
149
- final?: boolean
150
- }
151
- }
152
-
153
- export type RrwebRecordingCancelledMessage = {
154
- id?: undefined
155
- method: 'rrwebRecordingCancelled'
156
- params: {
157
- tabId: number
158
- }
159
- }
160
-
161
- export type ToolbarRecordingAction = 'status' | 'toggle'
162
-
163
- export type ToolbarRecordingResult =
164
- | {
165
- success: true
166
- isRecording: boolean
167
- startedAt?: number
168
- tabId?: number
169
- id?: string
170
- path?: string
171
- duration?: number
172
- size?: number
173
- replayId?: string
174
- replayPath?: string
175
- replayDuration?: number
176
- replaySize?: number
177
- replayEventCount?: number
178
- warning?: string
179
- }
180
- | {
181
- success: false
182
- isRecording?: boolean
183
- error: string
184
- }
185
-
186
- export type ToolbarRecordingRequestMessage = {
187
- id?: undefined
188
- method: 'toolbarRecordingRequest'
189
- params: {
190
- requestId: string
191
- action: ToolbarRecordingAction
192
- sessionId?: string
193
- }
194
- }
195
-
196
- export type ToolbarRecordingResponseMessage = {
197
- id?: undefined
198
- method: 'toolbarRecordingResponse'
199
- params: {
200
- requestId: string
201
- result: ToolbarRecordingResult
202
- }
203
- }
204
-
205
- export type ExtensionMessage =
206
- | ExtensionResponseMessage
207
- | ExtensionEventMessage
208
- | ExtensionLogMessage
209
- | ExtensionPongMessage
210
- | RrwebRecordingDataMessage
211
- | RrwebRecordingCancelledMessage
212
- | ToolbarRecordingRequestMessage
213
-
214
- // rrweb DOM replay command messages (MCP -> Extension via relay)
215
- export type StartRrwebRecordingParams = {
216
- /** CDP tab session ID (pw-tab-*) to identify which tab to record. */
217
- sessionId?: string
218
- /** Milliseconds between full snapshot checkouts. Use 0 to disable periodic checkouts. */
219
- checkoutEveryNms?: number
220
- maskAllInputs?: boolean
221
- recordCanvas?: boolean
222
- inlineImages?: boolean
223
- collectFonts?: boolean
224
- mousemoveWait?: number
225
- }
226
-
227
- /** HTTP body for /rrweb-recording/start endpoint */
228
- export type StartRrwebRecordingBody = StartRrwebRecordingParams & {
229
- outputPath?: string
230
- }
231
-
232
- export type StopRrwebRecordingParams = {
233
- /** CDP tab session ID (pw-tab-*) to identify which tab to stop recording. */
234
- sessionId?: string
235
- }
236
-
237
- export type IsRrwebRecordingParams = {
238
- /** CDP tab session ID (pw-tab-*) to identify which tab to check. */
239
- sessionId?: string
240
- }
241
-
242
- export type CancelRrwebRecordingParams = {
243
- /** CDP tab session ID (pw-tab-*) to identify which tab to cancel. */
244
- sessionId?: string
245
- }
246
-
247
- export type StartRrwebRecordingMessage = {
248
- id: number
249
- method: 'startRrwebRecording'
250
- params: StartRrwebRecordingParams
251
- }
252
-
253
- export type StopRrwebRecordingMessage = {
254
- id: number
255
- method: 'stopRrwebRecording'
256
- params: StopRrwebRecordingParams
257
- }
258
-
259
- export type IsRrwebRecordingMessage = {
260
- id: number
261
- method: 'isRrwebRecording'
262
- params: IsRrwebRecordingParams
263
- }
264
-
265
- export type CancelRrwebRecordingMessage = {
266
- id: number
267
- method: 'cancelRrwebRecording'
268
- params: CancelRrwebRecordingParams
269
- }
270
-
271
- export type RrwebRecordingCommandMessage =
272
- | StartRrwebRecordingMessage
273
- | StopRrwebRecordingMessage
274
- | IsRrwebRecordingMessage
275
- | CancelRrwebRecordingMessage
276
-
277
- export type StartRrwebRecordingResult =
278
- | {
279
- success: true
280
- tabId: number
281
- startedAt: number
282
- url?: string
283
- }
284
- | {
285
- success: false
286
- error: string
287
- }
288
-
289
- /** Result from extension - doesn't include path/size since relay writes the file */
290
- export type ExtensionStopRrwebRecordingResult =
291
- | {
292
- success: true
293
- tabId: number
294
- duration: number
295
- }
296
- | {
297
- success: false
298
- error: string
299
- }
300
-
301
- /** Final result from relay - includes path/size after file is written */
302
- export type StopRrwebRecordingResult =
303
- | {
304
- success: true
305
- id?: string
306
- tabId: number
307
- duration: number
308
- path: string
309
- size: number
310
- eventCount: number
311
- }
312
- | {
313
- success: false
314
- error: string
315
- }
316
-
317
- export type IsRrwebRecordingResult = {
318
- isRecording: boolean
319
- tabId?: number
320
- startedAt?: number
321
- url?: string
322
- }
323
-
324
- export type CancelRrwebRecordingResult = {
325
- success: boolean
326
- error?: string
327
- }
328
-
329
- // Ghost Browser API command message (for Ghost Browser integration)
330
- export type GhostBrowserCommandMessage = {
331
- id: number
332
- method: 'ghost-browser'
333
- params: {
334
- /** API namespace: 'ghostPublicAPI' | 'ghostProxies' | 'projects' */
335
- namespace: 'ghostPublicAPI' | 'ghostProxies' | 'projects'
336
- /** Method name within the namespace */
337
- method: string
338
- /** Arguments to pass to the method */
339
- args: unknown[]
340
- }
341
- }
342
-
343
- export type GhostBrowserCommandResult =
344
- | {
345
- success: true
346
- result: unknown
347
- }
348
- | {
349
- success: false
350
- error: string
351
- }