Optionalprovider: ISandboxProvider & Pick<DockerSandboxProvider, "IsContainerRunning">DockerRenderDriver runs every container with NetworkPolicy: 'none' (--network none).
Composes captured still frames into labelled grid and transition-strip PNG sheets.
Optionalsignal: AbortSignalCaptures exact still frames at requested timestamps from a composition bundle.
Optionalsignal: AbortSignalRuns deterministic static, CLI, and DOM checks on a composition bundle.
Optionalsignal: AbortSignalExtracts representative keyframes (and optional contact sheets) from a reference video.
Optionalsignal: AbortSignalProvisions a one-shot container and runs main.js run health.
Never throws when Docker is unavailable or the image is not built; instead returns
{ Healthy: false, NodeVersion: process.version, HyperFramesVersion: '', Errors: [reason] }
(matching LocalWorkerRenderDriver.Health).
Optionalsignal: AbortSignalRenders a self-contained RenderProjectBundle into an MP4 deliverable.
OptionalonProgress: (progress: RenderProgress) => voidOptionalsignal: AbortSignalResolves the host workspace root directory for this driver instance.
When videoStudio.render.docker.workspaceRoot is configured, that path is returned as-is.
Otherwise, a single process-wide 0o700 directory is created via
fs.mkdtemp(path.join(os.tmpdir(), 'mj-video-render-')) and shared across driver instances.
Waits for any in-flight container operations to finish their Finalize cleanup.
Hardened Docker container render driver (
'Docker',VS-RND-4, §7.2, Decision 4 / D15).Provisions one network-isolated (
--network none), read-only-root (--read-only), capability-dropped (--cap-drop ALL --security-opt no-new-privileges) container per operation via@memberjunction/ai-agent-harness'sISandboxProvider(DockerSandboxProvider), stages the operation request onto the bind-mounted workspace, executesmain.js run <op>inside the container with onlyTMPDIRandHOMEin the environment, and finalizes the container infinally.