wuying-agentbay-sdk 0.1.0 → 0.3.3

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 (176) hide show
  1. package/README.md +124 -61
  2. package/dist/index.cjs +7848 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.mts +3174 -0
  5. package/dist/index.d.ts +3174 -0
  6. package/dist/index.mjs +7864 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +86 -48
  9. package/dist/src/adb/adb.d.ts +0 -20
  10. package/dist/src/adb/adb.js +0 -57
  11. package/dist/src/adb/index.d.ts +0 -1
  12. package/dist/src/adb/index.js +0 -17
  13. package/dist/src/agent-bay.d.ts +0 -68
  14. package/dist/src/agent-bay.js +0 -213
  15. package/dist/src/api/client.d.ts +0 -191
  16. package/dist/src/api/client.js +0 -629
  17. package/dist/src/api/index.d.ts +0 -4
  18. package/dist/src/api/index.js +0 -26
  19. package/dist/src/api/models/CallMcpToolRequest.d.ts +0 -21
  20. package/dist/src/api/models/CallMcpToolRequest.js +0 -71
  21. package/dist/src/api/models/CallMcpToolResponse.d.ts +0 -19
  22. package/dist/src/api/models/CallMcpToolResponse.js +0 -68
  23. package/dist/src/api/models/CallMcpToolResponseBody.d.ts +0 -19
  24. package/dist/src/api/models/CallMcpToolResponseBody.js +0 -67
  25. package/dist/src/api/models/CreateMcpSessionRequest.d.ts +0 -19
  26. package/dist/src/api/models/CreateMcpSessionRequest.js +0 -67
  27. package/dist/src/api/models/CreateMcpSessionResponse.d.ts +0 -19
  28. package/dist/src/api/models/CreateMcpSessionResponse.js +0 -68
  29. package/dist/src/api/models/CreateMcpSessionResponseBody.d.ts +0 -20
  30. package/dist/src/api/models/CreateMcpSessionResponseBody.js +0 -71
  31. package/dist/src/api/models/CreateMcpSessionResponseBodyData.d.ts +0 -19
  32. package/dist/src/api/models/CreateMcpSessionResponseBodyData.js +0 -67
  33. package/dist/src/api/models/DeleteContextRequest.d.ts +0 -15
  34. package/dist/src/api/models/DeleteContextRequest.js +0 -59
  35. package/dist/src/api/models/DeleteContextResponse.d.ts +0 -19
  36. package/dist/src/api/models/DeleteContextResponse.js +0 -68
  37. package/dist/src/api/models/DeleteContextResponseBody.d.ts +0 -18
  38. package/dist/src/api/models/DeleteContextResponseBody.js +0 -65
  39. package/dist/src/api/models/GetContextRequest.d.ts +0 -16
  40. package/dist/src/api/models/GetContextRequest.js +0 -61
  41. package/dist/src/api/models/GetContextResponse.d.ts +0 -19
  42. package/dist/src/api/models/GetContextResponse.js +0 -68
  43. package/dist/src/api/models/GetContextResponseBody.d.ts +0 -20
  44. package/dist/src/api/models/GetContextResponseBody.js +0 -71
  45. package/dist/src/api/models/GetContextResponseBodyData.d.ts +0 -19
  46. package/dist/src/api/models/GetContextResponseBodyData.js +0 -67
  47. package/dist/src/api/models/GetLabelRequest.d.ts +0 -17
  48. package/dist/src/api/models/GetLabelRequest.js +0 -63
  49. package/dist/src/api/models/GetLabelResponse.d.ts +0 -19
  50. package/dist/src/api/models/GetLabelResponse.js +0 -68
  51. package/dist/src/api/models/GetLabelResponseBody.d.ts +0 -23
  52. package/dist/src/api/models/GetLabelResponseBody.js +0 -77
  53. package/dist/src/api/models/GetLabelResponseBodyData.d.ts +0 -14
  54. package/dist/src/api/models/GetLabelResponseBodyData.js +0 -57
  55. package/dist/src/api/models/GetLinkRequest.d.ts +0 -15
  56. package/dist/src/api/models/GetLinkRequest.js +0 -59
  57. package/dist/src/api/models/GetLinkResponse.d.ts +0 -19
  58. package/dist/src/api/models/GetLinkResponse.js +0 -68
  59. package/dist/src/api/models/GetLinkResponseBody.d.ts +0 -19
  60. package/dist/src/api/models/GetLinkResponseBody.js +0 -67
  61. package/dist/src/api/models/GetMcpResourceRequest.d.ts +0 -15
  62. package/dist/src/api/models/GetMcpResourceRequest.js +0 -59
  63. package/dist/src/api/models/GetMcpResourceResponse.d.ts +0 -19
  64. package/dist/src/api/models/GetMcpResourceResponse.js +0 -68
  65. package/dist/src/api/models/GetMcpResourceResponseBody.d.ts +0 -20
  66. package/dist/src/api/models/GetMcpResourceResponseBody.js +0 -71
  67. package/dist/src/api/models/GetMcpResourceResponseBodyData.d.ts +0 -17
  68. package/dist/src/api/models/GetMcpResourceResponseBodyData.js +0 -65
  69. package/dist/src/api/models/GetMcpResourceResponseBodyDataDesktopInfo.d.ts +0 -18
  70. package/dist/src/api/models/GetMcpResourceResponseBodyDataDesktopInfo.js +0 -65
  71. package/dist/src/api/models/ListContextsRequest.d.ts +0 -16
  72. package/dist/src/api/models/ListContextsRequest.js +0 -61
  73. package/dist/src/api/models/ListContextsResponse.d.ts +0 -19
  74. package/dist/src/api/models/ListContextsResponse.js +0 -68
  75. package/dist/src/api/models/ListContextsResponseBody.d.ts +0 -23
  76. package/dist/src/api/models/ListContextsResponseBody.js +0 -77
  77. package/dist/src/api/models/ListContextsResponseBodyData.d.ts +0 -19
  78. package/dist/src/api/models/ListContextsResponseBodyData.js +0 -67
  79. package/dist/src/api/models/ListSessionRequest.d.ts +0 -17
  80. package/dist/src/api/models/ListSessionRequest.js +0 -63
  81. package/dist/src/api/models/ListSessionResponse.d.ts +0 -19
  82. package/dist/src/api/models/ListSessionResponse.js +0 -68
  83. package/dist/src/api/models/ListSessionResponseBody.d.ts +0 -23
  84. package/dist/src/api/models/ListSessionResponseBody.js +0 -77
  85. package/dist/src/api/models/ListSessionResponseBodyData.d.ts +0 -14
  86. package/dist/src/api/models/ListSessionResponseBodyData.js +0 -57
  87. package/dist/src/api/models/ModifyContextRequest.d.ts +0 -16
  88. package/dist/src/api/models/ModifyContextRequest.js +0 -61
  89. package/dist/src/api/models/ModifyContextResponse.d.ts +0 -19
  90. package/dist/src/api/models/ModifyContextResponse.js +0 -68
  91. package/dist/src/api/models/ModifyContextResponseBody.d.ts +0 -18
  92. package/dist/src/api/models/ModifyContextResponseBody.js +0 -65
  93. package/dist/src/api/models/ReleaseMcpSessionRequest.d.ts +0 -15
  94. package/dist/src/api/models/ReleaseMcpSessionRequest.js +0 -59
  95. package/dist/src/api/models/ReleaseMcpSessionResponse.d.ts +0 -19
  96. package/dist/src/api/models/ReleaseMcpSessionResponse.js +0 -68
  97. package/dist/src/api/models/ReleaseMcpSessionResponseBody.d.ts +0 -18
  98. package/dist/src/api/models/ReleaseMcpSessionResponseBody.js +0 -65
  99. package/dist/src/api/models/SetLabelRequest.d.ts +0 -16
  100. package/dist/src/api/models/SetLabelRequest.js +0 -61
  101. package/dist/src/api/models/SetLabelResponse.d.ts +0 -19
  102. package/dist/src/api/models/SetLabelResponse.js +0 -68
  103. package/dist/src/api/models/SetLabelResponseBody.d.ts +0 -18
  104. package/dist/src/api/models/SetLabelResponseBody.js +0 -65
  105. package/dist/src/api/models/model.d.ts +0 -43
  106. package/dist/src/api/models/model.js +0 -89
  107. package/dist/src/application/application.d.ts +0 -88
  108. package/dist/src/application/application.js +0 -172
  109. package/dist/src/application/index.d.ts +0 -1
  110. package/dist/src/application/index.js +0 -17
  111. package/dist/src/command/command.d.ts +0 -43
  112. package/dist/src/command/command.js +0 -120
  113. package/dist/src/command/index.d.ts +0 -1
  114. package/dist/src/command/index.js +0 -17
  115. package/dist/src/config.d.ts +0 -15
  116. package/dist/src/config.js +0 -114
  117. package/dist/src/context.d.ts +0 -87
  118. package/dist/src/context.js +0 -208
  119. package/dist/src/exceptions.d.ts +0 -30
  120. package/dist/src/exceptions.js +0 -58
  121. package/dist/src/filesystem/filesystem.d.ts +0 -109
  122. package/dist/src/filesystem/filesystem.js +0 -245
  123. package/dist/src/filesystem/index.d.ts +0 -1
  124. package/dist/src/filesystem/index.js +0 -17
  125. package/dist/src/index.d.ts +0 -10
  126. package/dist/src/index.js +0 -32
  127. package/dist/src/oss/index.d.ts +0 -1
  128. package/dist/src/oss/index.js +0 -5
  129. package/dist/src/oss/oss.d.ts +0 -80
  130. package/dist/src/oss/oss.js +0 -233
  131. package/dist/src/session.d.ts +0 -99
  132. package/dist/src/session.js +0 -226
  133. package/dist/src/ui/index.d.ts +0 -1
  134. package/dist/src/ui/index.js +0 -17
  135. package/dist/src/ui/ui.d.ts +0 -95
  136. package/dist/src/ui/ui.js +0 -206
  137. package/dist/src/utils/logger.d.ts +0 -15
  138. package/dist/src/utils/logger.js +0 -48
  139. package/dist/src/window/index.d.ts +0 -1
  140. package/dist/src/window/index.js +0 -17
  141. package/dist/src/window/window.d.ts +0 -109
  142. package/dist/src/window/window.js +0 -220
  143. package/dist/tests/agent-bay.test.d.ts +0 -1
  144. package/dist/tests/agent-bay.test.js +0 -366
  145. package/dist/tests/integration/context-persistence.test.d.ts +0 -1
  146. package/dist/tests/integration/context-persistence.test.js +0 -226
  147. package/dist/tests/integration/context-session.test.d.ts +0 -1
  148. package/dist/tests/integration/context-session.test.js +0 -223
  149. package/dist/tests/integration/window-operations.test.d.ts +0 -1
  150. package/dist/tests/integration/window-operations.test.js +0 -228
  151. package/dist/tests/unit/adb.test.d.ts +0 -1
  152. package/dist/tests/unit/adb.test.js +0 -60
  153. package/dist/tests/unit/agent-bay.test.d.ts +0 -1
  154. package/dist/tests/unit/agent-bay.test.js +0 -182
  155. package/dist/tests/unit/application.test.d.ts +0 -1
  156. package/dist/tests/unit/application.test.js +0 -260
  157. package/dist/tests/unit/command.test.d.ts +0 -1
  158. package/dist/tests/unit/command.test.js +0 -252
  159. package/dist/tests/unit/context.test.d.ts +0 -1
  160. package/dist/tests/unit/context.test.js +0 -199
  161. package/dist/tests/unit/filesystem.test.d.ts +0 -1
  162. package/dist/tests/unit/filesystem.test.js +0 -493
  163. package/dist/tests/unit/oss.test.d.ts +0 -1
  164. package/dist/tests/unit/oss.test.js +0 -243
  165. package/dist/tests/unit/session-labels.test.d.ts +0 -1
  166. package/dist/tests/unit/session-labels.test.js +0 -138
  167. package/dist/tests/unit/session-params.test.d.ts +0 -1
  168. package/dist/tests/unit/session-params.test.js +0 -78
  169. package/dist/tests/unit/session.test.d.ts +0 -1
  170. package/dist/tests/unit/session.test.js +0 -204
  171. package/dist/tests/unit/ui.test.d.ts +0 -1
  172. package/dist/tests/unit/ui.test.js +0 -158
  173. package/dist/tests/unit/window.test.d.ts +0 -1
  174. package/dist/tests/unit/window.test.js +0 -331
  175. package/dist/tests/utils/test-helpers.d.ts +0 -35
  176. package/dist/tests/utils/test-helpers.js +0 -79
