From 6c9e639a68f43265c0912a85f6f62ed8f3b67f8d Mon Sep 17 00:00:00 2001 From: lin Date: Thu, 12 Mar 2026 00:27:41 +0800 Subject: [PATCH] fix: remove paperclip property from OpenClaw Gateway agent params The OpenClaw Gateway's agent method has strict parameter validation that rejects unknown properties. The paperclip property was being sent at the root level of agentParams, causing validation failures with error: "invalid agent params: at root: unexpected property 'paperclip'" The paperclip metadata is already included in the message field via wakeText, so removing the separate paperclip property resolves the validation error while preserving the necessary information. Fixes #606 Co-Authored-By: Claude Sonnet 4.6 --- .../openclaw-gateway/src/server/execute.ts | 1 - .../openclaw-gateway-adapter.test.ts | 27 ------------------- 2 files changed, 28 deletions(-) diff --git a/packages/adapters/openclaw-gateway/src/server/execute.ts b/packages/adapters/openclaw-gateway/src/server/execute.ts index ffd55a05ce3..eaacbd33a9a 100644 --- a/packages/adapters/openclaw-gateway/src/server/execute.ts +++ b/packages/adapters/openclaw-gateway/src/server/execute.ts @@ -1069,7 +1069,6 @@ export async function execute(ctx: AdapterExecutionContext): Promise = { ...payloadTemplate, - paperclip: paperclipPayload, message, sessionKey, idempotencyKey: ctx.runId, diff --git a/server/src/__tests__/openclaw-gateway-adapter.test.ts b/server/src/__tests__/openclaw-gateway-adapter.test.ts index 04a44e72ac6..07bab9daed6 100644 --- a/server/src/__tests__/openclaw-gateway-adapter.test.ts +++ b/server/src/__tests__/openclaw-gateway-adapter.test.ts @@ -456,33 +456,6 @@ describe("openclaw gateway adapter execute", () => { expect(String(payload?.message ?? "")).toContain("wake now"); expect(String(payload?.message ?? "")).toContain("PAPERCLIP_RUN_ID=run-123"); expect(String(payload?.message ?? "")).toContain("PAPERCLIP_TASK_ID=task-123"); - expect(payload?.paperclip).toEqual( - expect.objectContaining({ - runId: "run-123", - companyId: "company-123", - agentId: "agent-123", - taskId: "task-123", - issueId: "issue-123", - workspace: expect.objectContaining({ - cwd: "/tmp/worktrees/pap-123", - strategy: "git_worktree", - }), - workspaces: [ - expect.objectContaining({ - id: "workspace-1", - cwd: "/tmp/project", - }), - ], - workspaceRuntime: expect.objectContaining({ - services: [ - expect.objectContaining({ - name: "preview", - lifecycle: "ephemeral", - }), - ], - }), - }), - ); expect(logs.some((entry) => entry.includes("[openclaw-gateway:event] run=run-123 stream=assistant"))).toBe(true); } finally {