/** * User-facing names for where a session's commands run, shared by the web * sandbox switcher and every timeline that labels command rows ("on Cloud * sandbox · …"). No DOM, no React. */ import type { SandboxBackend } from "@opengeni/sdk"; import type { MachineView } from "./types/machines.js"; import { type OpenGeniText } from "./messages/runtime.js"; export declare const CLOUD_SANDBOX_LABEL: (t: OpenGeniText) => string; export declare const NO_SANDBOX_LABEL: (t: OpenGeniText) => string; export declare const LOCAL_SANDBOX_LABEL: (t: OpenGeniText) => string; /** * User-facing name for a session's own managed box. Hosting vendors (Modal, * Daytona, ...) are deployment detail, not something a user chose, so hosted * providers read as the neutral "Cloud sandbox" and the local-dev Docker box as * "Local sandbox". The local backend runs directly on the host, so it keeps the * honest "this computer" instead of implying isolation. Connected Machines keep * their own names. */ export declare function sessionSandboxLabel(t: OpenGeniText, backend: SandboxBackend | string): string; /** Display name for a fleet row: the session's own box never shows its vendor. */ export declare function machineDisplayName(t: OpenGeniText, machine: Pick): string; /** * Who can use a Connected Machine, in the words of the Connect dialog's * "Who can use it?" choice: a personal machine is "Only me" (its owner, in any * workspace they can access), a workspace machine is shared with that * workspace's members, and an organization machine with the whole organization. */ export declare function machineScopeLabel(t: OpenGeniText, scope: MachineView["scope"]): string; /** The compute label a session timeline shows: the active machine, else the cloud box. */ export declare function sessionComputeLabel(t: OpenGeniText, machines: readonly Pick[]): string;