opendevbrowser 0.0.17 → 0.0.19

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 (529) hide show
  1. package/README.md +172 -73
  2. package/dist/annotate/agent-inbox-store.d.ts +58 -0
  3. package/dist/annotate/agent-inbox-store.d.ts.map +1 -0
  4. package/dist/annotate/agent-inbox.d.ts +25 -0
  5. package/dist/annotate/agent-inbox.d.ts.map +1 -0
  6. package/dist/annotate/direct-annotator.d.ts.map +1 -1
  7. package/dist/annotate/timeout-messages.d.ts +4 -0
  8. package/dist/annotate/timeout-messages.d.ts.map +1 -0
  9. package/dist/automation/coordinator.d.ts +55 -0
  10. package/dist/automation/coordinator.d.ts.map +1 -0
  11. package/dist/browser/annotation-manager.d.ts +4 -1
  12. package/dist/browser/annotation-manager.d.ts.map +1 -1
  13. package/dist/browser/browser-manager.d.ts +147 -47
  14. package/dist/browser/browser-manager.d.ts.map +1 -1
  15. package/dist/browser/canvas-client.d.ts +1 -0
  16. package/dist/browser/canvas-client.d.ts.map +1 -1
  17. package/dist/browser/canvas-code-sync-manager.d.ts +9 -1
  18. package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -1
  19. package/dist/browser/canvas-manager.d.ts +29 -1
  20. package/dist/browser/canvas-manager.d.ts.map +1 -1
  21. package/dist/browser/global-challenge-coordinator.d.ts +27 -0
  22. package/dist/browser/global-challenge-coordinator.d.ts.map +1 -0
  23. package/dist/browser/manager-types.d.ts +167 -1
  24. package/dist/browser/manager-types.d.ts.map +1 -1
  25. package/dist/browser/ops-browser-manager.d.ts +103 -3
  26. package/dist/browser/ops-browser-manager.d.ts.map +1 -1
  27. package/dist/browser/ops-client.d.ts +17 -1
  28. package/dist/browser/ops-client.d.ts.map +1 -1
  29. package/dist/browser/playwright-runtime.d.ts +4 -0
  30. package/dist/browser/playwright-runtime.d.ts.map +1 -0
  31. package/dist/browser/review-surface.d.ts +9 -0
  32. package/dist/browser/review-surface.d.ts.map +1 -0
  33. package/dist/browser/screencast-recorder.d.ts +57 -0
  34. package/dist/browser/screencast-recorder.d.ts.map +1 -0
  35. package/dist/browser/session-inspector.d.ts +71 -0
  36. package/dist/browser/session-inspector.d.ts.map +1 -0
  37. package/dist/browser/session-store.d.ts +5 -1
  38. package/dist/browser/session-store.d.ts.map +1 -1
  39. package/dist/browser/system-chrome-cookies.d.ts +46 -0
  40. package/dist/browser/system-chrome-cookies.d.ts.map +1 -0
  41. package/dist/browser/target-manager.d.ts +1 -0
  42. package/dist/browser/target-manager.d.ts.map +1 -1
  43. package/dist/cache/chrome-locator.d.ts.map +1 -1
  44. package/dist/cache/chrome-user-data.d.ts +17 -0
  45. package/dist/cache/chrome-user-data.d.ts.map +1 -0
  46. package/dist/canvas/adapter-plugins/loader.d.ts +13 -0
  47. package/dist/canvas/adapter-plugins/loader.d.ts.map +1 -0
  48. package/dist/canvas/adapter-plugins/manifest.d.ts +146 -0
  49. package/dist/canvas/adapter-plugins/manifest.d.ts.map +1 -0
  50. package/dist/canvas/adapter-plugins/types.d.ts +83 -0
  51. package/dist/canvas/adapter-plugins/types.d.ts.map +1 -0
  52. package/dist/canvas/adapter-plugins/validator.d.ts +10 -0
  53. package/dist/canvas/adapter-plugins/validator.d.ts.map +1 -0
  54. package/dist/canvas/code-sync/apply-tsx.d.ts +3 -1
  55. package/dist/canvas/code-sync/apply-tsx.d.ts.map +1 -1
  56. package/dist/canvas/code-sync/import.d.ts +1 -0
  57. package/dist/canvas/code-sync/import.d.ts.map +1 -1
  58. package/dist/canvas/code-sync/manifest.d.ts +2 -1
  59. package/dist/canvas/code-sync/manifest.d.ts.map +1 -1
  60. package/dist/canvas/code-sync/tsx-adapter.d.ts.map +1 -1
  61. package/dist/canvas/code-sync/types.d.ts +102 -10
  62. package/dist/canvas/code-sync/types.d.ts.map +1 -1
  63. package/dist/canvas/document-store.d.ts +11 -1
  64. package/dist/canvas/document-store.d.ts.map +1 -1
  65. package/dist/canvas/export.d.ts.map +1 -1
  66. package/dist/canvas/framework-adapters/custom-elements-v1.d.ts +3 -0
  67. package/dist/canvas/framework-adapters/custom-elements-v1.d.ts.map +1 -0
  68. package/dist/canvas/framework-adapters/html-static-v1.d.ts +3 -0
  69. package/dist/canvas/framework-adapters/html-static-v1.d.ts.map +1 -0
  70. package/dist/canvas/framework-adapters/markup.d.ts +9 -0
  71. package/dist/canvas/framework-adapters/markup.d.ts.map +1 -0
  72. package/dist/canvas/framework-adapters/react-tsx-v2.d.ts +3 -0
  73. package/dist/canvas/framework-adapters/react-tsx-v2.d.ts.map +1 -0
  74. package/dist/canvas/framework-adapters/registry.d.ts +12 -0
  75. package/dist/canvas/framework-adapters/registry.d.ts.map +1 -0
  76. package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts +3 -0
  77. package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts.map +1 -0
  78. package/dist/canvas/framework-adapters/types.d.ts +57 -0
  79. package/dist/canvas/framework-adapters/types.d.ts.map +1 -0
  80. package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts +3 -0
  81. package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts.map +1 -0
  82. package/dist/canvas/kits/catalog.d.ts +5 -0
  83. package/dist/canvas/kits/catalog.d.ts.map +1 -0
  84. package/dist/canvas/library-adapters/react/index.d.ts +3 -0
  85. package/dist/canvas/library-adapters/react/index.d.ts.map +1 -0
  86. package/dist/canvas/library-adapters/registry.d.ts +11 -0
  87. package/dist/canvas/library-adapters/registry.d.ts.map +1 -0
  88. package/dist/canvas/library-adapters/types.d.ts +43 -0
  89. package/dist/canvas/library-adapters/types.d.ts.map +1 -0
  90. package/dist/canvas/repo-store.d.ts +2 -0
  91. package/dist/canvas/repo-store.d.ts.map +1 -1
  92. package/dist/canvas/starters/catalog.d.ts +34 -0
  93. package/dist/canvas/starters/catalog.d.ts.map +1 -0
  94. package/dist/canvas/token-references.d.ts +22 -0
  95. package/dist/canvas/token-references.d.ts.map +1 -0
  96. package/dist/canvas/types.d.ts +345 -6
  97. package/dist/canvas/types.d.ts.map +1 -1
  98. package/dist/challenges/action-loop.d.ts +13 -0
  99. package/dist/challenges/action-loop.d.ts.map +1 -0
  100. package/dist/challenges/capability-matrix.d.ts +3 -0
  101. package/dist/challenges/capability-matrix.d.ts.map +1 -0
  102. package/dist/challenges/evidence-bundle.d.ts +48 -0
  103. package/dist/challenges/evidence-bundle.d.ts.map +1 -0
  104. package/dist/challenges/governed-adapter-gateway.d.ts +4 -0
  105. package/dist/challenges/governed-adapter-gateway.d.ts.map +1 -0
  106. package/dist/challenges/human-yield-gate.d.ts +20 -0
  107. package/dist/challenges/human-yield-gate.d.ts.map +1 -0
  108. package/dist/challenges/index.d.ts +15 -0
  109. package/dist/challenges/index.d.ts.map +1 -0
  110. package/dist/challenges/interpreter.d.ts +3 -0
  111. package/dist/challenges/interpreter.d.ts.map +1 -0
  112. package/dist/challenges/optional-computer-use-bridge.d.ts +9 -0
  113. package/dist/challenges/optional-computer-use-bridge.d.ts.map +1 -0
  114. package/dist/challenges/orchestrator.d.ts +32 -0
  115. package/dist/challenges/orchestrator.d.ts.map +1 -0
  116. package/dist/challenges/outcome-recorder.d.ts +8 -0
  117. package/dist/challenges/outcome-recorder.d.ts.map +1 -0
  118. package/dist/challenges/owned-environment-lane.d.ts +3 -0
  119. package/dist/challenges/owned-environment-lane.d.ts.map +1 -0
  120. package/dist/challenges/policy-gate.d.ts +9 -0
  121. package/dist/challenges/policy-gate.d.ts.map +1 -0
  122. package/dist/challenges/sanctioned-identity-lane.d.ts +3 -0
  123. package/dist/challenges/sanctioned-identity-lane.d.ts.map +1 -0
  124. package/dist/challenges/service-adapter-lane.d.ts +3 -0
  125. package/dist/challenges/service-adapter-lane.d.ts.map +1 -0
  126. package/dist/challenges/strategy-selector.d.ts +10 -0
  127. package/dist/challenges/strategy-selector.d.ts.map +1 -0
  128. package/dist/challenges/types.d.ts +277 -0
  129. package/dist/challenges/types.d.ts.map +1 -0
  130. package/dist/challenges/verification-gate.d.ts +15 -0
  131. package/dist/challenges/verification-gate.d.ts.map +1 -0
  132. package/dist/chunk-5FZQJRBQ.js +15256 -0
  133. package/dist/chunk-5FZQJRBQ.js.map +1 -0
  134. package/dist/chunk-W4IHGDXV.js +33519 -0
  135. package/dist/chunk-W4IHGDXV.js.map +1 -0
  136. package/dist/chunk-YBQECXZX.js +409 -0
  137. package/dist/chunk-YBQECXZX.js.map +1 -0
  138. package/dist/cli/args.d.ts +4 -4
  139. package/dist/cli/args.d.ts.map +1 -1
  140. package/dist/cli/commands/artifacts.d.ts.map +1 -1
  141. package/dist/cli/commands/canvas.d.ts +7 -7
  142. package/dist/cli/commands/canvas.d.ts.map +1 -1
  143. package/dist/cli/commands/daemon.d.ts +7 -0
  144. package/dist/cli/commands/daemon.d.ts.map +1 -1
  145. package/dist/cli/commands/desktop/accessibility-snapshot.d.ts +3 -0
  146. package/dist/cli/commands/desktop/accessibility-snapshot.d.ts.map +1 -0
  147. package/dist/cli/commands/desktop/active-window.d.ts +3 -0
  148. package/dist/cli/commands/desktop/active-window.d.ts.map +1 -0
  149. package/dist/cli/commands/desktop/capture-desktop.d.ts +3 -0
  150. package/dist/cli/commands/desktop/capture-desktop.d.ts.map +1 -0
  151. package/dist/cli/commands/desktop/capture-window.d.ts +3 -0
  152. package/dist/cli/commands/desktop/capture-window.d.ts.map +1 -0
  153. package/dist/cli/commands/desktop/shared.d.ts +19 -0
  154. package/dist/cli/commands/desktop/shared.d.ts.map +1 -0
  155. package/dist/cli/commands/desktop/status.d.ts +3 -0
  156. package/dist/cli/commands/desktop/status.d.ts.map +1 -0
  157. package/dist/cli/commands/desktop/windows.d.ts +3 -0
  158. package/dist/cli/commands/desktop/windows.d.ts.map +1 -0
  159. package/dist/cli/commands/devtools/dialog.d.ts +19 -0
  160. package/dist/cli/commands/devtools/dialog.d.ts.map +1 -0
  161. package/dist/cli/commands/devtools/screencast-start.d.ts +20 -0
  162. package/dist/cli/commands/devtools/screencast-start.d.ts.map +1 -0
  163. package/dist/cli/commands/devtools/screencast-stop.d.ts +17 -0
  164. package/dist/cli/commands/devtools/screencast-stop.d.ts.map +1 -0
  165. package/dist/cli/commands/devtools/screenshot.d.ts +2 -0
  166. package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -1
  167. package/dist/cli/commands/interact/click.d.ts.map +1 -1
  168. package/dist/cli/commands/interact/pointer-down.d.ts +7 -0
  169. package/dist/cli/commands/interact/pointer-down.d.ts.map +1 -0
  170. package/dist/cli/commands/interact/pointer-drag.d.ts +7 -0
  171. package/dist/cli/commands/interact/pointer-drag.d.ts.map +1 -0
  172. package/dist/cli/commands/interact/pointer-move.d.ts +7 -0
  173. package/dist/cli/commands/interact/pointer-move.d.ts.map +1 -0
  174. package/dist/cli/commands/interact/pointer-shared.d.ts +6 -0
  175. package/dist/cli/commands/interact/pointer-shared.d.ts.map +1 -0
  176. package/dist/cli/commands/interact/pointer-up.d.ts +7 -0
  177. package/dist/cli/commands/interact/pointer-up.d.ts.map +1 -0
  178. package/dist/cli/commands/interact/upload.d.ts +18 -0
  179. package/dist/cli/commands/interact/upload.d.ts.map +1 -0
  180. package/dist/cli/commands/macro-resolve.d.ts +2 -0
  181. package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
  182. package/dist/cli/commands/native.d.ts +10 -7
  183. package/dist/cli/commands/native.d.ts.map +1 -1
  184. package/dist/cli/commands/nav/review.d.ts +7 -0
  185. package/dist/cli/commands/nav/review.d.ts.map +1 -0
  186. package/dist/cli/commands/nav/snapshot.d.ts.map +1 -1
  187. package/dist/cli/commands/pages/open.d.ts.map +1 -1
  188. package/dist/cli/commands/product-video.d.ts +2 -0
  189. package/dist/cli/commands/product-video.d.ts.map +1 -1
  190. package/dist/cli/commands/research.d.ts +3 -0
  191. package/dist/cli/commands/research.d.ts.map +1 -1
  192. package/dist/cli/commands/run.d.ts +14 -0
  193. package/dist/cli/commands/run.d.ts.map +1 -1
  194. package/dist/cli/commands/serve.d.ts +1 -26
  195. package/dist/cli/commands/serve.d.ts.map +1 -1
  196. package/dist/cli/commands/session/connect.d.ts.map +1 -1
  197. package/dist/cli/commands/session/disconnect.d.ts.map +1 -1
  198. package/dist/cli/commands/session/inspector.d.ts +21 -0
  199. package/dist/cli/commands/session/inspector.d.ts.map +1 -0
  200. package/dist/cli/commands/session/launch.d.ts.map +1 -1
  201. package/dist/cli/commands/shopping.d.ts +5 -0
  202. package/dist/cli/commands/shopping.d.ts.map +1 -1
  203. package/dist/cli/commands/status.d.ts +2 -14
  204. package/dist/cli/commands/status.d.ts.map +1 -1
  205. package/dist/cli/commands/targets/new.d.ts.map +1 -1
  206. package/dist/cli/daemon-autostart.d.ts +11 -0
  207. package/dist/cli/daemon-autostart.d.ts.map +1 -1
  208. package/dist/cli/daemon-client.d.ts +3 -0
  209. package/dist/cli/daemon-client.d.ts.map +1 -1
  210. package/dist/cli/daemon-commands.d.ts.map +1 -1
  211. package/dist/cli/daemon-state.d.ts +16 -0
  212. package/dist/cli/daemon-state.d.ts.map +1 -1
  213. package/dist/cli/daemon-status.d.ts +7 -2
  214. package/dist/cli/daemon-status.d.ts.map +1 -1
  215. package/dist/cli/daemon.d.ts +1 -0
  216. package/dist/cli/daemon.d.ts.map +1 -1
  217. package/dist/cli/help.d.ts +15 -4
  218. package/dist/cli/help.d.ts.map +1 -1
  219. package/dist/cli/index.js +2476 -1036
  220. package/dist/cli/index.js.map +1 -1
  221. package/dist/cli/install-autostart-output.d.ts +6 -0
  222. package/dist/cli/install-autostart-output.d.ts.map +1 -0
  223. package/dist/cli/install-autostart-reconciliation.d.ts +23 -0
  224. package/dist/cli/install-autostart-reconciliation.d.ts.map +1 -0
  225. package/dist/cli/installers/skills.d.ts +42 -6
  226. package/dist/cli/installers/skills.d.ts.map +1 -1
  227. package/dist/cli/output.d.ts +3 -0
  228. package/dist/cli/output.d.ts.map +1 -1
  229. package/dist/cli/remote-desktop-runtime.d.ts +15 -0
  230. package/dist/cli/remote-desktop-runtime.d.ts.map +1 -0
  231. package/dist/cli/remote-manager.d.ts +24 -2
  232. package/dist/cli/remote-manager.d.ts.map +1 -1
  233. package/dist/cli/transport-timeouts.d.ts +8 -0
  234. package/dist/cli/transport-timeouts.d.ts.map +1 -0
  235. package/dist/cli/utils/http.d.ts +9 -0
  236. package/dist/cli/utils/http.d.ts.map +1 -1
  237. package/dist/cli/utils/parse.d.ts +2 -0
  238. package/dist/cli/utils/parse.d.ts.map +1 -1
  239. package/dist/cli/utils/skills.d.ts +1 -2
  240. package/dist/cli/utils/skills.d.ts.map +1 -1
  241. package/dist/cli/utils/workflow-message.d.ts +2 -0
  242. package/dist/cli/utils/workflow-message.d.ts.map +1 -0
  243. package/dist/config.d.ts +47 -0
  244. package/dist/config.d.ts.map +1 -1
  245. package/dist/core/bootstrap.d.ts.map +1 -1
  246. package/dist/core/index.d.ts +1 -0
  247. package/dist/core/index.d.ts.map +1 -1
  248. package/dist/core/logging.d.ts +3 -1
  249. package/dist/core/logging.d.ts.map +1 -1
  250. package/dist/core/runtime-assemblies.d.ts +22 -0
  251. package/dist/core/runtime-assemblies.d.ts.map +1 -0
  252. package/dist/core/types.d.ts +15 -0
  253. package/dist/core/types.d.ts.map +1 -1
  254. package/dist/desktop/audit.d.ts +37 -0
  255. package/dist/desktop/audit.d.ts.map +1 -0
  256. package/dist/desktop/errors.d.ts +7 -0
  257. package/dist/desktop/errors.d.ts.map +1 -0
  258. package/dist/desktop/index.d.ts +6 -0
  259. package/dist/desktop/index.d.ts.map +1 -0
  260. package/dist/desktop/runtime.d.ts +26 -0
  261. package/dist/desktop/runtime.d.ts.map +1 -0
  262. package/dist/desktop/types.d.ts +76 -0
  263. package/dist/desktop/types.d.ts.map +1 -0
  264. package/dist/extension-extractor.d.ts +6 -0
  265. package/dist/extension-extractor.d.ts.map +1 -1
  266. package/dist/index.d.ts.map +1 -1
  267. package/dist/index.js +1103 -467
  268. package/dist/index.js.map +1 -1
  269. package/dist/integrations/figma/assets.d.ts +13 -0
  270. package/dist/integrations/figma/assets.d.ts.map +1 -0
  271. package/dist/integrations/figma/auth.d.ts +3 -0
  272. package/dist/integrations/figma/auth.d.ts.map +1 -0
  273. package/dist/integrations/figma/client.d.ts +42 -0
  274. package/dist/integrations/figma/client.d.ts.map +1 -0
  275. package/dist/integrations/figma/mappers.d.ts +23 -0
  276. package/dist/integrations/figma/mappers.d.ts.map +1 -0
  277. package/dist/integrations/figma/normalize.d.ts +99 -0
  278. package/dist/integrations/figma/normalize.d.ts.map +1 -0
  279. package/dist/integrations/figma/url.d.ts +17 -0
  280. package/dist/integrations/figma/url.d.ts.map +1 -0
  281. package/dist/integrations/figma/variables.d.ts +21 -0
  282. package/dist/integrations/figma/variables.d.ts.map +1 -0
  283. package/dist/macros/execute-runtime.d.ts +19 -0
  284. package/dist/macros/execute-runtime.d.ts.map +1 -0
  285. package/dist/macros/execute.d.ts +3 -1
  286. package/dist/macros/execute.d.ts.map +1 -1
  287. package/dist/opendevbrowser.d.ts.map +1 -1
  288. package/dist/opendevbrowser.js +1103 -467
  289. package/dist/opendevbrowser.js.map +1 -1
  290. package/dist/providers/blocker.d.ts.map +1 -1
  291. package/dist/providers/browser-fallback.d.ts +30 -0
  292. package/dist/providers/browser-fallback.d.ts.map +1 -0
  293. package/dist/providers/constraint.d.ts +45 -0
  294. package/dist/providers/constraint.d.ts.map +1 -0
  295. package/dist/providers/index.d.ts +11 -2
  296. package/dist/providers/index.d.ts.map +1 -1
  297. package/dist/providers/policy.d.ts.map +1 -1
  298. package/dist/providers/product-video-compiler.d.ts +92 -0
  299. package/dist/providers/product-video-compiler.d.ts.map +1 -0
  300. package/dist/providers/registry.d.ts +37 -1
  301. package/dist/providers/registry.d.ts.map +1 -1
  302. package/dist/providers/renderer.d.ts.map +1 -1
  303. package/dist/providers/research-compiler.d.ts +64 -0
  304. package/dist/providers/research-compiler.d.ts.map +1 -0
  305. package/dist/providers/research-executor.d.ts +27 -0
  306. package/dist/providers/research-executor.d.ts.map +1 -0
  307. package/dist/providers/runtime-bundle.d.ts +26 -0
  308. package/dist/providers/runtime-bundle.d.ts.map +1 -0
  309. package/dist/providers/runtime-factory.d.ts +6 -1
  310. package/dist/providers/runtime-factory.d.ts.map +1 -1
  311. package/dist/providers/runtime-policy.d.ts +24 -0
  312. package/dist/providers/runtime-policy.d.ts.map +1 -0
  313. package/dist/providers/shared/anti-bot-policy.d.ts +3 -2
  314. package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -1
  315. package/dist/providers/shopping/index.d.ts +11 -1
  316. package/dist/providers/shopping/index.d.ts.map +1 -1
  317. package/dist/providers/shopping-compiler.d.ts +51 -0
  318. package/dist/providers/shopping-compiler.d.ts.map +1 -0
  319. package/dist/providers/shopping-executor.d.ts +18 -0
  320. package/dist/providers/shopping-executor.d.ts.map +1 -0
  321. package/dist/providers/shopping-postprocess.d.ts +46 -0
  322. package/dist/providers/shopping-postprocess.d.ts.map +1 -0
  323. package/dist/providers/shopping-workflow.d.ts +33 -0
  324. package/dist/providers/shopping-workflow.d.ts.map +1 -0
  325. package/dist/providers/social/platform.d.ts +2 -1
  326. package/dist/providers/social/platform.d.ts.map +1 -1
  327. package/dist/providers/social/search-quality.d.ts +16 -0
  328. package/dist/providers/social/search-quality.d.ts.map +1 -0
  329. package/dist/providers/social/youtube-resolver.d.ts +2 -1
  330. package/dist/providers/social/youtube-resolver.d.ts.map +1 -1
  331. package/dist/providers/social/youtube.d.ts.map +1 -1
  332. package/dist/providers/types.d.ts +116 -4
  333. package/dist/providers/types.d.ts.map +1 -1
  334. package/dist/providers/web/crawl-worker.d.ts.map +1 -1
  335. package/dist/providers/web/extract.d.ts +16 -0
  336. package/dist/providers/web/extract.d.ts.map +1 -1
  337. package/dist/providers/web/index.d.ts.map +1 -1
  338. package/dist/providers/workflow-contracts.d.ts +53 -0
  339. package/dist/providers/workflow-contracts.d.ts.map +1 -0
  340. package/dist/providers/workflows.d.ts +30 -6
  341. package/dist/providers/workflows.d.ts.map +1 -1
  342. package/dist/{providers-G3LRHQXX.js → providers-G36AM3Z2.js} +2 -2
  343. package/dist/public-surface/generated-manifest.d.ts +1168 -0
  344. package/dist/public-surface/generated-manifest.d.ts.map +1 -0
  345. package/dist/public-surface/source.d.ts +437 -0
  346. package/dist/public-surface/source.d.ts.map +1 -0
  347. package/dist/relay/protocol.d.ts +25 -3
  348. package/dist/relay/protocol.d.ts.map +1 -1
  349. package/dist/relay/relay-endpoints.d.ts +21 -0
  350. package/dist/relay/relay-endpoints.d.ts.map +1 -1
  351. package/dist/relay/relay-server.d.ts +18 -0
  352. package/dist/relay/relay-server.d.ts.map +1 -1
  353. package/dist/skills/bundled-skill-directories.d.ts +8 -0
  354. package/dist/skills/bundled-skill-directories.d.ts.map +1 -0
  355. package/dist/skills/skill-loader.d.ts +9 -1
  356. package/dist/skills/skill-loader.d.ts.map +1 -1
  357. package/dist/skills/skill-loader.js +7 -0
  358. package/dist/skills/skill-nudge.d.ts.map +1 -1
  359. package/dist/skills/types.d.ts +31 -0
  360. package/dist/skills/types.d.ts.map +1 -1
  361. package/dist/snapshot/ops-snapshot.d.ts +1 -1
  362. package/dist/snapshot/ops-snapshot.d.ts.map +1 -1
  363. package/dist/snapshot/refs.d.ts +6 -1
  364. package/dist/snapshot/refs.d.ts.map +1 -1
  365. package/dist/snapshot/snapshotter.d.ts.map +1 -1
  366. package/dist/tools/connect.d.ts.map +1 -1
  367. package/dist/tools/deps.d.ts +4 -0
  368. package/dist/tools/deps.d.ts.map +1 -1
  369. package/dist/tools/desktop-shared.d.ts +6 -0
  370. package/dist/tools/desktop-shared.d.ts.map +1 -0
  371. package/dist/tools/desktop_accessibility_snapshot.d.ts +4 -0
  372. package/dist/tools/desktop_accessibility_snapshot.d.ts.map +1 -0
  373. package/dist/tools/desktop_active_window.d.ts +4 -0
  374. package/dist/tools/desktop_active_window.d.ts.map +1 -0
  375. package/dist/tools/desktop_capture_desktop.d.ts +4 -0
  376. package/dist/tools/desktop_capture_desktop.d.ts.map +1 -0
  377. package/dist/tools/desktop_capture_window.d.ts +4 -0
  378. package/dist/tools/desktop_capture_window.d.ts.map +1 -0
  379. package/dist/tools/desktop_status.d.ts +4 -0
  380. package/dist/tools/desktop_status.d.ts.map +1 -0
  381. package/dist/tools/desktop_windows.d.ts +4 -0
  382. package/dist/tools/desktop_windows.d.ts.map +1 -0
  383. package/dist/tools/dialog.d.ts +4 -0
  384. package/dist/tools/dialog.d.ts.map +1 -0
  385. package/dist/tools/index.d.ts +3 -0
  386. package/dist/tools/index.d.ts.map +1 -1
  387. package/dist/tools/launch.d.ts.map +1 -1
  388. package/dist/tools/macro_resolve.d.ts.map +1 -1
  389. package/dist/tools/pointer_down.d.ts +4 -0
  390. package/dist/tools/pointer_down.d.ts.map +1 -0
  391. package/dist/tools/pointer_drag.d.ts +4 -0
  392. package/dist/tools/pointer_drag.d.ts.map +1 -0
  393. package/dist/tools/pointer_move.d.ts +4 -0
  394. package/dist/tools/pointer_move.d.ts.map +1 -0
  395. package/dist/tools/pointer_up.d.ts +4 -0
  396. package/dist/tools/pointer_up.d.ts.map +1 -0
  397. package/dist/tools/product_video_run.d.ts.map +1 -1
  398. package/dist/tools/prompting_guide.d.ts.map +1 -1
  399. package/dist/tools/research_run.d.ts.map +1 -1
  400. package/dist/tools/review.d.ts +4 -0
  401. package/dist/tools/review.d.ts.map +1 -0
  402. package/dist/tools/screencast_start.d.ts +4 -0
  403. package/dist/tools/screencast_start.d.ts.map +1 -0
  404. package/dist/tools/screencast_stop.d.ts +4 -0
  405. package/dist/tools/screencast_stop.d.ts.map +1 -0
  406. package/dist/tools/screenshot.d.ts.map +1 -1
  407. package/dist/tools/session_inspector.d.ts +4 -0
  408. package/dist/tools/session_inspector.d.ts.map +1 -0
  409. package/dist/tools/shopping_run.d.ts.map +1 -1
  410. package/dist/tools/skill_list.d.ts.map +1 -1
  411. package/dist/tools/skill_load.d.ts.map +1 -1
  412. package/dist/tools/upload.d.ts +4 -0
  413. package/dist/tools/upload.d.ts.map +1 -0
  414. package/dist/tools/workflow-runtime.d.ts +4 -1
  415. package/dist/tools/workflow-runtime.d.ts.map +1 -1
  416. package/dist/utils/package-assets.d.ts +4 -0
  417. package/dist/utils/package-assets.d.ts.map +1 -0
  418. package/extension/canvas.html +379 -9
  419. package/extension/dist/annotate-content.js +62 -32
  420. package/extension/dist/annotation-payload.js +57 -21
  421. package/extension/dist/background.js +406 -61
  422. package/extension/dist/canvas/canvas-runtime.js +481 -52
  423. package/extension/dist/canvas/model.js +129 -1
  424. package/extension/dist/canvas-page.js +1882 -74
  425. package/extension/dist/ops/dom-bridge.js +139 -0
  426. package/extension/dist/ops/ops-runtime.js +2854 -295
  427. package/extension/dist/ops/ops-session-store.js +83 -5
  428. package/extension/dist/ops/snapshot-builder.js +2 -2
  429. package/extension/dist/ops/snapshot-shared.js +2 -2
  430. package/extension/dist/ops/target-session-coordinator.js +5 -3
  431. package/extension/dist/popup.js +50 -15
  432. package/extension/dist/services/CDPRouter.js +1567 -63
  433. package/extension/dist/services/ConnectionManager.js +436 -78
  434. package/extension/dist/services/RelayClient.js +70 -30
  435. package/extension/dist/services/TabManager.js +83 -10
  436. package/extension/dist/services/TargetSessionMap.js +127 -3
  437. package/extension/dist/services/attach-errors.js +20 -0
  438. package/extension/dist/services/cdp-router-commands.js +135 -8
  439. package/extension/dist/services/url-restrictions.js +9 -13
  440. package/extension/manifest.json +2 -2
  441. package/extension/popup.html +7 -6
  442. package/package.json +15 -7
  443. package/skills/AGENTS.md +9 -8
  444. package/skills/opendevbrowser-best-practices/SKILL.md +118 -9
  445. package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +1 -0
  446. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +26 -12
  447. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +9 -2
  448. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +6 -0
  449. package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +58 -0
  450. package/skills/opendevbrowser-best-practices/assets/templates/skill-runtime-pack-matrix.json +674 -0
  451. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +9 -4
  452. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +89 -20
  453. package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +100 -0
  454. package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +1 -0
  455. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +256 -116
  456. package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +208 -0
  457. package/skills/opendevbrowser-continuity-ledger/SKILL.md +14 -1
  458. package/skills/opendevbrowser-continuity-ledger/scripts/validate-skill-assets.sh +61 -0
  459. package/skills/opendevbrowser-data-extraction/SKILL.md +6 -0
  460. package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +112 -0
  461. package/skills/opendevbrowser-design-agent/SKILL.md +275 -0
  462. package/skills/opendevbrowser-design-agent/artifacts/app-shell-and-state-wiring.md +84 -0
  463. package/skills/opendevbrowser-design-agent/artifacts/async-search-state-ownership.md +58 -0
  464. package/skills/opendevbrowser-design-agent/artifacts/component-pattern-index.md +130 -0
  465. package/skills/opendevbrowser-design-agent/artifacts/design-contract-playbook.md +157 -0
  466. package/skills/opendevbrowser-design-agent/artifacts/design-release-gate.md +40 -0
  467. package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +153 -0
  468. package/skills/opendevbrowser-design-agent/artifacts/existing-surface-adaptation.md +56 -0
  469. package/skills/opendevbrowser-design-agent/artifacts/external-pattern-synthesis.md +103 -0
  470. package/skills/opendevbrowser-design-agent/artifacts/frontend-evaluation-rubric.md +61 -0
  471. package/skills/opendevbrowser-design-agent/artifacts/implementation-anti-patterns.md +163 -0
  472. package/skills/opendevbrowser-design-agent/artifacts/isolated-preview-validation.md +68 -0
  473. package/skills/opendevbrowser-design-agent/artifacts/loading-and-feedback-surfaces.md +56 -0
  474. package/skills/opendevbrowser-design-agent/artifacts/opendevbrowser-ui-example-map.md +44 -0
  475. package/skills/opendevbrowser-design-agent/artifacts/performance-audit-playbook.md +70 -0
  476. package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +81 -0
  477. package/skills/opendevbrowser-design-agent/artifacts/scroll-reveal-surface-planning.md +64 -0
  478. package/skills/opendevbrowser-design-agent/artifacts/state-ownership-matrix.md +36 -0
  479. package/skills/opendevbrowser-design-agent/artifacts/theming-and-token-ownership.md +43 -0
  480. package/skills/opendevbrowser-design-agent/assets/templates/canvas-generation-plan.design.v1.json +58 -0
  481. package/skills/opendevbrowser-design-agent/assets/templates/design-audit-report.v1.md +34 -0
  482. package/skills/opendevbrowser-design-agent/assets/templates/design-brief.v1.md +40 -0
  483. package/skills/opendevbrowser-design-agent/assets/templates/design-contract.v1.json +226 -0
  484. package/skills/opendevbrowser-design-agent/assets/templates/design-release-gate.v1.json +35 -0
  485. package/skills/opendevbrowser-design-agent/assets/templates/design-review-checklist.json +57 -0
  486. package/skills/opendevbrowser-design-agent/assets/templates/real-surface-design-matrix.json +32 -0
  487. package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +31 -0
  488. package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +171 -0
  489. package/skills/opendevbrowser-design-agent/scripts/extract-canvas-plan.sh +56 -0
  490. package/skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh +223 -0
  491. package/skills/opendevbrowser-form-testing/SKILL.md +19 -3
  492. package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +5 -4
  493. package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +2 -0
  494. package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +109 -0
  495. package/skills/opendevbrowser-login-automation/SKILL.md +21 -3
  496. package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +5 -4
  497. package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +5 -0
  498. package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +3 -2
  499. package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +17 -1
  500. package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +133 -0
  501. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +23 -11
  502. package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +5 -3
  503. package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +2 -0
  504. package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +3 -2
  505. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +5 -1
  506. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +6 -2
  507. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +5 -1
  508. package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +20 -7
  509. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +39 -0
  510. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +5 -1
  511. package/skills/opendevbrowser-research/SKILL.md +14 -6
  512. package/skills/opendevbrowser-research/scripts/render-output.sh +5 -1
  513. package/skills/opendevbrowser-research/scripts/run-research.sh +5 -1
  514. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +45 -0
  515. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +5 -1
  516. package/skills/opendevbrowser-shopping/SKILL.md +20 -1
  517. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +6 -2
  518. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +5 -1
  519. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +5 -1
  520. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +54 -0
  521. package/dist/chunk-5J3IFL3X.js +0 -16706
  522. package/dist/chunk-5J3IFL3X.js.map +0 -1
  523. package/dist/chunk-D633UO34.js +0 -8149
  524. package/dist/chunk-D633UO34.js.map +0 -1
  525. package/dist/chunk-V7KUDHDG.js +0 -276
  526. package/dist/chunk-V7KUDHDG.js.map +0 -1
  527. package/dist/runtime-factory-BICHDPE7.js +0 -13
  528. /package/dist/{providers-G3LRHQXX.js.map → providers-G36AM3Z2.js.map} +0 -0
  529. /package/dist/{runtime-factory-BICHDPE7.js.map → skills/skill-loader.js.map} +0 -0
