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/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 = "qwen3.5-plus";
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|qwen|zai|ai21|twelvelabs|writer|google)\./, "");
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(/^qwen-(?:plus|flash|vl-max)-latest$/) && !s5.match(/^kimi-k2-\d{4}$/)) {
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
- [/^qwen3-coder/, LIMITS["1m"]],
147419
- [/^qwen3\.\d/, LIMITS["1m"]],
147420
- [/^qwen-plus-latest$/, LIMITS["1m"]],
147421
- [/^qwen-flash-latest$/, LIMITS["1m"]],
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
- [/^qwen3-max/, LIMITS["256k"]],
147425
- // Open-source Qwen3 variants: 256K native
147426
- [/^qwen3-coder-/, LIMITS["256k"]],
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
- [/^qwen/, LIMITS["256k"]],
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
- [/^qwen3-coder/, LIMITS["64k"]],
147535
- [/^qwen3\.\d/, LIMITS["64k"]],
147534
+ [/^vivekmind3-coder/, LIMITS["64k"]],
147535
+ [/^vivekmind3\.\d/, LIMITS["64k"]],
147536
147536
  [/^coder-model$/, LIMITS["64k"]],
147537
- [/^qwen/, LIMITS["32k"]],
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
- // Qwen3.5-Plus, Qwen3.6-Plus: image + video support
147614
- [/^qwen3\.5-plus/, { image: true, video: true }],
147615
- [/^qwen3\.6-plus/, { image: true, video: true }],
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
- [/^qwen-vl-/, { image: true, video: true }],
147619
- [/^qwen3-vl-/, { image: true, video: true }],
147618
+ [/^vivekmind-vl-/, { image: true, video: true }],
147619
+ [/^vivekmind3-vl-/, { image: true, video: true }],
147620
147620
  // VivekMind coder / text models: text-only
147621
- [/^qwen3-coder-/, {}],
147622
- [/^qwen/, {}],
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 = `QwenCode/${version2} (${process.platform}; ${process.arch})`;
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 = `QwenCode/${version2} (${process.platform}; ${process.arch})`;
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
- "qwen-vl",
156925
- // qwen-vl-max, qwen-vl-max-latest, etc.
156926
- "qwen3-vl-plus",
156927
- // qwen3-vl-plus variants
156928
- "qwen3.5-plus"
156929
- // qwen3.5-plus (has built-in vision capabilities)
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/QwenLM/qwen-code/issues/3786
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 = `QwenCode/${version2} (${process.platform}; ${process.arch})`;
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.15.7";
172987
- const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
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
- "qwen.qwen3-coder-next": { inputPer1K: 3e-4, outputPer1K: 1e-3 },
203084
- "qwen.qwen3-next-80b-a3b": { inputPer1K: 5e-4, outputPer1K: 15e-4 },
203085
- "qwen.qwen3-32b-v1:0": { inputPer1K: 15e-5, outputPer1K: 45e-5 },
203086
- "qwen.qwen3-vl-235b-a22b": { inputPer1K: 1e-3, outputPer1K: 3e-3 },
203087
- "qwen.qwen3-coder-30b-a3b-v1:0": { inputPer1K: 15e-5, outputPer1K: 45e-5 },
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 isQwenQuotaExceededError(error41) {
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(isQwenQuotaExceededError, "isQwenQuotaExceededError");
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 && isQwenQuotaExceededError(error41)) {
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.totalTokenCount || usageMetadata.promptTokenCount;
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 QWEN.md files, always confirm first. Authorization stands for the scope specified, not beyond. Match the scope of your actions to what was actually requested.
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 "qwen-coder":
207547
- return qwenCoderToolCallExamples;
207548
- case "qwen-vl":
207549
- return qwenVlToolCallExamples;
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 (/qwen[^-]*-coder/i.test(model)) {
207559
- return qwenCoderToolCallExamples;
207576
+ if (/vivekmind[^-]*-coder/i.test(model)) {
207577
+ return vivekmindCoderToolCallExamples;
207560
207578
  }
207561
- if (/qwen[^-]*-vl/i.test(model)) {
207562
- return qwenVlToolCallExamples;
207579
+ if (/vivekmind[^-]*-vl/i.test(model)) {
207580
+ return vivekmindVlToolCallExamples;
207563
207581
  }
207564
207582
  if (/coder-model/i.test(model)) {
207565
- return qwenCoderToolCallExamples;
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, qwenCoderToolCallExamples, qwenVlToolCallExamples, INSIGHT_PROMPTS;
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
- qwenCoderToolCallExamples = `
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
- qwenVlToolCallExamples = `
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
- "qwen3.5-plus": VIVEKMIND_VISION,
217681
- "qwen3.6-plus": VIVEKMIND_VISION,
217698
+ "vivekmind3.5-plus": VIVEKMIND_VISION,
217699
+ "vivekmind3.6-plus": VIVEKMIND_VISION,
217682
217700
  "coder-model": VIVEKMIND_VISION,
217683
- "qwen-vl-": VIVEKMIND_VISION,
217684
- "qwen3-vl-": VIVEKMIND_VISION,
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 resolveQwenOAuthConfig(input, warnings);
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 resolveQwenOAuthConfig(input, warnings) {
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(resolveQwenOAuthConfig, "resolveQwenOAuthConfig");
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: "qwen3.5-plus",
217969
- name: "[ModelStudio Coding Plan] qwen3.5-plus",
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: "qwen3.6-plus",
217979
- name: "[ModelStudio Coding Plan] qwen3.6-plus",
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: "qwen3-coder-plus",
218020
- name: "[ModelStudio Coding Plan] qwen3-coder-plus",
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: "qwen3-coder-next",
218029
- name: "[ModelStudio Coding Plan] qwen3-coder-next",
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: "qwen3-max-2026-01-23",
218038
- name: "[ModelStudio Coding Plan] qwen3-max-2026-01-23",
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: "qwen3.5-plus",
218061
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3.5-plus",
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: "qwen3.6-plus",
218071
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3.6-plus",
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: "qwen3-coder-plus",
218082
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-coder-plus",
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: "qwen3-coder-next",
218091
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-coder-next",
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: "qwen3-max-2026-01-23",
218100
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-max-2026-01-23",
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
- qwenDir;
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.qwenDir = this.storage.getProjectTempDir();
250443
- this.logFilePath = path33.join(this.qwenDir, LOG_FILE_NAME);
250460
+ this.vivekmindDir = this.storage.getProjectTempDir();
250461
+ this.logFilePath = path33.join(this.vivekmindDir, LOG_FILE_NAME);
250444
250462
  try {
250445
- await fs38.mkdir(this.qwenDir, { recursive: true });
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.qwenDir) {
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.qwenDir, `checkpoint-${encodedTag}.json`);
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.qwenDir, `checkpoint-${tag3}.json`);
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.qwenDir) {
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.qwenDir, `checkpoint-${tag3}.json`);
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: `qwen-cli-mcp-client-${this.serverName}`,
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@qwen.ai\n[commit]\n gpgsign = false\n";
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 QWEN.md or AGENTS.md files.",
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 hasQwenConfig = fs71.existsSync(path62.join(destination, lonelyDir.name, EXTENSIONS_CONFIG_FILENAME));
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 (hasQwenConfig || hasGeminiConfig || hasMarketplaceConfig || hasClaudePluginConfig) {
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(), "qwen-extension"));
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 convertGeminiToQwenConfig(extensionDir) {
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 = convertGeminiToQwenConfig(extensionDir);
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 qwenConfigPath = path64.join(tmpDir, "vivekmind-extension.json");
285071
- fs73.writeFileSync(qwenConfigPath, JSON.stringify(geminiConfig, null, 2), "utf-8");
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(convertGeminiToQwenConfig, "convertGeminiToQwenConfig");
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 qwenAgent = {
285331
+ const vivekmindAgent = {
285314
285332
  name: claudeAgent.name,
285315
285333
  description: claudeAgent.description
285316
285334
  };
285317
285335
  if (claudeAgent.color) {
285318
- qwenAgent["color"] = claudeAgent.color;
285336
+ vivekmindAgent["color"] = claudeAgent.color;
285319
285337
  }
285320
285338
  if (claudeAgent.systemPrompt) {
285321
- qwenAgent["systemPrompt"] = claudeAgent.systemPrompt;
285339
+ vivekmindAgent["systemPrompt"] = claudeAgent.systemPrompt;
285322
285340
  }
285323
285341
  if (claudeAgent.tools && claudeAgent.tools.length > 0) {
285324
- qwenAgent["tools"] = claudeBuildInToolsTransform(claudeAgent.tools);
285342
+ vivekmindAgent["tools"] = claudeBuildInToolsTransform(claudeAgent.tools);
285325
285343
  }
285326
285344
  if (claudeAgent.model) {
285327
- qwenAgent["model"] = claudeAgent.model;
285345
+ vivekmindAgent["model"] = claudeAgent.model;
285328
285346
  }
285329
285347
  if (claudeAgent.permissionMode) {
285330
- const claudeToQwenMode = {
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 = claudeToQwenMode[claudeAgent.permissionMode] ?? claudeAgent.permissionMode;
285339
- qwenAgent["approvalMode"] = mapped;
285356
+ const mapped = claudeToVivekMindMode[claudeAgent.permissionMode] ?? claudeAgent.permissionMode;
285357
+ vivekmindAgent["approvalMode"] = mapped;
285340
285358
  }
285341
285359
  if (claudeAgent.hooks) {
285342
- qwenAgent["hooks"] = claudeAgent.hooks;
285360
+ vivekmindAgent["hooks"] = claudeAgent.hooks;
285343
285361
  }
285344
285362
  if (claudeAgent.skills && claudeAgent.skills.length > 0) {
285345
- qwenAgent["skills"] = claudeAgent.skills;
285363
+ vivekmindAgent["skills"] = claudeAgent.skills;
285346
285364
  }
285347
285365
  if (claudeAgent.disallowedTools && claudeAgent.disallowedTools.length > 0) {
285348
- qwenAgent["disallowedTools"] = claudeAgent.disallowedTools;
285366
+ vivekmindAgent["disallowedTools"] = claudeAgent.disallowedTools;
285349
285367
  }
285350
- return qwenAgent;
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 qwenAgent = convertClaudeAgentConfig(claudeAgent);
285401
+ const vivekmindAgent = convertClaudeAgentConfig(claudeAgent);
285384
285402
  const newFrontmatter = {};
285385
- for (const [key, value] of Object.entries(qwenAgent)) {
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 = qwenAgent["systemPrompt"] || body2.trim();
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 convertClaudeToQwenConfig(claudeConfig) {
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 qwenConfig = convertClaudeToQwenConfig(mergedConfig);
285519
- const qwenConfigPath = path65.join(tmpDir, "vivekmind-extension.json");
285520
- fs74.writeFileSync(qwenConfigPath, JSON.stringify(qwenConfig, null, 2), "utf-8");
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: qwenConfig,
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(convertClaudeToQwenConfig, "convertClaudeToQwenConfig");
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 ["QWEN.md"];
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 = "QwenCode";
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 || "QwenCode"
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(), "qwen-speculation", String(process.pid), id);
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 QWEN.md files or rules found.");
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 QWEN.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.
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 QWEN.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.
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 QWEN.md
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: "qwen-9001-super-duper",
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
- convertClaudeToQwenConfig: () => convertClaudeToQwenConfig,
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, Fragment29 = _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;
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 Fragment29:
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, Fragment29 = 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;
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 Fragment29:
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 Fragment29:
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., qwen3-coder-flash) reduces latency and cost.",
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 QwenLM/qwen-code#3616.',
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: {"qwen3-coder": {"inputPerMillionTokens": 0.30, "outputPerMillionTokens": 1.20}}',
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 QWEN.md file.": "Analitza el projecte i crea un fitxer QWEN.md personalitzat.",
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 QWEN.md context using {{fileName}}": "Aquesta extensi\xF3 afegir\xE0 informaci\xF3 al vostre context QWEN.md usant {{fileName}}",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "S'han afegit correctament els fitxers QWEN.md dels directoris seg\xFCents si n'hi ha:\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "L'\xFAltim model de visi\xF3 VivekMind d'Alibaba Cloud ModelStudio (versi\xF3: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "Afegiu un fitxer QWEN.md per donar a VivekMind un context persistent del projecte.",
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 QWEN.md file.": "Analysiert das Projekt und erstellt eine ma\xDFgeschneiderte QWEN.md-Datei.",
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 QWEN.md context using {{fileName}}": "Diese Erweiterung wird Informationen zu Ihrem QWEN.md-Kontext mit {{fileName}} hinzuf\xFCgen",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "QWEN.md-Dateien aus folgenden Verzeichnissen erfolgreich hinzugef\xFCgt, falls vorhanden:\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "Das neueste VivekMind Vision Modell von Alibaba Cloud ModelStudio (Version: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "F\xFCgen Sie eine QWEN.md-Datei hinzu, um VivekMind dauerhaften Projektkontext zu geben.",
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 QWEN.md file.": "Analyzes the project and creates a tailored QWEN.md file.",
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 QWEN.md context using {{fileName}}": "This extension will append info to your QWEN.md context using {{fileName}}",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "The latest VivekMind Vision model from Alibaba Cloud ModelStudio (version: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "Add a QWEN.md file to give VivekMind persistent project context.",
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 QWEN.md file.": "Analyse le projet et cr\xE9e un fichier QWEN.md personnalis\xE9.",
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 QWEN.md context using {{fileName}}": "Cette extension ajoutera des informations \xE0 votre contexte QWEN.md en utilisant {{fileName}}",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "Fichiers QWEN.md ajout\xE9s avec succ\xE8s depuis les r\xE9pertoires suivants s'ils existent :\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "Le dernier mod\xE8le VivekMind Vision d'Alibaba Cloud ModelStudio (version : qwen3-vl-plus-2025-09-23)",
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 QWEN.md file.": "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5206\u6790\u3057\u3001\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3055\u308C\u305F QWEN.md \u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "\u4EE5\u4E0B\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304B\u3089 QWEN.md \u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F(\u5B58\u5728\u3059\u308B\u5834\u5408):\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "Alibaba Cloud ModelStudio\u306E\u6700\u65B0VivekMind Vision\u30E2\u30C7\u30EB(\u30D0\u30FC\u30B8\u30E7\u30F3: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "QWEN.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",
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 QWEN.md file.": "Analisa o projeto e cria um arquivo QWEN.md personalizado.",
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 QWEN.md context using {{fileName}}": "Esta extens\xE3o anexar\xE1 informa\xE7\xF5es ao seu contexto QWEN.md usando {{fileName}}",
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 QWEN.md files from the following directories if there are:\n- {{directories}}": "Arquivos QWEN.md adicionados com sucesso dos seguintes diret\xF3rios, se houverem:\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "O modelo VivekMind Vision mais recente do Alibaba Cloud ModelStudio (vers\xE3o: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "Adicione um arquivo QWEN.md para dar ao VivekMind um contexto persistente do projeto.",
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 QWEN.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 QWEN.md",
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 QWEN.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 QWEN.md \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E {{fileName}}",
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 QWEN.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 QWEN.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}}",
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: qwen3-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: qwen3-vl-plus-2025-09-23)",
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 QWEN.md file to give VivekMind persistent project context.": "\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0444\u0430\u0439\u043B QWEN.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.",
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 QWEN.md file.": "\u5206\u6790\u9805\u76EE\u4E26\u5275\u5EFA\u5B9A\u88FD\u7684 QWEN.md \u6587\u4EF6",
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 QWEN.md context using {{fileName}}": "\u6B64\u64F4\u5C55\u5C07\u4F7F\u7528 {{fileName}} \u5411\u60A8\u7684 QWEN.md \u4E0A\u4E0B\u6587\u8FFD\u52A0\u4FE1\u606F",
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 QWEN.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 QWEN.md \u6587\u4EF6\uFF1A\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "\u4F86\u81EA\u963F\u91CC\u96F2 ModelStudio \u7684\u6700\u65B0 VivekMind Vision \u6A21\u578B\uFF08\u7248\u672C\uFF1Aqwen3-vl-plus-2025-09-23\uFF09",
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 QWEN.md file to give VivekMind persistent project context.": "\u6DFB\u52A0 QWEN.md \u6587\u4EF6\uFF0C\u7232 VivekMind \u63D0\u4F9B\u6301\u4E45\u7684\u9805\u76EE\u4E0A\u4E0B\u6587\u3002",
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 QWEN.md file.": "\u5206\u6790\u9879\u76EE\u5E76\u521B\u5EFA\u5B9A\u5236\u7684 QWEN.md \u6587\u4EF6",
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 QWEN.md context using {{fileName}}": "\u6B64\u6269\u5C55\u5C06\u4F7F\u7528 {{fileName}} \u5411\u60A8\u7684 QWEN.md \u4E0A\u4E0B\u6587\u8FFD\u52A0\u4FE1\u606F",
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 QWEN.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 QWEN.md \u6587\u4EF6\uFF1A\n- {{directories}}",
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: qwen3-vl-plus-2025-09-23)": "\u6765\u81EA\u963F\u91CC\u4E91 ModelStudio \u7684\u6700\u65B0 VivekMind Vision \u6A21\u578B\uFF08\u7248\u672C\uFF1Aqwen3-vl-plus-2025-09-23\uFF09",
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 QWEN.md file to give VivekMind persistent project context.": "\u6DFB\u52A0 QWEN.md \u6587\u4EF6\uFF0C\u4E3A VivekMind \u63D0\u4F9B\u6301\u4E45\u7684\u9879\u76EE\u4E0A\u4E0B\u6587\u3002",
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 Fragment29 = REACT_FRAGMENT_TYPE;
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 = Fragment29;
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 QWEN.md context using {{fileName}}",
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: "qwen3.5-plus",
499155
- name: "[ModelStudio Coding Plan] qwen3.5-plus",
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: "qwen3.6-plus",
499167
- name: "[ModelStudio Coding Plan] qwen3.6-plus",
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: "qwen3-coder-plus",
499216
- name: "[ModelStudio Coding Plan] qwen3-coder-plus",
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: "qwen3-coder-next",
499225
- name: "[ModelStudio Coding Plan] qwen3-coder-next",
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: "qwen3-max-2026-01-23",
499234
- name: "[ModelStudio Coding Plan] qwen3-max-2026-01-23",
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: "qwen3.5-plus",
499261
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3.5-plus",
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: "qwen3.6-plus",
499273
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3.6-plus",
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: "qwen3-coder-plus",
499286
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-coder-plus",
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: "qwen3-coder-next",
499295
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-coder-next",
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: "qwen3-max-2026-01-23",
499304
- name: "[ModelStudio Coding Plan for Global/Intl] qwen3-max-2026-01-23",
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 = ["qwen/", "glm/", "minimax/"];
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://qwenlm.github.io/vivekmind-docs/en/users/configuration/model-providers/\n"
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 = "qwen3.5-plus,glm-5,kimi-k2.5";
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.15.7";
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, "QWEN.md");
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 QWEN.md
508104
+ sections.push(`### From VIVEKMIND.md
508087
508105
 
508088
508106
  ${section}`);
508089
- loaded.push("QWEN.md");
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, QWEN.md) and write a combined Markdown file",
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/qwen-light.ts
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/qwen-light.ts
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/qwen-dark.ts
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 = "189427d4c";
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|qwen)-(?:code-)?/, "");
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 qwen-coder-plus,kimi-for-coding "fix the bug"'
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://qwenlm.github.io/vivekmind-docs/${langPath}`;
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 QWEN.md files from the following directories if there are:\n- {{directories}}",
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 QWEN.md file.");
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 QWEN.md in the project root):
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
- "qwen-dispatch/qwen-dispatch.yml",
521034
- "qwen-assistant/qwen-invoke.yml",
521035
- "issue-triage/qwen-triage.yml",
521036
- "issue-triage/qwen-scheduled-triage.yml",
521037
- "pr-review/qwen-review.yml"
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/QwenLM/qwen-code-action/refs/tags/${releaseTag}/examples/workflows/${workflow}`;
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,qwen.qwen3-coder-next,qwen.qwen3-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",
557714
- [AuthType2.USE_OLLAMA]: "llama3.3:70b,qwen2.5-coder:32b,deepseek-r1: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,Qwen/Qwen3-235B-A22B",
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]: "qwen3-coder-plus,qwen-max,qwen-vl-max",
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,Qwen/Qwen3-235B-A22B,meta-llama/Meta-Llama-3.1-405B-Instruct",
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://qwenlm.github.io/vivekmind-docs/en/users/configuration/settings/#modelproviders";
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 isQwenOauth = model.authType === AuthType2.VIVEKMIND_OAUTH;
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: isQwenOauth
560290
+ disabled: isVivekMindOauth
560261
560291
  };
560262
560292
  });
560263
560293
  }, [config2]);
560264
- const hasDisabledQwenOauth = modelItems.some((item) => item.disabled);
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
- (hasDisabledQwenOauth || needsMoreModels) && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(Box_default, { marginTop: 1, flexDirection: "column", children: [
560311
- hasDisabledQwenOauth && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text3, { color: theme.status.warning, children: t4("Note: vivekmind-oauth models are not supported in Arena.") }),
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] ?? "QWEN.md"
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] ?? "QWEN.md"
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] ?? "QWEN.md"
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] ?? "QWEN.md"
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 label = terminalWidth < 100 ? t4("% used") : t4("% context used");
569978
- if (isOverLimit) {
569979
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_jsx_runtime129.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { color: theme.status.error, children: [
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
- label
569982
- ] }) });
570022
+ label2
570023
+ ] });
569983
570024
  }
569984
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Text3, { color: theme.text.secondary, children: [
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
- if (prevStreamingStateRef.current === "waiting_for_confirmation" /* WaitingForConfirmation */ && streamingState === "responding" /* Responding */) {
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
- setTaskStartTokens(currentCandidatesTokens ?? 0);
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 */ && prevStreamingStateRef.current !== "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-qwenmd",
582169
- content: "Add a QWEN.md file to give VivekMind persistent project context.",
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.15.7";
588911
+ const version2 = "1.0.1";
588849
588912
  return {
588850
588913
  protocolVersion: PROTOCOL_VERSION,
588851
588914
  agentInfo: {