MCPcopy Index your code
hub / github.com/continuedev/continue / installModel

Method installModel

core/llm/llms/Docker.ts:164–215  ·  view source on GitHub ↗
(
    modelName: string,
    signal: AbortSignal,
    progressReporter?: (task: string, increment: number, total: number) => void,
  )

Source from the content-addressed store, hash-verified

162 }
163
164 async installModel(
165 modelName: string,
166 signal: AbortSignal,
167 progressReporter?: (task: string, increment: number, total: number) => void,
168 ): Promise<any> {
169 const targetModel = this.modelMap[modelName] || modelName;
170
171 const release = await Docker.modelsBeingInstalledMutex.acquire();
172 try {
173 if (Docker.modelsBeingInstalled.has(modelName)) {
174 throw new Error(`Model '${modelName}' is already being installed.`);
175 }
176 Docker.modelsBeingInstalled.add(modelName);
177 } finally {
178 release();
179 }
180
181 try {
182 // Report starting the installation
183 progressReporter?.(`Installing Docker model ${targetModel}`, 0, 100);
184
185 // Pull the model
186 const { stdout, stderr } = await this.executeDockerCommand(
187 ["model", "pull", targetModel],
188 signal,
189 );
190
191 // Report completion
192 progressReporter?.(
193 `Docker model ${targetModel} installed successfully`,
194 100,
195 100,
196 );
197
198 return { success: true, stdout, stderr };
199 } catch (error) {
200 console.error(`Failed to install Docker model ${targetModel}:`, error);
201 // Fix: Type check the error before accessing message property
202 const errorMessage =
203 error instanceof Error ? error.message : String(error);
204 throw new Error(
205 `Failed to install Docker model ${targetModel}: ${errorMessage}`,
206 );
207 } finally {
208 const release = await Docker.modelsBeingInstalledMutex.acquire();
209 try {
210 Docker.modelsBeingInstalled.delete(modelName);
211 } finally {
212 release();
213 }
214 }
215 }
216
217 public async isInstallingModel(modelName: string): Promise<boolean> {
218 const release = await Docker.modelsBeingInstalledMutex.acquire();

Callers

nothing calls this directly

Calls 4

executeDockerCommandMethod · 0.95
errorMethod · 0.80
addMethod · 0.65
deleteMethod · 0.65

Tested by

no test coverage detected