/** * `shannon workspaces` command — list all workspaces. */ import { execFileSync } from 'node:child_process'; import { getWorkerImage } from '../docker.js'; import { getWorkspacesDir } from '../home.js'; export function workspaces(version: string): void { const workspacesDir = getWorkspacesDir(); const image = getWorkerImage(version); try { execFileSync( 'docker', [ 'run', '--rm', '-v', `${workspacesDir}:/app/workspaces`, '-e', 'WORKSPACES_DIR=/app/workspaces', image, 'node', 'apps/worker/dist/temporal/workspaces.js', ], { stdio: 'inherit' }, ); } catch { console.error('ERROR: Failed to list workspaces. Is the Docker image available?'); console.error(` Run: docker pull ${image}`); process.exit(1); } }