From 043ae00446351d8b2aed93e6eeb008462c5eed2c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 14 Feb 2026 21:57:24 +0100 Subject: [PATCH] test(auto-reply): import reply after harness mocks --- ...ng.allows-activation-from-allowfrom-groups.e2e.test.ts | 8 ++++++-- ...llows-approved-sender-toggle-elevated-mode.e2e.test.ts | 8 ++++++-- ...allows-elevated-off-groups-without-mention.e2e.test.ts | 8 ++++++-- ...lters-usage-summary-current-model-provider.e2e.test.ts | 8 ++++++-- ...les-inline-commands-strips-it-before-agent.e2e.test.ts | 8 ++++++-- ...nline-elevated-directive-unapproved-sender.e2e.test.ts | 8 ++++++-- ...includes-error-cause-embedded-agent-throws.e2e.test.ts | 8 ++++++-- ...g.keeps-inline-status-unauthorized-senders.e2e.test.ts | 8 ++++++-- ...rts-active-auth-profile-key-snippet-status.e2e.test.ts | 8 ++++++-- ...ger-handling.runs-compact-as-gated-command.e2e.test.ts | 8 ++++++-- ...r-handling.runs-greeting-prompt-bare-reset.e2e.test.ts | 8 ++++++-- ...dpoint-default-model-status-not-configured.e2e.test.ts | 8 ++++++-- ....shows-quick-model-picker-grouped-by-model.e2e.test.ts | 8 ++++++-- ...andling.targets-active-session-native-stop.e2e.test.ts | 8 ++++++-- 14 files changed, 84 insertions(+), 28 deletions(-) diff --git a/src/auto-reply/reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts index 46fbba9ff3..97b8794fde 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts @@ -1,7 +1,6 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -9,6 +8,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts index dcfbd2f2b9..eaf069adf2 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts @@ -1,7 +1,6 @@ import fs from "node:fs/promises"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -9,6 +8,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts index baa4ac2ec1..098a61876e 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts @@ -1,7 +1,6 @@ import fs from "node:fs/promises"; -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { loadSessionStore } from "../config/sessions.js"; -import { getReplyFromConfig } from "./reply.js"; import { installTriggerHandlingE2eTestHooks, MAIN_SESSION_KEY, @@ -9,6 +8,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts index 4f4bff874f..2477872e22 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts @@ -1,8 +1,7 @@ import { readFile } from "node:fs/promises"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { normalizeTestText } from "../../test/helpers/normalize-text.js"; -import { getReplyFromConfig } from "./reply.js"; import { getProviderUsageMocks, getRunEmbeddedPiAgentMock, @@ -11,6 +10,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); const usageMocks = getProviderUsageMocks(); diff --git a/src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts index 9f1a79b636..823cdc6b5c 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts @@ -1,5 +1,4 @@ -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -7,6 +6,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts index f3c0add19e..cd4648af74 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts @@ -1,7 +1,6 @@ import fs from "node:fs/promises"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -10,6 +9,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts index a4c7d447eb..cb87d1fff6 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts @@ -1,6 +1,5 @@ import fs from "node:fs/promises"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -10,6 +9,11 @@ import { } from "./reply.triggers.trigger-handling.test-harness.js"; import { HEARTBEAT_TOKEN } from "./tokens.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts index f5a0f9b858..130536996d 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts @@ -1,6 +1,5 @@ import fs from "node:fs/promises"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -9,6 +8,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts index 1f7d9f43f4..7c998c048f 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts @@ -1,8 +1,7 @@ import fs from "node:fs/promises"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { resolveSessionKey } from "../config/sessions.js"; -import { getReplyFromConfig } from "./reply.js"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -10,6 +9,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts index 13f5815c4f..eb5749144f 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts @@ -1,8 +1,7 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { loadSessionStore, resolveSessionKey } from "../config/sessions.js"; -import { getReplyFromConfig } from "./reply.js"; import { getCompactEmbeddedPiSessionMock, getRunEmbeddedPiAgentMock, @@ -11,6 +10,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts index 3beb427788..273ac19416 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts @@ -1,13 +1,17 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; -import { getReplyFromConfig } from "./reply.js"; +import { beforeAll, describe, expect, it } from "vitest"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts index 832dc2a092..65a03fc41a 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts @@ -1,6 +1,5 @@ -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { normalizeTestText } from "../../test/helpers/normalize-text.js"; -import { getReplyFromConfig } from "./reply.js"; import { getRunEmbeddedPiAgentMock, installTriggerHandlingE2eTestHooks, @@ -8,6 +7,11 @@ import { withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts index 97a3186413..6b0fc5fe45 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts @@ -1,13 +1,17 @@ -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { normalizeTestText } from "../../test/helpers/normalize-text.js"; import { loadSessionStore } from "../config/sessions.js"; -import { getReplyFromConfig } from "./reply.js"; import { installTriggerHandlingE2eTestHooks, makeCfg, withTempHome, } from "./reply.triggers.trigger-handling.test-harness.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => { diff --git a/src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts b/src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts index 21452d854c..e372953b62 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts @@ -1,8 +1,7 @@ import fs from "node:fs/promises"; import { join } from "node:path"; -import { describe, expect, it } from "vitest"; +import { beforeAll, describe, expect, it } from "vitest"; import { loadSessionStore } from "../config/sessions.js"; -import { getReplyFromConfig } from "./reply.js"; import { getAbortEmbeddedPiRunMock, getRunEmbeddedPiAgentMock, @@ -13,6 +12,11 @@ import { } from "./reply.triggers.trigger-handling.test-harness.js"; import { enqueueFollowupRun, getFollowupQueueDepth, type FollowupRun } from "./reply/queue.js"; +let getReplyFromConfig: typeof import("./reply.js").getReplyFromConfig; +beforeAll(async () => { + ({ getReplyFromConfig } = await import("./reply.js")); +}); + installTriggerHandlingE2eTestHooks(); describe("trigger handling", () => {