/** * Sandbox runtime detection for Genspark Tool CLI * * Genspark-managed sandbox templates bake an identity marker into the * image at build time (see services/sb_box_template/Dockerfile.*): * * /opt/genspark/sandbox_family e.g. "sb-box-sas" * /opt/genspark/sandbox_version e.g. "1" * * The family <-> template <-> consumer map is services/sb_box_template/ * README.md. sb-box-* families are Firecracker microVMs on the sb-box * fleet; the SAS project type (super_agent_sandbox) runs on the `sas` * template whose marker is "sb-box-sas". "sb-box-super-agent" is the plain * super_agent (bash-tool) template since the 2026-09-02 rename and is NOT * the SAS family. novita-code-sandbox is the code-interpreter template. The * base template (Dockerfile.base) bakes only sandbox_version — no family — * so "is a Genspark sandbox" keys on either marker being present. Outside a * Genspark sandbox the marker directory does not exist and every field * resolves to null/false. * * Detection is filesystem-only by design — no env-var override. The marker * identifies the runtime the process was launched into; behavior gates that * need a stronger guarantee (billing, permissions) must be enforced * server-side, not from this client-visible flag. */ export interface SandboxRuntime { /** Template family, e.g. "sb-box-sas"; null outside a sandbox. */ family: string | null; /** Template marker version (sandbox_version file); null when absent. */ version: string | null; /** True for any sb-box-* family (Firecracker microVM on the sb-box fleet). */ isSbBox: boolean; /** True only for the SAS family (`sas` template, marker "sb-box-sas"). */ isSuperAgentSandbox: boolean; /** True when any Genspark sandbox family marker is present. */ isGensparkSandbox: boolean; } /** * Pure reader used by tests — resolves the runtime from an explicit marker * directory. Production callers go through {@link getSandboxRuntime}. */ export declare function readSandboxRuntime(markerDir: string): SandboxRuntime; /** * The sandbox runtime this CLI process is executing in. Read once from * /opt/genspark and cached for the process lifetime. */ export declare function getSandboxRuntime(): SandboxRuntime; //# sourceMappingURL=runtime.d.ts.map