opendevbrowser 0.0.17 → 0.0.18

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 +171 -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-L57D35TB.js +33513 -0
  135. package/dist/chunk-L57D35TB.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 +2467 -1033
  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
 
@@ -78,7 +91,7 @@ opendevbrowser --version
78
91
 
79
92
  ### Pre-release Local Package (No npm publish required)
80
93
 
81
- Use this path to validate first-run onboarding before public distribution:
94
+ Use this flow to validate first-run local package onboarding before npm publish.
82
95
 
83
96
  ```bash
84
97
  cd <public-repo-root>
@@ -87,29 +100,16 @@ 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.18.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.
100
-
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`.
108
+ 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
109
 
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`)
110
+ 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
111
 
111
- Use `--skills-local` for project-local targets:
112
- - `./.opencode/skill`, `./.codex/skills`, `./.claude/skills`, `./.amp/skills`
112
+ 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
113
 
114
114
  ### CLI + Extension (No OpenCode)
115
115
 
@@ -142,6 +142,8 @@ Website build/data pipeline lives in the private repo:
142
142
 
143
143
  ### Agent Installation (OpenCode)
144
144
 
145
+ Use OpenCode only when you want native `opendevbrowser_*` tool calls; the CLI and extension workflows work without it.
146
+
145
147
  Recommended (CLI, installs plugin + config + bundled skills + extension assets):
146
148
 
147
149
  ```bash
@@ -176,9 +178,9 @@ OpenDevBrowser uses the same automation model across plugin tools and CLI comman
176
178
  ```
177
179
  1. Launch a browser session
178
180
  2. Navigate to a URL
179
- 3. Take a snapshot to get element refs
181
+ 3. Take a review to get target-aware actionables and refs
180
182
  4. Interact using refs (click, type, select)
181
- 5. Re-snapshot after navigation
183
+ 5. Re-review or re-snapshot after navigation
182
184
  ```
183
185
 
184
186
  Shipping checklist for first-time users (local-package install, daemon, extension, first task, multi-tab auth/cookies):
@@ -192,9 +194,10 @@ Parallel execution is target-scoped (`ExecutionKey = (sessionId,targetId)`): sam
192
194
  |------|------|---------|
193
195
  | 1 | `opendevbrowser_launch` | Launch a session (extension relay first; managed fallback is explicit) |
194
196
  | 2 | `opendevbrowser_goto` | Navigate to URL |
195
- | 3 | `opendevbrowser_snapshot` | Get page structure with refs |
197
+ | 3 | `opendevbrowser_review` | Inspect the active target and capture fresh actionables before acting |
196
198
  | 4 | `opendevbrowser_click` / `opendevbrowser_type` | Interact with elements |
197
- | 5 | `opendevbrowser_disconnect` | Clean up session |
199
+ | 5 | `opendevbrowser_snapshot` | Re-capture refs after navigation or DOM changes |
200
+ | 6 | `opendevbrowser_disconnect` | Clean up session |
198
201
 
199
202
  ---
200
203
 
@@ -207,7 +210,7 @@ Run a local daemon for persistent sessions, then drive automation via CLI comman
207
210
  npx opendevbrowser serve
208
211
 
209
212
  # Install auto-start (recommended for resilience)
210
- npx opendevbrowser daemon install
213
+ opendevbrowser daemon install
211
214
 
212
215
  # Stop/kill the daemon before restarting
213
216
  npx opendevbrowser serve --stop
@@ -215,8 +218,8 @@ npx opendevbrowser serve --stop
215
218
  # Launch a session
216
219
  npx opendevbrowser launch --start-url https://example.com
217
220
 
218
- # Capture a snapshot
219
- npx opendevbrowser snapshot --session-id <session-id>
221
+ # Review the active target and capture fresh refs
222
+ npx opendevbrowser review --session-id <session-id>
220
223
 
221
224
  # Interact by ref
222
225
  npx opendevbrowser click --session-id <session-id> --ref r12
