Skip to content

chore(sdk): update removeTunnel() oo sdk method and add smoketest#756

Merged
sid-rl merged 3 commits intomainfrom
siddarth/sdk-coverage
Mar 24, 2026
Merged

chore(sdk): update removeTunnel() oo sdk method and add smoketest#756
sid-rl merged 3 commits intomainfrom
siddarth/sdk-coverage

Conversation

@sid-rl
Copy link
Contributor

@sid-rl sid-rl commented Mar 24, 2026

User description

⚠️ PR Title Must Follow Conventional Commits

Format: feat[optional scope]: <description>

Examples: feat: add new SDK method · feat(storage): support file uploads · feat!: breaking API change


Description

Motivation

This should help us reach 100% SDK smoketest coverage

Changes

Testing

  • Unit tests added
  • Integration tests added
  • Smoke Tests added/updated
  • Tested locally

Breaking Changes

Checklist

  • PR title follows Conventional Commits format (feat: or feat(scope):)
  • Documentation updated (if needed)
  • Breaking changes documented (if applicable)

CodeAnt-AI Description

Allow active V2 tunnels to be removed from a devbox

What Changed

  • removeTunnel() now removes an existing V2 tunnel instead of being described as legacy-only
  • The SDK docs and example were updated to match the new tunnel removal behavior
  • The smoketest now removes the tunnel after verifying it was created, covering the full enable/remove flow

Impact

✅ Easier tunnel cleanup
✅ Fewer leftover devbox tunnels
✅ Verified tunnel removal flow

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai
Copy link
Contributor

codeant-ai bot commented Mar 24, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added the size:XS This PR changes 0-9 lines, ignoring generated files label Mar 24, 2026
@codeant-ai
Copy link
Contributor

codeant-ai bot commented Mar 24, 2026

Sequence Diagram

This PR updates the object oriented removeTunnel behavior and validates it in smoke tests for V2 tunnels. The flow now explicitly covers enabling a tunnel, confirming it exists, and removing it through the same SDK surface.

sequenceDiagram
    participant SmokeTest
    participant DevboxSDK
    participant DevboxAPI

    SmokeTest->>DevboxSDK: Enable tunnel with open auth mode
    DevboxSDK->>DevboxAPI: Enable tunnel for devbox
    DevboxAPI-->>DevboxSDK: Return tunnel details
    SmokeTest->>DevboxSDK: Get devbox info
    DevboxSDK->>DevboxAPI: Fetch devbox state
    DevboxAPI-->>DevboxSDK: Return tunnel in devbox info
    SmokeTest->>DevboxSDK: Remove tunnel
    DevboxSDK->>DevboxAPI: Remove V2 tunnel for devbox
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Contributor

codeant-ai bot commented Mar 24, 2026

Nitpicks 🔍

🔒 No security issues identified
⚡ Recommended areas for review

  • Test Gap
    The new removeTunnel() call is only checked for successful completion; the test does not verify that the tunnel was actually removed from devbox state. If the API returns success but leaves the tunnel intact, this smoke test would still pass.

@codeant-ai
Copy link
Contributor

codeant-ai bot commented Mar 24, 2026

CodeAnt AI finished reviewing your PR.

@sid-rl sid-rl requested review from alb-rl and dines-rl March 24, 2026 23:10
* ```
*
* @param {Core.RequestOptions} [options] - Request options
* @returns {Promise<DevboxRemoveTunnelResponse>} Tunnel removal result
Copy link
Contributor

Choose a reason for hiding this comment

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

doesn't this still return an empty promise

@github-actions
Copy link

github-actions bot commented Mar 24, 2026

✅ Object Smoke Tests & Coverage Report

Test Results

✅ All smoke tests passed

Coverage Results

Metric Coverage Required Status
Functions 100% 100%
Lines 89.11% - ℹ️
Branches 66.8% - ℹ️
Statements 87.9% - ℹ️

Coverage Requirement: 100% function coverage (all public methods must be called in smoke tests)

✅ All tests passed and all object methods are covered!

View detailed coverage report
File Functions Lines Branches
src/sdk.ts ✅ 100% 85.14% 72.58%
src/sdk/agent.ts ✅ 100% 100% 100%
src/sdk/blueprint.ts ✅ 100% 100% 80%
src/sdk/devbox.ts ✅ 100% 91.81% 96.96%
src/sdk/execution-result.ts ✅ 100% 92.68% 70.83%
src/sdk/execution.ts ✅ 100% 95.65% 87.5%
src/sdk/gateway-config.ts ✅ 100% 100% 100%
src/sdk/mcp-config.ts ✅ 100% 100% 100%
src/sdk/network-policy.ts ✅ 100% 100% 100%
src/sdk/scenario-run.ts ✅ 100% 96.87% 50%
src/sdk/scenario.ts ✅ 100% 100% 100%
src/sdk/scorer.ts ✅ 100% 100% 100%
src/sdk/secret.ts ✅ 100% 100% 100%
src/sdk/snapshot.ts ✅ 100% 100% 100%
src/sdk/storage-object.ts ✅ 100% 80% 48.93%

📋 View workflow run

@sid-rl sid-rl requested a review from alb-rl March 24, 2026 23:24
@sid-rl sid-rl merged commit db682a9 into main Mar 24, 2026
9 checks passed
@sid-rl sid-rl deleted the siddarth/sdk-coverage branch March 24, 2026 23:41
@stainless-app stainless-app bot mentioned this pull request Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants