openclaw: preserve run metadata in wake compatibility payload
This commit is contained in:
@@ -439,6 +439,13 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
|
|||||||
const wakeTextBody = {
|
const wakeTextBody = {
|
||||||
text: buildWakeText(wakePayload),
|
text: buildWakeText(wakePayload),
|
||||||
mode: "now",
|
mode: "now",
|
||||||
|
sessionKey,
|
||||||
|
paperclip: {
|
||||||
|
...wakePayload,
|
||||||
|
sessionKey,
|
||||||
|
streamTransport: transport,
|
||||||
|
context,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (onMeta) {
|
if (onMeta) {
|
||||||
|
|||||||
@@ -158,6 +158,8 @@ describe("openclaw adapter execute", () => {
|
|||||||
const body = JSON.parse(String(fetchMock.mock.calls[0]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
const body = JSON.parse(String(fetchMock.mock.calls[0]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
||||||
expect(body.mode).toBe("now");
|
expect(body.mode).toBe("now");
|
||||||
expect(typeof body.text).toBe("string");
|
expect(typeof body.text).toBe("string");
|
||||||
|
expect(body.paperclip).toBeTypeOf("object");
|
||||||
|
expect((body.paperclip as Record<string, unknown>).runId).toBe("run-123");
|
||||||
expect(result.resultJson?.compatibilityMode).toBe("wake_text");
|
expect(result.resultJson?.compatibilityMode).toBe("wake_text");
|
||||||
expect(result.resultJson?.transportFallback).toBe("webhook");
|
expect(result.resultJson?.transportFallback).toBe("webhook");
|
||||||
});
|
});
|
||||||
@@ -181,7 +183,8 @@ describe("openclaw adapter execute", () => {
|
|||||||
const body = JSON.parse(String(fetchMock.mock.calls[0]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
const body = JSON.parse(String(fetchMock.mock.calls[0]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
||||||
expect(body.mode).toBe("now");
|
expect(body.mode).toBe("now");
|
||||||
expect(typeof body.text).toBe("string");
|
expect(typeof body.text).toBe("string");
|
||||||
expect(body.paperclip).toBeUndefined();
|
expect(body.paperclip).toBeTypeOf("object");
|
||||||
|
expect((body.paperclip as Record<string, unknown>).runId).toBe("run-123");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("retries with wake text payload when endpoint reports text required in webhook mode", async () => {
|
it("retries with wake text payload when endpoint reports text required in webhook mode", async () => {
|
||||||
@@ -215,6 +218,8 @@ describe("openclaw adapter execute", () => {
|
|||||||
const secondBody = JSON.parse(String(fetchMock.mock.calls[1]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
const secondBody = JSON.parse(String(fetchMock.mock.calls[1]?.[1]?.body ?? "{}")) as Record<string, unknown>;
|
||||||
expect(secondBody.mode).toBe("now");
|
expect(secondBody.mode).toBe("now");
|
||||||
expect(typeof secondBody.text).toBe("string");
|
expect(typeof secondBody.text).toBe("string");
|
||||||
|
expect(secondBody.paperclip).toBeTypeOf("object");
|
||||||
|
expect((secondBody.paperclip as Record<string, unknown>).runId).toBe("run-123");
|
||||||
expect(result.resultJson?.compatibilityMode).toBe("wake_text");
|
expect(result.resultJson?.compatibilityMode).toBe("wake_text");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user