vivus-agent 1.1.44 → 1.1.46
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/dist/main.js +179 -181
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --max-old-space-size=8192 --expose-gc
|
|
2
2
|
// Vivus CLI — local AI coding agent
|
|
3
|
-
// Built from source at 2026-
|
|
3
|
+
// Built from source at 2026-10-04T07:23:29.838Z
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
var __create = Object.create;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -108228,7 +108228,7 @@ var init_auth = __esm(() => {
|
|
|
108228
108228
|
|
|
108229
108229
|
// src/utils/userAgent.ts
|
|
108230
108230
|
function getVivusCodeUserAgent() {
|
|
108231
|
-
return `vivus/${"1.1.
|
|
108231
|
+
return `vivus/${"1.1.46+5b07c76"}`;
|
|
108232
108232
|
}
|
|
108233
108233
|
|
|
108234
108234
|
// src/utils/workloadContext.ts
|
|
@@ -108250,7 +108250,7 @@ function getUserAgent() {
|
|
|
108250
108250
|
const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
|
|
108251
108251
|
const workload = getWorkload();
|
|
108252
108252
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
108253
|
-
return `vivus-cli/${"1.1.
|
|
108253
|
+
return `vivus-cli/${"1.1.46+5b07c76"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
108254
108254
|
}
|
|
108255
108255
|
function getMCPUserAgent() {
|
|
108256
108256
|
const parts = [];
|
|
@@ -108264,7 +108264,7 @@ function getMCPUserAgent() {
|
|
|
108264
108264
|
parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
|
|
108265
108265
|
}
|
|
108266
108266
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
108267
|
-
return `vivus/${"1.1.
|
|
108267
|
+
return `vivus/${"1.1.46+5b07c76"}${suffix}`;
|
|
108268
108268
|
}
|
|
108269
108269
|
function getWebFetchUserAgent() {
|
|
108270
108270
|
return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -108402,7 +108402,7 @@ var init_user = __esm(() => {
|
|
|
108402
108402
|
deviceId,
|
|
108403
108403
|
sessionId: getSessionId(),
|
|
108404
108404
|
email: getEmail(),
|
|
108405
|
-
appVersion: "1.1.
|
|
108405
|
+
appVersion: "1.1.46+5b07c76",
|
|
108406
108406
|
platform: getHostPlatformForAnalytics(),
|
|
108407
108407
|
organizationUuid,
|
|
108408
108408
|
accountUuid,
|
|
@@ -119713,7 +119713,7 @@ var init_metadata = __esm(() => {
|
|
|
119713
119713
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
119714
119714
|
WHITESPACE_REGEX = /\s+/;
|
|
119715
119715
|
getVersionBase = memoize_default(() => {
|
|
119716
|
-
const match = "1.1.
|
|
119716
|
+
const match = "1.1.46+5b07c76".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
119717
119717
|
return match ? match[0] : undefined;
|
|
119718
119718
|
});
|
|
119719
119719
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -119753,9 +119753,9 @@ var init_metadata = __esm(() => {
|
|
|
119753
119753
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
119754
119754
|
isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
|
|
119755
119755
|
isVivusAiAuth: isVivusAISubscriber(),
|
|
119756
|
-
version: "1.1.
|
|
119756
|
+
version: "1.1.46+5b07c76",
|
|
119757
119757
|
versionBase: getVersionBase(),
|
|
119758
|
-
buildTime: "2026-
|
|
119758
|
+
buildTime: "2026-10-04T07:23:29.276Z",
|
|
119759
119759
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
119760
119760
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
119761
119761
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -120423,7 +120423,7 @@ function initialize1PEventLogging() {
|
|
|
120423
120423
|
const platform2 = getPlatform();
|
|
120424
120424
|
const attributes = {
|
|
120425
120425
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
|
|
120426
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.
|
|
120426
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.46+5b07c76"
|
|
120427
120427
|
};
|
|
120428
120428
|
if (platform2 === "wsl") {
|
|
120429
120429
|
const wslVersion = getWslVersion();
|
|
@@ -120450,7 +120450,7 @@ function initialize1PEventLogging() {
|
|
|
120450
120450
|
})
|
|
120451
120451
|
]
|
|
120452
120452
|
});
|
|
120453
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
120453
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
|
|
120454
120454
|
}
|
|
120455
120455
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
120456
120456
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -162670,7 +162670,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
162670
162670
|
if (!isAttributionHeaderEnabled()) {
|
|
162671
162671
|
return "";
|
|
162672
162672
|
}
|
|
162673
|
-
const version2 = `${"1.1.
|
|
162673
|
+
const version2 = `${"1.1.46+5b07c76"}.${fingerprint}`;
|
|
162674
162674
|
const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
|
|
162675
162675
|
const cch = "";
|
|
162676
162676
|
const workload = getWorkload();
|
|
@@ -175833,7 +175833,7 @@ function getTelemetryAttributes() {
|
|
|
175833
175833
|
attributes["session.id"] = sessionId;
|
|
175834
175834
|
}
|
|
175835
175835
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
175836
|
-
attributes["app.version"] = "1.1.
|
|
175836
|
+
attributes["app.version"] = "1.1.46+5b07c76";
|
|
175837
175837
|
}
|
|
175838
175838
|
const oauthAccount = getOauthAccountInfo();
|
|
175839
175839
|
if (oauthAccount) {
|
|
@@ -242403,7 +242403,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
242403
242403
|
}
|
|
242404
242404
|
function computeFingerprintFromMessages(messages) {
|
|
242405
242405
|
const firstMessageText = extractFirstMessageText(messages);
|
|
242406
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
242406
|
+
return computeFingerprint(firstMessageText, "1.1.46+5b07c76");
|
|
242407
242407
|
}
|
|
242408
242408
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
242409
242409
|
var init_fingerprint = () => {};
|
|
@@ -242445,7 +242445,7 @@ async function sideQuery(opts) {
|
|
|
242445
242445
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
242446
242446
|
}
|
|
242447
242447
|
const messageText = extractFirstUserMessageText(messages);
|
|
242448
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
242448
|
+
const fingerprint = computeFingerprint(messageText, "1.1.46+5b07c76");
|
|
242449
242449
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
242450
242450
|
const systemBlocks = [
|
|
242451
242451
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -243597,7 +243597,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
243597
243597
|
const client2 = new Client({
|
|
243598
243598
|
name: "vivus",
|
|
243599
243599
|
title: "Vivus",
|
|
243600
|
-
version: "1.1.
|
|
243600
|
+
version: "1.1.46+5b07c76",
|
|
243601
243601
|
description: "Anthropic's agentic coding tool",
|
|
243602
243602
|
websiteUrl: PRODUCT_URL
|
|
243603
243603
|
}, {
|
|
@@ -243951,7 +243951,7 @@ var init_client6 = __esm(() => {
|
|
|
243951
243951
|
const client2 = new Client({
|
|
243952
243952
|
name: "vivus",
|
|
243953
243953
|
title: "Vivus",
|
|
243954
|
-
version: "1.1.
|
|
243954
|
+
version: "1.1.46+5b07c76",
|
|
243955
243955
|
description: "Anthropic's agentic coding tool",
|
|
243956
243956
|
websiteUrl: PRODUCT_URL
|
|
243957
243957
|
}, {
|
|
@@ -246012,7 +246012,7 @@ function getInstallationEnv() {
|
|
|
246012
246012
|
return;
|
|
246013
246013
|
}
|
|
246014
246014
|
function getVivusCodeVersion() {
|
|
246015
|
-
return "1.1.
|
|
246015
|
+
return "1.1.46+5b07c76";
|
|
246016
246016
|
}
|
|
246017
246017
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
246018
246018
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -302099,7 +302099,7 @@ async function initializeBetaTracing(resource) {
|
|
|
302099
302099
|
});
|
|
302100
302100
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
302101
302101
|
setLoggerProvider(loggerProvider);
|
|
302102
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
302102
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
|
|
302103
302103
|
setEventLogger(eventLogger);
|
|
302104
302104
|
process.on("beforeExit", async () => {
|
|
302105
302105
|
await loggerProvider?.forceFlush();
|
|
@@ -302139,7 +302139,7 @@ async function initializeTelemetry() {
|
|
|
302139
302139
|
const platform5 = getPlatform();
|
|
302140
302140
|
const baseAttributes = {
|
|
302141
302141
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
|
|
302142
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.
|
|
302142
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.46+5b07c76"
|
|
302143
302143
|
};
|
|
302144
302144
|
if (platform5 === "wsl") {
|
|
302145
302145
|
const wslVersion = getWslVersion();
|
|
@@ -302184,7 +302184,7 @@ async function initializeTelemetry() {
|
|
|
302184
302184
|
} catch {}
|
|
302185
302185
|
};
|
|
302186
302186
|
registerCleanup(shutdownTelemetry2);
|
|
302187
|
-
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.
|
|
302187
|
+
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.46+5b07c76");
|
|
302188
302188
|
}
|
|
302189
302189
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
302190
302190
|
resource,
|
|
@@ -302204,7 +302204,7 @@ async function initializeTelemetry() {
|
|
|
302204
302204
|
});
|
|
302205
302205
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
302206
302206
|
setLoggerProvider(loggerProvider);
|
|
302207
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
302207
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.46+5b07c76");
|
|
302208
302208
|
setEventLogger(eventLogger);
|
|
302209
302209
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
302210
302210
|
process.on("beforeExit", async () => {
|
|
@@ -302266,7 +302266,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
302266
302266
|
}
|
|
302267
302267
|
};
|
|
302268
302268
|
registerCleanup(shutdownTelemetry);
|
|
302269
|
-
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.
|
|
302269
|
+
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.46+5b07c76");
|
|
302270
302270
|
}
|
|
302271
302271
|
async function flushTelemetry() {
|
|
302272
302272
|
const meterProvider = getMeterProvider();
|
|
@@ -302952,9 +302952,9 @@ async function assertMinVersion() {
|
|
|
302952
302952
|
if (false) {}
|
|
302953
302953
|
try {
|
|
302954
302954
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
302955
|
-
if (versionConfig.minVersion && lt("1.1.
|
|
302955
|
+
if (versionConfig.minVersion && lt("1.1.46+5b07c76", versionConfig.minVersion)) {
|
|
302956
302956
|
console.error(`
|
|
302957
|
-
It looks like your version of Vivus (${"1.1.
|
|
302957
|
+
It looks like your version of Vivus (${"1.1.46+5b07c76"}) needs an update.
|
|
302958
302958
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
302959
302959
|
|
|
302960
302960
|
To update, please run:
|
|
@@ -303170,7 +303170,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
303170
303170
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
303171
303171
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
303172
303172
|
pid: process.pid,
|
|
303173
|
-
currentVersion: "1.1.
|
|
303173
|
+
currentVersion: "1.1.46+5b07c76"
|
|
303174
303174
|
});
|
|
303175
303175
|
return "in_progress";
|
|
303176
303176
|
}
|
|
@@ -303179,7 +303179,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
303179
303179
|
if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
|
|
303180
303180
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
303181
303181
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
303182
|
-
currentVersion: "1.1.
|
|
303182
|
+
currentVersion: "1.1.46+5b07c76"
|
|
303183
303183
|
});
|
|
303184
303184
|
console.error(`
|
|
303185
303185
|
Error: Windows NPM detected in WSL
|
|
@@ -303712,7 +303712,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
303712
303712
|
}
|
|
303713
303713
|
async function getDoctorDiagnostic() {
|
|
303714
303714
|
const installationType = await getCurrentInstallationType();
|
|
303715
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
303715
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
|
|
303716
303716
|
const installationPath = await getInstallationPath();
|
|
303717
303717
|
const invokedBinary = getInvokedBinary();
|
|
303718
303718
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -304645,8 +304645,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
304645
304645
|
const maxVersion = await getMaxVersion();
|
|
304646
304646
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
304647
304647
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
304648
|
-
if (gte("1.1.
|
|
304649
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
304648
|
+
if (gte("1.1.46+5b07c76", maxVersion)) {
|
|
304649
|
+
logForDebugging(`Native installer: current version ${"1.1.46+5b07c76"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
304650
304650
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
304651
304651
|
latency_ms: Date.now() - startTime,
|
|
304652
304652
|
max_version: maxVersion,
|
|
@@ -304657,7 +304657,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
304657
304657
|
version2 = maxVersion;
|
|
304658
304658
|
}
|
|
304659
304659
|
}
|
|
304660
|
-
if (!forceReinstall && version2 === "1.1.
|
|
304660
|
+
if (!forceReinstall && version2 === "1.1.46+5b07c76" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
|
|
304661
304661
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
304662
304662
|
logEvent("tengu_native_update_complete", {
|
|
304663
304663
|
latency_ms: Date.now() - startTime,
|
|
@@ -327595,7 +327595,7 @@ function TurnDurationMessage(t0) {
|
|
|
327595
327595
|
} else {
|
|
327596
327596
|
t6 = $2[8];
|
|
327597
327597
|
}
|
|
327598
|
-
const t7 = showTurnDuration && `${verb} for ${duration3}`;
|
|
327598
|
+
const t7 = showTurnDuration && `${verb} for ${duration3} · ${new Date(message.timestamp).toLocaleString(undefined, { year: "numeric", month: "short", day: "numeric", hour: "numeric", minute: "2-digit" })}`;
|
|
327599
327599
|
const t8 = backgroundTaskSummary && ` · ${backgroundTaskSummary} still running`;
|
|
327600
327600
|
let t9;
|
|
327601
327601
|
if ($2[9] !== budgetSuffix || $2[10] !== t7 || $2[11] !== t8) {
|
|
@@ -361951,7 +361951,7 @@ function getAnthropicEnvMetadata() {
|
|
|
361951
361951
|
function getBuildAgeMinutes() {
|
|
361952
361952
|
if (false)
|
|
361953
361953
|
;
|
|
361954
|
-
const buildTime = new Date("2026-
|
|
361954
|
+
const buildTime = new Date("2026-10-04T07:23:29.276Z").getTime();
|
|
361955
361955
|
if (isNaN(buildTime))
|
|
361956
361956
|
return;
|
|
361957
361957
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -410104,7 +410104,7 @@ var init_filesystem = __esm(() => {
|
|
|
410104
410104
|
});
|
|
410105
410105
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
410106
410106
|
const nonce = randomBytes17(16).toString("hex");
|
|
410107
|
-
return join108(getVivusTempDir(), "bundled-skills", "1.1.
|
|
410107
|
+
return join108(getVivusTempDir(), "bundled-skills", "1.1.46+5b07c76", nonce);
|
|
410108
410108
|
});
|
|
410109
410109
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
410110
410110
|
});
|
|
@@ -411864,7 +411864,7 @@ function Feedback({
|
|
|
411864
411864
|
platform: env3.platform,
|
|
411865
411865
|
gitRepo: envInfo.isGit,
|
|
411866
411866
|
terminal: env3.terminal,
|
|
411867
|
-
version: "1.1.
|
|
411867
|
+
version: "1.1.46+5b07c76",
|
|
411868
411868
|
transcript: normalizeMessagesForAPI(messages),
|
|
411869
411869
|
errors: sanitizedErrors,
|
|
411870
411870
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -412056,7 +412056,7 @@ function Feedback({
|
|
|
412056
412056
|
", ",
|
|
412057
412057
|
env3.terminal,
|
|
412058
412058
|
", v",
|
|
412059
|
-
"1.1.
|
|
412059
|
+
"1.1.46+5b07c76"
|
|
412060
412060
|
]
|
|
412061
412061
|
}, undefined, true, undefined, this)
|
|
412062
412062
|
]
|
|
@@ -412162,7 +412162,7 @@ ${sanitizedDescription}
|
|
|
412162
412162
|
` + `**Environment Info**
|
|
412163
412163
|
` + `- Platform: ${env3.platform}
|
|
412164
412164
|
` + `- Terminal: ${env3.terminal}
|
|
412165
|
-
` + `- Version: ${"1.1.
|
|
412165
|
+
` + `- Version: ${"1.1.46+5b07c76"}
|
|
412166
412166
|
` + `- Feedback ID: ${feedbackId}
|
|
412167
412167
|
` + `
|
|
412168
412168
|
**Errors**
|
|
@@ -415294,7 +415294,7 @@ function buildPrimarySection() {
|
|
|
415294
415294
|
}, undefined, false, undefined, this);
|
|
415295
415295
|
return [{
|
|
415296
415296
|
label: "Version",
|
|
415297
|
-
value: "1.1.
|
|
415297
|
+
value: "1.1.46+5b07c76"
|
|
415298
415298
|
}, {
|
|
415299
415299
|
label: "Session name",
|
|
415300
415300
|
value: nameValue
|
|
@@ -416060,6 +416060,90 @@ var init_ThemePicker = __esm(() => {
|
|
|
416060
416060
|
jsx_dev_runtime172 = __toESM(require_jsx_dev_runtime(), 1);
|
|
416061
416061
|
});
|
|
416062
416062
|
|
|
416063
|
+
// src/utils/model/proxyModelOptions.ts
|
|
416064
|
+
function isProxyModelOptionsEligible() {
|
|
416065
|
+
if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
|
|
416066
|
+
return false;
|
|
416067
|
+
return isUsingProxyBaseUrl();
|
|
416068
|
+
}
|
|
416069
|
+
function formatContextWindow(n2) {
|
|
416070
|
+
const t = typeof n2 === "number" ? n2 : Number(n2);
|
|
416071
|
+
if (!t || t <= 0)
|
|
416072
|
+
return "";
|
|
416073
|
+
if (t >= 1e6)
|
|
416074
|
+
return `${(t / 1048576).toFixed(t % 1048576 ? 1 : 0)}M`;
|
|
416075
|
+
if (t >= 1000)
|
|
416076
|
+
return `${Math.round(t / 1024)}K`;
|
|
416077
|
+
return String(t);
|
|
416078
|
+
}
|
|
416079
|
+
function humanizeModelId(id) {
|
|
416080
|
+
try {
|
|
416081
|
+
let base2 = id.split("/").pop() ?? id;
|
|
416082
|
+
base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
|
|
416083
|
+
const label = base2.split(/[-.]/).filter(Boolean).map((tok) => /^\d+[a-z]+$/i.test(tok) ? `(${tok.toUpperCase()})` : tok.charAt(0).toUpperCase() + tok.slice(1)).join(" ").trim();
|
|
416084
|
+
return label || id;
|
|
416085
|
+
} catch {
|
|
416086
|
+
return id;
|
|
416087
|
+
}
|
|
416088
|
+
}
|
|
416089
|
+
async function refreshProxyModelOptions() {
|
|
416090
|
+
if (!isProxyModelOptionsEligible())
|
|
416091
|
+
return;
|
|
416092
|
+
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
|
416093
|
+
try {
|
|
416094
|
+
const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
|
|
416095
|
+
const apiKey = process.env.ANTHROPIC_API_KEY || "";
|
|
416096
|
+
const resp = await fetch(url3, {
|
|
416097
|
+
headers: apiKey ? { "x-api-key": apiKey } : {},
|
|
416098
|
+
signal: AbortSignal.timeout(8000)
|
|
416099
|
+
});
|
|
416100
|
+
if (!resp.ok) {
|
|
416101
|
+
logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
|
|
416102
|
+
return;
|
|
416103
|
+
}
|
|
416104
|
+
const body = await resp.json();
|
|
416105
|
+
if (!Array.isArray(body.data))
|
|
416106
|
+
return;
|
|
416107
|
+
const options2 = [];
|
|
416108
|
+
const seen = new Set;
|
|
416109
|
+
for (const raw of body.data) {
|
|
416110
|
+
const entry = raw;
|
|
416111
|
+
const id = typeof entry.id === "string" ? entry.id : "";
|
|
416112
|
+
if (!id || seen.has(id))
|
|
416113
|
+
continue;
|
|
416114
|
+
seen.add(id);
|
|
416115
|
+
const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
|
|
416116
|
+
const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
|
|
416117
|
+
const ctx = formatContextWindow(entry.max_input_tokens);
|
|
416118
|
+
const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
|
|
416119
|
+
const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
|
|
416120
|
+
const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
|
|
416121
|
+
options2.push({ value: id, label, description });
|
|
416122
|
+
}
|
|
416123
|
+
if (options2.length === 0)
|
|
416124
|
+
return;
|
|
416125
|
+
const config3 = getGlobalConfig();
|
|
416126
|
+
if (isEqual_default(config3.additionalModelOptionsCache, options2)) {
|
|
416127
|
+
logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
|
|
416128
|
+
return;
|
|
416129
|
+
}
|
|
416130
|
+
saveGlobalConfig((current) => ({
|
|
416131
|
+
...current,
|
|
416132
|
+
additionalModelOptionsCache: options2
|
|
416133
|
+
}));
|
|
416134
|
+
logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
|
|
416135
|
+
} catch (error41) {
|
|
416136
|
+
logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
|
|
416137
|
+
}
|
|
416138
|
+
}
|
|
416139
|
+
var init_proxyModelOptions = __esm(() => {
|
|
416140
|
+
init_isEqual();
|
|
416141
|
+
init_config();
|
|
416142
|
+
init_debug();
|
|
416143
|
+
init_envUtils();
|
|
416144
|
+
init_providers();
|
|
416145
|
+
});
|
|
416146
|
+
|
|
416063
416147
|
// src/components/EffortIndicator.ts
|
|
416064
416148
|
function getEffortNotificationText(effortValue, model) {
|
|
416065
416149
|
if (!modelSupportsEffort(model))
|
|
@@ -416115,16 +416199,12 @@ function ModelPicker(t0) {
|
|
|
416115
416199
|
t1 = $2[1];
|
|
416116
416200
|
}
|
|
416117
416201
|
const [effort, setEffort] = import_react100.useState(t1);
|
|
416202
|
+
const [modelOptionsRefreshTick, setModelOptionsRefreshTick] = import_react100.useState(0);
|
|
416203
|
+
import_react100.useEffect(() => {
|
|
416204
|
+
refreshProxyModelOptions().then(() => setModelOptionsRefreshTick((tick) => tick + 1));
|
|
416205
|
+
}, []);
|
|
416118
416206
|
const t2 = isFastMode ?? false;
|
|
416119
|
-
|
|
416120
|
-
if ($2[2] !== t2) {
|
|
416121
|
-
t3 = getModelOptions(t2);
|
|
416122
|
-
$2[2] = t2;
|
|
416123
|
-
$2[3] = t3;
|
|
416124
|
-
} else {
|
|
416125
|
-
t3 = $2[3];
|
|
416126
|
-
}
|
|
416127
|
-
const modelOptions = t3;
|
|
416207
|
+
const modelOptions = import_react100.useMemo(() => getModelOptions(t2), [t2, modelOptionsRefreshTick]);
|
|
416128
416208
|
let t4;
|
|
416129
416209
|
bb0: {
|
|
416130
416210
|
if (initial !== null && !modelOptions.some((opt) => opt.value === initial)) {
|
|
@@ -416660,6 +416740,7 @@ var init_ModelPicker = __esm(() => {
|
|
|
416660
416740
|
init_effort();
|
|
416661
416741
|
init_model();
|
|
416662
416742
|
init_modelOptions();
|
|
416743
|
+
init_proxyModelOptions();
|
|
416663
416744
|
init_settings2();
|
|
416664
416745
|
init_ConfigurableShortcutHint();
|
|
416665
416746
|
init_CustomSelect();
|
|
@@ -419076,7 +419157,7 @@ function Config({
|
|
|
419076
419157
|
}
|
|
419077
419158
|
}, undefined, false, undefined, this)
|
|
419078
419159
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
419079
|
-
currentVersion: "1.1.
|
|
419160
|
+
currentVersion: "1.1.46+5b07c76",
|
|
419080
419161
|
onChoice: (choice) => {
|
|
419081
419162
|
setShowSubmenu(null);
|
|
419082
419163
|
setTabsHidden(false);
|
|
@@ -419088,7 +419169,7 @@ function Config({
|
|
|
419088
419169
|
autoUpdatesChannel: "stable"
|
|
419089
419170
|
};
|
|
419090
419171
|
if (choice === "stay") {
|
|
419091
|
-
newSettings.minimumVersion = "1.1.
|
|
419172
|
+
newSettings.minimumVersion = "1.1.46+5b07c76";
|
|
419092
419173
|
}
|
|
419093
419174
|
updateSettingsForSource("userSettings", newSettings);
|
|
419094
419175
|
setSettingsData((prev_27) => ({
|
|
@@ -427283,7 +427364,7 @@ function HelpV2(t0) {
|
|
|
427283
427364
|
let t6;
|
|
427284
427365
|
if ($2[31] !== tabs) {
|
|
427285
427366
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
427286
|
-
title: `Vivus v${"1.1.
|
|
427367
|
+
title: `Vivus v${"1.1.46+5b07c76"}`,
|
|
427287
427368
|
color: "professionalBlue",
|
|
427288
427369
|
defaultTab: "general",
|
|
427289
427370
|
children: tabs
|
|
@@ -451509,7 +451590,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
451509
451590
|
return [];
|
|
451510
451591
|
}
|
|
451511
451592
|
}
|
|
451512
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
451593
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.46+5b07c76") {
|
|
451513
451594
|
if (process.env.USER_TYPE === "ant") {
|
|
451514
451595
|
const changelog = "";
|
|
451515
451596
|
if (changelog) {
|
|
@@ -451536,7 +451617,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.44+c2
|
|
|
451536
451617
|
releaseNotes
|
|
451537
451618
|
};
|
|
451538
451619
|
}
|
|
451539
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
451620
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.46+5b07c76") {
|
|
451540
451621
|
if (process.env.USER_TYPE === "ant") {
|
|
451541
451622
|
const changelog = "";
|
|
451542
451623
|
if (changelog) {
|
|
@@ -452706,7 +452787,7 @@ function getRecentActivitySync() {
|
|
|
452706
452787
|
return cachedActivity;
|
|
452707
452788
|
}
|
|
452708
452789
|
function getLogoDisplayData() {
|
|
452709
|
-
const version2 = process.env.DEMO_VERSION ?? "1.1.
|
|
452790
|
+
const version2 = process.env.DEMO_VERSION ?? "1.1.46+5b07c76";
|
|
452710
452791
|
const serverUrl = getDirectConnectServerUrl();
|
|
452711
452792
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
452712
452793
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -454233,7 +454314,7 @@ function LogoV2() {
|
|
|
454233
454314
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
454234
454315
|
t2 = () => {
|
|
454235
454316
|
const currentConfig = getGlobalConfig();
|
|
454236
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
454317
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.46+5b07c76") {
|
|
454237
454318
|
return;
|
|
454238
454319
|
}
|
|
454239
454320
|
saveGlobalConfig(_temp329);
|
|
@@ -454909,12 +454990,12 @@ function LogoV2() {
|
|
|
454909
454990
|
return t41;
|
|
454910
454991
|
}
|
|
454911
454992
|
function _temp329(current) {
|
|
454912
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
454993
|
+
if (current.lastReleaseNotesSeen === "1.1.46+5b07c76") {
|
|
454913
454994
|
return current;
|
|
454914
454995
|
}
|
|
454915
454996
|
return {
|
|
454916
454997
|
...current,
|
|
454917
|
-
lastReleaseNotesSeen: "1.1.
|
|
454998
|
+
lastReleaseNotesSeen: "1.1.46+5b07c76"
|
|
454918
454999
|
};
|
|
454919
455000
|
}
|
|
454920
455001
|
function _temp245(s_0) {
|
|
@@ -481216,7 +481297,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
481216
481297
|
smapsRollup,
|
|
481217
481298
|
platform: process.platform,
|
|
481218
481299
|
nodeVersion: process.version,
|
|
481219
|
-
ccVersion: "1.1.
|
|
481300
|
+
ccVersion: "1.1.46+5b07c76"
|
|
481220
481301
|
};
|
|
481221
481302
|
}
|
|
481222
481303
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -481802,7 +481883,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
481802
481883
|
var call56 = async () => {
|
|
481803
481884
|
return {
|
|
481804
481885
|
type: "text",
|
|
481805
|
-
value: `${"1.1.
|
|
481886
|
+
value: `${"1.1.46+5b07c76"} (built ${"2026-10-04T07:23:29.276Z"})`
|
|
481806
481887
|
};
|
|
481807
481888
|
}, version2, version_default;
|
|
481808
481889
|
var init_version = __esm(() => {
|
|
@@ -491122,7 +491203,7 @@ function generateHtmlReport(data, insights) {
|
|
|
491122
491203
|
</html>`;
|
|
491123
491204
|
}
|
|
491124
491205
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
491125
|
-
const version3 = typeof MACRO !== "undefined" ? "1.1.
|
|
491206
|
+
const version3 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
|
|
491126
491207
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
491127
491208
|
const facets_summary = {
|
|
491128
491209
|
total: facets.size,
|
|
@@ -495234,7 +495315,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
495234
495315
|
init_settings2();
|
|
495235
495316
|
init_slowOperations();
|
|
495236
495317
|
init_uuid();
|
|
495237
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.1.
|
|
495318
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.1.46+5b07c76" : "unknown";
|
|
495238
495319
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
495239
495320
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
495240
495321
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -498106,7 +498187,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
498106
498187
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
498107
498188
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
498108
498189
|
betas: getSdkBetas(),
|
|
498109
|
-
vivus_code_version: "1.1.
|
|
498190
|
+
vivus_code_version: "1.1.46+5b07c76",
|
|
498110
498191
|
output_style: outputStyle2,
|
|
498111
498192
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
498112
498193
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -512818,7 +512899,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
512818
512899
|
function getSemverPart(version3) {
|
|
512819
512900
|
return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
|
|
512820
512901
|
}
|
|
512821
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
512902
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.46+5b07c76") {
|
|
512822
512903
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
512823
512904
|
if (!updatedVersion) {
|
|
512824
512905
|
return null;
|
|
@@ -512858,7 +512939,7 @@ function AutoUpdater({
|
|
|
512858
512939
|
return;
|
|
512859
512940
|
}
|
|
512860
512941
|
if (false) {}
|
|
512861
|
-
const currentVersion = "1.1.
|
|
512942
|
+
const currentVersion = "1.1.46+5b07c76";
|
|
512862
512943
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
512863
512944
|
let latestVersion = await getLatestVersion(channel);
|
|
512864
512945
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -513071,12 +513152,12 @@ function NativeAutoUpdater({
|
|
|
513071
513152
|
logEvent("tengu_native_auto_updater_start", {});
|
|
513072
513153
|
try {
|
|
513073
513154
|
const maxVersion = await getMaxVersion();
|
|
513074
|
-
if (maxVersion && gt("1.1.
|
|
513155
|
+
if (maxVersion && gt("1.1.46+5b07c76", maxVersion)) {
|
|
513075
513156
|
const msg = await getMaxVersionMessage();
|
|
513076
513157
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
513077
513158
|
}
|
|
513078
513159
|
const result = await installLatest(channel);
|
|
513079
|
-
const currentVersion = "1.1.
|
|
513160
|
+
const currentVersion = "1.1.46+5b07c76";
|
|
513080
513161
|
const latencyMs = Date.now() - startTime;
|
|
513081
513162
|
if (result.lockFailed) {
|
|
513082
513163
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -513213,17 +513294,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
513213
513294
|
const maxVersion = await getMaxVersion();
|
|
513214
513295
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
513215
513296
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
513216
|
-
if (gte("1.1.
|
|
513217
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
513297
|
+
if (gte("1.1.46+5b07c76", maxVersion)) {
|
|
513298
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.46+5b07c76"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
513218
513299
|
setUpdateAvailable(false);
|
|
513219
513300
|
return;
|
|
513220
513301
|
}
|
|
513221
513302
|
latest = maxVersion;
|
|
513222
513303
|
}
|
|
513223
|
-
const hasUpdate = latest && !gte("1.1.
|
|
513304
|
+
const hasUpdate = latest && !gte("1.1.46+5b07c76", latest) && !shouldSkipVersion(latest);
|
|
513224
513305
|
setUpdateAvailable(!!hasUpdate);
|
|
513225
513306
|
if (hasUpdate) {
|
|
513226
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
513307
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.46+5b07c76"} -> ${latest}`);
|
|
513227
513308
|
}
|
|
513228
513309
|
};
|
|
513229
513310
|
$2[0] = t1;
|
|
@@ -513257,7 +513338,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
513257
513338
|
wrap: "truncate",
|
|
513258
513339
|
children: [
|
|
513259
513340
|
"currentVersion: ",
|
|
513260
|
-
"1.1.
|
|
513341
|
+
"1.1.46+5b07c76"
|
|
513261
513342
|
]
|
|
513262
513343
|
}, undefined, true, undefined, this);
|
|
513263
513344
|
$2[3] = verbose;
|
|
@@ -521441,7 +521522,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
521441
521522
|
project_dir: getOriginalCwd(),
|
|
521442
521523
|
added_dirs: addedDirs
|
|
521443
521524
|
},
|
|
521444
|
-
version: "1.1.
|
|
521525
|
+
version: "1.1.46+5b07c76",
|
|
521445
521526
|
output_style: {
|
|
521446
521527
|
name: outputStyleName
|
|
521447
521528
|
},
|
|
@@ -533093,7 +533174,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
533093
533174
|
} catch {}
|
|
533094
533175
|
const data = {
|
|
533095
533176
|
trigger,
|
|
533096
|
-
version: "1.1.
|
|
533177
|
+
version: "1.1.46+5b07c76",
|
|
533097
533178
|
platform: process.platform,
|
|
533098
533179
|
transcript,
|
|
533099
533180
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -544564,7 +544645,7 @@ function WelcomeV2() {
|
|
|
544564
544645
|
dimColor: true,
|
|
544565
544646
|
children: [
|
|
544566
544647
|
"v",
|
|
544567
|
-
"1.1.
|
|
544648
|
+
"1.1.46+5b07c76",
|
|
544568
544649
|
" "
|
|
544569
544650
|
]
|
|
544570
544651
|
}, undefined, true, undefined, this)
|
|
@@ -544764,7 +544845,7 @@ function WelcomeV2() {
|
|
|
544764
544845
|
dimColor: true,
|
|
544765
544846
|
children: [
|
|
544766
544847
|
"v",
|
|
544767
|
-
"1.1.
|
|
544848
|
+
"1.1.46+5b07c76",
|
|
544768
544849
|
" "
|
|
544769
544850
|
]
|
|
544770
544851
|
}, undefined, true, undefined, this)
|
|
@@ -544990,7 +545071,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
544990
545071
|
dimColor: true,
|
|
544991
545072
|
children: [
|
|
544992
545073
|
"v",
|
|
544993
|
-
"1.1.
|
|
545074
|
+
"1.1.46+5b07c76",
|
|
544994
545075
|
" "
|
|
544995
545076
|
]
|
|
544996
545077
|
}, undefined, true, undefined, this);
|
|
@@ -545244,7 +545325,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
545244
545325
|
dimColor: true,
|
|
545245
545326
|
children: [
|
|
545246
545327
|
"v",
|
|
545247
|
-
"1.1.
|
|
545328
|
+
"1.1.46+5b07c76",
|
|
545248
545329
|
" "
|
|
545249
545330
|
]
|
|
545250
545331
|
}, undefined, true, undefined, this);
|
|
@@ -548317,7 +548398,7 @@ function appendToLog(path25, message) {
|
|
|
548317
548398
|
cwd: getFsImplementation().cwd(),
|
|
548318
548399
|
userType: process.env.USER_TYPE,
|
|
548319
548400
|
sessionId: getSessionId(),
|
|
548320
|
-
version: "1.1.
|
|
548401
|
+
version: "1.1.46+5b07c76"
|
|
548321
548402
|
};
|
|
548322
548403
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
548323
548404
|
}
|
|
@@ -552312,8 +552393,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
552312
552393
|
}
|
|
552313
552394
|
async function checkEnvLessBridgeMinVersion() {
|
|
552314
552395
|
const cfg = await getEnvLessBridgeConfig();
|
|
552315
|
-
if (cfg.min_version && lt("1.1.
|
|
552316
|
-
return `Your version of Vivus (${"1.1.
|
|
552396
|
+
if (cfg.min_version && lt("1.1.46+5b07c76", cfg.min_version)) {
|
|
552397
|
+
return `Your version of Vivus (${"1.1.46+5b07c76"}) is too old for Remote Control.
|
|
552317
552398
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
552318
552399
|
}
|
|
552319
552400
|
return null;
|
|
@@ -552787,7 +552868,7 @@ async function initBridgeCore(params) {
|
|
|
552787
552868
|
const rawApi = createBridgeApiClient({
|
|
552788
552869
|
baseUrl,
|
|
552789
552870
|
getAccessToken,
|
|
552790
|
-
runnerVersion: "1.1.
|
|
552871
|
+
runnerVersion: "1.1.46+5b07c76",
|
|
552791
552872
|
onDebug: logForDebugging,
|
|
552792
552873
|
onAuth401,
|
|
552793
552874
|
getTrustedDeviceToken
|
|
@@ -558466,7 +558547,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
558466
558547
|
setCwd(cwd3);
|
|
558467
558548
|
const server = new Server({
|
|
558468
558549
|
name: "vivus/tengu",
|
|
558469
|
-
version: "1.1.
|
|
558550
|
+
version: "1.1.46+5b07c76"
|
|
558470
558551
|
}, {
|
|
558471
558552
|
capabilities: {
|
|
558472
558553
|
tools: {}
|
|
@@ -560199,7 +560280,7 @@ __export(exports_update, {
|
|
|
560199
560280
|
});
|
|
560200
560281
|
async function update() {
|
|
560201
560282
|
logEvent("tengu_update_check", {});
|
|
560202
|
-
writeToStdout(`Current version: ${"1.1.
|
|
560283
|
+
writeToStdout(`Current version: ${"1.1.46+5b07c76"}
|
|
560203
560284
|
`);
|
|
560204
560285
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
560205
560286
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -560274,8 +560355,8 @@ async function update() {
|
|
|
560274
560355
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
560275
560356
|
`);
|
|
560276
560357
|
const latest = await getLatestVersion(channel);
|
|
560277
|
-
if (latest && !gte("1.1.
|
|
560278
|
-
writeToStdout(`Update available: ${"1.1.
|
|
560358
|
+
if (latest && !gte("1.1.46+5b07c76", latest)) {
|
|
560359
|
+
writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
|
|
560279
560360
|
`);
|
|
560280
560361
|
writeToStdout(`
|
|
560281
560362
|
`);
|
|
@@ -560291,8 +560372,8 @@ async function update() {
|
|
|
560291
560372
|
writeToStdout(`Vivus is managed by winget.
|
|
560292
560373
|
`);
|
|
560293
560374
|
const latest = await getLatestVersion(channel);
|
|
560294
|
-
if (latest && !gte("1.1.
|
|
560295
|
-
writeToStdout(`Update available: ${"1.1.
|
|
560375
|
+
if (latest && !gte("1.1.46+5b07c76", latest)) {
|
|
560376
|
+
writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
|
|
560296
560377
|
`);
|
|
560297
560378
|
writeToStdout(`
|
|
560298
560379
|
`);
|
|
@@ -560308,8 +560389,8 @@ async function update() {
|
|
|
560308
560389
|
writeToStdout(`Vivus is managed by apk.
|
|
560309
560390
|
`);
|
|
560310
560391
|
const latest = await getLatestVersion(channel);
|
|
560311
|
-
if (latest && !gte("1.1.
|
|
560312
|
-
writeToStdout(`Update available: ${"1.1.
|
|
560392
|
+
if (latest && !gte("1.1.46+5b07c76", latest)) {
|
|
560393
|
+
writeToStdout(`Update available: ${"1.1.46+5b07c76"} → ${latest}
|
|
560313
560394
|
`);
|
|
560314
560395
|
writeToStdout(`
|
|
560315
560396
|
`);
|
|
@@ -560374,11 +560455,11 @@ async function update() {
|
|
|
560374
560455
|
`);
|
|
560375
560456
|
await gracefulShutdown(1);
|
|
560376
560457
|
}
|
|
560377
|
-
if (result.latestVersion === "1.1.
|
|
560378
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
560458
|
+
if (result.latestVersion === "1.1.46+5b07c76") {
|
|
560459
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.46+5b07c76"})`) + `
|
|
560379
560460
|
`);
|
|
560380
560461
|
} else {
|
|
560381
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
560462
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.46+5b07c76"} to version ${result.latestVersion}`) + `
|
|
560382
560463
|
`);
|
|
560383
560464
|
await regenerateCompletionCache();
|
|
560384
560465
|
}
|
|
@@ -560435,12 +560516,12 @@ async function update() {
|
|
|
560435
560516
|
`);
|
|
560436
560517
|
await gracefulShutdown(1);
|
|
560437
560518
|
}
|
|
560438
|
-
if (latestVersion === "1.1.
|
|
560439
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
560519
|
+
if (latestVersion === "1.1.46+5b07c76") {
|
|
560520
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.46+5b07c76"})`) + `
|
|
560440
560521
|
`);
|
|
560441
560522
|
await gracefulShutdown(0);
|
|
560442
560523
|
}
|
|
560443
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
560524
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.46+5b07c76"})
|
|
560444
560525
|
`);
|
|
560445
560526
|
writeToStdout(`Installing update...
|
|
560446
560527
|
`);
|
|
@@ -560485,7 +560566,7 @@ async function update() {
|
|
|
560485
560566
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
560486
560567
|
switch (status2) {
|
|
560487
560568
|
case "success":
|
|
560488
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
560569
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.46+5b07c76"} to version ${latestVersion}`) + `
|
|
560489
560570
|
`);
|
|
560490
560571
|
await regenerateCompletionCache();
|
|
560491
560572
|
break;
|
|
@@ -561459,7 +561540,7 @@ function completeOnboarding() {
|
|
|
561459
561540
|
saveGlobalConfig((current) => ({
|
|
561460
561541
|
...current,
|
|
561461
561542
|
hasCompletedOnboarding: true,
|
|
561462
|
-
lastOnboardingVersion: "1.1.
|
|
561543
|
+
lastOnboardingVersion: "1.1.46+5b07c76"
|
|
561463
561544
|
}));
|
|
561464
561545
|
}
|
|
561465
561546
|
function showDialog(root2, renderer) {
|
|
@@ -564023,90 +564104,7 @@ init_fsOperations();
|
|
|
564023
564104
|
init_gracefulShutdown();
|
|
564024
564105
|
init_hookEvents();
|
|
564025
564106
|
init_modelCapabilities();
|
|
564026
|
-
|
|
564027
|
-
// src/utils/model/proxyModelOptions.ts
|
|
564028
|
-
init_isEqual();
|
|
564029
|
-
init_config();
|
|
564030
|
-
init_debug();
|
|
564031
|
-
init_envUtils();
|
|
564032
|
-
init_providers();
|
|
564033
|
-
function isProxyModelOptionsEligible() {
|
|
564034
|
-
if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
|
|
564035
|
-
return false;
|
|
564036
|
-
return isUsingProxyBaseUrl();
|
|
564037
|
-
}
|
|
564038
|
-
function formatContextWindow(n3) {
|
|
564039
|
-
const t = typeof n3 === "number" ? n3 : Number(n3);
|
|
564040
|
-
if (!t || t <= 0)
|
|
564041
|
-
return "";
|
|
564042
|
-
if (t >= 1e6)
|
|
564043
|
-
return `${(t / 1048576).toFixed(t % 1048576 ? 1 : 0)}M`;
|
|
564044
|
-
if (t >= 1000)
|
|
564045
|
-
return `${Math.round(t / 1024)}K`;
|
|
564046
|
-
return String(t);
|
|
564047
|
-
}
|
|
564048
|
-
function humanizeModelId(id) {
|
|
564049
|
-
try {
|
|
564050
|
-
let base2 = id.split("/").pop() ?? id;
|
|
564051
|
-
base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
|
|
564052
|
-
const label = base2.split(/[-.]/).filter(Boolean).map((tok) => /^\d+[a-z]+$/i.test(tok) ? `(${tok.toUpperCase()})` : tok.charAt(0).toUpperCase() + tok.slice(1)).join(" ").trim();
|
|
564053
|
-
return label || id;
|
|
564054
|
-
} catch {
|
|
564055
|
-
return id;
|
|
564056
|
-
}
|
|
564057
|
-
}
|
|
564058
|
-
async function refreshProxyModelOptions() {
|
|
564059
|
-
if (!isProxyModelOptionsEligible())
|
|
564060
|
-
return;
|
|
564061
|
-
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
|
564062
|
-
try {
|
|
564063
|
-
const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
|
|
564064
|
-
const apiKey = process.env.ANTHROPIC_API_KEY || "";
|
|
564065
|
-
const resp = await fetch(url3, {
|
|
564066
|
-
headers: apiKey ? { "x-api-key": apiKey } : {},
|
|
564067
|
-
signal: AbortSignal.timeout(8000)
|
|
564068
|
-
});
|
|
564069
|
-
if (!resp.ok) {
|
|
564070
|
-
logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
|
|
564071
|
-
return;
|
|
564072
|
-
}
|
|
564073
|
-
const body = await resp.json();
|
|
564074
|
-
if (!Array.isArray(body.data))
|
|
564075
|
-
return;
|
|
564076
|
-
const options2 = [];
|
|
564077
|
-
const seen = new Set;
|
|
564078
|
-
for (const raw of body.data) {
|
|
564079
|
-
const entry = raw;
|
|
564080
|
-
const id = typeof entry.id === "string" ? entry.id : "";
|
|
564081
|
-
if (!id || seen.has(id))
|
|
564082
|
-
continue;
|
|
564083
|
-
seen.add(id);
|
|
564084
|
-
const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
|
|
564085
|
-
const baseDesc = typeof entry.description === "string" && entry.description !== "Custom model" ? entry.description : "";
|
|
564086
|
-
const ctx = formatContextWindow(entry.max_input_tokens);
|
|
564087
|
-
const sizeNum = typeof entry.size_gb === "string" || typeof entry.size_gb === "number" ? Number(entry.size_gb) : NaN;
|
|
564088
|
-
const size = Number.isFinite(sizeNum) && sizeNum > 0 ? `${entry.size_gb}GB` : "";
|
|
564089
|
-
const description = [baseDesc, ctx ? `${ctx} context` : "", size].filter(Boolean).join(" · ") || "Custom model";
|
|
564090
|
-
options2.push({ value: id, label, description });
|
|
564091
|
-
}
|
|
564092
|
-
if (options2.length === 0)
|
|
564093
|
-
return;
|
|
564094
|
-
const config4 = getGlobalConfig();
|
|
564095
|
-
if (isEqual_default(config4.additionalModelOptionsCache, options2)) {
|
|
564096
|
-
logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
|
|
564097
|
-
return;
|
|
564098
|
-
}
|
|
564099
|
-
saveGlobalConfig((current) => ({
|
|
564100
|
-
...current,
|
|
564101
|
-
additionalModelOptionsCache: options2
|
|
564102
|
-
}));
|
|
564103
|
-
logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
|
|
564104
|
-
} catch (error41) {
|
|
564105
|
-
logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
|
|
564106
|
-
}
|
|
564107
|
-
}
|
|
564108
|
-
|
|
564109
|
-
// src/main.tsx
|
|
564107
|
+
init_proxyModelOptions();
|
|
564110
564108
|
init_Shell();
|
|
564111
564109
|
init_sessionRestore();
|
|
564112
564110
|
init_constants2();
|
|
@@ -565678,7 +565676,7 @@ ${customInstructions}` : customInstructions;
|
|
|
565678
565676
|
}
|
|
565679
565677
|
}
|
|
565680
565678
|
logForDiagnosticsNoPII("info", "started", {
|
|
565681
|
-
version: "1.1.
|
|
565679
|
+
version: "1.1.46+5b07c76",
|
|
565682
565680
|
is_native_binary: isInBundledMode()
|
|
565683
565681
|
});
|
|
565684
565682
|
registerCleanup(async () => {
|
|
@@ -566476,7 +566474,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
566476
566474
|
pendingHookMessages
|
|
566477
566475
|
}, renderAndRun);
|
|
566478
566476
|
}
|
|
566479
|
-
}).version("1.1.
|
|
566477
|
+
}).version("1.1.46+5b07c76 (Vivus)", "-v, --version", "Output the version number");
|
|
566480
566478
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
566481
566479
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
566482
566480
|
if (canUserConfigureAdvisor()) {
|