Skip to content

CLI: Update Go SDK to 4511ca394d224b066c1df8d01669871155afcc58 - #215

Open
kernel-internal[bot] wants to merge 11 commits into
mainfrom
cli-coverage-update
Open

CLI: Update Go SDK to 4511ca394d224b066c1df8d01669871155afcc58#215
kernel-internal[bot] wants to merge 11 commits into
mainfrom
cli-coverage-update

Conversation

@kernel-internal

@kernel-internal kernel-internal Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

This PR updates the Go SDK dependency to the latest version.

SDK Update

  • Updated kernel-go-sdk to 4511ca394d224b066c1df8d01669871155afcc58 (resolves to tag v0.86.1), from v0.86.1-0.20260806144011-2bc9fe850fb4.

The SDK change between these two commits is release-onlyCHANGELOG.md, README.md, internal/version.go, and .release-please-manifest.json. No API surface changed, so there are no new commands or flags to add.

Coverage Analysis

A full enumeration of SDK methods and CLI commands was performed: all 127 SDK methods in api.md and all 95 *Params structs were checked against the existing CLI commands and flags. No coverage gaps were found.

  • Methods: all 127 have CLI commands. The 7 streaming methods (Auth.Connections.Follow, Browsers.Curl, Browsers.Logs.Stream, Browsers.Process.StdoutStream, Browsers.Telemetry.Stream, Deployments.Follow, Invocations.Follow) are covered via the SDK's *Streaming variants or a raw HTTP client rather than the unary method.
  • Params: every field is exposed as a flag, a positional arg, or is intentionally handled otherwise:
    • Limit/Offset are deliberately not exposed; list endpoints use the --page/--per-page UX.
    • AuditLogListParams.PageToken is handled by the SDK's PageTokenPaginationAutoPager.
    • BrowserCurlParams is intentionally bypassed — kernel browsers curl uses browsers.HTTPClient() for real streaming/binary-safe curl semantics. --max-time covers TimeoutMs, --data/--data-file cover Body, -X covers Method, and ResponseEncoding is moot since raw bytes are written directly.
    • Embedded request structs (e.g. ManagedAuthCreateRequest, CreateProjectRequest) are flattened into individual flags.
  • Skips: the x-cli-skip: true endpoints (/auth/connections/{id}/exchange and the /audit-logs/export/destinations family) are absent from the SDK, so nothing to exclude.

Testing

  • go build ./..., go vet ./..., go test ./... — all pass.
  • Against the live API: browsers list, profiles list, app list (verified the pagination footer and --page/--per-page), and a browsers create -t 30 -o jsonbrowsers delete roundtrip (test browser cleaned up).

Triggered by: kernel/kernel-go-sdk@4511ca3
Reviewer: @sjmiller609


Note

Medium Risk
Adds OTLP export and capture/export combo validation on browser and auth-connection paths; changes are mostly additive flag wiring but affect session telemetry configuration.

Overview
Updates kernel-go-sdk to v0.86.1 and exposes the new API surface across the CLI and README.

Telemetry OTLP export adds --telemetry-export-otlp on browsers create and on managed-auth auth connections create, update, and login. Create paths can imply --telemetry=all when only export is set; update/login require --telemetry in the same command when naming a destination. Human output shows export destinations on create and on auth connections get, with validation covered by new tests.

List and search gains --query and/or exact --name filters on many list commands (API keys, auth connections, browser pools, extensions, proxies, profiles, projects, credentials, credential providers, deploy/invoke history, and related resources). API keys list also adds --status, --sort-by, --sort-direction, and a conditional Deleted At column. Projects list now paginates like other resources.

Smaller additions: audit logs download --format (jsonl.gz vs jsonl), browser pool acquire / pool lease --start-url, telemetry events --order, and auth-flow UI for replace-existing fields.

Reviewed by Cursor Bugbot for commit 2f66bf8. Bugbot is set up for automated code reviews on this repo. Configure here.

Updates github.com/kernel/kernel-go-sdk to v0.86.0
(b5ea2f3dee2cbb2af9001e4558a28a807d31aeb3).

