the universal sandbox runtime for agents and humans. pocketenv.io
sandbox openclaw agent claude-code vercel-sandbox deno-sandbox cloudflare-sandbox atproto sprites daytona
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

Improve sandbox CLI output and fix DB query

Call .execute() on Kysely user queries so the selected user
row is returned. Replace console.log with consola + chalk output
for start/stop and add a hint to run the sandbox console. Set
@pocketenv/cf-sandbox version to 0.1.0

+18 -5
+2 -1
apps/api/src/xrpc/io/pocketenv/sandbox/startSandbox.ts
··· 14 14 const [user] = await ctx.db 15 15 .select() 16 16 .from(schema.users) 17 - .where(eq(schema.users.did, auth.credentials.did)); 17 + .where(eq(schema.users.did, auth.credentials.did)) 18 + .execute(); 18 19 userId = user?.id; 19 20 } 20 21
+2 -1
apps/api/src/xrpc/io/pocketenv/sandbox/stopSandbox.ts
··· 14 14 const [user] = await ctx.db 15 15 .select() 16 16 .from(schema.users) 17 - .where(eq(schema.users.did, auth.credentials.did)); 17 + .where(eq(schema.users.did, auth.credentials.did)) 18 + .execute(); 18 19 userId = user?.id; 19 20 } 20 21
+1 -1
apps/cf-sandbox/package.json
··· 1 1 { 2 2 "name": "@pocketenv/cf-sandbox", 3 - "version": "1.0.0", 3 + "version": "0.1.0", 4 4 "type": "module", 5 5 "private": true, 6 6 "description": "Sandbox Worker API",
+7 -1
apps/cli/src/cmd/start.ts
··· 1 + import consola from "consola"; 2 + import chalk from "chalk"; 3 + 1 4 async function start(name: string) { 2 - console.log(name); 5 + consola.success(`Sandbox ${chalk.greenBright(name)} started`); 6 + consola.log( 7 + `Run ${chalk.greenBright(`pocketenv console ${name}`)} to access the sandbox`, 8 + ); 3 9 } 4 10 5 11 export default start;
+6 -1
apps/cli/src/cmd/stop.ts
··· 1 - async function stop() {} 1 + import chalk from "chalk"; 2 + import consola from "consola"; 3 + 4 + async function stop(name: string) { 5 + consola.success(`Sandbox ${chalk.greenBright(name)} stopped`); 6 + } 2 7 3 8 export default stop;