From 21d850dd6656bd97fa9174c0756d2186040396c8 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 13 Apr 2026 16:40:54 +0100 Subject: [PATCH] perf(cron): lazy-load embedded runtime branch --- src/cron/isolated-agent/run-embedded.runtime.ts | 3 +++ src/cron/isolated-agent/run-execution.runtime.ts | 3 --- src/cron/isolated-agent/run-executor.ts | 12 +++++++++--- src/cron/isolated-agent/run.test-harness.ts | 6 ++++++ 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 src/cron/isolated-agent/run-embedded.runtime.ts diff --git a/src/cron/isolated-agent/run-embedded.runtime.ts b/src/cron/isolated-agent/run-embedded.runtime.ts new file mode 100644 index 00000000000..6828dd4e0c2 --- /dev/null +++ b/src/cron/isolated-agent/run-embedded.runtime.ts @@ -0,0 +1,3 @@ +export { resolveFastModeState } from "../../agents/fast-mode.js"; +export { resolveNestedAgentLane } from "../../agents/lanes.js"; +export { runEmbeddedPiAgent } from "../../agents/pi-embedded.js"; diff --git a/src/cron/isolated-agent/run-execution.runtime.ts b/src/cron/isolated-agent/run-execution.runtime.ts index e8f73a5fc25..039fd107838 100644 --- a/src/cron/isolated-agent/run-execution.runtime.ts +++ b/src/cron/isolated-agent/run-execution.runtime.ts @@ -1,11 +1,8 @@ export { resolveEffectiveModelFallbacks } from "../../agents/agent-scope.js"; export { resolveBootstrapWarningSignaturesSeen } from "../../agents/bootstrap-budget.js"; -export { resolveFastModeState } from "../../agents/fast-mode.js"; -export { resolveNestedAgentLane } from "../../agents/lanes.js"; export { LiveSessionModelSwitchError } from "../../agents/live-model-switch.js"; export { runWithModelFallback } from "../../agents/model-fallback.js"; export { isCliProvider } from "../../agents/model-selection.js"; -export { runEmbeddedPiAgent } from "../../agents/pi-embedded.js"; export { normalizeVerboseLevel } from "../../auto-reply/thinking.js"; export { resolveSessionTranscriptPath } from "../../config/sessions/paths.js"; export { registerAgentRunContext } from "../../infra/agent-events.js"; diff --git a/src/cron/isolated-agent/run-executor.ts b/src/cron/isolated-agent/run-executor.ts index a3e298726d8..e2d075a5b20 100644 --- a/src/cron/isolated-agent/run-executor.ts +++ b/src/cron/isolated-agent/run-executor.ts @@ -12,11 +12,8 @@ import { normalizeVerboseLevel, registerAgentRunContext, resolveBootstrapWarningSignaturesSeen, - resolveFastModeState, - resolveNestedAgentLane, resolveSessionTranscriptPath, runCliAgent, - runEmbeddedPiAgent, runWithModelFallback, } from "./run-execution.runtime.js"; import { resolveCronFallbacksOverride } from "./run-fallback-policy.js"; @@ -30,10 +27,17 @@ import { isLikelyInterimCronMessage } from "./subagent-followup-hints.js"; type AgentTurnPayload = Extract | null; type CronPromptRunResult = Awaited>; +type CronEmbeddedRuntime = typeof import("./run-embedded.runtime.js"); type CronSubagentRegistryRuntime = typeof import("./run-subagent-registry.runtime.js"); +let cronEmbeddedRuntimePromise: Promise | undefined; let cronSubagentRegistryRuntimePromise: Promise | undefined; +async function loadCronEmbeddedRuntime() { + cronEmbeddedRuntimePromise ??= import("./run-embedded.runtime.js"); + return await cronEmbeddedRuntimePromise; +} + async function loadCronSubagentRegistryRuntime() { cronSubagentRegistryRuntimePromise ??= import("./run-subagent-registry.runtime.js"); return await cronSubagentRegistryRuntimePromise; @@ -135,6 +139,8 @@ export function createCronPromptExecutor(params: { ); return result; } + const { resolveFastModeState, resolveNestedAgentLane, runEmbeddedPiAgent } = + await loadCronEmbeddedRuntime(); const result = await runEmbeddedPiAgent({ sessionId: params.cronSession.sessionEntry.sessionId, sessionKey: params.agentSessionKey, diff --git a/src/cron/isolated-agent/run.test-harness.ts b/src/cron/isolated-agent/run.test-harness.ts index 61830c09cf5..d855369eea5 100644 --- a/src/cron/isolated-agent/run.test-harness.ts +++ b/src/cron/isolated-agent/run.test-harness.ts @@ -160,6 +160,12 @@ vi.mock("./run-auth-profile.runtime.js", () => ({ resolveSessionAuthProfileOverride: resolveSessionAuthProfileOverrideMock, })); +vi.mock("./run-embedded.runtime.js", () => ({ + resolveFastModeState: resolveFastModeStateMock, + resolveNestedAgentLane: resolveNestedAgentLaneMock, + runEmbeddedPiAgent: runEmbeddedPiAgentMock, +})); + vi.mock("./run-subagent-registry.runtime.js", () => ({ countActiveDescendantRuns: countActiveDescendantRunsMock, listDescendantRunsForRequester: listDescendantRunsForRequesterMock,