fix(coding-agent): preserve extension timing measurements

This commit is contained in:
Alexey Zaytsev
2026-06-25 02:07:32 -05:00
parent 371adcf371
commit 0bdbe7c57b
3 changed files with 42 additions and 16 deletions
@@ -28,6 +28,7 @@ import { createEventBus, type EventBus } from "../event-bus.ts";
import type { ExecOptions } from "../exec.ts";
import { execCommand } from "../exec.ts";
import { createSyntheticSourceInfo } from "../source-info.ts";
import { time } from "../timings.ts";
import type {
Extension,
ExtensionAPI,
@@ -431,6 +432,7 @@ async function loadExtension(
try {
const factory = await loadExtensionModule(resolvedPath, cacheToken);
time(`${extensionPath} module import`, "extensions");
if (!factory) {
return { extension: null, error: `Extension does not export a valid factory function: ${extensionPath}` };
}
@@ -438,6 +440,7 @@ async function loadExtension(
const extension = createExtension(extensionPath, resolvedPath);
const api = createExtensionAPI(extension, runtime, cwd, eventBus);
await factory(api);
time(`${extensionPath} factory`, "extensions");
return { extension, error: null };
} catch (err) {
@@ -460,6 +463,7 @@ export async function loadExtensionFromFactory(
const resolvedCwd = resolvePath(cwd);
const api = createExtensionAPI(extension, runtime, resolvedCwd, eventBus);
await factory(api);
time(`${extensionPath} factory`, "extensions");
return extension;
}