@xopcai/xopc 0.0.250 → 0.0.252

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 (312) hide show
  1. package/README.md +8 -5
  2. package/README.zh-CN.md +8 -5
  3. package/dist/browser-ext/dist/background.js +358 -768
  4. package/dist/browser-ext/manifest.json +1 -2
  5. package/dist/extensions/telegram/xopc.extension.json +1 -1
  6. package/dist/gateway/static/root/assets/{activity-store-DfBjTSo9.js → activity-store-w3eq3YpP.js} +1 -1
  7. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-BN6FJXkJ.js → agent-avatar-dicebear-k039rbUz.js} +1 -1
  8. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-C7rZH1A2.js → agent-defaults-settings-panel-D4J4oq8p.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agents-CgGaoo4z.js → agents-Bmth_bSQ.js} +1 -1
  10. package/dist/gateway/static/root/assets/{api-zxpcJfgj.js → api-2joIfbrH.js} +1 -1
  11. package/dist/gateway/static/root/assets/{app-management-settings-panel-D2gMshuS.js → app-management-settings-panel-ByJ4kiD0.js} +1 -1
  12. package/dist/gateway/static/root/assets/{appearance-settings-wMu0jSKx.js → appearance-settings-BK2Jga-B.js} +1 -1
  13. package/dist/gateway/static/root/assets/apps-page-B3ky7cWU.js +1 -0
  14. package/dist/gateway/static/root/assets/{archive-plugin-u6EE3JV8.js → archive-plugin-DMDKtYpi.js} +1 -1
  15. package/dist/gateway/static/root/assets/{attachment-load-DbJurnv-.js → attachment-load-B764Ql3Z.js} +1 -1
  16. package/dist/gateway/static/root/assets/{automations-page-Ew_e5HDn.js → automations-page-D-sO8CZe.js} +1 -1
  17. package/dist/gateway/static/root/assets/automations-workspace-Ds5-_-9z.js +6 -0
  18. package/dist/gateway/static/root/assets/{binary-plugins-DtDFNfPM.js → binary-plugins-fxtzYRpv.js} +1 -1
  19. package/dist/gateway/static/root/assets/{block-editor-CnAwmabq.js → block-editor-Bcjtvckh.js} +50 -50
  20. package/dist/gateway/static/root/assets/browser-automation-inputs-BSmnusjD.js +1 -0
  21. package/dist/gateway/static/root/assets/browser-automations-page-DC_OQIBk.js +3 -0
  22. package/dist/gateway/static/root/assets/browser-settings-page-C1FojyG6.js +3 -0
  23. package/dist/gateway/static/root/assets/capabilities-settings-panel-Bs59UCut.js +7 -0
  24. package/dist/gateway/static/root/assets/channels-settings-CM9vNmoo.js +1 -0
  25. package/dist/gateway/static/root/assets/{channels-status-swr-CX-yWwLD.js → channels-status-swr-BuWjIG_a.js} +1 -1
  26. package/dist/gateway/static/root/assets/{chat-terminal-dock-CryTDNdD.js → chat-terminal-dock-5SevEo_I.js} +2 -2
  27. package/dist/gateway/static/root/assets/connectors-page-BPZ44D-V.js +2 -0
  28. package/dist/gateway/static/root/assets/{cron-expression-ji5aWrjG.js → cron-expression-DtsfalBM.js} +1 -1
  29. package/dist/gateway/static/root/assets/{date-picker-Dro_w3eX.js → date-picker-tDEQV5TP.js} +1 -1
  30. package/dist/gateway/static/root/assets/{dependency-picker-Ce19KKnX.js → dependency-picker-HhNwg0Y2.js} +1 -1
  31. package/dist/gateway/static/root/assets/{desktop-pet-DsSi-3uZ.js → desktop-pet-acU4Li-C.js} +1 -1
  32. package/dist/gateway/static/root/assets/{desktop-pet-settings-8WQ4woJy.js → desktop-pet-settings-R84AR0Pe.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-debug-page-CgvEBfLZ.js → extension-debug-page-CrLlRkSN.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-page-DkznBbMj.js → extension-page-BH5lmZXE.js} +1 -1
  35. package/dist/gateway/static/root/assets/{extension-settings-page-BOjhchK2.js → extension-settings-page-BscjNAd1.js} +1 -1
  36. package/dist/gateway/static/root/assets/{gateway-config-swr-CMNbl0FZ.js → gateway-config-swr-9HidFZUd.js} +1 -1
  37. package/dist/gateway/static/root/assets/gateway-settings-BxLcW6ij.js +1 -0
  38. package/dist/gateway/static/root/assets/{gateway-startup-retry-CR7Xg8As.js → gateway-startup-retry-DRCPXONr.js} +1 -1
  39. package/dist/gateway/static/root/assets/heartbeat-settings-K5Zhl2rx.js +1 -0
  40. package/dist/gateway/static/root/assets/home-page-CZAg9RBv.js +1 -0
  41. package/dist/gateway/static/root/assets/{image-generation-api-C5mn73ca.js → image-generation-api-CR6Kle8H.js} +1 -1
  42. package/dist/gateway/static/root/assets/index-D4Ykja-U.js +72 -0
  43. package/dist/gateway/static/root/assets/index-zIJ3AXgR.css +2 -0
  44. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BYhfzsqe.js → keyboard-shortcuts-settings-B1QR49-7.js} +1 -1
  45. package/dist/gateway/static/root/assets/languages-5WaOu0Lf.js +2 -0
  46. package/dist/gateway/static/root/assets/local-app-workbench-page-wicoV-ti.js +2 -0
  47. package/dist/gateway/static/root/assets/{local-apps-page-vBlknU7C.js → local-apps-page-C74It-T8.js} +1 -1
  48. package/dist/gateway/static/root/assets/{locale-store-CF4erhjB.js → locale-store-BfZGZKSs.js} +1 -1
  49. package/dist/gateway/static/root/assets/logs-page-xX-7S49A.js +2 -0
  50. package/dist/gateway/static/root/assets/{management-settings-Dnx6mSNe.js → management-settings-1kNnYL97.js} +1 -1
  51. package/dist/gateway/static/root/assets/markdown-editor-BjMTIM-m.js +1 -0
  52. package/dist/gateway/static/root/assets/{markdown-view-CQvzsE24.js → markdown-view-DjiwT28p.js} +2 -2
  53. package/dist/gateway/static/root/assets/{media-plugins-DrMYeHe7.js → media-plugins-B5c0AoS1.js} +1 -1
  54. package/dist/gateway/static/root/assets/messages-DaIwVWar.js +3 -0
  55. package/dist/gateway/static/root/assets/{mobile-pairing-wizard-AKgGy3Kx.js → mobile-pairing-wizard-CsIZqK51.js} +1 -1
  56. package/dist/gateway/static/root/assets/note-detail-panel-CfWxopl4.js +5 -0
  57. package/dist/gateway/static/root/assets/notes-page-CYN-LCHJ.js +8 -0
  58. package/dist/gateway/static/root/assets/{page-tabs-CX9T71by.js → page-tabs-CqJN6Ljz.js} +1 -1
  59. package/dist/gateway/static/root/assets/{preview-open-alternatives-DvEHoimN.js → preview-open-alternatives-DqRIGxf4.js} +1 -1
  60. package/dist/gateway/static/root/assets/{product-open-page-COcr_NUJ.js → product-open-page-DE2nPE_K.js} +1 -1
  61. package/dist/gateway/static/root/assets/project-detail-page-B5G3LzDq.js +1 -0
  62. package/dist/gateway/static/root/assets/projects-page-CuVK2mKu.js +1 -0
  63. package/dist/gateway/static/root/assets/{registry-api-BsRBlji7.js → registry-api-Bpy8XX-5.js} +1 -1
  64. package/dist/gateway/static/root/assets/remote-access-hub-Dnd73xWt.js +1 -0
  65. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CQ13P-mS.js → runtime-tools-settings-panel-Bb4b74-P.js} +2 -2
  66. package/dist/gateway/static/root/assets/{schema-form-BUVyTpZj.js → schema-form-DoPU5j3J.js} +1 -1
  67. package/dist/gateway/static/root/assets/sessions-page-XL4LyKZe.js +1 -0
  68. package/dist/gateway/static/root/assets/settings-advanced-gate-0ForzDSS.js +1 -0
  69. package/dist/gateway/static/root/assets/{settings-form-section-DVY-8_B9.js → settings-form-section-Ci-9WajJ.js} +1 -1
  70. package/dist/gateway/static/root/assets/{settings-page-CdiVYyTl.js → settings-page-CL_2F95D.js} +1 -1
  71. package/dist/gateway/static/root/assets/setup-status-panel-DVws6XZc.js +1 -0
  72. package/dist/gateway/static/root/assets/{share-preview-page-C88YLKm4.js → share-preview-page-XUA3oKQX.js} +1 -1
  73. package/dist/gateway/static/root/assets/shares-settings-BwDvcacF.js +1 -0
  74. package/dist/gateway/static/root/assets/skill-reload-api-BJjrATqE.js +1 -0
  75. package/dist/gateway/static/root/assets/{skills-page-DLir1nM0.js → skills-page-sXXAZDc9.js} +1 -1
  76. package/dist/gateway/static/root/assets/{skills-page.utils-BMZAfS3G.js → skills-page.utils-DD79Bl1I.js} +1 -1
  77. package/dist/gateway/static/root/assets/source-workspace-editor-CVWzt0oT.js +1 -0
  78. package/dist/gateway/static/root/assets/{system-settings-panel-BM8ivYan.js → system-settings-panel-BEH64qBV.js} +1 -1
  79. package/dist/gateway/static/root/assets/task-detail-page-0jxMi75O.js +1 -0
  80. package/dist/gateway/static/root/assets/{theme-store-BOgkc_9D.js → theme-store-CISSxU1c.js} +1 -1
  81. package/dist/gateway/static/root/assets/{tunnel-api-DemxChjo.js → tunnel-api-DrKDhnJm.js} +1 -1
  82. package/dist/gateway/static/root/assets/{use-autosave-CV3Ui5hu.js → use-autosave-CPYePL-Q.js} +1 -1
  83. package/dist/gateway/static/root/assets/user-model-page-B6zLDfDl.js +2 -0
  84. package/dist/gateway/static/root/assets/{vendor-codemirror--gTq3YAI.js → vendor-codemirror-Qdcjid65.js} +1 -1
  85. package/dist/gateway/static/root/assets/{voice-api-key-field-CUoCi4Sq.js → voice-api-key-field-DKqzrCXx.js} +1 -1
  86. package/dist/gateway/static/root/assets/{voice-config-api-C-ryeIxj.js → voice-config-api-e9xWjwBX.js} +1 -1
  87. package/dist/gateway/static/root/assets/{work-discovery-overlay-BhDlkCMB.js → work-discovery-overlay-kTQug6bq.js} +1 -1
  88. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-D8CcPc_C.js → workflow-run-setup-panel-m9SKj_GT.js} +2 -2
  89. package/dist/gateway/static/root/assets/workflows-page-Bcd1XqP7.js +5 -0
  90. package/dist/gateway/static/root/index.html +10 -10
  91. package/dist/package.js +1 -1
  92. package/dist/packages/gateway-contract/src/new-session.js +9 -0
  93. package/dist/src/agent/agent-manager.d.ts +2 -1
  94. package/dist/src/agent/agent-manager.js +2 -1
  95. package/dist/src/agent/coding/repository-instructions.js +2 -2
  96. package/dist/src/agent/coding/workspace-revision.js +2 -2
  97. package/dist/src/agent/commands/command-isolation.js +2 -2
  98. package/dist/src/agent/external-tools/composio-provider.d.ts +1 -0
  99. package/dist/src/agent/external-tools/composio-provider.js +64 -34
  100. package/dist/src/agent/external-tools/search-error.js +5 -3
  101. package/dist/src/agent/service.js +2 -1
  102. package/dist/src/agent/service.types.d.ts +2 -1
  103. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +4 -0
  104. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  105. package/dist/src/agent/tool-manuals/browser.js +15 -226
  106. package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +4 -21
  107. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +48 -165
  108. package/dist/src/agent/tools/browser/tool/schemas.d.ts +203 -16
  109. package/dist/src/agent/tools/browser/tool/schemas.js +146 -16
  110. package/dist/src/agent/tools/browser-automation-tool.d.ts +121 -0
  111. package/dist/src/agent/tools/browser-automation-tool.js +197 -0
  112. package/dist/src/agent/tools/factory.d.ts +6 -9
  113. package/dist/src/agent/tools/factory.js +28 -55
  114. package/dist/src/agent/tools/index.d.ts +2 -2
  115. package/dist/src/agent/tools/index.js +3 -3
  116. package/dist/src/agent/tools/review-workspace.js +2 -2
  117. package/dist/src/auth/oauth/xopc-cloud.js +3 -1
  118. package/dist/src/automations/domain/defaults.js +1 -1
  119. package/dist/src/automations/domain/types.d.ts +5 -5
  120. package/dist/src/automations/domain/validation.d.ts +12 -12
  121. package/dist/src/automations/domain/validation.js +3 -3
  122. package/dist/src/automations/draft/automation-draft-validator.d.ts +3 -3
  123. package/dist/src/automations/draft/automation-draft-validator.js +1 -1
  124. package/dist/src/automations/service/action-executor.d.ts +1 -1
  125. package/dist/src/automations/service/action-executor.js +7 -7
  126. package/dist/src/browser/{recipes → automations}/index.d.ts +1 -0
  127. package/dist/src/browser/automations/index.js +4 -0
  128. package/dist/src/browser/automations/repository.d.ts +13 -0
  129. package/dist/src/browser/automations/repository.js +60 -0
  130. package/dist/src/browser/automations/runner.d.ts +17 -0
  131. package/dist/src/browser/automations/runner.js +173 -0
  132. package/dist/src/browser/automations/runtime-service.d.ts +6 -0
  133. package/dist/src/browser/automations/runtime-service.js +37 -0
  134. package/dist/src/browser/automations/schema.d.ts +144 -0
  135. package/dist/src/browser/automations/schema.js +135 -0
  136. package/dist/src/browser/automations/service.d.ts +146 -0
  137. package/dist/src/browser/automations/service.js +168 -0
  138. package/dist/src/browser/automations/types.d.ts +90 -0
  139. package/dist/src/browser/cache-dir-policy.d.ts +1 -1
  140. package/dist/src/browser/cache-dir-policy.js +1 -4
  141. package/dist/src/browser/drivers/browser-driver.d.ts +17 -0
  142. package/dist/src/browser/drivers/create-driver.d.ts +3 -0
  143. package/dist/src/browser/drivers/create-driver.js +84 -0
  144. package/dist/src/browser/drivers/extension-driver.d.ts +20 -0
  145. package/dist/src/browser/drivers/extension-driver.js +47 -0
  146. package/dist/src/browser/drivers/playwright-driver.d.ts +38 -0
  147. package/dist/src/browser/drivers/playwright-driver.js +406 -0
  148. package/dist/src/browser/index.d.ts +10 -15
  149. package/dist/src/browser/index.js +10 -15
  150. package/dist/src/browser/install-lock.d.ts +1 -2
  151. package/dist/src/browser/install-lock.js +3 -9
  152. package/dist/src/browser/install-progress.d.ts +1 -1
  153. package/dist/src/browser/observation/format.d.ts +2 -0
  154. package/dist/src/browser/observation/format.js +26 -0
  155. package/dist/src/browser/policy/approval-store.d.ts +17 -0
  156. package/dist/src/browser/policy/approval-store.js +62 -0
  157. package/dist/src/browser/policy/browser-policy.d.ts +3 -0
  158. package/dist/src/browser/policy/browser-policy.js +27 -0
  159. package/dist/src/browser/providers/browser-ext-install.d.ts +1 -1
  160. package/dist/src/browser/providers/browser-ext-install.js +3 -5
  161. package/dist/src/browser/providers/browser-use.js +1 -1
  162. package/dist/src/browser/providers/browserbase.js +1 -1
  163. package/dist/src/browser/providers/extension-ws-acquire.d.ts +1 -4
  164. package/dist/src/browser/providers/extension-ws-acquire.js +1 -13
  165. package/dist/src/browser/providers/extension.d.ts +3 -22
  166. package/dist/src/browser/providers/extension.js +7 -15
  167. package/dist/src/browser/providers/index.d.ts +2 -2
  168. package/dist/src/browser/providers/index.js +3 -3
  169. package/dist/src/browser/providers/types.d.ts +0 -94
  170. package/dist/src/browser/readiness.d.ts +4 -22
  171. package/dist/src/browser/readiness.js +55 -118
  172. package/dist/src/browser/runtime/browser-runtime.d.ts +30 -0
  173. package/dist/src/browser/runtime/browser-runtime.js +362 -0
  174. package/dist/src/browser/url-policy.d.ts +3 -3
  175. package/dist/src/browser/url-policy.js +7 -6
  176. package/dist/src/browser/verification/expectation.d.ts +2 -0
  177. package/dist/src/browser/verification/expectation.js +17 -0
  178. package/dist/src/cli/command-loaders.js +1 -0
  179. package/dist/src/cli/command-manifest.js +5 -1
  180. package/dist/src/cli/commands/browser-cli-helpers.d.ts +0 -6
  181. package/dist/src/cli/commands/browser-cli-helpers.js +11 -144
  182. package/dist/src/cli/commands/browser.d.ts +0 -5
  183. package/dist/src/cli/commands/browser.js +11 -152
  184. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  185. package/dist/src/cli/commands/doctor/checks/node-version.js +25 -9
  186. package/dist/src/cli/commands/platform.d.ts +1 -0
  187. package/dist/src/cli/commands/platform.js +111 -0
  188. package/dist/src/config/loader.js +9 -3
  189. package/dist/src/config/schema.d.ts +131 -84
  190. package/dist/src/config/schema.js +112 -59
  191. package/dist/src/connectors/composio-sessions.js +1 -3
  192. package/dist/src/extensions/marketplace.js +4 -0
  193. package/dist/src/files/file-service.js +139 -14
  194. package/dist/src/gateway/hono/lib/config-payload.d.ts +12 -26
  195. package/dist/src/gateway/hono/lib/config-payload.js +10 -39
  196. package/dist/src/gateway/hono/routes/browser-automations.d.ts +3 -0
  197. package/dist/src/gateway/hono/routes/browser-automations.js +77 -0
  198. package/dist/src/gateway/hono/routes/browser-install.js +0 -32
  199. package/dist/src/gateway/hono/routes/browser.d.ts +0 -17
  200. package/dist/src/gateway/hono/routes/browser.js +46 -568
  201. package/dist/src/gateway/hono/routes/config-patch/misc.js +8 -1
  202. package/dist/src/gateway/hono/routes/config.js +0 -11
  203. package/dist/src/gateway/hono/routes/lazy-bundles.js +5 -5
  204. package/dist/src/gateway/service.d.ts +4 -6
  205. package/dist/src/gateway/service.js +20 -23
  206. package/dist/src/platform/client.d.ts +121 -0
  207. package/dist/src/platform/client.js +108 -0
  208. package/dist/src/platform/contracts.d.ts +194 -0
  209. package/dist/src/platform/contracts.js +150 -0
  210. package/dist/src/platform/index.d.ts +4 -0
  211. package/dist/src/platform/index.js +9 -0
  212. package/dist/src/platform/resolution.d.ts +4 -0
  213. package/dist/src/platform/resolution.js +16 -0
  214. package/dist/src/platform/worker.d.ts +6 -0
  215. package/dist/src/platform/worker.js +75 -0
  216. package/dist/src/providers/xopc-cloud-config.js +3 -1
  217. package/dist/src/session/session-context-for-llm.js +41 -1
  218. package/dist/src/share/hosted-session-share.js +3 -1
  219. package/dist/src/share/share-thumbnail.js +1 -1
  220. package/dist/src/storage/sqlite/migrations/153_browser_control_v2.sql +45 -0
  221. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  222. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  223. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  224. package/dist/src/storage/sqlite/schema.js +1 -1
  225. package/dist/src/storage/sqlite/schema.sql +16 -20
  226. package/dist/src/tasks/home-query-service.js +1 -1
  227. package/dist/src/tunnel/env.js +3 -1
  228. package/dist/src/voice/realtime/agentEngine.js +0 -1
  229. package/package.json +7 -7
  230. package/dist/gateway/static/root/assets/apps-page-KF1Gnv36.js +0 -1
  231. package/dist/gateway/static/root/assets/automations-workspace-Ch-ldu35.js +0 -6
  232. package/dist/gateway/static/root/assets/browser-settings-page-DtVhsHJW.js +0 -8
  233. package/dist/gateway/static/root/assets/browser-workflow-inputs-BX1-uM9L.js +0 -1
  234. package/dist/gateway/static/root/assets/browser-workflows-page-CcbUOWDF.js +0 -3
  235. package/dist/gateway/static/root/assets/capabilities-settings-panel--sXeylhe.js +0 -7
  236. package/dist/gateway/static/root/assets/channels-settings-AXSBDujZ.js +0 -1
  237. package/dist/gateway/static/root/assets/code-editor-D4_k-6QN.js +0 -1
  238. package/dist/gateway/static/root/assets/connectors-page-HBHUWohz.js +0 -2
  239. package/dist/gateway/static/root/assets/gateway-config-api-OEruhhX3.js +0 -1
  240. package/dist/gateway/static/root/assets/gateway-settings-BgH3A0LO.js +0 -1
  241. package/dist/gateway/static/root/assets/heartbeat-settings-C97naDkO.js +0 -1
  242. package/dist/gateway/static/root/assets/home-page-BBKKme4G.js +0 -1
  243. package/dist/gateway/static/root/assets/html-workspace-editor-C3DKAkMc.js +0 -1
  244. package/dist/gateway/static/root/assets/index-BcaF-dgQ.js +0 -72
  245. package/dist/gateway/static/root/assets/index-DAryGvZ7.css +0 -2
  246. package/dist/gateway/static/root/assets/local-app-workbench-page-DNncc2tn.js +0 -2
  247. package/dist/gateway/static/root/assets/logs-page-CizZInrT.js +0 -2
  248. package/dist/gateway/static/root/assets/markdown-editor-nDLmA_LF.js +0 -2
  249. package/dist/gateway/static/root/assets/markdown-split-DtBtcHWi.js +0 -1
  250. package/dist/gateway/static/root/assets/messages-Cf5hpZE6.js +0 -3
  251. package/dist/gateway/static/root/assets/note-detail-panel-Bw3jD9Jf.js +0 -5
  252. package/dist/gateway/static/root/assets/notes-page-Dpqq7Z-J.js +0 -8
  253. package/dist/gateway/static/root/assets/project-detail-page-BuT6MCTs.js +0 -1
  254. package/dist/gateway/static/root/assets/projects-page-DXWMxOjf.js +0 -1
  255. package/dist/gateway/static/root/assets/remote-access-hub-7rBCUWzZ.js +0 -1
  256. package/dist/gateway/static/root/assets/sessions-page-gmEOYNb4.js +0 -1
  257. package/dist/gateway/static/root/assets/settings-advanced-gate-DYYoJcl7.js +0 -1
  258. package/dist/gateway/static/root/assets/setup-status-panel-BhenBnUj.js +0 -1
  259. package/dist/gateway/static/root/assets/shares-settings-Dq7xIj0_.js +0 -1
  260. package/dist/gateway/static/root/assets/skill-reload-api-MDI9Lz6z.js +0 -1
  261. package/dist/gateway/static/root/assets/task-detail-page-P0_RldWv.js +0 -1
  262. package/dist/gateway/static/root/assets/user-model-page-CxfnoRVn.js +0 -2
  263. package/dist/gateway/static/root/assets/workflows-page-Bxn2Dc16.js +0 -5
  264. package/dist/src/agent/tools/browser-recipe-tool.d.ts +0 -12
  265. package/dist/src/agent/tools/browser-recipe-tool.js +0 -113
  266. package/dist/src/browser/actions/extension-registry-bridge.d.ts +0 -5
  267. package/dist/src/browser/actions/extension-registry-bridge.js +0 -312
  268. package/dist/src/browser/actions/registry.d.ts +0 -5
  269. package/dist/src/browser/actions/registry.js +0 -741
  270. package/dist/src/browser/actions/types.d.ts +0 -65
  271. package/dist/src/browser/backend-from-config.d.ts +0 -22
  272. package/dist/src/browser/backend-from-config.js +0 -99
  273. package/dist/src/browser/browser-command-timeout.d.ts +0 -2
  274. package/dist/src/browser/browser-command-timeout.js +0 -11
  275. package/dist/src/browser/cdp-local-launcher.d.ts +0 -35
  276. package/dist/src/browser/cdp-local-launcher.js +0 -154
  277. package/dist/src/browser/cdp-supervisor.d.ts +0 -58
  278. package/dist/src/browser/cdp-supervisor.js +0 -133
  279. package/dist/src/browser/humanize.d.ts +0 -80
  280. package/dist/src/browser/humanize.js +0 -363
  281. package/dist/src/browser/manager.d.ts +0 -50
  282. package/dist/src/browser/manager.js +0 -251
  283. package/dist/src/browser/pipeline/output.d.ts +0 -35
  284. package/dist/src/browser/pipeline/output.js +0 -74
  285. package/dist/src/browser/pipeline/runner.d.ts +0 -27
  286. package/dist/src/browser/pipeline/runner.js +0 -453
  287. package/dist/src/browser/pipeline/schema.d.ts +0 -42
  288. package/dist/src/browser/pipeline/schema.js +0 -116
  289. package/dist/src/browser/pipeline/template.d.ts +0 -30
  290. package/dist/src/browser/pipeline/template.js +0 -112
  291. package/dist/src/browser/providers/cloakbrowser.d.ts +0 -83
  292. package/dist/src/browser/providers/cloakbrowser.js +0 -612
  293. package/dist/src/browser/recipes/index.js +0 -3
  294. package/dist/src/browser/recipes/repository.d.ts +0 -13
  295. package/dist/src/browser/recipes/repository.js +0 -81
  296. package/dist/src/browser/recipes/runtime-service.d.ts +0 -6
  297. package/dist/src/browser/recipes/runtime-service.js +0 -30
  298. package/dist/src/browser/recipes/service.d.ts +0 -36
  299. package/dist/src/browser/recipes/service.js +0 -186
  300. package/dist/src/browser/recipes/types.d.ts +0 -36
  301. package/dist/src/browser/schemas.d.ts +0 -53
  302. package/dist/src/browser/schemas.js +0 -68
  303. package/dist/src/browser/session-lifecycle.d.ts +0 -40
  304. package/dist/src/browser/session-lifecycle.js +0 -136
  305. package/dist/src/browser/snapshot-helpers.d.ts +0 -24
  306. package/dist/src/browser/snapshot-helpers.js +0 -70
  307. package/dist/src/browser/stealth.d.ts +0 -46
  308. package/dist/src/browser/stealth.js +0 -163
  309. package/dist/src/gateway/hono/routes/browser-workflows.d.ts +0 -3
  310. package/dist/src/gateway/hono/routes/browser-workflows.js +0 -78
  311. /package/dist/src/browser/{actions → automations}/types.js +0 -0
  312. /package/dist/src/browser/{recipes/types.js → drivers/browser-driver.js} +0 -0
@@ -1,312 +0,0 @@
1
- import { checkWebsiteBlocklist } from "../../agent/tools/url-safety.js";
2
- import { resolveBrowserCommandTimeoutMs } from "../browser-command-timeout.js";
3
- import { assertBrowserUrlAllowed, checkPostRedirectUrl, containsApiKeyPattern } from "../url-policy.js";
4
- import { truncateSnapshotAtBoundary } from "../snapshot-helpers.js";
5
- import { isTruthyValue, resolvePath, valueContains } from "../pipeline/template.js";
6
- //#region src/browser/actions/extension-registry-bridge.ts
7
- /**
8
- * Runs browser registry actions against the Chrome Extension bridge (no Playwright page).
9
- */
10
- const DEFAULT_SNAPSHOT_MAX = 3e4;
11
- const AUTO_SNAPSHOT_MAX = 8e3;
12
- function toMs(ctx) {
13
- return resolveBrowserCommandTimeoutMs(ctx.config);
14
- }
15
- function ok(action, text, data, artifacts) {
16
- return {
17
- ok: true,
18
- action,
19
- text,
20
- data,
21
- artifacts
22
- };
23
- }
24
- function fail(action, code, message, diagnostics) {
25
- return {
26
- ok: false,
27
- action,
28
- error: {
29
- code,
30
- message
31
- },
32
- diagnostics
33
- };
34
- }
35
- function pipelineLast(ctx) {
36
- return ctx.pipeline?.last;
37
- }
38
- function valueFromArgs(ctx, args) {
39
- if ("value" in args) return args.value;
40
- if (typeof args.path === "string") return resolvePath(pipelineLast(ctx), args.path);
41
- return pipelineLast(ctx);
42
- }
43
- function compareValues(a, b) {
44
- const av = typeof a === "number" ? a : String(a ?? "");
45
- const bv = typeof b === "number" ? b : String(b ?? "");
46
- if (av < bv) return -1;
47
- if (av > bv) return 1;
48
- return 0;
49
- }
50
- function formatAxSnapshot(data, maxLen) {
51
- const nodes = data?.nodes ?? [];
52
- if (nodes.length === 0) return "(empty snapshot)";
53
- let text = nodes.map((n) => `${n.role ?? "?"}: ${n.name ?? ""}`).join("\n");
54
- if (text.length > maxLen) text = truncateSnapshotAtBoundary(text, maxLen);
55
- return text;
56
- }
57
- async function runExtensionRegistryAction(name, ctx, args) {
58
- if (ctx.signal?.aborted) return fail(name, "ABORTED", "Operation was aborted");
59
- const ext = ctx.manager.getExtensionProvider();
60
- if (!ext) return fail(name, "NO_EXTENSION", "Extension backend not connected");
61
- const timeout = toMs(ctx);
62
- const allowPrivate = false;
63
- switch (name) {
64
- case "open":
65
- case "navigate": {
66
- const url = String(args.url ?? "");
67
- if (!url) return fail(name, "MISSING_URL", "url is required");
68
- if (containsApiKeyPattern(url)) return fail(name, "BLOCKED", "URL contains API key/token");
69
- const block = checkWebsiteBlocklist(url, ctx.config?.tools?.web?.blocklist);
70
- if (block) return fail(name, "BLOCKED", block.message);
71
- assertBrowserUrlAllowed(url, { allowPrivateUrls: allowPrivate });
72
- const r = await ext.sendCommand("navigate", { url }, { timeout });
73
- if (!r.ok) return fail(name, "NAVIGATE_FAILED", r.error ?? "navigate failed");
74
- const data = r.data;
75
- const finalUrl = data?.url ?? url;
76
- const title = data?.title ?? "";
77
- if (finalUrl && finalUrl !== url) {
78
- const redirectBlock = checkPostRedirectUrl(finalUrl, { allowPrivateUrls: allowPrivate });
79
- if (redirectBlock) {
80
- await ext.sendCommand("navigate", { url: "about:blank" }, { timeout: Math.min(1e4, timeout) }).catch(() => {});
81
- return fail(name, "REDIRECT_BLOCKED", redirectBlock);
82
- }
83
- }
84
- let snapshot = "";
85
- try {
86
- const snap = await ext.sendCommand("snapshot", {}, { timeout });
87
- if (snap.ok && snap.data) snapshot = formatAxSnapshot(snap.data, AUTO_SNAPSHOT_MAX);
88
- } catch {}
89
- return ok(name, `Navigated to: ${title}\nURL: ${finalUrl}${snapshot ? `\n--- Page Snapshot ---\n${snapshot}` : ""}`, {
90
- url: finalUrl,
91
- title
92
- });
93
- }
94
- case "state":
95
- case "snapshot": {
96
- const maxLen = typeof args.maxLength === "number" ? args.maxLength : DEFAULT_SNAPSHOT_MAX;
97
- if (args.selector && String(args.selector).trim()) return fail(name, "NOT_SUPPORTED", "selector-scoped state is not supported with the Chrome Extension backend");
98
- const r = await ext.sendCommand("snapshot", {}, { timeout });
99
- if (!r.ok) return fail(name, "SNAPSHOT_FAILED", r.error ?? "snapshot failed");
100
- const body = formatAxSnapshot(r.data, maxLen);
101
- const data = r.data;
102
- return ok(name, `${data?.url ? `URL: ${data.url}\nTitle: ${data.title ?? ""}\n\n` : ""}--- Page Snapshot ---\n${body}`, { length: body.length });
103
- }
104
- case "click": {
105
- const selector = args.selector;
106
- const text = args.text;
107
- if (args.role?.trim()) return fail(name, "NOT_SUPPORTED", "role-based click is not supported with the Chrome Extension backend; use selector or text");
108
- if ((Boolean(selector?.trim()) ? 1 : 0) + (Boolean(text?.trim()) ? 1 : 0) !== 1) return fail(name, "INVALID_ARGS", "Provide exactly one of: selector, text");
109
- const r = await ext.sendCommand("click", {
110
- selector: selector?.trim(),
111
- text: text?.trim()
112
- }, { timeout });
113
- if (!r.ok) return fail(name, "CLICK_FAILED", r.error ?? "click failed");
114
- return ok(name, "Click succeeded.");
115
- }
116
- case "type":
117
- case "input": {
118
- const selector = args.selector;
119
- if (args.label?.trim() && !selector?.trim()) return fail(name, "NOT_SUPPORTED", "label-based typing is not supported with the Chrome Extension backend; use selector");
120
- const text = String(args.text ?? "");
121
- if (!text) return fail(name, "MISSING_TEXT", "text is required");
122
- const r = await ext.sendCommand("type", {
123
- selector: selector?.trim(),
124
- text,
125
- pressEnter: args.pressEnter === true
126
- }, { timeout });
127
- if (!r.ok) return fail(name, "TYPE_FAILED", r.error ?? "type failed");
128
- return ok(name, "Typed into field.");
129
- }
130
- case "scroll": {
131
- const direction = args.direction ?? "down";
132
- const amount = typeof args.amount === "number" ? args.amount : 500;
133
- const deltaY = direction === "down" ? amount : -amount;
134
- const r = await ext.sendCommand("scroll", { deltaY }, { timeout });
135
- if (!r.ok) return fail(name, "SCROLL_FAILED", r.error ?? "scroll failed");
136
- return ok(name, `Scrolled ${direction} by ${amount}px.`);
137
- }
138
- case "back": {
139
- const r = await ext.sendCommand("back", {}, { timeout });
140
- if (!r.ok) return fail(name, "BACK_FAILED", r.error ?? "back failed");
141
- const data = r.data;
142
- return ok(name, `Navigated back to: ${data?.title ?? ""}\nURL: ${data?.url ?? ""}`, {
143
- url: data?.url,
144
- title: data?.title
145
- });
146
- }
147
- case "screenshot": {
148
- const fullPage = args.full_page === true || args.fullPage === true;
149
- const path = args.path;
150
- if (args.selector?.trim()) return fail(name, "NOT_SUPPORTED", "selector-scoped screenshots are not supported with the Chrome Extension backend");
151
- const r = await ext.sendCommand("screenshot", { fullPage }, { timeout });
152
- if (!r.ok) return fail(name, "SCREENSHOT_FAILED", r.error ?? "screenshot failed");
153
- const b64 = r.data?.base64;
154
- if (!b64) return fail(name, "SCREENSHOT_FAILED", "no image data");
155
- const artifact = {
156
- type: "screenshot",
157
- path,
158
- data: b64,
159
- mimeType: "image/png"
160
- };
161
- const approxBytes = Math.floor(b64.length * 3 / 4);
162
- return ok(name, `Screenshot captured (~${approxBytes} bytes).`, { bytes: approxBytes }, [artifact]);
163
- }
164
- case "keys":
165
- case "press": {
166
- const key = String(args.key ?? "");
167
- if (!key) return fail(name, "MISSING_KEY", "key is required");
168
- const r = await ext.sendCommand("keys", { key }, { timeout });
169
- if (!r.ok) return fail(name, "PRESS_FAILED", r.error ?? "keys failed");
170
- return ok(name, `Pressed key: ${key}`);
171
- }
172
- case "console":
173
- case "eval":
174
- case "evaluate": {
175
- const js = args.javascript ?? args.expression ?? args.code ?? "";
176
- if (!js.trim()) return fail(name, "MISSING_JS", "javascript expression is required");
177
- const r = await ext.sendCommand("evaluate", { expression: js }, { timeout });
178
- if (!r.ok) return fail(name, "EVAL_FAILED", r.error ?? "evaluate failed");
179
- const result = r.data?.result;
180
- const serialized = result === void 0 ? "undefined" : JSON.stringify(result, null, 2);
181
- return ok(name, serialized.length > DEFAULT_SNAPSHOT_MAX ? `${serialized.slice(0, DEFAULT_SNAPSHOT_MAX)}\n... (truncated)` : serialized, result);
182
- }
183
- case "images": {
184
- const selector = args.selector;
185
- const maxImages = typeof args.maxImages === "number" ? args.maxImages : 20;
186
- const expr = `(() => {
187
- const sel = ${JSON.stringify(selector?.trim() || null)};
188
- const max = ${JSON.stringify(maxImages)};
189
- const d = globalThis.document;
190
- const root = sel ? d.querySelector(sel) : d;
191
- if (!root) return [];
192
- const imgs = Array.from(root.querySelectorAll('img'));
193
- return imgs.slice(0, max).map((img) => ({
194
- src: String(img.src ?? ''),
195
- alt: String(img.alt ?? ''),
196
- width: Number(img.naturalWidth ?? 0),
197
- height: Number(img.naturalHeight ?? 0),
198
- }));
199
- })()`;
200
- const r = await ext.sendCommand("evaluate", { expression: expr }, { timeout });
201
- if (!r.ok) return fail(name, "IMAGES_FAILED", r.error ?? "evaluate failed");
202
- const images = r.data?.result;
203
- if (!images || images.length === 0) return ok(name, "No images found on the page.", []);
204
- const lines = images.map((img, i) => `${i + 1}. ${img.alt || "(no alt)"} — ${img.width}×${img.height}\n ${img.src}`);
205
- return ok(name, `Found ${images.length} image(s):\n${lines.join("\n")}`, images);
206
- }
207
- case "dialog": {
208
- const action = args.action;
209
- if (action !== "accept" && action !== "dismiss") return fail(name, "INVALID_ACTION", "action must be \"accept\" or \"dismiss\"");
210
- const r = await ext.sendCommand("dialog", { accept: action === "accept" }, { timeout });
211
- if (!r.ok) return fail(name, "DIALOG_FAILED", r.error ?? "dialog failed");
212
- return ok(name, `Dialog ${action}ed.`);
213
- }
214
- case "close": return ok(name, "Browser page closed.");
215
- case "wait": {
216
- const selector = args.selector;
217
- const text = args.text;
218
- const timeoutMs = typeof args.timeout_ms === "number" ? args.timeout_ms : timeout;
219
- if (text?.trim()) return fail(name, "NOT_SUPPORTED", "text-based wait is not supported with the Chrome Extension backend; use selector or ms");
220
- const extArgs = {};
221
- if (selector?.trim()) extArgs.selector = selector.trim();
222
- else extArgs.ms = typeof args.ms === "number" ? args.ms : 1e3;
223
- const r = await ext.sendCommand("wait", extArgs, { timeout: timeoutMs });
224
- if (!r.ok) return fail(name, "WAIT_TIMEOUT", r.error ?? "wait failed");
225
- return ok(name, "Wait completed.");
226
- }
227
- case "wait_for_timeout": {
228
- const ms = typeof args.ms === "number" ? args.ms : typeof args.timeout_ms === "number" ? args.timeout_ms : 1e3;
229
- const r = await ext.sendCommand("wait", { ms }, { timeout: ms + 1e3 });
230
- if (!r.ok) return fail(name, "WAIT_TIMEOUT", r.error ?? "wait failed");
231
- return ok(name, `Waited ${ms}ms.`);
232
- }
233
- case "output": return ok(name, "Output captured.", valueFromArgs(ctx, args));
234
- case "assert": {
235
- const actual = valueFromArgs(ctx, args);
236
- if ("equals" in args && JSON.stringify(actual) !== JSON.stringify(args.equals)) return fail(name, "ASSERTION_FAILED", `Expected value to equal ${JSON.stringify(args.equals)}`);
237
- if ("contains" in args && !valueContains(actual, args.contains)) return fail(name, "ASSERTION_FAILED", `Expected value to contain ${JSON.stringify(args.contains)}`);
238
- if (args.truthy === true && !isTruthyValue(actual)) return fail(name, "ASSERTION_FAILED", "Expected value to be truthy");
239
- if (args.exists === true && (actual === void 0 || actual === null || actual === "")) return fail(name, "ASSERTION_FAILED", "Expected value to exist");
240
- return ok(name, "Assertion passed.");
241
- }
242
- case "select": {
243
- const source = "from" in args ? args.from : pipelineLast(ctx);
244
- const path = String(args.path ?? args.value ?? "");
245
- const value = path ? resolvePath(source, path) : source;
246
- return ok(name, typeof value === "string" ? value : JSON.stringify(value, null, 2), value);
247
- }
248
- case "map": {
249
- const source = "from" in args ? args.from : pipelineLast(ctx);
250
- if (!Array.isArray(source)) return fail(name, "INVALID_INPUT", "map input must be an array");
251
- const path = String(args.path ?? "");
252
- const value = path ? source.map((item) => resolvePath(item, path)) : source;
253
- return ok(name, JSON.stringify(value, null, 2), value);
254
- }
255
- case "filter": {
256
- const source = "from" in args ? args.from : pipelineLast(ctx);
257
- if (!Array.isArray(source)) return fail(name, "INVALID_INPUT", "filter input must be an array");
258
- const path = String(args.path ?? "");
259
- const value = source.filter((item) => {
260
- const itemValue = path ? resolvePath(item, path) : item;
261
- if ("equals" in args) return JSON.stringify(itemValue) === JSON.stringify(args.equals);
262
- if ("contains" in args) return valueContains(itemValue, args.contains);
263
- return isTruthyValue(itemValue);
264
- });
265
- return ok(name, JSON.stringify(value, null, 2), value);
266
- }
267
- case "sort": {
268
- const source = "from" in args ? args.from : pipelineLast(ctx);
269
- if (!Array.isArray(source)) return fail(name, "INVALID_INPUT", "sort input must be an array");
270
- const path = String(args.path ?? "");
271
- const direction = String(args.direction ?? "asc");
272
- const value = [...source].sort((a, b) => {
273
- const cmp = compareValues(path ? resolvePath(a, path) : a, path ? resolvePath(b, path) : b);
274
- return direction === "desc" ? -cmp : cmp;
275
- });
276
- return ok(name, JSON.stringify(value, null, 2), value);
277
- }
278
- case "limit": {
279
- const source = "from" in args ? args.from : pipelineLast(ctx);
280
- if (!Array.isArray(source)) return fail(name, "INVALID_INPUT", "limit input must be an array");
281
- const count = Math.max(0, Number(args.count ?? args.limit ?? 10));
282
- const offset = Math.max(0, Number(args.offset ?? 0));
283
- const value = source.slice(offset, offset + count);
284
- return ok(name, JSON.stringify(value, null, 2), value);
285
- }
286
- case "network_start":
287
- case "network_events":
288
- case "network_stop":
289
- case "cdp":
290
- case "wait_for_navigation":
291
- case "wait_for_function":
292
- case "wait_for_network_idle":
293
- case "element_text":
294
- case "element_attribute":
295
- case "bounding_box":
296
- case "set_input_files":
297
- case "cookies":
298
- case "get_cookies":
299
- case "add_cookies":
300
- case "clear_cookies":
301
- case "tabs":
302
- case "list_tabs":
303
- case "new_tab":
304
- case "switch_tab":
305
- case "fetch":
306
- case "collect":
307
- case "tap": return fail(name, "NOT_SUPPORTED", `Action "${name}" is not available with the Chrome Extension backend`);
308
- default: return fail(name, "UNKNOWN_ACTION", `Unknown browser action: ${name}`);
309
- }
310
- }
311
- //#endregion
312
- export { runExtensionRegistryAction };
@@ -1,5 +0,0 @@
1
- /**
2
- * Browser Action Registry — unified action layer shared by browser_use tool, CLI, and pipeline.
3
- */
4
- import type { BrowserActionRegistry } from './types.js';
5
- export declare function createBrowserActionRegistry(): BrowserActionRegistry;