MCPcopy Create free account
hub / github.com/altic-dev/Pilot / ensureImageExists

Function ensureImageExists

src/lib/docker.ts:11–45  ·  view source on GitHub ↗

* Ensure the Docker image exists, build if necessary

()

Source from the content-addressed store, hash-verified

9 * Ensure the Docker image exists, build if necessary
10 */
11async function ensureImageExists(): Promise<void> {
12 try {
13 const images = await docker.listImages({
14 filters: { reference: ['pilot-agent:latest'] },
15 });
16
17 if (images.length === 0) {
18 logger.info('Building pilot-agent Docker image');
19
20 const stream = await docker.buildImage({
21 context: process.cwd(),
22 src: ['Dockerfile.agent'],
23 }, {
24 t: 'pilot-agent:latest',
25 dockerfile: 'Dockerfile.agent',
26 });
27
28 await new Promise((resolve, reject) => {
29 docker.modem.followProgress(stream, (err, res) => {
30 if (err) reject(err);
31 else resolve(res);
32 }, (event) => {
33 if (event.stream) {
34 logger.info('Docker build', { message: event.stream.trim() });
35 }
36 });
37 });
38
39 logger.info('Docker image built successfully');
40 }
41 } catch (error) {
42 logger.error('Failed to ensure Docker image exists', { error });
43 throw new Error(`Failed to build Docker image: ${error}`);
44 }
45}
46
47/**
48 * Create a new container for a chat session

Callers 1

createContainerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected