opendevbrowser 0.0.15 → 0.0.17

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 (646) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +262 -43
  3. package/dist/annotate/direct-annotator.d.ts +22 -0
  4. package/dist/annotate/direct-annotator.d.ts.map +1 -0
  5. package/dist/annotate/output.d.ts +10 -0
  6. package/dist/annotate/output.d.ts.map +1 -0
  7. package/dist/browser/annotation-manager.d.ts +33 -0
  8. package/dist/browser/annotation-manager.d.ts.map +1 -0
  9. package/dist/browser/browser-manager.d.ts +402 -0
  10. package/dist/browser/browser-manager.d.ts.map +1 -0
  11. package/dist/browser/canvas-client.d.ts +53 -0
  12. package/dist/browser/canvas-client.d.ts.map +1 -0
  13. package/dist/browser/canvas-code-sync-manager.d.ts +79 -0
  14. package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -0
  15. package/dist/browser/canvas-manager.d.ts +94 -0
  16. package/dist/browser/canvas-manager.d.ts.map +1 -0
  17. package/dist/browser/canvas-runtime-preview-bridge.d.ts +20 -0
  18. package/dist/browser/canvas-runtime-preview-bridge.d.ts.map +1 -0
  19. package/dist/browser/canvas-session-sync-manager.d.ts +21 -0
  20. package/dist/browser/canvas-session-sync-manager.d.ts.map +1 -0
  21. package/dist/browser/fingerprint/adapters.d.ts +26 -0
  22. package/dist/browser/fingerprint/adapters.d.ts.map +1 -0
  23. package/dist/browser/fingerprint/canary.d.ts +25 -0
  24. package/dist/browser/fingerprint/canary.d.ts.map +1 -0
  25. package/dist/browser/fingerprint/profiles.d.ts +16 -0
  26. package/dist/browser/fingerprint/profiles.d.ts.map +1 -0
  27. package/dist/browser/fingerprint/tier1-coherence.d.ts +36 -0
  28. package/dist/browser/fingerprint/tier1-coherence.d.ts.map +1 -0
  29. package/dist/browser/fingerprint/tier2-runtime.d.ts +40 -0
  30. package/dist/browser/fingerprint/tier2-runtime.d.ts.map +1 -0
  31. package/dist/browser/fingerprint/tier3-adaptive.d.ts +30 -0
  32. package/dist/browser/fingerprint/tier3-adaptive.d.ts.map +1 -0
  33. package/dist/browser/manager-types.d.ts +15 -0
  34. package/dist/browser/manager-types.d.ts.map +1 -0
  35. package/dist/browser/ops-browser-manager.d.ts +141 -0
  36. package/dist/browser/ops-browser-manager.d.ts.map +1 -0
  37. package/dist/browser/ops-client.d.ts +56 -0
  38. package/dist/browser/ops-client.d.ts.map +1 -0
  39. package/dist/browser/parallelism-governor.d.ts +31 -0
  40. package/dist/browser/parallelism-governor.d.ts.map +1 -0
  41. package/dist/browser/script-runner.d.ts +23 -0
  42. package/dist/browser/script-runner.d.ts.map +1 -0
  43. package/dist/browser/session-store.d.ts +63 -0
  44. package/dist/browser/session-store.d.ts.map +1 -0
  45. package/dist/browser/target-manager.d.ts +36 -0
  46. package/dist/browser/target-manager.d.ts.map +1 -0
  47. package/dist/cache/chrome-locator.d.ts +2 -0
  48. package/dist/cache/chrome-locator.d.ts.map +1 -0
  49. package/dist/cache/downloader.d.ts +6 -0
  50. package/dist/cache/downloader.d.ts.map +1 -0
  51. package/dist/cache/paths.d.ts +9 -0
  52. package/dist/cache/paths.d.ts.map +1 -0
  53. package/dist/canvas/code-sync/apply-tsx.d.ts +23 -0
  54. package/dist/canvas/code-sync/apply-tsx.d.ts.map +1 -0
  55. package/dist/canvas/code-sync/graph.d.ts +5 -0
  56. package/dist/canvas/code-sync/graph.d.ts.map +1 -0
  57. package/dist/canvas/code-sync/hash.d.ts +3 -0
  58. package/dist/canvas/code-sync/hash.d.ts.map +1 -0
  59. package/dist/canvas/code-sync/import.d.ts +18 -0
  60. package/dist/canvas/code-sync/import.d.ts.map +1 -0
  61. package/dist/canvas/code-sync/manifest.d.ts +5 -0
  62. package/dist/canvas/code-sync/manifest.d.ts.map +1 -0
  63. package/dist/canvas/code-sync/tsx-adapter.d.ts +8 -0
  64. package/dist/canvas/code-sync/tsx-adapter.d.ts.map +1 -0
  65. package/dist/canvas/code-sync/types.d.ts +152 -0
  66. package/dist/canvas/code-sync/types.d.ts.map +1 -0
  67. package/dist/canvas/code-sync/write.d.ts +9 -0
  68. package/dist/canvas/code-sync/write.d.ts.map +1 -0
  69. package/dist/canvas/document-store.d.ts +81 -0
  70. package/dist/canvas/document-store.d.ts.map +1 -0
  71. package/dist/canvas/export.d.ts +12 -0
  72. package/dist/canvas/export.d.ts.map +1 -0
  73. package/dist/canvas/repo-store.d.ts +10 -0
  74. package/dist/canvas/repo-store.d.ts.map +1 -0
  75. package/dist/canvas/surface-palette.d.ts +15 -0
  76. package/dist/canvas/surface-palette.d.ts.map +1 -0
  77. package/dist/canvas/types.d.ts +255 -0
  78. package/dist/canvas/types.d.ts.map +1 -0
  79. package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js +7 -0
  80. package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js.map +1 -0
  81. package/dist/chunk-5J3IFL3X.js +16706 -0
  82. package/dist/chunk-5J3IFL3X.js.map +1 -0
  83. package/dist/chunk-D633UO34.js +8149 -0
  84. package/dist/chunk-D633UO34.js.map +1 -0
  85. package/dist/chunk-FUSXMW3G.js +169 -0
  86. package/dist/chunk-FUSXMW3G.js.map +1 -0
  87. package/dist/chunk-TBUCZX4A.js +34 -0
  88. package/dist/chunk-TBUCZX4A.js.map +1 -0
  89. package/dist/chunk-V7KUDHDG.js +276 -0
  90. package/dist/chunk-V7KUDHDG.js.map +1 -0
  91. package/dist/chunk-Y2KL55OG.js +59 -0
  92. package/dist/chunk-Y2KL55OG.js.map +1 -0
  93. package/dist/cli/args.d.ts +25 -0
  94. package/dist/cli/args.d.ts.map +1 -0
  95. package/dist/cli/client.d.ts +2 -0
  96. package/dist/cli/client.d.ts.map +1 -0
  97. package/dist/cli/commands/annotate.d.ts +38 -0
  98. package/dist/cli/commands/annotate.d.ts.map +1 -0
  99. package/dist/cli/commands/artifacts.d.ts +24 -0
  100. package/dist/cli/commands/artifacts.d.ts.map +1 -0
  101. package/dist/cli/commands/canvas.d.ts +45 -0
  102. package/dist/cli/commands/canvas.d.ts.map +1 -0
  103. package/dist/cli/commands/daemon.d.ts +35 -0
  104. package/dist/cli/commands/daemon.d.ts.map +1 -0
  105. package/dist/cli/commands/devtools/console-poll.d.ts +7 -0
  106. package/dist/cli/commands/devtools/console-poll.d.ts.map +1 -0
  107. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts +20 -0
  108. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts.map +1 -0
  109. package/dist/cli/commands/devtools/network-poll.d.ts +7 -0
  110. package/dist/cli/commands/devtools/network-poll.d.ts.map +1 -0
  111. package/dist/cli/commands/devtools/perf.d.ts +7 -0
  112. package/dist/cli/commands/devtools/perf.d.ts.map +1 -0
  113. package/dist/cli/commands/devtools/screenshot.d.ts +18 -0
  114. package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -0
  115. package/dist/cli/commands/dom/attr.d.ts +7 -0
  116. package/dist/cli/commands/dom/attr.d.ts.map +1 -0
  117. package/dist/cli/commands/dom/checked.d.ts +7 -0
  118. package/dist/cli/commands/dom/checked.d.ts.map +1 -0
  119. package/dist/cli/commands/dom/enabled.d.ts +7 -0
  120. package/dist/cli/commands/dom/enabled.d.ts.map +1 -0
  121. package/dist/cli/commands/dom/html.d.ts +7 -0
  122. package/dist/cli/commands/dom/html.d.ts.map +1 -0
  123. package/dist/cli/commands/dom/text.d.ts +7 -0
  124. package/dist/cli/commands/dom/text.d.ts.map +1 -0
  125. package/dist/cli/commands/dom/value.d.ts +7 -0
  126. package/dist/cli/commands/dom/value.d.ts.map +1 -0
  127. package/dist/cli/commands/dom/visible.d.ts +7 -0
  128. package/dist/cli/commands/dom/visible.d.ts.map +1 -0
  129. package/dist/cli/commands/export/clone-component.d.ts +16 -0
  130. package/dist/cli/commands/export/clone-component.d.ts.map +1 -0
  131. package/dist/cli/commands/export/clone-page.d.ts +15 -0
  132. package/dist/cli/commands/export/clone-page.d.ts.map +1 -0
  133. package/dist/cli/commands/interact/check.d.ts +7 -0
  134. package/dist/cli/commands/interact/check.d.ts.map +1 -0
  135. package/dist/cli/commands/interact/click.d.ts +7 -0
  136. package/dist/cli/commands/interact/click.d.ts.map +1 -0
  137. package/dist/cli/commands/interact/hover.d.ts +7 -0
  138. package/dist/cli/commands/interact/hover.d.ts.map +1 -0
  139. package/dist/cli/commands/interact/press.d.ts +7 -0
  140. package/dist/cli/commands/interact/press.d.ts.map +1 -0
  141. package/dist/cli/commands/interact/scroll-into-view.d.ts +7 -0
  142. package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -0
  143. package/dist/cli/commands/interact/scroll.d.ts +7 -0
  144. package/dist/cli/commands/interact/scroll.d.ts.map +1 -0
  145. package/dist/cli/commands/interact/select.d.ts +7 -0
  146. package/dist/cli/commands/interact/select.d.ts.map +1 -0
  147. package/dist/cli/commands/interact/type.d.ts +7 -0
  148. package/dist/cli/commands/interact/type.d.ts.map +1 -0
  149. package/dist/cli/commands/interact/uncheck.d.ts +7 -0
  150. package/dist/cli/commands/interact/uncheck.d.ts.map +1 -0
  151. package/dist/cli/commands/macro-resolve.d.ts +18 -0
  152. package/dist/cli/commands/macro-resolve.d.ts.map +1 -0
  153. package/dist/cli/commands/native.d.ts +93 -0
  154. package/dist/cli/commands/native.d.ts.map +1 -0
  155. package/dist/cli/commands/nav/goto.d.ts +7 -0
  156. package/dist/cli/commands/nav/goto.d.ts.map +1 -0
  157. package/dist/cli/commands/nav/snapshot.d.ts +7 -0
  158. package/dist/cli/commands/nav/snapshot.d.ts.map +1 -0
  159. package/dist/cli/commands/nav/wait.d.ts +7 -0
  160. package/dist/cli/commands/nav/wait.d.ts.map +1 -0
  161. package/dist/cli/commands/pages/close.d.ts +6 -0
  162. package/dist/cli/commands/pages/close.d.ts.map +1 -0
  163. package/dist/cli/commands/pages/list.d.ts +7 -0
  164. package/dist/cli/commands/pages/list.d.ts.map +1 -0
  165. package/dist/cli/commands/pages/open.d.ts +7 -0
  166. package/dist/cli/commands/pages/open.d.ts.map +1 -0
  167. package/dist/cli/commands/product-video.d.ts +25 -0
  168. package/dist/cli/commands/product-video.d.ts.map +1 -0
  169. package/dist/cli/commands/registry.d.ts +5 -0
  170. package/dist/cli/commands/registry.d.ts.map +1 -0
  171. package/dist/cli/commands/research.d.ts +27 -0
  172. package/dist/cli/commands/research.d.ts.map +1 -0
  173. package/dist/cli/commands/rpc.d.ts +28 -0
  174. package/dist/cli/commands/rpc.d.ts.map +1 -0
  175. package/dist/cli/commands/run.d.ts +17 -0
  176. package/dist/cli/commands/run.d.ts.map +1 -0
  177. package/dist/cli/commands/serve.d.ts +64 -0
  178. package/dist/cli/commands/serve.d.ts.map +1 -0
  179. package/dist/cli/commands/session/connect.d.ts +9 -0
  180. package/dist/cli/commands/session/connect.d.ts.map +1 -0
  181. package/dist/cli/commands/session/cookie-import.d.ts +31 -0
  182. package/dist/cli/commands/session/cookie-import.d.ts.map +1 -0
  183. package/dist/cli/commands/session/cookie-list.d.ts +17 -0
  184. package/dist/cli/commands/session/cookie-list.d.ts.map +1 -0
  185. package/dist/cli/commands/session/disconnect.d.ts +6 -0
  186. package/dist/cli/commands/session/disconnect.d.ts.map +1 -0
  187. package/dist/cli/commands/session/launch.d.ts +29 -0
  188. package/dist/cli/commands/session/launch.d.ts.map +1 -0
  189. package/dist/cli/commands/session/status.d.ts +7 -0
  190. package/dist/cli/commands/session/status.d.ts.map +1 -0
  191. package/dist/cli/commands/shopping.d.ts +25 -0
  192. package/dist/cli/commands/shopping.d.ts.map +1 -0
  193. package/dist/cli/commands/status.d.ts +24 -0
  194. package/dist/cli/commands/status.d.ts.map +1 -0
  195. package/dist/cli/commands/targets/close.d.ts +6 -0
  196. package/dist/cli/commands/targets/close.d.ts.map +1 -0
  197. package/dist/cli/commands/targets/list.d.ts +7 -0
  198. package/dist/cli/commands/targets/list.d.ts.map +1 -0
  199. package/dist/cli/commands/targets/new.d.ts +7 -0
  200. package/dist/cli/commands/targets/new.d.ts.map +1 -0
  201. package/dist/cli/commands/targets/use.d.ts +7 -0
  202. package/dist/cli/commands/targets/use.d.ts.map +1 -0
  203. package/dist/cli/commands/types.d.ts +13 -0
  204. package/dist/cli/commands/types.d.ts.map +1 -0
  205. package/dist/cli/commands/uninstall.d.ts +14 -0
  206. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  207. package/dist/cli/commands/update.d.ts +7 -0
  208. package/dist/cli/commands/update.d.ts.map +1 -0
  209. package/dist/cli/daemon-autostart.d.ts +46 -0
  210. package/dist/cli/daemon-autostart.d.ts.map +1 -0
  211. package/dist/cli/daemon-client.d.ts +33 -0
  212. package/dist/cli/daemon-client.d.ts.map +1 -0
  213. package/dist/cli/daemon-commands.d.ts +7 -0
  214. package/dist/cli/daemon-commands.d.ts.map +1 -0
  215. package/dist/cli/daemon-state.d.ts +56 -0
  216. package/dist/cli/daemon-state.d.ts.map +1 -0
  217. package/dist/cli/daemon-status.d.ts +19 -0
  218. package/dist/cli/daemon-status.d.ts.map +1 -0
  219. package/dist/cli/daemon.d.ts +29 -0
  220. package/dist/cli/daemon.d.ts.map +1 -0
  221. package/dist/cli/errors.d.ts +20 -0
  222. package/dist/cli/errors.d.ts.map +1 -0
  223. package/dist/cli/help.d.ts +33 -0
  224. package/dist/cli/help.d.ts.map +1 -0
  225. package/dist/cli/index.d.ts +2 -0
  226. package/dist/cli/index.d.ts.map +1 -0
  227. package/dist/cli/index.js +2825 -326
  228. package/dist/cli/index.js.map +1 -1
  229. package/dist/cli/installers/global.d.ts +9 -0
  230. package/dist/cli/installers/global.d.ts.map +1 -0
  231. package/dist/cli/installers/local.d.ts +9 -0
  232. package/dist/cli/installers/local.d.ts.map +1 -0
  233. package/dist/cli/installers/skills.d.ts +19 -0
  234. package/dist/cli/installers/skills.d.ts.map +1 -0
  235. package/dist/cli/output.d.ts +7 -0
  236. package/dist/cli/output.d.ts.map +1 -0
  237. package/dist/cli/remote-canvas-manager.d.ts +8 -0
  238. package/dist/cli/remote-canvas-manager.d.ts.map +1 -0
  239. package/dist/cli/remote-manager.d.ts +98 -0
  240. package/dist/cli/remote-manager.d.ts.map +1 -0
  241. package/dist/cli/remote-relay.d.ts +19 -0
  242. package/dist/cli/remote-relay.d.ts.map +1 -0
  243. package/dist/cli/templates/config.d.ts +7 -0
  244. package/dist/cli/templates/config.d.ts.map +1 -0
  245. package/dist/cli/utils/config.d.ts +20 -0
  246. package/dist/cli/utils/config.d.ts.map +1 -0
  247. package/dist/cli/utils/http.d.ts +5 -0
  248. package/dist/cli/utils/http.d.ts.map +1 -0
  249. package/dist/cli/utils/parse.d.ts +9 -0
  250. package/dist/cli/utils/parse.d.ts.map +1 -0
  251. package/dist/cli/utils/skills.d.ts +12 -0
  252. package/dist/cli/utils/skills.d.ts.map +1 -0
  253. package/dist/config.d.ts +208 -0
  254. package/dist/config.d.ts.map +1 -0
  255. package/dist/core/bootstrap.d.ts +3 -0
  256. package/dist/core/bootstrap.d.ts.map +1 -0
  257. package/dist/core/index.d.ts +3 -0
  258. package/dist/core/index.d.ts.map +1 -0
  259. package/dist/core/logging.d.ts +34 -0
  260. package/dist/core/logging.d.ts.map +1 -0
  261. package/dist/core/types.d.ts +36 -0
  262. package/dist/core/types.d.ts.map +1 -0
  263. package/dist/devtools/console-tracker.d.ts +44 -0
  264. package/dist/devtools/console-tracker.d.ts.map +1 -0
  265. package/dist/devtools/exception-tracker.d.ts +42 -0
  266. package/dist/devtools/exception-tracker.d.ts.map +1 -0
  267. package/dist/devtools/network-tracker.d.ts +34 -0
  268. package/dist/devtools/network-tracker.d.ts.map +1 -0
  269. package/dist/export/css-extract.d.ts +5 -0
  270. package/dist/export/css-extract.d.ts.map +1 -0
  271. package/dist/export/dom-capture.d.ts +15 -0
  272. package/dist/export/dom-capture.d.ts.map +1 -0
  273. package/dist/export/react-emitter.d.ts +11 -0
  274. package/dist/export/react-emitter.d.ts.map +1 -0
  275. package/dist/extension-extractor.d.ts +3 -0
  276. package/dist/extension-extractor.d.ts.map +1 -0
  277. package/dist/fs-UMRKOBNN.js +7 -0
  278. package/dist/fs-UMRKOBNN.js.map +1 -0
  279. package/dist/index.d.ts +3 -4
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +1028 -123
  282. package/dist/index.js.map +1 -1
  283. package/dist/macros/execute.d.ts +44 -0
  284. package/dist/macros/execute.d.ts.map +1 -0
  285. package/dist/macros/index.d.ts +9 -0
  286. package/dist/macros/index.d.ts.map +1 -0
  287. package/dist/macros/packs/core.d.ts +3 -0
  288. package/dist/macros/packs/core.d.ts.map +1 -0
  289. package/dist/macros/registry.d.ts +48 -0
  290. package/dist/macros/registry.d.ts.map +1 -0
  291. package/dist/macros-ND2M7LWU.js +399 -0
  292. package/dist/macros-ND2M7LWU.js.map +1 -0
  293. package/dist/opendevbrowser.d.ts +3 -4
  294. package/dist/opendevbrowser.d.ts.map +1 -0
  295. package/dist/opendevbrowser.js +1028 -123
  296. package/dist/opendevbrowser.js.map +1 -1
  297. package/dist/providers/adaptive-concurrency.d.ts +42 -0
  298. package/dist/providers/adaptive-concurrency.d.ts.map +1 -0
  299. package/dist/providers/artifacts.d.ts +34 -0
  300. package/dist/providers/artifacts.d.ts.map +1 -0
  301. package/dist/providers/blocker.d.ts +47 -0
  302. package/dist/providers/blocker.d.ts.map +1 -0
  303. package/dist/providers/community/index.d.ts +44 -0
  304. package/dist/providers/community/index.d.ts.map +1 -0
  305. package/dist/providers/enrichment.d.ts +33 -0
  306. package/dist/providers/enrichment.d.ts.map +1 -0
  307. package/dist/providers/errors.d.ts +41 -0
  308. package/dist/providers/errors.d.ts.map +1 -0
  309. package/dist/providers/index.d.ts +121 -0
  310. package/dist/providers/index.d.ts.map +1 -0
  311. package/dist/providers/normalize.d.ts +39 -0
  312. package/dist/providers/normalize.d.ts.map +1 -0
  313. package/dist/providers/policy.d.ts +5 -0
  314. package/dist/providers/policy.d.ts.map +1 -0
  315. package/dist/providers/registry.d.ts +22 -0
  316. package/dist/providers/registry.d.ts.map +1 -0
  317. package/dist/providers/renderer.d.ts +49 -0
  318. package/dist/providers/renderer.d.ts.map +1 -0
  319. package/dist/providers/runtime-factory.d.ts +20 -0
  320. package/dist/providers/runtime-factory.d.ts.map +1 -0
  321. package/dist/providers/safety/prompt-guard.d.ts +34 -0
  322. package/dist/providers/safety/prompt-guard.d.ts.map +1 -0
  323. package/dist/providers/shared/anti-bot-policy.d.ts +51 -0
  324. package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -0
  325. package/dist/providers/shared/post-policy.d.ts +31 -0
  326. package/dist/providers/shared/post-policy.d.ts.map +1 -0
  327. package/dist/providers/shared/request-headers.d.ts +5 -0
  328. package/dist/providers/shared/request-headers.d.ts.map +1 -0
  329. package/dist/providers/shared/traversal-url.d.ts +2 -0
  330. package/dist/providers/shared/traversal-url.d.ts.map +1 -0
  331. package/dist/providers/shopping/index.d.ts +63 -0
  332. package/dist/providers/shopping/index.d.ts.map +1 -0
  333. package/dist/providers/social/bluesky.d.ts +3 -0
  334. package/dist/providers/social/bluesky.d.ts.map +1 -0
  335. package/dist/providers/social/facebook.d.ts +3 -0
  336. package/dist/providers/social/facebook.d.ts.map +1 -0
  337. package/dist/providers/social/index.d.ts +31 -0
  338. package/dist/providers/social/index.d.ts.map +1 -0
  339. package/dist/providers/social/instagram.d.ts +3 -0
  340. package/dist/providers/social/instagram.d.ts.map +1 -0
  341. package/dist/providers/social/linkedin.d.ts +3 -0
  342. package/dist/providers/social/linkedin.d.ts.map +1 -0
  343. package/dist/providers/social/platform.d.ts +40 -0
  344. package/dist/providers/social/platform.d.ts.map +1 -0
  345. package/dist/providers/social/reddit.d.ts +3 -0
  346. package/dist/providers/social/reddit.d.ts.map +1 -0
  347. package/dist/providers/social/threads.d.ts +3 -0
  348. package/dist/providers/social/threads.d.ts.map +1 -0
  349. package/dist/providers/social/tiktok.d.ts +3 -0
  350. package/dist/providers/social/tiktok.d.ts.map +1 -0
  351. package/dist/providers/social/x.d.ts +3 -0
  352. package/dist/providers/social/x.d.ts.map +1 -0
  353. package/dist/providers/social/youtube-resolver.d.ts +78 -0
  354. package/dist/providers/social/youtube-resolver.d.ts.map +1 -0
  355. package/dist/providers/social/youtube.d.ts +34 -0
  356. package/dist/providers/social/youtube.d.ts.map +1 -0
  357. package/dist/providers/tier-router.d.ts +30 -0
  358. package/dist/providers/tier-router.d.ts.map +1 -0
  359. package/dist/providers/timebox.d.ts +20 -0
  360. package/dist/providers/timebox.d.ts.map +1 -0
  361. package/dist/providers/types.d.ts +344 -0
  362. package/dist/providers/types.d.ts.map +1 -0
  363. package/dist/providers/web/crawl-worker.d.ts +36 -0
  364. package/dist/providers/web/crawl-worker.d.ts.map +1 -0
  365. package/dist/providers/web/crawler.d.ts +101 -0
  366. package/dist/providers/web/crawler.d.ts.map +1 -0
  367. package/dist/providers/web/extract.d.ts +11 -0
  368. package/dist/providers/web/extract.d.ts.map +1 -0
  369. package/dist/providers/web/index.d.ts +24 -0
  370. package/dist/providers/web/index.d.ts.map +1 -0
  371. package/dist/providers/web/policy.d.ts +14 -0
  372. package/dist/providers/web/policy.d.ts.map +1 -0
  373. package/dist/providers/workflows.d.ts +67 -0
  374. package/dist/providers/workflows.d.ts.map +1 -0
  375. package/dist/providers-G3LRHQXX.js +121 -0
  376. package/dist/providers-G3LRHQXX.js.map +1 -0
  377. package/dist/relay/protocol.d.ts +399 -0
  378. package/dist/relay/protocol.d.ts.map +1 -0
  379. package/dist/relay/relay-endpoints.d.ts +16 -0
  380. package/dist/relay/relay-endpoints.d.ts.map +1 -0
  381. package/dist/relay/relay-server.d.ts +124 -0
  382. package/dist/relay/relay-server.d.ts.map +1 -0
  383. package/dist/relay/relay-types.d.ts +12 -0
  384. package/dist/relay/relay-types.d.ts.map +1 -0
  385. package/dist/runtime-factory-BICHDPE7.js +13 -0
  386. package/dist/runtime-factory-BICHDPE7.js.map +1 -0
  387. package/dist/skills/continuity-nudge.d.ts +12 -0
  388. package/dist/skills/continuity-nudge.d.ts.map +1 -0
  389. package/dist/skills/skill-loader.d.ts +20 -0
  390. package/dist/skills/skill-loader.d.ts.map +1 -0
  391. package/dist/skills/skill-nudge.d.ts +18 -0
  392. package/dist/skills/skill-nudge.d.ts.map +1 -0
  393. package/dist/skills/types.d.ts +12 -0
  394. package/dist/skills/types.d.ts.map +1 -0
  395. package/dist/snapshot/ops-snapshot.d.ts +16 -0
  396. package/dist/snapshot/ops-snapshot.d.ts.map +1 -0
  397. package/dist/snapshot/refs.d.ts +23 -0
  398. package/dist/snapshot/refs.d.ts.map +1 -0
  399. package/dist/snapshot/snapshotter.d.ts +27 -0
  400. package/dist/snapshot/snapshotter.d.ts.map +1 -0
  401. package/dist/tools/annotate.d.ts +4 -0
  402. package/dist/tools/annotate.d.ts.map +1 -0
  403. package/dist/tools/canvas.d.ts +4 -0
  404. package/dist/tools/canvas.d.ts.map +1 -0
  405. package/dist/tools/check.d.ts +4 -0
  406. package/dist/tools/check.d.ts.map +1 -0
  407. package/dist/tools/click.d.ts +4 -0
  408. package/dist/tools/click.d.ts.map +1 -0
  409. package/dist/tools/clone_component.d.ts +4 -0
  410. package/dist/tools/clone_component.d.ts.map +1 -0
  411. package/dist/tools/clone_page.d.ts +4 -0
  412. package/dist/tools/clone_page.d.ts.map +1 -0
  413. package/dist/tools/close.d.ts +4 -0
  414. package/dist/tools/close.d.ts.map +1 -0
  415. package/dist/tools/connect.d.ts +4 -0
  416. package/dist/tools/connect.d.ts.map +1 -0
  417. package/dist/tools/console_poll.d.ts +4 -0
  418. package/dist/tools/console_poll.d.ts.map +1 -0
  419. package/dist/tools/cookie_import.d.ts +25 -0
  420. package/dist/tools/cookie_import.d.ts.map +1 -0
  421. package/dist/tools/cookie_list.d.ts +9 -0
  422. package/dist/tools/cookie_list.d.ts.map +1 -0
  423. package/dist/tools/debug_trace_snapshot.d.ts +4 -0
  424. package/dist/tools/debug_trace_snapshot.d.ts.map +1 -0
  425. package/dist/tools/deps.d.ts +28 -0
  426. package/dist/tools/deps.d.ts.map +1 -0
  427. package/dist/tools/disconnect.d.ts +4 -0
  428. package/dist/tools/disconnect.d.ts.map +1 -0
  429. package/dist/tools/dom_get_html.d.ts +4 -0
  430. package/dist/tools/dom_get_html.d.ts.map +1 -0
  431. package/dist/tools/dom_get_text.d.ts +4 -0
  432. package/dist/tools/dom_get_text.d.ts.map +1 -0
  433. package/dist/tools/get_attr.d.ts +4 -0
  434. package/dist/tools/get_attr.d.ts.map +1 -0
  435. package/dist/tools/get_value.d.ts +4 -0
  436. package/dist/tools/get_value.d.ts.map +1 -0
  437. package/dist/tools/goto.d.ts +4 -0
  438. package/dist/tools/goto.d.ts.map +1 -0
  439. package/dist/tools/hover.d.ts +4 -0
  440. package/dist/tools/hover.d.ts.map +1 -0
  441. package/dist/tools/index.d.ts +4 -0
  442. package/dist/tools/index.d.ts.map +1 -0
  443. package/dist/tools/is_checked.d.ts +4 -0
  444. package/dist/tools/is_checked.d.ts.map +1 -0
  445. package/dist/tools/is_enabled.d.ts +4 -0
  446. package/dist/tools/is_enabled.d.ts.map +1 -0
  447. package/dist/tools/is_visible.d.ts +4 -0
  448. package/dist/tools/is_visible.d.ts.map +1 -0
  449. package/dist/tools/launch.d.ts +4 -0
  450. package/dist/tools/launch.d.ts.map +1 -0
  451. package/dist/tools/list.d.ts +4 -0
  452. package/dist/tools/list.d.ts.map +1 -0
  453. package/dist/tools/macro_resolve.d.ts +25 -0
  454. package/dist/tools/macro_resolve.d.ts.map +1 -0
  455. package/dist/tools/network_poll.d.ts +4 -0
  456. package/dist/tools/network_poll.d.ts.map +1 -0
  457. package/dist/tools/page.d.ts +4 -0
  458. package/dist/tools/page.d.ts.map +1 -0
  459. package/dist/tools/perf.d.ts +4 -0
  460. package/dist/tools/perf.d.ts.map +1 -0
  461. package/dist/tools/press.d.ts +4 -0
  462. package/dist/tools/press.d.ts.map +1 -0
  463. package/dist/tools/product_video_run.d.ts +4 -0
  464. package/dist/tools/product_video_run.d.ts.map +1 -0
  465. package/dist/tools/prompting_guide.d.ts +4 -0
  466. package/dist/tools/prompting_guide.d.ts.map +1 -0
  467. package/dist/tools/research_run.d.ts +4 -0
  468. package/dist/tools/research_run.d.ts.map +1 -0
  469. package/dist/tools/response.d.ts +19 -0
  470. package/dist/tools/response.d.ts.map +1 -0
  471. package/dist/tools/run.d.ts +4 -0
  472. package/dist/tools/run.d.ts.map +1 -0
  473. package/dist/tools/screenshot.d.ts +4 -0
  474. package/dist/tools/screenshot.d.ts.map +1 -0
  475. package/dist/tools/scroll.d.ts +4 -0
  476. package/dist/tools/scroll.d.ts.map +1 -0
  477. package/dist/tools/scroll_into_view.d.ts +4 -0
  478. package/dist/tools/scroll_into_view.d.ts.map +1 -0
  479. package/dist/tools/select.d.ts +4 -0
  480. package/dist/tools/select.d.ts.map +1 -0
  481. package/dist/tools/shopping_run.d.ts +4 -0
  482. package/dist/tools/shopping_run.d.ts.map +1 -0
  483. package/dist/tools/skill_list.d.ts +4 -0
  484. package/dist/tools/skill_list.d.ts.map +1 -0
  485. package/dist/tools/skill_load.d.ts +4 -0
  486. package/dist/tools/skill_load.d.ts.map +1 -0
  487. package/dist/tools/snapshot.d.ts +4 -0
  488. package/dist/tools/snapshot.d.ts.map +1 -0
  489. package/dist/tools/status.d.ts +4 -0
  490. package/dist/tools/status.d.ts.map +1 -0
  491. package/dist/tools/target_close.d.ts +4 -0
  492. package/dist/tools/target_close.d.ts.map +1 -0
  493. package/dist/tools/target_new.d.ts +4 -0
  494. package/dist/tools/target_new.d.ts.map +1 -0
  495. package/dist/tools/target_use.d.ts +4 -0
  496. package/dist/tools/target_use.d.ts.map +1 -0
  497. package/dist/tools/targets_list.d.ts +4 -0
  498. package/dist/tools/targets_list.d.ts.map +1 -0
  499. package/dist/tools/type.d.ts +4 -0
  500. package/dist/tools/type.d.ts.map +1 -0
  501. package/dist/tools/uncheck.d.ts +4 -0
  502. package/dist/tools/uncheck.d.ts.map +1 -0
  503. package/dist/tools/wait.d.ts +4 -0
  504. package/dist/tools/wait.d.ts.map +1 -0
  505. package/dist/tools/workflow-runtime.d.ts +3 -0
  506. package/dist/tools/workflow-runtime.d.ts.map +1 -0
  507. package/dist/utils/crypto.d.ts +2 -0
  508. package/dist/utils/crypto.d.ts.map +1 -0
  509. package/dist/utils/endpoint-validation.d.ts +2 -0
  510. package/dist/utils/endpoint-validation.d.ts.map +1 -0
  511. package/dist/utils/fs.d.ts +5 -0
  512. package/dist/utils/fs.d.ts.map +1 -0
  513. package/dist/utils/hub-enabled.d.ts +3 -0
  514. package/dist/utils/hub-enabled.d.ts.map +1 -0
  515. package/extension/canvas.html +636 -0
  516. package/extension/dist/annotate-content.css +15 -6
  517. package/extension/dist/annotate-content.js +119 -9
  518. package/extension/dist/annotation-payload.js +163 -0
  519. package/extension/dist/background.js +158 -22
  520. package/extension/dist/canvas/canvas-runtime.js +1061 -0
  521. package/extension/dist/canvas/model.js +213 -0
  522. package/extension/dist/canvas/viewport-fit.js +67 -0
  523. package/extension/dist/canvas-page.js +1801 -0
  524. package/extension/dist/ops/dom-bridge.js +116 -3
  525. package/extension/dist/ops/ops-runtime.js +1014 -48
  526. package/extension/dist/ops/ops-session-store.js +37 -116
  527. package/extension/dist/ops/parallelism-governor.js +117 -0
  528. package/extension/dist/ops/snapshot-shared.js +21 -5
  529. package/extension/dist/ops/target-session-coordinator.js +157 -0
  530. package/extension/dist/popup.js +155 -31
  531. package/extension/dist/services/CDPRouter.js +70 -5
  532. package/extension/dist/services/ConnectionManager.js +22 -3
  533. package/extension/dist/services/RelayClient.js +9 -0
  534. package/extension/dist/services/TabManager.js +35 -12
  535. package/extension/dist/types.js +2 -0
  536. package/extension/icons/icon128.png +0 -0
  537. package/extension/icons/icon16.png +0 -0
  538. package/extension/icons/icon32.png +0 -0
  539. package/extension/icons/icon48.png +0 -0
  540. package/extension/manifest.json +1 -1
  541. package/extension/popup.html +52 -0
  542. package/package.json +30 -19
  543. package/scripts/native/host.cjs +230 -0
  544. package/scripts/native/install.ps1 +73 -0
  545. package/scripts/native/install.sh +66 -0
  546. package/scripts/native/uninstall.ps1 +25 -0
  547. package/scripts/native/uninstall.sh +26 -0
  548. package/skills/AGENTS.md +20 -8
  549. package/skills/opendevbrowser-best-practices/SKILL.md +248 -74
  550. package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +44 -0
  551. package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +141 -0
  552. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +191 -0
  553. package/skills/opendevbrowser-best-practices/artifacts/debug-trace-playbook.md +36 -0
  554. package/skills/opendevbrowser-best-practices/artifacts/fingerprint-tiers.md +36 -0
  555. package/skills/opendevbrowser-best-practices/artifacts/macro-workflows.md +43 -0
  556. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +36 -0
  557. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +89 -0
  558. package/skills/opendevbrowser-best-practices/assets/templates/canvas-blocker-checklist.json +70 -0
  559. package/skills/opendevbrowser-best-practices/assets/templates/canvas-feedback-eval.json +73 -0
  560. package/skills/opendevbrowser-best-practices/assets/templates/canvas-generation-plan.v1.json +67 -0
  561. package/skills/opendevbrowser-best-practices/assets/templates/canvas-handshake-example.json +126 -0
  562. package/skills/opendevbrowser-best-practices/assets/templates/cdp-forward-envelope.json +11 -0
  563. package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +56 -0
  564. package/skills/opendevbrowser-best-practices/assets/templates/ops-request-envelope.json +9 -0
  565. package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +136 -0
  566. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +28 -0
  567. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +170 -0
  568. package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +164 -0
  569. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +234 -0
  570. package/skills/opendevbrowser-continuity-ledger/SKILL.md +10 -0
  571. package/skills/opendevbrowser-data-extraction/SKILL.md +126 -0
  572. package/skills/opendevbrowser-data-extraction/artifacts/extraction-workflows.md +31 -0
  573. package/skills/opendevbrowser-data-extraction/assets/templates/compliance-checklist.md +7 -0
  574. package/skills/opendevbrowser-data-extraction/assets/templates/extraction-schema.json +17 -0
  575. package/skills/opendevbrowser-data-extraction/assets/templates/pagination-state.json +11 -0
  576. package/skills/opendevbrowser-data-extraction/assets/templates/quality-gates.json +10 -0
  577. package/skills/opendevbrowser-data-extraction/examples/sample-schema.json +19 -0
  578. package/skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh +83 -0
  579. package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +49 -0
  580. package/skills/opendevbrowser-form-testing/SKILL.md +143 -0
  581. package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +37 -0
  582. package/skills/opendevbrowser-form-testing/assets/templates/a11y-assertions.md +7 -0
  583. package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +16 -0
  584. package/skills/opendevbrowser-form-testing/assets/templates/multi-step-state.json +11 -0
  585. package/skills/opendevbrowser-form-testing/assets/templates/validation-matrix.json +24 -0
  586. package/skills/opendevbrowser-form-testing/examples/sample-validation-matrix.json +29 -0
  587. package/skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh +82 -0
  588. package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +49 -0
  589. package/skills/opendevbrowser-login-automation/SKILL.md +159 -0
  590. package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +39 -0
  591. package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +21 -0
  592. package/skills/opendevbrowser-login-automation/assets/templates/challenge-checkpoint.md +10 -0
  593. package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +26 -0
  594. package/skills/opendevbrowser-login-automation/examples/sample-auth-signals.json +14 -0
  595. package/skills/opendevbrowser-login-automation/scripts/record-auth-signals.sh +18 -0
  596. package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +99 -0
  597. package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +50 -0
  598. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +98 -0
  599. package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +23 -0
  600. package/skills/opendevbrowser-product-presentation-asset/artifacts/ugc-creative-guide.md +21 -0
  601. package/skills/opendevbrowser-product-presentation-asset/assets/templates/claims-evidence-map.md +5 -0
  602. package/skills/opendevbrowser-product-presentation-asset/assets/templates/copy.md +5 -0
  603. package/skills/opendevbrowser-product-presentation-asset/assets/templates/features.md +4 -0
  604. package/skills/opendevbrowser-product-presentation-asset/assets/templates/manifest.schema.json +14 -0
  605. package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +7 -0
  606. package/skills/opendevbrowser-product-presentation-asset/assets/templates/ugc-concepts.md +17 -0
  607. package/skills/opendevbrowser-product-presentation-asset/assets/templates/user-actions.md +7 -0
  608. package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +18 -0
  609. package/skills/opendevbrowser-product-presentation-asset/examples/sample-input.json +6 -0
  610. package/skills/opendevbrowser-product-presentation-asset/examples/sample-manifest.json +18 -0
  611. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +9 -0
  612. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +14 -0
  613. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +9 -0
  614. package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +96 -0
  615. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +56 -0
  616. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +43 -0
  617. package/skills/opendevbrowser-research/SKILL.md +73 -0
  618. package/skills/opendevbrowser-research/artifacts/research-workflows.md +29 -0
  619. package/skills/opendevbrowser-research/assets/templates/compact.md +7 -0
  620. package/skills/opendevbrowser-research/assets/templates/context.json +18 -0
  621. package/skills/opendevbrowser-research/assets/templates/report.md +9 -0
  622. package/skills/opendevbrowser-research/examples/sample-input.json +6 -0
  623. package/skills/opendevbrowser-research/examples/sample-output.md +4 -0
  624. package/skills/opendevbrowser-research/scripts/render-output.sh +12 -0
  625. package/skills/opendevbrowser-research/scripts/run-research.sh +23 -0
  626. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +48 -0
  627. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +29 -0
  628. package/skills/opendevbrowser-shopping/SKILL.md +118 -0
  629. package/skills/opendevbrowser-shopping/artifacts/deal-hunting-workflows.md +37 -0
  630. package/skills/opendevbrowser-shopping/assets/templates/deal-thresholds.json +8 -0
  631. package/skills/opendevbrowser-shopping/assets/templates/deals-context.json +9 -0
  632. package/skills/opendevbrowser-shopping/assets/templates/deals-table.md +4 -0
  633. package/skills/opendevbrowser-shopping/assets/templates/market-analysis.json +30 -0
  634. package/skills/opendevbrowser-shopping/examples/sample-deals.md +4 -0
  635. package/skills/opendevbrowser-shopping/examples/sample-query.json +5 -0
  636. package/skills/opendevbrowser-shopping/scripts/analyze-market.sh +307 -0
  637. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +28 -0
  638. package/skills/opendevbrowser-shopping/scripts/render-deals.sh +13 -0
  639. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +32 -0
  640. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +19 -0
  641. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +53 -0
  642. package/dist/chunk-JVBMT2O5.js +0 -7173
  643. package/dist/chunk-JVBMT2O5.js.map +0 -1
  644. package/skills/data-extraction/SKILL.md +0 -128
  645. package/skills/form-testing/SKILL.md +0 -106
  646. package/skills/login-automation/SKILL.md +0 -108
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ print_help() {
5
+ cat <<'HELP'
6
+ Data extraction workflow router
7
+
8
+ Usage:
9
+ ./skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh <workflow>
10
+
11
+ Workflows:
12
+ list
13
+ table
14
+ pagination
15
+ infinite-scroll
16
+ load-more
17
+ anti-bot-pressure
18
+ checkpoint-resume
19
+ list-workflows
20
+ HELP
21
+ }
22
+
23
+ workflow="${1:-list-workflows}"
24
+
25
+ case "$workflow" in
26
+ list-workflows)
27
+ print_help
28
+ ;;
29
+ list)
30
+ cat <<'FLOW'
31
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
32
+ opendevbrowser_dom_get_text sessionId="<session-id>" ref="<item-title-ref>"
33
+ opendevbrowser_get_attr sessionId="<session-id>" ref="<item-link-ref>" name="href"
34
+ FLOW
35
+ ;;
36
+ table)
37
+ cat <<'FLOW'
38
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
39
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
40
+ opendevbrowser_dom_get_html sessionId="<session-id>" ref="<table-ref>"
41
+ FLOW
42
+ ;;
43
+ pagination)
44
+ cat <<'FLOW'
45
+ opendevbrowser_click sessionId="<session-id>" ref="<next-ref>"
46
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
47
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
48
+ FLOW
49
+ ;;
50
+ infinite-scroll)
51
+ cat <<'FLOW'
52
+ opendevbrowser_scroll sessionId="<session-id>" dy=1000
53
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
54
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
55
+ FLOW
56
+ ;;
57
+ load-more)
58
+ cat <<'FLOW'
59
+ opendevbrowser_click sessionId="<session-id>" ref="<load-more-ref>"
60
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
61
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
62
+ FLOW
63
+ ;;
64
+ anti-bot-pressure)
65
+ cat <<'FLOW'
66
+ opendevbrowser_network_poll sessionId="<session-id>" max=100
67
+ # Stop or back off on repeated 403/429/challenge signals; honor Retry-After.
68
+ FLOW
69
+ ;;
70
+ checkpoint-resume)
71
+ cat <<'FLOW'
72
+ # Resume from stored pagination checkpoint token/page index.
73
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
74
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
75
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
76
+ FLOW
77
+ ;;
78
+ *)
79
+ echo "Unknown workflow: $workflow" >&2
80
+ print_help
81
+ exit 2
82
+ ;;
83
+ esac
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ skill_file="$root/SKILL.md"
6
+
7
+ required=(
8
+ "artifacts/extraction-workflows.md"
9
+ "assets/templates/extraction-schema.json"
10
+ "assets/templates/pagination-state.json"
11
+ "assets/templates/quality-gates.json"
12
+ "assets/templates/compliance-checklist.md"
13
+ "scripts/run-extraction-workflow.sh"
14
+ "scripts/validate-skill-assets.sh"
15
+ )
16
+
17
+ status=0
18
+ for rel in "${required[@]}"; do
19
+ if [[ ! -f "$root/$rel" ]]; then
20
+ echo "Missing required asset: $rel" >&2
21
+ status=1
22
+ fi
23
+ if ! grep -Fq "$rel" "$skill_file"; then
24
+ echo "SKILL.md missing reference: $rel" >&2
25
+ status=1
26
+ fi
27
+ done
28
+
29
+ for rel in scripts/run-extraction-workflow.sh scripts/validate-skill-assets.sh; do
30
+ if [[ -f "$root/$rel" && ! -x "$root/$rel" ]]; then
31
+ echo "Script is not executable: $rel" >&2
32
+ status=1
33
+ fi
34
+ done
35
+
36
+ for rel in assets/templates/extraction-schema.json assets/templates/pagination-state.json assets/templates/quality-gates.json; do
37
+ if [[ -f "$root/$rel" ]]; then
38
+ if ! node -e 'const fs=require("fs"); JSON.parse(fs.readFileSync(process.argv[1], "utf8"));' "$root/$rel" >/dev/null 2>&1; then
39
+ echo "Invalid JSON template: $rel" >&2
40
+ status=1
41
+ fi
42
+ fi
43
+ done
44
+
45
+ if [[ $status -ne 0 ]]; then
46
+ exit $status
47
+ fi
48
+
49
+ echo "Data extraction skill assets validated."
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: opendevbrowser-form-testing
3
+ description: This skill should be used when the user asks to "test a form", "verify validation", "check submission behavior", "test multi-step forms", or "debug form errors" with OpenDevBrowser.
4
+ version: 2.0.0
5
+ ---
6
+
7
+ # Form Testing Skill
8
+
9
+ Use this skill for robust form automation across dynamic, multi-step, challenge-protected, and accessibility-critical flows.
10
+
11
+ ## Pack Contents
12
+
13
+ - `artifacts/form-workflows.md`
14
+ - `assets/templates/validation-matrix.json`
15
+ - `assets/templates/challenge-decision-tree.json`
16
+ - `assets/templates/a11y-assertions.md`
17
+ - `assets/templates/multi-step-state.json`
18
+ - `scripts/run-form-workflow.sh`
19
+ - `scripts/validate-skill-assets.sh`
20
+ - Shared robustness matrix: `../opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md`
21
+
22
+ ## Fast Start
23
+
24
+ ```bash
25
+ ./skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh
26
+ ./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh validation
27
+ ./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh multi-step
28
+ ./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh challenge-checkpoint
29
+ ```
30
+
31
+ ## Core Rules
32
+
33
+ - Snapshot first, then act.
34
+ - Keep one field mutation per decision loop in failure analysis.
35
+ - Re-snapshot after each invalid submit to avoid stale refs.
36
+ - Verify both UX and network behavior for each submission branch.
37
+ - Keep challenge retries bounded and honor `Retry-After` when 429 pressure appears.
38
+
39
+ ## Parallel Multitab Alignment
40
+
41
+ - Apply shared concurrency policy from `../opendevbrowser-best-practices/SKILL.md` ("Parallel Operations").
42
+ - Validate form workflows in `managed`, `extension`, and `cdpConnect` paths before parity sign-off.
43
+ - Keep one session per worker and avoid alternating `target-use` inside one command stream.
44
+
45
+ ## Robustness Coverage (Known-Issue Matrix)
46
+
47
+ Matrix source: `../opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md`
48
+
49
+ - `ISSUE-01`: stale refs after dynamic validation rerenders
50
+ - `ISSUE-02`: iframe challenge or embedded payment/auth forms
51
+ - `ISSUE-05`: anti-bot checkpoint loops on submit
52
+ - `ISSUE-06`: rate-limit/backoff behavior
53
+ - `ISSUE-08`: restricted origin or unsupported test surface
54
+
55
+ ## Form Coverage Matrix
56
+
57
+ Cover at least:
58
+ - required/optional fields
59
+ - format/pattern constraints
60
+ - numeric and length boundaries
61
+ - dependent and conditional sections
62
+ - disabled/enabled transitions
63
+ - server-side rejection paths
64
+
65
+ Use the matrix template in `assets/templates/validation-matrix.json`.
66
+
67
+ | Validation area | Minimal assertion | Evidence capture |
68
+ | --- | --- | --- |
69
+ | Required vs optional | Empty required field blocks submit; optional field allows submit | `snapshot`, inline error text, submit request status |
70
+ | Format and pattern | Invalid format shows field error and keeps form invalid | `dom_get_text`, `get_attr aria-invalid`, request payload |
71
+ | Numeric and length bounds | Min/max boundaries are enforced consistently client+server | field value checks, server response body |
72
+ | Conditional sections | Dependent fields appear/disappear with correct state reset | before/after snapshots, visibility checks |
73
+ | Disabled/enabled transitions | Submit only enables when constraints are satisfied | `is_enabled`, transition snapshots |
74
+ | Server-side rejection | Backend validation errors map to correct field/global errors | `network_poll`, rendered error copy |
75
+
76
+ ## Canonical Validation Flow
77
+
78
+ ```text
79
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
80
+ opendevbrowser_type sessionId="<session-id>" ref="<field-ref>" text=""
81
+ opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
82
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
83
+ opendevbrowser_dom_get_text sessionId="<session-id>" ref="<error-ref>"
84
+ ```
85
+
86
+ ## Accessibility Assertions
87
+
88
+ Validate error handling semantics:
89
+ - error text bound to invalid field
90
+ - `aria-invalid="true"` when invalid
91
+ - keyboard focus on first invalid field when applicable
92
+ - labels/instructions remain programmatically associated
93
+
94
+ ```text
95
+ opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-invalid"
96
+ opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-describedby"
97
+ ```
98
+
99
+ ## Anti-Bot and Challenge Branches
100
+
101
+ For forms guarded by challenge providers:
102
+
103
+ 1. Detect challenge widget/frame state.
104
+ 2. Mark manual checkpoint in run log.
105
+ 3. Complete challenge manually or by approved test key in non-production.
106
+ 4. Resume from fresh snapshot and continue validation.
107
+
108
+ Do not implement challenge bypass behavior.
109
+
110
+ Loop guardrail:
111
+ - Stop after 2 repeated challenge checkpoints without forward progress.
112
+ - Capture network evidence and escalate as blocker.
113
+
114
+ ## Multi-Step and Conditional Forms
115
+
116
+ For wizard flows:
117
+ 1. validate current step
118
+ 2. submit and wait for next-step container ref
119
+ 3. assert state carryover from prior step
120
+ 4. finalize and validate confirmation payload
121
+
122
+ Use `assets/templates/multi-step-state.json` to track progression.
123
+
124
+ ## Network Correlation
125
+
126
+ Always poll and inspect submit requests:
127
+
128
+ ```text
129
+ opendevbrowser_network_poll sessionId="<session-id>" max=50
130
+ ```
131
+
132
+ Flag mismatch cases:
133
+ - UI shows success but network fails
134
+ - UI hides server validation errors
135
+ - repeated 429/403 challenge pressure on submit endpoint
136
+
137
+ ## References
138
+
139
+ - Playwright best practices: https://playwright.dev/docs/best-practices
140
+ - WCAG 2.2 (Input assistance + accessible authentication): https://www.w3.org/TR/WCAG22/
141
+ - Cloudflare Turnstile testing: https://developers.cloudflare.com/turnstile/tutorials/testing/
142
+ - reCAPTCHA v2 test keys: https://developers.google.com/recaptcha/docs/faq
143
+ - hCaptcha test keys: https://docs.hcaptcha.com/
@@ -0,0 +1,37 @@
1
+ # Form Workflows
2
+
3
+ ## Validation workflow
4
+
5
+ 1. Discover refs
6
+ 2. Run negative matrix cases
7
+ 3. Assert field-level and summary errors
8
+ 4. Run positive submission path
9
+ 5. Re-snapshot after each submit branch
10
+
11
+ ## Multi-step workflow
12
+
13
+ 1. Validate each step in isolation
14
+ 2. Preserve and verify carried values
15
+ 3. Validate final confirmation state and IDs
16
+
17
+ ## Dynamic requirement workflow
18
+
19
+ 1. Trigger conditional sections (toggles/selectors)
20
+ 2. Re-snapshot and discover newly required fields
21
+ 3. Validate requiredness transitions and submit gating
22
+ 4. Verify hidden fields are not submitted unexpectedly
23
+
24
+ ## File upload workflow
25
+
26
+ 1. Validate accepted type/size constraints
27
+ 2. Validate invalid file rejection path
28
+ 3. Validate success path and server response correlation
29
+ 4. Confirm upload state survives step transitions
30
+
31
+ ## Challenge checkpoint workflow
32
+
33
+ 1. Detect challenge state
34
+ 2. Pause and annotate checkpoint
35
+ 3. Resume after manual completion
36
+ 4. Continue assertions from refreshed snapshot
37
+ 5. Stop and escalate after repeated challenge loops
@@ -0,0 +1,7 @@
1
+ # Accessibility Assertions
2
+
3
+ - Field has associated label
4
+ - Error message is specific and linked (`aria-describedby`)
5
+ - Invalid state uses `aria-invalid="true"`
6
+ - Focus moves to first invalid field after submit
7
+ - Keyboard-only path can complete correction and submit
@@ -0,0 +1,16 @@
1
+ {
2
+ "challenge_detected": false,
3
+ "provider": "unknown",
4
+ "issue_ids": [
5
+ "ISSUE-02",
6
+ "ISSUE-05",
7
+ "ISSUE-06"
8
+ ],
9
+ "action": "manual_checkpoint",
10
+ "max_challenge_retries": 2,
11
+ "retry_after_seconds": 0,
12
+ "resume_conditions": [
13
+ "challenge_cleared",
14
+ "new_snapshot_taken"
15
+ ]
16
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "flow": "",
3
+ "step_index": 0,
4
+ "step_name": "",
5
+ "completed_steps": [],
6
+ "carried_state": {},
7
+ "final_confirmation": {
8
+ "seen": false,
9
+ "reference_id": ""
10
+ }
11
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "form": "",
3
+ "fields": [
4
+ {
5
+ "name": "",
6
+ "type": "text",
7
+ "required": true,
8
+ "cases": [
9
+ "empty",
10
+ "whitespace",
11
+ "out_of_range",
12
+ "valid"
13
+ ]
14
+ }
15
+ ],
16
+ "conditional_cases": [
17
+ "becomes_required_after_toggle",
18
+ "hidden_field_not_submitted"
19
+ ],
20
+ "submit_cases": [
21
+ "invalid_blocked",
22
+ "valid_success"
23
+ ]
24
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "form": "checkout",
3
+ "fields": [
4
+ {
5
+ "name": "email",
6
+ "type": "email",
7
+ "required": true,
8
+ "cases": [
9
+ "empty",
10
+ "invalid_format",
11
+ "valid"
12
+ ]
13
+ },
14
+ {
15
+ "name": "postal_code",
16
+ "type": "text",
17
+ "required": true,
18
+ "cases": [
19
+ "too_short",
20
+ "invalid_charset",
21
+ "valid"
22
+ ]
23
+ }
24
+ ],
25
+ "submit_cases": [
26
+ "invalid_blocked",
27
+ "valid_success"
28
+ ]
29
+ }
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ print_help() {
5
+ cat <<'HELP'
6
+ Form testing workflow router
7
+
8
+ Usage:
9
+ ./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh <workflow>
10
+
11
+ Workflows:
12
+ discovery
13
+ validation
14
+ multi-step
15
+ dynamic-required
16
+ file-upload
17
+ challenge-checkpoint
18
+ list
19
+ HELP
20
+ }
21
+
22
+ workflow="${1:-list}"
23
+
24
+ case "$workflow" in
25
+ list)
26
+ print_help
27
+ ;;
28
+ discovery)
29
+ cat <<'FLOW'
30
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
31
+ # map refs for all inputs, toggles, and submit controls
32
+ FLOW
33
+ ;;
34
+ validation)
35
+ cat <<'FLOW'
36
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
37
+ opendevbrowser_type sessionId="<session-id>" ref="<field-ref>" text=""
38
+ opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
39
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
40
+ opendevbrowser_dom_get_text sessionId="<session-id>" ref="<error-ref>"
41
+ opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-invalid"
42
+ FLOW
43
+ ;;
44
+ multi-step)
45
+ cat <<'FLOW'
46
+ # validate each step, then continue
47
+ opendevbrowser_click sessionId="<session-id>" ref="<next-step-ref>"
48
+ opendevbrowser_wait sessionId="<session-id>" ref="<step-container-ref>" state="visible"
49
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
50
+ FLOW
51
+ ;;
52
+ dynamic-required)
53
+ cat <<'FLOW'
54
+ # Trigger conditional branch then re-snapshot for updated requirements.
55
+ opendevbrowser_click sessionId="<session-id>" ref="<toggle-ref>"
56
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
57
+ opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
58
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
59
+ FLOW
60
+ ;;
61
+ file-upload)
62
+ cat <<'FLOW'
63
+ # Validate upload constraints and submission behavior.
64
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
65
+ opendevbrowser_click sessionId="<session-id>" ref="<file-input-ref>"
66
+ opendevbrowser_network_poll sessionId="<session-id>" max=50
67
+ FLOW
68
+ ;;
69
+ challenge-checkpoint)
70
+ cat <<'FLOW'
71
+ # if challenge is detected, pause automation and resume after manual completion
72
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
73
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
74
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
75
+ FLOW
76
+ ;;
77
+ *)
78
+ echo "Unknown workflow: $workflow" >&2
79
+ print_help
80
+ exit 2
81
+ ;;
82
+ esac
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ skill_file="$root/SKILL.md"
6
+
7
+ required=(
8
+ "artifacts/form-workflows.md"
9
+ "assets/templates/validation-matrix.json"
10
+ "assets/templates/challenge-decision-tree.json"
11
+ "assets/templates/a11y-assertions.md"
12
+ "assets/templates/multi-step-state.json"
13
+ "scripts/run-form-workflow.sh"
14
+ "scripts/validate-skill-assets.sh"
15
+ )
16
+
17
+ status=0
18
+ for rel in "${required[@]}"; do
19
+ if [[ ! -f "$root/$rel" ]]; then
20
+ echo "Missing required asset: $rel" >&2
21
+ status=1
22
+ fi
23
+ if ! grep -Fq "$rel" "$skill_file"; then
24
+ echo "SKILL.md missing reference: $rel" >&2
25
+ status=1
26
+ fi
27
+ done
28
+
29
+ for rel in scripts/run-form-workflow.sh scripts/validate-skill-assets.sh; do
30
+ if [[ -f "$root/$rel" && ! -x "$root/$rel" ]]; then
31
+ echo "Script is not executable: $rel" >&2
32
+ status=1
33
+ fi
34
+ done
35
+
36
+ for rel in assets/templates/validation-matrix.json assets/templates/challenge-decision-tree.json assets/templates/multi-step-state.json; do
37
+ if [[ -f "$root/$rel" ]]; then
38
+ if ! node -e 'const fs=require("fs"); JSON.parse(fs.readFileSync(process.argv[1], "utf8"));' "$root/$rel" >/dev/null 2>&1; then
39
+ echo "Invalid JSON template: $rel" >&2
40
+ status=1
41
+ fi
42
+ fi
43
+ done
44
+
45
+ if [[ $status -ne 0 ]]; then
46
+ exit $status
47
+ fi
48
+
49
+ echo "Form testing skill assets validated."