package/README.md CHANGED
@@ -42,81 +42,144 @@ npm install wuying-agentbay-sdk
42
42
  npm run lint
43
43
  ```
44
44
 
45
- - **Format the code**:
46
- ```bash
47
- npm run format
48
- ```
45
+ ## Examples
46
+
47
+ You can find examples in the `docs/examples/typescript` directory, including:
49
48
 
50
- ## Running Examples
49
+ - Basic SDK usage
50
+ - Context management
51
+ - Command execution
52
+ - File system operations
53
+ - UI interaction
54
+ - Application management
55
+ - Window management
56
+ - Session management
51
57
 
52
- You can run the example file using ts-node:
58
+ To run the examples:
53
59
 
54
60
  ```bash
55
- npx ts-node examples/basic-usage.ts
61
+ npx ts-node docs/examples/typescript/basic-usage.ts
56
62
  ```
57
63
 
58
64
  ## TypeScript-Specific Usage
59
65
 
60
66
  ```typescript
61
- import { AgentBay } from 'wuying-agentbay-sdk';
67
+ import { AgentBay, ListSessionParams } from 'wuying-agentbay-sdk';
62
68
 
63
69
  async function main() {
64
70
  // Initialize with API key
65
71
  const agentBay = new AgentBay({ apiKey: 'your_api_key' });
72
+
73
+ // Create a session with optional parameters
74
+ const createResponse = await agentBay.create({
75
+ imageId: 'linux_latest', // Optional: specify the image to use
76
+ contextId: 'your_context_id', // Optional: bind to an existing context
77
+ labels: {
78
+ purpose: 'demo',
79
+ environment: 'development'
80
+ }
81
+ });
82
+ const session = createResponse.session;
83
+
84
+ // Execute a command
85
+ const commandResponse = await session.command.executeCommand('ls -la');
86
+
87
+ // Run code
88
+ const codeResponse = await session.code.runCode('print("Hello World")', 'python');
89
+
90
+ // File operations
91
+ const fileContent = await session.fileSystem.readFile('/etc/hosts');
92
+ await session.fileSystem.writeFile('/tmp/test.txt', 'Hello World');
93
+
94
+ // UI operations
95
+ const screenshot = await session.ui.screenshot();
96
+
97
+ // Application management
98
+ const installedApps = await session.application.getInstalledApps(true, false, true);
99
+ const visibleApps = await session.application.listVisibleApps();
66
100
 
67
- try {
68
- // Create a session with labels
69
- const session = await agentBay.create({
70
- labels: {
71
- purpose: 'demo',
72
- environment: 'development'
73
- }
74
- });
75
- log(`Session created with ID: ${session.sessionId}`);
76
-
77
- // Execute a command
78
- const result = await session.command.executeCommand('ls -la');
79
- log(`Command result: ${result}`);
80
-
81
- // Read a file
82
- const content = await session.filesystem.readFile('/path/to/file.txt');
83
- log(`File content: ${content}`);
84
-
85
- // Get installed applications
86
- const apps = await session.application.getInstalledApps(true, false, true);
87
- log(`Found ${apps.length} installed applications`);
88
-
89
- // List visible applications
90
- const processes = await session.application.listVisibleApps();
91
- log(`Found ${processes.length} visible applications`);
92
-
93
- // List root windows
94
- const windows = await session.window.listRootWindows();
95
- log(`Found ${windows.length} root windows`);
96
-
97
- // Get active window
98
- const activeWindow = await session.window.getActiveWindow();
99
- log(`Active window: ${activeWindow.title}`);
100
-
101
- // Get session labels
102
- const labels = await session.getLabels();
103
- log(`Session labels: ${JSON.stringify(labels)}`);
104
-
105
- // List sessions by labels
106
- const filteredSessions = await agentBay.listByLabels({
107
- purpose: 'demo'
108
- });
109
- log(`Found ${filteredSessions.length} matching sessions`);
110
-
111
- // Clean up
112
- await agentBay.delete(session);
113
- log('Session deleted successfully');
114
- } catch (error) {
115
- logError('Error:', error);
116
- }
101
+ // Window management
102
+ const windows = await session.window.listRootWindows();
103
+ const activeWindow = await session.window.getActiveWindow();
104
+
105
+ // Session management
106
+ await session.setLabels({ environment: 'production' });
107
+ const labels = await session.getLabels();
108
+ const info = await session.info();
109
+
110
+ // Context management
111
+ const contexts = await agentBay.context.list();
112
+
113
+ // Clean up
114
+ await agentBay.delete(session);
117
115
  }
