Skip to content

Conversation

@rgarcia
Copy link
Contributor

@rgarcia rgarcia commented Jan 30, 2026

This PR updates the Go SDK to 6ca29d21e5610db982caf74297cf481996793170 and adds CLI flags for new SDK parameters.

SDK Update

  • Updated kernel-go-sdk from v0.29.0 to v0.30.0

Coverage Analysis

A full enumeration of SDK methods and CLI commands was performed to identify coverage gaps.

New Flags

  • --status for kernel browsers list - Filter by status: 'active' (default), 'deleted', or 'all'. Corresponds to BrowserListParams.Status
  • --async-timeout for kernel invoke - Timeout in seconds for async invocations (min 10, max 3600). Corresponds to InvocationNewParams.AsyncTimeoutSeconds

Deprecations

  • Marked --include-deleted for kernel browsers list as deprecated in favor of --status

Triggered by: kernel/kernel-go-sdk@6ca29d2
Reviewer: @stainless-app[bot]


Note

Medium Risk
Moderate risk due to the SDK version bump and new request parameters/endpoint usage that could change CLI behavior against the API (especially listing/filtering and invocation timeouts).

Overview
Updates kernel-go-sdk to v0.30.0 and wires new SDK parameters into the CLI.

kernel browsers list now supports --status (active|deleted|all), deprecating --include-deleted while keeping it as a fallback; table output conditionally shows Deleted At based on the chosen status. kernel invoke adds --async-timeout to pass AsyncTimeoutSeconds, and introduces kernel invoke browsers <invocation_id> to list browser sessions for a specific invocation (table or --output json).

Written by Cursor Bugbot for commit 2658014. This will update automatically on new commits. Configure here.

Cursor Agent added 3 commits January 30, 2026 05:09
- Updated kernel-go-sdk from v0.28.0 to v0.29.0
- Added 1280x800@60 to available viewport configurations to match SDK update
- Updated viewport test to reflect the new viewport option

SDK release notes:
- Add support for 1280x800@60 viewport
- Add convenient param.SetJSON helper
- Update kernel-go-sdk from v0.29.0 to v0.30.0
- Add --status flag for browser list (active, deleted, all)
- Add --async-timeout flag for invoke command

SDK bump triggered by: kernel/kernel-go-sdk@6ca29d2
@rgarcia rgarcia changed the title CLI: Update SDK to v0.29.0 and add 1280x800@60 viewport support CLI: Update SDK to v0.30.0 and add new flags Feb 3, 2026
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🔧 CI Fix Available

I've pushed a fix for the CI failure. The test TestGetAvailableViewports_ReturnsExpectedOptions was expecting 7 viewports but the function now returns 8 after the new 1280x800@60 viewport was added.

👉 Click here to create a PR with the fix

}
if asyncTimeout > 0 {
params.AsyncTimeoutSeconds = kernel.Opt(asyncTimeout)
}
Copy link

Choose a reason for hiding this comment

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

Missing validation for async-timeout documented bounds

Low Severity

The --async-timeout flag help text states "(min 10, max 3600)" but the code only checks if asyncTimeout > 0 before passing the value to AsyncTimeoutSeconds. This allows values like 5 (below minimum) or 10000 (above maximum) to be sent to the API. Users relying on the documented constraints would expect invalid values to be rejected by the CLI with a helpful error.

Additional Locations (1)

Fix in Cursor Fix in Web

cursoragent and others added 2 commits February 3, 2026 18:34
The viewport '1280x800@60' was added twice:
- Once in commit 899caee (SDK v0.29.0 update)
- Again in commit 4d9565b (feat: add 1280x800 viewport support #97)

This resulted in 8 items in getAvailableViewports() while the test
expected 7 items, causing test failures.

Also removes the duplicate assertion in the test file.

Co-authored-by: mason <mason@onkernel.com>
Adds CLI support for the SDK's InvocationService.ListBrowsers() method
which returns all active browser sessions created within a specific
invocation.

Usage: kernel invoke browsers <invocation_id> [--output json]

Co-authored-by: mason <mason@onkernel.com>
Copy link

@cursor cursor bot left a comment

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 and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

if err != nil {
pterm.Error.Printf("Failed to list browsers for invocation: %v\n", err)
return nil
}
Copy link

Choose a reason for hiding this comment

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

API error returns success exit code in new command

Medium Severity

The new runInvocationBrowsers function prints the error on API failure but returns nil instead of the error. This causes the CLI to exit with code 0 (success) even when the API call fails. Scripts and CI/CD pipelines that check exit codes will incorrectly believe the command succeeded. Other handlers in browsers.go and agents.go properly return util.CleanedUpSdkError{Err: err} for API errors.

Fix in Cursor Fix in Web

return util.PrintPrettyJSONSlice(resp.Browsers)
}

if len(resp.Browsers) == 0 {
Copy link

Choose a reason for hiding this comment

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

Missing nil check on API response causes potential panic

Medium Severity

The runInvocationBrowsers function accesses resp.Browsers without first checking if resp is nil. Other similar functions in browsers.go and agents.go follow a defensive pattern of checking if page != nil before accessing response fields. If the SDK returns a nil response without an error (which the existing defensive code suggests is possible), this would cause a nil pointer dereference panic.

Fix in Cursor Fix in Web

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.

3 participants