wuying-agentbay-sdk 0.10.2 → 0.11.0

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 (104) hide show
  1. package/dist/chunk-E7QC5S76.mjs +3143 -0
  2. package/dist/chunk-E7QC5S76.mjs.map +1 -0
  3. package/dist/chunk-ZUB35HKV.cjs +3134 -0
  4. package/dist/chunk-ZUB35HKV.cjs.map +1 -0
  5. package/dist/index.cjs +3588 -3921
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.mts +2088 -687
  8. package/dist/index.d.ts +2088 -687
  9. package/dist/index.mjs +3556 -3889
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/key-normalizer-AF7APGQZ.cjs +136 -0
  12. package/dist/key-normalizer-AF7APGQZ.cjs.map +1 -0
  13. package/dist/key-normalizer-QDBRLFHF.mjs +145 -0
  14. package/dist/key-normalizer-QDBRLFHF.mjs.map +1 -0
  15. package/dist/model-2G37RFQQ.cjs +188 -0
  16. package/dist/model-2G37RFQQ.cjs.map +1 -0
  17. package/dist/model-ZFTLKEMC.mjs +197 -0
  18. package/docs/api/README.md +26 -0
  19. package/docs/api/browser-use/browser.md +177 -0
  20. package/docs/api/browser-use/extension.md +284 -0
  21. package/docs/api/codespace/code.md +77 -0
  22. package/docs/api/common-features/advanced/agent.md +84 -0
  23. package/docs/api/common-features/advanced/oss.md +221 -0
  24. package/docs/api/common-features/basics/agentbay.md +181 -0
  25. package/docs/api/common-features/basics/command.md +83 -0
  26. package/docs/api/common-features/basics/context-manager.md +130 -0
  27. package/docs/api/common-features/basics/context-sync.md +51 -0
  28. package/docs/api/common-features/basics/context.md +348 -0
  29. package/docs/api/common-features/basics/filesystem.md +499 -0
  30. package/docs/api/common-features/basics/logging.md +77 -0
  31. package/docs/api/common-features/basics/session.md +412 -0
  32. package/docs/api/computer-use/computer.md +786 -0
  33. package/docs/api/mobile-use/mobile.md +395 -0
  34. package/docs/examples/README.md +332 -0
  35. package/docs/examples/basic-usage.ts +86 -0
  36. package/docs/examples/browser-use/browser/README.md +356 -0
  37. package/docs/examples/browser-use/browser/basic-usage.ts +136 -0
  38. package/docs/examples/browser-use/browser/browser-command-args.ts +117 -0
  39. package/docs/examples/browser-use/browser/browser-context-cookie-persistence.ts +348 -0
  40. package/docs/examples/browser-use/browser/browser-fingerprint-basic-usage.ts +121 -0
  41. package/docs/examples/browser-use/browser/browser-fingerprint-construct.ts +114 -0
  42. package/docs/examples/browser-use/browser/browser-fingerprint-local-sync.ts +98 -0
  43. package/docs/examples/browser-use/browser/browser-fingerprint-persistence.ts +242 -0
  44. package/docs/examples/browser-use/browser/browser-proxies.ts +149 -0
  45. package/docs/examples/browser-use/browser/browser-type-example.ts +266 -0
  46. package/docs/examples/browser-use/browser/browser-viewport.ts +129 -0
  47. package/docs/examples/browser-use/browser/call_for_user_jd.ts +184 -0
  48. package/docs/examples/browser-use/browser/captcha_tongcheng.ts +151 -0
  49. package/docs/examples/browser-use/browser/run-2048.ts +209 -0
  50. package/docs/examples/browser-use/browser/run-sudoku.ts +150 -0
  51. package/docs/examples/browser-use/browser/screenshot-example.ts +132 -0
  52. package/docs/examples/browser-use/extension-example/README.md +252 -0
  53. package/docs/examples/browser-use/extension-example/extension-example.ts +380 -0
  54. package/docs/examples/codespace/automation/automation-example.ts +322 -0
  55. package/docs/examples/common-features/advanced/agent-module-example/README.md +40 -0
  56. package/docs/examples/common-features/advanced/agent-module-example.ts +66 -0
  57. package/docs/examples/common-features/advanced/archive-upload-mode-example/README.md +212 -0
  58. package/docs/examples/common-features/advanced/archive-upload-mode-example/archive-upload-mode-example.ts +213 -0
  59. package/docs/examples/common-features/advanced/vpc-session-example/README.md +47 -0
  60. package/docs/examples/common-features/advanced/vpc-session-example.ts +106 -0
  61. package/docs/examples/common-features/basics/archive-upload-mode-example/README.md +236 -0
  62. package/docs/examples/common-features/basics/archive-upload-mode-example/main.ts +236 -0
  63. package/docs/examples/common-features/basics/command-example/README.md +47 -0
  64. package/docs/examples/common-features/basics/command-example/command-example.ts +153 -0
  65. package/docs/examples/common-features/basics/context-management/README.md +55 -0
  66. package/docs/examples/common-features/basics/context-management/context-management.ts +140 -0
  67. package/docs/examples/common-features/basics/data-persistence/README.md +129 -0
  68. package/docs/examples/common-features/basics/data-persistence/context-sync-demo.md +144 -0
  69. package/docs/examples/common-features/basics/data-persistence/context-sync-demo.ts +275 -0
  70. package/docs/examples/common-features/basics/data-persistence/data-persistence.ts +259 -0
  71. package/docs/examples/common-features/basics/data-persistence/recycle-policy-example.ts +294 -0
  72. package/docs/examples/common-features/basics/filesystem-example/README.md +57 -0
  73. package/docs/examples/common-features/basics/filesystem-example/filesystem-example.ts +164 -0
  74. package/docs/examples/common-features/basics/filesystem-example/filesystem-filetransfer-example.ts +153 -0
  75. package/docs/examples/common-features/basics/filesystem-example/watch-directory-example.ts +168 -0
  76. package/docs/examples/common-features/basics/get/README.md +136 -0
  77. package/docs/examples/common-features/basics/get/main.ts +79 -0
  78. package/docs/examples/common-features/basics/list_sessions/README.md +54 -0
  79. package/docs/examples/common-features/basics/list_sessions/main.ts +258 -0
  80. package/docs/examples/common-features/basics/mcp_tool_direct_call/README.md +142 -0
  81. package/docs/examples/common-features/basics/mcp_tool_direct_call/main.ts +135 -0
  82. package/docs/examples/common-features/basics/session-creation/README.md +28 -0
  83. package/docs/examples/common-features/basics/session-creation/session-creation.ts +295 -0
  84. package/docs/examples/mobile-use/mobile-get-adb-url/README.md +92 -0
  85. package/docs/examples/mobile-use/mobile-get-adb-url/index.ts +80 -0
  86. package/docs/examples/mobile-use/mobile-get-adb-url/package-lock.json +279 -0
  87. package/docs/examples/mobile-use/mobile-get-adb-url/package.json +18 -0
  88. package/package.json +18 -11
  89. package/dist/application-KZWXH46T.mjs +0 -17
  90. package/dist/application-LMA7KSRH.cjs +0 -8
  91. package/dist/application-LMA7KSRH.cjs.map +0 -1
  92. package/dist/chunk-BQNGKBQF.mjs +0 -386
  93. package/dist/chunk-BQNGKBQF.mjs.map +0 -1
  94. package/dist/chunk-IOVGAAJL.cjs +0 -558
  95. package/dist/chunk-IOVGAAJL.cjs.map +0 -1
  96. package/dist/chunk-UF2TC2R4.mjs +0 -567
  97. package/dist/chunk-UF2TC2R4.mjs.map +0 -1
  98. package/dist/chunk-X6MS7Z5L.cjs +0 -377
  99. package/dist/chunk-X6MS7Z5L.cjs.map +0 -1
  100. package/dist/window-DH37ZDD5.mjs +0 -17
  101. package/dist/window-DH37ZDD5.mjs.map +0 -1
  102. package/dist/window-U7N3H735.cjs +0 -8
  103. package/dist/window-U7N3H735.cjs.map +0 -1
  104. /package/dist/{application-KZWXH46T.mjs.map → model-ZFTLKEMC.mjs.map} +0 -0
