惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
U
Unit 42
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
美团技术团队
雷峰网
雷峰网
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
罗磊的独立博客
MyScale Blog
MyScale Blog
博客园_首页
IT之家
IT之家
F
Fortinet All Blogs
博客园 - Franky

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
build(deps): refresh workspace dependency pins · openclaw...
steipete · 2026-05-10 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -7,12 +7,16 @@ Docs: https://docs.openclaw.ai

77

### Changes

88
99

- Gateway/skills: add an opt-in private skill archive upload install path gated by `skills.install.allowUploadedArchives`, so trusted Gateway clients can stage and install zip-backed skills only when operators explicitly enable the code-install surface. (#74430) Thanks @samzong.

10+

- Dependencies: refresh workspace pins and patch targets, including ACPX `@agentclientprotocol/claude-agent-acp` `0.33.1`, Codex ACP `0.14.0`, Baileys `7.0.0-rc10`, Google GenAI `2.0.1`, OpenAI `6.37.0`, AWS SDK `3.1045.0`, Kysely `0.29.0`, Tlon skill `0.3.6`, Aimock `1.19.5`, and tsdown `0.22.0`.

1011

- Agents/compaction: preserve scoped background exec/process session references across embedded compaction and after-turn runtime contexts without exposing sessions from unrelated scopes. Fixes #79284. (#79307) Thanks @TurboTheTurtle.

1112

- CLI/onboarding: improve setup, onboarding, configure, and channel command wayfinding so terminal flows explain the next useful command instead of relying on terse setup labels.

1213
1314

### Fixes

1415
1516

- Ollama: keep DeepSeek V4 cloud models thinking-capable even when Ollama Cloud `/api/show` omits the `thinking` capability, so `/think high` no longer rejects `ollama/deepseek-v4-*:cloud`.

17+

- ACPX/Claude ACP: keep foreground prompts waiting for their own result when autonomous task-notification results arrive during the same session, and retarget the patch for Claude Agent ACP `0.33.1`.

18+

- WhatsApp: keep Baileys media uploads from passing non-Dispatcher agents to undici in `7.0.0-rc10`, and patch the bundled Baileys declaration so the latest tsdown build stays warning-clean.

19+

- Build: keep tsdown `0.22.0` warning-clean by externalizing known third-party declaration edges and replacing relative channel config module augmentations with explicit built-in channel fields.

1620

- ACP sessions: map canonical runtime options to backend-advertised ACP config keys like Claude's `effort` while keeping persisted OpenClaw state canonical. (#79926) Thanks @InTheCloudDan.

1721

- Gateway/watch: rebuild or restage missing bundled-plugin dist and runtime-postbuild outputs before launching the Gateway from a source checkout, preventing incomplete watch-mode runtime trees. (#70805) Thanks @rubencu.

1822

- CLI/update: allow restart health probes from the previous gateway protocol during self-update, and make plugin dry-runs report exact npm target versions instead of `unknown` while preserving unchanged status.

Original file line numberDiff line numberDiff line change

@@ -8,8 +8,8 @@

88

},

99

"type": "module",

1010

"dependencies": {

11-

"@agentclientprotocol/claude-agent-acp": "0.32.0",

12-

"@zed-industries/codex-acp": "0.13.0",

11+

"@agentclientprotocol/claude-agent-acp": "0.33.1",

12+

"@zed-industries/codex-acp": "0.14.0",

1313

"acpx": "0.7.0"

1414

},

1515

"devDependencies": {

Original file line numberDiff line numberDiff line change

@@ -35,7 +35,7 @@ class ManualAsyncIterator implements AsyncIterator<unknown> {

3535

}

3636

}

3737
38-

function makeResultMessage() {

38+

function makeResultMessage(overrides: Record<string, unknown> = {}) {

3939

return {

4040

type: "result",

4141

subtype: "success",

@@ -50,6 +50,7 @@ function makeResultMessage() {

5050

cache_creation_input_tokens: 0,

5151

},

5252

modelUsage: [],

53+

...overrides,

5354

};

5455

}

5556

@@ -126,4 +127,67 @@ describe("patched claude-agent-acp completion", () => {

126127

},

127128

});

128129

});

130+
131+

it("does not resolve a prompt after a task-notification result goes idle", async () => {

132+

const query = new ManualAsyncIterator();

133+

const agent = new ClaudeAcpAgent({

134+

sessionUpdate: vi.fn(),

135+

extNotification: vi.fn(),

136+

} as unknown as ConstructorParameters<typeof ClaudeAcpAgent>[0]);

137+

agent.sessions["session-1"] = {

138+

cancelled: false,

139+

accumulatedUsage: {

140+

inputTokens: 0,

141+

outputTokens: 0,

142+

cachedReadTokens: 0,

143+

cachedWriteTokens: 0,

144+

},

145+

contextWindowSize: 200_000,

146+

cwd: "/tmp",

147+

emitRawSDKMessages: false,

148+

input: {

149+

push: vi.fn(),

150+

end: vi.fn(),

151+

},

152+

nextPendingOrder: 0,

153+

pendingMessages: new Map(),

154+

promptRunning: false,

155+

query,

156+

settingsManager: {

157+

dispose: vi.fn(),

158+

},

159+

} as unknown as (typeof agent.sessions)[string];

160+
161+

let resolved = false;

162+

const promptPromise = agent

163+

.prompt({

164+

sessionId: "session-1",

165+

prompt: [{ type: "text", text: "do foreground work" }],

166+

})

167+

.then((value) => {

168+

resolved = true;

169+

return value;

170+

});

171+
172+

query.push(makeResultMessage({ origin: { kind: "task-notification" } }));

173+

await flushMicrotasks();

174+

expect(resolved).toBe(false);

175+
176+

query.push(makeIdleMessage());

177+

await flushMicrotasks();

178+

expect(resolved).toBe(false);

179+
180+

query.push(makeResultMessage());

181+

await flushMicrotasks();

182+

expect(resolved).toBe(false);

183+
184+

query.push(makeIdleMessage());

185+

await expect(promptPromise).resolves.toMatchObject({

186+

stopReason: "end_turn",

187+

usage: {

188+

inputTokens: 2,

189+

outputTokens: 2,

190+

},

191+

});

192+

});

