vivus-agent 1.1.1 → 1.1.2
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 +187 -99
- 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-06-
|
|
3
|
+
// Built from source at 2026-06-15T03:21:23.155Z
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
var __create = Object.create;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -115978,7 +115978,7 @@ var init_auth = __esm(() => {
|
|
|
115978
115978
|
|
|
115979
115979
|
// src/utils/userAgent.ts
|
|
115980
115980
|
function getVivusCodeUserAgent() {
|
|
115981
|
-
return `vivus/${"1.1.
|
|
115981
|
+
return `vivus/${"1.1.2+c24e99a"}`;
|
|
115982
115982
|
}
|
|
115983
115983
|
|
|
115984
115984
|
// src/utils/workloadContext.ts
|
|
@@ -116000,7 +116000,7 @@ function getUserAgent() {
|
|
|
116000
116000
|
const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
|
|
116001
116001
|
const workload = getWorkload();
|
|
116002
116002
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
116003
|
-
return `vivus-cli/${"1.1.
|
|
116003
|
+
return `vivus-cli/${"1.1.2+c24e99a"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
116004
116004
|
}
|
|
116005
116005
|
function getMCPUserAgent() {
|
|
116006
116006
|
const parts = [];
|
|
@@ -116014,7 +116014,7 @@ function getMCPUserAgent() {
|
|
|
116014
116014
|
parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
|
|
116015
116015
|
}
|
|
116016
116016
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
116017
|
-
return `vivus/${"1.1.
|
|
116017
|
+
return `vivus/${"1.1.2+c24e99a"}${suffix}`;
|
|
116018
116018
|
}
|
|
116019
116019
|
function getWebFetchUserAgent() {
|
|
116020
116020
|
return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -116152,7 +116152,7 @@ var init_user = __esm(() => {
|
|
|
116152
116152
|
deviceId,
|
|
116153
116153
|
sessionId: getSessionId(),
|
|
116154
116154
|
email: getEmail(),
|
|
116155
|
-
appVersion: "1.1.
|
|
116155
|
+
appVersion: "1.1.2+c24e99a",
|
|
116156
116156
|
platform: getHostPlatformForAnalytics(),
|
|
116157
116157
|
organizationUuid,
|
|
116158
116158
|
accountUuid,
|
|
@@ -127818,7 +127818,7 @@ var init_metadata = __esm(() => {
|
|
|
127818
127818
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
127819
127819
|
WHITESPACE_REGEX = /\s+/;
|
|
127820
127820
|
getVersionBase = memoize_default(() => {
|
|
127821
|
-
const match = "1.1.
|
|
127821
|
+
const match = "1.1.2+c24e99a".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
127822
127822
|
return match ? match[0] : undefined;
|
|
127823
127823
|
});
|
|
127824
127824
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -127858,9 +127858,9 @@ var init_metadata = __esm(() => {
|
|
|
127858
127858
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
127859
127859
|
isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
|
|
127860
127860
|
isVivusAiAuth: isVivusAISubscriber(),
|
|
127861
|
-
version: "1.1.
|
|
127861
|
+
version: "1.1.2+c24e99a",
|
|
127862
127862
|
versionBase: getVersionBase(),
|
|
127863
|
-
buildTime: "2026-06-
|
|
127863
|
+
buildTime: "2026-06-15T03:21:21.977Z",
|
|
127864
127864
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
127865
127865
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
127866
127866
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -128528,7 +128528,7 @@ function initialize1PEventLogging() {
|
|
|
128528
128528
|
const platform2 = getPlatform();
|
|
128529
128529
|
const attributes = {
|
|
128530
128530
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
|
|
128531
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.
|
|
128531
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.2+c24e99a"
|
|
128532
128532
|
};
|
|
128533
128533
|
if (platform2 === "wsl") {
|
|
128534
128534
|
const wslVersion = getWslVersion();
|
|
@@ -128555,7 +128555,7 @@ function initialize1PEventLogging() {
|
|
|
128555
128555
|
})
|
|
128556
128556
|
]
|
|
128557
128557
|
});
|
|
128558
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
128558
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
|
|
128559
128559
|
}
|
|
128560
128560
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
128561
128561
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -162643,7 +162643,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
162643
162643
|
if (!isAttributionHeaderEnabled()) {
|
|
162644
162644
|
return "";
|
|
162645
162645
|
}
|
|
162646
|
-
const version2 = `${"1.1.
|
|
162646
|
+
const version2 = `${"1.1.2+c24e99a"}.${fingerprint}`;
|
|
162647
162647
|
const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
|
|
162648
162648
|
const cch = "";
|
|
162649
162649
|
const workload = getWorkload();
|
|
@@ -166442,8 +166442,8 @@ import * as fs3 from "fs";
|
|
|
166442
166442
|
function getDangerousDirectories() {
|
|
166443
166443
|
return [
|
|
166444
166444
|
...DANGEROUS_DIRECTORIES.filter((d) => d !== ".git"),
|
|
166445
|
-
".
|
|
166446
|
-
".
|
|
166445
|
+
".vivus/commands",
|
|
166446
|
+
".vivus/agents"
|
|
166447
166447
|
];
|
|
166448
166448
|
}
|
|
166449
166449
|
function normalizeCaseForComparison(pathStr) {
|
|
@@ -166545,15 +166545,15 @@ function getDefaultWritePaths() {
|
|
|
166545
166545
|
"/dev/tty",
|
|
166546
166546
|
"/dev/dtracehelper",
|
|
166547
166547
|
"/dev/autofs_nowait",
|
|
166548
|
-
"/tmp/
|
|
166549
|
-
"/private/tmp/
|
|
166548
|
+
"/tmp/vivus",
|
|
166549
|
+
"/private/tmp/vivus",
|
|
166550
166550
|
path10.join(homeDir, ".npm/_logs"),
|
|
166551
|
-
path10.join(homeDir, ".
|
|
166551
|
+
path10.join(homeDir, ".vivus/debug")
|
|
166552
166552
|
];
|
|
166553
166553
|
return recommendedPaths;
|
|
166554
166554
|
}
|
|
166555
166555
|
function generateProxyEnvVars(httpProxyPort, socksProxyPort) {
|
|
166556
|
-
const tmpdir3 = process.env.
|
|
166556
|
+
const tmpdir3 = process.env.VIVUS_TMPDIR || "/tmp/vivus";
|
|
166557
166557
|
const envVars = [`SANDBOX_RUNTIME=1`, `TMPDIR=${tmpdir3}`];
|
|
166558
166558
|
if (!httpProxyPort && !socksProxyPort) {
|
|
166559
166559
|
return envVars;
|
|
@@ -174798,7 +174798,11 @@ function convertToSandboxRuntimeConfig(settings) {
|
|
|
174798
174798
|
deniedDomains.push(rule.ruleContent.substring("domain:".length));
|
|
174799
174799
|
}
|
|
174800
174800
|
}
|
|
174801
|
-
const allowWrite = [
|
|
174801
|
+
const allowWrite = [
|
|
174802
|
+
".",
|
|
174803
|
+
getVivusTempDir(),
|
|
174804
|
+
join40(getVivusConfigHomeDir(), "debug")
|
|
174805
|
+
];
|
|
174802
174806
|
const denyWrite = [];
|
|
174803
174807
|
const denyRead = [];
|
|
174804
174808
|
const allowRead = [];
|
|
@@ -174811,9 +174815,10 @@ function convertToSandboxRuntimeConfig(settings) {
|
|
|
174811
174815
|
denyWrite.push(resolve15(cwd2, ".vivus", "settings.json"));
|
|
174812
174816
|
denyWrite.push(resolve15(cwd2, ".vivus", "settings.local.json"));
|
|
174813
174817
|
}
|
|
174814
|
-
|
|
174815
|
-
|
|
174816
|
-
denyWrite.push(resolve15(
|
|
174818
|
+
for (const dir of cwd2 === originalCwd ? [originalCwd] : [originalCwd, cwd2]) {
|
|
174819
|
+
denyWrite.push(resolve15(dir, ".vivus", "commands"));
|
|
174820
|
+
denyWrite.push(resolve15(dir, ".vivus", "agents"));
|
|
174821
|
+
denyWrite.push(resolve15(dir, ".vivus", "skills"));
|
|
174817
174822
|
}
|
|
174818
174823
|
bareGitRepoScrubPaths.length = 0;
|
|
174819
174824
|
const bareGitRepoFiles = ["HEAD", "objects", "refs", "hooks", "config"];
|
|
@@ -175161,6 +175166,7 @@ var init_sandbox_adapter = __esm(() => {
|
|
|
175161
175166
|
init_prompt2();
|
|
175162
175167
|
init_errors();
|
|
175163
175168
|
init_filesystem();
|
|
175169
|
+
init_envUtils();
|
|
175164
175170
|
init_ripgrep2();
|
|
175165
175171
|
bareGitRepoScrubPaths = [];
|
|
175166
175172
|
checkDependencies2 = memoize_default(() => {
|
|
@@ -175800,7 +175806,7 @@ function getTelemetryAttributes() {
|
|
|
175800
175806
|
attributes["session.id"] = sessionId;
|
|
175801
175807
|
}
|
|
175802
175808
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
175803
|
-
attributes["app.version"] = "1.1.
|
|
175809
|
+
attributes["app.version"] = "1.1.2+c24e99a";
|
|
175804
175810
|
}
|
|
175805
175811
|
const oauthAccount = getOauthAccountInfo();
|
|
175806
175812
|
if (oauthAccount) {
|
|
@@ -242349,7 +242355,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
242349
242355
|
}
|
|
242350
242356
|
function computeFingerprintFromMessages(messages) {
|
|
242351
242357
|
const firstMessageText = extractFirstMessageText(messages);
|
|
242352
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
242358
|
+
return computeFingerprint(firstMessageText, "1.1.2+c24e99a");
|
|
242353
242359
|
}
|
|
242354
242360
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
242355
242361
|
var init_fingerprint = () => {};
|
|
@@ -242391,7 +242397,7 @@ async function sideQuery(opts) {
|
|
|
242391
242397
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
242392
242398
|
}
|
|
242393
242399
|
const messageText = extractFirstUserMessageText(messages);
|
|
242394
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
242400
|
+
const fingerprint = computeFingerprint(messageText, "1.1.2+c24e99a");
|
|
242395
242401
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
242396
242402
|
const systemBlocks = [
|
|
242397
242403
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -243543,7 +243549,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
243543
243549
|
const client2 = new Client({
|
|
243544
243550
|
name: "vivus",
|
|
243545
243551
|
title: "Vivus",
|
|
243546
|
-
version: "1.1.
|
|
243552
|
+
version: "1.1.2+c24e99a",
|
|
243547
243553
|
description: "Anthropic's agentic coding tool",
|
|
243548
243554
|
websiteUrl: PRODUCT_URL
|
|
243549
243555
|
}, {
|
|
@@ -243897,7 +243903,7 @@ var init_client6 = __esm(() => {
|
|
|
243897
243903
|
const client2 = new Client({
|
|
243898
243904
|
name: "vivus",
|
|
243899
243905
|
title: "Vivus",
|
|
243900
|
-
version: "1.1.
|
|
243906
|
+
version: "1.1.2+c24e99a",
|
|
243901
243907
|
description: "Anthropic's agentic coding tool",
|
|
243902
243908
|
websiteUrl: PRODUCT_URL
|
|
243903
243909
|
}, {
|
|
@@ -245955,7 +245961,7 @@ function getInstallationEnv() {
|
|
|
245955
245961
|
return;
|
|
245956
245962
|
}
|
|
245957
245963
|
function getVivusCodeVersion() {
|
|
245958
|
-
return "1.1.
|
|
245964
|
+
return "1.1.2+c24e99a";
|
|
245959
245965
|
}
|
|
245960
245966
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
245961
245967
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -278445,7 +278451,7 @@ async function initializeBetaTracing(resource) {
|
|
|
278445
278451
|
});
|
|
278446
278452
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
278447
278453
|
setLoggerProvider(loggerProvider);
|
|
278448
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
278454
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
|
|
278449
278455
|
setEventLogger(eventLogger);
|
|
278450
278456
|
process.on("beforeExit", async () => {
|
|
278451
278457
|
await loggerProvider?.forceFlush();
|
|
@@ -278485,7 +278491,7 @@ async function initializeTelemetry() {
|
|
|
278485
278491
|
const platform5 = getPlatform();
|
|
278486
278492
|
const baseAttributes = {
|
|
278487
278493
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
|
|
278488
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.
|
|
278494
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.2+c24e99a"
|
|
278489
278495
|
};
|
|
278490
278496
|
if (platform5 === "wsl") {
|
|
278491
278497
|
const wslVersion = getWslVersion();
|
|
@@ -278530,7 +278536,7 @@ async function initializeTelemetry() {
|
|
|
278530
278536
|
} catch {}
|
|
278531
278537
|
};
|
|
278532
278538
|
registerCleanup(shutdownTelemetry2);
|
|
278533
|
-
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.
|
|
278539
|
+
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.2+c24e99a");
|
|
278534
278540
|
}
|
|
278535
278541
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
278536
278542
|
resource,
|
|
@@ -278550,7 +278556,7 @@ async function initializeTelemetry() {
|
|
|
278550
278556
|
});
|
|
278551
278557
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
278552
278558
|
setLoggerProvider(loggerProvider);
|
|
278553
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
278559
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.2+c24e99a");
|
|
278554
278560
|
setEventLogger(eventLogger);
|
|
278555
278561
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
278556
278562
|
process.on("beforeExit", async () => {
|
|
@@ -278612,7 +278618,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
278612
278618
|
}
|
|
278613
278619
|
};
|
|
278614
278620
|
registerCleanup(shutdownTelemetry);
|
|
278615
|
-
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.
|
|
278621
|
+
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.2+c24e99a");
|
|
278616
278622
|
}
|
|
278617
278623
|
async function flushTelemetry() {
|
|
278618
278624
|
const meterProvider = getMeterProvider();
|
|
@@ -279298,9 +279304,9 @@ async function assertMinVersion() {
|
|
|
279298
279304
|
if (false) {}
|
|
279299
279305
|
try {
|
|
279300
279306
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
279301
|
-
if (versionConfig.minVersion && lt("1.1.
|
|
279307
|
+
if (versionConfig.minVersion && lt("1.1.2+c24e99a", versionConfig.minVersion)) {
|
|
279302
279308
|
console.error(`
|
|
279303
|
-
It looks like your version of Vivus (${"1.1.
|
|
279309
|
+
It looks like your version of Vivus (${"1.1.2+c24e99a"}) needs an update.
|
|
279304
279310
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
279305
279311
|
|
|
279306
279312
|
To update, please run:
|
|
@@ -279516,7 +279522,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
279516
279522
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
279517
279523
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
279518
279524
|
pid: process.pid,
|
|
279519
|
-
currentVersion: "1.1.
|
|
279525
|
+
currentVersion: "1.1.2+c24e99a"
|
|
279520
279526
|
});
|
|
279521
279527
|
return "in_progress";
|
|
279522
279528
|
}
|
|
@@ -279525,7 +279531,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
279525
279531
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
279526
279532
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
279527
279533
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
279528
|
-
currentVersion: "1.1.
|
|
279534
|
+
currentVersion: "1.1.2+c24e99a"
|
|
279529
279535
|
});
|
|
279530
279536
|
console.error(`
|
|
279531
279537
|
Error: Windows NPM detected in WSL
|
|
@@ -280058,7 +280064,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
280058
280064
|
}
|
|
280059
280065
|
async function getDoctorDiagnostic() {
|
|
280060
280066
|
const installationType = await getCurrentInstallationType();
|
|
280061
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
280067
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
|
|
280062
280068
|
const installationPath = await getInstallationPath();
|
|
280063
280069
|
const invokedBinary = getInvokedBinary();
|
|
280064
280070
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -280991,8 +280997,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
280991
280997
|
const maxVersion = await getMaxVersion();
|
|
280992
280998
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
280993
280999
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
280994
|
-
if (gte("1.1.
|
|
280995
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
281000
|
+
if (gte("1.1.2+c24e99a", maxVersion)) {
|
|
281001
|
+
logForDebugging(`Native installer: current version ${"1.1.2+c24e99a"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
280996
281002
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
280997
281003
|
latency_ms: Date.now() - startTime,
|
|
280998
281004
|
max_version: maxVersion,
|
|
@@ -281003,7 +281009,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
281003
281009
|
version2 = maxVersion;
|
|
281004
281010
|
}
|
|
281005
281011
|
}
|
|
281006
|
-
if (!forceReinstall && version2 === "1.1.
|
|
281012
|
+
if (!forceReinstall && version2 === "1.1.2+c24e99a" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
|
|
281007
281013
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
281008
281014
|
logEvent("tengu_native_update_complete", {
|
|
281009
281015
|
latency_ms: Date.now() - startTime,
|
|
@@ -336916,7 +336922,7 @@ function getAnthropicEnvMetadata() {
|
|
|
336916
336922
|
function getBuildAgeMinutes() {
|
|
336917
336923
|
if (false)
|
|
336918
336924
|
;
|
|
336919
|
-
const buildTime = new Date("2026-06-
|
|
336925
|
+
const buildTime = new Date("2026-06-15T03:21:21.977Z").getTime();
|
|
336920
336926
|
if (isNaN(buildTime))
|
|
336921
336927
|
return;
|
|
336922
336928
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -384132,7 +384138,7 @@ var init_filesystem = __esm(() => {
|
|
|
384132
384138
|
});
|
|
384133
384139
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
384134
384140
|
const nonce = randomBytes17(16).toString("hex");
|
|
384135
|
-
return join106(getVivusTempDir(), "bundled-skills", "1.1.
|
|
384141
|
+
return join106(getVivusTempDir(), "bundled-skills", "1.1.2+c24e99a", nonce);
|
|
384136
384142
|
});
|
|
384137
384143
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
384138
384144
|
});
|
|
@@ -385892,7 +385898,7 @@ function Feedback({
|
|
|
385892
385898
|
platform: env2.platform,
|
|
385893
385899
|
gitRepo: envInfo.isGit,
|
|
385894
385900
|
terminal: env2.terminal,
|
|
385895
|
-
version: "1.1.
|
|
385901
|
+
version: "1.1.2+c24e99a",
|
|
385896
385902
|
transcript: normalizeMessagesForAPI(messages),
|
|
385897
385903
|
errors: sanitizedErrors,
|
|
385898
385904
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -386084,7 +386090,7 @@ function Feedback({
|
|
|
386084
386090
|
", ",
|
|
386085
386091
|
env2.terminal,
|
|
386086
386092
|
", v",
|
|
386087
|
-
"1.1.
|
|
386093
|
+
"1.1.2+c24e99a"
|
|
386088
386094
|
]
|
|
386089
386095
|
}, undefined, true, undefined, this)
|
|
386090
386096
|
]
|
|
@@ -386190,7 +386196,7 @@ ${sanitizedDescription}
|
|
|
386190
386196
|
` + `**Environment Info**
|
|
386191
386197
|
` + `- Platform: ${env2.platform}
|
|
386192
386198
|
` + `- Terminal: ${env2.terminal}
|
|
386193
|
-
` + `- Version: ${"1.1.
|
|
386199
|
+
` + `- Version: ${"1.1.2+c24e99a"}
|
|
386194
386200
|
` + `- Feedback ID: ${feedbackId}
|
|
386195
386201
|
` + `
|
|
386196
386202
|
**Errors**
|
|
@@ -389321,7 +389327,7 @@ function buildPrimarySection() {
|
|
|
389321
389327
|
}, undefined, false, undefined, this);
|
|
389322
389328
|
return [{
|
|
389323
389329
|
label: "Version",
|
|
389324
|
-
value: "1.1.
|
|
389330
|
+
value: "1.1.2+c24e99a"
|
|
389325
389331
|
}, {
|
|
389326
389332
|
label: "Session name",
|
|
389327
389333
|
value: nameValue
|
|
@@ -393072,7 +393078,7 @@ function Config({
|
|
|
393072
393078
|
}
|
|
393073
393079
|
}, undefined, false, undefined, this)
|
|
393074
393080
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
393075
|
-
currentVersion: "1.1.
|
|
393081
|
+
currentVersion: "1.1.2+c24e99a",
|
|
393076
393082
|
onChoice: (choice) => {
|
|
393077
393083
|
setShowSubmenu(null);
|
|
393078
393084
|
setTabsHidden(false);
|
|
@@ -393084,7 +393090,7 @@ function Config({
|
|
|
393084
393090
|
autoUpdatesChannel: "stable"
|
|
393085
393091
|
};
|
|
393086
393092
|
if (choice === "stay") {
|
|
393087
|
-
newSettings.minimumVersion = "1.1.
|
|
393093
|
+
newSettings.minimumVersion = "1.1.2+c24e99a";
|
|
393088
393094
|
}
|
|
393089
393095
|
updateSettingsForSource("userSettings", newSettings);
|
|
393090
393096
|
setSettingsData((prev_27) => ({
|
|
@@ -401170,7 +401176,7 @@ function HelpV2(t0) {
|
|
|
401170
401176
|
let t6;
|
|
401171
401177
|
if ($2[31] !== tabs) {
|
|
401172
401178
|
t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
|
|
401173
|
-
title: `Vivus v${"1.1.
|
|
401179
|
+
title: `Vivus v${"1.1.2+c24e99a"}`,
|
|
401174
401180
|
color: "professionalBlue",
|
|
401175
401181
|
defaultTab: "general",
|
|
401176
401182
|
children: tabs
|
|
@@ -425396,7 +425402,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
425396
425402
|
return [];
|
|
425397
425403
|
}
|
|
425398
425404
|
}
|
|
425399
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
425405
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.2+c24e99a") {
|
|
425400
425406
|
if (process.env.USER_TYPE === "ant") {
|
|
425401
425407
|
const changelog = "";
|
|
425402
425408
|
if (changelog) {
|
|
@@ -425423,7 +425429,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.1+190
|
|
|
425423
425429
|
releaseNotes
|
|
425424
425430
|
};
|
|
425425
425431
|
}
|
|
425426
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
425432
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.2+c24e99a") {
|
|
425427
425433
|
if (process.env.USER_TYPE === "ant") {
|
|
425428
425434
|
const changelog = "";
|
|
425429
425435
|
if (changelog) {
|
|
@@ -426593,7 +426599,7 @@ function getRecentActivitySync() {
|
|
|
426593
426599
|
return cachedActivity;
|
|
426594
426600
|
}
|
|
426595
426601
|
function getLogoDisplayData() {
|
|
426596
|
-
const version2 = process.env.DEMO_VERSION ?? "1.1.
|
|
426602
|
+
const version2 = process.env.DEMO_VERSION ?? "1.1.2+c24e99a";
|
|
426597
426603
|
const serverUrl = getDirectConnectServerUrl();
|
|
426598
426604
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
426599
426605
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -428120,7 +428126,7 @@ function LogoV2() {
|
|
|
428120
428126
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
428121
428127
|
t2 = () => {
|
|
428122
428128
|
const currentConfig = getGlobalConfig();
|
|
428123
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
428129
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.2+c24e99a") {
|
|
428124
428130
|
return;
|
|
428125
428131
|
}
|
|
428126
428132
|
saveGlobalConfig(_temp329);
|
|
@@ -428796,12 +428802,12 @@ function LogoV2() {
|
|
|
428796
428802
|
return t41;
|
|
428797
428803
|
}
|
|
428798
428804
|
function _temp329(current) {
|
|
428799
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
428805
|
+
if (current.lastReleaseNotesSeen === "1.1.2+c24e99a") {
|
|
428800
428806
|
return current;
|
|
428801
428807
|
}
|
|
428802
428808
|
return {
|
|
428803
428809
|
...current,
|
|
428804
|
-
lastReleaseNotesSeen: "1.1.
|
|
428810
|
+
lastReleaseNotesSeen: "1.1.2+c24e99a"
|
|
428805
428811
|
};
|
|
428806
428812
|
}
|
|
428807
428813
|
function _temp245(s_0) {
|
|
@@ -455098,7 +455104,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
455098
455104
|
smapsRollup,
|
|
455099
455105
|
platform: process.platform,
|
|
455100
455106
|
nodeVersion: process.version,
|
|
455101
|
-
ccVersion: "1.1.
|
|
455107
|
+
ccVersion: "1.1.2+c24e99a"
|
|
455102
455108
|
};
|
|
455103
455109
|
}
|
|
455104
455110
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -455684,7 +455690,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
455684
455690
|
var call56 = async () => {
|
|
455685
455691
|
return {
|
|
455686
455692
|
type: "text",
|
|
455687
|
-
value: `${"1.1.
|
|
455693
|
+
value: `${"1.1.2+c24e99a"} (built ${"2026-06-15T03:21:21.977Z"})`
|
|
455688
455694
|
};
|
|
455689
455695
|
}, version2, version_default;
|
|
455690
455696
|
var init_version = __esm(() => {
|
|
@@ -464647,7 +464653,7 @@ function generateHtmlReport(data, insights) {
|
|
|
464647
464653
|
</html>`;
|
|
464648
464654
|
}
|
|
464649
464655
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
464650
|
-
const version3 = typeof MACRO !== "undefined" ? "1.1.
|
|
464656
|
+
const version3 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
|
|
464651
464657
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
464652
464658
|
const facets_summary = {
|
|
464653
464659
|
total: facets.size,
|
|
@@ -468756,7 +468762,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
468756
468762
|
init_settings2();
|
|
468757
468763
|
init_slowOperations();
|
|
468758
468764
|
init_uuid();
|
|
468759
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.1.
|
|
468765
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.1.2+c24e99a" : "unknown";
|
|
468760
468766
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
468761
468767
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
468762
468768
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -471627,7 +471633,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
471627
471633
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
471628
471634
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
471629
471635
|
betas: getSdkBetas(),
|
|
471630
|
-
vivus_code_version: "1.1.
|
|
471636
|
+
vivus_code_version: "1.1.2+c24e99a",
|
|
471631
471637
|
output_style: outputStyle2,
|
|
471632
471638
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
471633
471639
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -486255,7 +486261,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
486255
486261
|
function getSemverPart(version3) {
|
|
486256
486262
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
486257
486263
|
}
|
|
486258
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
486264
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.2+c24e99a") {
|
|
486259
486265
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
|
|
486260
486266
|
if (!updatedVersion) {
|
|
486261
486267
|
return null;
|
|
@@ -486295,7 +486301,7 @@ function AutoUpdater({
|
|
|
486295
486301
|
return;
|
|
486296
486302
|
}
|
|
486297
486303
|
if (false) {}
|
|
486298
|
-
const currentVersion = "1.1.
|
|
486304
|
+
const currentVersion = "1.1.2+c24e99a";
|
|
486299
486305
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
486300
486306
|
let latestVersion = await getLatestVersion(channel);
|
|
486301
486307
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -486508,12 +486514,12 @@ function NativeAutoUpdater({
|
|
|
486508
486514
|
logEvent("tengu_native_auto_updater_start", {});
|
|
486509
486515
|
try {
|
|
486510
486516
|
const maxVersion = await getMaxVersion();
|
|
486511
|
-
if (maxVersion && gt("1.1.
|
|
486517
|
+
if (maxVersion && gt("1.1.2+c24e99a", maxVersion)) {
|
|
486512
486518
|
const msg = await getMaxVersionMessage();
|
|
486513
486519
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
486514
486520
|
}
|
|
486515
486521
|
const result = await installLatest(channel);
|
|
486516
|
-
const currentVersion = "1.1.
|
|
486522
|
+
const currentVersion = "1.1.2+c24e99a";
|
|
486517
486523
|
const latencyMs = Date.now() - startTime;
|
|
486518
486524
|
if (result.lockFailed) {
|
|
486519
486525
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -486650,17 +486656,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
486650
486656
|
const maxVersion = await getMaxVersion();
|
|
486651
486657
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
486652
486658
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
486653
|
-
if (gte("1.1.
|
|
486654
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
486659
|
+
if (gte("1.1.2+c24e99a", maxVersion)) {
|
|
486660
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.2+c24e99a"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
486655
486661
|
setUpdateAvailable(false);
|
|
486656
486662
|
return;
|
|
486657
486663
|
}
|
|
486658
486664
|
latest = maxVersion;
|
|
486659
486665
|
}
|
|
486660
|
-
const hasUpdate = latest && !gte("1.1.
|
|
486666
|
+
const hasUpdate = latest && !gte("1.1.2+c24e99a", latest) && !shouldSkipVersion(latest);
|
|
486661
486667
|
setUpdateAvailable(!!hasUpdate);
|
|
486662
486668
|
if (hasUpdate) {
|
|
486663
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
486669
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.2+c24e99a"} -> ${latest}`);
|
|
486664
486670
|
}
|
|
486665
486671
|
};
|
|
486666
486672
|
$2[0] = t1;
|
|
@@ -486694,7 +486700,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
486694
486700
|
wrap: "truncate",
|
|
486695
486701
|
children: [
|
|
486696
486702
|
"currentVersion: ",
|
|
486697
|
-
"1.1.
|
|
486703
|
+
"1.1.2+c24e99a"
|
|
486698
486704
|
]
|
|
486699
486705
|
}, undefined, true, undefined, this);
|
|
486700
486706
|
$2[3] = verbose;
|
|
@@ -494862,7 +494868,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
494862
494868
|
project_dir: getOriginalCwd(),
|
|
494863
494869
|
added_dirs: addedDirs
|
|
494864
494870
|
},
|
|
494865
|
-
version: "1.1.
|
|
494871
|
+
version: "1.1.2+c24e99a",
|
|
494866
494872
|
output_style: {
|
|
494867
494873
|
name: outputStyleName
|
|
494868
494874
|
},
|
|
@@ -506346,7 +506352,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
506346
506352
|
} catch {}
|
|
506347
506353
|
const data = {
|
|
506348
506354
|
trigger,
|
|
506349
|
-
version: "1.1.
|
|
506355
|
+
version: "1.1.2+c24e99a",
|
|
506350
506356
|
platform: process.platform,
|
|
506351
506357
|
transcript,
|
|
506352
506358
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -517762,7 +517768,7 @@ function WelcomeV2() {
|
|
|
517762
517768
|
dimColor: true,
|
|
517763
517769
|
children: [
|
|
517764
517770
|
"v",
|
|
517765
|
-
"1.1.
|
|
517771
|
+
"1.1.2+c24e99a",
|
|
517766
517772
|
" "
|
|
517767
517773
|
]
|
|
517768
517774
|
}, undefined, true, undefined, this)
|
|
@@ -517962,7 +517968,7 @@ function WelcomeV2() {
|
|
|
517962
517968
|
dimColor: true,
|
|
517963
517969
|
children: [
|
|
517964
517970
|
"v",
|
|
517965
|
-
"1.1.
|
|
517971
|
+
"1.1.2+c24e99a",
|
|
517966
517972
|
" "
|
|
517967
517973
|
]
|
|
517968
517974
|
}, undefined, true, undefined, this)
|
|
@@ -518188,7 +518194,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
518188
518194
|
dimColor: true,
|
|
518189
518195
|
children: [
|
|
518190
518196
|
"v",
|
|
518191
|
-
"1.1.
|
|
518197
|
+
"1.1.2+c24e99a",
|
|
518192
518198
|
" "
|
|
518193
518199
|
]
|
|
518194
518200
|
}, undefined, true, undefined, this);
|
|
@@ -518442,7 +518448,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
518442
518448
|
dimColor: true,
|
|
518443
518449
|
children: [
|
|
518444
518450
|
"v",
|
|
518445
|
-
"1.1.
|
|
518451
|
+
"1.1.2+c24e99a",
|
|
518446
518452
|
" "
|
|
518447
518453
|
]
|
|
518448
518454
|
}, undefined, true, undefined, this);
|
|
@@ -521506,7 +521512,7 @@ function appendToLog(path25, message) {
|
|
|
521506
521512
|
cwd: getFsImplementation().cwd(),
|
|
521507
521513
|
userType: process.env.USER_TYPE,
|
|
521508
521514
|
sessionId: getSessionId(),
|
|
521509
|
-
version: "1.1.
|
|
521515
|
+
version: "1.1.2+c24e99a"
|
|
521510
521516
|
};
|
|
521511
521517
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
521512
521518
|
}
|
|
@@ -525491,8 +525497,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
525491
525497
|
}
|
|
525492
525498
|
async function checkEnvLessBridgeMinVersion() {
|
|
525493
525499
|
const cfg = await getEnvLessBridgeConfig();
|
|
525494
|
-
if (cfg.min_version && lt("1.1.
|
|
525495
|
-
return `Your version of Vivus (${"1.1.
|
|
525500
|
+
if (cfg.min_version && lt("1.1.2+c24e99a", cfg.min_version)) {
|
|
525501
|
+
return `Your version of Vivus (${"1.1.2+c24e99a"}) is too old for Remote Control.
|
|
525496
525502
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
525497
525503
|
}
|
|
525498
525504
|
return null;
|
|
@@ -525966,7 +525972,7 @@ async function initBridgeCore(params) {
|
|
|
525966
525972
|
const rawApi = createBridgeApiClient({
|
|
525967
525973
|
baseUrl,
|
|
525968
525974
|
getAccessToken,
|
|
525969
|
-
runnerVersion: "1.1.
|
|
525975
|
+
runnerVersion: "1.1.2+c24e99a",
|
|
525970
525976
|
onDebug: logForDebugging,
|
|
525971
525977
|
onAuth401,
|
|
525972
525978
|
getTrustedDeviceToken
|
|
@@ -531630,7 +531636,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
531630
531636
|
setCwd(cwd3);
|
|
531631
531637
|
const server = new Server({
|
|
531632
531638
|
name: "vivus/tengu",
|
|
531633
|
-
version: "1.1.
|
|
531639
|
+
version: "1.1.2+c24e99a"
|
|
531634
531640
|
}, {
|
|
531635
531641
|
capabilities: {
|
|
531636
531642
|
tools: {}
|
|
@@ -533241,7 +533247,7 @@ __export(exports_update, {
|
|
|
533241
533247
|
});
|
|
533242
533248
|
async function update() {
|
|
533243
533249
|
logEvent("tengu_update_check", {});
|
|
533244
|
-
writeToStdout(`Current version: ${"1.1.
|
|
533250
|
+
writeToStdout(`Current version: ${"1.1.2+c24e99a"}
|
|
533245
533251
|
`);
|
|
533246
533252
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
533247
533253
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -533316,8 +533322,8 @@ async function update() {
|
|
|
533316
533322
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
533317
533323
|
`);
|
|
533318
533324
|
const latest = await getLatestVersion(channel);
|
|
533319
|
-
if (latest && !gte("1.1.
|
|
533320
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533325
|
+
if (latest && !gte("1.1.2+c24e99a", latest)) {
|
|
533326
|
+
writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
|
|
533321
533327
|
`);
|
|
533322
533328
|
writeToStdout(`
|
|
533323
533329
|
`);
|
|
@@ -533333,8 +533339,8 @@ async function update() {
|
|
|
533333
533339
|
writeToStdout(`Vivus is managed by winget.
|
|
533334
533340
|
`);
|
|
533335
533341
|
const latest = await getLatestVersion(channel);
|
|
533336
|
-
if (latest && !gte("1.1.
|
|
533337
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533342
|
+
if (latest && !gte("1.1.2+c24e99a", latest)) {
|
|
533343
|
+
writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
|
|
533338
533344
|
`);
|
|
533339
533345
|
writeToStdout(`
|
|
533340
533346
|
`);
|
|
@@ -533350,8 +533356,8 @@ async function update() {
|
|
|
533350
533356
|
writeToStdout(`Vivus is managed by apk.
|
|
533351
533357
|
`);
|
|
533352
533358
|
const latest = await getLatestVersion(channel);
|
|
533353
|
-
if (latest && !gte("1.1.
|
|
533354
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533359
|
+
if (latest && !gte("1.1.2+c24e99a", latest)) {
|
|
533360
|
+
writeToStdout(`Update available: ${"1.1.2+c24e99a"} → ${latest}
|
|
533355
533361
|
`);
|
|
533356
533362
|
writeToStdout(`
|
|
533357
533363
|
`);
|
|
@@ -533416,11 +533422,11 @@ async function update() {
|
|
|
533416
533422
|
`);
|
|
533417
533423
|
await gracefulShutdown(1);
|
|
533418
533424
|
}
|
|
533419
|
-
if (result.latestVersion === "1.1.
|
|
533420
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
533425
|
+
if (result.latestVersion === "1.1.2+c24e99a") {
|
|
533426
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.2+c24e99a"})`) + `
|
|
533421
533427
|
`);
|
|
533422
533428
|
} else {
|
|
533423
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
533429
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.2+c24e99a"} to version ${result.latestVersion}`) + `
|
|
533424
533430
|
`);
|
|
533425
533431
|
await regenerateCompletionCache();
|
|
533426
533432
|
}
|
|
@@ -533477,12 +533483,12 @@ async function update() {
|
|
|
533477
533483
|
`);
|
|
533478
533484
|
await gracefulShutdown(1);
|
|
533479
533485
|
}
|
|
533480
|
-
if (latestVersion === "1.1.
|
|
533481
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
533486
|
+
if (latestVersion === "1.1.2+c24e99a") {
|
|
533487
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.2+c24e99a"})`) + `
|
|
533482
533488
|
`);
|
|
533483
533489
|
await gracefulShutdown(0);
|
|
533484
533490
|
}
|
|
533485
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
533491
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.2+c24e99a"})
|
|
533486
533492
|
`);
|
|
533487
533493
|
writeToStdout(`Installing update...
|
|
533488
533494
|
`);
|
|
@@ -533527,7 +533533,7 @@ async function update() {
|
|
|
533527
533533
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
533528
533534
|
switch (status2) {
|
|
533529
533535
|
case "success":
|
|
533530
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
533536
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.2+c24e99a"} to version ${latestVersion}`) + `
|
|
533531
533537
|
`);
|
|
533532
533538
|
await regenerateCompletionCache();
|
|
533533
533539
|
break;
|
|
@@ -533962,8 +533968,9 @@ async function fetchBootstrapData() {
|
|
|
533962
533968
|
return;
|
|
533963
533969
|
const clientData = response.client_data ?? null;
|
|
533964
533970
|
const additionalModelOptions = response.additional_model_options ?? [];
|
|
533971
|
+
const ownsModelOptions = isFirstPartyAnthropicBaseUrl();
|
|
533965
533972
|
const config4 = getGlobalConfig();
|
|
533966
|
-
if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, additionalModelOptions)) {
|
|
533973
|
+
if (isEqual_default(config4.clientDataCache, clientData) && (!ownsModelOptions || isEqual_default(config4.additionalModelOptionsCache, additionalModelOptions))) {
|
|
533967
533974
|
logForDebugging("[Bootstrap] Cache unchanged, skipping write");
|
|
533968
533975
|
return;
|
|
533969
533976
|
}
|
|
@@ -533971,7 +533978,7 @@ async function fetchBootstrapData() {
|
|
|
533971
533978
|
saveGlobalConfig((current) => ({
|
|
533972
533979
|
...current,
|
|
533973
533980
|
clientDataCache: clientData,
|
|
533974
|
-
additionalModelOptionsCache: additionalModelOptions
|
|
533981
|
+
...ownsModelOptions ? { additionalModelOptionsCache: additionalModelOptions } : {}
|
|
533975
533982
|
}));
|
|
533976
533983
|
} catch (error41) {
|
|
533977
533984
|
logError2(error41);
|
|
@@ -534497,7 +534504,7 @@ function completeOnboarding() {
|
|
|
534497
534504
|
saveGlobalConfig((current) => ({
|
|
534498
534505
|
...current,
|
|
534499
534506
|
hasCompletedOnboarding: true,
|
|
534500
|
-
lastOnboardingVersion: "1.1.
|
|
534507
|
+
lastOnboardingVersion: "1.1.2+c24e99a"
|
|
534501
534508
|
}));
|
|
534502
534509
|
}
|
|
534503
534510
|
function showDialog(root2, renderer) {
|
|
@@ -537050,6 +537057,86 @@ init_fsOperations();
|
|
|
537050
537057
|
init_gracefulShutdown();
|
|
537051
537058
|
init_hookEvents();
|
|
537052
537059
|
init_modelCapabilities();
|
|
537060
|
+
|
|
537061
|
+
// src/utils/model/proxyModelOptions.ts
|
|
537062
|
+
init_isEqual();
|
|
537063
|
+
init_config();
|
|
537064
|
+
init_debug();
|
|
537065
|
+
init_envUtils();
|
|
537066
|
+
init_providers();
|
|
537067
|
+
function isProxyModelOptionsEligible() {
|
|
537068
|
+
if (isEnvTruthy(process.env.VIVUS_CODE_DISABLE_PROXY_CAPABILITIES))
|
|
537069
|
+
return false;
|
|
537070
|
+
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
|
537071
|
+
if (!baseUrl)
|
|
537072
|
+
return false;
|
|
537073
|
+
if (isFirstPartyAnthropicBaseUrl())
|
|
537074
|
+
return false;
|
|
537075
|
+
try {
|
|
537076
|
+
new URL(baseUrl);
|
|
537077
|
+
return true;
|
|
537078
|
+
} catch {
|
|
537079
|
+
return false;
|
|
537080
|
+
}
|
|
537081
|
+
}
|
|
537082
|
+
function humanizeModelId(id) {
|
|
537083
|
+
try {
|
|
537084
|
+
let base2 = id.split("/").pop() ?? id;
|
|
537085
|
+
base2 = base2.replace(/:(latest|cloud)$/i, "").replace(/:/g, "-");
|
|
537086
|
+
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();
|
|
537087
|
+
return label || id;
|
|
537088
|
+
} catch {
|
|
537089
|
+
return id;
|
|
537090
|
+
}
|
|
537091
|
+
}
|
|
537092
|
+
async function refreshProxyModelOptions() {
|
|
537093
|
+
if (!isProxyModelOptionsEligible())
|
|
537094
|
+
return;
|
|
537095
|
+
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
|
537096
|
+
try {
|
|
537097
|
+
const url3 = baseUrl.replace(/\/+$/, "") + "/v1/models?refresh=1";
|
|
537098
|
+
const apiKey = process.env.ANTHROPIC_API_KEY || "";
|
|
537099
|
+
const resp = await fetch(url3, {
|
|
537100
|
+
headers: apiKey ? { "x-api-key": apiKey } : {},
|
|
537101
|
+
signal: AbortSignal.timeout(8000)
|
|
537102
|
+
});
|
|
537103
|
+
if (!resp.ok) {
|
|
537104
|
+
logForDebugging(`[proxyModelOptions] proxy /v1/models returned ${resp.status}`);
|
|
537105
|
+
return;
|
|
537106
|
+
}
|
|
537107
|
+
const body = await resp.json();
|
|
537108
|
+
if (!Array.isArray(body.data))
|
|
537109
|
+
return;
|
|
537110
|
+
const options2 = [];
|
|
537111
|
+
const seen = new Set;
|
|
537112
|
+
for (const raw of body.data) {
|
|
537113
|
+
const entry = raw;
|
|
537114
|
+
const id = typeof entry.id === "string" ? entry.id : "";
|
|
537115
|
+
if (!id || seen.has(id))
|
|
537116
|
+
continue;
|
|
537117
|
+
seen.add(id);
|
|
537118
|
+
const label = typeof entry.label === "string" && entry.label ? entry.label : humanizeModelId(id);
|
|
537119
|
+
const description = typeof entry.description === "string" && entry.description ? entry.description : "Custom model";
|
|
537120
|
+
options2.push({ value: id, label, description });
|
|
537121
|
+
}
|
|
537122
|
+
if (options2.length === 0)
|
|
537123
|
+
return;
|
|
537124
|
+
const config4 = getGlobalConfig();
|
|
537125
|
+
if (isEqual_default(config4.additionalModelOptionsCache, options2)) {
|
|
537126
|
+
logForDebugging("[proxyModelOptions] cache unchanged, skipping write");
|
|
537127
|
+
return;
|
|
537128
|
+
}
|
|
537129
|
+
saveGlobalConfig((current) => ({
|
|
537130
|
+
...current,
|
|
537131
|
+
additionalModelOptionsCache: options2
|
|
537132
|
+
}));
|
|
537133
|
+
logForDebugging(`[proxyModelOptions] cached ${options2.length} models`);
|
|
537134
|
+
} catch (error41) {
|
|
537135
|
+
logForDebugging(`[proxyModelOptions] fetch failed: ${error41 instanceof Error ? error41.message : "unknown"}`);
|
|
537136
|
+
}
|
|
537137
|
+
}
|
|
537138
|
+
|
|
537139
|
+
// src/main.tsx
|
|
537053
537140
|
init_Shell();
|
|
537054
537141
|
init_sessionRestore();
|
|
537055
537142
|
init_constants3();
|
|
@@ -537534,6 +537621,7 @@ function startDeferredPrefetches() {
|
|
|
537534
537621
|
initializeAnalyticsGates();
|
|
537535
537622
|
prefetchOfficialMcpUrls();
|
|
537536
537623
|
refreshModelCapabilities();
|
|
537624
|
+
refreshProxyModelOptions();
|
|
537537
537625
|
settingsChangeDetector.initialize();
|
|
537538
537626
|
if (!isBareMode()) {
|
|
537539
537627
|
skillChangeDetector.initialize();
|
|
@@ -538586,7 +538674,7 @@ ${customInstructions}` : customInstructions;
|
|
|
538586
538674
|
}
|
|
538587
538675
|
}
|
|
538588
538676
|
logForDiagnosticsNoPII("info", "started", {
|
|
538589
|
-
version: "1.1.
|
|
538677
|
+
version: "1.1.2+c24e99a",
|
|
538590
538678
|
is_native_binary: isInBundledMode()
|
|
538591
538679
|
});
|
|
538592
538680
|
registerCleanup(async () => {
|
|
@@ -539370,7 +539458,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
539370
539458
|
pendingHookMessages
|
|
539371
539459
|
}, renderAndRun);
|
|
539372
539460
|
}
|
|
539373
|
-
}).version("1.1.
|
|
539461
|
+
}).version("1.1.2+c24e99a (Vivus)", "-v, --version", "Output the version number");
|
|
539374
539462
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
539375
539463
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
539376
539464
|
if (canUserConfigureAdvisor()) {
|