@@ -1,567 +0,0 @@
1
-
2
- import { createRequire } from 'module';
3
- const require = createRequire(import.meta.url);
4
- (function() {
5
- if (typeof OpenApi !== 'undefined' && !OpenApi.default) {
6
- OpenApi.default = OpenApi;
7
- }
8
- })();
9
-
10
- import {
11
- __name,
12
- init_esm_shims
13
- } from "./chunk-KNEDRAP6.mjs";
14
-
15
- // src/window/window.ts
16
- init_esm_shims();
17
- var _WindowManager = class _WindowManager {
18
- /**
19
- * Creates a new WindowManager instance.
20
- * @param session The session object that provides access to the AgentBay API.
21
- */
22
- constructor(session) {
23
- this.session = session;
24
- }
25
- /**
26
- * Helper method to parse JSON string into Window objects
27
- * @param jsonStr - JSON string to parse
28
- * @returns Array of Window objects or single Window object
29
- */
30
- parseWindowsFromJSON(jsonStr) {
31
- try {
32
- const parsed = JSON.parse(jsonStr);
33
- return Array.isArray(parsed) ? parsed : [parsed];
34
- } catch (error) {
35
- throw new Error(`Failed to parse window data: ${error}`);
36
- }
37
- }
38
- /**
39
- * Lists all root windows in the system.
40
- * Corresponds to Python's list_root_windows() method
41
- *
42
- * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.
43
- * @returns WindowListResult with windows array and requestId
44
- *
45
- * @deprecated Use session.computer.listRootWindows() instead.
46
- */
47
- async listRootWindows(timeoutMs = 3e3) {
48
- console.warn("\u26A0\uFE0F WindowManager.listRootWindows() is deprecated. Use session.computer.listRootWindows() instead.");
49
- try {
50
- const args = {
51
- timeout_ms: timeoutMs
52
- };
53
- const response = await this.session.callMcpTool(
54
- "list_root_windows",
55
- args
56
- );
57
- if (!response.success) {
58
- return {
59
- requestId: response.requestId,
60
- success: false,
61
- windows: [],
62
- errorMessage: response.errorMessage
63
- };
64
- }
65
- const windows = response.data ? this.parseWindowsFromJSON(response.data) : [];
66
- return {
67
- requestId: response.requestId,
68
- success: true,
69
- windows
70
- };
71
- } catch (error) {
72
- return {
73
- requestId: "",
74
- success: false,
75
- windows: [],
76
- errorMessage: `Failed to list root windows: ${error}`
77
- };
78
- }
79
- }
80
- /**
81
- * Lists all windows in the system.
82
- * Corresponds to Python's list_all_windows() method
83
- *
84
- * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.
85
- * @returns WindowListResult with windows array and requestId
86
- *
87
- * @deprecated Use session.computer.listAllWindows() instead.
88
- */
89
- async listAllWindows(timeoutMs = 3e3) {
90
- console.warn("\u26A0\uFE0F WindowManager.listAllWindows() is deprecated. Use session.computer.listAllWindows() instead.");
91
- try {
92
- const args = {
93
- timeout_ms: timeoutMs
94
- };
95
- const response = await this.session.callMcpTool(
96
- "list_all_windows",
97
- args
98
- );
99
- if (!response.success) {
100
- return {
101
- requestId: response.requestId,
102
- success: false,
103
- windows: [],
104
- errorMessage: response.errorMessage
105
- };
106
- }
107
- const windows = response.data ? this.parseWindowsFromJSON(response.data) : [];
108
- return {
109
- requestId: response.requestId,
110
- success: true,
111
- windows
112
- };
113
- } catch (error) {
114
- return {
115
- requestId: "",
116
- success: false,
117
- windows: [],
118
- errorMessage: `Failed to list all windows: ${error}`
119
- };
120
- }
121
- }
122
- /**
123
- * Gets information about a specific window.
124
- * Corresponds to Python's get_window_info() method
125
- *
126
- * @param windowId - The ID of the window to get information for.
127
- * @returns WindowInfoResult with window information and requestId
128
- *
129
- * @deprecated Use session.computer.getWindowInfo() instead.
130
- */
131
- async getWindowInfo(windowId) {
132
- console.warn("\u26A0\uFE0F WindowManager.getWindowInfo() is deprecated. Use session.computer.getWindowInfo() instead.");
133
- try {
134
- const args = {
135
- window_id: windowId
136
- };
137
- const response = await this.session.callMcpTool(
138
- "get_window_info",
139
- args
140
- );
141
- if (!response.success) {
142
- return {
143
- requestId: response.requestId,
144
- success: false,
145
- errorMessage: response.errorMessage
146
- };
147
- }
148
- let window = void 0;
149
- if (response.data) {
150
- const windows = this.parseWindowsFromJSON(response.data);
151
- window = windows.length > 0 ? windows[0] : void 0;
152
- }
153
- return {
154
- requestId: response.requestId,
155
- success: true,
156
- window
157
- };
158
- } catch (error) {
159
- return {
160
- requestId: "",
161
- success: false,
162
- errorMessage: `Failed to get window info: ${error}`
163
- };
164
- }
165
- }
166
- /**
167
- * Activates a window by bringing it to the foreground.
168
- * Corresponds to Python's activate_window() method
169
- *
170
- * @param windowId - The ID of the window to activate.
171
- * @returns BoolResult with success status and requestId
172
- *
173
- * @deprecated Use session.computer.activateWindow() instead.
174
- */
175
- async activateWindow(windowId) {
176
- console.warn("\u26A0\uFE0F WindowManager.activateWindow() is deprecated. Use session.computer.activateWindow() instead.");
177
- try {
178
- const args = {
179
- window_id: windowId
180
- };
181
- const response = await this.session.callMcpTool(
182
- "activate_window",
183
- args
184
- );
185
- if (!response.success) {
186
- return {
187
- requestId: response.requestId,
188
- success: false,
189
- errorMessage: response.errorMessage
190
- };
191
- }
192
- return {
193
- requestId: response.requestId,
194
- success: true,
195
- data: true
196
- };
197
- } catch (error) {
198
- return {
199
- requestId: "",
200
- success: false,
201
- errorMessage: `Failed to activate window: ${error}`
202
- };
203
- }
204
- }
205
- /**
206
- * Maximizes a window.
207
- * Corresponds to Python's maximize_window() method
208
- *
209
- * @param windowId - The ID of the window to maximize.
210
- * @returns BoolResult with success status and requestId
211
- *
212
- * @deprecated Use session.computer.maximizeWindow() instead.
213
- */
214
- async maximizeWindow(windowId) {
215
- console.warn("\u26A0\uFE0F WindowManager.maximizeWindow() is deprecated. Use session.computer.maximizeWindow() instead.");
216
- try {
217
- const args = {
218
- window_id: windowId
219
- };
220
- const response = await this.session.callMcpTool(
221
- "maximize_window",
222
- args
223
- );
224
- if (!response.success) {
225
- return {
226
- requestId: response.requestId,
227
- success: false,
228
- errorMessage: response.errorMessage
229
- };
230
- }
231
- return {
232
- requestId: response.requestId,
233
- success: true,
234
- data: true
235
- };
236
- } catch (error) {
237
- return {
238
- requestId: "",
239
- success: false,
240
- errorMessage: `Failed to maximize window: ${error}`
241
- };
242
- }
243
- }
244
- /**
245
- * Minimizes a window.
246
- * Corresponds to Python's minimize_window() method
247
- *
248
- * @param windowId - The ID of the window to minimize.
249
- * @returns BoolResult with success status and requestId
250
- *
251
- * @deprecated Use session.computer.minimizeWindow() instead.
252
- */
253
- async minimizeWindow(windowId) {
254
- console.warn("\u26A0\uFE0F WindowManager.minimizeWindow() is deprecated. Use session.computer.minimizeWindow() instead.");
255
- try {
256
- const args = {
257
- window_id: windowId
258
- };
259
- const response = await this.session.callMcpTool(
260
- "minimize_window",
261
- args
262
- );
263
- if (!response.success) {
264
- return {
265
- requestId: response.requestId,
266
- success: false,
267
- errorMessage: response.errorMessage
268
- };
269
- }
270
- return {
271
- requestId: response.requestId,
272
- success: true,
273
- data: true
274
- };
275
- } catch (error) {
276
- return {
277
- requestId: "",
278
- success: false,
279
- errorMessage: `Failed to minimize window: ${error}`
280
- };
281
- }
282
- }
283
- /**
284
- * Restores a window by ID.
285
- * Corresponds to Python's restore_window() method
286
- *
287
- * @param windowId The ID of the window to restore.
288
- * @returns BoolResult with requestId
289
- */
290
- async restoreWindow(windowId) {
291
- try {
292
- const args = {
293
- window_id: windowId
294
- };
295
- const response = await this.session.callMcpTool(
296
- "restore_window",
297
- args
298
- );
299
- if (!response.success) {
300
- return {
301
- requestId: response.requestId,
302
- success: false,
303
- errorMessage: response.errorMessage
304
- };
305
- }
306
- return {
307
- requestId: response.requestId,
308
- success: true,
309
- data: true
310
- };
311
- } catch (error) {
312
- return {
313
- requestId: "",
314
- success: false,
315
- errorMessage: `Failed to restore window: ${error}`
316
- };
317
- }
318
- }
319
- /**
320
- * Closes a window.
321
- * Corresponds to Python's close_window() method
322
- *
323
- * @param windowId - The ID of the window to close.
324
- * @returns BoolResult with success status and requestId
325
- *
326
- * @deprecated Use session.computer.closeWindow() instead.
327
- */
328
- async closeWindow(windowId) {
329
- console.warn("\u26A0\uFE0F WindowManager.closeWindow() is deprecated. Use session.computer.closeWindow() instead.");
330
- try {
331
- const args = {
332
- window_id: windowId
333
- };
334
- const response = await this.session.callMcpTool(
335
- "close_window",
336
- args
337
- );
338
- if (!response.success) {
339
- return {
340
- requestId: response.requestId,
341
- success: false,
342
- errorMessage: response.errorMessage
343
- };
344
- }
345
- return {
346
- requestId: response.requestId,
347
- success: true,
348
- data: true
349
- };
350
- } catch (error) {
351
- return {
352
- requestId: "",
353
- success: false,
354
- errorMessage: `Failed to close window: ${error}`
355
- };
356
- }
357
- }
358
- /**
359
- * Sets a window to fullscreen by ID.
360
- * Corresponds to Python's fullscreen_window() method
361
- *
362
- * @param windowId The ID of the window to set to fullscreen.
363
- * @returns BoolResult with requestId
364
- */
365
- async fullscreenWindow(windowId) {
366
- try {
367
- const args = {
368
- window_id: windowId
369
- };
370
- const response = await this.session.callMcpTool(
371
- "fullscreen_window",
372
- args
373
- );
374
- if (!response.success) {
375
- return {
376
- requestId: response.requestId,
377
- success: false,
378
- errorMessage: response.errorMessage
379
- };
380
- }
381
- return {
382
- requestId: response.requestId,
383
- success: true,
384
- data: true
385
- };
386
- } catch (error) {
387
- return {
388
- requestId: "",
389
- success: false,
390
- errorMessage: `Failed to make window fullscreen: ${error}`
391
- };
392
- }
393
- }
394
- /**
395
- * Resizes a window to the specified dimensions.
396
- * Corresponds to Python's resize_window() method
397
- *
398
- * @param windowId - The ID of the window to resize.
399
- * @param width - The new width of the window.
400
- * @param height - The new height of the window.
401
- * @returns BoolResult with success status and requestId
402
- *
403
- * @deprecated Use session.computer.resizeWindow() instead.
404
- */
405
- async resizeWindow(windowId, width, height) {
406
- console.warn("\u26A0\uFE0F WindowManager.resizeWindow() is deprecated. Use session.computer.resizeWindow() instead.");
407
- try {
408
- const args = {
409
- window_id: windowId,
410
- width,
411
- height
412
- };
413
- const response = await this.session.callMcpTool(
414
- "resize_window",
415
- args
416
- );
417
- if (!response.success) {
418
- return {
419
- requestId: response.requestId,
420
- success: false,
421
- errorMessage: response.errorMessage
422
- };
423
- }
424
- return {
425
- requestId: response.requestId,
426
- success: true,
427
- data: true
428
- };
429
- } catch (error) {
430
- return {
431
- requestId: "",
432
- success: false,
433
- errorMessage: `Failed to resize window: ${error}`
434
- };
435
- }
436
- }
437
- /**
438
- * Moves a window to the specified position.
439
- * Corresponds to Python's move_window() method
440
- *
441
- * @param windowId - The ID of the window to move.
442
- * @param x - The new x coordinate of the window.
443
- * @param y - The new y coordinate of the window.
444
- * @returns BoolResult with success status and requestId
445
- *
446
- * @deprecated Use session.computer.moveWindow() instead.
447
- */
448
- async moveWindow(windowId, x, y) {
449
- console.warn("\u26A0\uFE0F WindowManager.moveWindow() is deprecated. Use session.computer.moveWindow() instead.");
450
- try {
451
- const args = {
452
- window_id: windowId,
453
- x,
454
- y
455
- };
456
- const response = await this.session.callMcpTool(
457
- "move_window",
458
- args
459
- );
460
- if (!response.success) {
461
- return {
462
- requestId: response.requestId,
463
- success: false,
464
- errorMessage: response.errorMessage
465
- };
466
- }
467
- return {
468
- requestId: response.requestId,
469
- success: true,
470
- data: true
471
- };
472
- } catch (error) {
473
- return {
474
- requestId: "",
475
- success: false,
476
- errorMessage: `Failed to move window: ${error}`
477
- };
478
- }
479
- }
480
- /**
481
- * Enables or disables focus mode.
482
- * Corresponds to Python's focus_mode() method
483
- *
484
- * @param on Whether to enable focus mode.
485
- * @returns BoolResult with requestId
486
- */
487
- async focusMode(on) {
488
- try {
489
- const args = {
490
- on
491
- };
492
- const response = await this.session.callMcpTool(
493
- "focus_mode",
494
- args
495
- );
496
- if (!response.success) {
497
- return {
498
- requestId: response.requestId,
499
- success: false,
500
- errorMessage: response.errorMessage
501
- };
502
- }
503
- return {
504
- requestId: response.requestId,
505
- success: true,
506
- data: true
507
- };
508
- } catch (error) {
509
- return {
510
- requestId: "",
511
- success: false,
512
- errorMessage: `Failed to toggle focus mode: ${error}`
513
- };
514
- }
515
- }
516
- /**
517
- * Gets the currently active window.
518
- * Corresponds to Python's get_active_window() method
519
- *
520
- * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.
521
- * @returns WindowInfoResult with active window information and requestId
522
- *
523
- * @deprecated Use session.computer.getActiveWindow() instead.
524
- */
525
- async getActiveWindow(timeoutMs = 3e3) {
526
- console.warn("\u26A0\uFE0F WindowManager.getActiveWindow() is deprecated. Use session.computer.getActiveWindow() instead.");
527
- try {
528
- const args = {
529
- timeout_ms: timeoutMs
530
- };
531
- const response = await this.session.callMcpTool(
532
- "get_active_window",
533
- args
534
- );
535
- if (!response.success) {
536
- return {
537
- requestId: response.requestId,
538
- success: false,
539
- errorMessage: response.errorMessage
540
- };
541
- }
542
- let activeWindow = void 0;
543
- if (response.data) {
544
- const windows = this.parseWindowsFromJSON(response.data);
545
- activeWindow = windows.length > 0 ? windows[0] : void 0;
546
- }
547
- return {
548
- requestId: response.requestId,
549
- success: true,
550
- window: activeWindow
551
- };
552
- } catch (error) {
553
- return {
554
- requestId: "",
555
- success: false,
556
- errorMessage: `Failed to get active window: ${error}`
557
- };
558
- }
559
- }
560
- };
561
- __name(_WindowManager, "WindowManager");
562
- var WindowManager = _WindowManager;
563
-
564
- export {
565
- WindowManager
566
- };
567
- //# sourceMappingURL=chunk-UF2TC2R4.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/window/window.ts"],"sourcesContent":["\nimport {\n WindowListResult,\n WindowInfoResult,\n BoolResult,\n} from \"../types/api-response\";\n\n\n\n/**\n * Represents a window in the system.\n */\nexport interface Window {\n window_id: number;\n title: string;\n absolute_upper_left_x?: number;\n absolute_upper_left_y?: number;\n width?: number;\n height?: number;\n pid?: number;\n pname?: string;\n child_windows?: Window[];\n}\n\n/**\n * Handles window management operations in the AgentBay cloud environment.\n * \n * @deprecated This module is deprecated. Use Computer module instead.\n * - For desktop window operations, use session.computer\n * - Window operations are not available for mobile\n */\nexport class WindowManager {\n private session: {\n getAPIKey(): string;\n getSessionId(): string;\n callMcpTool(toolName: string, args: any): Promise<{\n success: boolean;\n data: string;\n errorMessage: string;\n requestId: string;\n }>;\n };\n\n /**\n * Creates a new WindowManager instance.\n * @param session The session object that provides access to the AgentBay API.\n */\n constructor(session: {\n getAPIKey(): string;\n getSessionId(): string;\n callMcpTool(toolName: string, args: any): Promise<{\n success: boolean;\n data: string;\n errorMessage: string;\n requestId: string;\n }>;\n }) {\n this.session = session;\n }\n\n\n\n /**\n * Helper method to parse JSON string into Window objects\n * @param jsonStr - JSON string to parse\n * @returns Array of Window objects or single Window object\n */\n private parseWindowsFromJSON(jsonStr: string): Window[] {\n try {\n const parsed = JSON.parse(jsonStr);\n return Array.isArray(parsed) ? parsed : [parsed];\n } catch (error) {\n throw new Error(`Failed to parse window data: ${error}`);\n }\n }\n\n /**\n * Lists all root windows in the system.\n * Corresponds to Python's list_root_windows() method\n *\n * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.\n * @returns WindowListResult with windows array and requestId\n * \n * @deprecated Use session.computer.listRootWindows() instead.\n */\n async listRootWindows(timeoutMs = 3000): Promise<WindowListResult> {\n console.warn('⚠️ WindowManager.listRootWindows() is deprecated. Use session.computer.listRootWindows() instead.');\n \n try {\n const args = {\n timeout_ms: timeoutMs,\n };\n\n const response = await this.session.callMcpTool(\n \"list_root_windows\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n windows: [],\n errorMessage: response.errorMessage,\n };\n }\n\n const windows = response.data\n ? this.parseWindowsFromJSON(response.data)\n : [];\n\n return {\n requestId: response.requestId,\n success: true,\n windows,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n windows: [],\n errorMessage: `Failed to list root windows: ${error}`,\n };\n }\n }\n\n /**\n * Lists all windows in the system.\n * Corresponds to Python's list_all_windows() method\n *\n * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.\n * @returns WindowListResult with windows array and requestId\n * \n * @deprecated Use session.computer.listAllWindows() instead.\n */\n async listAllWindows(timeoutMs = 3000): Promise<WindowListResult> {\n console.warn('⚠️ WindowManager.listAllWindows() is deprecated. Use session.computer.listAllWindows() instead.');\n \n try {\n const args = {\n timeout_ms: timeoutMs,\n };\n\n const response = await this.session.callMcpTool(\n \"list_all_windows\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n windows: [],\n errorMessage: response.errorMessage,\n };\n }\n\n const windows = response.data\n ? this.parseWindowsFromJSON(response.data)\n : [];\n\n return {\n requestId: response.requestId,\n success: true,\n windows,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n windows: [],\n errorMessage: `Failed to list all windows: ${error}`,\n };\n }\n }\n\n /**\n * Gets information about a specific window.\n * Corresponds to Python's get_window_info() method\n *\n * @param windowId - The ID of the window to get information for.\n * @returns WindowInfoResult with window information and requestId\n * \n * @deprecated Use session.computer.getWindowInfo() instead.\n */\n async getWindowInfo(windowId: number): Promise<WindowInfoResult> {\n console.warn('⚠️ WindowManager.getWindowInfo() is deprecated. Use session.computer.getWindowInfo() instead.');\n \n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"get_window_info\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n let window: Window | undefined = undefined;\n if (response.data) {\n const windows = this.parseWindowsFromJSON(response.data);\n window = windows.length > 0 ? windows[0] : undefined;\n }\n\n return {\n requestId: response.requestId,\n success: true,\n window,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to get window info: ${error}`,\n };\n }\n }\n\n /**\n * Activates a window by bringing it to the foreground.\n * Corresponds to Python's activate_window() method\n *\n * @param windowId - The ID of the window to activate.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.activateWindow() instead.\n */\n async activateWindow(windowId: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.activateWindow() is deprecated. Use session.computer.activateWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"activate_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to activate window: ${error}`,\n };\n }\n }\n\n /**\n * Maximizes a window.\n * Corresponds to Python's maximize_window() method\n *\n * @param windowId - The ID of the window to maximize.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.maximizeWindow() instead.\n */\n async maximizeWindow(windowId: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.maximizeWindow() is deprecated. Use session.computer.maximizeWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"maximize_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to maximize window: ${error}`,\n };\n }\n }\n\n /**\n * Minimizes a window.\n * Corresponds to Python's minimize_window() method\n *\n * @param windowId - The ID of the window to minimize.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.minimizeWindow() instead.\n */\n async minimizeWindow(windowId: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.minimizeWindow() is deprecated. Use session.computer.minimizeWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"minimize_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to minimize window: ${error}`,\n };\n }\n }\n\n /**\n * Restores a window by ID.\n * Corresponds to Python's restore_window() method\n *\n * @param windowId The ID of the window to restore.\n * @returns BoolResult with requestId\n */\n async restoreWindow(windowId: number): Promise<BoolResult> {\n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"restore_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to restore window: ${error}`,\n };\n }\n }\n\n /**\n * Closes a window.\n * Corresponds to Python's close_window() method\n *\n * @param windowId - The ID of the window to close.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.closeWindow() instead.\n */\n async closeWindow(windowId: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.closeWindow() is deprecated. Use session.computer.closeWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"close_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to close window: ${error}`,\n };\n }\n }\n\n /**\n * Sets a window to fullscreen by ID.\n * Corresponds to Python's fullscreen_window() method\n *\n * @param windowId The ID of the window to set to fullscreen.\n * @returns BoolResult with requestId\n */\n async fullscreenWindow(windowId: number): Promise<BoolResult> {\n try {\n const args = {\n window_id: windowId,\n };\n\n const response = await this.session.callMcpTool(\n \"fullscreen_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to make window fullscreen: ${error}`,\n };\n }\n }\n\n /**\n * Resizes a window to the specified dimensions.\n * Corresponds to Python's resize_window() method\n *\n * @param windowId - The ID of the window to resize.\n * @param width - The new width of the window.\n * @param height - The new height of the window.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.resizeWindow() instead.\n */\n async resizeWindow(windowId: number, width: number, height: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.resizeWindow() is deprecated. Use session.computer.resizeWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n width,\n height,\n };\n\n const response = await this.session.callMcpTool(\n \"resize_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to resize window: ${error}`,\n };\n }\n }\n\n /**\n * Moves a window to the specified position.\n * Corresponds to Python's move_window() method\n *\n * @param windowId - The ID of the window to move.\n * @param x - The new x coordinate of the window.\n * @param y - The new y coordinate of the window.\n * @returns BoolResult with success status and requestId\n * \n * @deprecated Use session.computer.moveWindow() instead.\n */\n async moveWindow(windowId: number, x: number, y: number): Promise<BoolResult> {\n console.warn('⚠️ WindowManager.moveWindow() is deprecated. Use session.computer.moveWindow() instead.');\n \n try {\n const args = {\n window_id: windowId,\n x,\n y,\n };\n\n const response = await this.session.callMcpTool(\n \"move_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to move window: ${error}`,\n };\n }\n }\n\n /**\n * Enables or disables focus mode.\n * Corresponds to Python's focus_mode() method\n *\n * @param on Whether to enable focus mode.\n * @returns BoolResult with requestId\n */\n async focusMode(on: boolean): Promise<BoolResult> {\n try {\n const args = {\n on,\n };\n\n const response = await this.session.callMcpTool(\n \"focus_mode\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n return {\n requestId: response.requestId,\n success: true,\n data: true,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to toggle focus mode: ${error}`,\n };\n }\n }\n\n /**\n * Gets the currently active window.\n * Corresponds to Python's get_active_window() method\n *\n * @param timeoutMs - The timeout in milliseconds. Default is 3000ms.\n * @returns WindowInfoResult with active window information and requestId\n * \n * @deprecated Use session.computer.getActiveWindow() instead.\n */\n async getActiveWindow(timeoutMs = 3000): Promise<WindowInfoResult> {\n console.warn('⚠️ WindowManager.getActiveWindow() is deprecated. Use session.computer.getActiveWindow() instead.');\n \n try {\n const args = {\n timeout_ms: timeoutMs,\n };\n\n const response = await this.session.callMcpTool(\n \"get_active_window\",\n args\n );\n\n if (!response.success) {\n return {\n requestId: response.requestId,\n success: false,\n errorMessage: response.errorMessage,\n };\n }\n\n let activeWindow: Window | undefined = undefined;\n if (response.data) {\n const windows = this.parseWindowsFromJSON(response.data);\n activeWindow = windows.length > 0 ? windows[0] : undefined;\n }\n\n return {\n requestId: response.requestId,\n success: true,\n window: activeWindow,\n };\n } catch (error) {\n return {\n requestId: \"\",\n success: false,\n errorMessage: `Failed to get active window: ${error}`,\n };\n }\n }\n}\n"],"mappings":"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","names":[]}