/proc/4/root/proc/2/cwd/_ssr
This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.
import { n as createServerFn } from "./ssr.mjs";import { t as createServerRpc } from "./createServerRpc-A6pJPYTF.mjs";import { promises } from "node:fs";import * as path from "node:path";import { exec } from "node:child_process";//#region node_modules/.nitro/vite/services/ssr/assets/shell-server-DFeDm4h2.jsvar ROOT = "/";var MAX_OUTPUT = 2e5;var TIMEOUT_MS = 3e4;function resolveSafe(relPath) { const cleaned = (relPath ?? "").replace(/^\/+/, "").replace(/\\/g, "/"); if (cleaned.includes("\0")) throw new Error("Invalid path"); const abs = path.resolve(ROOT, cleaned); const rootResolved = path.resolve(ROOT); if (abs !== rootResolved && !abs.startsWith(rootResolved)) throw new Error("Path escapes allowed root"); return abs;}function toRel(abs) { return path.relative(path.resolve(ROOT), abs).split(path.sep).join("/");}var runCommand_createServerFn_handler = createServerRpc({ id: "43655b12b2525448f49cc143e8e0a1f9d366816530f47cde443331fced610278", name: "runCommand", filename: "src/lib/shell-server.ts"}, (opts) => runCommand.__executeServer(opts));var runCommand = createServerFn({ method: "POST" }).validator((d) => d).handler(runCommand_createServerFn_handler, async ({ data }) => { const command = (data?.command ?? "").trim(); let cwdAbs = path.resolve(ROOT); let cwdRel = ""; try { cwdAbs = resolveSafe(data?.cwd ?? ""); if (!(await promises.stat(cwdAbs)).isDirectory()) cwdAbs = path.dirname(cwdAbs); cwdRel = toRel(cwdAbs); } catch { cwdAbs = path.resolve(ROOT); cwdRel = ""; } if (!command) return { cwd: cwdRel, command, stdout: "", stderr: "", code: 0, durationMs: 0, truncated: false, newCwd: null }; const cdMatch = /^cd(?:\s+(.+))?$/.exec(command); if (cdMatch && !/[;&|]/.test(command)) { const arg = (cdMatch[1] ?? "").trim().replace(/^["']|["']$/g, ""); let targetRel; if (arg === "" || arg === "~" || arg === "/") targetRel = ""; else if (arg.startsWith("/")) targetRel = arg.replace(/^\/+/, ""); else targetRel = cwdRel ? `${cwdRel}/${arg}` : arg; try { const targetAbs = resolveSafe(targetRel); if (!(await promises.stat(targetAbs)).isDirectory()) return { cwd: cwdRel, command, stdout: "", stderr: `cd: not a directory: ${arg}`, code: 1, durationMs: 0, truncated: false, newCwd: null }; const newRel = toRel(targetAbs); return { cwd: cwdRel, command, stdout: "", stderr: "", code: 0, durationMs: 0, truncated: false, newCwd: newRel }; } catch (e) { const code = e?.code; const msg = code === "EACCES" || code === "EPERM" ? `cd: permission denied: ${arg}` : `cd: no such file or directory: ${arg}`; return { cwd: cwdRel, command, stdout: "", stderr: msg, code: 1, durationMs: 0, truncated: false, newCwd: null }; } } const started = Date.now(); return await new Promise((resolve) => { exec(command, { cwd: cwdAbs, timeout: TIMEOUT_MS, maxBuffer: MAX_OUTPUT * 4, shell: "/bin/bash", env: { ...process.env, TERM: "dumb" }, windowsHide: true }, (error, stdout, stderr) => { let out = stdout ?? ""; let err = stderr ?? ""; let truncated = false; if (out.length > MAX_OUTPUT) { out = out.slice(0, MAX_OUTPUT); truncated = true; } if (err.length > MAX_OUTPUT) { err = err.slice(0, MAX_OUTPUT); truncated = true; } const code = error && typeof error.code === "number" ? error.code : error ? 1 : 0; if (error && error.killed) err = (err ? err + "\n" : "") + `[command timed out after ${TIMEOUT_MS / 1e3}s]`; resolve({ cwd: cwdRel, command, stdout: out, stderr: err, code, durationMs: Date.now() - started, truncated, newCwd: null }); }); });});var saveFile_createServerFn_handler = createServerRpc({ id: "3e9ad7efb5ff1b6ad57a93cc9f3882a022f3d539053d163dfd6fb95a332c1f69", name: "saveFile", filename: "src/lib/shell-server.ts"}, (opts) => saveFile.__executeServer(opts));var saveFile = createServerFn({ method: "POST" }).validator((d) => d).handler(saveFile_createServerFn_handler, async ({ data }) => { const relInput = (data?.path ?? "").trim(); const content = data?.content ?? ""; let abs; let relPath; try { abs = resolveSafe(relInput); relPath = toRel(abs); } catch { return { ok: false, relPath: relInput, size: 0, error: "Invalid path" }; } try { if ((await promises.stat(abs)).isDirectory()) return { ok: false, relPath, size: 0, error: "Path is a directory" }; } catch {} try { await promises.writeFile(abs, content, "utf8"); const st = await promises.stat(abs); return { ok: true, relPath, size: st.size, error: null }; } catch (e) { const code = e?.code; return { ok: false, relPath, size: 0, error: code === "EACCES" || code === "EPERM" ? "Permission denied" : code === "ENOENT" ? "Parent folder doesn't exist" : "Could not write file" }; }});//#endregionexport { runCommand_createServerFn_handler, saveFile_createServerFn_handler };