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

推荐订阅源

V
Visual Studio Blog
爱范儿
爱范儿
GbyAI
GbyAI
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
云风的 BLOG
云风的 BLOG
C
Check Point Blog
H
Help Net Security
P
Proofpoint News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
Y
Y Combinator Blog
U
Unit 42
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

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
fix(llm): repair invalid streaming unicode escapes · open...
coder9999999 · 2026-05-31 · via Recent Commits to openclaw:main

@@ -71,7 +71,34 @@ function resolveCommandShardName(file) {

7171

if (name.startsWith("doctor/shared/") || name.startsWith("doctor/")) {

7272

return "agentic-commands-doctor-shared";

7373

}

74-

return "agentic-commands-doctor";

74+

if (name.startsWith("doctor-auth") || name.startsWith("doctor-claude")) {

75+

return "agentic-commands-doctor-auth";

76+

}

77+

if (name.startsWith("doctor-config") || name.startsWith("doctor-legacy-config")) {

78+

return "agentic-commands-doctor-config";

79+

}

80+

if (name.startsWith("doctor-cron")) {

81+

return "agentic-commands-doctor-cron";

82+

}

83+

if (

84+

name.startsWith("doctor-gateway") ||

85+

name.startsWith("doctor-heartbeat") ||

86+

name.startsWith("doctor-memory") ||

87+

name.startsWith("doctor-plugin") ||

88+

name.startsWith("doctor-session") ||

89+

name.startsWith("doctor-state") ||

90+

name.startsWith("doctor-workspace")

91+

) {

92+

return "agentic-commands-doctor-runtime";

93+

}

94+

if (

95+

name.startsWith("doctor-platform-notes") ||

96+

name.startsWith("doctor-sandbox") ||

97+

name.startsWith("doctor-whatsapp")

98+

) {

99+

return "agentic-commands-doctor-misc-platform";

100+

}

101+

return "agentic-commands-doctor-misc-core";

75102

}

76103

