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

Method load

extensions/cli/src/services/ServiceContainer.ts:122–158  ·  view source on GitHub ↗

* Load a service, handling dependencies

(serviceName: string)

Source from the content-addressed store, hash-verified

120 * Load a service, handling dependencies
121 */
122 async load<T>(serviceName: string): Promise<T> {
123 const factory = this.factories.get(serviceName);
124 if (!factory) {
125 const error = new Error(
126 `No factory registered for service '${serviceName}'`,
127 );
128 this.setServiceError(serviceName, error);
129 throw error;
130 }
131
132 // Check if already loading
133 const current = this.services.get(serviceName);
134 if (current?.state === "loading") {
135 return this.get<T>(serviceName);
136 }
137
138 logger.debug(`Loading service: ${serviceName}`);
139 this.setServiceState(serviceName, "loading");
140
141 try {
142 // Load dependencies first
143 const deps = this.dependencies.get(serviceName) || [];
144 await Promise.all(deps.map((dep) => this.load(dep)));
145
146 // Load the service
147 const value = await factory();
148
149 this.setServiceValue(serviceName, value);
150 logger.debug(`Service loaded successfully: ${serviceName}`);
151
152 return value;
153 } catch (error: any) {
154 logger.debug(`Failed to load service '${serviceName}':`, error);
155 this.setServiceError(serviceName, error);
156 throw error;
157 }
158 }
159
160 /**
161 * Reload a service (and all transitive dependents)

Callers 8

getMethod · 0.95
reloadMethod · 0.95
initializeAllMethod · 0.95
handleImportFunction · 0.45
loadSessionByIdFunction · 0.45
useServiceFunction · 0.45
useServicesFunction · 0.45

Calls 6

setServiceErrorMethod · 0.95
getMethod · 0.95
setServiceStateMethod · 0.95
setServiceValueMethod · 0.95
getMethod · 0.65
debugMethod · 0.45

Tested by

no test coverage detected