package/README.md CHANGED
@@ -10,7 +10,10 @@
10
10
 
11
11
  > **Script-first browser automation for AI agents.** Snapshot → Refs → Actions.
12
12
 
13
- OpenDevBrowser is an agent-agnostic browser automation runtime. You can use it as an [OpenCode](https://opencode.ai) plugin, as a standalone CLI, or through the Chrome extension relay for logged-in browser sessions. It supports managed sessions, direct CDP attach, and extension-backed Ops sessions. Frontend website source and deployment are maintained in the private repo `opendevbrowser-website-deploy`.
13
+ OpenDevBrowser is an agent-agnostic browser automation runtime for CLI workflows, [OpenCode](https://opencode.ai) tool calls, and Chrome extension relay sessions. It supports managed launches, direct CDP attach, and extension-backed Ops sessions.
14
+
15
+ The current public surface includes [72 CLI commands and 65 `opendevbrowser_*` tools](docs/SURFACE_REFERENCE.md); see [docs/CLI.md](docs/CLI.md) for the operational command guide.
16
+ Generated help is the canonical first-contact discovery surface: `npx opendevbrowser --help` and `npx opendevbrowser help` now lead with a `Find It Fast` block that uses the exact lookup terms `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use`.
14
17
 
15
18
  <p align="center">
16
19
  <img src="assets/hero-image.png" alt="OpenDevBrowser hero image showing AI-assisted annotation and browser automation workflow" width="920" />
@@ -18,6 +21,30 @@ OpenDevBrowser is an agent-agnostic browser automation runtime. You can use it a
18
21
  <em>AI-assisted annotation and browser automation workflow</em>
19
22
  </p>
20
23
 
24
+ ## Table of Contents
25
+
26
+ - [Use It Your Way](#use-it-your-way)
27
+ - [Why OpenDevBrowser?](#why-opendevbrowser)
28
+ - [Installation](#installation)
29
+ - [Quick Start](#quick-start)
30
+ - [Challenge Handling Boundary](#challenge-handling-boundary)
31
+ - [Recent Features](#recent-features)
32
+ - [Features](#features)
33
+ - [Tool Reference](#tool-reference)
34
+ - [Bundled Skills](#bundled-skills)
35
+ - [Browser Modes](#browser-modes)
36
+ - [Relay Channels](#relay-channels)
37
+ - [Breaking Changes (latest)](#breaking-changes-latest)
38
+ - [Chrome Extension (Optional)](#chrome-extension-optional)
39
+ - [Configuration](#configuration)
40
+ - [CLI Commands](#cli-commands)
41
+ - [Security](#security)
42
+ - [Updating](#updating)
43
+ - [Architecture](#architecture)
44
+ - [Development](#development)
45
+ - [Privacy](#privacy)
46
+ - [License](#license)
47
+
21
48
  ## Use It Your Way
22
49
 
23
50
  | Interface | OpenCode Required | Best For |
@@ -27,30 +54,16 @@ OpenDevBrowser is an agent-agnostic browser automation runtime. You can use it a
27
54
  | **OpenCode Plugin Tools** | Yes | Native tool-calling inside OpenCode (`opendevbrowser_*`) |
28
55
  | **Frontend Website (private repo)** | No | Product website and generated docs routes |
29
56
 
30
- All core automation flows are available through the CLI command surface and the plugin tool surface.
31
- Private website docs routes are generated from public repository source-of-truth docs and skill packs.
32
-
33
- Distribution split (current target state):
34
- - Public repo (`opendevbrowser`): runtime, CLI, extension, docs, npm, release artifacts.
35
- - Private repo (`opendevbrowser-website-deploy`): website deployment (`website-production` branch).
57
+ The public repo owns the automation runtime and canonical docs; see [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the full surface inventory.
36
58
 
37
59
  ## Why OpenDevBrowser?
38
60
 
39
- | Feature | Benefit |
40
- |---------|---------|
41
- | **Script-first UX** | Snapshot Refs Actions workflow optimized for AI agents |
42
- | **Accessibility-tree snapshots** | Token-efficient page representation (not raw DOM) |
43
- | **Stable refs** | Elements identified by `backendNodeId`, not fragile selectors |
44
- | **Security by default** | CDP localhost-only, timing-safe auth, HTML sanitization |
45
- | **3 browser modes** | Managed, CDP connect, or extension relay for logged-in sessions |
46
- | **Ops + Canvas + CDP channels** | High-level multi-client `/ops`, dedicated `/canvas`, plus legacy `/cdp` compatibility |
47
- | **Relay Hub (FIFO leases)** | Single-owner CDP binding with a FIFO queue for multi-client safety |
48
- | **Flat-session routing** | Extension relay uses DebuggerSession sessionId routing (Chrome 125+) |
49
- | **Design canvas + code sync** | Persist repo-native design documents, attach same-session observers, round-trip bound TSX files, and drive preview tabs with `canvas_html` or opted-in `bound_app_runtime` reconciliation |
50
- | **Loop-closure diagnostics** | Console/network polling + unified debug trace snapshots for verification workflows |
51
- | **10 bundled skill directories** | Best practices plus login, forms, data extraction, research, shopping, and product asset workflows |
52
- | **49 tools** | Complete browser automation coverage, including the design-canvas command surface |
53
- | **97% test coverage** | Production-ready with strict TypeScript |
61
+ - **Script-first automation model**: snapshot → refs → actions, built around accessibility-tree capture instead of brittle selector-first workflows.
62
+ - **Stable interaction primitives**: refs resolve through `backendNodeId`, and low-level pointer commands remain available when normal DOM actions are not enough.
63
+ - **Flexible session control**: run managed sessions, attach through direct CDP, or reuse logged-in tabs through the extension relay and `/ops`.
64
+ - **Design and review workflows**: use the design canvas, shared annotation inbox, and repo-backed code-sync flows without leaving the runtime surface.
65
+ - **Diagnostics and bounded challenge handling**: start with `session-inspector`, then drop to console or network polling and unified debug traces when you need channel-level detail.
66
+ - **Production guardrails**: local-only CDP by default, timing-safe auth, sanitized exports, strict TypeScript, and branch coverage held at 97% or higher.
54
67
 
55
68
  ---
56
69
 
@@ -76,9 +89,9 @@ npm install -g opendevbrowser
76
89
  opendevbrowser --version
77
90
  ```
78
91
 
79
- ### Pre-release Local Package (No npm publish required)
92
+ ### Local Package Validation
80
93
 
81
- Use this path to validate first-run onboarding before public distribution:
94
+ Use this flow to validate first-run onboarding from a source tarball without relying on the published registry package.
82
95
 
83
96
  ```bash
84
97
  cd <public-repo-root>
@@ -87,29 +100,18 @@ npm pack
87
100
  WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
88
101
  cd "$WORKDIR"
89
102
  npm init -y
90
- npm install <public-repo-root>/opendevbrowser-0.0.17.tgz
103
+ npm install <public-repo-root>/opendevbrowser-0.0.19.tgz
91
104
  npx --no-install opendevbrowser --help
92
105
  npx --no-install opendevbrowser help
93
106
  ```
94
107
 
95
- Full validated flow: [`docs/FIRST_RUN_ONBOARDING.md`](docs/FIRST_RUN_ONBOARDING.md).
96
- Dependency/runtime inventory: [`docs/DEPENDENCIES.md`](docs/DEPENDENCIES.md).
97
- Live CLI inventory/help surface: `npx opendevbrowser --help` or `npx opendevbrowser help`.
98
-
99
- Use OpenCode only if you want plugin tools. CLI and extension workflows work without OpenCode.
108
+ Published npm consumer proof is tracked separately in [docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) through `scripts/registry-consumer-smoke.mjs`.
100
109
 
101
- On first successful install, the CLI attempts to install daemon auto-start on supported platforms so the relay is available on login.
102
- You can remove it later with `npx opendevbrowser daemon uninstall`.
110
+ See [docs/FIRST_RUN_ONBOARDING.md](docs/FIRST_RUN_ONBOARDING.md) for the full onboarding checklist, [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) for runtime inventory, and [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the live CLI and tool surface.
103
111
 
104
- During install, bundled skills are synced for **OpenCode, Codex, ClaudeCode, and AmpCLI**.
105
- Default `--skills-global` targets:
106
- - `~/.config/opencode/skill` (OpenCode)
107
- - `$CODEX_HOME/skills` (fallback `~/.codex/skills`)
108
- - `$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` (fallback `~/.claude/skills`)
109
- - `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (fallback `~/.amp/skills`)
112
+ Successful installs reconcile daemon auto-start on supported platforms so the relay is available on login. If the current CLI entrypoint lives under a transient temp-root path such as a first-run `/tmp` or `/private/tmp` workspace, OpenDevBrowser refuses to persist that path as auto-start. Rerun `opendevbrowser daemon install`, or `npx --no-install opendevbrowser daemon install` from a persistent local package install, from a stable install location if you want login auto-start; remove it later with `opendevbrowser daemon uninstall`.
110
113
 
111
- Use `--skills-local` for project-local targets:
112
- - `./.opencode/skill`, `./.codex/skills`, `./.claude/skills`, `./.amp/skills`
114
+ Bundled skills sync to **OpenCode, Codex, ClaudeCode, and AmpCLI** targets during install. Use `--skills-global` for user-wide installs or `--skills-local` for project-local installs; see [docs/CLI.md](docs/CLI.md) for exact target paths.
113
115
 
114
116
  ### CLI + Extension (No OpenCode)
115
117
 
@@ -142,6 +144,8 @@ Website build/data pipeline lives in the private repo:
142
144
 
143
145
  ### Agent Installation (OpenCode)
144
146
 
147
+ Use OpenCode only when you want native `opendevbrowser_*` tool calls; the CLI and extension workflows work without it.
148
+
145
149
  Recommended (CLI, installs plugin + config + bundled skills + extension assets):
146
150
 
147
151
  ```bash
@@ -176,9 +180,9 @@ OpenDevBrowser uses the same automation model across plugin tools and CLI comman
176
180
  ```
177
181
  1. Launch a browser session
178
182
  2. Navigate to a URL
179
- 3. Take a snapshot to get element refs
183
+ 3. Take a review to get target-aware actionables and refs
180
184
  4. Interact using refs (click, type, select)
181
- 5. Re-snapshot after navigation
185
+ 5. Re-review or re-snapshot after navigation
182
186
  ```
183
187
 
184
188
  Shipping checklist for first-time users (local-package install, daemon, extension, first task, multi-tab auth/cookies):
@@ -192,9 +196,10 @@ Parallel execution is target-scoped (`ExecutionKey = (sessionId,targetId)`): sam
192
196
  |------|------|---------|
193
197
  | 1 | `opendevbrowser_launch` | Launch a session (extension relay first; managed fallback is explicit) |
194
198
  | 2 | `opendevbrowser_goto` | Navigate to URL |
195
- | 3 | `opendevbrowser_snapshot` | Get page structure with refs |
199
+ | 3 | `opendevbrowser_review` | Inspect the active target and capture fresh actionables before acting |
196
200
  | 4 | `opendevbrowser_click` / `opendevbrowser_type` | Interact with elements |
197
- | 5 | `opendevbrowser_disconnect` | Clean up session |
201
+ | 5 | `opendevbrowser_snapshot` | Re-capture refs after navigation or DOM changes |
202
+ | 6 | `opendevbrowser_disconnect` | Clean up session |
198
203
 
199
204
  ---
200
205
 
@@ -207,7 +212,7 @@ Run a local daemon for persistent sessions, then drive automation via CLI comman
207
212
  npx opendevbrowser serve
208
213
 
209
214
  # Install auto-start (recommended for resilience)
210
- npx opendevbrowser daemon install
215
+ opendevbrowser daemon install
211
216
 
212
217
  # Stop/kill the daemon before restarting
213
218
  npx opendevbrowser serve --stop
@@ -215,8 +220,8 @@ npx opendevbrowser serve --stop
215
220
  # Launch a session
216
221
  npx opendevbrowser launch --start-url https://example.com
217
222
 
218
- # Capture a snapshot
219
- npx opendevbrowser snapshot --session-id <session-id>
223
+ # Review the active target and capture fresh refs
224
+ npx opendevbrowser review --session-id <session-id>
220
225
 
221
226
  # Interact by ref
222
227
  npx opendevbrowser click --session-id <session-id> --ref r12
@@ -224,6 +229,8 @@ npx opendevbrowser click --session-id <session-id> --ref r12
224
229
 
225
230
  `opendevbrowser serve` includes stale-daemon preflight cleanup by default, so orphan daemon processes are terminated automatically
226
231
  before startup while preserving the active daemon on the requested port.
232
+ If you are running from a temporary onboarding workspace, rerun `opendevbrowser daemon install` from a stable install location
233
+ before expecting auto-start to survive login.
227
234
 
228
235
  For single-shot scripts:
229
236
 
@@ -233,20 +240,42 @@ npx opendevbrowser run --script ./script.json --output-format json
233
240
 
234
241
  Use `--output-format json|stream-json` for automation-friendly output.
235
242
 
243
+ ### Help-Led Discovery
244
+
245
+ Start every surface check from generated help when you need the current public lanes. The terminal help now uses these exact phrases so agents can search by intent instead of guessing command names:
246
+
247
+ - `screencast / browser replay`: `screencast-start`, `screencast-stop`
248
+ - `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
249
+ - `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
250
+
251
+ ## Challenge Handling Boundary
252
+
253
+ - `SessionStore` remains the blocker FSM source of truth. Managed and `/ops`-backed responses keep `meta.blocker`, `meta.blockerState`, and `meta.blockerResolution` stable and may append additive `meta.challenge` plus `meta.challengeOrchestration`.
254
+ - Direct browser, `/ops`, and provider fallback paths now share one bounded challenge orchestration plane. It can try auth navigation, legitimate session or cookie reuse, non-secret field fill, and bounded interaction exploration before yielding to a human.
255
+ - Workflow and manager callers can set `challengeAutomationMode` to `off`, `browser`, or `browser_with_helper`. Effective precedence is `run > session > config`, and hard gates still apply after resolution.
256
+ - The optional helper bridge is browser-scoped, not a desktop agent. `browser` forces it to stand down, and `browser_with_helper` only evaluates it after the existing helper hard gates pass.
257
+ - Shipped builds also expose a public read-only desktop observation plane under separate `desktop.*` config. It is enabled by default, does not widen `/ops` or `ChallengeRuntimeHandle`, and the internal composed path still routes desktop observation back through browser-owned review when challenge automation needs it.
258
+ - Browser fallback returns explicit transport `disposition` values: `completed`, `challenge_preserved`, `deferred`, or `failed`. When orchestration runs during fallback, decision evidence is recorded under `details.challengeOrchestration`.
259
+ - `ProviderRegistry` is the only durable anti-bot pressure authority. Shared runtime and policy own fallback ordering and resume policy; provider modules only contribute extraction logic and `recoveryHints()`.
260
+ - In scope: preserved sessions, normal browser controls, bounded interaction experimentation, human yield packets for secret or human-authority boundaries, and owned-environment fixtures that use vendor test keys only.
261
+ - Out of scope: hidden bypasses, CAPTCHA-solving services, token harvesting, or autonomous unsandboxed solving of third-party anti-bot systems.
262
+
236
263
  ---
237
264
 
238
265
  ## Recent Features
239
266
 
240
- ### v0.0.17 (Latest)
267
+ ### v0.0.19 (Current release prep)
241
268
 
242
- - **Design canvas runtime is now shipped end-to-end** across core, CLI, tool, relay, and extension surfaces, including `canvas.html`, overlay control, preview feedback, and repo-backed code sync.
243
- - **Canvas surface governance and skill-pack coverage** now include current `/canvas` inventories, handshake/blocker templates, and feedback-evaluation artifacts.
244
- - **Release packaging/docs were refreshed for v0.0.17**, including current tarball examples, extension version sync, release evidence, and public/private cutover guidance.
269
+ - npm latest remains `0.0.18` until the next tag is pushed and published.
270
+ - **Registry-consumer release proof is now first-class** with a post-publish smoke lane that installs the published package in a fresh temp workspace, verifies help/version, and captures the resolved consumer dependency graph.
271
+ - **Browser-scoped computer use is easier to discover** because help, onboarding, and release-facing docs now expose a concrete workflow entry command instead of relying only on `--challenge-automation-mode` as a hidden modifier.
272
+ - **Browser replay screencast shutdown is safer under load** because stop requests during the first in-flight capture no longer allow a later scheduled frame to sneak through.
273
+ - **The `0.0.18` npm parity investigation is now explicit about chronology**: the published package matched the release-aligned source, while later local worktree drift and semver-based consumer dependency drift explain the mismatch reports.
245
274
 
246
275
  ### v0.0.16
247
276
 
248
277
  - **Release-gate hardening** with dedicated audit/compliance scripts (`audit-zombie-files`, `docs-drift-check`, `chrome-store-compliance-check`) and grouped release-gate tests.
249
- - **Live matrix robustness upgrades** across `live-regression-matrix` and `provider-live-matrix` (strict `--release-gate`, extension/CDP recovery paths, deterministic strict-mode semantics).
278
+ - **Live direct-run release gates** across provider-by-provider and scenario-by-scenario scripts with explicit artifacts instead of broad matrix evidence.
250
279
  - **CLI/runtime reliability fixes** including launch RPC timeout derivation from wait hints, bounded macro execute timeouts, and stale extension `/cdp` attach retry handling.
251
280
  - **Version/distribution integrity checks** now enforce parity across `package.json`, `extension/manifest.json`, and `extension/package.json`.
252
281
  - **Dependency and docs refresh** for v0.0.16 release readiness, onboarding parity, and public/private distribution operations.
@@ -280,6 +309,7 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
280
309
  - **Click** - Click elements by ref
281
310
  - **Type** - Enter text into inputs
282
311
  - **Select** - Choose dropdown options
312
+ - **Upload** - Send files to a file input or chooser by ref
283
313
  - **Scroll** - Scroll page or elements
284
314
  - **Wait** - Wait for selectors or navigation
285
315
 
@@ -287,12 +317,14 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
287
317
  - **Console Capture** - Monitor console.log, errors, warnings
288
318
  - **Network Tracking** - Request/response metadata (method, url, status)
289
319
  - **Debug Trace Snapshot** - Combined page/console/network/exception diagnostics with blocker metadata
290
- - **Screenshot** - Viewport PNG screenshot (file or base64)
320
+ - **Screenshot** - Visible, ref-targeted, or full-page PNG capture (file or base64)
321
+ - **Dialog** - Inspect or handle JavaScript dialogs per target
291
322
  - **Performance** - Page load metrics
292
323
 
293
324
  ### Session & Macro Utilities
294
325
  - **Cookie Import** - Validate and import cookies into active sessions
295
326
  - **Cookie List** - First-class cookie inspection with optional URL filters
327
+ - **Session Inspector** - Session-first diagnostics with relay health, trace proof, and a suggested next action
296
328
  - **Macro Resolve/Execute** - Expand macro expressions into provider actions with optional execution
297
329
 
298
330
  ### Export & Clone
@@ -304,9 +336,11 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
304
336
 
305
337
  ## Tool Reference
306
338
 
307
- OpenDevBrowser provides **49 tools** organized by category:
339
+ OpenDevBrowser provides **65 tools** organized by category:
308
340
  Most runtime actions also have CLI command equivalents (see [docs/CLI.md](docs/CLI.md)).
309
341
  Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`): [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md).
342
+ Terminal help now mirrors the generated public-surface manifest rooted at `src/public-surface/source.ts` and refreshed by `scripts/generate-public-surface-manifest.mjs`. `npx opendevbrowser --help` and `npx opendevbrowser help` both show every command with its usage and primary flags, every grouped CLI flag, and every bundled `opendevbrowser_*` tool with its CLI equivalent or tool-only scope.
343
+ See [docs/ASSET_INVENTORY.md](docs/ASSET_INVENTORY.md) for the brand and generated help/public-surface asset inventory used by packaging and website-sync flows.
310
344
 
311
345
  ### Session Management
312
346
  | Tool | Description |
@@ -317,6 +351,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
317
351
  | `opendevbrowser_status` | Get session status and connection info (daemon status in hub mode) |
318
352
  | `opendevbrowser_cookie_import` | Import validated cookies into the current session |
319
353
  | `opendevbrowser_cookie_list` | List session cookies with optional URL filters |
354
+ | `opendevbrowser_session_inspector` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
320
355
 
321
356
  ### Tab/Target Management
322
357
  | Tool | Description |
@@ -339,6 +374,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
339
374
  | `opendevbrowser_goto` | Navigate to URL |
340
375
  | `opendevbrowser_wait` | Wait for load state or element |
341
376
  | `opendevbrowser_snapshot` | Capture page accessibility tree with refs |
377
+ | `opendevbrowser_review` | Capture target-aware actionables plus status context before acting |
342
378
  | `opendevbrowser_click` | Click element by ref |
343
379
  | `opendevbrowser_hover` | Hover element by ref |
344
380
  | `opendevbrowser_press` | Press a keyboard key (optionally focusing a ref) |
@@ -348,6 +384,11 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
348
384
  | `opendevbrowser_select` | Select dropdown option by ref |
349
385
  | `opendevbrowser_scroll` | Scroll page or element |
350
386
  | `opendevbrowser_scroll_into_view` | Scroll element into view by ref |
387
+ | `opendevbrowser_upload` | Upload files to a file input or chooser by ref |
388
+ | `opendevbrowser_pointer_move` | Move the pointer to viewport coordinates |
389
+ | `opendevbrowser_pointer_down` | Press a mouse button at viewport coordinates |
390
+ | `opendevbrowser_pointer_up` | Release a mouse button at viewport coordinates |
391
+ | `opendevbrowser_pointer_drag` | Drag between viewport coordinates |
351
392
  | `opendevbrowser_run` | Execute multiple actions in sequence |
352
393
 
353
394
  ### DOM Inspection
@@ -368,9 +409,24 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
368
409
  | `opendevbrowser_network_poll` | Poll network requests since sequence |
369
410
  | `opendevbrowser_debug_trace_snapshot` | Capture a unified page + console + network + exception diagnostic bundle |
370
411
  | `opendevbrowser_screenshot` | Capture page screenshot |
412
+ | `opendevbrowser_screencast_start` | Start a browser replay screencast capture |
413
+ | `opendevbrowser_screencast_stop` | Stop a browser replay screencast capture and return artifact metadata |
414
+ | `opendevbrowser_dialog` | Inspect or handle a JavaScript dialog |
371
415
  | `opendevbrowser_perf` | Get page performance metrics |
372
416
  | `opendevbrowser_prompting_guide` | Get best-practice prompting guidance |
373
417
 
418
+ ### Desktop Observation
419
+ | Tool | Description |
420
+ |------|-------------|
421
+ | `opendevbrowser_desktop_status` | Inspect public read-only desktop observation availability |
422
+ | `opendevbrowser_desktop_windows` | List windows exposed by the public read-only desktop observation plane |
423
+ | `opendevbrowser_desktop_active_window` | Inspect the active window through the public read-only desktop observation plane |
424
+ | `opendevbrowser_desktop_capture_desktop` | Capture the current desktop surface through the public read-only desktop observation plane |
425
+ | `opendevbrowser_desktop_capture_window` | Capture a specific window through the public read-only desktop observation plane |
426
+ | `opendevbrowser_desktop_accessibility_snapshot` | Capture desktop accessibility state through the public read-only desktop observation plane |
427
+
428
+ Desktop observation currently ships as a public read-only macOS surface. Availability, window inventory, and accessibility snapshots rely on the local `swift` command, while screenshot capture uses the built-in `screencapture` utility. If `desktop-status` reports `desktop_unsupported` on macOS, install Xcode or a Swift toolchain and retry.
429
+
374
430
  ### Macro Workflows
375
431
  | Tool | Description |
376
432
  |------|-------------|
@@ -395,18 +451,19 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
395
451
  ### Skills
396
452
  | Tool | Description |
397
453
  |------|-------------|
398
- | `opendevbrowser_skill_list` | List available skills |
399
- | `opendevbrowser_skill_load` | Load a skill by name (with optional topic filter) |
454
+ | `opendevbrowser_skill_list` | List available skills before choosing a local workflow lane |
455
+ | `opendevbrowser_skill_load` | Load a skill by name and topic, especially the bundled quick start |
400
456
 
401
457
  ---
402
458
 
403
459
  ## Bundled Skills
404
460
 
405
- OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `research` and `shopping` compatibility directories that are synced by the installer:
461
+ OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
406
462
 
407
463
  | Skill | Purpose |
408
464
  |-------|---------|
409
465
  | `opendevbrowser-best-practices` | Core prompting patterns and workflow guidance |
466
+ | `opendevbrowser-design-agent` | Contract-first, research-backed frontend and `/canvas` design execution |
410
467
  | `opendevbrowser-continuity-ledger` | Long-running task state management |
411
468
  | `opendevbrowser-login-automation` | Authentication flow patterns |
412
469
  | `opendevbrowser-form-testing` | Form validation and submission workflows |
@@ -416,7 +473,9 @@ OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `r
416
473
  | `opendevbrowser-product-presentation-asset` | Product screenshot/copy asset collection for presentation pipelines |
417
474
 
418
475
  Installer note:
419
- - `--skills-global` and `--skills-local` copy every directory under `skills/`, including the shared `research/` and `shopping/` packs.
476
+ - `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
477
+ - Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
478
+ - Uninstall removes managed canonical packs and only prunes legacy `research` or `shopping` leftovers when those directories are empty and clearly obsolete.
420
479
 
421
480
  Skills are discovered from (priority order):
422
481
  1. `.opencode/skill/` (project)
@@ -428,8 +487,10 @@ Skills are discovered from (priority order):
428
487
  7. `.amp/skills/` (AmpCLI project compatibility)
429
488
  8. `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (AmpCLI global compatibility; fallback `~/.amp/skills`)
430
489
  9. Custom paths via `skillPaths` config
490
+ 10. Bundled package fallback: packaged `skills/` directory after `skillPaths` when no installed copy matches
431
491
 
432
492
  Load a skill: `opendevbrowser_skill_load` with `name` and optional `topic` filter.
493
+ `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, and `opendevbrowser_skill_load` are local onboarding helpers, so they do not require a browser session, relay, or daemon bootstrap.
433
494
 
434
495
  ---
435
496
 
@@ -447,7 +508,7 @@ Extension relay relies on **flat CDP sessions (Chrome 125+)** and uses DebuggerS
447
508
 
448
509
  Relay ops endpoint: `ws://127.0.0.1:<relayPort>/ops`.
449
510
  The connect command also accepts base relay WS URLs (`ws://127.0.0.1:<relayPort>` or `ws://localhost:<relayPort>`) and normalizes them to `/ops`.
450
- Relay canvas endpoint: `ws://127.0.0.1:<relayPort>/canvas` for design-canvas editor, session attach/lease flow, code-sync, preview, feedback, and overlay flows.
511
+ Relay canvas endpoint: `ws://127.0.0.1:<relayPort>/canvas` for design-canvas editor, session attach/lease flow, code-sync, preview, public feedback pull streams, and overlay flows.
451
512
  Legacy relay `/cdp` remains available with explicit opt-in (`--extension-legacy`).
452
513
  When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?token=<relayToken>`). Tools and the CLI auto-fetch relay config and tokens.
453
514
 
@@ -456,7 +517,7 @@ When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?
456
517
  | Channel | What It Does | When to Use It |
457
518
  |---------|---------------|----------------|
458
519
  | **`/ops` (default)** | High-level automation protocol with session ownership, event streaming, and multi-client handling | Preferred extension relay path for modern workflows |
459
- | **`/canvas`** | Typed design-canvas protocol for session handshakes/attach, live editor sync, TSX code sync, preview tabs, feedback streams, and overlay selection | Use with `opendevbrowser_canvas` or `opendevbrowser canvas` during design-canvas workflows |
520
+ | **`/canvas`** | Typed design-canvas protocol for session handshakes/attach, Figma document import, reusable inventory list/insert, built-in starter list/apply flows, framework-adapter-backed code sync, preview tabs, public feedback pull streams, and overlay selection | Use with `opendevbrowser_canvas` or `opendevbrowser canvas` during design-canvas workflows |
460
521
  | **`/cdp` (legacy)** | Low-level CDP relay path with compatibility-focused behavior | Opt-in compatibility mode (`--extension-legacy`) |
461
522
  | **Direct CDP connect** | Attach to Chrome started with `--remote-debugging-port` | Existing debug/browser setups without extension relay |
462
523
 
@@ -513,7 +574,7 @@ If the relay is unavailable, the background worker retries `/config` + `/pair` w
513
574
  - If `relayPort` is `0`, the relay is off.
514
575
  - `relayToken: false` disables relay/hub behavior entirely.
515
576
  - `relayToken: ""` (empty string) keeps relay enabled but disables pairing requirements.
516
- - Install auto-start with `npx opendevbrowser daemon install` so the relay is available on login.
577
+ - Install auto-start with `opendevbrowser daemon install` from a stable install location so the relay is available on login.
517
578
  - Clear extension local data and retry if the token/port seem stuck.
518
579
  - If another process owns the port, change `relayPort` or stop it; `opencode` listening is expected.
519
580
 
@@ -575,9 +636,25 @@ Optional config file: `~/.config/opencode/opendevbrowser.jsonc`
575
636
  "cookieSource": {
576
637
  "type": "file",
577
638
  "value": "~/.config/opencode/opendevbrowser.provider-cookies.json"
639
+ },
640
+ "challengeOrchestration": {
641
+ "mode": "browser_with_helper",
642
+ "optionalComputerUseBridge": {
643
+ "enabled": true
644
+ }
578
645
  }
579
646
  },
580
647
 
648
+ // Public read-only sibling desktop observation runtime (enabled by default; set "off" to opt out)
649
+ // On macOS, availability, window, and accessibility probes require the local swift command.
650
+ "desktop": {
651
+ "permissionLevel": "observe",
652
+ "commandTimeoutMs": 10000,
653
+ "auditArtifactsDir": ".opendevbrowser/desktop-runtime",
654
+ "accessibilityMaxDepth": 2,
655
+ "accessibilityMaxChildren": 25
656
+ },
657
+
581
658
  // Skills configuration
582
659
  "skills": {
583
660
  "nudge": {
@@ -618,10 +695,10 @@ All fields are optional. OpenDevBrowser works with sensible defaults.
618
695
 
619
696
  ## CLI Commands
620
697
 
621
- The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, targets, pages, export, devtools, annotate, and canvas).
698
+ The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, browser capture and replay, desktop observation, targets, pages, export, devtools, annotate, and canvas).
622
699
  All commands listed in the CLI reference are implemented and available in the current codebase.
623
700
  See [docs/CLI.md](docs/CLI.md) for the full command and flag matrix.
624
- See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accurate inventory matrix (CLI commands, 49 tools, `/ops`, `/canvas`, and `/cdp` channel contracts).
701
+ See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accurate inventory matrix (72 CLI commands, 65 tools, `/ops`, `/canvas`, and `/cdp` channel contracts).
625
702
 
626
703
  ### CLI Category Matrix (core command groups)
627
704
 
@@ -630,11 +707,13 @@ See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accura
630
707
  | Install/runtime | `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run` |
631
708
  | Session/connection | `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list` |
632
709
  | Navigation | `goto`, `wait`, `snapshot` |
633
- | Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view` |
710
+ | Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`, `upload`, `pointer-move`, `pointer-down`, `pointer-up`, `pointer-drag` |
634
711
  | Targets/pages | `targets-list`, `target-use`, `target-new`, `target-close`, `page`, `pages`, `page-close` |
635
712
  | DOM | `dom-html`, `dom-text`, `dom-attr`, `dom-value`, `dom-visible`, `dom-enabled`, `dom-checked` |
713
+ | Browser capture | `screenshot`, `screencast-start`, `screencast-stop` |
714
+ | Desktop observation | `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot` |
636
715
  | Design canvas | `canvas` |
637
- | Export/diagnostics/macro/annotation/power | `clone-page`, `clone-component`, `perf`, `screenshot`, `console-poll`, `network-poll`, `debug-trace-snapshot`, `macro-resolve`, `annotate`, `rpc` |
716
+ | Export/diagnostics/macro/annotation/power | `clone-page`, `clone-component`, `perf`, `dialog`, `console-poll`, `network-poll`, `debug-trace-snapshot`, `session-inspector`, `macro-resolve`, `annotate`, `rpc` |
638
717
 
639
718
  ### Install/Management
640
719
 
@@ -660,6 +739,7 @@ Start the daemon with `npx opendevbrowser serve`, then use:
660
739
  | `npx opendevbrowser connect` | Connect via relay or direct CDP endpoint |
661
740
  | `npx opendevbrowser disconnect` | Disconnect session |
662
741
  | `npx opendevbrowser status` | Show session status |
742
+ | `npx opendevbrowser session-inspector --session-id <id>` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
663
743
  | `npx opendevbrowser goto` | Navigate to URL |
664
744
  | `npx opendevbrowser wait` | Wait for load or element |
665
745
  | `npx opendevbrowser snapshot` | Capture snapshot with refs |
@@ -676,6 +756,14 @@ Workflow cookie controls (`research run`, `shopping run`, `product-video run`):
676
756
  - Per-run overrides: `--use-cookies`, `--cookie-policy-override` (alias `--cookie-policy`).
677
757
  - `auto` is non-blocking when cookies are unavailable; `required` fails fast with `reasonCode=auth_required`.
678
758
 
759
+ Workflow challenge controls (`research run`, `shopping run`, `product-video run`):
760
+ - Per-run override: `--challenge-automation-mode off|browser|browser_with_helper`, which maps to `challengeAutomationMode`.
761
+ - Effective precedence is `run > session > config`.
762
+ - `off` keeps detection and reporting active but stands down challenge actions.
763
+ - `browser` allows browser-native lanes only and keeps the helper bridge disabled.
764
+ - `browser_with_helper` keeps browser-native lanes first and evaluates the browser-scoped helper bridge second when hard gates pass.
765
+ - The helper bridge remains browser-scoped and is not a desktop agent.
766
+
679
767
  ---
680
768
 
681
769
  ## Security
@@ -712,6 +800,7 @@ Release checklist: [docs/DISTRIBUTION_PLAN.md](docs/DISTRIBUTION_PLAN.md)
712
800
  Documentation index: [docs/README.md](docs/README.md)
713
801
  Frontend docs: [docs/FRONTEND.md](docs/FRONTEND.md)
714
802
  Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
803
+ Local-only generated artifacts such as `prompt-exports/`, root `artifacts/`, `coverage/`, `CONTINUITY*.md`, and `sub_continuity.md` stay uncommitted; `.gitignore` is authoritative.
715
804
 
716
805
  ---
717
806
 
@@ -729,7 +818,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
729
818
  ▼ ▼ ▼ ▼
730
819
  ┌─────────────────────────────────────────────────────────────────┐
731
820
  │ Core Runtime (src/core/) │
732
- │ bootstrap.ts → wires managers, injects ToolDeps
821
+ │ bootstrap.ts → wires managers, sibling desktop runtime,
822
+ │ automation coordinator, injects ToolDeps │
733
823
  └────────┬────────────────────────────────────────────────────────┘
734
824
 
735
825
  ┌────┴────┬─────────────┬──────────────┬──────────────┬──────────────┐
@@ -746,6 +836,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
746
836
  └────────┘ └────────────┘
747
837
  ```
748
838
 
839
+ The simplified map above omits the dedicated Challenge Coordinator, Desktop Runtime, and Automation Coordinator that now sit beside the browser managers; see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full component map and ownership boundaries.
840
+
749
841
  ### Data Flow
750
842
 
751
843
  ```
@@ -768,22 +860,29 @@ Tool Call → Zod Validation → Manager/Runner → CDP/Playwright → Response
768
860
  ```
769
861
  .
770
862
  ├── src/ # Plugin implementation
771
- │ ├── browser/ # BrowserManager, TargetManager, CDP lifecycle
863
+ │ ├── annotate/ # Annotation transports + output shaping
864
+ │ ├── automation/ # Automation helpers and coordinator
865
+ │ ├── browser/ # Browser sessions, target orchestration, canvas preview/code-sync
772
866
  │ ├── cache/ # Chrome executable resolution
867
+ │ ├── canvas/ # Design-canvas document store, repo IO, code-sync, export helpers
868
+ │ ├── challenges/ # Bounded challenge orchestration plane, evidence, recovery lanes
773
869
  │ ├── cli/ # CLI commands, daemon, installers
774
870
  │ ├── core/ # Bootstrap, runtime wiring, ToolDeps
775
- │ ├── canvas/ # Design-canvas document store, repo IO, export helpers
871
+ │ ├── desktop/ # Read-only desktop observation runtime
776
872
  │ ├── devtools/ # Console/network trackers with redaction
777
873
  │ ├── export/ # DOM capture, React emitter, CSS extraction
874
+ │ ├── integrations/ # External integration adapters (Figma import, etc.)
875
+ │ ├── macros/ # Macro parsing, resolution, provider-action expansion
876
+ │ ├── providers/ # Provider runtime, policy, workflows, browser fallback
877
+ │ ├── public-surface/ # Generated manifest source, CLI/tool metadata
778
878
  │ ├── relay/ # Extension relay server, protocol types
779
879
  │ ├── skills/ # SkillLoader for skill pack discovery
780
880
  │ ├── snapshot/ # AX-tree snapshots, ref management
781
- │ ├── tools/ # 49 opendevbrowser_* tool definitions
782
- │ ├── annotate/ # Annotation transports + output shaping
881
+ │ ├── tools/ # 65 opendevbrowser_* tool definitions
783
882
  │ └── utils/ # Shared utilities
784
883
  ├── extension/ # Chrome extension (relay client)
785
884
  ├── scripts/ # Operational scripts (build/sync/smoke)
786
- ├── skills/ # Bundled skill directories (10 total; 8 canonical OpenDevBrowser packs + 2 shared compatibility packs)
885
+ ├── skills/ # Bundled skill directories (11 total; 9 canonical OpenDevBrowser packs + 2 shared compatibility packs)
787
886
  ├── tests/ # Vitest tests (97% coverage required)
788
887
  └── docs/ # Architecture, CLI, extension, distribution plans
789
888
  ```
@@ -820,8 +919,8 @@ Uniform versioning is required (source of truth: `package.json`):
820
919
  - `node scripts/chrome-store-compliance-check.mjs`
821
920
  - `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`
822
921
  8. Run strict live release gates:
823
- - `node scripts/provider-live-matrix.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-live-matrix.json`
824
- - `node scripts/live-regression-matrix.mjs --release-gate`
922
+ - `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json`
923
+ - `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json`
825
924
  9. Run first-time global install dry run checklist from `docs/FIRST_RUN_ONBOARDING.md`.
826
925
  10. Run: `npm run extension:pack` (outputs `./opendevbrowser-extension.zip`)
827
926
  11. Run: `npm pack`
@@ -0,0 +1,58 @@
1
+ import type { AgentInboxDeliveryState, AgentInboxReceipt, AnnotationDispatchSource, AnnotationPayload } from "../relay/protocol";
2
+ export type AgentInboxAssetRef = {
3
+ id: string;
4
+ kind: "screenshot";
5
+ label?: string | null;
6
+ metadata: Record<string, unknown>;
7
+ };
8
+ export type AgentInboxScopeRegistration = {
9
+ chatScopeKey: string;
10
+ updatedAt: string;
11
+ messageId?: string | null;
12
+ agent?: string | null;
13
+ model?: {
14
+ providerID: string;
15
+ modelID: string;
16
+ } | null;
17
+ variant?: string | null;
18
+ };
19
+ export type AgentInboxEntry = {
20
+ id: string;
21
+ worktree: string;
22
+ chatScopeKey: string | null;
23
+ source: AnnotationDispatchSource;
24
+ label: string;
25
+ createdAt: string;
26
+ deliveryState: AgentInboxDeliveryState;
27
+ payloadSansScreenshots: AnnotationPayload;
28
+ assetRefs: AgentInboxAssetRef[];
29
+ payloadHash: string;
30
+ itemCount: number;
31
+ byteLength: number;
32
+ receipt: AgentInboxReceipt;
33
+ };
34
+ type EnqueueInput = {
35
+ payload: AnnotationPayload;
36
+ source: AnnotationDispatchSource;
37
+ label: string;
38
+ explicitChatScopeKey?: string | null;
39
+ };
40
+ export declare class AgentInboxStore {
41
+ private readonly worktree;
42
+ private readonly now;
43
+ constructor(worktree: string, now?: () => number);
44
+ registerScope(chatScopeKey: string, registration?: Omit<AgentInboxScopeRegistration, "chatScopeKey" | "updatedAt">): AgentInboxScopeRegistration;
45
+ listActiveScopes(): AgentInboxScopeRegistration[];
46
+ enqueue(input: EnqueueInput): AgentInboxEntry;
47
+ peekScope(chatScopeKey: string): AgentInboxEntry[];
48
+ latestEntry(): AgentInboxEntry | null;
49
+ consume(receiptIds: string[]): void;
50
+ private resolveScope;
51
+ private readEntries;
52
+ private writeEntries;
53
+ private readScopes;
54
+ private writeScopes;
55
+ private ensureInboxDir;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=agent-inbox-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-inbox-store.d.ts","sourceRoot":"","sources":["../../src/annotate/agent-inbox-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAY3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,uBAAuB,CAAC;IACvC,sBAAsB,EAAE,iBAAiB,CAAC;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAMF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAOF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAyB;IAKlE,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,GAAG,WAAW,CAAM,GACjF,2BAA2B;IAmB9B,gBAAgB,IAAI,2BAA2B,EAAE;IAIjD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe;IAuD7C,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE;IAUlD,WAAW,IAAI,eAAe,GAAG,IAAI;IAKrC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAuBnC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;CAOvB"}