vivus-agent 1.0.2 → 1.0.4
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 +377 -282
- 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-05T22:
|
|
3
|
+
// Built from source at 2026-06-05T22:56:05.279Z
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
var __create = Object.create;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
@@ -10111,7 +10111,7 @@ function getOauthConfig() {
|
|
|
10111
10111
|
}
|
|
10112
10112
|
return config;
|
|
10113
10113
|
}
|
|
10114
|
-
var VIVUS_AI_INFERENCE_SCOPE = "user:inference", VIVUS_AI_PROFILE_SCOPE = "user:profile", CONSOLE_SCOPE = "org:create_api_key", OAUTH_BETA_HEADER = "oauth-2025-04-20", CONSOLE_OAUTH_SCOPES, VIVUS_AI_OAUTH_SCOPES, ALL_OAUTH_SCOPES, PROD_OAUTH_CONFIG, MCP_CLIENT_METADATA_URL = "
|
|
10114
|
+
var VIVUS_AI_INFERENCE_SCOPE = "user:inference", VIVUS_AI_PROFILE_SCOPE = "user:profile", CONSOLE_SCOPE = "org:create_api_key", OAUTH_BETA_HEADER = "oauth-2025-04-20", CONSOLE_OAUTH_SCOPES, VIVUS_AI_OAUTH_SCOPES, ALL_OAUTH_SCOPES, PROD_OAUTH_CONFIG, MCP_CLIENT_METADATA_URL = "", STAGING_OAUTH_CONFIG = undefined, ALLOWED_OAUTH_BASE_URLS;
|
|
10115
10115
|
var init_oauth = __esm(() => {
|
|
10116
10116
|
init_envUtils();
|
|
10117
10117
|
CONSOLE_OAUTH_SCOPES = [
|
|
@@ -10128,41 +10128,21 @@ var init_oauth = __esm(() => {
|
|
|
10128
10128
|
ALL_OAUTH_SCOPES = Array.from(new Set([...CONSOLE_OAUTH_SCOPES, ...VIVUS_AI_OAUTH_SCOPES]));
|
|
10129
10129
|
PROD_OAUTH_CONFIG = {
|
|
10130
10130
|
BASE_API_URL: "https://api.anthropic.com",
|
|
10131
|
-
CONSOLE_AUTHORIZE_URL: "
|
|
10132
|
-
VIVUS_AI_AUTHORIZE_URL: "
|
|
10133
|
-
VIVUS_AI_ORIGIN: "
|
|
10134
|
-
TOKEN_URL: "
|
|
10135
|
-
API_KEY_URL: "
|
|
10136
|
-
ROLES_URL: "
|
|
10137
|
-
CONSOLE_SUCCESS_URL: "
|
|
10138
|
-
VIVUSAI_SUCCESS_URL: "
|
|
10139
|
-
MANUAL_REDIRECT_URL: "
|
|
10140
|
-
CLIENT_ID: "
|
|
10131
|
+
CONSOLE_AUTHORIZE_URL: "",
|
|
10132
|
+
VIVUS_AI_AUTHORIZE_URL: "",
|
|
10133
|
+
VIVUS_AI_ORIGIN: "",
|
|
10134
|
+
TOKEN_URL: "",
|
|
10135
|
+
API_KEY_URL: "",
|
|
10136
|
+
ROLES_URL: "",
|
|
10137
|
+
CONSOLE_SUCCESS_URL: "",
|
|
10138
|
+
VIVUSAI_SUCCESS_URL: "",
|
|
10139
|
+
MANUAL_REDIRECT_URL: "",
|
|
10140
|
+
CLIENT_ID: "",
|
|
10141
10141
|
OAUTH_FILE_SUFFIX: "",
|
|
10142
|
-
MCP_PROXY_URL: "
|
|
10142
|
+
MCP_PROXY_URL: "",
|
|
10143
10143
|
MCP_PROXY_PATH: "/v1/mcp/{server_id}"
|
|
10144
10144
|
};
|
|
10145
|
-
|
|
10146
|
-
BASE_API_URL: "https://api-staging.anthropic.com",
|
|
10147
|
-
CONSOLE_AUTHORIZE_URL: "https://platform.staging.ant.dev/oauth/authorize",
|
|
10148
|
-
VIVUS_AI_AUTHORIZE_URL: "https://vivus-ai.staging.ant.dev/oauth/authorize",
|
|
10149
|
-
VIVUS_AI_ORIGIN: "https://vivus-ai.staging.ant.dev",
|
|
10150
|
-
TOKEN_URL: "https://platform.staging.ant.dev/v1/oauth/token",
|
|
10151
|
-
API_KEY_URL: "https://api-staging.anthropic.com/api/oauth/vivus_cli/create_api_key",
|
|
10152
|
-
ROLES_URL: "https://api-staging.anthropic.com/api/oauth/vivus_cli/roles",
|
|
10153
|
-
CONSOLE_SUCCESS_URL: "https://platform.staging.ant.dev/buy_credits?returnUrl=/oauth/code/success%3Fapp%3Dvivus",
|
|
10154
|
-
VIVUSAI_SUCCESS_URL: "https://platform.staging.ant.dev/oauth/code/success?app=vivus",
|
|
10155
|
-
MANUAL_REDIRECT_URL: "https://platform.staging.ant.dev/oauth/code/callback",
|
|
10156
|
-
CLIENT_ID: "22422756-60c9-4084-8eb7-27705fd5cf9a",
|
|
10157
|
-
OAUTH_FILE_SUFFIX: "-staging-oauth",
|
|
10158
|
-
MCP_PROXY_URL: "https://mcp-proxy-staging.anthropic.com",
|
|
10159
|
-
MCP_PROXY_PATH: "/v1/mcp/{server_id}"
|
|
10160
|
-
} : undefined;
|
|
10161
|
-
ALLOWED_OAUTH_BASE_URLS = [
|
|
10162
|
-
"https://beacon.vivus-ai.staging.ant.dev",
|
|
10163
|
-
"https://vivus.fedstart.com",
|
|
10164
|
-
"https://vivus-staging.fedstart.com"
|
|
10165
|
-
];
|
|
10145
|
+
ALLOWED_OAUTH_BASE_URLS = [];
|
|
10166
10146
|
});
|
|
10167
10147
|
|
|
10168
10148
|
// src/utils/secureStorage/macOsKeychainHelpers.ts
|
|
@@ -13130,7 +13110,7 @@ function getRemoteSessionUrl(sessionId, ingressUrl) {
|
|
|
13130
13110
|
const baseUrl = getVivusAiBaseUrl(compatId, ingressUrl);
|
|
13131
13111
|
return `${baseUrl}/code/${compatId}`;
|
|
13132
13112
|
}
|
|
13133
|
-
var PRODUCT_URL = "https://
|
|
13113
|
+
var PRODUCT_URL = "https://github.com/wittyphantom333/vivus-code", VIVUS_AI_BASE_URL = "https://github.com/wittyphantom333/vivus-code", VIVUS_AI_STAGING_BASE_URL = "", VIVUS_AI_LOCAL_BASE_URL = "http://localhost:4000";
|
|
13134
13114
|
|
|
13135
13115
|
// src/constants/common.ts
|
|
13136
13116
|
function getLocalISODate() {
|
|
@@ -64329,7 +64309,7 @@ function normalizeNameForMCP(name) {
|
|
|
64329
64309
|
}
|
|
64330
64310
|
return normalized;
|
|
64331
64311
|
}
|
|
64332
|
-
var VIVUSAI_SERVER_PREFIX = "vivus
|
|
64312
|
+
var VIVUSAI_SERVER_PREFIX = "vivus ";
|
|
64333
64313
|
|
|
64334
64314
|
// src/services/mcp/mcpStringUtils.ts
|
|
64335
64315
|
function mcpInfoFromString(toolString) {
|
|
@@ -65071,7 +65051,7 @@ function getValidationTip(context) {
|
|
|
65071
65051
|
}
|
|
65072
65052
|
return tip;
|
|
65073
65053
|
}
|
|
65074
|
-
var DOCUMENTATION_BASE = "https://
|
|
65054
|
+
var DOCUMENTATION_BASE = "https://github.com/wittyphantom333/vivus-code", TIP_MATCHERS, PATH_DOC_LINKS;
|
|
65075
65055
|
var init_validationTips = __esm(() => {
|
|
65076
65056
|
TIP_MATCHERS = [
|
|
65077
65057
|
{
|
|
@@ -112894,7 +112874,7 @@ function getFastModeUnavailableReason() {
|
|
|
112894
112874
|
return statigReason;
|
|
112895
112875
|
}
|
|
112896
112876
|
if (!isInBundledMode() && getFeatureValue_CACHED_MAY_BE_STALE("tengu_marble_sandcastle", false)) {
|
|
112897
|
-
return "Fast mode requires the native binary ·
|
|
112877
|
+
return "Fast mode requires the native binary · See: https://github.com/wittyphantom333/vivus-code";
|
|
112898
112878
|
}
|
|
112899
112879
|
if (getIsNonInteractiveSession() && preferThirdPartyAuthentication() && !getKairosActive()) {
|
|
112900
112880
|
const flagFastMode = getSettingsForSource("flagSettings")?.fastMode;
|
|
@@ -114885,7 +114865,7 @@ function getAuthTokenSource() {
|
|
|
114885
114865
|
}
|
|
114886
114866
|
const oauthTokens = getVivusAIOAuthTokens();
|
|
114887
114867
|
if (shouldUseVivusAIAuth(oauthTokens?.scopes) && oauthTokens?.accessToken) {
|
|
114888
|
-
return { source: "vivus
|
|
114868
|
+
return { source: "vivus", hasToken: true };
|
|
114889
114869
|
}
|
|
114890
114870
|
return { source: "none", hasToken: false };
|
|
114891
114871
|
}
|
|
@@ -115094,7 +115074,7 @@ async function _executeApiKeyHelper(isNonInteractiveSession) {
|
|
|
115094
115074
|
if (isApiKeyHelperFromProjectOrLocalSettings()) {
|
|
115095
115075
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
115096
115076
|
if (!hasTrust && !isNonInteractiveSession) {
|
|
115097
|
-
const error41 = new Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/vivus-
|
|
115077
|
+
const error41 = new Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/wittyphantom333/vivus-code/issues"}.`);
|
|
115098
115078
|
logAntError("apiKeyHelper invoked before trust check", error41);
|
|
115099
115079
|
logEvent("tengu_apiKeyHelper_missing_trust11", {});
|
|
115100
115080
|
return null;
|
|
@@ -115138,7 +115118,7 @@ async function runAwsAuthRefresh() {
|
|
|
115138
115118
|
if (isAwsAuthRefreshFromProjectSettings()) {
|
|
115139
115119
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
115140
115120
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
115141
|
-
const error41 = new Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/vivus-
|
|
115121
|
+
const error41 = new Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/wittyphantom333/vivus-code/issues"}.`);
|
|
115142
115122
|
logAntError("awsAuthRefresh invoked before trust check", error41);
|
|
115143
115123
|
logEvent("tengu_awsAuthRefresh_missing_trust", {});
|
|
115144
115124
|
return false;
|
|
@@ -115198,7 +115178,7 @@ async function getAwsCredsFromCredentialExport() {
|
|
|
115198
115178
|
if (isAwsCredentialExportFromProjectSettings()) {
|
|
115199
115179
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
115200
115180
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
115201
|
-
const error41 = new Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/vivus-
|
|
115181
|
+
const error41 = new Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/wittyphantom333/vivus-code/issues"}.`);
|
|
115202
115182
|
logAntError("awsCredentialExport invoked before trust check", error41);
|
|
115203
115183
|
logEvent("tengu_awsCredentialExport_missing_trust", {});
|
|
115204
115184
|
return null;
|
|
@@ -115283,7 +115263,7 @@ async function runGcpAuthRefresh() {
|
|
|
115283
115263
|
if (isGcpAuthRefreshFromProjectSettings()) {
|
|
115284
115264
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
115285
115265
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
115286
|
-
const error41 = new Error("Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in https://github.com/vivus-
|
|
115266
|
+
const error41 = new Error("Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in https://github.com/wittyphantom333/vivus-code/issues.");
|
|
115287
115267
|
logAntError("gcpAuthRefresh invoked before trust check", error41);
|
|
115288
115268
|
logEvent("tengu_gcpAuthRefresh_missing_trust", {});
|
|
115289
115269
|
return false;
|
|
@@ -115795,14 +115775,14 @@ function getAccountInformation() {
|
|
|
115795
115775
|
if (apiKey) {
|
|
115796
115776
|
accountInfo.apiKeySource = apiKeySource;
|
|
115797
115777
|
}
|
|
115798
|
-
if (authTokenSource === "vivus
|
|
115778
|
+
if (authTokenSource === "vivus" || apiKeySource === "/login managed key") {
|
|
115799
115779
|
const orgName = getOauthAccountInfo()?.organizationName;
|
|
115800
115780
|
if (orgName) {
|
|
115801
115781
|
accountInfo.organization = orgName;
|
|
115802
115782
|
}
|
|
115803
115783
|
}
|
|
115804
115784
|
const email3 = getOauthAccountInfo()?.emailAddress;
|
|
115805
|
-
if ((authTokenSource === "vivus
|
|
115785
|
+
if ((authTokenSource === "vivus" || apiKeySource === "/login managed key") && email3) {
|
|
115806
115786
|
accountInfo.email = email3;
|
|
115807
115787
|
}
|
|
115808
115788
|
return accountInfo;
|
|
@@ -115978,7 +115958,7 @@ var init_auth = __esm(() => {
|
|
|
115978
115958
|
|
|
115979
115959
|
// src/utils/userAgent.ts
|
|
115980
115960
|
function getVivusCodeUserAgent() {
|
|
115981
|
-
return `vivus/${"1.0.
|
|
115961
|
+
return `vivus/${"1.0.4+b41f3f3"}`;
|
|
115982
115962
|
}
|
|
115983
115963
|
|
|
115984
115964
|
// src/utils/workloadContext.ts
|
|
@@ -116000,7 +115980,7 @@ function getUserAgent() {
|
|
|
116000
115980
|
const clientApp = process.env.VIVUS_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}` : "";
|
|
116001
115981
|
const workload = getWorkload();
|
|
116002
115982
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
116003
|
-
return `vivus-cli/${"1.0.
|
|
115983
|
+
return `vivus-cli/${"1.0.4+b41f3f3"} (${process.env.USER_TYPE}, ${process.env.VIVUS_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
116004
115984
|
}
|
|
116005
115985
|
function getMCPUserAgent() {
|
|
116006
115986
|
const parts = [];
|
|
@@ -116014,7 +115994,7 @@ function getMCPUserAgent() {
|
|
|
116014
115994
|
parts.push(`client-app/${process.env.VIVUS_AGENT_SDK_CLIENT_APP}`);
|
|
116015
115995
|
}
|
|
116016
115996
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
116017
|
-
return `vivus/${"1.0.
|
|
115997
|
+
return `vivus/${"1.0.4+b41f3f3"}${suffix}`;
|
|
116018
115998
|
}
|
|
116019
115999
|
function getWebFetchUserAgent() {
|
|
116020
116000
|
return `Vivus-User (${getVivusCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -116152,7 +116132,7 @@ var init_user = __esm(() => {
|
|
|
116152
116132
|
deviceId,
|
|
116153
116133
|
sessionId: getSessionId(),
|
|
116154
116134
|
email: getEmail(),
|
|
116155
|
-
appVersion: "1.0.
|
|
116135
|
+
appVersion: "1.0.4+b41f3f3",
|
|
116156
116136
|
platform: getHostPlatformForAnalytics(),
|
|
116157
116137
|
organizationUuid,
|
|
116158
116138
|
accountUuid,
|
|
@@ -127818,7 +127798,7 @@ var init_metadata = __esm(() => {
|
|
|
127818
127798
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
127819
127799
|
WHITESPACE_REGEX = /\s+/;
|
|
127820
127800
|
getVersionBase = memoize_default(() => {
|
|
127821
|
-
const match = "1.0.
|
|
127801
|
+
const match = "1.0.4+b41f3f3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
127822
127802
|
return match ? match[0] : undefined;
|
|
127823
127803
|
});
|
|
127824
127804
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -127858,9 +127838,9 @@ var init_metadata = __esm(() => {
|
|
|
127858
127838
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
127859
127839
|
isVivusCodeAction: isEnvTruthy(process.env.VIVUS_CODE_ACTION),
|
|
127860
127840
|
isVivusAiAuth: isVivusAISubscriber(),
|
|
127861
|
-
version: "1.0.
|
|
127841
|
+
version: "1.0.4+b41f3f3",
|
|
127862
127842
|
versionBase: getVersionBase(),
|
|
127863
|
-
buildTime: "2026-06-05T22:
|
|
127843
|
+
buildTime: "2026-06-05T22:56:04.667Z",
|
|
127864
127844
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
127865
127845
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
127866
127846
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -128528,7 +128508,7 @@ function initialize1PEventLogging() {
|
|
|
128528
128508
|
const platform2 = getPlatform();
|
|
128529
128509
|
const attributes = {
|
|
128530
128510
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "vivus",
|
|
128531
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.
|
|
128511
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.4+b41f3f3"
|
|
128532
128512
|
};
|
|
128533
128513
|
if (platform2 === "wsl") {
|
|
128534
128514
|
const wslVersion = getWslVersion();
|
|
@@ -128555,7 +128535,7 @@ function initialize1PEventLogging() {
|
|
|
128555
128535
|
})
|
|
128556
128536
|
]
|
|
128557
128537
|
});
|
|
128558
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.
|
|
128538
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.vivus_code.events", "1.0.4+b41f3f3");
|
|
128559
128539
|
}
|
|
128560
128540
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
128561
128541
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -162644,7 +162624,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
162644
162624
|
if (!isAttributionHeaderEnabled()) {
|
|
162645
162625
|
return "";
|
|
162646
162626
|
}
|
|
162647
|
-
const version2 = `${"1.0.
|
|
162627
|
+
const version2 = `${"1.0.4+b41f3f3"}.${fingerprint}`;
|
|
162648
162628
|
const entrypoint = process.env.VIVUS_CODE_ENTRYPOINT ?? "unknown";
|
|
162649
162629
|
const cch = "";
|
|
162650
162630
|
const workload = getWorkload();
|
|
@@ -175801,7 +175781,7 @@ function getTelemetryAttributes() {
|
|
|
175801
175781
|
attributes["session.id"] = sessionId;
|
|
175802
175782
|
}
|
|
175803
175783
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
175804
|
-
attributes["app.version"] = "1.0.
|
|
175784
|
+
attributes["app.version"] = "1.0.4+b41f3f3";
|
|
175805
175785
|
}
|
|
175806
175786
|
const oauthAccount = getOauthAccountInfo();
|
|
175807
175787
|
if (oauthAccount) {
|
|
@@ -193369,7 +193349,7 @@ function getAssistantMessageFromError(error41, model, options2) {
|
|
|
193369
193349
|
});
|
|
193370
193350
|
}
|
|
193371
193351
|
if (error41.message.includes("Extra usage is required for long context")) {
|
|
193372
|
-
const hint = getIsNonInteractiveSession() ? "enable extra usage at
|
|
193352
|
+
const hint = getIsNonInteractiveSession() ? "enable extra usage at github.com/wittyphantom333/vivus-code, or use --model to switch to standard context" : "run /extra-usage to enable, or /model to switch to standard context";
|
|
193373
193353
|
return createAssistantAPIErrorMessage({
|
|
193374
193354
|
content: `${API_ERROR_MESSAGE_PREFIX}: Extra usage is required for 1M context · ${hint}`,
|
|
193375
193355
|
error: "rate_limit"
|
|
@@ -193445,7 +193425,7 @@ function getAssistantMessageFromError(error41, model, options2) {
|
|
|
193445
193425
|
if (process.env.USER_TYPE === "ant") {
|
|
193446
193426
|
const baseMessage = `API Error: 400 ${error41.message}
|
|
193447
193427
|
|
|
193448
|
-
Run /share and post the JSON file to ${"https://github.com/vivus-
|
|
193428
|
+
Run /share and post the JSON file to ${"https://github.com/wittyphantom333/vivus-code/issues"}.`;
|
|
193449
193429
|
const rewindInstruction = getIsNonInteractiveSession() ? "" : " Then, use /rewind to recover the conversation.";
|
|
193450
193430
|
return createAssistantAPIErrorMessage({
|
|
193451
193431
|
content: baseMessage + rewindInstruction,
|
|
@@ -193481,7 +193461,7 @@ Run /share and post the JSON file to ${"https://github.com/vivus-ai/vivus/issues
|
|
|
193481
193461
|
if (process.env.USER_TYPE === "ant" && !process.env.ANTHROPIC_MODEL && error41 instanceof Error && error41.message.toLowerCase().includes("invalid model name")) {
|
|
193482
193462
|
const orgId = getOauthAccountInfo()?.organizationUuid;
|
|
193483
193463
|
const baseMsg = `[ANT-ONLY] Your org isn't gated into the \`${model}\` model. Either run \`vivus\` with \`ANTHROPIC_MODEL=${getDefaultMainLoopModelSetting()}\``;
|
|
193484
|
-
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${"https://github.com/vivus-
|
|
193464
|
+
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${"https://github.com/wittyphantom333/vivus-code/issues"} for help getting access.` : `${baseMsg} or reach out in ${"https://github.com/wittyphantom333/vivus-code/issues"} for help getting access.`;
|
|
193485
193465
|
return createAssistantAPIErrorMessage({
|
|
193486
193466
|
content: msg,
|
|
193487
193467
|
error: "invalid_request"
|
|
@@ -201906,11 +201886,11 @@ Complete the user's request by providing accurate, documentation-based guidance.
|
|
|
201906
201886
|
}
|
|
201907
201887
|
function getFeedbackGuideline() {
|
|
201908
201888
|
if (isUsing3PServices()) {
|
|
201909
|
-
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${"file an issue at https://github.com/vivus-
|
|
201889
|
+
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${"file an issue at https://github.com/wittyphantom333/vivus-code/issues"}`;
|
|
201910
201890
|
}
|
|
201911
201891
|
return "- When you cannot find an answer or the feature doesn't exist, direct the user to use /feedback to report a feature request or bug";
|
|
201912
201892
|
}
|
|
201913
|
-
var VIVUS_CODE_DOCS_MAP_URL = "https://
|
|
201893
|
+
var VIVUS_CODE_DOCS_MAP_URL = "https://github.com/wittyphantom333/vivus-code", CDP_DOCS_MAP_URL = "https://github.com/wittyphantom333/vivus-code", VIVUS_CODE_GUIDE_AGENT_TYPE = "vivus-guide", VIVUS_CODE_GUIDE_AGENT;
|
|
201914
201894
|
var init_vivusCodeGuideAgent = __esm(() => {
|
|
201915
201895
|
init_prompt2();
|
|
201916
201896
|
init_prompt();
|
|
@@ -227939,7 +227919,7 @@ var init_vivusai = __esm(() => {
|
|
|
227939
227919
|
const configs = {};
|
|
227940
227920
|
const usedNormalizedNames = new Set;
|
|
227941
227921
|
for (const server of response.data.data) {
|
|
227942
|
-
const baseName = `vivus
|
|
227922
|
+
const baseName = `vivus ${server.display_name}`;
|
|
227943
227923
|
let finalName = baseName;
|
|
227944
227924
|
let finalNormalized = normalizeNameForMCP(finalName);
|
|
227945
227925
|
let count3 = 1;
|
|
@@ -228105,7 +228085,7 @@ function dedupVivusAiMcpServers(vivusAiServers, manualServers) {
|
|
|
228105
228085
|
const sig = getMcpServerSignature(config3);
|
|
228106
228086
|
const manualDup = sig !== null ? manualSigs.get(sig) : undefined;
|
|
228107
228087
|
if (manualDup !== undefined) {
|
|
228108
|
-
logForDebugging(`Suppressing vivus
|
|
228088
|
+
logForDebugging(`Suppressing vivus connector "${name}": duplicates manually-configured "${manualDup}"`);
|
|
228109
228089
|
suppressed.push({ name, duplicateOf: manualDup });
|
|
228110
228090
|
continue;
|
|
228111
228091
|
}
|
|
@@ -228726,7 +228706,7 @@ function parseMcpConfig(params) {
|
|
|
228726
228706
|
...filePath && { file: filePath },
|
|
228727
228707
|
path: `mcpServers.${name}`,
|
|
228728
228708
|
message: `Windows requires 'cmd /c' wrapper to execute npx`,
|
|
228729
|
-
suggestion: `Change command to "cmd" with args ["/c", "npx", ...]. See: https://
|
|
228709
|
+
suggestion: `Change command to "cmd" with args ["/c", "npx", ...]. See: https://github.com/wittyphantom333/vivus-code`,
|
|
228730
228710
|
mcpErrorMetadata: {
|
|
228731
228711
|
scope,
|
|
228732
228712
|
serverName: name,
|
|
@@ -228983,7 +228963,7 @@ function describeMcpConfigFilePath(scope) {
|
|
|
228983
228963
|
case "enterprise":
|
|
228984
228964
|
return getEnterpriseMcpFilePath();
|
|
228985
228965
|
case "vivus":
|
|
228986
|
-
return "vivus
|
|
228966
|
+
return "vivus";
|
|
228987
228967
|
default:
|
|
228988
228968
|
return scope;
|
|
228989
228969
|
}
|
|
@@ -229001,7 +228981,7 @@ function getScopeLabel(scope) {
|
|
|
229001
228981
|
case "enterprise":
|
|
229002
228982
|
return "Enterprise config (managed by your organization)";
|
|
229003
228983
|
case "vivus":
|
|
229004
|
-
return "vivus
|
|
228984
|
+
return "vivus config";
|
|
229005
228985
|
default:
|
|
229006
228986
|
return scope;
|
|
229007
228987
|
}
|
|
@@ -231119,7 +231099,7 @@ function createMcpAuthTool(serverName, config3) {
|
|
|
231119
231099
|
return {
|
|
231120
231100
|
data: {
|
|
231121
231101
|
status: "unsupported",
|
|
231122
|
-
message: `This is a vivus
|
|
231102
|
+
message: `This is a vivus MCP connector. Ask the user to run /mcp and select "${serverName}" to authenticate.`
|
|
231123
231103
|
}
|
|
231124
231104
|
};
|
|
231125
231105
|
}
|
|
@@ -232464,7 +232444,7 @@ async function getMcpHeadersFromHelper(serverName, config3) {
|
|
|
232464
232444
|
if ("scope" in config3 && isMcpServerFromProjectOrLocalSettings(config3) && !getIsNonInteractiveSession()) {
|
|
232465
232445
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
232466
232446
|
if (!hasTrust) {
|
|
232467
|
-
const error41 = new Error(`Security: headersHelper for MCP server '${serverName}' executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/vivus-
|
|
232447
|
+
const error41 = new Error(`Security: headersHelper for MCP server '${serverName}' executed before workspace trust is confirmed. If you see this message, post in ${"https://github.com/wittyphantom333/vivus-code/issues"}.`);
|
|
232468
232448
|
logAntError("MCP headersHelper invoked before trust check", error41);
|
|
232469
232449
|
logEvent("tengu_mcp_headersHelper_missing_trust", {});
|
|
232470
232450
|
return null;
|
|
@@ -235935,7 +235915,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
235935
235915
|
}
|
|
235936
235916
|
function computeFingerprintFromMessages(messages) {
|
|
235937
235917
|
const firstMessageText = extractFirstMessageText(messages);
|
|
235938
|
-
return computeFingerprint(firstMessageText, "1.0.
|
|
235918
|
+
return computeFingerprint(firstMessageText, "1.0.4+b41f3f3");
|
|
235939
235919
|
}
|
|
235940
235920
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
235941
235921
|
var init_fingerprint = () => {};
|
|
@@ -235977,7 +235957,7 @@ async function sideQuery(opts) {
|
|
|
235977
235957
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
235978
235958
|
}
|
|
235979
235959
|
const messageText = extractFirstUserMessageText(messages);
|
|
235980
|
-
const fingerprint = computeFingerprint(messageText, "1.0.
|
|
235960
|
+
const fingerprint = computeFingerprint(messageText, "1.0.4+b41f3f3");
|
|
235981
235961
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
235982
235962
|
const systemBlocks = [
|
|
235983
235963
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -236092,10 +236072,10 @@ function createChromeContext(env4) {
|
|
|
236092
236072
|
getSocketPaths: getAllSocketPaths,
|
|
236093
236073
|
clientTypeId: "vivus",
|
|
236094
236074
|
onAuthenticationError: () => {
|
|
236095
|
-
logger.warn("Authentication error occurred. Please ensure you are logged into the Vivus browser extension with the same
|
|
236075
|
+
logger.warn("Authentication error occurred. Please ensure you are logged into the Vivus browser extension with the same account as Vivus.");
|
|
236096
236076
|
},
|
|
236097
236077
|
onToolCallDisconnected: () => {
|
|
236098
|
-
return `Browser extension is not connected. Please ensure the Vivus browser extension is installed and running (${EXTENSION_DOWNLOAD_URL}), and that you are logged
|
|
236078
|
+
return `Browser extension is not connected. Please ensure the Vivus browser extension is installed and running (${EXTENSION_DOWNLOAD_URL}), and that you are logged in with the same account as Vivus. If this is your first time connecting to Chrome, you may need to restart Chrome for the installation to take effect. If you continue to experience issues, please report a bug: ${BUG_REPORT_URL}`;
|
|
236099
236079
|
},
|
|
236100
236080
|
onExtensionPaired: (deviceId, name) => {
|
|
236101
236081
|
saveGlobalConfig((config3) => {
|
|
@@ -236213,7 +236193,7 @@ class DebugLogger {
|
|
|
236213
236193
|
logForDebugging(format4(message, ...args), { level: "error" });
|
|
236214
236194
|
}
|
|
236215
236195
|
}
|
|
236216
|
-
var EXTENSION_DOWNLOAD_URL = "https://
|
|
236196
|
+
var EXTENSION_DOWNLOAD_URL = "https://github.com/wittyphantom333/vivus-code", BUG_REPORT_URL = "https://github.com/anthropics/vivus/issues/new?labels=bug,vivus-in-chrome", SAFE_BRIDGE_STRING_KEYS, PERMISSION_MODES3;
|
|
236217
236197
|
var init_mcpServer = __esm(() => {
|
|
236218
236198
|
init_vivus_for_chrome_mcp();
|
|
236219
236199
|
init_stdio4();
|
|
@@ -236342,7 +236322,7 @@ function handleRemoteAuthFailure(name, serverRef, transportType) {
|
|
|
236342
236322
|
const label = {
|
|
236343
236323
|
sse: "SSE",
|
|
236344
236324
|
http: "HTTP",
|
|
236345
|
-
"vivus-proxy": "vivus
|
|
236325
|
+
"vivus-proxy": "vivus proxy"
|
|
236346
236326
|
};
|
|
236347
236327
|
logMCPDebug(name, `Authentication required for ${label[transportType]} server`);
|
|
236348
236328
|
setMcpAuthCacheEntry(name);
|
|
@@ -236354,7 +236334,7 @@ function createVivusAiProxyFetch(innerFetch) {
|
|
|
236354
236334
|
await checkAndRefreshOAuthTokenIfNeeded();
|
|
236355
236335
|
const currentTokens = getVivusAIOAuthTokens();
|
|
236356
236336
|
if (!currentTokens) {
|
|
236357
|
-
throw new Error("No vivus
|
|
236337
|
+
throw new Error("No vivus OAuth token available");
|
|
236358
236338
|
}
|
|
236359
236339
|
const headers = new Headers(init?.headers);
|
|
236360
236340
|
headers.set("Authorization", `Bearer ${currentTokens.accessToken}`);
|
|
@@ -237129,7 +237109,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
237129
237109
|
const client2 = new Client({
|
|
237130
237110
|
name: "vivus",
|
|
237131
237111
|
title: "Vivus",
|
|
237132
|
-
version: "1.0.
|
|
237112
|
+
version: "1.0.4+b41f3f3",
|
|
237133
237113
|
description: "Anthropic's agentic coding tool",
|
|
237134
237114
|
websiteUrl: PRODUCT_URL
|
|
237135
237115
|
}, {
|
|
@@ -237418,14 +237398,14 @@ var init_client6 = __esm(() => {
|
|
|
237418
237398
|
} else if (serverRef.type === "sdk") {
|
|
237419
237399
|
throw new Error("SDK servers should be handled in print.ts");
|
|
237420
237400
|
} else if (serverRef.type === "vivus-proxy") {
|
|
237421
|
-
logMCPDebug(name, `Initializing vivus
|
|
237401
|
+
logMCPDebug(name, `Initializing vivus proxy transport for server ${serverRef.id}`);
|
|
237422
237402
|
const tokens = getVivusAIOAuthTokens();
|
|
237423
237403
|
if (!tokens) {
|
|
237424
|
-
throw new Error("No vivus
|
|
237404
|
+
throw new Error("No vivus OAuth token found");
|
|
237425
237405
|
}
|
|
237426
237406
|
const oauthConfig = getOauthConfig();
|
|
237427
237407
|
const proxyUrl = `${oauthConfig.MCP_PROXY_URL}${oauthConfig.MCP_PROXY_PATH.replace("{server_id}", serverRef.id)}`;
|
|
237428
|
-
logMCPDebug(name, `Using vivus
|
|
237408
|
+
logMCPDebug(name, `Using vivus proxy at ${proxyUrl}`);
|
|
237429
237409
|
const fetchWithAuth = createVivusAiProxyFetch(globalThis.fetch);
|
|
237430
237410
|
const proxyOptions = getProxyFetchOptions();
|
|
237431
237411
|
const transportOptions = {
|
|
@@ -237439,7 +237419,7 @@ var init_client6 = __esm(() => {
|
|
|
237439
237419
|
}
|
|
237440
237420
|
};
|
|
237441
237421
|
transport = new StreamableHTTPClientTransport(new URL(proxyUrl), transportOptions);
|
|
237442
|
-
logMCPDebug(name, `vivus
|
|
237422
|
+
logMCPDebug(name, `vivus proxy transport created successfully`);
|
|
237443
237423
|
} else if ((serverRef.type === "stdio" || !serverRef.type) && isVivusInChromeMCPServer(name)) {
|
|
237444
237424
|
const { createChromeContext: createChromeContext2 } = await Promise.resolve().then(() => (init_mcpServer(), exports_mcpServer));
|
|
237445
237425
|
const { createVivusForChromeMcpServer: createVivusForChromeMcpServer2 } = await Promise.resolve().then(() => (init_vivus_for_chrome_mcp(), exports_vivus_for_chrome_mcp));
|
|
@@ -237483,7 +237463,7 @@ var init_client6 = __esm(() => {
|
|
|
237483
237463
|
const client2 = new Client({
|
|
237484
237464
|
name: "vivus",
|
|
237485
237465
|
title: "Vivus",
|
|
237486
|
-
version: "1.0.
|
|
237466
|
+
version: "1.0.4+b41f3f3",
|
|
237487
237467
|
description: "Anthropic's agentic coding tool",
|
|
237488
237468
|
websiteUrl: PRODUCT_URL
|
|
237489
237469
|
}, {
|
|
@@ -237564,7 +237544,7 @@ var init_client6 = __esm(() => {
|
|
|
237564
237544
|
return handleRemoteAuthFailure(name, serverRef, "http");
|
|
237565
237545
|
}
|
|
237566
237546
|
} else if (serverRef.type === "vivus-proxy" && error41 instanceof Error) {
|
|
237567
|
-
logMCPDebug(name, `vivus
|
|
237547
|
+
logMCPDebug(name, `vivus proxy connection failed after ${elapsed}ms: ${error41.message}`);
|
|
237568
237548
|
logMCPError(name, error41);
|
|
237569
237549
|
const errorCode = error41.code;
|
|
237570
237550
|
if (errorCode === 401) {
|
|
@@ -239541,7 +239521,7 @@ function getInstallationEnv() {
|
|
|
239541
239521
|
return;
|
|
239542
239522
|
}
|
|
239543
239523
|
function getVivusCodeVersion() {
|
|
239544
|
-
return "1.0.
|
|
239524
|
+
return "1.0.4+b41f3f3";
|
|
239545
239525
|
}
|
|
239546
239526
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
239547
239527
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -242633,7 +242613,7 @@ var init_coreSchemas = __esm(() => {
|
|
|
242633
242613
|
]).optional(),
|
|
242634
242614
|
isUsingOverage: exports_external.boolean().optional(),
|
|
242635
242615
|
surpassedThreshold: exports_external.number().optional()
|
|
242636
|
-
}).describe("Rate limit information for vivus
|
|
242616
|
+
}).describe("Rate limit information for vivus subscription users."));
|
|
242637
242617
|
SDKAssistantMessageSchema = lazySchema(() => exports_external.object({
|
|
242638
242618
|
type: exports_external.literal("assistant"),
|
|
242639
242619
|
message: APIAssistantMessagePlaceholder(),
|
|
@@ -272031,7 +272011,7 @@ async function initializeBetaTracing(resource) {
|
|
|
272031
272011
|
});
|
|
272032
272012
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
272033
272013
|
setLoggerProvider(loggerProvider);
|
|
272034
|
-
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.4+b41f3f3");
|
|
272035
272015
|
setEventLogger(eventLogger);
|
|
272036
272016
|
process.on("beforeExit", async () => {
|
|
272037
272017
|
await loggerProvider?.forceFlush();
|
|
@@ -272071,7 +272051,7 @@ async function initializeTelemetry() {
|
|
|
272071
272051
|
const platform5 = getPlatform();
|
|
272072
272052
|
const baseAttributes = {
|
|
272073
272053
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "vivus",
|
|
272074
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.
|
|
272054
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.4+b41f3f3"
|
|
272075
272055
|
};
|
|
272076
272056
|
if (platform5 === "wsl") {
|
|
272077
272057
|
const wslVersion = getWslVersion();
|
|
@@ -272116,7 +272096,7 @@ async function initializeTelemetry() {
|
|
|
272116
272096
|
} catch {}
|
|
272117
272097
|
};
|
|
272118
272098
|
registerCleanup(shutdownTelemetry2);
|
|
272119
|
-
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.
|
|
272099
|
+
return meterProvider2.getMeter("com.anthropic.vivus_code", "1.0.4+b41f3f3");
|
|
272120
272100
|
}
|
|
272121
272101
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
272122
272102
|
resource,
|
|
@@ -272136,7 +272116,7 @@ async function initializeTelemetry() {
|
|
|
272136
272116
|
});
|
|
272137
272117
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
272138
272118
|
setLoggerProvider(loggerProvider);
|
|
272139
|
-
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.4+b41f3f3");
|
|
272140
272120
|
setEventLogger(eventLogger);
|
|
272141
272121
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
272142
272122
|
process.on("beforeExit", async () => {
|
|
@@ -272198,7 +272178,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
272198
272178
|
}
|
|
272199
272179
|
};
|
|
272200
272180
|
registerCleanup(shutdownTelemetry);
|
|
272201
|
-
return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.
|
|
272181
|
+
return meterProvider.getMeter("com.anthropic.vivus_code", "1.0.4+b41f3f3");
|
|
272202
272182
|
}
|
|
272203
272183
|
async function flushTelemetry() {
|
|
272204
272184
|
const meterProvider = getMeterProvider();
|
|
@@ -272884,9 +272864,9 @@ async function assertMinVersion() {
|
|
|
272884
272864
|
if (false) {}
|
|
272885
272865
|
try {
|
|
272886
272866
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
272887
|
-
if (versionConfig.minVersion && lt("1.0.
|
|
272867
|
+
if (versionConfig.minVersion && lt("1.0.4+b41f3f3", versionConfig.minVersion)) {
|
|
272888
272868
|
console.error(`
|
|
272889
|
-
It looks like your version of Vivus (${"1.0.
|
|
272869
|
+
It looks like your version of Vivus (${"1.0.4+b41f3f3"}) needs an update.
|
|
272890
272870
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
272891
272871
|
|
|
272892
272872
|
To update, please run:
|
|
@@ -273102,7 +273082,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
273102
273082
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
273103
273083
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
273104
273084
|
pid: process.pid,
|
|
273105
|
-
currentVersion: "1.0.
|
|
273085
|
+
currentVersion: "1.0.4+b41f3f3"
|
|
273106
273086
|
});
|
|
273107
273087
|
return "in_progress";
|
|
273108
273088
|
}
|
|
@@ -273111,7 +273091,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
273111
273091
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
273112
273092
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
273113
273093
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
273114
|
-
currentVersion: "1.0.
|
|
273094
|
+
currentVersion: "1.0.4+b41f3f3"
|
|
273115
273095
|
});
|
|
273116
273096
|
console.error(`
|
|
273117
273097
|
Error: Windows NPM detected in WSL
|
|
@@ -273644,7 +273624,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
273644
273624
|
}
|
|
273645
273625
|
async function getDoctorDiagnostic() {
|
|
273646
273626
|
const installationType = await getCurrentInstallationType();
|
|
273647
|
-
const version2 = typeof MACRO !== "undefined" ? "1.0.
|
|
273627
|
+
const version2 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
|
|
273648
273628
|
const installationPath = await getInstallationPath();
|
|
273649
273629
|
const invokedBinary = getInvokedBinary();
|
|
273650
273630
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -274577,8 +274557,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274577
274557
|
const maxVersion = await getMaxVersion();
|
|
274578
274558
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
274579
274559
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
274580
|
-
if (gte("1.0.
|
|
274581
|
-
logForDebugging(`Native installer: current version ${"1.0.
|
|
274560
|
+
if (gte("1.0.4+b41f3f3", maxVersion)) {
|
|
274561
|
+
logForDebugging(`Native installer: current version ${"1.0.4+b41f3f3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
274582
274562
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
274583
274563
|
latency_ms: Date.now() - startTime,
|
|
274584
274564
|
max_version: maxVersion,
|
|
@@ -274589,7 +274569,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274589
274569
|
version2 = maxVersion;
|
|
274590
274570
|
}
|
|
274591
274571
|
}
|
|
274592
|
-
if (!forceReinstall && version2 === "1.0.
|
|
274572
|
+
if (!forceReinstall && version2 === "1.0.4+b41f3f3" && await versionIsAvailable(version2) && await isPossibleVivusBinary(executablePath)) {
|
|
274593
274573
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
274594
274574
|
logEvent("tengu_native_update_complete", {
|
|
274595
274575
|
latency_ms: Date.now() - startTime,
|
|
@@ -275905,8 +275885,8 @@ async function authStatus(opts) {
|
|
|
275905
275885
|
let authMethod = "none";
|
|
275906
275886
|
if (using3P) {
|
|
275907
275887
|
authMethod = "third_party";
|
|
275908
|
-
} else if (authTokenSource === "vivus
|
|
275909
|
-
authMethod = "vivus
|
|
275888
|
+
} else if (authTokenSource === "vivus") {
|
|
275889
|
+
authMethod = "vivus";
|
|
275910
275890
|
} else if (authTokenSource === "apiKeyHelper") {
|
|
275911
275891
|
authMethod = "api_key_helper";
|
|
275912
275892
|
} else if (authTokenSource !== "none") {
|
|
@@ -275914,7 +275894,7 @@ async function authStatus(opts) {
|
|
|
275914
275894
|
} else if (apiKeySource === "ANTHROPIC_API_KEY" || hasApiKeyEnvVar) {
|
|
275915
275895
|
authMethod = "api_key";
|
|
275916
275896
|
} else if (apiKeySource === "/login managed key") {
|
|
275917
|
-
authMethod = "vivus
|
|
275897
|
+
authMethod = "vivus";
|
|
275918
275898
|
}
|
|
275919
275899
|
if (opts.text) {
|
|
275920
275900
|
const properties = [
|
|
@@ -275955,7 +275935,7 @@ async function authStatus(opts) {
|
|
|
275955
275935
|
if (resolvedApiKeySource) {
|
|
275956
275936
|
output.apiKeySource = resolvedApiKeySource;
|
|
275957
275937
|
}
|
|
275958
|
-
if (authMethod === "vivus
|
|
275938
|
+
if (authMethod === "vivus") {
|
|
275959
275939
|
output.email = oauthAccount?.emailAddress ?? null;
|
|
275960
275940
|
output.orgId = oauthAccount?.organizationUuid ?? null;
|
|
275961
275941
|
output.orgName = oauthAccount?.organizationName ?? null;
|
|
@@ -289455,17 +289435,19 @@ function OAuthStatusMessage(t0) {
|
|
|
289455
289435
|
setOAuthStatus({
|
|
289456
289436
|
state: "platform_setup"
|
|
289457
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
|
+
});
|
|
289458
289445
|
} else {
|
|
289446
|
+
logEvent("tengu_oauth_console_selected", {});
|
|
289447
|
+
setLoginWithVivusAi(false);
|
|
289459
289448
|
setOAuthStatus({
|
|
289460
289449
|
state: "ready_to_start"
|
|
289461
289450
|
});
|
|
289462
|
-
if (value_0 === "vivusai") {
|
|
289463
|
-
logEvent("tengu_oauth_vivusai_selected", {});
|
|
289464
|
-
setLoginWithVivusAi(true);
|
|
289465
|
-
} else {
|
|
289466
|
-
logEvent("tengu_oauth_console_selected", {});
|
|
289467
|
-
setLoginWithVivusAi(false);
|
|
289468
|
-
}
|
|
289469
289451
|
}
|
|
289470
289452
|
}
|
|
289471
289453
|
}, undefined, false, undefined, this)
|
|
@@ -289539,8 +289521,8 @@ function OAuthStatusMessage(t0) {
|
|
|
289539
289521
|
"· Amazon Bedrock:",
|
|
289540
289522
|
" ",
|
|
289541
289523
|
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(Link, {
|
|
289542
|
-
url: "https://
|
|
289543
|
-
children: "https://
|
|
289524
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
289525
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
289544
289526
|
}, undefined, false, undefined, this)
|
|
289545
289527
|
]
|
|
289546
289528
|
}, undefined, true, undefined, this);
|
|
@@ -289555,8 +289537,8 @@ function OAuthStatusMessage(t0) {
|
|
|
289555
289537
|
"· Microsoft Foundry:",
|
|
289556
289538
|
" ",
|
|
289557
289539
|
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(Link, {
|
|
289558
|
-
url: "https://
|
|
289559
|
-
children: "https://
|
|
289540
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
289541
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
289560
289542
|
}, undefined, false, undefined, this)
|
|
289561
289543
|
]
|
|
289562
289544
|
}, undefined, true, undefined, this);
|
|
@@ -289578,8 +289560,8 @@ function OAuthStatusMessage(t0) {
|
|
|
289578
289560
|
"· Vertex AI:",
|
|
289579
289561
|
" ",
|
|
289580
289562
|
/* @__PURE__ */ jsx_dev_runtime90.jsxDEV(Link, {
|
|
289581
|
-
url: "https://
|
|
289582
|
-
children: "https://
|
|
289563
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
289564
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
289583
289565
|
}, undefined, false, undefined, this)
|
|
289584
289566
|
]
|
|
289585
289567
|
}, undefined, true, undefined, this)
|
|
@@ -289628,6 +289610,27 @@ function OAuthStatusMessage(t0) {
|
|
|
289628
289610
|
}
|
|
289629
289611
|
return t8;
|
|
289630
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
|
+
}
|
|
289631
289634
|
case "waiting_for_login": {
|
|
289632
289635
|
let t1;
|
|
289633
289636
|
if ($2[20] !== forcedMethodMessage) {
|
|
@@ -289851,6 +289854,110 @@ function OAuthStatusMessage(t0) {
|
|
|
289851
289854
|
}
|
|
289852
289855
|
}
|
|
289853
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
|
+
}
|
|
289854
289961
|
var import_compiler_runtime76, import_react70, jsx_dev_runtime90, PASTE_HERE_MSG = "Paste code here if prompted > ";
|
|
289855
289962
|
var init_ConsoleOAuthFlow = __esm(() => {
|
|
289856
289963
|
init_analytics();
|
|
@@ -290549,7 +290656,7 @@ async function runExtraUsage() {
|
|
|
290549
290656
|
value: "Please contact your admin to manage extra usage settings."
|
|
290550
290657
|
};
|
|
290551
290658
|
}
|
|
290552
|
-
const url3 = isTeamOrEnterprise ? "https://
|
|
290659
|
+
const url3 = isTeamOrEnterprise ? "https://github.com/wittyphantom333/vivus-code" : "https://github.com/wittyphantom333/vivus-code";
|
|
290553
290660
|
try {
|
|
290554
290661
|
const opened = await openBrowser(url3);
|
|
290555
290662
|
return { type: "browser-opened", url: url3, opened };
|
|
@@ -290942,7 +291049,7 @@ function AssistantTextMessage(t0) {
|
|
|
290942
291049
|
height: 1,
|
|
290943
291050
|
children: /* @__PURE__ */ jsx_dev_runtime94.jsxDEV(ThemedText, {
|
|
290944
291051
|
color: "error",
|
|
290945
|
-
children: "Credit balance too low · Add funds: https://
|
|
291052
|
+
children: "Credit balance too low · Add funds: https://github.com/wittyphantom333/vivus-code"
|
|
290946
291053
|
}, undefined, false, undefined, this)
|
|
290947
291054
|
}, undefined, false, undefined, this);
|
|
290948
291055
|
$2[5] = t2;
|
|
@@ -310741,7 +310848,7 @@ async function fetchOfficialMarketplaceFromGcs(installLocation, marketplacesCach
|
|
|
310741
310848
|
} finally {
|
|
310742
310849
|
logEvent("tengu_plugin_remote_fetch", {
|
|
310743
310850
|
source: "marketplace_gcs",
|
|
310744
|
-
host: "
|
|
310851
|
+
host: "",
|
|
310745
310852
|
is_official: true,
|
|
310746
310853
|
outcome,
|
|
310747
310854
|
duration_ms: Math.round(performance.now() - start),
|
|
@@ -310772,7 +310879,7 @@ function classifyGcsError(e) {
|
|
|
310772
310879
|
return "empty_latest";
|
|
310773
310880
|
return "other";
|
|
310774
310881
|
}
|
|
310775
|
-
var GCS_BASE = "
|
|
310882
|
+
var GCS_BASE = "", ARC_PREFIX = "marketplaces/vivus-plugins-official/", KNOWN_FS_CODES;
|
|
310776
310883
|
var init_officialMarketplaceGcs = __esm(() => {
|
|
310777
310884
|
init_axios2();
|
|
310778
310885
|
init_state();
|
|
@@ -330502,7 +330609,7 @@ function getAnthropicEnvMetadata() {
|
|
|
330502
330609
|
function getBuildAgeMinutes() {
|
|
330503
330610
|
if (false)
|
|
330504
330611
|
;
|
|
330505
|
-
const buildTime = new Date("2026-06-05T22:
|
|
330612
|
+
const buildTime = new Date("2026-06-05T22:56:04.667Z").getTime();
|
|
330506
330613
|
if (isNaN(buildTime))
|
|
330507
330614
|
return;
|
|
330508
330615
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -334535,7 +334642,7 @@ async function _bundleWithFallback(gitRoot, bundlePath, maxBytes, hasStash, sign
|
|
|
334535
334642
|
}
|
|
334536
334643
|
return {
|
|
334537
334644
|
ok: false,
|
|
334538
|
-
error: "Repo is too large to bundle.
|
|
334645
|
+
error: "Repo is too large to bundle. See https://github.com/wittyphantom333/vivus-code for setup.",
|
|
334539
334646
|
failReason: "too_large"
|
|
334540
334647
|
};
|
|
334541
334648
|
}
|
|
@@ -335271,7 +335378,7 @@ async function teleportToRemote(options2) {
|
|
|
335271
335378
|
});
|
|
335272
335379
|
if (!bundle.success) {
|
|
335273
335380
|
logError2(new Error(`Bundle upload failed: ${bundle.error}`));
|
|
335274
|
-
const setup = repoInfo ? ".
|
|
335381
|
+
const setup = repoInfo ? ". See https://github.com/wittyphantom333/vivus-code for setup." : "";
|
|
335275
335382
|
let msg;
|
|
335276
335383
|
switch (bundle.failReason) {
|
|
335277
335384
|
case "empty_repo":
|
|
@@ -335546,7 +335653,7 @@ function formatPreconditionError(error41) {
|
|
|
335546
335653
|
case "not_logged_in":
|
|
335547
335654
|
return "Please run /login and sign in with your Vivus.ai account (not Console).";
|
|
335548
335655
|
case "no_remote_environment":
|
|
335549
|
-
return "No cloud environment available.
|
|
335656
|
+
return "No cloud environment available. See https://github.com/wittyphantom333/vivus-code for setup.";
|
|
335550
335657
|
case "not_in_git_repo":
|
|
335551
335658
|
return "Background tasks require a git repository. Initialize git or run from a git repository.";
|
|
335552
335659
|
case "no_git_remote":
|
|
@@ -338778,8 +338885,7 @@ function isPreapprovedHost(hostname3, pathname) {
|
|
|
338778
338885
|
var PREAPPROVED_HOSTS, HOSTNAME_ONLY, PATH_PREFIXES;
|
|
338779
338886
|
var init_preapproved = __esm(() => {
|
|
338780
338887
|
PREAPPROVED_HOSTS = new Set([
|
|
338781
|
-
"
|
|
338782
|
-
"code.vivus.ai",
|
|
338888
|
+
"github.com/wittyphantom333/vivus-code",
|
|
338783
338889
|
"modelcontextprotocol.io",
|
|
338784
338890
|
"github.com/anthropics",
|
|
338785
338891
|
"agentskills.io",
|
|
@@ -355776,7 +355882,7 @@ var init_utils9 = __esm(() => {
|
|
|
355776
355882
|
};
|
|
355777
355883
|
DomainCheckFailedError = class DomainCheckFailedError extends Error {
|
|
355778
355884
|
constructor(domain2) {
|
|
355779
|
-
super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies blocking vivus
|
|
355885
|
+
super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies blocking vivus.`);
|
|
355780
355886
|
this.name = "DomainCheckFailedError";
|
|
355781
355887
|
}
|
|
355782
355888
|
};
|
|
@@ -372789,7 +372895,7 @@ function getSimpleDoingTasksSection() {
|
|
|
372789
372895
|
];
|
|
372790
372896
|
const userHelpSubitems = [
|
|
372791
372897
|
`/help: Get help with using Vivus`,
|
|
372792
|
-
`To give feedback, users should ${"file an issue at https://github.com/vivus-
|
|
372898
|
+
`To give feedback, users should ${"file an issue at https://github.com/wittyphantom333/vivus-code/issues"}`
|
|
372793
372899
|
];
|
|
372794
372900
|
const items = [
|
|
372795
372901
|
`The user will primarily request you to perform software engineering tasks. These may include solving bugs, adding new functionality, refactoring code, explaining code, and more. When given an unclear or generic instruction, consider it in the context of these software engineering tasks and the current working directory. For example, if the user asks you to change "methodName" to snake case, do not reply with just "method_name", instead find the method in the code and modify the code.`,
|
|
@@ -373038,7 +373144,7 @@ async function computeSimpleEnvInfo(modelId, additionalWorkingDirectories) {
|
|
|
373038
373144
|
modelDescription,
|
|
373039
373145
|
knowledgeCutoffMessage,
|
|
373040
373146
|
process.env.USER_TYPE === "ant" && isUndercover() ? null : `The most recent Vivus model family is Vivus 4.5/4.6. Model IDs — Opus 4.6: '${VIVUS_4_5_OR_4_6_MODEL_IDS.opus}', Sonnet 4.6: '${VIVUS_4_5_OR_4_6_MODEL_IDS.sonnet}', Haiku 4.5: '${VIVUS_4_5_OR_4_6_MODEL_IDS.haiku}'. When building AI applications, default to the latest and most capable Vivus models.`,
|
|
373041
|
-
process.env.USER_TYPE === "ant" && isUndercover() ? null : `Vivus is available as a CLI in the terminal
|
|
373147
|
+
process.env.USER_TYPE === "ant" && isUndercover() ? null : `Vivus is available as a CLI in the terminal.`,
|
|
373042
373148
|
process.env.USER_TYPE === "ant" && isUndercover() ? null : `Fast mode for Vivus uses the same ${FRONTIER_MODEL_NAME} model with faster output. It does NOT switch to a different model. It can be toggled with /fast.`
|
|
373043
373149
|
].filter((item) => item !== null);
|
|
373044
373150
|
return [
|
|
@@ -377718,7 +377824,7 @@ var init_filesystem = __esm(() => {
|
|
|
377718
377824
|
});
|
|
377719
377825
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
377720
377826
|
const nonce = randomBytes17(16).toString("hex");
|
|
377721
|
-
return join106(getVivusTempDir(), "bundled-skills", "1.0.
|
|
377827
|
+
return join106(getVivusTempDir(), "bundled-skills", "1.0.4+b41f3f3", nonce);
|
|
377722
377828
|
});
|
|
377723
377829
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
377724
377830
|
});
|
|
@@ -379478,7 +379584,7 @@ function Feedback({
|
|
|
379478
379584
|
platform: env2.platform,
|
|
379479
379585
|
gitRepo: envInfo.isGit,
|
|
379480
379586
|
terminal: env2.terminal,
|
|
379481
|
-
version: "1.0.
|
|
379587
|
+
version: "1.0.4+b41f3f3",
|
|
379482
379588
|
transcript: normalizeMessagesForAPI(messages),
|
|
379483
379589
|
errors: sanitizedErrors,
|
|
379484
379590
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -379670,7 +379776,7 @@ function Feedback({
|
|
|
379670
379776
|
", ",
|
|
379671
379777
|
env2.terminal,
|
|
379672
379778
|
", v",
|
|
379673
|
-
"1.0.
|
|
379779
|
+
"1.0.4+b41f3f3"
|
|
379674
379780
|
]
|
|
379675
379781
|
}, undefined, true, undefined, this)
|
|
379676
379782
|
]
|
|
@@ -379776,7 +379882,7 @@ ${sanitizedDescription}
|
|
|
379776
379882
|
` + `**Environment Info**
|
|
379777
379883
|
` + `- Platform: ${env2.platform}
|
|
379778
379884
|
` + `- Terminal: ${env2.terminal}
|
|
379779
|
-
` + `- Version: ${"1.0.
|
|
379885
|
+
` + `- Version: ${"1.0.4+b41f3f3"}
|
|
379780
379886
|
` + `- Feedback ID: ${feedbackId}
|
|
379781
379887
|
` + `
|
|
379782
379888
|
**Errors**
|
|
@@ -381873,7 +381979,7 @@ async function openCurrentSessionInDesktop() {
|
|
|
381873
381979
|
if (!installed) {
|
|
381874
381980
|
return {
|
|
381875
381981
|
success: false,
|
|
381876
|
-
error: "Vivus Desktop is not installed.
|
|
381982
|
+
error: "Vivus Desktop is not installed. See https://github.com/wittyphantom333/vivus-code for setup."
|
|
381877
381983
|
};
|
|
381878
381984
|
}
|
|
381879
381985
|
const deepLinkUrl = buildDesktopDeepLink(sessionId);
|
|
@@ -381978,9 +382084,9 @@ var init_LoadingState = __esm(() => {
|
|
|
381978
382084
|
function getDownloadUrl() {
|
|
381979
382085
|
switch (process.platform) {
|
|
381980
382086
|
case "win32":
|
|
381981
|
-
return "https://
|
|
382087
|
+
return "https://github.com/wittyphantom333/vivus-code";
|
|
381982
382088
|
default:
|
|
381983
|
-
return "https://
|
|
382089
|
+
return "https://github.com/wittyphantom333/vivus-code";
|
|
381984
382090
|
}
|
|
381985
382091
|
}
|
|
381986
382092
|
function DesktopHandoff(t0) {
|
|
@@ -382907,7 +383013,7 @@ function buildPrimarySection() {
|
|
|
382907
383013
|
}, undefined, false, undefined, this);
|
|
382908
383014
|
return [{
|
|
382909
383015
|
label: "Version",
|
|
382910
|
-
value: "1.0.
|
|
383016
|
+
value: "1.0.4+b41f3f3"
|
|
382911
383017
|
}, {
|
|
382912
383018
|
label: "Session name",
|
|
382913
383019
|
value: nameValue
|
|
@@ -384390,7 +384496,7 @@ function VivusMdExternalIncludesDialog(t0) {
|
|
|
384390
384496
|
"Important: Only use Vivus with files you trust. Accessing untrusted files may pose security risks",
|
|
384391
384497
|
" ",
|
|
384392
384498
|
/* @__PURE__ */ jsx_dev_runtime173.jsxDEV(Link, {
|
|
384393
|
-
url: "https://
|
|
384499
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
384394
384500
|
}, undefined, false, undefined, this),
|
|
384395
384501
|
" "
|
|
384396
384502
|
]
|
|
@@ -386658,7 +386764,7 @@ function Config({
|
|
|
386658
386764
|
}
|
|
386659
386765
|
}, undefined, false, undefined, this)
|
|
386660
386766
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
386661
|
-
currentVersion: "1.0.
|
|
386767
|
+
currentVersion: "1.0.4+b41f3f3",
|
|
386662
386768
|
onChoice: (choice) => {
|
|
386663
386769
|
setShowSubmenu(null);
|
|
386664
386770
|
setTabsHidden(false);
|
|
@@ -386670,7 +386776,7 @@ function Config({
|
|
|
386670
386776
|
autoUpdatesChannel: "stable"
|
|
386671
386777
|
};
|
|
386672
386778
|
if (choice === "stay") {
|
|
386673
|
-
newSettings.minimumVersion = "1.0.
|
|
386779
|
+
newSettings.minimumVersion = "1.0.4+b41f3f3";
|
|
386674
386780
|
}
|
|
386675
386781
|
updateSettingsForSource("userSettings", newSettings);
|
|
386676
386782
|
setSettingsData((prev_27) => ({
|
|
@@ -391316,8 +391422,8 @@ function McpParsingWarnings() {
|
|
|
391316
391422
|
"For help configuring MCP servers, see:",
|
|
391317
391423
|
" ",
|
|
391318
391424
|
/* @__PURE__ */ jsx_dev_runtime193.jsxDEV(Link, {
|
|
391319
|
-
url: "https://
|
|
391320
|
-
children: "https://
|
|
391425
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
391426
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
391321
391427
|
}, undefined, false, undefined, this)
|
|
391322
391428
|
]
|
|
391323
391429
|
}, undefined, true, undefined, this)
|
|
@@ -393887,7 +393993,7 @@ ${editorHint}`, {
|
|
|
393887
393993
|
children: [
|
|
393888
393994
|
"Learn more: ",
|
|
393889
393995
|
/* @__PURE__ */ jsx_dev_runtime201.jsxDEV(Link, {
|
|
393890
|
-
url: "https://
|
|
393996
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
393891
393997
|
}, undefined, false, undefined, this)
|
|
393892
393998
|
]
|
|
393893
393999
|
}, undefined, true, undefined, this)
|
|
@@ -394756,7 +394862,7 @@ function HelpV2(t0) {
|
|
|
394756
394862
|
let t6;
|
|
394757
394863
|
if ($2[31] !== tabs) {
|
|
394758
394864
|
t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
|
|
394759
|
-
title: `Vivus v${"1.0.
|
|
394865
|
+
title: `Vivus v${"1.0.4+b41f3f3"}`,
|
|
394760
394866
|
color: "professionalBlue",
|
|
394761
394867
|
defaultTab: "general",
|
|
394762
394868
|
children: tabs
|
|
@@ -394775,7 +394881,7 @@ function HelpV2(t0) {
|
|
|
394775
394881
|
"For more help:",
|
|
394776
394882
|
" ",
|
|
394777
394883
|
/* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Link, {
|
|
394778
|
-
url: "https://
|
|
394884
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
394779
394885
|
}, undefined, false, undefined, this)
|
|
394780
394886
|
]
|
|
394781
394887
|
}, undefined, true, undefined, this)
|
|
@@ -395189,7 +395295,7 @@ function IDEScreen(t0) {
|
|
|
395189
395295
|
t5 = availableIDEs.length === 0 && /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(ThemedText, {
|
|
395190
395296
|
dimColor: true,
|
|
395191
395297
|
children: isSupportedJetBrainsTerminal() ? `No available IDEs detected. Please install the plugin and restart your IDE:
|
|
395192
|
-
https://
|
|
395298
|
+
https://github.com/wittyphantom333/vivus-code` : "No available IDEs detected. Make sure your IDE has the Vivus extension or plugin installed and is running."
|
|
395193
395299
|
}, undefined, false, undefined, this);
|
|
395194
395300
|
$2[17] = availableIDEs.length;
|
|
395195
395301
|
$2[18] = t5;
|
|
@@ -395814,7 +395920,7 @@ Usage notes:
|
|
|
395814
395920
|
\`\`\`
|
|
395815
395921
|
# VIVUS.md
|
|
395816
395922
|
|
|
395817
|
-
This file provides guidance to Vivus (
|
|
395923
|
+
This file provides guidance to Vivus (github.com/wittyphantom333/vivus-code) when working with code in this repository.
|
|
395818
395924
|
\`\`\``, command3, init_default3;
|
|
395819
395925
|
var init_init = __esm(() => {
|
|
395820
395926
|
init_projectOnboardingState();
|
|
@@ -396121,7 +396227,7 @@ function generateKeybindingsTemplate() {
|
|
|
396121
396227
|
const bindings = filterReservedShortcuts(DEFAULT_BINDINGS);
|
|
396122
396228
|
const config4 = {
|
|
396123
396229
|
$schema: "https://www.schemastore.org/vivus-keybindings.json",
|
|
396124
|
-
$docs: "https://
|
|
396230
|
+
$docs: "https://github.com/wittyphantom333/vivus-code",
|
|
396125
396231
|
bindings
|
|
396126
396232
|
};
|
|
396127
396233
|
return jsonStringify(config4, null, 2) + `
|
|
@@ -396449,8 +396555,7 @@ jobs:
|
|
|
396449
396555
|
|
|
396450
396556
|
# Optional: Add vivus_args to customize behavior and configuration
|
|
396451
396557
|
# See https://github.com/anthropics/vivus-action/blob/main/docs/usage.md
|
|
396452
|
-
# or https://
|
|
396453
|
-
# vivus_args: '--allowed-tools Bash(gh pr:*)'
|
|
396558
|
+
# or https://github.com/wittyphantom333/vivus-code for available options
|
|
396454
396559
|
|
|
396455
396560
|
`, PR_BODY = `## \uD83E\uDD16 Installing Vivus GitHub App
|
|
396456
396561
|
|
|
@@ -396458,7 +396563,7 @@ This PR adds a GitHub Actions workflow that enables Vivus integration in our rep
|
|
|
396458
396563
|
|
|
396459
396564
|
### What is Vivus?
|
|
396460
396565
|
|
|
396461
|
-
[Vivus](https://
|
|
396566
|
+
[Vivus](https://github.com/wittyphantom333/vivus-code) is an AI coding agent that can help with:
|
|
396462
396567
|
- Bug fixes and improvements
|
|
396463
396568
|
- Documentation updates
|
|
396464
396569
|
- Implementing new features
|
|
@@ -396534,7 +396639,7 @@ jobs:
|
|
|
396534
396639
|
plugins: 'code-review@vivus-plugins'
|
|
396535
396640
|
prompt: '/code-review:code-review \${{ github.repository }}/pull/\${{ github.event.pull_request.number }}'
|
|
396536
396641
|
# See https://github.com/anthropics/vivus-action/blob/main/docs/usage.md
|
|
396537
|
-
# or https://
|
|
396642
|
+
# or https://github.com/wittyphantom333/vivus-code for available options
|
|
396538
396643
|
|
|
396539
396644
|
`;
|
|
396540
396645
|
|
|
@@ -396756,7 +396861,7 @@ function ApiKeyStep(t0) {
|
|
|
396756
396861
|
onSubmit,
|
|
396757
396862
|
onPaste: onApiKeyChange,
|
|
396758
396863
|
focus: true,
|
|
396759
|
-
placeholder: "sk-ant… (Create a new key at https://
|
|
396864
|
+
placeholder: "sk-ant… (Create a new key at https://github.com/wittyphantom333/vivus-code)",
|
|
396760
396865
|
mask: "*",
|
|
396761
396866
|
columns: terminalSize.columns,
|
|
396762
396867
|
cursorOffset,
|
|
@@ -400286,7 +400391,7 @@ function MCPListPanel(t0) {
|
|
|
400286
400391
|
paddingLeft: 2,
|
|
400287
400392
|
children: /* @__PURE__ */ jsx_dev_runtime223.jsxDEV(ThemedText, {
|
|
400288
400393
|
bold: true,
|
|
400289
|
-
children: "vivus
|
|
400394
|
+
children: "vivus"
|
|
400290
400395
|
}, undefined, false, undefined, this)
|
|
400291
400396
|
}, undefined, false, undefined, this),
|
|
400292
400397
|
vivusAiServers.map((server_5) => renderServerItem(server_5))
|
|
@@ -400385,8 +400490,8 @@ function MCPListPanel(t0) {
|
|
|
400385
400490
|
dimColor: true,
|
|
400386
400491
|
children: [
|
|
400387
400492
|
/* @__PURE__ */ jsx_dev_runtime223.jsxDEV(Link, {
|
|
400388
|
-
url: "https://
|
|
400389
|
-
children: "https://
|
|
400493
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
400494
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
400390
400495
|
}, undefined, false, undefined, this),
|
|
400391
400496
|
" ",
|
|
400392
400497
|
"for help"
|
|
@@ -400736,7 +400841,7 @@ function gateChannelServer(serverName, capabilities, pluginSource) {
|
|
|
400736
400841
|
return {
|
|
400737
400842
|
action: "skip",
|
|
400738
400843
|
kind: "auth",
|
|
400739
|
-
reason: "channels requires vivus
|
|
400844
|
+
reason: "channels requires vivus authentication (run /login)"
|
|
400740
400845
|
};
|
|
400741
400846
|
}
|
|
400742
400847
|
const sub = getSubscriptionType();
|
|
@@ -401169,7 +401274,7 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
|
|
|
401169
401274
|
});
|
|
401170
401275
|
const enabledVivusaiConfigs = Object.fromEntries(Object.entries(vivusaiConfigs).filter(([name]) => !isMcpServerDisabled(name)));
|
|
401171
401276
|
getMcpToolsCommandsAndResources(onConnectionAttempt, enabledVivusaiConfigs).catch((error41) => {
|
|
401172
|
-
logMCPError("useManageMcpConnections", `Failed to get vivus
|
|
401277
|
+
logMCPError("useManageMcpConnections", `Failed to get vivus MCP resources: ${errorMessage(error41)}`);
|
|
401173
401278
|
});
|
|
401174
401279
|
}
|
|
401175
401280
|
}
|
|
@@ -402223,7 +402328,7 @@ function MCPRemoteServerMenu({
|
|
|
402223
402328
|
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime227.jsxDEV(jsx_dev_runtime227.Fragment, {
|
|
402224
402329
|
children: [
|
|
402225
402330
|
/* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedText, {
|
|
402226
|
-
children: 'This will open vivus
|
|
402331
|
+
children: 'This will open vivus in the browser. Find the MCP server in the list and click "Disconnect".'
|
|
402227
402332
|
}, undefined, false, undefined, this),
|
|
402228
402333
|
/* @__PURE__ */ jsx_dev_runtime227.jsxDEV(ThemedBox_default, {
|
|
402229
402334
|
marginLeft: 3,
|
|
@@ -403517,7 +403622,7 @@ function MCPSettings(t0) {
|
|
|
403517
403622
|
return;
|
|
403518
403623
|
}
|
|
403519
403624
|
if (servers.length === 0 && agentMcpServers.length === 0) {
|
|
403520
|
-
onComplete("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `vivus mcp --help` or visit https://
|
|
403625
|
+
onComplete("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `vivus mcp --help` or visit https://github.com/wittyphantom333/vivus-code to learn more.");
|
|
403521
403626
|
}
|
|
403522
403627
|
};
|
|
403523
403628
|
t8 = [servers.length, filteredClients.length, agentMcpServers.length, onComplete];
|
|
@@ -403582,7 +403687,7 @@ function MCPSettings(t0) {
|
|
|
403582
403687
|
t9 = $2[25];
|
|
403583
403688
|
}
|
|
403584
403689
|
const serverTools_0 = t9;
|
|
403585
|
-
const defaultTab = viewState.server.transport === "vivus-proxy" ? "vivus
|
|
403690
|
+
const defaultTab = viewState.server.transport === "vivus-proxy" ? "vivus" : "Vivus";
|
|
403586
403691
|
if (viewState.server.transport === "stdio") {
|
|
403587
403692
|
let t10;
|
|
403588
403693
|
if ($2[26] !== viewState.server) {
|
|
@@ -418982,7 +419087,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
418982
419087
|
return [];
|
|
418983
419088
|
}
|
|
418984
419089
|
}
|
|
418985
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.
|
|
419090
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.4+b41f3f3") {
|
|
418986
419091
|
if (process.env.USER_TYPE === "ant") {
|
|
418987
419092
|
const changelog = "";
|
|
418988
419093
|
if (changelog) {
|
|
@@ -419009,7 +419114,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.2+c74
|
|
|
419009
419114
|
releaseNotes
|
|
419010
419115
|
};
|
|
419011
419116
|
}
|
|
419012
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.
|
|
419117
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.4+b41f3f3") {
|
|
419013
419118
|
if (process.env.USER_TYPE === "ant") {
|
|
419014
419119
|
const changelog = "";
|
|
419015
419120
|
if (changelog) {
|
|
@@ -420179,7 +420284,7 @@ function getRecentActivitySync() {
|
|
|
420179
420284
|
return cachedActivity;
|
|
420180
420285
|
}
|
|
420181
420286
|
function getLogoDisplayData() {
|
|
420182
|
-
const version2 = process.env.DEMO_VERSION ?? "1.0.
|
|
420287
|
+
const version2 = process.env.DEMO_VERSION ?? "1.0.4+b41f3f3";
|
|
420183
420288
|
const serverUrl = getDirectConnectServerUrl();
|
|
420184
420289
|
const displayPath = process.env.DEMO_VERSION ? "/code/vivus" : getDisplayPath(getCwd());
|
|
420185
420290
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -421706,7 +421811,7 @@ function LogoV2() {
|
|
|
421706
421811
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
421707
421812
|
t2 = () => {
|
|
421708
421813
|
const currentConfig = getGlobalConfig();
|
|
421709
|
-
if (currentConfig.lastReleaseNotesSeen === "1.0.
|
|
421814
|
+
if (currentConfig.lastReleaseNotesSeen === "1.0.4+b41f3f3") {
|
|
421710
421815
|
return;
|
|
421711
421816
|
}
|
|
421712
421817
|
saveGlobalConfig(_temp329);
|
|
@@ -422382,12 +422487,12 @@ function LogoV2() {
|
|
|
422382
422487
|
return t41;
|
|
422383
422488
|
}
|
|
422384
422489
|
function _temp329(current) {
|
|
422385
|
-
if (current.lastReleaseNotesSeen === "1.0.
|
|
422490
|
+
if (current.lastReleaseNotesSeen === "1.0.4+b41f3f3") {
|
|
422386
422491
|
return current;
|
|
422387
422492
|
}
|
|
422388
422493
|
return {
|
|
422389
422494
|
...current,
|
|
422390
|
-
lastReleaseNotesSeen: "1.0.
|
|
422495
|
+
lastReleaseNotesSeen: "1.0.4+b41f3f3"
|
|
422391
422496
|
};
|
|
422392
422497
|
}
|
|
422393
422498
|
function _temp245(s_0) {
|
|
@@ -423129,7 +423234,7 @@ var init_statusNoticeDefinitions = __esm(() => {
|
|
|
423129
423234
|
children: [
|
|
423130
423235
|
"· Trying to use",
|
|
423131
423236
|
" ",
|
|
423132
|
-
authTokenInfo.source === "vivus
|
|
423237
|
+
authTokenInfo.source === "vivus" ? "vivus" : authTokenInfo.source,
|
|
423133
423238
|
"?",
|
|
423134
423239
|
" ",
|
|
423135
423240
|
apiKeySource === "ANTHROPIC_API_KEY" ? 'Unset the ANTHROPIC_API_KEY environment variable, or vivus /logout then say "No" to the API key approval before login.' : apiKeySource === "apiKeyHelper" ? "Unset the apiKeyHelper setting." : "vivus /logout"
|
|
@@ -423142,7 +423247,7 @@ var init_statusNoticeDefinitions = __esm(() => {
|
|
|
423142
423247
|
apiKeySource,
|
|
423143
423248
|
"?",
|
|
423144
423249
|
" ",
|
|
423145
|
-
authTokenInfo.source === "vivus
|
|
423250
|
+
authTokenInfo.source === "vivus" ? "vivus /logout to sign out of vivus." : `Unset the ${authTokenInfo.source} environment variable.`
|
|
423146
423251
|
]
|
|
423147
423252
|
}, undefined, true, undefined, this)
|
|
423148
423253
|
]
|
|
@@ -423223,7 +423328,7 @@ var init_statusNoticeDefinitions = __esm(() => {
|
|
|
423223
423328
|
" ",
|
|
423224
423329
|
/* @__PURE__ */ jsx_dev_runtime261.jsxDEV(ThemedText, {
|
|
423225
423330
|
bold: true,
|
|
423226
|
-
children: "https://
|
|
423331
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
423227
423332
|
}, undefined, false, undefined, this)
|
|
423228
423333
|
]
|
|
423229
423334
|
}, undefined, true, undefined, this)
|
|
@@ -428967,13 +429072,13 @@ async function launchAndDone(args, context2, onDone, billingNote, signal) {
|
|
|
428967
429072
|
var jsx_dev_runtime273, call31 = async (onDone, context2, args) => {
|
|
428968
429073
|
const gate = await checkOverageGate();
|
|
428969
429074
|
if (gate.kind === "not-enabled") {
|
|
428970
|
-
onDone("Free ultrareviews used. Enable Extra Usage at https://
|
|
429075
|
+
onDone("Free ultrareviews used. Enable Extra Usage at https://github.com/wittyphantom333/vivus-code to continue.", {
|
|
428971
429076
|
display: "system"
|
|
428972
429077
|
});
|
|
428973
429078
|
return null;
|
|
428974
429079
|
}
|
|
428975
429080
|
if (gate.kind === "low-balance") {
|
|
428976
|
-
onDone(`Balance too low to launch ultrareview ($${gate.available.toFixed(2)} available, $10 minimum). Top up at https://
|
|
429081
|
+
onDone(`Balance too low to launch ultrareview ($${gate.available.toFixed(2)} available, $10 minimum). Top up at https://github.com/wittyphantom333/vivus-code`, {
|
|
428977
429082
|
display: "system"
|
|
428978
429083
|
});
|
|
428979
429084
|
return null;
|
|
@@ -429000,7 +429105,7 @@ var init_ultrareviewCommand = __esm(() => {
|
|
|
429000
429105
|
});
|
|
429001
429106
|
|
|
429002
429107
|
// src/commands/review.ts
|
|
429003
|
-
var CCR_TERMS_URL = "https://
|
|
429108
|
+
var CCR_TERMS_URL = "https://github.com/wittyphantom333/vivus-code", LOCAL_REVIEW_PROMPT = (args) => `
|
|
429004
429109
|
You are an expert code reviewer. Follow these steps:
|
|
429005
429110
|
|
|
429006
429111
|
1. If no PR number is provided in the args, run \`gh pr list\` to show open PRs
|
|
@@ -429731,7 +429836,7 @@ var init_teammateViewHelpers = __esm(() => {
|
|
|
429731
429836
|
});
|
|
429732
429837
|
|
|
429733
429838
|
// src/bridge/types.ts
|
|
429734
|
-
var DEFAULT_SESSION_TIMEOUT_MS, BRIDGE_LOGIN_INSTRUCTION = "Remote Control is only available with vivus
|
|
429839
|
+
var DEFAULT_SESSION_TIMEOUT_MS, BRIDGE_LOGIN_INSTRUCTION = "Remote Control is only available with vivus subscriptions. Please use `/login` to sign in with your vivus account.", BRIDGE_LOGIN_ERROR, REMOTE_CONTROL_DISCONNECTED_MSG = "Remote Control disconnected.";
|
|
429735
429840
|
var init_types11 = __esm(() => {
|
|
429736
429841
|
DEFAULT_SESSION_TIMEOUT_MS = 24 * 60 * 60 * 1000;
|
|
429737
429842
|
BRIDGE_LOGIN_ERROR = `Error: You must be logged in to use Remote Control.
|
|
@@ -430222,7 +430327,7 @@ ${reasons}`,
|
|
|
430222
430327
|
} : prev);
|
|
430223
430328
|
}
|
|
430224
430329
|
}
|
|
430225
|
-
var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://
|
|
430330
|
+
var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://github.com/wittyphantom333/vivus-code", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call35 = async (onDone, context2, args) => {
|
|
430226
430331
|
const blurb = args.trim();
|
|
430227
430332
|
if (!blurb) {
|
|
430228
430333
|
const msg = await launchUltraplan2({
|
|
@@ -439101,8 +439206,8 @@ function FastModePicker(t0) {
|
|
|
439101
439206
|
"Learn more:",
|
|
439102
439207
|
" ",
|
|
439103
439208
|
/* @__PURE__ */ jsx_dev_runtime302.jsxDEV(Link, {
|
|
439104
|
-
url: "https://
|
|
439105
|
-
children: "https://
|
|
439209
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
439210
|
+
children: "https://github.com/wittyphantom333/vivus-code"
|
|
439106
439211
|
}, undefined, false, undefined, this)
|
|
439107
439212
|
]
|
|
439108
439213
|
}, undefined, true, undefined, this);
|
|
@@ -439437,7 +439542,7 @@ function Passes({
|
|
|
439437
439542
|
children: [
|
|
439438
439543
|
referrerReward ? `Share a free week of Vivus with friends. If they love it and subscribe, you'll get ${formatCreditAmount(referrerReward)} of extra usage to keep building. ` : "Share a free week of Vivus with friends. ",
|
|
439439
439544
|
/* @__PURE__ */ jsx_dev_runtime303.jsxDEV(Link, {
|
|
439440
|
-
url: referrerReward ? "https://
|
|
439545
|
+
url: referrerReward ? "https://github.com/wittyphantom333/vivus-code" : "https://github.com/wittyphantom333/vivus-code",
|
|
439441
439546
|
children: "Terms apply."
|
|
439442
439547
|
}, undefined, false, undefined, this)
|
|
439443
439548
|
]
|
|
@@ -439593,7 +439698,7 @@ function GracePeriodContentBody() {
|
|
|
439593
439698
|
children: [
|
|
439594
439699
|
"— Allow the use of your chats and coding sessions to train and improve Anthropic AI models. Change anytime in your Privacy Settings (",
|
|
439595
439700
|
/* @__PURE__ */ jsx_dev_runtime305.jsxDEV(Link, {
|
|
439596
|
-
url: "https://
|
|
439701
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
439597
439702
|
}, undefined, false, undefined, this),
|
|
439598
439703
|
")."
|
|
439599
439704
|
]
|
|
@@ -439713,7 +439818,7 @@ function PostGracePeriodContentBody() {
|
|
|
439713
439818
|
children: "Allow the use of your chats and coding sessions to train and improve Anthropic AI models. You can change this anytime in Privacy Settings"
|
|
439714
439819
|
}, undefined, false, undefined, this),
|
|
439715
439820
|
/* @__PURE__ */ jsx_dev_runtime305.jsxDEV(Link, {
|
|
439716
|
-
url: "https://
|
|
439821
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
439717
439822
|
}, undefined, false, undefined, this)
|
|
439718
439823
|
]
|
|
439719
439824
|
}, undefined, true, undefined, this);
|
|
@@ -440167,7 +440272,7 @@ function PrivacySettingsDialog(t0) {
|
|
|
440167
440272
|
"Review and manage your privacy settings at",
|
|
440168
440273
|
" ",
|
|
440169
440274
|
/* @__PURE__ */ jsx_dev_runtime305.jsxDEV(Link, {
|
|
440170
|
-
url: "https://
|
|
440275
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
440171
440276
|
}, undefined, false, undefined, this)
|
|
440172
440277
|
]
|
|
440173
440278
|
}, undefined, true, undefined, this);
|
|
@@ -440309,7 +440414,7 @@ async function call46(onDone) {
|
|
|
440309
440414
|
location: "settings"
|
|
440310
440415
|
}, undefined, false, undefined, this);
|
|
440311
440416
|
}
|
|
440312
|
-
var jsx_dev_runtime306, FALLBACK_MESSAGE = "Review and manage your privacy settings at https://
|
|
440417
|
+
var jsx_dev_runtime306, FALLBACK_MESSAGE = "Review and manage your privacy settings at https://github.com/wittyphantom333/vivus-code";
|
|
440313
440418
|
var init_privacy_settings = __esm(() => {
|
|
440314
440419
|
init_Grove();
|
|
440315
440420
|
init_analytics();
|
|
@@ -440775,7 +440880,7 @@ function SelectEventMode(t0) {
|
|
|
440775
440880
|
" This menu is read-only. To add or modify hooks, edit settings.json directly or ask Vivus.",
|
|
440776
440881
|
" ",
|
|
440777
440882
|
/* @__PURE__ */ jsx_dev_runtime307.jsxDEV(Link, {
|
|
440778
|
-
url: "https://
|
|
440883
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
440779
440884
|
children: "Learn more"
|
|
440780
440885
|
}, undefined, false, undefined, this)
|
|
440781
440886
|
]
|
|
@@ -448684,7 +448789,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
448684
448789
|
smapsRollup,
|
|
448685
448790
|
platform: process.platform,
|
|
448686
448791
|
nodeVersion: process.version,
|
|
448687
|
-
ccVersion: "1.0.
|
|
448792
|
+
ccVersion: "1.0.4+b41f3f3"
|
|
448688
448793
|
};
|
|
448689
448794
|
}
|
|
448690
448795
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -449270,7 +449375,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
449270
449375
|
var call56 = async () => {
|
|
449271
449376
|
return {
|
|
449272
449377
|
type: "text",
|
|
449273
|
-
value: `${"1.0.
|
|
449378
|
+
value: `${"1.0.4+b41f3f3"} (built ${"2026-06-05T22:56:04.667Z"})`
|
|
449274
449379
|
};
|
|
449275
449380
|
}, version2, version_default;
|
|
449276
449381
|
var init_version = __esm(() => {
|
|
@@ -450019,8 +450124,8 @@ function OverridesSelect(t0) {
|
|
|
450019
450124
|
"Learn more:",
|
|
450020
450125
|
" ",
|
|
450021
450126
|
/* @__PURE__ */ jsx_dev_runtime341.jsxDEV(Link, {
|
|
450022
|
-
url: "https://
|
|
450023
|
-
children: "
|
|
450127
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
450128
|
+
children: "github.com/wittyphantom333/vivus-code"
|
|
450024
450129
|
}, undefined, false, undefined, this)
|
|
450025
450130
|
]
|
|
450026
450131
|
}, undefined, true, undefined, this)
|
|
@@ -450390,8 +450495,8 @@ function SandboxModeTab(t0) {
|
|
|
450390
450495
|
"Learn more:",
|
|
450391
450496
|
" ",
|
|
450392
450497
|
/* @__PURE__ */ jsx_dev_runtime342.jsxDEV(Link, {
|
|
450393
|
-
url: "https://
|
|
450394
|
-
children: "
|
|
450498
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
450499
|
+
children: "github.com/wittyphantom333/vivus-code"
|
|
450395
450500
|
}, undefined, false, undefined, this)
|
|
450396
450501
|
]
|
|
450397
450502
|
}, undefined, true, undefined, this)
|
|
@@ -451041,7 +451146,7 @@ function VivusInChromeMenu(t0) {
|
|
|
451041
451146
|
if ($2[23] !== isVivusAISubscriber2) {
|
|
451042
451147
|
t8 = !isVivusAISubscriber2 && /* @__PURE__ */ jsx_dev_runtime344.jsxDEV(ThemedText, {
|
|
451043
451148
|
color: "error",
|
|
451044
|
-
children: "Vivus in Chrome requires a vivus
|
|
451149
|
+
children: "Vivus in Chrome requires a vivus subscription."
|
|
451045
451150
|
}, undefined, false, undefined, this);
|
|
451046
451151
|
$2[23] = isVivusAISubscriber2;
|
|
451047
451152
|
$2[24] = t8;
|
|
@@ -451135,7 +451240,7 @@ function VivusInChromeMenu(t0) {
|
|
|
451135
451240
|
if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
|
|
451136
451241
|
t10 = /* @__PURE__ */ jsx_dev_runtime344.jsxDEV(ThemedText, {
|
|
451137
451242
|
dimColor: true,
|
|
451138
|
-
children: "Learn more: https://
|
|
451243
|
+
children: "Learn more: https://github.com/wittyphantom333/vivus-code"
|
|
451139
451244
|
}, undefined, false, undefined, this);
|
|
451140
451245
|
$2[33] = t10;
|
|
451141
451246
|
} else {
|
|
@@ -451192,7 +451297,7 @@ function _temp271(c4) {
|
|
|
451192
451297
|
function _temp161(s) {
|
|
451193
451298
|
return s.mcp.clients;
|
|
451194
451299
|
}
|
|
451195
|
-
var import_compiler_runtime270, import_react187, jsx_dev_runtime344, CHROME_EXTENSION_URL = "https://
|
|
451300
|
+
var import_compiler_runtime270, import_react187, jsx_dev_runtime344, CHROME_EXTENSION_URL = "https://github.com/wittyphantom333/vivus-code", CHROME_PERMISSIONS_URL = "https://clau.de/chrome/permissions", CHROME_RECONNECT_URL = "https://clau.de/chrome/reconnect", call58 = async function(onDone) {
|
|
451196
451301
|
const isExtensionInstalled = await isChromeExtensionInstalled();
|
|
451197
451302
|
const config4 = getGlobalConfig();
|
|
451198
451303
|
const isSubscriber = isVivusAISubscriber();
|
|
@@ -452309,13 +452414,13 @@ function SetModelAndClose({
|
|
|
452309
452414
|
return;
|
|
452310
452415
|
}
|
|
452311
452416
|
if (model && isOpus1mUnavailable(model)) {
|
|
452312
|
-
onDone(`Opus 4.6 with 1M context is not available for your account. Learn more: https://
|
|
452417
|
+
onDone(`Opus 4.6 with 1M context is not available for your account. Learn more: https://github.com/wittyphantom333/vivus-code`, {
|
|
452313
452418
|
display: "system"
|
|
452314
452419
|
});
|
|
452315
452420
|
return;
|
|
452316
452421
|
}
|
|
452317
452422
|
if (model && isSonnet1mUnavailable(model)) {
|
|
452318
|
-
onDone(`Sonnet 4.6 with 1M context is not available for your account. Learn more: https://
|
|
452423
|
+
onDone(`Sonnet 4.6 with 1M context is not available for your account. Learn more: https://github.com/wittyphantom333/vivus-code`, {
|
|
452319
452424
|
display: "system"
|
|
452320
452425
|
});
|
|
452321
452426
|
return;
|
|
@@ -453258,7 +453363,7 @@ function _temp165(env4) {
|
|
|
453258
453363
|
value: env4.environment_id
|
|
453259
453364
|
};
|
|
453260
453365
|
}
|
|
453261
|
-
var import_compiler_runtime274, import_react191, jsx_dev_runtime353, DIALOG_TITLE = "Select Remote Environment", SETUP_HINT = `Configure environments at: https://
|
|
453366
|
+
var import_compiler_runtime274, import_react191, jsx_dev_runtime353, DIALOG_TITLE = "Select Remote Environment", SETUP_HINT = `Configure environments at: https://github.com/wittyphantom333/vivus-code`;
|
|
453262
453367
|
var init_RemoteEnvironmentDialog = __esm(() => {
|
|
453263
453368
|
init_source();
|
|
453264
453369
|
init_figures();
|
|
@@ -453334,7 +453439,7 @@ async function call67(onDone, context2) {
|
|
|
453334
453439
|
return null;
|
|
453335
453440
|
}
|
|
453336
453441
|
}
|
|
453337
|
-
const url3 = "https://
|
|
453442
|
+
const url3 = "https://github.com/wittyphantom333/vivus-code";
|
|
453338
453443
|
await openBrowser(url3);
|
|
453339
453444
|
return /* @__PURE__ */ jsx_dev_runtime355.jsxDEV(Login, {
|
|
453340
453445
|
startingMessage: "Starting new login following /upgrade. Exit with Ctrl-C to use existing account.",
|
|
@@ -453345,7 +453450,7 @@ async function call67(onDone, context2) {
|
|
|
453345
453450
|
}, undefined, false, undefined, this);
|
|
453346
453451
|
} catch (error41) {
|
|
453347
453452
|
logError2(error41);
|
|
453348
|
-
setTimeout(onDone, 0, "Failed to open browser. Please visit https://
|
|
453453
|
+
setTimeout(onDone, 0, "Failed to open browser. Please visit https://github.com/wittyphantom333/vivus-code to upgrade.");
|
|
453349
453454
|
}
|
|
453350
453455
|
return null;
|
|
453351
453456
|
}
|
|
@@ -458233,7 +458338,7 @@ function generateHtmlReport(data, insights) {
|
|
|
458233
458338
|
</html>`;
|
|
458234
458339
|
}
|
|
458235
458340
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
458236
|
-
const version3 = typeof MACRO !== "undefined" ? "1.0.
|
|
458341
|
+
const version3 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
|
|
458237
458342
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
458238
458343
|
const facets_summary = {
|
|
458239
458344
|
total: facets.size,
|
|
@@ -462342,7 +462447,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
462342
462447
|
init_settings2();
|
|
462343
462448
|
init_slowOperations();
|
|
462344
462449
|
init_uuid();
|
|
462345
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.0.
|
|
462450
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.0.4+b41f3f3" : "unknown";
|
|
462346
462451
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
462347
462452
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
462348
462453
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -464533,7 +464638,7 @@ function CostThresholdDialog(t0) {
|
|
|
464533
464638
|
children: "Learn more about how to monitor your spending:"
|
|
464534
464639
|
}, undefined, false, undefined, this),
|
|
464535
464640
|
/* @__PURE__ */ jsx_dev_runtime364.jsxDEV(Link, {
|
|
464536
|
-
url: "https://
|
|
464641
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
464537
464642
|
}, undefined, false, undefined, this)
|
|
464538
464643
|
]
|
|
464539
464644
|
}, undefined, true, undefined, this);
|
|
@@ -465213,7 +465318,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
465213
465318
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
465214
465319
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
465215
465320
|
betas: getSdkBetas(),
|
|
465216
|
-
vivus_code_version: "1.0.
|
|
465321
|
+
vivus_code_version: "1.0.4+b41f3f3",
|
|
465217
465322
|
output_style: outputStyle2,
|
|
465218
465323
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
465219
465324
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -479841,7 +479946,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
479841
479946
|
function getSemverPart(version3) {
|
|
479842
479947
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
479843
479948
|
}
|
|
479844
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.0.
|
|
479949
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.0.4+b41f3f3") {
|
|
479845
479950
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
|
|
479846
479951
|
if (!updatedVersion) {
|
|
479847
479952
|
return null;
|
|
@@ -479881,7 +479986,7 @@ function AutoUpdater({
|
|
|
479881
479986
|
return;
|
|
479882
479987
|
}
|
|
479883
479988
|
if (false) {}
|
|
479884
|
-
const currentVersion = "1.0.
|
|
479989
|
+
const currentVersion = "1.0.4+b41f3f3";
|
|
479885
479990
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
479886
479991
|
let latestVersion = await getLatestVersion(channel);
|
|
479887
479992
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -480094,12 +480199,12 @@ function NativeAutoUpdater({
|
|
|
480094
480199
|
logEvent("tengu_native_auto_updater_start", {});
|
|
480095
480200
|
try {
|
|
480096
480201
|
const maxVersion = await getMaxVersion();
|
|
480097
|
-
if (maxVersion && gt("1.0.
|
|
480202
|
+
if (maxVersion && gt("1.0.4+b41f3f3", maxVersion)) {
|
|
480098
480203
|
const msg = await getMaxVersionMessage();
|
|
480099
480204
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
480100
480205
|
}
|
|
480101
480206
|
const result = await installLatest(channel);
|
|
480102
|
-
const currentVersion = "1.0.
|
|
480207
|
+
const currentVersion = "1.0.4+b41f3f3";
|
|
480103
480208
|
const latencyMs = Date.now() - startTime;
|
|
480104
480209
|
if (result.lockFailed) {
|
|
480105
480210
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -480236,17 +480341,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480236
480341
|
const maxVersion = await getMaxVersion();
|
|
480237
480342
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
480238
480343
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
480239
|
-
if (gte("1.0.
|
|
480240
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.
|
|
480344
|
+
if (gte("1.0.4+b41f3f3", maxVersion)) {
|
|
480345
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.4+b41f3f3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
480241
480346
|
setUpdateAvailable(false);
|
|
480242
480347
|
return;
|
|
480243
480348
|
}
|
|
480244
480349
|
latest = maxVersion;
|
|
480245
480350
|
}
|
|
480246
|
-
const hasUpdate = latest && !gte("1.0.
|
|
480351
|
+
const hasUpdate = latest && !gte("1.0.4+b41f3f3", latest) && !shouldSkipVersion(latest);
|
|
480247
480352
|
setUpdateAvailable(!!hasUpdate);
|
|
480248
480353
|
if (hasUpdate) {
|
|
480249
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.
|
|
480354
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.4+b41f3f3"} -> ${latest}`);
|
|
480250
480355
|
}
|
|
480251
480356
|
};
|
|
480252
480357
|
$2[0] = t1;
|
|
@@ -480280,7 +480385,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
480280
480385
|
wrap: "truncate",
|
|
480281
480386
|
children: [
|
|
480282
480387
|
"currentVersion: ",
|
|
480283
|
-
"1.0.
|
|
480388
|
+
"1.0.4+b41f3f3"
|
|
480284
480389
|
]
|
|
480285
480390
|
}, undefined, true, undefined, this);
|
|
480286
480391
|
$2[3] = verbose;
|
|
@@ -488448,7 +488553,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
488448
488553
|
project_dir: getOriginalCwd(),
|
|
488449
488554
|
added_dirs: addedDirs
|
|
488450
488555
|
},
|
|
488451
|
-
version: "1.0.
|
|
488556
|
+
version: "1.0.4+b41f3f3",
|
|
488452
488557
|
output_style: {
|
|
488453
488558
|
name: outputStyleName
|
|
488454
488559
|
},
|
|
@@ -499845,7 +499950,7 @@ function RemoteCallout({
|
|
|
499845
499950
|
}, []);
|
|
499846
499951
|
const options2 = [{
|
|
499847
499952
|
label: "Enable Remote Control for this session",
|
|
499848
|
-
description: "Opens a secure connection to vivus.
|
|
499953
|
+
description: "Opens a secure connection to vivus.",
|
|
499849
499954
|
value: "enable"
|
|
499850
499955
|
}, {
|
|
499851
499956
|
label: "Never mind",
|
|
@@ -499864,7 +499969,7 @@ function RemoteCallout({
|
|
|
499864
499969
|
flexDirection: "column",
|
|
499865
499970
|
children: [
|
|
499866
499971
|
/* @__PURE__ */ jsx_dev_runtime445.jsxDEV(ThemedText, {
|
|
499867
|
-
children: "Remote Control lets you access this CLI session from the web (
|
|
499972
|
+
children: "Remote Control lets you access this CLI session from the web (github.com/wittyphantom333/vivus-code) or the Vivus app, so you can pick up where you left off on any device."
|
|
499868
499973
|
}, undefined, false, undefined, this),
|
|
499869
499974
|
/* @__PURE__ */ jsx_dev_runtime445.jsxDEV(ThemedText, {
|
|
499870
499975
|
children: " "
|
|
@@ -499932,7 +500037,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
499932
500037
|
} catch {}
|
|
499933
500038
|
const data = {
|
|
499934
500039
|
trigger,
|
|
499935
|
-
version: "1.0.
|
|
500040
|
+
version: "1.0.4+b41f3f3",
|
|
499936
500041
|
platform: process.platform,
|
|
499937
500042
|
transcript,
|
|
499938
500043
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -500763,7 +500868,7 @@ function TranscriptSharePrompt(t0) {
|
|
|
500763
500868
|
marginLeft: 2,
|
|
500764
500869
|
children: /* @__PURE__ */ jsx_dev_runtime446.jsxDEV(ThemedText, {
|
|
500765
500870
|
dimColor: true,
|
|
500766
|
-
children: "Learn more: https://
|
|
500871
|
+
children: "Learn more: https://github.com/wittyphantom333/vivus-code"
|
|
500767
500872
|
}, undefined, false, undefined, this)
|
|
500768
500873
|
}, undefined, false, undefined, this);
|
|
500769
500874
|
$2[7] = t4;
|
|
@@ -501179,7 +501284,7 @@ async function _temp205() {
|
|
|
501179
501284
|
key: "chrome-requires-subscription",
|
|
501180
501285
|
jsx: /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedText, {
|
|
501181
501286
|
color: "error",
|
|
501182
|
-
children: "Vivus in Chrome requires a vivus
|
|
501287
|
+
children: "Vivus in Chrome requires a vivus subscription"
|
|
501183
501288
|
}, undefined, false, undefined, this),
|
|
501184
501289
|
priority: "immediate",
|
|
501185
501290
|
timeoutMs: 5000
|
|
@@ -501191,7 +501296,7 @@ async function _temp205() {
|
|
|
501191
501296
|
key: "chrome-extension-not-detected",
|
|
501192
501297
|
jsx: /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedText, {
|
|
501193
501298
|
color: "warning",
|
|
501194
|
-
children: "Chrome extension not detected · https://
|
|
501299
|
+
children: "Chrome extension not detected · https://github.com/wittyphantom333/vivus-code to install"
|
|
501195
501300
|
}, undefined, false, undefined, this),
|
|
501196
501301
|
priority: "immediate",
|
|
501197
501302
|
timeoutMs: 3000
|
|
@@ -502180,7 +502285,7 @@ var init_tipRegistry = __esm(() => {
|
|
|
502180
502285
|
},
|
|
502181
502286
|
{
|
|
502182
502287
|
id: "desktop-app",
|
|
502183
|
-
content: async () => "Run Vivus locally or remotely using the Vivus desktop app:
|
|
502288
|
+
content: async () => "Run Vivus locally or remotely using the Vivus desktop app: github.com/wittyphantom333/vivus-code",
|
|
502184
502289
|
cooldownSessions: 15,
|
|
502185
502290
|
isRelevant: async () => getPlatform() !== "linux"
|
|
502186
502291
|
},
|
|
@@ -502199,7 +502304,7 @@ var init_tipRegistry = __esm(() => {
|
|
|
502199
502304
|
},
|
|
502200
502305
|
{
|
|
502201
502306
|
id: "web-app",
|
|
502202
|
-
content: async () => "Run tasks in the cloud while you keep coding locally ·
|
|
502307
|
+
content: async () => "Run tasks in the cloud while you keep coding locally · github.com/wittyphantom333/vivus-code",
|
|
502203
502308
|
cooldownSessions: 15,
|
|
502204
502309
|
isRelevant: async () => true
|
|
502205
502310
|
},
|
|
@@ -503715,7 +503820,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
503715
503820
|
color: "error",
|
|
503716
503821
|
children: [
|
|
503717
503822
|
failedVivusAiClients.length,
|
|
503718
|
-
" vivus
|
|
503823
|
+
" vivus",
|
|
503719
503824
|
" ",
|
|
503720
503825
|
failedVivusAiClients.length === 1 ? "connector" : "connectors",
|
|
503721
503826
|
" ",
|
|
@@ -503765,7 +503870,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
503765
503870
|
color: "warning",
|
|
503766
503871
|
children: [
|
|
503767
503872
|
needsAuthVivusAiServers.length,
|
|
503768
|
-
" vivus
|
|
503873
|
+
" vivus",
|
|
503769
503874
|
" ",
|
|
503770
503875
|
needsAuthVivusAiServers.length === 1 ? "connector needs" : "connectors need",
|
|
503771
503876
|
" ",
|
|
@@ -510941,6 +511046,14 @@ async function checkEndpoints() {
|
|
|
510941
511046
|
if (process.env.ANTHROPIC_BASE_URL || process.env.VIVUS_CODE_SKIP_PREFLIGHT) {
|
|
510942
511047
|
return { success: true };
|
|
510943
511048
|
}
|
|
511049
|
+
try {
|
|
511050
|
+
const probeConfig = getOauthConfig();
|
|
511051
|
+
if (!probeConfig.TOKEN_URL) {
|
|
511052
|
+
return { success: true };
|
|
511053
|
+
}
|
|
511054
|
+
} catch {
|
|
511055
|
+
return { success: true };
|
|
511056
|
+
}
|
|
510944
511057
|
try {
|
|
510945
511058
|
const oauthConfig = getOauthConfig();
|
|
510946
511059
|
const tokenUrl = new URL(oauthConfig.TOKEN_URL);
|
|
@@ -511061,7 +511174,7 @@ function PreflightStep(t0) {
|
|
|
511061
511174
|
children: [
|
|
511062
511175
|
/* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511063
511176
|
color: "error",
|
|
511064
|
-
children: "Unable to connect to
|
|
511177
|
+
children: "Unable to connect to upstream services"
|
|
511065
511178
|
}, undefined, false, undefined, this),
|
|
511066
511179
|
/* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511067
511180
|
color: "error",
|
|
@@ -511070,34 +511183,16 @@ function PreflightStep(t0) {
|
|
|
511070
511183
|
result?.sslHint ? /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedBox_default, {
|
|
511071
511184
|
flexDirection: "column",
|
|
511072
511185
|
gap: 1,
|
|
511073
|
-
children:
|
|
511074
|
-
|
|
511075
|
-
|
|
511076
|
-
|
|
511077
|
-
/* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511078
|
-
color: "suggestion",
|
|
511079
|
-
children: "See https://code.vivus.ai/docs/en/network-config"
|
|
511080
|
-
}, undefined, false, undefined, this)
|
|
511081
|
-
]
|
|
511082
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedBox_default, {
|
|
511186
|
+
children: /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511187
|
+
children: result.sslHint
|
|
511188
|
+
}, undefined, false, undefined, this)
|
|
511189
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedBox_default, {
|
|
511083
511190
|
flexDirection: "column",
|
|
511084
511191
|
gap: 1,
|
|
511085
|
-
children:
|
|
511086
|
-
|
|
511087
|
-
|
|
511088
|
-
|
|
511089
|
-
/* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511090
|
-
children: [
|
|
511091
|
-
"Note: Vivus might not be available in your country. Check supported countries at",
|
|
511092
|
-
" ",
|
|
511093
|
-
/* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511094
|
-
color: "suggestion",
|
|
511095
|
-
children: "https://anthropic.com/supported-countries"
|
|
511096
|
-
}, undefined, false, undefined, this)
|
|
511097
|
-
]
|
|
511098
|
-
}, undefined, true, undefined, this)
|
|
511099
|
-
]
|
|
511100
|
-
}, undefined, true, undefined, this)
|
|
511192
|
+
children: /* @__PURE__ */ jsx_dev_runtime473.jsxDEV(ThemedText, {
|
|
511193
|
+
children: "Please check your internet connection and network settings."
|
|
511194
|
+
}, undefined, false, undefined, this)
|
|
511195
|
+
}, undefined, false, undefined, this)
|
|
511101
511196
|
]
|
|
511102
511197
|
}, undefined, true, undefined, this);
|
|
511103
511198
|
$2[6] = isChecking;
|
|
@@ -511348,7 +511443,7 @@ function WelcomeV2() {
|
|
|
511348
511443
|
dimColor: true,
|
|
511349
511444
|
children: [
|
|
511350
511445
|
"v",
|
|
511351
|
-
"1.0.
|
|
511446
|
+
"1.0.4+b41f3f3",
|
|
511352
511447
|
" "
|
|
511353
511448
|
]
|
|
511354
511449
|
}, undefined, true, undefined, this)
|
|
@@ -511548,7 +511643,7 @@ function WelcomeV2() {
|
|
|
511548
511643
|
dimColor: true,
|
|
511549
511644
|
children: [
|
|
511550
511645
|
"v",
|
|
511551
|
-
"1.0.
|
|
511646
|
+
"1.0.4+b41f3f3",
|
|
511552
511647
|
" "
|
|
511553
511648
|
]
|
|
511554
511649
|
}, undefined, true, undefined, this)
|
|
@@ -511774,7 +511869,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
511774
511869
|
dimColor: true,
|
|
511775
511870
|
children: [
|
|
511776
511871
|
"v",
|
|
511777
|
-
"1.0.
|
|
511872
|
+
"1.0.4+b41f3f3",
|
|
511778
511873
|
" "
|
|
511779
511874
|
]
|
|
511780
511875
|
}, undefined, true, undefined, this);
|
|
@@ -512028,7 +512123,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
512028
512123
|
dimColor: true,
|
|
512029
512124
|
children: [
|
|
512030
512125
|
"v",
|
|
512031
|
-
"1.0.
|
|
512126
|
+
"1.0.4+b41f3f3",
|
|
512032
512127
|
" "
|
|
512033
512128
|
]
|
|
512034
512129
|
}, undefined, true, undefined, this);
|
|
@@ -512513,7 +512608,7 @@ function Onboarding({
|
|
|
512513
512608
|
"For more details see:",
|
|
512514
512609
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
512515
512610
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(Link, {
|
|
512516
|
-
url: "https://
|
|
512611
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
512517
512612
|
}, undefined, false, undefined, this)
|
|
512518
512613
|
]
|
|
512519
512614
|
}, undefined, true, undefined, this)
|
|
@@ -513096,7 +513191,7 @@ function TrustDialog(t0) {
|
|
|
513096
513191
|
t19 = /* @__PURE__ */ jsx_dev_runtime479.jsxDEV(ThemedText, {
|
|
513097
513192
|
dimColor: true,
|
|
513098
513193
|
children: /* @__PURE__ */ jsx_dev_runtime479.jsxDEV(Link, {
|
|
513099
|
-
url: "https://
|
|
513194
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
513100
513195
|
children: "Security guide"
|
|
513101
513196
|
}, undefined, false, undefined, this)
|
|
513102
513197
|
}, undefined, false, undefined, this);
|
|
@@ -513281,7 +513376,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
513281
513376
|
children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
|
|
513282
513377
|
}, undefined, false, undefined, this),
|
|
513283
513378
|
/* @__PURE__ */ jsx_dev_runtime480.jsxDEV(Link, {
|
|
513284
|
-
url: "https://
|
|
513379
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
513285
513380
|
}, undefined, false, undefined, this)
|
|
513286
513381
|
]
|
|
513287
513382
|
}, undefined, true, undefined, this);
|
|
@@ -513467,7 +513562,7 @@ function VivusInChromeOnboarding(t0) {
|
|
|
513467
513562
|
" ",
|
|
513468
513563
|
"or visit ",
|
|
513469
513564
|
/* @__PURE__ */ jsx_dev_runtime481.jsxDEV(Link, {
|
|
513470
|
-
url: "https://
|
|
513565
|
+
url: "https://github.com/wittyphantom333/vivus-code"
|
|
513471
513566
|
}, undefined, false, undefined, this)
|
|
513472
513567
|
]
|
|
513473
513568
|
}, undefined, true, undefined, this);
|
|
@@ -513514,7 +513609,7 @@ function _temp306(current) {
|
|
|
513514
513609
|
hasCompletedVivusInChromeOnboarding: true
|
|
513515
513610
|
};
|
|
513516
513611
|
}
|
|
513517
|
-
var import_compiler_runtime380, import_react326, jsx_dev_runtime481, CHROME_EXTENSION_URL2 = "https://
|
|
513612
|
+
var import_compiler_runtime380, import_react326, jsx_dev_runtime481, CHROME_EXTENSION_URL2 = "https://github.com/wittyphantom333/vivus-code", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
|
|
513518
513613
|
var init_VivusInChromeOnboarding = __esm(() => {
|
|
513519
513614
|
init_analytics();
|
|
513520
513615
|
init_ink2();
|
|
@@ -515092,7 +515187,7 @@ function appendToLog(path25, message) {
|
|
|
515092
515187
|
cwd: getFsImplementation().cwd(),
|
|
515093
515188
|
userType: process.env.USER_TYPE,
|
|
515094
515189
|
sessionId: getSessionId(),
|
|
515095
|
-
version: "1.0.
|
|
515190
|
+
version: "1.0.4+b41f3f3"
|
|
515096
515191
|
};
|
|
515097
515192
|
getLogWriter(path25).write(messageWithTimestamp);
|
|
515098
515193
|
}
|
|
@@ -519077,8 +519172,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
519077
519172
|
}
|
|
519078
519173
|
async function checkEnvLessBridgeMinVersion() {
|
|
519079
519174
|
const cfg = await getEnvLessBridgeConfig();
|
|
519080
|
-
if (cfg.min_version && lt("1.0.
|
|
519081
|
-
return `Your version of Vivus (${"1.0.
|
|
519175
|
+
if (cfg.min_version && lt("1.0.4+b41f3f3", cfg.min_version)) {
|
|
519176
|
+
return `Your version of Vivus (${"1.0.4+b41f3f3"}) is too old for Remote Control.
|
|
519082
519177
|
Version ${cfg.min_version} or higher is required. Run \`vivus update\` to update.`;
|
|
519083
519178
|
}
|
|
519084
519179
|
return null;
|
|
@@ -519552,7 +519647,7 @@ async function initBridgeCore(params) {
|
|
|
519552
519647
|
const rawApi = createBridgeApiClient({
|
|
519553
519648
|
baseUrl,
|
|
519554
519649
|
getAccessToken,
|
|
519555
|
-
runnerVersion: "1.0.
|
|
519650
|
+
runnerVersion: "1.0.4+b41f3f3",
|
|
519556
519651
|
onDebug: logForDebugging,
|
|
519557
519652
|
onAuth401,
|
|
519558
519653
|
getTrustedDeviceToken
|
|
@@ -525216,7 +525311,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
525216
525311
|
setCwd(cwd3);
|
|
525217
525312
|
const server = new Server({
|
|
525218
525313
|
name: "vivus/tengu",
|
|
525219
|
-
version: "1.0.
|
|
525314
|
+
version: "1.0.4+b41f3f3"
|
|
525220
525315
|
}, {
|
|
525221
525316
|
capabilities: {
|
|
525222
525317
|
tools: {}
|
|
@@ -526827,7 +526922,7 @@ __export(exports_update, {
|
|
|
526827
526922
|
});
|
|
526828
526923
|
async function update() {
|
|
526829
526924
|
logEvent("tengu_update_check", {});
|
|
526830
|
-
writeToStdout(`Current version: ${"1.0.
|
|
526925
|
+
writeToStdout(`Current version: ${"1.0.4+b41f3f3"}
|
|
526831
526926
|
`);
|
|
526832
526927
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
526833
526928
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -526902,8 +526997,8 @@ async function update() {
|
|
|
526902
526997
|
writeToStdout(`Vivus is managed by Homebrew.
|
|
526903
526998
|
`);
|
|
526904
526999
|
const latest = await getLatestVersion(channel);
|
|
526905
|
-
if (latest && !gte("1.0.
|
|
526906
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527000
|
+
if (latest && !gte("1.0.4+b41f3f3", latest)) {
|
|
527001
|
+
writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
|
|
526907
527002
|
`);
|
|
526908
527003
|
writeToStdout(`
|
|
526909
527004
|
`);
|
|
@@ -526919,8 +527014,8 @@ async function update() {
|
|
|
526919
527014
|
writeToStdout(`Vivus is managed by winget.
|
|
526920
527015
|
`);
|
|
526921
527016
|
const latest = await getLatestVersion(channel);
|
|
526922
|
-
if (latest && !gte("1.0.
|
|
526923
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527017
|
+
if (latest && !gte("1.0.4+b41f3f3", latest)) {
|
|
527018
|
+
writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
|
|
526924
527019
|
`);
|
|
526925
527020
|
writeToStdout(`
|
|
526926
527021
|
`);
|
|
@@ -526936,8 +527031,8 @@ async function update() {
|
|
|
526936
527031
|
writeToStdout(`Vivus is managed by apk.
|
|
526937
527032
|
`);
|
|
526938
527033
|
const latest = await getLatestVersion(channel);
|
|
526939
|
-
if (latest && !gte("1.0.
|
|
526940
|
-
writeToStdout(`Update available: ${"1.0.
|
|
527034
|
+
if (latest && !gte("1.0.4+b41f3f3", latest)) {
|
|
527035
|
+
writeToStdout(`Update available: ${"1.0.4+b41f3f3"} → ${latest}
|
|
526941
527036
|
`);
|
|
526942
527037
|
writeToStdout(`
|
|
526943
527038
|
`);
|
|
@@ -527002,11 +527097,11 @@ async function update() {
|
|
|
527002
527097
|
`);
|
|
527003
527098
|
await gracefulShutdown(1);
|
|
527004
527099
|
}
|
|
527005
|
-
if (result.latestVersion === "1.0.
|
|
527006
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.
|
|
527100
|
+
if (result.latestVersion === "1.0.4+b41f3f3") {
|
|
527101
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.4+b41f3f3"})`) + `
|
|
527007
527102
|
`);
|
|
527008
527103
|
} else {
|
|
527009
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.0.
|
|
527104
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.4+b41f3f3"} to version ${result.latestVersion}`) + `
|
|
527010
527105
|
`);
|
|
527011
527106
|
await regenerateCompletionCache();
|
|
527012
527107
|
}
|
|
@@ -527063,12 +527158,12 @@ async function update() {
|
|
|
527063
527158
|
`);
|
|
527064
527159
|
await gracefulShutdown(1);
|
|
527065
527160
|
}
|
|
527066
|
-
if (latestVersion === "1.0.
|
|
527067
|
-
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.
|
|
527161
|
+
if (latestVersion === "1.0.4+b41f3f3") {
|
|
527162
|
+
writeToStdout(source_default.green(`Vivus is up to date (${"1.0.4+b41f3f3"})`) + `
|
|
527068
527163
|
`);
|
|
527069
527164
|
await gracefulShutdown(0);
|
|
527070
527165
|
}
|
|
527071
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.
|
|
527166
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.4+b41f3f3"})
|
|
527072
527167
|
`);
|
|
527073
527168
|
writeToStdout(`Installing update...
|
|
527074
527169
|
`);
|
|
@@ -527113,7 +527208,7 @@ async function update() {
|
|
|
527113
527208
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
527114
527209
|
switch (status2) {
|
|
527115
527210
|
case "success":
|
|
527116
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.0.
|
|
527211
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.4+b41f3f3"} to version ${latestVersion}`) + `
|
|
527117
527212
|
`);
|
|
527118
527213
|
await regenerateCompletionCache();
|
|
527119
527214
|
break;
|
|
@@ -527681,7 +527776,7 @@ function MCPServerDialogCopy() {
|
|
|
527681
527776
|
"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the",
|
|
527682
527777
|
" ",
|
|
527683
527778
|
/* @__PURE__ */ jsx_dev_runtime469.jsxDEV(Link, {
|
|
527684
|
-
url: "https://
|
|
527779
|
+
url: "https://github.com/wittyphantom333/vivus-code",
|
|
527685
527780
|
children: "MCP documentation"
|
|
527686
527781
|
}, undefined, false, undefined, this),
|
|
527687
527782
|
"."
|
|
@@ -528083,7 +528178,7 @@ function completeOnboarding() {
|
|
|
528083
528178
|
saveGlobalConfig((current) => ({
|
|
528084
528179
|
...current,
|
|
528085
528180
|
hasCompletedOnboarding: true,
|
|
528086
|
-
lastOnboardingVersion: "1.0.
|
|
528181
|
+
lastOnboardingVersion: "1.0.4+b41f3f3"
|
|
528087
528182
|
}));
|
|
528088
528183
|
}
|
|
528089
528184
|
function showDialog(root2, renderer) {
|
|
@@ -528809,7 +528904,7 @@ function generateReservedShortcuts() {
|
|
|
528809
528904
|
}
|
|
528810
528905
|
var FILE_FORMAT_EXAMPLE = {
|
|
528811
528906
|
$schema: "https://www.schemastore.org/vivus-keybindings.json",
|
|
528812
|
-
$docs: "https://
|
|
528907
|
+
$docs: "https://github.com/wittyphantom333/vivus-code",
|
|
528813
528908
|
bindings: [
|
|
528814
528909
|
{
|
|
528815
528910
|
context: "Chat",
|
|
@@ -531780,7 +531875,7 @@ ${hint}` : hint;
|
|
|
531780
531875
|
blocked
|
|
531781
531876
|
} = filterMcpServersByPolicy(configs);
|
|
531782
531877
|
if (blocked.length > 0) {
|
|
531783
|
-
process.stderr.write(`Warning: vivus
|
|
531878
|
+
process.stderr.write(`Warning: vivus MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
|
|
531784
531879
|
`);
|
|
531785
531880
|
}
|
|
531786
531881
|
return allowed;
|
|
@@ -532172,7 +532267,7 @@ ${customInstructions}` : customInstructions;
|
|
|
532172
532267
|
}
|
|
532173
532268
|
}
|
|
532174
532269
|
logForDiagnosticsNoPII("info", "started", {
|
|
532175
|
-
version: "1.0.
|
|
532270
|
+
version: "1.0.4+b41f3f3",
|
|
532176
532271
|
is_native_binary: isInBundledMode()
|
|
532177
532272
|
});
|
|
532178
532273
|
registerCleanup(async () => {
|
|
@@ -532337,7 +532432,7 @@ ${customInstructions}` : customInstructions;
|
|
|
532337
532432
|
suppressed.add(name);
|
|
532338
532433
|
}
|
|
532339
532434
|
if (suppressed.size > 0) {
|
|
532340
|
-
logForDebugging(`[MCP] Lazy dedup: suppressing ${suppressed.size} plugin server(s) that duplicate vivus
|
|
532435
|
+
logForDebugging(`[MCP] Lazy dedup: suppressing ${suppressed.size} plugin server(s) that duplicate vivus connectors: ${[...suppressed].join(", ")}`);
|
|
532341
532436
|
for (const c4 of headlessStore.getState().mcp.clients) {
|
|
532342
532437
|
if (!suppressed.has(c4.name) || c4.type !== "connected")
|
|
532343
532438
|
continue;
|
|
@@ -532383,7 +532478,7 @@ ${customInstructions}` : customInstructions;
|
|
|
532383
532478
|
if (vivusaiTimer)
|
|
532384
532479
|
clearTimeout(vivusaiTimer);
|
|
532385
532480
|
if (vivusaiTimedOut) {
|
|
532386
|
-
logForDebugging(`[MCP] vivus
|
|
532481
|
+
logForDebugging(`[MCP] vivus connectors not ready after ${VIVUS_AI_MCP_TIMEOUT_MS}ms — proceeding; background connection continues`);
|
|
532387
532482
|
}
|
|
532388
532483
|
profileCheckpoint("after_connectMcp_vivusai");
|
|
532389
532484
|
if (!isBareMode()) {
|
|
@@ -532956,7 +533051,7 @@ Usage: vivus --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
532956
533051
|
pendingHookMessages
|
|
532957
533052
|
}, renderAndRun);
|
|
532958
533053
|
}
|
|
532959
|
-
}).version("1.0.
|
|
533054
|
+
}).version("1.0.4+b41f3f3 (Vivus)", "-v, --version", "Output the version number");
|
|
532960
533055
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
532961
533056
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
532962
533057
|
if (canUserConfigureAdvisor()) {
|