Skip to content

Commit 7619f69

Browse files
authored
Merge pull request #25 from onkernel/release-please--branches--main--changes--next
release: 0.9.1
2 parents 9b8d4c9 + 16200c6 commit 7619f69

15 files changed

Lines changed: 91 additions & 37 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.9.0"
2+
".": "0.9.1"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 31
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e907afeabfeea49dedd783112ac3fd29267bc86f3d594f89ba9a2abf2bcbc9d8.yml
3-
openapi_spec_hash: 060ca6288c1a09b6d1bdf207a0011165
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-b55c3e0424fa7733487139488b9fff00ad8949ff02ee3160ee36b9334e84b134.yml
3+
openapi_spec_hash: 17f36677e3dc0a3aeb419654c8d5cae3
44
config_hash: f67e4b33b2fb30c1405ee2fff8096320

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## 0.9.1 (2025-08-15)
4+
5+
Full Changelog: [v0.9.0...v0.9.1](https://github.com/onkernel/kernel-go-sdk/compare/v0.9.0...v0.9.1)
6+
7+
### Features
8+
9+
* **api:** add browser timeouts ([6c7b47f](https://github.com/onkernel/kernel-go-sdk/commit/6c7b47f69ccc4e12d9e21340c543d57b7fc6d314))
10+
11+
### Chores
12+
13+
* **internal:** codegen related update ([e4ca558](https://github.com/onkernel/kernel-go-sdk/commit/e4ca55843e4dbb9b7e71821ca58080a5bf25f025))
14+
* **internal:** update comment in script ([9542333](https://github.com/onkernel/kernel-go-sdk/commit/9542333108abb522bae00b266c89cc3917884b35))
15+
* update @stainless-api/prism-cli to v5.15.0 ([625476c](https://github.com/onkernel/kernel-go-sdk/commit/625476c16f8298f7fa1c18318f67231906d89a56))
16+
317
## 0.9.0 (2025-08-07)
418

519
Full Changelog: [v0.8.2...v0.9.0](https://github.com/onkernel/kernel-go-sdk/compare/v0.8.2...v0.9.0)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Or to pin the version:
2424
<!-- x-release-please-start-version -->
2525

2626
```sh
27-
go get -u 'github.com/onkernel/kernel-go-sdk@v0.9.0'
27+
go get -u 'github.com/onkernel/kernel-go-sdk@v0.9.1'
2828
```
2929

3030
<!-- x-release-please-end -->

app_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
)
1515

1616
func TestAppListWithOptionalParams(t *testing.T) {
17-
t.Skip("skipped: tests are disabled for the time being")
17+
t.Skip("Prism tests are disabled")
1818
baseURL := "http://localhost:4010"
1919
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2020
baseURL = envURL

browser.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"fmt"
1010
"net/http"
1111
"net/url"
12+
"time"
1213

1314
"github.com/onkernel/kernel-go-sdk/internal/apijson"
1415
"github.com/onkernel/kernel-go-sdk/internal/apiquery"
@@ -138,8 +139,16 @@ func (r *BrowserPersistenceParam) UnmarshalJSON(data []byte) error {
138139
type BrowserNewResponse struct {
139140
// Websocket URL for Chrome DevTools Protocol connections to the browser session
140141
CdpWsURL string `json:"cdp_ws_url,required"`
142+
// When the browser session was created.
143+
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
144+
// Whether the browser session is running in headless mode.
145+
Headless bool `json:"headless,required"`
141146
// Unique identifier for the browser session
142147
SessionID string `json:"session_id,required"`
148+
// Whether the browser session is running in stealth mode.
149+
Stealth bool `json:"stealth,required"`
150+
// The number of seconds of inactivity before the browser session is terminated.
151+
TimeoutSeconds int64 `json:"timeout_seconds,required"`
143152
// Remote URL for live viewing the browser session. Only available for non-headless
144153
// browsers.
145154
BrowserLiveViewURL string `json:"browser_live_view_url"`
@@ -148,7 +157,11 @@ type BrowserNewResponse struct {
148157
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
149158
JSON struct {
150159
CdpWsURL respjson.Field
160+
CreatedAt respjson.Field
161+
Headless respjson.Field
151162
SessionID respjson.Field
163+
Stealth respjson.Field
164+
TimeoutSeconds respjson.Field
152165
BrowserLiveViewURL respjson.Field
153166
Persistence respjson.Field
154167
ExtraFields map[string]respjson.Field
@@ -165,8 +178,16 @@ func (r *BrowserNewResponse) UnmarshalJSON(data []byte) error {
165178
type BrowserGetResponse struct {
166179
// Websocket URL for Chrome DevTools Protocol connections to the browser session
167180
CdpWsURL string `json:"cdp_ws_url,required"`
181+
// When the browser session was created.
182+
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
183+
// Whether the browser session is running in headless mode.
184+
Headless bool `json:"headless,required"`
168185
// Unique identifier for the browser session
169186
SessionID string `json:"session_id,required"`
187+
// Whether the browser session is running in stealth mode.
188+
Stealth bool `json:"stealth,required"`
189+
// The number of seconds of inactivity before the browser session is terminated.
190+
TimeoutSeconds int64 `json:"timeout_seconds,required"`
170191
// Remote URL for live viewing the browser session. Only available for non-headless
171192
// browsers.
172193
BrowserLiveViewURL string `json:"browser_live_view_url"`
@@ -175,7 +196,11 @@ type BrowserGetResponse struct {
175196
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
176197
JSON struct {
177198
CdpWsURL respjson.Field
199+
CreatedAt respjson.Field
200+
Headless respjson.Field
178201
SessionID respjson.Field
202+
Stealth respjson.Field
203+
TimeoutSeconds respjson.Field
179204
BrowserLiveViewURL respjson.Field
180205
Persistence respjson.Field
181206
ExtraFields map[string]respjson.Field
@@ -192,8 +217,16 @@ func (r *BrowserGetResponse) UnmarshalJSON(data []byte) error {
192217
type BrowserListResponse struct {
193218
// Websocket URL for Chrome DevTools Protocol connections to the browser session
194219
CdpWsURL string `json:"cdp_ws_url,required"`
220+
// When the browser session was created.
221+
CreatedAt time.Time `json:"created_at,required" format:"date-time"`
222+
// Whether the browser session is running in headless mode.
223+
Headless bool `json:"headless,required"`
195224
// Unique identifier for the browser session
196225
SessionID string `json:"session_id,required"`
226+
// Whether the browser session is running in stealth mode.
227+
Stealth bool `json:"stealth,required"`
228+
// The number of seconds of inactivity before the browser session is terminated.
229+
TimeoutSeconds int64 `json:"timeout_seconds,required"`
197230
// Remote URL for live viewing the browser session. Only available for non-headless
198231
// browsers.
199232
BrowserLiveViewURL string `json:"browser_live_view_url"`
@@ -202,7 +235,11 @@ type BrowserListResponse struct {
202235
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
203236
JSON struct {
204237
CdpWsURL respjson.Field
238+
CreatedAt respjson.Field
239+
Headless respjson.Field
205240
SessionID respjson.Field
241+
Stealth respjson.Field
242+
TimeoutSeconds respjson.Field
206243
BrowserLiveViewURL respjson.Field
207244
Persistence respjson.Field
208245
ExtraFields map[string]respjson.Field
@@ -225,6 +262,10 @@ type BrowserNewParams struct {
225262
// If true, launches the browser in stealth mode to reduce detection by anti-bot
226263
// mechanisms.
227264
Stealth param.Opt[bool] `json:"stealth,omitzero"`
265+
// The number of seconds of inactivity before the browser session is terminated.
266+
// Only applicable to non-persistent browsers. Activity includes CDP connections
267+
// and live view connections. Defaults to 60 seconds.
268+
TimeoutSeconds param.Opt[int64] `json:"timeout_seconds,omitzero"`
228269
// Optional persistence configuration for the browser session.
229270
Persistence BrowserPersistenceParam `json:"persistence,omitzero"`
230271
paramObj

browser_test.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
)
1515

1616
func TestBrowserNewWithOptionalParams(t *testing.T) {
17-
t.Skip("skipped: tests are disabled for the time being")
17+
t.Skip("Prism tests are disabled")
1818
baseURL := "http://localhost:4010"
1919
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2020
baseURL = envURL
@@ -32,7 +32,8 @@ func TestBrowserNewWithOptionalParams(t *testing.T) {
3232
Persistence: kernel.BrowserPersistenceParam{
3333
ID: "my-awesome-browser-for-user-1234",
3434
},
35-
Stealth: kernel.Bool(true),
35+
Stealth: kernel.Bool(true),
36+
TimeoutSeconds: kernel.Int(0),
3637
})
3738
if err != nil {
3839
var apierr *kernel.Error
@@ -44,7 +45,7 @@ func TestBrowserNewWithOptionalParams(t *testing.T) {
4445
}
4546

4647
func TestBrowserGet(t *testing.T) {
47-
t.Skip("skipped: tests are disabled for the time being")
48+
t.Skip("Prism tests are disabled")
4849
baseURL := "http://localhost:4010"
4950
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
5051
baseURL = envURL
@@ -67,7 +68,7 @@ func TestBrowserGet(t *testing.T) {
6768
}
6869

6970
func TestBrowserList(t *testing.T) {
70-
t.Skip("skipped: tests are disabled for the time being")
71+
t.Skip("Prism tests are disabled")
7172
baseURL := "http://localhost:4010"
7273
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
7374
baseURL = envURL
@@ -90,7 +91,7 @@ func TestBrowserList(t *testing.T) {
9091
}
9192

9293
func TestBrowserDelete(t *testing.T) {
93-
t.Skip("skipped: tests are disabled for the time being")
94+
t.Skip("Prism tests are disabled")
9495
baseURL := "http://localhost:4010"
9596
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
9697
baseURL = envURL
@@ -115,7 +116,7 @@ func TestBrowserDelete(t *testing.T) {
115116
}
116117

117118
func TestBrowserDeleteByID(t *testing.T) {
118-
t.Skip("skipped: tests are disabled for the time being")
119+
t.Skip("Prism tests are disabled")
119120
baseURL := "http://localhost:4010"
120121
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
121122
baseURL = envURL

browserf_test.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
)
1919

2020
func TestBrowserFNewDirectoryWithOptionalParams(t *testing.T) {
21-
t.Skip("skipped: tests are disabled for the time being")
21+
t.Skip("Prism tests are disabled")
2222
baseURL := "http://localhost:4010"
2323
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2424
baseURL = envURL
@@ -48,7 +48,7 @@ func TestBrowserFNewDirectoryWithOptionalParams(t *testing.T) {
4848
}
4949

5050
func TestBrowserFDeleteDirectory(t *testing.T) {
51-
t.Skip("skipped: tests are disabled for the time being")
51+
t.Skip("Prism tests are disabled")
5252
baseURL := "http://localhost:4010"
5353
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
5454
baseURL = envURL
@@ -77,7 +77,7 @@ func TestBrowserFDeleteDirectory(t *testing.T) {
7777
}
7878

7979
func TestBrowserFDeleteFile(t *testing.T) {
80-
t.Skip("skipped: tests are disabled for the time being")
80+
t.Skip("Prism tests are disabled")
8181
baseURL := "http://localhost:4010"
8282
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
8383
baseURL = envURL
@@ -106,7 +106,7 @@ func TestBrowserFDeleteFile(t *testing.T) {
106106
}
107107

108108
func TestBrowserFFileInfo(t *testing.T) {
109-
t.Skip("skipped: tests are disabled for the time being")
109+
t.Skip("Prism tests are disabled")
110110
baseURL := "http://localhost:4010"
111111
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
112112
baseURL = envURL
@@ -135,7 +135,7 @@ func TestBrowserFFileInfo(t *testing.T) {
135135
}
136136

137137
func TestBrowserFListFiles(t *testing.T) {
138-
t.Skip("skipped: tests are disabled for the time being")
138+
t.Skip("Prism tests are disabled")
139139
baseURL := "http://localhost:4010"
140140
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
141141
baseURL = envURL
@@ -164,7 +164,7 @@ func TestBrowserFListFiles(t *testing.T) {
164164
}
165165

166166
func TestBrowserFMove(t *testing.T) {
167-
t.Skip("skipped: tests are disabled for the time being")
167+
t.Skip("Prism tests are disabled")
168168
baseURL := "http://localhost:4010"
169169
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
170170
baseURL = envURL
@@ -194,7 +194,6 @@ func TestBrowserFMove(t *testing.T) {
194194
}
195195

196196
func TestBrowserFReadFile(t *testing.T) {
197-
t.Skip("skipped: tests are disabled for the time being")
198197
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
199198
w.WriteHeader(200)
200199
w.Write([]byte("abc"))
@@ -235,7 +234,7 @@ func TestBrowserFReadFile(t *testing.T) {
235234
}
236235

237236
func TestBrowserFSetFilePermissionsWithOptionalParams(t *testing.T) {
238-
t.Skip("skipped: tests are disabled for the time being")
237+
t.Skip("Prism tests are disabled")
239238
baseURL := "http://localhost:4010"
240239
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
241240
baseURL = envURL
@@ -267,7 +266,7 @@ func TestBrowserFSetFilePermissionsWithOptionalParams(t *testing.T) {
267266
}
268267

269268
func TestBrowserFWriteFileWithOptionalParams(t *testing.T) {
270-
t.Skip("skipped: tests are disabled for the time being")
269+
t.Skip("Prism tests are disabled")
271270
baseURL := "http://localhost:4010"
272271
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
273272
baseURL = envURL

browserfwatch_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
)
1515

1616
func TestBrowserFWatchStartWithOptionalParams(t *testing.T) {
17-
t.Skip("skipped: tests are disabled for the time being")
17+
t.Skip("Prism tests are disabled")
1818
baseURL := "http://localhost:4010"
1919
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2020
baseURL = envURL
@@ -44,7 +44,7 @@ func TestBrowserFWatchStartWithOptionalParams(t *testing.T) {
4444
}
4545

4646
func TestBrowserFWatchStop(t *testing.T) {
47-
t.Skip("skipped: tests are disabled for the time being")
47+
t.Skip("Prism tests are disabled")
4848
baseURL := "http://localhost:4010"
4949
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
5050
baseURL = envURL

browserreplay_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
)
1919

2020
func TestBrowserReplayList(t *testing.T) {
21-
t.Skip("skipped: tests are disabled for the time being")
21+
t.Skip("Prism tests are disabled")
2222
baseURL := "http://localhost:4010"
2323
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
2424
baseURL = envURL
@@ -41,7 +41,6 @@ func TestBrowserReplayList(t *testing.T) {
4141
}
4242

4343
func TestBrowserReplayDownload(t *testing.T) {
44-
t.Skip("skipped: tests are disabled for the time being")
4544
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
4645
w.WriteHeader(200)
4746
w.Write([]byte("abc"))
@@ -82,7 +81,7 @@ func TestBrowserReplayDownload(t *testing.T) {
8281
}
8382

8483
func TestBrowserReplayStartWithOptionalParams(t *testing.T) {
85-
t.Skip("skipped: tests are disabled for the time being")
84+
t.Skip("Prism tests are disabled")
8685
baseURL := "http://localhost:4010"
8786
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
8887
baseURL = envURL
@@ -112,7 +111,7 @@ func TestBrowserReplayStartWithOptionalParams(t *testing.T) {
112111
}
113112

114113
func TestBrowserReplayStop(t *testing.T) {
115-
t.Skip("skipped: tests are disabled for the time being")
114+
t.Skip("Prism tests are disabled")
116115
baseURL := "http://localhost:4010"
117116
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
118117
baseURL = envURL

0 commit comments

Comments
 (0)