opendevbrowser 0.0.16 → 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 (616) hide show
  1. package/README.md +201 -79
  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 +7 -1
  12. package/dist/browser/annotation-manager.d.ts.map +1 -1
  13. package/dist/browser/browser-manager.d.ts +153 -48
  14. package/dist/browser/browser-manager.d.ts.map +1 -1
  15. package/dist/browser/canvas-client.d.ts +54 -0
  16. package/dist/browser/canvas-client.d.ts.map +1 -0
  17. package/dist/browser/canvas-code-sync-manager.d.ts +87 -0
  18. package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -0
  19. package/dist/browser/canvas-manager.d.ts +122 -0
  20. package/dist/browser/canvas-manager.d.ts.map +1 -0
  21. package/dist/browser/canvas-runtime-preview-bridge.d.ts +20 -0
  22. package/dist/browser/canvas-runtime-preview-bridge.d.ts.map +1 -0
  23. package/dist/browser/canvas-session-sync-manager.d.ts +21 -0
  24. package/dist/browser/canvas-session-sync-manager.d.ts.map +1 -0
  25. package/dist/browser/global-challenge-coordinator.d.ts +27 -0
  26. package/dist/browser/global-challenge-coordinator.d.ts.map +1 -0
  27. package/dist/browser/manager-types.d.ts +179 -1
  28. package/dist/browser/manager-types.d.ts.map +1 -1
  29. package/dist/browser/ops-browser-manager.d.ts +114 -4
  30. package/dist/browser/ops-browser-manager.d.ts.map +1 -1
  31. package/dist/browser/ops-client.d.ts +17 -1
  32. package/dist/browser/ops-client.d.ts.map +1 -1
  33. package/dist/browser/playwright-runtime.d.ts +4 -0
  34. package/dist/browser/playwright-runtime.d.ts.map +1 -0
  35. package/dist/browser/review-surface.d.ts +9 -0
  36. package/dist/browser/review-surface.d.ts.map +1 -0
  37. package/dist/browser/screencast-recorder.d.ts +57 -0
  38. package/dist/browser/screencast-recorder.d.ts.map +1 -0
  39. package/dist/browser/session-inspector.d.ts +71 -0
  40. package/dist/browser/session-inspector.d.ts.map +1 -0
  41. package/dist/browser/session-store.d.ts +5 -1
  42. package/dist/browser/session-store.d.ts.map +1 -1
  43. package/dist/browser/system-chrome-cookies.d.ts +46 -0
  44. package/dist/browser/system-chrome-cookies.d.ts.map +1 -0
  45. package/dist/browser/target-manager.d.ts +1 -0
  46. package/dist/browser/target-manager.d.ts.map +1 -1
  47. package/dist/cache/chrome-locator.d.ts.map +1 -1
  48. package/dist/cache/chrome-user-data.d.ts +17 -0
  49. package/dist/cache/chrome-user-data.d.ts.map +1 -0
  50. package/dist/canvas/adapter-plugins/loader.d.ts +13 -0
  51. package/dist/canvas/adapter-plugins/loader.d.ts.map +1 -0
  52. package/dist/canvas/adapter-plugins/manifest.d.ts +146 -0
  53. package/dist/canvas/adapter-plugins/manifest.d.ts.map +1 -0
  54. package/dist/canvas/adapter-plugins/types.d.ts +83 -0
  55. package/dist/canvas/adapter-plugins/types.d.ts.map +1 -0
  56. package/dist/canvas/adapter-plugins/validator.d.ts +10 -0
  57. package/dist/canvas/adapter-plugins/validator.d.ts.map +1 -0
  58. package/dist/canvas/code-sync/apply-tsx.d.ts +25 -0
  59. package/dist/canvas/code-sync/apply-tsx.d.ts.map +1 -0
  60. package/dist/canvas/code-sync/graph.d.ts +5 -0
  61. package/dist/canvas/code-sync/graph.d.ts.map +1 -0
  62. package/dist/canvas/code-sync/hash.d.ts +3 -0
  63. package/dist/canvas/code-sync/hash.d.ts.map +1 -0
  64. package/dist/canvas/code-sync/import.d.ts +19 -0
  65. package/dist/canvas/code-sync/import.d.ts.map +1 -0
  66. package/dist/canvas/code-sync/manifest.d.ts +6 -0
  67. package/dist/canvas/code-sync/manifest.d.ts.map +1 -0
  68. package/dist/canvas/code-sync/tsx-adapter.d.ts +8 -0
  69. package/dist/canvas/code-sync/tsx-adapter.d.ts.map +1 -0
  70. package/dist/canvas/code-sync/types.d.ts +244 -0
  71. package/dist/canvas/code-sync/types.d.ts.map +1 -0
  72. package/dist/canvas/code-sync/write.d.ts +9 -0
  73. package/dist/canvas/code-sync/write.d.ts.map +1 -0
  74. package/dist/canvas/document-store.d.ts +91 -0
  75. package/dist/canvas/document-store.d.ts.map +1 -0
  76. package/dist/canvas/export.d.ts +12 -0
  77. package/dist/canvas/export.d.ts.map +1 -0
  78. package/dist/canvas/framework-adapters/custom-elements-v1.d.ts +3 -0
  79. package/dist/canvas/framework-adapters/custom-elements-v1.d.ts.map +1 -0
  80. package/dist/canvas/framework-adapters/html-static-v1.d.ts +3 -0
  81. package/dist/canvas/framework-adapters/html-static-v1.d.ts.map +1 -0
  82. package/dist/canvas/framework-adapters/markup.d.ts +9 -0
  83. package/dist/canvas/framework-adapters/markup.d.ts.map +1 -0
  84. package/dist/canvas/framework-adapters/react-tsx-v2.d.ts +3 -0
  85. package/dist/canvas/framework-adapters/react-tsx-v2.d.ts.map +1 -0
  86. package/dist/canvas/framework-adapters/registry.d.ts +12 -0
  87. package/dist/canvas/framework-adapters/registry.d.ts.map +1 -0
  88. package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts +3 -0
  89. package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts.map +1 -0
  90. package/dist/canvas/framework-adapters/types.d.ts +57 -0
  91. package/dist/canvas/framework-adapters/types.d.ts.map +1 -0
  92. package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts +3 -0
  93. package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts.map +1 -0
  94. package/dist/canvas/kits/catalog.d.ts +5 -0
  95. package/dist/canvas/kits/catalog.d.ts.map +1 -0
  96. package/dist/canvas/library-adapters/react/index.d.ts +3 -0
  97. package/dist/canvas/library-adapters/react/index.d.ts.map +1 -0
  98. package/dist/canvas/library-adapters/registry.d.ts +11 -0
  99. package/dist/canvas/library-adapters/registry.d.ts.map +1 -0
  100. package/dist/canvas/library-adapters/types.d.ts +43 -0
  101. package/dist/canvas/library-adapters/types.d.ts.map +1 -0
  102. package/dist/canvas/repo-store.d.ts +12 -0
  103. package/dist/canvas/repo-store.d.ts.map +1 -0
  104. package/dist/canvas/starters/catalog.d.ts +34 -0
  105. package/dist/canvas/starters/catalog.d.ts.map +1 -0
  106. package/dist/canvas/surface-palette.d.ts +15 -0
  107. package/dist/canvas/surface-palette.d.ts.map +1 -0
  108. package/dist/canvas/token-references.d.ts +22 -0
  109. package/dist/canvas/token-references.d.ts.map +1 -0
  110. package/dist/canvas/types.d.ts +594 -0
  111. package/dist/canvas/types.d.ts.map +1 -0
  112. package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js +7 -0
  113. package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js.map +1 -0
  114. package/dist/challenges/action-loop.d.ts +13 -0
  115. package/dist/challenges/action-loop.d.ts.map +1 -0
  116. package/dist/challenges/capability-matrix.d.ts +3 -0
  117. package/dist/challenges/capability-matrix.d.ts.map +1 -0
  118. package/dist/challenges/evidence-bundle.d.ts +48 -0
  119. package/dist/challenges/evidence-bundle.d.ts.map +1 -0
  120. package/dist/challenges/governed-adapter-gateway.d.ts +4 -0
  121. package/dist/challenges/governed-adapter-gateway.d.ts.map +1 -0
  122. package/dist/challenges/human-yield-gate.d.ts +20 -0
  123. package/dist/challenges/human-yield-gate.d.ts.map +1 -0
  124. package/dist/challenges/index.d.ts +15 -0
  125. package/dist/challenges/index.d.ts.map +1 -0
  126. package/dist/challenges/interpreter.d.ts +3 -0
  127. package/dist/challenges/interpreter.d.ts.map +1 -0
  128. package/dist/challenges/optional-computer-use-bridge.d.ts +9 -0
  129. package/dist/challenges/optional-computer-use-bridge.d.ts.map +1 -0
  130. package/dist/challenges/orchestrator.d.ts +32 -0
  131. package/dist/challenges/orchestrator.d.ts.map +1 -0
  132. package/dist/challenges/outcome-recorder.d.ts +8 -0
  133. package/dist/challenges/outcome-recorder.d.ts.map +1 -0
  134. package/dist/challenges/owned-environment-lane.d.ts +3 -0
  135. package/dist/challenges/owned-environment-lane.d.ts.map +1 -0
  136. package/dist/challenges/policy-gate.d.ts +9 -0
  137. package/dist/challenges/policy-gate.d.ts.map +1 -0
  138. package/dist/challenges/sanctioned-identity-lane.d.ts +3 -0
  139. package/dist/challenges/sanctioned-identity-lane.d.ts.map +1 -0
  140. package/dist/challenges/service-adapter-lane.d.ts +3 -0
  141. package/dist/challenges/service-adapter-lane.d.ts.map +1 -0
  142. package/dist/challenges/strategy-selector.d.ts +10 -0
  143. package/dist/challenges/strategy-selector.d.ts.map +1 -0
  144. package/dist/challenges/types.d.ts +277 -0
  145. package/dist/challenges/types.d.ts.map +1 -0
  146. package/dist/challenges/verification-gate.d.ts +15 -0
  147. package/dist/challenges/verification-gate.d.ts.map +1 -0
  148. package/dist/chunk-5FZQJRBQ.js +15256 -0
  149. package/dist/chunk-5FZQJRBQ.js.map +1 -0
  150. package/dist/{chunk-7W3SPXIB.js → chunk-FUSXMW3G.js} +4 -1
  151. package/dist/chunk-L57D35TB.js +33513 -0
  152. package/dist/chunk-L57D35TB.js.map +1 -0
  153. package/dist/chunk-TBUCZX4A.js +34 -0
  154. package/dist/chunk-TBUCZX4A.js.map +1 -0
  155. package/dist/chunk-Y2KL55OG.js +59 -0
  156. package/dist/chunk-Y2KL55OG.js.map +1 -0
  157. package/dist/chunk-YBQECXZX.js +409 -0
  158. package/dist/chunk-YBQECXZX.js.map +1 -0
  159. package/dist/cli/args.d.ts +4 -4
  160. package/dist/cli/args.d.ts.map +1 -1
  161. package/dist/cli/commands/annotate.d.ts +11 -0
  162. package/dist/cli/commands/annotate.d.ts.map +1 -1
  163. package/dist/cli/commands/artifacts.d.ts.map +1 -1
  164. package/dist/cli/commands/canvas.d.ts +45 -0
  165. package/dist/cli/commands/canvas.d.ts.map +1 -0
  166. package/dist/cli/commands/daemon.d.ts +7 -0
  167. package/dist/cli/commands/daemon.d.ts.map +1 -1
  168. package/dist/cli/commands/desktop/accessibility-snapshot.d.ts +3 -0
  169. package/dist/cli/commands/desktop/accessibility-snapshot.d.ts.map +1 -0
  170. package/dist/cli/commands/desktop/active-window.d.ts +3 -0
  171. package/dist/cli/commands/desktop/active-window.d.ts.map +1 -0
  172. package/dist/cli/commands/desktop/capture-desktop.d.ts +3 -0
  173. package/dist/cli/commands/desktop/capture-desktop.d.ts.map +1 -0
  174. package/dist/cli/commands/desktop/capture-window.d.ts +3 -0
  175. package/dist/cli/commands/desktop/capture-window.d.ts.map +1 -0
  176. package/dist/cli/commands/desktop/shared.d.ts +19 -0
  177. package/dist/cli/commands/desktop/shared.d.ts.map +1 -0
  178. package/dist/cli/commands/desktop/status.d.ts +3 -0
  179. package/dist/cli/commands/desktop/status.d.ts.map +1 -0
  180. package/dist/cli/commands/desktop/windows.d.ts +3 -0
  181. package/dist/cli/commands/desktop/windows.d.ts.map +1 -0
  182. package/dist/cli/commands/devtools/dialog.d.ts +19 -0
  183. package/dist/cli/commands/devtools/dialog.d.ts.map +1 -0
  184. package/dist/cli/commands/devtools/perf.d.ts.map +1 -1
  185. package/dist/cli/commands/devtools/screencast-start.d.ts +20 -0
  186. package/dist/cli/commands/devtools/screencast-start.d.ts.map +1 -0
  187. package/dist/cli/commands/devtools/screencast-stop.d.ts +17 -0
  188. package/dist/cli/commands/devtools/screencast-stop.d.ts.map +1 -0
  189. package/dist/cli/commands/devtools/screenshot.d.ts +3 -0
  190. package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -1
  191. package/dist/cli/commands/dom/attr.d.ts.map +1 -1
  192. package/dist/cli/commands/dom/checked.d.ts.map +1 -1
  193. package/dist/cli/commands/dom/enabled.d.ts.map +1 -1
  194. package/dist/cli/commands/dom/html.d.ts.map +1 -1
  195. package/dist/cli/commands/dom/text.d.ts.map +1 -1
  196. package/dist/cli/commands/dom/value.d.ts.map +1 -1
  197. package/dist/cli/commands/dom/visible.d.ts.map +1 -1
  198. package/dist/cli/commands/export/clone-component.d.ts +9 -0
  199. package/dist/cli/commands/export/clone-component.d.ts.map +1 -1
  200. package/dist/cli/commands/export/clone-page.d.ts +8 -0
  201. package/dist/cli/commands/export/clone-page.d.ts.map +1 -1
  202. package/dist/cli/commands/interact/check.d.ts.map +1 -1
  203. package/dist/cli/commands/interact/click.d.ts.map +1 -1
  204. package/dist/cli/commands/interact/hover.d.ts.map +1 -1
  205. package/dist/cli/commands/interact/pointer-down.d.ts +7 -0
  206. package/dist/cli/commands/interact/pointer-down.d.ts.map +1 -0
  207. package/dist/cli/commands/interact/pointer-drag.d.ts +7 -0
  208. package/dist/cli/commands/interact/pointer-drag.d.ts.map +1 -0
  209. package/dist/cli/commands/interact/pointer-move.d.ts +7 -0
  210. package/dist/cli/commands/interact/pointer-move.d.ts.map +1 -0
  211. package/dist/cli/commands/interact/pointer-shared.d.ts +6 -0
  212. package/dist/cli/commands/interact/pointer-shared.d.ts.map +1 -0
  213. package/dist/cli/commands/interact/pointer-up.d.ts +7 -0
  214. package/dist/cli/commands/interact/pointer-up.d.ts.map +1 -0
  215. package/dist/cli/commands/interact/press.d.ts.map +1 -1
  216. package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -1
  217. package/dist/cli/commands/interact/scroll.d.ts.map +1 -1
  218. package/dist/cli/commands/interact/select.d.ts.map +1 -1
  219. package/dist/cli/commands/interact/type.d.ts.map +1 -1
  220. package/dist/cli/commands/interact/uncheck.d.ts.map +1 -1
  221. package/dist/cli/commands/interact/upload.d.ts +18 -0
  222. package/dist/cli/commands/interact/upload.d.ts.map +1 -0
  223. package/dist/cli/commands/macro-resolve.d.ts +2 -0
  224. package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
  225. package/dist/cli/commands/native.d.ts +22 -8
  226. package/dist/cli/commands/native.d.ts.map +1 -1
  227. package/dist/cli/commands/nav/goto.d.ts.map +1 -1
  228. package/dist/cli/commands/nav/review.d.ts +7 -0
  229. package/dist/cli/commands/nav/review.d.ts.map +1 -0
  230. package/dist/cli/commands/nav/snapshot.d.ts.map +1 -1
  231. package/dist/cli/commands/nav/wait.d.ts.map +1 -1
  232. package/dist/cli/commands/pages/open.d.ts.map +1 -1
  233. package/dist/cli/commands/product-video.d.ts +2 -0
  234. package/dist/cli/commands/product-video.d.ts.map +1 -1
  235. package/dist/cli/commands/research.d.ts +3 -0
  236. package/dist/cli/commands/research.d.ts.map +1 -1
  237. package/dist/cli/commands/run.d.ts +14 -0
  238. package/dist/cli/commands/run.d.ts.map +1 -1
  239. package/dist/cli/commands/serve.d.ts +1 -21
  240. package/dist/cli/commands/serve.d.ts.map +1 -1
  241. package/dist/cli/commands/session/connect.d.ts.map +1 -1
  242. package/dist/cli/commands/session/disconnect.d.ts.map +1 -1
  243. package/dist/cli/commands/session/inspector.d.ts +21 -0
  244. package/dist/cli/commands/session/inspector.d.ts.map +1 -0
  245. package/dist/cli/commands/session/launch.d.ts.map +1 -1
  246. package/dist/cli/commands/shopping.d.ts +5 -0
  247. package/dist/cli/commands/shopping.d.ts.map +1 -1
  248. package/dist/cli/commands/status.d.ts +2 -9
  249. package/dist/cli/commands/status.d.ts.map +1 -1
  250. package/dist/cli/commands/targets/new.d.ts.map +1 -1
  251. package/dist/cli/daemon-autostart.d.ts +11 -0
  252. package/dist/cli/daemon-autostart.d.ts.map +1 -1
  253. package/dist/cli/daemon-client.d.ts +3 -0
  254. package/dist/cli/daemon-client.d.ts.map +1 -1
  255. package/dist/cli/daemon-commands.d.ts.map +1 -1
  256. package/dist/cli/daemon-state.d.ts +16 -0
  257. package/dist/cli/daemon-state.d.ts.map +1 -1
  258. package/dist/cli/daemon-status.d.ts +7 -2
  259. package/dist/cli/daemon-status.d.ts.map +1 -1
  260. package/dist/cli/daemon.d.ts +1 -0
  261. package/dist/cli/daemon.d.ts.map +1 -1
  262. package/dist/cli/help.d.ts +19 -3
  263. package/dist/cli/help.d.ts.map +1 -1
  264. package/dist/cli/index.js +2927 -932
  265. package/dist/cli/index.js.map +1 -1
  266. package/dist/cli/install-autostart-output.d.ts +6 -0
  267. package/dist/cli/install-autostart-output.d.ts.map +1 -0
  268. package/dist/cli/install-autostart-reconciliation.d.ts +23 -0
  269. package/dist/cli/install-autostart-reconciliation.d.ts.map +1 -0
  270. package/dist/cli/installers/skills.d.ts +42 -6
  271. package/dist/cli/installers/skills.d.ts.map +1 -1
  272. package/dist/cli/output.d.ts +3 -0
  273. package/dist/cli/output.d.ts.map +1 -1
  274. package/dist/cli/remote-canvas-manager.d.ts +8 -0
  275. package/dist/cli/remote-canvas-manager.d.ts.map +1 -0
  276. package/dist/cli/remote-desktop-runtime.d.ts +15 -0
  277. package/dist/cli/remote-desktop-runtime.d.ts.map +1 -0
  278. package/dist/cli/remote-manager.d.ts +27 -3
  279. package/dist/cli/remote-manager.d.ts.map +1 -1
  280. package/dist/cli/remote-relay.d.ts +2 -0
  281. package/dist/cli/remote-relay.d.ts.map +1 -1
  282. package/dist/cli/transport-timeouts.d.ts +8 -0
  283. package/dist/cli/transport-timeouts.d.ts.map +1 -0
  284. package/dist/cli/utils/http.d.ts +9 -0
  285. package/dist/cli/utils/http.d.ts.map +1 -1
  286. package/dist/cli/utils/parse.d.ts +3 -0
  287. package/dist/cli/utils/parse.d.ts.map +1 -1
  288. package/dist/cli/utils/skills.d.ts +1 -2
  289. package/dist/cli/utils/skills.d.ts.map +1 -1
  290. package/dist/cli/utils/workflow-message.d.ts +2 -0
  291. package/dist/cli/utils/workflow-message.d.ts.map +1 -0
  292. package/dist/config.d.ts +47 -0
  293. package/dist/config.d.ts.map +1 -1
  294. package/dist/core/bootstrap.d.ts.map +1 -1
  295. package/dist/core/index.d.ts +1 -0
  296. package/dist/core/index.d.ts.map +1 -1
  297. package/dist/core/logging.d.ts +3 -1
  298. package/dist/core/logging.d.ts.map +1 -1
  299. package/dist/core/runtime-assemblies.d.ts +22 -0
  300. package/dist/core/runtime-assemblies.d.ts.map +1 -0
  301. package/dist/core/types.d.ts +17 -0
  302. package/dist/core/types.d.ts.map +1 -1
  303. package/dist/desktop/audit.d.ts +37 -0
  304. package/dist/desktop/audit.d.ts.map +1 -0
  305. package/dist/desktop/errors.d.ts +7 -0
  306. package/dist/desktop/errors.d.ts.map +1 -0
  307. package/dist/desktop/index.d.ts +6 -0
  308. package/dist/desktop/index.d.ts.map +1 -0
  309. package/dist/desktop/runtime.d.ts +26 -0
  310. package/dist/desktop/runtime.d.ts.map +1 -0
  311. package/dist/desktop/types.d.ts +76 -0
  312. package/dist/desktop/types.d.ts.map +1 -0
  313. package/dist/extension-extractor.d.ts +6 -0
  314. package/dist/extension-extractor.d.ts.map +1 -1
  315. package/dist/fs-UMRKOBNN.js +7 -0
  316. package/dist/fs-UMRKOBNN.js.map +1 -0
  317. package/dist/index.d.ts.map +1 -1
  318. package/dist/index.js +1221 -460
  319. package/dist/index.js.map +1 -1
  320. package/dist/integrations/figma/assets.d.ts +13 -0
  321. package/dist/integrations/figma/assets.d.ts.map +1 -0
  322. package/dist/integrations/figma/auth.d.ts +3 -0
  323. package/dist/integrations/figma/auth.d.ts.map +1 -0
  324. package/dist/integrations/figma/client.d.ts +42 -0
  325. package/dist/integrations/figma/client.d.ts.map +1 -0
  326. package/dist/integrations/figma/mappers.d.ts +23 -0
  327. package/dist/integrations/figma/mappers.d.ts.map +1 -0
  328. package/dist/integrations/figma/normalize.d.ts +99 -0
  329. package/dist/integrations/figma/normalize.d.ts.map +1 -0
  330. package/dist/integrations/figma/url.d.ts +17 -0
  331. package/dist/integrations/figma/url.d.ts.map +1 -0
  332. package/dist/integrations/figma/variables.d.ts +21 -0
  333. package/dist/integrations/figma/variables.d.ts.map +1 -0
  334. package/dist/macros/execute-runtime.d.ts +19 -0
  335. package/dist/macros/execute-runtime.d.ts.map +1 -0
  336. package/dist/macros/execute.d.ts +3 -1
  337. package/dist/macros/execute.d.ts.map +1 -1
  338. package/dist/{macros-NUBRM44Y.js → macros-ND2M7LWU.js} +2 -2
  339. package/dist/opendevbrowser.d.ts.map +1 -1
  340. package/dist/opendevbrowser.js +1221 -460
  341. package/dist/opendevbrowser.js.map +1 -1
  342. package/dist/providers/blocker.d.ts.map +1 -1
  343. package/dist/providers/browser-fallback.d.ts +30 -0
  344. package/dist/providers/browser-fallback.d.ts.map +1 -0
  345. package/dist/providers/constraint.d.ts +45 -0
  346. package/dist/providers/constraint.d.ts.map +1 -0
  347. package/dist/providers/index.d.ts +11 -2
  348. package/dist/providers/index.d.ts.map +1 -1
  349. package/dist/providers/policy.d.ts.map +1 -1
  350. package/dist/providers/product-video-compiler.d.ts +92 -0
  351. package/dist/providers/product-video-compiler.d.ts.map +1 -0
  352. package/dist/providers/registry.d.ts +37 -1
  353. package/dist/providers/registry.d.ts.map +1 -1
  354. package/dist/providers/renderer.d.ts.map +1 -1
  355. package/dist/providers/research-compiler.d.ts +64 -0
  356. package/dist/providers/research-compiler.d.ts.map +1 -0
  357. package/dist/providers/research-executor.d.ts +27 -0
  358. package/dist/providers/research-executor.d.ts.map +1 -0
  359. package/dist/providers/runtime-bundle.d.ts +26 -0
  360. package/dist/providers/runtime-bundle.d.ts.map +1 -0
  361. package/dist/providers/runtime-factory.d.ts +6 -1
  362. package/dist/providers/runtime-factory.d.ts.map +1 -1
  363. package/dist/providers/runtime-policy.d.ts +24 -0
  364. package/dist/providers/runtime-policy.d.ts.map +1 -0
  365. package/dist/providers/shared/anti-bot-policy.d.ts +3 -2
  366. package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -1
  367. package/dist/providers/shopping/index.d.ts +11 -1
  368. package/dist/providers/shopping/index.d.ts.map +1 -1
  369. package/dist/providers/shopping-compiler.d.ts +51 -0
  370. package/dist/providers/shopping-compiler.d.ts.map +1 -0
  371. package/dist/providers/shopping-executor.d.ts +18 -0
  372. package/dist/providers/shopping-executor.d.ts.map +1 -0
  373. package/dist/providers/shopping-postprocess.d.ts +46 -0
  374. package/dist/providers/shopping-postprocess.d.ts.map +1 -0
  375. package/dist/providers/shopping-workflow.d.ts +33 -0
  376. package/dist/providers/shopping-workflow.d.ts.map +1 -0
  377. package/dist/providers/social/platform.d.ts +2 -1
  378. package/dist/providers/social/platform.d.ts.map +1 -1
  379. package/dist/providers/social/search-quality.d.ts +16 -0
  380. package/dist/providers/social/search-quality.d.ts.map +1 -0
  381. package/dist/providers/social/youtube-resolver.d.ts +2 -1
  382. package/dist/providers/social/youtube-resolver.d.ts.map +1 -1
  383. package/dist/providers/social/youtube.d.ts.map +1 -1
  384. package/dist/providers/types.d.ts +116 -4
  385. package/dist/providers/types.d.ts.map +1 -1
  386. package/dist/providers/web/crawl-worker.d.ts.map +1 -1
  387. package/dist/providers/web/extract.d.ts +16 -0
  388. package/dist/providers/web/extract.d.ts.map +1 -1
  389. package/dist/providers/web/index.d.ts.map +1 -1
  390. package/dist/providers/workflow-contracts.d.ts +53 -0
  391. package/dist/providers/workflow-contracts.d.ts.map +1 -0
  392. package/dist/providers/workflows.d.ts +30 -6
  393. package/dist/providers/workflows.d.ts.map +1 -1
  394. package/dist/providers-G36AM3Z2.js +121 -0
  395. package/dist/providers-G36AM3Z2.js.map +1 -0
  396. package/dist/public-surface/generated-manifest.d.ts +1168 -0
  397. package/dist/public-surface/generated-manifest.d.ts.map +1 -0
  398. package/dist/public-surface/source.d.ts +437 -0
  399. package/dist/public-surface/source.d.ts.map +1 -0
  400. package/dist/relay/protocol.d.ts +108 -4
  401. package/dist/relay/protocol.d.ts.map +1 -1
  402. package/dist/relay/relay-endpoints.d.ts +21 -0
  403. package/dist/relay/relay-endpoints.d.ts.map +1 -1
  404. package/dist/relay/relay-server.d.ts +32 -1
  405. package/dist/relay/relay-server.d.ts.map +1 -1
  406. package/dist/relay/relay-types.d.ts +3 -0
  407. package/dist/relay/relay-types.d.ts.map +1 -1
  408. package/dist/skills/bundled-skill-directories.d.ts +8 -0
  409. package/dist/skills/bundled-skill-directories.d.ts.map +1 -0
  410. package/dist/skills/skill-loader.d.ts +9 -1
  411. package/dist/skills/skill-loader.d.ts.map +1 -1
  412. package/dist/skills/skill-loader.js +7 -0
  413. package/dist/skills/skill-loader.js.map +1 -0
  414. package/dist/skills/skill-nudge.d.ts.map +1 -1
  415. package/dist/skills/types.d.ts +31 -0
  416. package/dist/skills/types.d.ts.map +1 -1
  417. package/dist/snapshot/ops-snapshot.d.ts +1 -1
  418. package/dist/snapshot/ops-snapshot.d.ts.map +1 -1
  419. package/dist/snapshot/refs.d.ts +6 -1
  420. package/dist/snapshot/refs.d.ts.map +1 -1
  421. package/dist/snapshot/snapshotter.d.ts.map +1 -1
  422. package/dist/tools/annotate.d.ts.map +1 -1
  423. package/dist/tools/canvas.d.ts +4 -0
  424. package/dist/tools/canvas.d.ts.map +1 -0
  425. package/dist/tools/check.d.ts.map +1 -1
  426. package/dist/tools/click.d.ts.map +1 -1
  427. package/dist/tools/clone_component.d.ts.map +1 -1
  428. package/dist/tools/clone_page.d.ts.map +1 -1
  429. package/dist/tools/connect.d.ts.map +1 -1
  430. package/dist/tools/deps.d.ts +6 -0
  431. package/dist/tools/deps.d.ts.map +1 -1
  432. package/dist/tools/desktop-shared.d.ts +6 -0
  433. package/dist/tools/desktop-shared.d.ts.map +1 -0
  434. package/dist/tools/desktop_accessibility_snapshot.d.ts +4 -0
  435. package/dist/tools/desktop_accessibility_snapshot.d.ts.map +1 -0
  436. package/dist/tools/desktop_active_window.d.ts +4 -0
  437. package/dist/tools/desktop_active_window.d.ts.map +1 -0
  438. package/dist/tools/desktop_capture_desktop.d.ts +4 -0
  439. package/dist/tools/desktop_capture_desktop.d.ts.map +1 -0
  440. package/dist/tools/desktop_capture_window.d.ts +4 -0
  441. package/dist/tools/desktop_capture_window.d.ts.map +1 -0
  442. package/dist/tools/desktop_status.d.ts +4 -0
  443. package/dist/tools/desktop_status.d.ts.map +1 -0
  444. package/dist/tools/desktop_windows.d.ts +4 -0
  445. package/dist/tools/desktop_windows.d.ts.map +1 -0
  446. package/dist/tools/dialog.d.ts +4 -0
  447. package/dist/tools/dialog.d.ts.map +1 -0
  448. package/dist/tools/dom_get_html.d.ts.map +1 -1
  449. package/dist/tools/dom_get_text.d.ts.map +1 -1
  450. package/dist/tools/get_attr.d.ts.map +1 -1
  451. package/dist/tools/get_value.d.ts.map +1 -1
  452. package/dist/tools/goto.d.ts.map +1 -1
  453. package/dist/tools/hover.d.ts.map +1 -1
  454. package/dist/tools/index.d.ts +3 -0
  455. package/dist/tools/index.d.ts.map +1 -1
  456. package/dist/tools/is_checked.d.ts.map +1 -1
  457. package/dist/tools/is_enabled.d.ts.map +1 -1
  458. package/dist/tools/is_visible.d.ts.map +1 -1
  459. package/dist/tools/launch.d.ts.map +1 -1
  460. package/dist/tools/macro_resolve.d.ts.map +1 -1
  461. package/dist/tools/perf.d.ts.map +1 -1
  462. package/dist/tools/pointer_down.d.ts +4 -0
  463. package/dist/tools/pointer_down.d.ts.map +1 -0
  464. package/dist/tools/pointer_drag.d.ts +4 -0
  465. package/dist/tools/pointer_drag.d.ts.map +1 -0
  466. package/dist/tools/pointer_move.d.ts +4 -0
  467. package/dist/tools/pointer_move.d.ts.map +1 -0
  468. package/dist/tools/pointer_up.d.ts +4 -0
  469. package/dist/tools/pointer_up.d.ts.map +1 -0
  470. package/dist/tools/press.d.ts.map +1 -1
  471. package/dist/tools/product_video_run.d.ts.map +1 -1
  472. package/dist/tools/prompting_guide.d.ts.map +1 -1
  473. package/dist/tools/research_run.d.ts.map +1 -1
  474. package/dist/tools/response.d.ts +4 -1
  475. package/dist/tools/response.d.ts.map +1 -1
  476. package/dist/tools/review.d.ts +4 -0
  477. package/dist/tools/review.d.ts.map +1 -0
  478. package/dist/tools/screencast_start.d.ts +4 -0
  479. package/dist/tools/screencast_start.d.ts.map +1 -0
  480. package/dist/tools/screencast_stop.d.ts +4 -0
  481. package/dist/tools/screencast_stop.d.ts.map +1 -0
  482. package/dist/tools/screenshot.d.ts.map +1 -1
  483. package/dist/tools/scroll.d.ts.map +1 -1
  484. package/dist/tools/scroll_into_view.d.ts.map +1 -1
  485. package/dist/tools/select.d.ts.map +1 -1
  486. package/dist/tools/session_inspector.d.ts +4 -0
  487. package/dist/tools/session_inspector.d.ts.map +1 -0
  488. package/dist/tools/shopping_run.d.ts.map +1 -1
  489. package/dist/tools/skill_list.d.ts.map +1 -1
  490. package/dist/tools/skill_load.d.ts.map +1 -1
  491. package/dist/tools/snapshot.d.ts.map +1 -1
  492. package/dist/tools/type.d.ts.map +1 -1
  493. package/dist/tools/uncheck.d.ts.map +1 -1
  494. package/dist/tools/upload.d.ts +4 -0
  495. package/dist/tools/upload.d.ts.map +1 -0
  496. package/dist/tools/wait.d.ts.map +1 -1
  497. package/dist/tools/workflow-runtime.d.ts +4 -2
  498. package/dist/tools/workflow-runtime.d.ts.map +1 -1
  499. package/dist/utils/package-assets.d.ts +4 -0
  500. package/dist/utils/package-assets.d.ts.map +1 -0
  501. package/extension/canvas.html +1006 -0
  502. package/extension/dist/annotate-content.css +15 -6
  503. package/extension/dist/annotate-content.js +175 -35
  504. package/extension/dist/annotation-payload.js +199 -0
  505. package/extension/dist/background.js +544 -69
  506. package/extension/dist/canvas/canvas-runtime.js +1490 -0
  507. package/extension/dist/canvas/model.js +341 -0
  508. package/extension/dist/canvas/viewport-fit.js +67 -0
  509. package/extension/dist/canvas-page.js +3609 -0
  510. package/extension/dist/ops/dom-bridge.js +255 -3
  511. package/extension/dist/ops/ops-runtime.js +3324 -301
  512. package/extension/dist/ops/ops-session-store.js +97 -112
  513. package/extension/dist/ops/snapshot-builder.js +2 -2
  514. package/extension/dist/ops/snapshot-shared.js +2 -2
  515. package/extension/dist/ops/target-session-coordinator.js +159 -0
  516. package/extension/dist/popup.js +201 -42
  517. package/extension/dist/services/CDPRouter.js +1567 -63
  518. package/extension/dist/services/ConnectionManager.js +453 -78
  519. package/extension/dist/services/RelayClient.js +79 -30
  520. package/extension/dist/services/TabManager.js +118 -22
  521. package/extension/dist/services/TargetSessionMap.js +127 -3
  522. package/extension/dist/services/attach-errors.js +20 -0
  523. package/extension/dist/services/cdp-router-commands.js +135 -8
  524. package/extension/dist/services/url-restrictions.js +9 -13
  525. package/extension/dist/types.js +2 -0
  526. package/extension/manifest.json +2 -2
  527. package/extension/popup.html +59 -6
  528. package/package.json +19 -9
  529. package/skills/AGENTS.md +8 -4
  530. package/skills/opendevbrowser-best-practices/SKILL.md +183 -6
  531. package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +1 -0
  532. package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +141 -0
  533. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +129 -19
  534. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +9 -2
  535. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +6 -0
  536. package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +58 -0
  537. package/skills/opendevbrowser-best-practices/assets/templates/canvas-blocker-checklist.json +70 -0
  538. package/skills/opendevbrowser-best-practices/assets/templates/canvas-feedback-eval.json +73 -0
  539. package/skills/opendevbrowser-best-practices/assets/templates/canvas-generation-plan.v1.json +67 -0
  540. package/skills/opendevbrowser-best-practices/assets/templates/canvas-handshake-example.json +126 -0
  541. package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +57 -0
  542. package/skills/opendevbrowser-best-practices/assets/templates/skill-runtime-pack-matrix.json +674 -0
  543. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +12 -3
  544. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +107 -12
  545. package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +100 -0
  546. package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +83 -1
  547. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +365 -84
  548. package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +208 -0
  549. package/skills/opendevbrowser-continuity-ledger/SKILL.md +14 -1
  550. package/skills/opendevbrowser-continuity-ledger/scripts/validate-skill-assets.sh +61 -0
  551. package/skills/opendevbrowser-data-extraction/SKILL.md +6 -0
  552. package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +112 -0
  553. package/skills/opendevbrowser-design-agent/SKILL.md +275 -0
  554. package/skills/opendevbrowser-design-agent/artifacts/app-shell-and-state-wiring.md +84 -0
  555. package/skills/opendevbrowser-design-agent/artifacts/async-search-state-ownership.md +58 -0
  556. package/skills/opendevbrowser-design-agent/artifacts/component-pattern-index.md +130 -0
  557. package/skills/opendevbrowser-design-agent/artifacts/design-contract-playbook.md +157 -0
  558. package/skills/opendevbrowser-design-agent/artifacts/design-release-gate.md +40 -0
  559. package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +153 -0
  560. package/skills/opendevbrowser-design-agent/artifacts/existing-surface-adaptation.md +56 -0
  561. package/skills/opendevbrowser-design-agent/artifacts/external-pattern-synthesis.md +103 -0
  562. package/skills/opendevbrowser-design-agent/artifacts/frontend-evaluation-rubric.md +61 -0
  563. package/skills/opendevbrowser-design-agent/artifacts/implementation-anti-patterns.md +163 -0
  564. package/skills/opendevbrowser-design-agent/artifacts/isolated-preview-validation.md +68 -0
  565. package/skills/opendevbrowser-design-agent/artifacts/loading-and-feedback-surfaces.md +56 -0
  566. package/skills/opendevbrowser-design-agent/artifacts/opendevbrowser-ui-example-map.md +44 -0
  567. package/skills/opendevbrowser-design-agent/artifacts/performance-audit-playbook.md +70 -0
  568. package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +81 -0
  569. package/skills/opendevbrowser-design-agent/artifacts/scroll-reveal-surface-planning.md +64 -0
  570. package/skills/opendevbrowser-design-agent/artifacts/state-ownership-matrix.md +36 -0
  571. package/skills/opendevbrowser-design-agent/artifacts/theming-and-token-ownership.md +43 -0
  572. package/skills/opendevbrowser-design-agent/assets/templates/canvas-generation-plan.design.v1.json +58 -0
  573. package/skills/opendevbrowser-design-agent/assets/templates/design-audit-report.v1.md +34 -0
  574. package/skills/opendevbrowser-design-agent/assets/templates/design-brief.v1.md +40 -0
  575. package/skills/opendevbrowser-design-agent/assets/templates/design-contract.v1.json +226 -0
  576. package/skills/opendevbrowser-design-agent/assets/templates/design-release-gate.v1.json +35 -0
  577. package/skills/opendevbrowser-design-agent/assets/templates/design-review-checklist.json +57 -0
  578. package/skills/opendevbrowser-design-agent/assets/templates/real-surface-design-matrix.json +32 -0
  579. package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +31 -0
  580. package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +171 -0
  581. package/skills/opendevbrowser-design-agent/scripts/extract-canvas-plan.sh +56 -0
  582. package/skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh +223 -0
  583. package/skills/opendevbrowser-form-testing/SKILL.md +19 -3
  584. package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +5 -4
  585. package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +2 -0
  586. package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +109 -0
  587. package/skills/opendevbrowser-login-automation/SKILL.md +21 -3
  588. package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +5 -4
  589. package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +5 -0
  590. package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +3 -2
  591. package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +17 -1
  592. package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +133 -0
  593. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +23 -11
  594. package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +5 -3
  595. package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +2 -0
  596. package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +3 -2
  597. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +5 -1
  598. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +6 -2
  599. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +5 -1
  600. package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +20 -7
  601. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +39 -0
  602. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +5 -1
  603. package/skills/opendevbrowser-research/SKILL.md +14 -6
  604. package/skills/opendevbrowser-research/scripts/render-output.sh +5 -1
  605. package/skills/opendevbrowser-research/scripts/run-research.sh +5 -1
  606. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +45 -0
  607. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +5 -1
  608. package/skills/opendevbrowser-shopping/SKILL.md +20 -1
  609. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +6 -2
  610. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +5 -1
  611. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +5 -1
  612. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +54 -0
  613. package/dist/chunk-ST7CO5FA.js +0 -18668
  614. package/dist/chunk-ST7CO5FA.js.map +0 -1
  615. /package/dist/{chunk-7W3SPXIB.js.map → chunk-FUSXMW3G.js.map} +0 -0
  616. /package/dist/{macros-NUBRM44Y.js.map → macros-ND2M7LWU.js.map} +0 -0
