MCPcopy
hub / github.com/opentrace/opentrace / dispatch

Function dispatch

ui/src/store/storeWorker.ts:155–275  ·  view source on GitHub ↗
(msg: CallMessage)

Source from the content-addressed store, hash-verified

153};
154
155async function dispatch(msg: CallMessage): Promise<void> {
156 const { seq, method, args } = msg;
157 try {
158 let value: unknown;
159 switch (method) {
160 case 'ensureReady':
161 value = await store.ensureReady();
162 break;
163 case 'fetchGraph':
164 value = await store.fetchGraph(...(args as [string?, number?]));
165 break;
166 case 'fetchStats':
167 value = await store.fetchStats();
168 break;
169 case 'fetchMetadata':
170 value = await store.fetchMetadata();
171 break;
172 case 'clearGraph':
173 value = await store.clearGraph();
174 break;
175 case 'deleteRepo':
176 value = await store.deleteRepo(args[0] as string);
177 break;
178 case 'setLimits':
179 value = await store.setLimits(args[0] as number, args[1] as number);
180 break;
181 case 'importBatch':
182 value = await store.importBatch(args[0] as ImportBatchRequest);
183 break;
184 case 'flush':
185 value = await store.flush();
186 break;
187 case 'importVectors':
188 value = await store.importVectors(
189 args[0] as { id: string; vec: number[] }[],
190 );
191 break;
192 case 'importDatabase': {
193 // args[1] is a boolean "wants progress" placeholder — the real
194 // callback lives on main. Forward each progress message back over
195 // the same seq the proxy is waiting on.
196 const [data, wantsProgress] = args as [Uint8Array, boolean];
197 const onProgress = wantsProgress
198 ? (m: string) => post({ seq, type: 'progress', value: m })
199 : undefined;
200 value = await store.importDatabase(data, onProgress);
201 break;
202 }
203 case 'exportDatabase':
204 value = await store.exportDatabase(
205 args[0] as { includeSource?: boolean; repoId?: string } | undefined,
206 );
207 break;
208 case 'storeSource':
209 store.storeSource(args[0] as SourceFile[]);
210 value = undefined;
211 break;
212 case 'fetchSource':

Callers 1

storeWorker.tsFile · 0.70

Calls 15

postFunction · 0.85
pushMethod · 0.80
ensureReadyMethod · 0.65
fetchGraphMethod · 0.65
fetchStatsMethod · 0.65
fetchMetadataMethod · 0.65
clearGraphMethod · 0.65
deleteRepoMethod · 0.65
setLimitsMethod · 0.65
importBatchMethod · 0.65
flushMethod · 0.65
importVectorsMethod · 0.65

Tested by

no test coverage detected