vivus-agent 1.0.3 → 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 +300 -100
- 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,
|
|
@@ -289435,17 +289435,19 @@ function OAuthStatusMessage(t0) {
|
|
|
289435
289435
|
setOAuthStatus({
|
|
289436
289436
|
state: "platform_setup"
|
|
289437
289437
|
});
|
|
289438
|
+
} else if (value_0 === "vivusai") {
|
|
289439
|
+
logEvent("tengu_oauth_vivusai_selected", {});
|
|
289440
|
+
setLoginWithVivusAi(true);
|
|
289441
|
+
setOAuthStatus({
|
|
289442
|
+
state: "manual_credentials",
|
|
289443
|
+
step: "url"
|
|
289444
|
+
});
|
|
289438
289445
|
} else {
|
|
289446
|
+
logEvent("tengu_oauth_console_selected", {});
|
|
289447
|
+
setLoginWithVivusAi(false);
|
|
289439
289448
|
setOAuthStatus({
|
|
289440
289449
|
state: "ready_to_start"
|
|
289441
289450
|
});
|
|
289442
|
-
if (value_0 === "vivusai") {
|
|
289443
|
-
logEvent("tengu_oauth_vivusai_selected", {});
|
|
289444
|
-
setLoginWithVivusAi(true);
|
|
289445
|
-
} else {
|
|
289446
|
-
logEvent("tengu_oauth_console_selected", {});
|
|
289447
|
-
setLoginWithVivusAi(false);
|
|
289448
|
-
}
|
|
289449
289451
|
}
|
|
289450
289452
|
}
|
|
289451
289453
|
}, undefined, false, undefined, this)
|
|
@@ -289608,6 +289610,27 @@ function OAuthStatusMessage(t0) {
|
|
|
289608
289610
|
}
|
|
289609
289611
|
return t8;
|
|
289610
289612
|
}
|
|
289613
|
+
case "manual_credentials": {
|
|
289614
|
+
return /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ManualCredentialsPrompt, {
|
|
289615
|
+
status: oauthStatus,
|
|
289616
|
+
setOAuthStatus,
|
|
289617
|
+
textInputColumns
|
|
289618
|
+
}, undefined, false, undefined, this);
|
|
289619
|
+
}
|
|
289620
|
+
case "manual_saving": {
|
|
289621
|
+
return /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedBox_default, {
|
|
289622
|
+
flexDirection: "column",
|
|
289623
|
+
gap: 1,
|
|
289624
|
+
children: /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedBox_default, {
|
|
289625
|
+
children: [
|
|
289626
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
289627
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289628
|
+
children: "Saving credentials…"
|
|
289629
|
+
}, undefined, false, undefined, this)
|
|
289630
|
+
]
|
|
289631
|
+
}, undefined, true, undefined, this)
|
|
289632
|
+
}, undefined, false, undefined, this);
|
|
289633
|
+
}
|
|
289611
289634
|
case "waiting_for_login": {
|
|
289612
289635
|
let t1;
|
|
289613
289636
|
if ($2[20] !== forcedMethodMessage) {
|
|
@@ -289831,6 +289854,110 @@ function OAuthStatusMessage(t0) {
|
|
|
289831
289854
|
}
|
|
289832
289855
|
}
|
|
289833
289856
|
}
|
|
289857
|
+
function ManualCredentialsPrompt({
|
|
289858
|
+
status,
|
|
289859
|
+
setOAuthStatus,
|
|
289860
|
+
textInputColumns
|
|
289861
|
+
}) {
|
|
289862
|
+
const [value, setValue] = import_react70.useState("");
|
|
289863
|
+
const [cursor, setCursor] = import_react70.useState(0);
|
|
289864
|
+
const step = status.step;
|
|
289865
|
+
const isUrlStep = step === "url";
|
|
289866
|
+
const handleSubmit = async (raw) => {
|
|
289867
|
+
const trimmed = raw.trim();
|
|
289868
|
+
if (!trimmed)
|
|
289869
|
+
return;
|
|
289870
|
+
if (isUrlStep) {
|
|
289871
|
+
let normalized = trimmed;
|
|
289872
|
+
if (!/^https?:\/\//i.test(normalized)) {
|
|
289873
|
+
normalized = "https://" + normalized;
|
|
289874
|
+
}
|
|
289875
|
+
normalized = normalized.replace(/\/+$/, "");
|
|
289876
|
+
try {
|
|
289877
|
+
new URL(normalized);
|
|
289878
|
+
} catch {
|
|
289879
|
+
setOAuthStatus({
|
|
289880
|
+
state: "error",
|
|
289881
|
+
message: "Invalid URL. Please enter a valid http(s) URL.",
|
|
289882
|
+
toRetry: { state: "manual_credentials", step: "url" }
|
|
289883
|
+
});
|
|
289884
|
+
return;
|
|
289885
|
+
}
|
|
289886
|
+
setValue("");
|
|
289887
|
+
setCursor(0);
|
|
289888
|
+
setOAuthStatus({ state: "manual_credentials", step: "token", url: normalized });
|
|
289889
|
+
return;
|
|
289890
|
+
}
|
|
289891
|
+
setOAuthStatus({ state: "manual_saving" });
|
|
289892
|
+
try {
|
|
289893
|
+
const url3 = status.url ?? "";
|
|
289894
|
+
await saveApiKey(trimmed);
|
|
289895
|
+
const result = updateSettingsForSource("userSettings", {
|
|
289896
|
+
env: { ANTHROPIC_BASE_URL: url3, VIVUS_PROXY_URL: url3 }
|
|
289897
|
+
});
|
|
289898
|
+
if (result.error)
|
|
289899
|
+
throw result.error;
|
|
289900
|
+
logEvent("tengu_vivus_manual_credentials_saved", {});
|
|
289901
|
+
setOAuthStatus({ state: "success" });
|
|
289902
|
+
} catch (err) {
|
|
289903
|
+
logError2(err);
|
|
289904
|
+
setOAuthStatus({
|
|
289905
|
+
state: "error",
|
|
289906
|
+
message: err.message,
|
|
289907
|
+
toRetry: { state: "manual_credentials", step: "url" }
|
|
289908
|
+
});
|
|
289909
|
+
}
|
|
289910
|
+
};
|
|
289911
|
+
return /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedBox_default, {
|
|
289912
|
+
flexDirection: "column",
|
|
289913
|
+
gap: 1,
|
|
289914
|
+
marginTop: 1,
|
|
289915
|
+
children: [
|
|
289916
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289917
|
+
bold: true,
|
|
289918
|
+
children: "Configure your Vivus subscription endpoint"
|
|
289919
|
+
}, undefined, false, undefined, this),
|
|
289920
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedBox_default, {
|
|
289921
|
+
flexDirection: "column",
|
|
289922
|
+
gap: 1,
|
|
289923
|
+
children: [
|
|
289924
|
+
isUrlStep ? /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289925
|
+
children: "Enter your Vivus proxy URL (e.g. https://vivus.example.com):"
|
|
289926
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime90.jsxDEV(jsx_dev_runtime90.Fragment, {
|
|
289927
|
+
children: [
|
|
289928
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289929
|
+
dimColor: true,
|
|
289930
|
+
children: [
|
|
289931
|
+
"URL: ",
|
|
289932
|
+
status.url
|
|
289933
|
+
]
|
|
289934
|
+
}, undefined, true, undefined, this),
|
|
289935
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289936
|
+
children: "Enter your API token:"
|
|
289937
|
+
}, undefined, false, undefined, this)
|
|
289938
|
+
]
|
|
289939
|
+
}, undefined, true, undefined, this),
|
|
289940
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedBox_default, {
|
|
289941
|
+
children: [
|
|
289942
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(ThemedText, {
|
|
289943
|
+
children: isUrlStep ? "> " : "> "
|
|
289944
|
+
}, undefined, false, undefined, this),
|
|
289945
|
+
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(TextInput, {
|
|
289946
|
+
value,
|
|
289947
|
+
onChange: setValue,
|
|
289948
|
+
onSubmit: handleSubmit,
|
|
289949
|
+
cursorOffset: cursor,
|
|
289950
|
+
onChangeCursorOffset: setCursor,
|
|
289951
|
+
columns: textInputColumns,
|
|
289952
|
+
mask: isUrlStep ? undefined : "*"
|
|
289953
|
+
}, undefined, false, undefined, this)
|
|
289954
|
+
]
|
|
289955
|
+
}, undefined, true, undefined, this)
|
|
289956
|
+
]
|
|
289957
|
+
}, undefined, true, undefined, this)
|
|
289958
|
+
]
|
|
289959
|
+
}, undefined, true, undefined, this);
|
|
289960
|
+
}
|
|
289834
289961
|
var import_compiler_runtime76, import_react70, jsx_dev_runtime90, PASTE_HERE_MSG = "Paste code here if prompted > ";
|
|
289835
289962
|
var init_ConsoleOAuthFlow = __esm(() => {
|
|
289836
289963
|
init_analytics();
|
|
@@ -330482,7 +330609,7 @@ function getAnthropicEnvMetadata() {
|
|
|
330482
330609
|
function getBuildAgeMinutes() {
|
|
330483
330610
|
if (false)
|
|
330484
330611
|
;
|
|
330485
|
-
const buildTime = new Date("2026-06-
|
|
330612
|
+
const buildTime = new Date("2026-06-05T23:04:49.594Z").getTime();
|
|
330486
330613
|
if (isNaN(buildTime))
|
|
330487
330614
|
return;
|
|
330488
330615
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -360792,6 +360919,12 @@ function getOpusPlanOption() {
|
|
|
360792
360919
|
};
|
|
360793
360920
|
}
|
|
360794
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
|
+
}
|
|
360795
360928
|
if (process.env.USER_TYPE === "ant") {
|
|
360796
360929
|
const antModelOptions = getAntModels().map((m) => ({
|
|
360797
360930
|
value: m.alias,
|
|
@@ -377697,7 +377830,7 @@ var init_filesystem = __esm(() => {
|
|
|
377697
377830
|
});
|
|
377698
377831
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
377699
377832
|
const nonce = randomBytes17(16).toString("hex");
|
|
377700
|
-
return join106(getVivusTempDir(), "bundled-skills", "1.0.
|
|
377833
|
+
return join106(getVivusTempDir(), "bundled-skills", "1.0.5+c258d3c", nonce);
|
|
377701
377834
|
});
|
|
377702
377835
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
377703
377836
|
});
|
|
@@ -379457,7 +379590,7 @@ function Feedback({
|
|
|
379457
379590
|
platform: env2.platform,
|
|
379458
379591
|
gitRepo: envInfo.isGit,
|
|
379459
379592
|
terminal: env2.terminal,
|
|
379460
|
-
version: "1.0.
|
|
379593
|
+
version: "1.0.5+c258d3c",
|
|
379461
379594
|
transcript: normalizeMessagesForAPI(messages),
|
|
379462
379595
|
errors: sanitizedErrors,
|
|
379463
379596
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -379649,7 +379782,7 @@ function Feedback({
|
|
|
379649
379782
|
", ",
|
|
379650
379783
|
env2.terminal,
|
|
379651
379784
|
", v",
|
|
379652
|
-
"1.0.
|
|
379785
|
+
"1.0.5+c258d3c"
|
|
379653
379786
|
]
|
|
379654
379787
|
}, undefined, true, undefined, this)
|
|
379655
379788
|
]
|
|
@@ -379755,7 +379888,7 @@ ${sanitizedDescription}
|
|
|
379755
379888
|
` + `**Environment Info**
|
|
379756
379889
|
` + `- Platform: ${env2.platform}
|
|
379757
379890
|
` + `- Terminal: ${env2.terminal}
|
|
379758
|
-
` + `- Version: ${"1.0.
|
|
379891
|
+
` + `- Version: ${"1.0.5+c258d3c"}
|
|
379759
379892
|
` + `- Feedback ID: ${feedbackId}
|
|
379760
379893
|
` + `
|
|
379761
379894
|
**Errors**
|
|
@@ -382886,7 +383019,7 @@ function buildPrimarySection() {
|
|
|
382886
383019
|
}, undefined, false, undefined, this);
|
|
382887
383020
|
return [{
|
|
382888
383021
|
label: "Version",
|
|
382889
|
-
value: "1.0.
|
|
383022
|
+
value: "1.0.5+c258d3c"
|
|
382890
383023
|
}, {
|
|
382891
383024
|
label: "Session name",
|
|
382892
383025
|
value: nameValue
|
|
@@ -386637,7 +386770,7 @@ function Config({
|
|
|
386637
386770
|
}
|
|
386638
386771
|
}, undefined, false, undefined, this)
|
|
386639
386772
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
386640
|
-
currentVersion: "1.0.
|
|
386773
|
+
currentVersion: "1.0.5+c258d3c",
|
|
386641
386774
|
onChoice: (choice) => {
|
|
386642
386775
|
setShowSubmenu(null);
|
|
386643
386776
|
setTabsHidden(false);
|
|
@@ -386649,7 +386782,7 @@ function Config({
|
|
|
386649
386782
|
autoUpdatesChannel: "stable"
|
|
386650
386783
|
};
|
|
386651
386784
|
if (choice === "stay") {
|
|
386652
|
-
newSettings.minimumVersion = "1.0.
|
|
386785
|
+
newSettings.minimumVersion = "1.0.5+c258d3c";
|
|
386653
386786
|
}
|
|
386654
386787
|
updateSettingsForSource("userSettings", newSettings);
|
|
386655
386788
|
setSettingsData((prev_27) => ({
|
|
@@ -394735,7 +394868,7 @@ function HelpV2(t0) {
|
|
|
394735
394868
|
let t6;
|
|
394736
394869
|
if ($2[31] !== tabs) {
|
|
394737
394870
|
t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
|
|
394738
|
-
title: `Vivus v${"1.0.
|
|
394871
|
+
title: `Vivus v${"1.0.5+c258d3c"}`,
|
|
394739
394872
|
color: "professionalBlue",
|
|
394740
394873
|
defaultTab: "general",
|
|
394741
394874
|
children: tabs
|
|
@@ -418960,7 +419093,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
418960
419093
|
return [];
|
|
418961
419094
|
}
|
|
418962
419095
|
}
|
|
418963
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.
|
|
419096
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
|
|
418964
419097
|
if (process.env.USER_TYPE === "ant") {
|
|
418965
419098
|
const changelog = "";
|
|
418966
419099
|
if (changelog) {
|
|
@@ -418987,7 +419120,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.3+aa2
|
|
|
418987
419120
|
releaseNotes
|
|
418988
419121
|
};
|
|
418989
419122
|
}
|
|
418990
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.
|
|
419123
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.5+c258d3c") {
|
|
418991
419124
|
if (process.env.USER_TYPE === "ant") {
|
|
418992
419125
|
const changelog = "";
|
|
418993
419126
|
if (changelog) {
|
|
@@ -420157,7 +420290,7 @@ function getRecentActivitySync() {
|
|
|
420157
420290
|
return cachedActivity;
|
|
420158
420291
|
}
|
|
420159
420292
|
function getLogoDisplayData() {
|
|
420160
|
-
const version2 = process.env.DEMO_VERSION ?? "1.0.
|
|
420293
|
+
const version2 = process.env.DEMO_VERSION ?? "1.0.5+c258d3c";
|
|
420161
420294
|
const serverUrl = getDirectConnectServerUrl();
|
|
420162
420295
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
420163
420296
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -421684,7 +421817,7 @@ function LogoV2() {
|
|
|
421684
421817
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
421685
421818
|
t2 = () => {
|
|
421686
421819
|
const currentConfig = getGlobalConfig();
|
|
421687
|
-
if (currentConfig.lastReleaseNotesSeen === "1.0.
|
|
421820
|
+
if (currentConfig.lastReleaseNotesSeen === "1.0.5+c258d3c") {
|
|
421688
421821
|
return;
|
|
421689
421822
|
}
|
|
421690
421823
|
saveGlobalConfig(_temp329);
|
|
@@ -422360,12 +422493,12 @@ function LogoV2() {
|
|
|
422360
422493
|
return t41;
|
|
422361
422494
|
}
|
|
422362
422495
|
function _temp329(current) {
|
|
422363
|
-
if (current.lastReleaseNotesSeen === "1.0.
|
|
422496
|
+
if (current.lastReleaseNotesSeen === "1.0.5+c258d3c") {
|
|
422364
422497
|
return current;
|
|
422365
422498
|
}
|
|
422366
422499
|
return {
|
|
422367
422500
|
...current,
|
|
422368
|
-
lastReleaseNotesSeen: "1.0.
|
|
422501
|
+
lastReleaseNotesSeen: "1.0.5+c258d3c"
|
|
422369
422502
|
};
|
|
422370
422503
|
}
|
|
422371
422504
|
function _temp245(s_0) {
|
|
@@ -448662,7 +448795,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
448662
448795
|
smapsRollup,
|
|
448663
448796
|
platform: process.platform,
|
|
448664
448797
|
nodeVersion: process.version,
|
|
448665
|
-
ccVersion: "1.0.
|
|
448798
|
+
ccVersion: "1.0.5+c258d3c"
|
|
448666
448799
|
};
|
|
448667
448800
|
}
|
|
448668
448801
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -449248,7 +449381,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
449248
449381
|
var call56 = async () => {
|
|
449249
449382
|
return {
|
|
449250
449383
|
type: "text",
|
|
449251
|
-
value: `${"1.0.
|
|
449384
|
+
value: `${"1.0.5+c258d3c"} (built ${"2026-06-05T23:04:49.594Z"})`
|
|
449252
449385
|
};
|
|
449253
449386
|
}, version2, version_default;
|
|
449254
449387
|
var init_version = __esm(() => {
|
|
@@ -458211,7 +458344,7 @@ function generateHtmlReport(data, insights) {
|
|
|
458211
458344
|
</html>`;
|
|
458212
458345
|
}
|
|
458213
458346
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
458214
|
-
const version3 = typeof MACRO !== "undefined" ? "1.0.
|
|
458347
|
+
const version3 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
|
|
458215
458348
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
458216
458349
|
const facets_summary = {
|
|
458217
458350
|
total: facets.size,
|
|
@@ -462320,7 +462453,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
462320
462453
|
init_settings2();
|
|
462321
462454
|
init_slowOperations();
|
|
462322
462455
|
init_uuid();
|
|
462323
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.0.
|
|
462456
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.0.5+c258d3c" : "unknown";
|
|
462324
462457
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
462325
462458
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
462326
462459
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -465191,7 +465324,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
465191
465324
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
465192
465325
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
465193
465326
|
betas: getSdkBetas(),
|
|
465194
|
-
vivus_code_version: "1.0.
|
|
465327
|
+
vivus_code_version: "1.0.5+c258d3c",
|
|
465195
465328
|
output_style: outputStyle2,
|
|
465196
465329
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
465197
465330
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -479819,7 +479952,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
479819
479952
|
function getSemverPart(version3) {
|
|
479820
479953
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
479821
479954
|
}
|
|
479822
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.0.
|
|
479955
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.0.5+c258d3c") {
|
|
479823
479956
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
|
|
479824
479957
|
if (!updatedVersion) {
|
|
479825
479958
|
return null;
|
|
@@ -479859,7 +479992,7 @@ function AutoUpdater({
|
|
|
479859
479992
|
return;
|
|
479860
479993
|
}
|
|
479861
479994
|
if (false) {}
|
|
479862
|
-
const currentVersion = "1.0.
|
|
479995
|
+
const currentVersion = "1.0.5+c258d3c";
|
|
479863
479996
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
479864
479997
|
let latestVersion = await getLatestVersion(channel);
|
|
479865
479998
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -480072,12 +480205,12 @@ function NativeAutoUpdater({
|
|
|
480072
480205
|
logEvent("tengu_native_auto_updater_start", {});
|
|
480073
480206
|
try {
|
|
480074
480207
|
const maxVersion = await getMaxVersion();
|
|
480075
|
-
if (maxVersion && gt("1.0.
|
|
480208
|
+
if (maxVersion && gt("1.0.5+c258d3c", maxVersion)) {
|
|
480076
480209
|
const msg = await getMaxVersionMessage();
|
|
480077
480210
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
480078
480211
|
}
|
|
480079
480212
|
const result = await installLatest(channel);
|
|
480080
|
-
const currentVersion = "1.0.
|
|
480213
|
+
const currentVersion = "1.0.5+c258d3c";
|
|
480081
480214
|
const latencyMs = Date.now() - startTime;
|
|
480082
480215
|
if (result.lockFailed) {
|
|
480083
480216
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -480214,17 +480347,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480214
480347
|
const maxVersion = await getMaxVersion();
|
|
480215
480348
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
480216
480349
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
480217
|
-
if (gte("1.0.
|
|
480218
|
-
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`);
|
|
480219
480352
|
setUpdateAvailable(false);
|
|
480220
480353
|
return;
|
|
480221
480354
|
}
|
|
480222
480355
|
latest = maxVersion;
|
|
480223
480356
|
}
|
|
480224
|
-
const hasUpdate = latest && !gte("1.0.
|
|
480357
|
+
const hasUpdate = latest && !gte("1.0.5+c258d3c", latest) && !shouldSkipVersion(latest);
|
|
480225
480358
|
setUpdateAvailable(!!hasUpdate);
|
|
480226
480359
|
if (hasUpdate) {
|
|
480227
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.
|
|
480360
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.5+c258d3c"} -> ${latest}`);
|
|
480228
480361
|
}
|
|
480229
480362
|
};
|
|
480230
480363
|
$2[0] = t1;
|
|
@@ -480258,7 +480391,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480258
480391
|
wrap: "truncate",
|
|
480259
480392
|
children: [
|
|
480260
480393
|
"currentVersion: ",
|
|
480261
|
-
"1.0.
|
|
480394
|
+
"1.0.5+c258d3c"
|
|
480262
480395
|
]
|
|
480263
480396
|
}, undefined, true, undefined, this);
|
|
480264
480397
|
$2[3] = verbose;
|
|
@@ -488426,7 +488559,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
488426
488559
|
project_dir: getOriginalCwd(),
|
|
488427
488560
|
added_dirs: addedDirs
|
|
488428
488561
|
},
|
|
488429
|
-
version: "1.0.
|
|
488562
|
+
version: "1.0.5+c258d3c",
|
|
488430
488563
|
output_style: {
|
|
488431
488564
|
name: outputStyleName
|
|
488432
488565
|
},
|
|
@@ -499910,7 +500043,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
499910
500043
|
} catch {}
|
|
499911
500044
|
const data = {
|
|
499912
500045
|
trigger,
|
|
499913
|
-
version: "1.0.
|
|
500046
|
+
version: "1.0.5+c258d3c",
|
|
499914
500047
|
platform: process.platform,
|
|
499915
500048
|
transcript,
|
|
499916
500049
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -511316,7 +511449,7 @@ function WelcomeV2() {
|
|
|
511316
511449
|
dimColor: true,
|
|
511317
511450
|
children: [
|
|
511318
511451
|
"v",
|
|
511319
|
-
"1.0.
|
|
511452
|
+
"1.0.5+c258d3c",
|
|
511320
511453
|
" "
|
|
511321
511454
|
]
|
|
511322
511455
|
}, undefined, true, undefined, this)
|
|
@@ -511516,7 +511649,7 @@ function WelcomeV2() {
|
|
|
511516
511649
|
dimColor: true,
|
|
511517
511650
|
children: [
|
|
511518
511651
|
"v",
|
|
511519
|
-
"1.0.
|
|
511652
|
+
"1.0.5+c258d3c",
|
|
511520
511653
|
" "
|
|
511521
511654
|
]
|
|
511522
511655
|
}, undefined, true, undefined, this)
|
|
@@ -511742,7 +511875,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
511742
511875
|
dimColor: true,
|
|
511743
511876
|
children: [
|
|
511744
511877
|
"v",
|
|
511745
|
-
"1.0.
|
|
511878
|
+
"1.0.5+c258d3c",
|
|
511746
511879
|
" "
|
|
511747
511880
|
]
|
|
511748
511881
|
}, undefined, true, undefined, this);
|
|
@@ -511996,7 +512129,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
511996
512129
|
dimColor: true,
|
|
511997
512130
|
children: [
|
|
511998
512131
|
"v",
|
|
511999
|
-
"1.0.
|
|
512132
|
+
"1.0.5+c258d3c",
|
|
512000
512133
|
" "
|
|
512001
512134
|
]
|
|
512002
512135
|
}, undefined, true, undefined, this);
|
|
@@ -515060,7 +515193,7 @@ function appendToLog(path25, message) {
|
|
|
515060
515193
|
cwd: getFsImplementation().cwd(),
|
|
515061
515194
|
userType: process.env.USER_TYPE,
|
|
515062
515195
|
sessionId: getSessionId(),
|
|
515063
|
-
version: "1.0.
|
|
515196
|
+
version: "1.0.5+c258d3c"
|
|
515064
515197
|
};
|
|
515065
515198
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
515066
515199
|
}
|
|
@@ -519045,8 +519178,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
519045
519178
|
}
|
|
519046
519179
|
async function checkEnvLessBridgeMinVersion() {
|
|
519047
519180
|
const cfg = await getEnvLessBridgeConfig();
|
|
519048
|
-
if (cfg.min_version && lt("1.0.
|
|
519049
|
-
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.
|
|
519050
519183
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
519051
519184
|
}
|
|
519052
519185
|
return null;
|
|
@@ -519520,7 +519653,7 @@ async function initBridgeCore(params) {
|
|
|
519520
519653
|
const rawApi = createBridgeApiClient({
|
|
519521
519654
|
baseUrl,
|
|
519522
519655
|
getAccessToken,
|
|
519523
|
-
runnerVersion: "1.0.
|
|
519656
|
+
runnerVersion: "1.0.5+c258d3c",
|
|
519524
519657
|
onDebug: logForDebugging,
|
|
519525
519658
|
onAuth401,
|
|
519526
519659
|
getTrustedDeviceToken
|
|
@@ -525184,7 +525317,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
525184
525317
|
setCwd(cwd3);
|
|
525185
525318
|
const server = new Server({
|
|
525186
525319
|
name: "vivus/tengu",
|
|
525187
|
-
version: "1.0.
|
|
525320
|
+
version: "1.0.5+c258d3c"
|
|
525188
525321
|
}, {
|
|
525189
525322
|
capabilities: {
|
|
525190
525323
|
tools: {}
|
|
@@ -526795,7 +526928,7 @@ __export(exports_update, {
|
|
|
526795
526928
|
});
|
|
526796
526929
|
async function update() {
|
|
526797
526930
|
logEvent("tengu_update_check", {});
|
|
526798
|
-
writeToStdout(`Current version: ${"1.0.
|
|
526931
|
+
writeToStdout(`Current version: ${"1.0.5+c258d3c"}
|
|
526799
526932
|
`);
|
|
526800
526933
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
526801
526934
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -526870,8 +527003,8 @@ async function update() {
|
|
|
526870
527003
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
526871
527004
|
`);
|
|
526872
527005
|
const latest = await getLatestVersion(channel);
|
|
526873
|
-
if (latest && !gte("1.0.
|
|
526874
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527006
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527007
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
526875
527008
|
`);
|
|
526876
527009
|
writeToStdout(`
|
|
526877
527010
|
`);
|
|
@@ -526887,8 +527020,8 @@ async function update() {
|
|
|
526887
527020
|
writeToStdout(`Vivus is managed by winget.
|
|
526888
527021
|
`);
|
|
526889
527022
|
const latest = await getLatestVersion(channel);
|
|
526890
|
-
if (latest && !gte("1.0.
|
|
526891
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527023
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527024
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
526892
527025
|
`);
|
|
526893
527026
|
writeToStdout(`
|
|
526894
527027
|
`);
|
|
@@ -526904,8 +527037,8 @@ async function update() {
|
|
|
526904
527037
|
writeToStdout(`Vivus is managed by apk.
|
|
526905
527038
|
`);
|
|
526906
527039
|
const latest = await getLatestVersion(channel);
|
|
526907
|
-
if (latest && !gte("1.0.
|
|
526908
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527040
|
+
if (latest && !gte("1.0.5+c258d3c", latest)) {
|
|
527041
|
+
writeToStdout(`Update available: ${"1.0.5+c258d3c"} → ${latest}
|
|
526909
527042
|
`);
|
|
526910
527043
|
writeToStdout(`
|
|
526911
527044
|
`);
|
|
@@ -526970,11 +527103,11 @@ async function update() {
|
|
|
526970
527103
|
`);
|
|
526971
527104
|
await gracefulShutdown(1);
|
|
526972
527105
|
}
|
|
526973
|
-
if (result.latestVersion === "1.0.
|
|
526974
|
-
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"})`) + `
|
|
526975
527108
|
`);
|
|
526976
527109
|
} else {
|
|
526977
|
-
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}`) + `
|
|
526978
527111
|
`);
|
|
526979
527112
|
await regenerateCompletionCache();
|
|
526980
527113
|
}
|
|
@@ -527031,12 +527164,12 @@ async function update() {
|
|
|
527031
527164
|
`);
|
|
527032
527165
|
await gracefulShutdown(1);
|
|
527033
527166
|
}
|
|
527034
|
-
if (latestVersion === "1.0.
|
|
527035
|
-
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"})`) + `
|
|
527036
527169
|
`);
|
|
527037
527170
|
await gracefulShutdown(0);
|
|
527038
527171
|
}
|
|
527039
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.
|
|
527172
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.5+c258d3c"})
|
|
527040
527173
|
`);
|
|
527041
527174
|
writeToStdout(`Installing update...
|
|
527042
527175
|
`);
|
|
@@ -527081,7 +527214,7 @@ async function update() {
|
|
|
527081
527214
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
527082
527215
|
switch (status2) {
|
|
527083
527216
|
case "success":
|
|
527084
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.0.
|
|
527217
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.5+c258d3c"} to version ${latestVersion}`) + `
|
|
527085
527218
|
`);
|
|
527086
527219
|
await regenerateCompletionCache();
|
|
527087
527220
|
break;
|
|
@@ -527509,15 +527642,82 @@ async function fetchBootstrapAPI() {
|
|
|
527509
527642
|
throw error41;
|
|
527510
527643
|
}
|
|
527511
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
|
+
}
|
|
527512
527701
|
async function fetchBootstrapData() {
|
|
527513
527702
|
try {
|
|
527514
|
-
const response = await
|
|
527515
|
-
|
|
527703
|
+
const [response, proxyModels] = await Promise.all([
|
|
527704
|
+
fetchBootstrapAPI().catch(() => null),
|
|
527705
|
+
fetchProxyModelOptions()
|
|
527706
|
+
]);
|
|
527707
|
+
if (!response && !proxyModels)
|
|
527516
527708
|
return;
|
|
527517
|
-
const clientData = response
|
|
527518
|
-
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
|
+
}
|
|
527519
527719
|
const config4 = getGlobalConfig();
|
|
527520
|
-
if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache,
|
|
527720
|
+
if (isEqual_default(config4.clientDataCache, clientData) && isEqual_default(config4.additionalModelOptionsCache, merged)) {
|
|
527521
527721
|
logForDebugging("[Bootstrap] Cache unchanged, skipping write");
|
|
527522
527722
|
return;
|
|
527523
527723
|
}
|
|
@@ -527525,7 +527725,7 @@ async function fetchBootstrapData() {
|
|
|
527525
527725
|
saveGlobalConfig((current) => ({
|
|
527526
527726
|
...current,
|
|
527527
527727
|
clientDataCache: clientData,
|
|
527528
|
-
additionalModelOptionsCache:
|
|
527728
|
+
additionalModelOptionsCache: merged
|
|
527529
527729
|
}));
|
|
527530
527730
|
} catch (error41) {
|
|
527531
527731
|
logError2(error41);
|
|
@@ -528051,7 +528251,7 @@ function completeOnboarding() {
|
|
|
528051
528251
|
saveGlobalConfig((current) => ({
|
|
528052
528252
|
...current,
|
|
528053
528253
|
hasCompletedOnboarding: true,
|
|
528054
|
-
lastOnboardingVersion: "1.0.
|
|
528254
|
+
lastOnboardingVersion: "1.0.5+c258d3c"
|
|
528055
528255
|
}));
|
|
528056
528256
|
}
|
|
528057
528257
|
function showDialog(root2, renderer) {
|
|
@@ -532140,7 +532340,7 @@ ${customInstructions}` : customInstructions;
|
|
|
532140
532340
|
}
|
|
532141
532341
|
}
|
|
532142
532342
|
logForDiagnosticsNoPII("info", "started", {
|
|
532143
|
-
version: "1.0.
|
|
532343
|
+
version: "1.0.5+c258d3c",
|
|
532144
532344
|
is_native_binary: isInBundledMode()
|
|
532145
532345
|
});
|
|
532146
532346
|
registerCleanup(async () => {
|
|
@@ -532924,7 +533124,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
532924
533124
|
pendingHookMessages
|
|
532925
533125
|
}, renderAndRun);
|
|
532926
533126
|
}
|
|
532927
|
-
}).version("1.0.
|
|
533127
|
+
}).version("1.0.5+c258d3c (Vivus)", "-v, --version", "Output the version number");
|
|
532928
533128
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
532929
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.");
|
|
532930
533130
|
if (canUserConfigureAdvisor()) {
|