MCPcopy
hub / github.com/coder/mux / finalizeStep

Function finalizeStep

src/node/services/devToolsMiddleware.ts:367–391  ·  view source on GitHub ↗
(update: Partial<DevToolsStep>)

Source from the content-addressed store, hash-verified

365
366 let finalized = false;
367 const finalizeStep = async (update: Partial<DevToolsStep>): Promise<void> => {
368 if (finalized) {
369 return;
370 }
371
372 finalized = true;
373 if (params.abortSignal != null) {
374 params.abortSignal.removeEventListener("abort", abortHandler);
375 }
376
377 try {
378 await service.updateStep(workspaceId, stepId, {
379 durationMs: Date.now() - startedAtMs,
380 ...update,
381 });
382 } catch (error) {
383 // DevTools persistence is best-effort; never let observability failures
384 // reject the model call that already succeeded.
385 log.warn("DevTools: failed to persist step finalization", {
386 workspaceId,
387 stepId,
388 error,
389 });
390 }
391 };
392
393 const abortHandler = (): void => {
394 const capturedRequestHeaders = consumeCapturedRequestHeaders(stepId);

Callers 4

abortHandlerFunction · 0.85
createDevToolsMiddlewareFunction · 0.85
pullFunction · 0.85
cancelFunction · 0.85

Calls 2

removeEventListenerMethod · 0.80
updateStepMethod · 0.80

Tested by

no test coverage detected