118
-
119
- main();
120
116
  ```
121
117
 
122
- For more detailed documentation, please refer to the main [README](../README.md) and [SDK Documentation](../docs/README.md) in the project root.
118
+ ## Key Features
119
+
120
+ ### Session Management
121
+
122
+ - Create sessions with optional parameters (imageId, contextId, labels)
123
+ - List sessions with pagination and filtering by labels
124
+ - Delete sessions and clean up resources
125
+ - Manage session labels
126
+ - Get session information and links
127
+
128
+ ### Command Execution
129
+
130
+ - Execute shell commands
131
+ - Run code in various languages
132
+ - Get command output and execution status
133
+
134
+ ### File System Operations
135
+
136
+ - Read and write files
137
+ - List directory contents
138
+ - Create and delete files and directories
139
+ - Get file information
140
+
141
+ ### UI Interaction
142
+
143
+ - Take screenshots
144
+ - Find UI elements by criteria
145
+ - Click on UI elements
146
+ - Send text input
147
+ - Perform swipe gestures
148
+ - Send key events
149
+
150
+ ### Application Management
151
+
152
+ - Get installed applications
153
+ - List running applications
154
+ - Start and stop applications
155
+ - Get application information
156
+
157
+ ### Window Management
158
+
159
+ - List windows
160
+ - Get active window
161
+ - Focus, resize, and move windows
162
+ - Get window properties
163
+
164
+ ### Context Management
165
+
166
+ - Create, list, and delete contexts
167
+ - Bind sessions to contexts
168
+ - Synchronize context data
169
+ - Get context information
170
+
171
+ ### OSS Integration
172
+
173
+ - Upload files to OSS
174
+ - Download files from OSS
175
+ - Initialize OSS environment
176
+
177
+ ## Response Format
178
+
179
+ All API methods return responses that include:
180
+
181
+ - `requestId`: A unique identifier for the request
182
+ - `success`: A boolean indicating whether the operation was successful
183
+ - Operation-specific data (varies by method)
184
+
185
+ For more detailed documentation, refer to the [SDK Documentation](../docs/README.md).