vivus-agent 1.1.10 → 1.1.11
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/bin/vivus.mjs +105 -0
- package/dist/main.js +87 -87
- package/package.json +3 -2
package/bin/vivus.mjs
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Vivus launcher — the npm `bin` entry. Configures the environment to point at
|
|
3
|
+
// the Vivus proxy, then runs the bundled CLI (dist/main.js) in a child process.
|
|
4
|
+
//
|
|
5
|
+
// Why this exists: `npm install -g vivus-agent` installs only dist/main.js,
|
|
6
|
+
// which is the raw (unconfigured) Anthropic-style CLI. Without this wrapper it
|
|
7
|
+
// runs a connectivity preflight against agent.vivus.ai (404 → ERR_BAD_REQUEST)
|
|
8
|
+
// and tries to reach api.anthropic.com for inference. This launcher sets the
|
|
9
|
+
// same defaults the tarball/vivus.sh launcher does, so a fresh npm install
|
|
10
|
+
// "just works" once VIVUS_API_KEY is set.
|
|
11
|
+
|
|
12
|
+
import { spawn } from 'node:child_process'
|
|
13
|
+
import { fileURLToPath } from 'node:url'
|
|
14
|
+
|
|
15
|
+
const PROXY = process.env.VIVUS_PROXY_URL || 'https://proxy.vivus.ai'
|
|
16
|
+
|
|
17
|
+
// Set a value only when the user hasn't already provided one, so power users
|
|
18
|
+
// can override any of these from their shell.
|
|
19
|
+
function setDefault(key, val) {
|
|
20
|
+
if (process.env[key] === undefined || process.env[key] === '') {
|
|
21
|
+
process.env[key] = val
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// --- Connection + feature configuration ---
|
|
26
|
+
setDefault('ANTHROPIC_BASE_URL', PROXY) // routes inference AND skips the Anthropic preflight
|
|
27
|
+
setDefault('VIVUS_CODE_API_BASE_URL', PROXY) // feedback / bootstrap / policy limits / metrics
|
|
28
|
+
setDefault('VIVUS_CODE_IS_FIRST_PARTY', '1') // enable Vivus features (policy/feedback/bootstrap)
|
|
29
|
+
setDefault('VIVUS_CODE_DISABLE_EXPERIMENTAL_BETAS', '1') // proxy can't do tool-search/defer_loading
|
|
30
|
+
setDefault('VIVUS_CODE_SIMPLE', '0') // full UI (status bar + footer), not brief mode
|
|
31
|
+
setDefault('ANTHROPIC_MODEL', process.env.VIVUS_MODEL || 'qwen3.6:latest')
|
|
32
|
+
setDefault('USE_BUILTIN_RIPGREP', '0')
|
|
33
|
+
setDefault('VIVUS_CODE_FORCE_FULL_LOGO', '1')
|
|
34
|
+
setDefault('DISABLE_TELEMETRY', '1')
|
|
35
|
+
setDefault('DISABLE_AUTOUPDATER', '1')
|
|
36
|
+
setDefault('DISABLE_INSTALLATION_CHECKS', '1')
|
|
37
|
+
setDefault('DO_NOT_TRACK', '1')
|
|
38
|
+
|
|
39
|
+
// --- API key is required ---
|
|
40
|
+
const apiKey = process.env.VIVUS_API_KEY || process.env.ANTHROPIC_API_KEY
|
|
41
|
+
if (!apiKey) {
|
|
42
|
+
console.error('ERROR: VIVUS_API_KEY is not set.')
|
|
43
|
+
console.error('Get an API key at https://agent.vivus.ai then add it to your shell profile:')
|
|
44
|
+
console.error(' export VIVUS_API_KEY="sk-vivus-..."')
|
|
45
|
+
process.exit(1)
|
|
46
|
+
}
|
|
47
|
+
process.env.ANTHROPIC_API_KEY = apiKey
|
|
48
|
+
|
|
49
|
+
// --- Default agent definitions (mirrors ts/proxy/agents.json) ---
|
|
50
|
+
const AGENTS = {
|
|
51
|
+
coder: {
|
|
52
|
+
description: 'Focused code editing agent — reads, writes, and refactors files',
|
|
53
|
+
prompt:
|
|
54
|
+
"You are a focused code editing agent. When asked to modify code, read the file first, make the edit, then verify. Be surgical — change only what's needed. Show diffs when helpful.",
|
|
55
|
+
allowedTools: ['Bash', 'Read', 'Edit'],
|
|
56
|
+
},
|
|
57
|
+
explorer: {
|
|
58
|
+
description: 'Fast filesystem explorer — lists, searches, and reads files',
|
|
59
|
+
prompt:
|
|
60
|
+
"You are a fast filesystem explorer. Use Bash to run ls, find, grep, cat, wc, head, tail, etc. Answer concisely. Don't over-explain directory structures — just show the output.",
|
|
61
|
+
allowedTools: ['Bash', 'Read'],
|
|
62
|
+
},
|
|
63
|
+
reviewer: {
|
|
64
|
+
description: 'Code reviewer — analyzes code for bugs, style, and improvements',
|
|
65
|
+
prompt:
|
|
66
|
+
'You are a thorough code reviewer. Read the code carefully and identify: bugs, security issues, performance problems, style inconsistencies, and missing error handling. Be specific with line numbers.',
|
|
67
|
+
allowedTools: ['Bash', 'Read'],
|
|
68
|
+
},
|
|
69
|
+
writer: {
|
|
70
|
+
description: 'Creates new files and boilerplate from scratch',
|
|
71
|
+
prompt:
|
|
72
|
+
'You are a file creation agent. When asked to create files, write complete, production-ready code. Include proper imports, error handling, and comments where non-obvious. Use Edit tool for new files and Bash for directory creation.',
|
|
73
|
+
allowedTools: ['Bash', 'Read', 'Edit'],
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// --- Build argv: inject product defaults unless the user already passed them ---
|
|
78
|
+
const userArgs = process.argv.slice(2)
|
|
79
|
+
const has = flag => userArgs.some(a => a === flag || a.startsWith(flag + '='))
|
|
80
|
+
const injected = []
|
|
81
|
+
if (!has('--bare')) injected.push('--bare')
|
|
82
|
+
if (!has('--permission-mode')) injected.push('--permission-mode', 'acceptEdits')
|
|
83
|
+
if (!has('--agents')) injected.push('--agents', JSON.stringify(AGENTS))
|
|
84
|
+
|
|
85
|
+
// --- Heap headroom for large sessions (applied to the child node process) ---
|
|
86
|
+
if (!(process.env.NODE_OPTIONS || '').includes('max-old-space-size')) {
|
|
87
|
+
process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ''} --max-old-space-size=8192`.trim()
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const mainPath = fileURLToPath(new URL('../dist/main.js', import.meta.url))
|
|
91
|
+
const child = spawn(process.execPath, [mainPath, ...injected, ...userArgs], {
|
|
92
|
+
stdio: 'inherit',
|
|
93
|
+
env: process.env,
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
// The child (the Ink TUI) owns the terminal and handles Ctrl+C itself. The
|
|
97
|
+
// terminal delivers SIGINT/SIGTERM to the whole foreground group, so the
|
|
98
|
+
// parent must NOT exit early — no-op the signals and mirror the child's exit.
|
|
99
|
+
process.on('SIGINT', () => {})
|
|
100
|
+
process.on('SIGTERM', () => {})
|
|
101
|
+
child.on('error', err => {
|
|
102
|
+
console.error('Failed to launch Vivus:', err.message)
|
|
103
|
+
process.exit(1)
|
|
104
|
+
})
|
|
105
|
+
child.on('exit', code => process.exit(code == null ? 1 : code))
|
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --max-old-space-size=8192 --expose-gc
|
|
2
2
|
// Vivus CLI — local AI coding agent
|
|
3
|
-
// Built from source at 2026-06-
|
|
3
|
+
// Built from source at 2026-06-19T09:10:02.266Z
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
var __create = Object.create;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -116001,7 +116001,7 @@ var init_auth = __esm(() => {
|
|
|
116001
116001
|
|
|
116002
116002
|
// src/utils/userAgent.ts
|
|
116003
116003
|
function getVivusCodeUserAgent() {
|
|
116004
|
-
return `vivus/${"1.1.
|
|
116004
|
+
return `vivus/${"1.1.11+1b3ac1b-dirty"}`;
|
|
116005
116005
|
}
|
|
116006
116006
|
|
|
116007
116007
|
// src/utils/workloadContext.ts
|
|
@@ -116023,7 +116023,7 @@ function getUserAgent() {
|
|
|
116023
116023
|
const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
|
|
116024
116024
|
const workload = getWorkload();
|
|
116025
116025
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
116026
|
-
return `vivus-cli/${"1.1.
|
|
116026
|
+
return `vivus-cli/${"1.1.11+1b3ac1b-dirty"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
116027
116027
|
}
|
|
116028
116028
|
function getMCPUserAgent() {
|
|
116029
116029
|
const parts = [];
|
|
@@ -116037,7 +116037,7 @@ function getMCPUserAgent() {
|
|
|
116037
116037
|
parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
|
|
116038
116038
|
}
|
|
116039
116039
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
116040
|
-
return `vivus/${"1.1.
|
|
116040
|
+
return `vivus/${"1.1.11+1b3ac1b-dirty"}${suffix}`;
|
|
116041
116041
|
}
|
|
116042
116042
|
function getWebFetchUserAgent() {
|
|
116043
116043
|
return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -116175,7 +116175,7 @@ var init_user = __esm(() => {
|
|
|
116175
116175
|
deviceId,
|
|
116176
116176
|
sessionId: getSessionId(),
|
|
116177
116177
|
email: getEmail(),
|
|
116178
|
-
appVersion: "1.1.
|
|
116178
|
+
appVersion: "1.1.11+1b3ac1b-dirty",
|
|
116179
116179
|
platform: getHostPlatformForAnalytics(),
|
|
116180
116180
|
organizationUuid,
|
|
116181
116181
|
accountUuid,
|
|
@@ -127841,7 +127841,7 @@ var init_metadata = __esm(() => {
|
|
|
127841
127841
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
127842
127842
|
WHITESPACE_REGEX = /\s+/;
|
|
127843
127843
|
getVersionBase = memoize_default(() => {
|
|
127844
|
-
const match = "1.1.
|
|
127844
|
+
const match = "1.1.11+1b3ac1b-dirty".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
127845
127845
|
return match ? match[0] : undefined;
|
|
127846
127846
|
});
|
|
127847
127847
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -127881,9 +127881,9 @@ var init_metadata = __esm(() => {
|
|
|
127881
127881
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
127882
127882
|
isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
|
|
127883
127883
|
isVivusAiAuth: isVivusAISubscriber(),
|
|
127884
|
-
version: "1.1.
|
|
127884
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
127885
127885
|
versionBase: getVersionBase(),
|
|
127886
|
-
buildTime: "2026-06-
|
|
127886
|
+
buildTime: "2026-06-19T09:10:01.930Z",
|
|
127887
127887
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
127888
127888
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
127889
127889
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -128551,7 +128551,7 @@ function initialize1PEventLogging() {
|
|
|
128551
128551
|
const platform2 = getPlatform();
|
|
128552
128552
|
const attributes = {
|
|
128553
128553
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
|
|
128554
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.
|
|
128554
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.11+1b3ac1b-dirty"
|
|
128555
128555
|
};
|
|
128556
128556
|
if (platform2 === "wsl") {
|
|
128557
128557
|
const wslVersion = getWslVersion();
|
|
@@ -128578,7 +128578,7 @@ function initialize1PEventLogging() {
|
|
|
128578
128578
|
})
|
|
128579
128579
|
]
|
|
128580
128580
|
});
|
|
128581
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
128581
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
|
|
128582
128582
|
}
|
|
128583
128583
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
128584
128584
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -162690,7 +162690,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
162690
162690
|
if (!isAttributionHeaderEnabled()) {
|
|
162691
162691
|
return "";
|
|
162692
162692
|
}
|
|
162693
|
-
const version2 = `${"1.1.
|
|
162693
|
+
const version2 = `${"1.1.11+1b3ac1b-dirty"}.${fingerprint}`;
|
|
162694
162694
|
const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
|
|
162695
162695
|
const cch = "";
|
|
162696
162696
|
const workload = getWorkload();
|
|
@@ -175853,7 +175853,7 @@ function getTelemetryAttributes() {
|
|
|
175853
175853
|
attributes["session.id"] = sessionId;
|
|
175854
175854
|
}
|
|
175855
175855
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
175856
|
-
attributes["app.version"] = "1.1.
|
|
175856
|
+
attributes["app.version"] = "1.1.11+1b3ac1b-dirty";
|
|
175857
175857
|
}
|
|
175858
175858
|
const oauthAccount = getOauthAccountInfo();
|
|
175859
175859
|
if (oauthAccount) {
|
|
@@ -242410,7 +242410,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
242410
242410
|
}
|
|
242411
242411
|
function computeFingerprintFromMessages(messages) {
|
|
242412
242412
|
const firstMessageText = extractFirstMessageText(messages);
|
|
242413
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
242413
|
+
return computeFingerprint(firstMessageText, "1.1.11+1b3ac1b-dirty");
|
|
242414
242414
|
}
|
|
242415
242415
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
242416
242416
|
var init_fingerprint = () => {};
|
|
@@ -242452,7 +242452,7 @@ async function sideQuery(opts) {
|
|
|
242452
242452
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
242453
242453
|
}
|
|
242454
242454
|
const messageText = extractFirstUserMessageText(messages);
|
|
242455
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
242455
|
+
const fingerprint = computeFingerprint(messageText, "1.1.11+1b3ac1b-dirty");
|
|
242456
242456
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
242457
242457
|
const systemBlocks = [
|
|
242458
242458
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -243604,7 +243604,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
243604
243604
|
const client2 = new Client({
|
|
243605
243605
|
name: "vivus",
|
|
243606
243606
|
title: "Vivus",
|
|
243607
|
-
version: "1.1.
|
|
243607
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
243608
243608
|
description: "Anthropic's agentic coding tool",
|
|
243609
243609
|
websiteUrl: PRODUCT_URL
|
|
243610
243610
|
}, {
|
|
@@ -243958,7 +243958,7 @@ var init_client6 = __esm(() => {
|
|
|
243958
243958
|
const client2 = new Client({
|
|
243959
243959
|
name: "vivus",
|
|
243960
243960
|
title: "Vivus",
|
|
243961
|
-
version: "1.1.
|
|
243961
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
243962
243962
|
description: "Anthropic's agentic coding tool",
|
|
243963
243963
|
websiteUrl: PRODUCT_URL
|
|
243964
243964
|
}, {
|
|
@@ -246016,7 +246016,7 @@ function getInstallationEnv() {
|
|
|
246016
246016
|
return;
|
|
246017
246017
|
}
|
|
246018
246018
|
function getVivusCodeVersion() {
|
|
246019
|
-
return "1.1.
|
|
246019
|
+
return "1.1.11+1b3ac1b-dirty";
|
|
246020
246020
|
}
|
|
246021
246021
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
246022
246022
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -278506,7 +278506,7 @@ async function initializeBetaTracing(resource) {
|
|
|
278506
278506
|
});
|
|
278507
278507
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
278508
278508
|
setLoggerProvider(loggerProvider);
|
|
278509
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
278509
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
|
|
278510
278510
|
setEventLogger(eventLogger);
|
|
278511
278511
|
process.on("beforeExit", async () => {
|
|
278512
278512
|
await loggerProvider?.forceFlush();
|
|
@@ -278546,7 +278546,7 @@ async function initializeTelemetry() {
|
|
|
278546
278546
|
const platform5 = getPlatform();
|
|
278547
278547
|
const baseAttributes = {
|
|
278548
278548
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
|
|
278549
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.
|
|
278549
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.11+1b3ac1b-dirty"
|
|
278550
278550
|
};
|
|
278551
278551
|
if (platform5 === "wsl") {
|
|
278552
278552
|
const wslVersion = getWslVersion();
|
|
@@ -278591,7 +278591,7 @@ async function initializeTelemetry() {
|
|
|
278591
278591
|
} catch {}
|
|
278592
278592
|
};
|
|
278593
278593
|
registerCleanup(shutdownTelemetry2);
|
|
278594
|
-
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.
|
|
278594
|
+
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.1.11+1b3ac1b-dirty");
|
|
278595
278595
|
}
|
|
278596
278596
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
278597
278597
|
resource,
|
|
@@ -278611,7 +278611,7 @@ async function initializeTelemetry() {
|
|
|
278611
278611
|
});
|
|
278612
278612
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
278613
278613
|
setLoggerProvider(loggerProvider);
|
|
278614
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.
|
|
278614
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.1.11+1b3ac1b-dirty");
|
|
278615
278615
|
setEventLogger(eventLogger);
|
|
278616
278616
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
278617
278617
|
process.on("beforeExit", async () => {
|
|
@@ -278673,7 +278673,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
278673
278673
|
}
|
|
278674
278674
|
};
|
|
278675
278675
|
registerCleanup(shutdownTelemetry);
|
|
278676
|
-
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.
|
|
278676
|
+
return meterProvider.getMeter("com.anthropic.vivus_code", "1.1.11+1b3ac1b-dirty");
|
|
278677
278677
|
}
|
|
278678
278678
|
async function flushTelemetry() {
|
|
278679
278679
|
const meterProvider = getMeterProvider();
|
|
@@ -279359,9 +279359,9 @@ async function assertMinVersion() {
|
|
|
279359
279359
|
if (false) {}
|
|
279360
279360
|
try {
|
|
279361
279361
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
279362
|
-
if (versionConfig.minVersion && lt("1.1.
|
|
279362
|
+
if (versionConfig.minVersion && lt("1.1.11+1b3ac1b-dirty", versionConfig.minVersion)) {
|
|
279363
279363
|
console.error(`
|
|
279364
|
-
It looks like your version of Vivus (${"1.1.
|
|
279364
|
+
It looks like your version of Vivus (${"1.1.11+1b3ac1b-dirty"}) needs an update.
|
|
279365
279365
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
279366
279366
|
|
|
279367
279367
|
To update, please run:
|
|
@@ -279577,7 +279577,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
279577
279577
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
279578
279578
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
279579
279579
|
pid: process.pid,
|
|
279580
|
-
currentVersion: "1.1.
|
|
279580
|
+
currentVersion: "1.1.11+1b3ac1b-dirty"
|
|
279581
279581
|
});
|
|
279582
279582
|
return "in_progress";
|
|
279583
279583
|
}
|
|
@@ -279586,7 +279586,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
279586
279586
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
279587
279587
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
279588
279588
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
279589
|
-
currentVersion: "1.1.
|
|
279589
|
+
currentVersion: "1.1.11+1b3ac1b-dirty"
|
|
279590
279590
|
});
|
|
279591
279591
|
console.error(`
|
|
279592
279592
|
Error: Windows NPM detected in WSL
|
|
@@ -280119,7 +280119,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
280119
280119
|
}
|
|
280120
280120
|
async function getDoctorDiagnostic() {
|
|
280121
280121
|
const installationType = await getCurrentInstallationType();
|
|
280122
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
280122
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
|
|
280123
280123
|
const installationPath = await getInstallationPath();
|
|
280124
280124
|
const invokedBinary = getInvokedBinary();
|
|
280125
280125
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -281052,8 +281052,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
281052
281052
|
const maxVersion = await getMaxVersion();
|
|
281053
281053
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
281054
281054
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
281055
|
-
if (gte("1.1.
|
|
281056
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
281055
|
+
if (gte("1.1.11+1b3ac1b-dirty", maxVersion)) {
|
|
281056
|
+
logForDebugging(`Native installer: current version ${"1.1.11+1b3ac1b-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
281057
281057
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
281058
281058
|
latency_ms: Date.now() - startTime,
|
|
281059
281059
|
max_version: maxVersion,
|
|
@@ -281064,7 +281064,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
281064
281064
|
version2 = maxVersion;
|
|
281065
281065
|
}
|
|
281066
281066
|
}
|
|
281067
|
-
if (!forceReinstall && version2 === "1.1.
|
|
281067
|
+
if (!forceReinstall && version2 === "1.1.11+1b3ac1b-dirty" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
|
|
281068
281068
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
281069
281069
|
logEvent("tengu_native_update_complete", {
|
|
281070
281070
|
latency_ms: Date.now() - startTime,
|
|
@@ -336977,7 +336977,7 @@ function getAnthropicEnvMetadata() {
|
|
|
336977
336977
|
function getBuildAgeMinutes() {
|
|
336978
336978
|
if (false)
|
|
336979
336979
|
;
|
|
336980
|
-
const buildTime = new Date("2026-06-
|
|
336980
|
+
const buildTime = new Date("2026-06-19T09:10:01.930Z").getTime();
|
|
336981
336981
|
if (isNaN(buildTime))
|
|
336982
336982
|
return;
|
|
336983
336983
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -384193,7 +384193,7 @@ var init_filesystem = __esm(() => {
|
|
|
384193
384193
|
});
|
|
384194
384194
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
384195
384195
|
const nonce = randomBytes17(16).toString("hex");
|
|
384196
|
-
return join106(getVivusTempDir(), "bundled-skills", "1.1.
|
|
384196
|
+
return join106(getVivusTempDir(), "bundled-skills", "1.1.11+1b3ac1b-dirty", nonce);
|
|
384197
384197
|
});
|
|
384198
384198
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
384199
384199
|
});
|
|
@@ -385953,7 +385953,7 @@ function Feedback({
|
|
|
385953
385953
|
platform: env2.platform,
|
|
385954
385954
|
gitRepo: envInfo.isGit,
|
|
385955
385955
|
terminal: env2.terminal,
|
|
385956
|
-
version: "1.1.
|
|
385956
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
385957
385957
|
transcript: normalizeMessagesForAPI(messages),
|
|
385958
385958
|
errors: sanitizedErrors,
|
|
385959
385959
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -386145,7 +386145,7 @@ function Feedback({
|
|
|
386145
386145
|
", ",
|
|
386146
386146
|
env2.terminal,
|
|
386147
386147
|
", v",
|
|
386148
|
-
"1.1.
|
|
386148
|
+
"1.1.11+1b3ac1b-dirty"
|
|
386149
386149
|
]
|
|
386150
386150
|
}, undefined, true, undefined, this)
|
|
386151
386151
|
]
|
|
@@ -386251,7 +386251,7 @@ ${sanitizedDescription}
|
|
|
386251
386251
|
` + `**Environment Info**
|
|
386252
386252
|
` + `- Platform: ${env2.platform}
|
|
386253
386253
|
` + `- Terminal: ${env2.terminal}
|
|
386254
|
-
` + `- Version: ${"1.1.
|
|
386254
|
+
` + `- Version: ${"1.1.11+1b3ac1b-dirty"}
|
|
386255
386255
|
` + `- Feedback ID: ${feedbackId}
|
|
386256
386256
|
` + `
|
|
386257
386257
|
**Errors**
|
|
@@ -389383,7 +389383,7 @@ function buildPrimarySection() {
|
|
|
389383
389383
|
}, undefined, false, undefined, this);
|
|
389384
389384
|
return [{
|
|
389385
389385
|
label: "Version",
|
|
389386
|
-
value: "1.1.
|
|
389386
|
+
value: "1.1.11+1b3ac1b-dirty"
|
|
389387
389387
|
}, {
|
|
389388
389388
|
label: "Session name",
|
|
389389
389389
|
value: nameValue
|
|
@@ -393134,7 +393134,7 @@ function Config({
|
|
|
393134
393134
|
}
|
|
393135
393135
|
}, undefined, false, undefined, this)
|
|
393136
393136
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
393137
|
-
currentVersion: "1.1.
|
|
393137
|
+
currentVersion: "1.1.11+1b3ac1b-dirty",
|
|
393138
393138
|
onChoice: (choice) => {
|
|
393139
393139
|
setShowSubmenu(null);
|
|
393140
393140
|
setTabsHidden(false);
|
|
@@ -393146,7 +393146,7 @@ function Config({
|
|
|
393146
393146
|
autoUpdatesChannel: "stable"
|
|
393147
393147
|
};
|
|
393148
393148
|
if (choice === "stay") {
|
|
393149
|
-
newSettings.minimumVersion = "1.1.
|
|
393149
|
+
newSettings.minimumVersion = "1.1.11+1b3ac1b-dirty";
|
|
393150
393150
|
}
|
|
393151
393151
|
updateSettingsForSource("userSettings", newSettings);
|
|
393152
393152
|
setSettingsData((prev_27) => ({
|
|
@@ -401232,7 +401232,7 @@ function HelpV2(t0) {
|
|
|
401232
401232
|
let t6;
|
|
401233
401233
|
if ($2[31] !== tabs) {
|
|
401234
401234
|
t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
|
|
401235
|
-
title: `Vivus v${"1.1.
|
|
401235
|
+
title: `Vivus v${"1.1.11+1b3ac1b-dirty"}`,
|
|
401236
401236
|
color: "professionalBlue",
|
|
401237
401237
|
defaultTab: "general",
|
|
401238
401238
|
children: tabs
|
|
@@ -425458,7 +425458,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
425458
425458
|
return [];
|
|
425459
425459
|
}
|
|
425460
425460
|
}
|
|
425461
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
425461
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11+1b3ac1b-dirty") {
|
|
425462
425462
|
if (process.env.USER_TYPE === "ant") {
|
|
425463
425463
|
const changelog = "";
|
|
425464
425464
|
if (changelog) {
|
|
@@ -425485,7 +425485,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.10+a1
|
|
|
425485
425485
|
releaseNotes
|
|
425486
425486
|
};
|
|
425487
425487
|
}
|
|
425488
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
425488
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.11+1b3ac1b-dirty") {
|
|
425489
425489
|
if (process.env.USER_TYPE === "ant") {
|
|
425490
425490
|
const changelog = "";
|
|
425491
425491
|
if (changelog) {
|
|
@@ -426655,7 +426655,7 @@ function getRecentActivitySync() {
|
|
|
426655
426655
|
return cachedActivity;
|
|
426656
426656
|
}
|
|
426657
426657
|
function getLogoDisplayData() {
|
|
426658
|
-
const version2 = process.env.DEMO_VERSION ?? "1.1.
|
|
426658
|
+
const version2 = process.env.DEMO_VERSION ?? "1.1.11+1b3ac1b-dirty";
|
|
426659
426659
|
const serverUrl = getDirectConnectServerUrl();
|
|
426660
426660
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
426661
426661
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -428182,7 +428182,7 @@ function LogoV2() {
|
|
|
428182
428182
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
428183
428183
|
t2 = () => {
|
|
428184
428184
|
const currentConfig = getGlobalConfig();
|
|
428185
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
428185
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.11+1b3ac1b-dirty") {
|
|
428186
428186
|
return;
|
|
428187
428187
|
}
|
|
428188
428188
|
saveGlobalConfig(_temp329);
|
|
@@ -428858,12 +428858,12 @@ function LogoV2() {
|
|
|
428858
428858
|
return t41;
|
|
428859
428859
|
}
|
|
428860
428860
|
function _temp329(current) {
|
|
428861
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
428861
|
+
if (current.lastReleaseNotesSeen === "1.1.11+1b3ac1b-dirty") {
|
|
428862
428862
|
return current;
|
|
428863
428863
|
}
|
|
428864
428864
|
return {
|
|
428865
428865
|
...current,
|
|
428866
|
-
lastReleaseNotesSeen: "1.1.
|
|
428866
|
+
lastReleaseNotesSeen: "1.1.11+1b3ac1b-dirty"
|
|
428867
428867
|
};
|
|
428868
428868
|
}
|
|
428869
428869
|
function _temp245(s_0) {
|
|
@@ -455160,7 +455160,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
455160
455160
|
smapsRollup,
|
|
455161
455161
|
platform: process.platform,
|
|
455162
455162
|
nodeVersion: process.version,
|
|
455163
|
-
ccVersion: "1.1.
|
|
455163
|
+
ccVersion: "1.1.11+1b3ac1b-dirty"
|
|
455164
455164
|
};
|
|
455165
455165
|
}
|
|
455166
455166
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -455746,7 +455746,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
455746
455746
|
var call56 = async () => {
|
|
455747
455747
|
return {
|
|
455748
455748
|
type: "text",
|
|
455749
|
-
value: `${"1.1.
|
|
455749
|
+
value: `${"1.1.11+1b3ac1b-dirty"} (built ${"2026-06-19T09:10:01.930Z"})`
|
|
455750
455750
|
};
|
|
455751
455751
|
}, version2, version_default;
|
|
455752
455752
|
var init_version = __esm(() => {
|
|
@@ -464709,7 +464709,7 @@ function generateHtmlReport(data, insights) {
|
|
|
464709
464709
|
</html>`;
|
|
464710
464710
|
}
|
|
464711
464711
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
464712
|
-
const version3 = typeof MACRO !== "undefined" ? "1.1.
|
|
464712
|
+
const version3 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
|
|
464713
464713
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
464714
464714
|
const facets_summary = {
|
|
464715
464715
|
total: facets.size,
|
|
@@ -468818,7 +468818,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
468818
468818
|
init_settings2();
|
|
468819
468819
|
init_slowOperations();
|
|
468820
468820
|
init_uuid();
|
|
468821
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.1.
|
|
468821
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.1.11+1b3ac1b-dirty" : "unknown";
|
|
468822
468822
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
468823
468823
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
468824
468824
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -471689,7 +471689,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
471689
471689
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
471690
471690
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
471691
471691
|
betas: getSdkBetas(),
|
|
471692
|
-
vivus_code_version: "1.1.
|
|
471692
|
+
vivus_code_version: "1.1.11+1b3ac1b-dirty",
|
|
471693
471693
|
output_style: outputStyle2,
|
|
471694
471694
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
471695
471695
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -486317,7 +486317,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
486317
486317
|
function getSemverPart(version3) {
|
|
486318
486318
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
486319
486319
|
}
|
|
486320
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
486320
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.11+1b3ac1b-dirty") {
|
|
486321
486321
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
|
|
486322
486322
|
if (!updatedVersion) {
|
|
486323
486323
|
return null;
|
|
@@ -486357,7 +486357,7 @@ function AutoUpdater({
|
|
|
486357
486357
|
return;
|
|
486358
486358
|
}
|
|
486359
486359
|
if (false) {}
|
|
486360
|
-
const currentVersion = "1.1.
|
|
486360
|
+
const currentVersion = "1.1.11+1b3ac1b-dirty";
|
|
486361
486361
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
486362
486362
|
let latestVersion = await getLatestVersion(channel);
|
|
486363
486363
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -486570,12 +486570,12 @@ function NativeAutoUpdater({
|
|
|
486570
486570
|
logEvent("tengu_native_auto_updater_start", {});
|
|
486571
486571
|
try {
|
|
486572
486572
|
const maxVersion = await getMaxVersion();
|
|
486573
|
-
if (maxVersion && gt("1.1.
|
|
486573
|
+
if (maxVersion && gt("1.1.11+1b3ac1b-dirty", maxVersion)) {
|
|
486574
486574
|
const msg = await getMaxVersionMessage();
|
|
486575
486575
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
486576
486576
|
}
|
|
486577
486577
|
const result = await installLatest(channel);
|
|
486578
|
-
const currentVersion = "1.1.
|
|
486578
|
+
const currentVersion = "1.1.11+1b3ac1b-dirty";
|
|
486579
486579
|
const latencyMs = Date.now() - startTime;
|
|
486580
486580
|
if (result.lockFailed) {
|
|
486581
486581
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -486712,17 +486712,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
486712
486712
|
const maxVersion = await getMaxVersion();
|
|
486713
486713
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
486714
486714
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
486715
|
-
if (gte("1.1.
|
|
486716
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
486715
|
+
if (gte("1.1.11+1b3ac1b-dirty", maxVersion)) {
|
|
486716
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.11+1b3ac1b-dirty"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
486717
486717
|
setUpdateAvailable(false);
|
|
486718
486718
|
return;
|
|
486719
486719
|
}
|
|
486720
486720
|
latest = maxVersion;
|
|
486721
486721
|
}
|
|
486722
|
-
const hasUpdate = latest && !gte("1.1.
|
|
486722
|
+
const hasUpdate = latest && !gte("1.1.11+1b3ac1b-dirty", latest) && !shouldSkipVersion(latest);
|
|
486723
486723
|
setUpdateAvailable(!!hasUpdate);
|
|
486724
486724
|
if (hasUpdate) {
|
|
486725
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
486725
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.11+1b3ac1b-dirty"} -> ${latest}`);
|
|
486726
486726
|
}
|
|
486727
486727
|
};
|
|
486728
486728
|
$2[0] = t1;
|
|
@@ -486756,7 +486756,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
486756
486756
|
wrap: "truncate",
|
|
486757
486757
|
children: [
|
|
486758
486758
|
"currentVersion: ",
|
|
486759
|
-
"1.1.
|
|
486759
|
+
"1.1.11+1b3ac1b-dirty"
|
|
486760
486760
|
]
|
|
486761
486761
|
}, undefined, true, undefined, this);
|
|
486762
486762
|
$2[3] = verbose;
|
|
@@ -494924,7 +494924,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
494924
494924
|
project_dir: getOriginalCwd(),
|
|
494925
494925
|
added_dirs: addedDirs
|
|
494926
494926
|
},
|
|
494927
|
-
version: "1.1.
|
|
494927
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
494928
494928
|
output_style: {
|
|
494929
494929
|
name: outputStyleName
|
|
494930
494930
|
},
|
|
@@ -506408,7 +506408,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
506408
506408
|
} catch {}
|
|
506409
506409
|
const data = {
|
|
506410
506410
|
trigger,
|
|
506411
|
-
version: "1.1.
|
|
506411
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
506412
506412
|
platform: process.platform,
|
|
506413
506413
|
transcript,
|
|
506414
506414
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -517825,7 +517825,7 @@ function WelcomeV2() {
|
|
|
517825
517825
|
dimColor: true,
|
|
517826
517826
|
children: [
|
|
517827
517827
|
"v",
|
|
517828
|
-
"1.1.
|
|
517828
|
+
"1.1.11+1b3ac1b-dirty",
|
|
517829
517829
|
" "
|
|
517830
517830
|
]
|
|
517831
517831
|
}, undefined, true, undefined, this)
|
|
@@ -518025,7 +518025,7 @@ function WelcomeV2() {
|
|
|
518025
518025
|
dimColor: true,
|
|
518026
518026
|
children: [
|
|
518027
518027
|
"v",
|
|
518028
|
-
"1.1.
|
|
518028
|
+
"1.1.11+1b3ac1b-dirty",
|
|
518029
518029
|
" "
|
|
518030
518030
|
]
|
|
518031
518031
|
}, undefined, true, undefined, this)
|
|
@@ -518251,7 +518251,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
518251
518251
|
dimColor: true,
|
|
518252
518252
|
children: [
|
|
518253
518253
|
"v",
|
|
518254
|
-
"1.1.
|
|
518254
|
+
"1.1.11+1b3ac1b-dirty",
|
|
518255
518255
|
" "
|
|
518256
518256
|
]
|
|
518257
518257
|
}, undefined, true, undefined, this);
|
|
@@ -518505,7 +518505,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
518505
518505
|
dimColor: true,
|
|
518506
518506
|
children: [
|
|
518507
518507
|
"v",
|
|
518508
|
-
"1.1.
|
|
518508
|
+
"1.1.11+1b3ac1b-dirty",
|
|
518509
518509
|
" "
|
|
518510
518510
|
]
|
|
518511
518511
|
}, undefined, true, undefined, this);
|
|
@@ -521569,7 +521569,7 @@ function appendToLog(path25, message) {
|
|
|
521569
521569
|
cwd: getFsImplementation().cwd(),
|
|
521570
521570
|
userType: process.env.USER_TYPE,
|
|
521571
521571
|
sessionId: getSessionId(),
|
|
521572
|
-
version: "1.1.
|
|
521572
|
+
version: "1.1.11+1b3ac1b-dirty"
|
|
521573
521573
|
};
|
|
521574
521574
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
521575
521575
|
}
|
|
@@ -525554,8 +525554,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
525554
525554
|
}
|
|
525555
525555
|
async function checkEnvLessBridgeMinVersion() {
|
|
525556
525556
|
const cfg = await getEnvLessBridgeConfig();
|
|
525557
|
-
if (cfg.min_version && lt("1.1.
|
|
525558
|
-
return `Your version of Vivus (${"1.1.
|
|
525557
|
+
if (cfg.min_version && lt("1.1.11+1b3ac1b-dirty", cfg.min_version)) {
|
|
525558
|
+
return `Your version of Vivus (${"1.1.11+1b3ac1b-dirty"}) is too old for Remote Control.
|
|
525559
525559
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
525560
525560
|
}
|
|
525561
525561
|
return null;
|
|
@@ -526029,7 +526029,7 @@ async function initBridgeCore(params) {
|
|
|
526029
526029
|
const rawApi = createBridgeApiClient({
|
|
526030
526030
|
baseUrl,
|
|
526031
526031
|
getAccessToken,
|
|
526032
|
-
runnerVersion: "1.1.
|
|
526032
|
+
runnerVersion: "1.1.11+1b3ac1b-dirty",
|
|
526033
526033
|
onDebug: logForDebugging,
|
|
526034
526034
|
onAuth401,
|
|
526035
526035
|
getTrustedDeviceToken
|
|
@@ -531693,7 +531693,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
531693
531693
|
setCwd(cwd3);
|
|
531694
531694
|
const server = new Server({
|
|
531695
531695
|
name: "vivus/tengu",
|
|
531696
|
-
version: "1.1.
|
|
531696
|
+
version: "1.1.11+1b3ac1b-dirty"
|
|
531697
531697
|
}, {
|
|
531698
531698
|
capabilities: {
|
|
531699
531699
|
tools: {}
|
|
@@ -533304,7 +533304,7 @@ __export(exports_update, {
|
|
|
533304
533304
|
});
|
|
533305
533305
|
async function update() {
|
|
533306
533306
|
logEvent("tengu_update_check", {});
|
|
533307
|
-
writeToStdout(`Current version: ${"1.1.
|
|
533307
|
+
writeToStdout(`Current version: ${"1.1.11+1b3ac1b-dirty"}
|
|
533308
533308
|
`);
|
|
533309
533309
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
533310
533310
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -533379,8 +533379,8 @@ async function update() {
|
|
|
533379
533379
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
533380
533380
|
`);
|
|
533381
533381
|
const latest = await getLatestVersion(channel);
|
|
533382
|
-
if (latest && !gte("1.1.
|
|
533383
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533382
|
+
if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
|
|
533383
|
+
writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
|
|
533384
533384
|
`);
|
|
533385
533385
|
writeToStdout(`
|
|
533386
533386
|
`);
|
|
@@ -533396,8 +533396,8 @@ async function update() {
|
|
|
533396
533396
|
writeToStdout(`Vivus is managed by winget.
|
|
533397
533397
|
`);
|
|
533398
533398
|
const latest = await getLatestVersion(channel);
|
|
533399
|
-
if (latest && !gte("1.1.
|
|
533400
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533399
|
+
if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
|
|
533400
|
+
writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
|
|
533401
533401
|
`);
|
|
533402
533402
|
writeToStdout(`
|
|
533403
533403
|
`);
|
|
@@ -533413,8 +533413,8 @@ async function update() {
|
|
|
533413
533413
|
writeToStdout(`Vivus is managed by apk.
|
|
533414
533414
|
`);
|
|
533415
533415
|
const latest = await getLatestVersion(channel);
|
|
533416
|
-
if (latest && !gte("1.1.
|
|
533417
|
-
writeToStdout(`Update available: ${"1.1.
|
|
533416
|
+
if (latest && !gte("1.1.11+1b3ac1b-dirty", latest)) {
|
|
533417
|
+
writeToStdout(`Update available: ${"1.1.11+1b3ac1b-dirty"} → ${latest}
|
|
533418
533418
|
`);
|
|
533419
533419
|
writeToStdout(`
|
|
533420
533420
|
`);
|
|
@@ -533479,11 +533479,11 @@ async function update() {
|
|
|
533479
533479
|
`);
|
|
533480
533480
|
await gracefulShutdown(1);
|
|
533481
533481
|
}
|
|
533482
|
-
if (result.latestVersion === "1.1.
|
|
533483
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
533482
|
+
if (result.latestVersion === "1.1.11+1b3ac1b-dirty") {
|
|
533483
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.11+1b3ac1b-dirty"})`) + `
|
|
533484
533484
|
`);
|
|
533485
533485
|
} else {
|
|
533486
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
533486
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.11+1b3ac1b-dirty"} to version ${result.latestVersion}`) + `
|
|
533487
533487
|
`);
|
|
533488
533488
|
await regenerateCompletionCache();
|
|
533489
533489
|
}
|
|
@@ -533540,12 +533540,12 @@ async function update() {
|
|
|
533540
533540
|
`);
|
|
533541
533541
|
await gracefulShutdown(1);
|
|
533542
533542
|
}
|
|
533543
|
-
if (latestVersion === "1.1.
|
|
533544
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.
|
|
533543
|
+
if (latestVersion === "1.1.11+1b3ac1b-dirty") {
|
|
533544
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.1.11+1b3ac1b-dirty"})`) + `
|
|
533545
533545
|
`);
|
|
533546
533546
|
await gracefulShutdown(0);
|
|
533547
533547
|
}
|
|
533548
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
533548
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.11+1b3ac1b-dirty"})
|
|
533549
533549
|
`);
|
|
533550
533550
|
writeToStdout(`Installing update...
|
|
533551
533551
|
`);
|
|
@@ -533590,7 +533590,7 @@ async function update() {
|
|
|
533590
533590
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
533591
533591
|
switch (status2) {
|
|
533592
533592
|
case "success":
|
|
533593
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
533593
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.11+1b3ac1b-dirty"} to version ${latestVersion}`) + `
|
|
533594
533594
|
`);
|
|
533595
533595
|
await regenerateCompletionCache();
|
|
533596
533596
|
break;
|
|
@@ -534561,7 +534561,7 @@ function completeOnboarding() {
|
|
|
534561
534561
|
saveGlobalConfig((current) => ({
|
|
534562
534562
|
...current,
|
|
534563
534563
|
hasCompletedOnboarding: true,
|
|
534564
|
-
lastOnboardingVersion: "1.1.
|
|
534564
|
+
lastOnboardingVersion: "1.1.11+1b3ac1b-dirty"
|
|
534565
534565
|
}));
|
|
534566
534566
|
}
|
|
534567
534567
|
function showDialog(root2, renderer) {
|
|
@@ -538731,7 +538731,7 @@ ${customInstructions}` : customInstructions;
|
|
|
538731
538731
|
}
|
|
538732
538732
|
}
|
|
538733
538733
|
logForDiagnosticsNoPII("info", "started", {
|
|
538734
|
-
version: "1.1.
|
|
538734
|
+
version: "1.1.11+1b3ac1b-dirty",
|
|
538735
538735
|
is_native_binary: isInBundledMode()
|
|
538736
538736
|
});
|
|
538737
538737
|
registerCleanup(async () => {
|
|
@@ -539515,7 +539515,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
539515
539515
|
pendingHookMessages
|
|
539516
539516
|
}, renderAndRun);
|
|
539517
539517
|
}
|
|
539518
|
-
}).version("1.1.
|
|
539518
|
+
}).version("1.1.11+1b3ac1b-dirty (Vivus)", "-v, --version", "Output the version number");
|
|
539519
539519
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
539520
539520
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
539521
539521
|
if (canUserConfigureAdvisor()) {
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vivus-agent",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.11",
|
|
4
4
|
"description": "Vivus — local AI coding agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"vivus": "
|
|
8
|
+
"vivus": "bin/vivus.mjs"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
+
"bin/vivus.mjs",
|
|
11
12
|
"dist/main.js",
|
|
12
13
|
"README.md",
|
|
13
14
|
"LICENSE"
|