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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Recent Announcements
Recent Announcements
V
Visual Studio Blog
博客园 - 叶小钗
H
Help Net Security
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
D
DataBreaches.Net
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence

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
test(plugins): align release validation fixtures · opencl...
steipete · 2026-04-30 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -177,10 +177,10 @@ describe("prepareAcpxCodexAuthConfig", () => {

177177

});

178178
179179

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

180-

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

180+

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

181181

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

182182

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

183-

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

183+

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

184184

});

185185
186186

it("uses the bundled Codex ACP dependency by default when it is installed", async () => {

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

379379

rawConfig: {

380380

agents: {

381381

claude: {

382-

command: "npx -y @agentclientprotocol/claude-agent-acp@0.31.0 --permission-mode bypass",

382+

command: "npx -y @agentclientprotocol/claude-agent-acp@0.31.1 --permission-mode bypass",

383383

},

384384

},

385385

},

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

425425

const root = await makeTempDir();

426426

const stateDir = path.join(root, "state");

427427

const command =

428-

"node ./custom-claude-wrapper.mjs @agentclientprotocol/claude-agent-acp@0.31.0 --flag";

428+

"node ./custom-claude-wrapper.mjs @agentclientprotocol/claude-agent-acp@0.31.1 --flag";

429429

const pluginConfig = resolveAcpxPluginConfig({

430430

rawConfig: {

431431

agents: {

Original file line numberDiff line numberDiff line change

@@ -7,7 +7,7 @@ const CODEX_ACP_PACKAGE = "@zed-industries/codex-acp";

77

const CODEX_ACP_PACKAGE_RANGE = "^0.12.0";

88

const CODEX_ACP_BIN = "codex-acp";

99

const CLAUDE_ACP_PACKAGE = "@agentclientprotocol/claude-agent-acp";

10-

const CLAUDE_ACP_PACKAGE_VERSION = "0.31.0";

10+

const CLAUDE_ACP_PACKAGE_VERSION = "0.31.1";

1111

const CLAUDE_ACP_BIN = "claude-agent-acp";

1212

const RUN_CONFIGURED_COMMAND_SENTINEL = "--openclaw-run-configured";

1313

const requireFromHere = createRequire(import.meta.url);

Original file line numberDiff line numberDiff line change

@@ -19,7 +19,7 @@ describe("acpx package manifest", () => {

1919
2020

expect(packageJson.dependencies?.acpx).toBeDefined();

2121

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

22-

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

22+

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

2323

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

2424

expect(packageJson.openclaw?.bundle?.stageRuntimeDependencies).toBe(true);

2525

});

Original file line numberDiff line numberDiff line change

@@ -92,6 +92,7 @@ describe("broadcast dispatch", () => {

9292

},

9393

session: {

9494

resolveStorePath: vi.fn(() => "/tmp/feishu-session-store.json"),

95+

recordInboundSession: vi.fn().mockResolvedValue(undefined),

9596

},

9697

reply: {

9798

resolveEnvelopeFormatOptions: resolveEnvelopeFormatOptionsMock,

@@ -109,6 +110,28 @@ describe("broadcast dispatch", () => {

109110

media: {

110111

saveMediaBuffer: mockSaveMediaBuffer,

111112

},

113+

turn: {

114+

runPrepared: vi.fn(

115+

async (turn: Parameters<PluginRuntime["channel"]["turn"]["runPrepared"]>[0]) => {

116+

await turn.recordInboundSession({

117+

storePath: turn.storePath,

118+

sessionKey: turn.ctxPayload.SessionKey ?? turn.routeSessionKey,

119+

ctx: turn.ctxPayload,

120+

groupResolution: turn.record?.groupResolution,

121+

createIfMissing: turn.record?.createIfMissing,

122+

updateLastRoute: turn.record?.updateLastRoute,

123+

onRecordError: turn.record?.onRecordError ?? (() => undefined),

124+

});

125+

return {

126+

admission: { kind: "dispatch" as const },

127+

dispatched: true,

128+

ctxPayload: turn.ctxPayload,

129+

routeSessionKey: turn.routeSessionKey,

130+

dispatchResult: await turn.runDispatch(),

131+

};

132+

},

133+

),

134+

},

112135

pairing: {

113136

readAllowFromStore: vi.fn().mockResolvedValue([]),

114137

upsertPairingRequest: vi.fn().mockResolvedValue({ code: "ABCDEFGH", created: false }),

Original file line numberDiff line numberDiff line change

@@ -110,6 +110,14 @@ describe("Telegram direct session recreation after delete", () => {

110110

},

111111

sessionRuntime: null,

112112

});

113+

expect(context).not.toBeNull();

114+

await context?.turn.recordInboundSession({

115+

storePath: context.turn.storePath,

116+

sessionKey: String(context.ctxPayload.SessionKey),

117+

ctx: context.ctxPayload as never,

118+

updateLastRoute: context.turn.record.updateLastRoute,

119+

onRecordError: context.turn.record.onRecordError,

120+

});

113121
114122

const store = loadSessionStore(storePath, { skipCache: true });

115123

expect(context?.ctxPayload?.SessionKey).toBe(TELEGRAM_DIRECT_KEY);

Original file line numberDiff line numberDiff line change

@@ -22,7 +22,7 @@ describe("tokenjuice package manifest", () => {

2222

fs.readFileSync(new URL("./package.json", import.meta.url), "utf8"),

2323

) as TokenjuicePackageManifest;

2424
25-

expect(packageJson.dependencies?.tokenjuice).toBe("0.6.4");

25+

expect(packageJson.dependencies?.tokenjuice).toBe("0.7.0");

2626

expect(packageJson.openclaw?.bundle?.stageRuntimeDependencies).toBe(true);

2727

});

2828