mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 08:51:23 +00:00
fix(cron): preserve telegram announce target + delivery truth
This commit is contained in:
@@ -278,6 +278,26 @@ describe("gateway agent handler", () => {
|
||||
vi.useRealTimers();
|
||||
});
|
||||
|
||||
it("respects explicit bestEffortDeliver=false for main session runs", async () => {
|
||||
primeMainAgentRun();
|
||||
|
||||
await invokeAgent(
|
||||
{
|
||||
message: "strict delivery",
|
||||
agentId: "main",
|
||||
sessionKey: "agent:main:main",
|
||||
deliver: true,
|
||||
bestEffortDeliver: false,
|
||||
idempotencyKey: "test-strict-delivery",
|
||||
},
|
||||
{ reqId: "strict-1" },
|
||||
);
|
||||
|
||||
await vi.waitFor(() => expect(mocks.agentCommand).toHaveBeenCalled());
|
||||
const callArgs = mocks.agentCommand.mock.calls.at(-1)?.[0] as Record<string, unknown>;
|
||||
expect(callArgs.bestEffortDeliver).toBe(false);
|
||||
});
|
||||
|
||||
it("handles missing cliSessionIds gracefully", async () => {
|
||||
mockMainSessionEntry({});
|
||||
|
||||
|
||||
@@ -192,6 +192,7 @@ export const agentHandlers: GatewayRequestHandlers = {
|
||||
extraSystemPrompt?: string;
|
||||
idempotencyKey: string;
|
||||
timeout?: number;
|
||||
bestEffortDeliver?: boolean;
|
||||
label?: string;
|
||||
spawnedBy?: string;
|
||||
inputProvenance?: InputProvenance;
|
||||
@@ -216,6 +217,8 @@ export const agentHandlers: GatewayRequestHandlers = {
|
||||
return;
|
||||
}
|
||||
const normalizedAttachments = normalizeRpcAttachmentsToChatAttachments(request.attachments);
|
||||
const requestedBestEffortDeliver =
|
||||
typeof request.bestEffortDeliver === "boolean" ? request.bestEffortDeliver : undefined;
|
||||
|
||||
let message = (request.message ?? "").trim();
|
||||
let images: Array<{ type: "image"; data: string; mimeType: string }> = [];
|
||||
@@ -310,7 +313,7 @@ export const agentHandlers: GatewayRequestHandlers = {
|
||||
}
|
||||
let resolvedSessionId = request.sessionId?.trim() || undefined;
|
||||
let sessionEntry: SessionEntry | undefined;
|
||||
let bestEffortDeliver = false;
|
||||
let bestEffortDeliver = requestedBestEffortDeliver ?? false;
|
||||
let cfgForAgent: ReturnType<typeof loadConfig> | undefined;
|
||||
let resolvedSessionKey = requestedSessionKey;
|
||||
let skipTimestampInjection = false;
|
||||
@@ -448,7 +451,9 @@ export const agentHandlers: GatewayRequestHandlers = {
|
||||
sessionKey: canonicalSessionKey,
|
||||
clientRunId: idem,
|
||||
});
|
||||
bestEffortDeliver = true;
|
||||
if (requestedBestEffortDeliver === undefined) {
|
||||
bestEffortDeliver = true;
|
||||
}
|
||||
}
|
||||
registerAgentRunContext(idem, { sessionKey: canonicalSessionKey });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user