vivekmind 0.15.7 → 1.0.1
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/LICENSE +1 -2
- package/README.md +34 -15
- package/bundled/qc-helper/SKILL.md +2 -2
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +18 -18
- package/cli.js +330 -267
- package/locales/ca.js +10 -10
- package/locales/de.js +10 -10
- package/locales/en.js +10 -10
- package/locales/fr.js +8 -8
- package/locales/ja.js +8 -8
- package/locales/pt.js +10 -10
- package/locales/ru.js +10 -10
- package/locales/zh-TW.js +10 -10
- package/locales/zh.js +10 -10
- package/package.json +2 -2
package/cli.js
CHANGED
|
@@ -147301,7 +147301,7 @@ var init_models = __esm({
|
|
|
147301
147301
|
DEFAULT_VIVEKMIND_MODEL = "coder-model";
|
|
147302
147302
|
DEFAULT_VIVEKMIND_FLASH_MODEL = "coder-model";
|
|
147303
147303
|
DEFAULT_VIVEKMIND_EMBEDDING_MODEL = "text-embedding-v4";
|
|
147304
|
-
MAINLINE_CODER_MODEL = "
|
|
147304
|
+
MAINLINE_CODER_MODEL = "vivekmind3.5-plus";
|
|
147305
147305
|
}
|
|
147306
147306
|
});
|
|
147307
147307
|
|
|
@@ -147313,10 +147313,10 @@ function normalize3(model) {
|
|
|
147313
147313
|
if (s5.includes(":") && !s5.match(/-v\d+:\d+$/)) {
|
|
147314
147314
|
s5 = s5.split(":").pop() ?? s5;
|
|
147315
147315
|
}
|
|
147316
|
-
s5 = s5.replace(/^(?:us\.|eu\.|ap\.)?(?:anthropic|meta|mistral|cohere|amazon|deepseek|
|
|
147316
|
+
s5 = s5.replace(/^(?:us\.|eu\.|ap\.)?(?:anthropic|meta|mistral|cohere|amazon|deepseek|vivekmind|zai|ai21|twelvelabs|writer|google)\./, "");
|
|
147317
147317
|
s5 = s5.replace(/\s+/g, "-");
|
|
147318
147318
|
s5 = s5.replace(/-preview/g, "");
|
|
147319
|
-
if (!s5.match(/^
|
|
147319
|
+
if (!s5.match(/^vivekmind-(?:plus|flash|vl-max)-latest$/) && !s5.match(/^kimi-k2-\d{4}$/)) {
|
|
147320
147320
|
s5 = s5.replace(/-(?:\d{4,}|\d+x\d+b|v\d+(?:\.\d+)*|(?<=-[^-]+-)\d+(?:\.\d+)+|latest|exp)$/g, "");
|
|
147321
147321
|
}
|
|
147322
147322
|
s5 = s5.replace(/-(?:\d?bit|int[48]|bf16|fp16|q[45]|quantized)$/g, "");
|
|
@@ -147415,17 +147415,17 @@ var init_tokenLimits = __esm({
|
|
|
147415
147415
|
// Alibaba / VivekMind
|
|
147416
147416
|
// -------------------
|
|
147417
147417
|
// Commercial API models (1,000,000 context)
|
|
147418
|
-
[/^
|
|
147419
|
-
[/^
|
|
147420
|
-
[/^
|
|
147421
|
-
[/^
|
|
147418
|
+
[/^vivekmind3-coder/, LIMITS["1m"]],
|
|
147419
|
+
[/^vivekmind3\.\d/, LIMITS["1m"]],
|
|
147420
|
+
[/^vivekmind-plus-latest$/, LIMITS["1m"]],
|
|
147421
|
+
[/^vivekmind-flash-latest$/, LIMITS["1m"]],
|
|
147422
147422
|
[/^coder-model$/, LIMITS["1m"]],
|
|
147423
147423
|
// Commercial API models (256K context)
|
|
147424
|
-
[/^
|
|
147425
|
-
// Open-source
|
|
147426
|
-
[/^
|
|
147424
|
+
[/^vivekmind3-max/, LIMITS["256k"]],
|
|
147425
|
+
// Open-source VivekMind3 variants: 256K native
|
|
147426
|
+
[/^vivekmind3-coder-/, LIMITS["256k"]],
|
|
147427
147427
|
// VivekMind fallback (VL, turbo, plus, 2.5, etc.): 128K
|
|
147428
|
-
[/^
|
|
147428
|
+
[/^vivekmind/, LIMITS["256k"]],
|
|
147429
147429
|
// -------------------
|
|
147430
147430
|
// DeepSeek
|
|
147431
147431
|
// -------------------
|
|
@@ -147531,10 +147531,10 @@ var init_tokenLimits = __esm({
|
|
|
147531
147531
|
[/^claude-/, LIMITS["64k"]],
|
|
147532
147532
|
// Claude fallback: 64K
|
|
147533
147533
|
// Alibaba / VivekMind
|
|
147534
|
-
[/^
|
|
147535
|
-
[/^
|
|
147534
|
+
[/^vivekmind3-coder/, LIMITS["64k"]],
|
|
147535
|
+
[/^vivekmind3\.\d/, LIMITS["64k"]],
|
|
147536
147536
|
[/^coder-model$/, LIMITS["64k"]],
|
|
147537
|
-
[/^
|
|
147537
|
+
[/^vivekmind/, LIMITS["32k"]],
|
|
147538
147538
|
// VivekMind fallback (VL, turbo, plus, etc.): 8K
|
|
147539
147539
|
// DeepSeek
|
|
147540
147540
|
[/^v3\.2/, LIMITS["8k"]],
|
|
@@ -147610,16 +147610,16 @@ var init_modalityDefaults = __esm({
|
|
|
147610
147610
|
// -------------------
|
|
147611
147611
|
// Alibaba / VivekMind
|
|
147612
147612
|
// -------------------
|
|
147613
|
-
//
|
|
147614
|
-
[/^
|
|
147615
|
-
[/^
|
|
147613
|
+
// VivekMind3.5-Plus, VivekMind3.6-Plus: image + video support
|
|
147614
|
+
[/^vivekmind3\.5-plus/, { image: true, video: true }],
|
|
147615
|
+
[/^vivekmind3\.6-plus/, { image: true, video: true }],
|
|
147616
147616
|
[/^coder-model$/, { image: true, video: true }],
|
|
147617
147617
|
// VivekMind VL (vision-language) models: image + video
|
|
147618
|
-
[/^
|
|
147619
|
-
[/^
|
|
147618
|
+
[/^vivekmind-vl-/, { image: true, video: true }],
|
|
147619
|
+
[/^vivekmind3-vl-/, { image: true, video: true }],
|
|
147620
147620
|
// VivekMind coder / text models: text-only
|
|
147621
|
-
[/^
|
|
147622
|
-
[/^
|
|
147621
|
+
[/^vivekmind3-coder-/, {}],
|
|
147622
|
+
[/^vivekmind/, {}],
|
|
147623
147623
|
// -------------------
|
|
147624
147624
|
// DeepSeek — text-only
|
|
147625
147625
|
// -------------------
|
|
@@ -156609,7 +156609,7 @@ var init_default = __esm({
|
|
|
156609
156609
|
}
|
|
156610
156610
|
buildHeaders() {
|
|
156611
156611
|
const version2 = this.cliConfig.getCliVersion() || "unknown";
|
|
156612
|
-
const userAgent2 = `
|
|
156612
|
+
const userAgent2 = `VivekMindCode/${version2} (${process.platform}; ${process.arch})`;
|
|
156613
156613
|
const { customHeaders } = this.contentGeneratorConfig;
|
|
156614
156614
|
const defaultHeaders = {
|
|
156615
156615
|
"User-Agent": userAgent2
|
|
@@ -156765,7 +156765,7 @@ var init_dashscope = __esm({
|
|
|
156765
156765
|
}
|
|
156766
156766
|
buildHeaders() {
|
|
156767
156767
|
const version2 = this.cliConfig.getCliVersion() || "unknown";
|
|
156768
|
-
const userAgent2 = `
|
|
156768
|
+
const userAgent2 = `VivekMindCode/${version2} (${process.platform}; ${process.arch})`;
|
|
156769
156769
|
const { authType, customHeaders } = this.contentGeneratorConfig;
|
|
156770
156770
|
const defaultHeaders = {
|
|
156771
156771
|
"User-Agent": userAgent2,
|
|
@@ -156921,12 +156921,12 @@ var init_dashscope = __esm({
|
|
|
156921
156921
|
*/
|
|
156922
156922
|
static VISION_MODEL_EXACT_MATCHES = /* @__PURE__ */ new Set(["coder-model"]);
|
|
156923
156923
|
static VISION_MODEL_PREFIX_PATTERNS = [
|
|
156924
|
-
"
|
|
156925
|
-
//
|
|
156926
|
-
"
|
|
156927
|
-
//
|
|
156928
|
-
"
|
|
156929
|
-
//
|
|
156924
|
+
"vivekmind-vl",
|
|
156925
|
+
// vivekmind-vl-max, vivekmind-vl-max-latest, etc.
|
|
156926
|
+
"vivekmind3-vl-plus",
|
|
156927
|
+
// vivekmind3-vl-plus variants
|
|
156928
|
+
"vivekmind3.5-plus"
|
|
156929
|
+
// vivekmind3.5-plus (has built-in vision capabilities)
|
|
156930
156930
|
];
|
|
156931
156931
|
isVisionModel(model) {
|
|
156932
156932
|
if (!model) {
|
|
@@ -172266,7 +172266,7 @@ var init_converter2 = __esm({
|
|
|
172266
172266
|
* Should be paired with `fillMissingThinkingSignatures` running first
|
|
172267
172267
|
* so that signature-less `thinking` blocks become compliant in place
|
|
172268
172268
|
* (preserving their original text), and this pass then sees them as
|
|
172269
|
-
* already-satisfying. https://github.com/
|
|
172269
|
+
* already-satisfying. https://github.com/VivekMindLM/vivekmind-cli/issues/3786
|
|
172270
172270
|
*/
|
|
172271
172271
|
injectEmptyThinkingOnToolUseTurns(messages) {
|
|
172272
172272
|
for (const message of messages) {
|
|
@@ -172426,7 +172426,7 @@ var init_anthropicContentGenerator = __esm({
|
|
|
172426
172426
|
}
|
|
172427
172427
|
buildHeaders() {
|
|
172428
172428
|
const version2 = this.cliConfig.getCliVersion() || "unknown";
|
|
172429
|
-
const userAgent2 = `
|
|
172429
|
+
const userAgent2 = `VivekMindCode/${version2} (${process.platform}; ${process.arch})`;
|
|
172430
172430
|
const { customHeaders } = this.contentGeneratorConfig;
|
|
172431
172431
|
const headers = { "User-Agent": userAgent2 };
|
|
172432
172432
|
if (customHeaders) {
|
|
@@ -172983,8 +172983,8 @@ __export(geminiContentGenerator_exports, {
|
|
|
172983
172983
|
createGeminiContentGenerator: () => createGeminiContentGenerator
|
|
172984
172984
|
});
|
|
172985
172985
|
function createGeminiContentGenerator(config2, gcConfig) {
|
|
172986
|
-
const version2 = "0.
|
|
172987
|
-
const userAgent2 = config2.userAgent || `
|
|
172986
|
+
const version2 = "1.0.1";
|
|
172987
|
+
const userAgent2 = config2.userAgent || `VivekMindCode/${version2} (${process.platform}; ${process.arch})`;
|
|
172988
172988
|
const baseHeaders = {
|
|
172989
172989
|
"User-Agent": userAgent2
|
|
172990
172990
|
};
|
|
@@ -203080,11 +203080,11 @@ var init_pricing = __esm({
|
|
|
203080
203080
|
"deepseek.v3.2": { inputPer1K: 14e-5, outputPer1K: 28e-5 },
|
|
203081
203081
|
"deepseek.r1-v1:0": { inputPer1K: 55e-5, outputPer1K: 219e-5 },
|
|
203082
203082
|
// VivekMind
|
|
203083
|
-
"
|
|
203084
|
-
"
|
|
203085
|
-
"
|
|
203086
|
-
"
|
|
203087
|
-
"
|
|
203083
|
+
"vivekmind.vivekmind3-coder-next": { inputPer1K: 3e-4, outputPer1K: 1e-3 },
|
|
203084
|
+
"vivekmind.vivekmind3-next-80b-a3b": { inputPer1K: 5e-4, outputPer1K: 15e-4 },
|
|
203085
|
+
"vivekmind.vivekmind3-32b-v1:0": { inputPer1K: 15e-5, outputPer1K: 45e-5 },
|
|
203086
|
+
"vivekmind.vivekmind3-vl-235b-a22b": { inputPer1K: 1e-3, outputPer1K: 3e-3 },
|
|
203087
|
+
"vivekmind.vivekmind3-coder-30b-a3b-v1:0": { inputPer1K: 15e-5, outputPer1K: 45e-5 },
|
|
203088
203088
|
// Z.AI (GLM)
|
|
203089
203089
|
"zai.glm-4.7-flash": { inputPer1K: 5e-5, outputPer1K: 5e-5 },
|
|
203090
203090
|
"zai.glm-5": { inputPer1K: 1e-3, outputPer1K: 3e-3 },
|
|
@@ -203095,7 +203095,7 @@ var init_pricing = __esm({
|
|
|
203095
203095
|
});
|
|
203096
203096
|
|
|
203097
203097
|
// packages/core/src/core/bedrockContentGenerator/bedrockContentGenerator.js
|
|
203098
|
-
var import_client_bedrock_runtime, debugLogger21, BedrockContentGenerator;
|
|
203098
|
+
var import_client_bedrock_runtime, DUMMY_TOOL, debugLogger21, BedrockContentGenerator;
|
|
203099
203099
|
var init_bedrockContentGenerator = __esm({
|
|
203100
203100
|
"packages/core/src/core/bedrockContentGenerator/bedrockContentGenerator.js"() {
|
|
203101
203101
|
"use strict";
|
|
@@ -203107,6 +203107,18 @@ var init_bedrockContentGenerator = __esm({
|
|
|
203107
203107
|
init_safeJsonParse();
|
|
203108
203108
|
init_debugLogger();
|
|
203109
203109
|
init_tokenLimits();
|
|
203110
|
+
DUMMY_TOOL = {
|
|
203111
|
+
toolSpec: {
|
|
203112
|
+
name: "dummy_tool_prevent_validation_error",
|
|
203113
|
+
description: "A placeholder tool to satisfy AWS Bedrock requirements when conversation history contains tool blocks.",
|
|
203114
|
+
inputSchema: {
|
|
203115
|
+
json: {
|
|
203116
|
+
type: "object",
|
|
203117
|
+
properties: {}
|
|
203118
|
+
}
|
|
203119
|
+
}
|
|
203120
|
+
}
|
|
203121
|
+
};
|
|
203110
203122
|
debugLogger21 = createDebugLogger("BEDROCK");
|
|
203111
203123
|
BedrockContentGenerator = class {
|
|
203112
203124
|
static {
|
|
@@ -203139,12 +203151,15 @@ var init_bedrockContentGenerator = __esm({
|
|
|
203139
203151
|
const modelId = this.contentGeneratorConfig.model;
|
|
203140
203152
|
const { messages, system } = this.converter.convertGeminiRequestToConverse(request4);
|
|
203141
203153
|
const toolConfig = request4.config?.tools ? await this.converter.convertGeminiToolsToConverse(request4.config.tools) : void 0;
|
|
203154
|
+
const hasToolUseOrToolResult = messages.some(
|
|
203155
|
+
(msg) => msg.content?.some((block2) => "toolUse" in block2 || "toolResult" in block2)
|
|
203156
|
+
);
|
|
203142
203157
|
const inferenceConfig = this.buildInferenceConfig(request4);
|
|
203143
203158
|
const command2 = new import_client_bedrock_runtime.ConverseCommand({
|
|
203144
203159
|
modelId,
|
|
203145
203160
|
messages,
|
|
203146
203161
|
system,
|
|
203147
|
-
toolConfig: toolConfig && toolConfig.tools && toolConfig.tools.length > 0 ? toolConfig : void 0,
|
|
203162
|
+
toolConfig: toolConfig && toolConfig.tools && toolConfig.tools.length > 0 ? toolConfig : hasToolUseOrToolResult ? { tools: [DUMMY_TOOL] } : void 0,
|
|
203148
203163
|
inferenceConfig
|
|
203149
203164
|
});
|
|
203150
203165
|
debugLogger21.info(`Converse request: model=${modelId}, messages=${messages.length}`);
|
|
@@ -203162,12 +203177,15 @@ var init_bedrockContentGenerator = __esm({
|
|
|
203162
203177
|
const modelId = this.contentGeneratorConfig.model;
|
|
203163
203178
|
const { messages, system } = this.converter.convertGeminiRequestToConverse(request4);
|
|
203164
203179
|
const toolConfig = request4.config?.tools ? await this.converter.convertGeminiToolsToConverse(request4.config.tools) : void 0;
|
|
203180
|
+
const hasToolUseOrToolResult = messages.some(
|
|
203181
|
+
(msg) => msg.content?.some((block2) => "toolUse" in block2 || "toolResult" in block2)
|
|
203182
|
+
);
|
|
203165
203183
|
const inferenceConfig = this.buildInferenceConfig(request4);
|
|
203166
203184
|
const command2 = new import_client_bedrock_runtime.ConverseStreamCommand({
|
|
203167
203185
|
modelId,
|
|
203168
203186
|
messages,
|
|
203169
203187
|
system,
|
|
203170
|
-
toolConfig: toolConfig && toolConfig.tools && toolConfig.tools.length > 0 ? toolConfig : void 0,
|
|
203188
|
+
toolConfig: toolConfig && toolConfig.tools && toolConfig.tools.length > 0 ? toolConfig : hasToolUseOrToolResult ? { tools: [DUMMY_TOOL] } : void 0,
|
|
203171
203189
|
inferenceConfig
|
|
203172
203190
|
});
|
|
203173
203191
|
debugLogger21.info(`ConverseStream request: model=${modelId}, messages=${messages.length}`);
|
|
@@ -203535,7 +203553,7 @@ function isGenericQuotaExceededError(error41) {
|
|
|
203535
203553
|
}
|
|
203536
203554
|
return false;
|
|
203537
203555
|
}
|
|
203538
|
-
function
|
|
203556
|
+
function isVivekMindQuotaExceededError(error41) {
|
|
203539
203557
|
if (typeof error41 !== "object" || error41 === null) {
|
|
203540
203558
|
return false;
|
|
203541
203559
|
}
|
|
@@ -203550,7 +203568,7 @@ var init_quotaErrorDetection = __esm({
|
|
|
203550
203568
|
__name(isStructuredError, "isStructuredError");
|
|
203551
203569
|
__name(isProQuotaExceededError, "isProQuotaExceededError");
|
|
203552
203570
|
__name(isGenericQuotaExceededError, "isGenericQuotaExceededError");
|
|
203553
|
-
__name(
|
|
203571
|
+
__name(isVivekMindQuotaExceededError, "isVivekMindQuotaExceededError");
|
|
203554
203572
|
}
|
|
203555
203573
|
});
|
|
203556
203574
|
|
|
@@ -203618,7 +203636,7 @@ async function retryWithBackoff(fn, options2) {
|
|
|
203618
203636
|
return result;
|
|
203619
203637
|
} catch (error41) {
|
|
203620
203638
|
const errorStatus = getErrorStatus(error41);
|
|
203621
|
-
if (authType === AuthType2.VIVEKMIND_OAUTH &&
|
|
203639
|
+
if (authType === AuthType2.VIVEKMIND_OAUTH && isVivekMindQuotaExceededError(error41)) {
|
|
203622
203640
|
throw new Error(`VivekMind OAuth free tier has been discontinued as of 2026-04-15.
|
|
203623
203641
|
|
|
203624
203642
|
To continue using VivekMind, try one of these alternatives:
|
|
@@ -207083,7 +207101,7 @@ This error was probably caused by cyclic schema references in one of the followi
|
|
|
207083
207101
|
}
|
|
207084
207102
|
if (chunk.usageMetadata) {
|
|
207085
207103
|
usageMetadata = chunk.usageMetadata;
|
|
207086
|
-
const lastPromptTokenCount = usageMetadata.
|
|
207104
|
+
const lastPromptTokenCount = usageMetadata.promptTokenCount || usageMetadata.totalTokenCount;
|
|
207087
207105
|
if (lastPromptTokenCount && this.telemetryService) {
|
|
207088
207106
|
this.telemetryService.setLastPromptTokenCount(lastPromptTokenCount);
|
|
207089
207107
|
}
|
|
@@ -207446,7 +207464,7 @@ function getActionsSection() {
|
|
|
207446
207464
|
return `
|
|
207447
207465
|
# Executing actions with care
|
|
207448
207466
|
|
|
207449
|
-
Carefully consider the reversibility and blast radius of actions. Generally you can freely take local, reversible actions like editing files or running tests. But for actions that are hard to reverse, affect shared systems beyond your local environment, or could otherwise be risky or destructive, check with the user before proceeding. The cost of pausing to confirm is low, while the cost of an unwanted action (lost work, unintended messages sent, deleted branches) can be very high. For actions like these, consider the context, the action, and user instructions, and by default transparently communicate the action and ask for confirmation before proceeding. This default can be changed by user instructions - if explicitly asked to operate more autonomously, then you may proceed without confirmation, but still attend to the risks and consequences when taking actions. A user approving an action (like a git push) once does NOT mean that they approve it in all contexts, so unless actions are authorized in advance in durable instructions like
|
|
207467
|
+
Carefully consider the reversibility and blast radius of actions. Generally you can freely take local, reversible actions like editing files or running tests. But for actions that are hard to reverse, affect shared systems beyond your local environment, or could otherwise be risky or destructive, check with the user before proceeding. The cost of pausing to confirm is low, while the cost of an unwanted action (lost work, unintended messages sent, deleted branches) can be very high. For actions like these, consider the context, the action, and user instructions, and by default transparently communicate the action and ask for confirmation before proceeding. This default can be changed by user instructions - if explicitly asked to operate more autonomously, then you may proceed without confirmation, but still attend to the risks and consequences when taking actions. A user approving an action (like a git push) once does NOT mean that they approve it in all contexts, so unless actions are authorized in advance in durable instructions like VIVEKMIND.md files, always confirm first. Authorization stands for the scope specified, not beyond. Match the scope of your actions to what was actually requested.
|
|
207450
207468
|
|
|
207451
207469
|
Examples of the kind of risky actions that warrant user confirmation:
|
|
207452
207470
|
- Destructive operations: deleting files/branches, dropping database tables, killing processes, rm -rf, overwriting uncommitted changes
|
|
@@ -207543,10 +207561,10 @@ function getToolCallExamples(model) {
|
|
|
207543
207561
|
const toolCallStyle = process9.env["VIVEKMIND_CODE_TOOL_CALL_STYLE"];
|
|
207544
207562
|
if (toolCallStyle) {
|
|
207545
207563
|
switch (toolCallStyle.toLowerCase()) {
|
|
207546
|
-
case "
|
|
207547
|
-
return
|
|
207548
|
-
case "
|
|
207549
|
-
return
|
|
207564
|
+
case "vivekmind-clir":
|
|
207565
|
+
return vivekmindCoderToolCallExamples;
|
|
207566
|
+
case "vivekmind-vl":
|
|
207567
|
+
return vivekmindVlToolCallExamples;
|
|
207550
207568
|
case "general":
|
|
207551
207569
|
return generalToolCallExamples;
|
|
207552
207570
|
default:
|
|
@@ -207555,14 +207573,14 @@ function getToolCallExamples(model) {
|
|
|
207555
207573
|
}
|
|
207556
207574
|
}
|
|
207557
207575
|
if (model && model.length < 100) {
|
|
207558
|
-
if (/
|
|
207559
|
-
return
|
|
207576
|
+
if (/vivekmind[^-]*-coder/i.test(model)) {
|
|
207577
|
+
return vivekmindCoderToolCallExamples;
|
|
207560
207578
|
}
|
|
207561
|
-
if (/
|
|
207562
|
-
return
|
|
207579
|
+
if (/vivekmind[^-]*-vl/i.test(model)) {
|
|
207580
|
+
return vivekmindVlToolCallExamples;
|
|
207563
207581
|
}
|
|
207564
207582
|
if (/coder-model/i.test(model)) {
|
|
207565
|
-
return
|
|
207583
|
+
return vivekmindCoderToolCallExamples;
|
|
207566
207584
|
}
|
|
207567
207585
|
}
|
|
207568
207586
|
return generalToolCallExamples;
|
|
@@ -207583,7 +207601,7 @@ function getArenaSystemReminder(configFilePath2) {
|
|
|
207583
207601
|
function getInsightPrompt(type) {
|
|
207584
207602
|
return INSIGHT_PROMPTS[type];
|
|
207585
207603
|
}
|
|
207586
|
-
var debugLogger28, generalToolCallExamples,
|
|
207604
|
+
var debugLogger28, generalToolCallExamples, vivekmindCoderToolCallExamples, vivekmindVlToolCallExamples, INSIGHT_PROMPTS;
|
|
207587
207605
|
var init_prompts = __esm({
|
|
207588
207606
|
"packages/core/src/core/prompts.js"() {
|
|
207589
207607
|
"use strict";
|
|
@@ -207675,7 +207693,7 @@ I found the following 'app.config' files:
|
|
|
207675
207693
|
To help you check their settings, I can read their contents. Which one would you like to start with, or should I read all of them?
|
|
207676
207694
|
</example>
|
|
207677
207695
|
`.trim();
|
|
207678
|
-
|
|
207696
|
+
vivekmindCoderToolCallExamples = `
|
|
207679
207697
|
# Examples (Illustrating Tone and Workflow)
|
|
207680
207698
|
<example>
|
|
207681
207699
|
user: 1 + 2
|
|
@@ -207832,7 +207850,7 @@ I found the following 'app.config' files:
|
|
|
207832
207850
|
To help you check their settings, I can read their contents. Which one would you like to start with, or should I read all of them?
|
|
207833
207851
|
</example>
|
|
207834
207852
|
`.trim();
|
|
207835
|
-
|
|
207853
|
+
vivekmindVlToolCallExamples = `
|
|
207836
207854
|
# Examples (Illustrating Tone and Workflow)
|
|
207837
207855
|
<example>
|
|
207838
207856
|
user: 1 + 2
|
|
@@ -217677,11 +217695,11 @@ var init_model_capabilities = __esm({
|
|
|
217677
217695
|
"gemini-2.0-flash": GEMINI_VISION,
|
|
217678
217696
|
"gemini-1.5-pro": GEMINI_VISION,
|
|
217679
217697
|
"gemini-1.5-flash": GEMINI_VISION,
|
|
217680
|
-
"
|
|
217681
|
-
"
|
|
217698
|
+
"vivekmind3.5-plus": VIVEKMIND_VISION,
|
|
217699
|
+
"vivekmind3.6-plus": VIVEKMIND_VISION,
|
|
217682
217700
|
"coder-model": VIVEKMIND_VISION,
|
|
217683
|
-
"
|
|
217684
|
-
"
|
|
217701
|
+
"vivekmind-vl-": VIVEKMIND_VISION,
|
|
217702
|
+
"vivekmind3-vl-": VIVEKMIND_VISION,
|
|
217685
217703
|
"glm-4.5v": {
|
|
217686
217704
|
supportsVision: true,
|
|
217687
217705
|
maxImageSizeBytes: 10 * MB,
|
|
@@ -217791,7 +217809,7 @@ function resolveModelConfig(input) {
|
|
|
217791
217809
|
const warnings = [];
|
|
217792
217810
|
const sources = {};
|
|
217793
217811
|
if (authType === AuthType2.VIVEKMIND_OAUTH) {
|
|
217794
|
-
return
|
|
217812
|
+
return resolveVivekMindOAuthConfig(input, warnings);
|
|
217795
217813
|
}
|
|
217796
217814
|
const envMapping = authType ? AUTH_ENV_MAPPINGS[authType] : { model: [], apiKey: [], baseUrl: [] };
|
|
217797
217815
|
const modelLayers = [];
|
|
@@ -217876,7 +217894,7 @@ function resolveModelConfig(input) {
|
|
|
217876
217894
|
sources["authType"] = computedSource("provided by caller");
|
|
217877
217895
|
return { config: config2, sources, warnings };
|
|
217878
217896
|
}
|
|
217879
|
-
function
|
|
217897
|
+
function resolveVivekMindOAuthConfig(input, warnings) {
|
|
217880
217898
|
const { cli, settings, proxy: proxy2, modelProvider } = input;
|
|
217881
217899
|
const sources = {};
|
|
217882
217900
|
const allowedModels = new Set(VIVEKMIND_OAUTH_ALLOWED_MODELS);
|
|
@@ -217936,7 +217954,7 @@ var init_modelConfigResolver = __esm({
|
|
|
217936
217954
|
init_contentGenerator();
|
|
217937
217955
|
__name(applyTimeoutEnvOverride, "applyTimeoutEnvOverride");
|
|
217938
217956
|
__name(resolveModelConfig, "resolveModelConfig");
|
|
217939
|
-
__name(
|
|
217957
|
+
__name(resolveVivekMindOAuthConfig, "resolveVivekMindOAuthConfig");
|
|
217940
217958
|
__name(resolveGenerationConfig, "resolveGenerationConfig");
|
|
217941
217959
|
}
|
|
217942
217960
|
});
|
|
@@ -217965,8 +217983,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
217965
217983
|
if (region === CodingPlanRegion.CHINA) {
|
|
217966
217984
|
return [
|
|
217967
217985
|
{
|
|
217968
|
-
id: "
|
|
217969
|
-
name: "[ModelStudio Coding Plan]
|
|
217986
|
+
id: "vivekmind3.5-plus",
|
|
217987
|
+
name: "[ModelStudio Coding Plan] vivekmind3.5-plus",
|
|
217970
217988
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
217971
217989
|
envKey: CODING_PLAN_ENV_KEY,
|
|
217972
217990
|
generationConfig: {
|
|
@@ -217975,8 +217993,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
217975
217993
|
}
|
|
217976
217994
|
},
|
|
217977
217995
|
{
|
|
217978
|
-
id: "
|
|
217979
|
-
name: "[ModelStudio Coding Plan]
|
|
217996
|
+
id: "vivekmind3.6-plus",
|
|
217997
|
+
name: "[ModelStudio Coding Plan] vivekmind3.6-plus",
|
|
217980
217998
|
description: "Currently available to Pro subscribers only.",
|
|
217981
217999
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
217982
218000
|
envKey: CODING_PLAN_ENV_KEY,
|
|
@@ -218016,8 +218034,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218016
218034
|
}
|
|
218017
218035
|
},
|
|
218018
218036
|
{
|
|
218019
|
-
id: "
|
|
218020
|
-
name: "[ModelStudio Coding Plan]
|
|
218037
|
+
id: "vivekmind3-coder-plus",
|
|
218038
|
+
name: "[ModelStudio Coding Plan] vivekmind3-coder-plus",
|
|
218021
218039
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
218022
218040
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218023
218041
|
generationConfig: {
|
|
@@ -218025,8 +218043,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218025
218043
|
}
|
|
218026
218044
|
},
|
|
218027
218045
|
{
|
|
218028
|
-
id: "
|
|
218029
|
-
name: "[ModelStudio Coding Plan]
|
|
218046
|
+
id: "vivekmind3-coder-next",
|
|
218047
|
+
name: "[ModelStudio Coding Plan] vivekmind3-coder-next",
|
|
218030
218048
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
218031
218049
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218032
218050
|
generationConfig: {
|
|
@@ -218034,8 +218052,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218034
218052
|
}
|
|
218035
218053
|
},
|
|
218036
218054
|
{
|
|
218037
|
-
id: "
|
|
218038
|
-
name: "[ModelStudio Coding Plan]
|
|
218055
|
+
id: "vivekmind3-max-2026-01-23",
|
|
218056
|
+
name: "[ModelStudio Coding Plan] vivekmind3-max-2026-01-23",
|
|
218039
218057
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
218040
218058
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218041
218059
|
generationConfig: {
|
|
@@ -218057,8 +218075,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218057
218075
|
}
|
|
218058
218076
|
return [
|
|
218059
218077
|
{
|
|
218060
|
-
id: "
|
|
218061
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
218078
|
+
id: "vivekmind3.5-plus",
|
|
218079
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3.5-plus",
|
|
218062
218080
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
218063
218081
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218064
218082
|
generationConfig: {
|
|
@@ -218067,8 +218085,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218067
218085
|
}
|
|
218068
218086
|
},
|
|
218069
218087
|
{
|
|
218070
|
-
id: "
|
|
218071
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
218088
|
+
id: "vivekmind3.6-plus",
|
|
218089
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3.6-plus",
|
|
218072
218090
|
description: "Currently available to Pro subscribers only.",
|
|
218073
218091
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
218074
218092
|
envKey: CODING_PLAN_ENV_KEY,
|
|
@@ -218078,8 +218096,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218078
218096
|
}
|
|
218079
218097
|
},
|
|
218080
218098
|
{
|
|
218081
|
-
id: "
|
|
218082
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
218099
|
+
id: "vivekmind3-coder-plus",
|
|
218100
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-coder-plus",
|
|
218083
218101
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
218084
218102
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218085
218103
|
generationConfig: {
|
|
@@ -218087,8 +218105,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218087
218105
|
}
|
|
218088
218106
|
},
|
|
218089
218107
|
{
|
|
218090
|
-
id: "
|
|
218091
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
218108
|
+
id: "vivekmind3-coder-next",
|
|
218109
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-coder-next",
|
|
218092
218110
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
218093
218111
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218094
218112
|
generationConfig: {
|
|
@@ -218096,8 +218114,8 @@ function generateCodingPlanTemplate(region) {
|
|
|
218096
218114
|
}
|
|
218097
218115
|
},
|
|
218098
218116
|
{
|
|
218099
|
-
id: "
|
|
218100
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
218117
|
+
id: "vivekmind3-max-2026-01-23",
|
|
218118
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-max-2026-01-23",
|
|
218101
218119
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
218102
218120
|
envKey: CODING_PLAN_ENV_KEY,
|
|
218103
218121
|
generationConfig: {
|
|
@@ -250384,7 +250402,7 @@ var init_logger = __esm({
|
|
|
250384
250402
|
__name(this, "Logger");
|
|
250385
250403
|
}
|
|
250386
250404
|
storage;
|
|
250387
|
-
|
|
250405
|
+
vivekmindDir;
|
|
250388
250406
|
logFilePath;
|
|
250389
250407
|
sessionId;
|
|
250390
250408
|
messageId = 0;
|
|
@@ -250439,10 +250457,10 @@ var init_logger = __esm({
|
|
|
250439
250457
|
if (this.initialized) {
|
|
250440
250458
|
return;
|
|
250441
250459
|
}
|
|
250442
|
-
this.
|
|
250443
|
-
this.logFilePath = path33.join(this.
|
|
250460
|
+
this.vivekmindDir = this.storage.getProjectTempDir();
|
|
250461
|
+
this.logFilePath = path33.join(this.vivekmindDir, LOG_FILE_NAME);
|
|
250444
250462
|
try {
|
|
250445
|
-
await fs38.mkdir(this.
|
|
250463
|
+
await fs38.mkdir(this.vivekmindDir, { recursive: true });
|
|
250446
250464
|
let fileExisted = true;
|
|
250447
250465
|
try {
|
|
250448
250466
|
await fs38.access(this.logFilePath);
|
|
@@ -250527,11 +250545,11 @@ var init_logger = __esm({
|
|
|
250527
250545
|
if (!tag3.length) {
|
|
250528
250546
|
throw new Error("No checkpoint tag specified.");
|
|
250529
250547
|
}
|
|
250530
|
-
if (!this.
|
|
250548
|
+
if (!this.vivekmindDir) {
|
|
250531
250549
|
throw new Error("Checkpoint file path not set.");
|
|
250532
250550
|
}
|
|
250533
250551
|
const encodedTag = encodeTagName(tag3);
|
|
250534
|
-
return path33.join(this.
|
|
250552
|
+
return path33.join(this.vivekmindDir, `checkpoint-${encodedTag}.json`);
|
|
250535
250553
|
}
|
|
250536
250554
|
async _getCheckpointPath(tag3) {
|
|
250537
250555
|
const newPath = this._checkpointPath(tag3);
|
|
@@ -250544,7 +250562,7 @@ var init_logger = __esm({
|
|
|
250544
250562
|
throw error41;
|
|
250545
250563
|
}
|
|
250546
250564
|
}
|
|
250547
|
-
const oldPath = path33.join(this.
|
|
250565
|
+
const oldPath = path33.join(this.vivekmindDir, `checkpoint-${tag3}.json`);
|
|
250548
250566
|
try {
|
|
250549
250567
|
await fs38.access(oldPath);
|
|
250550
250568
|
return oldPath;
|
|
@@ -250592,7 +250610,7 @@ var init_logger = __esm({
|
|
|
250592
250610
|
}
|
|
250593
250611
|
}
|
|
250594
250612
|
async deleteCheckpoint(tag3) {
|
|
250595
|
-
if (!this.initialized || !this.
|
|
250613
|
+
if (!this.initialized || !this.vivekmindDir) {
|
|
250596
250614
|
this.debugLogger.error("Logger not initialized or checkpoint file path not set. Cannot delete checkpoint.");
|
|
250597
250615
|
return false;
|
|
250598
250616
|
}
|
|
@@ -250608,7 +250626,7 @@ var init_logger = __esm({
|
|
|
250608
250626
|
throw error41;
|
|
250609
250627
|
}
|
|
250610
250628
|
}
|
|
250611
|
-
const oldPath = path33.join(this.
|
|
250629
|
+
const oldPath = path33.join(this.vivekmindDir, `checkpoint-${tag3}.json`);
|
|
250612
250630
|
if (newPath !== oldPath) {
|
|
250613
250631
|
try {
|
|
250614
250632
|
await fs38.unlink(oldPath);
|
|
@@ -253775,7 +253793,7 @@ var init_mcp_client = __esm({
|
|
|
253775
253793
|
this.debugMode = debugMode;
|
|
253776
253794
|
this.sendSdkMcpMessage = sendSdkMcpMessage;
|
|
253777
253795
|
this.client = new Client({
|
|
253778
|
-
name: `
|
|
253796
|
+
name: `vivekmind-cli-mcp-client-${this.serverName}`,
|
|
253779
253797
|
version: "0.0.1"
|
|
253780
253798
|
});
|
|
253781
253799
|
}
|
|
@@ -268331,7 +268349,7 @@ var init_gitService = __esm({
|
|
|
268331
268349
|
const repoDir = this.getHistoryDir();
|
|
268332
268350
|
const gitConfigPath = path43.join(repoDir, ".gitconfig");
|
|
268333
268351
|
await fs45.mkdir(repoDir, { recursive: true });
|
|
268334
|
-
const gitConfigContent = "[user]\n name = VivekMind\n email = vivekmind@
|
|
268352
|
+
const gitConfigContent = "[user]\n name = VivekMind\n email = vivekmind@vivekmind.ai\n[commit]\n gpgsign = false\n";
|
|
268335
268353
|
await fs45.writeFile(gitConfigPath, gitConfigContent);
|
|
268336
268354
|
const repo = simpleGit(repoDir).env({
|
|
268337
268355
|
// Prevent git from using the user's global git config.
|
|
@@ -269987,7 +270005,7 @@ var init_prompt = __esm({
|
|
|
269987
270005
|
"- Code patterns, conventions, architecture, file paths, or project structure \u2014 these can be derived by reading the current project state.",
|
|
269988
270006
|
"- Git history, recent changes, or who-changed-what \u2014 `git log` / `git blame` are authoritative.",
|
|
269989
270007
|
"- Debugging solutions or fix recipes \u2014 the fix is in the code; the commit message has the context.",
|
|
269990
|
-
"- Anything already documented in
|
|
270008
|
+
"- Anything already documented in VIVEKMIND.md or AGENTS.md files.",
|
|
269991
270009
|
"- Ephemeral task details: in-progress work, temporary state, current conversation context.",
|
|
269992
270010
|
"",
|
|
269993
270011
|
"These exclusions apply even when the user explicitly asks you to save. If they ask you to save a PR list or activity summary, ask what was *surprising* or *non-obvious* about it \u2014 that is the part worth keeping."
|
|
@@ -282648,11 +282666,11 @@ async function downloadFromGitHubRelease(installMetadata, destination) {
|
|
|
282648
282666
|
if (entries.length === 2) {
|
|
282649
282667
|
const lonelyDir = entries.find((entry) => entry.isDirectory());
|
|
282650
282668
|
if (lonelyDir) {
|
|
282651
|
-
const
|
|
282669
|
+
const hasVivekMindConfig = fs71.existsSync(path62.join(destination, lonelyDir.name, EXTENSIONS_CONFIG_FILENAME));
|
|
282652
282670
|
const hasGeminiConfig = fs71.existsSync(path62.join(destination, lonelyDir.name, "gemini-extension.json"));
|
|
282653
282671
|
const hasMarketplaceConfig = fs71.existsSync(path62.join(destination, lonelyDir.name, ".claude-plugin/marketplace.json"));
|
|
282654
282672
|
const hasClaudePluginConfig = fs71.existsSync(path62.join(destination, lonelyDir.name, ".claude-plugin/plugin.json"));
|
|
282655
|
-
if (
|
|
282673
|
+
if (hasVivekMindConfig || hasGeminiConfig || hasMarketplaceConfig || hasClaudePluginConfig) {
|
|
282656
282674
|
const dirPathToExtract = path62.join(destination, lonelyDir.name);
|
|
282657
282675
|
const extractedDirFiles = await fs71.promises.readdir(dirPathToExtract);
|
|
282658
282676
|
for (const file2 of extractedDirFiles) {
|
|
@@ -282889,7 +282907,7 @@ var init_storage2 = __esm({
|
|
|
282889
282907
|
return storage.getExtensionsDir();
|
|
282890
282908
|
}
|
|
282891
282909
|
static async createTmpDir() {
|
|
282892
|
-
return await fs72.promises.mkdtemp(path63.join(os25.tmpdir(), "
|
|
282910
|
+
return await fs72.promises.mkdtemp(path63.join(os25.tmpdir(), "vivekmind-extension"));
|
|
282893
282911
|
}
|
|
282894
282912
|
};
|
|
282895
282913
|
}
|
|
@@ -285042,7 +285060,7 @@ var init_toml_to_markdown_converter = __esm({
|
|
|
285042
285060
|
// packages/core/src/extension/gemini-converter.js
|
|
285043
285061
|
import * as fs73 from "node:fs";
|
|
285044
285062
|
import * as path64 from "node:path";
|
|
285045
|
-
function
|
|
285063
|
+
function convertGeminiToVivekMindConfig(extensionDir) {
|
|
285046
285064
|
const configFilePath2 = path64.join(extensionDir, "gemini-extension.json");
|
|
285047
285065
|
const configContent = fs73.readFileSync(configFilePath2, "utf-8");
|
|
285048
285066
|
const geminiConfig = JSON.parse(configContent);
|
|
@@ -285059,7 +285077,7 @@ function convertGeminiToQwenConfig(extensionDir) {
|
|
|
285059
285077
|
};
|
|
285060
285078
|
}
|
|
285061
285079
|
async function convertGeminiExtensionPackage(extensionDir) {
|
|
285062
|
-
const geminiConfig =
|
|
285080
|
+
const geminiConfig = convertGeminiToVivekMindConfig(extensionDir);
|
|
285063
285081
|
const tmpDir = await ExtensionStorage.createTmpDir();
|
|
285064
285082
|
try {
|
|
285065
285083
|
await copyDirectory(extensionDir, tmpDir);
|
|
@@ -285067,8 +285085,8 @@ async function convertGeminiExtensionPackage(extensionDir) {
|
|
|
285067
285085
|
if (fs73.existsSync(commandsDir)) {
|
|
285068
285086
|
await convertCommandsDirectory(commandsDir);
|
|
285069
285087
|
}
|
|
285070
|
-
const
|
|
285071
|
-
fs73.writeFileSync(
|
|
285088
|
+
const vivekmindConfigPath = path64.join(tmpDir, "vivekmind-extension.json");
|
|
285089
|
+
fs73.writeFileSync(vivekmindConfigPath, JSON.stringify(geminiConfig, null, 2), "utf-8");
|
|
285072
285090
|
return {
|
|
285073
285091
|
config: geminiConfig,
|
|
285074
285092
|
convertedDir: tmpDir
|
|
@@ -285158,7 +285176,7 @@ var init_gemini_converter = __esm({
|
|
|
285158
285176
|
init_toml_to_markdown_converter();
|
|
285159
285177
|
init_debugLogger();
|
|
285160
285178
|
debugLogger63 = createDebugLogger("GEMINI_CONVERTER");
|
|
285161
|
-
__name(
|
|
285179
|
+
__name(convertGeminiToVivekMindConfig, "convertGeminiToVivekMindConfig");
|
|
285162
285180
|
__name(convertGeminiExtensionPackage, "convertGeminiExtensionPackage");
|
|
285163
285181
|
__name(copyDirectory, "copyDirectory");
|
|
285164
285182
|
__name(convertCommandsDirectory, "convertCommandsDirectory");
|
|
@@ -285310,24 +285328,24 @@ function parseStringOrArray(value) {
|
|
|
285310
285328
|
return void 0;
|
|
285311
285329
|
}
|
|
285312
285330
|
function convertClaudeAgentConfig(claudeAgent) {
|
|
285313
|
-
const
|
|
285331
|
+
const vivekmindAgent = {
|
|
285314
285332
|
name: claudeAgent.name,
|
|
285315
285333
|
description: claudeAgent.description
|
|
285316
285334
|
};
|
|
285317
285335
|
if (claudeAgent.color) {
|
|
285318
|
-
|
|
285336
|
+
vivekmindAgent["color"] = claudeAgent.color;
|
|
285319
285337
|
}
|
|
285320
285338
|
if (claudeAgent.systemPrompt) {
|
|
285321
|
-
|
|
285339
|
+
vivekmindAgent["systemPrompt"] = claudeAgent.systemPrompt;
|
|
285322
285340
|
}
|
|
285323
285341
|
if (claudeAgent.tools && claudeAgent.tools.length > 0) {
|
|
285324
|
-
|
|
285342
|
+
vivekmindAgent["tools"] = claudeBuildInToolsTransform(claudeAgent.tools);
|
|
285325
285343
|
}
|
|
285326
285344
|
if (claudeAgent.model) {
|
|
285327
|
-
|
|
285345
|
+
vivekmindAgent["model"] = claudeAgent.model;
|
|
285328
285346
|
}
|
|
285329
285347
|
if (claudeAgent.permissionMode) {
|
|
285330
|
-
const
|
|
285348
|
+
const claudeToVivekMindMode = {
|
|
285331
285349
|
default: "default",
|
|
285332
285350
|
plan: "plan",
|
|
285333
285351
|
acceptEdits: "auto-edit",
|
|
@@ -285335,19 +285353,19 @@ function convertClaudeAgentConfig(claudeAgent) {
|
|
|
285335
285353
|
bypassPermissions: "yolo",
|
|
285336
285354
|
auto: "auto-edit"
|
|
285337
285355
|
};
|
|
285338
|
-
const mapped =
|
|
285339
|
-
|
|
285356
|
+
const mapped = claudeToVivekMindMode[claudeAgent.permissionMode] ?? claudeAgent.permissionMode;
|
|
285357
|
+
vivekmindAgent["approvalMode"] = mapped;
|
|
285340
285358
|
}
|
|
285341
285359
|
if (claudeAgent.hooks) {
|
|
285342
|
-
|
|
285360
|
+
vivekmindAgent["hooks"] = claudeAgent.hooks;
|
|
285343
285361
|
}
|
|
285344
285362
|
if (claudeAgent.skills && claudeAgent.skills.length > 0) {
|
|
285345
|
-
|
|
285363
|
+
vivekmindAgent["skills"] = claudeAgent.skills;
|
|
285346
285364
|
}
|
|
285347
285365
|
if (claudeAgent.disallowedTools && claudeAgent.disallowedTools.length > 0) {
|
|
285348
|
-
|
|
285366
|
+
vivekmindAgent["disallowedTools"] = claudeAgent.disallowedTools;
|
|
285349
285367
|
}
|
|
285350
|
-
return
|
|
285368
|
+
return vivekmindAgent;
|
|
285351
285369
|
}
|
|
285352
285370
|
async function convertAgentFiles(agentsDir) {
|
|
285353
285371
|
if (!fs74.existsSync(agentsDir)) {
|
|
@@ -285380,15 +285398,15 @@ async function convertAgentFiles(agentsDir) {
|
|
|
285380
285398
|
color: frontmatter["color"],
|
|
285381
285399
|
systemPrompt: body2.trim()
|
|
285382
285400
|
};
|
|
285383
|
-
const
|
|
285401
|
+
const vivekmindAgent = convertClaudeAgentConfig(claudeAgent);
|
|
285384
285402
|
const newFrontmatter = {};
|
|
285385
|
-
for (const [key, value] of Object.entries(
|
|
285403
|
+
for (const [key, value] of Object.entries(vivekmindAgent)) {
|
|
285386
285404
|
if (key !== "systemPrompt" && value !== void 0) {
|
|
285387
285405
|
newFrontmatter[key] = value;
|
|
285388
285406
|
}
|
|
285389
285407
|
}
|
|
285390
285408
|
const newYaml = stringify2(newFrontmatter);
|
|
285391
|
-
const systemPrompt =
|
|
285409
|
+
const systemPrompt = vivekmindAgent["systemPrompt"] || body2.trim();
|
|
285392
285410
|
const newContent = `---
|
|
285393
285411
|
${newYaml}
|
|
285394
285412
|
---
|
|
@@ -285401,7 +285419,7 @@ ${systemPrompt}
|
|
|
285401
285419
|
}
|
|
285402
285420
|
}
|
|
285403
285421
|
}
|
|
285404
|
-
function
|
|
285422
|
+
function convertClaudeToVivekMindConfig(claudeConfig) {
|
|
285405
285423
|
if (!claudeConfig.name) {
|
|
285406
285424
|
throw new Error("Claude plugin config must have name field");
|
|
285407
285425
|
}
|
|
@@ -285515,11 +285533,11 @@ async function convertClaudePluginPackage(extensionDir, pluginName) {
|
|
|
285515
285533
|
}
|
|
285516
285534
|
const agentsDestDir = path65.join(tmpDir, "agents");
|
|
285517
285535
|
await convertAgentFiles(agentsDestDir);
|
|
285518
|
-
const
|
|
285519
|
-
const
|
|
285520
|
-
fs74.writeFileSync(
|
|
285536
|
+
const vivekmindConfig = convertClaudeToVivekMindConfig(mergedConfig);
|
|
285537
|
+
const vivekmindConfigPath = path65.join(tmpDir, "vivekmind-extension.json");
|
|
285538
|
+
fs74.writeFileSync(vivekmindConfigPath, JSON.stringify(vivekmindConfig, null, 2), "utf-8");
|
|
285521
285539
|
return {
|
|
285522
|
-
config:
|
|
285540
|
+
config: vivekmindConfig,
|
|
285523
285541
|
convertedDir: tmpDir
|
|
285524
285542
|
};
|
|
285525
285543
|
} catch (error41) {
|
|
@@ -285757,7 +285775,7 @@ var init_claude_converter = __esm({
|
|
|
285757
285775
|
__name(parseStringOrArray, "parseStringOrArray");
|
|
285758
285776
|
__name(convertClaudeAgentConfig, "convertClaudeAgentConfig");
|
|
285759
285777
|
__name(convertAgentFiles, "convertAgentFiles");
|
|
285760
|
-
__name(
|
|
285778
|
+
__name(convertClaudeToVivekMindConfig, "convertClaudeToVivekMindConfig");
|
|
285761
285779
|
__name(convertClaudePluginPackage, "convertClaudePluginPackage");
|
|
285762
285780
|
__name(collectResources, "collectResources");
|
|
285763
285781
|
__name(mergeClaudeConfigs, "mergeClaudeConfigs");
|
|
@@ -294553,7 +294571,7 @@ function filterMcpConfig(original) {
|
|
|
294553
294571
|
}
|
|
294554
294572
|
function getContextFileNames(config2) {
|
|
294555
294573
|
if (!config2.contextFileName || config2.contextFileName.length === 0) {
|
|
294556
|
-
return ["
|
|
294574
|
+
return ["VIVEKMIND.md"];
|
|
294557
294575
|
} else if (!Array.isArray(config2.contextFileName)) {
|
|
294558
294576
|
return [config2.contextFileName];
|
|
294559
294577
|
}
|
|
@@ -294588,7 +294606,7 @@ async function loadCommandsFromDir(dir) {
|
|
|
294588
294606
|
}
|
|
294589
294607
|
async function convertGeminiOrClaudeExtension(extensionDir, pluginName) {
|
|
294590
294608
|
let newExtensionDir = extensionDir;
|
|
294591
|
-
let originSource = "
|
|
294609
|
+
let originSource = "VivekMindCode";
|
|
294592
294610
|
const configFilePath2 = path71.join(extensionDir, EXTENSIONS_CONFIG_FILENAME);
|
|
294593
294611
|
if (fs80.existsSync(configFilePath2)) {
|
|
294594
294612
|
newExtensionDir = extensionDir;
|
|
@@ -295236,7 +295254,7 @@ var init_extensionManager = __esm({
|
|
|
295236
295254
|
const installMetadata = {
|
|
295237
295255
|
source: extension.path,
|
|
295238
295256
|
type: "local",
|
|
295239
|
-
originSource: extension.installMetadata?.originSource || "
|
|
295257
|
+
originSource: extension.installMetadata?.originSource || "VivekMindCode"
|
|
295240
295258
|
};
|
|
295241
295259
|
await this.installExtension(installMetadata, requestConsent, requestSetting);
|
|
295242
295260
|
} catch (_2) {
|
|
@@ -306104,7 +306122,7 @@ var init_overlayFs = __esm({
|
|
|
306104
306122
|
constructor(realCwd) {
|
|
306105
306123
|
this.realCwd = realCwd;
|
|
306106
306124
|
const id = randomUUID8().slice(0, 8);
|
|
306107
|
-
this.overlayDir = join35(tmpdir4(), "
|
|
306125
|
+
this.overlayDir = join35(tmpdir4(), "vivekmind-speculation", String(process.pid), id);
|
|
306108
306126
|
}
|
|
306109
306127
|
/** Get the overlay directory path */
|
|
306110
306128
|
getOverlayDir() {
|
|
@@ -311870,7 +311888,7 @@ async function loadServerHierarchicalMemory(currentWorkingDirectory, includeDire
|
|
|
311870
311888
|
${rulesContent}` : rulesContent;
|
|
311871
311889
|
}
|
|
311872
311890
|
if (!memoryContent && filePaths.length === 0 && ruleCount === 0) {
|
|
311873
|
-
logger4.debug("No
|
|
311891
|
+
logger4.debug("No VIVEKMIND.md files or rules found.");
|
|
311874
311892
|
}
|
|
311875
311893
|
return {
|
|
311876
311894
|
memoryContent,
|
|
@@ -312308,11 +312326,11 @@ var init_subagentGenerator = __esm({
|
|
|
312308
312326
|
init_sideQuery();
|
|
312309
312327
|
SYSTEM_PROMPT = `You are an elite AI agent architect specializing in crafting high-performance agent configurations. Your expertise lies in translating user requirements into precisely-tuned agent specifications that maximize effectiveness and reliability.
|
|
312310
312328
|
|
|
312311
|
-
**Important Context**: You may have access to project-specific instructions from
|
|
312329
|
+
**Important Context**: You may have access to project-specific instructions from VIVEKMIND.md files and other context that may include coding standards, project structure, and custom requirements. Consider this context when creating agents to ensure they align with the project's established patterns and practices.
|
|
312312
312330
|
|
|
312313
312331
|
When a user describes what they want an agent to do, you will:
|
|
312314
312332
|
|
|
312315
|
-
1. **Extract Core Intent**: Identify the fundamental purpose, key responsibilities, and success criteria for the agent. Look for both explicit requirements and implicit needs. Consider any project-specific context from
|
|
312333
|
+
1. **Extract Core Intent**: Identify the fundamental purpose, key responsibilities, and success criteria for the agent. Look for both explicit requirements and implicit needs. Consider any project-specific context from VIVEKMIND.md files. For agents that are meant to review code, you should assume that the user is asking to review recently written code and not the whole codebase, unless the user has explicitly instructed you otherwise.
|
|
312316
312334
|
|
|
312317
312335
|
2. **Design Expert Persona**: Create a compelling expert identity that embodies deep domain knowledge relevant to the task. The persona should inspire confidence and guide the agent's decision-making approach.
|
|
312318
312336
|
|
|
@@ -312322,7 +312340,7 @@ When a user describes what they want an agent to do, you will:
|
|
|
312322
312340
|
- Anticipates edge cases and provides guidance for handling them
|
|
312323
312341
|
- Incorporates any specific requirements or preferences mentioned by the user
|
|
312324
312342
|
- Defines output format expectations when relevant
|
|
312325
|
-
- Aligns with project-specific coding standards and patterns from
|
|
312343
|
+
- Aligns with project-specific coding standards and patterns from VIVEKMIND.md
|
|
312326
312344
|
|
|
312327
312345
|
4. **Optimize for Performance**: Include:
|
|
312328
312346
|
- Decision-making frameworks appropriate to the domain
|
|
@@ -312738,7 +312756,7 @@ var init_config3 = __esm({
|
|
|
312738
312756
|
usageStatisticsEnabled: true,
|
|
312739
312757
|
debugMode: false,
|
|
312740
312758
|
proxy: void 0,
|
|
312741
|
-
model: "
|
|
312759
|
+
model: "vivekmind-9001-super-duper",
|
|
312742
312760
|
targetDir: "/",
|
|
312743
312761
|
cwd: "/"
|
|
312744
312762
|
};
|
|
@@ -336859,7 +336877,7 @@ __export(src_exports2, {
|
|
|
336859
336877
|
connectToMcpServer: () => connectToMcpServer,
|
|
336860
336878
|
convertClaudeAgentConfig: () => convertClaudeAgentConfig,
|
|
336861
336879
|
convertClaudePluginPackage: () => convertClaudePluginPackage,
|
|
336862
|
-
|
|
336880
|
+
convertClaudeToVivekMindConfig: () => convertClaudeToVivekMindConfig,
|
|
336863
336881
|
convertColorToHex: () => convertColorToHex,
|
|
336864
336882
|
convertToFunctionResponse: () => convertToFunctionResponse,
|
|
336865
336883
|
convertTomlToMarkdown: () => convertTomlToMarkdown,
|
|
@@ -337056,7 +337074,6 @@ __export(src_exports2, {
|
|
|
337056
337074
|
isPerformanceMonitoringActive: () => isPerformanceMonitoringActive,
|
|
337057
337075
|
isPlanModeBlocked: () => isPlanModeBlocked,
|
|
337058
337076
|
isProQuotaExceededError: () => isProQuotaExceededError,
|
|
337059
|
-
isQwenQuotaExceededError: () => isQwenQuotaExceededError,
|
|
337060
337077
|
isRateLimitError: () => isRateLimitError,
|
|
337061
337078
|
isSchemaDepthError: () => isSchemaDepthError,
|
|
337062
337079
|
isScopedNpmPackage: () => isScopedNpmPackage,
|
|
@@ -337075,6 +337092,7 @@ __export(src_exports2, {
|
|
|
337075
337092
|
isTransientCapacityError: () => isTransientCapacityError,
|
|
337076
337093
|
isUnattendedMode: () => isUnattendedMode,
|
|
337077
337094
|
isValidNonThoughtTextPart: () => isValidNonThoughtTextPart,
|
|
337095
|
+
isVivekMindQuotaExceededError: () => isVivekMindQuotaExceededError,
|
|
337078
337096
|
isWindows: () => isWindows5,
|
|
337079
337097
|
isWithinRoot: () => isWithinRoot,
|
|
337080
337098
|
knownTokenLimit: () => knownTokenLimit,
|
|
@@ -367994,7 +368012,7 @@ var require_backend = __commonJS({
|
|
|
367994
368012
|
) : symbolOrNumber;
|
|
367995
368013
|
}
|
|
367996
368014
|
__name(getTypeSymbol, "getTypeSymbol");
|
|
367997
|
-
var _ReactTypeOfWork = ReactTypeOfWork, CacheComponent = _ReactTypeOfWork.CacheComponent, ClassComponent = _ReactTypeOfWork.ClassComponent, IncompleteClassComponent = _ReactTypeOfWork.IncompleteClassComponent, FunctionComponent = _ReactTypeOfWork.FunctionComponent, IndeterminateComponent = _ReactTypeOfWork.IndeterminateComponent, ForwardRef = _ReactTypeOfWork.ForwardRef, HostRoot = _ReactTypeOfWork.HostRoot, HostHoistable = _ReactTypeOfWork.HostHoistable, HostSingleton = _ReactTypeOfWork.HostSingleton, HostComponent = _ReactTypeOfWork.HostComponent, HostPortal = _ReactTypeOfWork.HostPortal, HostText = _ReactTypeOfWork.HostText,
|
|
368015
|
+
var _ReactTypeOfWork = ReactTypeOfWork, CacheComponent = _ReactTypeOfWork.CacheComponent, ClassComponent = _ReactTypeOfWork.ClassComponent, IncompleteClassComponent = _ReactTypeOfWork.IncompleteClassComponent, FunctionComponent = _ReactTypeOfWork.FunctionComponent, IndeterminateComponent = _ReactTypeOfWork.IndeterminateComponent, ForwardRef = _ReactTypeOfWork.ForwardRef, HostRoot = _ReactTypeOfWork.HostRoot, HostHoistable = _ReactTypeOfWork.HostHoistable, HostSingleton = _ReactTypeOfWork.HostSingleton, HostComponent = _ReactTypeOfWork.HostComponent, HostPortal = _ReactTypeOfWork.HostPortal, HostText = _ReactTypeOfWork.HostText, Fragment28 = _ReactTypeOfWork.Fragment, LazyComponent = _ReactTypeOfWork.LazyComponent, LegacyHiddenComponent = _ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = _ReactTypeOfWork.MemoComponent, OffscreenComponent = _ReactTypeOfWork.OffscreenComponent, Profiler = _ReactTypeOfWork.Profiler, ScopeComponent = _ReactTypeOfWork.ScopeComponent, SimpleMemoComponent = _ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = _ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = _ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = _ReactTypeOfWork.TracingMarkerComponent;
|
|
367998
368016
|
function resolveFiberType(type) {
|
|
367999
368017
|
var typeSymbol = getTypeSymbol(type);
|
|
368000
368018
|
switch (typeSymbol) {
|
|
@@ -368040,7 +368058,7 @@ var require_backend = __commonJS({
|
|
|
368040
368058
|
case HostPortal:
|
|
368041
368059
|
case HostText:
|
|
368042
368060
|
return null;
|
|
368043
|
-
case
|
|
368061
|
+
case Fragment28:
|
|
368044
368062
|
return "Fragment";
|
|
368045
368063
|
case LazyComponent:
|
|
368046
368064
|
return "Lazy";
|
|
@@ -368106,7 +368124,7 @@ var require_backend = __commonJS({
|
|
|
368106
368124
|
function attach(hook2, rendererID, renderer2, global2) {
|
|
368107
368125
|
var version2 = renderer2.reconcilerVersion || renderer2.version;
|
|
368108
368126
|
var _getInternalReactCons = getInternalReactConstants(version2), getDisplayNameForFiber = _getInternalReactCons.getDisplayNameForFiber, getTypeSymbol = _getInternalReactCons.getTypeSymbol, ReactPriorityLevels = _getInternalReactCons.ReactPriorityLevels, ReactTypeOfWork = _getInternalReactCons.ReactTypeOfWork, StrictModeBits = _getInternalReactCons.StrictModeBits;
|
|
368109
|
-
var CacheComponent = ReactTypeOfWork.CacheComponent, ClassComponent = ReactTypeOfWork.ClassComponent, ContextConsumer = ReactTypeOfWork.ContextConsumer, DehydratedSuspenseComponent = ReactTypeOfWork.DehydratedSuspenseComponent, ForwardRef = ReactTypeOfWork.ForwardRef,
|
|
368127
|
+
var CacheComponent = ReactTypeOfWork.CacheComponent, ClassComponent = ReactTypeOfWork.ClassComponent, ContextConsumer = ReactTypeOfWork.ContextConsumer, DehydratedSuspenseComponent = ReactTypeOfWork.DehydratedSuspenseComponent, ForwardRef = ReactTypeOfWork.ForwardRef, Fragment28 = ReactTypeOfWork.Fragment, FunctionComponent = ReactTypeOfWork.FunctionComponent, HostRoot = ReactTypeOfWork.HostRoot, HostHoistable = ReactTypeOfWork.HostHoistable, HostSingleton = ReactTypeOfWork.HostSingleton, HostPortal = ReactTypeOfWork.HostPortal, HostComponent = ReactTypeOfWork.HostComponent, HostText = ReactTypeOfWork.HostText, IncompleteClassComponent = ReactTypeOfWork.IncompleteClassComponent, IndeterminateComponent = ReactTypeOfWork.IndeterminateComponent, LegacyHiddenComponent = ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = ReactTypeOfWork.MemoComponent, OffscreenComponent = ReactTypeOfWork.OffscreenComponent, SimpleMemoComponent = ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = ReactTypeOfWork.TracingMarkerComponent;
|
|
368110
368128
|
var ImmediatePriority = ReactPriorityLevels.ImmediatePriority, UserBlockingPriority = ReactPriorityLevels.UserBlockingPriority, NormalPriority = ReactPriorityLevels.NormalPriority, LowPriority = ReactPriorityLevels.LowPriority, IdlePriority = ReactPriorityLevels.IdlePriority, NoPriority = ReactPriorityLevels.NoPriority;
|
|
368111
368129
|
var getLaneLabelMap = renderer2.getLaneLabelMap, injectProfilingHooks = renderer2.injectProfilingHooks, overrideHookState = renderer2.overrideHookState, overrideHookStateDeletePath = renderer2.overrideHookStateDeletePath, overrideHookStateRenamePath = renderer2.overrideHookStateRenamePath, overrideProps = renderer2.overrideProps, overridePropsDeletePath = renderer2.overridePropsDeletePath, overridePropsRenamePath = renderer2.overridePropsRenamePath, scheduleRefresh = renderer2.scheduleRefresh, setErrorHandler = renderer2.setErrorHandler, setSuspenseHandler = renderer2.setSuspenseHandler, scheduleUpdate = renderer2.scheduleUpdate;
|
|
368112
368130
|
var supportsTogglingError = typeof setErrorHandler === "function" && typeof scheduleUpdate === "function";
|
|
@@ -368321,7 +368339,7 @@ var require_backend = __commonJS({
|
|
|
368321
368339
|
return true;
|
|
368322
368340
|
case HostRoot:
|
|
368323
368341
|
return false;
|
|
368324
|
-
case
|
|
368342
|
+
case Fragment28:
|
|
368325
368343
|
return key === null;
|
|
368326
368344
|
default:
|
|
368327
368345
|
var typeSymbol = getTypeSymbol(type);
|
|
@@ -368396,7 +368414,7 @@ var require_backend = __commonJS({
|
|
|
368396
368414
|
return ElementTypeHostComponent;
|
|
368397
368415
|
case HostPortal:
|
|
368398
368416
|
case HostText:
|
|
368399
|
-
case
|
|
368417
|
+
case Fragment28:
|
|
368400
368418
|
return ElementTypeOtherOrUnknown;
|
|
368401
368419
|
case MemoComponent:
|
|
368402
368420
|
case SimpleMemoComponent:
|
|
@@ -376350,7 +376368,7 @@ var init_settingsSchema = __esm({
|
|
|
376350
376368
|
category: "Model",
|
|
376351
376369
|
requiresRestart: false,
|
|
376352
376370
|
default: "",
|
|
376353
|
-
description: "Model used for generating prompt suggestions and speculative execution. Leave empty to use the main model. A smaller/faster model (e.g.,
|
|
376371
|
+
description: "Model used for generating prompt suggestions and speculative execution. Leave empty to use the main model. A smaller/faster model (e.g., vivekmind3-coder-flash) reduces latency and cost.",
|
|
376354
376372
|
showInDialog: true
|
|
376355
376373
|
},
|
|
376356
376374
|
model: {
|
|
@@ -376488,7 +376506,7 @@ var init_settingsSchema = __esm({
|
|
|
376488
376506
|
category: "Generation Configuration",
|
|
376489
376507
|
requiresRestart: false,
|
|
376490
376508
|
default: false,
|
|
376491
|
-
description: 'When true, media (images / audio / video / files) returned by MCP tool calls is split into a follow-up user message instead of being embedded in the tool message. Required for strict OpenAI-compatible servers (e.g., LM Studio) that reject non-text content on `role: "tool"` messages with HTTP 400 "Invalid \'messages\' in payload". Default false preserves the prior behavior for permissive providers. See
|
|
376509
|
+
description: 'When true, media (images / audio / video / files) returned by MCP tool calls is split into a follow-up user message instead of being embedded in the tool message. Required for strict OpenAI-compatible servers (e.g., LM Studio) that reject non-text content on `role: "tool"` messages with HTTP 400 "Invalid \'messages\' in payload". Default false preserves the prior behavior for permissive providers. See VivekMindLM/vivekmind-cli#3616.',
|
|
376492
376510
|
parentKey: "generationConfig",
|
|
376493
376511
|
showInDialog: false
|
|
376494
376512
|
},
|
|
@@ -376526,7 +376544,7 @@ var init_settingsSchema = __esm({
|
|
|
376526
376544
|
category: "Model",
|
|
376527
376545
|
requiresRestart: false,
|
|
376528
376546
|
default: void 0,
|
|
376529
|
-
description: 'Optional per-model pricing for cost estimation in /stats model. Example: {"
|
|
376547
|
+
description: 'Optional per-model pricing for cost estimation in /stats model. Example: {"vivekmind3-coder": {"inputPerMillionTokens": 0.30, "outputPerMillionTokens": 1.20}}',
|
|
376530
376548
|
showInDialog: false
|
|
376531
376549
|
},
|
|
376532
376550
|
context: {
|
|
@@ -377562,7 +377580,7 @@ var init_ca2 = __esm({
|
|
|
377562
377580
|
// ============================================================================
|
|
377563
377581
|
// Ordres - General
|
|
377564
377582
|
// ============================================================================
|
|
377565
|
-
"Analyzes the project and creates a tailored
|
|
377583
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "Analitza el projecte i crea un fitxer VIVEKMIND.md personalitzat.",
|
|
377566
377584
|
"List available VivekMind tools. Usage: /tools [desc]": "Llistar les eines disponibles de VivekMind. \xDAs: /tools [desc]",
|
|
377567
377585
|
"List available skills.": "Llistar les habilitats disponibles.",
|
|
377568
377586
|
"Available VivekMind CLI tools:": "Eines del CLI de VivekMind disponibles:",
|
|
@@ -377870,7 +377888,7 @@ var init_ca2 = __esm({
|
|
|
377870
377888
|
local: "local",
|
|
377871
377889
|
remote: "remot",
|
|
377872
377890
|
"This extension will add the following commands: {{commands}}.": "Aquesta extensi\xF3 afegir\xE0 les ordres seg\xFCents: {{commands}}.",
|
|
377873
|
-
"This extension will append info to your
|
|
377891
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "Aquesta extensi\xF3 afegir\xE0 informaci\xF3 al vostre context VIVEKMIND.md usant {{fileName}}",
|
|
377874
377892
|
"This extension will exclude the following core tools: {{tools}}": "Aquesta extensi\xF3 exclour\xE0 les eines principals seg\xFCents: {{tools}}",
|
|
377875
377893
|
"This extension will install the following skills:": "Aquesta extensi\xF3 instal\xB7lar\xE0 les habilitats seg\xFCents:",
|
|
377876
377894
|
"This extension will install the following subagents:": "Aquesta extensi\xF3 instal\xB7lar\xE0 els subagents seg\xFCents:",
|
|
@@ -378361,7 +378379,7 @@ var init_ca2 = __esm({
|
|
|
378361
378379
|
"Please provide at least one path to add.": "Proporcioneu almenys un cam\xED per afegir.",
|
|
378362
378380
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "L'ordre /directory add no \xE9s compatible en perfils d'entorn a\xEFllat restrictius. En el seu lloc, useu --include-directories en iniciar la sessi\xF3.",
|
|
378363
378381
|
"Error adding '{{path}}': {{error}}": "Error en afegir '{{path}}': {{error}}",
|
|
378364
|
-
"Successfully added
|
|
378382
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "S'han afegit correctament els fitxers VIVEKMIND.md dels directoris seg\xFCents si n'hi ha:\n- {{directories}}",
|
|
378365
378383
|
"Error refreshing memory: {{error}}": "Error en actualitzar la mem\xF2ria: {{error}}",
|
|
378366
378384
|
"Successfully added directories:\n- {{directories}}": "S'han afegit correctament els directoris:\n- {{directories}}",
|
|
378367
378385
|
"Current workspace directories:\n{{directories}}": "Directoris actuals de l'espai de treball:\n{{directories}}",
|
|
@@ -378506,7 +378524,7 @@ var init_ca2 = __esm({
|
|
|
378506
378524
|
unknown: "desconegut",
|
|
378507
378525
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "Error en canviar al model '{{modelId}}'.\n\n{{error}}",
|
|
378508
378526
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 model h\xEDbrid eficient amb un rendiment de codificaci\xF3 l\xEDder",
|
|
378509
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
378527
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "L'\xFAltim model de visi\xF3 VivekMind d'Alibaba Cloud ModelStudio (versi\xF3: vivekmind3-vl-plus-2025-09-23)",
|
|
378510
378528
|
// ============================================================================
|
|
378511
378529
|
// Diàlegs - Permisos
|
|
378512
378530
|
// ============================================================================
|
|
@@ -378629,7 +378647,7 @@ var init_ca2 = __esm({
|
|
|
378629
378647
|
"You can switch permission mode quickly with Tab or /approval-mode.": "Podeu canviar r\xE0pidament el mode de permisos amb Tab o /approval-mode.",
|
|
378630
378648
|
"Try /insight to generate personalized insights from your chat history.": "Proveu /insight per generar idees personalitzades a partir del vostre historial de xat.",
|
|
378631
378649
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "Premeu Ctrl+O per canviar el mode compacte \u2014 amagueu la sortida de les eines i el pensament per a una vista m\xE9s neta.",
|
|
378632
|
-
"Add a
|
|
378650
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "Afegiu un fitxer VIVEKMIND.md per donar a VivekMind un context persistent del projecte.",
|
|
378633
378651
|
"Use /btw to ask a quick side question without disrupting the conversation.": "Useu /btw per fer una pregunta r\xE0pida sense interrompre la conversa.",
|
|
378634
378652
|
"Context is almost full! Run /compress now or start /new to continue.": "El context gaireb\xE9 \xE9s ple! Executeu /compress ara o inicieu /new per continuar.",
|
|
378635
378653
|
"Context is getting full. Use /compress to free up space.": "El context s'omple. Useu /compress per alliberar espai.",
|
|
@@ -379107,7 +379125,7 @@ var init_de2 = __esm({
|
|
|
379107
379125
|
// ============================================================================
|
|
379108
379126
|
// Commands - General
|
|
379109
379127
|
// ============================================================================
|
|
379110
|
-
"Analyzes the project and creates a tailored
|
|
379128
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "Analysiert das Projekt und erstellt eine ma\xDFgeschneiderte VIVEKMIND.md-Datei.",
|
|
379111
379129
|
"List available VivekMind tools. Usage: /tools [desc]": "Verf\xFCgbare VivekMind Werkzeuge auflisten. Verwendung: /tools [desc]",
|
|
379112
379130
|
"List available skills.": "Verf\xFCgbare Skills auflisten.",
|
|
379113
379131
|
"Available VivekMind CLI tools:": "Verf\xFCgbare VivekMind CLI-Werkzeuge:",
|
|
@@ -379361,7 +379379,7 @@ var init_de2 = __esm({
|
|
|
379361
379379
|
local: "lokal",
|
|
379362
379380
|
remote: "remote",
|
|
379363
379381
|
"This extension will add the following commands: {{commands}}.": "Diese Erweiterung wird folgende Befehle hinzuf\xFCgen: {{commands}}.",
|
|
379364
|
-
"This extension will append info to your
|
|
379382
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "Diese Erweiterung wird Informationen zu Ihrem VIVEKMIND.md-Kontext mit {{fileName}} hinzuf\xFCgen",
|
|
379365
379383
|
"This extension will exclude the following core tools: {{tools}}": "Diese Erweiterung wird folgende Kernwerkzeuge ausschlie\xDFen: {{tools}}",
|
|
379366
379384
|
"This extension will install the following skills:": "Diese Erweiterung wird folgende F\xE4higkeiten installieren:",
|
|
379367
379385
|
"This extension will install the following subagents:": "Diese Erweiterung wird folgende Unteragenten installieren:",
|
|
@@ -379778,7 +379796,7 @@ var init_de2 = __esm({
|
|
|
379778
379796
|
"Please provide at least one path to add.": "Bitte geben Sie mindestens einen Pfad zum Hinzuf\xFCgen an.",
|
|
379779
379797
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "Der Befehl /directory add wird in restriktiven Sandbox-Profilen nicht unterst\xFCtzt. Bitte verwenden Sie --include-directories beim Starten der Sitzung.",
|
|
379780
379798
|
"Error adding '{{path}}': {{error}}": "Fehler beim Hinzuf\xFCgen von '{{path}}': {{error}}",
|
|
379781
|
-
"Successfully added
|
|
379799
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "VIVEKMIND.md-Dateien aus folgenden Verzeichnissen erfolgreich hinzugef\xFCgt, falls vorhanden:\n- {{directories}}",
|
|
379782
379800
|
"Error refreshing memory: {{error}}": "Fehler beim Aktualisieren des Speichers: {{error}}",
|
|
379783
379801
|
"Successfully added directories:\n- {{directories}}": "Verzeichnisse erfolgreich hinzugef\xFCgt:\n- {{directories}}",
|
|
379784
379802
|
"Current workspace directories:\n{{directories}}": "Aktuelle Arbeitsbereichsverzeichnisse:\n{{directories}}",
|
|
@@ -380009,7 +380027,7 @@ var init_de2 = __esm({
|
|
|
380009
380027
|
unknown: "unbekannt",
|
|
380010
380028
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "Modell konnte nicht auf '{{modelId}}' umgestellt werden.\n\n{{error}}",
|
|
380011
380029
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 effizientes Hybridmodell mit f\xFChrender Programmierleistung",
|
|
380012
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
380030
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "Das neueste VivekMind Vision Modell von Alibaba Cloud ModelStudio (Version: vivekmind3-vl-plus-2025-09-23)",
|
|
380013
380031
|
// ============================================================================
|
|
380014
380032
|
// Dialogs - Permissions
|
|
380015
380033
|
// ============================================================================
|
|
@@ -380368,7 +380386,7 @@ var init_de2 = __esm({
|
|
|
380368
380386
|
"You can switch permission mode quickly with Tab or /approval-mode.": "Sie k\xF6nnen den Berechtigungsmodus schnell mit Tab oder /approval-mode wechseln.",
|
|
380369
380387
|
"Try /insight to generate personalized insights from your chat history.": "Probieren Sie /insight, um personalisierte Erkenntnisse aus Ihrem Chatverlauf zu erstellen.",
|
|
380370
380388
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "Strg+O dr\xFCcken, um den Kompaktmodus umzuschalten \u2014 Tool-Ausgabe und Denkprozess ausblenden.",
|
|
380371
|
-
"Add a
|
|
380389
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "F\xFCgen Sie eine VIVEKMIND.md-Datei hinzu, um VivekMind dauerhaften Projektkontext zu geben.",
|
|
380372
380390
|
"Use /btw to ask a quick side question without disrupting the conversation.": "Verwenden Sie /btw, um eine kurze Nebenfrage zu stellen, ohne die Unterhaltung zu unterbrechen.",
|
|
380373
380391
|
"Context is almost full! Run /compress now or start /new to continue.": "Der Kontext ist fast voll! F\xFChren Sie jetzt /compress aus oder starten Sie /new, um fortzufahren.",
|
|
380374
380392
|
"Context is getting full. Use /compress to free up space.": "Der Kontext f\xFCllt sich. Verwenden Sie /compress, um Platz freizugeben.",
|
|
@@ -380628,7 +380646,7 @@ var init_en3 = __esm({
|
|
|
380628
380646
|
// ============================================================================
|
|
380629
380647
|
// Commands - General
|
|
380630
380648
|
// ============================================================================
|
|
380631
|
-
"Analyzes the project and creates a tailored
|
|
380649
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "Analyzes the project and creates a tailored VIVEKMIND.md file.",
|
|
380632
380650
|
"List available VivekMind tools. Usage: /tools [desc]": "List available VivekMind tools. Usage: /tools [desc]",
|
|
380633
380651
|
"List available skills.": "List available skills.",
|
|
380634
380652
|
"Available VivekMind CLI tools:": "Available VivekMind CLI tools:",
|
|
@@ -380942,7 +380960,7 @@ var init_en3 = __esm({
|
|
|
380942
380960
|
local: "local",
|
|
380943
380961
|
remote: "remote",
|
|
380944
380962
|
"This extension will add the following commands: {{commands}}.": "This extension will add the following commands: {{commands}}.",
|
|
380945
|
-
"This extension will append info to your
|
|
380963
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "This extension will append info to your VIVEKMIND.md context using {{fileName}}",
|
|
380946
380964
|
"This extension will exclude the following core tools: {{tools}}": "This extension will exclude the following core tools: {{tools}}",
|
|
380947
380965
|
"This extension will install the following skills:": "This extension will install the following skills:",
|
|
380948
380966
|
"This extension will install the following subagents:": "This extension will install the following subagents:",
|
|
@@ -381449,7 +381467,7 @@ var init_en3 = __esm({
|
|
|
381449
381467
|
"Please provide at least one path to add.": "Please provide at least one path to add.",
|
|
381450
381468
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.",
|
|
381451
381469
|
"Error adding '{{path}}': {{error}}": "Error adding '{{path}}': {{error}}",
|
|
381452
|
-
"Successfully added
|
|
381470
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}",
|
|
381453
381471
|
"Error refreshing memory: {{error}}": "Error refreshing memory: {{error}}",
|
|
381454
381472
|
"Successfully added directories:\n- {{directories}}": "Successfully added directories:\n- {{directories}}",
|
|
381455
381473
|
"Current workspace directories:\n{{directories}}": "Current workspace directories:\n{{directories}}",
|
|
@@ -381595,7 +381613,7 @@ var init_en3 = __esm({
|
|
|
381595
381613
|
unknown: "unknown",
|
|
381596
381614
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "Failed to switch model to '{{modelId}}'.\n\n{{error}}",
|
|
381597
381615
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance",
|
|
381598
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
381616
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)",
|
|
381599
381617
|
// ============================================================================
|
|
381600
381618
|
// Dialogs - Permissions
|
|
381601
381619
|
// ============================================================================
|
|
@@ -381719,7 +381737,7 @@ var init_en3 = __esm({
|
|
|
381719
381737
|
"You can switch permission mode quickly with Tab or /approval-mode.": "You can switch permission mode quickly with Tab or /approval-mode.",
|
|
381720
381738
|
"Try /insight to generate personalized insights from your chat history.": "Try /insight to generate personalized insights from your chat history.",
|
|
381721
381739
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.",
|
|
381722
|
-
"Add a
|
|
381740
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "Add a VIVEKMIND.md file to give VivekMind persistent project context.",
|
|
381723
381741
|
"Use /btw to ask a quick side question without disrupting the conversation.": "Use /btw to ask a quick side question without disrupting the conversation.",
|
|
381724
381742
|
"Context is almost full! Run /compress now or start /new to continue.": "Context is almost full! Run /compress now or start /new to continue.",
|
|
381725
381743
|
"Context is getting full. Use /compress to free up space.": "Context is getting full. Use /compress to free up space.",
|
|
@@ -382215,7 +382233,7 @@ var init_fr2 = __esm({
|
|
|
382215
382233
|
// ============================================================================
|
|
382216
382234
|
// Commandes - Général
|
|
382217
382235
|
// ============================================================================
|
|
382218
|
-
"Analyzes the project and creates a tailored
|
|
382236
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "Analyse le projet et cr\xE9e un fichier VIVEKMIND.md personnalis\xE9.",
|
|
382219
382237
|
"List available VivekMind tools. Usage: /tools [desc]": "Lister les outils VivekMind disponibles. Utilisation : /tools [desc]",
|
|
382220
382238
|
"List available skills.": "Lister les comp\xE9tences disponibles.",
|
|
382221
382239
|
"Available VivekMind CLI tools:": "Outils VivekMind CLI disponibles :",
|
|
@@ -382523,7 +382541,7 @@ var init_fr2 = __esm({
|
|
|
382523
382541
|
local: "local",
|
|
382524
382542
|
remote: "distant",
|
|
382525
382543
|
"This extension will add the following commands: {{commands}}.": "Cette extension ajoutera les commandes suivantes : {{commands}}.",
|
|
382526
|
-
"This extension will append info to your
|
|
382544
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "Cette extension ajoutera des informations \xE0 votre contexte VIVEKMIND.md en utilisant {{fileName}}",
|
|
382527
382545
|
"This extension will exclude the following core tools: {{tools}}": "Cette extension exclura les outils principaux suivants : {{tools}}",
|
|
382528
382546
|
"This extension will install the following skills:": "Cette extension installera les comp\xE9tences suivantes :",
|
|
382529
382547
|
"This extension will install the following subagents:": "Cette extension installera les sous-agents suivants :",
|
|
@@ -382985,7 +383003,7 @@ var init_fr2 = __esm({
|
|
|
382985
383003
|
"Please provide at least one path to add.": "Veuillez fournir au moins un chemin \xE0 ajouter.",
|
|
382986
383004
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "La commande /directory add n'est pas prise en charge dans les profils de bac \xE0 sable restrictifs. Utilisez plut\xF4t --include-directories lors du d\xE9marrage de la session.",
|
|
382987
383005
|
"Error adding '{{path}}': {{error}}": "Erreur lors de l'ajout de '{{path}}' : {{error}}",
|
|
382988
|
-
"Successfully added
|
|
383006
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "Fichiers VIVEKMIND.md ajout\xE9s avec succ\xE8s depuis les r\xE9pertoires suivants s'ils existent :\n- {{directories}}",
|
|
382989
383007
|
"Error refreshing memory: {{error}}": "Erreur lors de l'actualisation de la m\xE9moire : {{error}}",
|
|
382990
383008
|
"Successfully added directories:\n- {{directories}}": "R\xE9pertoires ajout\xE9s avec succ\xE8s :\n- {{directories}}",
|
|
382991
383009
|
"Current workspace directories:\n{{directories}}": "R\xE9pertoires actuels de l'espace de travail :\n{{directories}}",
|
|
@@ -383131,7 +383149,7 @@ var init_fr2 = __esm({
|
|
|
383131
383149
|
unknown: "inconnu",
|
|
383132
383150
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "\xC9chec du changement de mod\xE8le vers '{{modelId}}'.\n\n{{error}}",
|
|
383133
383151
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 mod\xE8le hybride efficace avec des performances de codage de pointe",
|
|
383134
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
383152
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "Le dernier mod\xE8le VivekMind Vision d'Alibaba Cloud ModelStudio (version : vivekmind3-vl-plus-2025-09-23)",
|
|
383135
383153
|
// ============================================================================
|
|
383136
383154
|
// Boîtes de dialogue - Permissions
|
|
383137
383155
|
// ============================================================================
|
|
@@ -383707,7 +383725,7 @@ var init_ja2 = __esm({
|
|
|
383707
383725
|
// ============================================================================
|
|
383708
383726
|
// Commands - General
|
|
383709
383727
|
// ============================================================================
|
|
383710
|
-
"Analyzes the project and creates a tailored
|
|
383728
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5206\u6790\u3057\u3001\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3055\u308C\u305F VIVEKMIND.md \u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210",
|
|
383711
383729
|
"List available VivekMind tools. Usage: /tools [desc]": "\u5229\u7528\u53EF\u80FD\u306A VivekMind \u30C4\u30FC\u30EB\u3092\u4E00\u89A7\u8868\u793A\u3002\u4F7F\u3044\u65B9: /tools [desc]",
|
|
383712
383730
|
"List available skills.": "\u5229\u7528\u53EF\u80FD\u306A\u30B9\u30AD\u30EB\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\u3002",
|
|
383713
383731
|
"Available VivekMind CLI tools:": "\u5229\u7528\u53EF\u80FD\u306A VivekMind CLI \u30C4\u30FC\u30EB:",
|
|
@@ -384239,7 +384257,7 @@ var init_ja2 = __esm({
|
|
|
384239
384257
|
"Please provide at least one path to add.": "\u8FFD\u52A0\u3059\u308B\u30D1\u30B9\u3092\u5C11\u306A\u304F\u3068\u30821\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
384240
384258
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "\u5236\u9650\u7684\u306A\u30B5\u30F3\u30C9\u30DC\u30C3\u30AF\u30B9\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u306F /directory add \u30B3\u30DE\u30F3\u30C9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u4EE3\u308F\u308A\u306B\u30BB\u30C3\u30B7\u30E7\u30F3\u958B\u59CB\u6642\u306B --include-directories \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
384241
384259
|
"Error adding '{{path}}': {{error}}": "'{{path}}' \u306E\u8FFD\u52A0\u4E2D\u306B\u30A8\u30E9\u30FC: {{error}}",
|
|
384242
|
-
"Successfully added
|
|
384260
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "\u4EE5\u4E0B\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304B\u3089 VIVEKMIND.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F(\u5B58\u5728\u3059\u308B\u5834\u5408):\n- {{directories}}",
|
|
384243
384261
|
"Error refreshing memory: {{error}}": "\u30E1\u30E2\u30EA\u306E\u66F4\u65B0\u4E2D\u306B\u30A8\u30E9\u30FC: {{error}}",
|
|
384244
384262
|
"Successfully added directories:\n- {{directories}}": "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u6B63\u5E38\u306B\u8FFD\u52A0\u3057\u307E\u3057\u305F:\n- {{directories}}",
|
|
384245
384263
|
"Current workspace directories:\n{{directories}}": "\u73FE\u5728\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA:\n{{directories}}",
|
|
@@ -384443,7 +384461,7 @@ var init_ja2 = __esm({
|
|
|
384443
384461
|
none: "\u306A\u3057",
|
|
384444
384462
|
unknown: "\u4E0D\u660E",
|
|
384445
384463
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 \u52B9\u7387\u7684\u306A\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9\u30E2\u30C7\u30EB\u3001\u696D\u754C\u30C8\u30C3\u30D7\u30AF\u30E9\u30B9\u306E\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u6027\u80FD",
|
|
384446
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
384464
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "Alibaba Cloud ModelStudio\u306E\u6700\u65B0VivekMind Vision\u30E2\u30C7\u30EB(\u30D0\u30FC\u30B8\u30E7\u30F3: vivekmind3-vl-plus-2025-09-23)",
|
|
384447
384465
|
// Dialogs - Permissions
|
|
384448
384466
|
"Manage folder trust settings": "\u30D5\u30A9\u30EB\u30C0\u4FE1\u983C\u8A2D\u5B9A\u3092\u7BA1\u7406",
|
|
384449
384467
|
"Manage permission rules": "\u6A29\u9650\u30EB\u30FC\u30EB\u3092\u7BA1\u7406",
|
|
@@ -384552,7 +384570,7 @@ var init_ja2 = __esm({
|
|
|
384552
384570
|
"You can switch permission mode quickly with Tab or /approval-mode.": "Tab \u307E\u305F\u306F /approval-mode \u3067\u6A29\u9650\u30E2\u30FC\u30C9\u3092\u3059\u3070\u3084\u304F\u5207\u308A\u66FF\u3048\u3089\u308C\u307E\u3059\u3002",
|
|
384553
384571
|
"Try /insight to generate personalized insights from your chat history.": "/insight \u3067\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u304B\u3089\u30D1\u30FC\u30BD\u30CA\u30E9\u30A4\u30BA\u3055\u308C\u305F\u30A4\u30F3\u30B5\u30A4\u30C8\u3092\u751F\u6210\u3067\u304D\u307E\u3059\u3002",
|
|
384554
384572
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "Ctrl+O \u3067\u30B3\u30F3\u30D1\u30AF\u30C8\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048 \u2014 \u30C4\u30FC\u30EB\u51FA\u529B\u3068\u601D\u8003\u3092\u975E\u8868\u793A\u306B\u3057\u3066\u3059\u3063\u304D\u308A\u8868\u793A\u3002",
|
|
384555
|
-
"Add a
|
|
384573
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "VIVEKMIND.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3059\u308B\u3068\u3001VivekMind \u306B\u6C38\u7D9A\u7684\u306A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u4E0E\u3048\u3089\u308C\u307E\u3059\u3002",
|
|
384556
384574
|
"Use /btw to ask a quick side question without disrupting the conversation.": "\u4F1A\u8A71\u3092\u4E2D\u65AD\u305B\u305A\u306B /btw \u3067\u3061\u3087\u3063\u3068\u3057\u305F\u6A2A\u9053\u306E\u8CEA\u554F\u304C\u3067\u304D\u307E\u3059\u3002",
|
|
384557
384575
|
"Context is almost full! Run /compress now or start /new to continue.": "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u3082\u3046\u3059\u3050\u3044\u3063\u3071\u3044\u3067\u3059\uFF01\u4ECA\u3059\u3050 /compress \u3092\u5B9F\u884C\u3059\u308B\u304B\u3001/new \u3092\u958B\u59CB\u3057\u3066\u7D9A\u3051\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
384558
384576
|
"Context is getting full. Use /compress to free up space.": "\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u57CB\u307E\u308A\u3064\u3064\u3042\u308A\u307E\u3059\u3002/compress \u3092\u4F7F\u3063\u3066\u7A7A\u304D\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
@@ -384903,7 +384921,7 @@ var init_pt2 = __esm({
|
|
|
384903
384921
|
// ============================================================================
|
|
384904
384922
|
// Commands - General
|
|
384905
384923
|
// ============================================================================
|
|
384906
|
-
"Analyzes the project and creates a tailored
|
|
384924
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "Analisa o projeto e cria um arquivo VIVEKMIND.md personalizado.",
|
|
384907
384925
|
"List available VivekMind tools. Usage: /tools [desc]": "Listar ferramentas VivekMind dispon\xEDveis. Uso: /tools [desc]",
|
|
384908
384926
|
"List available skills.": "Listar habilidades dispon\xEDveis.",
|
|
384909
384927
|
"Available VivekMind CLI tools:": "Ferramentas CLI do VivekMind dispon\xEDveis:",
|
|
@@ -385165,7 +385183,7 @@ var init_pt2 = __esm({
|
|
|
385165
385183
|
local: "local",
|
|
385166
385184
|
remote: "remoto",
|
|
385167
385185
|
"This extension will add the following commands: {{commands}}.": "Esta extens\xE3o adicionar\xE1 os seguintes comandos: {{commands}}.",
|
|
385168
|
-
"This extension will append info to your
|
|
385186
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "Esta extens\xE3o anexar\xE1 informa\xE7\xF5es ao seu contexto VIVEKMIND.md usando {{fileName}}",
|
|
385169
385187
|
"This extension will exclude the following core tools: {{tools}}": "Esta extens\xE3o excluir\xE1 as seguintes ferramentas principais: {{tools}}",
|
|
385170
385188
|
"This extension will install the following skills:": "Esta extens\xE3o instalar\xE1 as seguintes habilidades:",
|
|
385171
385189
|
"This extension will install the following subagents:": "Esta extens\xE3o instalar\xE1 os seguintes subagentes:",
|
|
@@ -385571,7 +385589,7 @@ var init_pt2 = __esm({
|
|
|
385571
385589
|
"Please provide at least one path to add.": "Forne\xE7a pelo menos um caminho para adicionar.",
|
|
385572
385590
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "O comando /directory add n\xE3o \xE9 suportado em perfis de sandbox restritivos. Use --include-directories ao iniciar a sess\xE3o.",
|
|
385573
385591
|
"Error adding '{{path}}': {{error}}": "Erro ao adicionar '{{path}}': {{error}}",
|
|
385574
|
-
"Successfully added
|
|
385592
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "Arquivos VIVEKMIND.md adicionados com sucesso dos seguintes diret\xF3rios, se houverem:\n- {{directories}}",
|
|
385575
385593
|
"Error refreshing memory: {{error}}": "Erro ao atualizar mem\xF3ria: {{error}}",
|
|
385576
385594
|
"Successfully added directories:\n- {{directories}}": "Diret\xF3rios adicionados com sucesso:\n- {{directories}}",
|
|
385577
385595
|
"Current workspace directories:\n{{directories}}": "Diret\xF3rios atuais do workspace:\n{{directories}}",
|
|
@@ -385803,7 +385821,7 @@ var init_pt2 = __esm({
|
|
|
385803
385821
|
unknown: "desconhecido",
|
|
385804
385822
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "Falha ao trocar o modelo para '{{modelId}}'.\n\n{{error}}",
|
|
385805
385823
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 modelo h\xEDbrido eficiente com desempenho l\xEDder em programa\xE7\xE3o",
|
|
385806
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
385824
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "O modelo VivekMind Vision mais recente do Alibaba Cloud ModelStudio (vers\xE3o: vivekmind3-vl-plus-2025-09-23)",
|
|
385807
385825
|
// ============================================================================
|
|
385808
385826
|
// Dialogs - Permissions
|
|
385809
385827
|
// ============================================================================
|
|
@@ -385926,7 +385944,7 @@ var init_pt2 = __esm({
|
|
|
385926
385944
|
"You can switch permission mode quickly with Shift+Tab or /approval-mode.": "Voc\xEA pode alternar o modo de permiss\xE3o rapidamente com Shift+Tab ou /approval-mode.",
|
|
385927
385945
|
"Try /insight to generate personalized insights from your chat history.": "Experimente /insight para gerar insights personalizados do seu hist\xF3rico de conversas.",
|
|
385928
385946
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "Pressione Ctrl+O para alternar o modo compacto \u2014 ocultar sa\xEDda de ferramentas e racioc\xEDnio.",
|
|
385929
|
-
"Add a
|
|
385947
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "Adicione um arquivo VIVEKMIND.md para dar ao VivekMind um contexto persistente do projeto.",
|
|
385930
385948
|
"Use /btw to ask a quick side question without disrupting the conversation.": "Use /btw para fazer uma pergunta lateral r\xE1pida sem interromper a conversa.",
|
|
385931
385949
|
"Context is almost full! Run /compress now or start /new to continue.": "O contexto est\xE1 quase cheio! Execute /compress agora ou inicie /new para continuar.",
|
|
385932
385950
|
"Context is getting full. Use /compress to free up space.": "O contexto est\xE1 ficando cheio. Use /compress para liberar espa\xE7o.",
|
|
@@ -386413,7 +386431,7 @@ var init_ru2 = __esm({
|
|
|
386413
386431
|
// ============================================================================
|
|
386414
386432
|
// Команды - Общие
|
|
386415
386433
|
// ============================================================================
|
|
386416
|
-
"Analyzes the project and creates a tailored
|
|
386434
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "\u0410\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0430\u0434\u0430\u043F\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 VIVEKMIND.md",
|
|
386417
386435
|
"List available VivekMind tools. Usage: /tools [desc]": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 VivekMind. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /tools [desc]",
|
|
386418
386436
|
"List available skills.": "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043D\u0430\u0432\u044B\u043A\u0438.",
|
|
386419
386437
|
"Available VivekMind CLI tools:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B VivekMind CLI:",
|
|
@@ -386669,7 +386687,7 @@ var init_ru2 = __esm({
|
|
|
386669
386687
|
local: "\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439",
|
|
386670
386688
|
remote: "\u0443\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439",
|
|
386671
386689
|
"This extension will add the following commands: {{commands}}.": "\u042D\u0442\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B: {{commands}}.",
|
|
386672
|
-
"This extension will append info to your
|
|
386690
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "\u042D\u0442\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u0432 \u0432\u0430\u0448 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 VIVEKMIND.md \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E {{fileName}}",
|
|
386673
386691
|
"This extension will exclude the following core tools: {{tools}}": "\u042D\u0442\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0438\u0441\u043A\u043B\u044E\u0447\u0438\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B: {{tools}}",
|
|
386674
386692
|
"This extension will install the following skills:": "\u042D\u0442\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043D\u0430\u0432\u044B\u043A\u0438:",
|
|
386675
386693
|
"This extension will install the following subagents:": "\u042D\u0442\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u043E\u0434\u0430\u0433\u0435\u043D\u0442\u044B:",
|
|
@@ -387086,7 +387104,7 @@ var init_ru2 = __esm({
|
|
|
387086
387104
|
"Please provide at least one path to add.": "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0445\u043E\u0442\u044F \u0431\u044B \u043E\u0434\u0438\u043D \u043F\u0443\u0442\u044C \u0434\u043B\u044F \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u044F.",
|
|
387087
387105
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "\u041A\u043E\u043C\u0430\u043D\u0434\u0430 /directory add \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043F\u0440\u043E\u0444\u0438\u043B\u044F\u0445 \u043F\u0435\u0441\u043E\u0447\u043D\u0438\u0446\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 --include-directories \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 \u0441\u0435\u0441\u0441\u0438\u0438.",
|
|
387088
387106
|
"Error adding '{{path}}': {{error}}": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0438 '{{path}}': {{error}}",
|
|
387089
|
-
"Successfully added
|
|
387107
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0444\u0430\u0439\u043B\u044B VIVEKMIND.md \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0439 (\u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u0435\u0441\u0442\u044C):\n- {{directories}}",
|
|
387090
387108
|
"Error refreshing memory: {{error}}": "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 \u043F\u0430\u043C\u044F\u0442\u0438: {{error}}",
|
|
387091
387109
|
"Successfully added directories:\n- {{directories}}": "\u0423\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438:\n- {{directories}}",
|
|
387092
387110
|
"Current workspace directories:\n{{directories}}": "\u0422\u0435\u043A\u0443\u0449\u0438\u0435 \u0434\u0438\u0440\u0435\u043A\u0442\u043E\u0440\u0438\u0438 \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0430:\n{{directories}}",
|
|
@@ -387259,7 +387277,7 @@ var init_ru2 = __esm({
|
|
|
387259
387277
|
unknown: "\u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E",
|
|
387260
387278
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C\u0441\u044F \u043D\u0430 \u043C\u043E\u0434\u0435\u043B\u044C '{{modelId}}'.\n\n{{error}}",
|
|
387261
387279
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u0433\u0438\u0431\u0440\u0438\u0434\u043D\u0430\u044F \u043C\u043E\u0434\u0435\u043B\u044C \u0441 \u043B\u0438\u0434\u0438\u0440\u0443\u044E\u0449\u0435\u0439 \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C\u044E \u0432 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0438",
|
|
387262
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
387280
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u043C\u043E\u0434\u0435\u043B\u044C VivekMind Vision \u043E\u0442 Alibaba Cloud ModelStudio (\u0432\u0435\u0440\u0441\u0438\u044F: vivekmind3-vl-plus-2025-09-23)",
|
|
387263
387281
|
// ============================================================================
|
|
387264
387282
|
// Диалоги - Разрешения
|
|
387265
387283
|
// ============================================================================
|
|
@@ -387619,7 +387637,7 @@ var init_ru2 = __esm({
|
|
|
387619
387637
|
"You can switch permission mode quickly with Tab or /approval-mode.": "\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0431\u044B\u0441\u0442\u0440\u043E \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0439 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E Tab \u0438\u043B\u0438 /approval-mode.",
|
|
387620
387638
|
"Try /insight to generate personalized insights from your chat history.": "\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 /insight, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0432\u044B\u0432\u043E\u0434\u044B \u0438\u0437 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0447\u0430\u0442\u043E\u0432.",
|
|
387621
387639
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Ctrl+O \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u043F\u0430\u043A\u0442\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430 \u2014 \u0441\u043A\u0440\u044B\u0442\u044C \u0432\u044B\u0432\u043E\u0434 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0438 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u044F.",
|
|
387622
|
-
"Add a
|
|
387640
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0444\u0430\u0439\u043B VIVEKMIND.md, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C VivekMind \u043F\u043E\u0441\u0442\u043E\u044F\u043D\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u043F\u0440\u043E\u0435\u043A\u0442\u0430.",
|
|
387623
387641
|
"Use /btw to ask a quick side question without disrupting the conversation.": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 /btw, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u0440\u043E\u0442\u043A\u0438\u0439 \u043F\u043E\u0431\u043E\u0447\u043D\u044B\u0439 \u0432\u043E\u043F\u0440\u043E\u0441, \u043D\u0435 \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u044F \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440.",
|
|
387624
387642
|
"Context is almost full! Run /compress now or start /new to continue.": "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u043F\u043E\u0447\u0442\u0438 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D! \u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 /compress \u0441\u0435\u0439\u0447\u0430\u0441 \u0438\u043B\u0438 \u043D\u0430\u0447\u043D\u0438\u0442\u0435 /new, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C.",
|
|
387625
387643
|
"Context is getting full. Use /compress to free up space.": "\u041A\u043E\u043D\u0442\u0435\u043A\u0441\u0442 \u0437\u0430\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 /compress, \u0447\u0442\u043E\u0431\u044B \u043E\u0441\u0432\u043E\u0431\u043E\u0434\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E.",
|
|
@@ -387926,7 +387944,7 @@ var init_zh_TW2 = __esm({
|
|
|
387926
387944
|
Proxy: "\u4EE3\u7406",
|
|
387927
387945
|
"Memory Usage": "\u5167\u5B58\u4F7F\u7528",
|
|
387928
387946
|
"IDE Client": "IDE \u5BA2\u6236\u7AEF",
|
|
387929
|
-
"Analyzes the project and creates a tailored
|
|
387947
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "\u5206\u6790\u9805\u76EE\u4E26\u5275\u5EFA\u5B9A\u88FD\u7684 VIVEKMIND.md \u6587\u4EF6",
|
|
387930
387948
|
"List available VivekMind tools. Usage: /tools [desc]": "\u5217\u51FA\u53EF\u7528\u7684 VivekMind \u5DE5\u5177\u3002\u7528\u6CD5\uFF1A/tools [desc]",
|
|
387931
387949
|
"List available skills.": "\u5217\u51FA\u53EF\u7528\u6280\u80FD\u3002",
|
|
387932
387950
|
"Available VivekMind CLI tools:": "\u53EF\u7528\u7684 VivekMind CLI \u5DE5\u5177\uFF1A",
|
|
@@ -388216,7 +388234,7 @@ var init_zh_TW2 = __esm({
|
|
|
388216
388234
|
local: "\u672C\u5730",
|
|
388217
388235
|
remote: "\u9060\u7A0B",
|
|
388218
388236
|
"This extension will add the following commands: {{commands}}.": "\u6B64\u64F4\u5C55\u5C07\u6DFB\u52A0\u4EE5\u4E0B\u547D\u4EE4\uFF1A{{commands}}\u3002",
|
|
388219
|
-
"This extension will append info to your
|
|
388237
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "\u6B64\u64F4\u5C55\u5C07\u4F7F\u7528 {{fileName}} \u5411\u60A8\u7684 VIVEKMIND.md \u4E0A\u4E0B\u6587\u8FFD\u52A0\u4FE1\u606F",
|
|
388220
388238
|
"This extension will exclude the following core tools: {{tools}}": "\u6B64\u64F4\u5C55\u5C07\u6392\u9664\u4EE5\u4E0B\u6838\u5FC3\u5DE5\u5177\uFF1A{{tools}}",
|
|
388221
388239
|
"This extension will install the following skills:": "\u6B64\u64F4\u5C55\u5C07\u5B89\u88DD\u4EE5\u4E0B\u6280\u80FD\uFF1A",
|
|
388222
388240
|
"This extension will install the following subagents:": "\u6B64\u64F4\u5C55\u5C07\u5B89\u88DD\u4EE5\u4E0B\u5B50\u667A\u80FD\u9AD4\uFF1A",
|
|
@@ -388659,7 +388677,7 @@ var init_zh_TW2 = __esm({
|
|
|
388659
388677
|
"Please provide at least one path to add.": "\u8ACB\u63D0\u4F9B\u81F3\u5C11\u4E00\u500B\u8981\u6DFB\u52A0\u7684\u8DEF\u5F91\u3002",
|
|
388660
388678
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "/directory add \u547D\u4EE4\u5728\u9650\u5236\u6027\u6C99\u7BB1\u914D\u7F6E\u6587\u4EF6\u4E2D\u4E0D\u53D7\u652F\u6301\u3002\u8ACB\u6539\u7232\u5728\u5553\u52D5\u6703\u8A71\u6642\u4F7F\u7528 --include-directories\u3002",
|
|
388661
388679
|
"Error adding '{{path}}': {{error}}": "\u6DFB\u52A0 '{{path}}' \u6642\u51FA\u932F\uFF1A{{error}}",
|
|
388662
|
-
"Successfully added
|
|
388680
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "\u5982\u679C\u5B58\u5728\uFF0C\u5DF2\u6210\u529F\u5F9E\u4EE5\u4E0B\u76EE\u9304\u6DFB\u52A0 VIVEKMIND.md \u6587\u4EF6\uFF1A\n- {{directories}}",
|
|
388663
388681
|
"Error refreshing memory: {{error}}": "\u5237\u65B0\u5167\u5B58\u6642\u51FA\u932F\uFF1A{{error}}",
|
|
388664
388682
|
"Successfully added directories:\n- {{directories}}": "\u6210\u529F\u6DFB\u52A0\u76EE\u9304\uFF1A\n- {{directories}}",
|
|
388665
388683
|
"Current workspace directories:\n{{directories}}": "\u7576\u524D\u5DE5\u4F5C\u5340\u76EE\u9304\uFF1A\n{{directories}}",
|
|
@@ -388784,7 +388802,7 @@ var init_zh_TW2 = __esm({
|
|
|
388784
388802
|
unknown: "\u672A\u77E5",
|
|
388785
388803
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "\u7121\u6CD5\u5207\u63DB\u5230\u6A21\u578B '{{modelId}}'.\n\n{{error}}",
|
|
388786
388804
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 \u9AD8\u6548\u6DF7\u5408\u67B6\u69CB\uFF0C\u7DE8\u7A0B\u6027\u80FD\u696D\u754C\u9818\u5148",
|
|
388787
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
388805
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "\u4F86\u81EA\u963F\u91CC\u96F2 ModelStudio \u7684\u6700\u65B0 VivekMind Vision \u6A21\u578B\uFF08\u7248\u672C\uFF1Avivekmind3-vl-plus-2025-09-23\uFF09",
|
|
388788
388806
|
"Manage folder trust settings": "\u7BA1\u7406\u6587\u4EF6\u593E\u4FE1\u4EFB\u8A2D\u7F6E",
|
|
388789
388807
|
"Manage permission rules": "\u7BA1\u7406\u6B0A\u9650\u898F\u5247",
|
|
388790
388808
|
Allow: "\u5141\u8A31",
|
|
@@ -388895,7 +388913,7 @@ var init_zh_TW2 = __esm({
|
|
|
388895
388913
|
"You can switch permission mode quickly with Tab or /approval-mode.": "\u6309 Tab \u6216\u8F38\u5165 /approval-mode \u53EF\u5FEB\u901F\u5207\u63DB\u6B0A\u9650\u6A21\u5F0F\u3002",
|
|
388896
388914
|
"Try /insight to generate personalized insights from your chat history.": "\u8A66\u8A66 /insight\uFF0C\u5F9E\u804A\u5929\u8A18\u9304\u4E2D\u751F\u6210\u500B\u6027\u5316\u6D1E\u5BDF\u3002",
|
|
388897
388915
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "\u6309 Ctrl+O \u5207\u63DB\u7DCA\u6E4A\u6A21\u5F0F \u2500\u2500 \u96B1\u85CF\u5DE5\u5177\u8F38\u51FA\u548C\u601D\u8003\u904E\u7A0B\uFF0C\u754C\u9762\u66F4\u7C21\u6F54\u3002",
|
|
388898
|
-
"Add a
|
|
388916
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "\u6DFB\u52A0 VIVEKMIND.md \u6587\u4EF6\uFF0C\u7232 VivekMind \u63D0\u4F9B\u6301\u4E45\u7684\u9805\u76EE\u4E0A\u4E0B\u6587\u3002",
|
|
388899
388917
|
"Use /btw to ask a quick side question without disrupting the conversation.": "\u7528 /btw \u5FEB\u901F\u554F\u4E00\u500B\u5C0F\u554F\u984C\uFF0C\u4E0D\u6703\u6253\u65B7\u7576\u524D\u5C0D\u8A71\u3002",
|
|
388900
388918
|
"Context is almost full! Run /compress now or start /new to continue.": "\u4E0A\u4E0B\u6587\u5373\u5C07\u7528\u6EFF\uFF01\u8ACB\u7ACB\u5373\u57F7\u884C /compress \u6216\u4F7F\u7528 /new \u958B\u5553\u65B0\u6703\u8A71\u3002",
|
|
388901
388919
|
"Context is getting full. Use /compress to free up space.": "\u4E0A\u4E0B\u6587\u7A7A\u9593\u4E0D\u8DB3\uFF0C\u7528 /compress \u91CB\u653E\u7A7A\u9593\u3002",
|
|
@@ -389246,7 +389264,7 @@ var init_zh = __esm({
|
|
|
389246
389264
|
// ============================================================================
|
|
389247
389265
|
// Commands - General
|
|
389248
389266
|
// ============================================================================
|
|
389249
|
-
"Analyzes the project and creates a tailored
|
|
389267
|
+
"Analyzes the project and creates a tailored VIVEKMIND.md file.": "\u5206\u6790\u9879\u76EE\u5E76\u521B\u5EFA\u5B9A\u5236\u7684 VIVEKMIND.md \u6587\u4EF6",
|
|
389250
389268
|
"List available VivekMind tools. Usage: /tools [desc]": "\u5217\u51FA\u53EF\u7528\u7684 VivekMind \u5DE5\u5177\u3002\u7528\u6CD5\uFF1A/tools [desc]",
|
|
389251
389269
|
"List available skills.": "\u5217\u51FA\u53EF\u7528\u6280\u80FD\u3002",
|
|
389252
389270
|
"Available VivekMind CLI tools:": "\u53EF\u7528\u7684 VivekMind CLI \u5DE5\u5177\uFF1A",
|
|
@@ -389559,7 +389577,7 @@ var init_zh = __esm({
|
|
|
389559
389577
|
local: "\u672C\u5730",
|
|
389560
389578
|
remote: "\u8FDC\u7A0B",
|
|
389561
389579
|
"This extension will add the following commands: {{commands}}.": "\u6B64\u6269\u5C55\u5C06\u6DFB\u52A0\u4EE5\u4E0B\u547D\u4EE4\uFF1A{{commands}}\u3002",
|
|
389562
|
-
"This extension will append info to your
|
|
389580
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}": "\u6B64\u6269\u5C55\u5C06\u4F7F\u7528 {{fileName}} \u5411\u60A8\u7684 VIVEKMIND.md \u4E0A\u4E0B\u6587\u8FFD\u52A0\u4FE1\u606F",
|
|
389563
389581
|
"This extension will exclude the following core tools: {{tools}}": "\u6B64\u6269\u5C55\u5C06\u6392\u9664\u4EE5\u4E0B\u6838\u5FC3\u5DE5\u5177\uFF1A{{tools}}",
|
|
389564
389582
|
"This extension will install the following skills:": "\u6B64\u6269\u5C55\u5C06\u5B89\u88C5\u4EE5\u4E0B\u6280\u80FD\uFF1A",
|
|
389565
389583
|
"This extension will install the following subagents:": "\u6B64\u6269\u5C55\u5C06\u5B89\u88C5\u4EE5\u4E0B\u5B50\u667A\u80FD\u4F53\uFF1A",
|
|
@@ -390068,7 +390086,7 @@ var init_zh = __esm({
|
|
|
390068
390086
|
"Please provide at least one path to add.": "\u8BF7\u63D0\u4F9B\u81F3\u5C11\u4E00\u4E2A\u8981\u6DFB\u52A0\u7684\u8DEF\u5F84\u3002",
|
|
390069
390087
|
"The /directory add command is not supported in restrictive sandbox profiles. Please use --include-directories when starting the session instead.": "/directory add \u547D\u4EE4\u5728\u9650\u5236\u6027\u6C99\u7BB1\u914D\u7F6E\u6587\u4EF6\u4E2D\u4E0D\u53D7\u652F\u6301\u3002\u8BF7\u6539\u4E3A\u5728\u542F\u52A8\u4F1A\u8BDD\u65F6\u4F7F\u7528 --include-directories\u3002",
|
|
390070
390088
|
"Error adding '{{path}}': {{error}}": "\u6DFB\u52A0 '{{path}}' \u65F6\u51FA\u9519\uFF1A{{error}}",
|
|
390071
|
-
"Successfully added
|
|
390089
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}": "\u5982\u679C\u5B58\u5728\uFF0C\u5DF2\u6210\u529F\u4ECE\u4EE5\u4E0B\u76EE\u5F55\u6DFB\u52A0 VIVEKMIND.md \u6587\u4EF6\uFF1A\n- {{directories}}",
|
|
390072
390090
|
"Error refreshing memory: {{error}}": "\u5237\u65B0\u5185\u5B58\u65F6\u51FA\u9519\uFF1A{{error}}",
|
|
390073
390091
|
"Successfully added directories:\n- {{directories}}": "\u6210\u529F\u6DFB\u52A0\u76EE\u5F55\uFF1A\n- {{directories}}",
|
|
390074
390092
|
"Current workspace directories:\n{{directories}}": "\u5F53\u524D\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A\n{{directories}}",
|
|
@@ -390213,7 +390231,7 @@ var init_zh = __esm({
|
|
|
390213
390231
|
unknown: "\u672A\u77E5",
|
|
390214
390232
|
"Failed to switch model to '{{modelId}}'.\n\n{{error}}": "\u65E0\u6CD5\u5207\u6362\u5230\u6A21\u578B '{{modelId}}'.\n\n{{error}}",
|
|
390215
390233
|
"VivekMind 3.6 Plus \u2014 efficient hybrid model with leading coding performance": "VivekMind 3.6 Plus \u2014 \u9AD8\u6548\u6DF7\u5408\u67B6\u6784\uFF0C\u7F16\u7A0B\u6027\u80FD\u4E1A\u754C\u9886\u5148",
|
|
390216
|
-
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version:
|
|
390234
|
+
"The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: vivekmind3-vl-plus-2025-09-23)": "\u6765\u81EA\u963F\u91CC\u4E91 ModelStudio \u7684\u6700\u65B0 VivekMind Vision \u6A21\u578B\uFF08\u7248\u672C\uFF1Avivekmind3-vl-plus-2025-09-23\uFF09",
|
|
390217
390235
|
// ============================================================================
|
|
390218
390236
|
// Dialogs - Permissions
|
|
390219
390237
|
// ============================================================================
|
|
@@ -390337,7 +390355,7 @@ var init_zh = __esm({
|
|
|
390337
390355
|
"You can switch permission mode quickly with Tab or /approval-mode.": "\u6309 Tab \u6216\u8F93\u5165 /approval-mode \u53EF\u5FEB\u901F\u5207\u6362\u6743\u9650\u6A21\u5F0F\u3002",
|
|
390338
390356
|
"Try /insight to generate personalized insights from your chat history.": "\u8BD5\u8BD5 /insight\uFF0C\u4ECE\u804A\u5929\u8BB0\u5F55\u4E2D\u751F\u6210\u4E2A\u6027\u5316\u6D1E\u5BDF\u3002",
|
|
390339
390357
|
"Press Ctrl+O to toggle compact mode \u2014 hide tool output and thinking for a cleaner view.": "\u6309 Ctrl+O \u5207\u6362\u7D27\u51D1\u6A21\u5F0F \u2500\u2500 \u9690\u85CF\u5DE5\u5177\u8F93\u51FA\u548C\u601D\u8003\u8FC7\u7A0B\uFF0C\u754C\u9762\u66F4\u7B80\u6D01\u3002",
|
|
390340
|
-
"Add a
|
|
390358
|
+
"Add a VIVEKMIND.md file to give VivekMind persistent project context.": "\u6DFB\u52A0 VIVEKMIND.md \u6587\u4EF6\uFF0C\u4E3A VivekMind \u63D0\u4F9B\u6301\u4E45\u7684\u9879\u76EE\u4E0A\u4E0B\u6587\u3002",
|
|
390341
390359
|
"Use /btw to ask a quick side question without disrupting the conversation.": "\u7528 /btw \u5FEB\u901F\u95EE\u4E00\u4E2A\u5C0F\u95EE\u9898\uFF0C\u4E0D\u4F1A\u6253\u65AD\u5F53\u524D\u5BF9\u8BDD\u3002",
|
|
390342
390360
|
"Context is almost full! Run /compress now or start /new to continue.": "\u4E0A\u4E0B\u6587\u5373\u5C06\u7528\u6EE1\uFF01\u8BF7\u7ACB\u5373\u6267\u884C /compress \u6216\u4F7F\u7528 /new \u5F00\u542F\u65B0\u4F1A\u8BDD\u3002",
|
|
390343
390361
|
"Context is getting full. Use /compress to free up space.": "\u4E0A\u4E0B\u6587\u7A7A\u95F4\u4E0D\u8DB3\uFF0C\u7528 /compress \u91CA\u653E\u7A7A\u95F4\u3002",
|
|
@@ -467989,7 +468007,7 @@ var require_react_is_development = __commonJS({
|
|
|
467989
468007
|
var ContextProvider = REACT_PROVIDER_TYPE;
|
|
467990
468008
|
var Element2 = REACT_ELEMENT_TYPE;
|
|
467991
468009
|
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
|
467992
|
-
var
|
|
468010
|
+
var Fragment28 = REACT_FRAGMENT_TYPE;
|
|
467993
468011
|
var Lazy = REACT_LAZY_TYPE;
|
|
467994
468012
|
var Memo = REACT_MEMO_TYPE;
|
|
467995
468013
|
var Portal = REACT_PORTAL_TYPE;
|
|
@@ -468061,7 +468079,7 @@ var require_react_is_development = __commonJS({
|
|
|
468061
468079
|
exports2.ContextProvider = ContextProvider;
|
|
468062
468080
|
exports2.Element = Element2;
|
|
468063
468081
|
exports2.ForwardRef = ForwardRef;
|
|
468064
|
-
exports2.Fragment =
|
|
468082
|
+
exports2.Fragment = Fragment28;
|
|
468065
468083
|
exports2.Lazy = Lazy;
|
|
468066
468084
|
exports2.Memo = Memo;
|
|
468067
468085
|
exports2.Portal = Portal;
|
|
@@ -493160,7 +493178,7 @@ function extensionConsentString(extensionConfig, commands5 = [], skills = [], su
|
|
|
493160
493178
|
const fileName = Array.isArray(extensionConfig.contextFileName) ? extensionConfig.contextFileName.join(", ") : extensionConfig.contextFileName;
|
|
493161
493179
|
output.push(
|
|
493162
493180
|
t4(
|
|
493163
|
-
"This extension will append info to your
|
|
493181
|
+
"This extension will append info to your VIVEKMIND.md context using {{fileName}}",
|
|
493164
493182
|
{ fileName }
|
|
493165
493183
|
)
|
|
493166
493184
|
);
|
|
@@ -499151,8 +499169,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499151
499169
|
if (region === "china" /* CHINA */) {
|
|
499152
499170
|
return [
|
|
499153
499171
|
{
|
|
499154
|
-
id: "
|
|
499155
|
-
name: "[ModelStudio Coding Plan]
|
|
499172
|
+
id: "vivekmind3.5-plus",
|
|
499173
|
+
name: "[ModelStudio Coding Plan] vivekmind3.5-plus",
|
|
499156
499174
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
499157
499175
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499158
499176
|
generationConfig: {
|
|
@@ -499163,8 +499181,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499163
499181
|
}
|
|
499164
499182
|
},
|
|
499165
499183
|
{
|
|
499166
|
-
id: "
|
|
499167
|
-
name: "[ModelStudio Coding Plan]
|
|
499184
|
+
id: "vivekmind3.6-plus",
|
|
499185
|
+
name: "[ModelStudio Coding Plan] vivekmind3.6-plus",
|
|
499168
499186
|
description: "Currently available to Pro subscribers only.",
|
|
499169
499187
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
499170
499188
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
@@ -499212,8 +499230,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499212
499230
|
}
|
|
499213
499231
|
},
|
|
499214
499232
|
{
|
|
499215
|
-
id: "
|
|
499216
|
-
name: "[ModelStudio Coding Plan]
|
|
499233
|
+
id: "vivekmind3-coder-plus",
|
|
499234
|
+
name: "[ModelStudio Coding Plan] vivekmind3-coder-plus",
|
|
499217
499235
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
499218
499236
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499219
499237
|
generationConfig: {
|
|
@@ -499221,8 +499239,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499221
499239
|
}
|
|
499222
499240
|
},
|
|
499223
499241
|
{
|
|
499224
|
-
id: "
|
|
499225
|
-
name: "[ModelStudio Coding Plan]
|
|
499242
|
+
id: "vivekmind3-coder-next",
|
|
499243
|
+
name: "[ModelStudio Coding Plan] vivekmind3-coder-next",
|
|
499226
499244
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
499227
499245
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499228
499246
|
generationConfig: {
|
|
@@ -499230,8 +499248,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499230
499248
|
}
|
|
499231
499249
|
},
|
|
499232
499250
|
{
|
|
499233
|
-
id: "
|
|
499234
|
-
name: "[ModelStudio Coding Plan]
|
|
499251
|
+
id: "vivekmind3-max-2026-01-23",
|
|
499252
|
+
name: "[ModelStudio Coding Plan] vivekmind3-max-2026-01-23",
|
|
499235
499253
|
baseUrl: "https://coding.dashscope.aliyuncs.com/v1",
|
|
499236
499254
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499237
499255
|
generationConfig: {
|
|
@@ -499257,8 +499275,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499257
499275
|
}
|
|
499258
499276
|
return [
|
|
499259
499277
|
{
|
|
499260
|
-
id: "
|
|
499261
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
499278
|
+
id: "vivekmind3.5-plus",
|
|
499279
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3.5-plus",
|
|
499262
499280
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
499263
499281
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499264
499282
|
generationConfig: {
|
|
@@ -499269,8 +499287,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499269
499287
|
}
|
|
499270
499288
|
},
|
|
499271
499289
|
{
|
|
499272
|
-
id: "
|
|
499273
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
499290
|
+
id: "vivekmind3.6-plus",
|
|
499291
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3.6-plus",
|
|
499274
499292
|
description: "Currently available to Pro subscribers only.",
|
|
499275
499293
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
499276
499294
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
@@ -499282,8 +499300,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499282
499300
|
}
|
|
499283
499301
|
},
|
|
499284
499302
|
{
|
|
499285
|
-
id: "
|
|
499286
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
499303
|
+
id: "vivekmind3-coder-plus",
|
|
499304
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-coder-plus",
|
|
499287
499305
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
499288
499306
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499289
499307
|
generationConfig: {
|
|
@@ -499291,8 +499309,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499291
499309
|
}
|
|
499292
499310
|
},
|
|
499293
499311
|
{
|
|
499294
|
-
id: "
|
|
499295
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
499312
|
+
id: "vivekmind3-coder-next",
|
|
499313
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-coder-next",
|
|
499296
499314
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
499297
499315
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499298
499316
|
generationConfig: {
|
|
@@ -499300,8 +499318,8 @@ function generateCodingPlanTemplate2(region) {
|
|
|
499300
499318
|
}
|
|
499301
499319
|
},
|
|
499302
499320
|
{
|
|
499303
|
-
id: "
|
|
499304
|
-
name: "[ModelStudio Coding Plan for Global/Intl]
|
|
499321
|
+
id: "vivekmind3-max-2026-01-23",
|
|
499322
|
+
name: "[ModelStudio Coding Plan for Global/Intl] vivekmind3-max-2026-01-23",
|
|
499305
499323
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
499306
499324
|
envKey: CODING_PLAN_ENV_KEY2,
|
|
499307
499325
|
generationConfig: {
|
|
@@ -499737,7 +499755,7 @@ function buildOpenRouterHeaders() {
|
|
|
499737
499755
|
};
|
|
499738
499756
|
}
|
|
499739
499757
|
__name(buildOpenRouterHeaders, "buildOpenRouterHeaders");
|
|
499740
|
-
var OPENROUTER_MODEL_PRIORITY_PREFIXES = ["
|
|
499758
|
+
var OPENROUTER_MODEL_PRIORITY_PREFIXES = ["vivekmind/", "glm/", "minimax/"];
|
|
499741
499759
|
var OPENROUTER_RECOMMENDED_MODEL_LIMIT = 16;
|
|
499742
499760
|
var OPENROUTER_FREE_MODEL_ID_HINT = ":free";
|
|
499743
499761
|
function getPreferredOpenRouterModelId(models) {
|
|
@@ -500555,7 +500573,7 @@ __name(handleAlibabaStandardApiKeyAuth, "handleAlibabaStandardApiKeyAuth");
|
|
|
500555
500573
|
function handleCustomApiKeyAuth() {
|
|
500556
500574
|
writeStdoutLine(
|
|
500557
500575
|
t4(
|
|
500558
|
-
"\nYou can configure your API key and models in settings.json.\nRefer to the documentation for setup instructions:\n https://
|
|
500576
|
+
"\nYou can configure your API key and models in settings.json.\nRefer to the documentation for setup instructions:\n https://vivekmindlm.github.io/vivekmind-docs/en/users/configuration/model-providers/\n"
|
|
500559
500577
|
)
|
|
500560
500578
|
);
|
|
500561
500579
|
process.exit(0);
|
|
@@ -500591,7 +500609,7 @@ async function promptForStandardRegion() {
|
|
|
500591
500609
|
}
|
|
500592
500610
|
__name(promptForStandardRegion, "promptForStandardRegion");
|
|
500593
500611
|
async function promptForModelIds() {
|
|
500594
|
-
const defaultModels = "
|
|
500612
|
+
const defaultModels = "vivekmind3.5-plus,glm-5,kimi-k2.5";
|
|
500595
500613
|
return promptForInput(
|
|
500596
500614
|
t4("Enter model IDs (comma-separated, default: {{default}}): ", {
|
|
500597
500615
|
default: defaultModels
|
|
@@ -501307,7 +501325,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
501307
501325
|
// packages/cli/src/utils/version.ts
|
|
501308
501326
|
async function getCliVersion() {
|
|
501309
501327
|
const pkgJson = await getPackageJson();
|
|
501310
|
-
return "0.
|
|
501328
|
+
return "1.0.1";
|
|
501311
501329
|
}
|
|
501312
501330
|
__name(getCliVersion, "getCliVersion");
|
|
501313
501331
|
|
|
@@ -508079,14 +508097,14 @@ ${section}`);
|
|
|
508079
508097
|
loaded.push("AGENTS.md");
|
|
508080
508098
|
}
|
|
508081
508099
|
}
|
|
508082
|
-
const contextMd = showFile(baseRef, "
|
|
508100
|
+
const contextMd = showFile(baseRef, "VIVEKMIND.md");
|
|
508083
508101
|
if (contextMd) {
|
|
508084
508102
|
const section = extractCodeReviewSection(contextMd);
|
|
508085
508103
|
if (section) {
|
|
508086
|
-
sections.push(`### From
|
|
508104
|
+
sections.push(`### From VIVEKMIND.md
|
|
508087
508105
|
|
|
508088
508106
|
${section}`);
|
|
508089
|
-
loaded.push("
|
|
508107
|
+
loaded.push("VIVEKMIND.md");
|
|
508090
508108
|
}
|
|
508091
508109
|
}
|
|
508092
508110
|
return {
|
|
@@ -508111,7 +508129,7 @@ async function runLoadRules(args2) {
|
|
|
508111
508129
|
__name(runLoadRules, "runLoadRules");
|
|
508112
508130
|
var loadRulesCommand = {
|
|
508113
508131
|
command: "load-rules <base_ref>",
|
|
508114
|
-
describe: "Read project review rules from the base branch (.vivekmind/review-rules.md, .github/copilot-instructions.md, AGENTS.md,
|
|
508132
|
+
describe: "Read project review rules from the base branch (.vivekmind/review-rules.md, .github/copilot-instructions.md, AGENTS.md, VIVEKMIND.md) and write a combined Markdown file",
|
|
508115
508133
|
builder: /* @__PURE__ */ __name((yargs) => yargs.positional("base_ref", {
|
|
508116
508134
|
type: "string",
|
|
508117
508135
|
demandOption: true,
|
|
@@ -511153,7 +511171,7 @@ var XCode = new Theme(
|
|
|
511153
511171
|
xcodeColors
|
|
511154
511172
|
);
|
|
511155
511173
|
|
|
511156
|
-
// packages/cli/src/ui/themes/
|
|
511174
|
+
// packages/cli/src/ui/themes/vivekmind-light.ts
|
|
511157
511175
|
init_esbuild_shims();
|
|
511158
511176
|
init_theme();
|
|
511159
511177
|
|
|
@@ -511260,7 +511278,7 @@ var ansiSemanticColors = {
|
|
|
511260
511278
|
}
|
|
511261
511279
|
};
|
|
511262
511280
|
|
|
511263
|
-
// packages/cli/src/ui/themes/
|
|
511281
|
+
// packages/cli/src/ui/themes/vivekmind-light.ts
|
|
511264
511282
|
var vivekmindLightColors = {
|
|
511265
511283
|
type: "light",
|
|
511266
511284
|
Background: "#f8f9fa",
|
|
@@ -511393,7 +511411,7 @@ var VivekMindLight = new Theme(
|
|
|
511393
511411
|
lightSemanticColors
|
|
511394
511412
|
);
|
|
511395
511413
|
|
|
511396
|
-
// packages/cli/src/ui/themes/
|
|
511414
|
+
// packages/cli/src/ui/themes/vivekmind-dark.ts
|
|
511397
511415
|
init_esbuild_shims();
|
|
511398
511416
|
init_theme();
|
|
511399
511417
|
var vivekmindDarkColors = {
|
|
@@ -512976,7 +512994,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds, options2) => {
|
|
|
512976
512994
|
|
|
512977
512995
|
// packages/cli/src/generated/git-commit.ts
|
|
512978
512996
|
init_esbuild_shims();
|
|
512979
|
-
var GIT_COMMIT_INFO = "
|
|
512997
|
+
var GIT_COMMIT_INFO = "97ca1a8d7";
|
|
512980
512998
|
|
|
512981
512999
|
// packages/cli/src/utils/systemInfo.ts
|
|
512982
513000
|
async function getNpmVersion() {
|
|
@@ -513017,7 +513035,7 @@ function getSandboxEnv(stripPrefix = false) {
|
|
|
513017
513035
|
return "no sandbox";
|
|
513018
513036
|
}
|
|
513019
513037
|
if (stripPrefix) {
|
|
513020
|
-
return sandbox.replace(/^(?:vivekmind|
|
|
513038
|
+
return sandbox.replace(/^(?:vivekmind|vivekmind)-(?:code-)?/, "");
|
|
513021
513039
|
}
|
|
513022
513040
|
return sandbox;
|
|
513023
513041
|
}
|
|
@@ -513658,7 +513676,7 @@ function buildArenaExecutionInput(parsed, config2) {
|
|
|
513658
513676
|
return {
|
|
513659
513677
|
type: "message",
|
|
513660
513678
|
messageType: "error",
|
|
513661
|
-
content: 'Usage: /arena start --models model1,model2 <task>\n\nOptions:\n --models [authType:]model1,[authType:]model2\n Models to compete (required, at least 2)\n Format: authType:modelId or just modelId\n\nExamples:\n /arena start --models openai:gpt-4o,anthropic:claude-3 "implement sorting"\n /arena start --models
|
|
513679
|
+
content: 'Usage: /arena start --models model1,model2 <task>\n\nOptions:\n --models [authType:]model1,[authType:]model2\n Models to compete (required, at least 2)\n Format: authType:modelId or just modelId\n\nExamples:\n /arena start --models openai:gpt-4o,anthropic:claude-3 "implement sorting"\n /arena start --models vivekmind-clir-plus,kimi-for-coding "fix the bug"'
|
|
513662
513680
|
};
|
|
513663
513681
|
}
|
|
513664
513682
|
if (parsed.models.length < 2) {
|
|
@@ -515150,7 +515168,7 @@ var docsCommand = {
|
|
|
515150
515168
|
supportedModes: ["interactive", "non_interactive", "acp"],
|
|
515151
515169
|
action: /* @__PURE__ */ __name(async (context2) => {
|
|
515152
515170
|
const langPath = getCurrentLanguage()?.startsWith("zh") ? "zh" : "en";
|
|
515153
|
-
const docsUrl = `https://
|
|
515171
|
+
const docsUrl = `https://vivekmindlm.github.io/vivekmind-docs/${langPath}`;
|
|
515154
515172
|
if (context2.executionMode !== "interactive") {
|
|
515155
515173
|
return {
|
|
515156
515174
|
type: "message",
|
|
@@ -515771,7 +515789,7 @@ var directoryCommand = {
|
|
|
515771
515789
|
{
|
|
515772
515790
|
type: "info" /* INFO */,
|
|
515773
515791
|
text: t4(
|
|
515774
|
-
"Successfully added
|
|
515792
|
+
"Successfully added VIVEKMIND.md files from the following directories if there are:\n- {{directories}}",
|
|
515775
515793
|
{
|
|
515776
515794
|
directories: added.join("\n- ")
|
|
515777
515795
|
}
|
|
@@ -517426,7 +517444,7 @@ var INSIGHT_CSS = '*,:before,:after,::backdrop{--tw-border-spacing-x: 0;--tw-bor
|
|
|
517426
517444
|
|
|
517427
517445
|
// packages/web-templates/src/generated/exportHtmlTemplate.js
|
|
517428
517446
|
init_esbuild_shims();
|
|
517429
|
-
var HTML_TEMPLATE = '<!doctype html>\n<html lang="en" class="dark">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <link\n rel="icon"\n type="image/svg+xml"\n href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20141.38%20140%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill%3D%22%23000000%22%0A%20%20%20%20d%3D%22m140.93%2085-16.35-28.33-1.93-3.34%208.66-15a3.323%203.323%200%200%200%200-3.34l-9.62-16.67c-.3-.51-.72-.93-1.22-1.22s-1.07-.45-1.67-.45H82.23l-8.66-15a3.33%203.33%200%200%200-2.89-1.67H51.43c-.59%200-1.17.16-1.66.45-.5.29-.92.71-1.22%201.22L32.19%2029.98l-1.92%203.33H12.96c-.59%200-1.17.16-1.66.45-.5.29-.93.71-1.22%201.22L.45%2051.66a3.323%203.323%200%200%200%200%203.34l18.28%2031.67-8.66%2015a3.32%203.32%200%200%200%200%203.34l9.62%2016.67c.3.51.72.93%201.22%201.22s1.07.45%201.67.45h36.56l8.66%2015a3.35%203.35%200%200%200%202.89%201.67h19.25a3.34%203.34%200%200%200%202.89-1.67l18.28-31.67h17.32c.6%200%201.17-.16%201.67-.45s.92-.71%201.22-1.22l9.62-16.67a3.323%203.323%200%200%200%200-3.34ZM51.44%203.33%2061.07%2020l-9.63%2016.66h76.98l-9.62%2016.66H45.67l-11.54-20zM57.21%20120H22.58l9.63-16.67h19.25l-38.5-66.67h19.25l9.62%2016.67L68.78%20100l-11.55%2020Zm61.59-33.34-9.62-16.67-38.49%2066.67-9.63-16.67%209.63-16.66%2026.94-46.67h23.1l17.32%2030z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"\n />\n <script\n crossorigin\n src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"\n ></script>\n <script\n crossorigin\n src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"\n ></script>\n <script>\n const withKey = (props, key) =>\n key == null ? props : Object.assign({}, props, { key });\n const jsx = (type, props, key) =>\n React.createElement(type, withKey(props, key));\n const jsxRuntime = {\n Fragment: React.Fragment,\n jsx,\n jsxs: jsx,\n jsxDEV: jsx,\n };\n window.ReactJSXRuntime = jsxRuntime;\n window[\'react/jsx-runtime\'] = jsxRuntime;\n window[\'react/jsx-dev-runtime\'] = jsxRuntime;\n </script>\n <script src="https://unpkg.com/@vivekmind/webui@latest/dist/index.umd.js"></script>\n <link\n rel="stylesheet"\n href="https://unpkg.com/@vivekmind/webui@latest/dist/styles.css"\n />\n <title>VivekMind Chat Export</title>\n <style>\n @font-face {\n font-family: "Press Start 2P";\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url("data:font/woff2;base64,d09GMgABAAAAAALQAAwAAAAABfwAAAKBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCgGYABUEQgKgkSCDAsOAAE2AiQDDgQgBYRKByAb4QTIBB76Oev9JKW02x5ClpELSxHm1M0JQ+OBJAtDpAAVUQ7i///V+A/YgLVswlGo/7a+lmW3sfnUvoBFcUKzUFEnKo08S0F2T8TiAAJQieDvSGUVdW3smBv2LuCGjSpG3jQTD/m9OI5lTDomdQG1hkoMkCJu1ZYsmL42dEu7W8q5gUan/J6yyO+FX5NO5qQPxaqGnEINZ2q7kDf0+i4UigAXdiQUNMppoJnOzcxnDMwX5lXzinnJPDtkzhQFwjTx0DGrx1zkoNhIYr5LTKHjclcs+z3Frrh2ue3Kvk6bxzoRJLsIQpWcQhW27bgJwoUHYXNi2WWnVRUWaVNS0XMJ1eIUHlSX0l3l7BZOOos1ySk7NUWl6+eobG3Nfpj96g8EvukB3Qjouo4+O6svG9/0b8ZyKmfoZj9gzBqq8I2MS7Pf2JquL9vZwHJ51djyD01vbVHRDxSslvFBZwMHjQvexMxIvz3oyftul2+k9yBS+xGM+l+d+Pvo/zH5fVXMRvsHhG4u9/dRsgQyF67l9+jYgZuy+Ath2O6EUzU7E6BxF41nQk2cgkN8IIlOPKecMgWccSrE4XdaOECf00oUaeTm34EpvHhZIodEEllllBWmWcJLyQmsPjNHAousMEkijVRQR5OgNc4qq7TiZZg89pJCE/G0MM4kPuYqqIOKrQw3WmQBjVQSSLLm1H1NiGmCN21uwK/JpZRuWignd/klmbWXFEtZZIn1o8cmkaDqX5JIJgWNNqYYR9s0GsRFZhhntKJSjI+KTaFDZ+MoRllkjHWK2ADCxilLQGTkJZo4NAJMDwhAiK0CJD+jjKFRwWBapYFh5rdzfogQC/m1XLplXiEFEwAA") format("woff2");\n }\n :root{--bg-primary: #18181b;--bg-secondary: #27272a;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--border-color: #3f3f46;--accent-color: #3b82f6}body{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}.page-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center}.header{width:100%;padding:16px 24px;border-bottom:1px solid var(--border-color);background-color:#18181bf2;backdrop-filter:blur(8px);position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:12px}.logo-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.logo-icon svg{width:100%;height:100%}.logo{display:flex;flex-direction:column;line-height:1}.logo-text{font-family:"Press Start 2P",cursive;font-weight:400;font-size:24px;letter-spacing:-.05em;position:relative;color:#fff}.logo-text-inner{background:linear-gradient(to right,#60a5fa,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:2}.logo-text:before,.logo-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:none;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(96,165,250,.3)}.logo-text:before{transform:translate(2px,2px);-webkit-text-stroke:1px rgba(168,85,247,.3)}.logo-text:after{transform:translate(4px,4px);opacity:.4}.logo-sub{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-top:4px}.badge{font-size:11px;padding:2px 8px;border-radius:999px;background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);font-weight:500}.meta{display:flex;gap:24px;font-size:13px;color:var(--text-secondary)}.meta-item{display:flex;align-items:center;gap:8px}.meta-label{color:#71717a}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:5px;border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:#52525b}@media (max-width: 768px){.chat-container{max-width:100%;padding:20px 16px}.header{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:12px}.header-left{width:100%;justify-content:space-between}.meta{width:100%;flex-direction:column;gap:6px}}@media (max-width: 480px){.chat-container{padding:16px 12px}}.content-wrapper{display:flex;width:100%;max-width:1600px;height:calc(100vh - 73px)}.chat-container{flex:1;min-width:0;overflow-y:auto;padding:24px;box-sizing:border-box}.metadata-sidebar{width:320px;min-width:320px;padding:12px;border-right:1px solid var(--border-color);background-color:var(--bg-secondary);display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%;box-sizing:border-box}.metadata-section{display:flex;flex-direction:column;gap:8px}.metadata-section-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.metadata-section-small{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item-empty{font-size:12px;color:#71717a;margin:0;padding:4px 0}.metadata-content{display:flex;flex-direction:column;gap:2px;min-width:0}.metadata-content .metadata-label{font-size:10px;color:#71717a}.metadata-content .metadata-value{font-size:12px;color:var(--text-primary);word-break:break-all;line-height:1.3;cursor:pointer}.metadata-content .metadata-value.multiline{white-space:pre-wrap}.metadata-content .metadata-value.text-green{color:#22c55e}.metadata-content .metadata-value.text-red{color:#ef4444}.metadata-value-with-copy{display:flex;align-items:center;gap:8px}.metadata-value-with-copy .metadata-value{flex:1;min-width:0}.copy-button{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:1px solid var(--border-color, #3f3f46);border-radius:4px;color:var(--text-secondary, #a1a1aa);cursor:pointer;transition:all .15s ease;flex-shrink:0}.copy-button:hover{background:var(--bg-hover, #27272a);color:var(--text-primary, #f4f4f5);border-color:var(--border-hover, #52525b)}.copy-button:active{transform:scale(.95)}@media (max-width: 1024px){.metadata-sidebar{width:320px;min-width:320px;padding:10px}}@media (max-width: 768px){.content-wrapper{flex-direction:column;height:auto}.chat-container{height:auto;min-height:50vh}.metadata-sidebar{width:100%;min-width:100%;height:auto;max-height:none;border-right:none;border-top:1px solid var(--border-color);padding:12px;gap:12px}.metadata-section{flex-direction:row;flex-wrap:wrap;gap:12px}.metadata-section-title{width:100%;border-bottom:none;padding-bottom:0}.metadata-item{flex:1;min-width:140px}.metadata-section-small{margin-top:0;padding-top:0;border-top:none}}.modal-overlay{position:fixed;inset:0;z-index:1000;background-color:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.modal-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:6px;line-height:1;transition:background-color .15s,color .15s}.modal-close:hover{background-color:var(--border-color);color:var(--text-primary)}.modal-content{margin:0;padding:16px;overflow:auto;font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}\n </style>\n </head>\n <body>\n <div id="app"></div>\n\n <script id="chat-data" type="application/json"></script>\n <script>\n (()=>{var m=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 141.38 140">\n <path\n fill="#000000"\n d="m140.93 85-16.35-28.33-1.93-3.34 8.66-15a3.323 3.323 0 0 0 0-3.34l-9.62-16.67c-.3-.51-.72-.93-1.22-1.22s-1.07-.45-1.67-.45H82.23l-8.66-15a3.33 3.33 0 0 0-2.89-1.67H51.43c-.59 0-1.17.16-1.66.45-.5.29-.92.71-1.22 1.22L32.19 29.98l-1.92 3.33H12.96c-.59 0-1.17.16-1.66.45-.5.29-.93.71-1.22 1.22L.45 51.66a3.323 3.323 0 0 0 0 3.34l18.28 31.67-8.66 15a3.32 3.32 0 0 0 0 3.34l9.62 16.67c.3.51.72.93 1.22 1.22s1.07.45 1.67.45h36.56l8.66 15a3.35 3.35 0 0 0 2.89 1.67h19.25a3.34 3.34 0 0 0 2.89-1.67l18.28-31.67h17.32c.6 0 1.17-.16 1.67-.45s.92-.71 1.22-1.22l9.62-16.67a3.323 3.323 0 0 0 0-3.34ZM51.44 3.33 61.07 20l-9.63 16.66h76.98l-9.62 16.66H45.67l-11.54-20zM57.21 120H22.58l9.63-16.67h19.25l-38.5-66.67h19.25l9.62 16.67L68.78 100l-11.55 20Zm61.59-33.34-9.62-16.67-38.49 66.67-9.63-16.67 9.63-16.66 26.94-46.67h23.1l17.32 30z"\n />\n</svg>\n`;var i=window.React,u=({state:e,onClose:t})=>(i.useEffect(()=>{if(e.visible){let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}},[e.visible]),e.visible?i.createElement("div",{className:"modal-overlay",onClick:t},i.createElement("div",{className:"modal-container",onClick:a=>a.stopPropagation()},i.createElement("div",{className:"modal-header"},i.createElement("span",{className:"modal-title font-mono"},e.fileName),i.createElement("button",{className:"modal-close",onClick:t,"aria-label":"Close"},"\\u2715")),i.createElement("pre",{className:"modal-content"},e.content))):null),b=()=>{let[e,t]=i.useState({visible:!1,content:"",fileName:""}),a=i.useCallback((r,s="temp")=>{t({visible:!0,content:r,fileName:s})},[]),l=i.useCallback(()=>{t(r=>({...r,visible:!1}))},[]);return{modalState:e,openModal:a,closeModal:l}};var P=window.React,h=()=>{let{modalState:e,openModal:t,closeModal:a}=b();return{platformContext:P.useMemo(()=>({platform:"web",postMessage:r=>{console.log("Posted message:",r)},onMessage:r=>(window.addEventListener("message",r),()=>window.removeEventListener("message",r)),openFile:r=>{console.log("Opening file:",r)},openTempFile:t,getResourceUrl:()=>{},features:{canOpenFile:!1,canOpenTempFile:!0,canCopy:!0}}),[t]),modalState:e,closeModal:a}};var o=({label:e,value:t,valueClass:a})=>t==null||t===""?null:React.createElement("div",{className:"metadata-item"},React.createElement("div",{className:"metadata-content"},React.createElement("span",{className:"metadata-label"},e),React.createElement("span",{className:`metadata-value ${a||""}`,title:typeof t=="string"?t:void 0},t)));var v=e=>!!e&&typeof e=="object",w=()=>{let e=document.getElementById("chat-data");if(!(e!=null&&e.textContent))return{};try{let t=JSON.parse(e.textContent);return t&&typeof t=="object"?t:{}}catch(t){return console.error("Failed to parse chat data.",t),{}}};var y=e=>{if(!e)return"-";try{return new Date(e).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch(t){return e}},M=e=>{if(!e)return"-";try{let a=new Date(e).getTime();if(Number.isNaN(a))return"-";let r=Math.max(0,new Date().getTime()-a),s=Math.floor(r/1e3),d=Math.floor(s/60),c=Math.floor(d/60),p=Math.floor(c/24),f=Math.floor(p/7),x=Math.floor(p/30),g=Math.floor(p/365);return s<60?"just now":d<60?`${d} minute${d===1?"":"s"} ago`:c<24?`${c} hour${c===1?"":"s"} ago`:p<7?`${p} day${p===1?"":"s"} ago`:f<4?`${f} week${f===1?"":"s"} ago`:x<12?`${x} month${x===1?"":"s"} ago`:`${g} year${g===1?"":"s"} ago`}catch(t){return"-"}};var k=e=>{if(e!=null)return e>=1e6?`${(e/1e6).toFixed(e%1e6===0?0:1)}m`:e>=1e3?`${(e/1e3).toFixed(e%1e3===0?0:1)}k`:e.toString()};var C=({metadata:e})=>React.createElement("aside",{className:"metadata-sidebar"},React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"Session Info"),React.createElement(o,{label:"Session created",value:M(e.startTime)}),React.createElement(o,{label:"Project",value:e.cwd,valueClass:"multiline"}),e.gitRepo&&React.createElement(o,{label:"Repository",value:e.gitRepo}),e.gitBranch&&React.createElement(o,{label:"Branch",value:e.gitBranch}),e.model&&React.createElement(o,{label:"Model",value:e.model}),e.channel&&React.createElement(o,{label:"Channel",value:e.channel})),React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"Statistics"),React.createElement(o,{label:"Prompts",value:e.promptCount}),e.contextUsagePercent!==void 0&&e.contextWindowSize!==void 0&&React.createElement(o,{label:"Context",value:`${e.contextUsagePercent>100?">100":e.contextUsagePercent}% of ${k(e.contextWindowSize)}`,valueClass:e.contextUsagePercent>100?"text-red":void 0}),e.totalTokens!==void 0&&React.createElement(o,{label:"Tokens",value:e.totalTokens.toLocaleString()})),React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"File Operations"),e.filesWritten!==void 0&&e.filesWritten>0&&React.createElement(o,{label:"Files modified",value:e.filesWritten}),e.linesAdded!==void 0&&e.linesAdded>0&&React.createElement(o,{label:"Added",value:`+${e.linesAdded}`,valueClass:"text-green"}),e.linesRemoved!==void 0&&e.linesRemoved>0&&React.createElement(o,{label:"Removed",value:`-${e.linesRemoved}`,valueClass:"text-red"}),(e.filesWritten===void 0||e.filesWritten===0)&&(e.linesAdded===void 0||e.linesAdded===0)&&(e.linesRemoved===void 0||e.linesRemoved===0)&&React.createElement("p",{className:"metadata-item metadata-item-empty"},"No file changes")),React.createElement("div",{className:"metadata-section metadata-section-small"},React.createElement(o,{label:"Session ID",value:e.sessionId,valueClass:"font-mono"}),React.createElement(o,{label:"Export Time",value:y(e.exportTime)})));var z=window.ReactDOM,n=window.React,{ChatViewer:$,PlatformProvider:D}=QwenCodeWebUI,T=m?m.replace(/<svg([^>]*)>/,\'<svg$1><defs><linearGradient id="vivekmind-logo-gradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="#60a5fa" /><stop offset="100%" stop-color="#a855f7" /></linearGradient></defs>\').replace(/fill="[^"]*"/,\'fill="url(#vivekmind-logo-gradient)"\'):m,j=()=>{let e=w(),a=(Array.isArray(e.messages)?e.messages:[]).filter(v).filter(c=>c.type!=="system"),l=e.metadata,{platformContext:r,modalState:s,closeModal:d}=h();return n.createElement("div",{className:"page-wrapper"},n.createElement("header",{className:"header"},n.createElement("div",{className:"header-left"},n.createElement("div",{className:"logo-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:T}}),n.createElement("div",{className:"logo"},n.createElement("div",{className:"logo-text","data-text":"QWEN"},n.createElement("span",{className:"logo-text-inner"},"QWEN"))))),n.createElement("div",{className:"content-wrapper"},n.createElement("div",{className:"chat-container"},n.createElement(D,{value:r},n.createElement($,{messages:a,autoScroll:!1,theme:"dark"}))),l&&n.createElement(C,{metadata:l})),n.createElement(u,{state:s,onClose:d}))},N=document.getElementById("app");N?z.createRoot(N).render(n.createElement(j,null)):console.error("App container not found.");})();;\n </script>\n </body>\n</html>\n';
|
|
517447
|
+
var HTML_TEMPLATE = '<!doctype html>\n<html lang="en" class="dark">\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <link\n rel="icon"\n type="image/svg+xml"\n href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20141.38%20140%22%3E%0A%20%20%3Cpath%0A%20%20%20%20fill%3D%22%23000000%22%0A%20%20%20%20d%3D%22m140.93%2085-16.35-28.33-1.93-3.34%208.66-15a3.323%203.323%200%200%200%200-3.34l-9.62-16.67c-.3-.51-.72-.93-1.22-1.22s-1.07-.45-1.67-.45H82.23l-8.66-15a3.33%203.33%200%200%200-2.89-1.67H51.43c-.59%200-1.17.16-1.66.45-.5.29-.92.71-1.22%201.22L32.19%2029.98l-1.92%203.33H12.96c-.59%200-1.17.16-1.66.45-.5.29-.93.71-1.22%201.22L.45%2051.66a3.323%203.323%200%200%200%200%203.34l18.28%2031.67-8.66%2015a3.32%203.32%200%200%200%200%203.34l9.62%2016.67c.3.51.72.93%201.22%201.22s1.07.45%201.67.45h36.56l8.66%2015a3.35%203.35%200%200%200%202.89%201.67h19.25a3.34%203.34%200%200%200%202.89-1.67l18.28-31.67h17.32c.6%200%201.17-.16%201.67-.45s.92-.71%201.22-1.22l9.62-16.67a3.323%203.323%200%200%200%200-3.34ZM51.44%203.33%2061.07%2020l-9.63%2016.66h76.98l-9.62%2016.66H45.67l-11.54-20zM57.21%20120H22.58l9.63-16.67h19.25l-38.5-66.67h19.25l9.62%2016.67L68.78%20100l-11.55%2020Zm61.59-33.34-9.62-16.67-38.49%2066.67-9.63-16.67%209.63-16.66%2026.94-46.67h23.1l17.32%2030z%22%0A%20%20%2F%3E%0A%3C%2Fsvg%3E"\n />\n <script\n crossorigin\n src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"\n ></script>\n <script\n crossorigin\n src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"\n ></script>\n <script>\n const withKey = (props, key) =>\n key == null ? props : Object.assign({}, props, { key });\n const jsx = (type, props, key) =>\n React.createElement(type, withKey(props, key));\n const jsxRuntime = {\n Fragment: React.Fragment,\n jsx,\n jsxs: jsx,\n jsxDEV: jsx,\n };\n window.ReactJSXRuntime = jsxRuntime;\n window[\'react/jsx-runtime\'] = jsxRuntime;\n window[\'react/jsx-dev-runtime\'] = jsxRuntime;\n </script>\n <script src="https://unpkg.com/@vivekmind/webui@latest/dist/index.umd.js"></script>\n <link\n rel="stylesheet"\n href="https://unpkg.com/@vivekmind/webui@latest/dist/styles.css"\n />\n <title>VivekMind Chat Export</title>\n <style>\n @font-face {\n font-family: "Press Start 2P";\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url("data:font/woff2;base64,d09GMgABAAAAAALQAAwAAAAABfwAAAKBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCgGYABUEQgKgkSCDAsOAAE2AiQDDgQgBYRKByAb4QTIBB76Oev9JKW02x5ClpELSxHm1M0JQ+OBJAtDpAAVUQ7i///V+A/YgLVswlGo/7a+lmW3sfnUvoBFcUKzUFEnKo08S0F2T8TiAAJQieDvSGUVdW3smBv2LuCGjSpG3jQTD/m9OI5lTDomdQG1hkoMkCJu1ZYsmL42dEu7W8q5gUan/J6yyO+FX5NO5qQPxaqGnEINZ2q7kDf0+i4UigAXdiQUNMppoJnOzcxnDMwX5lXzinnJPDtkzhQFwjTx0DGrx1zkoNhIYr5LTKHjclcs+z3Frrh2ue3Kvk6bxzoRJLsIQpWcQhW27bgJwoUHYXNi2WWnVRUWaVNS0XMJ1eIUHlSX0l3l7BZOOos1ySk7NUWl6+eobG3Nfpj96g8EvukB3Qjouo4+O6svG9/0b8ZyKmfoZj9gzBqq8I2MS7Pf2JquL9vZwHJ51djyD01vbVHRDxSslvFBZwMHjQvexMxIvz3oyftul2+k9yBS+xGM+l+d+Pvo/zH5fVXMRvsHhG4u9/dRsgQyF67l9+jYgZuy+Ath2O6EUzU7E6BxF41nQk2cgkN8IIlOPKecMgWccSrE4XdaOECf00oUaeTm34EpvHhZIodEEllllBWmWcJLyQmsPjNHAousMEkijVRQR5OgNc4qq7TiZZg89pJCE/G0MM4kPuYqqIOKrQw3WmQBjVQSSLLm1H1NiGmCN21uwK/JpZRuWignd/klmbWXFEtZZIn1o8cmkaDqX5JIJgWNNqYYR9s0GsRFZhhntKJSjI+KTaFDZ+MoRllkjHWK2ADCxilLQGTkJZo4NAJMDwhAiK0CJD+jjKFRwWBapYFh5rdzfogQC/m1XLplXiEFEwAA") format("woff2");\n }\n :root{--bg-primary: #18181b;--bg-secondary: #27272a;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--border-color: #3f3f46;--accent-color: #3b82f6}body{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}.page-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center}.header{width:100%;padding:16px 24px;border-bottom:1px solid var(--border-color);background-color:#18181bf2;backdrop-filter:blur(8px);position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:12px}.logo-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.logo-icon svg{width:100%;height:100%}.logo{display:flex;flex-direction:column;line-height:1}.logo-text{font-family:"Press Start 2P",cursive;font-weight:400;font-size:24px;letter-spacing:-.05em;position:relative;color:#fff}.logo-text-inner{background:linear-gradient(to right,#60a5fa,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:2}.logo-text:before,.logo-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:none;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(96,165,250,.3)}.logo-text:before{transform:translate(2px,2px);-webkit-text-stroke:1px rgba(168,85,247,.3)}.logo-text:after{transform:translate(4px,4px);opacity:.4}.logo-sub{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-top:4px}.badge{font-size:11px;padding:2px 8px;border-radius:999px;background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);font-weight:500}.meta{display:flex;gap:24px;font-size:13px;color:var(--text-secondary)}.meta-item{display:flex;align-items:center;gap:8px}.meta-label{color:#71717a}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:5px;border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:#52525b}@media (max-width: 768px){.chat-container{max-width:100%;padding:20px 16px}.header{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:12px}.header-left{width:100%;justify-content:space-between}.meta{width:100%;flex-direction:column;gap:6px}}@media (max-width: 480px){.chat-container{padding:16px 12px}}.content-wrapper{display:flex;width:100%;max-width:1600px;height:calc(100vh - 73px)}.chat-container{flex:1;min-width:0;overflow-y:auto;padding:24px;box-sizing:border-box}.metadata-sidebar{width:320px;min-width:320px;padding:12px;border-right:1px solid var(--border-color);background-color:var(--bg-secondary);display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%;box-sizing:border-box}.metadata-section{display:flex;flex-direction:column;gap:8px}.metadata-section-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.metadata-section-small{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item-empty{font-size:12px;color:#71717a;margin:0;padding:4px 0}.metadata-content{display:flex;flex-direction:column;gap:2px;min-width:0}.metadata-content .metadata-label{font-size:10px;color:#71717a}.metadata-content .metadata-value{font-size:12px;color:var(--text-primary);word-break:break-all;line-height:1.3;cursor:pointer}.metadata-content .metadata-value.multiline{white-space:pre-wrap}.metadata-content .metadata-value.text-green{color:#22c55e}.metadata-content .metadata-value.text-red{color:#ef4444}.metadata-value-with-copy{display:flex;align-items:center;gap:8px}.metadata-value-with-copy .metadata-value{flex:1;min-width:0}.copy-button{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:1px solid var(--border-color, #3f3f46);border-radius:4px;color:var(--text-secondary, #a1a1aa);cursor:pointer;transition:all .15s ease;flex-shrink:0}.copy-button:hover{background:var(--bg-hover, #27272a);color:var(--text-primary, #f4f4f5);border-color:var(--border-hover, #52525b)}.copy-button:active{transform:scale(.95)}@media (max-width: 1024px){.metadata-sidebar{width:320px;min-width:320px;padding:10px}}@media (max-width: 768px){.content-wrapper{flex-direction:column;height:auto}.chat-container{height:auto;min-height:50vh}.metadata-sidebar{width:100%;min-width:100%;height:auto;max-height:none;border-right:none;border-top:1px solid var(--border-color);padding:12px;gap:12px}.metadata-section{flex-direction:row;flex-wrap:wrap;gap:12px}.metadata-section-title{width:100%;border-bottom:none;padding-bottom:0}.metadata-item{flex:1;min-width:140px}.metadata-section-small{margin-top:0;padding-top:0;border-top:none}}.modal-overlay{position:fixed;inset:0;z-index:1000;background-color:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.modal-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:6px;line-height:1;transition:background-color .15s,color .15s}.modal-close:hover{background-color:var(--border-color);color:var(--text-primary)}.modal-content{margin:0;padding:16px;overflow:auto;font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}\n </style>\n </head>\n <body>\n <div id="app"></div>\n\n <script id="chat-data" type="application/json"></script>\n <script>\n (()=>{var m=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 141.38 140">\n <path\n fill="#000000"\n d="m140.93 85-16.35-28.33-1.93-3.34 8.66-15a3.323 3.323 0 0 0 0-3.34l-9.62-16.67c-.3-.51-.72-.93-1.22-1.22s-1.07-.45-1.67-.45H82.23l-8.66-15a3.33 3.33 0 0 0-2.89-1.67H51.43c-.59 0-1.17.16-1.66.45-.5.29-.92.71-1.22 1.22L32.19 29.98l-1.92 3.33H12.96c-.59 0-1.17.16-1.66.45-.5.29-.93.71-1.22 1.22L.45 51.66a3.323 3.323 0 0 0 0 3.34l18.28 31.67-8.66 15a3.32 3.32 0 0 0 0 3.34l9.62 16.67c.3.51.72.93 1.22 1.22s1.07.45 1.67.45h36.56l8.66 15a3.35 3.35 0 0 0 2.89 1.67h19.25a3.34 3.34 0 0 0 2.89-1.67l18.28-31.67h17.32c.6 0 1.17-.16 1.67-.45s.92-.71 1.22-1.22l9.62-16.67a3.323 3.323 0 0 0 0-3.34ZM51.44 3.33 61.07 20l-9.63 16.66h76.98l-9.62 16.66H45.67l-11.54-20zM57.21 120H22.58l9.63-16.67h19.25l-38.5-66.67h19.25l9.62 16.67L68.78 100l-11.55 20Zm61.59-33.34-9.62-16.67-38.49 66.67-9.63-16.67 9.63-16.66 26.94-46.67h23.1l17.32 30z"\n />\n</svg>\n`;var i=window.React,u=({state:e,onClose:t})=>(i.useEffect(()=>{if(e.visible){let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}}},[e.visible]),e.visible?i.createElement("div",{className:"modal-overlay",onClick:t},i.createElement("div",{className:"modal-container",onClick:a=>a.stopPropagation()},i.createElement("div",{className:"modal-header"},i.createElement("span",{className:"modal-title font-mono"},e.fileName),i.createElement("button",{className:"modal-close",onClick:t,"aria-label":"Close"},"\\u2715")),i.createElement("pre",{className:"modal-content"},e.content))):null),b=()=>{let[e,t]=i.useState({visible:!1,content:"",fileName:""}),a=i.useCallback((r,s="temp")=>{t({visible:!0,content:r,fileName:s})},[]),l=i.useCallback(()=>{t(r=>({...r,visible:!1}))},[]);return{modalState:e,openModal:a,closeModal:l}};var P=window.React,h=()=>{let{modalState:e,openModal:t,closeModal:a}=b();return{platformContext:P.useMemo(()=>({platform:"web",postMessage:r=>{console.log("Posted message:",r)},onMessage:r=>(window.addEventListener("message",r),()=>window.removeEventListener("message",r)),openFile:r=>{console.log("Opening file:",r)},openTempFile:t,getResourceUrl:()=>{},features:{canOpenFile:!1,canOpenTempFile:!0,canCopy:!0}}),[t]),modalState:e,closeModal:a}};var o=({label:e,value:t,valueClass:a})=>t==null||t===""?null:React.createElement("div",{className:"metadata-item"},React.createElement("div",{className:"metadata-content"},React.createElement("span",{className:"metadata-label"},e),React.createElement("span",{className:`metadata-value ${a||""}`,title:typeof t=="string"?t:void 0},t)));var v=e=>!!e&&typeof e=="object",w=()=>{let e=document.getElementById("chat-data");if(!(e!=null&&e.textContent))return{};try{let t=JSON.parse(e.textContent);return t&&typeof t=="object"?t:{}}catch(t){return console.error("Failed to parse chat data.",t),{}}};var y=e=>{if(!e)return"-";try{return new Date(e).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch(t){return e}},M=e=>{if(!e)return"-";try{let a=new Date(e).getTime();if(Number.isNaN(a))return"-";let r=Math.max(0,new Date().getTime()-a),s=Math.floor(r/1e3),d=Math.floor(s/60),c=Math.floor(d/60),p=Math.floor(c/24),f=Math.floor(p/7),x=Math.floor(p/30),g=Math.floor(p/365);return s<60?"just now":d<60?`${d} minute${d===1?"":"s"} ago`:c<24?`${c} hour${c===1?"":"s"} ago`:p<7?`${p} day${p===1?"":"s"} ago`:f<4?`${f} week${f===1?"":"s"} ago`:x<12?`${x} month${x===1?"":"s"} ago`:`${g} year${g===1?"":"s"} ago`}catch(t){return"-"}};var k=e=>{if(e!=null)return e>=1e6?`${(e/1e6).toFixed(e%1e6===0?0:1)}m`:e>=1e3?`${(e/1e3).toFixed(e%1e3===0?0:1)}k`:e.toString()};var C=({metadata:e})=>React.createElement("aside",{className:"metadata-sidebar"},React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"Session Info"),React.createElement(o,{label:"Session created",value:M(e.startTime)}),React.createElement(o,{label:"Project",value:e.cwd,valueClass:"multiline"}),e.gitRepo&&React.createElement(o,{label:"Repository",value:e.gitRepo}),e.gitBranch&&React.createElement(o,{label:"Branch",value:e.gitBranch}),e.model&&React.createElement(o,{label:"Model",value:e.model}),e.channel&&React.createElement(o,{label:"Channel",value:e.channel})),React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"Statistics"),React.createElement(o,{label:"Prompts",value:e.promptCount}),e.contextUsagePercent!==void 0&&e.contextWindowSize!==void 0&&React.createElement(o,{label:"Context",value:`${e.contextUsagePercent>100?">100":e.contextUsagePercent}% of ${k(e.contextWindowSize)}`,valueClass:e.contextUsagePercent>100?"text-red":void 0}),e.totalTokens!==void 0&&React.createElement(o,{label:"Tokens",value:e.totalTokens.toLocaleString()})),React.createElement("div",{className:"metadata-section"},React.createElement("h3",{className:"metadata-section-title"},"File Operations"),e.filesWritten!==void 0&&e.filesWritten>0&&React.createElement(o,{label:"Files modified",value:e.filesWritten}),e.linesAdded!==void 0&&e.linesAdded>0&&React.createElement(o,{label:"Added",value:`+${e.linesAdded}`,valueClass:"text-green"}),e.linesRemoved!==void 0&&e.linesRemoved>0&&React.createElement(o,{label:"Removed",value:`-${e.linesRemoved}`,valueClass:"text-red"}),(e.filesWritten===void 0||e.filesWritten===0)&&(e.linesAdded===void 0||e.linesAdded===0)&&(e.linesRemoved===void 0||e.linesRemoved===0)&&React.createElement("p",{className:"metadata-item metadata-item-empty"},"No file changes")),React.createElement("div",{className:"metadata-section metadata-section-small"},React.createElement(o,{label:"Session ID",value:e.sessionId,valueClass:"font-mono"}),React.createElement(o,{label:"Export Time",value:y(e.exportTime)})));var z=window.ReactDOM,n=window.React,{ChatViewer:$,PlatformProvider:D}=VivekMindWebUI,T=m?m.replace(/<svg([^>]*)>/,\'<svg$1><defs><linearGradient id="vivekmind-logo-gradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="#60a5fa" /><stop offset="100%" stop-color="#a855f7" /></linearGradient></defs>\').replace(/fill="[^"]*"/,\'fill="url(#vivekmind-logo-gradient)"\'):m,j=()=>{let e=w(),a=(Array.isArray(e.messages)?e.messages:[]).filter(v).filter(c=>c.type!=="system"),l=e.metadata,{platformContext:r,modalState:s,closeModal:d}=h();return n.createElement("div",{className:"page-wrapper"},n.createElement("header",{className:"header"},n.createElement("div",{className:"header-left"},n.createElement("div",{className:"logo-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:T}}),n.createElement("div",{className:"logo"},n.createElement("div",{className:"logo-text","data-text":"QWEN"},n.createElement("span",{className:"logo-text-inner"},"QWEN"))))),n.createElement("div",{className:"content-wrapper"},n.createElement("div",{className:"chat-container"},n.createElement(D,{value:r},n.createElement($,{messages:a,autoScroll:!1,theme:"dark"}))),l&&n.createElement(C,{metadata:l})),n.createElement(u,{state:s,onClose:d}))},N=document.getElementById("app");N?z.createRoot(N).render(n.createElement(j,null)):console.error("App container not found.");})();;\n </script>\n </body>\n</html>\n';
|
|
517430
517448
|
|
|
517431
517449
|
// packages/cli/src/ui/utils/export/formatters/html.ts
|
|
517432
517450
|
function escapeJsonForHtml(json3) {
|
|
@@ -518561,7 +518579,7 @@ init_i18n();
|
|
|
518561
518579
|
var initCommand = {
|
|
518562
518580
|
name: "init",
|
|
518563
518581
|
get description() {
|
|
518564
|
-
return t4("Analyzes the project and creates a tailored
|
|
518582
|
+
return t4("Analyzes the project and creates a tailored VIVEKMIND.md file.");
|
|
518565
518583
|
},
|
|
518566
518584
|
kind: "built-in" /* BUILT_IN */,
|
|
518567
518585
|
supportedModes: ["interactive", "non_interactive", "acp"],
|
|
@@ -519216,7 +519234,7 @@ ${fact}`
|
|
|
519216
519234
|
}
|
|
519217
519235
|
return {
|
|
519218
519236
|
type: "submit_prompt",
|
|
519219
|
-
content: `Please save the following fact to memory (e.g. append to
|
|
519237
|
+
content: `Please save the following fact to memory (e.g. append to VIVEKMIND.md in the project root):
|
|
519220
519238
|
|
|
519221
519239
|
${fact}`
|
|
519222
519240
|
};
|
|
@@ -521030,11 +521048,11 @@ init_i18n();
|
|
|
521030
521048
|
init_src3();
|
|
521031
521049
|
var debugLogger127 = createDebugLogger("SETUP_GITHUB");
|
|
521032
521050
|
var GITHUB_WORKFLOW_PATHS = [
|
|
521033
|
-
"
|
|
521034
|
-
"
|
|
521035
|
-
"issue-triage/
|
|
521036
|
-
"issue-triage/
|
|
521037
|
-
"pr-review/
|
|
521051
|
+
"vivekmind-dispatch/vivekmind-dispatch.yml",
|
|
521052
|
+
"vivekmind-assistant/vivekmind-invoke.yml",
|
|
521053
|
+
"issue-triage/vivekmind-triage.yml",
|
|
521054
|
+
"issue-triage/vivekmind-scheduled-triage.yml",
|
|
521055
|
+
"pr-review/vivekmind-review.yml"
|
|
521038
521056
|
];
|
|
521039
521057
|
function getOpenUrlsCommands(readmeUrl) {
|
|
521040
521058
|
const openCmd = getUrlOpenCommand();
|
|
@@ -521126,7 +521144,7 @@ var setupGithubCommand = {
|
|
|
521126
521144
|
for (const workflow of GITHUB_WORKFLOW_PATHS) {
|
|
521127
521145
|
downloads.push(
|
|
521128
521146
|
(async () => {
|
|
521129
|
-
const endpoint = `https://raw.githubusercontent.com/
|
|
521147
|
+
const endpoint = `https://raw.githubusercontent.com/VivekMindLM/vivekmind-cli-action/refs/tags/${releaseTag}/examples/workflows/${workflow}`;
|
|
521130
521148
|
const response = await fetch(endpoint, {
|
|
521131
521149
|
method: "GET",
|
|
521132
521150
|
dispatcher: proxy2 ? new import_undici6.ProxyAgent(proxy2) : void 0,
|
|
@@ -552401,7 +552419,18 @@ function CompressionMessage({
|
|
|
552401
552419
|
return t4("Compressing chat history");
|
|
552402
552420
|
}
|
|
552403
552421
|
switch (compressionStatus) {
|
|
552404
|
-
case CompressionStatus.COMPRESSED:
|
|
552422
|
+
case CompressionStatus.COMPRESSED: {
|
|
552423
|
+
const reduction = originalTokens > 0 ? Math.round((originalTokens - newTokens) / originalTokens * 100) : 0;
|
|
552424
|
+
if (reduction > 0) {
|
|
552425
|
+
return t4(
|
|
552426
|
+
"Chat history compressed: {{originalTokens}} \u2192 {{newTokens}} tokens ({{reduction}}% saved)",
|
|
552427
|
+
{
|
|
552428
|
+
originalTokens: String(originalTokens),
|
|
552429
|
+
newTokens: String(newTokens),
|
|
552430
|
+
reduction: String(reduction)
|
|
552431
|
+
}
|
|
552432
|
+
);
|
|
552433
|
+
}
|
|
552405
552434
|
return t4(
|
|
552406
552435
|
"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.",
|
|
552407
552436
|
{
|
|
@@ -552409,6 +552438,7 @@ function CompressionMessage({
|
|
|
552409
552438
|
newTokens: String(newTokens)
|
|
552410
552439
|
}
|
|
552411
552440
|
);
|
|
552441
|
+
}
|
|
552412
552442
|
case CompressionStatus.COMPRESSION_FAILED_INFLATED_TOKEN_COUNT:
|
|
552413
552443
|
if (originalTokens < 5e4) {
|
|
552414
552444
|
return t4("Compression was not beneficial for this history size.");
|
|
@@ -552428,7 +552458,7 @@ function CompressionMessage({
|
|
|
552428
552458
|
}, "getCompressionText");
|
|
552429
552459
|
const text = getCompressionText();
|
|
552430
552460
|
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
552431
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Box_default, { marginRight: 1, children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(build_default, { type: "dots" }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text3, { color: theme.text.accent, children: "\u2726" }) }),
|
|
552461
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Box_default, { marginRight: 1, children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text3, { color: theme.text.accent, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(build_default, { type: "dots" }) }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text3, { color: theme.text.accent, children: "\u2726" }) }),
|
|
552432
552462
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
552433
552463
|
Text3,
|
|
552434
552464
|
{
|
|
@@ -557710,20 +557740,20 @@ function AuthDialog() {
|
|
|
557710
557740
|
[AuthType2.USE_VERTEX_AI]: "gemini-3-pro,gemini-2.5-pro,gemini-2.5-flash",
|
|
557711
557741
|
[AuthType2.USE_ANTHROPIC_VERTEX_AI]: "claude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5-20251001",
|
|
557712
557742
|
[AuthType2.USE_AZURE_OPENAI]: "gpt-5.2,gpt-4.1,gpt-4o,o3",
|
|
557713
|
-
[AuthType2.USE_BEDROCK]: "anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,anthropic.claude-haiku-4-5-20251001-v1:0,
|
|
557714
|
-
[AuthType2.USE_OLLAMA]: "llama3.3:70b,
|
|
557743
|
+
[AuthType2.USE_BEDROCK]: "anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,anthropic.claude-haiku-4-5-20251001-v1:0,vivekmind.vivekmind3-coder-next,vivekmind.vivekmind3-coder-30b-a3b-v1:0,deepseek.v3.2,deepseek.r1-v1:0,zai.glm-5,zai.glm-4.7,mistral.devstral-2-123b,mistral.mistral-large-3-675b-instruct,amazon.nova-pro-v1:0,amazon.nova-2-sonic-v1:0,meta.llama4-maverick-17b-instruct-v1:0,meta.llama4-scout-17b-instruct-v1:0,nvidia.nemotron-super-3-120b,moonshotai.kimi-k2.5",
|
|
557744
|
+
[AuthType2.USE_OLLAMA]: "llama3.3:70b,vivekmind2.5-coder:32b,deepseek-r1:70b",
|
|
557715
557745
|
[AuthType2.USE_LM_STUDIO]: "loaded-model",
|
|
557716
557746
|
[AuthType2.USE_GROQ]: "llama-3.3-70b-versatile,llama-3.1-8b-instant,deepseek-r1-distill-llama-70b",
|
|
557717
557747
|
[AuthType2.USE_MISTRAL]: "mistral-large-2411,codestral-2505,pixtral-large-2502",
|
|
557718
557748
|
[AuthType2.USE_DEEPSEEK]: "deepseek-chat,deepseek-reasoner,deepseek-coder",
|
|
557719
|
-
[AuthType2.USE_TOGETHER]: "meta-llama/Llama-3.3-70B-Instruct-Turbo,deepseek-ai/DeepSeek-V3,
|
|
557749
|
+
[AuthType2.USE_TOGETHER]: "meta-llama/Llama-3.3-70B-Instruct-Turbo,deepseek-ai/DeepSeek-V3,VivekMind/VivekMind3-235B-A22B",
|
|
557720
557750
|
[AuthType2.USE_OPENROUTER]: "anthropic/claude-opus-4-7,openai/gpt-5.2,google/gemini-3-pro,deepseek/deepseek-r1",
|
|
557721
557751
|
[AuthType2.USE_XAI]: "grok-4,grok-4-fast",
|
|
557722
|
-
[AuthType2.USE_DASHSCOPE]: "
|
|
557752
|
+
[AuthType2.USE_DASHSCOPE]: "vivekmind3-coder-plus,vivekmind-max,vivekmind-vl-max",
|
|
557723
557753
|
[AuthType2.USE_COHERE]: "command-r-plus,command-r",
|
|
557724
557754
|
[AuthType2.USE_PERPLEXITY]: "sonar-pro,sonar-reasoning-pro",
|
|
557725
557755
|
[AuthType2.USE_FIREWORKS]: "accounts/fireworks/models/llama4-maverick-instruct-basic,accounts/fireworks/models/deepseek-v3",
|
|
557726
|
-
[AuthType2.USE_SILICONFLOW]: "deepseek-ai/DeepSeek-V3,
|
|
557756
|
+
[AuthType2.USE_SILICONFLOW]: "deepseek-ai/DeepSeek-V3,VivekMind/VivekMind3-235B-A22B,meta-llama/Meta-Llama-3.1-405B-Instruct",
|
|
557727
557757
|
[AuthType2.USE_HF]: "meta-llama/Llama-3.3-70B-Instruct,mistralai/Mistral-Large-2411",
|
|
557728
557758
|
[AuthType2.USE_NOVITA]: "meta-llama/llama-3.1-70b-instruct,deepseek/deepseek-v3",
|
|
557729
557759
|
[AuthType2.USE_WATSONX]: "meta-llama/llama-4-maverick-instruct,ibm/granite-34b-code-instruct"
|
|
@@ -560240,7 +560270,7 @@ __name(MultiSelect, "MultiSelect");
|
|
|
560240
560270
|
// packages/cli/src/ui/components/arena/ArenaStartDialog.tsx
|
|
560241
560271
|
init_i18n();
|
|
560242
560272
|
var import_jsx_runtime90 = __toESM(require_jsx_runtime(), 1);
|
|
560243
|
-
var MODEL_PROVIDERS_DOCUMENTATION_URL = "https://
|
|
560273
|
+
var MODEL_PROVIDERS_DOCUMENTATION_URL = "https://vivekmindlm.github.io/vivekmind-docs/en/users/configuration/settings/#modelproviders";
|
|
560244
560274
|
function ArenaStartDialog({
|
|
560245
560275
|
onClose,
|
|
560246
560276
|
onConfirm
|
|
@@ -560252,16 +560282,16 @@ function ArenaStartDialog({
|
|
|
560252
560282
|
const selectableModels = allModels.filter((model) => !model.isRuntimeModel);
|
|
560253
560283
|
return selectableModels.map((model) => {
|
|
560254
560284
|
const token2 = `${model.authType}:${model.id}`;
|
|
560255
|
-
const
|
|
560285
|
+
const isVivekMindOauth = model.authType === AuthType2.VIVEKMIND_OAUTH;
|
|
560256
560286
|
return {
|
|
560257
560287
|
key: token2,
|
|
560258
560288
|
value: token2,
|
|
560259
560289
|
label: `[${model.authType}] ${model.label}`,
|
|
560260
|
-
disabled:
|
|
560290
|
+
disabled: isVivekMindOauth
|
|
560261
560291
|
};
|
|
560262
560292
|
});
|
|
560263
560293
|
}, [config2]);
|
|
560264
|
-
const
|
|
560294
|
+
const hasDisabledVivekMindOauth = modelItems.some((item) => item.disabled);
|
|
560265
560295
|
const selectableModelCount = modelItems.filter(
|
|
560266
560296
|
(item) => !item.disabled
|
|
560267
560297
|
).length;
|
|
@@ -560307,8 +560337,8 @@ function ArenaStartDialog({
|
|
|
560307
560337
|
}
|
|
560308
560338
|
) }),
|
|
560309
560339
|
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text3, { color: theme.status.error, children: errorMessage }) }),
|
|
560310
|
-
(
|
|
560311
|
-
|
|
560340
|
+
(hasDisabledVivekMindOauth || needsMoreModels) && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(Box_default, { marginTop: 1, flexDirection: "column", children: [
|
|
560341
|
+
hasDisabledVivekMindOauth && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text3, { color: theme.status.warning, children: t4("Note: vivekmind-oauth models are not supported in Arena.") }),
|
|
560312
560342
|
needsMoreModels && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_jsx_runtime90.Fragment, { children: [
|
|
560313
560343
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text3, { color: theme.status.warning, children: t4("Arena requires at least 2 models. To add more:") }),
|
|
560314
560344
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text3, { color: theme.status.warning, children: t4(
|
|
@@ -565260,14 +565290,14 @@ function MemoryDialog({ onClose }) {
|
|
|
565260
565290
|
() => path138.join(
|
|
565261
565291
|
os51.homedir(),
|
|
565262
565292
|
VIVEKMIND_DIR,
|
|
565263
|
-
getAllGeminiMdFilenames()[0] ?? "
|
|
565293
|
+
getAllGeminiMdFilenames()[0] ?? "VIVEKMIND.md"
|
|
565264
565294
|
),
|
|
565265
565295
|
[]
|
|
565266
565296
|
);
|
|
565267
565297
|
const projectMemoryPath = (0, import_react111.useMemo)(
|
|
565268
565298
|
() => path138.join(
|
|
565269
565299
|
config2.getWorkingDir(),
|
|
565270
|
-
getAllGeminiMdFilenames()[0] ?? "
|
|
565300
|
+
getAllGeminiMdFilenames()[0] ?? "VIVEKMIND.md"
|
|
565271
565301
|
),
|
|
565272
565302
|
[config2]
|
|
565273
565303
|
);
|
|
@@ -565334,12 +565364,12 @@ function MemoryDialog({ onClose }) {
|
|
|
565334
565364
|
case "project":
|
|
565335
565365
|
return resolvePreferredMemoryFile(
|
|
565336
565366
|
config2.getWorkingDir(),
|
|
565337
|
-
getAllGeminiMdFilenames()[0] ?? "
|
|
565367
|
+
getAllGeminiMdFilenames()[0] ?? "VIVEKMIND.md"
|
|
565338
565368
|
);
|
|
565339
565369
|
case "global":
|
|
565340
565370
|
return resolvePreferredMemoryFile(
|
|
565341
565371
|
path138.join(os51.homedir(), VIVEKMIND_DIR),
|
|
565342
|
-
getAllGeminiMdFilenames()[0] ?? "
|
|
565372
|
+
getAllGeminiMdFilenames()[0] ?? "VIVEKMIND.md"
|
|
565343
565373
|
);
|
|
565344
565374
|
case "managed":
|
|
565345
565375
|
return managedMemoryPath;
|
|
@@ -569956,6 +569986,16 @@ var import_react136 = __toESM(require_react(), 1);
|
|
|
569956
569986
|
init_esbuild_shims();
|
|
569957
569987
|
init_i18n();
|
|
569958
569988
|
var import_jsx_runtime129 = __toESM(require_jsx_runtime(), 1);
|
|
569989
|
+
function formatTokenCount2(tokens) {
|
|
569990
|
+
if (tokens >= 1e6) {
|
|
569991
|
+
return `${(tokens / 1e6).toFixed(1)}M`;
|
|
569992
|
+
}
|
|
569993
|
+
if (tokens >= 1e3) {
|
|
569994
|
+
return `${(tokens / 1e3).toFixed(1)}k`;
|
|
569995
|
+
}
|
|
569996
|
+
return `${tokens}`;
|
|
569997
|
+
}
|
|
569998
|
+
__name(formatTokenCount2, "formatTokenCount");
|
|
569959
569999
|
function formatPercentageUsed(percentage) {
|
|
569960
570000
|
if (percentage > 1) {
|
|
569961
570001
|
return ">100";
|
|
@@ -569974,16 +570014,39 @@ var ContextUsageDisplay = /* @__PURE__ */ __name(({
|
|
|
569974
570014
|
const percentage = promptTokenCount / contextWindowSize;
|
|
569975
570015
|
const percentageUsed = formatPercentageUsed(percentage);
|
|
569976
570016
|
const isOverLimit = percentage > 1;
|
|
569977
|
-
const
|
|
569978
|
-
if (
|
|
569979
|
-
|
|
570017
|
+
const tokenStr = formatTokenCount2(promptTokenCount);
|
|
570018
|
+
if (terminalWidth < 80) {
|
|
570019
|
+
const label2 = t4("% used");
|
|
570020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { color: isOverLimit ? theme.status.error : theme.text.secondary, children: [
|
|
569980
570021
|
percentageUsed,
|
|
569981
|
-
|
|
569982
|
-
] })
|
|
570022
|
+
label2
|
|
570023
|
+
] });
|
|
569983
570024
|
}
|
|
569984
|
-
|
|
570025
|
+
if (terminalWidth < 120) {
|
|
570026
|
+
const label2 = t4("% ctx");
|
|
570027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { color: isOverLimit ? theme.status.error : theme.text.secondary, children: [
|
|
570028
|
+
percentageUsed,
|
|
570029
|
+
label2,
|
|
570030
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { dimColor: true, children: [
|
|
570031
|
+
" ",
|
|
570032
|
+
"(",
|
|
570033
|
+
tokenStr,
|
|
570034
|
+
")"
|
|
570035
|
+
] })
|
|
570036
|
+
] });
|
|
570037
|
+
}
|
|
570038
|
+
const label = t4("% context used");
|
|
570039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { color: isOverLimit ? theme.status.error : theme.text.secondary, children: [
|
|
569985
570040
|
percentageUsed,
|
|
569986
|
-
label
|
|
570041
|
+
label,
|
|
570042
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { dimColor: true, children: [
|
|
570043
|
+
" ",
|
|
570044
|
+
"(",
|
|
570045
|
+
tokenStr,
|
|
570046
|
+
"/",
|
|
570047
|
+
formatTokenCount2(contextWindowSize),
|
|
570048
|
+
" tok)"
|
|
570049
|
+
] })
|
|
569987
570050
|
] });
|
|
569988
570051
|
}, "ContextUsageDisplay");
|
|
569989
570052
|
|
|
@@ -577761,15 +577824,15 @@ var useLoadingIndicator = /* @__PURE__ */ __name((streamingState, customWittyPhr
|
|
|
577761
577824
|
const [taskStartTokens, setTaskStartTokens] = (0, import_react170.useState)(0);
|
|
577762
577825
|
const prevStreamingStateRef = (0, import_react170.useRef)(null);
|
|
577763
577826
|
(0, import_react170.useEffect)(() => {
|
|
577764
|
-
|
|
577827
|
+
const prev = prevStreamingStateRef.current;
|
|
577828
|
+
if (prev === "waiting_for_confirmation" /* WaitingForConfirmation */ && streamingState === "responding" /* Responding */) {
|
|
577765
577829
|
setTimerResetKey((prevKey) => prevKey + 1);
|
|
577766
577830
|
setRetainedElapsedTime(0);
|
|
577767
|
-
|
|
577768
|
-
} else if (streamingState === "idle" /* Idle */ && prevStreamingStateRef.current === "responding" /* Responding */) {
|
|
577831
|
+
} else if (streamingState === "idle" /* Idle */ && prev === "responding" /* Responding */) {
|
|
577769
577832
|
setTimerResetKey((prevKey) => prevKey + 1);
|
|
577770
577833
|
setRetainedElapsedTime(0);
|
|
577771
577834
|
setTaskStartTokens(0);
|
|
577772
|
-
} else if (streamingState === "responding" /* Responding */ &&
|
|
577835
|
+
} else if (streamingState === "responding" /* Responding */ && prev !== "responding" /* Responding */) {
|
|
577773
577836
|
setTaskStartTokens(currentCandidatesTokens ?? 0);
|
|
577774
577837
|
} else if (streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */) {
|
|
577775
577838
|
setRetainedElapsedTime(elapsedTimeFromTimer);
|
|
@@ -582165,8 +582228,8 @@ var tipRegistry = [
|
|
|
582165
582228
|
priority: 70
|
|
582166
582229
|
},
|
|
582167
582230
|
{
|
|
582168
|
-
id: "new-user-
|
|
582169
|
-
content: "Add a
|
|
582231
|
+
id: "new-user-vivekmindmd",
|
|
582232
|
+
content: "Add a VIVEKMIND.md file to give VivekMind persistent project context.",
|
|
582170
582233
|
trigger: "startup",
|
|
582171
582234
|
isRelevant: /* @__PURE__ */ __name((ctx) => ctx.sessionCount < 10, "isRelevant"),
|
|
582172
582235
|
cooldownPrompts: 0,
|
|
@@ -588845,7 +588908,7 @@ var VivekMindAgent = class {
|
|
|
588845
588908
|
async initialize(args2) {
|
|
588846
588909
|
this.clientCapabilities = args2.clientCapabilities;
|
|
588847
588910
|
const authMethods = buildAuthMethods();
|
|
588848
|
-
const version2 = "0.
|
|
588911
|
+
const version2 = "1.0.1";
|
|
588849
588912
|
return {
|
|
588850
588913
|
protocolVersion: PROTOCOL_VERSION,
|
|
588851
588914
|
agentInfo: {
|