the universal sandbox runtime for agents and humans.
pocketenv.io
sandbox
openclaw
agent
claude-code
vercel-sandbox
deno-sandbox
cloudflare-sandbox
atproto
sprites
daytona
1import consola from "consola";
2import { Sandbox } from "@pocketenv/sdk";
3import { c } from "../theme";
4import { configureSdk } from "../lib/sdk";
5
6export async function exposePort(
7 sandboxName: string,
8 port: number,
9 description?: string,
10) {
11 await configureSdk();
12 try {
13 const sandbox = await Sandbox.get(sandboxName);
14 const result = await sandbox.expose(port, description);
15
16 consola.success(
17 `Port ${c.primary(port)} exposed for sandbox ${c.primary(sandboxName)}`,
18 );
19
20 if (result.previewUrl) {
21 consola.success(`Preview URL: ${c.secondary(result.previewUrl)}`);
22 }
23 } catch (error) {
24 consola.error("Failed to expose port:", error);
25 process.exit(1);
26 }
27}