Skip to content

Support reserved ISP proxy IPs in manage_proxies - #268

Closed
yummybomb wants to merge 3 commits into
mainfrom
hypeship/proxies-reserved-isp-ips
Closed

yummybomb wants to merge 3 commits into
mainfrom
hypeship/proxies-reserved-isp-ips

Conversation

@yummybomb

@yummybomb yummybomb commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Updates @onkernel/sdk to 0.142.0 and exposes its reserved ISP proxy IP support in manage_proxies.

  • list accepts ip_address to find ISP proxies whose primary exit IP is that address. This works for every organization.
  • create accepts config.ip_address to pin a new ISP proxy to a reserved IP. A top-level ip_address on create is rejected with a pointer to config.ip_address instead of being silently dropped.
  • New move action: id_or_name + ip_address calls proxies.update(id, { config: { ip_address } }), which moves an ISP proxy to another reserved exit IP while keeping its ID.
  • New list_reserved_ips (optional ip_country and status filters, pagination) and get_reserved_ip (ip_address) actions over client.proxyIPs. ip_country is a new name rather than the deprecated top-level country, so it isn't counted as deprecated-param usage. Passing country to list_reserved_ips is rejected with a pointer to ip_country instead of returning an unfiltered list.
  • ip_address and config.ip_address are validated as IPv4 in the schema, matching the API.

Reserved IPs are enabled per organization. The tool description says so and names the reserved_isp_not_enabled error other organizations get, so agents don't keep retrying. API errors (ip_not_reserved, ip_unavailable, 409 on a concurrent change) reach the agent through the existing tool error handling. The SDK's default retries still apply, and it retries 409s, so a 409 costs two extra requests (about 1.5s) before it surfaces. That is safe: move to the IP a proxy already uses is a no-op, and a 409 on create means nothing was created. Retries are kept so transient 5xx and network errors on move still recover.

Testing

  • bunx tsc --noEmit --incremental false
  • bun test (1142 pass), with new cases for the list filter, create pin, move, the reserved-IP actions, and IPv4 validation
  • prettier --check

The new actions are not exercised against the live API; that needs an organization with a reserved allocation.


Note

Medium Risk
SDK bump plus new proxy-IP API paths (proxyIPs, move) can surface new API errors or edge cases; behavior is covered by unit tests but not live reserved-IP orgs.

Overview
Adds reserved ISP exit IP workflows on manage_proxies: new move (re-point an ISP proxy via proxies.update with config.ip_address), list_reserved_ips / get_reserved_ip (via client.proxyIPs), and list filtering by exit ip_address. Pins new ISP proxies only through config.ip_address; a top-level ip_address on create is rejected with a clear error. Schemas require IPv4 for relevant ip_address fields; list_reserved_ips uses ip_country / status while country there errors with guidance to use ip_country.

Docs and deps: README manage_proxies bullet updated; @onkernel/sdk raised to 0.142.0 (and lockfile). Tests cover list filter, create pin vs rejection, move, reserved-IP list/get, and bad IP shapes.

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

Update the Node SDK to 0.142.0. Add list_reserved_ips, get_reserved_ip and move actions, config.ip_address on ISP create, and an ip_address filter on list.
@vercel

vercel Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
mcp Ready Ready Preview Nov 6, 2026 9:21pm UTC

@socket-security

socket-security Bot commented Nov 6, 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
Updated@​onkernel/​sdk@​0.141.0 ⏵ 0.142.076 -5100100 +199100

View full report

@yummybomb
yummybomb marked this pull request as ready for review November 6, 2026 21:35
@yummybomb
yummybomb requested review from masnwilliams and removed request for masnwilliams November 6, 2026 21:35
@yummybomb yummybomb closed this Nov 8, 2026

This branch was successfully deployed

1 active deployment
Preview — 3c621404 Deployed Nov 6, 2026 by vercel[bot]
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.

1 participant