bedrock-agentcore 0.0.1 → 0.2.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 (192) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +131 -9
  3. package/dist/src/_utils/endpoints.d.ts +28 -0
  4. package/dist/src/_utils/endpoints.d.ts.map +1 -0
  5. package/dist/src/_utils/endpoints.js +44 -0
  6. package/dist/src/_utils/endpoints.js.map +1 -0
  7. package/dist/src/identity/client.d.ts +40 -0
  8. package/dist/src/identity/client.d.ts.map +1 -0
  9. package/dist/src/identity/client.js +109 -0
  10. package/dist/src/identity/client.js.map +1 -0
  11. package/dist/src/identity/index.d.ts +22 -0
  12. package/dist/src/identity/index.d.ts.map +1 -0
  13. package/dist/src/identity/index.js +24 -0
  14. package/dist/src/identity/index.js.map +1 -0
  15. package/dist/src/identity/types.d.ts +82 -0
  16. package/dist/src/identity/types.d.ts.map +1 -0
  17. package/dist/src/identity/types.js +5 -0
  18. package/dist/src/identity/types.js.map +1 -0
  19. package/dist/src/identity/wrappers.d.ts +54 -0
  20. package/dist/src/identity/wrappers.d.ts.map +1 -0
  21. package/dist/src/identity/wrappers.js +95 -0
  22. package/dist/src/identity/wrappers.js.map +1 -0
  23. package/dist/src/runtime/app.d.ts +144 -0
  24. package/dist/src/runtime/app.d.ts.map +1 -0
  25. package/dist/src/runtime/app.js +485 -0
  26. package/dist/src/runtime/app.js.map +1 -0
  27. package/dist/src/runtime/client.d.ts +154 -0
  28. package/dist/src/runtime/client.d.ts.map +1 -0
  29. package/dist/src/runtime/client.js +319 -0
  30. package/dist/src/runtime/client.js.map +1 -0
  31. package/dist/src/runtime/context.d.ts +33 -0
  32. package/dist/src/runtime/context.d.ts.map +1 -0
  33. package/dist/src/runtime/context.js +49 -0
  34. package/dist/src/runtime/context.js.map +1 -0
  35. package/dist/src/runtime/index.d.ts +8 -0
  36. package/dist/src/runtime/index.d.ts.map +1 -0
  37. package/dist/src/runtime/index.js +7 -0
  38. package/dist/src/runtime/index.js.map +1 -0
  39. package/dist/src/runtime/types.d.ts +429 -0
  40. package/dist/src/runtime/types.d.ts.map +1 -0
  41. package/dist/src/runtime/types.js +26 -0
  42. package/dist/src/runtime/types.js.map +1 -0
  43. package/dist/src/tools/browser/client.d.ts +125 -0
  44. package/dist/src/tools/browser/client.d.ts.map +1 -0
  45. package/dist/src/tools/browser/client.js +320 -0
  46. package/dist/src/tools/browser/client.js.map +1 -0
  47. package/dist/src/tools/browser/index.d.ts +4 -0
  48. package/dist/src/tools/browser/index.d.ts.map +1 -0
  49. package/dist/src/tools/browser/index.js +3 -0
  50. package/dist/src/tools/browser/index.js.map +1 -0
  51. package/dist/src/tools/browser/integrations/playwright/client.d.ts +147 -0
  52. package/dist/src/tools/browser/integrations/playwright/client.d.ts.map +1 -0
  53. package/dist/src/tools/browser/integrations/playwright/client.js +324 -0
  54. package/dist/src/tools/browser/integrations/playwright/client.js.map +1 -0
  55. package/dist/src/tools/browser/integrations/playwright/index.d.ts +20 -0
  56. package/dist/src/tools/browser/integrations/playwright/index.d.ts.map +1 -0
  57. package/dist/src/tools/browser/integrations/playwright/index.js +19 -0
  58. package/dist/src/tools/browser/integrations/playwright/index.js.map +1 -0
  59. package/dist/src/tools/browser/integrations/playwright/types.d.ts +169 -0
  60. package/dist/src/tools/browser/integrations/playwright/types.d.ts.map +1 -0
  61. package/dist/src/tools/browser/integrations/playwright/types.js +2 -0
  62. package/dist/src/tools/browser/integrations/playwright/types.js.map +1 -0
  63. package/dist/src/tools/browser/integrations/strands/click-tool.d.ts +20 -0
  64. package/dist/src/tools/browser/integrations/strands/click-tool.d.ts.map +1 -0
  65. package/dist/src/tools/browser/integrations/strands/click-tool.js +33 -0
  66. package/dist/src/tools/browser/integrations/strands/click-tool.js.map +1 -0
  67. package/dist/src/tools/browser/integrations/strands/evaluate-tool.d.ts +20 -0
  68. package/dist/src/tools/browser/integrations/strands/evaluate-tool.d.ts.map +1 -0
  69. package/dist/src/tools/browser/integrations/strands/evaluate-tool.js +34 -0
  70. package/dist/src/tools/browser/integrations/strands/evaluate-tool.js.map +1 -0
  71. package/dist/src/tools/browser/integrations/strands/get-html-tool.d.ts +19 -0
  72. package/dist/src/tools/browser/integrations/strands/get-html-tool.d.ts.map +1 -0
  73. package/dist/src/tools/browser/integrations/strands/get-html-tool.js +32 -0
  74. package/dist/src/tools/browser/integrations/strands/get-html-tool.js.map +1 -0
  75. package/dist/src/tools/browser/integrations/strands/get-text-tool.d.ts +19 -0
  76. package/dist/src/tools/browser/integrations/strands/get-text-tool.d.ts.map +1 -0
  77. package/dist/src/tools/browser/integrations/strands/get-text-tool.js +32 -0
  78. package/dist/src/tools/browser/integrations/strands/get-text-tool.js.map +1 -0
  79. package/dist/src/tools/browser/integrations/strands/index.d.ts +25 -0
  80. package/dist/src/tools/browser/integrations/strands/index.d.ts.map +1 -0
  81. package/dist/src/tools/browser/integrations/strands/index.js +25 -0
  82. package/dist/src/tools/browser/integrations/strands/index.js.map +1 -0
  83. package/dist/src/tools/browser/integrations/strands/navigate-tool.d.ts +21 -0
  84. package/dist/src/tools/browser/integrations/strands/navigate-tool.d.ts.map +1 -0
  85. package/dist/src/tools/browser/integrations/strands/navigate-tool.js +41 -0
  86. package/dist/src/tools/browser/integrations/strands/navigate-tool.js.map +1 -0
  87. package/dist/src/tools/browser/integrations/strands/screenshot-tool.d.ts +29 -0
  88. package/dist/src/tools/browser/integrations/strands/screenshot-tool.d.ts.map +1 -0
  89. package/dist/src/tools/browser/integrations/strands/screenshot-tool.js +52 -0
  90. package/dist/src/tools/browser/integrations/strands/screenshot-tool.js.map +1 -0
  91. package/dist/src/tools/browser/integrations/strands/tools.d.ts +119 -0
  92. package/dist/src/tools/browser/integrations/strands/tools.d.ts.map +1 -0
  93. package/dist/src/tools/browser/integrations/strands/tools.js +141 -0
  94. package/dist/src/tools/browser/integrations/strands/tools.js.map +1 -0
  95. package/dist/src/tools/browser/integrations/strands/type-tool.d.ts +22 -0
  96. package/dist/src/tools/browser/integrations/strands/type-tool.d.ts.map +1 -0
  97. package/dist/src/tools/browser/integrations/strands/type-tool.js +37 -0
  98. package/dist/src/tools/browser/integrations/strands/type-tool.js.map +1 -0
  99. package/dist/src/tools/browser/integrations/vercel-ai/click-tool.d.ts +18 -0
  100. package/dist/src/tools/browser/integrations/vercel-ai/click-tool.d.ts.map +1 -0
  101. package/dist/src/tools/browser/integrations/vercel-ai/click-tool.js +31 -0
  102. package/dist/src/tools/browser/integrations/vercel-ai/click-tool.js.map +1 -0
  103. package/dist/src/tools/browser/integrations/vercel-ai/evaluate-tool.d.ts +18 -0
  104. package/dist/src/tools/browser/integrations/vercel-ai/evaluate-tool.d.ts.map +1 -0
  105. package/dist/src/tools/browser/integrations/vercel-ai/evaluate-tool.js +32 -0
  106. package/dist/src/tools/browser/integrations/vercel-ai/evaluate-tool.js.map +1 -0
  107. package/dist/src/tools/browser/integrations/vercel-ai/get-html-tool.d.ts +17 -0
  108. package/dist/src/tools/browser/integrations/vercel-ai/get-html-tool.d.ts.map +1 -0
  109. package/dist/src/tools/browser/integrations/vercel-ai/get-html-tool.js +30 -0
  110. package/dist/src/tools/browser/integrations/vercel-ai/get-html-tool.js.map +1 -0
  111. package/dist/src/tools/browser/integrations/vercel-ai/get-text-tool.d.ts +17 -0
  112. package/dist/src/tools/browser/integrations/vercel-ai/get-text-tool.d.ts.map +1 -0
  113. package/dist/src/tools/browser/integrations/vercel-ai/get-text-tool.js +30 -0
  114. package/dist/src/tools/browser/integrations/vercel-ai/get-text-tool.js.map +1 -0
  115. package/dist/src/tools/browser/integrations/vercel-ai/index.d.ts +19 -0
  116. package/dist/src/tools/browser/integrations/vercel-ai/index.d.ts.map +1 -0
  117. package/dist/src/tools/browser/integrations/vercel-ai/index.js +19 -0
  118. package/dist/src/tools/browser/integrations/vercel-ai/index.js.map +1 -0
  119. package/dist/src/tools/browser/integrations/vercel-ai/navigate-tool.d.ts +19 -0
  120. package/dist/src/tools/browser/integrations/vercel-ai/navigate-tool.d.ts.map +1 -0
  121. package/dist/src/tools/browser/integrations/vercel-ai/navigate-tool.js +39 -0
  122. package/dist/src/tools/browser/integrations/vercel-ai/navigate-tool.js.map +1 -0
  123. package/dist/src/tools/browser/integrations/vercel-ai/screenshot-tool.d.ts +22 -0
  124. package/dist/src/tools/browser/integrations/vercel-ai/screenshot-tool.d.ts.map +1 -0
  125. package/dist/src/tools/browser/integrations/vercel-ai/screenshot-tool.js +44 -0
  126. package/dist/src/tools/browser/integrations/vercel-ai/screenshot-tool.js.map +1 -0
  127. package/dist/src/tools/browser/integrations/vercel-ai/tools.d.ts +123 -0
  128. package/dist/src/tools/browser/integrations/vercel-ai/tools.d.ts.map +1 -0
  129. package/dist/src/tools/browser/integrations/vercel-ai/tools.js +145 -0
  130. package/dist/src/tools/browser/integrations/vercel-ai/tools.js.map +1 -0
  131. package/dist/src/tools/browser/integrations/vercel-ai/type-tool.d.ts +20 -0
  132. package/dist/src/tools/browser/integrations/vercel-ai/type-tool.d.ts.map +1 -0
  133. package/dist/src/tools/browser/integrations/vercel-ai/type-tool.js +35 -0
  134. package/dist/src/tools/browser/integrations/vercel-ai/type-tool.js.map +1 -0
  135. package/dist/src/tools/browser/types.d.ts +336 -0
  136. package/dist/src/tools/browser/types.d.ts.map +1 -0
  137. package/dist/src/tools/browser/types.js +17 -0
  138. package/dist/src/tools/browser/types.js.map +1 -0
  139. package/dist/src/tools/code-interpreter/client.d.ts +214 -0
  140. package/dist/src/tools/code-interpreter/client.d.ts.map +1 -0
  141. package/dist/src/tools/code-interpreter/client.js +518 -0
  142. package/dist/src/tools/code-interpreter/client.js.map +1 -0
  143. package/dist/src/tools/code-interpreter/index.d.ts +4 -0
  144. package/dist/src/tools/code-interpreter/index.d.ts.map +1 -0
  145. package/dist/src/tools/code-interpreter/index.js +5 -0
  146. package/dist/src/tools/code-interpreter/index.js.map +1 -0
  147. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.d.ts +28 -0
  148. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.d.ts.map +1 -0
  149. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.js +47 -0
  150. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.js.map +1 -0
  151. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.d.ts +27 -0
  152. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.d.ts.map +1 -0
  153. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.js +42 -0
  154. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.js.map +1 -0
  155. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.d.ts +33 -0
  156. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.d.ts.map +1 -0
  157. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.js +78 -0
  158. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.js.map +1 -0
  159. package/dist/src/tools/code-interpreter/integrations/strands/index.d.ts +32 -0
  160. package/dist/src/tools/code-interpreter/integrations/strands/index.d.ts.map +1 -0
  161. package/dist/src/tools/code-interpreter/integrations/strands/index.js +32 -0
  162. package/dist/src/tools/code-interpreter/integrations/strands/index.js.map +1 -0
  163. package/dist/src/tools/code-interpreter/integrations/strands/tools.d.ts +94 -0
  164. package/dist/src/tools/code-interpreter/integrations/strands/tools.d.ts.map +1 -0
  165. package/dist/src/tools/code-interpreter/integrations/strands/tools.js +112 -0
  166. package/dist/src/tools/code-interpreter/integrations/strands/tools.js.map +1 -0
  167. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.d.ts +27 -0
  168. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.d.ts.map +1 -0
  169. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.js +46 -0
  170. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.js.map +1 -0
  171. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.d.ts +26 -0
  172. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.d.ts.map +1 -0
  173. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.js +41 -0
  174. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.js.map +1 -0
  175. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.d.ts +32 -0
  176. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.d.ts.map +1 -0
  177. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.js +77 -0
  178. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.js.map +1 -0
  179. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.d.ts +26 -0
  180. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.d.ts.map +1 -0
  181. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.js +26 -0
  182. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.js.map +1 -0
  183. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.d.ts +94 -0
  184. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.d.ts.map +1 -0
  185. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.js +112 -0
  186. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.js.map +1 -0
  187. package/dist/src/tools/code-interpreter/types.d.ts +473 -0
  188. package/dist/src/tools/code-interpreter/types.d.ts.map +1 -0
  189. package/dist/src/tools/code-interpreter/types.js +52 -0
  190. package/dist/src/tools/code-interpreter/types.js.map +1 -0
  191. package/package.json +134 -12
  192. package/index.js +0 -4
@@ -0,0 +1,320 @@
1
+ import { BedrockAgentCoreClient, StartBrowserSessionCommand, StopBrowserSessionCommand, GetBrowserSessionCommand, ListBrowserSessionsCommand, UpdateBrowserStreamCommand, } from '@aws-sdk/client-bedrock-agentcore';
2
+ import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
3
+ import { HttpRequest } from '@smithy/protocol-http';
4
+ import { SignatureV4 } from '@smithy/signature-v4';
5
+ import { Sha256 } from '@aws-crypto/sha256-js';
6
+ import { DEFAULT_IDENTIFIER, DEFAULT_SESSION_NAME, DEFAULT_TIMEOUT, DEFAULT_REGION } from './types.js';
7
+ /**
8
+ * Base client for AWS Bedrock AgentCore Browser service.
9
+ *
10
+ * Provides core AWS SDK operations for browser session management and WebSocket connectivity.
11
+ * This client handles session lifecycle and authentication but does not include browser
12
+ * automation methods. Use PlaywrightBrowser for full browser automation capabilities.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const browser = new Browser({ region: 'us-east-1' })
17
+ *
18
+ * // Start a session
19
+ * const session = await browser.startSession({ sessionName: 'my-session' })
20
+ *
21
+ * // Get WebSocket URL for custom browser integration
22
+ * const wsConnection = await browser.generateWebSocketUrl()
23
+ *
24
+ * // Stop the session
25
+ * await browser.stopSession()
26
+ * ```
27
+ */
28
+ export class Browser {
29
+ region;
30
+ identifier;
31
+ _client;
32
+ _session = null;
33
+ _credentialsProvider = undefined;
34
+ /**
35
+ * Creates a new BrowserClient instance.
36
+ *
37
+ * @param config - Configuration options for the client
38
+ */
39
+ constructor(config) {
40
+ this.region = config.region ?? process.env.AWS_REGION ?? DEFAULT_REGION;
41
+ this.identifier = config.identifier ?? DEFAULT_IDENTIFIER;
42
+ this._credentialsProvider = config.credentialsProvider;
43
+ this._client = new BedrockAgentCoreClient({
44
+ region: this.region,
45
+ ...(this._credentialsProvider && { credentials: this._credentialsProvider }),
46
+ });
47
+ }
48
+ // ===========================
49
+ // Session Management
50
+ // ===========================
51
+ /**
52
+ * Starts a new browser session.
53
+ *
54
+ * @param params - Optional parameters for session configuration
55
+ * @returns Information about the started session
56
+ *
57
+ * @throws Error if a session is already active
58
+ */
59
+ async startSession(params) {
60
+ if (this._session) {
61
+ throw new Error('Session already active. Call stopSession() first.');
62
+ }
63
+ const sessionName = params?.sessionName ?? DEFAULT_SESSION_NAME;
64
+ const sessionTimeoutSeconds = params?.timeout ?? DEFAULT_TIMEOUT;
65
+ // Prepare command input
66
+ const input = {
67
+ browserIdentifier: this.identifier,
68
+ name: sessionName,
69
+ sessionTimeoutSeconds: sessionTimeoutSeconds,
70
+ viewPort: params?.viewport
71
+ ? {
72
+ width: params.viewport.width,
73
+ height: params.viewport.height,
74
+ }
75
+ : undefined,
76
+ };
77
+ // Start the session
78
+ const command = new StartBrowserSessionCommand(input);
79
+ const response = await this._client.send(command);
80
+ // Store session info
81
+ const sessionInfo = {
82
+ sessionName,
83
+ sessionId: response.sessionId,
84
+ createdAt: response.createdAt ?? new Date(),
85
+ };
86
+ this._session = sessionInfo;
87
+ return sessionInfo;
88
+ }
89
+ /**
90
+ * Stops the active browser session.
91
+ *
92
+ * @throws Error if no session is active
93
+ */
94
+ async stopSession() {
95
+ if (!this._session) {
96
+ // Silently succeed if no session (idempotent)
97
+ return;
98
+ }
99
+ // Stop the AWS session
100
+ const command = new StopBrowserSessionCommand({
101
+ browserIdentifier: this.identifier,
102
+ sessionId: this._session.sessionId,
103
+ });
104
+ await this._client.send(command);
105
+ // Clear session state
106
+ this._session = null;
107
+ }
108
+ /**
109
+ * Get detailed information about a browser session.
110
+ *
111
+ * @param params - Optional parameters specifying which session to query
112
+ * @returns Detailed session information
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * // Get current active session details
117
+ * const sessionInfo = await browser.getSession()
118
+ * console.log(`Session status: ${sessionInfo.status}`)
119
+ *
120
+ * // Get details for a specific session
121
+ * const sessionInfo = await browser.getSession({
122
+ * sessionId: 'specific-session-id'
123
+ * })
124
+ * ```
125
+ */
126
+ async getSession(params) {
127
+ const browserId = params?.browserId ?? this.identifier;
128
+ const sessionId = params?.sessionId ?? this._session?.sessionId;
129
+ if (!browserId || !sessionId) {
130
+ throw new Error('Browser ID and Session ID must be provided or available from current session. ' +
131
+ 'Start a session first or provide explicit IDs.');
132
+ }
133
+ const command = new GetBrowserSessionCommand({
134
+ browserIdentifier: browserId,
135
+ sessionId,
136
+ });
137
+ const response = await this._client.send(command);
138
+ // Parse streams if present - using type extension for fields not in SDK types yet
139
+ const responseWithExtras = response;
140
+ const responseData = {
141
+ sessionId: response.sessionId,
142
+ browserIdentifier: response.browserIdentifier,
143
+ name: response.name,
144
+ status: response.status ?? 'UNKNOWN',
145
+ createdAt: response.createdAt,
146
+ lastUpdatedAt: responseWithExtras.lastUpdatedAt ?? response.createdAt,
147
+ sessionTimeoutSeconds: response.sessionTimeoutSeconds,
148
+ };
149
+ // Add streams if present
150
+ if (responseWithExtras.streams) {
151
+ const streams = {};
152
+ const autoStream = responseWithExtras.streams.automationStream;
153
+ if (autoStream?.streamEndpoint) {
154
+ const streamInfo = {
155
+ streamEndpoint: autoStream.streamEndpoint,
156
+ };
157
+ if (autoStream.streamStatus) {
158
+ streamInfo.streamStatus = autoStream.streamStatus;
159
+ }
160
+ streams.automationStream = streamInfo;
161
+ }
162
+ const liveStream = responseWithExtras.streams.liveViewStream;
163
+ if (liveStream?.streamEndpoint) {
164
+ streams.liveViewStream = {
165
+ streamEndpoint: liveStream.streamEndpoint,
166
+ };
167
+ }
168
+ responseData.streams = streams;
169
+ }
170
+ return responseData;
171
+ }
172
+ /**
173
+ * List browser sessions for this browser.
174
+ *
175
+ * @param params - Optional filtering and pagination parameters
176
+ * @returns List of session summaries with optional pagination token
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * // List all active sessions
181
+ * const response = await browser.listSessions({ status: 'READY' })
182
+ * for (const session of response.items) {
183
+ * console.log(`Session ${session.sessionId}: ${session.status}`)
184
+ * }
185
+ *
186
+ * // Paginate through results
187
+ * let response = await browser.listSessions({ maxResults: 10 })
188
+ * while (response.nextToken) {
189
+ * response = await browser.listSessions({
190
+ * maxResults: 10,
191
+ * nextToken: response.nextToken
192
+ * })
193
+ * }
194
+ * ```
195
+ */
196
+ async listSessions(params) {
197
+ const browserId = params?.browserId ?? this.identifier;
198
+ if (!browserId) {
199
+ throw new Error('Browser ID must be provided or available from configuration');
200
+ }
201
+ const command = new ListBrowserSessionsCommand({
202
+ browserIdentifier: browserId,
203
+ ...(params?.status && {
204
+ status: params.status,
205
+ }),
206
+ ...(params?.maxResults && { maxResults: params.maxResults }),
207
+ ...(params?.nextToken && { nextToken: params.nextToken }),
208
+ });
209
+ const response = await this._client.send(command);
210
+ const items = response.items?.map((item) => ({
211
+ sessionId: item.sessionId,
212
+ name: item.name,
213
+ status: item.status ?? 'UNKNOWN',
214
+ createdAt: item.createdAt,
215
+ lastUpdatedAt: item.lastUpdatedAt,
216
+ })) ?? [];
217
+ return {
218
+ items,
219
+ ...(response.nextToken && { nextToken: response.nextToken }),
220
+ };
221
+ }
222
+ /**
223
+ * Update the browser automation stream status.
224
+ *
225
+ * @param params - Stream update parameters
226
+ * @returns Updated stream information
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * // Enable automation stream
231
+ * const result = await browser.updateBrowserStream({
232
+ * streamStatus: 'ENABLED'
233
+ * })
234
+ *
235
+ * // Disable automation stream
236
+ * await browser.updateBrowserStream({
237
+ * streamStatus: 'DISABLED'
238
+ * })
239
+ * ```
240
+ */
241
+ async updateBrowserStream(params) {
242
+ const browserId = params.browserId ?? this.identifier;
243
+ const sessionId = params.sessionId ?? this._session?.sessionId;
244
+ if (!browserId || !sessionId) {
245
+ throw new Error('Browser ID and Session ID must be provided or available from current session. ' +
246
+ 'Start a session first or provide explicit IDs.');
247
+ }
248
+ const command = new UpdateBrowserStreamCommand({
249
+ browserIdentifier: browserId,
250
+ sessionId,
251
+ streamUpdate: {
252
+ automationStreamUpdate: {
253
+ streamStatus: params.streamStatus,
254
+ },
255
+ },
256
+ });
257
+ const response = await this._client.send(command);
258
+ // Extract the updated stream information from the response
259
+ const automationStream = response.streams?.automationStream;
260
+ const result = {};
261
+ if (automationStream?.streamEndpoint) {
262
+ result.streamEndpoint = automationStream.streamEndpoint;
263
+ }
264
+ if (automationStream?.streamStatus) {
265
+ result.streamStatus = automationStream.streamStatus;
266
+ }
267
+ return result;
268
+ }
269
+ /**
270
+ * Generates a WebSocket URL and authentication headers for browser automation.
271
+ * Uses AWS Signature Version 4 to sign the WebSocket connection request.
272
+ *
273
+ * @returns WebSocket connection details with URL and authentication headers
274
+ *
275
+ * @throws Error if no session is active
276
+ */
277
+ async generateWebSocketUrl() {
278
+ if (!this._session) {
279
+ throw new Error('No active session. Call startSession() first.');
280
+ }
281
+ // Construct WebSocket URL
282
+ const host = `bedrock-agentcore.${this.region}.amazonaws.com`;
283
+ const path = `/browser-streams/${this.identifier}/sessions/${this._session.sessionId}/automation`;
284
+ const wsUrl = `wss://${host}${path}`;
285
+ // Obtain AWS credentials for SigV4 signing of WebSocket connection
286
+ // Use provided credentials or fall back to default chain
287
+ const credentialsProvider = this._credentialsProvider ?? fromNodeProviderChain();
288
+ const credentials = await credentialsProvider();
289
+ // Create HTTP request for signing
290
+ const request = new HttpRequest({
291
+ protocol: 'wss:',
292
+ hostname: host,
293
+ path,
294
+ method: 'GET',
295
+ headers: {
296
+ host,
297
+ },
298
+ });
299
+ // Sign the request using SigV4
300
+ const signer = new SignatureV4({
301
+ service: 'bedrock-agentcore',
302
+ region: this.region,
303
+ credentials,
304
+ sha256: Sha256,
305
+ });
306
+ const signedRequest = await signer.sign(request);
307
+ // Extract headers for WebSocket connection
308
+ const headers = {};
309
+ for (const [key, value] of Object.entries(signedRequest.headers)) {
310
+ if (typeof value === 'string') {
311
+ headers[key] = value;
312
+ }
313
+ }
314
+ return {
315
+ url: wsUrl,
316
+ headers,
317
+ };
318
+ }
319
+ }
320
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/tools/browser/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { Browser } from './client.js';
2
+ export type { BrowserClientConfig, SessionInfo, StartSessionParams, ViewportConfig, WebSocketConnection, SessionStatus, BrowserOperationResult, } from './types.js';
3
+ export { DEFAULT_IDENTIFIER, DEFAULT_SESSION_NAME, DEFAULT_TIMEOUT } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { Browser } from './client.js';
2
+ export { DEFAULT_IDENTIFIER, DEFAULT_SESSION_NAME, DEFAULT_TIMEOUT } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAUrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,147 @@
1
+ import { Browser } from '../../client.js';
2
+ import type { BrowserClientConfig } from '../../types.js';
3
+ import type { NavigateParams, ClickParams, TypeParams, GetTextParams, GetHtmlParams, ScreenshotParams, EvaluateParams, CookieParams, WaitForSelectorParams, FillParams, IsVisibleParams } from './types.js';
4
+ /**
5
+ * Playwright-based browser automation client for AWS Bedrock AgentCore Browser service.
6
+ *
7
+ * Extends Browser with full browser automation capabilities using Playwright.
8
+ * Provides methods for navigation, interaction, content extraction, and JavaScript execution.
9
+ *
10
+ * Sessions are automatically created on first use and Playwright connections are
11
+ * managed internally.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const browser = new PlaywrightBrowser({ region: 'us-east-1' })
16
+ *
17
+ * // Direct usage (auto-creates session)
18
+ * await browser.navigate({ url: 'https://example.com' })
19
+ * await browser.click({ selector: 'button' })
20
+ * const text = await browser.getText({ selector: 'h1' })
21
+ *
22
+ * // Explicit session management
23
+ * await browser.startSession({ sessionName: 'my-session' })
24
+ * await browser.navigate({ url: 'https://example.com' })
25
+ * await browser.stopSession()
26
+ * ```
27
+ */
28
+ export declare class PlaywrightBrowser extends Browser {
29
+ private _playwrightBrowser;
30
+ private _playwrightPage;
31
+ /**
32
+ * Creates a new PlaywrightBrowser instance.
33
+ *
34
+ * @param config - Configuration options for the client
35
+ */
36
+ constructor(config: BrowserClientConfig);
37
+ /**
38
+ * Stops the active browser session and closes Playwright connections.
39
+ */
40
+ stopSession(): Promise<void>;
41
+ /**
42
+ * Navigates to a URL.
43
+ * Automatically creates a session and connects if needed.
44
+ *
45
+ * @param params - Navigation parameters
46
+ */
47
+ navigate(params: NavigateParams): Promise<void>;
48
+ /**
49
+ * Clicks an element on the page.
50
+ *
51
+ * @param params - Click parameters
52
+ */
53
+ click(params: ClickParams): Promise<void>;
54
+ /**
55
+ * Types text into an input element.
56
+ *
57
+ * @param params - Type parameters
58
+ */
59
+ type(params: TypeParams): Promise<void>;
60
+ /**
61
+ * Gets text content from an element or the page.
62
+ *
63
+ * @param params - GetText parameters
64
+ * @returns Text content
65
+ */
66
+ getText(params?: GetTextParams): Promise<string>;
67
+ /**
68
+ * Gets HTML content from an element or the page.
69
+ *
70
+ * @param params - GetHtml parameters
71
+ * @returns HTML content
72
+ */
73
+ getHtml(params?: GetHtmlParams): Promise<string>;
74
+ /**
75
+ * Takes a screenshot of the page.
76
+ *
77
+ * @param params - Screenshot parameters
78
+ * @returns Screenshot as base64 string or Buffer
79
+ */
80
+ screenshot(params?: ScreenshotParams): Promise<globalThis.Buffer | string>;
81
+ /**
82
+ * Evaluates JavaScript code in the page context.
83
+ *
84
+ * @param params - Evaluate parameters
85
+ * @returns Result of the evaluation
86
+ */
87
+ evaluate(params: EvaluateParams): Promise<any>;
88
+ /**
89
+ * Navigates back in browser history.
90
+ */
91
+ back(): Promise<void>;
92
+ /**
93
+ * Navigates forward in browser history.
94
+ */
95
+ forward(): Promise<void>;
96
+ /**
97
+ * Refreshes the current page.
98
+ */
99
+ refresh(): Promise<void>;
100
+ /**
101
+ * Gets all cookies.
102
+ *
103
+ * @returns Array of cookies
104
+ */
105
+ getCookies(): Promise<any[]>;
106
+ /**
107
+ * Sets cookies.
108
+ *
109
+ * @param params - Cookie parameters
110
+ */
111
+ setCookies(params: CookieParams): Promise<void>;
112
+ /**
113
+ * Presses a keyboard key.
114
+ *
115
+ * @param key - Key name (e.g., 'Enter', 'Tab', 'Escape')
116
+ */
117
+ pressKey(key: string): Promise<void>;
118
+ /**
119
+ * Waits for an element to be present in the DOM.
120
+ *
121
+ * @param params - WaitForSelector parameters
122
+ */
123
+ waitForSelector(params: WaitForSelectorParams): Promise<void>;
124
+ /**
125
+ * Fills an input element with text (clears existing value first).
126
+ * More reliable than type() for forms.
127
+ *
128
+ * @param params - Fill parameters
129
+ */
130
+ fill(params: FillParams): Promise<void>;
131
+ /**
132
+ * Checks if an element is visible on the page.
133
+ *
134
+ * @param params - IsVisible parameters
135
+ * @returns true if element is visible, false otherwise
136
+ */
137
+ isVisible(params: IsVisibleParams): Promise<boolean>;
138
+ /**
139
+ * Ensures a session exists and Playwright is connected.
140
+ */
141
+ private _ensureConnected;
142
+ /**
143
+ * Connects to the browser via Playwright WebSocket.
144
+ */
145
+ private _connectPlaywright;
146
+ }
147
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/browser/integrations/playwright/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,SAAQ,OAAO;IAE5C,OAAO,CAAC,kBAAkB,CAAY;IAEtC,OAAO,CAAC,eAAe,CAAY;IAEnC;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAIvC;;OAEG;IACY,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3C;;;;;OAKG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C;;;;;OAKG;IACG,OAAO,CAAC,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;;;;OAKG;IACG,OAAO,CAAC,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;;;;OAKG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IAUhF;;;;;OAKG;IAEG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAKpD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;OAIG;IAEG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAKlC;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;;;OAIG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB1D;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;YACW,kBAAkB;CAkCjC"}