@@ -224,6 +227,8 @@ npx opendevbrowser click --session-id <session-id> --ref r12
224
227
 
225
228
  `opendevbrowser serve` includes stale-daemon preflight cleanup by default, so orphan daemon processes are terminated automatically
226
229
  before startup while preserving the active daemon on the requested port.
230
+ If you are running from a temporary onboarding workspace, rerun `opendevbrowser daemon install` from a stable install location
231
+ before expecting auto-start to survive login.
227
232
 
228
233
  For single-shot scripts:
229
234
 
@@ -233,20 +238,43 @@ npx opendevbrowser run --script ./script.json --output-format json
233
238
 
234
239
  Use `--output-format json|stream-json` for automation-friendly output.
235
240
 
241
+ ### Help-Led Discovery
242
+
243
+ 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:
244
+
245
+ - `screencast / browser replay`: `screencast-start`, `screencast-stop`
246
+ - `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
247
+ - `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`; `review` and `session-inspector` remain the quickest proof surfaces, and the optional helper stays browser-scoped rather than becoming a desktop agent
248
+
249
+ ## Challenge Handling Boundary
250
+
251
+ - `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`.
252
+ - 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.
253
+ - 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.
254
+ - 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.
255
+ - 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.
256
+ - 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`.
257
+ - `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()`.
258
+ - 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.
259
+ - Out of scope: hidden bypasses, CAPTCHA-solving services, token harvesting, or autonomous unsandboxed solving of third-party anti-bot systems.
260
+
236
261
  ---
237
262
 
238
263
  ## Recent Features
239
264
 
240
- ### v0.0.17 (Latest)
265
+ ### v0.0.18 (Latest)
241
266
 
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.
267
+ - **Canvas and workflow surfaces are materially stronger after `v0.0.17`**: adapter-plugin validation, starter or inventory lanes, framework-adapter code sync, review/session-inspector flows, and direct-run release probes all landed on `main`.
268
+ - **Generated public-surface manifests and onboarding metadata now drive help, docs parity, release evidence, and mirrored website inputs** instead of leaving those surfaces hand-maintained.
269
+ - **Challenge automation and browser-scoped computer-use controls are tighter** with explicit `challengeAutomationMode` precedence and a clearer browser-only helper boundary.
270
+ - **Browser replay screencasts and public desktop observation now ship on the active public surface** with manager-owned replay artifacts, dedicated desktop permission or audit coverage, and no desktop agent claim.
271
+ - **Public read-only desktop observation now ships as a sibling runtime** with dedicated permission and audit coverage while staying outside the public relay or `/ops` plane.
272
+ - **Release and distribution operations were refreshed for `v0.0.18`** across GitHub release assets, npm packaging, Chrome Web Store prep, regenerated live store assets, and private website sync inputs.
245
273
 
246
274
  ### v0.0.16
247
275
 
248
276
  - **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).
277
+ - **Live direct-run release gates** across provider-by-provider and scenario-by-scenario scripts with explicit artifacts instead of broad matrix evidence.
250
278
  - **CLI/runtime reliability fixes** including launch RPC timeout derivation from wait hints, bounded macro execute timeouts, and stale extension `/cdp` attach retry handling.
251
279
  - **Version/distribution integrity checks** now enforce parity across `package.json`, `extension/manifest.json`, and `extension/package.json`.
252
280
  - **Dependency and docs refresh** for v0.0.16 release readiness, onboarding parity, and public/private distribution operations.
@@ -280,6 +308,7 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
280
308
  - **Click** - Click elements by ref
281
309
  - **Type** - Enter text into inputs
282
310
  - **Select** - Choose dropdown options
311
+ - **Upload** - Send files to a file input or chooser by ref
283
312
  - **Scroll** - Scroll page or elements
284
313
  - **Wait** - Wait for selectors or navigation
285
314
 
