CLI: Update SDK to v0.32.0 and add credential-providers list-items#102
CLI: Update SDK to v0.32.0 and add credential-providers list-items#102
Conversation
- 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
|
🔧 CI Fix Available I've pushed a fix for the CI failure. The test |
| } | ||
| if asyncTimeout > 0 { | ||
| params.AsyncTimeoutSeconds = kernel.Opt(asyncTimeout) | ||
| } |
There was a problem hiding this comment.
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)
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>
There was a problem hiding this comment.
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 | ||
| } |
There was a problem hiding this comment.
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.
| return util.PrintPrettyJSONSlice(resp.Browsers) | ||
| } | ||
|
|
||
| if len(resp.Browsers) == 0 { |
There was a problem hiding this comment.
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.
…mand - Update github.com/kernel/kernel-go-sdk from v0.30.0 to v0.32.0 - Add `kernel credential-providers list-items <id>` command to list all credential items from an external provider - Fix breaking change: use Credential.Name instead of removed CredentialName field in AuthAgent display output Co-authored-by: Cursor <cursoragent@cursor.com>


Summary
kernel credential-providers list-items <id>command to list all credential items from an external providerTest plan
kernel credential-providers list-items <provider-id>works correctly with a valid 1Password providerkernel credential-providers list-items <id> -o jsonoutputs valid JSONkernel agents auth get <id>correctly displays credential name/provider from new Credential fieldgo test ./...to ensure all tests passNote
Medium Risk
Moderate risk due to SDK version bump and new/changed CLI flags that alter request parameters and output formatting, though changes are localized to CLI command wiring.
Overview
Updates the CLI to use
kernel-go-sdkv0.32.0 and aligns output/fields with newer SDK response shapes.Adds new CLI capabilities and flags:
kernel browsers listnow supports--status(active|deleted|all) with--include-deletedmarked deprecated,kernel invokesupports--async-timeout,kernel invoke browsers <invocation_id>lists active browser sessions for an invocation, andkernel credential-providers list-items <id>lists credential items (table or JSON).Also tweaks browser viewport options ordering (tests updated) and improves agent auth output to show nested credential name/provider.
Written by Cursor Bugbot for commit 89d90ca. This will update automatically on new commits. Configure here.