if (

77104

name.startsWith("auth-choice") ||

@@ -95,7 +122,7 @@ function createAgenticCommandSplitShards() {

95122

const commandsLightTests = new Set(commandsLightTestFiles);

96123

const groups = new Map();

97124

for (const file of listTestFiles("src/commands")) {

98-

if (commandsLightTests.has(file)) {

125+

if (commandsLightTests.has(file) || file.endsWith(".e2e.test.ts")) {

99126

continue;

100127

}

101128

const shardName = resolveCommandShardName(file);

@@ -104,7 +131,12 @@ function createAgenticCommandSplitShards() {

104131105132

return [

106133

"agentic-commands-agent-channel",

107-

"agentic-commands-doctor",

134+

"agentic-commands-doctor-auth",

135+

"agentic-commands-doctor-config",

136+

"agentic-commands-doctor-cron",

137+

"agentic-commands-doctor-misc-core",

138+

"agentic-commands-doctor-misc-platform",

139+

"agentic-commands-doctor-runtime",

108140

"agentic-commands-doctor-shared",

109141

"agentic-commands-models",

110142

"agentic-commands-onboard-config",

@@ -119,6 +151,117 @@ function createAgenticCommandSplitShards() {

119151

.filter((shard) => shard.includePatterns.length > 0);

120152

}

121153154+

function resolveInfraStateShardName(file) {

155+

const name = relative("src/infra", file).replaceAll("\\", "/");

156+

if (name.startsWith("approval")) {

157+

return "core-runtime-infra-approval";

158+

}

159+

if (name.startsWith("exec") || name.startsWith("system-run")) {

160+

return "core-runtime-infra-exec";

161+

}

162+

if (name.startsWith("heartbeat")) {

163+

return "core-runtime-infra-heartbeat";

164+

}

165+

if (name.startsWith("outbound/")) {

166+

return "core-runtime-infra-outbound";

167+

}

168+

if (name.startsWith("net/") || name.startsWith("fetch")) {

169+

return "core-runtime-infra-network";

170+

}

171+

if (

172+

name.startsWith("device") ||

173+

name.startsWith("node-pairing") ||

174+

name.startsWith("pairing") ||

175+

name.startsWith("push")

176+

) {

177+

return "core-runtime-infra-device-push";

178+

}

179+

if (

180+

name.startsWith("install") ||

181+

name.startsWith("npm") ||

182+

name.startsWith("package") ||

183+

name.startsWith("provider-usage") ||

184+

name.startsWith("update")

185+

) {

186+

return "core-runtime-infra-package-provider";

187+

}

188+

if (name.startsWith("session") || name.startsWith("state-migrations")) {

189+

return "core-runtime-infra-session-state";

190+

}

191+

if (name < "g") {

192+

return "core-runtime-infra-misc-a-f";

193+

}

194+

if (name.startsWith("gateway")) {

195+

return "core-runtime-infra-misc-gateway";

196+

}

197+

if (name < "m") {

198+

return "core-runtime-infra-misc-g-l";

199+

}

200+

if (name < "p") {

201+

return "core-runtime-infra-misc-m-o";

202+

}

203+

if (

204+

name.startsWith("parse") ||

205+

name.startsWith("path") ||

206+

name.startsWith("plain") ||

207+

name.startsWith("plugin") ||

208+

name.startsWith("ports") ||

209+

name.startsWith("prototype")

210+

) {

211+

return "core-runtime-infra-misc-path-ports";

212+

}

213+

if (

214+

name.startsWith("process") ||

215+

name.startsWith("replace") ||

216+

name.startsWith("resolve") ||

217+

name.startsWith("restart") ||

218+

name.startsWith("retry") ||

219+

name.startsWith("run") ||

220+

name.startsWith("runtime")

221+

) {

222+

return "core-runtime-infra-misc-process-restart";

223+

}

224+

if (name < "t") {

225+

return "core-runtime-infra-misc-s-system";

226+

}

227+

return "core-runtime-infra-misc-t-z";

228+

}

229+230+

function createInfraStateSplitShards() {

231+

const groups = new Map();

232+

for (const file of listTestFiles("src/infra")) {

233+

const shardName = resolveInfraStateShardName(file);

234+

groups.set(shardName, [...(groups.get(shardName) ?? []), file]);

235+

}

236+237+

return [

238+

"core-runtime-infra-approval",

239+

"core-runtime-infra-device-push",

240+

"core-runtime-infra-exec",

241+

"core-runtime-infra-heartbeat",

242+

"core-runtime-infra-misc-a-f",

243+

"core-runtime-infra-misc-g-l",

244+

"core-runtime-infra-misc-gateway",

245+

"core-runtime-infra-misc-m-o",

246+

"core-runtime-infra-misc-path-ports",

247+

"core-runtime-infra-misc-process-restart",

248+

"core-runtime-infra-misc-s-system",

249+

"core-runtime-infra-misc-t-z",

250+

"core-runtime-infra-network",

251+

"core-runtime-infra-outbound",

252+

"core-runtime-infra-package-provider",

253+

"core-runtime-infra-session-state",

254+

]

255+

.map((shardName) => ({

256+

configs: ["test/vitest/vitest.infra.config.ts"],

257+

includePatterns: groups.get(shardName) ?? [],

258+

requiresDist: false,

259+

runner: "blacksmith-4vcpu-ubuntu-2404",

260+

shardName,

261+

}))

262+

.filter((shard) => shard.includePatterns.length > 0);

263+

}

264+122265

const GATEWAY_SERVER_BACKED_HTTP_TESTS = new Set([

123266

"src/gateway/embeddings-http.test.ts",

124267

"src/gateway/models-http.test.ts",

@@ -286,13 +429,16 @@ const SPLIT_NODE_SHARDS = new Map([

286429

[

287430

"core-runtime",

288431

[

432+

...createInfraStateSplitShards(),

289433

{

290-

shardName: "core-runtime-infra-state",

291-

configs: [

292-

"test/vitest/vitest.infra.config.ts",

293-

"test/vitest/vitest.hooks.config.ts",

294-

"test/vitest/vitest.secrets.config.ts",

295-

],

434+

shardName: "core-runtime-hooks",

435+

configs: ["test/vitest/vitest.hooks.config.ts"],

436+

requiresDist: false,

437+

runner: "blacksmith-4vcpu-ubuntu-2404",

438+

},

439+

{

440+

shardName: "core-runtime-secrets",

441+

configs: ["test/vitest/vitest.secrets.config.ts"],

296442

requiresDist: false,

297443

runner: "blacksmith-4vcpu-ubuntu-2404",

298444

},