@@ -287,12 +316,14 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
287
316
  - **Console Capture** - Monitor console.log, errors, warnings
288
317
  - **Network Tracking** - Request/response metadata (method, url, status)
289
318
  - **Debug Trace Snapshot** - Combined page/console/network/exception diagnostics with blocker metadata
290
- - **Screenshot** - Viewport PNG screenshot (file or base64)
319
+ - **Screenshot** - Visible, ref-targeted, or full-page PNG capture (file or base64)
320
+ - **Dialog** - Inspect or handle JavaScript dialogs per target
291
321
  - **Performance** - Page load metrics
292
322
 
293
323
  ### Session & Macro Utilities
294
324
  - **Cookie Import** - Validate and import cookies into active sessions
295
325
  - **Cookie List** - First-class cookie inspection with optional URL filters
326
+ - **Session Inspector** - Session-first diagnostics with relay health, trace proof, and a suggested next action
296
327
  - **Macro Resolve/Execute** - Expand macro expressions into provider actions with optional execution
297
328
 
298
329
  ### Export & Clone
@@ -304,9 +335,11 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
304
335
 
305
336
  ## Tool Reference
306
337
 
307
- OpenDevBrowser provides **49 tools** organized by category:
338
+ OpenDevBrowser provides **65 tools** organized by category:
308
339
  Most runtime actions also have CLI command equivalents (see [docs/CLI.md](docs/CLI.md)).