@@ -0,0 +1,61 @@
1
+ # Frontend Evaluation Rubric
2
+
3
+ Use this rubric before sign-off. A design should not pass on aesthetics alone.
4
+
5
+ ## Must-Pass Gates
6
+
7
+ - The UI matches the current design contract.
8
+ - The screen has a clear information hierarchy.
9
+ - Focus, keyboard access, and readable contrast are present where relevant.
10
+ - Responsive behavior is intentional, not accidental.
11
+ - Copy is real enough to evaluate the actual layout.
12
+ - Browser validation was run on the relevant surface.
13
+
14
+ ## Scored Categories
15
+
16
+ Score each category from `1` to `5`.
17
+
18
+ ### Clarity
19
+
20
+ - Is the primary action obvious?
21
+ - Is the page purpose understandable within a few seconds?
22
+
23
+ ### Visual Direction
24
+
25
+ - Does the design feel intentional instead of generic?
26
+ - Are color, type, and spacing working together as one system?
27
+
28
+ ### Component Discipline
29
+
30
+ - Are repeated patterns actually consistent?
31
+ - Do components share the same edge radius, spacing rhythm, and interaction language?
32
+
33
+ ### State Coverage
34
+
35
+ - Are default, hover, focus, empty, loading, success, and error states handled when needed?
36
+
37
+ ### Responsiveness
38
+
39
+ - Does the layout adapt gracefully at the required viewports?
40
+ - Are touch targets and overflow behavior sane?
41
+
42
+ ### Accessibility
43
+
44
+ - Are semantics, focus order, and contrast acceptable?
45
+ - Does motion preserve meaning when reduced motion is required?
46
+
47
+ ### Performance And Restraint
48
+
49
+ - Is motion purposeful instead of noisy?
50
+ - Are heavy effects justified?
51
+ - Does the screen avoid unnecessary complexity?
52
+
53
+ ## Failure Triggers
54
+
55
+ Fail the design review if any of these are true:
56
+
57
+ - The design depends on placeholder content to look good.
58
+ - Mobile or keyboard behavior is untested.
59
+ - The page is visually inconsistent across repeated components.
60
+ - The design contract and shipped output disagree materially.
61
+ - Real-browser validation was skipped without an explicit blocker.
@@ -0,0 +1,163 @@
1
+ # Implementation Anti-Patterns
2
+
3
+ Use this list to stop weak frontend patterns before they spread.
4
+
5
+ ## 1. Boolean Sprawl
6
+
7
+ Bad:
8
+
9
+ - one screen tracks `isModalOpen`, `isDrawerOpen`, `isPopoverOpen`, `isConfirmingDelete`, and `selectedId` across many siblings
10
+
11
+ Prefer:
12
+
13
+ - one overlay owner with an item-backed state object
14
+
15
+ ## 2. Mixed State Ownership
16
+
17
+ Bad:
18
+
19
+ - the same filter state lives in component state, URL params, and a shared store
20
+
21
+ Prefer:
22
+
23
+ - one canonical owner with derived views elsewhere
24
+
25
+ ## 3. Placeholder-Led Layout
26
+
27
+ Bad:
28
+
29
+ - the UI only looks balanced with fake short copy or idealized data
30
+
31
+ Prefer:
32
+
33
+ - real or realistic content, plus explicit overflow and truncation rules
34
+
35
+ ## 4. Pattern Drift
36
+
37
+ Bad:
38
+
39
+ - repeated cards, panels, or controls each invent their own spacing, radius, or interaction order
40
+
41
+ Prefer:
42
+
43
+ - one pattern family per screen, documented in the contract and checked against the component index
44
+
45
+ ## 5. Motion Without A Driver
46
+
47
+ Bad:
48
+
49
+ - many components each own their own scroll math, timing, or parallax rules
50
+
51
+ Prefer:
52
+
53
+ - one normalized progress model with reduced-motion fallback
54
+
55
+ ## 6. Heavy Work Per Item
56
+
57
+ Bad:
58
+
59
+ - each row or card performs expensive layout, measurement, or data reshaping during render
60
+
61
+ Prefer:
62
+
63
+ - precomputed data, memoized derivations only when justified by existing project patterns, and lazy detail work
64
+
65
+ ## 7. Overlay Ownership Split
66
+
67
+ Bad:
68
+
69
+ - a toolbar opens a modal while a row also mutates that modal's data source independently
70
+
71
+ Prefer:
72
+
73
+ - route or feature ownership plus explicit focus-return behavior
74
+
75
+ ## 8. Contract-Free Canvas Mutation
76
+
77
+ Bad:
78
+
79
+ - patching `/canvas` before the design contract and generation plan are coherent
80
+
81
+ Prefer:
82
+
83
+ - contract first, plan second, mutation third, preview and feedback after
84
+
85
+ ## 9. Unverified Responsive Claims
86
+
87
+ Bad:
88
+
89
+ - declaring mobile support without checking layout, scroll, focus, and overflow at mobile widths
90
+
91
+ Prefer:
92
+
93
+ - real-surface validation at the required breakpoints
94
+
95
+ ## 10. Stale Runtime Trust
96
+
97
+ Bad:
98
+
99
+ - assuming `npm run extension:build` means a live unpacked extension tab is already running the new code
100
+
101
+ Prefer:
102
+
103
+ - reload the unpacked extension, reconnect, and then validate the real surface again
104
+
105
+ ## 11. Unbounded Async Restarts
106
+
107
+ Bad:
108
+
109
+ - each keystroke, scope switch, or filter tap starts new async work with no debounce or stale-request handling
110
+
111
+ Prefer:
112
+
113
+ - one restart policy with debounce, cancellation, and a clear empty-query behavior
114
+
115
+ ## 12. Spinner Stacking
116
+
117
+ Bad:
118
+
119
+ - the same async region shows multiple loaders, layout-shifting placeholders, and no stable empty/error plan
120
+
121
+ Prefer:
122
+
123
+ - one loading story per region plus layout-preserving placeholders when the final structure matters
124
+
125
+ ## 13. Raw Token Sprawl
126
+
127
+ Bad:
128
+
129
+ - repeated components hardcode colors, spacing, or radius values that drift away from the design system
130
+
131
+ Prefer:
132
+
133
+ - one semantic token source with leaf components consuming tokens instead of inventing them
134
+
135
+ ## 14. Live-Service Previews
136
+
137
+ Bad:
138
+
139
+ - isolated previews depend on live APIs, auth, or global singletons and only render when the full app happens to be running
140
+
141
+ Prefer:
142
+
143
+ - deterministic fixtures, explicit dependency installation, and isolated preview state that mirrors production ownership
144
+
145
+ ## 15. Stringly Routed Actions
146
+
147
+ Bad:
148
+
149
+ - buttons, tabs, rows, and shortcuts each assemble route strings or params independently
150
+
151
+ Prefer:
152
+
153
+ - one typed route translator with explicit invalid-route fallback and shared deep-link handling
154
+
155
+ ## 16. Unstable List Identity
156
+
157
+ Bad:
158
+
159
+ - selection, expansion, or animation state is keyed by array index on a sortable or filterable collection
160
+
161
+ Prefer:
162
+
163
+ - stable item identity plus an explicit scan-heavy performance plan for large result sets
@@ -0,0 +1,68 @@
1
+ # Isolated Preview Validation
2
+
3
+ Use this playbook before full-page rollout. The goal is to prove the pattern in a stable fixture before broader integration and then carry the same state matrix onto real browser surfaces.
4
+
5
+ ## When To Use It
6
+
7
+ - new component families
8
+ - dense shells or editors
9
+ - async-heavy screens
10
+ - motion or scroll-driven interactions
11
+ - any UI that already failed once in live validation
12
+
13
+ ## Preview Discipline
14
+
15
+ Build a deterministic isolated surface first:
16
+
17
+ - story, fixture route, local sandbox, or `/canvas` preview target
18
+ - realistic copy and realistic data volume
19
+ - fixed viewport sizes for mobile, tablet, and desktop
20
+ - installed theme, router, and shell dependencies when the real surface requires them
21
+ - explicit reduced-motion and empty/error variants when relevant
22
+
23
+ Do not continue layering polish on a preview that already crashes or visually collapses.
24
+
25
+ ## Required Fixture States
26
+
27
+ Cover the relevant set explicitly:
28
+
29
+ - default
30
+ - hover and focus
31
+ - loading
32
+ - empty
33
+ - success
34
+ - error
35
+ - overflow or long-content
36
+ - reduced-motion
37
+ - mobile compact layout
38
+
39
+ If the component never renders one of these states in isolation, it is likely to regress when integrated.
40
+
41
+ ## Dependency Rules
42
+
43
+ - inject mock or deterministic data sources into the preview
44
+ - remove network dependence from the isolated fixture
45
+ - install every required environment, provider, or theme dependency directly in the preview
46
+ - keep async, search, and filter fixtures deterministic, including empty-query and non-happy paths
47
+ - keep one owner for feature flags, search params, or overlay state inside the preview
48
+ - if the UI depends on app-shell context, stub only the minimum shell contract needed for the task
49
+ - do not make required production dependencies optional just to silence preview crashes
50
+
51
+ ## Validation Loop
52
+
53
+ 1. Build the isolated surface.
54
+ 2. Fix preview crashes, missing dependency wiring, or state drift before broader integration.
55
+ 3. Validate the same states in a real browser session.
56
+ 4. Only then move to the integrated page, shell, or `/canvas` workflow.
57
+
58
+ ## OpenDevBrowser Commands
59
+
60
+ ```bash
61
+ npx opendevbrowser launch --no-extension --start-url http://127.0.0.1:3000/preview/component
62
+ npx opendevbrowser snapshot --session-id <session-id>
63
+ npx opendevbrowser screenshot --session-id <session-id>
64
+ npx opendevbrowser debug-trace-snapshot --session-id <session-id>
65
+ npx opendevbrowser canvas --command canvas.preview.render --params '{"canvasSessionId":"<canvas-session-id>","leaseId":"<lease-id>","targetId":"<target-id>","projection":"canvas_html"}'
66
+ ```
67
+
68
+ Use the same fixture states as the contract when comparing preview and integrated behavior.
@@ -0,0 +1,56 @@
1
+ # Loading And Feedback Surfaces
2
+
3
+ Use this when the screen needs loading, empty, success, error, toast, or banner states that must feel intentional instead of bolted on.
4
+
5
+ ## 1. Preserve Layout While Loading
6
+
7
+ Prefer layout-preserving placeholders over generic spinners:
8
+
9
+ - keep the real content structure and swap in placeholder data or skeleton rows
10
+ - use a fixed placeholder count for repeated content, usually `3` to `6`
11
+ - keep placeholder frames stable so the loaded state does not jump
12
+
13
+ Use a single section-level loader only when the layout cannot be meaningfully previewed during load.
14
+
15
+ ## 2. Give Each Region One Loading Story
16
+
17
+ - one loading affordance per region
18
+ - one empty-state message per result set
19
+ - one recovery action near the failing region
20
+
21
+ Do not stack row spinners, section spinners, and page spinners for the same fetch.
22
+
23
+ ## 3. Empty, Error, And Success Are Part Of The Design
24
+
25
+ - empty states should explain why nothing is shown and offer a next action
26
+ - error states should keep retry or fallback actions close to the failed area
27
+ - success states should confirm progress without hijacking the next task
28
+
29
+ If the screen cannot explain its empty or error behavior in the contract, it is not ready.
30
+
31
+ ## 4. Use Overlays For Transient Feedback
32
+
33
+ Use overlays, toasts, or banners for short-lived feedback that should not distort the layout:
34
+
35
+ - keep a single owner for transient feedback state
36
+ - align overlays to a clear edge and keep the motion short
37
+ - auto-dismiss short confirmations when that will not hide critical information
38
+ - queue or replace overlapping feedback instead of stacking many transient surfaces
39
+
40
+ Use modal or blocking UI only when the user must stop and decide.
41
+
42
+ ## 5. Review Prompts
43
+
44
+ 1. Does the loading state preserve the final layout?
45
+ 2. How many placeholders render, and why that count?
46
+ 3. What action can the user take from the empty or error state?
47
+ 4. Which feedback belongs in layout, and which belongs in an overlay?
48
+ 5. Who owns transient banners or toasts?
49
+
50
+ ## Failure Signals
51
+
52
+ - placeholder layouts collapse or shift when content arrives
53
+ - the design uses more than one loading indicator for the same async region
54
+ - empty and error states are generic copy without a next action
55
+ - toast or banner feedback reflows the main layout unnecessarily
56
+ - multiple features can stack transient overlays without coordination
@@ -0,0 +1,44 @@
1
+ # OpenDevBrowser UI Example Map
2
+
3
+ Use nearby repo examples before inventing new structure. These are not design mandates, but they are the fastest way to align with current patterns and shipped constraints.
4
+
5
+ ## Extension UI
6
+
7
+ - `extension/popup.html`
8
+ - compact control surfaces, diagnostics panels, brand treatment, settings rows
9
+ - `extension/src/popup.tsx`
10
+ - popup state orchestration, health-state rendering, annotation history affordances
11
+ - `extension/canvas.html`
12
+ - full-screen extension-hosted editor shell
13
+ - `extension/src/canvas-page.ts`
14
+ - design-tab shell wiring, stage controls, inspector and layers integration
15
+ - `extension/src/canvas/canvas-runtime.ts`
16
+ - runtime-side canvas state ownership and preview synchronization
17
+ - `extension/src/annotate-content.ts`
18
+ - in-page overlay state, annotation affordances, selection lifecycle
19
+
20
+ ## Canvas Core
21
+
22
+ - `src/browser/canvas-manager.ts`
23
+ - public `/canvas` contract surface and session-summary ownership
24
+ - `src/canvas/export.ts`
25
+ - canonical preview and export renderer boundary
26
+ - `src/canvas/document-store.ts`
27
+ - normalized design document truth and mutation flow
28
+
29
+ ## Tests As UI Behavior Proof
30
+
31
+ - `tests/extension-canvas-editor.test.ts`
32
+ - token editor, layers, inspector, and design-tab interaction expectations
33
+ - `tests/extension-canvas-runtime.test.ts`
34
+ - runtime shell and preview bridge expectations
35
+ - `tests/extension-popup-brand.test.ts`
36
+ - popup brand and icon assertions
37
+ - `tests/extension-background.test.ts`
38
+ - popup and annotation routing expectations that affect UI trust
39
+
40
+ ## How To Use This Map
41
+
42
+ 1. Find the closest shipped surface.
43
+ 2. Reuse its ownership model and shell assumptions unless the new brief requires a deliberate break.
44
+ 3. Record any intentional deviation in the design contract and ship audit.
@@ -0,0 +1,70 @@
1
+ # Performance Audit Playbook
2
+
3
+ Use this workflow when the UI feels heavy, re-renders too often, scrolls poorly, or becomes unstable under realistic data volume.
4
+
5
+ ## Intake
6
+
7
+ Capture the problem before optimizing:
8
+
9
+ - interaction that feels slow
10
+ - viewport and data size
11
+ - whether the issue is input, scroll, resize, animation, or async refresh
12
+ - suspected heavy subtree or component family
13
+
14
+ ## Baseline First
15
+
16
+ Measure before changing structure:
17
+
18
+ - React DevTools Profiler for render churn
19
+ - browser Performance panel when the problem looks layout or paint related
20
+ - `debug-trace-snapshot` for console and network regressions tied to the interaction
21
+
22
+ Treat components taking longer than roughly one frame budget as candidates for deeper audit.
23
+
24
+ ## Common Fix Patterns
25
+
26
+ - isolate ticking or rapidly changing state from heavy subtrees
27
+ - avoid top-level branch swapping when a stable base tree can express the same states
28
+ - keep props narrow and stable before reaching for memoization
29
+ - move expensive derivations out of render paths
30
+ - virtualize or progressively reveal long collections
31
+ - delay heavy secondary panels until the user asks for them
32
+ - drive scroll motion from one normalized progress model
33
+
34
+ ## Scan-Heavy Surface Discipline
35
+
36
+ When the screen is mostly about rows, cards, or staged panes:
37
+
38
+ - keep stable item identity through sorting, filtering, refresh, and optimistic updates
39
+ - avoid index-based expansion or selection state for reorderable collections
40
+ - pick one scan unit and optimize around that unit before styling the rest of the shell
41
+ - prefer lazy containers or progressive reveal before hand-tuned per-item memoization
42
+ - keep inspectors, previews, and secondary editors lazy when they are not needed for the first scan
43
+ - measure with realistic list density and content length instead of trimmed placeholder data
44
+
45
+ ## Restraint Rules
46
+
47
+ - do not add memoization by default when the repo pattern does not support it
48
+ - do not optimize around fake placeholder data
49
+ - fix ownership churn before micro-optimizing components
50
+ - validate that the slow interaction is actually improved after each change
51
+
52
+ ## Audit Output
53
+
54
+ Use `assets/templates/design-audit-report.v1.md` and capture:
55
+
56
+ - issue
57
+ - evidence
58
+ - suspected owner
59
+ - fix
60
+ - validation result
61
+
62
+ ## Validation Commands
63
+
64
+ ```bash
65
+ npx opendevbrowser launch --no-extension --start-url http://127.0.0.1:3000
66
+ npx opendevbrowser debug-trace-snapshot --session-id <session-id>
67
+ npx opendevbrowser screenshot --session-id <session-id>
68
+ ```
69
+
70
+ Pair browser evidence with React DevTools Profiler or equivalent framework tooling when the regression is render-bound.
@@ -0,0 +1,81 @@
1
+ # Research Harvest Workflow
2
+
3
+ Use this workflow before design direction is locked, when the brief references competitors, or when a redesign needs stronger visual and interaction references than the local repo already provides.
4
+
5
+ ## Goal
6
+
7
+ Turn live product references into a deterministic pattern board instead of vague inspiration.
8
+
9
+ ## Inputs
10
+
11
+ - A focused brief or design question
12
+ - `3` to `5` reference products or pages
13
+ - The target surface in this repo
14
+ - Constraints that must not be violated:
15
+ - existing design system rules
16
+ - supported libraries and runtime budgets
17
+ - accessibility and responsive requirements
18
+
19
+ ## Evidence Loop
20
+
21
+ 1. Pick reference pages that match the product shape:
22
+ - dashboard
23
+ - marketing landing page
24
+ - onboarding flow
25
+ - editor
26
+ - auth/settings surface
27
+ 2. Capture the surface with OpenDevBrowser:
28
+ - `launch`
29
+ - `goto`
30
+ - `snapshot`
31
+ - `screenshot`
32
+ - `debug-trace-snapshot` when motion, loading, or layout churn matters
33
+ 3. Record each page in `assets/templates/reference-pattern-board.v1.json`.
34
+ 4. For each reference, extract:
35
+ - layout recipe
36
+ - content hierarchy
37
+ - component families
38
+ - motion posture
39
+ - loading and empty-state strategy
40
+ - token and theming clues
41
+ - patterns to borrow
42
+ - patterns to reject
43
+ 5. Synthesize only the patterns that fit the repo's current surface, libraries, and runtime budgets.
44
+ 6. Translate the synthesis into the design contract before touching `/canvas` or code.
45
+
46
+ ## What To Borrow From External Patterns
47
+
48
+ These cues should stay explicit in the pattern board:
49
+
50
+ - From Dimillian:
51
+ - start from the closest shipped screen family
52
+ - decide shell, route, overlay, async, and token ownership before implementation
53
+ - validate patterns in isolation before full integration
54
+ - From Vercel v0:
55
+ - specify structure, state, and constraints directly
56
+ - describe concrete interaction states instead of aesthetic buzzwords
57
+ - From Lovable:
58
+ - use real content and realistic journeys
59
+ - iterate one improvement axis at a time
60
+ - From public frontend-designer agents:
61
+ - inspect current stack and assets first
62
+ - combine aesthetics, accessibility, and implementation practicality in one review loop
63
+
64
+ ## OpenDevBrowser Command Pattern
65
+
66
+ ```bash
67
+ npx opendevbrowser launch --no-extension --start-url https://example.com
68
+ npx opendevbrowser goto --session-id <session-id> --url <reference-url>
69
+ npx opendevbrowser snapshot --session-id <session-id>
70
+ npx opendevbrowser screenshot --session-id <session-id>
71
+ npx opendevbrowser debug-trace-snapshot --session-id <session-id>
72
+ ```
73
+
74
+ Repeat this for each selected reference. Keep the resulting notes in one pattern board so the design contract has a visible source of truth.
75
+
76
+ ## Exit Criteria
77
+
78
+ - The pattern board lists at least `3` live references.
79
+ - Borrowed and rejected patterns are both explicit.
80
+ - The chosen design direction is justified by evidence, not taste alone.
81
+ - The resulting design contract names component families, state ownership, and validation targets before implementation starts.
@@ -0,0 +1,64 @@
1
+ # Scroll Reveal Surface Planning
2
+
3
+ Use this when narrative sequencing, pinned sections, or viewport-driven motion is part of the design instead of decorative afterthought.
4
+
5
+ ## 1. Declare The Driver First
6
+
7
+ Choose one progress owner before writing animation code:
8
+
9
+ - page-level normalized progress
10
+ - section-local reveal progress
11
+ - pinned stage index with explicit transitions
12
+
13
+ Do not mix multiple observers, ad-hoc scroll listeners, and independent card timers for the same narrative.
14
+
15
+ ## 2. Separate Layout From Motion
16
+
17
+ - layout owns reading order, overflow, and breakpoint behavior
18
+ - motion owns interpolation and reveal timing
19
+ - content owns message sequencing and copy density
20
+
21
+ If motion changes layout ownership, the design contract is incomplete.
22
+
23
+ ## 3. Reduced Motion Is Not Optional
24
+
25
+ Define the fallback up front:
26
+
27
+ - no pinning
28
+ - instant section reveal
29
+ - opacity-only transitions
30
+ - static ordering with no transform-based staging
31
+
32
+ The reduced-motion path should preserve comprehension, not merely disable animation.
33
+
34
+ ## 4. Keep Stages Explicit
35
+
36
+ For every scroll-driven surface, document:
37
+
38
+ - stage count
39
+ - trigger range
40
+ - sticky or pinned regions
41
+ - exit condition
42
+ - fallback behavior on mobile or short viewports
43
+
44
+ If the stage model cannot be written down, it is too implicit to ship safely.
45
+
46
+ ## 5. Browser Validation
47
+
48
+ Validate:
49
+
50
+ - mobile, tablet, and desktop viewport behavior
51
+ - keyboard and reading order while the effect is active
52
+ - console stability during scroll
53
+ - reduced-motion output
54
+ - no competing transforms across sibling sections
55
+
56
+ Use `snapshot`, `screenshot`, and `debug-trace-snapshot` on the real surface after the isolated preview passes.
57
+
58
+ ## Failure Signals
59
+
60
+ - each section owns its own scroll math
61
+ - pinned content traps focus or blocks reading order
62
+ - reduced-motion removes structure instead of motion only
63
+ - mobile collapses because the reveal model depends on tall desktop viewports
64
+ - the design cannot explain which value actually drives the reveal
@@ -0,0 +1,36 @@
1
+ # State Ownership Matrix
2
+
3
+ High-quality frontend work depends on deciding who owns state before component APIs or prompts expand. One state should have one clear owner.
4
+
5
+ | State kind | Primary owner | Typical examples | Avoid |
6
+ | --- | --- | --- | --- |
7
+ | Micro interaction state | Local component state | hover affordance, disclosure open state, input focus styling | lifting purely presentational state into global stores |
8
+ | Draft form state | Closest form controller or route-level model | unsaved edits, validation summary, staged submit payload | mirroring each field into unrelated sibling components |
9
+ | URL-addressable view state | URL or search params | filters, sort order, tabs, pagination, selected record id | hiding shareable or refresh-stable state in local component memory |
10
+ | Navigation and deep-link state | route owner or shell-level router | canonical route params, tab destination, invalid-param fallback, external entry translation | letting buttons and tabs build route strings independently |
11
+ | Remote async state | data layer or query cache | list fetch, optimistic mutations, background refresh | duplicating server state into local component snapshots without invalidation rules |
12
+ | Workspace or session state | app-level store or context | authenticated workspace, current project, cross-route inspector selection | pushing global state into prop chains when many routes need it |
13
+ | Overlay state | single route or feature owner | active modal item, drawer record id, command palette visibility | multiple booleans across siblings controlling one overlay |
14
+ | Canvas governance state | design contract and `/canvas` generation plan | plan acceptance, mutation requirements, validation targets | letting ad-hoc UI state bypass the contract |
15
+ | Scroll or motion progress | dedicated derived controller | section reveal progress, pinned story stage, viewport interpolation | separate observers per card with competing transforms |
16
+
17
+ ## Ownership Rules
18
+
19
+ - If state must survive refresh, it probably belongs in the URL, repo, or data layer.
20
+ - If state must coordinate more than one branch of the tree, write down the owner explicitly before coding.
21
+ - If state exists only to mirror props, remove it unless the component is intentionally editing a local draft.
22
+ - For overlays, prefer item identity or a single state object over boolean pairs like `isOpen` plus `selectedId`.
23
+ - For async flows, define loading, success, and failure ownership together so the UI does not split them across unrelated hooks.
24
+
25
+ ## Design-Agent Prompt Rules
26
+
27
+ When using this skill, declare:
28
+
29
+ - the owner of selection state
30
+ - the owner of navigation and deep-link translation
31
+ - the owner of async state
32
+ - the owner of overlay state
33
+ - whether view state belongs in the URL
34
+ - whether the `/canvas` plan or repo code is the mutation authority
35
+
36
+ If any of those are unclear, the contract is incomplete.
@@ -0,0 +1,43 @@
1
+ # Theming And Token Ownership
2
+
3
+ Use this when the design task touches visual direction, design systems, or any reusable UI surface that should remain consistent over time.
4
+
5
+ ## 1. Keep One Semantic Token Source
6
+
7
+ Choose one owner for shared visual tokens:
8
+
9
+ - app root or workspace shell for global theme values
10
+ - feature shell only when the product intentionally supports a local variant
11
+
12
+ The token source should define semantic values such as background, surface, text, accent, spacing, radius, shadow, and motion tiers.
13
+
14
+ ## 2. Keep Components Semantic
15
+
16
+ - consume semantic tokens instead of raw hex values or one-off spacing constants
17
+ - let typography, spacing, and motion inherit from the same token system when possible
18
+ - reserve raw values for rare one-off illustration or algorithmic art cases, not routine UI structure
19
+
20
+ This keeps visual changes centralized and makes previews and audits easier to trust.
21
+
22
+ ## 3. Theme Controls Need An Owner
23
+
24
+ - user theme preferences belong in settings or an app-level controller
25
+ - temporary campaign or feature skins must still map back to semantic tokens
26
+ - previews and isolated fixtures should install the same token source the real UI expects
27
+
28
+ Do not let a leaf component quietly become the token authority.
29
+
30
+ ## 4. Review Prompts
31
+
32
+ 1. Where is the canonical token source?
33
+ 2. Which semantic tokens does this surface rely on?
34
+ 3. Are any raw values hiding inside repeated components?
35
+ 4. Does the preview or fixture install the same theme owner as the integrated screen?
36
+ 5. If the product supports theming controls, who owns them?
37
+
38
+ ## Failure Signals
39
+
40
+ - repeated components hardcode their own colors or spacing
41
+ - the visual direction depends on raw values scattered across leaves
42
+ - preview fixtures do not install the theme or token owner required by production
43
+ - feature-local overrides drift away from the semantic token vocabulary