opendevbrowser 0.0.12 → 0.0.16

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 (585) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +425 -42
  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 +30 -0
  8. package/dist/browser/annotation-manager.d.ts.map +1 -0
  9. package/dist/browser/browser-manager.d.ts +397 -0
  10. package/dist/browser/browser-manager.d.ts.map +1 -0
  11. package/dist/browser/fingerprint/adapters.d.ts +26 -0
  12. package/dist/browser/fingerprint/adapters.d.ts.map +1 -0
  13. package/dist/browser/fingerprint/canary.d.ts +25 -0
  14. package/dist/browser/fingerprint/canary.d.ts.map +1 -0
  15. package/dist/browser/fingerprint/profiles.d.ts +16 -0
  16. package/dist/browser/fingerprint/profiles.d.ts.map +1 -0
  17. package/dist/browser/fingerprint/tier1-coherence.d.ts +36 -0
  18. package/dist/browser/fingerprint/tier1-coherence.d.ts.map +1 -0
  19. package/dist/browser/fingerprint/tier2-runtime.d.ts +40 -0
  20. package/dist/browser/fingerprint/tier2-runtime.d.ts.map +1 -0
  21. package/dist/browser/fingerprint/tier3-adaptive.d.ts +30 -0
  22. package/dist/browser/fingerprint/tier3-adaptive.d.ts.map +1 -0
  23. package/dist/browser/manager-types.d.ts +3 -0
  24. package/dist/browser/manager-types.d.ts.map +1 -0
  25. package/dist/browser/ops-browser-manager.d.ts +131 -0
  26. package/dist/browser/ops-browser-manager.d.ts.map +1 -0
  27. package/dist/browser/ops-client.d.ts +56 -0
  28. package/dist/browser/ops-client.d.ts.map +1 -0
  29. package/dist/browser/parallelism-governor.d.ts +31 -0
  30. package/dist/browser/parallelism-governor.d.ts.map +1 -0
  31. package/dist/browser/script-runner.d.ts +23 -0
  32. package/dist/browser/script-runner.d.ts.map +1 -0
  33. package/dist/browser/session-store.d.ts +63 -0
  34. package/dist/browser/session-store.d.ts.map +1 -0
  35. package/dist/browser/target-manager.d.ts +36 -0
  36. package/dist/browser/target-manager.d.ts.map +1 -0
  37. package/dist/cache/chrome-locator.d.ts +2 -0
  38. package/dist/cache/chrome-locator.d.ts.map +1 -0
  39. package/dist/cache/downloader.d.ts +6 -0
  40. package/dist/cache/downloader.d.ts.map +1 -0
  41. package/dist/cache/paths.d.ts +9 -0
  42. package/dist/cache/paths.d.ts.map +1 -0
  43. package/dist/chunk-7W3SPXIB.js +166 -0
  44. package/dist/chunk-7W3SPXIB.js.map +1 -0
  45. package/dist/chunk-ST7CO5FA.js +18668 -0
  46. package/dist/chunk-ST7CO5FA.js.map +1 -0
  47. package/dist/cli/args.d.ts +25 -0
  48. package/dist/cli/args.d.ts.map +1 -0
  49. package/dist/cli/client.d.ts +2 -0
  50. package/dist/cli/client.d.ts.map +1 -0
  51. package/dist/cli/commands/annotate.d.ts +27 -0
  52. package/dist/cli/commands/annotate.d.ts.map +1 -0
  53. package/dist/cli/commands/artifacts.d.ts +24 -0
  54. package/dist/cli/commands/artifacts.d.ts.map +1 -0
  55. package/dist/cli/commands/daemon.d.ts +35 -0
  56. package/dist/cli/commands/daemon.d.ts.map +1 -0
  57. package/dist/cli/commands/devtools/console-poll.d.ts +7 -0
  58. package/dist/cli/commands/devtools/console-poll.d.ts.map +1 -0
  59. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts +20 -0
  60. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts.map +1 -0
  61. package/dist/cli/commands/devtools/network-poll.d.ts +7 -0
  62. package/dist/cli/commands/devtools/network-poll.d.ts.map +1 -0
  63. package/dist/cli/commands/devtools/perf.d.ts +7 -0
  64. package/dist/cli/commands/devtools/perf.d.ts.map +1 -0
  65. package/dist/cli/commands/devtools/screenshot.d.ts +17 -0
  66. package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -0
  67. package/dist/cli/commands/dom/attr.d.ts +7 -0
  68. package/dist/cli/commands/dom/attr.d.ts.map +1 -0
  69. package/dist/cli/commands/dom/checked.d.ts +7 -0
  70. package/dist/cli/commands/dom/checked.d.ts.map +1 -0
  71. package/dist/cli/commands/dom/enabled.d.ts +7 -0
  72. package/dist/cli/commands/dom/enabled.d.ts.map +1 -0
  73. package/dist/cli/commands/dom/html.d.ts +7 -0
  74. package/dist/cli/commands/dom/html.d.ts.map +1 -0
  75. package/dist/cli/commands/dom/text.d.ts +7 -0
  76. package/dist/cli/commands/dom/text.d.ts.map +1 -0
  77. package/dist/cli/commands/dom/value.d.ts +7 -0
  78. package/dist/cli/commands/dom/value.d.ts.map +1 -0
  79. package/dist/cli/commands/dom/visible.d.ts +7 -0
  80. package/dist/cli/commands/dom/visible.d.ts.map +1 -0
  81. package/dist/cli/commands/export/clone-component.d.ts +7 -0
  82. package/dist/cli/commands/export/clone-component.d.ts.map +1 -0
  83. package/dist/cli/commands/export/clone-page.d.ts +7 -0
  84. package/dist/cli/commands/export/clone-page.d.ts.map +1 -0
  85. package/dist/cli/commands/interact/check.d.ts +7 -0
  86. package/dist/cli/commands/interact/check.d.ts.map +1 -0
  87. package/dist/cli/commands/interact/click.d.ts +7 -0
  88. package/dist/cli/commands/interact/click.d.ts.map +1 -0
  89. package/dist/cli/commands/interact/hover.d.ts +7 -0
  90. package/dist/cli/commands/interact/hover.d.ts.map +1 -0
  91. package/dist/cli/commands/interact/press.d.ts +7 -0
  92. package/dist/cli/commands/interact/press.d.ts.map +1 -0
  93. package/dist/cli/commands/interact/scroll-into-view.d.ts +7 -0
  94. package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -0
  95. package/dist/cli/commands/interact/scroll.d.ts +7 -0
  96. package/dist/cli/commands/interact/scroll.d.ts.map +1 -0
  97. package/dist/cli/commands/interact/select.d.ts +7 -0
  98. package/dist/cli/commands/interact/select.d.ts.map +1 -0
  99. package/dist/cli/commands/interact/type.d.ts +7 -0
  100. package/dist/cli/commands/interact/type.d.ts.map +1 -0
  101. package/dist/cli/commands/interact/uncheck.d.ts +7 -0
  102. package/dist/cli/commands/interact/uncheck.d.ts.map +1 -0
  103. package/dist/cli/commands/macro-resolve.d.ts +18 -0
  104. package/dist/cli/commands/macro-resolve.d.ts.map +1 -0
  105. package/dist/cli/commands/native.d.ts +82 -0
  106. package/dist/cli/commands/native.d.ts.map +1 -0
  107. package/dist/cli/commands/nav/goto.d.ts +7 -0
  108. package/dist/cli/commands/nav/goto.d.ts.map +1 -0
  109. package/dist/cli/commands/nav/snapshot.d.ts +7 -0
  110. package/dist/cli/commands/nav/snapshot.d.ts.map +1 -0
  111. package/dist/cli/commands/nav/wait.d.ts +7 -0
  112. package/dist/cli/commands/nav/wait.d.ts.map +1 -0
  113. package/dist/cli/commands/pages/close.d.ts +6 -0
  114. package/dist/cli/commands/pages/close.d.ts.map +1 -0
  115. package/dist/cli/commands/pages/list.d.ts +7 -0
  116. package/dist/cli/commands/pages/list.d.ts.map +1 -0
  117. package/dist/cli/commands/pages/open.d.ts +7 -0
  118. package/dist/cli/commands/pages/open.d.ts.map +1 -0
  119. package/dist/cli/commands/product-video.d.ts +25 -0
  120. package/dist/cli/commands/product-video.d.ts.map +1 -0
  121. package/dist/cli/commands/registry.d.ts +5 -0
  122. package/dist/cli/commands/registry.d.ts.map +1 -0
  123. package/dist/cli/commands/research.d.ts +27 -0
  124. package/dist/cli/commands/research.d.ts.map +1 -0
  125. package/dist/cli/commands/rpc.d.ts +28 -0
  126. package/dist/cli/commands/rpc.d.ts.map +1 -0
  127. package/dist/cli/commands/run.d.ts +17 -0
  128. package/dist/cli/commands/run.d.ts.map +1 -0
  129. package/dist/cli/commands/serve.d.ts +59 -0
  130. package/dist/cli/commands/serve.d.ts.map +1 -0
  131. package/dist/cli/commands/session/connect.d.ts +9 -0
  132. package/dist/cli/commands/session/connect.d.ts.map +1 -0
  133. package/dist/cli/commands/session/cookie-import.d.ts +31 -0
  134. package/dist/cli/commands/session/cookie-import.d.ts.map +1 -0
  135. package/dist/cli/commands/session/cookie-list.d.ts +17 -0
  136. package/dist/cli/commands/session/cookie-list.d.ts.map +1 -0
  137. package/dist/cli/commands/session/disconnect.d.ts +6 -0
  138. package/dist/cli/commands/session/disconnect.d.ts.map +1 -0
  139. package/dist/cli/commands/session/launch.d.ts +29 -0
  140. package/dist/cli/commands/session/launch.d.ts.map +1 -0
  141. package/dist/cli/commands/session/status.d.ts +7 -0
  142. package/dist/cli/commands/session/status.d.ts.map +1 -0
  143. package/dist/cli/commands/shopping.d.ts +25 -0
  144. package/dist/cli/commands/shopping.d.ts.map +1 -0
  145. package/dist/cli/commands/status.d.ts +19 -0
  146. package/dist/cli/commands/status.d.ts.map +1 -0
  147. package/dist/cli/commands/targets/close.d.ts +6 -0
  148. package/dist/cli/commands/targets/close.d.ts.map +1 -0
  149. package/dist/cli/commands/targets/list.d.ts +7 -0
  150. package/dist/cli/commands/targets/list.d.ts.map +1 -0
  151. package/dist/cli/commands/targets/new.d.ts +7 -0
  152. package/dist/cli/commands/targets/new.d.ts.map +1 -0
  153. package/dist/cli/commands/targets/use.d.ts +7 -0
  154. package/dist/cli/commands/targets/use.d.ts.map +1 -0
  155. package/dist/cli/commands/types.d.ts +13 -0
  156. package/dist/cli/commands/types.d.ts.map +1 -0
  157. package/dist/cli/commands/uninstall.d.ts +14 -0
  158. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  159. package/dist/cli/commands/update.d.ts +7 -0
  160. package/dist/cli/commands/update.d.ts.map +1 -0
  161. package/dist/cli/daemon-autostart.d.ts +46 -0
  162. package/dist/cli/daemon-autostart.d.ts.map +1 -0
  163. package/dist/cli/daemon-client.d.ts +33 -0
  164. package/dist/cli/daemon-client.d.ts.map +1 -0
  165. package/dist/cli/daemon-commands.d.ts +7 -0
  166. package/dist/cli/daemon-commands.d.ts.map +1 -0
  167. package/dist/cli/daemon-state.d.ts +56 -0
  168. package/dist/cli/daemon-state.d.ts.map +1 -0
  169. package/dist/cli/daemon-status.d.ts +19 -0
  170. package/dist/cli/daemon-status.d.ts.map +1 -0
  171. package/dist/cli/daemon.d.ts +29 -0
  172. package/dist/cli/daemon.d.ts.map +1 -0
  173. package/dist/cli/errors.d.ts +20 -0
  174. package/dist/cli/errors.d.ts.map +1 -0
  175. package/dist/cli/help.d.ts +28 -0
  176. package/dist/cli/help.d.ts.map +1 -0
  177. package/dist/cli/index.d.ts +2 -0
  178. package/dist/cli/index.d.ts.map +1 -0
  179. package/dist/cli/index.js +4604 -769
  180. package/dist/cli/index.js.map +1 -1
  181. package/dist/cli/installers/global.d.ts +9 -0
  182. package/dist/cli/installers/global.d.ts.map +1 -0
  183. package/dist/cli/installers/local.d.ts +9 -0
  184. package/dist/cli/installers/local.d.ts.map +1 -0
  185. package/dist/cli/installers/skills.d.ts +19 -0
  186. package/dist/cli/installers/skills.d.ts.map +1 -0
  187. package/dist/cli/output.d.ts +7 -0
  188. package/dist/cli/output.d.ts.map +1 -0
  189. package/dist/cli/remote-manager.d.ts +96 -0
  190. package/dist/cli/remote-manager.d.ts.map +1 -0
  191. package/dist/cli/remote-relay.d.ts +17 -0
  192. package/dist/cli/remote-relay.d.ts.map +1 -0
  193. package/dist/cli/templates/config.d.ts +7 -0
  194. package/dist/cli/templates/config.d.ts.map +1 -0
  195. package/dist/cli/utils/config.d.ts +20 -0
  196. package/dist/cli/utils/config.d.ts.map +1 -0
  197. package/dist/cli/utils/http.d.ts +5 -0
  198. package/dist/cli/utils/http.d.ts.map +1 -0
  199. package/dist/cli/utils/parse.d.ts +8 -0
  200. package/dist/cli/utils/parse.d.ts.map +1 -0
  201. package/dist/cli/utils/skills.d.ts +12 -0
  202. package/dist/cli/utils/skills.d.ts.map +1 -0
  203. package/dist/config.d.ts +208 -0
  204. package/dist/config.d.ts.map +1 -0
  205. package/dist/core/bootstrap.d.ts +3 -0
  206. package/dist/core/bootstrap.d.ts.map +1 -0
  207. package/dist/core/index.d.ts +3 -0
  208. package/dist/core/index.d.ts.map +1 -0
  209. package/dist/core/logging.d.ts +34 -0
  210. package/dist/core/logging.d.ts.map +1 -0
  211. package/dist/core/types.d.ts +34 -0
  212. package/dist/core/types.d.ts.map +1 -0
  213. package/dist/devtools/console-tracker.d.ts +44 -0
  214. package/dist/devtools/console-tracker.d.ts.map +1 -0
  215. package/dist/devtools/exception-tracker.d.ts +42 -0
  216. package/dist/devtools/exception-tracker.d.ts.map +1 -0
  217. package/dist/devtools/network-tracker.d.ts +34 -0
  218. package/dist/devtools/network-tracker.d.ts.map +1 -0
  219. package/dist/export/css-extract.d.ts +5 -0
  220. package/dist/export/css-extract.d.ts.map +1 -0
  221. package/dist/export/dom-capture.d.ts +15 -0
  222. package/dist/export/dom-capture.d.ts.map +1 -0
  223. package/dist/export/react-emitter.d.ts +11 -0
  224. package/dist/export/react-emitter.d.ts.map +1 -0
  225. package/dist/extension-extractor.d.ts +3 -0
  226. package/dist/extension-extractor.d.ts.map +1 -0
  227. package/dist/index.d.ts +3 -4
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +1905 -262
  230. package/dist/index.js.map +1 -1
  231. package/dist/macros/execute.d.ts +44 -0
  232. package/dist/macros/execute.d.ts.map +1 -0
  233. package/dist/macros/index.d.ts +9 -0
  234. package/dist/macros/index.d.ts.map +1 -0
  235. package/dist/macros/packs/core.d.ts +3 -0
  236. package/dist/macros/packs/core.d.ts.map +1 -0
  237. package/dist/macros/registry.d.ts +48 -0
  238. package/dist/macros/registry.d.ts.map +1 -0
  239. package/dist/macros-NUBRM44Y.js +399 -0
  240. package/dist/macros-NUBRM44Y.js.map +1 -0
  241. package/dist/opendevbrowser.d.ts +3 -4
  242. package/dist/opendevbrowser.d.ts.map +1 -0
  243. package/dist/opendevbrowser.js +1905 -262
  244. package/dist/opendevbrowser.js.map +1 -1
  245. package/dist/providers/adaptive-concurrency.d.ts +42 -0
  246. package/dist/providers/adaptive-concurrency.d.ts.map +1 -0
  247. package/dist/providers/artifacts.d.ts +34 -0
  248. package/dist/providers/artifacts.d.ts.map +1 -0
  249. package/dist/providers/blocker.d.ts +47 -0
  250. package/dist/providers/blocker.d.ts.map +1 -0
  251. package/dist/providers/community/index.d.ts +44 -0
  252. package/dist/providers/community/index.d.ts.map +1 -0
  253. package/dist/providers/enrichment.d.ts +33 -0
  254. package/dist/providers/enrichment.d.ts.map +1 -0
  255. package/dist/providers/errors.d.ts +41 -0
  256. package/dist/providers/errors.d.ts.map +1 -0
  257. package/dist/providers/index.d.ts +121 -0
  258. package/dist/providers/index.d.ts.map +1 -0
  259. package/dist/providers/normalize.d.ts +39 -0
  260. package/dist/providers/normalize.d.ts.map +1 -0
  261. package/dist/providers/policy.d.ts +5 -0
  262. package/dist/providers/policy.d.ts.map +1 -0
  263. package/dist/providers/registry.d.ts +22 -0
  264. package/dist/providers/registry.d.ts.map +1 -0
  265. package/dist/providers/renderer.d.ts +49 -0
  266. package/dist/providers/renderer.d.ts.map +1 -0
  267. package/dist/providers/runtime-factory.d.ts +20 -0
  268. package/dist/providers/runtime-factory.d.ts.map +1 -0
  269. package/dist/providers/safety/prompt-guard.d.ts +34 -0
  270. package/dist/providers/safety/prompt-guard.d.ts.map +1 -0
  271. package/dist/providers/shared/anti-bot-policy.d.ts +51 -0
  272. package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -0
  273. package/dist/providers/shared/post-policy.d.ts +31 -0
  274. package/dist/providers/shared/post-policy.d.ts.map +1 -0
  275. package/dist/providers/shared/request-headers.d.ts +5 -0
  276. package/dist/providers/shared/request-headers.d.ts.map +1 -0
  277. package/dist/providers/shared/traversal-url.d.ts +2 -0
  278. package/dist/providers/shared/traversal-url.d.ts.map +1 -0
  279. package/dist/providers/shopping/index.d.ts +63 -0
  280. package/dist/providers/shopping/index.d.ts.map +1 -0
  281. package/dist/providers/social/bluesky.d.ts +3 -0
  282. package/dist/providers/social/bluesky.d.ts.map +1 -0
  283. package/dist/providers/social/facebook.d.ts +3 -0
  284. package/dist/providers/social/facebook.d.ts.map +1 -0
  285. package/dist/providers/social/index.d.ts +31 -0
  286. package/dist/providers/social/index.d.ts.map +1 -0
  287. package/dist/providers/social/instagram.d.ts +3 -0
  288. package/dist/providers/social/instagram.d.ts.map +1 -0
  289. package/dist/providers/social/linkedin.d.ts +3 -0
  290. package/dist/providers/social/linkedin.d.ts.map +1 -0
  291. package/dist/providers/social/platform.d.ts +40 -0
  292. package/dist/providers/social/platform.d.ts.map +1 -0
  293. package/dist/providers/social/reddit.d.ts +3 -0
  294. package/dist/providers/social/reddit.d.ts.map +1 -0
  295. package/dist/providers/social/threads.d.ts +3 -0
  296. package/dist/providers/social/threads.d.ts.map +1 -0
  297. package/dist/providers/social/tiktok.d.ts +3 -0
  298. package/dist/providers/social/tiktok.d.ts.map +1 -0
  299. package/dist/providers/social/x.d.ts +3 -0
  300. package/dist/providers/social/x.d.ts.map +1 -0
  301. package/dist/providers/social/youtube-resolver.d.ts +78 -0
  302. package/dist/providers/social/youtube-resolver.d.ts.map +1 -0
  303. package/dist/providers/social/youtube.d.ts +34 -0
  304. package/dist/providers/social/youtube.d.ts.map +1 -0
  305. package/dist/providers/tier-router.d.ts +30 -0
  306. package/dist/providers/tier-router.d.ts.map +1 -0
  307. package/dist/providers/timebox.d.ts +20 -0
  308. package/dist/providers/timebox.d.ts.map +1 -0
  309. package/dist/providers/types.d.ts +344 -0
  310. package/dist/providers/types.d.ts.map +1 -0
  311. package/dist/providers/web/crawl-worker.d.ts +36 -0
  312. package/dist/providers/web/crawl-worker.d.ts.map +1 -0
  313. package/dist/providers/web/crawler.d.ts +101 -0
  314. package/dist/providers/web/crawler.d.ts.map +1 -0
  315. package/dist/providers/web/extract.d.ts +11 -0
  316. package/dist/providers/web/extract.d.ts.map +1 -0
  317. package/dist/providers/web/index.d.ts +24 -0
  318. package/dist/providers/web/index.d.ts.map +1 -0
  319. package/dist/providers/web/policy.d.ts +14 -0
  320. package/dist/providers/web/policy.d.ts.map +1 -0
  321. package/dist/providers/workflows.d.ts +67 -0
  322. package/dist/providers/workflows.d.ts.map +1 -0
  323. package/dist/relay/protocol.d.ts +317 -0
  324. package/dist/relay/protocol.d.ts.map +1 -0
  325. package/dist/relay/relay-endpoints.d.ts +16 -0
  326. package/dist/relay/relay-endpoints.d.ts.map +1 -0
  327. package/dist/relay/relay-server.d.ts +111 -0
  328. package/dist/relay/relay-server.d.ts.map +1 -0
  329. package/dist/relay/relay-types.d.ts +9 -0
  330. package/dist/relay/relay-types.d.ts.map +1 -0
  331. package/dist/skills/continuity-nudge.d.ts +12 -0
  332. package/dist/skills/continuity-nudge.d.ts.map +1 -0
  333. package/dist/skills/skill-loader.d.ts +20 -0
  334. package/dist/skills/skill-loader.d.ts.map +1 -0
  335. package/dist/skills/skill-nudge.d.ts +18 -0
  336. package/dist/skills/skill-nudge.d.ts.map +1 -0
  337. package/dist/skills/types.d.ts +12 -0
  338. package/dist/skills/types.d.ts.map +1 -0
  339. package/dist/snapshot/ops-snapshot.d.ts +16 -0
  340. package/dist/snapshot/ops-snapshot.d.ts.map +1 -0
  341. package/dist/snapshot/refs.d.ts +23 -0
  342. package/dist/snapshot/refs.d.ts.map +1 -0
  343. package/dist/snapshot/snapshotter.d.ts +27 -0
  344. package/dist/snapshot/snapshotter.d.ts.map +1 -0
  345. package/dist/tools/annotate.d.ts +4 -0
  346. package/dist/tools/annotate.d.ts.map +1 -0
  347. package/dist/tools/check.d.ts +4 -0
  348. package/dist/tools/check.d.ts.map +1 -0
  349. package/dist/tools/click.d.ts +4 -0
  350. package/dist/tools/click.d.ts.map +1 -0
  351. package/dist/tools/clone_component.d.ts +4 -0
  352. package/dist/tools/clone_component.d.ts.map +1 -0
  353. package/dist/tools/clone_page.d.ts +4 -0
  354. package/dist/tools/clone_page.d.ts.map +1 -0
  355. package/dist/tools/close.d.ts +4 -0
  356. package/dist/tools/close.d.ts.map +1 -0
  357. package/dist/tools/connect.d.ts +4 -0
  358. package/dist/tools/connect.d.ts.map +1 -0
  359. package/dist/tools/console_poll.d.ts +4 -0
  360. package/dist/tools/console_poll.d.ts.map +1 -0
  361. package/dist/tools/cookie_import.d.ts +25 -0
  362. package/dist/tools/cookie_import.d.ts.map +1 -0
  363. package/dist/tools/cookie_list.d.ts +9 -0
  364. package/dist/tools/cookie_list.d.ts.map +1 -0
  365. package/dist/tools/debug_trace_snapshot.d.ts +4 -0
  366. package/dist/tools/debug_trace_snapshot.d.ts.map +1 -0
  367. package/dist/tools/deps.d.ts +26 -0
  368. package/dist/tools/deps.d.ts.map +1 -0
  369. package/dist/tools/disconnect.d.ts +4 -0
  370. package/dist/tools/disconnect.d.ts.map +1 -0
  371. package/dist/tools/dom_get_html.d.ts +4 -0
  372. package/dist/tools/dom_get_html.d.ts.map +1 -0
  373. package/dist/tools/dom_get_text.d.ts +4 -0
  374. package/dist/tools/dom_get_text.d.ts.map +1 -0
  375. package/dist/tools/get_attr.d.ts +4 -0
  376. package/dist/tools/get_attr.d.ts.map +1 -0
  377. package/dist/tools/get_value.d.ts +4 -0
  378. package/dist/tools/get_value.d.ts.map +1 -0
  379. package/dist/tools/goto.d.ts +4 -0
  380. package/dist/tools/goto.d.ts.map +1 -0
  381. package/dist/tools/hover.d.ts +4 -0
  382. package/dist/tools/hover.d.ts.map +1 -0
  383. package/dist/tools/index.d.ts +4 -0
  384. package/dist/tools/index.d.ts.map +1 -0
  385. package/dist/tools/is_checked.d.ts +4 -0
  386. package/dist/tools/is_checked.d.ts.map +1 -0
  387. package/dist/tools/is_enabled.d.ts +4 -0
  388. package/dist/tools/is_enabled.d.ts.map +1 -0
  389. package/dist/tools/is_visible.d.ts +4 -0
  390. package/dist/tools/is_visible.d.ts.map +1 -0
  391. package/dist/tools/launch.d.ts +4 -0
  392. package/dist/tools/launch.d.ts.map +1 -0
  393. package/dist/tools/list.d.ts +4 -0
  394. package/dist/tools/list.d.ts.map +1 -0
  395. package/dist/tools/macro_resolve.d.ts +25 -0
  396. package/dist/tools/macro_resolve.d.ts.map +1 -0
  397. package/dist/tools/network_poll.d.ts +4 -0
  398. package/dist/tools/network_poll.d.ts.map +1 -0
  399. package/dist/tools/page.d.ts +4 -0
  400. package/dist/tools/page.d.ts.map +1 -0
  401. package/dist/tools/perf.d.ts +4 -0
  402. package/dist/tools/perf.d.ts.map +1 -0
  403. package/dist/tools/press.d.ts +4 -0
  404. package/dist/tools/press.d.ts.map +1 -0
  405. package/dist/tools/product_video_run.d.ts +4 -0
  406. package/dist/tools/product_video_run.d.ts.map +1 -0
  407. package/dist/tools/prompting_guide.d.ts +4 -0
  408. package/dist/tools/prompting_guide.d.ts.map +1 -0
  409. package/dist/tools/research_run.d.ts +4 -0
  410. package/dist/tools/research_run.d.ts.map +1 -0
  411. package/dist/tools/response.d.ts +16 -0
  412. package/dist/tools/response.d.ts.map +1 -0
  413. package/dist/tools/run.d.ts +4 -0
  414. package/dist/tools/run.d.ts.map +1 -0
  415. package/dist/tools/screenshot.d.ts +4 -0
  416. package/dist/tools/screenshot.d.ts.map +1 -0
  417. package/dist/tools/scroll.d.ts +4 -0
  418. package/dist/tools/scroll.d.ts.map +1 -0
  419. package/dist/tools/scroll_into_view.d.ts +4 -0
  420. package/dist/tools/scroll_into_view.d.ts.map +1 -0
  421. package/dist/tools/select.d.ts +4 -0
  422. package/dist/tools/select.d.ts.map +1 -0
  423. package/dist/tools/shopping_run.d.ts +4 -0
  424. package/dist/tools/shopping_run.d.ts.map +1 -0
  425. package/dist/tools/skill_list.d.ts +4 -0
  426. package/dist/tools/skill_list.d.ts.map +1 -0
  427. package/dist/tools/skill_load.d.ts +4 -0
  428. package/dist/tools/skill_load.d.ts.map +1 -0
  429. package/dist/tools/snapshot.d.ts +4 -0
  430. package/dist/tools/snapshot.d.ts.map +1 -0
  431. package/dist/tools/status.d.ts +4 -0
  432. package/dist/tools/status.d.ts.map +1 -0
  433. package/dist/tools/target_close.d.ts +4 -0
  434. package/dist/tools/target_close.d.ts.map +1 -0
  435. package/dist/tools/target_new.d.ts +4 -0
  436. package/dist/tools/target_new.d.ts.map +1 -0
  437. package/dist/tools/target_use.d.ts +4 -0
  438. package/dist/tools/target_use.d.ts.map +1 -0
  439. package/dist/tools/targets_list.d.ts +4 -0
  440. package/dist/tools/targets_list.d.ts.map +1 -0
  441. package/dist/tools/type.d.ts +4 -0
  442. package/dist/tools/type.d.ts.map +1 -0
  443. package/dist/tools/uncheck.d.ts +4 -0
  444. package/dist/tools/uncheck.d.ts.map +1 -0
  445. package/dist/tools/wait.d.ts +4 -0
  446. package/dist/tools/wait.d.ts.map +1 -0
  447. package/dist/tools/workflow-runtime.d.ts +4 -0
  448. package/dist/tools/workflow-runtime.d.ts.map +1 -0
  449. package/dist/utils/crypto.d.ts +2 -0
  450. package/dist/utils/crypto.d.ts.map +1 -0
  451. package/dist/utils/endpoint-validation.d.ts +2 -0
  452. package/dist/utils/endpoint-validation.d.ts.map +1 -0
  453. package/dist/utils/fs.d.ts +5 -0
  454. package/dist/utils/fs.d.ts.map +1 -0
  455. package/dist/utils/hub-enabled.d.ts +3 -0
  456. package/dist/utils/hub-enabled.d.ts.map +1 -0
  457. package/extension/dist/annotate-content.css +237 -0
  458. package/extension/dist/annotate-content.js +934 -0
  459. package/extension/dist/background.js +1203 -35
  460. package/extension/dist/logging.js +50 -0
  461. package/extension/dist/ops/dom-bridge.js +355 -0
  462. package/extension/dist/ops/ops-runtime.js +1751 -0
  463. package/extension/dist/ops/ops-session-store.js +203 -0
  464. package/extension/dist/ops/parallelism-governor.js +117 -0
  465. package/extension/dist/ops/redaction.js +52 -0
  466. package/extension/dist/ops/snapshot-builder.js +4 -0
  467. package/extension/dist/ops/snapshot-shared.js +236 -0
  468. package/extension/dist/popup.js +370 -25
  469. package/extension/dist/relay-settings.js +1 -0
  470. package/extension/dist/services/CDPRouter.js +567 -104
  471. package/extension/dist/services/ConnectionManager.js +469 -60
  472. package/extension/dist/services/NativePortManager.js +182 -0
  473. package/extension/dist/services/RelayClient.js +227 -26
  474. package/extension/dist/services/TabManager.js +81 -0
  475. package/extension/dist/services/TargetSessionMap.js +146 -0
  476. package/extension/dist/services/cdp-router-commands.js +203 -0
  477. package/extension/dist/services/url-restrictions.js +41 -0
  478. package/extension/dist/types.js +3 -1
  479. package/extension/icons/icon128.png +0 -0
  480. package/extension/icons/icon16.png +0 -0
  481. package/extension/icons/icon32.png +0 -0
  482. package/extension/icons/icon48.png +0 -0
  483. package/extension/manifest.json +17 -3
  484. package/extension/popup.html +144 -0
  485. package/package.json +26 -17
  486. package/scripts/native/host.cjs +230 -0
  487. package/scripts/native/install.ps1 +73 -0
  488. package/scripts/native/install.sh +66 -0
  489. package/scripts/native/uninstall.ps1 +25 -0
  490. package/scripts/native/uninstall.sh +26 -0
  491. package/skills/AGENTS.md +47 -66
  492. package/skills/opendevbrowser-best-practices/SKILL.md +196 -49
  493. package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +44 -0
  494. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +95 -0
  495. package/skills/opendevbrowser-best-practices/artifacts/debug-trace-playbook.md +36 -0
  496. package/skills/opendevbrowser-best-practices/artifacts/fingerprint-tiers.md +36 -0
  497. package/skills/opendevbrowser-best-practices/artifacts/macro-workflows.md +43 -0
  498. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +36 -0
  499. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +89 -0
  500. package/skills/opendevbrowser-best-practices/assets/templates/cdp-forward-envelope.json +11 -0
  501. package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +56 -0
  502. package/skills/opendevbrowser-best-practices/assets/templates/ops-request-envelope.json +9 -0
  503. package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +79 -0
  504. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +24 -0
  505. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +144 -0
  506. package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +83 -0
  507. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +93 -0
  508. package/skills/opendevbrowser-continuity-ledger/SKILL.md +67 -23
  509. package/skills/opendevbrowser-data-extraction/SKILL.md +126 -0
  510. package/skills/opendevbrowser-data-extraction/artifacts/extraction-workflows.md +31 -0
  511. package/skills/opendevbrowser-data-extraction/assets/templates/compliance-checklist.md +7 -0
  512. package/skills/opendevbrowser-data-extraction/assets/templates/extraction-schema.json +17 -0
  513. package/skills/opendevbrowser-data-extraction/assets/templates/pagination-state.json +11 -0
  514. package/skills/opendevbrowser-data-extraction/assets/templates/quality-gates.json +10 -0
  515. package/skills/opendevbrowser-data-extraction/examples/sample-schema.json +19 -0
  516. package/skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh +83 -0
  517. package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +49 -0
  518. package/skills/opendevbrowser-form-testing/SKILL.md +143 -0
  519. package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +37 -0
  520. package/skills/opendevbrowser-form-testing/assets/templates/a11y-assertions.md +7 -0
  521. package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +16 -0
  522. package/skills/opendevbrowser-form-testing/assets/templates/multi-step-state.json +11 -0
  523. package/skills/opendevbrowser-form-testing/assets/templates/validation-matrix.json +24 -0
  524. package/skills/opendevbrowser-form-testing/examples/sample-validation-matrix.json +29 -0
  525. package/skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh +82 -0
  526. package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +49 -0
  527. package/skills/opendevbrowser-login-automation/SKILL.md +159 -0
  528. package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +39 -0
  529. package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +21 -0
  530. package/skills/opendevbrowser-login-automation/assets/templates/challenge-checkpoint.md +10 -0
  531. package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +26 -0
  532. package/skills/opendevbrowser-login-automation/examples/sample-auth-signals.json +14 -0
  533. package/skills/opendevbrowser-login-automation/scripts/record-auth-signals.sh +18 -0
  534. package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +99 -0
  535. package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +50 -0
  536. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +98 -0
  537. package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +23 -0
  538. package/skills/opendevbrowser-product-presentation-asset/artifacts/ugc-creative-guide.md +21 -0
  539. package/skills/opendevbrowser-product-presentation-asset/assets/templates/claims-evidence-map.md +5 -0
  540. package/skills/opendevbrowser-product-presentation-asset/assets/templates/copy.md +5 -0
  541. package/skills/opendevbrowser-product-presentation-asset/assets/templates/features.md +4 -0
  542. package/skills/opendevbrowser-product-presentation-asset/assets/templates/manifest.schema.json +14 -0
  543. package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +7 -0
  544. package/skills/opendevbrowser-product-presentation-asset/assets/templates/ugc-concepts.md +17 -0
  545. package/skills/opendevbrowser-product-presentation-asset/assets/templates/user-actions.md +7 -0
  546. package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +18 -0
  547. package/skills/opendevbrowser-product-presentation-asset/examples/sample-input.json +6 -0
  548. package/skills/opendevbrowser-product-presentation-asset/examples/sample-manifest.json +18 -0
  549. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +9 -0
  550. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +14 -0
  551. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +9 -0
  552. package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +96 -0
  553. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +56 -0
  554. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +43 -0
  555. package/skills/opendevbrowser-research/SKILL.md +73 -0
  556. package/skills/opendevbrowser-research/artifacts/research-workflows.md +29 -0
  557. package/skills/opendevbrowser-research/assets/templates/compact.md +7 -0
  558. package/skills/opendevbrowser-research/assets/templates/context.json +18 -0
  559. package/skills/opendevbrowser-research/assets/templates/report.md +9 -0
  560. package/skills/opendevbrowser-research/examples/sample-input.json +6 -0
  561. package/skills/opendevbrowser-research/examples/sample-output.md +4 -0
  562. package/skills/opendevbrowser-research/scripts/render-output.sh +12 -0
  563. package/skills/opendevbrowser-research/scripts/run-research.sh +23 -0
  564. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +48 -0
  565. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +29 -0
  566. package/skills/opendevbrowser-shopping/SKILL.md +118 -0
  567. package/skills/opendevbrowser-shopping/artifacts/deal-hunting-workflows.md +37 -0
  568. package/skills/opendevbrowser-shopping/assets/templates/deal-thresholds.json +8 -0
  569. package/skills/opendevbrowser-shopping/assets/templates/deals-context.json +9 -0
  570. package/skills/opendevbrowser-shopping/assets/templates/deals-table.md +4 -0
  571. package/skills/opendevbrowser-shopping/assets/templates/market-analysis.json +30 -0
  572. package/skills/opendevbrowser-shopping/examples/sample-deals.md +4 -0
  573. package/skills/opendevbrowser-shopping/examples/sample-query.json +5 -0
  574. package/skills/opendevbrowser-shopping/scripts/analyze-market.sh +307 -0
  575. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +28 -0
  576. package/skills/opendevbrowser-shopping/scripts/render-deals.sh +13 -0
  577. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +32 -0
  578. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +19 -0
  579. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +53 -0
  580. package/dist/chunk-WTFSMBVH.js +0 -2815
  581. package/dist/chunk-WTFSMBVH.js.map +0 -1
  582. package/extension/dist/popup.jsx +0 -150
  583. package/skills/data-extraction/SKILL.md +0 -136
  584. package/skills/form-testing/SKILL.md +0 -113
  585. package/skills/login-automation/SKILL.md +0 -98