309
340
  Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`): [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md).
341
+ 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.
342
+ 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
343
 
311
344
  ### Session Management
312
345
  | Tool | Description |
@@ -317,6 +350,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
317
350
  | `opendevbrowser_status` | Get session status and connection info (daemon status in hub mode) |
318
351
  | `opendevbrowser_cookie_import` | Import validated cookies into the current session |
319
352
  | `opendevbrowser_cookie_list` | List session cookies with optional URL filters |
353
+ | `opendevbrowser_session_inspector` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
320
354
 
321
355
  ### Tab/Target Management
322
356
  | Tool | Description |
@@ -339,6 +373,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
339
373
  | `opendevbrowser_goto` | Navigate to URL |
340
374
  | `opendevbrowser_wait` | Wait for load state or element |
341
375
  | `opendevbrowser_snapshot` | Capture page accessibility tree with refs |
376
+ | `opendevbrowser_review` | Capture target-aware actionables plus status context before acting |
342
377
  | `opendevbrowser_click` | Click element by ref |
343
378
  | `opendevbrowser_hover` | Hover element by ref |
344
379
  | `opendevbrowser_press` | Press a keyboard key (optionally focusing a ref) |
@@ -348,6 +383,11 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
348
383
  | `opendevbrowser_select` | Select dropdown option by ref |
349
384
  | `opendevbrowser_scroll` | Scroll page or element |
350
385
  | `opendevbrowser_scroll_into_view` | Scroll element into view by ref |
386
+ | `opendevbrowser_upload` | Upload files to a file input or chooser by ref |
387
+ | `opendevbrowser_pointer_move` | Move the pointer to viewport coordinates |
388
+ | `opendevbrowser_pointer_down` | Press a mouse button at viewport coordinates |
389
+ | `opendevbrowser_pointer_up` | Release a mouse button at viewport coordinates |
390
+ | `opendevbrowser_pointer_drag` | Drag between viewport coordinates |
351
391
  | `opendevbrowser_run` | Execute multiple actions in sequence |
352
392
 
353
393
  ### DOM Inspection
@@ -368,9 +408,24 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
368
408
  | `opendevbrowser_network_poll` | Poll network requests since sequence |
369
409
  | `opendevbrowser_debug_trace_snapshot` | Capture a unified page + console + network + exception diagnostic bundle |
370
410
  | `opendevbrowser_screenshot` | Capture page screenshot |
411
+ | `opendevbrowser_screencast_start` | Start a browser replay screencast capture |
412
+ | `opendevbrowser_screencast_stop` | Stop a browser replay screencast capture and return artifact metadata |
413
+ | `opendevbrowser_dialog` | Inspect or handle a JavaScript dialog |
371
414
  | `opendevbrowser_perf` | Get page performance metrics |
372
415
  | `opendevbrowser_prompting_guide` | Get best-practice prompting guidance |
373
416
 
417
+ ### Desktop Observation
418
+ | Tool | Description |
419
+ |------|-------------|
420
+ | `opendevbrowser_desktop_status` | Inspect public read-only desktop observation availability |
421
+ | `opendevbrowser_desktop_windows` | List windows exposed by the public read-only desktop observation plane |
422
+ | `opendevbrowser_desktop_active_window` | Inspect the active window through the public read-only desktop observation plane |
423
+ | `opendevbrowser_desktop_capture_desktop` | Capture the current desktop surface through the public read-only desktop observation plane |
424
+ | `opendevbrowser_desktop_capture_window` | Capture a specific window through the public read-only desktop observation plane |
425
+ | `opendevbrowser_desktop_accessibility_snapshot` | Capture desktop accessibility state through the public read-only desktop observation plane |
426
+
427
+ 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.
428
+
374
429
  ### Macro Workflows
375
430
  | Tool | Description |
376
431
  |------|-------------|
@@ -395,18 +450,19 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
395
450
  ### Skills
396
451
  | Tool | Description |
397
452
  |------|-------------|
398
- | `opendevbrowser_skill_list` | List available skills |
399
- | `opendevbrowser_skill_load` | Load a skill by name (with optional topic filter) |
453
+ | `opendevbrowser_skill_list` | List available skills before choosing a local workflow lane |
454
+ | `opendevbrowser_skill_load` | Load a skill by name and topic, especially the bundled quick start |
400
455
 
401
456
  ---
402
457
 
403
458
  ## Bundled Skills
404
459
 
405
- OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `research` and `shopping` compatibility directories that are synced by the installer:
460
+ OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
406
461
 
407
462
  | Skill | Purpose |
408
463
  |-------|---------|
409
464
  | `opendevbrowser-best-practices` | Core prompting patterns and workflow guidance |
465
+ | `opendevbrowser-design-agent` | Contract-first, research-backed frontend and `/canvas` design execution |
410
466
  | `opendevbrowser-continuity-ledger` | Long-running task state management |
411
467
  | `opendevbrowser-login-automation` | Authentication flow patterns |
412
468
  | `opendevbrowser-form-testing` | Form validation and submission workflows |
@@ -416,7 +472,9 @@ OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `r
416
472
  | `opendevbrowser-product-presentation-asset` | Product screenshot/copy asset collection for presentation pipelines |
417
473
 
418
474
  Installer note:
419
- - `--skills-global` and `--skills-local` copy every directory under `skills/`, including the shared `research/` and `shopping/` packs.
475
+ - `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
476
+ - Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
477
+ - Uninstall removes managed canonical packs and only prunes legacy `research` or `shopping` leftovers when those directories are empty and clearly obsolete.
420
478
 
421
479
  Skills are discovered from (priority order):
422
480
  1. `.opencode/skill/` (project)
@@ -428,8 +486,10 @@ Skills are discovered from (priority order):
428
486
  7. `.amp/skills/` (AmpCLI project compatibility)
429
487
  8. `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (AmpCLI global compatibility; fallback `~/.amp/skills`)
430
488
  9. Custom paths via `skillPaths` config
489
+ 10. Bundled package fallback: packaged `skills/` directory after `skillPaths` when no installed copy matches
431
490
 
432
491
  Load a skill: `opendevbrowser_skill_load` with `name` and optional `topic` filter.
492
+ `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
493
 
434
494
  ---
435
495
 
@@ -447,7 +507,7 @@ Extension relay relies on **flat CDP sessions (Chrome 125+)** and uses DebuggerS
447
507
 
448
508
  Relay ops endpoint: `ws://127.0.0.1:<relayPort>/ops`.
