vivus-agent 1.0.6 → 1.0.7

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.
Files changed (2) hide show
  1. package/dist/main.js +159 -89
  2. 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-05T23:17:49.924Z
3
+ // Built from source at 2026-06-05T23:30:25.551Z
4
4
  import { createRequire } from "node:module";
5
5
  var __create = Object.create;
6
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -116076,7 +116076,7 @@ var init_auth = __esm(() => {
116076
116076
 
116077
116077
  // src/utils/userAgent.ts
116078
116078
  function getVivusCodeUserAgent() {
116079
- return `vivus/${"1.0.6+40bcf59"}`;
116079
+ return `vivus/${"1.0.7+5259b6e"}`;
116080
116080
  }
116081
116081
 
116082
116082
  // src/utils/workloadContext.ts
@@ -116098,7 +116098,7 @@ function getUserAgent() {
116098
116098
  const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
116099
116099
  const workload = getWorkload();
116100
116100
  const workloadSuffix = workload ? `, workload/${workload}` : "";
116101
- return `vivus-cli/${"1.0.6+40bcf59"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116101
+ return `vivus-cli/${"1.0.7+5259b6e"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
116102
116102
  }
116103
116103
  function getMCPUserAgent() {
116104
116104
  const parts = [];
@@ -116112,7 +116112,7 @@ function getMCPUserAgent() {
116112
116112
  parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
116113
116113
  }
116114
116114
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
116115
- return `vivus/${"1.0.6+40bcf59"}${suffix}`;
116115
+ return `vivus/${"1.0.7+5259b6e"}${suffix}`;
116116
116116
  }
116117
116117
  function getWebFetchUserAgent() {
116118
116118
  return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -116250,7 +116250,7 @@ var init_user = __esm(() => {
116250
116250
  deviceId,
116251
116251
  sessionId: getSessionId(),
116252
116252
  email: getEmail(),
116253
- appVersion: "1.0.6+40bcf59",
116253
+ appVersion: "1.0.7+5259b6e",
116254
116254
  platform: getHostPlatformForAnalytics(),
116255
116255
  organizationUuid,
116256
116256
  accountUuid,
@@ -127916,7 +127916,7 @@ var init_metadata = __esm(() => {
127916
127916
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
127917
127917
  WHITESPACE_REGEX = /\s+/;
127918
127918
  getVersionBase = memoize_default(() => {
127919
- const match = "1.0.6+40bcf59".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127919
+ const match = "1.0.7+5259b6e".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
127920
127920
  return match ? match[0] : undefined;
127921
127921
  });
127922
127922
  buildEnvContext = memoize_default(async () => {
@@ -127956,9 +127956,9 @@ var init_metadata = __esm(() => {
127956
127956
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
127957
127957
  isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
127958
127958
  isVivusAiAuth: isVivusAISubscriber(),
127959
- version: "1.0.6+40bcf59",
127959
+ version: "1.0.7+5259b6e",
127960
127960
  versionBase: getVersionBase(),
127961
- buildTime: "2026-06-05T23:17:49.323Z",
127961
+ buildTime: "2026-06-05T23:30:24.955Z",
127962
127962
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
127963
127963
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
127964
127964
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -128626,7 +128626,7 @@ function initialize1PEventLogging() {
128626
128626
  const platform2 = getPlatform();
128627
128627
  const attributes = {
128628
128628
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
128629
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.6+40bcf59"
128629
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.7+5259b6e"
128630
128630
  };
128631
128631
  if (platform2 === "wsl") {
128632
128632
  const wslVersion = getWslVersion();
@@ -128653,7 +128653,7 @@ function initialize1PEventLogging() {
128653
128653
  })
128654
128654
  ]
128655
128655
  });
128656
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.6+40bcf59");
128656
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.7+5259b6e");
128657
128657
  }
128658
128658
  async function reinitialize1PEventLoggingIfConfigChanged() {
128659
128659
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -162742,7 +162742,7 @@ function getAttributionHeader(fingerprint) {
162742
162742
  if (!isAttributionHeaderEnabled()) {
162743
162743
  return "";
162744
162744
  }
162745
- const version2 = `${"1.0.6+40bcf59"}.${fingerprint}`;
162745
+ const version2 = `${"1.0.7+5259b6e"}.${fingerprint}`;
162746
162746
  const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
162747
162747
  const cch = "";
162748
162748
  const workload = getWorkload();
@@ -175899,7 +175899,7 @@ function getTelemetryAttributes() {
175899
175899
  attributes["session.id"] = sessionId;
175900
175900
  }
175901
175901
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
175902
- attributes["app.version"] = "1.0.6+40bcf59";
175902
+ attributes["app.version"] = "1.0.7+5259b6e";
175903
175903
  }
175904
175904
  const oauthAccount = getOauthAccountInfo();
175905
175905
  if (oauthAccount) {
@@ -207715,7 +207715,8 @@ function FallbackToolUseErrorMessage(t0) {
207715
207715
  const withoutErrorTags = withoutSandboxViolations.replace(/<\/?error>/g, "");
207716
207716
  const trimmed = withoutErrorTags.trim();
207717
207717
  if (!verbose && trimmed.includes("InputValidationError: ")) {
207718
- error41 = "Invalid tool parameters";
207718
+ const stripped = trimmed.replace(/^InputValidationError:\s*/, "");
207719
+ error41 = `Invalid tool parameters: ${stripped}`;
207719
207720
  } else {
207720
207721
  if (trimmed.startsWith("Error: ") || trimmed.startsWith("Cancelled: ")) {
207721
207722
  error41 = trimmed;
@@ -236033,7 +236034,7 @@ function computeFingerprint(messageText, version2) {
236033
236034
  }
236034
236035
  function computeFingerprintFromMessages(messages) {
236035
236036
  const firstMessageText = extractFirstMessageText(messages);
236036
- return computeFingerprint(firstMessageText, "1.0.6+40bcf59");
236037
+ return computeFingerprint(firstMessageText, "1.0.7+5259b6e");
236037
236038
  }
236038
236039
  var FINGERPRINT_SALT = "59cf53e54c78";
236039
236040
  var init_fingerprint = () => {};
@@ -236075,7 +236076,7 @@ async function sideQuery(opts) {
236075
236076
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
236076
236077
  }
236077
236078
  const messageText = extractFirstUserMessageText(messages);
236078
- const fingerprint = computeFingerprint(messageText, "1.0.6+40bcf59");
236079
+ const fingerprint = computeFingerprint(messageText, "1.0.7+5259b6e");
236079
236080
  const attributionHeader = getAttributionHeader(fingerprint);
236080
236081
  const systemBlocks = [
236081
236082
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -237227,7 +237228,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
237227
237228
  const client2 = new Client({
237228
237229
  name: "vivus",
237229
237230
  title: "Vivus",
237230
- version: "1.0.6+40bcf59",
237231
+ version: "1.0.7+5259b6e",
237231
237232
  description: "Anthropic's agentic coding tool",
237232
237233
  websiteUrl: PRODUCT_URL
237233
237234
  }, {
@@ -237581,7 +237582,7 @@ var init_client6 = __esm(() => {
237581
237582
  const client2 = new Client({
237582
237583
  name: "vivus",
237583
237584
  title: "Vivus",
237584
- version: "1.0.6+40bcf59",
237585
+ version: "1.0.7+5259b6e",
237585
237586
  description: "Anthropic's agentic coding tool",
237586
237587
  websiteUrl: PRODUCT_URL
237587
237588
  }, {
@@ -239639,7 +239640,7 @@ function getInstallationEnv() {
239639
239640
  return;
239640
239641
  }
239641
239642
  function getVivusCodeVersion() {
239642
- return "1.0.6+40bcf59";
239643
+ return "1.0.7+5259b6e";
239643
239644
  }
239644
239645
  async function getInstalledVSCodeExtensionVersion(command) {
239645
239646
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -272129,7 +272130,7 @@ async function initializeBetaTracing(resource) {
272129
272130
  });
272130
272131
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
272131
272132
  setLoggerProvider(loggerProvider);
272132
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.6+40bcf59");
272133
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.7+5259b6e");
272133
272134
  setEventLogger(eventLogger);
272134
272135
  process.on("beforeExit", async () => {
272135
272136
  await loggerProvider?.forceFlush();
@@ -272169,7 +272170,7 @@ async function initializeTelemetry() {
272169
272170
  const platform5 = getPlatform();
272170
272171
  const baseAttributes = {
272171
272172
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
272172
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.6+40bcf59"
272173
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.7+5259b6e"
272173
272174
  };
272174
272175
  if (platform5 === "wsl") {
272175
272176
  const wslVersion = getWslVersion();
@@ -272214,7 +272215,7 @@ async function initializeTelemetry() {
272214
272215
  } catch {}
272215
272216
  };
272216
272217
  registerCleanup(shutdownTelemetry2);
272217
- return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.6+40bcf59");
272218
+ return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.7+5259b6e");
272218
272219
  }
272219
272220
  const meterProvider = new import_sdk_metrics2.MeterProvider({
272220
272221
  resource,
@@ -272234,7 +272235,7 @@ async function initializeTelemetry() {
272234
272235
  });
272235
272236
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
272236
272237
  setLoggerProvider(loggerProvider);
272237
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.6+40bcf59");
272238
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.vivus_code.events", "1.0.7+5259b6e");
272238
272239
  setEventLogger(eventLogger);
272239
272240
  logForDebugging("[3P telemetry] Event logger set successfully");
272240
272241
  process.on("beforeExit", async () => {
@@ -272296,7 +272297,7 @@ Current timeout: ${timeoutMs}ms
272296
272297
  }
272297
272298
  };
272298
272299
  registerCleanup(shutdownTelemetry);
272299
- return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.6+40bcf59");
272300
+ return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.7+5259b6e");
272300
272301
  }
272301
272302
  async function flushTelemetry() {
272302
272303
  const meterProvider = getMeterProvider();
@@ -272982,9 +272983,9 @@ async function assertMinVersion() {
272982
272983
  if (false) {}
272983
272984
  try {
272984
272985
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
272985
- if (versionConfig.minVersion && lt("1.0.6+40bcf59", versionConfig.minVersion)) {
272986
+ if (versionConfig.minVersion && lt("1.0.7+5259b6e", versionConfig.minVersion)) {
272986
272987
  console.error(`
272987
- It looks like your version of Vivus (${"1.0.6+40bcf59"}) needs an update.
272988
+ It looks like your version of Vivus (${"1.0.7+5259b6e"}) needs an update.
272988
272989
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
272989
272990
 
272990
272991
  To update, please run:
@@ -273200,7 +273201,7 @@ async function installGlobalPackage(specificVersion) {
273200
273201
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
273201
273202
  logEvent("tengu_auto_updater_lock_contention", {
273202
273203
  pid: process.pid,
273203
- currentVersion: "1.0.6+40bcf59"
273204
+ currentVersion: "1.0.7+5259b6e"
273204
273205
  });
273205
273206
  return "in_progress";
273206
273207
  }
@@ -273209,7 +273210,7 @@ async function installGlobalPackage(specificVersion) {
273209
273210
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
273210
273211
  logError2(new Error("Windows NPM detected in WSL environment"));
273211
273212
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
273212
- currentVersion: "1.0.6+40bcf59"
273213
+ currentVersion: "1.0.7+5259b6e"
273213
273214
  });
273214
273215
  console.error(`
273215
273216
  Error: Windows NPM detected in WSL
@@ -273742,7 +273743,7 @@ function detectLinuxGlobPatternWarnings() {
273742
273743
  }
273743
273744
  async function getDoctorDiagnostic() {
273744
273745
  const installationType = await getCurrentInstallationType();
273745
- const version2 = typeof MACRO !== "undefined" ? "1.0.6+40bcf59" : "unknown";
273746
+ const version2 = typeof MACRO !== "undefined" ? "1.0.7+5259b6e" : "unknown";
273746
273747
  const installationPath = await getInstallationPath();
273747
273748
  const invokedBinary = getInvokedBinary();
273748
273749
  const multipleInstallations = await detectMultipleInstallations();
@@ -274675,8 +274676,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
274675
274676
  const maxVersion = await getMaxVersion();
274676
274677
  if (maxVersion && gt(version2, maxVersion)) {
274677
274678
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
274678
- if (gte("1.0.6+40bcf59", maxVersion)) {
274679
- logForDebugging(`Native installer: current version ${"1.0.6+40bcf59"} is already at or above maxVersion ${maxVersion}, skipping update`);
274679
+ if (gte("1.0.7+5259b6e", maxVersion)) {
274680
+ logForDebugging(`Native installer: current version ${"1.0.7+5259b6e"} is already at or above maxVersion ${maxVersion}, skipping update`);
274680
274681
  logEvent("tengu_native_update_skipped_max_version", {
274681
274682
  latency_ms: Date.now() - startTime,
274682
274683
  max_version: maxVersion,
@@ -274687,7 +274688,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
274687
274688
  version2 = maxVersion;
274688
274689
  }
274689
274690
  }
274690
- if (!forceReinstall && version2 === "1.0.6+40bcf59" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
274691
+ if (!forceReinstall && version2 === "1.0.7+5259b6e" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
274691
274692
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
274692
274693
  logEvent("tengu_native_update_complete", {
274693
274694
  latency_ms: Date.now() - startTime,
@@ -327144,6 +327145,68 @@ var init_toolErrors = __esm(() => {
327144
327145
  init_messages3();
327145
327146
  });
327146
327147
 
327148
+ // src/utils/toolInputCoercion.ts
327149
+ function looksLikeNumericKeyedArray(obj) {
327150
+ const keys2 = Object.keys(obj);
327151
+ if (keys2.length === 0)
327152
+ return false;
327153
+ for (const k2 of keys2) {
327154
+ if (!/^\d+$/.test(k2))
327155
+ return false;
327156
+ }
327157
+ return true;
327158
+ }
327159
+ function objectToArray(obj) {
327160
+ return Object.keys(obj).map((k2) => Number.parseInt(k2, 10)).sort((a2, b) => a2 - b).map((i2) => obj[String(i2)]);
327161
+ }
327162
+ function coerceValue(value, depth) {
327163
+ if (depth > MAX_COERCE_DEPTH)
327164
+ return value;
327165
+ if (value == null)
327166
+ return value;
327167
+ if (typeof value === "string") {
327168
+ const trimmed = value.trim();
327169
+ if (trimmed === "true")
327170
+ return true;
327171
+ if (trimmed === "false")
327172
+ return false;
327173
+ if (trimmed === "null")
327174
+ return null;
327175
+ if (trimmed.startsWith("{") && trimmed.endsWith("}") || trimmed.startsWith("[") && trimmed.endsWith("]")) {
327176
+ try {
327177
+ const parsed = JSON.parse(trimmed);
327178
+ return coerceValue(parsed, depth + 1);
327179
+ } catch {
327180
+ return value;
327181
+ }
327182
+ }
327183
+ return value;
327184
+ }
327185
+ if (Array.isArray(value)) {
327186
+ return value.map((v) => coerceValue(v, depth + 1));
327187
+ }
327188
+ if (typeof value === "object") {
327189
+ const obj = value;
327190
+ if (looksLikeNumericKeyedArray(obj)) {
327191
+ return objectToArray(obj).map((v) => coerceValue(v, depth + 1));
327192
+ }
327193
+ const out = {};
327194
+ for (const [k2, v] of Object.entries(obj)) {
327195
+ out[k2] = coerceValue(v, depth + 1);
327196
+ }
327197
+ return out;
327198
+ }
327199
+ return value;
327200
+ }
327201
+ function coerceToolInput(input) {
327202
+ const coerced = coerceValue(input, 0);
327203
+ if (coerced && typeof coerced === "object" && !Array.isArray(coerced)) {
327204
+ return coerced;
327205
+ }
327206
+ return input ?? {};
327207
+ }
327208
+ var MAX_COERCE_DEPTH = 12;
327209
+
327147
327210
  // src/utils/permissions/PermissionResult.ts
327148
327211
  function getRuleBehaviorDescription(permissionResult) {
327149
327212
  switch (permissionResult) {
@@ -327829,7 +327892,14 @@ function buildSchemaNotSentHint(tool, messages, tools) {
327829
327892
  This tool's schema was not sent to the API — it was not in the discovered-tool set derived from message history. ` + `Without the schema in your prompt, typed parameters (arrays, numbers, booleans) get emitted as strings and the client-side parser rejects them. ` + `Load the tool first: call ${TOOL_SEARCH_TOOL_NAME} with query "select:${tool.name}", then retry this call.`;
327830
327893
  }
327831
327894
  async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContext, canUseTool, assistantMessage, messageId, requestId, mcpServerType, mcpServerBaseUrl, onToolProgress) {
327832
- const parsedInput = tool.inputSchema.safeParse(input);
327895
+ const coercedInput = coerceToolInput(input);
327896
+ let parsedInput = tool.inputSchema.safeParse(coercedInput);
327897
+ if (!parsedInput.success && coercedInput !== input) {
327898
+ const original = tool.inputSchema.safeParse(input);
327899
+ if (original.success) {
327900
+ parsedInput = original;
327901
+ }
327902
+ }
327833
327903
  if (!parsedInput.success) {
327834
327904
  let errorContent = formatZodValidationError(tool.name, parsedInput.error);
327835
327905
  const schemaHint = buildSchemaNotSentHint(tool, toolUseContext.messages, toolUseContext.options.tools);
@@ -330727,7 +330797,7 @@ function getAnthropicEnvMetadata() {
330727
330797
  function getBuildAgeMinutes() {
330728
330798
  if (false)
330729
330799
  ;
330730
- const buildTime = new Date("2026-06-05T23:17:49.323Z").getTime();
330800
+ const buildTime = new Date("2026-06-05T23:30:24.955Z").getTime();
330731
330801
  if (isNaN(buildTime))
330732
330802
  return;
330733
330803
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -377957,7 +378027,7 @@ var init_filesystem = __esm(() => {
377957
378027
  });
377958
378028
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
377959
378029
  const nonce = randomBytes17(16).toString("hex");
377960
- return join106(getVivusTempDir(), "bundled-skills", "1.0.6+40bcf59", nonce);
378030
+ return join106(getVivusTempDir(), "bundled-skills", "1.0.7+5259b6e", nonce);
377961
378031
  });
377962
378032
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
377963
378033
  });
@@ -379717,7 +379787,7 @@ function Feedback({
379717
379787
  platform: env2.platform,
379718
379788
  gitRepo: envInfo.isGit,
379719
379789
  terminal: env2.terminal,
379720
- version: "1.0.6+40bcf59",
379790
+ version: "1.0.7+5259b6e",
379721
379791
  transcript: normalizeMessagesForAPI(messages),
379722
379792
  errors: sanitizedErrors,
379723
379793
  lastApiRequest: getLastAPIRequest(),
@@ -379909,7 +379979,7 @@ function Feedback({
379909
379979
  ", ",
379910
379980
  env2.terminal,
379911
379981
  ", v",
379912
- "1.0.6+40bcf59"
379982
+ "1.0.7+5259b6e"
379913
379983
  ]
379914
379984
  }, undefined, true, undefined, this)
379915
379985
  ]
@@ -380015,7 +380085,7 @@ ${sanitizedDescription}
380015
380085
  ` + `**Environment Info**
380016
380086
  ` + `- Platform: ${env2.platform}
380017
380087
  ` + `- Terminal: ${env2.terminal}
380018
- ` + `- Version: ${"1.0.6+40bcf59"}
380088
+ ` + `- Version: ${"1.0.7+5259b6e"}
380019
380089
  ` + `- Feedback ID: ${feedbackId}
380020
380090
  ` + `
380021
380091
  **Errors**
@@ -383146,7 +383216,7 @@ function buildPrimarySection() {
383146
383216
  }, undefined, false, undefined, this);
383147
383217
  return [{
383148
383218
  label: "Version",
383149
- value: "1.0.6+40bcf59"
383219
+ value: "1.0.7+5259b6e"
383150
383220
  }, {
383151
383221
  label: "Session name",
383152
383222
  value: nameValue
@@ -386897,7 +386967,7 @@ function Config({
386897
386967
  }
386898
386968
  }, undefined, false, undefined, this)
386899
386969
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
386900
- currentVersion: "1.0.6+40bcf59",
386970
+ currentVersion: "1.0.7+5259b6e",
386901
386971
  onChoice: (choice) => {
386902
386972
  setShowSubmenu(null);
386903
386973
  setTabsHidden(false);
@@ -386909,7 +386979,7 @@ function Config({
386909
386979
  autoUpdatesChannel: "stable"
386910
386980
  };
386911
386981
  if (choice === "stay") {
386912
- newSettings.minimumVersion = "1.0.6+40bcf59";
386982
+ newSettings.minimumVersion = "1.0.7+5259b6e";
386913
386983
  }
386914
386984
  updateSettingsForSource("userSettings", newSettings);
386915
386985
  setSettingsData((prev_27) => ({
@@ -394995,7 +395065,7 @@ function HelpV2(t0) {
394995
395065
  let t6;
394996
395066
  if ($2[31] !== tabs) {
394997
395067
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
394998
- title: `Vivus v${"1.0.6+40bcf59"}`,
395068
+ title: `Vivus v${"1.0.7+5259b6e"}`,
394999
395069
  color: "professionalBlue",
395000
395070
  defaultTab: "general",
395001
395071
  children: tabs
@@ -419220,7 +419290,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
419220
419290
  return [];
419221
419291
  }
419222
419292
  }
419223
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.6+40bcf59") {
419293
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.7+5259b6e") {
419224
419294
  if (process.env.USER_TYPE === "ant") {
419225
419295
  const changelog = "";
419226
419296
  if (changelog) {
@@ -419247,7 +419317,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.6+40b
419247
419317
  releaseNotes
419248
419318
  };
419249
419319
  }
419250
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.6+40bcf59") {
419320
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.7+5259b6e") {
419251
419321
  if (process.env.USER_TYPE === "ant") {
419252
419322
  const changelog = "";
419253
419323
  if (changelog) {
@@ -420417,7 +420487,7 @@ function getRecentActivitySync() {
420417
420487
  return cachedActivity;
420418
420488
  }
420419
420489
  function getLogoDisplayData() {
420420
- const version2 = process.env.DEMO_VERSION ?? "1.0.6+40bcf59";
420490
+ const version2 = process.env.DEMO_VERSION ?? "1.0.7+5259b6e";
420421
420491
  const serverUrl = getDirectConnectServerUrl();
420422
420492
  const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
420423
420493
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -421944,7 +422014,7 @@ function LogoV2() {
421944
422014
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
421945
422015
  t2 = () => {
421946
422016
  const currentConfig = getGlobalConfig();
421947
- if (currentConfig.lastReleaseNotesSeen === "1.0.6+40bcf59") {
422017
+ if (currentConfig.lastReleaseNotesSeen === "1.0.7+5259b6e") {
421948
422018
  return;
421949
422019
  }
421950
422020
  saveGlobalConfig(_temp329);
@@ -422620,12 +422690,12 @@ function LogoV2() {
422620
422690
  return t41;
422621
422691
  }
422622
422692
  function _temp329(current) {
422623
- if (current.lastReleaseNotesSeen === "1.0.6+40bcf59") {
422693
+ if (current.lastReleaseNotesSeen === "1.0.7+5259b6e") {
422624
422694
  return current;
422625
422695
  }
422626
422696
  return {
422627
422697
  ...current,
422628
- lastReleaseNotesSeen: "1.0.6+40bcf59"
422698
+ lastReleaseNotesSeen: "1.0.7+5259b6e"
422629
422699
  };
422630
422700
  }
422631
422701
  function _temp245(s_0) {
@@ -448922,7 +448992,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
448922
448992
  smapsRollup,
448923
448993
  platform: process.platform,
448924
448994
  nodeVersion: process.version,
448925
- ccVersion: "1.0.6+40bcf59"
448995
+ ccVersion: "1.0.7+5259b6e"
448926
448996
  };
448927
448997
  }
448928
448998
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -449508,7 +449578,7 @@ var init_bridge_kick = __esm(() => {
449508
449578
  var call56 = async () => {
449509
449579
  return {
449510
449580
  type: "text",
449511
- value: `${"1.0.6+40bcf59"} (built ${"2026-06-05T23:17:49.323Z"})`
449581
+ value: `${"1.0.7+5259b6e"} (built ${"2026-06-05T23:30:24.955Z"})`
449512
449582
  };
449513
449583
  }, version2, version_default;
449514
449584
  var init_version = __esm(() => {
@@ -458471,7 +458541,7 @@ function generateHtmlReport(data, insights) {
458471
458541
  </html>`;
458472
458542
  }
458473
458543
  function buildExportData(data, insights, facets, remoteStats) {
458474
- const version3 = typeof MACRO !== "undefined" ? "1.0.6+40bcf59" : "unknown";
458544
+ const version3 = typeof MACRO !== "undefined" ? "1.0.7+5259b6e" : "unknown";
458475
458545
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
458476
458546
  const facets_summary = {
458477
458547
  total: facets.size,
@@ -462580,7 +462650,7 @@ var init_sessionStorage = __esm(() => {
462580
462650
  init_settings2();
462581
462651
  init_slowOperations();
462582
462652
  init_uuid();
462583
- VERSION5 = typeof MACRO !== "undefined" ? "1.0.6+40bcf59" : "unknown";
462653
+ VERSION5 = typeof MACRO !== "undefined" ? "1.0.7+5259b6e" : "unknown";
462584
462654
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
462585
462655
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
462586
462656
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -465451,7 +465521,7 @@ function buildSystemInitMessage(inputs) {
465451
465521
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
465452
465522
  apiKeySource: getAnthropicApiKeyWithSource().source,
465453
465523
  betas: getSdkBetas(),
465454
- vivus_code_version: "1.0.6+40bcf59",
465524
+ vivus_code_version: "1.0.7+5259b6e",
465455
465525
  output_style: outputStyle2,
465456
465526
  agents: inputs.agents.map((agent) => agent.agentType),
465457
465527
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -480079,7 +480149,7 @@ var init_useVoiceEnabled = __esm(() => {
480079
480149
  function getSemverPart(version3) {
480080
480150
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
480081
480151
  }
480082
- function useUpdateNotification(updatedVersion, initialVersion = "1.0.6+40bcf59") {
480152
+ function useUpdateNotification(updatedVersion, initialVersion = "1.0.7+5259b6e") {
480083
480153
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
480084
480154
  if (!updatedVersion) {
480085
480155
  return null;
@@ -480119,7 +480189,7 @@ function AutoUpdater({
480119
480189
  return;
480120
480190
  }
480121
480191
  if (false) {}
480122
- const currentVersion = "1.0.6+40bcf59";
480192
+ const currentVersion = "1.0.7+5259b6e";
480123
480193
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
480124
480194
  let latestVersion = await getLatestVersion(channel);
480125
480195
  const isDisabled = isAutoUpdaterDisabled();
@@ -480332,12 +480402,12 @@ function NativeAutoUpdater({
480332
480402
  logEvent("tengu_native_auto_updater_start", {});
480333
480403
  try {
480334
480404
  const maxVersion = await getMaxVersion();
480335
- if (maxVersion && gt("1.0.6+40bcf59", maxVersion)) {
480405
+ if (maxVersion && gt("1.0.7+5259b6e", maxVersion)) {
480336
480406
  const msg = await getMaxVersionMessage();
480337
480407
  setMaxVersionIssue(msg ?? "affects your version");
480338
480408
  }
480339
480409
  const result = await installLatest(channel);
480340
- const currentVersion = "1.0.6+40bcf59";
480410
+ const currentVersion = "1.0.7+5259b6e";
480341
480411
  const latencyMs = Date.now() - startTime;
480342
480412
  if (result.lockFailed) {
480343
480413
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -480474,17 +480544,17 @@ function PackageManagerAutoUpdater(t0) {
480474
480544
  const maxVersion = await getMaxVersion();
480475
480545
  if (maxVersion && latest && gt(latest, maxVersion)) {
480476
480546
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
480477
- if (gte("1.0.6+40bcf59", maxVersion)) {
480478
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.6+40bcf59"} is already at or above maxVersion ${maxVersion}, skipping update`);
480547
+ if (gte("1.0.7+5259b6e", maxVersion)) {
480548
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.7+5259b6e"} is already at or above maxVersion ${maxVersion}, skipping update`);
480479
480549
  setUpdateAvailable(false);
480480
480550
  return;
480481
480551
  }
480482
480552
  latest = maxVersion;
480483
480553
  }
480484
- const hasUpdate = latest && !gte("1.0.6+40bcf59", latest) && !shouldSkipVersion(latest);
480554
+ const hasUpdate = latest && !gte("1.0.7+5259b6e", latest) && !shouldSkipVersion(latest);
480485
480555
  setUpdateAvailable(!!hasUpdate);
480486
480556
  if (hasUpdate) {
480487
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.6+40bcf59"} -> ${latest}`);
480557
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.7+5259b6e"} -> ${latest}`);
480488
480558
  }
480489
480559
  };
480490
480560
  $2[0] = t1;
@@ -480518,7 +480588,7 @@ function PackageManagerAutoUpdater(t0) {
480518
480588
  wrap: "truncate",
480519
480589
  children: [
480520
480590
  "currentVersion: ",
480521
- "1.0.6+40bcf59"
480591
+ "1.0.7+5259b6e"
480522
480592
  ]
480523
480593
  }, undefined, true, undefined, this);
480524
480594
  $2[3] = verbose;
@@ -488686,7 +488756,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
488686
488756
  project_dir: getOriginalCwd(),
488687
488757
  added_dirs: addedDirs
488688
488758
  },
488689
- version: "1.0.6+40bcf59",
488759
+ version: "1.0.7+5259b6e",
488690
488760
  output_style: {
488691
488761
  name: outputStyleName
488692
488762
  },
@@ -500170,7 +500240,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
500170
500240
  } catch {}
500171
500241
  const data = {
500172
500242
  trigger,
500173
- version: "1.0.6+40bcf59",
500243
+ version: "1.0.7+5259b6e",
500174
500244
  platform: process.platform,
500175
500245
  transcript,
500176
500246
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -511576,7 +511646,7 @@ function WelcomeV2() {
511576
511646
  dimColor: true,
511577
511647
  children: [
511578
511648
  "v",
511579
- "1.0.6+40bcf59",
511649
+ "1.0.7+5259b6e",
511580
511650
  " "
511581
511651
  ]
511582
511652
  }, undefined, true, undefined, this)
@@ -511776,7 +511846,7 @@ function WelcomeV2() {
511776
511846
  dimColor: true,
511777
511847
  children: [
511778
511848
  "v",
511779
- "1.0.6+40bcf59",
511849
+ "1.0.7+5259b6e",
511780
511850
  " "
511781
511851
  ]
511782
511852
  }, undefined, true, undefined, this)
@@ -512002,7 +512072,7 @@ function AppleTerminalWelcomeV2(t0) {
512002
512072
  dimColor: true,
512003
512073
  children: [
512004
512074
  "v",
512005
- "1.0.6+40bcf59",
512075
+ "1.0.7+5259b6e",
512006
512076
  " "
512007
512077
  ]
512008
512078
  }, undefined, true, undefined, this);
@@ -512256,7 +512326,7 @@ function AppleTerminalWelcomeV2(t0) {
512256
512326
  dimColor: true,
512257
512327
  children: [
512258
512328
  "v",
512259
- "1.0.6+40bcf59",
512329
+ "1.0.7+5259b6e",
512260
512330
  " "
512261
512331
  ]
512262
512332
  }, undefined, true, undefined, this);
@@ -515320,7 +515390,7 @@ function appendToLog(path25, message) {
515320
515390
  cwd: getFsImplementation().cwd(),
515321
515391
  userType: process.env.USER_TYPE,
515322
515392
  sessionId: getSessionId(),
515323
- version: "1.0.6+40bcf59"
515393
+ version: "1.0.7+5259b6e"
515324
515394
  };
515325
515395
  getLogWriter(path25).write(messageWithTimestamp);
515326
515396
  }
@@ -519305,8 +519375,8 @@ async function getEnvLessBridgeConfig() {
519305
519375
  }
519306
519376
  async function checkEnvLessBridgeMinVersion() {
519307
519377
  const cfg = await getEnvLessBridgeConfig();
519308
- if (cfg.min_version && lt("1.0.6+40bcf59", cfg.min_version)) {
519309
- return `Your version of Vivus (${"1.0.6+40bcf59"}) is too old for Remote Control.
519378
+ if (cfg.min_version && lt("1.0.7+5259b6e", cfg.min_version)) {
519379
+ return `Your version of Vivus (${"1.0.7+5259b6e"}) is too old for Remote Control.
519310
519380
  Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
519311
519381
  }
519312
519382
  return null;
@@ -519780,7 +519850,7 @@ async function initBridgeCore(params) {
519780
519850
  const rawApi = createBridgeApiClient({
519781
519851
  baseUrl,
519782
519852
  getAccessToken,
519783
- runnerVersion: "1.0.6+40bcf59",
519853
+ runnerVersion: "1.0.7+5259b6e",
519784
519854
  onDebug: logForDebugging,
519785
519855
  onAuth401,
519786
519856
  getTrustedDeviceToken
@@ -525444,7 +525514,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
525444
525514
  setCwd(cwd3);
525445
525515
  const server = new Server({
525446
525516
  name: "vivus/tengu",
525447
- version: "1.0.6+40bcf59"
525517
+ version: "1.0.7+5259b6e"
525448
525518
  }, {
525449
525519
  capabilities: {
525450
525520
  tools: {}
@@ -527055,7 +527125,7 @@ __export(exports_update, {
527055
527125
  });
527056
527126
  async function update() {
527057
527127
  logEvent("tengu_update_check", {});
527058
- writeToStdout(`Current version: ${"1.0.6+40bcf59"}
527128
+ writeToStdout(`Current version: ${"1.0.7+5259b6e"}
527059
527129
  `);
527060
527130
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
527061
527131
  writeToStdout(`Checking for updates to ${channel} version...
@@ -527130,8 +527200,8 @@ async function update() {
527130
527200
  writeToStdout(`Vivus is managed by Homebrew.
527131
527201
  `);
527132
527202
  const latest = await getLatestVersion(channel);
527133
- if (latest && !gte("1.0.6+40bcf59", latest)) {
527134
- writeToStdout(`Update available: ${"1.0.6+40bcf59"} → ${latest}
527203
+ if (latest && !gte("1.0.7+5259b6e", latest)) {
527204
+ writeToStdout(`Update available: ${"1.0.7+5259b6e"} → ${latest}
527135
527205
  `);
527136
527206
  writeToStdout(`
527137
527207
  `);
@@ -527147,8 +527217,8 @@ async function update() {
527147
527217
  writeToStdout(`Vivus is managed by winget.
527148
527218
  `);
527149
527219
  const latest = await getLatestVersion(channel);
527150
- if (latest && !gte("1.0.6+40bcf59", latest)) {
527151
- writeToStdout(`Update available: ${"1.0.6+40bcf59"} → ${latest}
527220
+ if (latest && !gte("1.0.7+5259b6e", latest)) {
527221
+ writeToStdout(`Update available: ${"1.0.7+5259b6e"} → ${latest}
527152
527222
  `);
527153
527223
  writeToStdout(`
527154
527224
  `);
@@ -527164,8 +527234,8 @@ async function update() {
527164
527234
  writeToStdout(`Vivus is managed by apk.
527165
527235
  `);
527166
527236
  const latest = await getLatestVersion(channel);
527167
- if (latest && !gte("1.0.6+40bcf59", latest)) {
527168
- writeToStdout(`Update available: ${"1.0.6+40bcf59"} → ${latest}
527237
+ if (latest && !gte("1.0.7+5259b6e", latest)) {
527238
+ writeToStdout(`Update available: ${"1.0.7+5259b6e"} → ${latest}
527169
527239
  `);
527170
527240
  writeToStdout(`
527171
527241
  `);
@@ -527230,11 +527300,11 @@ async function update() {
527230
527300
  `);
527231
527301
  await gracefulShutdown(1);
527232
527302
  }
527233
- if (result.latestVersion === "1.0.6+40bcf59") {
527234
- writeToStdout(source_default.green(`Vivus is up to date (${"1.0.6+40bcf59"})`) + `
527303
+ if (result.latestVersion === "1.0.7+5259b6e") {
527304
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.0.7+5259b6e"})`) + `
527235
527305
  `);
527236
527306
  } else {
527237
- writeToStdout(source_default.green(`Successfully updated from ${"1.0.6+40bcf59"} to version ${result.latestVersion}`) + `
527307
+ writeToStdout(source_default.green(`Successfully updated from ${"1.0.7+5259b6e"} to version ${result.latestVersion}`) + `
527238
527308
  `);
527239
527309
  await regenerateCompletionCache();
527240
527310
  }
@@ -527291,12 +527361,12 @@ async function update() {
527291
527361
  `);
527292
527362
  await gracefulShutdown(1);
527293
527363
  }
527294
- if (latestVersion === "1.0.6+40bcf59") {
527295
- writeToStdout(source_default.green(`Vivus is up to date (${"1.0.6+40bcf59"})`) + `
527364
+ if (latestVersion === "1.0.7+5259b6e") {
527365
+ writeToStdout(source_default.green(`Vivus is up to date (${"1.0.7+5259b6e"})`) + `
527296
527366
  `);
527297
527367
  await gracefulShutdown(0);
527298
527368
  }
527299
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.6+40bcf59"})
527369
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.7+5259b6e"})
527300
527370
  `);
527301
527371
  writeToStdout(`Installing update...
527302
527372
  `);
@@ -527341,7 +527411,7 @@ async function update() {
527341
527411
  logForDebugging(`update: Installation status: ${status2}`);
527342
527412
  switch (status2) {
527343
527413
  case "success":
527344
- writeToStdout(source_default.green(`Successfully updated from ${"1.0.6+40bcf59"} to version ${latestVersion}`) + `
527414
+ writeToStdout(source_default.green(`Successfully updated from ${"1.0.7+5259b6e"} to version ${latestVersion}`) + `
527345
527415
  `);
527346
527416
  await regenerateCompletionCache();
527347
527417
  break;
@@ -528371,7 +528441,7 @@ function completeOnboarding() {
528371
528441
  saveGlobalConfig((current) => ({
528372
528442
  ...current,
528373
528443
  hasCompletedOnboarding: true,
528374
- lastOnboardingVersion: "1.0.6+40bcf59"
528444
+ lastOnboardingVersion: "1.0.7+5259b6e"
528375
528445
  }));
528376
528446
  }
528377
528447
  function showDialog(root2, renderer) {
@@ -532460,7 +532530,7 @@ ${customInstructions}` : customInstructions;
532460
532530
  }
532461
532531
  }
532462
532532
  logForDiagnosticsNoPII("info", "started", {
532463
- version: "1.0.6+40bcf59",
532533
+ version: "1.0.7+5259b6e",
532464
532534
  is_native_binary: isInBundledMode()
532465
532535
  });
532466
532536
  registerCleanup(async () => {
@@ -533244,7 +533314,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
533244
533314
  pendingHookMessages
533245
533315
  }, renderAndRun);
533246
533316
  }
533247
- }).version("1.0.6+40bcf59 (Vivus)", "-v, --version", "Output the version number");
533317
+ }).version("1.0.7+5259b6e (Vivus)", "-v, --version", "Output the version number");
533248
533318
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
533249
533319
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
533250
533320
  if (canUserConfigureAdvisor()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vivus-agent",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "Vivus — local AI coding agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",