fix(auto-reply): cover surface silent reply fallback · openclaw/openclaw@391b491
steipete
·
2026-05-15
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -3151,6 +3151,46 @@ describe("runAgentTurnWithFallback", () => {
|
3151 | 3151 | }, |
3152 | 3152 | ); |
3153 | 3153 | |
| 3154 | +it("surfaces raw runner failure copy when per-surface silentReply.group is set to disallow", async () => { |
| 3155 | +state.runEmbeddedPiAgentMock.mockRejectedValueOnce( |
| 3156 | +new Error("openai-codex/gpt-5.5 ended with an incomplete terminal response"), |
| 3157 | +); |
| 3158 | + |
| 3159 | +const followupRun = createFollowupRun(); |
| 3160 | +followupRun.run.config = { |
| 3161 | +agents: { |
| 3162 | +defaults: { |
| 3163 | +silentReply: { group: "allow" }, |
| 3164 | +}, |
| 3165 | +}, |
| 3166 | +surfaces: { |
| 3167 | +discord: { |
| 3168 | +silentReply: { group: "disallow" }, |
| 3169 | +}, |
| 3170 | +}, |
| 3171 | +}; |
| 3172 | + |
| 3173 | +const runAgentTurnWithFallback = await getRunAgentTurnWithFallback(); |
| 3174 | +const result = await runAgentTurnWithFallback( |
| 3175 | +createMinimalRunAgentTurnParams({ |
| 3176 | + followupRun, |
| 3177 | +sessionCtx: { |
| 3178 | +Provider: "discord", |
| 3179 | +Surface: "discord", |
| 3180 | +ChatType: "group", |
| 3181 | +GroupSubject: "agent group", |
| 3182 | +GroupChannel: "#general", |
| 3183 | +MessageSid: "msg", |
| 3184 | +} as unknown as TemplateContext, |
| 3185 | +}), |
| 3186 | +); |
| 3187 | + |
| 3188 | +expect(result.kind).toBe("final"); |
| 3189 | +if (result.kind === "final") { |
| 3190 | +expect(result.payload.text).toBe(GENERIC_RUN_FAILURE_TEXT); |
| 3191 | +} |
| 3192 | +}); |
| 3193 | + |
3154 | 3194 | it.each(["group", "channel"] as const)( |
3155 | 3195 | "keeps default silent behavior in Discord %s chats when silentReply policy is unset", |
3156 | 3196 | async (chatType) => { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。