449
509
  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.
510
+ 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
511
  Legacy relay `/cdp` remains available with explicit opt-in (`--extension-legacy`).
452
512
  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
513
 
@@ -456,7 +516,7 @@ When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?
456
516
  | Channel | What It Does | When to Use It |
457
517
  |---------|---------------|----------------|
458
518
  | **`/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 |
519
+ | **`/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
520
  | **`/cdp` (legacy)** | Low-level CDP relay path with compatibility-focused behavior | Opt-in compatibility mode (`--extension-legacy`) |
461
521
  | **Direct CDP connect** | Attach to Chrome started with `--remote-debugging-port` | Existing debug/browser setups without extension relay |
462
522
 
@@ -513,7 +573,7 @@ If the relay is unavailable, the background worker retries `/config` + `/pair` w
513
573
  - If `relayPort` is `0`, the relay is off.
514
574
  - `relayToken: false` disables relay/hub behavior entirely.
515
575
  - `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.
576
+ - Install auto-start with `opendevbrowser daemon install` from a stable install location so the relay is available on login.
517
577
  - Clear extension local data and retry if the token/port seem stuck.
518
578
  - If another process owns the port, change `relayPort` or stop it; `opencode` listening is expected.
519
579
 
@@ -575,9 +635,25 @@ Optional config file: `~/.config/opencode/opendevbrowser.jsonc`
575
635
  "cookieSource": {
576
636
  "type": "file",
577
637
  "value": "~/.config/opencode/opendevbrowser.provider-cookies.json"
638
+ },
639
+ "challengeOrchestration": {
640
+ "mode": "browser_with_helper",
641
+ "optionalComputerUseBridge": {
642
+ "enabled": true
643
+ }
578
644
  }
579
645
  },
580
646
 
647
+ // Public read-only sibling desktop observation runtime (enabled by default; set "off" to opt out)
648
+ // On macOS, availability, window, and accessibility probes require the local swift command.
649
+ "desktop": {
650
+ "permissionLevel": "observe",
651
+ "commandTimeoutMs": 10000,
652
+ "auditArtifactsDir": ".opendevbrowser/desktop-runtime",
653
+ "accessibilityMaxDepth": 2,
654
+ "accessibilityMaxChildren": 25
655
+ },
656
+
581
657
  // Skills configuration
582
658
  "skills": {
583
659
  "nudge": {
@@ -618,10 +694,10 @@ All fields are optional. OpenDevBrowser works with sensible defaults.
618
694
 
619
695
  ## CLI Commands
620
696
 
621
- The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, targets, pages, export, devtools, annotate, and canvas).
697
+ 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
698
  All commands listed in the CLI reference are implemented and available in the current codebase.
623
699
  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).
700
+ 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
701
 
626
702
  ### CLI Category Matrix (core command groups)
627
703
 
@@ -630,11 +706,13 @@ See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accura
630
706
  | Install/runtime | `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run` |
631
707
  | Session/connection | `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list` |
632
708
  | Navigation | `goto`, `wait`, `snapshot` |
633
- | Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view` |
709
+ | Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`, `upload`, `pointer-move`, `pointer-down`, `pointer-up`, `pointer-drag` |
634
710
  | Targets/pages | `targets-list`, `target-use`, `target-new`, `target-close`, `page`, `pages`, `page-close` |
635
711
  | DOM | `dom-html`, `dom-text`, `dom-attr`, `dom-value`, `dom-visible`, `dom-enabled`, `dom-checked` |
712
+ | Browser capture | `screenshot`, `screencast-start`, `screencast-stop` |
713
+ | Desktop observation | `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot` |
636
714
  | 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` |
715
+ | 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
716
 
639
717
  ### Install/Management
640
718
 
@@ -660,6 +738,7 @@ Start the daemon with `npx opendevbrowser serve`, then use:
660
738
  | `npx opendevbrowser connect` | Connect via relay or direct CDP endpoint |
