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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
WordPress大学
WordPress大学
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
I
InfoQ
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
美团技术团队
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
V
V2EX
J
Java Code Geeks
有赞技术团队
有赞技术团队
博客园 - 聂微东
B
Blog RSS Feed
博客园 - 司徒正美

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(cli): respect subcommand version options (#87398) · o...
Patrick-Eric · 2026-05-28 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -117,6 +117,10 @@ vi.mock("../../agents/model-auth.js", () => {

117117

};

118118

});

119119
120+

vi.mock("../../agents/provider-auth-aliases.js", () => ({

121+

resolveProviderIdForAuth: (provider: string) => provider,

122+

}));

123+
120124

import { resolveAgentDir, resolveSessionAgentId } from "../../agents/agent-scope.js";

121125

import {

122126

clearRuntimeAuthProfileStoreSnapshots,

@@ -657,7 +661,7 @@ describe("/model chat UX", () => {

657661

expect(reply?.text).not.toContain("[openai] endpoint: default auth: missing");

658662

expect(reply?.text).toContain("via codex runtime / openai-codex");

659663

expect(reply?.text).toContain("openai-codex:patrick@example.test=OAuth");

660-

});

664+

}, 240_000);

661665
662666

it("keeps direct provider auth labels when OpenAI API key auth exists", async () => {

663667

setAuthProfiles({

Original file line numberDiff line numberDiff line change

@@ -165,4 +165,22 @@ describe("configureProgramHelp", () => {

165165

resolveCommitHashMock.mockReturnValue(null);

166166

expectVersionExit({ expectedVersion: "OpenClaw 9.9.9-test" });

167167

});

168+
169+

it("does not treat subcommand --version options as root version requests", () => {

170+

process.argv = ["node", "openclaw", "skills", "verify", "discrawl", "--version", "1.0.0"];

171+

const logSpy = vi.spyOn(console, "log").mockImplementation(() => {});

172+

const exitSpy = vi.spyOn(process, "exit").mockImplementation(((code?: number) => {

173+

throw new Error(`exit:${code ?? ""}`);

174+

}) as typeof process.exit);

175+
176+

try {

177+

const program = makeProgramWithCommands();

178+

expect(() => configureProgramHelp(program, testProgramContext)).not.toThrow();

179+

expect(logSpy).not.toHaveBeenCalled();

180+

expect(exitSpy).not.toHaveBeenCalled();

181+

} finally {

182+

logSpy.mockRestore();

183+

exitSpy.mockRestore();

184+

}

185+

});

168186

});

Original file line numberDiff line numberDiff line change

@@ -3,7 +3,7 @@ import { resolveCommitHash } from "../../infra/git-commit.js";

33

import { formatDocsLink } from "../../terminal/links.js";

44

import { isRich, theme } from "../../terminal/theme.js";

55

import { escapeRegExp } from "../../utils.js";

6-

import { hasFlag, hasRootVersionAlias } from "../argv.js";

6+

import { isRootVersionInvocation } from "../argv.js";

77

import { formatCliBannerLine, hasEmittedCliBanner } from "../banner.js";

88

import { replaceCliName, resolveCliName } from "../cli-name.js";

99

import { CLI_LOG_LEVEL_VALUES, parseCliLogLevelOption } from "../log-level-option.js";

@@ -117,11 +117,7 @@ export function configureProgramHelp(

117117

outputError: (str, write) => write(formatCliParseErrorOutput(str, { argv: process.argv })),

118118

});

119119
120-

if (

121-

hasFlag(process.argv, "-V") ||

122-

hasFlag(process.argv, "--version") ||

123-

hasRootVersionAlias(process.argv)

124-

) {

120+

if (isRootVersionInvocation(process.argv)) {

125121

const commit = resolveCommitHash({ moduleUrl: import.meta.url });

126122

console.log(

127123

commit ? `OpenClaw ${ctx.programVersion} (${commit})` : `OpenClaw ${ctx.programVersion}`,