A full enumeration of all 127 api.md methods against the CLI command tree
found no missing commands. Enumerating every *Params field against every
command's flags surfaced a set of filter/sort/pagination params the CLI
never exposed; this closes those.

New flags:
- kernel api-keys list: --name, --query, --status, --include-deleted
  (deprecated alias for --status all), --sort-by, --sort-direction.
  Adds a Deleted At column when the filter can return deleted keys,
  matching `browsers list`.
- kernel projects list: --page, --per-page, --name, --query. This command
  previously had no flags at all and always returned the API's default page.
  Uses the page-based pagination UX with a footer, as in `app list`.
- kernel browser-pools list: --name, --query
- kernel extensions list: --name, --query
- kernel proxies list: --name, --query
- kernel profiles list: --name
- kernel auth connections list: --query
- kernel credentials list: --query
- kernel credential-providers list: --query
- kernel deploy history: --query
- kernel invoke history: --query
- kernel browser-pools acquire: --start-url (BrowserPoolAcquireParams.StartURL)
- kernel browsers telemetry events: --order asc|desc
  (BrowserTelemetryEventsParams.Order), rejecting `--order desc --since`
  locally since the endpoint 400s on that combination.

SDK 0.86.0 changes:
- ManagedAuthField.ReplaceExisting is now surfaced by
  `auth connections get` (as a `replace-existing` field marker) and
  `auth connections follow`, so it is visible before running `submit`.
- ProjectLimits.MaxPooledSessions doc-only deprecation; no CLI change
  needed (the flag already exists and the API rejects it).

Also forwards `browsers create --pool-id/--pool-name --start-url` through
to the acquire call instead of warning and dropping it. start_url is a
per-lease override on BrowserPoolAcquireParams, so it now sits alongside
name/tag/telemetry/timeout in poolLeaseAllowedFlags.

Tested against the live API:
- api-keys list --status all --sort-by name --sort-direction asc (verified
  sort order and Deleted At population), --query, --include-deleted,
  and --sort-by/--sort-direction/--status validation errors
- projects list --per-page 3 / --page 2 (footer + Next hint), --name, --query
- --name and --query on proxies/extensions/browser-pools/profiles list
- --query on credentials/credential-providers/auth connections list,
  deploy history, invoke history
- browsers telemetry events --order desc (returned seq 22->18 vs asc 1->5)
  and the --order desc --since / --order bogus validation errors
- browser-pools acquire --start-url and
  browsers create --pool-id --start-url (API echoed start_url on both)
- go build, go vet, and go test ./... all pass

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@socket-security

socket-security Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​kernel/​kernel-go-sdk@​v0.85.0 ⏵ v0.86.172 +1100100100100

View full report

Bump github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260804210355-b94cd585bac0 (commit b94cd58).

The new SDK commit is byte-identical to v0.86.0 in module content -- the
two upstream commits only touch CI promotion workflows, which are not
part of the Go module. A full enumeration of all 127 SDK methods in
api.md against the CLI command tree, and of all 95 *Params structs
(345 fields, including nested unions) against every CLI flag, found no
coverage gaps.

Also fix the pagination footer hint in `kernel profiles list`, which
suggested `kernel profile list` (singular, not a real command).

Tested: go build ./..., go vet ./..., go test ./... (all pass);
smoke-tested `kernel browsers list`, `kernel profiles list`, and
`kernel profiles list --per-page 3` against the live API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to b5ea2f3dee2cbb2af9001e4558a28a807d31aeb3 and add new commands/flags CLI: Update Go SDK to b94cd585bac0a149f65dab3212731ad312628ce6 Aug 4, 2026
Target SDK commit 9e39767e809b04f0786fb17377eb800fa624bddc contains no API
changes: it adds only .github/workflows/stlc-{promote,sync}.yml on top of
v0.86.0. `git diff v0.86.0..9e39767` touches zero .go files and no api.md.
The SHA is also not resolvable as a module version on its own -- it exists
only on the staging repo's main, so `go get 9e39767` fails with "unknown
revision". go.mod needs no change here: the preceding commit already moved it
to v0.86.1-0.20260804210355-b94cd585bac0, and b94cd58 is a direct child of
9e39767, so that pseudo-version already contains this target commit.

