Skip to content

CLI: Update SDK to 140c57d4e9906743e96c814f8785ac35d65d46c5 and add new commands/flags - #264

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

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

Conversation

@kernel-internal

@kernel-internal kernel-internal Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

This PR updates the Go SDK to 140c57d4e9906743e96c814f8785ac35d65d46c5 and adds CLI commands/flags for new SDK methods.

SDK Update

  • Updated kernel-go-sdk to 140c57d4e9906743e96c814f8785ac35d65d46c5. The only change since v0.112.0 is a doc comment on SearchProviderListParams.Slug, so this bump needs no new commands or flags.
  • Previously bumped to 247bcf1fc700e7582f2986ecb1904e90ff2a27a9 (v0.112.0), a release-only bump.
  • Previously bumped to 47c13103242727ad8633062d359aee2ad7d6cb32 (adds client.Browsers.Webmcp.CustomTools.List/Add/Remove and BrowserWebmcpListToolsParams.ExcludeCustom, and changes Tool to use nested ToolMetadata with MCP-style annotation hints)
  • Previously bumped to ffc38db98feff227e904bd3c84e11cc715c010a8 (adds BrowserNetworkConfigParam.ProxyRoutes for per-destination proxy routing, plus a new destination_route_unavailable proxy error code in telemetry)
  • Previously bumped to 8e055e16e1db7872b2bb298901c760aba435030d (adds OrgEntitlementsFeatures.Search, a response-only field; no new methods or request params)
  • Previously bumped to b50814fd0cd8cff8a37e56b48142eef0b3653b7c (adds BrowserPoolAcquireParams.Profile to load a profile when acquiring from a pool)
  • Previously bumped to a9ee57caab330fac08e26e24896274baf2e64b43 (adds BrowserTelemetryEventsParams.Type)
  • Previously bumped to 0584ea1, 1ef7b7c, df8b441 (v0.111.0) and 0554699 (Search API v1)

Coverage Analysis

This PR was generated by performing a full enumeration of SDK methods and CLI commands. All 172 methods in api.md were checked against the CLI, along with every top-level Params field.

These methods have no CLI command, on purpose:

  • The six client.ConfigRegistry.* methods are marked x-cli-skip: true.
  • client.Search.Contents.Fetch: the OpenAPI spec says this endpoint is "reserved but not available in this release" and returns 404 until retrieval ships. It should get a CLI command once the endpoint works.

These fields have no flag of their own but are covered another way:

  • AuditLogListParams.PageToken: the auto-pager handles it.
  • The deprecated AuthConnectionLoginParams.BrowserTelemetry/.Proxy: the CLI sets browser.* instead.
  • BrowserCurlParams.ResponseEncoding: the CLI's curl sends a raw HTTP request through the browser's client.

New Commands (47c1310)

  • kernel browsers webmcp custom-tools list <id-or-name> for client.Browsers.Webmcp.CustomTools.List(). Shows a table of ID, namespace, name, kind, URL patterns, and read-only hint; supports -o json.
  • kernel browsers webmcp custom-tools add <id-or-name> --namespace <ns> (--source <js> | --source-file <path|->) [--force-overwrite-namespace] for client.Browsers.Webmcp.CustomTools.Add() (AddRequestParam.Namespace, .Source, .ForceOverwriteNamespace).
  • kernel browsers webmcp custom-tools remove <id-or-name> <tool-id> for client.Browsers.Webmcp.CustomTools.Remove().

New Flags (47c1310)

  • kernel browsers webmcp list --exclude-custom for BrowserWebmcpListToolsParams.ExcludeCustom.
  • webmcp list now reads the new nested tool metadata. The table gains a Source column (page or custom:<namespace>), and Read Only now comes from readOnlyHint.

New Flags (ffc38db)

  • kernel browsers create --proxy-route PROXY=HOST[,HOST...] for BrowserNetworkConfigParam.ProxyRoutes (Hosts, Proxy.ID/Proxy.Name). The flag is repeatable. PROXY is treated as an ID if it looks like a cuid and as a name otherwise, the same way --extension and --vault work. kernel browsers get shows a Proxy Routes row when routes are set. It is not added to browser-pools create/update because the SDK says routes are not supported on pools. Used with --pool-*, it is reported as a conflicting flag.
  • Fix: an empty network.private_hosts: [] is no longer sent when only routes are set. Sending it would have replaced the default private ranges.

New Output (8e055e1)

  • kernel org entitlements now shows a Search feature row for OrgEntitlementsFeatures.Search.Enabled. JSON output already includes it through the SDK type.

