1.78.0 (2026-04-17)
Full Changelog: v1.77.1...v1.78.0
Features
- api: add update method to nks.clusters.loadBalancers (d6b7a02)
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions
Greptile Summary
This automated release (1.77.1 → 1.78.0) adds a Safe to merge — the new No P0/P1 issues found. The core implementation (path construction, body extraction, return type) is correct. The two P2 notes are: (1) an undocumented removal of the src/resources/audit-logs/audit-logs.ts — verify the PATCH /v1/nks/clusters/{cluster_id}/load_balancers/{load_balancer_id} endpoint exposed as client.nks.clusters.loadBalancers.update(), along with documentation, MCP server wiring, and migration config. It also refactors AuditLog.Target (previously a nested interface in the AuditLog namespace) into the top-level AuditLogTarget export — a change that is not reflected in the CHANGELOG and may be breaking for TypeScript consumers who referenced AuditLog.Target directly.
Confidence Score: 5/5
update method is correctly implemented and all findings are P2 or lower.
AuditLog.Target nested interface that may affect TypeScript consumers in a minor version bump, and (2) a misleading test name. Neither blocks merge.
AuditLog.Target removal is intentional and consider adding a CHANGELOG entry.
Important Files Changed
Filename
Overview
src/resources/nks/clusters/load-balancers.ts
Adds update method (PATCH) to LoadBalancers resource; correctly destructures cluster_id from params to use in path while sending only body in the request payload.
src/resources/audit-logs/audit-logs.ts
Refactors AuditLog.Target nested interface into a top-level exported AuditLogTarget; removes the previously public AuditLog.Target type which is a semver-breaking change shipped as a minor version.
tests/api-resources/nks/clusters/load-balancers.test.ts
Adds two skipped tests for update; both tests use identical inputs despite one being named "required and optional params" (no optional params exist in LoadBalancerUpdateParams).
bin/migration-config.json
Adds migration config for nks.clusters.loadBalancers.update documenting the old positional-path-param signature vs. the new params-object signature.
packages/mcp-server/src/methods.ts
Registers nks.clusters.loadBalancers.update PATCH method in the MCP SDK method registry.
packages/mcp-server/src/code-tool.ts
Updates the MCP code-tool prompt example to replace deprecated cpu_config/memory_config/nvme with instance_type: 'n1-standard-2' and abs boot volume type.
packages/mcp-server/src/local-docs-search.ts
Adds embedded docs entry for nks.clusters.loadBalancers.update with full parameter/response schema, multi-language examples (TypeScript, Go, CLI, curl).
README.md
Updates all VM creation quickstart examples consistently: type: 'abs', region: 'us-sva-2', and instance_type: 'n1-standard-2' replacing cpu_config/memory_config.
Sequence Diagram
sequenceDiagram
participant Client as TypeScript Client
participant SDK as LoadBalancers Resource
participant API as Nirvana API
Client->>SDK: loadBalancers.update(loadBalancerID, { cluster_id, public_ip_enabled })
Note over SDK: Destructures cluster_id from params<br/>Sends { public_ip_enabled } as body
SDK->>API: PATCH /v1/nks/clusters/{cluster_id}/load_balancers/{load_balancer_id}
API-->>SDK: Operation { id, status, kind, ... }
SDK-->>Client: APIPromise<Operation>
Prompt To Fix All With AI
This is a comment left during a code review.
Path: src/resources/audit-logs/audit-logs.ts
Line: 112-124
Comment:
**Potentially undocumented breaking change for `AuditLog.Target`**
The nested `AuditLog.Target` interface (previously `export interface Target` inside `export namespace AuditLog`) is removed and replaced with the top-level `AuditLogTarget`. Any consumer who referenced `NirvanaLabs.AuditLog.Target` or imported `AuditLog` and used `AuditLog.Target` as a TypeScript type will get a compile error after upgrading. This change is not mentioned in the CHANGELOG for 1.78.0. Consider adding an entry or verifying that the breaking-change policy allows shipping this in a minor version bump.
How can I resolve this? If you propose a fix, please make it concise.