Repository navigation
CLI: Update Go SDK to v0.142.0 - #309
Merged
Merged
Conversation
kernel-internal
Bot
force-pushed
the
cli-coverage-update
branch
from
November 6, 2026 00:26
765a97d to
d3e7048
Compare
yummybomb
force-pushed
the
cli-coverage-update
branch
from
November 6, 2026 20:42
d3e7048 to
ae6f4d4
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ae6f4d4. Configure here.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
yummybomb
self-requested a review
November 6, 2026 21:13
yummybomb
approved these changes
Nov 6, 2026
yummybomb
added a commit
that referenced
this pull request
Nov 6, 2026
## Summary #309 (pr i merged and created this breakage) widened the `--spec` card-data check in `vaultSpecFromFlags` from KERNEL specs to every provider. `vaultSpecHasCardData` matches key names at any depth, so it now also scans Link `metadata`. That metadata is a free-form string map that the API forwards to Link unchanged, so a harmless key like `number`, `cvc` or `expiry` (for example an order number) makes Link `cards create`, `cards update` and `payment-requests create/update` fail before the request with a KERNEL/VGS-specific card-details error. On main before #309 these specs were sent as normal. This change keeps the all-provider check but leaves `metadata` out of the scan for `link`. It is the only open-ended map in a Link spec; the other objects (`line_items`, `totals`, `recurring`) have closed schemas. Other providers are unchanged: AgentCard, Shop Pay, KERNEL and VGS specs are still scanned in full. AgentCard specs have no `metadata` field, and the API rejects unknown spec fields. KERNEL `metadata` is still covered by `TestKernelSpecRejectsCardDetails`. The regression is on main but not in a release yet (latest is v0.50.0). ## Tests - New `TestVaultLinkSpecsPreserveMetadataCardKeys`: Link `cards create/update` and `payment-requests create/update` send metadata with `number`, `cvc` and `expiry` keys unchanged. All 4 subtests fail without the fix. - New `TestVaultLinkSpecRejectsCardDetailsOutsideMetadata`: top-level and `line_items` card fields on a Link spec are still rejected before any API call. - `go build ./...`, `go vet ./...` and `go test ./...` pass locally. I didn't run against the production API. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Tightens validation scope for Link specs only; KERNEL/VGS paths unchanged. Slight mismatch with PR text if AgentCard metadata skip was intended—it is not in the diff (only `link` skips `metadata`). > > **Overview** > **Fixes a regression** where `vaultSpecHasCardData` scanned the whole `--spec` JSON for every provider, so harmless `metadata` keys on Link (e.g. order `number`, `cvc`, `expiry`) tripped the card-details guard before the API. > > For **`--provider link`**, the CLI now **clones the spec, drops `metadata`, and runs the card-data check on the remainder** so opaque Link metadata is not scanned. KERNEL and VGS behavior is unchanged (full spec still checked; protected `single_use_card` / `card` paths unchanged). > > **Tests** assert Link `cards` / `payment-requests` preserve metadata with card-like key names, and that real card fields outside metadata (top-level PAN, `line_items` CVC) are still rejected before any request. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 335f950. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: yummybomb <19238148+yummybomb@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
v0.142.0.Coverage
CLI coverage update through kernel-go-sdk v0.142.0
Summary
github.com/kernel/kernel-go-sdkfrom v0.141.0 to v0.142.0.v0.142.0 commands and flags
New commands
kernel proxy-ips listclient.ProxyIPs.List/GET /proxy_ips.--countryand--status active|excludedfilters.--pageand--per-page, requests one extra item to detect more results, prints a pagination footer for human output, preserves filters in the quotedNext:command, and omits pagination metadata from JSON output.kernel proxy-ips get <ip-address>client.ProxyIPs.Get/GET /proxy_ips/{ip_address}.Existing command coverage
kernel proxies create --ip-address <ipv4>ProxyNewParams.Config.OfIsp.IPAddress/IspProxyConfig.ip_address.kernel proxies update --ip-address <ipv4>ProxyUpdateParams.Config.IPAddress/IspProxyUpdateConfig.ip_address.kernel proxies update --name <name>ProxyUpdateParams.Namefield.--nameor--ip-address, and permits both together.kernel proxies list --ip-address <ipv4>ProxyListParams.IPAddress/ theGET /proxiesip_addressquery parameter.Help text synchronized with the API spec
v0.142.0
GET /proxy_ipsandGET /proxy_ips/{ip_address}IspProxyConfig.countryandIspProxyConfig.ip_addresskernel proxies createcountry defaults and documented selecting an active reserved IP withkernel proxy-ips list.PATCH /proxies/{id_or_name},ProxyUpdateRequest, andIspProxyUpdateConfig.ip_addressGET /proxiesip_addressBrowserViewport.widthandBrowserViewport.height--viewportusage for browser and browser-pool create/update commands to state that dimensions must be positive and headful browsers require width and height of at least 64 pixels.Coverage already present on this update branch
The diff against CLI main also includes earlier release coverage:
POST /browsers/{id_or_name}/webmcp/invokesingle_use_cardfields--spec-fileinput for caller-supplied single-use card details, prevents inline secret input, filters sensitive values from output and errors, and documents expiry, fill-domain, billing-field, and non-consumption behavior.authorization.token_refreshand theupdate_access_tokenvault item operation--token-refresh kernel|customer, supports access-token-only imports for customer-managed refresh, adds protected token replacement throughvaults items invoke ... update_access_token --spec-file, and keeps tokens out of output/errors.--spec-file, safe output filtering, provider-specific validation, and status/recovery guidance.target_idorentry_idis required.Full coverage review and exclusions
x-cli-skip: true:client.ConfigRegistry.Listclient.ConfigRegistry.Lookupclient.ConfigRegistry.Resolveclient.ConfigRegistry.Analyses.Getclient.ConfigRegistry.Analyses.Listclient.ConfigRegistry.Analyses.CancelValidation
go test ./...— passed.go build ./...— passed.git diff --check— passed.kernel proxies list --ip-address 203.0.113.10 --output jsonsucceeded and returned an empty JSON list.kernel proxies update --name, verified the new name withkernel proxies get, and deleted it successfully.kernel proxies update --ip-address; the API rejected the move because reserved ISP IPs are not enabled for the test organization. The proxy remained readable and was deleted successfully.kernel proxy-ips list, filtered list pagination flags,kernel proxy-ips get, andkernel proxies create --ip-addressall reached the real API but were rejected withreserved_isp_not_enabledfor the same organization-level limitation.Successful reserved-IP listing, pinning, moving, and retrieval could not be verified in this environment because the authenticated organization has no reserved ISP allocation. Unit tests cover request construction, filtering, pagination, output, validation, and command wiring for those paths.
Validation
Note
Medium Risk
Touches sensitive payment vault flows, new proxy IP moves, and stricter CLI validation—logic is well-tested but misconfiguration could block workflows or leak expectations about secrets.
Overview
Overview
Updates
kernel-go-sdktov0.142.0and expands the CLI to cover the new reserved ISP proxy IP workflow, tighter WebMCP invoke guardrails, stricter Search provider validation, refreshed viewport help, and a large VGS/Kernel payment surface (single-use cards, customer token refresh, spec-file-only secrets).Proxies & networking
Adds
kernel proxy-ips list|getwith page-based pagination, filters, human tables, and JSON output;kernel proxies create|update|listnow understand--ip-addressfor pinning/moving/filtering ISP exits (with validation, richer tables, and SDK-backed fake updates); help strings document reserved allocations and optional renames.WebMCP & Search
browsers webmcp invokerejects payloads over 4 MiB, documents unknown/page-unloaded/custom-tool limits, and adds regression tests;kernel searchenumerates supported provider slugs, lowercases input, and fails fast on deprecated names with refreshed tests/help.Vaults & payments
Introduces VGS provider configs, wallets, and cards (including encrypted alias handling via
--spec-file), KERNEL single-use cards with protected inputs and safer error paths, imported Link--token-refreshmodes plusitems invoke ... update_access_token --spec-file, broader help/output updates (1Password fill guidance, wallet/card flows, JSON filtering), and extensive tests covering the new behaviors.Reviewed by Cursor Bugbot for commit 5f5793b. Bugbot is set up for automated code reviews on this repo. Configure here.