@lsnl/wenhaicode 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.mjs +55 -41
- package/dist/sdk.mjs +13 -13
- package/package.json +1 -1
- package/src/entrypoints/sdk.d.ts +1 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ WenhaiCode is also mirrored to GitLawb:
|
|
|
56
56
|
### Install
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
npm install -g @
|
|
59
|
+
npm install -g @lsnl/wenhaicode
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
If the install later reports `ripgrep not found`, install ripgrep system-wide and confirm `rg --version` works in the same terminal before starting WenhaiCode.
|
package/dist/cli.mjs
CHANGED
|
@@ -39438,6 +39438,15 @@ async function getProviderValidationError(env3 = process.env, options) {
|
|
|
39438
39438
|
const useOpenAI = isEnvTruthy2(env3.CLAUDE_CODE_USE_OPENAI);
|
|
39439
39439
|
const validationTarget = getRuntimeValidationTarget(env3);
|
|
39440
39440
|
if (!useOpenAI && !validationTarget) {
|
|
39441
|
+
const hasAnthropicKey = Boolean(env3.ANTHROPIC_API_KEY?.trim());
|
|
39442
|
+
const hasAnthropicBase = Boolean(env3.ANTHROPIC_BASE_URL?.trim());
|
|
39443
|
+
const useGemini = isEnvTruthy2(env3.CLAUDE_CODE_USE_GEMINI);
|
|
39444
|
+
const useGithub = isEnvTruthy2(env3.CLAUDE_CODE_USE_GITHUB);
|
|
39445
|
+
const useMistral = isEnvTruthy2(env3.CLAUDE_CODE_USE_MISTRAL);
|
|
39446
|
+
const hasAnyProvider = hasAnthropicKey || hasAnthropicBase || useGemini || useGithub || useMistral;
|
|
39447
|
+
if (!hasAnyProvider) {
|
|
39448
|
+
return "No provider configured. Run /provider to set up a provider, or set environment variables (e.g. CLAUDE_CODE_USE_OPENAI=1 OPENAI_API_KEY=... OPENAI_MODEL=...).";
|
|
39449
|
+
}
|
|
39441
39450
|
return null;
|
|
39442
39451
|
}
|
|
39443
39452
|
const request = resolveProviderRequest({
|
|
@@ -280274,7 +280283,7 @@ async function installOrUpdateClaudePackage(channel, specificVersion) {
|
|
|
280274
280283
|
return "install_failed";
|
|
280275
280284
|
}
|
|
280276
280285
|
const versionSpec = specificVersion ? specificVersion : channel === "stable" ? "stable" : "latest";
|
|
280277
|
-
const result = await execFileNoThrowWithCwd("npm", ["install", `${"@
|
|
280286
|
+
const result = await execFileNoThrowWithCwd("npm", ["install", `${"@lsnl/wenhaicode"}@${versionSpec}`], { cwd: getLocalInstallDir(), maxBuffer: 1e6 });
|
|
280278
280287
|
if (result.code !== 0) {
|
|
280279
280288
|
const error42 = new Error(`Failed to install Claude CLI package: ${result.stderr}`);
|
|
280280
280289
|
logError2(error42);
|
|
@@ -280707,7 +280716,7 @@ async function detectMultipleInstallations() {
|
|
|
280707
280716
|
}
|
|
280708
280717
|
const packagesToCheck = ["@anthropic-ai/claude-code"];
|
|
280709
280718
|
if (true) {
|
|
280710
|
-
packagesToCheck.push("@
|
|
280719
|
+
packagesToCheck.push("@lsnl/wenhaicode");
|
|
280711
280720
|
}
|
|
280712
280721
|
const npmResult = await execFileNoThrow("npm", [
|
|
280713
280722
|
"-g",
|
|
@@ -280903,7 +280912,7 @@ async function getDoctorDiagnostic() {
|
|
|
280903
280912
|
if (install.type === "npm-global") {
|
|
280904
280913
|
let uninstallCmd = "npm -g uninstall @anthropic-ai/claude-code";
|
|
280905
280914
|
if (true) {
|
|
280906
|
-
uninstallCmd += ` && npm -g uninstall ${"@
|
|
280915
|
+
uninstallCmd += ` && npm -g uninstall ${"@lsnl/wenhaicode"}`;
|
|
280907
280916
|
}
|
|
280908
280917
|
warnings.push({
|
|
280909
280918
|
issue: `Leftover npm global installation at ${install.path}`,
|
|
@@ -282585,7 +282594,7 @@ async function cleanupNpmInstallations() {
|
|
|
282585
282594
|
errors4.push(codePackageResult.error);
|
|
282586
282595
|
}
|
|
282587
282596
|
if (true) {
|
|
282588
|
-
const macroPackageResult = await attemptNpmUninstall("@
|
|
282597
|
+
const macroPackageResult = await attemptNpmUninstall("@lsnl/wenhaicode");
|
|
282589
282598
|
if (macroPackageResult.success) {
|
|
282590
282599
|
removed++;
|
|
282591
282600
|
if (macroPackageResult.warning) {
|
|
@@ -389088,7 +389097,7 @@ function getAnthropicEnvMetadata() {
|
|
|
389088
389097
|
function getBuildAgeMinutes() {
|
|
389089
389098
|
if (false)
|
|
389090
389099
|
;
|
|
389091
|
-
const buildTime = new Date("2026-05-25T01:
|
|
389100
|
+
const buildTime = new Date("2026-05-25T01:43:43.487Z").getTime();
|
|
389092
389101
|
if (isNaN(buildTime))
|
|
389093
389102
|
return;
|
|
389094
389103
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -417106,7 +417115,7 @@ function buildPrimarySection() {
|
|
|
417106
417115
|
}, undefined, false, undefined, this);
|
|
417107
417116
|
return [{
|
|
417108
417117
|
label: "Version",
|
|
417109
|
-
value: "0.9.
|
|
417118
|
+
value: "0.9.3"
|
|
417110
417119
|
}, {
|
|
417111
417120
|
label: "Session name",
|
|
417112
417121
|
value: nameValue
|
|
@@ -431436,7 +431445,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
|
|
|
431436
431445
|
return `${WENHAICODE_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
|
|
431437
431446
|
}
|
|
431438
431447
|
function getPublicBuildVersion() {
|
|
431439
|
-
return "0.9.
|
|
431448
|
+
return "0.9.3";
|
|
431440
431449
|
}
|
|
431441
431450
|
var import_semver9, WENHAICODE_RELEASES_URL = "https://github.com/echoxiangzhou/wenhaicode/releases", fallbackBuildVersion, publicBuildVersion;
|
|
431442
431451
|
var init_version = __esm(() => {
|
|
@@ -488070,7 +488079,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
488070
488079
|
var call64 = async () => {
|
|
488071
488080
|
return {
|
|
488072
488081
|
type: "text",
|
|
488073
|
-
value: `${"99.0.0"} (built ${"2026-05-25T01:
|
|
488082
|
+
value: `${"99.0.0"} (built ${"2026-05-25T01:43:43.487Z"})`
|
|
488074
488083
|
};
|
|
488075
488084
|
}, version2, version_default;
|
|
488076
488085
|
var init_version2 = __esm(() => {
|
|
@@ -519720,12 +519729,17 @@ function detectProvider(modelOverride) {
|
|
|
519720
519729
|
}
|
|
519721
519730
|
return { name, model: displayModel, baseUrl: baseUrl2, isLocal: isLocal2 };
|
|
519722
519731
|
}
|
|
519732
|
+
const hasAnthropicKey = Boolean(process.env.ANTHROPIC_API_KEY?.trim());
|
|
519733
|
+
const hasAnthropicBase = Boolean(process.env.ANTHROPIC_BASE_URL?.trim());
|
|
519723
519734
|
const settings = getSettings_DEPRECATED() || {};
|
|
519724
519735
|
const modelSetting = modelOverride || process.env.ANTHROPIC_MODEL || process.env.CLAUDE_MODEL || settings.model || "claude-sonnet-4-6";
|
|
519725
519736
|
const resolvedModel = parseUserSpecifiedModel(modelSetting);
|
|
519726
519737
|
const baseUrl = process.env.ANTHROPIC_BASE_URL ?? "https://api.anthropic.com";
|
|
519727
519738
|
const isLocal = isLocalProviderUrl(baseUrl);
|
|
519728
|
-
|
|
519739
|
+
if (hasAnthropicKey || hasAnthropicBase) {
|
|
519740
|
+
return { name: "Anthropic", model: resolvedModel, baseUrl, isLocal };
|
|
519741
|
+
}
|
|
519742
|
+
return { name: "Not configured", model: "Run /provider to set up", baseUrl: "-", isLocal: false };
|
|
519729
519743
|
}
|
|
519730
519744
|
function boxRow(content, width, rawLen, border) {
|
|
519731
519745
|
const pad = Math.max(0, width - 2 - rawLen);
|
|
@@ -519777,7 +519791,7 @@ function printStartupScreen(modelOverride) {
|
|
|
519777
519791
|
const sLen = ` ● ${sL} Ready — type /help to begin`.length;
|
|
519778
519792
|
out.push(boxRow(sRow, W2, sLen, BORDER));
|
|
519779
519793
|
out.push(`${ansiRgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET2}`);
|
|
519780
|
-
out.push(` ${DIM2}${ansiRgb(...DIMCOL)}wenhaicode ${RESET2}${ansiRgb(...ACCENT)}v${"0.9.
|
|
519794
|
+
out.push(` ${DIM2}${ansiRgb(...DIMCOL)}wenhaicode ${RESET2}${ansiRgb(...ACCENT)}v${"0.9.3"}${RESET2}`);
|
|
519781
519795
|
out.push("");
|
|
519782
519796
|
process.stdout.write(out.join(`
|
|
519783
519797
|
`) + `
|
|
@@ -538539,7 +538553,7 @@ function AutoUpdater({
|
|
|
538539
538553
|
" ",
|
|
538540
538554
|
/* @__PURE__ */ jsx_dev_runtime406.jsxDEV(ThemedText, {
|
|
538541
538555
|
bold: true,
|
|
538542
|
-
children: hasLocalInstall ? `cd ~/.wenhaicode/local && npm update ${"@
|
|
538556
|
+
children: hasLocalInstall ? `cd ~/.wenhaicode/local && npm update ${"@lsnl/wenhaicode"}` : `npm i -g ${"@lsnl/wenhaicode"}`
|
|
538543
538557
|
}, undefined, false, undefined, this)
|
|
538544
538558
|
]
|
|
538545
538559
|
}, undefined, true, undefined, this)
|
|
@@ -570969,7 +570983,7 @@ function WelcomeV2() {
|
|
|
570969
570983
|
dimColor: true,
|
|
570970
570984
|
children: [
|
|
570971
570985
|
"v",
|
|
570972
|
-
"0.9.
|
|
570986
|
+
"0.9.3",
|
|
570973
570987
|
" "
|
|
570974
570988
|
]
|
|
570975
570989
|
}, undefined, true, undefined, this)
|
|
@@ -571169,7 +571183,7 @@ function WelcomeV2() {
|
|
|
571169
571183
|
dimColor: true,
|
|
571170
571184
|
children: [
|
|
571171
571185
|
"v",
|
|
571172
|
-
"0.9.
|
|
571186
|
+
"0.9.3",
|
|
571173
571187
|
" "
|
|
571174
571188
|
]
|
|
571175
571189
|
}, undefined, true, undefined, this)
|
|
@@ -571395,7 +571409,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
571395
571409
|
dimColor: true,
|
|
571396
571410
|
children: [
|
|
571397
571411
|
"v",
|
|
571398
|
-
"0.9.
|
|
571412
|
+
"0.9.3",
|
|
571399
571413
|
" "
|
|
571400
571414
|
]
|
|
571401
571415
|
}, undefined, true, undefined, this);
|
|
@@ -571649,7 +571663,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
571649
571663
|
dimColor: true,
|
|
571650
571664
|
children: [
|
|
571651
571665
|
"v",
|
|
571652
|
-
"0.9.
|
|
571666
|
+
"0.9.3",
|
|
571653
571667
|
" "
|
|
571654
571668
|
]
|
|
571655
571669
|
}, undefined, true, undefined, this);
|
|
@@ -588970,10 +588984,10 @@ __export(exports_update, {
|
|
|
588970
588984
|
async function update() {
|
|
588971
588985
|
if (getAPIProvider() !== "firstParty") {
|
|
588972
588986
|
writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
|
|
588973
|
-
`) + `Current version: ${"0.9.
|
|
588987
|
+
`) + `Current version: ${"0.9.3"}
|
|
588974
588988
|
|
|
588975
588989
|
` + `To update, reinstall from npm:
|
|
588976
|
-
` + source_default.bold(` npm install -g ${"@
|
|
588990
|
+
` + source_default.bold(` npm install -g ${"@lsnl/wenhaicode"}@latest`) + `
|
|
588977
588991
|
|
|
588978
588992
|
` + `Or, if you built from source, pull and rebuild:
|
|
588979
588993
|
` + source_default.bold(" git pull && bun install && bun run build") + `
|
|
@@ -588981,7 +588995,7 @@ async function update() {
|
|
|
588981
588995
|
await gracefulShutdown(0);
|
|
588982
588996
|
}
|
|
588983
588997
|
logEvent("tengu_update_check", {});
|
|
588984
|
-
writeToStdout(`Current version: ${"0.9.
|
|
588998
|
+
writeToStdout(`Current version: ${"0.9.3"}
|
|
588985
588999
|
`);
|
|
588986
589000
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
588987
589001
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -589054,7 +589068,7 @@ async function update() {
|
|
|
589054
589068
|
`);
|
|
589055
589069
|
writeToStdout(`Or reinstall from npm:
|
|
589056
589070
|
`);
|
|
589057
|
-
writeToStdout(source_default.bold(` npm install -g ${"@
|
|
589071
|
+
writeToStdout(source_default.bold(` npm install -g ${"@lsnl/wenhaicode"}@latest`) + `
|
|
589058
589072
|
`);
|
|
589059
589073
|
await gracefulShutdown(0);
|
|
589060
589074
|
}
|
|
@@ -589066,8 +589080,8 @@ async function update() {
|
|
|
589066
589080
|
writeToStdout(`Claude is managed by Homebrew.
|
|
589067
589081
|
`);
|
|
589068
589082
|
const latest = await getLatestVersion(channel);
|
|
589069
|
-
if (latest && !gte("0.9.
|
|
589070
|
-
writeToStdout(`Update available: ${"0.9.
|
|
589083
|
+
if (latest && !gte("0.9.3", latest)) {
|
|
589084
|
+
writeToStdout(`Update available: ${"0.9.3"} → ${latest}
|
|
589071
589085
|
`);
|
|
589072
589086
|
writeToStdout(`
|
|
589073
589087
|
`);
|
|
@@ -589083,8 +589097,8 @@ async function update() {
|
|
|
589083
589097
|
writeToStdout(`Claude is managed by winget.
|
|
589084
589098
|
`);
|
|
589085
589099
|
const latest = await getLatestVersion(channel);
|
|
589086
|
-
if (latest && !gte("0.9.
|
|
589087
|
-
writeToStdout(`Update available: ${"0.9.
|
|
589100
|
+
if (latest && !gte("0.9.3", latest)) {
|
|
589101
|
+
writeToStdout(`Update available: ${"0.9.3"} → ${latest}
|
|
589088
589102
|
`);
|
|
589089
589103
|
writeToStdout(`
|
|
589090
589104
|
`);
|
|
@@ -589100,8 +589114,8 @@ async function update() {
|
|
|
589100
589114
|
writeToStdout(`Claude is managed by apk.
|
|
589101
589115
|
`);
|
|
589102
589116
|
const latest = await getLatestVersion(channel);
|
|
589103
|
-
if (latest && !gte("0.9.
|
|
589104
|
-
writeToStdout(`Update available: ${"0.9.
|
|
589117
|
+
if (latest && !gte("0.9.3", latest)) {
|
|
589118
|
+
writeToStdout(`Update available: ${"0.9.3"} → ${latest}
|
|
589105
589119
|
`);
|
|
589106
589120
|
writeToStdout(`
|
|
589107
589121
|
`);
|
|
@@ -589166,11 +589180,11 @@ async function update() {
|
|
|
589166
589180
|
`);
|
|
589167
589181
|
await gracefulShutdown(1);
|
|
589168
589182
|
}
|
|
589169
|
-
if (result.latestVersion === "0.9.
|
|
589170
|
-
writeToStdout(source_default.green(`WenhaiCode is up to date (${"0.9.
|
|
589183
|
+
if (result.latestVersion === "0.9.3") {
|
|
589184
|
+
writeToStdout(source_default.green(`WenhaiCode is up to date (${"0.9.3"})`) + `
|
|
589171
589185
|
`);
|
|
589172
589186
|
} else {
|
|
589173
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
589187
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.3"} to version ${result.latestVersion}`) + `
|
|
589174
589188
|
`);
|
|
589175
589189
|
await regenerateCompletionCache();
|
|
589176
589190
|
}
|
|
@@ -589189,9 +589203,9 @@ async function update() {
|
|
|
589189
589203
|
await removeInstalledSymlink();
|
|
589190
589204
|
}
|
|
589191
589205
|
logForDebugging("update: Checking npm registry for latest version");
|
|
589192
|
-
logForDebugging(`update: Package URL: ${"@
|
|
589206
|
+
logForDebugging(`update: Package URL: ${"@lsnl/wenhaicode"}`);
|
|
589193
589207
|
const npmTag = channel === "stable" ? "stable" : "latest";
|
|
589194
|
-
const npmCommand = `npm view ${"@
|
|
589208
|
+
const npmCommand = `npm view ${"@lsnl/wenhaicode"}@${npmTag} version`;
|
|
589195
589209
|
logForDebugging(`update: Running: ${npmCommand}`);
|
|
589196
589210
|
const latestVersion = await getLatestVersion(channel);
|
|
589197
589211
|
logForDebugging(`update: Latest version from npm: ${latestVersion || "FAILED"}`);
|
|
@@ -589211,7 +589225,7 @@ async function update() {
|
|
|
589211
589225
|
`);
|
|
589212
589226
|
process.stderr.write(` • Corporate proxy/firewall blocking npm
|
|
589213
589227
|
`);
|
|
589214
|
-
if (!"@
|
|
589228
|
+
if (!"@lsnl/wenhaicode".startsWith("@anthropic")) {
|
|
589215
589229
|
process.stderr.write(` • Internal/development build not published to npm
|
|
589216
589230
|
`);
|
|
589217
589231
|
}
|
|
@@ -589223,19 +589237,19 @@ async function update() {
|
|
|
589223
589237
|
`);
|
|
589224
589238
|
process.stderr.write(` • Run with --debug flag for more details
|
|
589225
589239
|
`);
|
|
589226
|
-
const packageName = "@
|
|
589240
|
+
const packageName = "@lsnl/wenhaicode";
|
|
589227
589241
|
process.stderr.write(` • Manually check: npm view ${packageName} version
|
|
589228
589242
|
`);
|
|
589229
589243
|
process.stderr.write(` • Check if you need to login: npm whoami
|
|
589230
589244
|
`);
|
|
589231
589245
|
await gracefulShutdown(1);
|
|
589232
589246
|
}
|
|
589233
|
-
if (latestVersion === "0.9.
|
|
589234
|
-
writeToStdout(source_default.green(`WenhaiCode is up to date (${"0.9.
|
|
589247
|
+
if (latestVersion === "0.9.3") {
|
|
589248
|
+
writeToStdout(source_default.green(`WenhaiCode is up to date (${"0.9.3"})`) + `
|
|
589235
589249
|
`);
|
|
589236
589250
|
await gracefulShutdown(0);
|
|
589237
589251
|
}
|
|
589238
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.
|
|
589252
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.3"})
|
|
589239
589253
|
`);
|
|
589240
589254
|
writeToStdout(`Installing update...
|
|
589241
589255
|
`);
|
|
@@ -589280,7 +589294,7 @@ async function update() {
|
|
|
589280
589294
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
589281
589295
|
switch (status2) {
|
|
589282
589296
|
case "success":
|
|
589283
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
589297
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.3"} to version ${latestVersion}`) + `
|
|
589284
589298
|
`);
|
|
589285
589299
|
await regenerateCompletionCache();
|
|
589286
589300
|
break;
|
|
@@ -589290,7 +589304,7 @@ async function update() {
|
|
|
589290
589304
|
if (useLocalUpdate) {
|
|
589291
589305
|
process.stderr.write(`Try manually updating with:
|
|
589292
589306
|
`);
|
|
589293
|
-
process.stderr.write(` cd ~/.wenhaicode/local && npm update ${"@
|
|
589307
|
+
process.stderr.write(` cd ~/.wenhaicode/local && npm update ${"@lsnl/wenhaicode"}
|
|
589294
589308
|
`);
|
|
589295
589309
|
} else {
|
|
589296
589310
|
process.stderr.write(`Try running with sudo or fix npm permissions
|
|
@@ -589306,7 +589320,7 @@ async function update() {
|
|
|
589306
589320
|
if (useLocalUpdate) {
|
|
589307
589321
|
process.stderr.write(`Try manually updating with:
|
|
589308
589322
|
`);
|
|
589309
|
-
process.stderr.write(` cd ~/.wenhaicode/local && npm update ${"@
|
|
589323
|
+
process.stderr.write(` cd ~/.wenhaicode/local && npm update ${"@lsnl/wenhaicode"}
|
|
589310
589324
|
`);
|
|
589311
589325
|
} else {
|
|
589312
589326
|
process.stderr.write(`Or consider using native installation with: wenhaicode install
|
|
@@ -591332,7 +591346,7 @@ Usage: wenhaicode --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
591332
591346
|
pendingHookMessages
|
|
591333
591347
|
}, renderAndRun);
|
|
591334
591348
|
}
|
|
591335
|
-
}).version("0.9.
|
|
591349
|
+
}).version("0.9.3 (WenhaiCode)", "-v, --version", "Output the version number");
|
|
591336
591350
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
591337
591351
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
591338
591352
|
if (canUserConfigureAdvisor()) {
|
|
@@ -591890,7 +591904,7 @@ if (false) {}
|
|
|
591890
591904
|
async function main2() {
|
|
591891
591905
|
const args = process.argv.slice(2);
|
|
591892
591906
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
591893
|
-
console.log(`${"0.9.
|
|
591907
|
+
console.log(`${"0.9.3"} (WenhaiCode)`);
|
|
591894
591908
|
return;
|
|
591895
591909
|
}
|
|
591896
591910
|
if (args.includes("--provider")) {
|
|
@@ -592040,4 +592054,4 @@ async function main2() {
|
|
|
592040
592054
|
}
|
|
592041
592055
|
main2();
|
|
592042
592056
|
|
|
592043
|
-
//# debugId=
|
|
592057
|
+
//# debugId=6FC7BFA4017ECFD564756E2164756E21
|
package/dist/sdk.mjs
CHANGED
|
@@ -34184,7 +34184,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
34184
34184
|
if (!isAttributionHeaderEnabled()) {
|
|
34185
34185
|
return "";
|
|
34186
34186
|
}
|
|
34187
|
-
const version = `${"0.9.
|
|
34187
|
+
const version = `${"0.9.3"}.${fingerprint}`;
|
|
34188
34188
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
34189
34189
|
const cch = "";
|
|
34190
34190
|
const workload = getWorkload();
|
|
@@ -117418,7 +117418,7 @@ var init_effort = __esm(() => {
|
|
|
117418
117418
|
|
|
117419
117419
|
// src/utils/userAgent.ts
|
|
117420
117420
|
function getClaudeCodeUserAgent() {
|
|
117421
|
-
return `claude-code/${"0.9.
|
|
117421
|
+
return `claude-code/${"0.9.3"}`;
|
|
117422
117422
|
}
|
|
117423
117423
|
|
|
117424
117424
|
// src/utils/http.ts
|
|
@@ -117427,7 +117427,7 @@ function getUserAgent() {
|
|
|
117427
117427
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
117428
117428
|
const workload = getWorkload();
|
|
117429
117429
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
117430
|
-
return `claude-cli/${"0.9.
|
|
117430
|
+
return `claude-cli/${"0.9.3"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
117431
117431
|
}
|
|
117432
117432
|
function getMCPUserAgent() {
|
|
117433
117433
|
const parts = [];
|
|
@@ -117441,7 +117441,7 @@ function getMCPUserAgent() {
|
|
|
117441
117441
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
117442
117442
|
}
|
|
117443
117443
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
117444
|
-
return `claude-code/${"0.9.
|
|
117444
|
+
return `claude-code/${"0.9.3"}${suffix}`;
|
|
117445
117445
|
}
|
|
117446
117446
|
function getWebFetchUserAgent() {
|
|
117447
117447
|
const supportUrl = getAPIProvider() === "firstParty" ? "https://support.anthropic.com/" : "https://github.com/echoxiangzhou/wenhaicode";
|
|
@@ -152972,7 +152972,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
152972
152972
|
}
|
|
152973
152973
|
function computeFingerprintFromMessages(messages) {
|
|
152974
152974
|
const firstMessageText = extractFirstMessageText(messages);
|
|
152975
|
-
return computeFingerprint(firstMessageText, "0.9.
|
|
152975
|
+
return computeFingerprint(firstMessageText, "0.9.3");
|
|
152976
152976
|
}
|
|
152977
152977
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
152978
152978
|
var init_fingerprint = () => {};
|
|
@@ -153014,7 +153014,7 @@ async function sideQuery(opts) {
|
|
|
153014
153014
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
153015
153015
|
}
|
|
153016
153016
|
const messageText = extractFirstUserMessageText(messages);
|
|
153017
|
-
const fingerprint = computeFingerprint(messageText, "0.9.
|
|
153017
|
+
const fingerprint = computeFingerprint(messageText, "0.9.3");
|
|
153018
153018
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
153019
153019
|
const systemBlocks = [
|
|
153020
153020
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -154260,7 +154260,7 @@ var init_client2 = __esm(() => {
|
|
|
154260
154260
|
const client = new Client({
|
|
154261
154261
|
name: "claude-code",
|
|
154262
154262
|
title: "WenhaiCode",
|
|
154263
|
-
version: "0.9.
|
|
154263
|
+
version: "0.9.3",
|
|
154264
154264
|
description: "WenhaiCode — coding-agent CLI for any LLM provider",
|
|
154265
154265
|
websiteUrl: PRODUCT_URL
|
|
154266
154266
|
}, {
|
|
@@ -198677,7 +198677,7 @@ function getTelemetryAttributes() {
|
|
|
198677
198677
|
attributes["session.id"] = sessionId;
|
|
198678
198678
|
}
|
|
198679
198679
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
198680
|
-
attributes["app.version"] = "0.9.
|
|
198680
|
+
attributes["app.version"] = "0.9.3";
|
|
198681
198681
|
}
|
|
198682
198682
|
const oauthAccount = getOauthAccountInfo();
|
|
198683
198683
|
if (oauthAccount) {
|
|
@@ -274093,7 +274093,7 @@ function getAnthropicEnvMetadata() {
|
|
|
274093
274093
|
function getBuildAgeMinutes() {
|
|
274094
274094
|
if (false)
|
|
274095
274095
|
;
|
|
274096
|
-
const buildTime = new Date("2026-05-25T01:
|
|
274096
|
+
const buildTime = new Date("2026-05-25T01:43:44.055Z").getTime();
|
|
274097
274097
|
if (isNaN(buildTime))
|
|
274098
274098
|
return;
|
|
274099
274099
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -307195,7 +307195,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
307195
307195
|
init_settings2();
|
|
307196
307196
|
init_slowOperations();
|
|
307197
307197
|
init_uuid();
|
|
307198
|
-
VERSION6 = typeof MACRO !== "undefined" ? "0.9.
|
|
307198
|
+
VERSION6 = typeof MACRO !== "undefined" ? "0.9.3" : "unknown";
|
|
307199
307199
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
307200
307200
|
SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
307201
307201
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -308493,7 +308493,7 @@ var init_filesystem = __esm(() => {
|
|
|
308493
308493
|
});
|
|
308494
308494
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
308495
308495
|
const nonce = randomBytes7(16).toString("hex");
|
|
308496
|
-
return join79(getClaudeTempDir(), "bundled-skills", "0.9.
|
|
308496
|
+
return join79(getClaudeTempDir(), "bundled-skills", "0.9.3", nonce);
|
|
308497
308497
|
});
|
|
308498
308498
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
308499
308499
|
});
|
|
@@ -323679,7 +323679,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
323679
323679
|
slash_commands: inputs.commands.filter((c7) => c7.userInvocable !== false).map((c7) => c7.name),
|
|
323680
323680
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
323681
323681
|
betas: getSdkBetas2(),
|
|
323682
|
-
claude_code_version: "0.9.
|
|
323682
|
+
claude_code_version: "0.9.3",
|
|
323683
323683
|
output_style: outputStyle,
|
|
323684
323684
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
323685
323685
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -327693,4 +327693,4 @@ export {
|
|
|
327693
327693
|
AbortError
|
|
327694
327694
|
};
|
|
327695
327695
|
|
|
327696
|
-
//# debugId=
|
|
327696
|
+
//# debugId=EC31F7FF623D2D6B64756E2164756E21
|
package/package.json
CHANGED
package/src/entrypoints/sdk.d.ts
CHANGED