bedrock-agentcore 0.1.1 → 0.2.2

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 (162) hide show
  1. package/README.md +102 -114
  2. package/dist/src/_utils/endpoints.d.ts +28 -0
  3. package/dist/src/_utils/endpoints.d.ts.map +1 -0
  4. package/dist/src/_utils/endpoints.js +44 -0
  5. package/dist/src/_utils/endpoints.js.map +1 -0
  6. package/dist/src/identity/client.d.ts +40 -0
  7. package/dist/src/identity/client.d.ts.map +1 -0
  8. package/dist/src/identity/client.js +109 -0
  9. package/dist/src/identity/client.js.map +1 -0
  10. package/dist/src/identity/index.d.ts +22 -0
  11. package/dist/src/identity/index.d.ts.map +1 -0
  12. package/dist/src/identity/index.js +24 -0
  13. package/dist/src/identity/index.js.map +1 -0
  14. package/dist/src/identity/types.d.ts +82 -0
  15. package/dist/src/identity/types.d.ts.map +1 -0
  16. package/dist/src/identity/types.js +5 -0
  17. package/dist/src/identity/types.js.map +1 -0
  18. package/dist/src/identity/wrappers.d.ts +54 -0
  19. package/dist/src/identity/wrappers.d.ts.map +1 -0
  20. package/dist/src/identity/wrappers.js +95 -0
  21. package/dist/src/identity/wrappers.js.map +1 -0
  22. package/dist/src/runtime/app.d.ts +144 -0
  23. package/dist/src/runtime/app.d.ts.map +1 -0
  24. package/dist/src/runtime/app.js +485 -0
  25. package/dist/src/runtime/app.js.map +1 -0
  26. package/dist/src/runtime/client.d.ts +154 -0
  27. package/dist/src/runtime/client.d.ts.map +1 -0
  28. package/dist/src/runtime/client.js +319 -0
  29. package/dist/src/runtime/client.js.map +1 -0
  30. package/dist/src/runtime/context.d.ts +33 -0
  31. package/dist/src/runtime/context.d.ts.map +1 -0
  32. package/dist/src/runtime/context.js +49 -0
  33. package/dist/src/runtime/context.js.map +1 -0
  34. package/dist/src/runtime/index.d.ts +8 -0
  35. package/dist/src/runtime/index.d.ts.map +1 -0
  36. package/dist/src/runtime/index.js +7 -0
  37. package/dist/src/runtime/index.js.map +1 -0
  38. package/dist/src/runtime/types.d.ts +429 -0
  39. package/dist/src/runtime/types.d.ts.map +1 -0
  40. package/dist/src/runtime/types.js +26 -0
  41. package/dist/src/runtime/types.js.map +1 -0
  42. package/dist/src/tools/browser/client.d.ts +19 -0
  43. package/dist/src/tools/browser/client.d.ts.map +1 -1
  44. package/dist/src/tools/browser/client.js +56 -0
  45. package/dist/src/tools/browser/client.js.map +1 -1
  46. package/dist/src/tools/browser/index.d.ts +1 -1
  47. package/dist/src/tools/browser/index.d.ts.map +1 -1
  48. package/dist/src/tools/browser/index.js.map +1 -1
  49. package/dist/src/tools/browser/integrations/strands/click-tool.d.ts +20 -0
  50. package/dist/src/tools/browser/integrations/strands/click-tool.d.ts.map +1 -0
  51. package/dist/src/tools/browser/integrations/strands/click-tool.js +33 -0
  52. package/dist/src/tools/browser/integrations/strands/click-tool.js.map +1 -0
  53. package/dist/src/tools/browser/integrations/strands/evaluate-tool.d.ts +20 -0
  54. package/dist/src/tools/browser/integrations/strands/evaluate-tool.d.ts.map +1 -0
  55. package/dist/src/tools/browser/integrations/strands/evaluate-tool.js +34 -0
  56. package/dist/src/tools/browser/integrations/strands/evaluate-tool.js.map +1 -0
  57. package/dist/src/tools/browser/integrations/strands/get-html-tool.d.ts +19 -0
  58. package/dist/src/tools/browser/integrations/strands/get-html-tool.d.ts.map +1 -0
  59. package/dist/src/tools/browser/integrations/strands/get-html-tool.js +32 -0
  60. package/dist/src/tools/browser/integrations/strands/get-html-tool.js.map +1 -0
  61. package/dist/src/tools/browser/integrations/strands/get-text-tool.d.ts +19 -0
  62. package/dist/src/tools/browser/integrations/strands/get-text-tool.d.ts.map +1 -0
  63. package/dist/src/tools/browser/integrations/strands/get-text-tool.js +32 -0
  64. package/dist/src/tools/browser/integrations/strands/get-text-tool.js.map +1 -0
  65. package/dist/src/tools/browser/integrations/strands/index.d.ts +25 -0
  66. package/dist/src/tools/browser/integrations/strands/index.d.ts.map +1 -0
  67. package/dist/src/tools/browser/integrations/strands/index.js +25 -0
  68. package/dist/src/tools/browser/integrations/strands/index.js.map +1 -0
  69. package/dist/src/tools/browser/integrations/strands/navigate-tool.d.ts +21 -0
  70. package/dist/src/tools/browser/integrations/strands/navigate-tool.d.ts.map +1 -0
  71. package/dist/src/tools/browser/integrations/strands/navigate-tool.js +41 -0
  72. package/dist/src/tools/browser/integrations/strands/navigate-tool.js.map +1 -0
  73. package/dist/src/tools/browser/integrations/strands/screenshot-tool.d.ts +29 -0
  74. package/dist/src/tools/browser/integrations/strands/screenshot-tool.d.ts.map +1 -0
  75. package/dist/src/tools/browser/integrations/strands/screenshot-tool.js +52 -0
  76. package/dist/src/tools/browser/integrations/strands/screenshot-tool.js.map +1 -0
  77. package/dist/src/tools/browser/integrations/strands/tools.d.ts +119 -0
  78. package/dist/src/tools/browser/integrations/strands/tools.d.ts.map +1 -0
  79. package/dist/src/tools/browser/integrations/strands/tools.js +141 -0
  80. package/dist/src/tools/browser/integrations/strands/tools.js.map +1 -0
  81. package/dist/src/tools/browser/integrations/strands/type-tool.d.ts +22 -0
  82. package/dist/src/tools/browser/integrations/strands/type-tool.d.ts.map +1 -0
  83. package/dist/src/tools/browser/integrations/strands/type-tool.js +37 -0
  84. package/dist/src/tools/browser/integrations/strands/type-tool.js.map +1 -0
  85. package/dist/src/tools/browser/integrations/vercel-ai/tools.d.ts +1 -1
  86. package/dist/src/tools/browser/integrations/vercel-ai/tools.js +1 -1
  87. package/dist/src/tools/browser/live-view/BrowserLiveView.d.ts +10 -0
  88. package/dist/src/tools/browser/live-view/BrowserLiveView.d.ts.map +1 -0
  89. package/dist/src/tools/browser/live-view/BrowserLiveView.js +180 -0
  90. package/dist/src/tools/browser/live-view/BrowserLiveView.js.map +1 -0
  91. package/dist/src/tools/browser/live-view/index.d.ts +4 -0
  92. package/dist/src/tools/browser/live-view/index.d.ts.map +1 -0
  93. package/dist/src/tools/browser/live-view/index.js +3 -0
  94. package/dist/src/tools/browser/live-view/index.js.map +1 -0
  95. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/README.md +26 -0
  96. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcv-ui/EULA.txt +403 -0
  97. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcv-ui/README.md +57 -0
  98. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcv-ui/dcv-ui.js +7 -0
  99. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcv-ui/third-party-licenses.txt +145 -0
  100. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/EULA.txt +403 -0
  101. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/README.md +50 -0
  102. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/dcv/broadwayh264decoder-worker.js +1 -0
  103. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/dcv/jsmpegdecoder-worker.js +1 -0
  104. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/dcv/lz4decoder-worker.js +1 -0
  105. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/dcv/microphoneprocessor.js +1 -0
  106. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/dcv.js +33 -0
  107. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/lib/broadway/Decoder.js +850 -0
  108. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/lib/jsmpeg/jsmpeg.min.js +1 -0
  109. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/lib/lz4/lz4_decoder.js +12 -0
  110. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-esm/third-party-licenses.txt +1068 -0
  111. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/EULA.txt +403 -0
  112. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/README.md +50 -0
  113. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/dcv/broadwayh264decoder-worker.js +1 -0
  114. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/dcv/jsmpegdecoder-worker.js +1 -0
  115. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/dcv/lz4decoder-worker.js +1 -0
  116. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/dcv/microphoneprocessor.js +1 -0
  117. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/dcv.js +33 -0
  118. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/lib/broadway/Decoder.js +850 -0
  119. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/lib/jsmpeg/jsmpeg.min.js +1 -0
  120. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/lib/lz4/lz4_decoder.js +12 -0
  121. package/dist/src/tools/browser/live-view/nice-dcv-web-client-sdk/dcvjs-umd/third-party-licenses.txt +1068 -0
  122. package/dist/src/tools/browser/live-view/scaling.d.ts +9 -0
  123. package/dist/src/tools/browser/live-view/scaling.d.ts.map +1 -0
  124. package/dist/src/tools/browser/live-view/scaling.js +13 -0
  125. package/dist/src/tools/browser/live-view/scaling.js.map +1 -0
  126. package/dist/src/tools/browser/types.d.ts +152 -0
  127. package/dist/src/tools/browser/types.d.ts.map +1 -1
  128. package/dist/src/tools/code-interpreter/client.d.ts +2 -0
  129. package/dist/src/tools/code-interpreter/client.d.ts.map +1 -1
  130. package/dist/src/tools/code-interpreter/client.js +31 -25
  131. package/dist/src/tools/code-interpreter/client.js.map +1 -1
  132. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.d.ts +28 -0
  133. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.d.ts.map +1 -0
  134. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.js +47 -0
  135. package/dist/src/tools/code-interpreter/integrations/strands/execute-code-tool.js.map +1 -0
  136. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.d.ts +27 -0
  137. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.d.ts.map +1 -0
  138. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.js +42 -0
  139. package/dist/src/tools/code-interpreter/integrations/strands/execute-command-tool.js.map +1 -0
  140. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.d.ts +33 -0
  141. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.d.ts.map +1 -0
  142. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.js +78 -0
  143. package/dist/src/tools/code-interpreter/integrations/strands/file-operations-tool.js.map +1 -0
  144. package/dist/src/tools/code-interpreter/integrations/strands/index.d.ts +32 -0
  145. package/dist/src/tools/code-interpreter/integrations/strands/index.d.ts.map +1 -0
  146. package/dist/src/tools/code-interpreter/integrations/strands/index.js +32 -0
  147. package/dist/src/tools/code-interpreter/integrations/strands/index.js.map +1 -0
  148. package/dist/src/tools/code-interpreter/integrations/strands/tools.d.ts +94 -0
  149. package/dist/src/tools/code-interpreter/integrations/strands/tools.d.ts.map +1 -0
  150. package/dist/src/tools/code-interpreter/integrations/strands/tools.js +112 -0
  151. package/dist/src/tools/code-interpreter/integrations/strands/tools.js.map +1 -0
  152. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.d.ts +2 -2
  153. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-code-tool.js +2 -2
  154. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.d.ts +2 -2
  155. package/dist/src/tools/code-interpreter/integrations/vercel-ai/execute-command-tool.js +2 -2
  156. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.d.ts +3 -3
  157. package/dist/src/tools/code-interpreter/integrations/vercel-ai/file-operations-tool.js +2 -2
  158. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.d.ts +1 -1
  159. package/dist/src/tools/code-interpreter/integrations/vercel-ai/index.js +1 -1
  160. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.d.ts +1 -1
  161. package/dist/src/tools/code-interpreter/integrations/vercel-ai/tools.js +1 -1
  162. package/package.json +69 -14