Coverage was re-enumerated from scratch anyway rather than trusting the
empty diff. All 127 methods in api.md map to an existing command; the seven
x-cli-skip endpoints in openapi.yaml (auth connections exchange, audit-log
export destinations) are absent from the SDK, so nothing to skip. Every
*Params field was diffed against every command's flags, including expanding
the embedded request structs (ManagedAuth*, CreateCredential*, CreateProject,
Update*Limits, CreateCredentialProvider*) and the ProxyNewParamsConfig union
variants, which the field-name comparison alone hides.

That surfaced one real gap, pre-existing rather than new in this bump:

- kernel audit-logs download: --format jsonl.gz|jsonl
  (AuditLogExportChunkParams.Format). The format was hardcoded to jsonl.gz,
  so uncompressed export was unreachable. The default output filename now
  derives its extension from the format instead of always ending .jsonl.gz.

Two other unmatched fields were checked and are correctly not flags:
- BrowserCurlParams.ResponseEncoding: `browsers curl` does not call the SDK
  Curl method at all. It streams raw bytes over the browser's HTTPClient,
  which is already binary-safe, making the JSON-transport encoding moot.
- AuditLogListParams.PageToken / AuditLogExportChunkParams.Cursor: internal
  pagination, driven by response headers.

Tested against the live API:
- audit-logs download --format jsonl (25-day window): 74 chunks, 3,669,435
  rows, wrote audit-logs-20260710-20260804.jsonl; `file` reports NDJSON and
  the lines parse as JSON.
- audit-logs download (default): wrote audit-logs-20260803-20260804.jsonl.gz;
  gunzip yields 109,526 lines, matching the reported row count.
- audit-logs download --format jsonl.gz --to explicit.jsonl.gz: byte-identical
  size to the default run.
- audit-logs download --format csv: rejected locally with
  "invalid --format value: csv".
- go build ./... and go test ./... pass, before and after rebasing onto the
  b94cd58 go.mod bump.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to b94cd585bac0a149f65dab3212731ad312628ce6 CLI: Update SDK to 9e39767e809b04f0786fb17377eb800fa624bddc and add new commands/flags Aug 4, 2026
Bumps github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260805130902-f0262729f366 (commit f026272).

The SDK diff between b94cd58 and f026272 is empty for api.md and all
Go source files -- the only change in that range is a CI workflow file
(.github/workflows/stlc-promote.yml). No new methods, no new param
fields, so no CLI commands or flags were added.

Coverage verification:
- Enumerated all 127 SDK methods from api.md; every one has a
  corresponding CLI command.
- Enumerated all 95 SDK *Params structs and their fields, diffed
  against all 205 CLI flags. Every remaining discrepancy resolved to a
  naming difference (--tag vs Tags, --kiosk vs KioskMode, --bypass-host
  vs BypassHosts, --env vs EnvVars), a positional argument, an embedded
  request-body struct, or a path parameter.
- BrowserCurlParams.ResponseEncoding remains intentionally unexposed:
  `kernel browsers curl` bypasses the SDK Curl method and streams raw
  bytes through the browser's HTTP client, so response encoding does
  not apply.

Tested: go build ./..., go vet ./..., go test ./... (all pass);
smoke-tested `browsers list --limit 3` and `app list --per-page 2`
against the live API -- both return expected output and the app list
pagination footer renders correctly.
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 9e39767e809b04f0786fb17377eb800fa624bddc and add new commands/flags CLI: Update Go SDK to f0262729f36648472689bae53ba860d7feda1b38 Aug 5, 2026
Bumps kernel-go-sdk to v0.86.1-0.20260805143436-f6072746e884
(kernel/kernel-go-sdk@f607274).

The SDK diff between f026272 and f607274 contains no changes to api.md
or any Go source file - f607274 is the stainless release merge commit and
f026272 was a CI-only change. No new methods, params, or fields.

Coverage analysis: performed a full enumeration anyway. All 126 SDK
methods in api.md map to existing CLI commands, and every field of every
*Params struct maps to an existing flag. The 7 endpoints marked
x-cli-skip in openapi.yaml (auth connection exchange, audit-log export
destinations) are absent from the SDK surface, as expected.

One intentional non-gap: BrowserCurlParams.ResponseEncoding has no flag
because `kernel browsers curl` bypasses the Browsers.Curl SDK method and
streams raw bytes through the browser's HTTP client, so the base64 JSON
transport option does not apply.

Tested: go build ./..., go vet ./..., go test ./... (all pass), plus live
API smoke tests of profiles list, browsers list, proxies list, api-keys
list against the rebuilt binary.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to f0262729f36648472689bae53ba860d7feda1b38 CLI: Update Go SDK to f6072746e884cecb4a59f8d7cdc49ac94af9e6a4 Aug 5, 2026
Bumps kernel-go-sdk to a42a4e3500ad02f7089f2903435d45ae907a1ff8.

The SDK adds telemetry.export.otlp (destination by id or name, plus an
enabled toggle) to every schema that embeds the shared telemetry request
config. Exposes it as --telemetry-export-otlp on the endpoints that
actually honor it:

- browsers create
- auth connections create / update / login

Not added to browser-pools create/update/acquire or browsers update: the
SDK carries the field there because the schema is shared, but the API
rejects export on pools and ignores it on a browser update, so a flag
there would be inert.

A destination requires capture to be enabled in the same request — the API
validates the payload on its own rather than consulting the stored config.
Create implies --telemetry=all (nothing to clobber); update and login
instead error with an actionable message, since enabling capture there
would replace the connection's current category selection.

Also surfaces export state in output: the browser create/update summary
(where the resolved destination is an ID string) and the auth connection
details table (where the stored request is echoed back as an {id, name}
object).

Full enumeration of all 127 api.md methods against the CLI command tree
found no missing commands.

Tested against the live API: browsers create --telemetry-export-otlp with
off / destination-by-name / destination-by-CUID; auth connections
create + get + update round-trip; both validation guards. Destination
lookup errors confirm the field reaches the server on each path (the test
org has no OTLP destinations configured, and no API exists to create one,
so a successful export bind could not be exercised end to end).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to f6072746e884cecb4a59f8d7cdc49ac94af9e6a4 CLI: Update SDK to a42a4e3 and add telemetry OTLP export flags Aug 6, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit eaf3d8a. Configure here.

Comment thread cmd/browsers_telemetry.go
Bumps github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260806131931-10e64888bbba (commit 10e6488).

The upstream SDK commit only touched scripts/utils/upload-artifact.sh
(restoring a Stainless artifact download slug); no api.md entries, service
methods, or param structs changed.

Coverage analysis: full enumeration of all 130 SDK methods in api.md against
the 138-command CLI tree, plus a field-by-field comparison of every *Params
struct (including nested request bodies such as ManagedAuthCreateRequestParam,
CreateCredentialRequestParam, and UpdateProjectLimitsRequestParam) against the
flags of each command. No coverage gaps found. Endpoints marked x-cli-skip in
openapi.yaml (/auth/connections/{id}/exchange, audit-log export destinations)
are absent from the SDK and correctly absent from the CLI.

Tested: go vet ./... and go test ./... pass; smoke tested `kernel app list`
and `kernel browsers list` against the production API.
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to a42a4e3 and add telemetry OTLP export flags CLI: Update Go SDK to 10e64888bbba7139d815dde7eec7cfa895093aa1 Aug 6, 2026
Bumps github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260806134418-f64bbb81fe7c.

The upstream commit is a merge whose tree is identical to the previously
pinned 10e64888bbba, so there are no API surface changes: the generated
api.md and *.go sources are byte-identical between the two versions.

Coverage analysis performed anyway:
- Enumerated all 127 SDK methods from api.md (including nested resources:
  Browsers.{Fs,Fs.Watch,Process,Computer,Telemetry,Replays,Logs,Playwright},
  Auth.Connections, Organization.Limits).
- Enumerated all 138 CLI leaf commands and their flags.
- Expanded every *Params struct plus the nested request params
  (ManagedAuthCreate/Update, CreateCredential, CreateCredentialProvider,
  SubmitFields, UpdateOrgLimits, UpdateProjectLimits, CreateProject).
