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,164 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ skills_root="$(cd "$root/.." && pwd)"
6
+ matrix_ref="../opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md"
7
+
8
+ usage() {
9
+ cat <<'HELP'
10
+ Run robustness audit checks across opendevbrowser workflow skill packs.
11
+
12
+ Usage:
13
+ ./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh [skill-name]
14
+
15
+ Examples:
16
+ ./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh
17
+ ./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh canvas-pack
18
+ ./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh opendevbrowser-shopping
19
+ HELP
20
+ }
21
+
22
+ skills=(
23
+ "opendevbrowser-login-automation:ISSUE-01 ISSUE-02 ISSUE-03 ISSUE-04 ISSUE-05 ISSUE-06 ISSUE-07"
24
+ "opendevbrowser-form-testing:ISSUE-01 ISSUE-02 ISSUE-05 ISSUE-06 ISSUE-08"
25
+ "opendevbrowser-data-extraction:ISSUE-01 ISSUE-06 ISSUE-08 ISSUE-09 ISSUE-10"
26
+ "opendevbrowser-shopping:ISSUE-06 ISSUE-09 ISSUE-10 ISSUE-11 ISSUE-12"
27
+ "opendevbrowser-product-presentation-asset:ISSUE-10 ISSUE-11 ISSUE-12"
28
+ "opendevbrowser-research:ISSUE-06 ISSUE-09 ISSUE-10 ISSUE-12"
29
+ )
30
+
31
+ canvas_issue_ids=(
32
+ "CANVAS-01"
33
+ "CANVAS-02"
34
+ "CANVAS-03"
35
+ "CANVAS-04"
36
+ "CANVAS-05"
37
+ "CANVAS-06"
38
+ "CANVAS-07"
39
+ )
40
+
41
+ status=0
42
+ target="${1:-all}"
43
+
44
+ check_canvas_pack() {
45
+ local root="$1"
46
+ local status_ref="$2"
47
+ local playbook="$root/artifacts/canvas-governance-playbook.md"
48
+ local command_ref="$root/artifacts/command-channel-reference.md"
49
+ local skill_file="$root/SKILL.md"
50
+ local feedback_eval="$root/assets/templates/canvas-feedback-eval.json"
51
+ local blocker_checklist="$root/assets/templates/canvas-blocker-checklist.json"
52
+ local robustness_checklist="$root/assets/templates/robustness-checklist.json"
53
+
54
+ for file_path in "$playbook" "$command_ref" "$skill_file" "$feedback_eval" "$blocker_checklist" "$robustness_checklist"; do
55
+ if [[ ! -f "$file_path" ]]; then
56
+ echo "[canvas-pack] missing file: $file_path" >&2
57
+ printf -v "$status_ref" '%s' 1
58
+ return
59
+ fi
60
+ done
61
+
62
+ for marker in \
63
+ "Canvas Governance Handshake" \
64
+ "artifacts/canvas-governance-playbook.md" \
65
+ "assets/templates/canvas-feedback-eval.json"; do
66
+ if ! grep -Fq "$marker" "$skill_file"; then
67
+ echo "[canvas-pack] SKILL.md missing marker: $marker" >&2
68
+ printf -v "$status_ref" '%s' 1
69
+ fi
70
+ done
71
+
72
+ for marker in \
73
+ "canvas.session.open" \
74
+ "canvas.plan.set" \
75
+ "canvas.feedback.poll" \
76
+ "plan_required"; do
77
+ if ! grep -Fq "$marker" "$command_ref"; then
78
+ echo "[canvas-pack] command/channel reference missing marker: $marker" >&2
79
+ printf -v "$status_ref" '%s' 1
80
+ fi
81
+ done
82
+
83
+ for issue_id in "${canvas_issue_ids[@]}"; do
84
+ if ! grep -Fq "$issue_id" "$playbook"; then
85
+ echo "[canvas-pack] playbook missing issue id: $issue_id" >&2
86
+ printf -v "$status_ref" '%s' 1
87
+ fi
88
+ done
89
+
90
+ if ! node -e '
91
+ const fs = require("fs");
92
+ const [feedbackPath, blockerPath, robustnessPath, ...expected] = process.argv.slice(1);
93
+ const feedback = JSON.parse(fs.readFileSync(feedbackPath, "utf8"));
94
+ const blockers = JSON.parse(fs.readFileSync(blockerPath, "utf8"));
95
+ const robustness = JSON.parse(fs.readFileSync(robustnessPath, "utf8"));
96
+ const feedbackIds = new Set(feedback.requiredIssueClasses || []);
97
+ const blockerIds = new Set((blockers.blockers || []).map((entry) => entry.auditId));
98
+ const robustnessIds = new Set((((robustness.canvas || {}).issueClasses) || []).map((entry) => entry.auditId));
99
+ const missing = expected.filter((id) => !feedbackIds.has(id) || !blockerIds.has(id) || !robustnessIds.has(id));
100
+ if (missing.length > 0) {
101
+ console.error(`[canvas-pack] missing canvas audit ids in JSON templates: ${missing.join(", ")}`);
102
+ process.exit(1);
103
+ }
104
+ ' "$feedback_eval" "$blocker_checklist" "$robustness_checklist" "${canvas_issue_ids[@]}"; then
105
+ printf -v "$status_ref" '%s' 1
106
+ fi
107
+ }
108
+
109
+ if [[ "$target" == "-h" || "$target" == "--help" ]]; then
110
+ usage
111
+ exit 0
112
+ fi
113
+
114
+ found_target=0
115
+ if [[ "$target" == "all" || "$target" == "canvas-pack" ]]; then
116
+ found_target=1
117
+ check_canvas_pack "$root" status
118
+ fi
119
+
120
+ for entry in "${skills[@]}"; do
121
+ skill="${entry%%:*}"
122
+ expected="${entry#*:}"
123
+ if [[ "$target" != "all" && "$target" != "canvas-pack" && "$skill" != "$target" ]]; then
124
+ continue
125
+ fi
126
+ found_target=1
127
+
128
+ skill_file="$skills_root/$skill/SKILL.md"
129
+ if [[ ! -f "$skill_file" ]]; then
130
+ echo "Missing SKILL.md: $skill_file" >&2
131
+ status=1
132
+ continue
133
+ fi
134
+
135
+ if ! grep -Fq "Robustness Coverage (Known-Issue Matrix)" "$skill_file"; then
136
+ echo "[$skill] missing robustness coverage section" >&2
137
+ status=1
138
+ fi
139
+
140
+ if ! grep -Fq "$matrix_ref" "$skill_file"; then
141
+ echo "[$skill] missing matrix reference: $matrix_ref" >&2
142
+ status=1
143
+ fi
144
+
145
+ for issue_id in $expected; do
146
+ if ! grep -Fq "$issue_id" "$skill_file"; then
147
+ echo "[$skill] missing issue id: $issue_id" >&2
148
+ status=1
149
+ fi
150
+ done
151
+
152
+ done
153
+
154
+ if [[ "$target" != "all" && $found_target -eq 0 ]]; then
155
+ echo "Unknown skill: $target" >&2
156
+ usage
157
+ exit 2
158
+ fi
159
+
160
+ if [[ $status -ne 0 ]]; then
161
+ exit $status
162
+ fi
163
+
164
+ echo "Robustness audit checks passed for ${target}."
@@ -0,0 +1,234 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ skill_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ skill_file="$skill_root/SKILL.md"
6
+
7
+ node - "$skill_root" "$skill_file" <<'NODE'
8
+ const fs = require("node:fs");
9
+ const path = require("node:path");
10
+
11
+ const [skillRoot, skillFile] = process.argv.slice(2);
12
+
13
+ const requiredPaths = [
14
+ "artifacts/provider-workflows.md",
15
+ "artifacts/parity-gates.md",
16
+ "artifacts/debug-trace-playbook.md",
17
+ "artifacts/fingerprint-tiers.md",
18
+ "artifacts/macro-workflows.md",
19
+ "artifacts/browser-agent-known-issues-matrix.md",
20
+ "artifacts/command-channel-reference.md",
21
+ "artifacts/canvas-governance-playbook.md",
22
+ "assets/templates/mode-flag-matrix.json",
23
+ "assets/templates/ops-request-envelope.json",
24
+ "assets/templates/cdp-forward-envelope.json",
25
+ "assets/templates/robustness-checklist.json",
26
+ "assets/templates/surface-audit-checklist.json",
27
+ "assets/templates/canvas-handshake-example.json",
28
+ "assets/templates/canvas-generation-plan.v1.json",
29
+ "assets/templates/canvas-feedback-eval.json",
30
+ "assets/templates/canvas-blocker-checklist.json",
31
+ "scripts/odb-workflow.sh",
32
+ "scripts/run-robustness-audit.sh",
33
+ "scripts/validate-skill-assets.sh"
34
+ ];
35
+
36
+ const jsonTemplates = [
37
+ "assets/templates/mode-flag-matrix.json",
38
+ "assets/templates/ops-request-envelope.json",
39
+ "assets/templates/cdp-forward-envelope.json",
40
+ "assets/templates/robustness-checklist.json",
41
+ "assets/templates/surface-audit-checklist.json",
42
+ "assets/templates/canvas-handshake-example.json",
43
+ "assets/templates/canvas-generation-plan.v1.json",
44
+ "assets/templates/canvas-feedback-eval.json",
45
+ "assets/templates/canvas-blocker-checklist.json"
46
+ ];
47
+
48
+ const executableScripts = [
49
+ "scripts/odb-workflow.sh",
50
+ "scripts/run-robustness-audit.sh",
51
+ "scripts/validate-skill-assets.sh"
52
+ ];
53
+
54
+ const skillDocMarkers = [
55
+ "npx opendevbrowser --help",
56
+ "npx opendevbrowser help",
57
+ "56 CLI commands, 49 tools, 38 `/ops` commands, 26 `/canvas` commands",
58
+ "mutationPolicy.allowedBeforePlan",
59
+ "canvas.code.bind",
60
+ "canvas.code.resolve",
61
+ "bound_app_runtime",
62
+ "annotate --stored"
63
+ ];
64
+
65
+ const commandRefMarkers = [
66
+ "CLI commands: `56`",
67
+ "Plugin tools: `49`",
68
+ "`/ops` command names: `38`",
69
+ "`/canvas` command names: `26`",
70
+ "docs/SURFACE_REFERENCE.md",
71
+ "npx opendevbrowser help",
72
+ "canvas.session.open",
73
+ "canvas.session.attach",
74
+ "canvas.feedback.poll",
75
+ "canvas.code.bind",
76
+ "canvas.code.resolve",
77
+ "canvas.tab.sync",
78
+ "canvas.overlay.sync",
79
+ "feedback.heartbeat",
80
+ "governanceRequirements",
81
+ "generationPlanRequirements",
82
+ "mutationPolicy",
83
+ "code-sync",
84
+ "parity",
85
+ "plan_required",
86
+ "annotate --stored",
87
+ "storage",
88
+ "opencode",
89
+ "codex",
90
+ "claudecode",
91
+ "ampcli"
92
+ ];
93
+
94
+ const workflowMarkers = [
95
+ "canvas-preflight",
96
+ "canvas-feedback-eval"
97
+ ];
98
+
99
+ const canvasPlaybookMarkers = [
100
+ "canvas.session.open",
101
+ "canvas.plan.set",
102
+ "canvas.feedback.poll",
103
+ "CANVAS-01",
104
+ "CANVAS-07"
105
+ ];
106
+
107
+ const canvasTemplateMarkers = [
108
+ "CANVAS-01",
109
+ "CANVAS-02",
110
+ "CANVAS-03",
111
+ "CANVAS-04",
112
+ "CANVAS-05",
113
+ "CANVAS-06",
114
+ "CANVAS-07"
115
+ ];
116
+
117
+ const templateMarkerPaths = [
118
+ "assets/templates/canvas-feedback-eval.json",
119
+ "assets/templates/canvas-blocker-checklist.json",
120
+ "assets/templates/robustness-checklist.json"
121
+ ];
122
+
123
+ const surfaceAuditPath = "assets/templates/surface-audit-checklist.json";
124
+ const surfaceAuditMarkers = [
125
+ "\"cliCommands\": 56",
126
+ "\"tools\": 49",
127
+ "\"opsCommands\": 38",
128
+ "\"canvasCommands\": 26",
129
+ "Canvas command names documented",
130
+ "Canvas code-sync surface documented",
131
+ "Annotation send/copy semantics documented"
132
+ ];
133
+
134
+ const failures = [];
135
+
136
+ const readUtf8 = (relPath) => fs.readFileSync(path.join(skillRoot, relPath), "utf8");
137
+ const hasMarker = (content, marker) => content.includes(marker);
138
+
139
+ for (const relPath of requiredPaths) {
140
+ if (!fs.existsSync(path.join(skillRoot, relPath))) {
141
+ failures.push(`Missing required asset: ${relPath}`);
142
+ }
143
+ }
144
+
145
+ for (const relPath of executableScripts) {
146
+ const fullPath = path.join(skillRoot, relPath);
147
+ if (!fs.existsSync(fullPath)) continue;
148
+ const mode = fs.statSync(fullPath).mode & 0o111;
149
+ if (mode === 0) {
150
+ failures.push(`Script is not executable: ${relPath}`);
151
+ }
152
+ }
153
+
154
+ for (const relPath of jsonTemplates) {
155
+ const fullPath = path.join(skillRoot, relPath);
156
+ if (!fs.existsSync(fullPath)) continue;
157
+ try {
158
+ JSON.parse(fs.readFileSync(fullPath, "utf8"));
159
+ } catch {
160
+ failures.push(`Invalid JSON template: ${relPath}`);
161
+ }
162
+ }
163
+
164
+ const skillDoc = fs.readFileSync(skillFile, "utf8");
165
+ for (const relPath of requiredPaths) {
166
+ if (!hasMarker(skillDoc, relPath)) {
167
+ failures.push(`SKILL.md missing reference: ${relPath}`);
168
+ }
169
+ }
170
+ for (const marker of skillDocMarkers) {
171
+ if (!hasMarker(skillDoc, marker)) {
172
+ failures.push(`SKILL.md missing marker: ${marker}`);
173
+ }
174
+ }
175
+
176
+ const commandRefPath = "artifacts/command-channel-reference.md";
177
+ if (fs.existsSync(path.join(skillRoot, commandRefPath))) {
178
+ const commandRef = readUtf8(commandRefPath);
179
+ for (const marker of commandRefMarkers) {
180
+ if (!hasMarker(commandRef, marker)) {
181
+ failures.push(`Command/channel reference missing marker: ${marker}`);
182
+ }
183
+ }
184
+ }
185
+
186
+ const workflowPath = "scripts/odb-workflow.sh";
187
+ if (fs.existsSync(path.join(skillRoot, workflowPath))) {
188
+ const workflow = readUtf8(workflowPath);
189
+ for (const marker of workflowMarkers) {
190
+ if (!hasMarker(workflow, marker)) {
191
+ failures.push(`Workflow router missing marker: ${marker}`);
192
+ }
193
+ }
194
+ }
195
+
196
+ const canvasPlaybookPath = "artifacts/canvas-governance-playbook.md";
197
+ if (fs.existsSync(path.join(skillRoot, canvasPlaybookPath))) {
198
+ const canvasPlaybook = readUtf8(canvasPlaybookPath);
199
+ for (const marker of canvasPlaybookMarkers) {
200
+ if (!hasMarker(canvasPlaybook, marker)) {
201
+ failures.push(`Canvas playbook missing marker: ${marker}`);
202
+ }
203
+ }
204
+ }
205
+
206
+ if (fs.existsSync(path.join(skillRoot, surfaceAuditPath))) {
207
+ const surfaceAudit = readUtf8(surfaceAuditPath);
208
+ for (const marker of surfaceAuditMarkers) {
209
+ if (!hasMarker(surfaceAudit, marker)) {
210
+ failures.push(`Surface audit checklist missing marker: ${marker}`);
211
+ }
212
+ }
213
+ }
214
+
215
+ for (const relPath of templateMarkerPaths) {
216
+ const fullPath = path.join(skillRoot, relPath);
217
+ if (!fs.existsSync(fullPath)) continue;
218
+ const content = fs.readFileSync(fullPath, "utf8");
219
+ for (const marker of canvasTemplateMarkers) {
220
+ if (!hasMarker(content, marker)) {
221
+ failures.push(`Canvas template missing marker (${marker}): ${relPath}`);
222
+ }
223
+ }
224
+ }
225
+
226
+ if (failures.length > 0) {
227
+ for (const failure of failures) {
228
+ console.error(failure);
229
+ }
230
+ process.exit(1);
231
+ }
232
+
233
+ console.log(`Skill assets validated: ${requiredPaths.length} files referenced/present, ${jsonTemplates.length} JSON templates parsed.`);
234
+ NODE
@@ -8,6 +8,16 @@ version: 1.1.0
8
8
 
9
9
  Use this guide to maintain compaction-safe project state in `CONTINUITY.md`.
10
10
 
11
+ ## When to Use This Skill
12
+
13
+ Use this skill when any of these are true:
14
+
15
+ - Work is multi-step or long-running.
16
+ - Context compaction or session handoff is likely.
17
+ - Multiple agents are coordinating the same task.
18
+
19
+ Start with `opendevbrowser-best-practices` quick start for execution. Switch here once continuity tracking is required.
20
+
11
21
  ## Ownership Rules
12
22
 
13
23
  Apply these rules exactly:
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: opendevbrowser-data-extraction
3
+ description: This skill should be used when the user asks to "extract data from a page", "scrape tables", "collect paginated results", "parse list/card content", or "export structured web data" with OpenDevBrowser.
4
+ version: 2.0.0
5
+ ---
6
+
7
+ # Data Extraction Skill
8
+
9
+ Use this skill to extract structured, auditable datasets from dynamic pages with compliance-aware workflows.
10
+
11
+ ## Pack Contents
12
+
13
+ - `artifacts/extraction-workflows.md`
14
+ - `assets/templates/extraction-schema.json`
15
+ - `assets/templates/pagination-state.json`
16
+ - `assets/templates/quality-gates.json`
17
+ - `assets/templates/compliance-checklist.md`
18
+ - `scripts/run-extraction-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-data-extraction/scripts/validate-skill-assets.sh
26
+ ./skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh list
27
+ ./skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh pagination
28
+ ./skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh infinite-scroll
29
+ ```
30
+
31
+ ## Core Rules
32
+
33
+ - Define schema before extraction.
34
+ - Track provenance for each record (`source_url`, `provider`, `captured_at`, `page`).
35
+ - Prefer embedded structured data (JSON-LD/microdata) where available.
36
+ - Stop on sustained anti-bot pressure (repeated 403/429/challenge loops).
37
+ - Honor `Retry-After` and preserve checkpoint state before retrying pagination.
38
+
39
+ ## Parallel Multitab Alignment
40
+
41
+ - Apply shared concurrency policy from `../opendevbrowser-best-practices/SKILL.md` ("Parallel Operations").
42
+ - Run extraction acceptance on `managed`, `extension`, and `cdpConnect` before claiming mode parity.
43
+ - Keep one session per worker; avoid interleaving `target-use` streams inside a single session.
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 content updates
50
+ - `ISSUE-06`: 429/backoff and retry budgeting
51
+ - `ISSUE-08`: blocked/restricted origins and policy checks
52
+ - `ISSUE-09`: pagination drift, duplicate accumulation, terminal detection
53
+ - `ISSUE-10`: locale/currency parsing consistency
54
+
55
+ ## Extraction Planning
56
+
57
+ 1. Define required fields and null policy.
58
+ 2. Snapshot and map refs to schema.
59
+ 3. Choose pagination strategy.
60
+ 4. Apply quality gates each page.
61
+
62
+ ```text
63
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
64
+ ```
65
+
66
+ ## Structured Data First
67
+
68
+ Attempt extraction in this order:
69
+ 1. JSON-LD product/article blocks
70
+ 2. semantic table/list/card DOM
71
+ 3. fallback text parsing
72
+
73
+ ```text
74
+ opendevbrowser_dom_get_text sessionId="<session-id>" ref="<json-ld-ref>"
75
+ opendevbrowser_dom_get_html sessionId="<session-id>" ref="<table-ref>"
76
+ ```
77
+
78
+ ## Pagination Patterns
79
+
80
+ ### Numbered/Next pagination
81
+
82
+ ```text
83
+ opendevbrowser_click sessionId="<session-id>" ref="<next-ref>"
84
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
85
+ opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
86
+ ```
87
+
88
+ ### Infinite scroll
89
+
90
+ ```text
91
+ opendevbrowser_scroll sessionId="<session-id>" dy=1000
92
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
93
+ ```
94
+
95
+ ### Load more
96
+
97
+ ```text
98
+ opendevbrowser_click sessionId="<session-id>" ref="<load-more-ref>"
99
+ opendevbrowser_wait sessionId="<session-id>" until="networkidle"
100
+ ```
101
+
102
+ ## Quality Gates
103
+
104
+ Apply per page:
105
+ - dedupe by stable key (URL or canonical ID)
106
+ - null-rate check for required fields
107
+ - count delta check (new records must increase)
108
+ - consistency check for currency/units
109
+ - max consecutive challenge/429 loops before stop
110
+
111
+ Use `assets/templates/quality-gates.json`.
112
+
113
+ ## Compliance and Safety
114
+
115
+ - Respect robots and site terms.
116
+ - Use pacing; do not flood endpoints.
117
+ - Treat robots as policy guidance, not auth.
118
+ - Stop or back off on repeated 429/403 and challenges.
119
+
120
+ ## References
121
+
122
+ - RFC 9309 (robots protocol): https://www.rfc-editor.org/rfc/rfc9309
123
+ - Google robots docs: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
124
+ - Schema.org Offer: https://schema.org/Offer
125
+ - Google Product structured data: https://developers.google.com/search/docs/appearance/structured-data/product-snippet
126
+ - Playwright best practices: https://playwright.dev/docs/best-practices
@@ -0,0 +1,31 @@
1
+ # Extraction Workflows
2
+
3
+ ## List/Card workflow
4
+
5
+ 1. Snapshot actionables
6
+ 2. Map repeating nodes
7
+ 3. Extract title/price/link fields
8
+ 4. Normalize and dedupe records
9
+ 5. Record parse confidence and currency normalization status
10
+
11
+ ## Table workflow
12
+
13
+ 1. Wait for table visibility
14
+ 2. Extract table HTML
15
+ 3. Parse rows/cells in host process
16
+ 4. Validate schema completeness
17
+
18
+ ## Pagination workflow
19
+
20
+ 1. Extract current page
21
+ 2. Advance page
22
+ 3. Wait + snapshot
23
+ 4. Repeat until terminal condition
24
+ 5. Persist checkpoint state every page
25
+
26
+ ## Anti-bot pressure workflow
27
+
28
+ 1. Detect repeated 403/429/challenge
29
+ 2. Parse and honor `Retry-After` if present
30
+ 3. Slow down / cooldown and resume from last checkpoint
31
+ 4. Stop and report if pressure persists after bounded retries
@@ -0,0 +1,7 @@
1
+ # Compliance Checklist
2
+
3
+ - robots policy reviewed
4
+ - site terms reviewed for data-use constraints
5
+ - extraction rate limited and paced
6
+ - anti-bot pressure monitored (429/403/challenge)
7
+ - sensitive data excluded from artifacts
@@ -0,0 +1,17 @@
1
+ {
2
+ "dataset": "",
3
+ "required_fields": [
4
+ "title",
5
+ "url"
6
+ ],
7
+ "optional_fields": [
8
+ "price",
9
+ "rating",
10
+ "availability"
11
+ ],
12
+ "field_types": {
13
+ "title": "string",
14
+ "url": "string",
15
+ "price": "number"
16
+ }
17
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "strategy": "next",
3
+ "current_page": 1,
4
+ "pages_processed": 0,
5
+ "records_collected": 0,
6
+ "last_page_delta": 0,
7
+ "checkpoint_token": "",
8
+ "retry_after_seconds": 0,
9
+ "challenge_loops": 0,
10
+ "stopping_reason": ""
11
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "max_required_null_rate": 0.05,
3
+ "max_duplicate_rate": 0.02,
4
+ "require_positive_page_delta": true,
5
+ "max_consecutive_empty_pages": 2,
6
+ "max_consecutive_challenge_loops": 2,
7
+ "max_retries_per_page": 2,
8
+ "respect_retry_after": true,
9
+ "stop_on_repeated_anti_bot_signals": true
10
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "dataset": "shopping_offers",
3
+ "required_fields": [
4
+ "title",
5
+ "url",
6
+ "price"
7
+ ],
8
+ "optional_fields": [
9
+ "rating",
10
+ "reviews_count",
11
+ "availability"
12
+ ],
13
+ "field_types": {
14
+ "title": "string",
15
+ "url": "string",
16
+ "price": "number",
17
+ "rating": "number"
18
+ }
19
+ }