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 ffd55a05..eaacbd33 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 04a44e72..07bab9da 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 {