From 39a4fe576d4bdcf0898ad0907615f35fb2ebcc8e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 20 Mar 2026 22:06:16 +0000 Subject: [PATCH] test: normalize perf manifest paths --- scripts/test-runner-manifest.mjs | 19 +- scripts/test-update-memory-hotspots.mjs | 18 +- scripts/test-update-timings.mjs | 13 +- test/fixtures/test-timings.unit.json | 648 +++++++++++++++++------- 4 files changed, 513 insertions(+), 185 deletions(-) diff --git a/scripts/test-runner-manifest.mjs b/scripts/test-runner-manifest.mjs index ee5644f3328..ce34d28c59b 100644 --- a/scripts/test-runner-manifest.mjs +++ b/scripts/test-runner-manifest.mjs @@ -25,14 +25,25 @@ const readJson = (filePath, fallback) => { }; const normalizeRepoPath = (value) => value.split(path.sep).join("/"); +const repoRoot = path.resolve(process.cwd()); +const normalizeTrackedRepoPath = (value) => { + const normalizedValue = typeof value === "string" ? value : String(value ?? ""); + const repoRelative = path.isAbsolute(normalizedValue) + ? path.relative(repoRoot, path.resolve(normalizedValue)) + : normalizedValue; + if (path.isAbsolute(repoRelative) || repoRelative.startsWith("..") || repoRelative === "") { + return normalizeRepoPath(normalizedValue); + } + return normalizeRepoPath(repoRelative); +}; const normalizeManifestEntries = (entries) => entries .map((entry) => typeof entry === "string" - ? { file: normalizeRepoPath(entry), reason: "" } + ? { file: normalizeTrackedRepoPath(entry), reason: "" } : { - file: normalizeRepoPath(String(entry?.file ?? "")), + file: normalizeTrackedRepoPath(String(entry?.file ?? "")), reason: typeof entry?.reason === "string" ? entry.reason : "", }, ) @@ -60,7 +71,7 @@ export function loadUnitTimingManifest() { const files = Object.fromEntries( Object.entries(raw.files ?? {}) .map(([file, value]) => { - const normalizedFile = normalizeRepoPath(file); + const normalizedFile = normalizeTrackedRepoPath(file); const durationMs = Number.isFinite(value?.durationMs) && value.durationMs >= 0 ? value.durationMs : null; const testCount = @@ -97,7 +108,7 @@ export function loadUnitMemoryHotspotManifest() { const files = Object.fromEntries( Object.entries(raw.files ?? {}) .map(([file, value]) => { - const normalizedFile = normalizeRepoPath(file); + const normalizedFile = normalizeTrackedRepoPath(file); const deltaKb = Number.isFinite(value?.deltaKb) && value.deltaKb > 0 ? Math.round(value.deltaKb) : null; const sources = Array.isArray(value?.sources) diff --git a/scripts/test-update-memory-hotspots.mjs b/scripts/test-update-memory-hotspots.mjs index 2abbf2b2d02..af4cb7c624c 100644 --- a/scripts/test-update-memory-hotspots.mjs +++ b/scripts/test-update-memory-hotspots.mjs @@ -57,10 +57,24 @@ function parseArgs(argv) { return args; } +const normalizeRepoPath = (value) => value.split(path.sep).join("/"); +const repoRoot = path.resolve(process.cwd()); +const normalizeTrackedRepoPath = (value) => { + const normalizedValue = typeof value === "string" ? value : String(value ?? ""); + const repoRelative = path.isAbsolute(normalizedValue) + ? path.relative(repoRoot, path.resolve(normalizedValue)) + : normalizedValue; + if (path.isAbsolute(repoRelative) || repoRelative.startsWith("..") || repoRelative === "") { + return normalizeRepoPath(normalizedValue); + } + return normalizeRepoPath(repoRelative); +}; + function mergeHotspotEntry(aggregated, file, value) { if (!(Number.isFinite(value?.deltaKb) && value.deltaKb > 0)) { return; } + const normalizedFile = normalizeTrackedRepoPath(file); const normalizeSourceLabel = (source) => { const separator = source.lastIndexOf(":"); if (separator === -1) { @@ -75,9 +89,9 @@ function mergeHotspotEntry(aggregated, file, value) { .filter((source) => typeof source === "string" && source.length > 0) .map(normalizeSourceLabel) : []; - const previous = aggregated.get(file); + const previous = aggregated.get(normalizedFile); if (!previous) { - aggregated.set(file, { + aggregated.set(normalizedFile, { deltaKb: Math.round(value.deltaKb), sources: [...new Set(nextSources)], }); diff --git a/scripts/test-update-timings.mjs b/scripts/test-update-timings.mjs index 722d3539f7a..afc187bc4fe 100644 --- a/scripts/test-update-timings.mjs +++ b/scripts/test-update-timings.mjs @@ -50,6 +50,17 @@ function parseArgs(argv) { } const normalizeRepoPath = (value) => value.split(path.sep).join("/"); +const repoRoot = path.resolve(process.cwd()); +const normalizeTrackedRepoPath = (value) => { + const normalizedValue = typeof value === "string" ? value : String(value ?? ""); + const repoRelative = path.isAbsolute(normalizedValue) + ? path.relative(repoRoot, path.resolve(normalizedValue)) + : normalizedValue; + if (path.isAbsolute(repoRelative) || repoRelative.startsWith("..") || repoRelative === "") { + return normalizeRepoPath(normalizedValue); + } + return normalizeRepoPath(repoRelative); +}; const opts = parseArgs(process.argv.slice(2)); const reportPath = @@ -74,7 +85,7 @@ const report = JSON.parse(fs.readFileSync(reportPath, "utf8")); const files = Object.fromEntries( (report.testResults ?? []) .map((result) => { - const file = typeof result.name === "string" ? normalizeRepoPath(result.name) : ""; + const file = typeof result.name === "string" ? normalizeTrackedRepoPath(result.name) : ""; const start = typeof result.startTime === "number" ? result.startTime : 0; const end = typeof result.endTime === "number" ? result.endTime : 0; const testCount = Array.isArray(result.assertionResults) ? result.assertionResults.length : 0; diff --git a/test/fixtures/test-timings.unit.json b/test/fixtures/test-timings.unit.json index cdb2505d881..a334eec0c5a 100644 --- a/test/fixtures/test-timings.unit.json +++ b/test/fixtures/test-timings.unit.json @@ -1,227 +1,519 @@ { "config": "vitest.unit.config.ts", - "generatedAt": "2026-03-18T17:10:00.000Z", + "generatedAt": "2026-03-20T21:59:18.104Z", "defaultDurationMs": 250, "files": { - "src/security/audit.test.ts": { - "durationMs": 6200, - "testCount": 380 - }, "src/plugins/loader.test.ts": { - "durationMs": 6100, - "testCount": 260 + "durationMs": 9585.06884765625, + "testCount": 77 }, - "src/cli/update-cli.test.ts": { - "durationMs": 5400, - "testCount": 210 + "src/plugin-sdk/index.bundle.test.ts": { + "durationMs": 8950.05517578125, + "testCount": 1 }, - "src/agents/pi-embedded-runner.test.ts": { - "durationMs": 5200, - "testCount": 140 + "src/cron/isolated-agent/run.sandbox-config-preserved.test.ts": { + "durationMs": 8918.584228515625, + "testCount": 2 }, - "src/process/supervisor/supervisor.test.ts": { - "durationMs": 5000, - "testCount": 120 + "src/memory/manager.readonly-recovery.test.ts": { + "durationMs": 8524.26123046875, + "testCount": 4 }, - "src/agents/bash-tools.test.ts": { - "durationMs": 4700, - "testCount": 150 + "src/context-engine/context-engine.test.ts": { + "durationMs": 8457.03515625, + "testCount": 27 }, - "src/cli/program.smoke.test.ts": { - "durationMs": 4500, - "testCount": 95 + "src/channels/plugins/setup-wizard-helpers.test.ts": { + "durationMs": 8405.74267578125, + "testCount": 83 }, - "src/hooks/install.test.ts": { - "durationMs": 4300, - "testCount": 95 + "test/extension-plugin-sdk-boundary.test.ts": { + "durationMs": 7965.701171875, + "testCount": 7 }, - "src/agents/skills.test.ts": { - "durationMs": 4200, - "testCount": 135 + "src/config/doc-baseline.integration.test.ts": { + "durationMs": 6192.561767578125, + "testCount": 7 }, - "src/config/schema.test.ts": { - "durationMs": 4000, - "testCount": 110 + "src/daemon/schtasks.stop.test.ts": { + "durationMs": 5804.337158203125, + "testCount": 4 }, - "src/media/store.test.ts": { - "durationMs": 3900, - "testCount": 120 + "src/media/fetch.telegram-network.test.ts": { + "durationMs": 5003.539306640625, + "testCount": 5 }, - "src/commands/agent.test.ts": { - "durationMs": 3700, - "testCount": 110 + "src/infra/restart.test.ts": { + "durationMs": 4300.315673828125, + "testCount": 5 }, - "extensions/telegram/src/bot.create-telegram-bot.test.ts": { - "durationMs": 3600, - "testCount": 80 + "src/channels/plugins/contracts/registry.contract.test.ts": { + "durationMs": 3514.9697265625, + "testCount": 10 }, - "extensions/telegram/src/bot.test.ts": { - "durationMs": 3400, - "testCount": 95 + "src/media-understanding/providers/image.test.ts": { + "durationMs": 3185.248779296875, + "testCount": 4 }, - "src/agents/openclaw-tools.subagents.sessions-spawn.lifecycle.test.ts": { - "durationMs": 3300, - "testCount": 85 + "test/web-search-provider-boundary.test.ts": { + "durationMs": 2782.843505859375, + "testCount": 4 }, - "src/infra/archive.test.ts": { - "durationMs": 3200, - "testCount": 75 + "src/infra/outbound/message.test.ts": { + "durationMs": 2701.229736328125, + "testCount": 3 }, - "src/auto-reply/reply.block-streaming.test.ts": { - "durationMs": 3100, - "testCount": 60 + "src/tts/edge-tts-validation.test.ts": { + "durationMs": 2662.32421875, + "testCount": 2 }, - "src/agents/pi-embedded-runner.run-embedded-pi-agent.auth-profile-rotation.test.ts": { - "durationMs": 3000, - "testCount": 55 + "src/media-understanding/runner.vision-skip.test.ts": { + "durationMs": 2446.17724609375, + "testCount": 1 }, - "src/agents/skills.buildworkspaceskillsnapshot.test.ts": { - "durationMs": 2900, - "testCount": 70 + "src/infra/outbound/agent-delivery.test.ts": { + "durationMs": 2414.775390625, + "testCount": 6 }, - "src/docker-setup.test.ts": { - "durationMs": 2800, - "testCount": 65 + "src/memory/manager.read-file.test.ts": { + "durationMs": 2413.658203125, + "testCount": 4 }, - "src/agents/skills-install.download.test.ts": { - "durationMs": 2700, - "testCount": 60 + "src/memory/manager.sync-errors-do-not-crash.test.ts": { + "durationMs": 2389.0439453125, + "testCount": 1 }, - "src/config/schema.tags.test.ts": { - "durationMs": 2600, - "testCount": 70 + "src/acp/runtime/session-meta.test.ts": { + "durationMs": 2388.85302734375, + "testCount": 1 }, - "src/cli/daemon-cli.coverage.test.ts": { - "durationMs": 2500, - "testCount": 50 + "src/infra/provider-usage.auth.plugin.test.ts": { + "durationMs": 2376.7861328125, + "testCount": 1 }, - "extensions/slack/src/monitor/slash.test.ts": { - "durationMs": 2400, - "testCount": 55 + "src/infra/provider-usage.load.plugin.test.ts": { + "durationMs": 2347.157470703125, + "testCount": 1 }, - "test/git-hooks-pre-commit.test.ts": { - "durationMs": 2300, - "testCount": 20 + "src/index.test.ts": { + "durationMs": 2344.759521484375, + "testCount": 2 }, - "src/commands/doctor.warns-state-directory-is-missing.test.ts": { - "durationMs": 2200, - "testCount": 35 - }, - "src/commands/doctor.warns-per-agent-sandbox-docker-browser-prune.test.ts": { - "durationMs": 2100, - "testCount": 30 - }, - "src/commands/doctor.runs-legacy-state-migrations-yes-mode-without.test.ts": { - "durationMs": 2000, - "testCount": 28 - }, - "src/browser/server.agent-contract-snapshot-endpoints.test.ts": { - "durationMs": 1900, - "testCount": 45 - }, - "src/browser/server.agent-contract-form-layout-act-commands.test.ts": { - "durationMs": 1800, - "testCount": 40 - }, - "src/agents/models-config.normalizes-gemini-3-ids-preview-google-providers.test.ts": { - "durationMs": 1700, - "testCount": 25 - }, - "src/agents/session-tool-result-guard.tool-result-persist-hook.test.ts": { - "durationMs": 1600, - "testCount": 22 - }, - "src/plugins/tools.optional.test.ts": { - "durationMs": 1590, - "testCount": 18 - }, - "src/security/fix.test.ts": { - "durationMs": 1580, - "testCount": 24 - }, - "src/utils.test.ts": { - "durationMs": 1570, + "src/plugins/install.test.ts": { + "durationMs": 1894.49658203125, "testCount": 34 }, - "src/auto-reply/tool-meta.test.ts": { - "durationMs": 1560, - "testCount": 26 + "src/config/plugin-auto-enable.test.ts": { + "durationMs": 1378.89013671875, + "testCount": 25 }, - "src/auto-reply/envelope.test.ts": { - "durationMs": 1550, - "testCount": 20 + "src/plugin-sdk/channel-import-guardrails.test.ts": { + "durationMs": 1158.282470703125, + "testCount": 9 }, - "src/commands/auth-choice.test.ts": { - "durationMs": 1540, - "testCount": 18 + "src/hooks/bundled/session-memory/handler.test.ts": { + "durationMs": 1136.251953125, + "testCount": 17 }, - "src/agents/skills.build-workspace-skills-prompt.syncs-merged-skills-into-target-workspace.test.ts": { - "durationMs": 1530, - "testCount": 14 - }, - "src/media/store.header-ext.test.ts": { - "durationMs": 1520, - "testCount": 16 - }, - "extensions/whatsapp/src/media.test.ts": { - "durationMs": 1510, - "testCount": 16 - }, - "extensions/whatsapp/src/auto-reply.web-auto-reply.falls-back-text-media-send-fails.test.ts": { - "durationMs": 1500, - "testCount": 10 - }, - "src/browser/server.covers-additional-endpoint-branches.test.ts": { - "durationMs": 1490, - "testCount": 18 - }, - "src/browser/server.post-tabs-open-profile-unknown-returns-404.test.ts": { - "durationMs": 1480, - "testCount": 12 - }, - "src/browser/server.skips-default-maxchars-explicitly-set-zero.test.ts": { - "durationMs": 1470, - "testCount": 10 - }, - "src/browser/server.auth-token-gates-http.test.ts": { - "durationMs": 1460, + "src/hooks/install.test.ts": { + "durationMs": 978.206298828125, "testCount": 15 }, - "extensions/acpx/src/runtime.test.ts": { - "durationMs": 1450, - "testCount": 12 + "test/plugin-extension-import-boundary.test.ts": { + "durationMs": 975.744873046875, + "testCount": 5 }, - "test/scripts/ios-team-id.test.ts": { - "durationMs": 1440, - "testCount": 12 + "test/architecture-smells.test.ts": { + "durationMs": 741.625732421875, + "testCount": 2 }, - "src/agents/bash-tools.exec.background-abort.test.ts": { - "durationMs": 1430, - "testCount": 10 - }, - "src/agents/subagent-announce.format.test.ts": { - "durationMs": 1420, - "testCount": 12 - }, - "src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.test.ts": { - "durationMs": 1410, + "src/hooks/loader.test.ts": { + "durationMs": 735.1630859375, "testCount": 14 }, - "src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.test.ts": { - "durationMs": 1400, - "testCount": 10 + "src/infra/fs-safe.test.ts": { + "durationMs": 729.53564453125, + "testCount": 27 }, - "src/auto-reply/reply.triggers.group-intro-prompts.test.ts": { - "durationMs": 1390, + "test/scripts/committer.test.ts": { + "durationMs": 626.26806640625, + "testCount": 3 + }, + "src/cron/isolated-agent.model-formatting.test.ts": { + "durationMs": 593.440185546875, + "testCount": 22 + }, + "src/cron/isolated-agent.uses-last-non-empty-agent-text-as.test.ts": { + "durationMs": 571.946533203125, + "testCount": 18 + }, + "src/config/config.plugin-validation.test.ts": { + "durationMs": 565.86474609375, + "testCount": 14 + }, + "src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts": { + "durationMs": 530.2373046875, + "testCount": 15 + }, + "src/infra/provider-usage.test.ts": { + "durationMs": 524.179443359375, + "testCount": 11 + }, + "src/cron/service.issue-regressions.test.ts": { + "durationMs": 457.494873046875, + "testCount": 38 + }, + "src/infra/provider-usage.auth.normalizes-keys.test.ts": { + "durationMs": 450.132568359375, + "testCount": 19 + }, + "src/infra/fs-pinned-write-helper.test.ts": { + "durationMs": 338.172119140625, + "testCount": 3 + }, + "src/infra/archive.test.ts": { + "durationMs": 329.4638671875, + "testCount": 15 + }, + "src/memory/manager.get-concurrency.test.ts": { + "durationMs": 276.911376953125, + "testCount": 2 + }, + "src/cli/program/preaction.test.ts": { + "durationMs": 266.180908203125, + "testCount": 7 + }, + "src/memory/index.test.ts": { + "durationMs": 263.556884765625, + "testCount": 21 + }, + "src/security/temp-path-guard.test.ts": { + "durationMs": 262.98779296875, + "testCount": 3 + }, + "src/security/audit.test.ts": { + "durationMs": 258.43408203125, + "testCount": 65 + }, + "src/memory/embeddings.test.ts": { + "durationMs": 243.285888671875, + "testCount": 19 + }, + "src/cron/isolated-agent.delivers-response-has-heartbeat-ok-but-includes.test.ts": { + "durationMs": 239.01611328125, + "testCount": 6 + }, + "src/memory/qmd-manager.test.ts": { + "durationMs": 238.613525390625, + "testCount": 57 + }, + "src/infra/archive-staging.test.ts": { + "durationMs": 228.458740234375, + "testCount": 7 + }, + "src/secrets/audit.test.ts": { + "durationMs": 226.931396484375, + "testCount": 18 + }, + "test/scripts/test-extension.test.ts": { + "durationMs": 224.01171875, + "testCount": 8 + }, + "src/infra/git-commit.test.ts": { + "durationMs": 214.883056640625, + "testCount": 13 + }, + "src/tui/gateway-chat.test.ts": { + "durationMs": 210.46240234375, + "testCount": 14 + }, + "src/secrets/runtime.integration.test.ts": { + "durationMs": 210.15087890625, + "testCount": 5 + }, + "src/secrets/apply.test.ts": { + "durationMs": 208.744140625, + "testCount": 15 + }, + "src/entry.version-fast-path.test.ts": { + "durationMs": 192.80029296875, + "testCount": 2 + }, + "src/acp/control-plane/manager.test.ts": { + "durationMs": 183.112548828125, + "testCount": 33 + }, + "src/install-sh-version.test.ts": { + "durationMs": 180.623291015625, + "testCount": 3 + }, + "src/infra/host-env-security.test.ts": { + "durationMs": 180.501220703125, + "testCount": 18 + }, + "src/plugins/loader.git-path-regression.test.ts": { + "durationMs": 178.922119140625, + "testCount": 1 + }, + "src/hooks/plugin-hooks.test.ts": { + "durationMs": 177.90771484375, + "testCount": 4 + }, + "src/cli/daemon-cli/install.integration.test.ts": { + "durationMs": 174.057861328125, + "testCount": 2 + }, + "src/plugins/bundle-mcp.test.ts": { + "durationMs": 169.723876953125, + "testCount": 3 + }, + "src/acp/server.startup.test.ts": { + "durationMs": 161.5439453125, + "testCount": 4 + }, + "src/media-understanding/apply.test.ts": { + "durationMs": 150.961181640625, + "testCount": 32 + }, + "src/cron/isolated-agent.direct-delivery-core-channels.test.ts": { + "durationMs": 148.2373046875, + "testCount": 4 + }, + "src/daemon/schtasks.startup-fallback.test.ts": { + "durationMs": 144.08154296875, + "testCount": 6 + }, + "src/cron/isolated-agent.subagent-model.test.ts": { + "durationMs": 142.85693359375, + "testCount": 4 + }, + "src/channels/plugins/plugins-core.test.ts": { + "durationMs": 142.499755859375, + "testCount": 39 + }, + "src/infra/heartbeat-runner.returns-default-unset.test.ts": { + "durationMs": 135.578369140625, + "testCount": 25 + }, + "src/plugins/manifest-registry.test.ts": { + "durationMs": 133.34912109375, + "testCount": 21 + }, + "src/plugin-sdk/subpaths.test.ts": { + "durationMs": 132.722900390625, + "testCount": 45 + }, + "src/node-host/invoke-system-run-plan.test.ts": { + "durationMs": 128.076171875, + "testCount": 41 + }, + "test/scripts/ios-team-id.test.ts": { + "durationMs": 124.882568359375, + "testCount": 3 + }, + "src/config/schema.hints.test.ts": { + "durationMs": 124.705810546875, + "testCount": 7 + }, + "src/infra/system-presence.version.test.ts": { + "durationMs": 124.248046875, + "testCount": 5 + }, + "src/config/config.nix-integration-u3-u5-u9.test.ts": { + "durationMs": 123.738037109375, + "testCount": 19 + }, + "src/infra/run-node.test.ts": { + "durationMs": 122.07763671875, "testCount": 12 }, - "src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.test.ts": { - "durationMs": 1380, + "src/secrets/resolve.test.ts": { + "durationMs": 121.808837890625, + "testCount": 17 + }, + "ui/src/ui/views/chat.test.ts": { + "durationMs": 121.7890625, + "testCount": 26 + }, + "src/media/store.outside-workspace.test.ts": { + "durationMs": 117.4501953125, + "testCount": 1 + }, + "src/plugins/marketplace.test.ts": { + "durationMs": 117.027587890625, + "testCount": 3 + }, + "src/config/sessions/sessions.test.ts": { + "durationMs": 116.381591796875, + "testCount": 23 + }, + "src/memory/manager.batch.test.ts": { + "durationMs": 113.201416015625, + "testCount": 3 + }, + "src/cron/isolated-agent.lane.test.ts": { + "durationMs": 109.29296875, + "testCount": 3 + }, + "src/infra/heartbeat-runner.respects-ackmaxchars-heartbeat-acks.test.ts": { + "durationMs": 107.308349609375, + "testCount": 12 + }, + "src/cron/isolated-agent/run.owner-auth.test.ts": { + "durationMs": 106.2158203125, + "testCount": 1 + }, + "src/media/read-response-with-limit.test.ts": { + "durationMs": 103.88232421875, + "testCount": 5 + }, + "src/cli/config-cli.integration.test.ts": { + "durationMs": 101.070068359375, + "testCount": 4 + }, + "src/config/io.write-config.test.ts": { + "durationMs": 97.5205078125, + "testCount": 16 + }, + "src/infra/gateway-lock.test.ts": { + "durationMs": 97.258056640625, + "testCount": 9 + }, + "src/infra/outbound/outbound.test.ts": { + "durationMs": 97.128662109375, + "testCount": 65 + }, + "src/security/windows-acl.test.ts": { + "durationMs": 95.044921875, + "testCount": 48 + }, + "src/cron/isolated-agent.direct-delivery-forum-topics.test.ts": { + "durationMs": 93.414306640625, + "testCount": 2 + }, + "src/media-understanding/apply.echo-transcript.test.ts": { + "durationMs": 90.539306640625, "testCount": 10 }, - "extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts": { - "durationMs": 1370, + "test/git-hooks-pre-commit.test.ts": { + "durationMs": 89.74560546875, + "testCount": 1 + }, + "src/plugins/contracts/auth-choice.contract.test.ts": { + "durationMs": 87.48828125, + "testCount": 3 + }, + "src/infra/device-pairing.test.ts": { + "durationMs": 87.477294921875, + "testCount": 19 + }, + "src/pairing/pairing-store.test.ts": { + "durationMs": 86.443115234375, + "testCount": 17 + }, + "src/pairing/setup-code.test.ts": { + "durationMs": 86.40185546875, + "testCount": 15 + }, + "src/media-understanding/runner.skip-tiny-audio.test.ts": { + "durationMs": 85.822265625, + "testCount": 3 + }, + "src/hooks/hooks-install.test.ts": { + "durationMs": 85.01025390625, + "testCount": 1 + }, + "src/media/input-files.fetch-guard.test.ts": { + "durationMs": 83.118408203125, "testCount": 10 + }, + "src/media-understanding/runner.proxy.test.ts": { + "durationMs": 82.6806640625, + "testCount": 3 + }, + "src/plugin-sdk/channel-lifecycle.test.ts": { + "durationMs": 82.321533203125, + "testCount": 6 + }, + "src/media-understanding/runner.deepgram.test.ts": { + "durationMs": 82.171875, + "testCount": 1 + }, + "src/cron/isolated-agent/delivery-dispatch.double-announce.test.ts": { + "durationMs": 78.29052734375, + "testCount": 15 + }, + "src/media-understanding/runner.auto-audio.test.ts": { + "durationMs": 77.9013671875, + "testCount": 4 + }, + "src/config/sessions.test.ts": { + "durationMs": 76.888916015625, + "testCount": 37 + }, + "src/process/command-queue.test.ts": { + "durationMs": 75.699951171875, + "testCount": 17 + }, + "src/node-host/invoke-system-run.test.ts": { + "durationMs": 75.633544921875, + "testCount": 37 + }, + "src/cli/program.smoke.test.ts": { + "durationMs": 74.6591796875, + "testCount": 4 + }, + "src/plugins/stage-bundled-plugin-runtime.test.ts": { + "durationMs": 74.08447265625, + "testCount": 7 + }, + "src/infra/matrix-legacy-crypto.test.ts": { + "durationMs": 72.4951171875, + "testCount": 8 + }, + "src/plugins/discovery.test.ts": { + "durationMs": 71.763671875, + "testCount": 24 + }, + "src/plugins/status.test.ts": { + "durationMs": 71.670654296875, + "testCount": 9 + }, + "src/wizard/setup.gateway-config.test.ts": { + "durationMs": 71.062255859375, + "testCount": 7 + }, + "src/config/config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts": { + "durationMs": 69.632568359375, + "testCount": 30 + }, + "src/config/sessions/targets.test.ts": { + "durationMs": 69.172607421875, + "testCount": 13 + }, + "src/media/store.test.ts": { + "durationMs": 67.70458984375, + "testCount": 24 + }, + "src/canvas-host/server.test.ts": { + "durationMs": 67.617431640625, + "testCount": 6 + }, + "src/tts/tts.test.ts": { + "durationMs": 67.5400390625, + "testCount": 27 + }, + "src/infra/heartbeat-runner.ghost-reminder.test.ts": { + "durationMs": 66.83935546875, + "testCount": 6 + }, + "src/cli/pairing-cli.test.ts": { + "durationMs": 65.74462890625, + "testCount": 12 + }, + "src/media-understanding/runtime.test.ts": { + "durationMs": 65.732177734375, + "testCount": 2 } } }