From 625476c16f8298f7fa1c18318f67231906d89a56 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 03:50:31 +0000 Subject: [PATCH 1/7] chore: update @stainless-api/prism-cli to v5.15.0 --- scripts/mock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/mock b/scripts/mock index d2814ae..0b28f6e 100755 --- a/scripts/mock +++ b/scripts/mock @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}" # Run prism mock on the given spec if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log & + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & # Wait for server to come online echo -n "Waiting for server" @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" fi From 9542333108abb522bae00b266c89cc3917884b35 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 9 Aug 2025 03:54:11 +0000 Subject: [PATCH 2/7] chore(internal): update comment in script --- scripts/test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/test b/scripts/test index efebcea..c26b122 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! prism_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the prism command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" echo exit 1 From dbbb546f62ebc0347c276214c1cfd9602c71d39a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 23:58:37 +0000 Subject: [PATCH 3/7] feat(api): add browser ttls --- .stats.yml | 4 ++-- browser.go | 31 +++++++++++++++++++++++++++++++ browser_test.go | 3 ++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.stats.yml b/.stats.yml index 062204b..86b4afd 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 31 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e907afeabfeea49dedd783112ac3fd29267bc86f3d594f89ba9a2abf2bcbc9d8.yml -openapi_spec_hash: 060ca6288c1a09b6d1bdf207a0011165 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-6f4aab5f0db80d6ce30ef40274eee347cce0a9465e7f1e5077f8f4a085251ddf.yml +openapi_spec_hash: 8e83254243d1620b80a0dc8aa212ee0d config_hash: f67e4b33b2fb30c1405ee2fff8096320 diff --git a/browser.go b/browser.go index 707f846..fa72186 100644 --- a/browser.go +++ b/browser.go @@ -138,8 +138,14 @@ func (r *BrowserPersistenceParam) UnmarshalJSON(data []byte) error { type BrowserNewResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` + // Indicates whether the browser session is headless. + Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` + // Indicates whether the browser session is stealth. + Stealth bool `json:"stealth,required"` + // The number of seconds of inactivity before the browser session is terminated. + TimeoutSeconds int64 `json:"timeout_seconds,required"` // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` @@ -148,7 +154,10 @@ type BrowserNewResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + Headless respjson.Field SessionID respjson.Field + Stealth respjson.Field + TimeoutSeconds respjson.Field BrowserLiveViewURL respjson.Field Persistence respjson.Field ExtraFields map[string]respjson.Field @@ -165,8 +174,14 @@ func (r *BrowserNewResponse) UnmarshalJSON(data []byte) error { type BrowserGetResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` + // Indicates whether the browser session is headless. + Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` + // Indicates whether the browser session is stealth. + Stealth bool `json:"stealth,required"` + // The number of seconds of inactivity before the browser session is terminated. + TimeoutSeconds int64 `json:"timeout_seconds,required"` // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` @@ -175,7 +190,10 @@ type BrowserGetResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + Headless respjson.Field SessionID respjson.Field + Stealth respjson.Field + TimeoutSeconds respjson.Field BrowserLiveViewURL respjson.Field Persistence respjson.Field ExtraFields map[string]respjson.Field @@ -192,8 +210,14 @@ func (r *BrowserGetResponse) UnmarshalJSON(data []byte) error { type BrowserListResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` + // Indicates whether the browser session is headless. + Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` + // Indicates whether the browser session is stealth. + Stealth bool `json:"stealth,required"` + // The number of seconds of inactivity before the browser session is terminated. + TimeoutSeconds int64 `json:"timeout_seconds,required"` // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` @@ -202,7 +226,10 @@ type BrowserListResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + Headless respjson.Field SessionID respjson.Field + Stealth respjson.Field + TimeoutSeconds respjson.Field BrowserLiveViewURL respjson.Field Persistence respjson.Field ExtraFields map[string]respjson.Field @@ -225,6 +252,10 @@ type BrowserNewParams struct { // If true, launches the browser in stealth mode to reduce detection by anti-bot // mechanisms. Stealth param.Opt[bool] `json:"stealth,omitzero"` + // The number of seconds of inactivity before the browser session is terminated. + // Only applicable to non-persistent browsers. Activity includes CDP connections + // and live view connections. Defaults to 60 seconds. + TimeoutSeconds param.Opt[int64] `json:"timeout_seconds,omitzero"` // Optional persistence configuration for the browser session. Persistence BrowserPersistenceParam `json:"persistence,omitzero"` paramObj diff --git a/browser_test.go b/browser_test.go index 52e4e4f..109b671 100644 --- a/browser_test.go +++ b/browser_test.go @@ -32,7 +32,8 @@ func TestBrowserNewWithOptionalParams(t *testing.T) { Persistence: kernel.BrowserPersistenceParam{ ID: "my-awesome-browser-for-user-1234", }, - Stealth: kernel.Bool(true), + Stealth: kernel.Bool(true), + TimeoutSeconds: kernel.Int(0), }) if err != nil { var apierr *kernel.Error From e4ca55843e4dbb9b7e71821ca58080a5bf25f025 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 02:13:08 +0000 Subject: [PATCH 4/7] chore(internal): codegen related update --- app_test.go | 2 +- browser_test.go | 10 +++++----- browserf_test.go | 17 ++++++++--------- browserfwatch_test.go | 4 ++-- browserreplay_test.go | 7 +++---- deployment_test.go | 6 +++--- invocation_test.go | 8 ++++---- 7 files changed, 26 insertions(+), 28 deletions(-) diff --git a/app_test.go b/app_test.go index 0b9b741..100d114 100644 --- a/app_test.go +++ b/app_test.go @@ -14,7 +14,7 @@ import ( ) func TestAppListWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/browser_test.go b/browser_test.go index 109b671..d7d9898 100644 --- a/browser_test.go +++ b/browser_test.go @@ -14,7 +14,7 @@ import ( ) func TestBrowserNewWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -45,7 +45,7 @@ func TestBrowserNewWithOptionalParams(t *testing.T) { } func TestBrowserGet(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -68,7 +68,7 @@ func TestBrowserGet(t *testing.T) { } func TestBrowserList(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -91,7 +91,7 @@ func TestBrowserList(t *testing.T) { } func TestBrowserDelete(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -116,7 +116,7 @@ func TestBrowserDelete(t *testing.T) { } func TestBrowserDeleteByID(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/browserf_test.go b/browserf_test.go index fe3a11a..0780a69 100644 --- a/browserf_test.go +++ b/browserf_test.go @@ -18,7 +18,7 @@ import ( ) func TestBrowserFNewDirectoryWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -48,7 +48,7 @@ func TestBrowserFNewDirectoryWithOptionalParams(t *testing.T) { } func TestBrowserFDeleteDirectory(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -77,7 +77,7 @@ func TestBrowserFDeleteDirectory(t *testing.T) { } func TestBrowserFDeleteFile(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -106,7 +106,7 @@ func TestBrowserFDeleteFile(t *testing.T) { } func TestBrowserFFileInfo(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -135,7 +135,7 @@ func TestBrowserFFileInfo(t *testing.T) { } func TestBrowserFListFiles(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -164,7 +164,7 @@ func TestBrowserFListFiles(t *testing.T) { } func TestBrowserFMove(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -194,7 +194,6 @@ func TestBrowserFMove(t *testing.T) { } func TestBrowserFReadFile(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(200) w.Write([]byte("abc")) @@ -235,7 +234,7 @@ func TestBrowserFReadFile(t *testing.T) { } func TestBrowserFSetFilePermissionsWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -267,7 +266,7 @@ func TestBrowserFSetFilePermissionsWithOptionalParams(t *testing.T) { } func TestBrowserFWriteFileWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/browserfwatch_test.go b/browserfwatch_test.go index 1fcb0d0..dde21df 100644 --- a/browserfwatch_test.go +++ b/browserfwatch_test.go @@ -14,7 +14,7 @@ import ( ) func TestBrowserFWatchStartWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -44,7 +44,7 @@ func TestBrowserFWatchStartWithOptionalParams(t *testing.T) { } func TestBrowserFWatchStop(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/browserreplay_test.go b/browserreplay_test.go index 9eae965..7810126 100644 --- a/browserreplay_test.go +++ b/browserreplay_test.go @@ -18,7 +18,7 @@ import ( ) func TestBrowserReplayList(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -41,7 +41,6 @@ func TestBrowserReplayList(t *testing.T) { } func TestBrowserReplayDownload(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(200) w.Write([]byte("abc")) @@ -82,7 +81,7 @@ func TestBrowserReplayDownload(t *testing.T) { } func TestBrowserReplayStartWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -112,7 +111,7 @@ func TestBrowserReplayStartWithOptionalParams(t *testing.T) { } func TestBrowserReplayStop(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/deployment_test.go b/deployment_test.go index 93da8bb..931721c 100644 --- a/deployment_test.go +++ b/deployment_test.go @@ -16,7 +16,7 @@ import ( ) func TestDeploymentNewWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -48,7 +48,7 @@ func TestDeploymentNewWithOptionalParams(t *testing.T) { } func TestDeploymentGet(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -71,7 +71,7 @@ func TestDeploymentGet(t *testing.T) { } func TestDeploymentListWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL diff --git a/invocation_test.go b/invocation_test.go index 2c8a618..7dee570 100644 --- a/invocation_test.go +++ b/invocation_test.go @@ -14,7 +14,7 @@ import ( ) func TestInvocationNewWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -43,7 +43,7 @@ func TestInvocationNewWithOptionalParams(t *testing.T) { } func TestInvocationGet(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -66,7 +66,7 @@ func TestInvocationGet(t *testing.T) { } func TestInvocationUpdateWithOptionalParams(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL @@ -96,7 +96,7 @@ func TestInvocationUpdateWithOptionalParams(t *testing.T) { } func TestInvocationDeleteBrowsers(t *testing.T) { - t.Skip("skipped: tests are disabled for the time being") + t.Skip("Prism tests are disabled") baseURL := "http://localhost:4010" if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { baseURL = envURL From 6c7b47f69ccc4e12d9e21340c543d57b7fc6d314 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 17:18:42 +0000 Subject: [PATCH 5/7] feat(api): add browser timeouts --- .stats.yml | 4 ++-- browser.go | 22 ++++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.stats.yml b/.stats.yml index 86b4afd..f6de080 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 31 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-6f4aab5f0db80d6ce30ef40274eee347cce0a9465e7f1e5077f8f4a085251ddf.yml -openapi_spec_hash: 8e83254243d1620b80a0dc8aa212ee0d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-b55c3e0424fa7733487139488b9fff00ad8949ff02ee3160ee36b9334e84b134.yml +openapi_spec_hash: 17f36677e3dc0a3aeb419654c8d5cae3 config_hash: f67e4b33b2fb30c1405ee2fff8096320 diff --git a/browser.go b/browser.go index fa72186..1047820 100644 --- a/browser.go +++ b/browser.go @@ -9,6 +9,7 @@ import ( "fmt" "net/http" "net/url" + "time" "github.com/onkernel/kernel-go-sdk/internal/apijson" "github.com/onkernel/kernel-go-sdk/internal/apiquery" @@ -138,11 +139,13 @@ func (r *BrowserPersistenceParam) UnmarshalJSON(data []byte) error { type BrowserNewResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` - // Indicates whether the browser session is headless. + // When the browser session was created. + CreatedAt time.Time `json:"created_at,required" format:"date-time"` + // Whether the browser session is running in headless mode. Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` - // Indicates whether the browser session is stealth. + // Whether the browser session is running in stealth mode. Stealth bool `json:"stealth,required"` // The number of seconds of inactivity before the browser session is terminated. TimeoutSeconds int64 `json:"timeout_seconds,required"` @@ -154,6 +157,7 @@ type BrowserNewResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + CreatedAt respjson.Field Headless respjson.Field SessionID respjson.Field Stealth respjson.Field @@ -174,11 +178,13 @@ func (r *BrowserNewResponse) UnmarshalJSON(data []byte) error { type BrowserGetResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` - // Indicates whether the browser session is headless. + // When the browser session was created. + CreatedAt time.Time `json:"created_at,required" format:"date-time"` + // Whether the browser session is running in headless mode. Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` - // Indicates whether the browser session is stealth. + // Whether the browser session is running in stealth mode. Stealth bool `json:"stealth,required"` // The number of seconds of inactivity before the browser session is terminated. TimeoutSeconds int64 `json:"timeout_seconds,required"` @@ -190,6 +196,7 @@ type BrowserGetResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + CreatedAt respjson.Field Headless respjson.Field SessionID respjson.Field Stealth respjson.Field @@ -210,11 +217,13 @@ func (r *BrowserGetResponse) UnmarshalJSON(data []byte) error { type BrowserListResponse struct { // Websocket URL for Chrome DevTools Protocol connections to the browser session CdpWsURL string `json:"cdp_ws_url,required"` - // Indicates whether the browser session is headless. + // When the browser session was created. + CreatedAt time.Time `json:"created_at,required" format:"date-time"` + // Whether the browser session is running in headless mode. Headless bool `json:"headless,required"` // Unique identifier for the browser session SessionID string `json:"session_id,required"` - // Indicates whether the browser session is stealth. + // Whether the browser session is running in stealth mode. Stealth bool `json:"stealth,required"` // The number of seconds of inactivity before the browser session is terminated. TimeoutSeconds int64 `json:"timeout_seconds,required"` @@ -226,6 +235,7 @@ type BrowserListResponse struct { // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. JSON struct { CdpWsURL respjson.Field + CreatedAt respjson.Field Headless respjson.Field SessionID respjson.Field Stealth respjson.Field From 4cfe07d9b6ac19c6b8159cdbd84151c0adbc769f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 17:19:00 +0000 Subject: [PATCH 6/7] release: 0.9.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 16 ++++++++++++++++ README.md | 2 +- internal/version.go | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6d78745..0598874 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.9.0" + ".": "0.9.1" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cdd135..bde02f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 0.9.1 (2025-08-15) + +Full Changelog: [v0.9.0...v0.9.1](https://github.com/onkernel/kernel-go-sdk/compare/v0.9.0...v0.9.1) + +### Features + +* **api:** add browser timeouts ([6c7b47f](https://github.com/onkernel/kernel-go-sdk/commit/6c7b47f69ccc4e12d9e21340c543d57b7fc6d314)) +* **api:** add browser ttls ([dbbb546](https://github.com/onkernel/kernel-go-sdk/commit/dbbb546f62ebc0347c276214c1cfd9602c71d39a)) + + +### Chores + +* **internal:** codegen related update ([e4ca558](https://github.com/onkernel/kernel-go-sdk/commit/e4ca55843e4dbb9b7e71821ca58080a5bf25f025)) +* **internal:** update comment in script ([9542333](https://github.com/onkernel/kernel-go-sdk/commit/9542333108abb522bae00b266c89cc3917884b35)) +* update @stainless-api/prism-cli to v5.15.0 ([625476c](https://github.com/onkernel/kernel-go-sdk/commit/625476c16f8298f7fa1c18318f67231906d89a56)) + ## 0.9.0 (2025-08-07) Full Changelog: [v0.8.2...v0.9.0](https://github.com/onkernel/kernel-go-sdk/compare/v0.8.2...v0.9.0) diff --git a/README.md b/README.md index 1ec88c0..2af694c 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Or to pin the version: ```sh -go get -u 'github.com/onkernel/kernel-go-sdk@v0.9.0' +go get -u 'github.com/onkernel/kernel-go-sdk@v0.9.1' ``` diff --git a/internal/version.go b/internal/version.go index 0e818c5..8504294 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.9.0" // x-release-please-version +const PackageVersion = "0.9.1" // x-release-please-version From 16200c67867232bea27275c2a9eeb7f53fc48206 Mon Sep 17 00:00:00 2001 From: Rafael Date: Fri, 15 Aug 2025 10:20:45 -0700 Subject: [PATCH 7/7] Update CHANGELOG.md --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bde02f9..d66f8c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,6 @@ Full Changelog: [v0.9.0...v0.9.1](https://github.com/onkernel/kernel-go-sdk/comp ### Features * **api:** add browser timeouts ([6c7b47f](https://github.com/onkernel/kernel-go-sdk/commit/6c7b47f69ccc4e12d9e21340c543d57b7fc6d314)) -* **api:** add browser ttls ([dbbb546](https://github.com/onkernel/kernel-go-sdk/commit/dbbb546f62ebc0347c276214c1cfd9602c71d39a)) - ### Chores