@vibesdotdev/control 0.0.0-stage → 1.0.0-rc.3

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 (523) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +90 -2
  3. package/dist/browser/browser.cloud.plugin.d.ts +21 -0
  4. package/dist/browser/browser.cloud.plugin.d.ts.map +1 -0
  5. package/dist/browser/browser.cloud.plugin.js +37 -0
  6. package/dist/browser/browser.cloud.plugin.js.map +1 -0
  7. package/dist/browser/browser.consumer.plugin.d.ts +4 -0
  8. package/dist/browser/browser.consumer.plugin.d.ts.map +1 -0
  9. package/dist/browser/browser.consumer.plugin.js +77 -0
  10. package/dist/browser/browser.consumer.plugin.js.map +1 -0
  11. package/dist/browser/browser.plugin.d.ts +3 -0
  12. package/dist/browser/browser.plugin.d.ts.map +1 -0
  13. package/dist/browser/browser.plugin.js +3 -0
  14. package/dist/browser/browser.plugin.js.map +1 -0
  15. package/dist/browser/bun/webview.backend.d.ts +23 -0
  16. package/dist/browser/bun/webview.backend.d.ts.map +1 -0
  17. package/dist/browser/bun/webview.backend.js +262 -0
  18. package/dist/browser/bun/webview.backend.js.map +1 -0
  19. package/dist/browser/bun/webview.descriptor.d.ts +21 -0
  20. package/dist/browser/bun/webview.descriptor.d.ts.map +1 -0
  21. package/dist/browser/bun/webview.descriptor.js +21 -0
  22. package/dist/browser/bun/webview.descriptor.js.map +1 -0
  23. package/dist/browser/bun/webview.plugin.d.ts +3 -0
  24. package/dist/browser/bun/webview.plugin.d.ts.map +1 -0
  25. package/dist/browser/bun/webview.plugin.js +24 -0
  26. package/dist/browser/bun/webview.plugin.js.map +1 -0
  27. package/dist/browser/client/browser-client.d.ts +92 -0
  28. package/dist/browser/client/browser-client.d.ts.map +1 -0
  29. package/dist/browser/client/browser-client.js +138 -0
  30. package/dist/browser/client/browser-client.js.map +1 -0
  31. package/dist/browser/client/workspace-client.d.ts +29 -0
  32. package/dist/browser/client/workspace-client.d.ts.map +1 -0
  33. package/dist/browser/client/workspace-client.js +38 -0
  34. package/dist/browser/client/workspace-client.js.map +1 -0
  35. package/dist/browser/contracts.d.ts +246 -0
  36. package/dist/browser/contracts.d.ts.map +1 -0
  37. package/dist/browser/contracts.js +38 -0
  38. package/dist/browser/contracts.js.map +1 -0
  39. package/dist/browser/index.d.ts +6 -0
  40. package/dist/browser/index.d.ts.map +1 -0
  41. package/dist/browser/index.js +7 -0
  42. package/dist/browser/index.js.map +1 -0
  43. package/dist/browser/plugin.d.ts +3 -0
  44. package/dist/browser/plugin.d.ts.map +1 -0
  45. package/dist/browser/plugin.js +3 -0
  46. package/dist/browser/plugin.js.map +1 -0
  47. package/dist/browser/runtime/backend/kind.d.ts +23 -0
  48. package/dist/browser/runtime/backend/kind.d.ts.map +1 -0
  49. package/dist/browser/runtime/backend/kind.js +12 -0
  50. package/dist/browser/runtime/backend/kind.js.map +1 -0
  51. package/dist/browser/runtime/backend/playwright.descriptor.d.ts +20 -0
  52. package/dist/browser/runtime/backend/playwright.descriptor.d.ts.map +1 -0
  53. package/dist/browser/runtime/backend/playwright.descriptor.js +20 -0
  54. package/dist/browser/runtime/backend/playwright.descriptor.js.map +1 -0
  55. package/dist/browser/runtime/backend/resolve.d.ts +8 -0
  56. package/dist/browser/runtime/backend/resolve.d.ts.map +1 -0
  57. package/dist/browser/runtime/backend/resolve.js +43 -0
  58. package/dist/browser/runtime/backend/resolve.js.map +1 -0
  59. package/dist/browser/runtime/backend/types.d.ts +12 -0
  60. package/dist/browser/runtime/backend/types.d.ts.map +1 -0
  61. package/dist/browser/runtime/backend/types.js +12 -0
  62. package/dist/browser/runtime/backend/types.js.map +1 -0
  63. package/dist/browser/runtime/backends/playwright.backend.d.ts +71 -0
  64. package/dist/browser/runtime/backends/playwright.backend.d.ts.map +1 -0
  65. package/dist/browser/runtime/backends/playwright.backend.js +177 -0
  66. package/dist/browser/runtime/backends/playwright.backend.js.map +1 -0
  67. package/dist/browser/runtime/index.d.ts +3 -0
  68. package/dist/browser/runtime/index.d.ts.map +1 -0
  69. package/dist/browser/runtime/index.js +2 -0
  70. package/dist/browser/runtime/index.js.map +1 -0
  71. package/dist/browser/runtime/launcher.d.ts +18 -0
  72. package/dist/browser/runtime/launcher.d.ts.map +1 -0
  73. package/dist/browser/runtime/launcher.js +123 -0
  74. package/dist/browser/runtime/launcher.js.map +1 -0
  75. package/dist/browser/runtime/manager-host.d.ts +22 -0
  76. package/dist/browser/runtime/manager-host.d.ts.map +1 -0
  77. package/dist/browser/runtime/manager-host.js +102 -0
  78. package/dist/browser/runtime/manager-host.js.map +1 -0
  79. package/dist/browser/runtime/manager.context.d.ts +19 -0
  80. package/dist/browser/runtime/manager.context.d.ts.map +1 -0
  81. package/dist/browser/runtime/manager.context.descriptor.d.ts +30 -0
  82. package/dist/browser/runtime/manager.context.descriptor.d.ts.map +1 -0
  83. package/dist/browser/runtime/manager.context.descriptor.js +7 -0
  84. package/dist/browser/runtime/manager.context.descriptor.js.map +1 -0
  85. package/dist/browser/runtime/manager.context.impl.consumer.d.ts +6 -0
  86. package/dist/browser/runtime/manager.context.impl.consumer.d.ts.map +1 -0
  87. package/dist/browser/runtime/manager.context.impl.consumer.js +7 -0
  88. package/dist/browser/runtime/manager.context.impl.consumer.js.map +1 -0
  89. package/dist/browser/runtime/manager.context.js +19 -0
  90. package/dist/browser/runtime/manager.context.js.map +1 -0
  91. package/dist/browser/runtime/manager.d.ts +97 -0
  92. package/dist/browser/runtime/manager.d.ts.map +1 -0
  93. package/dist/browser/runtime/manager.js +731 -0
  94. package/dist/browser/runtime/manager.js.map +1 -0
  95. package/dist/browser/runtime/safe-url.d.ts +27 -0
  96. package/dist/browser/runtime/safe-url.d.ts.map +1 -0
  97. package/dist/browser/runtime/safe-url.js +77 -0
  98. package/dist/browser/runtime/safe-url.js.map +1 -0
  99. package/dist/browser/runtime/session-lease.d.ts +24 -0
  100. package/dist/browser/runtime/session-lease.d.ts.map +1 -0
  101. package/dist/browser/runtime/session-lease.js +65 -0
  102. package/dist/browser/runtime/session-lease.js.map +1 -0
  103. package/dist/browser/runtime/step-executor.d.ts +14 -0
  104. package/dist/browser/runtime/step-executor.d.ts.map +1 -0
  105. package/dist/browser/runtime/step-executor.js +97 -0
  106. package/dist/browser/runtime/step-executor.js.map +1 -0
  107. package/dist/browser/runtime/types.d.ts +54 -0
  108. package/dist/browser/runtime/types.d.ts.map +1 -0
  109. package/dist/browser/runtime/types.js +5 -0
  110. package/dist/browser/runtime/types.js.map +1 -0
  111. package/dist/browser/schemas/backend.d.ts +79 -0
  112. package/dist/browser/schemas/backend.d.ts.map +1 -0
  113. package/dist/browser/schemas/backend.js +33 -0
  114. package/dist/browser/schemas/backend.js.map +1 -0
  115. package/dist/browser/schemas/cli.d.ts +55 -0
  116. package/dist/browser/schemas/cli.d.ts.map +1 -0
  117. package/dist/browser/schemas/cli.js +37 -0
  118. package/dist/browser/schemas/cli.js.map +1 -0
  119. package/dist/browser/schemas/client.d.ts +28 -0
  120. package/dist/browser/schemas/client.d.ts.map +1 -0
  121. package/dist/browser/schemas/client.js +7 -0
  122. package/dist/browser/schemas/client.js.map +1 -0
  123. package/dist/browser/schemas/page.d.ts +71 -0
  124. package/dist/browser/schemas/page.d.ts.map +1 -0
  125. package/dist/browser/schemas/page.js +32 -0
  126. package/dist/browser/schemas/page.js.map +1 -0
  127. package/dist/browser/schemas/profile.d.ts +14 -0
  128. package/dist/browser/schemas/profile.d.ts.map +1 -0
  129. package/dist/browser/schemas/profile.js +14 -0
  130. package/dist/browser/schemas/profile.js.map +1 -0
  131. package/dist/browser/schemas/recipe.d.ts +218 -0
  132. package/dist/browser/schemas/recipe.d.ts.map +1 -0
  133. package/dist/browser/schemas/recipe.js +91 -0
  134. package/dist/browser/schemas/recipe.js.map +1 -0
  135. package/dist/browser/schemas/session.d.ts +42 -0
  136. package/dist/browser/schemas/session.d.ts.map +1 -0
  137. package/dist/browser/schemas/session.js +22 -0
  138. package/dist/browser/schemas/session.js.map +1 -0
  139. package/dist/browser/schemas/tab.d.ts +38 -0
  140. package/dist/browser/schemas/tab.d.ts.map +1 -0
  141. package/dist/browser/schemas/tab.js +20 -0
  142. package/dist/browser/schemas/tab.js.map +1 -0
  143. package/dist/browser/schemas/tool-card.d.ts +68 -0
  144. package/dist/browser/schemas/tool-card.d.ts.map +1 -0
  145. package/dist/browser/schemas/tool-card.js +29 -0
  146. package/dist/browser/schemas/tool-card.js.map +1 -0
  147. package/dist/browser/schemas/webview.d.ts +40 -0
  148. package/dist/browser/schemas/webview.d.ts.map +1 -0
  149. package/dist/browser/schemas/webview.js +5 -0
  150. package/dist/browser/schemas/webview.js.map +1 -0
  151. package/dist/browser/schemas/workspace.d.ts +8 -0
  152. package/dist/browser/schemas/workspace.d.ts.map +1 -0
  153. package/dist/browser/schemas/workspace.js +7 -0
  154. package/dist/browser/schemas/workspace.js.map +1 -0
  155. package/dist/browser/shared/ai-client.d.ts +26 -0
  156. package/dist/browser/shared/ai-client.d.ts.map +1 -0
  157. package/dist/browser/shared/ai-client.js +27 -0
  158. package/dist/browser/shared/ai-client.js.map +1 -0
  159. package/dist/browser/shared/ai-request.d.ts +26 -0
  160. package/dist/browser/shared/ai-request.d.ts.map +1 -0
  161. package/dist/browser/shared/ai-request.js +32 -0
  162. package/dist/browser/shared/ai-request.js.map +1 -0
  163. package/dist/browser/shared/cleanup.d.ts +5 -0
  164. package/dist/browser/shared/cleanup.d.ts.map +1 -0
  165. package/dist/browser/shared/cleanup.js +15 -0
  166. package/dist/browser/shared/cleanup.js.map +1 -0
  167. package/dist/browser/shared/constants.d.ts +19 -0
  168. package/dist/browser/shared/constants.d.ts.map +1 -0
  169. package/dist/browser/shared/constants.js +13 -0
  170. package/dist/browser/shared/constants.js.map +1 -0
  171. package/dist/browser/shared/json.d.ts +5 -0
  172. package/dist/browser/shared/json.d.ts.map +1 -0
  173. package/dist/browser/shared/json.js +3 -0
  174. package/dist/browser/shared/json.js.map +1 -0
  175. package/dist/browser/shared/paths.d.ts +33 -0
  176. package/dist/browser/shared/paths.d.ts.map +1 -0
  177. package/dist/browser/shared/paths.js +55 -0
  178. package/dist/browser/shared/paths.js.map +1 -0
  179. package/dist/browser/shared/steps.d.ts +82 -0
  180. package/dist/browser/shared/steps.d.ts.map +1 -0
  181. package/dist/browser/shared/steps.js +88 -0
  182. package/dist/browser/shared/steps.js.map +1 -0
  183. package/dist/browser/shared/storage-state.d.ts +23 -0
  184. package/dist/browser/shared/storage-state.d.ts.map +1 -0
  185. package/dist/browser/shared/storage-state.js +5 -0
  186. package/dist/browser/shared/storage-state.js.map +1 -0
  187. package/dist/browser/shared/tool-summary.d.ts +48 -0
  188. package/dist/browser/shared/tool-summary.d.ts.map +1 -0
  189. package/dist/browser/shared/tool-summary.js +183 -0
  190. package/dist/browser/shared/tool-summary.js.map +1 -0
  191. package/dist/browser/storage/browser-profile.record.descriptor.d.ts +28 -0
  192. package/dist/browser/storage/browser-profile.record.descriptor.d.ts.map +1 -0
  193. package/dist/browser/storage/browser-profile.record.descriptor.js +129 -0
  194. package/dist/browser/storage/browser-profile.record.descriptor.js.map +1 -0
  195. package/dist/browser/storage/browser-recipe.record.descriptor.d.ts +29 -0
  196. package/dist/browser/storage/browser-recipe.record.descriptor.d.ts.map +1 -0
  197. package/dist/browser/storage/browser-recipe.record.descriptor.js +103 -0
  198. package/dist/browser/storage/browser-recipe.record.descriptor.js.map +1 -0
  199. package/dist/browser/storage/browser-session.record.descriptor.d.ts +28 -0
  200. package/dist/browser/storage/browser-session.record.descriptor.d.ts.map +1 -0
  201. package/dist/browser/storage/browser-session.record.descriptor.js +147 -0
  202. package/dist/browser/storage/browser-session.record.descriptor.js.map +1 -0
  203. package/dist/browser/storage/browser-tab.record.descriptor.d.ts +28 -0
  204. package/dist/browser/storage/browser-tab.record.descriptor.d.ts.map +1 -0
  205. package/dist/browser/storage/browser-tab.record.descriptor.js +153 -0
  206. package/dist/browser/storage/browser-tab.record.descriptor.js.map +1 -0
  207. package/dist/browser/storage/database.d.ts +9 -0
  208. package/dist/browser/storage/database.d.ts.map +1 -0
  209. package/dist/browser/storage/database.js +16 -0
  210. package/dist/browser/storage/database.js.map +1 -0
  211. package/dist/browser/storage/index.d.ts +6 -0
  212. package/dist/browser/storage/index.d.ts.map +1 -0
  213. package/dist/browser/storage/index.js +5 -0
  214. package/dist/browser/storage/index.js.map +1 -0
  215. package/dist/browser/storage/types.d.ts +78 -0
  216. package/dist/browser/storage/types.d.ts.map +1 -0
  217. package/dist/browser/storage/types.js +5 -0
  218. package/dist/browser/storage/types.js.map +1 -0
  219. package/dist/browser/tools/cdp/implementation.d.ts +6 -0
  220. package/dist/browser/tools/cdp/implementation.d.ts.map +1 -0
  221. package/dist/browser/tools/cdp/implementation.js +20 -0
  222. package/dist/browser/tools/cdp/implementation.js.map +1 -0
  223. package/dist/browser/tools/control/implementation.d.ts +7 -0
  224. package/dist/browser/tools/control/implementation.d.ts.map +1 -0
  225. package/dist/browser/tools/control/implementation.js +185 -0
  226. package/dist/browser/tools/control/implementation.js.map +1 -0
  227. package/dist/browser/tools/control/prompts/index.d.ts +113 -0
  228. package/dist/browser/tools/control/prompts/index.d.ts.map +1 -0
  229. package/dist/browser/tools/control/prompts/index.js +5 -0
  230. package/dist/browser/tools/control/prompts/index.js.map +1 -0
  231. package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.d.ts +114 -0
  232. package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.d.ts.map +1 -0
  233. package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.js +57 -0
  234. package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.js.map +1 -0
  235. package/dist/browser/tools/control/prompts/planner.prompt.descriptor.d.ts +113 -0
  236. package/dist/browser/tools/control/prompts/planner.prompt.descriptor.d.ts.map +1 -0
  237. package/dist/browser/tools/control/prompts/planner.prompt.descriptor.js +15 -0
  238. package/dist/browser/tools/control/prompts/planner.prompt.descriptor.js.map +1 -0
  239. package/dist/browser/tools/control/schemas.d.ts +220 -0
  240. package/dist/browser/tools/control/schemas.d.ts.map +1 -0
  241. package/dist/browser/tools/control/schemas.js +49 -0
  242. package/dist/browser/tools/control/schemas.js.map +1 -0
  243. package/dist/browser/tools/direct/implementation.d.ts +7 -0
  244. package/dist/browser/tools/direct/implementation.d.ts.map +1 -0
  245. package/dist/browser/tools/direct/implementation.js +63 -0
  246. package/dist/browser/tools/direct/implementation.js.map +1 -0
  247. package/dist/browser/tools/direct/schemas.d.ts +209 -0
  248. package/dist/browser/tools/direct/schemas.d.ts.map +1 -0
  249. package/dist/browser/tools/direct/schemas.js +68 -0
  250. package/dist/browser/tools/direct/schemas.js.map +1 -0
  251. package/dist/browser/tools/index.d.ts +9 -0
  252. package/dist/browser/tools/index.d.ts.map +1 -0
  253. package/dist/browser/tools/index.js +9 -0
  254. package/dist/browser/tools/index.js.map +1 -0
  255. package/dist/browser/tools/observe/implementation.d.ts +7 -0
  256. package/dist/browser/tools/observe/implementation.d.ts.map +1 -0
  257. package/dist/browser/tools/observe/implementation.js +59 -0
  258. package/dist/browser/tools/observe/implementation.js.map +1 -0
  259. package/dist/browser/tools/observe/schemas.d.ts +63 -0
  260. package/dist/browser/tools/observe/schemas.d.ts.map +1 -0
  261. package/dist/browser/tools/observe/schemas.js +38 -0
  262. package/dist/browser/tools/observe/schemas.js.map +1 -0
  263. package/dist/browser/tools/observe/vision.d.ts +21 -0
  264. package/dist/browser/tools/observe/vision.d.ts.map +1 -0
  265. package/dist/browser/tools/observe/vision.js +73 -0
  266. package/dist/browser/tools/observe/vision.js.map +1 -0
  267. package/dist/browser/tools/recipe/implementation.d.ts +4 -0
  268. package/dist/browser/tools/recipe/implementation.d.ts.map +1 -0
  269. package/dist/browser/tools/recipe/implementation.js +259 -0
  270. package/dist/browser/tools/recipe/implementation.js.map +1 -0
  271. package/dist/browser/tools/recipe/schemas.d.ts +646 -0
  272. package/dist/browser/tools/recipe/schemas.d.ts.map +1 -0
  273. package/dist/browser/tools/recipe/schemas.js +126 -0
  274. package/dist/browser/tools/recipe/schemas.js.map +1 -0
  275. package/dist/browser/tools/session/implementation.d.ts +7 -0
  276. package/dist/browser/tools/session/implementation.d.ts.map +1 -0
  277. package/dist/browser/tools/session/implementation.js +111 -0
  278. package/dist/browser/tools/session/implementation.js.map +1 -0
  279. package/dist/browser/tools/session/index.d.ts +5 -0
  280. package/dist/browser/tools/session/index.d.ts.map +1 -0
  281. package/dist/browser/tools/session/index.js +6 -0
  282. package/dist/browser/tools/session/index.js.map +1 -0
  283. package/dist/browser/tools/session/schemas.d.ts +78 -0
  284. package/dist/browser/tools/session/schemas.d.ts.map +1 -0
  285. package/dist/browser/tools/session/schemas.js +60 -0
  286. package/dist/browser/tools/session/schemas.js.map +1 -0
  287. package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.d.ts +114 -0
  288. package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.d.ts.map +1 -0
  289. package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.js +22 -0
  290. package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.js.map +1 -0
  291. package/dist/browser/tools/unified/browser.impl.cloud.d.ts +8 -0
  292. package/dist/browser/tools/unified/browser.impl.cloud.d.ts.map +1 -0
  293. package/dist/browser/tools/unified/browser.impl.cloud.js +381 -0
  294. package/dist/browser/tools/unified/browser.impl.cloud.js.map +1 -0
  295. package/dist/browser/tools/unified/browser.impl.consumer.d.ts +14 -0
  296. package/dist/browser/tools/unified/browser.impl.consumer.d.ts.map +1 -0
  297. package/dist/browser/tools/unified/browser.impl.consumer.js +87 -0
  298. package/dist/browser/tools/unified/browser.impl.consumer.js.map +1 -0
  299. package/dist/browser/tools/unified/browser.unified.descriptor.d.ts +587 -0
  300. package/dist/browser/tools/unified/browser.unified.descriptor.d.ts.map +1 -0
  301. package/dist/browser/tools/unified/browser.unified.descriptor.js +54 -0
  302. package/dist/browser/tools/unified/browser.unified.descriptor.js.map +1 -0
  303. package/dist/browser/tools/unified/execution-binding.d.ts +5 -0
  304. package/dist/browser/tools/unified/execution-binding.d.ts.map +1 -0
  305. package/dist/browser/tools/unified/execution-binding.js +51 -0
  306. package/dist/browser/tools/unified/execution-binding.js.map +1 -0
  307. package/dist/browser/tools/unified/index.d.ts +5 -0
  308. package/dist/browser/tools/unified/index.d.ts.map +1 -0
  309. package/dist/browser/tools/unified/index.js +6 -0
  310. package/dist/browser/tools/unified/index.js.map +1 -0
  311. package/dist/browser/tools/unified/scan-cache-wiring.d.ts +16 -0
  312. package/dist/browser/tools/unified/scan-cache-wiring.d.ts.map +1 -0
  313. package/dist/browser/tools/unified/scan-cache-wiring.js +87 -0
  314. package/dist/browser/tools/unified/scan-cache-wiring.js.map +1 -0
  315. package/dist/browser/tools/unified/schemas.d.ts +786 -0
  316. package/dist/browser/tools/unified/schemas.d.ts.map +1 -0
  317. package/dist/browser/tools/unified/schemas.js +354 -0
  318. package/dist/browser/tools/unified/schemas.js.map +1 -0
  319. package/dist/browser/tools/webmcp/detection-script.d.ts +19 -0
  320. package/dist/browser/tools/webmcp/detection-script.d.ts.map +1 -0
  321. package/dist/browser/tools/webmcp/detection-script.js +104 -0
  322. package/dist/browser/tools/webmcp/detection-script.js.map +1 -0
  323. package/dist/browser/tools/webmcp/implementation.d.ts +18 -0
  324. package/dist/browser/tools/webmcp/implementation.d.ts.map +1 -0
  325. package/dist/browser/tools/webmcp/implementation.js +61 -0
  326. package/dist/browser/tools/webmcp/implementation.js.map +1 -0
  327. package/dist/cli/browser/browser.cli-group.descriptor.d.ts +17 -0
  328. package/dist/cli/browser/browser.cli-group.descriptor.d.ts.map +1 -0
  329. package/dist/cli/browser/browser.cli-group.descriptor.js +17 -0
  330. package/dist/cli/browser/browser.cli-group.descriptor.js.map +1 -0
  331. package/dist/cli/browser/browser.cli.plugin.d.ts +12 -0
  332. package/dist/cli/browser/browser.cli.plugin.d.ts.map +1 -0
  333. package/dist/cli/browser/browser.cli.plugin.js +179 -0
  334. package/dist/cli/browser/browser.cli.plugin.js.map +1 -0
  335. package/dist/cli/browser/browser.recipe.cli-group.descriptor.d.ts +18 -0
  336. package/dist/cli/browser/browser.recipe.cli-group.descriptor.d.ts.map +1 -0
  337. package/dist/cli/browser/browser.recipe.cli-group.descriptor.js +18 -0
  338. package/dist/cli/browser/browser.recipe.cli-group.descriptor.js.map +1 -0
  339. package/dist/cli/browser/browser.session.cli-group.descriptor.d.ts +18 -0
  340. package/dist/cli/browser/browser.session.cli-group.descriptor.d.ts.map +1 -0
  341. package/dist/cli/browser/browser.session.cli-group.descriptor.js +18 -0
  342. package/dist/cli/browser/browser.session.cli-group.descriptor.js.map +1 -0
  343. package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.d.ts +36 -0
  344. package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.d.ts.map +1 -0
  345. package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.js +29 -0
  346. package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.js.map +1 -0
  347. package/dist/cli/browser/commands/control/browser.control.impl.d.ts +7 -0
  348. package/dist/cli/browser/commands/control/browser.control.impl.d.ts.map +1 -0
  349. package/dist/cli/browser/commands/control/browser.control.impl.js +67 -0
  350. package/dist/cli/browser/commands/control/browser.control.impl.js.map +1 -0
  351. package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.d.ts +38 -0
  352. package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.d.ts.map +1 -0
  353. package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.js +28 -0
  354. package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.js.map +1 -0
  355. package/dist/cli/browser/commands/direct/browser.direct.impl.d.ts +7 -0
  356. package/dist/cli/browser/commands/direct/browser.direct.impl.d.ts.map +1 -0
  357. package/dist/cli/browser/commands/direct/browser.direct.impl.js +85 -0
  358. package/dist/cli/browser/commands/direct/browser.direct.impl.js.map +1 -0
  359. package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.d.ts +30 -0
  360. package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.d.ts.map +1 -0
  361. package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.js +22 -0
  362. package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.js.map +1 -0
  363. package/dist/cli/browser/commands/observe/browser.observe.impl.d.ts +7 -0
  364. package/dist/cli/browser/commands/observe/browser.observe.impl.d.ts.map +1 -0
  365. package/dist/cli/browser/commands/observe/browser.observe.impl.js +59 -0
  366. package/dist/cli/browser/commands/observe/browser.observe.impl.js.map +1 -0
  367. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.d.ts +38 -0
  368. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.d.ts.map +1 -0
  369. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.js +26 -0
  370. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.js.map +1 -0
  371. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.d.ts +7 -0
  372. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.d.ts.map +1 -0
  373. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.js +60 -0
  374. package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.js.map +1 -0
  375. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.d.ts +25 -0
  376. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.d.ts.map +1 -0
  377. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.js +22 -0
  378. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.js.map +1 -0
  379. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.d.ts +7 -0
  380. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.d.ts.map +1 -0
  381. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.js +35 -0
  382. package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.js.map +1 -0
  383. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.d.ts +25 -0
  384. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.d.ts.map +1 -0
  385. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.js +22 -0
  386. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.js.map +1 -0
  387. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.d.ts +7 -0
  388. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.d.ts.map +1 -0
  389. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.js +88 -0
  390. package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.js.map +1 -0
  391. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.d.ts +20 -0
  392. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.d.ts.map +1 -0
  393. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.js +19 -0
  394. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.js.map +1 -0
  395. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.d.ts +7 -0
  396. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.d.ts.map +1 -0
  397. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.js +34 -0
  398. package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.js.map +1 -0
  399. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.d.ts +37 -0
  400. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.d.ts.map +1 -0
  401. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.js +26 -0
  402. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.js.map +1 -0
  403. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.d.ts +7 -0
  404. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.d.ts.map +1 -0
  405. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.js +88 -0
  406. package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.js.map +1 -0
  407. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.d.ts +37 -0
  408. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.d.ts.map +1 -0
  409. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.js +26 -0
  410. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.js.map +1 -0
  411. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.d.ts +7 -0
  412. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.d.ts.map +1 -0
  413. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.js +63 -0
  414. package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.js.map +1 -0
  415. package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.d.ts +28 -0
  416. package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.d.ts.map +1 -0
  417. package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.js +23 -0
  418. package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.js.map +1 -0
  419. package/dist/cli/browser/commands/session/close/browser.session.close.impl.d.ts +35 -0
  420. package/dist/cli/browser/commands/session/close/browser.session.close.impl.d.ts.map +1 -0
  421. package/dist/cli/browser/commands/session/close/browser.session.close.impl.js +75 -0
  422. package/dist/cli/browser/commands/session/close/browser.session.close.impl.js.map +1 -0
  423. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.d.ts +16 -0
  424. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.d.ts.map +1 -0
  425. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.js +16 -0
  426. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.js.map +1 -0
  427. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.d.ts +7 -0
  428. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.d.ts.map +1 -0
  429. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.js +14 -0
  430. package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.js.map +1 -0
  431. package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.d.ts +25 -0
  432. package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.d.ts.map +1 -0
  433. package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.js +22 -0
  434. package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.js.map +1 -0
  435. package/dist/cli/browser/commands/session/get/browser.session.get.impl.d.ts +18 -0
  436. package/dist/cli/browser/commands/session/get/browser.session.get.impl.d.ts.map +1 -0
  437. package/dist/cli/browser/commands/session/get/browser.session.get.impl.js +61 -0
  438. package/dist/cli/browser/commands/session/get/browser.session.get.impl.js.map +1 -0
  439. package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.d.ts +27 -0
  440. package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.d.ts.map +1 -0
  441. package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.js +24 -0
  442. package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.js.map +1 -0
  443. package/dist/cli/browser/commands/session/list/browser.session.list.impl.d.ts +22 -0
  444. package/dist/cli/browser/commands/session/list/browser.session.list.impl.d.ts.map +1 -0
  445. package/dist/cli/browser/commands/session/list/browser.session.list.impl.js +73 -0
  446. package/dist/cli/browser/commands/session/list/browser.session.list.impl.js.map +1 -0
  447. package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.d.ts +25 -0
  448. package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.d.ts.map +1 -0
  449. package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.js +22 -0
  450. package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.js.map +1 -0
  451. package/dist/cli/browser/commands/session/present/browser.session.present.impl.d.ts +7 -0
  452. package/dist/cli/browser/commands/session/present/browser.session.present.impl.d.ts.map +1 -0
  453. package/dist/cli/browser/commands/session/present/browser.session.present.impl.js +29 -0
  454. package/dist/cli/browser/commands/session/present/browser.session.present.impl.js.map +1 -0
  455. package/dist/cli/browser/commands/session/resolve-session.d.ts +19 -0
  456. package/dist/cli/browser/commands/session/resolve-session.d.ts.map +1 -0
  457. package/dist/cli/browser/commands/session/resolve-session.js +11 -0
  458. package/dist/cli/browser/commands/session/resolve-session.js.map +1 -0
  459. package/dist/cli/browser/commands/session/session-age.d.ts +6 -0
  460. package/dist/cli/browser/commands/session/session-age.d.ts.map +1 -0
  461. package/dist/cli/browser/commands/session/session-age.js +34 -0
  462. package/dist/cli/browser/commands/session/session-age.js.map +1 -0
  463. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.d.ts +26 -0
  464. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.d.ts.map +1 -0
  465. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.js +24 -0
  466. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.js.map +1 -0
  467. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.d.ts +32 -0
  468. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.d.ts.map +1 -0
  469. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.js +112 -0
  470. package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.js.map +1 -0
  471. package/dist/index.d.ts +25 -0
  472. package/dist/index.d.ts.map +1 -0
  473. package/dist/index.js +24 -0
  474. package/dist/index.js.map +1 -0
  475. package/dist/svelte/browser/BrowserWorkspace.svelte +450 -0
  476. package/dist/svelte/browser/BrowserWorkspace.svelte.d.ts +20 -0
  477. package/dist/svelte/browser/BrowserWorkspace.svelte.d.ts.map +1 -0
  478. package/dist/svelte/browser/browser-automation-svelte.plugin.d.ts +3 -0
  479. package/dist/svelte/browser/browser-automation-svelte.plugin.d.ts.map +1 -0
  480. package/dist/svelte/browser/browser-automation-svelte.plugin.js +25 -0
  481. package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.d.ts +4 -0
  482. package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.d.ts.map +1 -0
  483. package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.js +55 -0
  484. package/dist/svelte/browser/index.d.ts +6 -0
  485. package/dist/svelte/browser/index.d.ts.map +1 -0
  486. package/dist/svelte/browser/index.js +4 -0
  487. package/dist/svelte/browser/state.svelte.d.ts +28 -0
  488. package/dist/svelte/browser/state.svelte.d.ts.map +1 -0
  489. package/dist/svelte/browser/state.svelte.js +87 -0
  490. package/dist/svelte/browser/styles.css +10 -0
  491. package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte +268 -0
  492. package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte.d.ts +10 -0
  493. package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte.d.ts.map +1 -0
  494. package/dist/svelte/browser/tool-widgets/index.d.ts +2 -0
  495. package/dist/svelte/browser/tool-widgets/index.d.ts.map +1 -0
  496. package/dist/svelte/browser/tool-widgets/index.js +1 -0
  497. package/dist/svelte/browser/tool-widgets/summary.d.ts +2 -0
  498. package/dist/svelte/browser/tool-widgets/summary.d.ts.map +1 -0
  499. package/dist/svelte/browser/tool-widgets/summary.js +1 -0
  500. package/dist/svelte/browser/types.d.ts +16 -0
  501. package/dist/svelte/browser/types.d.ts.map +1 -0
  502. package/dist/svelte/browser/types.js +1 -0
  503. package/dist/tui/browser/browser-sessions.app.descriptor.d.ts +33 -0
  504. package/dist/tui/browser/browser-sessions.app.descriptor.d.ts.map +1 -0
  505. package/dist/tui/browser/browser-sessions.app.descriptor.js +33 -0
  506. package/dist/tui/browser/browser-sessions.app.descriptor.js.map +1 -0
  507. package/dist/tui/browser/browser-sessions.app.impl.d.ts +4 -0
  508. package/dist/tui/browser/browser-sessions.app.impl.d.ts.map +1 -0
  509. package/dist/tui/browser/browser-sessions.app.impl.js +231 -0
  510. package/dist/tui/browser/browser-sessions.app.impl.js.map +1 -0
  511. package/dist/tui/browser/browser.tui.plugin.d.ts +13 -0
  512. package/dist/tui/browser/browser.tui.plugin.d.ts.map +1 -0
  513. package/dist/tui/browser/browser.tui.plugin.js +52 -0
  514. package/dist/tui/browser/browser.tui.plugin.js.map +1 -0
  515. package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.d.ts +4 -0
  516. package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.d.ts.map +1 -0
  517. package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.js +31 -0
  518. package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.js.map +1 -0
  519. package/dist/tui/browser/tool-widgets/summary.d.ts +40 -0
  520. package/dist/tui/browser/tool-widgets/summary.d.ts.map +1 -0
  521. package/dist/tui/browser/tool-widgets/summary.js +16 -0
  522. package/dist/tui/browser/tool-widgets/summary.js.map +1 -0
  523. package/package.json +212 -4
