@browserbasehq/orca 3.7.1-preview.0 → 3.7.2-gemini-cua

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 (107) hide show
  1. package/dist/cjs/lib/v3/agent/GoogleCUAClient.d.ts +23 -0
  2. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js +363 -206
  3. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js.map +1 -1
  4. package/dist/cjs/lib/v3/agent/tools/click.js +16 -5
  5. package/dist/cjs/lib/v3/agent/tools/click.js.map +1 -1
  6. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js +1 -1
  7. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js.map +1 -1
  8. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js +2 -2
  9. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js.map +1 -1
  10. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js +18 -7
  11. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js.map +1 -1
  12. package/dist/cjs/lib/v3/agent/tools/scroll.js +1 -1
  13. package/dist/cjs/lib/v3/agent/tools/scroll.js.map +1 -1
  14. package/dist/cjs/lib/v3/agent/tools/type.js +13 -4
  15. package/dist/cjs/lib/v3/agent/tools/type.js.map +1 -1
  16. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.d.ts +5 -2
  17. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js +5 -7
  18. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js.map +1 -1
  19. package/dist/cjs/lib/v3/api.d.ts +1 -1
  20. package/dist/cjs/lib/v3/api.js +2 -1
  21. package/dist/cjs/lib/v3/api.js.map +1 -1
  22. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js +20 -0
  23. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -1
  24. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.d.ts +4 -0
  25. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +126 -20
  26. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  27. package/dist/cjs/lib/v3/launch/local.js +1 -1
  28. package/dist/cjs/lib/v3/launch/local.js.map +1 -1
  29. package/dist/cjs/lib/v3/llm/aisdk.js +3 -3
  30. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
  31. package/dist/cjs/lib/v3/runtimePaths.js +0 -1
  32. package/dist/cjs/lib/v3/runtimePaths.js.map +1 -1
  33. package/dist/cjs/lib/v3/types/public/api.d.ts +53 -0
  34. package/dist/cjs/lib/v3/types/public/api.js +8 -0
  35. package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
  36. package/dist/cjs/lib/v3/types/public/model.d.ts +5 -0
  37. package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
  38. package/dist/cjs/lib/v3/types/public/options.d.ts +13 -0
  39. package/dist/cjs/lib/v3/types/public/options.js.map +1 -1
  40. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +39 -1
  41. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -1
  42. package/dist/cjs/lib/v3/understudy/locator.d.ts +12 -0
  43. package/dist/cjs/lib/v3/understudy/locator.js +44 -0
  44. package/dist/cjs/lib/v3/understudy/locator.js.map +1 -1
  45. package/dist/cjs/lib/v3/understudy/page.d.ts +22 -3
  46. package/dist/cjs/lib/v3/understudy/page.js +55 -1
  47. package/dist/cjs/lib/v3/understudy/page.js.map +1 -1
  48. package/dist/cjs/lib/v3/v3.d.ts +14 -0
  49. package/dist/cjs/lib/v3/v3.js +42 -13
  50. package/dist/cjs/lib/v3/v3.js.map +1 -1
  51. package/dist/cjs/lib/version.d.ts +1 -1
  52. package/dist/cjs/lib/version.js +1 -1
  53. package/dist/cjs/lib/version.js.map +1 -1
  54. package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +23 -0
  55. package/dist/esm/lib/v3/agent/GoogleCUAClient.js +363 -206
  56. package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -1
  57. package/dist/esm/lib/v3/agent/tools/click.js +16 -5
  58. package/dist/esm/lib/v3/agent/tools/click.js.map +1 -1
  59. package/dist/esm/lib/v3/agent/tools/clickAndHold.js +1 -1
  60. package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -1
  61. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +2 -2
  62. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -1
  63. package/dist/esm/lib/v3/agent/tools/fillFormVision.js +19 -8
  64. package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -1
  65. package/dist/esm/lib/v3/agent/tools/scroll.js +1 -1
  66. package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -1
  67. package/dist/esm/lib/v3/agent/tools/type.js +13 -4
  68. package/dist/esm/lib/v3/agent/tools/type.js.map +1 -1
  69. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +5 -2
  70. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +5 -7
  71. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -1
  72. package/dist/esm/lib/v3/api.d.ts +1 -1
  73. package/dist/esm/lib/v3/api.js +2 -1
  74. package/dist/esm/lib/v3/api.js.map +1 -1
  75. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +20 -0
  76. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -1
  77. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +4 -0
  78. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +126 -20
  79. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  80. package/dist/esm/lib/v3/launch/local.js +1 -1
  81. package/dist/esm/lib/v3/launch/local.js.map +1 -1
  82. package/dist/esm/lib/v3/llm/aisdk.js +3 -3
  83. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
  84. package/dist/esm/lib/v3/runtimePaths.js +0 -1
  85. package/dist/esm/lib/v3/runtimePaths.js.map +1 -1
  86. package/dist/esm/lib/v3/types/public/api.d.ts +53 -0
  87. package/dist/esm/lib/v3/types/public/api.js +8 -0
  88. package/dist/esm/lib/v3/types/public/api.js.map +1 -1
  89. package/dist/esm/lib/v3/types/public/model.d.ts +5 -0
  90. package/dist/esm/lib/v3/types/public/model.js.map +1 -1
  91. package/dist/esm/lib/v3/types/public/options.d.ts +13 -0
  92. package/dist/esm/lib/v3/types/public/options.js.map +1 -1
  93. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +39 -1
  94. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -1
  95. package/dist/esm/lib/v3/understudy/locator.d.ts +12 -0
  96. package/dist/esm/lib/v3/understudy/locator.js +44 -0
  97. package/dist/esm/lib/v3/understudy/locator.js.map +1 -1
  98. package/dist/esm/lib/v3/understudy/page.d.ts +22 -3
  99. package/dist/esm/lib/v3/understudy/page.js +55 -1
  100. package/dist/esm/lib/v3/understudy/page.js.map +1 -1
  101. package/dist/esm/lib/v3/v3.d.ts +14 -0
  102. package/dist/esm/lib/v3/v3.js +42 -13
  103. package/dist/esm/lib/v3/v3.js.map +1 -1
  104. package/dist/esm/lib/version.d.ts +1 -1
  105. package/dist/esm/lib/version.js +1 -1
  106. package/dist/esm/lib/version.js.map +1 -1
  107. package/package.json +3 -3
@@ -73,6 +73,14 @@ export declare class V3 {
73
73
  * @deprecated Use `isVerified` instead. This alias will be removed in a future version.
74
74
  */
75
75
  get isAdvancedStealth(): boolean;
76
+ /**
77
+ * Whether coordinate pointer actions should actuate as touch instead of mouse.
78
+ *
79
+ * Explicit opt-in via the `useTouch` option — no session-derived or probed
80
+ * detection, so the answer is known before the first action, is stable for the
81
+ * whole run, and never surprises a caller who didn't ask for touch.
82
+ */
83
+ get usesTouch(): boolean;
76
84
  /**
77
85
  * Returns the configured viewport dimensions from launch options.
78
86
  * Falls back to default 1288x711 if not configured.
@@ -81,6 +89,12 @@ export declare class V3 {
81
89
  width: number;
82
90
  height: number;
83
91
  };
92
+ get hasConfiguredViewport(): boolean;
93
+ private rawConfiguredViewport;
94
+ resolveViewport(): Promise<{
95
+ width: number;
96
+ height: number;
97
+ }>;
84
98
  private _onCdpClosed;
85
99
  readonly experimental: boolean;
86
100
  readonly logInferenceToFile: boolean;
@@ -191,27 +191,55 @@ let V3 = (() => {
191
191
  get isAdvancedStealth() {
192
192
  return this.isVerified;
193
193
  }
194
+ /**
195
+ * Whether coordinate pointer actions should actuate as touch instead of mouse.
196
+ *
197
+ * Explicit opt-in via the `useTouch` option — no session-derived or probed
198
+ * detection, so the answer is known before the first action, is stable for the
199
+ * whole run, and never surprises a caller who didn't ask for touch.
200
+ */
201
+ get usesTouch() {
202
+ return this.opts.useTouch === true;
203
+ }
194
204
  /**
195
205
  * Returns the configured viewport dimensions from launch options.
196
206
  * Falls back to default 1288x711 if not configured.
197
207
  */
198
208
  get configuredViewport() {
199
- const defaultWidth = 1288;
200
- const defaultHeight = 711;
201
- if (this.opts.env === "BROWSERBASE") {
202
- const vp = this.opts.browserbaseSessionCreateParams?.browserSettings?.viewport;
203
- return {
204
- width: vp?.width ?? defaultWidth,
205
- height: vp?.height ?? defaultHeight,
206
- };
207
- }
208
- // LOCAL env
209
- const vp = this.opts.localBrowserLaunchOptions?.viewport;
209
+ const viewport = this.rawConfiguredViewport();
210
210
  return {
211
- width: vp?.width ?? defaultWidth,
212
- height: vp?.height ?? defaultHeight,
211
+ width: viewport?.width ?? 1288,
212
+ height: viewport?.height ?? 711,
213
213
  };
214
214
  }
215
+ get hasConfiguredViewport() {
216
+ return this.rawConfiguredViewport() !== undefined;
217
+ }
218
+ rawConfiguredViewport() {
219
+ if (this.opts.env === "BROWSERBASE") {
220
+ return this.opts.browserbaseSessionCreateParams?.browserSettings
221
+ ?.viewport;
222
+ }
223
+ return this.opts.localBrowserLaunchOptions?.viewport;
224
+ }
225
+ async resolveViewport() {
226
+ // Verified / advanced-stealth sessions do not honor the requested
227
+ // viewport (Browserbase picks a real-device size, e.g. 1280x720 for a
228
+ // requested 2560x1440), so trust the configured value only otherwise.
229
+ const configured = this.rawConfiguredViewport();
230
+ if (configured && !this.isVerified)
231
+ return this.configuredViewport;
232
+ try {
233
+ const page = await this.context.awaitActivePage();
234
+ const { width, height } = await page.mainFrame().evaluate("({ width: window.innerWidth, height: window.innerHeight })");
235
+ if (width && height)
236
+ return { width, height };
237
+ }
238
+ catch {
239
+ //
240
+ }
241
+ return this.configuredViewport;
242
+ }
215
243
  _onCdpClosed = (why) => {
216
244
  if (this.state.kind === "BROWSERBASE") {
217
245
  void this._logBrowserbaseSessionStatus();
@@ -859,6 +887,7 @@ let V3 = (() => {
859
887
  verbose: this.verbose,
860
888
  systemPrompt: this.opts.systemPrompt,
861
889
  selfHeal: this.opts.selfHeal,
890
+ useTouch: this.opts.useTouch,
862
891
  browserbaseSessionCreateParams: createSessionPayload,
863
892
  browserbaseSessionID: this.opts.browserbaseSessionID,
864
893
  });