661
739
  | `npx opendevbrowser disconnect` | Disconnect session |
662
740
  | `npx opendevbrowser status` | Show session status |
741
+ | `npx opendevbrowser session-inspector --session-id <id>` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
663
742
  | `npx opendevbrowser goto` | Navigate to URL |
664
743
  | `npx opendevbrowser wait` | Wait for load or element |
665
744
  | `npx opendevbrowser snapshot` | Capture snapshot with refs |
@@ -676,6 +755,14 @@ Workflow cookie controls (`research run`, `shopping run`, `product-video run`):
676
755
  - Per-run overrides: `--use-cookies`, `--cookie-policy-override` (alias `--cookie-policy`).
677
756
  - `auto` is non-blocking when cookies are unavailable; `required` fails fast with `reasonCode=auth_required`.
678
757
 
758
+ Workflow challenge controls (`research run`, `shopping run`, `product-video run`):
759
+ - Per-run override: `--challenge-automation-mode off|browser|browser_with_helper`, which maps to `challengeAutomationMode`.
760
+ - Effective precedence is `run > session > config`.
761
+ - `off` keeps detection and reporting active but stands down challenge actions.
762
+ - `browser` allows browser-native lanes only and keeps the helper bridge disabled.
763
+ - `browser_with_helper` keeps browser-native lanes first and evaluates the browser-scoped helper bridge second when hard gates pass.
764
+ - The helper bridge remains browser-scoped and is not a desktop agent.
765
+
679
766
  ---
680
767
 
681
768
  ## Security
@@ -712,6 +799,7 @@ Release checklist: [docs/DISTRIBUTION_PLAN.md](docs/DISTRIBUTION_PLAN.md)
712
799
  Documentation index: [docs/README.md](docs/README.md)
713
800
  Frontend docs: [docs/FRONTEND.md](docs/FRONTEND.md)
714
801
  Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
802
+ Local-only generated artifacts such as `prompt-exports/`, root `artifacts/`, `coverage/`, `CONTINUITY*.md`, and `sub_continuity.md` stay uncommitted; `.gitignore` is authoritative.
715
803
 
716
804
  ---
717
805
 
@@ -729,7 +817,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
729
817
  ▼ ▼ ▼ ▼
730
818
  ┌─────────────────────────────────────────────────────────────────┐
731
819
  │ Core Runtime (src/core/) │
732
- │ bootstrap.ts → wires managers, injects ToolDeps
820
+ │ bootstrap.ts → wires managers, sibling desktop runtime,
821
+ │ automation coordinator, injects ToolDeps │
733
822
  └────────┬────────────────────────────────────────────────────────┘
734
823
 
735
824
  ┌────┴────┬─────────────┬──────────────┬──────────────┬──────────────┐
@@ -746,6 +835,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
746
835
  └────────┘ └────────────┘
747
836
  ```
748
837
 
838
+ 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.
839
+
749
840
  ### Data Flow
750
841
 
751
842
  ```
