Skip to content

Commit 85650ce

Browse files
feat: GPU pools
1 parent 5abbadf commit 85650ce

5 files changed

Lines changed: 24 additions & 2 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 100
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-2b77b2efd4d25aaa264cbd6fcb0e43f82d14ce5a4bd6fb1e3859be440868685a.yml
3-
openapi_spec_hash: 299be31ecb4a96dcd54d4d902a716e68
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-a0f1d08e6f62a74de2aac5c25e592494abdd59f2cfca2842c5810927554faee0.yml
3+
openapi_spec_hash: ebd8bf67b7bb371cf4b4fa68b967cab5
44
config_hash: 27c0ea01aeb797a1767af139851c5b66

browser.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ type BrowserNewResponse struct {
249249
BrowserLiveViewURL string `json:"browser_live_view_url"`
250250
// When the browser session was soft-deleted. Only present for deleted sessions.
251251
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
252+
// Whether the browser session has hardware-accelerated GPU rendering.
253+
GPU bool `json:"gpu"`
252254
// Whether the browser session is running in kiosk mode.
253255
KioskMode bool `json:"kiosk_mode"`
254256
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -278,6 +280,7 @@ type BrowserNewResponse struct {
278280
TimeoutSeconds respjson.Field
279281
BrowserLiveViewURL respjson.Field
280282
DeletedAt respjson.Field
283+
GPU respjson.Field
281284
KioskMode respjson.Field
282285
Persistence respjson.Field
283286
Profile respjson.Field
@@ -312,6 +315,8 @@ type BrowserGetResponse struct {
312315
BrowserLiveViewURL string `json:"browser_live_view_url"`
313316
// When the browser session was soft-deleted. Only present for deleted sessions.
314317
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
318+
// Whether the browser session has hardware-accelerated GPU rendering.
319+
GPU bool `json:"gpu"`
315320
// Whether the browser session is running in kiosk mode.
316321
KioskMode bool `json:"kiosk_mode"`
317322
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -341,6 +346,7 @@ type BrowserGetResponse struct {
341346
TimeoutSeconds respjson.Field
342347
BrowserLiveViewURL respjson.Field
343348
DeletedAt respjson.Field
349+
GPU respjson.Field
344350
KioskMode respjson.Field
345351
Persistence respjson.Field
346352
Profile respjson.Field
@@ -375,6 +381,8 @@ type BrowserUpdateResponse struct {
375381
BrowserLiveViewURL string `json:"browser_live_view_url"`
376382
// When the browser session was soft-deleted. Only present for deleted sessions.
377383
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
384+
// Whether the browser session has hardware-accelerated GPU rendering.
385+
GPU bool `json:"gpu"`
378386
// Whether the browser session is running in kiosk mode.
379387
KioskMode bool `json:"kiosk_mode"`
380388
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -404,6 +412,7 @@ type BrowserUpdateResponse struct {
404412
TimeoutSeconds respjson.Field
405413
BrowserLiveViewURL respjson.Field
406414
DeletedAt respjson.Field
415+
GPU respjson.Field
407416
KioskMode respjson.Field
408417
Persistence respjson.Field
409418
Profile respjson.Field
@@ -438,6 +447,8 @@ type BrowserListResponse struct {
438447
BrowserLiveViewURL string `json:"browser_live_view_url"`
439448
// When the browser session was soft-deleted. Only present for deleted sessions.
440449
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
450+
// Whether the browser session has hardware-accelerated GPU rendering.
451+
GPU bool `json:"gpu"`
441452
// Whether the browser session is running in kiosk mode.
442453
KioskMode bool `json:"kiosk_mode"`
443454
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -467,6 +478,7 @@ type BrowserListResponse struct {
467478
TimeoutSeconds respjson.Field
468479
BrowserLiveViewURL respjson.Field
469480
DeletedAt respjson.Field
481+
GPU respjson.Field
470482
KioskMode respjson.Field
471483
Persistence respjson.Field
472484
Profile respjson.Field
@@ -484,6 +496,9 @@ func (r *BrowserListResponse) UnmarshalJSON(data []byte) error {
484496
}
485497

486498
type BrowserNewParams struct {
499+
// If true, launches a hardware-accelerated browser with GPU rendering. Requires
500+
// Start-Up or Enterprise plan.
501+
GPU param.Opt[bool] `json:"gpu,omitzero"`
487502
// If true, launches the browser using a headless image (no VNC/GUI). Defaults to
488503
// false.
489504
Headless param.Opt[bool] `json:"headless,omitzero"`

browser_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ func TestBrowserNewWithOptionalParams(t *testing.T) {
3434
ID: kernel.String("id"),
3535
Name: kernel.String("name"),
3636
}},
37+
GPU: kernel.Bool(false),
3738
Headless: kernel.Bool(false),
3839
InvocationID: kernel.String("rr33xuugxj9h0bkf1rdt2bet"),
3940
KioskMode: kernel.Bool(true),

browserpool.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,8 @@ type BrowserPoolAcquireResponse struct {
246246
BrowserLiveViewURL string `json:"browser_live_view_url"`
247247
// When the browser session was soft-deleted. Only present for deleted sessions.
248248
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
249+
// Whether the browser session has hardware-accelerated GPU rendering.
250+
GPU bool `json:"gpu"`
249251
// Whether the browser session is running in kiosk mode.
250252
KioskMode bool `json:"kiosk_mode"`
251253
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -275,6 +277,7 @@ type BrowserPoolAcquireResponse struct {
275277
TimeoutSeconds respjson.Field
276278
BrowserLiveViewURL respjson.Field
277279
DeletedAt respjson.Field
280+
GPU respjson.Field
278281
KioskMode respjson.Field
279282
Persistence respjson.Field
280283
Profile respjson.Field

invocation.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,8 @@ type InvocationListBrowsersResponseBrowser struct {
553553
BrowserLiveViewURL string `json:"browser_live_view_url"`
554554
// When the browser session was soft-deleted. Only present for deleted sessions.
555555
DeletedAt time.Time `json:"deleted_at" format:"date-time"`
556+
// Whether the browser session has hardware-accelerated GPU rendering.
557+
GPU bool `json:"gpu"`
556558
// Whether the browser session is running in kiosk mode.
557559
KioskMode bool `json:"kiosk_mode"`
558560
// DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead.
@@ -582,6 +584,7 @@ type InvocationListBrowsersResponseBrowser struct {
582584
TimeoutSeconds respjson.Field
583585
BrowserLiveViewURL respjson.Field
584586
DeletedAt respjson.Field
587+
GPU respjson.Field
585588
KioskMode respjson.Field
586589
Persistence respjson.Field
587590
Profile respjson.Field

0 commit comments

Comments
 (0)