@onkernel/sdk 0.55.0 → 0.57.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 (250) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/api-promise.d.mts +1 -0
  3. package/api-promise.d.mts.map +1 -1
  4. package/api-promise.d.ts +1 -0
  5. package/api-promise.d.ts.map +1 -1
  6. package/api-promise.mjs +1 -0
  7. package/api-promise.mjs.map +1 -1
  8. package/client.d.mts +2 -2
  9. package/client.d.mts.map +1 -1
  10. package/client.d.ts +2 -2
  11. package/client.d.ts.map +1 -1
  12. package/client.js.map +1 -1
  13. package/client.mjs.map +1 -1
  14. package/core/api-promise.d.mts.map +1 -1
  15. package/core/api-promise.d.ts.map +1 -1
  16. package/core/api-promise.mjs.map +1 -1
  17. package/core/error.mjs.map +1 -1
  18. package/core/pagination.d.mts.map +1 -1
  19. package/core/pagination.d.ts.map +1 -1
  20. package/core/pagination.mjs.map +1 -1
  21. package/core/resource.d.mts.map +1 -1
  22. package/core/resource.d.ts.map +1 -1
  23. package/core/streaming.d.mts.map +1 -1
  24. package/core/streaming.d.ts.map +1 -1
  25. package/core/streaming.mjs.map +1 -1
  26. package/core/uploads.d.mts.map +1 -1
  27. package/core/uploads.d.ts.map +1 -1
  28. package/core/uploads.mjs.map +1 -1
  29. package/error.d.mts +1 -0
  30. package/error.d.mts.map +1 -1
  31. package/error.d.ts +1 -0
  32. package/error.d.ts.map +1 -1
  33. package/error.mjs +1 -0
  34. package/error.mjs.map +1 -1
  35. package/index.d.mts.map +1 -1
  36. package/index.d.ts.map +1 -1
  37. package/index.mjs.map +1 -1
  38. package/internal/decoders/line.mjs.map +1 -1
  39. package/internal/detect-platform.mjs.map +1 -1
  40. package/internal/headers.mjs.map +1 -1
  41. package/internal/parse.d.mts.map +1 -1
  42. package/internal/parse.d.ts.map +1 -1
  43. package/internal/parse.mjs.map +1 -1
  44. package/internal/request-options.d.mts.map +1 -1
  45. package/internal/request-options.d.ts.map +1 -1
  46. package/internal/shims.d.mts +6 -0
  47. package/internal/shims.d.mts.map +1 -1
  48. package/internal/shims.d.ts +6 -0
  49. package/internal/shims.d.ts.map +1 -1
  50. package/internal/to-file.d.mts.map +1 -1
  51. package/internal/to-file.d.ts.map +1 -1
  52. package/internal/to-file.mjs.map +1 -1
  53. package/internal/types.d.mts +4 -4
  54. package/internal/types.d.mts.map +1 -1
  55. package/internal/types.d.ts +4 -4
  56. package/internal/types.d.ts.map +1 -1
  57. package/internal/uploads.d.mts.map +1 -1
  58. package/internal/uploads.d.ts.map +1 -1
  59. package/internal/uploads.mjs.map +1 -1
  60. package/internal/utils/base64.mjs.map +1 -1
  61. package/internal/utils/log.d.mts.map +1 -1
  62. package/internal/utils/log.d.ts.map +1 -1
  63. package/internal/utils/log.mjs.map +1 -1
  64. package/internal/utils/path.mjs.map +1 -1
  65. package/internal/utils/query.mjs.map +1 -1
  66. package/internal/utils/values.mjs.map +1 -1
  67. package/internal/utils.d.mts.map +1 -1
  68. package/internal/utils.d.ts.map +1 -1
  69. package/internal/utils.mjs.map +1 -1
  70. package/lib/browser-fetch.d.mts.map +1 -1
  71. package/lib/browser-fetch.d.ts.map +1 -1
  72. package/lib/browser-fetch.mjs.map +1 -1
  73. package/lib/browser-routing.d.mts.map +1 -1
  74. package/lib/browser-routing.d.ts.map +1 -1
  75. package/lib/browser-routing.mjs.map +1 -1
  76. package/package.json +1 -1
  77. package/pagination.d.mts +1 -0
  78. package/pagination.d.mts.map +1 -1
  79. package/pagination.d.ts +1 -0
  80. package/pagination.d.ts.map +1 -1
  81. package/pagination.mjs +1 -0
  82. package/pagination.mjs.map +1 -1
  83. package/resource.d.mts +1 -0
  84. package/resource.d.mts.map +1 -1
  85. package/resource.d.ts +1 -0
  86. package/resource.d.ts.map +1 -1
  87. package/resource.mjs +1 -0
  88. package/resource.mjs.map +1 -1
  89. package/resources/apps.d.mts.map +1 -1
  90. package/resources/apps.d.ts.map +1 -1
  91. package/resources/apps.mjs.map +1 -1
  92. package/resources/auth/auth.d.mts.map +1 -1
  93. package/resources/auth/auth.d.ts.map +1 -1
  94. package/resources/auth/auth.mjs.map +1 -1
  95. package/resources/auth/connections.d.mts +35 -5
  96. package/resources/auth/connections.d.mts.map +1 -1
  97. package/resources/auth/connections.d.ts +35 -5
  98. package/resources/auth/connections.d.ts.map +1 -1
  99. package/resources/auth/connections.mjs.map +1 -1
  100. package/resources/auth/index.d.mts.map +1 -1
  101. package/resources/auth/index.d.ts.map +1 -1
  102. package/resources/auth/index.mjs.map +1 -1
  103. package/resources/auth.d.mts.map +1 -1
  104. package/resources/auth.d.ts.map +1 -1
  105. package/resources/auth.mjs.map +1 -1
  106. package/resources/browser-pools.d.mts +33 -15
  107. package/resources/browser-pools.d.mts.map +1 -1
  108. package/resources/browser-pools.d.ts +33 -15
  109. package/resources/browser-pools.d.ts.map +1 -1
  110. package/resources/browser-pools.js.map +1 -1
  111. package/resources/browser-pools.mjs.map +1 -1
  112. package/resources/browsers/browsers.d.mts +98 -53
  113. package/resources/browsers/browsers.d.mts.map +1 -1
  114. package/resources/browsers/browsers.d.ts +98 -53
  115. package/resources/browsers/browsers.d.ts.map +1 -1
  116. package/resources/browsers/browsers.js +4 -14
  117. package/resources/browsers/browsers.js.map +1 -1
  118. package/resources/browsers/browsers.mjs +4 -14
  119. package/resources/browsers/browsers.mjs.map +1 -1
  120. package/resources/browsers/computer.d.mts.map +1 -1
  121. package/resources/browsers/computer.d.ts.map +1 -1
  122. package/resources/browsers/computer.mjs.map +1 -1
  123. package/resources/browsers/fs/fs.d.mts.map +1 -1
  124. package/resources/browsers/fs/fs.d.ts.map +1 -1
  125. package/resources/browsers/fs/fs.mjs.map +1 -1
  126. package/resources/browsers/fs/index.d.mts.map +1 -1
  127. package/resources/browsers/fs/index.d.ts.map +1 -1
  128. package/resources/browsers/fs/index.mjs.map +1 -1
  129. package/resources/browsers/fs/watch.d.mts.map +1 -1
  130. package/resources/browsers/fs/watch.d.ts.map +1 -1
  131. package/resources/browsers/fs/watch.mjs.map +1 -1
  132. package/resources/browsers/fs.d.mts.map +1 -1
  133. package/resources/browsers/fs.d.ts.map +1 -1
  134. package/resources/browsers/fs.mjs.map +1 -1
  135. package/resources/browsers/index.d.mts +2 -1
  136. package/resources/browsers/index.d.mts.map +1 -1
  137. package/resources/browsers/index.d.ts +2 -1
  138. package/resources/browsers/index.d.ts.map +1 -1
  139. package/resources/browsers/index.js +3 -1
  140. package/resources/browsers/index.js.map +1 -1
  141. package/resources/browsers/index.mjs +1 -0
  142. package/resources/browsers/index.mjs.map +1 -1
  143. package/resources/browsers/logs.d.mts.map +1 -1
  144. package/resources/browsers/logs.d.ts.map +1 -1
  145. package/resources/browsers/logs.mjs.map +1 -1
  146. package/resources/browsers/playwright.d.mts.map +1 -1
  147. package/resources/browsers/playwright.d.ts.map +1 -1
  148. package/resources/browsers/playwright.mjs.map +1 -1
  149. package/resources/browsers/process.d.mts.map +1 -1
  150. package/resources/browsers/process.d.ts.map +1 -1
  151. package/resources/browsers/process.mjs.map +1 -1
  152. package/resources/browsers/replays.d.mts.map +1 -1
  153. package/resources/browsers/replays.d.ts.map +1 -1
  154. package/resources/browsers/replays.mjs.map +1 -1
  155. package/resources/browsers/telemetry.d.mts +1247 -0
  156. package/resources/browsers/telemetry.d.mts.map +1 -0
  157. package/resources/browsers/telemetry.d.ts +1247 -0
  158. package/resources/browsers/telemetry.d.ts.map +1 -0
  159. package/resources/browsers/telemetry.js +45 -0
  160. package/resources/browsers/telemetry.js.map +1 -0
  161. package/resources/browsers/telemetry.mjs +41 -0
  162. package/resources/browsers/telemetry.mjs.map +1 -0
  163. package/resources/browsers.d.mts.map +1 -1
  164. package/resources/browsers.d.ts.map +1 -1
  165. package/resources/browsers.mjs.map +1 -1
  166. package/resources/credential-providers.d.mts.map +1 -1
  167. package/resources/credential-providers.d.ts.map +1 -1
  168. package/resources/credential-providers.mjs.map +1 -1
  169. package/resources/credentials.d.mts.map +1 -1
  170. package/resources/credentials.d.ts.map +1 -1
  171. package/resources/credentials.mjs.map +1 -1
  172. package/resources/deployments.d.mts.map +1 -1
  173. package/resources/deployments.d.ts.map +1 -1
  174. package/resources/deployments.mjs.map +1 -1
  175. package/resources/extensions.d.mts.map +1 -1
  176. package/resources/extensions.d.ts.map +1 -1
  177. package/resources/extensions.mjs.map +1 -1
  178. package/resources/index.d.mts +1 -1
  179. package/resources/index.d.mts.map +1 -1
  180. package/resources/index.d.ts +1 -1
  181. package/resources/index.d.ts.map +1 -1
  182. package/resources/index.js.map +1 -1
  183. package/resources/index.mjs.map +1 -1
  184. package/resources/invocations.d.mts +18 -6
  185. package/resources/invocations.d.mts.map +1 -1
  186. package/resources/invocations.d.ts +18 -6
  187. package/resources/invocations.d.ts.map +1 -1
  188. package/resources/invocations.js.map +1 -1
  189. package/resources/invocations.mjs.map +1 -1
  190. package/resources/profiles.d.mts.map +1 -1
  191. package/resources/profiles.d.ts.map +1 -1
  192. package/resources/profiles.mjs.map +1 -1
  193. package/resources/projects/index.d.mts.map +1 -1
  194. package/resources/projects/index.d.ts.map +1 -1
  195. package/resources/projects/index.mjs.map +1 -1
  196. package/resources/projects/limits.d.mts +0 -15
  197. package/resources/projects/limits.d.mts.map +1 -1
  198. package/resources/projects/limits.d.ts +0 -15
  199. package/resources/projects/limits.d.ts.map +1 -1
  200. package/resources/projects/limits.js +2 -2
  201. package/resources/projects/limits.js.map +1 -1
  202. package/resources/projects/limits.mjs +2 -2
  203. package/resources/projects/limits.mjs.map +1 -1
  204. package/resources/projects/projects.d.mts +1 -2
  205. package/resources/projects/projects.d.mts.map +1 -1
  206. package/resources/projects/projects.d.ts +1 -2
  207. package/resources/projects/projects.d.ts.map +1 -1
  208. package/resources/projects/projects.js +6 -7
  209. package/resources/projects/projects.js.map +1 -1
  210. package/resources/projects/projects.mjs +6 -7
  211. package/resources/projects/projects.mjs.map +1 -1
  212. package/resources/projects.d.mts.map +1 -1
  213. package/resources/projects.d.ts.map +1 -1
  214. package/resources/projects.mjs.map +1 -1
  215. package/resources/proxies.d.mts +3 -1
  216. package/resources/proxies.d.mts.map +1 -1
  217. package/resources/proxies.d.ts +3 -1
  218. package/resources/proxies.d.ts.map +1 -1
  219. package/resources/proxies.mjs.map +1 -1
  220. package/resources.d.mts.map +1 -1
  221. package/resources.d.ts.map +1 -1
  222. package/resources.mjs.map +1 -1
  223. package/src/client.ts +0 -4
  224. package/src/resources/auth/connections.ts +49 -5
  225. package/src/resources/browser-pools.ts +33 -16
  226. package/src/resources/browsers/browsers.ts +170 -69
  227. package/src/resources/browsers/index.ts +36 -2
  228. package/src/resources/browsers/telemetry.ts +1541 -0
  229. package/src/resources/index.ts +0 -2
  230. package/src/resources/invocations.ts +18 -7
  231. package/src/resources/projects/limits.ts +2 -20
  232. package/src/resources/projects/projects.ts +6 -7
  233. package/src/resources/proxies.ts +3 -1
  234. package/src/version.ts +1 -1
  235. package/streaming.d.mts +1 -0
  236. package/streaming.d.mts.map +1 -1
  237. package/streaming.d.ts +1 -0
  238. package/streaming.d.ts.map +1 -1
  239. package/streaming.mjs +1 -0
  240. package/streaming.mjs.map +1 -1
  241. package/uploads.d.mts +1 -0
  242. package/uploads.d.mts.map +1 -1
  243. package/uploads.d.ts +1 -0
  244. package/uploads.d.ts.map +1 -1
  245. package/uploads.mjs +1 -0
  246. package/uploads.mjs.map +1 -1
  247. package/version.d.mts +1 -1
  248. package/version.d.ts +1 -1
  249. package/version.js +1 -1
  250. package/version.mjs +1 -1
