vivus-agent 1.0.4 → 1.0.5
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 +166 -93
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// Vivus CLI — local AI coding agent
|
|
3
|
-
// Built from source at 2026-06-
|
|
3
|
+
// Built from source at 2026-06-05T23:04:50.182Z
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
var __create = Object.create;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -115958,7 +115958,7 @@ var init_auth = __esm(() => {
|
|
|
115958
115958
|
|
|
115959
115959
|
// src/utils/userAgent.ts
|
|
115960
115960
|
function getVivusCodeUserAgent() {
|
|
115961
|
-
return `vivus/${"1.0.
|
|
115961
|
+
return `vivus/${"1.0.5+c258d3c"}`;
|
|
115962
115962
|
}
|
|
115963
115963
|
|
|
115964
115964
|
// src/utils/workloadContext.ts
|
|
@@ -115980,7 +115980,7 @@ function getUserAgent() {
|
|
|
115980
115980
|
const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
|
|
115981
115981
|
const workload = getWorkload();
|
|
115982
115982
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
115983
|
-
return `vivus-cli/${"1.0.
|
|
115983
|
+
return `vivus-cli/${"1.0.5+c258d3c"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
115984
115984
|
}
|
|
115985
115985
|
function getMCPUserAgent() {
|
|
115986
115986
|
const parts = [];
|
|
@@ -115994,7 +115994,7 @@ function getMCPUserAgent() {
|
|
|
115994
115994
|
parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
|
|
115995
115995
|
}
|
|
115996
115996
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
115997
|
-
return `vivus/${"1.0.
|
|
115997
|
+
return `vivus/${"1.0.5+c258d3c"}${suffix}`;
|
|
115998
115998
|
}
|
|
115999
115999
|
function getWebFetchUserAgent() {
|
|
116000
116000
|
return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -116132,7 +116132,7 @@ var init_user = __esm(() => {
|
|
|
116132
116132
|
deviceId,
|
|
116133
116133
|
sessionId: getSessionId(),
|
|
116134
116134
|
email: getEmail(),
|
|
116135
|
-
appVersion: "1.0.
|
|
116135
|
+
appVersion: "1.0.5+c258d3c",
|
|
116136
116136
|
platform: getHostPlatformForAnalytics(),
|
|
116137
116137
|
organizationUuid,
|
|
116138
116138
|
accountUuid,
|
|
@@ -127798,7 +127798,7 @@ var init_metadata = __esm(() => {
|
|
|
127798
127798
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
127799
127799
|
WHITESPACE_REGEX = /\s+/;
|
|
127800
127800
|
getVersionBase = memoize_default(() => {
|
|
127801
|
-
const match = "1.0.
|
|
127801
|
+
const match = "1.0.5+c258d3c".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
127802
127802
|
return match ? match[0] : undefined;
|
|
127803
127803
|
});
|
|
127804
127804
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -127838,9 +127838,9 @@ var init_metadata = __esm(() => {
|
|
|
127838
127838
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
127839
127839
|
isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
|
|
127840
127840
|
isVivusAiAuth: isVivusAISubscriber(),
|
|
127841
|
-
version: "1.0.
|
|
127841
|
+
version: "1.0.5+c258d3c",
|
|
127842
127842
|
versionBase: getVersionBase(),
|
|
127843
|
-
buildTime: "2026-06-
|
|
127843
|
+
buildTime: "2026-06-05T23:04:49.594Z",
|
|
127844
127844
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
127845
127845
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
127846
127846
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -128508,7 +128508,7 @@ function initialize1PEventLogging() {
|
|
|
128508
128508
|
const platform2 = getPlatform();
|
|
128509
128509
|
const attributes = {
|
|
128510
128510
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
|
|
128511
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.
|
|
128511
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.5+c258d3c"
|
|
128512
128512
|
};
|
|
128513
128513
|
if (platform2 === "wsl") {
|
|
128514
128514
|
const wslVersion = getWslVersion();
|
|
@@ -128535,7 +128535,7 @@ function initialize1PEventLogging() {
|
|
|
128535
128535
|
})
|
|
128536
128536
|
]
|
|
128537
128537
|
});
|
|
128538
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.
|
|
128538
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
|
|
128539
128539
|
}
|
|
128540
128540
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
128541
128541
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -162624,7 +162624,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
162624
162624
|
if (!isAttributionHeaderEnabled()) {
|
|
162625
162625
|
return "";
|
|
162626
162626
|
}
|
|
162627
|
-
const version2 = `${"1.0.
|
|
162627
|
+
const version2 = `${"1.0.5+c258d3c"}.${fingerprint}`;
|
|
162628
162628
|
const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
|
|
162629
162629
|
const cch = "";
|
|
162630
162630
|
const workload = getWorkload();
|
|
@@ -175781,7 +175781,7 @@ function getTelemetryAttributes() {
|
|
|
175781
175781
|
attributes["session.id"] = sessionId;
|
|
175782
175782
|
}
|
|
175783
175783
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
175784
|
-
attributes["app.version"] = "1.0.
|
|
175784
|
+
attributes["app.version"] = "1.0.5+c258d3c";
|
|
175785
175785
|
}
|
|
175786
175786
|
const oauthAccount = getOauthAccountInfo();
|
|
175787
175787
|
if (oauthAccount) {
|
|
@@ -235915,7 +235915,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
235915
235915
|
}
|
|
235916
235916
|
function computeFingerprintFromMessages(messages) {
|
|
235917
235917
|
const firstMessageText = extractFirstMessageText(messages);
|
|
235918
|
-
return computeFingerprint(firstMessageText, "1.0.
|
|
235918
|
+
return computeFingerprint(firstMessageText, "1.0.5+c258d3c");
|
|
235919
235919
|
}
|
|
235920
235920
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
235921
235921
|
var init_fingerprint = () => {};
|
|
@@ -235957,7 +235957,7 @@ async function sideQuery(opts) {
|
|
|
235957
235957
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
235958
235958
|
}
|
|
235959
235959
|
const messageText = extractFirstUserMessageText(messages);
|
|
235960
|
-
const fingerprint = computeFingerprint(messageText, "1.0.
|
|
235960
|
+
const fingerprint = computeFingerprint(messageText, "1.0.5+c258d3c");
|
|
235961
235961
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
235962
235962
|
const systemBlocks = [
|
|
235963
235963
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -237109,7 +237109,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
237109
237109
|
const client2 = new Client({
|
|
237110
237110
|
name: "vivus",
|
|
237111
237111
|
title: "Vivus",
|
|
237112
|
-
version: "1.0.
|
|
237112
|
+
version: "1.0.5+c258d3c",
|
|
237113
237113
|
description: "Anthropic's agentic coding tool",
|
|
237114
237114
|
websiteUrl: PRODUCT_URL
|
|
237115
237115
|
}, {
|
|
@@ -237463,7 +237463,7 @@ var init_client6 = __esm(() => {
|
|
|
237463
237463
|
const client2 = new Client({
|
|
237464
237464
|
name: "vivus",
|
|
237465
237465
|
title: "Vivus",
|
|
237466
|
-
version: "1.0.
|
|
237466
|
+
version: "1.0.5+c258d3c",
|
|
237467
237467
|
description: "Anthropic's agentic coding tool",
|
|
237468
237468
|
websiteUrl: PRODUCT_URL
|
|
237469
237469
|
}, {
|
|
@@ -239521,7 +239521,7 @@ function getInstallationEnv() {
|
|
|
239521
239521
|
return;
|
|
239522
239522
|
}
|
|
239523
239523
|
function getVivusCodeVersion() {
|
|
239524
|
-
return "1.0.
|
|
239524
|
+
return "1.0.5+c258d3c";
|
|
239525
239525
|
}
|
|
239526
239526
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
239527
239527
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -272011,7 +272011,7 @@ async function initializeBetaTracing(resource) {
|
|
|
272011
272011
|
});
|
|
272012
272012
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
272013
272013
|
setLoggerProvider(loggerProvider);
|
|
272014
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.
|
|
272014
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
|
|
272015
272015
|
setEventLogger(eventLogger);
|
|
272016
272016
|
process.on("beforeExit", async () => {
|
|
272017
272017
|
await loggerProvider?.forceFlush();
|
|
@@ -272051,7 +272051,7 @@ async function initializeTelemetry() {
|
|
|
272051
272051
|
const platform5 = getPlatform();
|
|
272052
272052
|
const baseAttributes = {
|
|
272053
272053
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
|
|
272054
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.
|
|
272054
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.5+c258d3c"
|
|
272055
272055
|
};
|
|
272056
272056
|
if (platform5 === "wsl") {
|
|
272057
272057
|
const wslVersion = getWslVersion();
|
|
@@ -272096,7 +272096,7 @@ async function initializeTelemetry() {
|
|
|
272096
272096
|
} catch {}
|
|
272097
272097
|
};
|
|
272098
272098
|
registerCleanup(shutdownTelemetry2);
|
|
272099
|
-
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.
|
|
272099
|
+
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.5+c258d3c");
|
|
272100
272100
|
}
|
|
272101
272101
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
272102
272102
|
resource,
|
|
@@ -272116,7 +272116,7 @@ async function initializeTelemetry() {
|
|
|
272116
272116
|
});
|
|
272117
272117
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
272118
272118
|
setLoggerProvider(loggerProvider);
|
|
272119
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.
|
|
272119
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.5+c258d3c");
|
|
272120
272120
|
setEventLogger(eventLogger);
|
|
272121
272121
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
272122
272122
|
process.on("beforeExit", async () => {
|
|
@@ -272178,7 +272178,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
272178
272178
|
}
|
|
272179
272179
|
};
|
|
272180
272180
|
registerCleanup(shutdownTelemetry);
|
|
272181
|
-
return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.
|
|
272181
|
+
return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.5+c258d3c");
|
|
272182
272182
|
}
|
|
272183
272183
|
async function flushTelemetry() {
|
|
272184
272184
|
const meterProvider = getMeterProvider();
|
|
@@ -272864,9 +272864,9 @@ async function assertMinVersion() {
|
|
|
272864
272864
|
if (false) {}
|
|
272865
272865
|
try {
|
|
272866
272866
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
272867
|
-
if (versionConfig.minVersion && lt("1.0.
|
|
272867
|
+
if (versionConfig.minVersion && lt("1.0.5+c258d3c", versionConfig.minVersion)) {
|
|
272868
272868
|
console.error(`
|
|
272869
|
-
It looks like your version of Vivus (${"1.0.
|
|
272869
|
+
It looks like your version of Vivus (${"1.0.5+c258d3c"}) needs an update.
|
|
272870
272870
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
272871
272871
|
|
|
272872
272872
|
To update, please run:
|
|
@@ -273082,7 +273082,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
273082
273082
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
273083
273083
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
273084
273084
|
pid: process.pid,
|
|
273085
|
-
currentVersion: "1.0.
|
|
273085
|
+
currentVersion: "1.0.5+c258d3c"
|
|
273086
273086
|
});
|
|
273087
273087
|
return "in_progress";
|
|
273088
273088
|
}
|
|
@@ -273091,7 +273091,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
273091
273091
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
273092
273092
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
273093
273093
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
273094
|
-
currentVersion: "1.0.
|
|
273094
|
+
currentVersion: "1.0.5+c258d3c"
|
|
273095
273095
|
});
|
|
273096
273096
|
console.error(`
|
|
273097
273097
|
Error: Windows NPM detected in WSL
|
|
@@ -273624,7 +273624,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
273624
273624
|
}
|
|
273625
273625
|
async function getDoctorDiagnostic() {
|
|
273626
273626
|
const installationType = await getCurrentInstallationType();
|
|
273627
|
-
const version2 = typeof MACRO !== "undefined" ? "1.0.
|
|
273627
|
+
const version2 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
|
|
273628
273628
|
const installationPath = await getInstallationPath();
|
|
273629
273629
|
const invokedBinary = getInvokedBinary();
|
|
273630
273630
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -274557,8 +274557,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274557
274557
|
const maxVersion = await getMaxVersion();
|
|
274558
274558
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
274559
274559
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
274560
|
-
if (gte("1.0.
|
|
274561
|
-
logForDebugging(`Native installer: current version ${"1.0.
|
|
274560
|
+
if (gte("1.0.5+c258d3c", maxVersion)) {
|
|
274561
|
+
logForDebugging(`Native installer: current version ${"1.0.5+c258d3c"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
274562
274562
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
274563
274563
|
latency_ms: Date.now() - startTime,
|
|
274564
274564
|
max_version: maxVersion,
|
|
@@ -274569,7 +274569,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274569
274569
|
version2 = maxVersion;
|
|
274570
274570
|
}
|
|
274571
274571
|
}
|
|
274572
|
-
if (!forceReinstall && version2 === "1.0.
|
|
274572
|
+
if (!forceReinstall && version2 === "1.0.5+c258d3c" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
|
|
274573
274573
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
274574
274574
|
logEvent("tengu_native_update_complete", {
|
|
274575
274575
|
latency_ms: Date.now() - startTime,
|
|
@@ -330609,7 +330609,7 @@ function getAnthropicEnvMetadata() {
|
|
|
330609
330609
|
function getBuildAgeMinutes() {
|
|
330610
330610
|
if (false)
|
|
330611
330611
|
;
|
|
330612
|
-
const buildTime = new Date("2026-06-
|
|
330612
|
+
const buildTime = new Date("2026-06-05T23:04:49.594Z").getTime();
|
|
330613
330613
|
if (isNaN(buildTime))
|
|
330614
330614
|
return;
|
|
330615
330615
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -360919,6 +360919,12 @@ function getOpusPlanOption() {
|
|
|
360919
360919
|
};
|
|
360920
360920
|
}
|
|
360921
360921
|
function getModelOptionsBase(fastMode = false) {
|
|
360922
|
+
if (!isFirstPartyAnthropicBaseUrl()) {
|
|
360923
|
+
const proxyCache = getGlobalConfig().additionalModelOptionsCache ?? [];
|
|
360924
|
+
if (proxyCache.length > 0) {
|
|
360925
|
+
return [getDefaultOptionForUser(fastMode), ...proxyCache];
|
|
360926
|
+
}
|
|
360927
|
+
}
|
|
360922
360928
|
if (process.env.USER_TYPE === "ant") {
|
|
360923
360929
|
const antModelOptions = getAntModels().map((m) => ({
|
|
360924
360930
|
value: m.alias,
|
|
@@ -377824,7 +377830,7 @@ var init_filesystem = __esm(() => {
|
|
|
377824
377830
|
});
|
|
377825
377831
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
377826
377832
|
const nonce = randomBytes17(16).toString("hex");
|
|
377827
|
-
return join106(getVivusTempDir(), "bundled-skills", "1.0.
|
|
377833
|
+
return join106(getVivusTempDir(), "bundled-skills", "1.0.5+c258d3c", nonce);
|
|
377828
377834
|
});
|
|
377829
377835
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
377830
377836
|
});
|
|
@@ -379584,7 +379590,7 @@ function Feedback({
|
|
|
379584
379590
|
platform: env2.platform,
|
|
379585
379591
|
gitRepo: envInfo.isGit,
|
|
379586
379592
|
terminal: env2.terminal,
|
|
379587
|
-
version: "1.0.
|
|
379593
|
+
version: "1.0.5+c258d3c",
|
|
379588
379594
|
transcript: normalizeMessagesForAPI(messages),
|
|
379589
379595
|
errors: sanitizedErrors,
|
|
379590
379596
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -379776,7 +379782,7 @@ function Feedback({
|
|
|
379776
379782
|
", ",
|
|
379777
379783
|
env2.terminal,
|
|
379778
379784
|
", v",
|
|
379779
|
-
"1.0.
|
|
379785
|
+
"1.0.5+c258d3c"
|
|
379780
379786
|
]
|
|
379781
379787
|
}, undefined, true, undefined, this)
|
|
379782
379788
|
]
|
|
@@ -379882,7 +379888,7 @@ ${sanitizedDescription}
|
|
|
379882
379888
|
` + `**Environment Info**
|
|
379883
379889
|
` + `- Platform: ${env2.platform}
|
|
379884
379890
|
` + `- Terminal: ${env2.terminal}
|
|
379885
|
-
` + `- Version: ${"1.0.
|
|
379891
|
+
` + `- Version: ${"1.0.5+c258d3c"}
|
|
379886
379892
|
` + `- Feedback ID: ${feedbackId}
|
|
379887
379893
|
` + `
|
|
379888
379894
|
**Errors**
|
|
@@ -383013,7 +383019,7 @@ function buildPrimarySection() {
|
|
|
383013
383019
|
}, undefined, false, undefined, this);
|
|
383014
383020
|
return [{
|
|
383015
383021
|
label: "Version",
|
|
383016
|
-
value: "1.0.
|
|
383022
|
+
value: "1.0.5+c258d3c"
|
|
383017
383023
|
}, {
|
|
383018
383024
|
label: "Session name",
|
|
383019
383025
|
value: nameValue
|
|
@@ -386764,7 +386770,7 @@ function Config({
|
|
|
386764
386770
|
}
|
|
386765
386771
|
}, undefined, false, undefined, this)
|
|
386766
386772
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
386767
|
-
currentVersion: "1.0.
|
|
386773
|
+
currentVersion: "1.0.5+c258d3c",
|
|
386768
386774
|
onChoice: (choice) => {
|
|
386769
386775
|
setShowSubmenu(null);
|
|
386770
386776
|
setTabsHidden(false);
|
|
@@ -386776,7 +386782,7 @@ function Config({
|
|
|
386776
386782
|
autoUpdatesChannel: "stable"
|
|
386777
386783
|
};
|
|
386778
386784
|
if (choice === "stay") {
|
|
386779
|
-
newSettings.minimumVersion = "1.0.
|
|
386785
|
+
newSettings.minimumVersion = "1.0.5+c258d3c";
|
|
386780
386786
|
}
|
|
386781
386787
|
updateSettingsForSource("userSettings", newSettings);
|
|
386782
386788
|
setSettingsData((prev_27) => ({
|
|
@@ -394862,7 +394868,7 @@ function HelpV2(t0) {
|
|
|
394862
394868
|
let t6;
|
|
394863
394869
|
if ($2[31] !== tabs) {
|
|
394864
394870
|
t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
|
|
394865
|
-
title: `Vivus v${"1.0.
|
|
394871
|
+
title: `Vivus v${"1.0.5+c258d3c"}`,
|
|
394866
394872
|
color: "professionalBlue",
|
|
394867
394873
|
defaultTab: "general",
|
|
394868
394874
|
children: tabs
|
|
@@ -419087,7 +419093,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
419087
419093
|
return [];
|
|
419088
419094
|
}
|
|
419089
419095
|
}
|
|
419090
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.
|
|
419096
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
|
|
419091
419097
|
if (process.env.USER_TYPE === "ant") {
|
|
419092
419098
|
const changelog = "";
|
|
419093
419099
|
if (changelog) {
|
|
@@ -419114,7 +419120,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.4+b41
|
|
|
419114
419120
|
releaseNotes
|
|
419115
419121
|
};
|
|
419116
419122
|
}
|
|
419117
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.
|
|
419123
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
|
|
419118
419124
|
if (process.env.USER_TYPE === "ant") {
|
|
419119
419125
|
const changelog = "";
|
|
419120
419126
|
if (changelog) {
|
|
@@ -420284,7 +420290,7 @@ function getRecentActivitySync() {
|
|
|
420284
420290
|
return cachedActivity;
|
|
420285
420291
|
}
|
|
420286
420292
|
function getLogoDisplayData() {
|
|
420287
|
-
const version2 = process.env.DEMO_VERSION ?? "1.0.
|
|
420293
|
+
const version2 = process.env.DEMO_VERSION ?? "1.0.5+c258d3c";
|
|
420288
420294
|
const serverUrl = getDirectConnectServerUrl();
|
|
420289
420295
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
420290
420296
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -421811,7 +421817,7 @@ function LogoV2() {
|
|
|
421811
421817
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
421812
421818
|
t2 = () => {
|
|
421813
421819
|
const currentConfig = getGlobalConfig();
|
|
421814
|
-
if (currentConfig.lastReleaseNotesSeen === "1.0.
|
|
421820
|
+
if (currentConfig.lastReleaseNotesSeen === "1.0.5+c258d3c") {
|
|
421815
421821
|
return;
|
|
421816
421822
|
}
|
|
421817
421823
|
saveGlobalConfig(_temp329);
|
|
@@ -422487,12 +422493,12 @@ function LogoV2() {
|
|
|
422487
422493
|
return t41;
|
|
422488
422494
|
}
|
|
422489
422495
|
function _temp329(current) {
|
|
422490
|
-
if (current.lastReleaseNotesSeen === "1.0.
|
|
422496
|
+
if (current.lastReleaseNotesSeen === "1.0.5+c258d3c") {
|
|
422491
422497
|
return current;
|
|
422492
422498
|
}
|
|
422493
422499
|
return {
|
|
422494
422500
|
...current,
|
|
422495
|
-
lastReleaseNotesSeen: "1.0.
|
|
422501
|
+
lastReleaseNotesSeen: "1.0.5+c258d3c"
|
|
422496
422502
|
};
|
|
422497
422503
|
}
|
|
422498
422504
|
function _temp245(s_0) {
|
|
@@ -448789,7 +448795,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
448789
448795
|
smapsRollup,
|
|
448790
448796
|
platform: process.platform,
|
|
448791
448797
|
nodeVersion: process.version,
|
|
448792
|
-
ccVersion: "1.0.
|
|
448798
|
+
ccVersion: "1.0.5+c258d3c"
|
|
448793
448799
|
};
|
|
448794
448800
|
}
|
|
448795
448801
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -449375,7 +449381,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
449375
449381
|
var call56 = async () => {
|
|
449376
449382
|
return {
|
|
449377
449383
|
type: "text",
|
|
449378
|
-
value: `${"1.0.
|
|
449384
|
+
value: `${"1.0.5+c258d3c"} (built ${"2026-06-05T23:04:49.594Z"})`
|
|
449379
449385
|
};
|
|
449380
449386
|
}, version2, version_default;
|
|
449381
449387
|
var init_version = __esm(() => {
|
|
@@ -458338,7 +458344,7 @@ function generateHtmlReport(data, insights) {
|
|
|
458338
458344
|
</html>`;
|
|
458339
458345
|
}
|
|
458340
458346
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
458341
|
-
const version3 = typeof MACRO !== "undefined" ? "1.0.
|
|
458347
|
+
const version3 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
|
|
458342
458348
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
458343
458349
|
const facets_summary = {
|
|
458344
458350
|
total: facets.size,
|
|
@@ -462447,7 +462453,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
462447
462453
|
init_settings2();
|
|
462448
462454
|
init_slowOperations();
|
|
462449
462455
|
init_uuid();
|
|
462450
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.0.
|
|
462456
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
|
|
462451
462457
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
462452
462458
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
462453
462459
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -465318,7 +465324,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
465318
465324
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
465319
465325
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
465320
465326
|
betas: getSdkBetas(),
|
|
465321
|
-
vivus_code_version: "1.0.
|
|
465327
|
+
vivus_code_version: "1.0.5+c258d3c",
|
|
465322
465328
|
output_style: outputStyle2,
|
|
465323
465329
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
465324
465330
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -479946,7 +479952,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
479946
479952
|
function getSemverPart(version3) {
|
|
479947
479953
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
479948
479954
|
}
|
|
479949
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.0.
|
|
479955
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.0.5+c258d3c") {
|
|
479950
479956
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
|
|
479951
479957
|
if (!updatedVersion) {
|
|
479952
479958
|
return null;
|
|
@@ -479986,7 +479992,7 @@ function AutoUpdater({
|
|
|
479986
479992
|
return;
|
|
479987
479993
|
}
|
|
479988
479994
|
if (false) {}
|
|
479989
|
-
const currentVersion = "1.0.
|
|
479995
|
+
const currentVersion = "1.0.5+c258d3c";
|
|
479990
479996
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
479991
479997
|
let latestVersion = await getLatestVersion(channel);
|
|
479992
479998
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -480199,12 +480205,12 @@ function NativeAutoUpdater({
|
|
|
480199
480205
|
logEvent("tengu_native_auto_updater_start", {});
|
|
480200
480206
|
try {
|
|
480201
480207
|
const maxVersion = await getMaxVersion();
|
|
480202
|
-
if (maxVersion && gt("1.0.
|
|
480208
|
+
if (maxVersion && gt("1.0.5+c258d3c", maxVersion)) {
|
|
480203
480209
|
const msg = await getMaxVersionMessage();
|
|
480204
480210
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
480205
480211
|
}
|
|
480206
480212
|
const result = await installLatest(channel);
|
|
480207
|
-
const currentVersion = "1.0.
|
|
480213
|
+
const currentVersion = "1.0.5+c258d3c";
|
|
480208
480214
|
const latencyMs = Date.now() - startTime;
|
|
480209
480215
|
if (result.lockFailed) {
|
|
480210
480216
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -480341,17 +480347,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480341
480347
|
const maxVersion = await getMaxVersion();
|
|
480342
480348
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
480343
480349
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
480344
|
-
if (gte("1.0.
|
|
480345
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.
|
|
480350
|
+
if (gte("1.0.5+c258d3c", maxVersion)) {
|
|
480351
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.5+c258d3c"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
480346
480352
|
setUpdateAvailable(false);
|
|
480347
480353
|
return;
|
|
480348
480354
|
}
|
|
480349
480355
|
latest = maxVersion;
|
|
480350
480356
|
}
|
|
480351
|
-
const hasUpdate = latest && !gte("1.0.
|
|
480357
|
+
const hasUpdate = latest && !gte("1.0.5+c258d3c", latest) && !shouldSkipVersion(latest);
|
|
480352
480358
|
setUpdateAvailable(!!hasUpdate);
|
|
480353
480359
|
if (hasUpdate) {
|
|
480354
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.
|
|
480360
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.5+c258d3c"} -> ${latest}`);
|
|
480355
480361
|
}
|
|
480356
480362
|
};
|
|
480357
480363
|
$2[0] = t1;
|
|
@@ -480385,7 +480391,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480385
480391
|
wrap: "truncate",
|
|
480386
480392
|
children: [
|
|
480387
480393
|
"currentVersion: ",
|
|
480388
|
-
"1.0.
|
|
480394
|
+
"1.0.5+c258d3c"
|
|
480389
480395
|
]
|
|
480390
480396
|
}, undefined, true, undefined, this);
|
|
480391
480397
|
$2[3] = verbose;
|
|
@@ -488553,7 +488559,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
488553
488559
|
project_dir: getOriginalCwd(),
|
|
488554
488560
|
added_dirs: addedDirs
|
|
488555
488561
|
},
|
|
488556
|
-
version: "1.0.
|
|
488562
|
+
version: "1.0.5+c258d3c",
|
|
488557
488563
|
output_style: {
|
|
488558
488564
|
name: outputStyleName
|
|
488559
488565
|
},
|
|
@@ -500037,7 +500043,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
500037
500043
|
} catch {}
|
|
500038
500044
|
const data = {
|
|
500039
500045
|
trigger,
|
|
500040
|
-
version: "1.0.
|
|
500046
|
+
version: "1.0.5+c258d3c",
|
|
500041
500047
|
platform: process.platform,
|
|
500042
500048
|
transcript,
|
|
500043
500049
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -511443,7 +511449,7 @@ function WelcomeV2() {
|
|
|
511443
511449
|
dimColor: true,
|
|
511444
511450
|
children: [
|
|
511445
511451
|
"v",
|
|
511446
|
-
"1.0.
|
|
511452
|
+
"1.0.5+c258d3c",
|
|
511447
511453
|
" "
|
|
511448
511454
|
]
|
|
511449
511455
|
}, undefined, true, undefined, this)
|
|
@@ -511643,7 +511649,7 @@ function WelcomeV2() {
|
|
|
511643
511649
|
dimColor: true,
|
|
511644
511650
|
children: [
|
|
511645
511651
|
"v",
|
|
511646
|
-
"1.0.
|
|
511652
|
+
"1.0.5+c258d3c",
|
|
511647
511653
|
" "
|
|
511648
511654
|
]
|
|
511649
511655
|
}, undefined, true, undefined, this)
|
|
@@ -511869,7 +511875,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
511869
511875
|
dimColor: true,
|
|
511870
511876
|
children: [
|
|
511871
511877
|
"v",
|
|
511872
|
-
"1.0.
|
|
511878
|
+
"1.0.5+c258d3c",
|
|
511873
511879
|
" "
|
|
511874
511880
|
]
|
|
511875
511881
|
}, undefined, true, undefined, this);
|
|
@@ -512123,7 +512129,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
512123
512129
|
dimColor: true,
|
|
512124
512130
|
children: [
|
|
512125
512131
|
"v",
|
|
512126
|
-
"1.0.
|
|
512132
|
+
"1.0.5+c258d3c",
|
|
512127
512133
|
" "
|
|
512128
512134
|
]
|
|
512129
512135
|
}, undefined, true, undefined, this);
|
|
@@ -515187,7 +515193,7 @@ function appendToLog(path25, message) {
|
|
|
515187
515193
|
cwd: getFsImplementation().cwd(),
|
|
515188
515194
|
userType: process.env.USER_TYPE,
|
|
515189
515195
|
sessionId: getSessionId(),
|
|
515190
|
-
version: "1.0.
|
|
515196
|
+
version: "1.0.5+c258d3c"
|
|
515191
515197
|
};
|
|
515192
515198
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
515193
515199
|
}
|
|
@@ -519172,8 +519178,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
519172
519178
|
}
|
|
519173
519179
|
async function checkEnvLessBridgeMinVersion() {
|
|
519174
519180
|
const cfg = await getEnvLessBridgeConfig();
|
|
519175
|
-
if (cfg.min_version && lt("1.0.
|
|
519176
|
-
return `Your version of Vivus (${"1.0.
|
|
519181
|
+
if (cfg.min_version && lt("1.0.5+c258d3c", cfg.min_version)) {
|
|
519182
|
+
return `Your version of Vivus (${"1.0.5+c258d3c"}) is too old for Remote Control.
|
|
519177
519183
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
519178
519184
|
}
|
|
519179
519185
|
return null;
|
|
@@ -519647,7 +519653,7 @@ async function initBridgeCore(params) {
|
|
|
519647
519653
|
const rawApi = createBridgeApiClient({
|
|
519648
519654
|
baseUrl,
|
|
519649
519655
|
getAccessToken,
|
|
519650
|
-
runnerVersion: "1.0.
|
|
519656
|
+
runnerVersion: "1.0.5+c258d3c",
|
|
519651
519657
|
onDebug: logForDebugging,
|
|
519652
519658
|
onAuth401,
|
|
519653
519659
|
getTrustedDeviceToken
|
|
@@ -525311,7 +525317,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
525311
525317
|
setCwd(cwd3);
|
|
525312
525318
|
const server = new Server({
|
|
525313
525319
|
name: "vivus/tengu",
|
|
525314
|
-
version: "1.0.
|
|
525320
|
+
version: "1.0.5+c258d3c"
|
|
525315
525321
|
}, {
|
|
525316
525322
|
capabilities: {
|
|
525317
525323
|
tools: {}
|
|
@@ -526922,7 +526928,7 @@ __export(exports_update, {
|
|
|
526922
526928
|
});
|
|
526923
526929
|
async function update() {
|
|
526924
526930
|
logEvent("tengu_update_check", {});
|
|
526925
|
-
writeToStdout(`Current version: ${"1.0.
|
|
526931
|
+
writeToStdout(`Current version: ${"1.0.5+c258d3c"}
|
|
526926
526932
|
`);
|
|
526927
526933
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
526928
526934
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -526997,8 +527003,8 @@ async function update() {
|
|
|
526997
527003
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
526998
527004
|
`);
|
|
526999
527005
|
const latest = await getLatestVersion(channel);
|
|
527000
|
-
if (latest && !gte("1.0.
|
|
527001
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527006
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527007
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
527002
527008
|
`);
|
|
527003
527009
|
writeToStdout(`
|
|
527004
527010
|
`);
|
|
@@ -527014,8 +527020,8 @@ async function update() {
|
|
|
527014
527020
|
writeToStdout(`Vivus is managed by winget.
|
|
527015
527021
|
`);
|
|
527016
527022
|
const latest = await getLatestVersion(channel);
|
|
527017
|
-
if (latest && !gte("1.0.
|
|
527018
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527023
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527024
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
527019
527025
|
`);
|
|
527020
527026
|
writeToStdout(`
|
|
527021
527027
|
`);
|
|
@@ -527031,8 +527037,8 @@ async function update() {
|
|
|
527031
527037
|
writeToStdout(`Vivus is managed by apk.
|
|
527032
527038
|
`);
|
|
527033
527039
|
const latest = await getLatestVersion(channel);
|
|
527034
|
-
if (latest && !gte("1.0.
|
|
527035
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527040
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527041
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
527036
527042
|
`);
|
|
527037
527043
|
writeToStdout(`
|
|
527038
527044
|
`);
|
|
@@ -527097,11 +527103,11 @@ async function update() {
|
|
|
527097
527103
|
`);
|
|
527098
527104
|
await gracefulShutdown(1);
|
|
527099
527105
|
}
|
|
527100
|
-
if (result.latestVersion === "1.0.
|
|
527101
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.
|
|
527106
|
+
if (result.latestVersion === "1.0.5+c258d3c") {
|
|
527107
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.5+c258d3c"})`) + `
|
|
527102
527108
|
`);
|
|
527103
527109
|
} else {
|
|
527104
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.0.
|
|
527110
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.5+c258d3c"} to version ${result.latestVersion}`) + `
|
|
527105
527111
|
`);
|
|
527106
527112
|
await regenerateCompletionCache();
|
|
527107
527113
|
}
|
|
@@ -527158,12 +527164,12 @@ async function update() {
|
|
|
527158
527164
|
`);
|
|
527159
527165
|
await gracefulShutdown(1);
|
|
527160
527166
|
}
|
|
527161
|
-
if (latestVersion === "1.0.
|
|
527162
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.
|
|
527167
|
+
if (latestVersion === "1.0.5+c258d3c") {
|
|
527168
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.5+c258d3c"})`) + `
|
|
527163
527169
|
`);
|
|
527164
527170
|
await gracefulShutdown(0);
|
|
527165
527171
|
}
|
|
527166
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.
|
|
527172
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.5+c258d3c"})
|
|
527167
527173
|
`);
|
|
527168
527174
|
writeToStdout(`Installing update...
|
|
527169
527175
|
`);
|
|
@@ -527208,7 +527214,7 @@ async function update() {
|
|
|
527208
527214
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
527209
527215
|
switch (status2) {
|
|
527210
527216
|
case "success":
|
|
527211
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.0.
|
|
527217
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.5+c258d3c"} to version ${latestVersion}`) + `
|
|
527212
527218
|
`);
|
|
527213
527219
|
await regenerateCompletionCache();
|
|
527214
527220
|
break;
|
|
@@ -527636,15 +527642,82 @@ async function fetchBootstrapAPI() {
|
|
|
527636
527642
|
throw error41;
|
|
527637
527643
|
}
|
|
527638
527644
|
}
|
|
527645
|
+
function titleCaseModelName(name) {
|
|
527646
|
+
const base2 = name.replace(/:latest$/, "");
|
|
527647
|
+
if (!base2)
|
|
527648
|
+
return name;
|
|
527649
|
+
return base2.split(/[-_/:]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
|
|
527650
|
+
}
|
|
527651
|
+
async function fetchProxyModelOptions() {
|
|
527652
|
+
if (isFirstPartyAnthropicBaseUrl())
|
|
527653
|
+
return null;
|
|
527654
|
+
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
|
527655
|
+
if (!baseUrl)
|
|
527656
|
+
return null;
|
|
527657
|
+
let tagsUrl;
|
|
527658
|
+
try {
|
|
527659
|
+
tagsUrl = new URL("/api/tags", baseUrl).toString();
|
|
527660
|
+
} catch {
|
|
527661
|
+
return null;
|
|
527662
|
+
}
|
|
527663
|
+
try {
|
|
527664
|
+
logForDebugging(`[Bootstrap] Probing proxy model list: ${tagsUrl}`);
|
|
527665
|
+
const response = await axios_default.get(tagsUrl, { timeout: 5000 });
|
|
527666
|
+
const data = response.data;
|
|
527667
|
+
const models = Array.isArray(data?.models) ? data.models : [];
|
|
527668
|
+
if (models.length === 0) {
|
|
527669
|
+
logForDebugging("[Bootstrap] Proxy returned empty model list");
|
|
527670
|
+
return [];
|
|
527671
|
+
}
|
|
527672
|
+
const options2 = [];
|
|
527673
|
+
const seen = new Set;
|
|
527674
|
+
for (const m of models) {
|
|
527675
|
+
const name = typeof m.name === "string" ? m.name : null;
|
|
527676
|
+
if (!name || seen.has(name))
|
|
527677
|
+
continue;
|
|
527678
|
+
seen.add(name);
|
|
527679
|
+
const details = m.details ?? {};
|
|
527680
|
+
const family = typeof details.family === "string" ? details.family : null;
|
|
527681
|
+
const paramSize = typeof details.parameter_size === "string" ? details.parameter_size : null;
|
|
527682
|
+
const descParts = [];
|
|
527683
|
+
if (family)
|
|
527684
|
+
descParts.push(family);
|
|
527685
|
+
if (paramSize)
|
|
527686
|
+
descParts.push(paramSize);
|
|
527687
|
+
const description = descParts.length > 0 ? descParts.join(" · ") : name;
|
|
527688
|
+
options2.push({
|
|
527689
|
+
value: name,
|
|
527690
|
+
label: titleCaseModelName(name),
|
|
527691
|
+
description
|
|
527692
|
+
});
|
|
527693
|
+
}
|
|
527694
|
+
logForDebugging(`[Bootstrap] Proxy model list: ${options2.map((o2) => o2.value).join(", ")}`);
|
|
527695
|
+
return options2;
|
|
527696
|
+
} catch (error41) {
|
|
527697
|
+
logForDebugging(`[Bootstrap] Proxy /api/tags fetch failed: ${axios_default.isAxiosError(error41) ? error41.response?.status ?? error41.code : "unknown"}`);
|
|
527698
|
+
return null;
|
|
527699
|
+
}
|
|
527700
|
+
}
|
|
527639
527701
|
async function fetchBootstrapData() {
|
|
527640
527702
|
try {
|
|
527641
|
-
const response = await
|
|
527642
|
-
|
|
527703
|
+
const [response, proxyModels] = await Promise.all([
|
|
527704
|
+
fetchBootstrapAPI().catch(() => null),
|
|
527705
|
+
fetchProxyModelOptions()
|
|
527706
|
+
]);
|
|
527707
|
+
if (!response && !proxyModels)
|
|
527643
527708
|
return;
|
|
527644
|
-
const clientData = response
|
|
527645
|
-
const
|
|
527709
|
+
const clientData = response?.client_data ?? null;
|
|
527710
|
+
const apiOptions = response?.additional_model_options ?? [];
|
|
527711
|
+
const merged = [...apiOptions];
|
|
527712
|
+
if (proxyModels) {
|
|
527713
|
+
for (const opt of proxyModels) {
|
|
527714
|
+
if (!merged.some((existing) => existing.value === opt.value)) {
|
|
527715
|
+
merged.push(opt);
|
|
527716
|
+
}
|
|
527717
|
+
}
|
|
527718
|
+
}
|
|
527646
527719
|
const config4 = getGlobalConfig();
|
|
527647
|
-
if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache,
|
|
527720
|
+
if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, merged)) {
|
|
527648
527721
|
logForDebugging("[Bootstrap] Cache unchanged, skipping write");
|
|
527649
527722
|
return;
|
|
527650
527723
|
}
|
|
@@ -527652,7 +527725,7 @@ async function fetchBootstrapData() {
|
|
|
527652
527725
|
saveGlobalConfig((current) => ({
|
|
527653
527726
|
...current,
|
|
527654
527727
|
clientDataCache: clientData,
|
|
527655
|
-
additionalModelOptionsCache:
|
|
527728
|
+
additionalModelOptionsCache: merged
|
|
527656
527729
|
}));
|
|
527657
527730
|
} catch (error41) {
|
|
527658
527731
|
logError2(error41);
|
|
@@ -528178,7 +528251,7 @@ function completeOnboarding() {
|
|
|
528178
528251
|
saveGlobalConfig((current) => ({
|
|
528179
528252
|
...current,
|
|
528180
528253
|
hasCompletedOnboarding: true,
|
|
528181
|
-
lastOnboardingVersion: "1.0.
|
|
528254
|
+
lastOnboardingVersion: "1.0.5+c258d3c"
|
|
528182
528255
|
}));
|
|
528183
528256
|
}
|
|
528184
528257
|
function showDialog(root2, renderer) {
|
|
@@ -532267,7 +532340,7 @@ ${customInstructions}` : customInstructions;
|
|
|
532267
532340
|
}
|
|
532268
532341
|
}
|
|
532269
532342
|
logForDiagnosticsNoPII("info", "started", {
|
|
532270
|
-
version: "1.0.
|
|
532343
|
+
version: "1.0.5+c258d3c",
|
|
532271
532344
|
is_native_binary: isInBundledMode()
|
|
532272
532345
|
});
|
|
532273
532346
|
registerCleanup(async () => {
|
|
@@ -533051,7 +533124,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
533051
533124
|
pendingHookMessages
|
|
533052
533125
|
}, renderAndRun);
|
|
533053
533126
|
}
|
|
533054
|
-
}).version("1.0.
|
|
533127
|
+
}).version("1.0.5+c258d3c (Vivus)", "-v, --version", "Output the version number");
|
|
533055
533128
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
533056
533129
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
533057
533130
|
if (canUserConfigureAdvisor()) {
|