@@ -1,81 +1,228 @@
1
1
  ---
2
2
  name: opendevbrowser-best-practices
3
- description: Use when the user asks to write browser scripts, automate navigation, use snapshot refs, or extract DOM elements. Provides script-first, snapshot/ref guidance.
4
- version: 0.1.0
3
+ description: This skill should be used when the user asks to design or run OpenDevBrowser provider workflows, scraping pipelines, QA/debug automation, parity checks across modes, or resilient browser operations with codified scripts and artifacts.
4
+ version: 2.3.0
5
5
  ---
6
6
 
7
7
  # OpenDevBrowser Best Practices
8
8
 
9
- Use this guide to generate fast, reliable, script-first workflows without bloating tools or output.
9
+ This is the primary battery pack for OpenDevBrowser operations.
10
10
 
11
- ## Core Workflow (Snapshot -> Refs -> Actions)
11
+ Use this skill when you need:
12
+ - provider-oriented workflows (`web`, `community`, `social`),
13
+ - script-first runbooks,
14
+ - parity across `managed`, `extension`, `cdpConnect`,
15
+ - diagnostics for QA/debug (`console`, `network`, trace context),
16
+ - safe write flows with explicit policy notice.
12
17
 
13
- Prefer the snapshot/ref loop as the primary interaction model:
18
+ ## Pack Contents
14
19
 