@@ -269,15 +269,59 @@ export interface ManagedAuth {
269
269
  browser_session_id?: string | null;
270
270
 
271
271
  /**
272
- * Whether automatic re-authentication is possible (has credential, selectors, and
273
- * login_url)
272
+ * Whether Kernel can automatically re-authenticate this connection when the
273
+ * session expires. Requires a prior successful login plus either a Kernel
274
+ * credential or an external credential reference. See `can_reauth_reason` for the
275
+ * specific outcome.
274
276
  */
275
277
  can_reauth?: boolean;
276
278
 
277
279
  /**
278
- * Reason why automatic re-authentication is or is not possible
279
- */
280
- can_reauth_reason?: string;
280
+ * Machine-readable reason for the current value of `can_reauth`. Affirmative
281
+ * values (re-auth is possible):
282
+ *
283
+ * - `external_credential` — an external credential provider is attached
284
+ * - `cua_has_credential` — CUA flow with a stored credential
285
+ * - `has_credential` — Kernel credential is attached (optimistic; plan viability
286
+ * not checked)
287
+ * - `viable_plans_found` — at least one stored login plan can be replayed
288
+ * - `no_requirements_recorded` — no recorded credential requirements to fail
289
+ * against
290
+ * - `requirements_satisfiable` — recorded requirements can be met by the attached
291
+ * credential
292
+ *
293
+ * Negative values (a human must complete the login flow):
294
+ *
295
+ * - `no_prior_successful_login` — connection has never completed a successful
296
+ * login
297
+ * - `no_credential` — no Kernel or external credential attached
298
+ * - `no_viable_plans` — credential attached but no replayable login plan exists
299
+ * yet
300
+ * - `viable_plans_require_external_action` — stored plans need an external step
301
+ * (email link, push, etc.)
302
+ * - `requires_external_action` — recorded requirements include an external step
303
+ * - `requires_totp_without_secret` — flow needs a TOTP code but no TOTP secret is
304
+ * stored
305
+ * - `requires_sms_code` — flow needs an SMS code that cannot be received
306
+ * automatically
307
+ * - `requires_email_code` — flow needs an email code that cannot be received
308
+ * automatically
309
+ */
310
+ can_reauth_reason?:
311
+ | 'external_credential'
312
+ | 'cua_has_credential'
313
+ | 'has_credential'
314
+ | 'viable_plans_found'
315
+ | 'no_requirements_recorded'
316
+ | 'requirements_satisfiable'
317
+ | 'no_prior_successful_login'
318
+ | 'no_credential'
319
+ | 'no_viable_plans'
320
+ | 'viable_plans_require_external_action'
321
+ | 'requires_external_action'
322
+ | 'requires_totp_without_secret'
323
+ | 'requires_sms_code'
324
+ | 'requires_email_code';
281
325
 
282
326
  /**
283
327
  * Reference to credentials for the auth connection. Use one of:
@@ -3,6 +3,7 @@
3
3
  import { APIResource } from '../core/resource';
4
4
  import * as Shared from './shared';
5
5
  import * as BrowsersAPI from './browsers/browsers';
6
+ import * as TelemetryAPI from './browsers/telemetry';
6
7
  import { APIPromise } from '../core/api-promise';
7
8
  import { buildHeaders } from '../internal/headers';
8
9
  import { RequestOptions } from '../internal/request-options';
@@ -238,9 +239,11 @@ export namespace BrowserPool {
238
239
  proxy_id?: string;
239
240
 
240
241
  /**
241
- * Optional URL to open when a browser is created for the pool. Navigation is
242
- * best-effort, so navigation failures do not prevent the pool from filling. Reused
243
- * browsers keep the page left by the previous lease.
242
+ * Optional URL to navigate to when a new browser is warmed into the pool.
243
+ * Best-effort: failures to navigate do not fail pool fill. Only applied to
244
+ * newly-warmed browsers; browsers reused via release/acquire keep whatever URL the
245
+ * previous lease left them on. Accepts any URL Chromium can resolve, including
246
+ * chrome:// pages.
244
247
  */
245
248
  start_url?: string;
246
249
 
@@ -323,6 +326,13 @@ export interface BrowserPoolAcquireResponse {
323
326
  */
324
327
  browser_live_view_url?: string;
325
328
 
329
+ /**
330
+ * Custom Chrome enterprise policy overrides that were applied to this browser
331
+ * session, if any. Echoed back for verification. Keys are Chrome enterprise policy
332
+ * names.
333
+ */
334
+ chrome_policy?: { [key: string]: unknown };
335
+
326
336
  /**
327
337
  * When the browser session was soft-deleted. Only present for deleted sessions.
328
338
  */
@@ -339,12 +349,6 @@ export interface BrowserPoolAcquireResponse {
339
349
  */
340
350
  kiosk_mode?: boolean;
341
351
 
342
- /**
343
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
344
- * instead.
345
- */
346
- persistence?: BrowsersAPI.BrowserPersistence;
347
-
348
352
  /**
349
353
  * Browser pool this session was acquired from, if any.
350
354
  */
@@ -361,10 +365,19 @@ export interface BrowserPoolAcquireResponse {
361
365
  proxy_id?: string;
362
366
 
363
367
  /**
364
- * Start URL requested for the session, if provided.
368
+ * URL the session was asked to navigate to on creation, if any. Recorded for
369
+ * debugging. Navigation is fire-and-forget — the URL is dispatched to the browser
370
+ * without waiting for it to load, and any errors (DNS failure, bad status,
371
+ * timeout) are silently dropped. Captures what was requested, not what the browser
372
+ * actually loaded.
365
373
  */
366
374
  start_url?: string;
367
375
 
376
+ /**
377
+ * Active telemetry configuration for the session, if any.
378
+ */
379
+ telemetry?: TelemetryAPI.BrowserTelemetryConfig | null;
380
+
368
381
  /**
369
382
  * Session usage metrics.
370
383
  */
@@ -443,9 +456,11 @@ export interface BrowserPoolCreateParams {
443
456
  proxy_id?: string;
444
457
 
445
458
  /**
446
- * Optional URL to open when a browser is created for the pool. Navigation is
447
- * best-effort, so navigation failures do not prevent the pool from filling. Reused
448
- * browsers keep the page left by the previous lease.
459
+ * Optional URL to navigate to when a new browser is warmed into the pool.
460
+ * Best-effort: failures to navigate do not fail pool fill. Only applied to
461
+ * newly-warmed browsers; browsers reused via release/acquire keep whatever URL the
462
+ * previous lease left them on. Accepts any URL Chromium can resolve, including
463
+ * chrome:// pages.
449
464
  */
450
465
  start_url?: string;
451
466
 
@@ -540,9 +555,11 @@ export interface BrowserPoolUpdateParams {
540
555
  proxy_id?: string;
541
556
 
542
557
  /**
543
- * Optional URL to open when a browser is created for the pool. Navigation is
544
- * best-effort, so navigation failures do not prevent the pool from filling. Reused
545
- * browsers keep the page left by the previous lease.
558
+ * Optional URL to navigate to when a new browser is warmed into the pool.
559
+ * Best-effort: failures to navigate do not fail pool fill. Only applied to
560
+ * newly-warmed browsers; browsers reused via release/acquire keep whatever URL the
561
+ * previous lease left them on. Accepts any URL Chromium can resolve, including
562
+ * chrome:// pages.
546
563
  */
547
564
  start_url?: string;
548
565
 
@@ -51,6 +51,43 @@ import {
51
51
  ReplayStopParams,
52
52
  Replays,
53
53
  } from './replays';
54
+ import * as TelemetryAPI from './telemetry';
55
+ import {
56
+ BrowserCallStack,
57
+ BrowserConsoleErrorEvent,
58
+ BrowserConsoleLogEvent,
59
+ BrowserEventContext,
60
+ BrowserEventSource,
61
+ BrowserHTTPHeaders,
62
+ BrowserInteractionClickEvent,
63
+ BrowserInteractionKeyEvent,
64
+ BrowserInteractionScrollSettledEvent,
65
+ BrowserMonitorDisconnectedEvent,
66
+ BrowserMonitorInitFailedEvent,
67
+ BrowserMonitorReconnectFailedEvent,
68
+ BrowserMonitorReconnectedEvent,
69
+ BrowserMonitorScreenshotEvent,
70
+ BrowserNetworkIdleEvent,
71
+ BrowserNetworkLoadingFailedEvent,
72
+ BrowserNetworkRequestEvent,
73
+ BrowserNetworkResponseEvent,
74
+ BrowserPageDomContentLoadedEvent,
75
+ BrowserPageLayoutSettledEvent,
76
+ BrowserPageLayoutShiftEvent,
77
+ BrowserPageLcpEvent,
78
+ BrowserPageLoadEvent,
79
+ BrowserPageNavigationEvent,
80
+ BrowserPageNavigationSettledEvent,
81
+ BrowserPageTabOpenedEvent,
82
+ BrowserTelemetryCategoriesConfig,
83
+ BrowserTelemetryCategoryConfig,
84
+ BrowserTelemetryConfig,
85
+ BrowserTelemetryEvent,
86
+ BrowserTelemetryRequestConfig,
87
+ Telemetry,
88
+ TelemetryStreamParams,
89
+ TelemetryStreamResponse,
90
+ } from './telemetry';
54
91
  import * as FsAPI from './fs/fs';
55
92
  import {
56
93
  FCreateDirectoryParams,
@@ -82,6 +119,7 @@ import { browserFetch, type BrowserFetchInit } from '../../lib/browser-fetch';
82
119
  * Create and manage browser sessions.
83
120
  */
84
121
  export class Browsers extends APIResource {
122
+ telemetry: TelemetryAPI.Telemetry = new TelemetryAPI.Telemetry(this._client);
85
123
  replays: ReplaysAPI.Replays = new ReplaysAPI.Replays(this._client);
86
124
  fs: FsAPI.Fs = new FsAPI.Fs(this._client);
87
125
  process: ProcessAPI.Process = new ProcessAPI.Process(this._client);
@@ -155,21 +193,6 @@ export class Browsers extends APIResource {
155
193
  return this._client.getAPIList('/browsers', OffsetPagination<BrowserListResponse>, { query, ...options });
156
194
  }
157
195
 
158
- /**
159
- * DEPRECATED: Use DELETE /browsers/{id} instead. Delete a persistent browser
160
- * session by its persistent_id.
161
- *
162
- * @deprecated
163
- */
164
- delete(params: BrowserDeleteParams, options?: RequestOptions): APIPromise<void> {
165
- const { persistent_id } = params;
166
- return this._client.delete('/browsers', {
167
- query: { persistent_id },
168
- ...options,
169
- headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
170
- });
171
- }
172
-
173
196
  /**
174
197
  * Sends an HTTP request through Chrome's HTTP request stack, inheriting the
175
198
  * browser's TLS fingerprint, cookies, proxy configuration, and headers. Returns a
@@ -242,17 +265,6 @@ export type BrowserListResponsesOffsetPagination = OffsetPagination<BrowserListR
242
265
 
243
266
  export type ProfilesOffsetPagination = OffsetPagination<Profile>;
244
267
 
245
- /**
246
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
247
- * instead.
248
- */
249
- export interface BrowserPersistence {
250
- /**
251
- * DEPRECATED: Unique identifier for the persistent browser session.
252
- */
253
- id: string;
254
- }
255
-
256
268
  /**
257
269
  * Browser pool this session was acquired from, if any.
258
270
  */
@@ -355,6 +367,13 @@ export interface BrowserCreateResponse {
355
367
  */
356
368
  browser_live_view_url?: string;
357
369
 
370
+ /**
371
+ * Custom Chrome enterprise policy overrides that were applied to this browser
372
+ * session, if any. Echoed back for verification. Keys are Chrome enterprise policy
373
+ * names.
374
+ */
375
+ chrome_policy?: { [key: string]: unknown };
376
+
358
377
  /**
359
378
  * When the browser session was soft-deleted. Only present for deleted sessions.
360
379
  */
@@ -371,12 +390,6 @@ export interface BrowserCreateResponse {
371
390
  */
372
391
  kiosk_mode?: boolean;
373
392
 
374
- /**
375
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
376
- * instead.
377
- */
378
- persistence?: BrowserPersistence;
379
-
380
393
  /**
381
394
  * Browser pool this session was acquired from, if any.
382
395
  */
@@ -393,10 +406,19 @@ export interface BrowserCreateResponse {
393
406
  proxy_id?: string;
394
407
 
395
408
  /**
396
- * Start URL requested for the session, if provided.
409
+ * URL the session was asked to navigate to on creation, if any. Recorded for
410
+ * debugging. Navigation is fire-and-forget — the URL is dispatched to the browser
411
+ * without waiting for it to load, and any errors (DNS failure, bad status,
412
+ * timeout) are silently dropped. Captures what was requested, not what the browser
413
+ * actually loaded.
397
414
  */
398
415
  start_url?: string;
399
416
 
417
+ /**
418
+ * Active telemetry configuration for the session, if any.
419
+ */
420
+ telemetry?: TelemetryAPI.BrowserTelemetryConfig | null;
421
+
400
422
  /**
401
423
  * Session usage metrics.
402
424
  */
@@ -466,6 +488,13 @@ export interface BrowserRetrieveResponse {
466
488
  */
467
489
  browser_live_view_url?: string;
468
490
 
491
+ /**
492
+ * Custom Chrome enterprise policy overrides that were applied to this browser
493
+ * session, if any. Echoed back for verification. Keys are Chrome enterprise policy
494
+ * names.
495
+ */
496
+ chrome_policy?: { [key: string]: unknown };
497
+
469
498
  /**
470
499
  * When the browser session was soft-deleted. Only present for deleted sessions.
471
500
  */
@@ -482,12 +511,6 @@ export interface BrowserRetrieveResponse {
482
511
  */
483
512
  kiosk_mode?: boolean;
484
513
 
485
- /**
486
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
487
- * instead.
488
- */
489
- persistence?: BrowserPersistence;
490
-
491
514
  /**
492
515
  * Browser pool this session was acquired from, if any.
493
516
  */
@@ -504,10 +527,19 @@ export interface BrowserRetrieveResponse {
504
527
  proxy_id?: string;
505
528
 
506
529
  /**
507
- * Start URL requested for the session, if provided.
530
+ * URL the session was asked to navigate to on creation, if any. Recorded for
531
+ * debugging. Navigation is fire-and-forget — the URL is dispatched to the browser
532
+ * without waiting for it to load, and any errors (DNS failure, bad status,
533
+ * timeout) are silently dropped. Captures what was requested, not what the browser
534
+ * actually loaded.
508
535
  */
509
536
  start_url?: string;
510
537
 
538
+ /**
539
+ * Active telemetry configuration for the session, if any.
540
+ */
541
+ telemetry?: TelemetryAPI.BrowserTelemetryConfig | null;
542
+
511
543
  /**
512
544
  * Session usage metrics.
513
545
  */
@@ -577,6 +609,13 @@ export interface BrowserUpdateResponse {
577
609
  */
578
610
  browser_live_view_url?: string;
579
611
 
612
+ /**
613
+ * Custom Chrome enterprise policy overrides that were applied to this browser
614
+ * session, if any. Echoed back for verification. Keys are Chrome enterprise policy
615
+ * names.
616
+ */
617
+ chrome_policy?: { [key: string]: unknown };
618
+
580
619
  /**
581
620
  * When the browser session was soft-deleted. Only present for deleted sessions.
582
621
  */
@@ -593,12 +632,6 @@ export interface BrowserUpdateResponse {
593
632
  */
594
633
  kiosk_mode?: boolean;
595
634
 
596
- /**
597
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
598
- * instead.
599
- */
600
- persistence?: BrowserPersistence;
601
-
602
635
  /**
603
636
  * Browser pool this session was acquired from, if any.
604
637
  */
@@ -615,10 +648,19 @@ export interface BrowserUpdateResponse {
615
648
  proxy_id?: string;
616
649
 
617
650
  /**
618
- * Start URL requested for the session, if provided.
651
+ * URL the session was asked to navigate to on creation, if any. Recorded for
652
+ * debugging. Navigation is fire-and-forget — the URL is dispatched to the browser
653
+ * without waiting for it to load, and any errors (DNS failure, bad status,
654
+ * timeout) are silently dropped. Captures what was requested, not what the browser
655
+ * actually loaded.
619
656
  */
620
657
  start_url?: string;
621
658
 
659
+ /**
660
+ * Active telemetry configuration for the session, if any.
661
+ */
662
+ telemetry?: TelemetryAPI.BrowserTelemetryConfig | null;
663
+
622
664
  /**
623
665
  * Session usage metrics.
624
666
  */
@@ -688,6 +730,13 @@ export interface BrowserListResponse {
688
730
  */
689
731
  browser_live_view_url?: string;
690
732
 
733
+ /**
734
+ * Custom Chrome enterprise policy overrides that were applied to this browser
735
+ * session, if any. Echoed back for verification. Keys are Chrome enterprise policy
736
+ * names.
737
+ */
738
+ chrome_policy?: { [key: string]: unknown };
739
+
691
740
  /**
692
741
  * When the browser session was soft-deleted. Only present for deleted sessions.
693
742
  */
@@ -704,12 +753,6 @@ export interface BrowserListResponse {
704
753
  */
705
754
  kiosk_mode?: boolean;
706
755
 
707
- /**
708
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
709
- * instead.
710
- */
711
- persistence?: BrowserPersistence;
712
-
713
756
  /**
714
757
  * Browser pool this session was acquired from, if any.
715
758
  */
@@ -726,10 +769,19 @@ export interface BrowserListResponse {
726
769
  proxy_id?: string;
727
770
 
728
771
  /**
729
- * Start URL requested for the session, if provided.
772
+ * URL the session was asked to navigate to on creation, if any. Recorded for
773
+ * debugging. Navigation is fire-and-forget — the URL is dispatched to the browser
774
+ * without waiting for it to load, and any errors (DNS failure, bad status,
775
+ * timeout) are silently dropped. Captures what was requested, not what the browser
776
+ * actually loaded.
730
777
  */
731
778
  start_url?: string;
732
779
 
780
+ /**
781
+ * Active telemetry configuration for the session, if any.
782
+ */
783
+ telemetry?: TelemetryAPI.BrowserTelemetryConfig | null;
784
+
733
785
  /**
734
786
  * Session usage metrics.
735
787
  */
@@ -778,6 +830,14 @@ export interface BrowserCurlResponse {
778
830
  }
779
831
 
780
832
  export interface BrowserCreateParams {
833
+ /**
834
+ * Custom Chrome enterprise policy overrides applied to this browser session. Keys
835
+ * are Chrome enterprise policy names; values must match their expected types.
836
+ * Blocked: kernel-managed policies (extensions, proxy, CDP/automation). See
837
+ * https://chromeenterprise.google/policies/
838
+ */
839
+ chrome_policy?: { [key: string]: unknown };
840
+
781
841
  /**
782
842
  * List of browser extensions to load into the session. Provide each by id or name.
783
843
  */
@@ -806,12 +866,6 @@ export interface BrowserCreateParams {
806
866
  */
807
867
  kiosk_mode?: boolean;
808
868
 
809
- /**
810
- * @deprecated DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles
811
- * instead.
812
- */
813
- persistence?: BrowserPersistence;
814
-
815
869
  /**
816
870
  * Profile selection for the browser session. Provide either id or name. If
817
871
  * specified, the matching profile will be loaded into the browser session.
@@ -838,6 +892,15 @@ export interface BrowserCreateParams {
838
892
  */
839
893
  stealth?: boolean;
840
894
 
895
+ /**
896
+ * Telemetry configuration for the browser session. Set enabled to true to start
897
+ * capture using VM defaults, or provide browser category settings. If omitted,
898
+ * null, set to an empty object ({}), set to enabled: false without browser
899
+ * category settings, or all four categories are explicitly disabled, capture is
900
+ * not started.
901
+ */
902
+ telemetry?: TelemetryAPI.BrowserTelemetryRequestConfig | null;
903
+
841
904
  /**
842
905
  * The number of seconds of inactivity before the browser session is terminated.
843
906
  * Activity includes CDP connections and live view connections. Defaults to 60
@@ -890,6 +953,15 @@ export interface BrowserUpdateParams {
890
953
  */
891
954
  proxy_id?: string | null;
892
955
 
956
+ /**
957
+ * Telemetry configuration. Omit, set to null, or set to an empty object ({}) to
958
+ * leave the existing configuration unchanged. Set enabled to true to enable
959
+ * capture using VM defaults. Set enabled to false to stop capture. Provide browser
960
+ * category settings for per-category updates. Explicitly disabling all four
961
+ * categories also stops capture.
962
+ */
963
+ telemetry?: TelemetryAPI.BrowserTelemetryRequestConfig | null;
964
+
893
965
  /**
894
966
  * Viewport configuration to apply to the browser session.
895
967
  */
@@ -930,13 +1002,6 @@ export interface BrowserListParams extends OffsetPaginationParams {
930
1002
  status?: 'active' | 'deleted' | 'all';
931
1003
  }
932
1004
 
933
- export interface BrowserDeleteParams {
934
- /**
935
- * Persistent browser identifier
936
- */
937
- persistent_id: string;
938
- }
939
-
940
1005
  export interface BrowserCurlParams {
941
1006
  /**
942
1007
  * Target URL (must be http or https).
@@ -991,6 +1056,7 @@ export namespace BrowserLoadExtensionsParams {
991
1056
  }
992
1057
  }
993
1058
 
1059
+ Browsers.Telemetry = Telemetry;
994
1060
  Browsers.Replays = Replays;
995
1061
  Browsers.Fs = Fs;
996
1062
  Browsers.Process = Process;
@@ -1000,7 +1066,6 @@ Browsers.Playwright = Playwright;
1000
1066
 
1001
1067
  export declare namespace Browsers {
1002
1068
  export {
1003
- type BrowserPersistence as BrowserPersistence,
1004
1069
  type BrowserPoolRef as BrowserPoolRef,
1005
1070
  type BrowserUsage as BrowserUsage,
1006
1071
  type Profile as Profile,
@@ -1014,11 +1079,47 @@ export declare namespace Browsers {
1014
1079
  type BrowserRetrieveParams as BrowserRetrieveParams,
1015
1080
  type BrowserUpdateParams as BrowserUpdateParams,
1016
1081
  type BrowserListParams as BrowserListParams,
1017
- type BrowserDeleteParams as BrowserDeleteParams,
1018
1082
  type BrowserCurlParams as BrowserCurlParams,
1019
1083
  type BrowserLoadExtensionsParams as BrowserLoadExtensionsParams,
1020
1084
  };
1021
1085
 
1086
+ export {
1087
+ Telemetry as Telemetry,
1088
+ type BrowserCallStack as BrowserCallStack,
1089
+ type BrowserConsoleErrorEvent as BrowserConsoleErrorEvent,
1090
+ type BrowserConsoleLogEvent as BrowserConsoleLogEvent,
1091
+ type BrowserEventContext as BrowserEventContext,
1092
+ type BrowserEventSource as BrowserEventSource,
1093
+ type BrowserHTTPHeaders as BrowserHTTPHeaders,
1094
+ type BrowserInteractionClickEvent as BrowserInteractionClickEvent,
1095
+ type BrowserInteractionKeyEvent as BrowserInteractionKeyEvent,
1096
+ type BrowserInteractionScrollSettledEvent as BrowserInteractionScrollSettledEvent,
1097
+ type BrowserMonitorDisconnectedEvent as BrowserMonitorDisconnectedEvent,
1098
+ type BrowserMonitorInitFailedEvent as BrowserMonitorInitFailedEvent,
1099
+ type BrowserMonitorReconnectFailedEvent as BrowserMonitorReconnectFailedEvent,
1100
+ type BrowserMonitorReconnectedEvent as BrowserMonitorReconnectedEvent,
1101
+ type BrowserMonitorScreenshotEvent as BrowserMonitorScreenshotEvent,
1102
+ type BrowserNetworkIdleEvent as BrowserNetworkIdleEvent,
1103
+ type BrowserNetworkLoadingFailedEvent as BrowserNetworkLoadingFailedEvent,
1104
+ type BrowserNetworkRequestEvent as BrowserNetworkRequestEvent,
1105
+ type BrowserNetworkResponseEvent as BrowserNetworkResponseEvent,
1106
+ type BrowserPageDomContentLoadedEvent as BrowserPageDomContentLoadedEvent,
1107
+ type BrowserPageLayoutSettledEvent as BrowserPageLayoutSettledEvent,
1108
+ type BrowserPageLayoutShiftEvent as BrowserPageLayoutShiftEvent,
1109
+ type BrowserPageLcpEvent as BrowserPageLcpEvent,
1110
+ type BrowserPageLoadEvent as BrowserPageLoadEvent,
1111
+ type BrowserPageNavigationEvent as BrowserPageNavigationEvent,
1112
+ type BrowserPageNavigationSettledEvent as BrowserPageNavigationSettledEvent,
1113
+ type BrowserPageTabOpenedEvent as BrowserPageTabOpenedEvent,
1114
+ type BrowserTelemetryCategoriesConfig as BrowserTelemetryCategoriesConfig,
1115
+ type BrowserTelemetryCategoryConfig as BrowserTelemetryCategoryConfig,
1116
+ type BrowserTelemetryConfig as BrowserTelemetryConfig,
1117
+ type BrowserTelemetryEvent as BrowserTelemetryEvent,
1118
+ type BrowserTelemetryRequestConfig as BrowserTelemetryRequestConfig,
1119
+ type TelemetryStreamResponse as TelemetryStreamResponse,
1120
+ type TelemetryStreamParams as TelemetryStreamParams,
1121
+ };
1122
+
1022
1123
  export {
1023
1124
  Replays as Replays,
1024
1125
  type ReplayListResponse as ReplayListResponse,
@@ -2,7 +2,6 @@
2
2
 
3
3
  export {
4
4
  Browsers,
5
- type BrowserPersistence,
6
5
  type BrowserPoolRef,
7
6
  type BrowserUsage,
8
7
  type Profile,
@@ -15,7 +14,6 @@ export {
15
14
  type BrowserRetrieveParams,
16
15
  type BrowserUpdateParams,
17
16
  type BrowserListParams,
18
- type BrowserDeleteParams,
19
17
  type BrowserCurlParams,
20
18
  type BrowserLoadExtensionsParams,
21
19
  type ProfilesOffsetPagination,
@@ -81,3 +79,39 @@ export {
81
79
  type ReplayStartParams,
82
80
  type ReplayStopParams,
83
81
  } from './replays';
82
+ export {
83
+ Telemetry,
84
+ type BrowserCallStack,
85
+ type BrowserConsoleErrorEvent,
86
+ type BrowserConsoleLogEvent,
87
+ type BrowserEventContext,
88
+ type BrowserEventSource,
89
+ type BrowserHTTPHeaders,
90
+ type BrowserInteractionClickEvent,
91
+ type BrowserInteractionKeyEvent,
92
+ type BrowserInteractionScrollSettledEvent,
93
+ type BrowserMonitorDisconnectedEvent,
94
+ type BrowserMonitorInitFailedEvent,
95
+ type BrowserMonitorReconnectFailedEvent,
96
+ type BrowserMonitorReconnectedEvent,
97
+ type BrowserMonitorScreenshotEvent,
98
+ type BrowserNetworkIdleEvent,
99
+ type BrowserNetworkLoadingFailedEvent,
100
+ type BrowserNetworkRequestEvent,
101
+ type BrowserNetworkResponseEvent,
102
+ type BrowserPageDomContentLoadedEvent,
103
+ type BrowserPageLayoutSettledEvent,
104
+ type BrowserPageLayoutShiftEvent,
105
+ type BrowserPageLcpEvent,
106
+ type BrowserPageLoadEvent,
107
+ type BrowserPageNavigationEvent,
108
+ type BrowserPageNavigationSettledEvent,
109
+ type BrowserPageTabOpenedEvent,
110
+ type BrowserTelemetryCategoriesConfig,
111
+ type BrowserTelemetryCategoryConfig,
112
+ type BrowserTelemetryConfig,
113
+ type BrowserTelemetryEvent,
114
+ type BrowserTelemetryRequestConfig,
115
+ type TelemetryStreamResponse,
116
+ type TelemetryStreamParams,
117
+ } from './telemetry';