@@ -768,22 +859,29 @@ Tool Call → Zod Validation → Manager/Runner → CDP/Playwright → Response
768
859
  ```
769
860
  .
770
861
  ├── src/ # Plugin implementation
771
- │ ├── browser/ # BrowserManager, TargetManager, CDP lifecycle
862
+ │ ├── annotate/ # Annotation transports + output shaping
863
+ │ ├── automation/ # Automation helpers and coordinator
864
+ │ ├── browser/ # Browser sessions, target orchestration, canvas preview/code-sync
772
865
  │ ├── cache/ # Chrome executable resolution
866
+ │ ├── canvas/ # Design-canvas document store, repo IO, code-sync, export helpers
867
+ │ ├── challenges/ # Bounded challenge orchestration plane, evidence, recovery lanes
773
868
  │ ├── cli/ # CLI commands, daemon, installers
774
869
  │ ├── core/ # Bootstrap, runtime wiring, ToolDeps
775
- │ ├── canvas/ # Design-canvas document store, repo IO, export helpers
870
+ │ ├── desktop/ # Read-only desktop observation runtime
776
871
  │ ├── devtools/ # Console/network trackers with redaction
777
872
  │ ├── export/ # DOM capture, React emitter, CSS extraction
873
+ │ ├── integrations/ # External integration adapters (Figma import, etc.)
874
+ │ ├── macros/ # Macro parsing, resolution, provider-action expansion
875
+ │ ├── providers/ # Provider runtime, policy, workflows, browser fallback
876
+ │ ├── public-surface/ # Generated manifest source, CLI/tool metadata
778
877
  │ ├── relay/ # Extension relay server, protocol types
779
878
  │ ├── skills/ # SkillLoader for skill pack discovery
780
879
  │ ├── snapshot/ # AX-tree snapshots, ref management
781
- │ ├── tools/ # 49 opendevbrowser_* tool definitions
782
- │ ├── annotate/ # Annotation transports + output shaping
880
+ │ ├── tools/ # 65 opendevbrowser_* tool definitions
783
881
  │ └── utils/ # Shared utilities
784
882
  ├── extension/ # Chrome extension (relay client)
785
883
  ├── scripts/ # Operational scripts (build/sync/smoke)
786
- ├── skills/ # Bundled skill directories (10 total; 8 canonical OpenDevBrowser packs + 2 shared compatibility packs)
884
+ ├── skills/ # Bundled skill directories (11 total; 9 canonical OpenDevBrowser packs + 2 shared compatibility packs)
787
885
  ├── tests/ # Vitest tests (97% coverage required)
788
886
  └── docs/ # Architecture, CLI, extension, distribution plans
789
887
  ```
@@ -820,8 +918,8 @@ Uniform versioning is required (source of truth: `package.json`):
820
918
  - `node scripts/chrome-store-compliance-check.mjs`
821
919
  - `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`
822
920
  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`
921
+ - `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json`
922
+ - `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json`
825
923
  9. Run first-time global install dry run checklist from `docs/FIRST_RUN_ONBOARDING.md`.
826
924
  10. Run: `npm run extension:pack` (outputs `./opendevbrowser-extension.zip`)
827
925
  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"}
@@ -0,0 +1,25 @@
1
+ import type { AgentInboxReceipt, AnnotationDispatchSource, AnnotationPayload } from "../relay/protocol";
2
+ import type { AgentInboxEntry, AgentInboxScopeRegistration } from "./agent-inbox-store";
3
+ export declare const AGENT_INBOX_SYSTEM_MARKER = "[opendevbrowser-agent-inbox]";
4
+ export type AgentInboxSystemInjection = {
5
+ systemBlock: string;
6
+ receiptIds: string[];
7
+ };
8
+ export declare class AgentInbox {
9
+ private readonly store;
10
+ constructor(worktree: string, now?: () => number);
11
+ registerScope(chatScopeKey: string, registration?: Omit<AgentInboxScopeRegistration, "chatScopeKey" | "updatedAt">): AgentInboxScopeRegistration;
12
+ listActiveScopes(): AgentInboxScopeRegistration[];
13
+ enqueue(input: {
14
+ payload: AnnotationPayload;
15
+ source: AnnotationDispatchSource;
16
+ label: string;
17
+ explicitChatScopeKey?: string | null;
18
+ }): AgentInboxReceipt;
19
+ peekScope(chatScopeKey: string): AgentInboxEntry[];
20
+ consumeScope(chatScopeKey: string): AgentInboxEntry[];
21
+ acknowledge(receiptIds: string[]): void;
22
+ latestPayload(): AnnotationPayload | null;
23
+ buildSystemInjection(chatScopeKey: string): AgentInboxSystemInjection | null;
24
+ }
25
+ //# sourceMappingURL=agent-inbox.d.ts.map