Skip to content

Commit 21d850d

Browse files
committed
perf(cron): lazy-load embedded runtime branch
1 parent c441dcd commit 21d850d

4 files changed

Lines changed: 18 additions & 6 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export { resolveFastModeState } from "../../agents/fast-mode.js";
2+
export { resolveNestedAgentLane } from "../../agents/lanes.js";
3+
export { runEmbeddedPiAgent } from "../../agents/pi-embedded.js";

src/cron/isolated-agent/run-execution.runtime.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
export { resolveEffectiveModelFallbacks } from "../../agents/agent-scope.js";
22
export { resolveBootstrapWarningSignaturesSeen } from "../../agents/bootstrap-budget.js";
3-
export { resolveFastModeState } from "../../agents/fast-mode.js";
4-
export { resolveNestedAgentLane } from "../../agents/lanes.js";
53
export { LiveSessionModelSwitchError } from "../../agents/live-model-switch.js";
64
export { runWithModelFallback } from "../../agents/model-fallback.js";
75
export { isCliProvider } from "../../agents/model-selection.js";
8-
export { runEmbeddedPiAgent } from "../../agents/pi-embedded.js";
96
export { normalizeVerboseLevel } from "../../auto-reply/thinking.js";
107
export { resolveSessionTranscriptPath } from "../../config/sessions/paths.js";
118
export { registerAgentRunContext } from "../../infra/agent-events.js";

src/cron/isolated-agent/run-executor.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@ import {
1212
normalizeVerboseLevel,
1313
registerAgentRunContext,
1414
resolveBootstrapWarningSignaturesSeen,
15-
resolveFastModeState,
16-
resolveNestedAgentLane,
1715
resolveSessionTranscriptPath,
1816
runCliAgent,
19-
runEmbeddedPiAgent,
2017
runWithModelFallback,
2118
} from "./run-execution.runtime.js";
2219
import { resolveCronFallbacksOverride } from "./run-fallback-policy.js";
@@ -30,10 +27,17 @@ import { isLikelyInterimCronMessage } from "./subagent-followup-hints.js";
3027

3128
type AgentTurnPayload = Extract<CronJob["payload"], { kind: "agentTurn" }> | null;
3229
type CronPromptRunResult = Awaited<ReturnType<typeof runCliAgent>>;
30+
type CronEmbeddedRuntime = typeof import("./run-embedded.runtime.js");
3331
type CronSubagentRegistryRuntime = typeof import("./run-subagent-registry.runtime.js");
3432

33+
let cronEmbeddedRuntimePromise: Promise<CronEmbeddedRuntime> | undefined;
3534
let cronSubagentRegistryRuntimePromise: Promise<CronSubagentRegistryRuntime> | undefined;
3635

36+
async function loadCronEmbeddedRuntime() {
37+
cronEmbeddedRuntimePromise ??= import("./run-embedded.runtime.js");
38+
return await cronEmbeddedRuntimePromise;
39+
}
40+
3741
async function loadCronSubagentRegistryRuntime() {
3842
cronSubagentRegistryRuntimePromise ??= import("./run-subagent-registry.runtime.js");
3943
return await cronSubagentRegistryRuntimePromise;
@@ -135,6 +139,8 @@ export function createCronPromptExecutor(params: {
135139
);
136140
return result;
137141
}
142+
const { resolveFastModeState, resolveNestedAgentLane, runEmbeddedPiAgent } =
143+
await loadCronEmbeddedRuntime();
138144
const result = await runEmbeddedPiAgent({
139145
sessionId: params.cronSession.sessionEntry.sessionId,
140146
sessionKey: params.agentSessionKey,

src/cron/isolated-agent/run.test-harness.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,12 @@ vi.mock("./run-auth-profile.runtime.js", () => ({
160160
resolveSessionAuthProfileOverride: resolveSessionAuthProfileOverrideMock,
161161
}));
162162

163+
vi.mock("./run-embedded.runtime.js", () => ({
164+
resolveFastModeState: resolveFastModeStateMock,
165+
resolveNestedAgentLane: resolveNestedAgentLaneMock,
166+
runEmbeddedPiAgent: runEmbeddedPiAgentMock,
167+
}));
168+
163169
vi.mock("./run-subagent-registry.runtime.js", () => ({
164170
countActiveDescendantRuns: countActiveDescendantRunsMock,
165171
listDescendantRunsForRequester: listDescendantRunsForRequesterMock,

0 commit comments

Comments
 (0)