Skip to content

Commit db80dd7

Browse files
authored
Merge pull request #59 from kernel/release-please--branches--main--changes--next
release: 0.27.0
2 parents c6c0c0d + d3b84c0 commit db80dd7

13 files changed

Lines changed: 553 additions & 32 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.26.0"
2+
".": "0.27.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 91
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-fc2c80b398a8dd511010ae7cda5e21c353e388ee130aa288974b47af4208b5b8.yml
3-
openapi_spec_hash: 5e06586dbbb9fce12b907f4e32497006
4-
config_hash: cc7fdd701d995d4b3456d77041c604cf
1+
configured_endpoints: 97
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-7427d4bcaba5cad07910da7a222bdd2650b5280e6b889132ed38d230adafb8a5.yml
3+
openapi_spec_hash: e8e3dc1ae54666d544d1fc848b25e7cf
4+
config_hash: b470456b217bb9502f5212311d395a6f

CHANGELOG.md

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

3+
## 0.27.0 (2026-01-21)
4+
5+
Full Changelog: [v0.26.0...v0.27.0](https://github.com/kernel/kernel-go-sdk/compare/v0.26.0...v0.27.0)
6+
7+
### Features
8+
9+
* **agent-auth:** add 1Password integration for credential providers ([690962f](https://github.com/kernel/kernel-go-sdk/commit/690962f9f276c1e917c7462ec57400afccf3509f))
10+
* **dashboard:** add browser replays support for past browsers ([33f2a9c](https://github.com/kernel/kernel-go-sdk/commit/33f2a9cd0b5391bd058f6c74900c8d3731b3f990))
11+
* Update browser pool org limits ([6848a1c](https://github.com/kernel/kernel-go-sdk/commit/6848a1c11b3b648b163db8cf1e47347d6b6acbb8))
12+
13+
14+
### Refactors
15+
16+
* **agentauth:** enhance discover and submit modules with improve… ([71801e7](https://github.com/kernel/kernel-go-sdk/commit/71801e7d3375037a68f751099bc6333e592fb654))
17+
318
## 0.26.0 (2026-01-17)
419

520
Full Changelog: [v0.25.0...v0.26.0](https://github.com/kernel/kernel-go-sdk/compare/v0.25.0...v0.26.0)

README.md

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

3030
```sh
31-
go get -u 'github.com/kernel/kernel-go-sdk@v0.26.0'
31+
go get -u 'github.com/kernel/kernel-go-sdk@v0.27.0'
3232
```
3333

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

agentauth.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ type AgentAuthInvocationResponse struct {
146146
PendingFields []DiscoveredField `json:"pending_fields,nullable"`
147147
// SSO buttons available on the page (present when step=awaiting_input)
148148
PendingSSOButtons []AgentAuthInvocationResponsePendingSSOButton `json:"pending_sso_buttons,nullable"`
149+
// SSO provider being used for authentication (e.g., google, github, microsoft)
150+
SSOProvider string `json:"sso_provider,nullable"`
149151
// Names of fields that have been submitted (present when step=submitting or later)
150152
SubmittedFields []string `json:"submitted_fields,nullable"`
151153
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
@@ -162,6 +164,7 @@ type AgentAuthInvocationResponse struct {
162164
MfaOptions respjson.Field
163165
PendingFields respjson.Field
164166
PendingSSOButtons respjson.Field
167+
SSOProvider respjson.Field
165168
SubmittedFields respjson.Field
166169
ExtraFields map[string]respjson.Field
167170
raw string

api.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Response Types:
8181
Methods:
8282

8383
- <code title="post /browsers">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserNewParams">BrowserNewParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserNewResponse">BrowserNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
84-
- <code title="get /browsers/{id}">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserGetResponse">BrowserGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
84+
- <code title="get /browsers/{id}">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserGetParams">BrowserGetParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserGetResponse">BrowserGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8585
- <code title="patch /browsers/{id}">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserUpdateParams">BrowserUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserUpdateResponse">BrowserUpdateResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8686
- <code title="get /browsers">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserListParams">BrowserListParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination#OffsetPagination">OffsetPagination</a>[<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserListResponse">BrowserListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8787
- <code title="delete /browsers">client.Browsers.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#BrowserDeleteParams">BrowserDeleteParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
@@ -309,3 +309,24 @@ Methods:
309309
- <code title="get /credentials">client.Credentials.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialListParams">CredentialListParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination#OffsetPagination">OffsetPagination</a>[<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#Credential">Credential</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
310310
- <code title="delete /credentials/{id_or_name}">client.Credentials.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, idOrName <a href="https://pkg.go.dev/builtin#string">string</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
311311
- <code title="get /credentials/{id_or_name}/totp-code">client.Credentials.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialService.TotpCode">TotpCode</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, idOrName <a href="https://pkg.go.dev/builtin#string">string</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialTotpCodeResponse">CredentialTotpCodeResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
312+
313+
# CredentialProviders
314+
315+
Params Types:
316+
317+
- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CreateCredentialProviderRequestParam">CreateCredentialProviderRequestParam</a>
318+
- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#UpdateCredentialProviderRequestParam">UpdateCredentialProviderRequestParam</a>
319+
320+
Response Types:
321+
322+
- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProvider">CredentialProvider</a>
323+
- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderTestResult">CredentialProviderTestResult</a>
324+
325+
Methods:
326+
327+
- <code title="post /org/credential-providers">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderNewParams">CredentialProviderNewParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProvider">CredentialProvider</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
328+
- <code title="get /org/credential-providers/{id}">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProvider">CredentialProvider</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
329+
- <code title="patch /org/credential-providers/{id}">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderUpdateParams">CredentialProviderUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProvider">CredentialProvider</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
330+
- <code title="get /org/credential-providers">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>) (\*[]<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProvider">CredentialProvider</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
331+
- <code title="delete /org/credential-providers/{id}">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
332+
- <code title="post /org/credential-providers/{id}/test">client.CredentialProviders.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderService.Test">Test</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, id <a href="https://pkg.go.dev/builtin#string">string</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#CredentialProviderTestResult">CredentialProviderTestResult</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

browser.go

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ func (r *BrowserService) New(ctx context.Context, body BrowserNewParams, opts ..
6666
}
6767

6868
// Get information about a browser session.
69-
func (r *BrowserService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *BrowserGetResponse, err error) {
69+
func (r *BrowserService) Get(ctx context.Context, id string, query BrowserGetParams, opts ...option.RequestOption) (res *BrowserGetResponse, err error) {
7070
opts = slices.Concat(r.Options, opts)
7171
if id == "" {
7272
err = errors.New("missing required id parameter")
7373
return
7474
}
7575
path := fmt.Sprintf("browsers/%s", id)
76-
err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &res, opts...)
76+
err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
7777
return
7878
}
7979

@@ -89,8 +89,8 @@ func (r *BrowserService) Update(ctx context.Context, id string, body BrowserUpda
8989
return
9090
}
9191

92-
// List all browser sessions with pagination support. Use include_deleted=true to
93-
// include soft-deleted sessions in the results.
92+
// List all browser sessions with pagination support. Use status parameter to
93+
// filter by session state.
9494
func (r *BrowserService) List(ctx context.Context, query BrowserListParams, opts ...option.RequestOption) (res *pagination.OffsetPagination[BrowserListResponse], err error) {
9595
var raw *http.Response
9696
opts = slices.Concat(r.Options, opts)
@@ -108,8 +108,8 @@ func (r *BrowserService) List(ctx context.Context, query BrowserListParams, opts
108108
return res, nil
109109
}
110110

111-
// List all browser sessions with pagination support. Use include_deleted=true to
112-
// include soft-deleted sessions in the results.
111+
// List all browser sessions with pagination support. Use status parameter to
112+
// filter by session state.
113113
func (r *BrowserService) ListAutoPaging(ctx context.Context, query BrowserListParams, opts ...option.RequestOption) *pagination.OffsetPaginationAutoPager[BrowserListResponse] {
114114
return pagination.NewOffsetPaginationAutoPager(r.List(ctx, query, opts...))
115115
}
@@ -532,6 +532,20 @@ func (r *BrowserNewParams) UnmarshalJSON(data []byte) error {
532532
return apijson.UnmarshalRoot(data, r)
533533
}
534534

535+
type BrowserGetParams struct {
536+
// When true, includes soft-deleted browser sessions in the lookup.
537+
IncludeDeleted param.Opt[bool] `query:"include_deleted,omitzero" json:"-"`
538+
paramObj
539+
}
540+
541+
// URLQuery serializes [BrowserGetParams]'s query parameters as `url.Values`.
542+
func (r BrowserGetParams) URLQuery() (v url.Values, err error) {
543+
return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
544+
ArrayFormat: apiquery.ArrayQueryFormatComma,
545+
NestedFormat: apiquery.NestedQueryFormatBrackets,
546+
})
547+
}
548+
535549
type BrowserUpdateParams struct {
536550
// ID of the proxy to use. Omit to leave unchanged, set to empty string to remove
537551
// proxy.
@@ -548,13 +562,18 @@ func (r *BrowserUpdateParams) UnmarshalJSON(data []byte) error {
548562
}
549563

550564
type BrowserListParams struct {
551-
// When true, includes soft-deleted browser sessions in the results alongside
552-
// active sessions.
565+
// Deprecated: Use status=all instead. When true, includes soft-deleted browser
566+
// sessions in the results alongside active sessions.
553567
IncludeDeleted param.Opt[bool] `query:"include_deleted,omitzero" json:"-"`
554568
// Maximum number of results to return. Defaults to 20, maximum 100.
555569
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
556570
// Number of results to skip. Defaults to 0.
557571
Offset param.Opt[int64] `query:"offset,omitzero" json:"-"`
572+
// Filter sessions by status. "active" returns only active sessions (default),
573+
// "deleted" returns only soft-deleted sessions, "all" returns both.
574+
//
575+
// Any of "active", "deleted", "all".
576+
Status BrowserListParamsStatus `query:"status,omitzero" json:"-"`
558577
paramObj
559578
}
560579

@@ -566,6 +585,16 @@ func (r BrowserListParams) URLQuery() (v url.Values, err error) {
566585
})
567586
}
568587

588+
// Filter sessions by status. "active" returns only active sessions (default),
589+
// "deleted" returns only soft-deleted sessions, "all" returns both.
590+
type BrowserListParamsStatus string
591+
592+
const (
593+
BrowserListParamsStatusActive BrowserListParamsStatus = "active"
594+
BrowserListParamsStatusDeleted BrowserListParamsStatus = "deleted"
595+
BrowserListParamsStatusAll BrowserListParamsStatus = "all"
596+
)
597+
569598
type BrowserDeleteParams struct {
570599
// Persistent browser identifier
571600
PersistentID string `query:"persistent_id,required" json:"-"`

browser_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func TestBrowserNewWithOptionalParams(t *testing.T) {
6363
}
6464
}
6565

66-
func TestBrowserGet(t *testing.T) {
66+
func TestBrowserGetWithOptionalParams(t *testing.T) {
6767
t.Skip("Prism tests are disabled")
6868
baseURL := "http://localhost:4010"
6969
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
@@ -76,7 +76,13 @@ func TestBrowserGet(t *testing.T) {
7676
option.WithBaseURL(baseURL),
7777
option.WithAPIKey("My API Key"),
7878
)
79-
_, err := client.Browsers.Get(context.TODO(), "htzv5orfit78e1m2biiifpbv")
79+
_, err := client.Browsers.Get(
80+
context.TODO(),
81+
"htzv5orfit78e1m2biiifpbv",
82+
kernel.BrowserGetParams{
83+
IncludeDeleted: kernel.Bool(true),
84+
},
85+
)
8086
if err != nil {
8187
var apierr *kernel.Error
8288
if errors.As(err, &apierr) {
@@ -132,6 +138,7 @@ func TestBrowserListWithOptionalParams(t *testing.T) {
132138
IncludeDeleted: kernel.Bool(true),
133139
Limit: kernel.Int(1),
134140
Offset: kernel.Int(0),
141+
Status: kernel.BrowserListParamsStatusActive,
135142
})
136143
if err != nil {
137144
var apierr *kernel.Error

0 commit comments

Comments
 (0)