- No missing commands and no missing flags.

Verified the x-cli-skip endpoints (/auth/connections/{id}/exchange and the
/audit-logs/export/destinations family) are absent from the SDK surface, so
they need no CLI coverage.

Tested: go build ./..., go vet ./..., go test ./... all pass;
`kernel status` and `kernel profiles list` smoke-tested against the live API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to 10e64888bbba7139d815dde7eec7cfa895093aa1 CLI: Update Go SDK to f64bbb81fe7cf5d5738264af775bd853f911734a Aug 6, 2026
Bumps github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260806134905-05231c859625.

The SDK diff between the CLI's previous pin
(v0.86.1-0.20260806134418-f64bbb81fe7c) and this commit is empty: the
only SDK change is CI-only (.github/workflows/release-please.yml). No
API surface changed.

Coverage analysis: full enumeration of all 127 methods in api.md against
the CLI command tree found no gaps. All 127 map to existing commands, and
all 94 param structs' fields map to existing flags, positional args, or
the --page/--per-page pagination pattern.

Tested: go build ./..., go test ./... (all pass), and smoke tested
`browsers list`, `profiles list`, `app list` against the live API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to f64bbb81fe7cf5d5738264af775bd853f911734a CLI: Update Go SDK to 05231c85962558ae3d4681646697ab7175d91189 Aug 6, 2026
Bumps github.com/kernel/kernel-go-sdk to
v0.86.1-0.20260806144011-2bc9fe850fb4.

The SDK commit range 05231c85..2bc9fe85 contains no source changes
(release/CI plumbing only), so there are no new methods or params.

Coverage analysis: full enumeration of all 127 SDK methods in api.md
against the CLI command tree found no gaps. Every method maps to a
command, and every param struct field maps to a flag or positional
argument (e.g. HoldKeys -> --hold-key, LastEventID -> --seq,
AuditLogListParams.SearchUserID -> --user-id, BrowserCurlParams.TimeoutMs
-> --max-time). The 7 x-cli-skip endpoints (auth connection exchange,
audit-log export destinations) are absent from the SDK as expected.

Tested: go build ./..., go test ./... (all pass), kernel app list
against the production API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to 05231c85962558ae3d4681646697ab7175d91189 CLI: Update Go SDK to 2bc9fe850fb46a37807363711ee8503e849a8235 Aug 6, 2026
Bumps github.com/kernel/kernel-go-sdk from
v0.86.1-0.20260806144011-2bc9fe850fb4 to v0.86.1 (commit 4511ca3).

The SDK change between these two commits is release-only (CHANGELOG.md,
README.md, internal/version.go, .release-please-manifest.json). No API
surface changed, so there are no new commands or flags to add.

Coverage analysis: performed a full enumeration of all 127 SDK methods in
api.md and all 95 *Params structs against the existing CLI commands and
flags. No gaps found.

- All 127 SDK methods have CLI commands. The 7 streaming methods
  (Auth.Connections.Follow, Browsers.Curl, Browsers.Logs.Stream,
  Browsers.Process.StdoutStream, Browsers.Telemetry.Stream,
  Deployments.Follow, Invocations.Follow) are covered via the SDK's
  *Streaming variants or a raw HTTP client.
- All param fields are exposed as flags, positional args, or are
  intentionally handled (pagination via --page/--per-page, audit-logs via
  the SDK PageToken auto-pager, and curl via browsers.HTTPClient() for
  streaming/binary-safe semantics where --max-time covers TimeoutMs).
- x-cli-skip endpoints (/auth/connections/{id}/exchange and the
  /audit-logs/export/destinations family) are absent from the SDK.

Tested: go build ./..., go vet ./..., go test ./... (all pass); against
the live API: browsers list, profiles list, app list (verified pagination
footer and --page/--per-page on profiles and app), browsers create -t 30
-o json, browsers delete (cleaned up).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to 2bc9fe850fb46a37807363711ee8503e849a8235 CLI: Update Go SDK to 4511ca394d224b066c1df8d01669871155afcc58 Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants