@xopcai/xopc 0.0.251 → 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 (329) 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-Bo_dmLv8.js → agent-avatar-dicebear-k039rbUz.js} +1 -1
  8. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-kILWelNb.js → agent-defaults-settings-panel-D4J4oq8p.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agents-yuUn8n-f.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-Cz56nrVF.js → app-management-settings-panel-ByJ4kiD0.js} +1 -1
  12. package/dist/gateway/static/root/assets/{appearance-settings-DxSws5U4.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-7k15-hqo.js → archive-plugin-DMDKtYpi.js} +1 -1
  15. package/dist/gateway/static/root/assets/{attachment-load-B-SFpjd9.js → attachment-load-B764Ql3Z.js} +1 -1
  16. package/dist/gateway/static/root/assets/{automations-page-Qy36j19q.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-CPOZQt8F.js → binary-plugins-fxtzYRpv.js} +1 -1
  19. package/dist/gateway/static/root/assets/{block-editor-DhvVlIp9.js → block-editor-Bcjtvckh.js} +3 -3
  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-1PJoxRuV.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-CBCc6zFA.js → cron-expression-DtsfalBM.js} +1 -1
  29. package/dist/gateway/static/root/assets/{date-picker-u8K5Kt_N.js → date-picker-tDEQV5TP.js} +1 -1
  30. package/dist/gateway/static/root/assets/{dependency-picker-y_i_cnpz.js → dependency-picker-HhNwg0Y2.js} +1 -1
  31. package/dist/gateway/static/root/assets/{desktop-pet-DyL0JxLm.js → desktop-pet-acU4Li-C.js} +1 -1
  32. package/dist/gateway/static/root/assets/{desktop-pet-settings-d2d_IsyP.js → desktop-pet-settings-R84AR0Pe.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-debug-page-DqIBKJwl.js → extension-debug-page-CrLlRkSN.js} +1 -1
  34. package/dist/gateway/static/root/assets/{extension-page-DUW1xxj2.js → extension-page-BH5lmZXE.js} +1 -1
  35. package/dist/gateway/static/root/assets/{extension-settings-page-BHY9qaNw.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-7CD9iPR7.js → heartbeat-settings-K5Zhl2rx.js} +1 -1
  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-BtlqMleF.js → keyboard-shortcuts-settings-B1QR49-7.js} +1 -1
  45. package/dist/gateway/static/root/assets/{local-app-workbench-page-BjxfkjxE.js → local-app-workbench-page-wicoV-ti.js} +2 -2
  46. package/dist/gateway/static/root/assets/{local-apps-page-B7xqQe2s.js → local-apps-page-C74It-T8.js} +1 -1
  47. package/dist/gateway/static/root/assets/{locale-store-CF4erhjB.js → locale-store-BfZGZKSs.js} +1 -1
  48. package/dist/gateway/static/root/assets/{logs-page-kACaPZKL.js → logs-page-xX-7S49A.js} +2 -2
  49. package/dist/gateway/static/root/assets/{management-settings-A432siER.js → management-settings-1kNnYL97.js} +1 -1
  50. package/dist/gateway/static/root/assets/{markdown-view-CQvzsE24.js → markdown-view-DjiwT28p.js} +2 -2
  51. package/dist/gateway/static/root/assets/{media-plugins-CpvYiauZ.js → media-plugins-B5c0AoS1.js} +1 -1
  52. package/dist/gateway/static/root/assets/messages-DaIwVWar.js +3 -0
  53. package/dist/gateway/static/root/assets/{mobile-pairing-wizard-DyjVGngO.js → mobile-pairing-wizard-CsIZqK51.js} +1 -1
  54. package/dist/gateway/static/root/assets/note-detail-panel-CfWxopl4.js +5 -0
  55. package/dist/gateway/static/root/assets/notes-page-CYN-LCHJ.js +8 -0
  56. package/dist/gateway/static/root/assets/{page-tabs-B3FKzjR6.js → page-tabs-CqJN6Ljz.js} +1 -1
  57. package/dist/gateway/static/root/assets/{preview-open-alternatives-DnjrwAHD.js → preview-open-alternatives-DqRIGxf4.js} +1 -1
  58. package/dist/gateway/static/root/assets/{product-open-page-COcr_NUJ.js → product-open-page-DE2nPE_K.js} +1 -1
  59. package/dist/gateway/static/root/assets/project-detail-page-B5G3LzDq.js +1 -0
  60. package/dist/gateway/static/root/assets/{projects-page-BzH8pjEz.js → projects-page-CuVK2mKu.js} +1 -1
  61. package/dist/gateway/static/root/assets/{registry-api-BsRBlji7.js → registry-api-Bpy8XX-5.js} +1 -1
  62. package/dist/gateway/static/root/assets/remote-access-hub-Dnd73xWt.js +1 -0
  63. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-LO4wZ_dO.js → runtime-tools-settings-panel-Bb4b74-P.js} +2 -2
  64. package/dist/gateway/static/root/assets/{schema-form-crcj4-Pm.js → schema-form-DoPU5j3J.js} +1 -1
  65. package/dist/gateway/static/root/assets/sessions-page-XL4LyKZe.js +1 -0
  66. package/dist/gateway/static/root/assets/settings-advanced-gate-0ForzDSS.js +1 -0
  67. package/dist/gateway/static/root/assets/{settings-form-section-Bl4MvTmq.js → settings-form-section-Ci-9WajJ.js} +1 -1
  68. package/dist/gateway/static/root/assets/{settings-page-DplrjZ6x.js → settings-page-CL_2F95D.js} +1 -1
  69. package/dist/gateway/static/root/assets/setup-status-panel-DVws6XZc.js +1 -0
  70. package/dist/gateway/static/root/assets/{share-preview-page-CJP1kURj.js → share-preview-page-XUA3oKQX.js} +1 -1
  71. package/dist/gateway/static/root/assets/shares-settings-BwDvcacF.js +1 -0
  72. package/dist/gateway/static/root/assets/skill-reload-api-BJjrATqE.js +1 -0
  73. package/dist/gateway/static/root/assets/{skills-page-DsjcKg9Q.js → skills-page-sXXAZDc9.js} +1 -1
  74. package/dist/gateway/static/root/assets/{skills-page.utils-D6gWBbvy.js → skills-page.utils-DD79Bl1I.js} +1 -1
  75. package/dist/gateway/static/root/assets/{system-settings-panel-_eCXfqCo.js → system-settings-panel-BEH64qBV.js} +1 -1
  76. package/dist/gateway/static/root/assets/task-detail-page-0jxMi75O.js +1 -0
  77. package/dist/gateway/static/root/assets/{theme-store-BOgkc_9D.js → theme-store-CISSxU1c.js} +1 -1
  78. package/dist/gateway/static/root/assets/{tunnel-api-W5mktxl1.js → tunnel-api-DrKDhnJm.js} +1 -1
  79. package/dist/gateway/static/root/assets/{use-autosave-Na2DYzT3.js → use-autosave-CPYePL-Q.js} +1 -1
  80. package/dist/gateway/static/root/assets/user-model-page-B6zLDfDl.js +2 -0
  81. package/dist/gateway/static/root/assets/{voice-api-key-field-OXweUxS_.js → voice-api-key-field-DKqzrCXx.js} +1 -1
  82. package/dist/gateway/static/root/assets/{voice-config-api-C-ryeIxj.js → voice-config-api-e9xWjwBX.js} +1 -1
  83. package/dist/gateway/static/root/assets/{work-discovery-overlay-BqOsO47I.js → work-discovery-overlay-kTQug6bq.js} +1 -1
  84. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-B9S_lfT1.js → workflow-run-setup-panel-m9SKj_GT.js} +2 -2
  85. package/dist/gateway/static/root/assets/workflows-page-Bcd1XqP7.js +5 -0
  86. package/dist/gateway/static/root/index.html +10 -10
  87. package/dist/package.js +1 -1
  88. package/dist/packages/gateway-contract/src/new-session.js +9 -0
  89. package/dist/src/agent/agent-manager.d.ts +2 -1
  90. package/dist/src/agent/agent-manager.js +6 -5
  91. package/dist/src/agent/background-review/run-background-review.js +1 -1
  92. package/dist/src/agent/coding/repository-instructions.js +2 -2
  93. package/dist/src/agent/coding/workspace-revision.js +2 -2
  94. package/dist/src/agent/commands/command-isolation.js +2 -2
  95. package/dist/src/agent/embedded/model-runtime.js +1 -1
  96. package/dist/src/agent/embedded/run-for-session.js +1 -1
  97. package/dist/src/agent/external-tools/composio-provider.d.ts +1 -0
  98. package/dist/src/agent/external-tools/composio-provider.js +64 -34
  99. package/dist/src/agent/external-tools/search-error.js +5 -3
  100. package/dist/src/agent/image/tool-model-config.js +1 -1
  101. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +1 -1
  102. package/dist/src/agent/service.js +4 -3
  103. package/dist/src/agent/service.types.d.ts +2 -1
  104. package/dist/src/agent/session/session-inspector.js +1 -1
  105. package/dist/src/agent/skills/hub-lock.js +1 -1
  106. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +4 -0
  107. package/dist/src/agent/tasks/task-judge-service.js +3 -3
  108. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  109. package/dist/src/agent/tool-manuals/browser.js +15 -226
  110. package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +4 -21
  111. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +48 -165
  112. package/dist/src/agent/tools/browser/tool/schemas.d.ts +203 -16
  113. package/dist/src/agent/tools/browser/tool/schemas.js +146 -16
  114. package/dist/src/agent/tools/browser-automation-tool.d.ts +121 -0
  115. package/dist/src/agent/tools/browser-automation-tool.js +197 -0
  116. package/dist/src/agent/tools/factory.d.ts +6 -9
  117. package/dist/src/agent/tools/factory.js +28 -55
  118. package/dist/src/agent/tools/index.d.ts +2 -2
  119. package/dist/src/agent/tools/index.js +3 -3
  120. package/dist/src/agent/tools/review-workspace.js +2 -2
  121. package/dist/src/ai-assist/text-assist.js +1 -1
  122. package/dist/src/auth/credentials.js +2 -2
  123. package/dist/src/auth/oauth/xopc-cloud.js +3 -1
  124. package/dist/src/auth/profiles/store.js +1 -1
  125. package/dist/src/auth/sync-provider-auth.js +2 -2
  126. package/dist/src/automations/domain/defaults.js +1 -1
  127. package/dist/src/automations/domain/types.d.ts +5 -5
  128. package/dist/src/automations/domain/validation.d.ts +12 -12
  129. package/dist/src/automations/domain/validation.js +3 -3
  130. package/dist/src/automations/draft/automation-draft-validator.d.ts +3 -3
  131. package/dist/src/automations/draft/automation-draft-validator.js +1 -1
  132. package/dist/src/automations/service/action-executor.d.ts +1 -1
  133. package/dist/src/automations/service/action-executor.js +7 -7
  134. package/dist/src/browser/{recipes → automations}/index.d.ts +1 -0
  135. package/dist/src/browser/automations/index.js +4 -0
  136. package/dist/src/browser/automations/repository.d.ts +13 -0
  137. package/dist/src/browser/automations/repository.js +60 -0
  138. package/dist/src/browser/automations/runner.d.ts +17 -0
  139. package/dist/src/browser/automations/runner.js +173 -0
  140. package/dist/src/browser/automations/runtime-service.d.ts +6 -0
  141. package/dist/src/browser/automations/runtime-service.js +37 -0
  142. package/dist/src/browser/automations/schema.d.ts +144 -0
  143. package/dist/src/browser/automations/schema.js +135 -0
  144. package/dist/src/browser/automations/service.d.ts +146 -0
  145. package/dist/src/browser/automations/service.js +168 -0
  146. package/dist/src/browser/automations/types.d.ts +90 -0
  147. package/dist/src/browser/cache-dir-policy.d.ts +1 -1
  148. package/dist/src/browser/cache-dir-policy.js +1 -4
  149. package/dist/src/browser/drivers/browser-driver.d.ts +17 -0
  150. package/dist/src/browser/drivers/create-driver.d.ts +3 -0
  151. package/dist/src/browser/drivers/create-driver.js +84 -0
  152. package/dist/src/browser/drivers/extension-driver.d.ts +20 -0
  153. package/dist/src/browser/drivers/extension-driver.js +47 -0
  154. package/dist/src/browser/drivers/playwright-driver.d.ts +38 -0
  155. package/dist/src/browser/drivers/playwright-driver.js +406 -0
  156. package/dist/src/browser/index.d.ts +10 -15
  157. package/dist/src/browser/index.js +10 -15
  158. package/dist/src/browser/install-lock.d.ts +1 -2
  159. package/dist/src/browser/install-lock.js +3 -9
  160. package/dist/src/browser/install-progress.d.ts +1 -1
  161. package/dist/src/browser/observation/format.d.ts +2 -0
  162. package/dist/src/browser/observation/format.js +26 -0
  163. package/dist/src/browser/policy/approval-store.d.ts +17 -0
  164. package/dist/src/browser/policy/approval-store.js +62 -0
  165. package/dist/src/browser/policy/browser-policy.d.ts +3 -0
  166. package/dist/src/browser/policy/browser-policy.js +27 -0
  167. package/dist/src/browser/providers/browser-ext-install.d.ts +1 -1
  168. package/dist/src/browser/providers/browser-ext-install.js +4 -6
  169. package/dist/src/browser/providers/browser-use.js +1 -1
  170. package/dist/src/browser/providers/browserbase.js +1 -1
  171. package/dist/src/browser/providers/extension-ws-acquire.d.ts +1 -4
  172. package/dist/src/browser/providers/extension-ws-acquire.js +1 -13
  173. package/dist/src/browser/providers/extension.d.ts +3 -22
  174. package/dist/src/browser/providers/extension.js +7 -15
  175. package/dist/src/browser/providers/index.d.ts +2 -2
  176. package/dist/src/browser/providers/index.js +3 -3
  177. package/dist/src/browser/providers/types.d.ts +0 -94
  178. package/dist/src/browser/readiness.d.ts +4 -22
  179. package/dist/src/browser/readiness.js +55 -118
  180. package/dist/src/browser/runtime/browser-runtime.d.ts +30 -0
  181. package/dist/src/browser/runtime/browser-runtime.js +362 -0
  182. package/dist/src/browser/url-policy.d.ts +3 -3
  183. package/dist/src/browser/url-policy.js +7 -6
  184. package/dist/src/browser/verification/expectation.d.ts +2 -0
  185. package/dist/src/browser/verification/expectation.js +17 -0
  186. package/dist/src/cli/command-loaders.js +1 -0
  187. package/dist/src/cli/command-manifest.js +5 -1
  188. package/dist/src/cli/commands/browser-cli-helpers.d.ts +0 -6
  189. package/dist/src/cli/commands/browser-cli-helpers.js +11 -144
  190. package/dist/src/cli/commands/browser.d.ts +0 -5
  191. package/dist/src/cli/commands/browser.js +11 -152
  192. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  193. package/dist/src/cli/commands/doctor/checks/node-version.js +25 -9
  194. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  195. package/dist/src/cli/commands/models.js +1 -1
  196. package/dist/src/cli/commands/platform.d.ts +1 -0
  197. package/dist/src/cli/commands/platform.js +111 -0
  198. package/dist/src/config/index.js +4 -4
  199. package/dist/src/config/loader.js +10 -4
  200. package/dist/src/config/models-json.js +1 -1
  201. package/dist/src/config/schema.d.ts +131 -84
  202. package/dist/src/config/schema.js +112 -59
  203. package/dist/src/connectors/composio-sessions.js +1 -3
  204. package/dist/src/extensions/lockfile.js +1 -1
  205. package/dist/src/extensions/marketplace.js +4 -0
  206. package/dist/src/gateway/agents-admin.js +1 -1
  207. package/dist/src/gateway/file-path-classifier.js +1 -1
  208. package/dist/src/gateway/heartbeat/service.js +1 -1
  209. package/dist/src/gateway/hono/lib/config-payload.d.ts +12 -26
  210. package/dist/src/gateway/hono/lib/config-payload.js +11 -40
  211. package/dist/src/gateway/hono/routes/browser-automations.d.ts +3 -0
  212. package/dist/src/gateway/hono/routes/browser-automations.js +77 -0
  213. package/dist/src/gateway/hono/routes/browser-install.js +0 -32
  214. package/dist/src/gateway/hono/routes/browser.d.ts +0 -17
  215. package/dist/src/gateway/hono/routes/browser.js +46 -568
  216. package/dist/src/gateway/hono/routes/config-patch/misc.js +8 -1
  217. package/dist/src/gateway/hono/routes/config.js +0 -11
  218. package/dist/src/gateway/hono/routes/lazy-bundles.js +5 -5
  219. package/dist/src/gateway/hono/routes/models.js +1 -1
  220. package/dist/src/gateway/service/config-coordinator.js +1 -1
  221. package/dist/src/gateway/service.d.ts +4 -6
  222. package/dist/src/gateway/service.js +24 -27
  223. package/dist/src/heartbeat/index.js +1 -1
  224. package/dist/src/platform/client.d.ts +121 -0
  225. package/dist/src/platform/client.js +108 -0
  226. package/dist/src/platform/contracts.d.ts +194 -0
  227. package/dist/src/platform/contracts.js +150 -0
  228. package/dist/src/platform/index.d.ts +4 -0
  229. package/dist/src/platform/index.js +9 -0
  230. package/dist/src/platform/resolution.d.ts +4 -0
  231. package/dist/src/platform/resolution.js +16 -0
  232. package/dist/src/platform/worker.d.ts +6 -0
  233. package/dist/src/platform/worker.js +75 -0
  234. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  235. package/dist/src/providers/index.js +2 -2
  236. package/dist/src/providers/model-registry.js +1 -1
  237. package/dist/src/providers/register-runtime-providers.js +1 -1
  238. package/dist/src/providers/xopc-cloud-config.js +3 -1
  239. package/dist/src/session/session-context-for-llm.js +41 -1
  240. package/dist/src/share/hosted-session-share.js +3 -1
  241. package/dist/src/share/share-thumbnail.js +1 -1
  242. package/dist/src/storage/sqlite/migrations/153_browser_control_v2.sql +45 -0
  243. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  244. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  245. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  246. package/dist/src/storage/sqlite/schema.js +1 -1
  247. package/dist/src/storage/sqlite/schema.sql +16 -20
  248. package/dist/src/tasks/home-query-service.js +1 -1
  249. package/dist/src/tui/tui-startup-resources.js +1 -1
  250. package/dist/src/tui/tui.js +1 -1
  251. package/dist/src/tunnel/env.js +3 -1
  252. package/dist/src/work-discovery/service.js +1 -1
  253. package/dist/src/workflows/service/workflow-run-service.js +1 -1
  254. package/package.json +6 -6
  255. package/dist/gateway/static/root/assets/apps-page-BnizTdgs.js +0 -1
  256. package/dist/gateway/static/root/assets/automations-workspace-CZRKqSqY.js +0 -6
  257. package/dist/gateway/static/root/assets/browser-settings-page-pN5LbChY.js +0 -8
  258. package/dist/gateway/static/root/assets/browser-workflow-inputs-BX1-uM9L.js +0 -1
  259. package/dist/gateway/static/root/assets/browser-workflows-page-C65MI57t.js +0 -3
  260. package/dist/gateway/static/root/assets/capabilities-settings-panel-CJw2e16J.js +0 -7
  261. package/dist/gateway/static/root/assets/channels-settings-CRgjb4Ck.js +0 -1
  262. package/dist/gateway/static/root/assets/connectors-page-Dcpdy06y.js +0 -2
  263. package/dist/gateway/static/root/assets/gateway-config-api-e3BRcgDx.js +0 -1
  264. package/dist/gateway/static/root/assets/gateway-settings-Cheo0Rkc.js +0 -1
  265. package/dist/gateway/static/root/assets/home-page-DVrTRqNc.js +0 -1
  266. package/dist/gateway/static/root/assets/index-B7CX4Qob.css +0 -2
  267. package/dist/gateway/static/root/assets/index-BHrpyJ4t.js +0 -72
  268. package/dist/gateway/static/root/assets/messages-Cf5hpZE6.js +0 -3
  269. package/dist/gateway/static/root/assets/note-detail-panel-CUd8O4K7.js +0 -5
  270. package/dist/gateway/static/root/assets/notes-page-BLQwd39W.js +0 -8
  271. package/dist/gateway/static/root/assets/project-detail-page-NttW338u.js +0 -1
  272. package/dist/gateway/static/root/assets/remote-access-hub-BxpjSDnL.js +0 -1
  273. package/dist/gateway/static/root/assets/sessions-page-BLMaibOb.js +0 -1
  274. package/dist/gateway/static/root/assets/settings-advanced-gate-BRvvKhoH.js +0 -1
  275. package/dist/gateway/static/root/assets/setup-status-panel-DTOsxQC1.js +0 -1
  276. package/dist/gateway/static/root/assets/shares-settings-CemgzEi4.js +0 -1
  277. package/dist/gateway/static/root/assets/skill-reload-api-BWYanBlQ.js +0 -1
  278. package/dist/gateway/static/root/assets/task-detail-page-D0Z_K5JT.js +0 -1
  279. package/dist/gateway/static/root/assets/user-model-page-B_-SNat-.js +0 -2
  280. package/dist/gateway/static/root/assets/workflows-page-CNOT2Coo.js +0 -5
  281. package/dist/src/agent/tools/browser-recipe-tool.d.ts +0 -12
  282. package/dist/src/agent/tools/browser-recipe-tool.js +0 -113
  283. package/dist/src/browser/actions/extension-registry-bridge.d.ts +0 -5
  284. package/dist/src/browser/actions/extension-registry-bridge.js +0 -312
  285. package/dist/src/browser/actions/registry.d.ts +0 -5
  286. package/dist/src/browser/actions/registry.js +0 -741
  287. package/dist/src/browser/actions/types.d.ts +0 -65
  288. package/dist/src/browser/backend-from-config.d.ts +0 -22
  289. package/dist/src/browser/backend-from-config.js +0 -99
  290. package/dist/src/browser/browser-command-timeout.d.ts +0 -2
  291. package/dist/src/browser/browser-command-timeout.js +0 -11
  292. package/dist/src/browser/cdp-local-launcher.d.ts +0 -35
  293. package/dist/src/browser/cdp-local-launcher.js +0 -154
  294. package/dist/src/browser/cdp-supervisor.d.ts +0 -58
  295. package/dist/src/browser/cdp-supervisor.js +0 -133
  296. package/dist/src/browser/humanize.d.ts +0 -80
  297. package/dist/src/browser/humanize.js +0 -363
  298. package/dist/src/browser/manager.d.ts +0 -50
  299. package/dist/src/browser/manager.js +0 -251
  300. package/dist/src/browser/pipeline/output.d.ts +0 -35
  301. package/dist/src/browser/pipeline/output.js +0 -74
  302. package/dist/src/browser/pipeline/runner.d.ts +0 -27
  303. package/dist/src/browser/pipeline/runner.js +0 -453
  304. package/dist/src/browser/pipeline/schema.d.ts +0 -42
  305. package/dist/src/browser/pipeline/schema.js +0 -116
  306. package/dist/src/browser/pipeline/template.d.ts +0 -30
  307. package/dist/src/browser/pipeline/template.js +0 -112
  308. package/dist/src/browser/providers/cloakbrowser.d.ts +0 -83
  309. package/dist/src/browser/providers/cloakbrowser.js +0 -612
  310. package/dist/src/browser/recipes/index.js +0 -3
  311. package/dist/src/browser/recipes/repository.d.ts +0 -13
  312. package/dist/src/browser/recipes/repository.js +0 -81
  313. package/dist/src/browser/recipes/runtime-service.d.ts +0 -6
  314. package/dist/src/browser/recipes/runtime-service.js +0 -30
  315. package/dist/src/browser/recipes/service.d.ts +0 -36
  316. package/dist/src/browser/recipes/service.js +0 -186
  317. package/dist/src/browser/recipes/types.d.ts +0 -36
  318. package/dist/src/browser/schemas.d.ts +0 -53
  319. package/dist/src/browser/schemas.js +0 -68
  320. package/dist/src/browser/session-lifecycle.d.ts +0 -40
  321. package/dist/src/browser/session-lifecycle.js +0 -136
  322. package/dist/src/browser/snapshot-helpers.d.ts +0 -24
  323. package/dist/src/browser/snapshot-helpers.js +0 -70
  324. package/dist/src/browser/stealth.d.ts +0 -46
  325. package/dist/src/browser/stealth.js +0 -163
  326. package/dist/src/gateway/hono/routes/browser-workflows.d.ts +0 -3
  327. package/dist/src/gateway/hono/routes/browser-workflows.js +0 -78
  328. /package/dist/src/browser/{actions → automations}/types.js +0 -0
  329. /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;