15
- 1. Navigate or focus the target page.
16
- 2. Capture a snapshot to obtain stable refs.
17
- 3. Act on refs (click, type, select, scroll).
18
- 4. Re-snapshot after navigation or large DOM changes.
20
+ - `artifacts/provider-workflows.md` canonical provider execution flows.
21
+ - `artifacts/parity-gates.md` mode/surface parity matrix and acceptance gates.
22
+ - `artifacts/debug-trace-playbook.md` diagnostics workflow and trace bundle model.
23
+ - `artifacts/fingerprint-tiers.md` hardening tiers and when to use each.
24
+ - `artifacts/macro-workflows.md` — macro design and expansion standards.
25
+ - `artifacts/browser-agent-known-issues-matrix.md` — known browser-agent failure modes mapped to required controls.
26
+ - `artifacts/command-channel-reference.md` — CLI/tool/`/ops`/`/cdp` surface map plus cross-agent skill-sync targets.
27
+ - `assets/templates/mode-flag-matrix.json` — mode + flag verification template.
28
+ - `assets/templates/ops-request-envelope.json` — `/ops` request envelope template.
29
+ - `assets/templates/cdp-forward-envelope.json` — `/cdp` relay envelope template.
30
+ - `assets/templates/robustness-checklist.json` — shared issue-status checklist for workflow robustness audits.
31
+ - `assets/templates/surface-audit-checklist.json` — docs/surface audit checklist template.
32
+ - `scripts/odb-workflow.sh` — prints codified command sequences by workflow.
33
+ - `scripts/run-robustness-audit.sh` — validates workflow skill coverage against known issue IDs.
34
+ - `scripts/validate-skill-assets.sh` — validates required artifacts/templates.
19
35
 