129193

});

Original file line numberDiff line numberDiff line change

@@ -167,7 +167,7 @@ describe("prepareAcpxCodexAuthConfig", () => {

167167

});

168168
169169

const wrapper = await fs.readFile(generated.wrapperPath, "utf8");

170-

expect(wrapper).toContain('"@zed-industries/codex-acp@0.13.0"');

170+

expect(wrapper).toContain('"@zed-industries/codex-acp@0.14.0"');

171171

expect(wrapper).toContain('"--", "codex-acp"');

172172

expect(wrapper).not.toContain("@zed-industries/codex-acp@^0.11.1");

173173

});

@@ -188,7 +188,7 @@ describe("prepareAcpxCodexAuthConfig", () => {

188188

});

189189
190190

const wrapper = await fs.readFile(generated.wrapperPath, "utf8");

191-

expect(wrapper).toContain('"@agentclientprotocol/claude-agent-acp@0.32.0"');

191+

expect(wrapper).toContain('"@agentclientprotocol/claude-agent-acp@0.33.1"');

192192

expect(wrapper).toContain('"--", "claude-agent-acp"');

193193

expect(wrapper).not.toContain("@agentclientprotocol/claude-agent-acp@^0.31.0");

194194

expect(wrapper).not.toContain("@agentclientprotocol/claude-agent-acp@0.31.0");

Original file line numberDiff line numberDiff line change

@@ -14,8 +14,8 @@ describe("acpx package manifest", () => {

1414
1515

expect(packageJson.dependencies?.acpx).toBeTypeOf("string");

1616

expect(packageJson.dependencies?.acpx).not.toBe("");

17-

expect(packageJson.dependencies?.["@zed-industries/codex-acp"]).toBe("0.13.0");

18-

expect(packageJson.dependencies?.["@agentclientprotocol/claude-agent-acp"]).toBe("0.32.0");

17+

expect(packageJson.dependencies?.["@zed-industries/codex-acp"]).toBe("0.14.0");

18+

expect(packageJson.dependencies?.["@agentclientprotocol/claude-agent-acp"]).toBe("0.33.1");

1919

expect(packageJson.devDependencies?.["@agentclientprotocol/claude-agent-acp"]).toBeUndefined();

2020

});

2121

});

Original file line numberDiff line numberDiff line change

@@ -5,7 +5,7 @@

55

"description": "OpenClaw Amazon Bedrock Mantle (OpenAI-compatible) provider plugin",

66

"type": "module",

77

"dependencies": {

8-

"@anthropic-ai/sdk": "0.95.0",

8+

"@anthropic-ai/sdk": "0.95.1",

99

"@aws/bedrock-token-generator": "^1.1.0",

1010

"@mariozechner/pi-ai": "0.73.1"

1111

},

Original file line numberDiff line numberDiff line change

@@ -5,8 +5,8 @@

55

"description": "OpenClaw Amazon Bedrock provider plugin",

66

"type": "module",

77

"dependencies": {

8-

"@aws-sdk/client-bedrock": "3.1044.0",

9-

"@aws-sdk/client-bedrock-runtime": "3.1044.0",

8+

"@aws-sdk/client-bedrock": "3.1045.0",

9+

"@aws-sdk/client-bedrock-runtime": "3.1045.0",

1010

"@aws-sdk/credential-provider-node": "3.972.39",

1111

"@smithy/shared-ini-file-loader": "4.4.9"

1212

},

Original file line numberDiff line numberDiff line change

@@ -1 +1 @@

1-

3fff2963cf04b8a07a5ebd943c501db50a12721cb437efc61dbb9e3b4c82a9f9

1+

61650e677e27bc6d4ea84631a045953626231e050485f1a7cfeb932a8b585a9f

Original file line numberDiff line numberDiff line change

@@ -11,7 +11,7 @@

1111

"build:viewer": "bun build src/viewer-client.ts --target browser --format esm --minify --outfile assets/viewer-runtime.js"

1212

},

1313

"dependencies": {

14-

"@pierre/diffs": "1.1.20",

14+

"@pierre/diffs": "1.1.21",

1515

"@pierre/theme": "0.0.29",

1616

"playwright-core": "1.59.1",

1717

"typebox": "1.1.38"

Original file line numberDiff line numberDiff line change

@@ -8,7 +8,7 @@

88

},

99

"type": "module",

1010

"dependencies": {

11-

"@larksuiteoapi/node-sdk": "^1.62.1",

11+

"@larksuiteoapi/node-sdk": "^1.63.1",

1212

"typebox": "1.1.38"

1313

},

1414

"devDependencies": {