opendevbrowser 0.0.15 → 0.0.16

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 (568) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +229 -34
  3. package/dist/annotate/direct-annotator.d.ts +22 -0
  4. package/dist/annotate/direct-annotator.d.ts.map +1 -0
  5. package/dist/annotate/output.d.ts +10 -0
  6. package/dist/annotate/output.d.ts.map +1 -0
  7. package/dist/browser/annotation-manager.d.ts +30 -0
  8. package/dist/browser/annotation-manager.d.ts.map +1 -0
  9. package/dist/browser/browser-manager.d.ts +397 -0
  10. package/dist/browser/browser-manager.d.ts.map +1 -0
  11. package/dist/browser/fingerprint/adapters.d.ts +26 -0
  12. package/dist/browser/fingerprint/adapters.d.ts.map +1 -0
  13. package/dist/browser/fingerprint/canary.d.ts +25 -0
  14. package/dist/browser/fingerprint/canary.d.ts.map +1 -0
  15. package/dist/browser/fingerprint/profiles.d.ts +16 -0
  16. package/dist/browser/fingerprint/profiles.d.ts.map +1 -0
  17. package/dist/browser/fingerprint/tier1-coherence.d.ts +36 -0
  18. package/dist/browser/fingerprint/tier1-coherence.d.ts.map +1 -0
  19. package/dist/browser/fingerprint/tier2-runtime.d.ts +40 -0
  20. package/dist/browser/fingerprint/tier2-runtime.d.ts.map +1 -0
  21. package/dist/browser/fingerprint/tier3-adaptive.d.ts +30 -0
  22. package/dist/browser/fingerprint/tier3-adaptive.d.ts.map +1 -0
  23. package/dist/browser/manager-types.d.ts +3 -0
  24. package/dist/browser/manager-types.d.ts.map +1 -0
  25. package/dist/browser/ops-browser-manager.d.ts +131 -0
  26. package/dist/browser/ops-browser-manager.d.ts.map +1 -0
  27. package/dist/browser/ops-client.d.ts +56 -0
  28. package/dist/browser/ops-client.d.ts.map +1 -0
  29. package/dist/browser/parallelism-governor.d.ts +31 -0
  30. package/dist/browser/parallelism-governor.d.ts.map +1 -0
  31. package/dist/browser/script-runner.d.ts +23 -0
  32. package/dist/browser/script-runner.d.ts.map +1 -0
  33. package/dist/browser/session-store.d.ts +63 -0
  34. package/dist/browser/session-store.d.ts.map +1 -0
  35. package/dist/browser/target-manager.d.ts +36 -0
  36. package/dist/browser/target-manager.d.ts.map +1 -0
  37. package/dist/cache/chrome-locator.d.ts +2 -0
  38. package/dist/cache/chrome-locator.d.ts.map +1 -0
  39. package/dist/cache/downloader.d.ts +6 -0
  40. package/dist/cache/downloader.d.ts.map +1 -0
  41. package/dist/cache/paths.d.ts +9 -0
  42. package/dist/cache/paths.d.ts.map +1 -0
  43. package/dist/chunk-7W3SPXIB.js +166 -0
  44. package/dist/chunk-7W3SPXIB.js.map +1 -0
  45. package/dist/chunk-ST7CO5FA.js +18668 -0
  46. package/dist/chunk-ST7CO5FA.js.map +1 -0
  47. package/dist/cli/args.d.ts +25 -0
  48. package/dist/cli/args.d.ts.map +1 -0
  49. package/dist/cli/client.d.ts +2 -0
  50. package/dist/cli/client.d.ts.map +1 -0
  51. package/dist/cli/commands/annotate.d.ts +27 -0
  52. package/dist/cli/commands/annotate.d.ts.map +1 -0
  53. package/dist/cli/commands/artifacts.d.ts +24 -0
  54. package/dist/cli/commands/artifacts.d.ts.map +1 -0
  55. package/dist/cli/commands/daemon.d.ts +35 -0
  56. package/dist/cli/commands/daemon.d.ts.map +1 -0
  57. package/dist/cli/commands/devtools/console-poll.d.ts +7 -0
  58. package/dist/cli/commands/devtools/console-poll.d.ts.map +1 -0
  59. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts +20 -0
  60. package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts.map +1 -0
  61. package/dist/cli/commands/devtools/network-poll.d.ts +7 -0
  62. package/dist/cli/commands/devtools/network-poll.d.ts.map +1 -0
  63. package/dist/cli/commands/devtools/perf.d.ts +7 -0
  64. package/dist/cli/commands/devtools/perf.d.ts.map +1 -0
  65. package/dist/cli/commands/devtools/screenshot.d.ts +17 -0
  66. package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -0
  67. package/dist/cli/commands/dom/attr.d.ts +7 -0
  68. package/dist/cli/commands/dom/attr.d.ts.map +1 -0
  69. package/dist/cli/commands/dom/checked.d.ts +7 -0
  70. package/dist/cli/commands/dom/checked.d.ts.map +1 -0
  71. package/dist/cli/commands/dom/enabled.d.ts +7 -0
  72. package/dist/cli/commands/dom/enabled.d.ts.map +1 -0
  73. package/dist/cli/commands/dom/html.d.ts +7 -0
  74. package/dist/cli/commands/dom/html.d.ts.map +1 -0
  75. package/dist/cli/commands/dom/text.d.ts +7 -0
  76. package/dist/cli/commands/dom/text.d.ts.map +1 -0
  77. package/dist/cli/commands/dom/value.d.ts +7 -0
  78. package/dist/cli/commands/dom/value.d.ts.map +1 -0
  79. package/dist/cli/commands/dom/visible.d.ts +7 -0
  80. package/dist/cli/commands/dom/visible.d.ts.map +1 -0
  81. package/dist/cli/commands/export/clone-component.d.ts +7 -0
  82. package/dist/cli/commands/export/clone-component.d.ts.map +1 -0
  83. package/dist/cli/commands/export/clone-page.d.ts +7 -0
  84. package/dist/cli/commands/export/clone-page.d.ts.map +1 -0
  85. package/dist/cli/commands/interact/check.d.ts +7 -0
  86. package/dist/cli/commands/interact/check.d.ts.map +1 -0
  87. package/dist/cli/commands/interact/click.d.ts +7 -0
  88. package/dist/cli/commands/interact/click.d.ts.map +1 -0
  89. package/dist/cli/commands/interact/hover.d.ts +7 -0
  90. package/dist/cli/commands/interact/hover.d.ts.map +1 -0
  91. package/dist/cli/commands/interact/press.d.ts +7 -0
  92. package/dist/cli/commands/interact/press.d.ts.map +1 -0
  93. package/dist/cli/commands/interact/scroll-into-view.d.ts +7 -0
  94. package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -0
  95. package/dist/cli/commands/interact/scroll.d.ts +7 -0
  96. package/dist/cli/commands/interact/scroll.d.ts.map +1 -0
  97. package/dist/cli/commands/interact/select.d.ts +7 -0
  98. package/dist/cli/commands/interact/select.d.ts.map +1 -0
  99. package/dist/cli/commands/interact/type.d.ts +7 -0
  100. package/dist/cli/commands/interact/type.d.ts.map +1 -0
  101. package/dist/cli/commands/interact/uncheck.d.ts +7 -0
  102. package/dist/cli/commands/interact/uncheck.d.ts.map +1 -0
  103. package/dist/cli/commands/macro-resolve.d.ts +18 -0
  104. package/dist/cli/commands/macro-resolve.d.ts.map +1 -0
  105. package/dist/cli/commands/native.d.ts +82 -0
  106. package/dist/cli/commands/native.d.ts.map +1 -0
  107. package/dist/cli/commands/nav/goto.d.ts +7 -0
  108. package/dist/cli/commands/nav/goto.d.ts.map +1 -0
  109. package/dist/cli/commands/nav/snapshot.d.ts +7 -0
  110. package/dist/cli/commands/nav/snapshot.d.ts.map +1 -0
  111. package/dist/cli/commands/nav/wait.d.ts +7 -0
  112. package/dist/cli/commands/nav/wait.d.ts.map +1 -0
  113. package/dist/cli/commands/pages/close.d.ts +6 -0
  114. package/dist/cli/commands/pages/close.d.ts.map +1 -0
  115. package/dist/cli/commands/pages/list.d.ts +7 -0
  116. package/dist/cli/commands/pages/list.d.ts.map +1 -0
  117. package/dist/cli/commands/pages/open.d.ts +7 -0
  118. package/dist/cli/commands/pages/open.d.ts.map +1 -0
  119. package/dist/cli/commands/product-video.d.ts +25 -0
  120. package/dist/cli/commands/product-video.d.ts.map +1 -0
  121. package/dist/cli/commands/registry.d.ts +5 -0
  122. package/dist/cli/commands/registry.d.ts.map +1 -0
  123. package/dist/cli/commands/research.d.ts +27 -0
  124. package/dist/cli/commands/research.d.ts.map +1 -0
  125. package/dist/cli/commands/rpc.d.ts +28 -0
  126. package/dist/cli/commands/rpc.d.ts.map +1 -0
  127. package/dist/cli/commands/run.d.ts +17 -0
  128. package/dist/cli/commands/run.d.ts.map +1 -0
  129. package/dist/cli/commands/serve.d.ts +59 -0
  130. package/dist/cli/commands/serve.d.ts.map +1 -0
  131. package/dist/cli/commands/session/connect.d.ts +9 -0
  132. package/dist/cli/commands/session/connect.d.ts.map +1 -0
  133. package/dist/cli/commands/session/cookie-import.d.ts +31 -0
  134. package/dist/cli/commands/session/cookie-import.d.ts.map +1 -0
  135. package/dist/cli/commands/session/cookie-list.d.ts +17 -0
  136. package/dist/cli/commands/session/cookie-list.d.ts.map +1 -0
  137. package/dist/cli/commands/session/disconnect.d.ts +6 -0
  138. package/dist/cli/commands/session/disconnect.d.ts.map +1 -0
  139. package/dist/cli/commands/session/launch.d.ts +29 -0
  140. package/dist/cli/commands/session/launch.d.ts.map +1 -0
  141. package/dist/cli/commands/session/status.d.ts +7 -0
  142. package/dist/cli/commands/session/status.d.ts.map +1 -0
  143. package/dist/cli/commands/shopping.d.ts +25 -0
  144. package/dist/cli/commands/shopping.d.ts.map +1 -0
  145. package/dist/cli/commands/status.d.ts +19 -0
  146. package/dist/cli/commands/status.d.ts.map +1 -0
  147. package/dist/cli/commands/targets/close.d.ts +6 -0
  148. package/dist/cli/commands/targets/close.d.ts.map +1 -0
  149. package/dist/cli/commands/targets/list.d.ts +7 -0
  150. package/dist/cli/commands/targets/list.d.ts.map +1 -0
  151. package/dist/cli/commands/targets/new.d.ts +7 -0
  152. package/dist/cli/commands/targets/new.d.ts.map +1 -0
  153. package/dist/cli/commands/targets/use.d.ts +7 -0
  154. package/dist/cli/commands/targets/use.d.ts.map +1 -0
  155. package/dist/cli/commands/types.d.ts +13 -0
  156. package/dist/cli/commands/types.d.ts.map +1 -0
  157. package/dist/cli/commands/uninstall.d.ts +14 -0
  158. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  159. package/dist/cli/commands/update.d.ts +7 -0
  160. package/dist/cli/commands/update.d.ts.map +1 -0
  161. package/dist/cli/daemon-autostart.d.ts +46 -0
  162. package/dist/cli/daemon-autostart.d.ts.map +1 -0
  163. package/dist/cli/daemon-client.d.ts +33 -0
  164. package/dist/cli/daemon-client.d.ts.map +1 -0
  165. package/dist/cli/daemon-commands.d.ts +7 -0
  166. package/dist/cli/daemon-commands.d.ts.map +1 -0
  167. package/dist/cli/daemon-state.d.ts +56 -0
  168. package/dist/cli/daemon-state.d.ts.map +1 -0
  169. package/dist/cli/daemon-status.d.ts +19 -0
  170. package/dist/cli/daemon-status.d.ts.map +1 -0
  171. package/dist/cli/daemon.d.ts +29 -0
  172. package/dist/cli/daemon.d.ts.map +1 -0
  173. package/dist/cli/errors.d.ts +20 -0
  174. package/dist/cli/errors.d.ts.map +1 -0
  175. package/dist/cli/help.d.ts +28 -0
  176. package/dist/cli/help.d.ts.map +1 -0
  177. package/dist/cli/index.d.ts +2 -0
  178. package/dist/cli/index.d.ts.map +1 -0
  179. package/dist/cli/index.js +2205 -267
  180. package/dist/cli/index.js.map +1 -1
  181. package/dist/cli/installers/global.d.ts +9 -0
  182. package/dist/cli/installers/global.d.ts.map +1 -0
  183. package/dist/cli/installers/local.d.ts +9 -0
  184. package/dist/cli/installers/local.d.ts.map +1 -0
  185. package/dist/cli/installers/skills.d.ts +19 -0
  186. package/dist/cli/installers/skills.d.ts.map +1 -0
  187. package/dist/cli/output.d.ts +7 -0
  188. package/dist/cli/output.d.ts.map +1 -0
  189. package/dist/cli/remote-manager.d.ts +96 -0
  190. package/dist/cli/remote-manager.d.ts.map +1 -0
  191. package/dist/cli/remote-relay.d.ts +17 -0
  192. package/dist/cli/remote-relay.d.ts.map +1 -0
  193. package/dist/cli/templates/config.d.ts +7 -0
  194. package/dist/cli/templates/config.d.ts.map +1 -0
  195. package/dist/cli/utils/config.d.ts +20 -0
  196. package/dist/cli/utils/config.d.ts.map +1 -0
  197. package/dist/cli/utils/http.d.ts +5 -0
  198. package/dist/cli/utils/http.d.ts.map +1 -0
  199. package/dist/cli/utils/parse.d.ts +8 -0
  200. package/dist/cli/utils/parse.d.ts.map +1 -0
  201. package/dist/cli/utils/skills.d.ts +12 -0
  202. package/dist/cli/utils/skills.d.ts.map +1 -0
  203. package/dist/config.d.ts +208 -0
  204. package/dist/config.d.ts.map +1 -0
  205. package/dist/core/bootstrap.d.ts +3 -0
  206. package/dist/core/bootstrap.d.ts.map +1 -0
  207. package/dist/core/index.d.ts +3 -0
  208. package/dist/core/index.d.ts.map +1 -0
  209. package/dist/core/logging.d.ts +34 -0
  210. package/dist/core/logging.d.ts.map +1 -0
  211. package/dist/core/types.d.ts +34 -0
  212. package/dist/core/types.d.ts.map +1 -0
  213. package/dist/devtools/console-tracker.d.ts +44 -0
  214. package/dist/devtools/console-tracker.d.ts.map +1 -0
  215. package/dist/devtools/exception-tracker.d.ts +42 -0
  216. package/dist/devtools/exception-tracker.d.ts.map +1 -0
  217. package/dist/devtools/network-tracker.d.ts +34 -0
  218. package/dist/devtools/network-tracker.d.ts.map +1 -0
  219. package/dist/export/css-extract.d.ts +5 -0
  220. package/dist/export/css-extract.d.ts.map +1 -0
  221. package/dist/export/dom-capture.d.ts +15 -0
  222. package/dist/export/dom-capture.d.ts.map +1 -0
  223. package/dist/export/react-emitter.d.ts +11 -0
  224. package/dist/export/react-emitter.d.ts.map +1 -0
  225. package/dist/extension-extractor.d.ts +3 -0
  226. package/dist/extension-extractor.d.ts.map +1 -0
  227. package/dist/index.d.ts +3 -4
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +867 -87
  230. package/dist/index.js.map +1 -1
  231. package/dist/macros/execute.d.ts +44 -0
  232. package/dist/macros/execute.d.ts.map +1 -0
  233. package/dist/macros/index.d.ts +9 -0
  234. package/dist/macros/index.d.ts.map +1 -0
  235. package/dist/macros/packs/core.d.ts +3 -0
  236. package/dist/macros/packs/core.d.ts.map +1 -0
  237. package/dist/macros/registry.d.ts +48 -0
  238. package/dist/macros/registry.d.ts.map +1 -0
  239. package/dist/macros-NUBRM44Y.js +399 -0
  240. package/dist/macros-NUBRM44Y.js.map +1 -0
  241. package/dist/opendevbrowser.d.ts +3 -4
  242. package/dist/opendevbrowser.d.ts.map +1 -0
  243. package/dist/opendevbrowser.js +867 -87
  244. package/dist/opendevbrowser.js.map +1 -1
  245. package/dist/providers/adaptive-concurrency.d.ts +42 -0
  246. package/dist/providers/adaptive-concurrency.d.ts.map +1 -0
  247. package/dist/providers/artifacts.d.ts +34 -0
  248. package/dist/providers/artifacts.d.ts.map +1 -0
  249. package/dist/providers/blocker.d.ts +47 -0
  250. package/dist/providers/blocker.d.ts.map +1 -0
  251. package/dist/providers/community/index.d.ts +44 -0
  252. package/dist/providers/community/index.d.ts.map +1 -0
  253. package/dist/providers/enrichment.d.ts +33 -0
  254. package/dist/providers/enrichment.d.ts.map +1 -0
  255. package/dist/providers/errors.d.ts +41 -0
  256. package/dist/providers/errors.d.ts.map +1 -0
  257. package/dist/providers/index.d.ts +121 -0
  258. package/dist/providers/index.d.ts.map +1 -0
  259. package/dist/providers/normalize.d.ts +39 -0
  260. package/dist/providers/normalize.d.ts.map +1 -0
  261. package/dist/providers/policy.d.ts +5 -0
  262. package/dist/providers/policy.d.ts.map +1 -0
  263. package/dist/providers/registry.d.ts +22 -0
  264. package/dist/providers/registry.d.ts.map +1 -0
  265. package/dist/providers/renderer.d.ts +49 -0
  266. package/dist/providers/renderer.d.ts.map +1 -0
  267. package/dist/providers/runtime-factory.d.ts +20 -0
  268. package/dist/providers/runtime-factory.d.ts.map +1 -0
  269. package/dist/providers/safety/prompt-guard.d.ts +34 -0
  270. package/dist/providers/safety/prompt-guard.d.ts.map +1 -0
  271. package/dist/providers/shared/anti-bot-policy.d.ts +51 -0
  272. package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -0
  273. package/dist/providers/shared/post-policy.d.ts +31 -0
  274. package/dist/providers/shared/post-policy.d.ts.map +1 -0
  275. package/dist/providers/shared/request-headers.d.ts +5 -0
  276. package/dist/providers/shared/request-headers.d.ts.map +1 -0
  277. package/dist/providers/shared/traversal-url.d.ts +2 -0
  278. package/dist/providers/shared/traversal-url.d.ts.map +1 -0
  279. package/dist/providers/shopping/index.d.ts +63 -0
  280. package/dist/providers/shopping/index.d.ts.map +1 -0
  281. package/dist/providers/social/bluesky.d.ts +3 -0
  282. package/dist/providers/social/bluesky.d.ts.map +1 -0
  283. package/dist/providers/social/facebook.d.ts +3 -0
  284. package/dist/providers/social/facebook.d.ts.map +1 -0
  285. package/dist/providers/social/index.d.ts +31 -0
  286. package/dist/providers/social/index.d.ts.map +1 -0
  287. package/dist/providers/social/instagram.d.ts +3 -0
  288. package/dist/providers/social/instagram.d.ts.map +1 -0
  289. package/dist/providers/social/linkedin.d.ts +3 -0
  290. package/dist/providers/social/linkedin.d.ts.map +1 -0
  291. package/dist/providers/social/platform.d.ts +40 -0
  292. package/dist/providers/social/platform.d.ts.map +1 -0
  293. package/dist/providers/social/reddit.d.ts +3 -0
  294. package/dist/providers/social/reddit.d.ts.map +1 -0
  295. package/dist/providers/social/threads.d.ts +3 -0
  296. package/dist/providers/social/threads.d.ts.map +1 -0
  297. package/dist/providers/social/tiktok.d.ts +3 -0
  298. package/dist/providers/social/tiktok.d.ts.map +1 -0
  299. package/dist/providers/social/x.d.ts +3 -0
  300. package/dist/providers/social/x.d.ts.map +1 -0
  301. package/dist/providers/social/youtube-resolver.d.ts +78 -0
  302. package/dist/providers/social/youtube-resolver.d.ts.map +1 -0
  303. package/dist/providers/social/youtube.d.ts +34 -0
  304. package/dist/providers/social/youtube.d.ts.map +1 -0
  305. package/dist/providers/tier-router.d.ts +30 -0
  306. package/dist/providers/tier-router.d.ts.map +1 -0
  307. package/dist/providers/timebox.d.ts +20 -0
  308. package/dist/providers/timebox.d.ts.map +1 -0
  309. package/dist/providers/types.d.ts +344 -0
  310. package/dist/providers/types.d.ts.map +1 -0
  311. package/dist/providers/web/crawl-worker.d.ts +36 -0
  312. package/dist/providers/web/crawl-worker.d.ts.map +1 -0
  313. package/dist/providers/web/crawler.d.ts +101 -0
  314. package/dist/providers/web/crawler.d.ts.map +1 -0
  315. package/dist/providers/web/extract.d.ts +11 -0
  316. package/dist/providers/web/extract.d.ts.map +1 -0
  317. package/dist/providers/web/index.d.ts +24 -0
  318. package/dist/providers/web/index.d.ts.map +1 -0
  319. package/dist/providers/web/policy.d.ts +14 -0
  320. package/dist/providers/web/policy.d.ts.map +1 -0
  321. package/dist/providers/workflows.d.ts +67 -0
  322. package/dist/providers/workflows.d.ts.map +1 -0
  323. package/dist/relay/protocol.d.ts +317 -0
  324. package/dist/relay/protocol.d.ts.map +1 -0
  325. package/dist/relay/relay-endpoints.d.ts +16 -0
  326. package/dist/relay/relay-endpoints.d.ts.map +1 -0
  327. package/dist/relay/relay-server.d.ts +111 -0
  328. package/dist/relay/relay-server.d.ts.map +1 -0
  329. package/dist/relay/relay-types.d.ts +9 -0
  330. package/dist/relay/relay-types.d.ts.map +1 -0
  331. package/dist/skills/continuity-nudge.d.ts +12 -0
  332. package/dist/skills/continuity-nudge.d.ts.map +1 -0
  333. package/dist/skills/skill-loader.d.ts +20 -0
  334. package/dist/skills/skill-loader.d.ts.map +1 -0
  335. package/dist/skills/skill-nudge.d.ts +18 -0
  336. package/dist/skills/skill-nudge.d.ts.map +1 -0
  337. package/dist/skills/types.d.ts +12 -0
  338. package/dist/skills/types.d.ts.map +1 -0
  339. package/dist/snapshot/ops-snapshot.d.ts +16 -0
  340. package/dist/snapshot/ops-snapshot.d.ts.map +1 -0
  341. package/dist/snapshot/refs.d.ts +23 -0
  342. package/dist/snapshot/refs.d.ts.map +1 -0
  343. package/dist/snapshot/snapshotter.d.ts +27 -0
  344. package/dist/snapshot/snapshotter.d.ts.map +1 -0
  345. package/dist/tools/annotate.d.ts +4 -0
  346. package/dist/tools/annotate.d.ts.map +1 -0
  347. package/dist/tools/check.d.ts +4 -0
  348. package/dist/tools/check.d.ts.map +1 -0
  349. package/dist/tools/click.d.ts +4 -0
  350. package/dist/tools/click.d.ts.map +1 -0
  351. package/dist/tools/clone_component.d.ts +4 -0
  352. package/dist/tools/clone_component.d.ts.map +1 -0
  353. package/dist/tools/clone_page.d.ts +4 -0
  354. package/dist/tools/clone_page.d.ts.map +1 -0
  355. package/dist/tools/close.d.ts +4 -0
  356. package/dist/tools/close.d.ts.map +1 -0
  357. package/dist/tools/connect.d.ts +4 -0
  358. package/dist/tools/connect.d.ts.map +1 -0
  359. package/dist/tools/console_poll.d.ts +4 -0
  360. package/dist/tools/console_poll.d.ts.map +1 -0
  361. package/dist/tools/cookie_import.d.ts +25 -0
  362. package/dist/tools/cookie_import.d.ts.map +1 -0
  363. package/dist/tools/cookie_list.d.ts +9 -0
  364. package/dist/tools/cookie_list.d.ts.map +1 -0
  365. package/dist/tools/debug_trace_snapshot.d.ts +4 -0
  366. package/dist/tools/debug_trace_snapshot.d.ts.map +1 -0
  367. package/dist/tools/deps.d.ts +26 -0
  368. package/dist/tools/deps.d.ts.map +1 -0
  369. package/dist/tools/disconnect.d.ts +4 -0
  370. package/dist/tools/disconnect.d.ts.map +1 -0
  371. package/dist/tools/dom_get_html.d.ts +4 -0
  372. package/dist/tools/dom_get_html.d.ts.map +1 -0
  373. package/dist/tools/dom_get_text.d.ts +4 -0
  374. package/dist/tools/dom_get_text.d.ts.map +1 -0
  375. package/dist/tools/get_attr.d.ts +4 -0
  376. package/dist/tools/get_attr.d.ts.map +1 -0
  377. package/dist/tools/get_value.d.ts +4 -0
  378. package/dist/tools/get_value.d.ts.map +1 -0
  379. package/dist/tools/goto.d.ts +4 -0
  380. package/dist/tools/goto.d.ts.map +1 -0
  381. package/dist/tools/hover.d.ts +4 -0
  382. package/dist/tools/hover.d.ts.map +1 -0
  383. package/dist/tools/index.d.ts +4 -0
  384. package/dist/tools/index.d.ts.map +1 -0
  385. package/dist/tools/is_checked.d.ts +4 -0
  386. package/dist/tools/is_checked.d.ts.map +1 -0
  387. package/dist/tools/is_enabled.d.ts +4 -0
  388. package/dist/tools/is_enabled.d.ts.map +1 -0
  389. package/dist/tools/is_visible.d.ts +4 -0
  390. package/dist/tools/is_visible.d.ts.map +1 -0
  391. package/dist/tools/launch.d.ts +4 -0
  392. package/dist/tools/launch.d.ts.map +1 -0
  393. package/dist/tools/list.d.ts +4 -0
  394. package/dist/tools/list.d.ts.map +1 -0
  395. package/dist/tools/macro_resolve.d.ts +25 -0
  396. package/dist/tools/macro_resolve.d.ts.map +1 -0
  397. package/dist/tools/network_poll.d.ts +4 -0
  398. package/dist/tools/network_poll.d.ts.map +1 -0
  399. package/dist/tools/page.d.ts +4 -0
  400. package/dist/tools/page.d.ts.map +1 -0
  401. package/dist/tools/perf.d.ts +4 -0
  402. package/dist/tools/perf.d.ts.map +1 -0
  403. package/dist/tools/press.d.ts +4 -0
  404. package/dist/tools/press.d.ts.map +1 -0
  405. package/dist/tools/product_video_run.d.ts +4 -0
  406. package/dist/tools/product_video_run.d.ts.map +1 -0
  407. package/dist/tools/prompting_guide.d.ts +4 -0
  408. package/dist/tools/prompting_guide.d.ts.map +1 -0
  409. package/dist/tools/research_run.d.ts +4 -0
  410. package/dist/tools/research_run.d.ts.map +1 -0
  411. package/dist/tools/response.d.ts +16 -0
  412. package/dist/tools/response.d.ts.map +1 -0
  413. package/dist/tools/run.d.ts +4 -0
  414. package/dist/tools/run.d.ts.map +1 -0
  415. package/dist/tools/screenshot.d.ts +4 -0
  416. package/dist/tools/screenshot.d.ts.map +1 -0
  417. package/dist/tools/scroll.d.ts +4 -0
  418. package/dist/tools/scroll.d.ts.map +1 -0
  419. package/dist/tools/scroll_into_view.d.ts +4 -0
  420. package/dist/tools/scroll_into_view.d.ts.map +1 -0
  421. package/dist/tools/select.d.ts +4 -0
  422. package/dist/tools/select.d.ts.map +1 -0
  423. package/dist/tools/shopping_run.d.ts +4 -0
  424. package/dist/tools/shopping_run.d.ts.map +1 -0
  425. package/dist/tools/skill_list.d.ts +4 -0
  426. package/dist/tools/skill_list.d.ts.map +1 -0
  427. package/dist/tools/skill_load.d.ts +4 -0
  428. package/dist/tools/skill_load.d.ts.map +1 -0
  429. package/dist/tools/snapshot.d.ts +4 -0
  430. package/dist/tools/snapshot.d.ts.map +1 -0
  431. package/dist/tools/status.d.ts +4 -0
  432. package/dist/tools/status.d.ts.map +1 -0
  433. package/dist/tools/target_close.d.ts +4 -0
  434. package/dist/tools/target_close.d.ts.map +1 -0
  435. package/dist/tools/target_new.d.ts +4 -0
  436. package/dist/tools/target_new.d.ts.map +1 -0
  437. package/dist/tools/target_use.d.ts +4 -0
  438. package/dist/tools/target_use.d.ts.map +1 -0
  439. package/dist/tools/targets_list.d.ts +4 -0
  440. package/dist/tools/targets_list.d.ts.map +1 -0
  441. package/dist/tools/type.d.ts +4 -0
  442. package/dist/tools/type.d.ts.map +1 -0
  443. package/dist/tools/uncheck.d.ts +4 -0
  444. package/dist/tools/uncheck.d.ts.map +1 -0
  445. package/dist/tools/wait.d.ts +4 -0
  446. package/dist/tools/wait.d.ts.map +1 -0
  447. package/dist/tools/workflow-runtime.d.ts +4 -0
  448. package/dist/tools/workflow-runtime.d.ts.map +1 -0
  449. package/dist/utils/crypto.d.ts +2 -0
  450. package/dist/utils/crypto.d.ts.map +1 -0
  451. package/dist/utils/endpoint-validation.d.ts +2 -0
  452. package/dist/utils/endpoint-validation.d.ts.map +1 -0
  453. package/dist/utils/fs.d.ts +5 -0
  454. package/dist/utils/fs.d.ts.map +1 -0
  455. package/dist/utils/hub-enabled.d.ts +3 -0
  456. package/dist/utils/hub-enabled.d.ts.map +1 -0
  457. package/extension/dist/background.js +10 -4
  458. package/extension/dist/ops/ops-runtime.js +506 -4
  459. package/extension/dist/ops/ops-session-store.js +16 -2
  460. package/extension/dist/ops/parallelism-governor.js +117 -0
  461. package/extension/dist/ops/snapshot-shared.js +21 -5
  462. package/extension/dist/services/CDPRouter.js +70 -5
  463. package/extension/dist/services/ConnectionManager.js +5 -3
  464. package/extension/icons/icon128.png +0 -0
  465. package/extension/icons/icon16.png +0 -0
  466. package/extension/icons/icon32.png +0 -0
  467. package/extension/icons/icon48.png +0 -0
  468. package/extension/manifest.json +1 -1
  469. package/package.json +25 -16
  470. package/scripts/native/host.cjs +230 -0
  471. package/scripts/native/install.ps1 +73 -0
  472. package/scripts/native/install.sh +66 -0
  473. package/scripts/native/uninstall.ps1 +25 -0
  474. package/scripts/native/uninstall.sh +26 -0
  475. package/skills/AGENTS.md +17 -8
  476. package/skills/opendevbrowser-best-practices/SKILL.md +178 -72
  477. package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +44 -0
  478. package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +95 -0
  479. package/skills/opendevbrowser-best-practices/artifacts/debug-trace-playbook.md +36 -0
  480. package/skills/opendevbrowser-best-practices/artifacts/fingerprint-tiers.md +36 -0
  481. package/skills/opendevbrowser-best-practices/artifacts/macro-workflows.md +43 -0
  482. package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +36 -0
  483. package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +89 -0
  484. package/skills/opendevbrowser-best-practices/assets/templates/cdp-forward-envelope.json +11 -0
  485. package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +56 -0
  486. package/skills/opendevbrowser-best-practices/assets/templates/ops-request-envelope.json +9 -0
  487. package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +79 -0
  488. package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +24 -0
  489. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +144 -0
  490. package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +83 -0
  491. package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +93 -0
  492. package/skills/opendevbrowser-continuity-ledger/SKILL.md +10 -0
  493. package/skills/opendevbrowser-data-extraction/SKILL.md +126 -0
  494. package/skills/opendevbrowser-data-extraction/artifacts/extraction-workflows.md +31 -0
  495. package/skills/opendevbrowser-data-extraction/assets/templates/compliance-checklist.md +7 -0
  496. package/skills/opendevbrowser-data-extraction/assets/templates/extraction-schema.json +17 -0
  497. package/skills/opendevbrowser-data-extraction/assets/templates/pagination-state.json +11 -0
  498. package/skills/opendevbrowser-data-extraction/assets/templates/quality-gates.json +10 -0
  499. package/skills/opendevbrowser-data-extraction/examples/sample-schema.json +19 -0
  500. package/skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh +83 -0
  501. package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +49 -0
  502. package/skills/opendevbrowser-form-testing/SKILL.md +143 -0
  503. package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +37 -0
  504. package/skills/opendevbrowser-form-testing/assets/templates/a11y-assertions.md +7 -0
  505. package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +16 -0
  506. package/skills/opendevbrowser-form-testing/assets/templates/multi-step-state.json +11 -0
  507. package/skills/opendevbrowser-form-testing/assets/templates/validation-matrix.json +24 -0
  508. package/skills/opendevbrowser-form-testing/examples/sample-validation-matrix.json +29 -0
  509. package/skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh +82 -0
  510. package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +49 -0
  511. package/skills/opendevbrowser-login-automation/SKILL.md +159 -0
  512. package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +39 -0
  513. package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +21 -0
  514. package/skills/opendevbrowser-login-automation/assets/templates/challenge-checkpoint.md +10 -0
  515. package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +26 -0
  516. package/skills/opendevbrowser-login-automation/examples/sample-auth-signals.json +14 -0
  517. package/skills/opendevbrowser-login-automation/scripts/record-auth-signals.sh +18 -0
  518. package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +99 -0
  519. package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +50 -0
  520. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +98 -0
  521. package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +23 -0
  522. package/skills/opendevbrowser-product-presentation-asset/artifacts/ugc-creative-guide.md +21 -0
  523. package/skills/opendevbrowser-product-presentation-asset/assets/templates/claims-evidence-map.md +5 -0
  524. package/skills/opendevbrowser-product-presentation-asset/assets/templates/copy.md +5 -0
  525. package/skills/opendevbrowser-product-presentation-asset/assets/templates/features.md +4 -0
  526. package/skills/opendevbrowser-product-presentation-asset/assets/templates/manifest.schema.json +14 -0
  527. package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +7 -0
  528. package/skills/opendevbrowser-product-presentation-asset/assets/templates/ugc-concepts.md +17 -0
  529. package/skills/opendevbrowser-product-presentation-asset/assets/templates/user-actions.md +7 -0
  530. package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +18 -0
  531. package/skills/opendevbrowser-product-presentation-asset/examples/sample-input.json +6 -0
  532. package/skills/opendevbrowser-product-presentation-asset/examples/sample-manifest.json +18 -0
  533. package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +9 -0
  534. package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +14 -0
  535. package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +9 -0
  536. package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +96 -0
  537. package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +56 -0
  538. package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +43 -0
  539. package/skills/opendevbrowser-research/SKILL.md +73 -0
  540. package/skills/opendevbrowser-research/artifacts/research-workflows.md +29 -0
  541. package/skills/opendevbrowser-research/assets/templates/compact.md +7 -0
  542. package/skills/opendevbrowser-research/assets/templates/context.json +18 -0
  543. package/skills/opendevbrowser-research/assets/templates/report.md +9 -0
  544. package/skills/opendevbrowser-research/examples/sample-input.json +6 -0
  545. package/skills/opendevbrowser-research/examples/sample-output.md +4 -0
  546. package/skills/opendevbrowser-research/scripts/render-output.sh +12 -0
  547. package/skills/opendevbrowser-research/scripts/run-research.sh +23 -0
  548. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +48 -0
  549. package/skills/opendevbrowser-research/scripts/write-artifacts.sh +29 -0
  550. package/skills/opendevbrowser-shopping/SKILL.md +118 -0
  551. package/skills/opendevbrowser-shopping/artifacts/deal-hunting-workflows.md +37 -0
  552. package/skills/opendevbrowser-shopping/assets/templates/deal-thresholds.json +8 -0
  553. package/skills/opendevbrowser-shopping/assets/templates/deals-context.json +9 -0
  554. package/skills/opendevbrowser-shopping/assets/templates/deals-table.md +4 -0
  555. package/skills/opendevbrowser-shopping/assets/templates/market-analysis.json +30 -0
  556. package/skills/opendevbrowser-shopping/examples/sample-deals.md +4 -0
  557. package/skills/opendevbrowser-shopping/examples/sample-query.json +5 -0
  558. package/skills/opendevbrowser-shopping/scripts/analyze-market.sh +307 -0
  559. package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +28 -0
  560. package/skills/opendevbrowser-shopping/scripts/render-deals.sh +13 -0
  561. package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +32 -0
  562. package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +19 -0
  563. package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +53 -0
  564. package/dist/chunk-JVBMT2O5.js +0 -7173
  565. package/dist/chunk-JVBMT2O5.js.map +0 -1
  566. package/skills/data-extraction/SKILL.md +0 -128
  567. package/skills/form-testing/SKILL.md +0 -106
  568. package/skills/login-automation/SKILL.md +0 -108
@@ -0,0 +1,131 @@
1
+ import type { OpenDevBrowserConfig } from "../config";
2
+ import type { BrowserManagerLike } from "./manager-types";
3
+ import type { ConnectOptions, LaunchOptions } from "./browser-manager";
4
+ import type { TargetInfo } from "./target-manager";
5
+ import type { ReactExport } from "../export/react-emitter";
6
+ import type { ConsoleTracker } from "../devtools/console-tracker";
7
+ import type { NetworkTracker } from "../devtools/network-tracker";
8
+ import { BrowserManager } from "./browser-manager";
9
+ type CookieImportRecord = {
10
+ name: string;
11
+ value: string;
12
+ url?: string;
13
+ domain?: string;
14
+ path?: string;
15
+ expires?: number;
16
+ httpOnly?: boolean;
17
+ secure?: boolean;
18
+ sameSite?: "Strict" | "Lax" | "None";
19
+ };
20
+ type CookieListRecord = {
21
+ name: string;
22
+ value: string;
23
+ domain: string;
24
+ path: string;
25
+ expires: number;
26
+ httpOnly: boolean;
27
+ secure: boolean;
28
+ sameSite?: "Strict" | "Lax" | "None";
29
+ };
30
+ export declare class OpsBrowserManager implements BrowserManagerLike {
31
+ private readonly base;
32
+ private readonly config;
33
+ private opsClient;
34
+ private opsEndpoint;
35
+ private opsSessions;
36
+ private opsLeases;
37
+ private closedOpsSessions;
38
+ constructor(base: BrowserManager, config: OpenDevBrowserConfig);
39
+ launch(options: LaunchOptions): ReturnType<BrowserManagerLike["launch"]>;
40
+ connect(options: ConnectOptions): ReturnType<BrowserManagerLike["connect"]>;
41
+ connectRelay(wsEndpoint: string): ReturnType<BrowserManagerLike["connectRelay"]>;
42
+ private buildParallelismPolicyPayload;
43
+ disconnect(sessionId: string, closeBrowser?: boolean): ReturnType<BrowserManagerLike["disconnect"]>;
44
+ status(sessionId: string): ReturnType<BrowserManagerLike["status"]>;
45
+ withPage<T>(sessionId: string, targetId: string | null, fn: (page: never) => Promise<T>): Promise<T>;
46
+ cookieImport(sessionId: string, cookies: CookieImportRecord[], strict?: boolean, requestId?: string): Promise<{
47
+ requestId: string;
48
+ imported: number;
49
+ rejected: Array<{
50
+ index: number;
51
+ reason: string;
52
+ }>;
53
+ }>;
54
+ cookieList(sessionId: string, urls?: string[], requestId?: string): Promise<{
55
+ requestId: string;
56
+ cookies: CookieListRecord[];
57
+ count: number;
58
+ }>;
59
+ goto(sessionId: string, url: string, waitUntil?: "domcontentloaded" | "load" | "networkidle", timeoutMs?: number, _sessionOverride?: {
60
+ browser: unknown;
61
+ context: unknown;
62
+ targets: unknown;
63
+ }, targetId?: string | null): ReturnType<BrowserManagerLike["goto"]>;
64
+ waitForLoad(sessionId: string, until: "domcontentloaded" | "load" | "networkidle", timeoutMs?: number, targetId?: string | null): ReturnType<BrowserManagerLike["waitForLoad"]>;
65
+ waitForRef(sessionId: string, ref: string, state?: "attached" | "visible" | "hidden", timeoutMs?: number, targetId?: string | null): ReturnType<BrowserManagerLike["waitForRef"]>;
66
+ snapshot(sessionId: string, mode: "outline" | "actionables", maxChars: number, cursor?: string, targetId?: string | null): ReturnType<BrowserManagerLike["snapshot"]>;
67
+ click(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["click"]>;
68
+ hover(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["hover"]>;
69
+ press(sessionId: string, key: string, ref?: string, targetId?: string | null): ReturnType<BrowserManagerLike["press"]>;
70
+ check(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["check"]>;
71
+ uncheck(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["uncheck"]>;
72
+ type(sessionId: string, ref: string, text: string, clear?: boolean, submit?: boolean, targetId?: string | null): ReturnType<BrowserManagerLike["type"]>;
73
+ select(sessionId: string, ref: string, values: string[], targetId?: string | null): ReturnType<BrowserManagerLike["select"]>;
74
+ scroll(sessionId: string, dy: number, ref?: string, targetId?: string | null): ReturnType<BrowserManagerLike["scroll"]>;
75
+ scrollIntoView(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["scrollIntoView"]>;
76
+ domGetHtml(sessionId: string, ref: string, maxChars?: number, targetId?: string | null): ReturnType<BrowserManagerLike["domGetHtml"]>;
77
+ domGetText(sessionId: string, ref: string, maxChars?: number, targetId?: string | null): ReturnType<BrowserManagerLike["domGetText"]>;
78
+ domGetAttr(sessionId: string, ref: string, name: string, targetId?: string | null): ReturnType<BrowserManagerLike["domGetAttr"]>;
79
+ domGetValue(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["domGetValue"]>;
80
+ domIsVisible(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["domIsVisible"]>;
81
+ domIsEnabled(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["domIsEnabled"]>;
82
+ domIsChecked(sessionId: string, ref: string, targetId?: string | null): ReturnType<BrowserManagerLike["domIsChecked"]>;
83
+ clonePage(sessionId: string, targetId?: string | null): Promise<ReactExport>;
84
+ cloneComponent(sessionId: string, ref: string, targetId?: string | null): Promise<ReactExport>;
85
+ perfMetrics(sessionId: string, targetId?: string | null): ReturnType<BrowserManagerLike["perfMetrics"]>;
86
+ screenshot(sessionId: string, path?: string, targetId?: string | null): ReturnType<BrowserManagerLike["screenshot"]>;
87
+ consolePoll(sessionId: string, sinceSeq?: number, max?: number): Promise<{
88
+ events: ReturnType<ConsoleTracker["poll"]>["events"];
89
+ nextSeq: number;
90
+ }>;
91
+ networkPoll(sessionId: string, sinceSeq?: number, max?: number): Promise<{
92
+ events: ReturnType<NetworkTracker["poll"]>["events"];
93
+ nextSeq: number;
94
+ }>;
95
+ listTargets(sessionId: string, includeUrls?: boolean): Promise<{
96
+ activeTargetId: string | null;
97
+ targets: TargetInfo[];
98
+ }>;
99
+ useTarget(sessionId: string, targetId: string): Promise<{
100
+ activeTargetId: string;
101
+ url?: string;
102
+ title?: string;
103
+ }>;
104
+ newTarget(sessionId: string, url?: string): Promise<{
105
+ targetId: string;
106
+ }>;
107
+ closeTarget(sessionId: string, targetId: string): Promise<void>;
108
+ page(sessionId: string, name: string, url?: string): Promise<{
109
+ targetId: string;
110
+ created: boolean;
111
+ url?: string;
112
+ title?: string;
113
+ }>;
114
+ listPages(sessionId: string): Promise<{
115
+ pages: Array<{
116
+ name: string;
117
+ targetId: string;
118
+ url?: string;
119
+ title?: string;
120
+ }>;
121
+ }>;
122
+ closePage(sessionId: string, name: string): Promise<void>;
123
+ private ensureOpsClient;
124
+ private withTarget;
125
+ private requestOps;
126
+ private handleOpsEvent;
127
+ private handleOpsClientClosed;
128
+ private trackClosedSessionCleanup;
129
+ }
130
+ export {};
131
+ //# sourceMappingURL=ops-browser-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops-browser-manager.d.ts","sourceRoot":"","sources":["../../src/browser/ops-browser-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type OpsEvent, type OpsHelloAck } from "../relay/protocol";
2
+ export type OpsClientOptions = {
3
+ handshakeTimeoutMs?: number;
4
+ pingIntervalMs?: number;
5
+ pingTimeoutMs?: number;
6
+ maxPayloadBytes?: number;
7
+ autoReconnect?: boolean;
8
+ reconnectBaseDelayMs?: number;
9
+ reconnectMaxDelayMs?: number;
10
+ maxMissedPongs?: number;
11
+ onEvent?: (event: OpsEvent) => void;
12
+ onClose?: (detail?: {
13
+ code?: number;
14
+ reason?: string;
15
+ }) => void;
16
+ };
17
+ export declare class OpsClient {
18
+ private url;
19
+ private socket;
20
+ private lastHelloAck;
21
+ private connectPromise;
22
+ private pendingRequests;
23
+ private pendingChunks;
24
+ private pendingPings;
25
+ private heartbeatTimer;
26
+ private handshakeTimeoutMs;
27
+ private pingIntervalMs;
28
+ private pingTimeoutMs;
29
+ private maxPayloadBytes;
30
+ private onEvent?;
31
+ private onClose?;
32
+ private autoReconnect;
33
+ private reconnectBaseDelayMs;
34
+ private reconnectMaxDelayMs;
35
+ private reconnectAttempts;
36
+ private reconnectTimer;
37
+ private shouldReconnectOnClose;
38
+ private missedPongs;
39
+ private maxMissedPongs;
40
+ constructor(url: string, options?: OpsClientOptions);
41
+ connect(): Promise<OpsHelloAck>;
42
+ disconnect(): void;
43
+ request<T>(command: string, payload?: unknown, opsSessionId?: string, timeoutMs?: number, leaseId?: string): Promise<T>;
44
+ private waitForHelloAck;
45
+ private handleMessage;
46
+ private handleClose;
47
+ private startHeartbeat;
48
+ private stopHeartbeat;
49
+ private sendPing;
50
+ private scheduleReconnect;
51
+ private clearReconnectTimer;
52
+ private closeSocket;
53
+ private send;
54
+ private sendRaw;
55
+ }
56
+ //# sourceMappingURL=ops-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ops-client.d.ts","sourceRoot":"","sources":["../../src/browser/ops-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,QAAQ,EAEb,KAAK,WAAW,EAKjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE,CAAC;AAoBF,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAC,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAwD;IACxE,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,sBAAsB,CAAQ;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAS;gBAEnB,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAcjD,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAkFrC,UAAU,IAAI,IAAI;IA6BZ,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,SAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC5H,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,aAAa;IAkFrB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;YAOP,QAAQ;IAsBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,OAAO;CAMhB"}
@@ -0,0 +1,31 @@
1
+ import type { ParallelismGovernorConfig } from "../config";
2
+ export type ParallelModeVariant = "managedHeaded" | "managedHeadless" | "cdpConnectHeaded" | "cdpConnectHeadless" | "extensionOpsHeaded" | "extensionLegacyCdpHeaded";
3
+ export type ParallelPressureClass = "healthy" | "medium" | "high" | "critical";
4
+ export type ParallelismPressureInput = {
5
+ hostFreeMemPct: number;
6
+ rssUsagePct: number;
7
+ queueAgeMs: number;
8
+ queueDepth: number;
9
+ discardedSignals?: number;
10
+ frozenSignals?: number;
11
+ };
12
+ export type ParallelismGovernorState = {
13
+ modeVariant: ParallelModeVariant;
14
+ staticCap: number;
15
+ effectiveCap: number;
16
+ healthyWindows: number;
17
+ lastSampleAt: number;
18
+ lastPressure: ParallelPressureClass;
19
+ };
20
+ export type ParallelismGovernorSnapshot = {
21
+ state: ParallelismGovernorState;
22
+ pressure: ParallelPressureClass;
23
+ targetCap: number;
24
+ waitQueueDepth: number;
25
+ waitQueueAgeMs: number;
26
+ };
27
+ export declare const resolveStaticCap: (policy: ParallelismGovernorConfig, modeVariant: ParallelModeVariant) => number;
28
+ export declare const createGovernorState: (policy: ParallelismGovernorConfig, modeVariant: ParallelModeVariant) => ParallelismGovernorState;
29
+ export declare const evaluateGovernor: (policy: ParallelismGovernorConfig, current: ParallelismGovernorState, input: ParallelismPressureInput, sampledAt?: number) => ParallelismGovernorSnapshot;
30
+ export declare const rssUsagePercent: (rssBytes: number, budgetMb: number) => number;
31
+ //# sourceMappingURL=parallelism-governor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallelism-governor.d.ts","sourceRoot":"","sources":["../../src/browser/parallelism-governor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,0BAA0B,CAAC;AAE/B,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/E,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,wBAAwB,CAAC;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAkDF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,yBAAyB,EACjC,aAAa,mBAAmB,KAC/B,MAGF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,yBAAyB,EACjC,aAAa,mBAAmB,KAC/B,wBAUF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,yBAAyB,EACjC,SAAS,wBAAwB,EACjC,OAAO,wBAAwB,EAC/B,kBAAsB,KACrB,2BA0CF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MAGpE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { BrowserManagerLike } from "./manager-types";
2
+ export type RunStep = {
3
+ action: string;
4
+ args?: Record<string, unknown>;
5
+ };
6
+ export type RunResult = {
7
+ i: number;
8
+ ok: boolean;
9
+ data?: unknown;
10
+ error?: {
11
+ message: string;
12
+ };
13
+ };
14
+ export declare class ScriptRunner {
15
+ private manager;
16
+ constructor(manager: BrowserManagerLike);
17
+ run(sessionId: string, steps: RunStep[], stopOnError?: boolean): Promise<{
18
+ results: RunResult[];
19
+ timingMs: number;
20
+ }>;
21
+ private executeStep;
22
+ }
23
+ //# sourceMappingURL=script-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-runner.d.ts","sourceRoot":"","sources":["../../src/browser/script-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAqB;gBAExB,OAAO,EAAE,kBAAkB;IAIjC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,UAAO,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;YA2BzG,WAAW;CA4F1B"}
@@ -0,0 +1,63 @@
1
+ import type { Browser, BrowserContext } from "playwright-core";
2
+ import type { BlockerSignalV1 } from "../providers/types";
3
+ export type BrowserMode = "managed" | "cdpConnect" | "extension";
4
+ export type SessionBlockerStateValue = "clear" | "active" | "resolving";
5
+ export type BrowserSession = {
6
+ id: string;
7
+ mode: BrowserMode;
8
+ browser: Browser;
9
+ context: BrowserContext;
10
+ };
11
+ export type SessionBlockerResolutionStatus = "resolved" | "unresolved" | "deferred";
12
+ export type SessionBlockerResolutionReason = "verifier_passed" | "verification_timeout" | "verifier_failed" | "env_limited" | "manual_clear";
13
+ export type SessionBlockerResolution = {
14
+ status: SessionBlockerResolutionStatus;
15
+ reason: SessionBlockerResolutionReason;
16
+ updatedAtMs: number;
17
+ };
18
+ export type SessionBlockerState = {
19
+ state: SessionBlockerStateValue;
20
+ blocker?: BlockerSignalV1;
21
+ targetKey?: string;
22
+ activatedAtMs?: number;
23
+ lastDetectedAtMs?: number;
24
+ updatedAtMs?: number;
25
+ resolution?: SessionBlockerResolution;
26
+ };
27
+ export type SessionBlockerSummary = {
28
+ state: SessionBlockerStateValue;
29
+ blocker?: BlockerSignalV1;
30
+ targetKey?: string;
31
+ updatedAt?: string;
32
+ resolution?: {
33
+ status: SessionBlockerResolutionStatus;
34
+ reason: SessionBlockerResolutionReason;
35
+ updatedAt: string;
36
+ };
37
+ };
38
+ export declare class SessionStore {
39
+ private sessions;
40
+ private blockerStates;
41
+ add(session: BrowserSession): void;
42
+ get(sessionId: string): BrowserSession;
43
+ has(sessionId: string): boolean;
44
+ delete(sessionId: string): void;
45
+ list(): BrowserSession[];
46
+ getBlockerState(sessionId: string): SessionBlockerState;
47
+ getBlockerSummary(sessionId: string): SessionBlockerSummary;
48
+ startResolving(sessionId: string, nowMs?: number): SessionBlockerState;
49
+ reconcileBlocker(sessionId: string, blocker: BlockerSignalV1 | null, options: {
50
+ timeoutMs: number;
51
+ verifier?: boolean;
52
+ targetKey?: string;
53
+ nowMs?: number;
54
+ }): SessionBlockerState;
55
+ markVerificationFailure(sessionId: string, options?: {
56
+ envLimited?: boolean;
57
+ timedOut?: boolean;
58
+ nowMs?: number;
59
+ }): SessionBlockerState;
60
+ clearBlocker(sessionId: string, nowMs?: number): SessionBlockerState;
61
+ private ensureSession;
62
+ }
63
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/browser/session-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { Page } from "playwright-core";
2
+ export type TargetInfo = {
3
+ targetId: string;
4
+ title?: string;
5
+ url?: string;
6
+ type: "page";
7
+ };
8
+ export type NamedTargetInfo = {
9
+ name: string;
10
+ targetId: string;
11
+ };
12
+ export declare class TargetManager {
13
+ private targets;
14
+ private activeTargetId;
15
+ private nameToTarget;
16
+ private targetToName;
17
+ registerPage(page: Page, name?: string): string;
18
+ registerExistingPages(pages: Page[]): void;
19
+ setName(targetId: string, name: string): void;
20
+ getTargetIdByName(name: string): string | null;
21
+ getName(targetId: string): string | null;
22
+ listNamedTargets(): NamedTargetInfo[];
23
+ removeName(name: string): void;
24
+ setActiveTarget(targetId: string): void;
25
+ getActiveTargetId(): string | null;
26
+ getActivePage(): Page;
27
+ getPage(targetId: string): Page;
28
+ listTargets(includeUrls?: boolean): Promise<TargetInfo[]>;
29
+ closeTarget(targetId: string): Promise<void>;
30
+ listPageEntries(): Array<{
31
+ targetId: string;
32
+ page: Page;
33
+ }>;
34
+ syncPages(pages: Page[]): void;
35
+ }
36
+ //# sourceMappingURL=target-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-manager.d.ts","sourceRoot":"","sources":["../../src/browser/target-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAA6B;IAEjD,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAY/C,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAM1C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB7C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxC,gBAAgB,IAAI,eAAe,EAAE;IAOrC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOvC,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC,aAAa,IAAI,IAAI;IAWrB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQzB,WAAW,CAAC,WAAW,UAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgCvD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlD,eAAe,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IAO1D,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;CA+B/B"}
@@ -0,0 +1,2 @@
1
+ export declare function findChromeExecutable(overridePath?: string): Promise<string | null>;
2
+ //# sourceMappingURL=chrome-locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-locator.d.ts","sourceRoot":"","sources":["../../src/cache/chrome-locator.ts"],"names":[],"mappings":"AA6DA,wBAAsB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexF"}
@@ -0,0 +1,6 @@
1
+ export type DownloadResult = {
2
+ executablePath: string;
3
+ buildId: string;
4
+ };
5
+ export declare function downloadChromeForTesting(cacheDir: string): Promise<DownloadResult>;
6
+ //# sourceMappingURL=downloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloader.d.ts","sourceRoot":"","sources":["../../src/cache/downloader.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBxF"}
@@ -0,0 +1,9 @@
1
+ export type CachePaths = {
2
+ root: string;
3
+ projectRoot: string;
4
+ profileDir: string;
5
+ chromeDir: string;
6
+ };
7
+ export declare function resolveCachePaths(worktree: string, profile: string): Promise<CachePaths>;
8
+ export declare function ensureFileAbsent(path: string): Promise<void>;
9
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/cache/paths.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAmBF,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAe9F;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlE"}
@@ -0,0 +1,166 @@
1
+ // src/providers/errors.ts
2
+ var NETWORK_MESSAGE_RE = /(ECONNRESET|EAI_AGAIN|ENOTFOUND|socket hang up|network)/i;
3
+ var RATE_LIMIT_RE = /(rate limit|too many requests|429)/i;
4
+ var AUTH_RE = /(unauthorized|forbidden|401|403|auth)/i;
5
+ var TIMEOUT_RE = /(timeout|timed out|abort)/i;
6
+ var CHALLENGE_RE = /(captcha|challenge|anti.?bot|cf_chl|hcaptcha|recaptcha|interstitial)/i;
7
+ var IP_BLOCK_RE = /(ip blocked|ip ban|access denied from your ip|geo.?blocked)/i;
8
+ var CAPTION_MISSING_RE = /(caption|subtitle).*(missing|not found|unavailable)|no captions/i;
9
+ var TRANSCRIPT_RE = /transcript.*(missing|unavailable|not found)|no transcript/i;
10
+ var ENV_LIMITED_RE = /(extension not connected|manual interaction|environment|not available in this environment)/i;
11
+ var PROVIDER_REASON_CODES = [
12
+ "ip_blocked",
13
+ "token_required",
14
+ "auth_required",
15
+ "challenge_detected",
16
+ "rate_limited",
17
+ "caption_missing",
18
+ "env_limited",
19
+ "transcript_unavailable",
20
+ "policy_blocked",
21
+ "cooldown_active",
22
+ "strategy_unapproved"
23
+ ];
24
+ var reasonCodeSet = new Set(PROVIDER_REASON_CODES);
25
+ var isProviderReasonCode = (value) => {
26
+ return typeof value === "string" && reasonCodeSet.has(value);
27
+ };
28
+ var pickStatus = (details) => {
29
+ const status = details?.status;
30
+ return typeof status === "number" && Number.isFinite(status) ? status : void 0;
31
+ };
32
+ var readReasonFromDetails = (details) => {
33
+ const candidate = details?.reasonCode;
34
+ return isProviderReasonCode(candidate) ? candidate : void 0;
35
+ };
36
+ var normalizeProviderReasonCode = (params) => {
37
+ const fromDetails = readReasonFromDetails(params.details);
38
+ if (fromDetails) return fromDetails;
39
+ const message = params.message ?? "";
40
+ const status = params.status ?? pickStatus(params.details);
41
+ if (params.code === "policy_blocked") return "policy_blocked";
42
+ if (params.code === "rate_limited" || status === 429 || RATE_LIMIT_RE.test(message)) return "rate_limited";
43
+ if (params.code === "auth" || status === 401 || AUTH_RE.test(message)) return "token_required";
44
+ if (CHALLENGE_RE.test(message)) return "challenge_detected";
45
+ if (IP_BLOCK_RE.test(message)) return "ip_blocked";
46
+ if (CAPTION_MISSING_RE.test(message)) return "caption_missing";
47
+ if (TRANSCRIPT_RE.test(message)) return "transcript_unavailable";
48
+ if (ENV_LIMITED_RE.test(message)) return "env_limited";
49
+ return void 0;
50
+ };
51
+ var providerErrorCodeFromReasonCode = (reasonCode) => {
52
+ switch (reasonCode) {
53
+ case "rate_limited":
54
+ return "rate_limited";
55
+ case "token_required":
56
+ case "auth_required":
57
+ return "auth";
58
+ case "policy_blocked":
59
+ case "strategy_unapproved":
60
+ return "policy_blocked";
61
+ case "ip_blocked":
62
+ return "upstream";
63
+ case "caption_missing":
64
+ case "transcript_unavailable":
65
+ case "env_limited":
66
+ case "cooldown_active":
67
+ case "challenge_detected":
68
+ return "unavailable";
69
+ default:
70
+ return "unavailable";
71
+ }
72
+ };
73
+ var withReasonCodeDetails = (details, reasonCode) => {
74
+ if (!reasonCode) return details;
75
+ if (details && typeof details.reasonCode === "string") {
76
+ return details;
77
+ }
78
+ return {
79
+ ...details ?? {},
80
+ reasonCode
81
+ };
82
+ };
83
+ var ProviderRuntimeError = class extends Error {
84
+ code;
85
+ retryable;
86
+ reasonCode;
87
+ provider;
88
+ source;
89
+ details;
90
+ constructor(code, message, options = {}) {
91
+ super(message, { cause: options.cause });
92
+ this.name = "ProviderRuntimeError";
93
+ this.code = code;
94
+ this.retryable = options.retryable ?? isRetryableByCode(code);
95
+ this.reasonCode = options.reasonCode;
96
+ this.provider = options.provider;
97
+ this.source = options.source;
98
+ this.details = withReasonCodeDetails(options.details, options.reasonCode);
99
+ }
100
+ };
101
+ var isRetryableByCode = (code) => {
102
+ return code === "timeout" || code === "network" || code === "rate_limited" || code === "upstream" || code === "unavailable";
103
+ };
104
+ var isProviderRuntimeError = (value) => {
105
+ return value instanceof ProviderRuntimeError;
106
+ };
107
+ var createProviderError = (code, message, options = {}) => {
108
+ const reasonCode = options.reasonCode ?? readReasonFromDetails(options.details);
109
+ return {
110
+ code,
111
+ message,
112
+ retryable: options.retryable ?? isRetryableByCode(code),
113
+ ...reasonCode ? { reasonCode } : {},
114
+ ...options.provider ? { provider: options.provider } : {},
115
+ ...options.source ? { source: options.source } : {},
116
+ ...withReasonCodeDetails(options.details, reasonCode) ? { details: withReasonCodeDetails(options.details, reasonCode) } : {}
117
+ };
118
+ };
119
+ var toProviderError = (error, options = {}) => {
120
+ if (isProviderRuntimeError(error)) {
121
+ const reasonCode2 = error.reasonCode ?? normalizeProviderReasonCode({
122
+ code: error.code,
123
+ message: error.message,
124
+ details: error.details
125
+ });
126
+ return createProviderError(error.code, error.message, {
127
+ retryable: error.retryable,
128
+ reasonCode: reasonCode2,
129
+ provider: error.provider ?? options.provider,
130
+ source: error.source ?? options.source,
131
+ details: error.details ?? options.details
132
+ });
133
+ }
134
+ const message = error instanceof Error ? error.message : String(error);
135
+ const code = classifyErrorCode(message, options.defaultCode ?? "internal");
136
+ const reasonCode = normalizeProviderReasonCode({
137
+ code,
138
+ message,
139
+ details: options.details
140
+ });
141
+ return createProviderError(code, message || "Unknown provider failure", {
142
+ reasonCode,
143
+ provider: options.provider,
144
+ source: options.source,
145
+ details: options.details
146
+ });
147
+ };
148
+ var classifyErrorCode = (message, fallback) => {
149
+ if (!message) return fallback;
150
+ if (TIMEOUT_RE.test(message)) return "timeout";
151
+ if (RATE_LIMIT_RE.test(message)) return "rate_limited";
152
+ if (AUTH_RE.test(message)) return "auth";
153
+ if (NETWORK_MESSAGE_RE.test(message)) return "network";
154
+ if (/not supported|unsupported|not implemented/i.test(message)) return "not_supported";
155
+ if (/unavailable|service down|temporarily unavailable/i.test(message)) return "unavailable";
156
+ return fallback;
157
+ };
158
+
159
+ export {
160
+ normalizeProviderReasonCode,
161
+ providerErrorCodeFromReasonCode,
162
+ ProviderRuntimeError,
163
+ createProviderError,
164
+ toProviderError
165
+ };
166
+ //# sourceMappingURL=chunk-7W3SPXIB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/providers/errors.ts"],"sourcesContent":["import type {\n JsonValue,\n ProviderError,\n ProviderErrorCode,\n ProviderReasonCode,\n ProviderSource\n} from \"./types\";\n\nconst NETWORK_MESSAGE_RE = /(ECONNRESET|EAI_AGAIN|ENOTFOUND|socket hang up|network)/i;\nconst RATE_LIMIT_RE = /(rate limit|too many requests|429)/i;\nconst AUTH_RE = /(unauthorized|forbidden|401|403|auth)/i;\nconst TIMEOUT_RE = /(timeout|timed out|abort)/i;\nconst CHALLENGE_RE = /(captcha|challenge|anti.?bot|cf_chl|hcaptcha|recaptcha|interstitial)/i;\nconst IP_BLOCK_RE = /(ip blocked|ip ban|access denied from your ip|geo.?blocked)/i;\nconst CAPTION_MISSING_RE = /(caption|subtitle).*(missing|not found|unavailable)|no captions/i;\nconst TRANSCRIPT_RE = /transcript.*(missing|unavailable|not found)|no transcript/i;\nconst ENV_LIMITED_RE = /(extension not connected|manual interaction|environment|not available in this environment)/i;\n\nconst PROVIDER_REASON_CODES: ProviderReasonCode[] = [\n \"ip_blocked\",\n \"token_required\",\n \"auth_required\",\n \"challenge_detected\",\n \"rate_limited\",\n \"caption_missing\",\n \"env_limited\",\n \"transcript_unavailable\",\n \"policy_blocked\",\n \"cooldown_active\",\n \"strategy_unapproved\"\n];\n\nconst reasonCodeSet = new Set<string>(PROVIDER_REASON_CODES);\n\nexport const isProviderReasonCode = (value: unknown): value is ProviderReasonCode => {\n return typeof value === \"string\" && reasonCodeSet.has(value);\n};\n\nconst pickStatus = (details: Record<string, JsonValue> | undefined): number | undefined => {\n const status = details?.status;\n return typeof status === \"number\" && Number.isFinite(status) ? status : undefined;\n};\n\nconst readReasonFromDetails = (\n details: Record<string, JsonValue> | undefined\n): ProviderReasonCode | undefined => {\n const candidate = details?.reasonCode;\n return isProviderReasonCode(candidate) ? candidate : undefined;\n};\n\nexport const normalizeProviderReasonCode = (params: {\n code: ProviderErrorCode;\n message?: string;\n status?: number;\n details?: Record<string, JsonValue>;\n}): ProviderReasonCode | undefined => {\n const fromDetails = readReasonFromDetails(params.details);\n if (fromDetails) return fromDetails;\n\n const message = params.message ?? \"\";\n const status = params.status ?? pickStatus(params.details);\n\n if (params.code === \"policy_blocked\") return \"policy_blocked\";\n if (params.code === \"rate_limited\" || status === 429 || RATE_LIMIT_RE.test(message)) return \"rate_limited\";\n if (params.code === \"auth\" || status === 401 || AUTH_RE.test(message)) return \"token_required\";\n if (CHALLENGE_RE.test(message)) return \"challenge_detected\";\n if (IP_BLOCK_RE.test(message)) return \"ip_blocked\";\n if (CAPTION_MISSING_RE.test(message)) return \"caption_missing\";\n if (TRANSCRIPT_RE.test(message)) return \"transcript_unavailable\";\n if (ENV_LIMITED_RE.test(message)) return \"env_limited\";\n return undefined;\n};\n\nexport const providerErrorCodeFromReasonCode = (\n reasonCode: ProviderReasonCode | undefined\n): ProviderErrorCode => {\n switch (reasonCode) {\n case \"rate_limited\":\n return \"rate_limited\";\n case \"token_required\":\n case \"auth_required\":\n return \"auth\";\n case \"policy_blocked\":\n case \"strategy_unapproved\":\n return \"policy_blocked\";\n case \"ip_blocked\":\n return \"upstream\";\n case \"caption_missing\":\n case \"transcript_unavailable\":\n case \"env_limited\":\n case \"cooldown_active\":\n case \"challenge_detected\":\n return \"unavailable\";\n default:\n return \"unavailable\";\n }\n};\n\nconst withReasonCodeDetails = (\n details: Record<string, JsonValue> | undefined,\n reasonCode: ProviderReasonCode | undefined\n): Record<string, JsonValue> | undefined => {\n if (!reasonCode) return details;\n if (details && typeof details.reasonCode === \"string\") {\n return details;\n }\n return {\n ...(details ?? {}),\n reasonCode\n };\n};\n\nexport class ProviderRuntimeError extends Error {\n readonly code: ProviderErrorCode;\n readonly retryable: boolean;\n readonly reasonCode?: ProviderReasonCode;\n readonly provider?: string;\n readonly source?: ProviderSource;\n readonly details?: Record<string, JsonValue>;\n\n constructor(\n code: ProviderErrorCode,\n message: string,\n options: {\n retryable?: boolean;\n reasonCode?: ProviderReasonCode;\n provider?: string;\n source?: ProviderSource;\n details?: Record<string, JsonValue>;\n cause?: unknown;\n } = {}\n ) {\n super(message, { cause: options.cause });\n this.name = \"ProviderRuntimeError\";\n this.code = code;\n this.retryable = options.retryable ?? isRetryableByCode(code);\n this.reasonCode = options.reasonCode;\n this.provider = options.provider;\n this.source = options.source;\n this.details = withReasonCodeDetails(options.details, options.reasonCode);\n }\n}\n\nexport const isRetryableByCode = (code: ProviderErrorCode): boolean => {\n return code === \"timeout\"\n || code === \"network\"\n || code === \"rate_limited\"\n || code === \"upstream\"\n || code === \"unavailable\";\n};\n\nexport const isProviderRuntimeError = (value: unknown): value is ProviderRuntimeError => {\n return value instanceof ProviderRuntimeError;\n};\n\nexport const createProviderError = (\n code: ProviderErrorCode,\n message: string,\n options: {\n retryable?: boolean;\n reasonCode?: ProviderReasonCode;\n provider?: string;\n source?: ProviderSource;\n details?: Record<string, JsonValue>;\n } = {}\n): ProviderError => {\n const reasonCode = options.reasonCode ?? readReasonFromDetails(options.details);\n return {\n code,\n message,\n retryable: options.retryable ?? isRetryableByCode(code),\n ...(reasonCode ? { reasonCode } : {}),\n ...(options.provider ? { provider: options.provider } : {}),\n ...(options.source ? { source: options.source } : {}),\n ...(withReasonCodeDetails(options.details, reasonCode)\n ? { details: withReasonCodeDetails(options.details, reasonCode) }\n : {})\n };\n};\n\nexport const toProviderError = (\n error: unknown,\n options: {\n provider?: string;\n source?: ProviderSource;\n defaultCode?: ProviderErrorCode;\n details?: Record<string, JsonValue>;\n } = {}\n): ProviderError => {\n if (isProviderRuntimeError(error)) {\n const reasonCode = error.reasonCode\n ?? normalizeProviderReasonCode({\n code: error.code,\n message: error.message,\n details: error.details\n });\n return createProviderError(error.code, error.message, {\n retryable: error.retryable,\n reasonCode,\n provider: error.provider ?? options.provider,\n source: error.source ?? options.source,\n details: error.details ?? options.details\n });\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const code = classifyErrorCode(message, options.defaultCode ?? \"internal\");\n const reasonCode = normalizeProviderReasonCode({\n code,\n message,\n details: options.details\n });\n\n return createProviderError(code, message || \"Unknown provider failure\", {\n reasonCode,\n provider: options.provider,\n source: options.source,\n details: options.details\n });\n};\n\nconst classifyErrorCode = (message: string, fallback: ProviderErrorCode): ProviderErrorCode => {\n if (!message) return fallback;\n if (TIMEOUT_RE.test(message)) return \"timeout\";\n if (RATE_LIMIT_RE.test(message)) return \"rate_limited\";\n if (AUTH_RE.test(message)) return \"auth\";\n if (NETWORK_MESSAGE_RE.test(message)) return \"network\";\n if (/not supported|unsupported|not implemented/i.test(message)) return \"not_supported\";\n if (/unavailable|service down|temporarily unavailable/i.test(message)) return \"unavailable\";\n return fallback;\n};\n"],"mappings":";AAQA,IAAM,qBAAqB;AAC3B,IAAM,gBAAgB;AACtB,IAAM,UAAU;AAChB,IAAM,aAAa;AACnB,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,qBAAqB;AAC3B,IAAM,gBAAgB;AACtB,IAAM,iBAAiB;AAEvB,IAAM,wBAA8C;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,gBAAgB,IAAI,IAAY,qBAAqB;AAEpD,IAAM,uBAAuB,CAAC,UAAgD;AACnF,SAAO,OAAO,UAAU,YAAY,cAAc,IAAI,KAAK;AAC7D;AAEA,IAAM,aAAa,CAAC,YAAuE;AACzF,QAAM,SAAS,SAAS;AACxB,SAAO,OAAO,WAAW,YAAY,OAAO,SAAS,MAAM,IAAI,SAAS;AAC1E;AAEA,IAAM,wBAAwB,CAC5B,YACmC;AACnC,QAAM,YAAY,SAAS;AAC3B,SAAO,qBAAqB,SAAS,IAAI,YAAY;AACvD;AAEO,IAAM,8BAA8B,CAAC,WAKN;AACpC,QAAM,cAAc,sBAAsB,OAAO,OAAO;AACxD,MAAI,YAAa,QAAO;AAExB,QAAM,UAAU,OAAO,WAAW;AAClC,QAAM,SAAS,OAAO,UAAU,WAAW,OAAO,OAAO;AAEzD,MAAI,OAAO,SAAS,iBAAkB,QAAO;AAC7C,MAAI,OAAO,SAAS,kBAAkB,WAAW,OAAO,cAAc,KAAK,OAAO,EAAG,QAAO;AAC5F,MAAI,OAAO,SAAS,UAAU,WAAW,OAAO,QAAQ,KAAK,OAAO,EAAG,QAAO;AAC9E,MAAI,aAAa,KAAK,OAAO,EAAG,QAAO;AACvC,MAAI,YAAY,KAAK,OAAO,EAAG,QAAO;AACtC,MAAI,mBAAmB,KAAK,OAAO,EAAG,QAAO;AAC7C,MAAI,cAAc,KAAK,OAAO,EAAG,QAAO;AACxC,MAAI,eAAe,KAAK,OAAO,EAAG,QAAO;AACzC,SAAO;AACT;AAEO,IAAM,kCAAkC,CAC7C,eACsB;AACtB,UAAQ,YAAY;AAAA,IAClB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,IAAM,wBAAwB,CAC5B,SACA,eAC0C;AAC1C,MAAI,CAAC,WAAY,QAAO;AACxB,MAAI,WAAW,OAAO,QAAQ,eAAe,UAAU;AACrD,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAI,WAAW,CAAC;AAAA,IAChB;AAAA,EACF;AACF;AAEO,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YACE,MACA,SACA,UAOI,CAAC,GACL;AACA,UAAM,SAAS,EAAE,OAAO,QAAQ,MAAM,CAAC;AACvC,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,YAAY,QAAQ,aAAa,kBAAkB,IAAI;AAC5D,SAAK,aAAa,QAAQ;AAC1B,SAAK,WAAW,QAAQ;AACxB,SAAK,SAAS,QAAQ;AACtB,SAAK,UAAU,sBAAsB,QAAQ,SAAS,QAAQ,UAAU;AAAA,EAC1E;AACF;AAEO,IAAM,oBAAoB,CAAC,SAAqC;AACrE,SAAO,SAAS,aACX,SAAS,aACT,SAAS,kBACT,SAAS,cACT,SAAS;AAChB;AAEO,IAAM,yBAAyB,CAAC,UAAkD;AACvF,SAAO,iBAAiB;AAC1B;AAEO,IAAM,sBAAsB,CACjC,MACA,SACA,UAMI,CAAC,MACa;AAClB,QAAM,aAAa,QAAQ,cAAc,sBAAsB,QAAQ,OAAO;AAC9E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,QAAQ,aAAa,kBAAkB,IAAI;AAAA,IACtD,GAAI,aAAa,EAAE,WAAW,IAAI,CAAC;AAAA,IACnC,GAAI,QAAQ,WAAW,EAAE,UAAU,QAAQ,SAAS,IAAI,CAAC;AAAA,IACzD,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,IACnD,GAAI,sBAAsB,QAAQ,SAAS,UAAU,IACjD,EAAE,SAAS,sBAAsB,QAAQ,SAAS,UAAU,EAAE,IAC9D,CAAC;AAAA,EACP;AACF;AAEO,IAAM,kBAAkB,CAC7B,OACA,UAKI,CAAC,MACa;AAClB,MAAI,uBAAuB,KAAK,GAAG;AACjC,UAAMA,cAAa,MAAM,cACpB,4BAA4B;AAAA,MAC7B,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA,MACf,SAAS,MAAM;AAAA,IACjB,CAAC;AACH,WAAO,oBAAoB,MAAM,MAAM,MAAM,SAAS;AAAA,MACpD,WAAW,MAAM;AAAA,MACjB,YAAAA;AAAA,MACA,UAAU,MAAM,YAAY,QAAQ;AAAA,MACpC,QAAQ,MAAM,UAAU,QAAQ;AAAA,MAChC,SAAS,MAAM,WAAW,QAAQ;AAAA,IACpC,CAAC;AAAA,EACH;AAEA,QAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,QAAM,OAAO,kBAAkB,SAAS,QAAQ,eAAe,UAAU;AACzE,QAAM,aAAa,4BAA4B;AAAA,IAC7C;AAAA,IACA;AAAA,IACA,SAAS,QAAQ;AAAA,EACnB,CAAC;AAED,SAAO,oBAAoB,MAAM,WAAW,4BAA4B;AAAA,IACtE;AAAA,IACA,UAAU,QAAQ;AAAA,IAClB,QAAQ,QAAQ;AAAA,IAChB,SAAS,QAAQ;AAAA,EACnB,CAAC;AACH;AAEA,IAAM,oBAAoB,CAAC,SAAiB,aAAmD;AAC7F,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI,WAAW,KAAK,OAAO,EAAG,QAAO;AACrC,MAAI,cAAc,KAAK,OAAO,EAAG,QAAO;AACxC,MAAI,QAAQ,KAAK,OAAO,EAAG,QAAO;AAClC,MAAI,mBAAmB,KAAK,OAAO,EAAG,QAAO;AAC7C,MAAI,6CAA6C,KAAK,OAAO,EAAG,QAAO;AACvE,MAAI,oDAAoD,KAAK,OAAO,EAAG,QAAO;AAC9E,SAAO;AACT;","names":["reasonCode"]}