New Flags (b50814f)

  • kernel browser-pools acquire --profile-id / --profile-name / --save-changes for BrowserPoolAcquireParams.Profile (ID, Name, SaveChanges). The loaded profile appears in the acquire output. Per the SDK, a browser acquired with a profile is destroyed and replaced on release, even with --reuse.
  • kernel browsers create --pool-id/--pool-name now passes --profile-id, --profile-name and --save-changes through to the acquire, and no longer warns that they conflict with the pool's configuration. --telemetry-cdp-exclude was already passed through but still triggered that warning; it no longer does.
  • Validation: passing both profile flags, or --save-changes without a profile, is an error.

Earlier changes on this branch

  • kernel browsers telemetry events --types now maps to BrowserTelemetryEventsParams.Type (the server filters instead of the CLI).
  • kernel search, kernel search get, kernel search providers (from main, Add Search API CLI commands #266).
  • auth connections login --skill-mode, the timeline Completed column, and org limits concurrent-session usage.

Fixes (140c57d)

  • Merging main (Add browser proxy routes to CLI create #269, Update Go SDK to v0.112.0 and support custom WebMCP tools #270) had left two copies of the WebMCP custom-tools code, so the branch didn't compile. I kept main's browsers_webmcp.go and browsers_webmcp_test.go. The custom-tools commands now come from main's browsers_webmcp_custom_tools.go.
  • Removed the branch's duplicate --proxy-route registration on browsers create, which caused a "flag redefined" panic. Main's implementation from Add browser proxy routes to CLI create #269 stays, so the flag format is now main's HOST[,HOST...]=PROXY, not the PROXY=HOST format described in the ffc38db section below.
  • Removed an unused webmcpCustomTools field from BrowsersCmd.
  • browsers telemetry stream/events --categories help now lists platform.

Coverage notes (140c57d)

  • Telemetry.Export on BrowserUpdateParams and on BrowserPool{New,Update,Acquire}Params has no CLI flag. The OpenAPI spec says export is ignored on browser update and rejected by pools. A live check agreed: browsers update --telemetry-export-otlp off left the session exporting.
  • BrowserPool{New,Update}Params.Network.ProxyRoutes has no CLI flag. The spec says it is not supported on browser pools.

Fixes

  • Removed a duplicate rootCmd.AddCommand(searchCmd) left in cmd/root.go by the earlier merge from main.

Testing

  • 140c57d: go build ./..., go vet ./cmd, go test ./... pass. Live smoke tests: browsers create/update/delete, browsers webmcp list, webmcp custom-tools list, browsers telemetry events --categories platform, telemetry destinations create/delete, and browsers create --telemetry-export-otlp, which exported to the destination.
  • 47c1310, against the real API on a temporary browser (deleted afterward): custom-tools add from --source-file and from stdin, --force-overwrite-namespace (swapped in a new tool ID), and a duplicate add (returns 409 Conflict). Also custom-tools list (table and -o json); webmcp list with and without --exclude-custom after going to example.com (the custom tool shows as custom:clitest and is hidden with the flag); webmcp invoke of the custom tool (returned {"title":"Example Domain"}); and custom-tools remove (the list is empty afterward). New unit tests cover all three subcommands, --exclude-custom, and input validation. go test ./... passes.
  • ffc38db: browsers create --proxy-route by proxy name and by ID both reach the API, which returns feature_not_enabled: proxy routes are not enabled for the test org, so a successful route could not be checked end to end. Invalid values (bad, =host, proxy=) are rejected on the client. A plain browsers create/get/delete still leaves network unset. New unit test: TestBrowsersCreate_WithProxyRoutes.
  • 8e055e1: kernel org entitlements shows Search | true against the real API; -o json includes features.search. The unit tests for the entitlement rows now cover Search.
    Tested against the real API, using a temporary pool and profile that were deleted afterward:
  • browser-pools acquire <pool> --profile-name <p> --save-changes: the output shows the Profile and Profile Save Changes: true.
  • browsers create --pool-name <pool> --profile-id <id> -o json: the response includes the loaded profile.
  • The validation errors for both profile flags together, and for --save-changes alone.

go build ./..., go vet ./cmd and go test ./cmd pass. New unit tests cover buildAcquireProfileParam and acquiring with a profile.

Triggered by: kernel/kernel-go-sdk@140c57d
Reviewer: @kernel-internal[bot]

🤖 Generated with Claude Code

kernel-internal Bot and others added 14 commits September 16, 2026 19:32
Bumps the Go SDK from v0.105.1-0.20260916183112-dab5c0714192 to v0.107.0
(commit 6c9df7b).

The SDK surface is unchanged across this range: the previously pinned
pseudo-version already contained every feature commit in the 0.106.0 and
0.107.0 releases (persistent browser REPL, browser update start_url, config
registry, AgentCard preparation contracts, Link spend request errors). Only
release metadata differs, so no new commands or flags were required.

Coverage analysis: full enumeration of all 165 SDK methods in api.md against
the CLI command tree found no gaps. The six client.ConfigRegistry.* methods
are marked x-cli-skip in openapi.yaml and are correctly excluded. Param
fields without a dedicated flag were each verified as intentional:
- AuditLog{List,ExportChunk}Params.SearchUserID -> covered by --user-id
- AuditLogListParams.PageToken -> handled internally by ListAutoPaging
- AuthConnectionLoginParams.BrowserTelemetry -> deprecated, superseded by
  browser.telemetry, which --telemetry covers
- BrowserCurlParams.ResponseEncoding -> `browsers curl` streams raw bytes
  through its own HTTP client rather than the SDK method

Tested: go build ./..., go vet ./..., go test ./... (all 9 packages pass),
plus live API smoke tests of `browsers list`, `browsers create`,
`browsers repl` (verified top-level bindings persist across calls under a
stable REPL ID), `browsers update --start-url`, and `browsers delete`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates github.com/kernel/kernel-go-sdk from v0.107.0 to
v0.107.1-0.20260917184535-51d7fb82550d (commit 51d7fb8).

The upstream commit ("chore(stlc): seal custom-code tracking files")
contains no API surface changes -- the api.md/Go source diff between
v0.107.0 and 51d7fb8 is empty.

Coverage analysis: full enumeration of all 165 methods in api.md against
the CLI command tree (215 commands). All 159 non-skipped methods have a
corresponding CLI command; the 6 config-registry methods are marked
x-cli-skip: true in openapi.yaml. All params struct fields map to
existing flags, positional args, or are pagination internals handled by
the auto-pagers.

No new commands or flags were needed.

Tested: go build ./..., go vet ./..., go test ./... (all pass),
kernel browsers list, kernel profiles list against the live API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates github.com/kernel/kernel-go-sdk from
v0.107.1-0.20260917184535-51d7fb82550d to v0.108.0.

The only difference between the two module versions is the
internal/version.go version constant -- api.md and every public Go
source file are byte-identical, so there are no new API methods,
params, or fields to expose.

Coverage analysis: full enumeration of all 165 SDK methods in api.md
against all 176 CLI leaf commands found no gaps. 6 methods
(ConfigRegistry.{List,Lookup,Resolve} and
ConfigRegistry.Analyses.{Get,List,Cancel}) are marked x-cli-skip in
openapi.yaml and are intentionally absent. The remaining 159 all have
CLI commands. An automated SDK-param-field vs CLI-flag comparison
surfaced only naming false positives (e.g. proxy -> --proxy-id/--proxy-name,
tags -> --tag, timeout_seconds -> --timeout, hold_keys -> --hold-key) and
fields exposed as positional args; all were verified covered.

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates kernel-go-sdk to 6367486e6e06cdc3d9dc13c107dddca490e9b9bc.

That SDK change adds two response fields to OrgLimits:
concurrent_sessions_used and concurrent_sessions_available. Surface both
as rows in `kernel org limits get`. A null here means usage could not be
read rather than "unlimited", so these render as "unknown" instead of
reusing formatProjectLimitValue.

A full enumeration of the 165 methods in api.md found no missing
commands; the 6 config-registry methods are x-cli-skip. Param-field
audit found no missing flags: AuditLogListParams.PageToken is consumed
by the SDK auto-pager, AuthConnectionLoginParams.BrowserTelemetry is
deprecated in favor of browser.telemetry (already wired), and
BrowserCurlParams.ResponseEncoding does not apply because `browsers
curl` streams raw bytes over the browser HTTP client rather than calling
Browsers.Curl.

Tested: `kernel org limits get` and `-o json` against the live API
(1118 used + 882 available = 2000 max); full `go test ./...` passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bumps kernel-go-sdk to 3038f83eb3f7cc6a59059a0a04bdb111300ea77c, which
preserves credential field order: CredentialVaultItemSpec.Fields and
CredentialVaultItemSpecInputParam.Fields changed from a map keyed by name
to an ordered array, and each definition now carries a stable `name`.

- vaults_output.go: project spec.fields as an array (name, type, required,
  sensitive) instead of a keyed object, and look definitions up by name when
  deciding which non-sensitive values stay visible.
- vaults_credentials.go: document the ordered array and the name pattern,
  update the create example, note that update specs stay keyed by name,
  reject specs still using the object form with actionable guidance, and
  require every create field to carry a name. Error text never echoes values.
- README.md: same shape and ordering guidance.
- Tests: fixtures moved to the array shape; added coverage for field order
  reaching the API unchanged, the keyed-form error, and the missing-name error.

A full enumeration of api.md against the CLI command tree found no missing
commands. All config-registry and auth exchange endpoints are x-cli-skip.

Tested against the live API: vaults credentials create with out-of-alphabetical
field order (order preserved in the request and in get/list output), vaults
items get/list, vaults credentials update (keyed form, non-sensitive text/email
values still surfaced, sensitive omitted), vaults items invoke fill by field
name, and both new validation errors. Test vault, item, and browser deleted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates github.com/kernel/kernel-go-sdk to
v0.108.1-0.20260917213155-5cfceddfb1ea (5cfcedd).

The SDK change ("Accept opaque AgentCard vaulted card IDs") revises the
card_id contract on CardVaultItemSpecAgentcard: the value is an opaque ID
returned by AgentCard and must be passed through unchanged, without
assuming a prefix or format. The `vaults cards create|update` help text
still advertised a `vc_...` shape, so it is updated to match.

The CLI already forwards card_id verbatim inside the --spec JSON (there is
no --card-id flag), so no behavior change was needed; a regression test now
pins that prefixed, unprefixed and punctuated IDs all round-trip unchanged.

A full enumeration of all 165 SDK methods in api.md against the CLI command
tree found no missing commands. The six client.ConfigRegistry.* methods are
marked x-cli-skip in openapi.yaml and are intentionally absent. The
AgentCard and Link card spec field sets in the help text were verified
complete against the SDK param structs. No new params or fields were added
by this SDK bump, so no new flags were required.

Tested: go build ./..., go vet ./..., go test ./... (all pass);
vaults cards create --help (help renders on one line);
against production API: auth status, app list, vaults list,
vaults items list agentcard-vault, vaults items get agentcard-vault.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Updates github.com/kernel/kernel-go-sdk from
v0.108.1-0.20260917213155-5cfceddfb1ea to the v0.109.0 release (5c91a27).

Coverage analysis: api.md is byte-identical across this bump, so no API
methods, params or fields were added and no new commands or flags are
required. The only source changes relative to the previously pinned
pseudo-version are the release version stamp and a new
ConfigRegistryAnalysisService.WaitForResult convenience helper. All six
/config-registry endpoints are marked x-cli-skip in openapi.yaml, so that
helper is intentionally out of CLI scope.

A full enumeration of all 165 api.md methods against the CLI command tree
found no gaps. The six methods that do not match cmd/ by name are covered
through the SDK's *Streaming variants (Deployments.FollowStreaming,
Invocations.FollowStreaming, Browsers.Logs.StreamStreaming,
Browsers.Telemetry.StreamStreaming, Browsers.Fs.Watch.EventsStreaming,
Browsers.Process.StdoutStreamStreaming). The OrgLimits concurrency fields and
the opaque AgentCard card_id help text, both landed earlier on this branch,
were re-verified against the release.

Tested: go build ./..., go vet ./..., go test ./... (all pass); against the
production API: org limits get (both concurrency fields render), vaults list,
vaults cards create --help.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bumps kernel-go-sdk from v0.109.0 to
v0.109.1-0.20260918194421-c4dc2a28cd2b, which adds an optional `label`
to CredentialVaultFieldDefinition and CredentialVaultFieldInputParam.

`label` is non-secret display metadata for the hosted collection form. It
already reached the API because credential specs are passed through from
--spec-file, but the display-safe output projection dropped it: the
spec.fields allowlist in printVaultItem only permitted name/type/required/
sensitive, so every read silently discarded a label the API returned.
Add it to the allowlist and document it in the command help and README.

A full enumeration of api.md (165 methods) against the CLI command tree
(176 commands) found no missing commands. The six config-registry
endpoints are marked x-cli-skip in openapi.yaml and remain unexposed;
Invocations.Follow and Deployments.Follow are covered by the streaming
paths in logs/invoke/deploy logs.

Tested against the live API: vaults credentials create with labelled
text and password fields round-trips `label` to the API and back, and
vaults items get/list both render it. Verified the pre-fix binary
stripped `label` from the same responses. Sensitive values stay omitted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The credential field `label` support landed here against the pre-release
commit c4dc2a2 (pseudo-version v0.109.1-0.20260918194421-c4dc2a28cd2b).
That change is now published as the tagged v0.110.0 release, so pin the
release instead of the pseudo-version; the SDK source is identical.

Also guards the credentials help text with a steering assertion so the
`label` documentation is not silently dropped by a later edit.

A full enumeration of all 165 api.md methods against the CLI command tree
found no missing commands; the 6 config-registry methods are x-cli-skip.

Tested against the live API: vaults credentials create with labelled text
and password fields round-trips `label` through create, items get, and
items list; the test vault was deleted afterwards. go build ./... and
go test ./... pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bumps kernel-go-sdk from v0.110.0 to
v0.110.1-0.20260918232759-6e379e6df7b9. The only change is in
browsertelemetry.go: the proxy_error event's code enum gains
origin_response_incomplete, restricted_route_unavailable, and unknown,
and BrowserProxyErrorEventData gains raw_code (the sanitized
X-Kernel-Proxy-Error header, present only when code is unknown).

No CLI change is needed for that field. Unlike the credential-label case,
telemetry output has no display allowlist: `browsers telemetry events`
and `telemetry stream` render the Seq/Time/Category/Type table from the
event envelope and emit the event body verbatim under `-o json`, so
raw_code and the new codes flow through on their own.

A full enumeration of api.md (165 methods) against the CLI command tree
(175 commands) found no missing commands or flags. The six
config-registry endpoints are marked x-cli-skip in openapi.yaml and
remain unexposed, as does POST /auth/connections/{id}/exchange, which
the SDK does not surface; the other 159 methods all map to a command.
No request param struct changed since v0.110.0, so no new flags.

Also drops a stale assertion in TestCredentialHelpSteering. The branch
and main both added credential field labels; main's wording of the help
text won the merge, but the branch's assertion on its own earlier
phrasing ("definitions accept name, label, required, sensitive")
survived and failed. The neighboring assertion on "optional non-secret
human-readable label" already covers the same guidance.

Tested against the live API: browsers create --telemetry network,page;
browsers curl; browsers telemetry events (table and -o json);
browsers delete. Full go test ./... passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Bumps kernel-go-sdk to v0.110.1-0.20260921155736-dd9a4a4e3d3a, which adds
AgentcardPreparedProcessorAdyen and reframes prepare_checkout from
"tokenization" to general "checkout" preparation.

- cmd/vaults_prepare_checkout.go: add adyen to vaultCheckoutProcessors so
  `checkout.psp: "adyen"` passes CLI validation instead of being rejected
- cmd/vaults_commands.go, README.md: document adyen, its production/sandbox
  environment pairing, the fresh-card Sessions restriction (public dummy card
  fields, not vault aliases), and that device approval / browser Authorised
  responses are not capture or fulfillment evidence

Full enumeration of api.md methods against CLI commands found no missing
commands; the six /config-registry methods and auth/connections exchange are
marked x-cli-skip in openapi.yaml. No new param fields in this SDK bump.

Tested: `go build ./...` and `go test ./...` pass; against the live API,
`vaults items invoke <vault> <item> prepare_checkout --params
'{"checkout":{...,"psp":"adyen"}}'` now passes CLI validation and reaches the
API, while `"psp":"stripe"` is still rejected with the updated processor list.
Did not arm a real Adyen preparation, since preparations are single-use and
would irreversibly consume a live AgentCard card.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to 6e379e6df7b9727b412e028352c25023439fefd8 CLI: Update SDK to dd9a4a4e3d3ae56a41429901b1cc7eb580febae7 and add new commands/flags Sep 21, 2026
Updates github.com/kernel/kernel-go-sdk to
v0.110.1-0.20260921185747-68c51002947b (68c5100).

The SDK delta from dd9a4a4 touches only authconnection.go: documentation
rewording on ManagedAuth.CanReauth / CanReauthReason plus one new enum
value, ManagedAuthCanReauthReasonOptimisticTotpAttempt
("optimistic_totp_attempt"). No new methods, resources, or param fields.

The CLI renders CanReauthReason as an opaque string in both the auth
connections list and get views, so the new value surfaces with no code
change.

Coverage analysis: full enumeration of all 165 methods in the SDK api.md
against the 176 commands in the CLI command tree found no missing
commands. The 6 ConfigRegistry methods are marked x-cli-skip in
openapi.yaml and are correctly absent.

Tested against the production API:
- kernel status
- kernel auth context
- kernel auth connections list --limit 3 (table and -o json)
- kernel auth connections get <id> (Can Reauth / Can Reauth Reason render)
- go build ./..., go vet ./..., go test ./... all pass

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to dd9a4a4e3d3ae56a41429901b1cc7eb580febae7 and add new commands/flags CLI: Update Go SDK to 68c51002947ba672c74f15f50420184c5b5ecbe7 Sep 21, 2026
Updates kernel-go-sdk to
v0.110.1-0.20260921192205-ca8d4655a0dc, which adds
ManagedAuthTimelineEvent.CompletedAt: the stable timestamp for when a
login/reauth attempt first reached a terminal status.

Full enumeration of api.md methods against cmd/ found no missing
commands or param flags. The only SDK change was this response field, so
`kernel auth connections timeline` now renders a Completed column
alongside Timestamp. It dashes out for in-progress attempts, health
checks, and historical attempts with no recorded completion time.

Tested: kernel auth connections timeline (table + --output json, with and
without --type/--page/--per-page) against the staging API; unit test
extended to cover a populated completed_at.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update Go SDK to 68c51002947ba672c74f15f50420184c5b5ecbe7 CLI: Update SDK to ca8d4655a0dc47369135fb4a938eeb5cf5326582 and surface managed auth completion times Sep 21, 2026
Updates kernel-go-sdk to aee0b02b9b0bdb2f84172ee9b568696dcd8fa482, which adds
AuthConnectionLoginParams.SkillMode: a per-login control over whether the flow
reads and writes learned domain skills. Automatic reauths inherit the selected
mode, so exposing it on `kernel auth connections login` is the only way to opt a
connection out of skill learning from the CLI.

The value is validated locally against enabled/disabled so a typo fails before
a login flow is started, and omitting the flag leaves the field unset so the API
keeps its default of enabled.

A full enumeration of api.md methods against the CLI's commands found no other
gaps: every SDK method has a command except the config-registry and auth
exchange endpoints marked x-cli-skip, and the only uncovered params fields are
deprecated (login browser_telemetry), handled internally (audit log page_token
via ListAutoPaging), or not applicable (curl response_encoding, since the CLI
streams raw bytes through the browser HTTP client).

Tested: auth connections login --skill-mode disabled, --skill-mode enabled, and
an invalid value against the real API, plus unit tests for set/omitted/invalid.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to ca8d4655a0dc47369135fb4a938eeb5cf5326582 and surface managed auth completion times CLI: Update SDK to aee0b02b9b0bdb2f84172ee9b568696dcd8fa482 and add new commands/flags Sep 21, 2026
Updates github.com/kernel/kernel-go-sdk to
05546992051b109e2a59e1b4a7f6f4455b1470db, which adds the Search API v1
providers, and covers all four new SDK methods with CLI commands.

New commands:
- `kernel search <query>`        -> client.Search.New
- `kernel search get <id>`       -> client.Search.Get
- `kernel search providers`      -> client.Search.Providers.List
- `kernel search contents <id>`  -> client.Search.Contents.Fetch

`kernel search` exposes every RequestParam field: --country, --language,
--max-results, --recency, --safe-search, --start-date, --end-date,
--include-domains, --exclude-domains, --strict-params, --include-raw and
--timeout-ms, plus --content and the --content-* options for portable
retrieval and --show-content for printing extracted text.

The strategy union is driven by --provider (pinned), --fallback-providers
(fallback) and --fallback-on, with provider-native options supplied as a
JSON object keyed by provider slug via --provider-options. Provider
targets are built by round-tripping through the SDK's discriminated union
so every provider's typed options are reachable without a flag per
provider.

A full enumeration of api.md against the CLI found no other gaps: the
only other uncovered methods are the six client.ConfigRegistry.* methods,
which are marked x-cli-skip in openapi.yaml.

Tested: search is disabled for the test organization, so the four
commands were exercised end-to-end against the real API only as far as
the server's search_disabled/404 responses, which surface cleanly. Wire
payloads (portable params, the content boolean/object union, and the
pinned/fallback/auto strategy variants including native options) are
covered by unit tests in cmd/search_test.go, along with flag wiring and
client-side validation. Full `go build ./...` and `go test ./...` pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to aee0b02b9b0bdb2f84172ee9b568696dcd8fa482 and add new commands/flags CLI: Update SDK to 05546992051b109e2a59e1b4a7f6f4455b1470db and add new commands/flags Sep 22, 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.

Stale Bugbot comment from a previous run.

Comment thread cmd/search.go Outdated
SDK release bump only; no API method or param changes. Full
enumeration of api.md methods against CLI commands found no gaps.

Tested: go build ./..., go test ./...

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 05546992051b109e2a59e1b4a7f6f4455b1470db and add new commands/flags CLI: Update SDK to df8b4419112354f7b00a3954617d6fc50ccd1680 and add new commands/flags Sep 22, 2026
Updates kernel-go-sdk to 1ef7b7c34dc3b987d6c515c82ea399c424f0c6e6
(adds iframe/worker browser event target types; response-only change).

Full enumeration of SDK methods and params found no CLI coverage gaps.
Tested: go build ./..., go test ./... (no new commands/flags to smoke test)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to df8b4419112354f7b00a3954617d6fc50ccd1680 and add new commands/flags CLI: Update SDK to 1ef7b7c34dc3b987d6c515c82ea399c424f0c6e6 and add new commands/flags Sep 22, 2026
Updates kernel-go-sdk to 0584ea1d2238bfb06f1995ef4cab305917941efa.
SDK change is documentation-only (BrowserMonitorDisconnectedEvent comment);
full enumeration found no new coverage gaps. Build verified with go build ./...

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 1ef7b7c34dc3b987d6c515c82ea399c424f0c6e6 and add new commands/flags CLI: Update SDK to 0584ea1d2238bfb06f1995ef4cab305917941efa and add new commands/flags Sep 22, 2026
kernel-internal Bot and others added 2 commits September 23, 2026 19:14
- Bump kernel-go-sdk to a9ee57caab330fac08e26e24896274baf2e64b43
- `kernel browsers telemetry events --types` now sends repeated `type`
  query params (BrowserTelemetryEventsParams.Type) instead of filtering
  client-side, so it no longer forces a full-window scan; it combines
  with --categories (an event must match both)
- Print the --offset hint even when a filtered page is empty, since
  filters apply within each page

Tested: browsers telemetry events --types cdp_connect,api_call;
--categories connection --types api_call (empty, AND semantics);
--categories control --types api_call,cdp_connect --all -o json;
--types cdp_command --limit 1 (empty page with next-offset hint)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 0584ea1d2238bfb06f1995ef4cab305917941efa and add new commands/flags CLI: Update SDK to a9ee57caab330fac08e26e24896274baf2e64b43 and add new commands/flags Sep 23, 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.

Stale Bugbot comment from a previous run.

Comment thread README.md
- `--limit <n>` - Number of results to fetch starting from rank 1 (mutually exclusive with `--result-ids`)
- `--timeout-ms <ms>` - Overall deadline across all selected results
- Accepts the same `--content-*` flags as `kernel search`
- This endpoint is reserved and returns 404 until deferred retrieval ships; use `kernel search --content` for inline retrieval

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Deferred search contents documented

Medium Severity

The README adds kernel search contents for deferred content retrieval, including flags and a note that the endpoint returns 404 until it ships. Deferred retrieval is unavailable and must not be exposed; the subcommand is also not implemented.

Fix in Cursor Fix in Web

Triggered by learned rule: Search CLI: no-retry Execute; pass-through JSON; document schema

Reviewed by Cursor Bugbot for commit dfcd804. Configure here.

Comment thread cmd/root.go Outdated
kernel-internal Bot and others added 2 commits September 23, 2026 22:34
- Bump github.com/kernel/kernel-go-sdk to b50814fd0cd8cff8a37e56b48142eef0b3653b7c
- browser-pools acquire: add --profile-id, --profile-name, --save-changes
  (BrowserPoolAcquireParams.Profile); show the loaded profile in the table
- browsers create --pool-id/--pool-name: forward --profile-id/--profile-name/
  --save-changes to the acquire, and stop flagging them (and
  --telemetry-cdp-exclude, which was already forwarded) as conflicting
  pool configuration

Tested: browser-pools acquire --profile-name --save-changes (profile shown,
save changes true); browsers create --pool-name --profile-id -o json (profile
loaded); validation errors for both-profile-flags and --save-changes without
a profile; go test ./cmd passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to a9ee57caab330fac08e26e24896274baf2e64b43 and add new commands/flags CLI: Update SDK to b50814fd0cd8cff8a37e56b48142eef0b3653b7c and add new commands/flags Sep 23, 2026
@socket-security

socket-security Bot commented Sep 23, 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.112.0 ⏵ v0.112.1-0.20260926030552-140c57d4e99073 +1100100100100

View full report

- Bump github.com/kernel/kernel-go-sdk to 8e055e16e1db7872b2bb298901c760aba435030d
- Add "Search" feature row to `kernel org entitlements` table output
  (OrgEntitlementsFeatures.Search, new in this SDK version)

No new SDK methods or request params in this update; api.md is unchanged.

Tested: kernel org entitlements (table shows "Search | true"),
kernel org entitlements -o json (includes features.search), go test ./...

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to b50814fd0cd8cff8a37e56b48142eef0b3653b7c and add new commands/flags CLI: Update SDK to 8e055e16e1db7872b2bb298901c760aba435030d and add new commands/flags Sep 24, 2026
- Bump github.com/kernel/kernel-go-sdk to ffc38db98feff227e904bd3c84e11cc715c010a8
- Add `kernel browsers create --proxy-route PROXY=HOST[,HOST...]` (repeatable)
  for BrowserNetworkConfigParam.ProxyRoutes; PROXY resolves as ID or name
- Show configured proxy routes in `kernel browsers get`
- Stop sending an empty network.private_hosts list when only routes are set,
  which would otherwise replace the default private ranges

Tested: go test ./...; browsers create --proxy-route by name and by ID reach
the API (org returns feature_not_enabled: proxy routes are not enabled);
invalid --proxy-route values rejected client-side; --proxy-route flagged as a
pool conflict; plain browsers create/get/delete still work with network unset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 8e055e16e1db7872b2bb298901c760aba435030d and add new commands/flags CLI: Update SDK to ffc38db98feff227e904bd3c84e11cc715c010a8 and add new commands/flags Sep 24, 2026
- Bump kernel-go-sdk to 47c13103242727ad8633062d359aee2ad7d6cb32
- Add `kernel browsers webmcp custom-tools list|add|remove` for
  client.Browsers.Webmcp.CustomTools.List/Add/Remove
- Add `--exclude-custom` to `kernel browsers webmcp list`
  (BrowserWebmcpListToolsParams.ExcludeCustom)
- Adapt `webmcp list` to the new nested Tool metadata shape and show
  tool source (page vs custom:<namespace>)

Tested against the live API: webmcp custom-tools add (--source-file,
stdin, --force-overwrite-namespace, duplicate -> 409), custom-tools list
(table and -o json), webmcp list with/without --exclude-custom, webmcp
invoke of a custom tool, custom-tools remove. go test ./... passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to ffc38db98feff227e904bd3c84e11cc715c010a8 and add new commands/flags CLI: Update SDK to 47c13103242727ad8633062d359aee2ad7d6cb32 and add new commands/flags Sep 24, 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 default effort and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

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 3e77f83. Configure here.

Comment thread cmd/browsers_webmcp.go Outdated
Release-only SDK bump; no API method or param changes since 47c1310.
Full enumeration of api.md found no new coverage gaps.

Tested: go build ./..., go test ./...

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 47c13103242727ad8633062d359aee2ad7d6cb32 and add new commands/flags CLI: Update SDK to 247bcf1fc700e7582f2986ecb1904e90ff2a27a9 and add new commands/flags Sep 24, 2026
kernel-internal Bot and others added 2 commits September 26, 2026 03:09
- Bump kernel-go-sdk to 140c57d4e9906743e96c814f8785ac35d65d46c5
  (only doc changes to SearchProviderListParams.Slug since v0.112.0)
- Resolve duplicate WebMCP custom-tools declarations left by merging main
  (#270): take main's browsers_webmcp.go / browsers_webmcp_test.go
- Drop the duplicate --proxy-route flag registration on browsers create
  (main's #269 implementation is kept) and an unused webmcpCustomTools field
- List the "platform" category in telemetry stream/events --categories help

Coverage: full enumeration of api.md vs CLI found no actionable gaps.
Telemetry.Export on browser update/pools and Network.ProxyRoutes on pools
are ignored/rejected by the API per openapi.yaml; Search.Contents.Fetch is
reserved (404) in this release.

Tested: go build/vet/test; live smoke of browsers create/update/delete,
browsers webmcp list, webmcp custom-tools list, telemetry events
--categories platform, telemetry destinations create/delete.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update SDK to 247bcf1fc700e7582f2986ecb1904e90ff2a27a9 and add new commands/flags CLI: Update SDK to 140c57d4e9906743e96c814f8785ac35d65d46c5 and add new commands/flags Sep 26, 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