20
- Use refs instead of raw selectors whenever possible.
36
+ ## Fast Start
21
37
 
22
- ## Script-First Execution
38
+ 1. Validate the skill pack:
23
39
 
24
- Batch related actions in a single run to reduce round-trips:
40
+ ```bash
41
+ ./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
42
+ ```
25
43
 
26
- - Use `opendevbrowser_run` for multi-step actions.
27
- - Keep steps small and deterministic.
28
- - End each run with a state check (snapshot or targeted extraction).
44
+ 2. Pick a workflow:
29
45
 
30
- Match the arguments used in the single-action tools.
46
+ ```bash
47
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh provider-crawl
48
+ ```
31
49
 
32
- ## Waiting and Stability
50
+ 3. Execute the printed sequence with session-specific values.
33
51
 
34
- Stabilize the page before acting:
52
+ 4. Surface full controls directly from CLI help when auditing runtime accessibility:
35
53
 
36
- - Use `opendevbrowser_wait` after navigation and before interacting with newly rendered UI.
37
- - Prefer `networkidle` or `load` when the UI is fully dynamic.
38
- - Wait for a ref state when targeting specific elements.
54
+ ```bash
55
+ npx opendevbrowser --help
56
+ ```
39
57
 
40
- ## Token-Efficient Extraction
58
+ 5. Run robustness coverage checks across workflow skills:
41
59
 
42
- Keep outputs small and scoped:
60
+ ```bash
61
+ ./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh
62
+ ```
43
63
 
44
- - Use `opendevbrowser_dom_get_text` or `opendevbrowser_dom_get_html` only on specific refs.
45
- - Avoid dumping full page HTML.
46
- - Use snapshot cursor paging when content is large.
64
+ ## Agent Sync Targets
47
65
 
48
- ## Debug Signals (Lightweight)
66
+ Skill-pack installation and discovery are synchronized for:
67
+ - `opencode` (`~/.config/opencode/skill`, project `./.opencode/skill`)
68
+ - `codex` (`$CODEX_HOME/skills` fallback `~/.codex/skills`, project `./.codex/skills`)
69
+ - `claudecode` (`$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` fallback `~/.claude/skills`, project `./.claude/skills`)
70
+ - `ampcli` (`$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` fallback `~/.amp/skills`, project `./.amp/skills`)
49
71
 
50
- Use polling tools only when needed:
72
+ Legacy compatibility aliases `claude` and `amp` are preserved in installer target metadata.
51
73
 
52
- - Use `opendevbrowser_console_poll` to check for runtime errors.
53
- - Use `opendevbrowser_network_poll` to confirm API calls and statuses.
74
+ ## Required Operating Rules
54
75
 
55
- ## Example Patterns
76
+ - Prefer refs from `opendevbrowser_snapshot` over raw selectors.
77
+ - Use one action per decision loop: snapshot -> action -> snapshot.
78
+ - Keep a single correlation context (`requestId`, `sessionId`) across a run.
79
+ - Run the same workflow shape across all three modes before claiming parity.
80
+ - Default to read/research workflows. Social posting probes remain disabled unless explicitly requested via matrix opt-in (`--include-social-posts`).
81
+ - Apply rate-limit/backoff discipline (`Retry-After` aware) whenever 429 pressure appears.
82
+ - Re-check extension readiness on resume when a run crosses idle windows.
56
83
 
57
- ### Login Flow (Batch)
84
+ ## Parallel Operations (Reliable As-Is)
58
85
 
59
- 1. `goto` login URL.
60
- 2. `wait` for page load.
61
- 3. `snapshot` to get refs.
62
- 4. `type` email/password refs.
63
- 5. `click` submit ref.
64
- 6. `wait` for navigation.
65
- 7. `snapshot` to confirm state.
86
+ - Safe parallelism today is `session-per-worker` (one session per page/tab command stream).
87
+ - Keep each session single-writer for target/page actions; run commands serially inside that session.
88
+ - Do not run independent concurrent streams that alternate `target-use` within one session.
89
+ - Use default extension `/ops` for relay-backed concurrency; use `/cdp` only for legacy compatibility paths.
90
+ - For managed parallel runs with persisted profiles, use unique profile paths per session (or disable persistence) to avoid profile lock collisions.
91
+ - Treat extension headless attempts (`--extension-only --headless`) as expected `unsupported_mode`; route headless workloads through managed/cdpConnect instead.
92
+ - Before extension-mode runs, preflight `npx opendevbrowser status --daemon` and require `extensionConnected=true` plus `extensionHandshakeComplete=true`.
66
93
 
67
- ### Targeted Extraction
94
+ Operational references:
95
+ - `artifacts/provider-workflows.md` (see Workflow E)
96
+ - `scripts/odb-workflow.sh parallel-multipage-safe`
97
+ - `docs/CLI.md` (concurrency semantics)
98
+ - `docs/SURFACE_REFERENCE.md` (transport and policy constraints)
99
+ - `docs/TROUBLESHOOTING.md` (parallel crosstalk and profile-lock remediation)
68
100
 
69
- 1. `snapshot` to get ref for the desired element.
70
- 2. `dom_get_text` on that ref.
101
+ ## Known-Issue Robustness Baseline
71
102
 
72
- ## Mode Guidance
103
+ - Source matrix: `artifacts/browser-agent-known-issues-matrix.md`
104
+ - Reusable checklist: `assets/templates/robustness-checklist.json`
105
+ - Coverage validator: `scripts/run-robustness-audit.sh`
73
106
 
74
- - Use Mode A (managed) by default for zero-config operation.
75
- - Use Mode C (extension) only when existing logged-in tabs are required.
107
+ Use issue IDs from the matrix in each workflow skill (`ISSUE-01` ... `ISSUE-12`) so robustness checks stay machine-verifiable and DRY.
76
108
 
77
- ## Safe Defaults
109
+ ## Provider Workflows (Codified)
78
110
 
79
- - Keep CDP local-only by default.
80
- - Redact secrets in snapshot output.
81
- - Avoid raw CDP unless explicitly enabled.
111
+ ### Provider Search Workflow
112
+
113
+ Goal: deterministic query + extraction from one provider.
114
+
115
+ ```text
116
+ opendevbrowser_launch noExtension=true
117
+ opendevbrowser_goto sessionId="<session-id>" url="<provider-search-url>"
118
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
119
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
120
+ # extract targeted results using refs
121
+ opendevbrowser_network_poll sessionId="<session-id>" max=50
122
+ ```
123
+
124
+ ### Provider Crawl Workflow
125
+
126
+ Goal: multipage fetch + extraction with bounded depth.
127
+
128
+ ```text
129
+ opendevbrowser_launch noExtension=true
130
+ opendevbrowser_goto sessionId="<session-id>" url="<seed-url>"
131
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
132
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
133
+ # capture links/data, enqueue next pages in host logic
134
+ opendevbrowser_scroll sessionId="<session-id>" dy=1000
135
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
136
+ ```
137
+
138
+ ### QA Debug Workflow
139
+
140
+ Goal: isolate frontend regressions quickly.
141
+
142
+ ```text
143
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
144
+ opendevbrowser_console_poll sessionId="<session-id>" max=100
145
+ opendevbrowser_network_poll sessionId="<session-id>" max=100
146
+ opendevbrowser_screenshot sessionId="<session-id>"
147
+ ```
148
+
149
+ ### Read-Only Social Validation Workflow
150
+
151
+ Goal: validate authenticated read/search capability without posting.
152
+
153
+ 1. Connect and verify extension readiness (`extensionConnected` + handshake).
154
+ 2. Navigate/search target social surface.
155
+ 3. Capture `debug-trace-snapshot` and `network-poll` evidence.
156
+ 4. Record blocker/auth status only (no write action).
157
+
158
+ ## Workflow Router Script
159
+
160
+ Use the router script to avoid retyping flows:
161
+
162
+ ```bash
163
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh provider-search
164
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh provider-crawl
165
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh qa-debug
166
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh social-readonly-check
167
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh parity-check
168
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh surface-audit
169
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh ops-channel-check
170
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh cdp-channel-check
171
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh mode-flag-matrix
172
+ ./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh robustness-audit
173
+ ```
174
+
175
+ ## Modes and Surface Parity
176
+
177
+ Always run acceptance on:
178
+ - Modes: `managed`, `extension`, `cdpConnect`
179
+ - Surfaces: tool API, CLI, daemon RPC
180
+
181
+ Reference: `artifacts/parity-gates.md`
182
+
183
+ Parity gate test:
184
+
185
+ ```bash
186
+ npm run test -- tests/parity-matrix.test.ts
187
+ ```
188
+
189
+ Real-world provider+mode scenario harness (soak replacement):
190
+
191
+ ```bash
192
+ npm run build
193
+ node scripts/provider-live-matrix.mjs --use-global-env --skip-live-regression --out artifacts/provider-live-realworld.json
194
+ ```
195
+
196
+ Surface inventory source of truth:
197
+ - `docs/SURFACE_REFERENCE.md` (55 CLI commands, 48 tools, 38 `/ops` commands, `/cdp` envelope contracts)
198
+ - `artifacts/command-channel-reference.md` (skill-pack operational digest)
199
+
200
+ ## Diagnostics and Traceability
201
+
202
+ Current diagnostics tools:
203
+ - `opendevbrowser_console_poll`
204
+ - `opendevbrowser_network_poll`
205
+ - `opendevbrowser_debug_trace_snapshot` (combined page + console + network + exception channels)
206
+
207
+ Reference: `artifacts/debug-trace-playbook.md`
208
+
209
+ ## Fingerprint Hardening
210
+
211
+ Apply the minimum tier that meets reliability goals.
212
+
213
+ - Tier 0: baseline deterministic automation.
214
+ - Tier 1: coherence profile (default recommended).
215
+ - Tier 2: runtime hardening.
216
+ - Tier 3: adaptive managed hardening (optional).
217
+
218
+ Reference: `artifacts/fingerprint-tiers.md`
219
+
220
+ ## Macro Guidance
221
+
222
+ Use macros as normalized entrypoints for provider workflows.
223
+
224
+ - Keep macro definitions declarative and typed.
225
+ - Expand macros to canonical provider queries.
226
+ - Emit provenance metadata (`macro`, `resolvedQuery`, `provider`).
227
+
228
+ Reference: `artifacts/macro-workflows.md`
@@ -0,0 +1,44 @@
1
+ # Browser Agent Known-Issues Matrix
2
+
3
+ This matrix defines the minimum robustness controls for OpenDevBrowser workflow skills.
4
+
5
+ ## Issue Controls
6
+
7
+ | ID | Known issue | Typical signals | Required controls | Evidence to capture |
8
+ |---|---|---|---|---|
9
+ | `ISSUE-01` | DOM churn invalidates refs | action fails after render, detached/stale element behavior, missing ref | enforce `snapshot -> one action -> snapshot`, retry once after fresh snapshot, avoid reusing refs across navigation | before/after snapshots + failing action + retry outcome |
10
+ | `ISSUE-02` | Frame/iframe boundaries hide interactive targets | expected refs not found in top document, challenge widget rendered in iframe | detect frame context before action, route frame-specific steps, checkpoint when cross-origin challenge frame blocks continuation | snapshot outline showing frame branch + checkpoint note |
11
+ | `ISSUE-03` | Popup/new-tab auth flows break linear scripts | click triggers new tab/popup, current tab loses focus | detect target/page changes, rebind to active auth target, verify post-auth return target | target/page list before and after auth click |
12
+ | `ISSUE-04` | Step-up auth and session expiry alter login path | MFA/passkey prompt appears, unexpected redirect to reauth | branch login state machine explicitly, validate >=2 independent auth success signals, validate reauth policy separately | auth signal log with URL, element, network confirmation |
13
+ | `ISSUE-05` | Anti-bot challenge loops stall automation | repeated challenge pages/widgets, repeated 403/429 around auth/submit | treat as checkpoint, never bypass, set loop budget, escalate after repeated challenge loops | challenge checkpoint log with timestamps and outcome |
14
+ | `ISSUE-06` | Rate-limit pressure and server backoff ignored | 429 responses, throttle banners, `Retry-After` headers | stop aggressive retries, honor `Retry-After`, bounded retry budget with cooldown windows | network poll evidence with status + backoff decision |
15
+ | `ISSUE-07` | MV3 extension service worker suspends state | extension relay disconnects after idle, handshake drop | re-check extension readiness before critical steps, include reconnect path and resumed snapshot checkpoint | daemon status (`extensionConnected`, `extensionHandshakeComplete`) before resume |
16
+ | `ISSUE-08` | Restricted origins and policy blocks | `chrome://` / extension pages blocked, unsupported origin errors | validate URL/domain eligibility before workflow, fail fast with actionable reason | blocked-origin decision in run log |
17
+ | `ISSUE-09` | Pagination drift and duplicate extraction | duplicate records across pages, endless loop/no page delta | canonical dedupe keys, terminal conditions, positive delta gate, checkpoint/resume metadata | pagination state + quality-gate report |
18
+ | `ISSUE-10` | Locale/currency parsing inconsistency | mixed currency symbols, malformed numbers | normalize currency/amount explicitly, avoid cross-currency comparison without conversion context | normalized records with currency and parse confidence |
19
+ | `ISSUE-11` | Discount anchor is weak or misleading | anchor price missing/untrusted, “sale” not below market | separate anchor discount from market discount, tag anchor confidence, require market-baseline confirmation | market analysis with anchor coverage and warnings |
20
+ | `ISSUE-12` | Stale price or unsupported claims in presentation assets | captured price outdated, marketing claims not traceable | enforce freshness checks, claim-to-evidence mapping, block unsupported superlatives | claims-evidence map + pricing timestamp |
21
+
22
+ ## Skill Coverage Targets
23
+
24
+ - `opendevbrowser-login-automation`: `ISSUE-01`, `ISSUE-02`, `ISSUE-03`, `ISSUE-04`, `ISSUE-05`, `ISSUE-06`, `ISSUE-07`
25
+ - `opendevbrowser-form-testing`: `ISSUE-01`, `ISSUE-02`, `ISSUE-05`, `ISSUE-06`, `ISSUE-08`
26
+ - `opendevbrowser-data-extraction`: `ISSUE-01`, `ISSUE-06`, `ISSUE-08`, `ISSUE-09`, `ISSUE-10`
27
+ - `opendevbrowser-shopping`: `ISSUE-06`, `ISSUE-09`, `ISSUE-10`, `ISSUE-11`, `ISSUE-12`
28
+ - `opendevbrowser-product-presentation-asset`: `ISSUE-10`, `ISSUE-11`, `ISSUE-12`
29
+ - `opendevbrowser-research`: `ISSUE-06`, `ISSUE-09`, `ISSUE-10`, `ISSUE-12`
30
+
31
+ ## Source Notes
32
+
33
+ - Playwright best practices (locator and timing stability): https://playwright.dev/docs/best-practices
34
+ - Playwright frames guidance: https://playwright.dev/docs/frames
35
+ - Playwright pages/popups guidance: https://playwright.dev/docs/pages
36
+ - Chrome extension MV3 service worker lifecycle: https://developer.chrome.com/docs/extensions/develop/concepts/service-workers/lifecycle
37
+ - HTTP 429 semantics and `Retry-After`: https://www.rfc-editor.org/rfc/rfc6585
38
+ - OWASP Authentication Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
39
+ - WCAG 2.2 (accessible authentication): https://www.w3.org/TR/WCAG22/
40
+ - Cloudflare Turnstile testing keys: https://developers.cloudflare.com/turnstile/tutorials/testing/
41
+ - reCAPTCHA testing keys: https://developers.google.com/recaptcha/docs/faq
42
+ - hCaptcha docs: https://docs.hcaptcha.com/
43
+ - RFC 9309 robots protocol: https://www.rfc-editor.org/rfc/rfc9309
44
+ - FTC deceptive pricing guide: https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-233
@@ -0,0 +1,95 @@
1
+ # Command and Channel Reference
2
+
3
+ ## Purpose
4
+
5
+ Provide a compact, operationally useful map of OpenDevBrowser command surfaces and relay channels for parity checks.
6
+
7
+ ## Current coverage snapshot
8
+
9
+ - CLI commands: `55`
10
+ - Plugin tools: `48`
11
+ - `/ops` command names: `38`
12
+ - Legacy `/cdp` relay: generic CDP forwarding (method-level)
13
+
14
+ Canonical exhaustive reference: `docs/SURFACE_REFERENCE.md`.
15
+ CLI help mirror: `npx opendevbrowser --help` (surfaces CLI + tools + `/ops` + `/cdp` controls).
16
+
17
+ ## Agent skill-sync coverage
18
+
19
+ Skill-pack installation/discovery is synchronized for:
20
+ - `opencode`: `~/.config/opencode/skill` and `./.opencode/skill`
21
+ - `codex`: `$CODEX_HOME/skills` (fallback `~/.codex/skills`) and `./.codex/skills`
22
+ - `claudecode`: `$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` (fallback `~/.claude/skills`) and `./.claude/skills`
23
+ - `ampcli`: `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (fallback `~/.amp/skills`) and `./.amp/skills`
24
+
25
+ Legacy aliases `claude` and `amp` remain present in installer target metadata for compatibility.
26
+
27
+ ## CLI surface categories
28
+
29
+ - Install/runtime: install, update, uninstall, help, version, serve, daemon, native, run
30
+ - Session/connection: launch, connect, disconnect, status, cookie-import, cookie-list
31
+ - Navigation: goto, wait, snapshot
32
+ - Interaction: click, hover, press, check, uncheck, type, select, scroll, scroll-into-view
33
+ - Targets/pages: targets-list, target-use, target-new, target-close, page, pages, page-close
34
+ - DOM: dom-html, dom-text, dom-attr, dom-value, dom-visible, dom-enabled, dom-checked
35
+ - Export/diagnostics/macro/annotation/power: clone-page, clone-component, perf, screenshot, console-poll, network-poll, debug-trace-snapshot, macro-resolve, annotate, rpc
36
+
37
+ ## Tool surface categories
38
+
39
+ - Runtime parity tools map to the CLI runtime categories.
40
+ - Tool-only: `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, `opendevbrowser_skill_load`.
41
+ - CLI-only: `rpc`.
42
+
43
+ ## Relay channels
44
+
45
+ ### `/ops` (default)
46
+
47
+ Namespace groups:
48
+ - `session.*`
49
+ - `storage.*`
50
+ - `targets.*`
51
+ - `page.*`
52
+ - `nav.*`
53
+ - `interact.*`
54
+ - `dom.*`
55
+ - `export.*`
56
+ - `devtools.*`
57
+
58
+ Handshake/liveness envelope types:
59
+ - `ops_hello`, `ops_hello_ack`
60
+ - `ops_ping`, `ops_pong`
61
+ - `ops_request`, `ops_response`, `ops_error`
62
+ - `ops_event`, `ops_chunk`
63
+
64
+ Concurrency policy:
65
+ - `/ops` supports multiple clients and multiple sessions.
66
+ - Reliable parallel execution is session-scoped (`session-per-worker`).
67
+ - Avoid concurrent independent streams that switch targets inside one session (`targets.use` races can cross-wire active target state).
68
+
69
+ ### `/cdp` (legacy)
70
+
71
+ - Opt-in via `--extension-legacy`.
72
+ - Forwards raw CDP commands through relay command envelopes (`id`, `method`, `params`, optional `sessionId`).
73
+ - Use for compatibility-specific paths only.
74
+ - Treat as a legacy/single-writer path; do not use as the primary route for concurrent automation.
75
+
76
+ ## Mode and flag checkpoints
77
+
78
+ - Managed: `launch --no-extension`
79
+ - Extension default: `launch` or relay-normalized `connect`
80
+ - Extension legacy: `launch --extension-legacy` or `connect --extension-legacy`
81
+ - Direct CDP: `connect --ws-endpoint ...` or `connect --host ... --cdp-port ...`
82
+
83
+ Required readiness/status checks:
84
+ - `extensionConnected`
85
+ - `extensionHandshakeComplete`
86
+ - `opsConnected`
87
+ - `cdpConnected`
88
+ - `pairingRequired`
89
+
90
+ ## Fast verification commands
91
+
92
+ ```bash
93
+ npm run test -- tests/parity-matrix.test.ts
94
+ ./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
95
+ ```
@@ -0,0 +1,36 @@
1
+ # Debug Trace Playbook
2
+
3
+ ## Purpose
4
+
5
+ Run a repeatable debug pass and capture enough evidence to diagnose regressions quickly.
6
+
7
+ ## Minimum Trace Bundle
8
+
9
+ - `requestId` and `sessionId`
10
+ - snapshot output before and after key actions
11
+ - console stream (`opendevbrowser_console_poll`)
12
+ - network stream (`opendevbrowser_network_poll`)
13
+ - screenshot evidence (`opendevbrowser_screenshot`)
14
+
15
+ ## Workflow
16
+
17
+ 1. Launch/connect and record `sessionId`.
18
+ 2. Reproduce issue with the smallest action sequence.
19
+ 3. Capture snapshot + console + network + screenshot at failure point.
20
+ 4. Normalize findings by `requestId` and timestamp.
21
+ 5. Re-run once in another mode (`managed` vs `extension` vs `cdpConnect`) to detect mode-specific drift.
22
+
23
+ ## Command Skeleton
24
+
25
+ ```text
26
+ opendevbrowser_snapshot sessionId="<session-id>" format="outline"
27
+ opendevbrowser_console_poll sessionId="<session-id>" max=100
28
+ opendevbrowser_network_poll sessionId="<session-id>" max=100
29
+ opendevbrowser_screenshot sessionId="<session-id>"
30
+ ```
31
+
32
+ ## Triage Rules
33
+
34
+ - If refs fail: re-snapshot and retry one time.
35
+ - If repeated 403/429: pause and apply cooldown/retry policy.
36
+ - If failure reproduces in only one mode: mark as parity defect and gate release.
@@ -0,0 +1,36 @@
1
+ # Fingerprint Tiers
2
+
3
+ ## Purpose
4
+
5
+ Choose the lowest hardening tier that keeps runs reliable; avoid unnecessary complexity.
6
+
7
+ ## Tiers
8
+
9
+ ### Tier 0 — Baseline
10
+
11
+ - Default runtime behavior.
12
+ - Use for internal pages and low-friction targets.
13
+
14
+ ### Tier 1 — Coherence Profile (default recommendation)
15
+
16
+ - Consistent profile/session reuse.
17
+ - Stable launch flags and deterministic workflow ordering.
18
+ - Best default for most production automation.
19
+
20
+ ### Tier 2 — Runtime Hardening
21
+
22
+ - Add stricter runtime controls (timeouts, retries, pacing discipline).
23
+ - Use when targets show intermittent anti-bot or high flakiness.
24
+
25
+ ### Tier 3 — Adaptive Hardening (optional track)
26
+
27
+ - Dynamic policy adjustments and canary validation loops.
28
+ - Use only when Tier 1/2 cannot achieve target reliability.
29
+ - Treat as opt-in track, not baseline release requirement.
30
+
31
+ ## Selection Heuristic
32
+
33
+ 1. Start Tier 0 for local validation.
34
+ 2. Promote to Tier 1 for shared/CI workflows.
35
+ 3. Use Tier 2 when failures are environment-dependent.
36
+ 4. Use Tier 3 only for sustained high-friction environments.
@@ -0,0 +1,43 @@
1
+ # Macro Workflows
2
+
3
+ ## Purpose
4
+
5
+ Define concise macro entrypoints that expand into repeatable provider workflows.
6
+
7
+ ## Macro Contract
8
+
9
+ Each macro should declare:
10
+
11
+ - `macro`: stable name
12
+ - `provider`: `web|community|social`
13
+ - `mode`: `managed|extension|cdpConnect`
14
+ - `policyMode`: `read|write`
15
+ - `requestId`: required correlation id
16
+
17
+ ## Recommended Macros
18
+
19
+ ### `provider.search`
20
+
21
+ - Expands to launch/connect + goto + wait + snapshot + extract + network poll.
22
+ - Output: normalized result set with provenance fields.
23
+
24
+ ### `provider.crawl`
25
+
26
+ - Expands to bounded multipage loop (queue + dedupe + depth/page limits).
27
+ - Output: `records[]`, `visited[]`, and crawl stats.
28
+
29
+ ### `qa.debug`
30
+
31
+ - Expands to snapshot + console poll + network poll + screenshot.
32
+ - Output: trace bundle for triage.
33
+
34
+ ### `safe.post`
35
+
36
+ - Expands to notice + preview + explicit confirmation + single write action.
37
+ - Output: write result and audit metadata.
38
+
39
+ ## Expansion Rules
40
+
41
+ - Keep expansions deterministic and minimal.
42
+ - Emit provenance metadata (`macro`, `resolvedQuery`, `provider`, `mode`).
43
+ - Never hide write actions behind implicit macro behavior.
@@ -0,0 +1,36 @@
1
+ # Parity Gates
2
+
3
+ ## Purpose
4
+
5
+ Define hard pass/fail gates so CLI, tool, and runtime surfaces stay aligned.
6
+
7
+ ## Parity Matrix
8
+
9
+ | Area | Modes | Surfaces | Gate |
10
+ |---|---|---|---|
11
+ | Session lifecycle | managed, extension, cdpConnect | CLI + tools + runtime | `launch/connect/disconnect/status` parity |
12
+ | Navigation + refs loop | managed, extension, cdpConnect | CLI + tools + runtime | `goto/wait/snapshot` parity |
13
+ | Interaction | managed, extension, cdpConnect | CLI + tools + runtime | click/type/select/scroll/press/check/uncheck parity |
14
+ | Targets + pages | managed, extension, cdpConnect | CLI + tools + runtime | target/page command parity |
15
+ | DOM + diagnostics + export | managed, extension, cdpConnect | CLI + tools + runtime | dom/perf/screenshot/console/network/clone parity |
16
+ | Relay channels | extension (default) + extension-legacy | `/ops` + `/cdp` | `/ops` namespace coverage + `/cdp` envelope compatibility |
17
+
18
+ ## Surface Rules
19
+
20
+ - `rpc` is intentionally CLI-only (internal and unsafe).
21
+ - `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, and `opendevbrowser_skill_load` are intentionally tool-only.
22
+ - Any new stable CLI runtime command must add a matching tool unless explicitly documented as CLI-only.
23
+ - Surface counts and command inventories are verified against `docs/SURFACE_REFERENCE.md`.
24
+
25
+ ## Gate Commands
26
+
27
+ ```bash
28
+ npm run test -- tests/parity-matrix.test.ts
29
+ npm run test -- tests/tools.test.ts tests/daemon-command.test.ts
30
+ npm run test -- tests/providers-performance-gate.test.ts
31
+ ```
32
+
33
+ ## Release Requirement
34
+
35
+ Ship only when parity tests pass and docs (`README.md`, `docs/CLI.md`, `docs/ARCHITECTURE.md`, `docs/SURFACE_REFERENCE.md`) reflect the same surface map.
36
+ Use `docs/RELEASE_PARITY_CHECKLIST.md` as the release gate source of truth.
@@ -0,0 +1,89 @@
1
+ # Provider Workflows
2
+
3
+ ## Purpose
4
+
5
+ Codify minimal, repeatable workflows for provider-native automation.
6
+
7
+ ## Inputs
8
+
9
+ - `sessionMode`: `managed|extension|cdpConnect`
10
+ - `provider`: `web|community|social`
11
+ - `requestId`: unique per workflow run
12
+ - `policyMode`: `read` (default) or `write` (explicit/manual opt-in only)
13
+
14
+ ## Workflow A: Provider Search
15
+
16
+ 1. Launch/connect mode.
17
+ 2. Navigate to provider query URL.
18
+ 3. Wait for load (`networkidle` preferred).
19
+ 4. Snapshot actionables.
20
+ 5. Extract result units with refs.
21
+ 6. Poll network for request health.
22
+ 7. Emit normalized records.
23
+
24
+ Expected output:
25
+ - `items[]` with `title/url/snippet/source/ts/requestId`
26
+
27
+ ## Workflow B: Provider Fetch
28
+
29
+ 1. Launch/connect mode.
30
+ 2. Goto target URL/entity endpoint.
31
+ 3. Wait and snapshot.
32
+ 4. Extract typed fields.
33
+ 5. Poll console/network for anomalies.
34
+
35
+ Expected output:
36
+ - one normalized entity record + diagnostics metadata
37
+
38
+ ## Workflow C: Multipage Crawl
39
+
40
+ 1. Seed queue with initial URL list.
41
+ 2. Process one URL at a time:
42
+ - goto
43
+ - wait
44
+ - snapshot
45
+ - extract
46
+ - collect outgoing links
47
+ 3. Canonicalize/dedupe links.
48
+ 4. Enqueue until `maxDepth|maxPages` reached.
49
+ 5. Persist records with page provenance.
50
+
51
+ Expected output:
52
+ - `records[]`
53
+ - `visited[]`
54
+ - `frontierStats`
55
+
56
+ ## Workflow D: Social Read-Only Validation (Default)
57
+
58
+ 1. Display read-only policy notice.
59
+ 2. Navigate to social target and execute search/read probes only.
60
+ 3. Capture `debug-trace-snapshot` + `network-poll`.
61
+ 4. Record auth/blocker diagnostics and provider health.
62
+
63
+ Expected output:
64
+ - `readResult` + `authBlockerDiagnostics`
65
+
66
+ ## Workflow E: Parallel Multipage (Reliable As-Is)
67
+
68
+ 1. Build a bounded frontier/queue in host logic.
69
+ 2. Allocate one session per worker (`session-1`, `session-2`, ...).
70
+ 3. In each worker session, process URLs serially:
71
+ - goto
72
+ - wait
73
+ - snapshot
74
+ - extract
75
+ - emit records with `sessionId` + page provenance
76
+ 4. Never interleave competing `target-use` streams inside a single session.
77
+ 5. For managed persistent profiles, assign a unique profile path per worker session.
78
+ 6. Merge worker outputs deterministically (stable sort + dedupe key).
79
+
80
+ Expected output:
81
+ - `records[]` merged across workers
82
+ - `workerStats[]` with `{ sessionId, processed, failures }`
83
+ - `frontierStats` and checkpoint state
84
+
85
+ ## Failure Policy
86
+
87
+ - stale refs: re-snapshot and retry once
88
+ - repeated 403/429: stop and cooldown
89
+ - inconsistent mode behavior: flag parity failure