


























@@ -1,7 +1,7 @@
11import fs from "node:fs";
22import os from "node:os";
33import path from "node:path";
4-import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
4+import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
55import { createPerSenderSessionConfig } from "./test-helpers/session-config.js";
6677const callGatewayMock = vi.fn();
@@ -17,6 +17,7 @@ let configOverride: Record<string, unknown> = {
1717let addSubagentRunForTests: typeof import("./subagent-registry.js").addSubagentRunForTests;
1818let resetSubagentRegistryForTests: typeof import("./subagent-registry.js").resetSubagentRegistryForTests;
1919let subagentRegistryTesting: typeof import("./subagent-registry.js").__testing;
20+let setSubagentSpawnDepsForTest: typeof import("./subagent-spawn.js").__testing.setDepsForTest;
2021let createSessionsSpawnTool: typeof import("./tools/sessions-spawn-tool.js").createSessionsSpawnTool;
21222223vi.mock("../config/config.js", async () => {
@@ -68,11 +69,18 @@ beforeAll(async () => {
6869 addSubagentRunForTests,
6970 resetSubagentRegistryForTests,
7071} = await import("./subagent-registry.js"));
72+({
73+__testing: { setDepsForTest: setSubagentSpawnDepsForTest },
74+} = await import("./subagent-spawn.js"));
7175({ createSessionsSpawnTool } = await import("./tools/sessions-spawn-tool.js"));
7276});
73777478describe("sessions_spawn depth + child limits", () => {
7579beforeEach(() => {
80+setSubagentSpawnDepsForTest({
81+callGateway: (opts) => callGatewayMock(opts),
82+getGlobalHookRunner: () => null,
83+});
7684subagentRegistryTesting.setDepsForTest({
7785captureSubagentCompletionReply: () => Promise.resolve(undefined),
7886cleanupBrowserSessionsForLifecycleEnd: () => Promise.resolve(),
@@ -104,6 +112,10 @@ describe("sessions_spawn depth + child limits", () => {
104112});
105113});
106114115+afterAll(() => {
116+setSubagentSpawnDepsForTest();
117+});
118+107119it("rejects spawning when caller depth reaches maxSpawnDepth", async () => {
108120const tool = createSessionsSpawnTool({
109121agentSessionKey: "agent:main:subagent:parent",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。