




















@@ -48,6 +48,7 @@ vi.mock("../config/sessions/paths.js", async () => {
4848});
49495050let emitAgentEvent: typeof import("../infra/agent-events.js").emitAgentEvent;
51+let resolveAcpProjectionSettings: typeof import("../auto-reply/reply/acp-stream-settings.js").resolveAcpProjectionSettings;
5152let resolveAcpSpawnStreamLogPath: typeof import("./acp-spawn-parent-stream.js").resolveAcpSpawnStreamLogPath;
5253let startAcpSpawnParentStreamRelay: typeof import("./acp-spawn-parent-stream.js").startAcpSpawnParentStreamRelay;
5354@@ -79,6 +80,7 @@ function firstMockCall(
7980describe("startAcpSpawnParentStreamRelay", () => {
8081beforeAll(async () => {
8182({ emitAgentEvent } = await import("../infra/agent-events.js"));
83+({ resolveAcpProjectionSettings } = await import("../auto-reply/reply/acp-stream-settings.js"));
8284({ resolveAcpSpawnStreamLogPath, startAcpSpawnParentStreamRelay } =
8385await import("./acp-spawn-parent-stream.js"));
8486});
@@ -514,7 +516,7 @@ describe("startAcpSpawnParentStreamRelay", () => {
514516relay.dispose();
515517});
516518517-it("relays ACP status progress when assistant commentary is enabled", () => {
519+it("relays ACP status progress when assistant commentary and tag visibility are enabled", () => {
518520const relay = startAcpSpawnParentStreamRelay({
519521runId: "run-status-commentary-enabled",
520522parentSessionKey: "agent:main:main",
@@ -523,6 +525,15 @@ describe("startAcpSpawnParentStreamRelay", () => {
523525streamFlushMs: 10,
524526noOutputNoticeMs: 120_000,
525527assistantCommentary: true,
528+acpProjectionSettings: resolveAcpProjectionSettings({
529+acp: {
530+stream: {
531+tagVisibility: {
532+plan: true,
533+},
534+},
535+},
536+}),
526537});
527538528539emitAgentEvent({
@@ -580,6 +591,33 @@ describe("startAcpSpawnParentStreamRelay", () => {
580591relay.dispose();
581592});
582593594+it("does not relay ACP status tags hidden by default when assistant commentary is enabled", () => {
595+const relay = startAcpSpawnParentStreamRelay({
596+runId: "run-status-commentary-default-hidden",
597+parentSessionKey: "agent:main:main",
598+childSessionKey: "agent:codex:acp:child-status-commentary-default-hidden",
599+agentId: "codex",
600+streamFlushMs: 10,
601+noOutputNoticeMs: 120_000,
602+assistantCommentary: true,
603+});
604+605+emitAgentEvent({
606+runId: "run-status-commentary-default-hidden",
607+stream: "acp",
608+data: {
609+phase: "runtime_event",
610+eventType: "status",
611+tag: "plan",
612+text: "plan: inspect the runtime handoff first",
613+},
614+});
615+vi.advanceTimersByTime(15);
616+617+expectNoTextWithFragment(collectedTexts(), "inspect the runtime handoff");
618+relay.dispose();
619+});
620+583621it("classifies opted-in commentary as visible output for stall notices", () => {
584622const relay = startAcpSpawnParentStreamRelay({
585623runId: "run-commentary-visible-stall",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。