@@ -0,0 +1,429 @@
1
+ import type { AwsCredentialIdentityProvider } from '@aws-sdk/types';
2
+ import type { FastifyBodyParser, FastifyContentTypeParser, FastifyBaseLogger, FastifyLoggerOptions, FastifyRequest } from 'fastify';
3
+ import { Buffer } from 'buffer';
4
+ import { z } from 'zod';
5
+ import type { WebSocket } from '@fastify/websocket';
6
+ import type { SSESource } from '@fastify/sse';
7
+ /**
8
+ * Context provided to handler functions for each invocation request.
9
+ */
10
+ export interface RequestContext {
11
+ /**
12
+ * Unique identifier for the session making the request.
13
+ */
14
+ sessionId: string;
15
+ /**
16
+ * HTTP headers from the incoming request.
17
+ * Filtered to include only Authorization and Custom-* headers.
18
+ */
19
+ headers: Record<string, string>;
20
+ /**
21
+ * Workload access token for authenticating with AgentCore Identity.
22
+ * Set by RuntimeApp when WorkloadAccessToken header is present.
23
+ * Used by Identity SDK to fetch OAuth2 tokens and API keys.
24
+ */
25
+ workloadAccessToken?: string | undefined;
26
+ /**
27
+ * Request ID for tracing and log correlation.
28
+ * Extracted from X-Amzn-Bedrock-AgentCore-Runtime-Request-Id header
29
+ * or auto-generated if not provided.
30
+ */
31
+ requestId?: string | undefined;
32
+ /**
33
+ * OAuth2 callback URL for authentication flows.
34
+ * Extracted from OAuth2CallbackUrl header when present.
35
+ */
36
+ oauth2CallbackUrl?: string | undefined;
37
+ /**
38
+ * Request-scoped logger with automatic context (request ID, method, URL).
39
+ * Handlers should use this for all logging to ensure proper request correlation.
40
+ */
41
+ log: FastifyBaseLogger;
42
+ }
43
+ /**
44
+ * Handler function type for processing agent invocations.
45
+ *
46
+ * The handler accepts and returns unknown types to support
47
+ * arbitrary JSON payloads from AgentCore Runtime. The handler can also
48
+ * return an async generator for streaming responses via Server-Sent Events.
49
+ *
50
+ * @param request - The request payload from AgentCore Runtime
51
+ * @param context - Additional context including sessionId and headers
52
+ * @returns Response data (any serializable type) or async generator for streaming
53
+ */
54
+ export type InvocationHandler<TRequest = unknown> = (request: TRequest, context: RequestContext) => Promise<unknown> | unknown | AsyncGenerator<SSESource, void, unknown>;
55
+ /**
56
+ * WebSocket handler function type for processing WebSocket connections.
57
+ *
58
+ * @param connection - Fastify WebSocket connection object
59
+ * @param context - Request context including sessionId and headers
60
+ */
61
+ export type WebSocketHandler = (socket: WebSocket, context: RequestContext) => Promise<void> | void;
62
+ /**
63
+ * Content type parser configuration using Fastify's native types.
64
+ * @example
65
+ * ```typescript
66
+ * const app = new BedrockAgentCoreApp({
67
+ * invocationHandler: { process: myHandler },
68
+ * config: {
69
+ * contentTypeParsers: [
70
+ * {
71
+ * contentType: 'application/xml',
72
+ * parser: (request, body) => parseXML(body as string),
73
+ * parseAs: 'string'
74
+ * },
75
+ * {
76
+ * contentType: 'application/pdf',
77
+ * parser: (request, body) => parsePDF(body as Buffer),
78
+ * parseAs: 'buffer'
79
+ * },
80
+ * {
81
+ * contentType: 'application/large-csv',
82
+ * parser: (request, payload) => parseStreamingCSV(payload),
83
+ * // parseAs omitted for stream mode (uses FastifyContentTypeParser)
84
+ * }
85
+ * ]
86
+ * }
87
+ * })
88
+ * ```
89
+ */
90
+ export interface ContentTypeParserConfig {
91
+ /**
92
+ * Content type to handle (e.g., 'application/xml', 'text/csv').
93
+ * Can be a string, array of strings, or RegExp.
94
+ */
95
+ contentType: string | string[] | RegExp;
96
+ /**
97
+ * Parser function to process the request body.
98
+ * Uses Fastify's native FastifyBodyParser for string/buffer modes,
99
+ * or FastifyContentTypeParser for stream mode.
100
+ */
101
+ parser: FastifyBodyParser<string | Buffer> | FastifyContentTypeParser;
102
+ /**
103
+ * How to parse the raw request body before passing to the parser function.
104
+ * - 'string': body is parsed as string (uses FastifyBodyParser<string>)
105
+ * - 'buffer': body is parsed as buffer (uses FastifyBodyParser<Buffer>)
106
+ * - 'stream': body is passed as raw stream (uses FastifyContentTypeParser)
107
+ *
108
+ * Defaults to 'string' when not specified.
109
+ */
110
+ parseAs?: 'string' | 'buffer' | 'stream';
111
+ /**
112
+ * The maximum payload size, in bytes, that the custom parser will accept
113
+ * Defaults to Fastify's global body limit (1MB default)
114
+ */
115
+ bodyLimit?: number;
116
+ }
117
+ /**
118
+ * Configuration options for BedrockAgentCoreApp.
119
+ */
120
+ export interface BedrockAgentCoreAppConfig {
121
+ /**
122
+ * Logging configuration options.
123
+ */
124
+ logging?: {
125
+ /**
126
+ * Enable or disable logging.
127
+ * Defaults to true.
128
+ */
129
+ enabled?: boolean;
130
+ /**
131
+ * Disable automatic request/response logging.
132
+ *
133
+ * Can be:
134
+ * - `boolean` - Disable for all requests
135
+ * - `function` - Conditionally disable based on request properties
136
+ *
137
+ * When enabled, Fastify won't log "incoming request" and "request completed" messages.
138
+ * Manual logging with context.log still works.
139
+ *
140
+ * Defaults to `(req) =\> req.url === '/ping'` - disables logging for health checks
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * // Disable for all requests
145
+ * disableRequestLogging: true
146
+ *
147
+ * // Disable only for health checks (default behavior)
148
+ * disableRequestLogging: (request) => request.url === '/ping'
149
+ *
150
+ * // Disable for multiple endpoints
151
+ * disableRequestLogging: (request) => {
152
+ * return ['/ping', '/health', '/metrics'].includes(request.url)
153
+ * }
154
+ *
155
+ * // Disable for load balancer health checks
156
+ * disableRequestLogging: (request) => {
157
+ * return request.headers['user-agent']?.includes('ELB-HealthChecker')
158
+ * }
159
+ * ```
160
+ */
161
+ disableRequestLogging?: boolean | ((request: FastifyRequest) => boolean);
162
+ /**
163
+ * Fastify logger options.
164
+ *
165
+ * Configure log level, custom serializers, streams, and more.
166
+ *
167
+ * @see https://fastify.dev/docs/latest/Reference/Server/#logger
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * // Set log level
172
+ * logging: {
173
+ * options: { level: 'debug' }
174
+ * }
175
+ *
176
+ * // Custom stream (e.g., CloudWatch)
177
+ * logging: {
178
+ * options: {
179
+ * level: 'info',
180
+ * stream: cloudWatchStream
181
+ * }
182
+ * }
183
+ *
184
+ * // Filter sensitive data
185
+ * logging: {
186
+ * options: {
187
+ * level: 'info',
188
+ * serializers: {
189
+ * req: (req) => ({
190
+ * method: req.method,
191
+ * url: req.url
192
+ * // Authorization header excluded
193
+ * })
194
+ * }
195
+ * }
196
+ * }
197
+ * ```
198
+ */
199
+ options?: FastifyLoggerOptions;
200
+ };
201
+ /**
202
+ * Custom content type parsers for handling custom content-types.
203
+ * 'application/json' and 'text/plain' are natively supported.
204
+ */
205
+ contentTypeParsers?: ContentTypeParserConfig[];
206
+ }
207
+ /**
208
+ * Parameters for BedrockAgentCoreApp constructor.
209
+ */
210
+ export interface BedrockAgentCoreAppParams<TSchema extends z.ZodSchema = z.ZodSchema<unknown>> {
211
+ /**
212
+ * Invocation handler configuration with validation and typing.
213
+ */
214
+ invocationHandler: {
215
+ /**
216
+ * The function to process invocation requests.
217
+ */
218
+ process: InvocationHandler<z.infer<TSchema>>;
219
+ /**
220
+ * Optional Zod schema for request validation and TypeScript typing.
221
+ * When provided, validates request.body before passing to handler.
222
+ * When omitted, handler receives unknown request type.
223
+ */
224
+ requestSchema?: TSchema;
225
+ };
226
+ /**
227
+ * WebSocket handler for the /ws endpoint.
228
+ */
229
+ websocketHandler?: WebSocketHandler;
230
+ /**
231
+ * Additional configuration options.
232
+ */
233
+ config?: BedrockAgentCoreAppConfig;
234
+ /**
235
+ * Custom ping handler to determine health status.
236
+ */
237
+ pingHandler?: () => HealthStatus | Promise<HealthStatus>;
238
+ }
239
+ /**
240
+ * Health status values for the /ping endpoint.
241
+ */
242
+ export type HealthStatus = 'Healthy' | 'HealthyBusy';
243
+ /**
244
+ * Health check response format.
245
+ */
246
+ export interface HealthCheckResponse {
247
+ /**
248
+ * Current health status of the application.
249
+ */
250
+ status: HealthStatus;
251
+ /**
252
+ * ISO 8601 timestamp of the last update.
253
+ */
254
+ time_of_last_update: string;
255
+ }
256
+ /**
257
+ * Information about a tracked async task.
258
+ */
259
+ export interface AsyncTaskInfo {
260
+ name: string;
261
+ startTime: number;
262
+ metadata?: Record<string, unknown>;
263
+ }
264
+ /**
265
+ * Status information about all async tasks.
266
+ */
267
+ export interface AsyncTaskStatus {
268
+ activeCount: number;
269
+ runningJobs: Array<{
270
+ name: string;
271
+ duration: number;
272
+ }>;
273
+ }
274
+ /**
275
+ * Default presigned URL timeout in seconds (5 minutes).
276
+ */
277
+ export declare const DEFAULT_PRESIGNED_URL_TIMEOUT = 300;
278
+ /**
279
+ * Maximum presigned URL timeout in seconds (5 minutes).
280
+ */
281
+ export declare const MAX_PRESIGNED_URL_TIMEOUT = 300;
282
+ /**
283
+ * Default AWS region.
284
+ */
285
+ export declare const DEFAULT_REGION = "us-west-2";
286
+ /**
287
+ * Zod schema for validating runtime ARN format.
288
+ *
289
+ * Expected format: arn:aws:bedrock-agentcore:\{region\}:\{account\}:runtime/\{runtime_id\}
290
+ */
291
+ export declare const RuntimeArnSchema: z.ZodString;
292
+ /**
293
+ * Parsed components of a runtime ARN.
294
+ */
295
+ export interface ParsedRuntimeArn {
296
+ /**
297
+ * AWS region where the runtime is located.
298
+ */
299
+ region: string;
300
+ /**
301
+ * AWS account ID that owns the runtime.
302
+ */
303
+ accountId: string;
304
+ /**
305
+ * Unique identifier for the runtime.
306
+ */
307
+ runtimeId: string;
308
+ }
309
+ /**
310
+ * Configuration options for RuntimeClient.
311
+ */
312
+ export interface RuntimeClientConfig {
313
+ /**
314
+ * AWS region where the runtime service is deployed.
315
+ * Defaults to process.env.AWS_REGION or 'us-west-2'.
316
+ */
317
+ region?: string;
318
+ /**
319
+ * Optional AWS credentials provider.
320
+ * When omitted, the SDK uses the default Node.js credential provider chain.
321
+ *
322
+ * @example
323
+ * Using custom credentials:
324
+ * ```ts
325
+ * import { fromIni } from '@aws-sdk/credential-providers'
326
+ *
327
+ * const client = new RuntimeClient({
328
+ * region: 'us-west-2',
329
+ * credentialsProvider: fromIni({ profile: 'my-profile' })
330
+ * })
331
+ * ```
332
+ */
333
+ credentialsProvider?: AwsCredentialIdentityProvider;
334
+ }
335
+ /**
336
+ * Parameters for generating WebSocket connection credentials.
337
+ */
338
+ export interface GenerateWsConnectionParams {
339
+ /**
340
+ * Full runtime ARN.
341
+ *
342
+ * Example: 'arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/my-runtime-abc'
343
+ */
344
+ runtimeArn: string;
345
+ /**
346
+ * Optional session ID to use.
347
+ * If not provided, a UUID will be auto-generated.
348
+ */
349
+ sessionId?: string;
350
+ /**
351
+ * Optional endpoint name to use as 'qualifier' query parameter.
352
+ * If provided, adds ?qualifier=\{endpointName\} to the URL.
353
+ */
354
+ endpointName?: string;
355
+ }
356
+ /**
357
+ * Parameters for generating presigned WebSocket URL.
358
+ */
359
+ export interface GeneratePresignedUrlParams {
360
+ /**
361
+ * Full runtime ARN.
362
+ *
363
+ * Example: 'arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/my-runtime-abc'
364
+ */
365
+ runtimeArn: string;
366
+ /**
367
+ * Optional session ID to use.
368
+ * If not provided, a UUID will be auto-generated.
369
+ */
370
+ sessionId?: string;
371
+ /**
372
+ * Optional endpoint name to use as 'qualifier' query parameter.
373
+ * If provided, adds ?qualifier=\{endpointName\} to the URL before signing.
374
+ */
375
+ endpointName?: string;
376
+ /**
377
+ * Additional query parameters to include in the presigned URL before signing.
378
+ *
379
+ * Example: \{ "customParam": "value", "anotherParam": "value2" \}
380
+ */
381
+ customHeaders?: Record<string, string>;
382
+ /**
383
+ * Seconds until URL expires.
384
+ * Must be between 1 and 300 seconds.
385
+ * Defaults to 300 seconds (5 minutes).
386
+ */
387
+ expires?: number;
388
+ }
389
+ /**
390
+ * Parameters for generating WebSocket connection with OAuth authentication.
391
+ */
392
+ export interface GenerateWsConnectionOAuthParams {
393
+ /**
394
+ * Full runtime ARN.
395
+ *
396
+ * Example: 'arn:aws:bedrock-agentcore:us-west-2:123456789012:runtime/my-runtime-abc'
397
+ */
398
+ runtimeArn: string;
399
+ /**
400
+ * OAuth bearer token for authentication.
401
+ * Must not be empty.
402
+ */
403
+ bearerToken: string;
404
+ /**
405
+ * Optional session ID to use.
406
+ * If not provided, a UUID will be auto-generated.
407
+ */
408
+ sessionId?: string;
409
+ /**
410
+ * Optional endpoint name to use as 'qualifier' query parameter.
411
+ * If provided, adds ?qualifier=\{endpointName\} to the URL.
412
+ */
413
+ endpointName?: string;
414
+ }
415
+ /**
416
+ * WebSocket connection details with URL and authentication headers.
417
+ */
418
+ export interface WebSocketConnection {
419
+ /**
420
+ * WebSocket URL (wss://) with query parameters.
421
+ */
422
+ url: string;
423
+ /**
424
+ * Authentication headers for WebSocket connection.
425
+ * Includes SigV4 signature and session information.
426
+ */
427
+ headers: Record<string, string>;
428
+ }
429
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Buffer } from 'buffer';
2
+ import { z } from 'zod';
3
+ // =============================================================================
4
+ // RuntimeClient Types (WebSocket Client)
5
+ // =============================================================================
6
+ /**
7
+ * Default presigned URL timeout in seconds (5 minutes).
8
+ */
9
+ export const DEFAULT_PRESIGNED_URL_TIMEOUT = 300;
10
+ /**
11
+ * Maximum presigned URL timeout in seconds (5 minutes).
12
+ */
13
+ export const MAX_PRESIGNED_URL_TIMEOUT = 300;
14
+ /**
15
+ * Default AWS region.
16
+ */
17
+ export const DEFAULT_REGION = 'us-west-2';
18
+ /**
19
+ * Zod schema for validating runtime ARN format.
20
+ *
21
+ * Expected format: arn:aws:bedrock-agentcore:\{region\}:\{account\}:runtime/\{runtime_id\}
22
+ */
23
+ export const RuntimeArnSchema = z
24
+ .string()
25
+ .regex(/^arn:aws:bedrock-agentcore:[^:]+:[^:]+:runtime\/.+$/, 'Invalid runtime ARN format. Expected: arn:aws:bedrock-agentcore:{region}:{account}:runtime/{runtime_id}');
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4SvB,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,KAAK,CACJ,qDAAqD,EACrD,yGAAyG,CAC1G,CAAA"}
@@ -42,6 +42,14 @@ export declare class Browser {
42
42
  * @throws Error if a session is already active
43
43
  */
44
44
  startSession(params?: StartSessionParams): Promise<SessionInfo>;
45
+ /**
46
+ * Attaches an existing session by ID so that signing methods
47
+ * (generateWebSocketUrl, generateLiveViewUrl) can be used
48
+ * without calling startSession().
49
+ *
50
+ * @param sessionId - The ID of an existing browser session
51
+ */
52
+ attachSession(sessionId: string): void;
45
53
  /**
46
54
  * Stops the active browser session.
47
55
  *
@@ -112,6 +120,17 @@ export declare class Browser {
112
120
  * ```
113
121
  */
114
122
  updateBrowserStream(params: UpdateStreamParams): Promise<UpdateStreamResponse>;
123
+ /**
124
+ * Generates a presigned HTTPS URL for the browser live-view (DCV streaming).
125
+ * Uses SigV4 presigning with query parameters — suitable for browser-side
126
+ * WebSocket connections where custom headers cannot be sent.
127
+ *
128
+ * @param expiresIn - URL expiration in seconds (default: 300)
129
+ * @returns Presigned HTTPS URL string
130
+ *
131
+ * @throws Error if no session is active
132
+ */
133
+ generateLiveViewUrl(expiresIn?: number): Promise<string>;
115
134
  /**
116
135
  * Generates a WebSocket URL and authentication headers for browser automation.
117
136
  * Uses AWS Signature Version 4 to sign the WebSocket connection request.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/tools/browser/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAOvB,MAAM,mCAAmC,CAAA;AAM1C,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EAEpB,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACzC,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAO;IAC7C,OAAO,CAAC,oBAAoB,CAAuD;IAEnF;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAevC;;;;;;;OAOG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAqCrE;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsExE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiC9E;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqCpF;;;;;;;OAOG;IACG,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAiD3D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/tools/browser/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAOvB,MAAM,mCAAmC,CAAA;AAM1C,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EAEpB,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACzC,SAAS,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAO;IAC7C,OAAO,CAAC,oBAAoB,CAAuD;IAEnF;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAevC;;;;;;;OAOG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CrE;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsExE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiC9E;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqCpF;;;;;;;;;OASG;IACG,mBAAmB,CAAC,SAAS,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmC3D;;;;;;;OAOG;IACG,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAiD3D"}
@@ -63,6 +63,9 @@ export class Browser {
63
63
  const sessionName = params?.sessionName ?? DEFAULT_SESSION_NAME;
64
64
  const sessionTimeoutSeconds = params?.timeout ?? DEFAULT_TIMEOUT;
65
65
  // Prepare command input
66
+ // Our SDK types (ProxyEntry, BypassConfig, ProfileConfiguration) are convenience wrappers
67
+ // over the tagged-union shapes in @aws-sdk/client-bedrock-agentcore (Proxy, ProxyBypass,
68
+ // BrowserProfileConfiguration). The wire format is identical, so the assertion is safe.
66
69
  const input = {
67
70
  browserIdentifier: this.identifier,
68
71
  name: sessionName,
@@ -73,6 +76,9 @@ export class Browser {
73
76
  height: params.viewport.height,
74
77
  }
75
78
  : undefined,
79
+ ...(params?.proxyConfiguration && { proxyConfiguration: params.proxyConfiguration }),
80
+ ...(params?.extensions && { extensions: params.extensions }),
81
+ ...(params?.profileConfiguration && { profileConfiguration: params.profileConfiguration }),
76
82
  };
77
83
  // Start the session
78
84
  const command = new StartBrowserSessionCommand(input);
@@ -86,6 +92,20 @@ export class Browser {
86
92
  this._session = sessionInfo;
87
93
  return sessionInfo;
88
94
  }
95
+ /**
96
+ * Attaches an existing session by ID so that signing methods
97
+ * (generateWebSocketUrl, generateLiveViewUrl) can be used
98
+ * without calling startSession().
99
+ *
100
+ * @param sessionId - The ID of an existing browser session
101
+ */
102
+ attachSession(sessionId) {
103
+ this._session = {
104
+ sessionId,
105
+ sessionName: 'attached',
106
+ createdAt: new Date(),
107
+ };
108
+ }
89
109
  /**
90
110
  * Stops the active browser session.
91
111
  *
@@ -266,6 +286,42 @@ export class Browser {
266
286
  }
267
287
  return result;
268
288
  }
289
+ /**
290
+ * Generates a presigned HTTPS URL for the browser live-view (DCV streaming).
291
+ * Uses SigV4 presigning with query parameters — suitable for browser-side
292
+ * WebSocket connections where custom headers cannot be sent.
293
+ *
294
+ * @param expiresIn - URL expiration in seconds (default: 300)
295
+ * @returns Presigned HTTPS URL string
296
+ *
297
+ * @throws Error if no session is active
298
+ */
299
+ async generateLiveViewUrl(expiresIn = 300) {
300
+ if (!this._session) {
301
+ throw new Error('No active session. Call startSession() first.');
302
+ }
303
+ const host = `bedrock-agentcore.${this.region}.amazonaws.com`;
304
+ const path = `/browser-streams/${this.identifier}/sessions/${this._session.sessionId}/live-view`;
305
+ const credentialsProvider = this._credentialsProvider ?? fromNodeProviderChain();
306
+ const credentials = await credentialsProvider();
307
+ const signer = new SignatureV4({
308
+ service: 'bedrock-agentcore',
309
+ region: this.region,
310
+ credentials,
311
+ sha256: Sha256,
312
+ });
313
+ const presigned = await signer.presign(new HttpRequest({
314
+ protocol: 'https:',
315
+ hostname: host,
316
+ path,
317
+ method: 'GET',
318
+ headers: { host },
319
+ }), { expiresIn });
320
+ const qs = Object.entries(presigned.query ?? {})
321
+ .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)
322
+ .join('&');
323
+ return `https://${host}${path}?${qs}`;
324
+ }
269
325
  /**
270
326
  * Generates a WebSocket URL and authentication headers for browser automation.
271
327
  * Uses AWS Signature Version 4 to sign the WebSocket connection request.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/tools/browser/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/tools/browser/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { Browser } from './client.js';
2
- export type { BrowserClientConfig, SessionInfo, StartSessionParams, ViewportConfig, WebSocketConnection, SessionStatus, BrowserOperationResult, } from './types.js';
2
+ export type { BrowserClientConfig, SessionInfo, StartSessionParams, ViewportConfig, BasicAuth, ProxyCredentials, ExternalProxy, ProxyEntry, BypassConfig, ProxyConfiguration, S3Location, ResourceLocation, BrowserExtension, ProfileConfiguration, SessionConfiguration, WebSocketConnection, SessionStatus, BrowserOperationResult, } from './types.js';
3
3
  export { DEFAULT_IDENTIFIER, DEFAULT_SESSION_NAME, DEFAULT_TIMEOUT } from './types.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAqBrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { PlaywrightBrowser } from '../playwright/client.js';
2
+ /**
3
+ * Creates a Strands SDK tool for clicking elements.
4
+ * Thin wrapper around PlaywrightBrowser.click()
5
+ *
6
+ * @experimental
7
+ */
8
+ export declare function createClickTool(client: PlaywrightBrowser): import("@strands-agents/sdk").InvokableTool<{
9
+ selector: string;
10
+ timeout?: number | undefined;
11
+ }, {
12
+ success: true;
13
+ message: string;
14
+ error?: never;
15
+ } | {
16
+ success: false;
17
+ error: string;
18
+ message?: never;
19
+ }>;
20
+ //# sourceMappingURL=click-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click-tool.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/browser/integrations/strands/click-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE;;;;;GAKG;AAEH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;GAoBxD"}