






















@@ -541,6 +541,56 @@ describe("runAgentTurnWithFallback", () => {
541541});
542542});
543543544+it("does not reuse or persist CLI sessions for room-event turns", async () => {
545+state.isCliProviderMock.mockReturnValue(true);
546+state.runWithModelFallbackMock.mockImplementationOnce(async (params: FallbackRunnerParams) => ({
547+result: await params.run("codex-cli", "gpt-5.4"),
548+provider: "codex-cli",
549+model: "gpt-5.4",
550+attempts: [],
551+}));
552+state.runCliAgentMock.mockResolvedValueOnce({
553+payloads: [{ text: "ambient" }],
554+meta: {
555+agentMeta: {
556+sessionId: "transient-cli-session",
557+cliSessionBinding: {
558+sessionId: "transient-cli-session",
559+authProfileId: "profile",
560+},
561+},
562+},
563+});
564+565+const runAgentTurnWithFallback = await getRunAgentTurnWithFallback();
566+const followupRun = createFollowupRun();
567+followupRun.currentTurnKind = "room_event";
568+followupRun.run.provider = "codex-cli";
569+followupRun.run.model = "gpt-5.4";
570+571+const result = await runAgentTurnWithFallback({
572+ ...createMinimalRunAgentTurnParams({ followupRun }),
573+getActiveSessionEntry: () =>
574+({
575+cliSessionBindings: {
576+"codex-cli": { sessionId: "existing-cli-session" },
577+},
578+}) as unknown as SessionEntry,
579+});
580+581+expect(result.kind).toBe("success");
582+expectMockCallArgFields(state.runCliAgentMock, 0, "CLI run params", {
583+currentTurnKind: "room_event",
584+cliSessionId: undefined,
585+cliSessionBinding: undefined,
586+});
587+if (result.kind !== "success") {
588+throw new Error("expected success");
589+}
590+expect(result.runResult.meta?.agentMeta?.sessionId).toBe("");
591+expect(result.runResult.meta?.agentMeta?.cliSessionBinding).toBeUndefined();
592+});
593+544594it("bridges CLI assistant agent events into onPartialReply for live preview (#76869)", async () => {
545595state.isCliProviderMock.mockReturnValue(true);
546596state.runWithModelFallbackMock.mockImplementationOnce(async (params: FallbackRunnerParams) => ({
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。