package/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 VIBES DEV LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ associated documentation files (the "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
9
+ following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all copies or substantial
12
+ portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15
+ LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
16
+ EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
18
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,91 @@
1
- # Temporary Holding Version
1
+ # @vibesdotdev/control
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Drive a substrate: kinds, descriptors, and base implementations for opening a
4
+ session on it, acting, observing, and disposing.
5
+
6
+ Control owns the **drive** verb. It does not provision the substrate
7
+ (`@vibesdotdev/infra-core`) and it does not decide where work runs (fleet hosts
8
+ in `@vibesdotdev/platform`, CI runs in `@vibesdotdev/forge`). Concrete
9
+ providers behind its seams live in the `integrations-*` family. The first
10
+ driver is browser automation, which moved here from `@vibesdotdev/bridge`;
11
+ bridge now consumes this package and keeps a transitional re-export layer for
12
+ unmigrated consumers.
13
+
14
+ ## Install
15
+
16
+ ```bash
17
+ bun add @vibesdotdev/control
18
+ ```
19
+
20
+ ## Surfaces
21
+
22
+ - `.`: the substrate-neutral `browser/backend` seam — kind, descriptor
23
+ schemas, `resolveBrowserBackend`, backend types. Universal; no host or
24
+ surface dependency.
25
+ - `./browser-automation`: `BrowserClient`, `getVibesBrowserClient(runtime)`,
26
+ the four storage record descriptors (sessions, profiles, tabs, recipes),
27
+ and `BrowserRuntimeManager`.
28
+ - `./browser-automation/plugin`: consumer plugin (`browser-automation`).
29
+ - `./browser-automation/cloud.plugin`: workerd-safe cloud plugin (same id;
30
+ consumer and cloud never load together).
31
+ - `./browser-automation/contracts`: the canonical browser-domain contracts
32
+ (storage-state schemas, backend/page, session records). Imports only `zod`
33
+ and type-only kernel contracts.
34
+ - `./browser-automation/backend`: the Playwright-free seam for provider
35
+ packages; forwards `./browser-automation/contracts` unchanged.
36
+ - `./browser-automation/bun/webview.plugin`: opt-in Bun WebView provider.
37
+ - `./browser-automation/cli.plugin`: the `vibes browser` command tree.
38
+ - `./browser-automation/tui.plugin`: the `browser-sessions` TUI app plus the
39
+ designed `browser` tool widget.
40
+ - `./browser-automation/svelte*`: `BrowserWorkspace`, `BrowserToolCard`, the
41
+ Svelte plugin (docs topic + web tool widget), and the `/svelte/state`
42
+ runtime-owned selection and scoped reactive adapter.
43
+
44
+ ## Use
45
+
46
+ Resolve the browser client from a composed runtime; never construct the
47
+ manager directly:
48
+
49
+ ```ts
50
+ import { getVibesBrowserClient } from '@vibesdotdev/control/browser-automation';
51
+
52
+ const browser = await getVibesBrowserClient(runtime);
53
+ const sessions = await browser.sessions.list();
54
+ ```
55
+
56
+ Compose the consumer plugin plus the surface slices the host needs:
57
+
58
+ ```ts
59
+ import browserPlugin from '@vibesdotdev/control/browser-automation/plugin';
60
+ import browserCliPlugin from '@vibesdotdev/control/browser-automation/cli.plugin';
61
+
62
+ await runtime.registerPlugin(browserPlugin);
63
+ await runtime.registerPlugin(browserCliPlugin);
64
+ ```
65
+
66
+ Cloud/workerd hosts load the cloud plugin instead of the consumer plugin;
67
+ cloud sessions are ephemeral per call, and stateful actions report a
68
+ CapabilityError (UNAVAILABLE, browser-cloud-action-unsupported).
69
+
70
+ ## Verification
71
+
72
+ ```bash
73
+ bun run --cwd control build
74
+ bun run --cwd control check
75
+ bun run --cwd control test
76
+ ```
77
+
78
+ Tests inspect source entrypoints in process and need no prior build. The contract is [SPEC.md](./SPEC.md) with feature detail in
79
+ [src/browser/SPEC.md](./src/browser/SPEC.md).
80
+
81
+
82
+ For shared route selection, compose the Svelte plugin, await
83
+ `createBrowserWorkspaceState(runtime)` from the state subpath, and provide the
84
+ adapter to the common Svelte parent with `provideBrowserWorkspaceState(adapter)`.
85
+ That parent owns `adapter.dispose()`; a child workspace does not dispose a
86
+ borrowed adapter. Without an explicit adapter or provider, workspaces share the loaded default
87
+ runtime's selection with the reactive `browserWorkspaceState` compatibility
88
+ facade. Svelte releases facade subscriptions when the reading component unmounts.
89
+ Legacy `browserWorkspaceState.selectSession(...)` and property access delegate
90
+ to the host's default runtime after its workspace client is loaded; multi-runtime
91
+ hosts use the explicit adapter.
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Browser Automation Cloud Plugin (SLIM)
3
+ *
4
+ * Cloud/workerd slice of the unified `browser` tools/tool, backed by
5
+ * Cloudflare Browser Rendering (`BrowserRunBackend` via
6
+ * `@vibesdotdev/integrations-cloudflare/browser-automation`). Registers ONLY the tool
7
+ * descriptor + a cloud-scoped impl loader — none of the consumer plugin's
8
+ * localdb storage records (sessions/profiles/tabs/recipes), runtime client,
9
+ * CLI, or TUI machinery, all of which require consumer hardware.
10
+ *
11
+ * Cloud sessions are ephemeral per call (open → act → close); the impl
12
+ * returns structured 'unsupported on cloud runtime' errors for the
13
+ * persistent-state actions (recipe.*, session.*, observe, control).
14
+ *
15
+ * Apps that execute agent tools on workerd (ai-web) load THIS plugin; the
16
+ * consumer `browser.plugin.ts` stays on CLI/desktop surfaces. Depends on
17
+ * `tools` so the `tools/tool` kind is registered first.
18
+ */
19
+ declare const defaultExport: import("@vibesdotdev/kernel").RuntimePlugin;
20
+ export default defaultExport;
21
+ //# sourceMappingURL=browser.cloud.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.cloud.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.cloud.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,QAAA,MAAM,aAAa,6CAgBjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Browser Automation Cloud Plugin (SLIM)
3
+ *
4
+ * Cloud/workerd slice of the unified `browser` tools/tool, backed by
5
+ * Cloudflare Browser Rendering (`BrowserRunBackend` via
6
+ * `@vibesdotdev/integrations-cloudflare/browser-automation`). Registers ONLY the tool
7
+ * descriptor + a cloud-scoped impl loader — none of the consumer plugin's
8
+ * localdb storage records (sessions/profiles/tabs/recipes), runtime client,
9
+ * CLI, or TUI machinery, all of which require consumer hardware.
10
+ *
11
+ * Cloud sessions are ephemeral per call (open → act → close); the impl
12
+ * returns structured 'unsupported on cloud runtime' errors for the
13
+ * persistent-state actions (recipe.*, session.*, observe, control).
14
+ *
15
+ * Apps that execute agent tools on workerd (ai-web) load THIS plugin; the
16
+ * consumer `browser.plugin.ts` stays on CLI/desktop surfaces. Depends on
17
+ * `tools` so the `tools/tool` kind is registered first.
18
+ */
19
+ import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
20
+ import browserDescriptor from "./tools/unified/browser.unified.descriptor.js";
21
+ import browserRecipePrompt from "./tools/unified/browser-recipe.prompt.descriptor.js";
22
+ import { browserControlPromptDescriptors } from "./tools/control/prompts/index.js";
23
+ import { browserBackendKind } from "./runtime/backend/kind.js";
24
+ // Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
25
+ const defaultExport = createRuntimePlugin({
26
+ id: 'browser-automation',
27
+ name: 'Browser Automation (Cloud)',
28
+ description: 'Unified browser tool on Cloudflare Browser Rendering — ephemeral navigate/extract/screenshot for cloud agent runtimes',
29
+ dependencies: ['tools'],
30
+ kinds: [browserBackendKind],
31
+ descriptors: [browserDescriptor, browserRecipePrompt, ...browserControlPromptDescriptors],
32
+ loaders: [
33
+ loader('browser', { kind: 'tools/tool', scope: 'cloud' }, () => import("./tools/unified/browser.impl.cloud.js"))
34
+ ]
35
+ });
36
+ export default defaultExport;
37
+ //# sourceMappingURL=browser.cloud.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.cloud.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.cloud.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,kIAAkI;AAClI,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACzC,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACV,uHAAuH;IAExH,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,KAAK,EAAE,CAAC,kBAAkB,CAAC;IAE3B,WAAW,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,+BAA+B,CAAC;IAEzF,OAAO,EAAE;QACR,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAC9D,MAAM,CAAC,uCAAuC,CAAC,CAC/C;KACD;CACD,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Consumer browser automation composition. Compatibility entrypoints retain this plugin ID. */
2
+ declare const defaultExport: import("@vibesdotdev/kernel").RuntimePlugin;
3
+ export default defaultExport;
4
+ //# sourceMappingURL=browser.consumer.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.consumer.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.consumer.plugin.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAkBhG,QAAA,MAAM,aAAa,6CA2EjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,77 @@
1
+ /** Consumer browser automation composition. Compatibility entrypoints retain this plugin ID. */
2
+ import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
3
+ import browserDescriptor from "./tools/unified/browser.unified.descriptor.js";
4
+ import browserRecipePrompt from "./tools/unified/browser-recipe.prompt.descriptor.js";
5
+ import { browserControlPromptDescriptors } from "./tools/control/prompts/index.js";
6
+ import { browserBackendKind } from "./runtime/backend/kind.js";
7
+ import playwrightBrowserBackendDescriptor from "./runtime/backend/playwright.descriptor.js";
8
+ import browserRuntimeManagerContextDescriptor from "./runtime/manager.context.descriptor.js";
9
+ import { BROWSER_RUNTIME_MANAGER_CONTEXT_ID } from "./runtime/manager.context.js";
10
+ // Storage record descriptors
11
+ import { browserSessionRecordDescriptor } from "./storage/browser-session.record.descriptor.js";
12
+ import { browserProfileRecordDescriptor } from "./storage/browser-profile.record.descriptor.js";
13
+ import { browserTabRecordDescriptor } from "./storage/browser-tab.record.descriptor.js";
14
+ import { browserRecipeRecordDescriptor } from "./storage/browser-recipe.record.descriptor.js";
15
+ // Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
16
+ const defaultExport = createRuntimePlugin({
17
+ id: 'browser-automation',
18
+ name: 'Browser Automation',
19
+ description: 'Browser automation with pluggable backends and session/profile/tab/recipe lifecycle',
20
+ dependencies: ['context', 'storage', 'localdb', 'runtime-client', 'tools'],
21
+ optionalDependencies: ['logging', '@vibesdotdev/storage/adapters/localdb'],
22
+ kinds: [browserBackendKind],
23
+ descriptors: [
24
+ // storage/record descriptors
25
+ browserSessionRecordDescriptor,
26
+ browserProfileRecordDescriptor,
27
+ browserTabRecordDescriptor,
28
+ browserRecipeRecordDescriptor,
29
+ playwrightBrowserBackendDescriptor,
30
+ browserRuntimeManagerContextDescriptor,
31
+ // tools/tool unified browser tool
32
+ browserDescriptor,
33
+ // prompts/manifest: the browser tool's MCP prompt and the control planner's prompts
34
+ browserRecipePrompt,
35
+ ...browserControlPromptDescriptors
36
+ ],
37
+ loaders: [
38
+ loader(playwrightBrowserBackendDescriptor.id, { kind: 'browser/backend', scope: 'consumer' }, async () => {
39
+ const { PlaywrightBackend } = await import("./runtime/backends/playwright.backend.js");
40
+ return { impl: new PlaywrightBackend() };
41
+ }),
42
+ loader(browserRuntimeManagerContextDescriptor.id, { kind: 'context', scope: 'consumer' }, () => import("./runtime/manager.context.impl.consumer.js")),
43
+ // tools/tool implementation loader (consumer-scoped: Playwright)
44
+ loader('browser', { kind: 'tools/tool', scope: 'consumer' }, async () => {
45
+ const { default: impl } = await import("./tools/unified/browser.impl.consumer.js");
46
+ return { impl };
47
+ }),
48
+ // runtime/client loader
49
+ {
50
+ id: 'browser',
51
+ kind: 'runtime/client',
52
+ load: async () => {
53
+ const { BrowserClient } = await import("./client/browser-client.js");
54
+ return BrowserClient;
55
+ }
56
+ }
57
+ ],
58
+ async onDispose(runtime) {
59
+ if (!runtime.hasContext(BROWSER_RUNTIME_MANAGER_CONTEXT_ID))
60
+ return;
61
+ const host = await runtime.context(BROWSER_RUNTIME_MANAGER_CONTEXT_ID);
62
+ await host.dispose();
63
+ },
64
+ onActivate(runtime) {
65
+ // Register the runtime/client descriptor for the browser client
66
+ runtime.registerDescriptor('runtime/client', {
67
+ id: 'browser',
68
+ kind: 'runtime/client',
69
+ description: 'Browser automation client for session/profile/tab/recipe management',
70
+ tags: ['remote-control']
71
+ });
72
+ // Register runtime/subscription for browser events if needed
73
+ // (future: tab lifecycle events, session events, etc.)
74
+ }
75
+ });
76
+ export default defaultExport;
77
+ //# sourceMappingURL=browser.consumer.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.consumer.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.consumer.plugin.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,kCAAkC,MAAM,4CAA4C,CAAC;AAC5F,OAAO,sCAAsC,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAElF,6BAA6B;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAE9F,kIAAkI;AAClI,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACzC,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,qFAAqF;IAElG,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC;IAC1E,oBAAoB,EAAE,CAAC,SAAS,EAAE,uCAAuC,CAAC;IAE1E,KAAK,EAAE,CAAC,kBAAkB,CAAC;IAE3B,WAAW,EAAE;QACZ,6BAA6B;QAC7B,8BAA8B;QAC9B,8BAA8B;QAC9B,0BAA0B;QAC1B,6BAA6B;QAC7B,kCAAkC;QAClC,sCAAsC;QACtC,kCAAkC;QAClC,iBAAiB;QACjB,oFAAoF;QACpF,mBAAmB;QACnB,GAAG,+BAA+B;KAClC;IAED,OAAO,EAAE;QACR,MAAM,CACL,kCAAkC,CAAC,EAAE,EACrC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,EAC9C,KAAK,IAAI,EAAE;YACV,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;YACvF,OAAO,EAAE,IAAI,EAAE,IAAI,iBAAiB,EAAE,EAAE,CAAC;QAC1C,CAAC,CACD;QACD,MAAM,CACL,sCAAsC,CAAC,EAAE,EACzC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EACtC,GAAG,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAC1D;QACD,iEAAiE;QACjE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;YACnF,OAAO,EAAE,IAAI,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,wBAAwB;QACxB;YACC,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBACrE,OAAO,aAAa,CAAC;YACtB,CAAC;SACD;KACD;IAED,KAAK,CAAC,SAAS,CAAC,OAAO;QACtB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;YAAE,OAAO;QACpE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CACjC,kCAAkC,CAClC,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAO;QACjB,gEAAgE;QAChE,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,EAAE;YAC5C,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,qEAAqE;YAClF,IAAI,EAAE,CAAC,gBAAgB,CAAC;SACxB,CAAC,CAAC;QAEH,6DAA6D;QAC7D,uDAAuD;IACxD,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Consumer-only browser automation plugin; retained compatibility entrypoint. */
2
+ export { default } from './browser.consumer.plugin.ts';
3
+ //# sourceMappingURL=browser.plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.plugin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Consumer-only browser automation plugin; retained compatibility entrypoint. */
2
+ export { default } from "./browser.consumer.plugin.js";
3
+ //# sourceMappingURL=browser.plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.plugin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { BrowserBackend, BrowserBackendCapabilities, BrowserBackendConnectionDescriptor, BrowserBackendLaunchInput, BrowserBackendLaunchResult } from '../runtime/backend/types.ts';
2
+ import { type BunWebViewFactory } from '../schemas/webview.ts';
3
+ export type { BunWebViewLike, BunWebViewFactory, BunWebViewFactoryOptions } from '../schemas/webview.ts';
4
+ /**
5
+ * Resolve the host API at the Bun boundary.
6
+ *
7
+ * Consumer hardware is not evidence that the process is Bun. The opt-in Bun
8
+ * plugin calls this while resolving its implementation and fails closed when
9
+ * the actual host does not provide Bun.WebView.
10
+ */
11
+ /** The opt-in adapter retains native WebView support until a host owner provides it. */
12
+ export declare function resolveBunWebViewFactory(host: unknown): BunWebViewFactory;
13
+ export declare function createBunWebViewBackend(host?: unknown): BunWebViewBackend;
14
+ export declare class BunWebViewBackend implements BrowserBackend {
15
+ private readonly factory;
16
+ readonly id: "browser.backend.bun-webview";
17
+ readonly hardware: "consumer";
18
+ readonly capabilities: BrowserBackendCapabilities;
19
+ constructor(factory: BunWebViewFactory);
20
+ launch(input: BrowserBackendLaunchInput): Promise<BrowserBackendLaunchResult>;
21
+ describeConnection(): Promise<BrowserBackendConnectionDescriptor>;
22
+ }
23
+ //# sourceMappingURL=webview.backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webview.backend.d.ts","sourceRoot":"","sources":["../../../src/browser/bun/webview.backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEX,cAAc,EACd,0BAA0B,EAC1B,kCAAkC,EAElC,yBAAyB,EACzB,0BAA0B,EAK1B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAA6C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMzG;;;;;;GAMG;AACH,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAUzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAUzE;AAkPD,qBAAa,iBAAkB,YAAW,cAAc;IAU3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,QAAQ,CAAC,EAAE,gCAA0B;IACrC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IACxC,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAK/C;gBAE2B,OAAO,EAAE,iBAAiB;IAEjD,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAiB7E,kBAAkB,IAAI,OAAO,CAAC,kCAAkC,CAAC;CAOvE"}
@@ -0,0 +1,262 @@
1
+ import { CapabilityError } from '@vibesdotdev/kernel';
2
+ import { resolveFileSystemAdapter } from '@vibesdotdev/filesystem';
3
+ import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
4
+ import * as z from 'zod/v4';
5
+ import { fromBase64 } from '@vibesdotdev/crypto/encoding';
6
+ import { assertSafeBrowserUrl, launchTrustedBrowserOrigins } from "../runtime/safe-url.js";
7
+ import { BUN_WEBVIEW_BACKEND_ID } from "./webview.descriptor.js";
8
+ import { BunWebViewHostSchema } from "../schemas/webview.js";
9
+ const DefaultBunWebViewHostSchema = z.preprocess((host) => host === undefined ? globalThis.Bun : host, BunWebViewHostSchema);
10
+ /**
11
+ * Resolve the host API at the Bun boundary.
12
+ *
13
+ * Consumer hardware is not evidence that the process is Bun. The opt-in Bun
14
+ * plugin calls this while resolving its implementation and fails closed when
15
+ * the actual host does not provide Bun.WebView.
16
+ */
17
+ /** The opt-in adapter retains native WebView support until a host owner provides it. */
18
+ export function resolveBunWebViewFactory(host) {
19
+ const parsed = BunWebViewHostSchema.safeParse(host);
20
+ if (!parsed.success) {
21
+ throw new CapabilityError('Bun WebView backend is unavailable: run this plugin under Bun 1.4+ with Bun.WebView', 'UNAVAILABLE', { reason: 'bun-webview-unavailable', cause: parsed.error });
22
+ }
23
+ return (options) => new parsed.data.WebView(options);
24
+ }
25
+ export function createBunWebViewBackend(host) {
26
+ const parsed = DefaultBunWebViewHostSchema.safeParse(host);
27
+ if (!parsed.success) {
28
+ throw new CapabilityError('Bun WebView backend is unavailable: run this plugin under Bun 1.4+ with Bun.WebView', 'UNAVAILABLE', { reason: 'bun-webview-unavailable', cause: parsed.error });
29
+ }
30
+ return new BunWebViewBackend(resolveBunWebViewFactory(parsed.data));
31
+ }
32
+ function selectorExpression(selector, body) {
33
+ return `(() => {
34
+ const element = document.querySelector(${JSON.stringify(selector)});
35
+ if (!element) throw new Error(${JSON.stringify(`Element not found: ${selector}`)});
36
+ ${body}
37
+ })()`;
38
+ }
39
+ function unsupported(feature) {
40
+ return new CapabilityError(`Bun WebView backend does not support ${feature}`, 'UNAVAILABLE', {
41
+ reason: 'browser-backend-capability-unsupported',
42
+ details: { backendId: BUN_WEBVIEW_BACKEND_ID, feature }
43
+ });
44
+ }
45
+ class BunWebViewPage {
46
+ view;
47
+ trustedOrigins;
48
+ onClose;
49
+ runtime;
50
+ closed = false;
51
+ constructor(view, trustedOrigins, onClose, runtime) {
52
+ this.view = view;
53
+ this.trustedOrigins = trustedOrigins;
54
+ this.onClose = onClose;
55
+ this.runtime = runtime;
56
+ }
57
+ async goto(url, _options) {
58
+ await this.view.navigate(assertSafeBrowserUrl(url, this.trustedOrigins));
59
+ }
60
+ async click(selector, options) {
61
+ await this.view.click(selector, { timeout: options?.timeout });
62
+ }
63
+ async fill(selector, value) {
64
+ await this.view.evaluate(selectorExpression(selector, `if (!("value" in element)) throw new Error("Element does not expose a value");
65
+ element.focus();
66
+ const prototype = Object.getPrototypeOf(element);
67
+ const setter = Object.getOwnPropertyDescriptor(prototype, "value")?.set;
68
+ if (setter) setter.call(element, ${JSON.stringify(value)});
69
+ else element.value = ${JSON.stringify(value)};
70
+ element.dispatchEvent(new Event("input", { bubbles: true }));
71
+ element.dispatchEvent(new Event("change", { bubbles: true }));
72
+ return true;`));
73
+ }
74
+ async type(selector, text, options) {
75
+ await this.view.click(selector);
76
+ if (!options?.delay) {
77
+ await this.view.type(text);
78
+ return;
79
+ }
80
+ for (const character of text) {
81
+ await this.view.type(character);
82
+ await this.runtime.lifecycle.delay(options.delay);
83
+ }
84
+ }
85
+ async press(key) {
86
+ await this.view.press(key);
87
+ }
88
+ async waitForSelector(selector, options = {}) {
89
+ const state = options.state ?? 'visible';
90
+ const deadline = Date.now() + (options.timeout ?? 30_000);
91
+ while (Date.now() <= deadline) {
92
+ const status = z.object({ attached: z.boolean(), visible: z.boolean() }).parse(await this.view.evaluate(`(() => {
93
+ const element = document.querySelector(${JSON.stringify(selector)});
94
+ if (!element) return { attached: false, visible: false };
95
+ const rect = element.getBoundingClientRect();
96
+ const style = getComputedStyle(element);
97
+ return {
98
+ attached: true,
99
+ visible: rect.width > 0 && rect.height > 0 && style.visibility !== "hidden" && style.display !== "none"
100
+ };
101
+ })()`));
102
+ const satisfied = state === 'attached'
103
+ ? status.attached
104
+ : state === 'detached'
105
+ ? !status.attached
106
+ : state === 'visible'
107
+ ? status.visible
108
+ : !status.visible;
109
+ if (satisfied)
110
+ return;
111
+ await this.runtime.lifecycle.delay(25);
112
+ }
113
+ throw new Error(`Timed out waiting for selector '${selector}' to become ${state}`);
114
+ }
115
+ async waitForTimeout(ms) {
116
+ await this.runtime.lifecycle.delay(ms);
117
+ }
118
+ async selectOption(selector, value) {
119
+ await this.view.evaluate(selectorExpression(selector, `if (!(element instanceof HTMLSelectElement)) throw new Error("Element is not a select");
120
+ element.value = ${JSON.stringify(value)};
121
+ element.dispatchEvent(new Event("input", { bubbles: true }));
122
+ element.dispatchEvent(new Event("change", { bubbles: true }));
123
+ return true;`));
124
+ }
125
+ async hover(selector) {
126
+ const point = z.object({ x: z.number(), y: z.number() }).parse(await this.view.evaluate(selectorExpression(selector, `const rect = element.getBoundingClientRect();
127
+ return { x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 };`)));
128
+ await this.view.cdp('Input.dispatchMouseEvent', JsonObjectSchema.parse({
129
+ type: 'mouseMoved',
130
+ x: point.x,
131
+ y: point.y
132
+ }));
133
+ }
134
+ async screenshot(options) {
135
+ let data;
136
+ if (options.fullPage) {
137
+ const response = z.object({ data: z.string() }).parse(await this.view.cdp('Page.captureScreenshot', {
138
+ format: 'png',
139
+ captureBeyondViewport: true,
140
+ fromSurface: true
141
+ }));
142
+ data = fromBase64(response.data);
143
+ }
144
+ else {
145
+ data = Uint8Array.from(await this.view.screenshot({ encoding: 'buffer', format: 'png' }));
146
+ }
147
+ if (options.path) {
148
+ await (await resolveFileSystemAdapter(this.runtime)).writeFile(options.path, data);
149
+ return undefined;
150
+ }
151
+ return data;
152
+ }
153
+ async scrollIntoView(selector) {
154
+ await this.view.scrollTo(selector, { block: 'nearest' });
155
+ }
156
+ async scrollTo(x, y) {
157
+ await this.view.evaluate(`(() => { window.scrollTo(${x}, ${y}); return true; })()`);
158
+ }
159
+ async evaluate(script) {
160
+ return await this.view.evaluate(script);
161
+ }
162
+ async content() {
163
+ return z.string().parse(await this.view.evaluate('document.documentElement.outerHTML'));
164
+ }
165
+ async exists(selector) {
166
+ return z.boolean().parse(await this.view.evaluate(`document.querySelector(${JSON.stringify(selector)}) !== null`));
167
+ }
168
+ async textContent(selector) {
169
+ return z.string().nullable().parse(await this.view.evaluate(`document.querySelector(${JSON.stringify(selector)})?.textContent ?? null`));
170
+ }
171
+ url() {
172
+ return this.view.url;
173
+ }
174
+ async close() {
175
+ if (this.closed)
176
+ return;
177
+ this.view.close();
178
+ this.closed = true;
179
+ this.onClose();
180
+ }
181
+ }
182
+ class BunWebViewContext {
183
+ factory;
184
+ viewport;
185
+ trustedOrigins;
186
+ runtime;
187
+ pagesByView = new Map();
188
+ constructor(factory, viewport, trustedOrigins, runtime) {
189
+ this.factory = factory;
190
+ this.viewport = viewport;
191
+ this.trustedOrigins = trustedOrigins;
192
+ this.runtime = runtime;
193
+ }
194
+ async newPage() {
195
+ let view;
196
+ try {
197
+ view = this.factory({
198
+ width: this.viewport.width,
199
+ height: this.viewport.height,
200
+ headless: true,
201
+ backend: { type: 'chrome', url: false },
202
+ dataStore: 'ephemeral'
203
+ });
204
+ }
205
+ catch (cause) {
206
+ throw new CapabilityError('Bun WebView backend requires Bun 1.4+ and an installed Chrome browser', 'UNAVAILABLE', { reason: 'bun-webview-launch-failed', cause });
207
+ }
208
+ const page = new BunWebViewPage(view, this.trustedOrigins, () => this.pagesByView.delete(view), this.runtime);
209
+ this.pagesByView.set(view, page);
210
+ return page;
211
+ }
212
+ async pages() {
213
+ return [...this.pagesByView.values()];
214
+ }
215
+ async storageState() {
216
+ throw unsupported('storage-state export');
217
+ }
218
+ async close() {
219
+ const results = await Promise.allSettled([...this.pagesByView.values()].map((page) => page.close()));
220
+ const failures = results.flatMap((result) => result.status === 'rejected' ? [result.reason] : []);
221
+ if (failures.length)
222
+ throw new AggregateError(failures, 'Bun WebView page cleanup failed');
223
+ }
224
+ }
225
+ export class BunWebViewBackend {
226
+ factory;
227
+ id = BUN_WEBVIEW_BACKEND_ID;
228
+ hardware = 'consumer';
229
+ capabilities = {
230
+ profiles: false,
231
+ present: false,
232
+ recording: false,
233
+ storageStateFile: false
234
+ };
235
+ constructor(factory) {
236
+ this.factory = factory;
237
+ }
238
+ async launch(input) {
239
+ if (input.headless === false)
240
+ throw unsupported('headed presentation');
241
+ if (input.profileDir)
242
+ throw unsupported('persistent profiles');
243
+ if (input.storageStatePath)
244
+ throw unsupported('storage-state files');
245
+ if (input.recordVideo)
246
+ throw unsupported('video recording');
247
+ if (input.extensions?.length)
248
+ throw unsupported('browser extensions');
249
+ return {
250
+ context: new BunWebViewContext(this.factory, input.viewport ?? { width: 1280, height: 720 }, launchTrustedBrowserOrigins(input.runtime, input.trustedOrigins), input.runtime),
251
+ persistent: false
252
+ };
253
+ }
254
+ async describeConnection() {
255
+ return {
256
+ hardware: 'consumer',
257
+ transport: 'binding',
258
+ note: 'Bun.WebView exposes in-process CDP commands but no external WebSocket endpoint.'
259
+ };
260
+ }
261
+ }
262
+ //# sourceMappingURL=webview.backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webview.backend.js","sourceRoot":"","sources":["../../../src/browser/bun/webview.backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare const BUN_WEBVIEW_BACKEND_ID: "browser.backend.bun-webview";
2
+ declare const descriptor: {
3
+ id: "browser.backend.bun-webview";
4
+ kind: "browser/backend";
5
+ name: string;
6
+ description: string;
7
+ hardware: "consumer"[];
8
+ engine: "chromium";
9
+ substrate: string;
10
+ stability: "experimental";
11
+ capabilities: {
12
+ profiles: false;
13
+ present: false;
14
+ recording: false;
15
+ storageStateFile: false;
16
+ };
17
+ priority: number;
18
+ enabled: true;
19
+ };
20
+ export default descriptor;
21
+ //# sourceMappingURL=webview.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webview.descriptor.d.ts","sourceRoot":"","sources":["../../../src/browser/bun/webview.descriptor.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,EAAG,6BAAsC,CAAC;AAE7E,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBoB,CAAC;AAErC,eAAe,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const BUN_WEBVIEW_BACKEND_ID = 'browser.backend.bun-webview';
2
+ const descriptor = {
3
+ id: BUN_WEBVIEW_BACKEND_ID,
4
+ kind: 'browser/backend',
5
+ name: 'Bun WebView Browser Backend',
6
+ description: 'Experimental Bun.WebView Chrome backend for lightweight automation',
7
+ hardware: ['consumer'],
8
+ engine: 'chromium',
9
+ substrate: 'bun-webview',
10
+ stability: 'experimental',
11
+ capabilities: {
12
+ profiles: false,
13
+ present: false,
14
+ recording: false,
15
+ storageStateFile: false
16
+ },
17
+ priority: 50,
18
+ enabled: true
19
+ };
20
+ export default descriptor;
21
+ //# sourceMappingURL=webview.descriptor.js.map