nexrall-code 0.5.105 → 0.5.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +45 -45
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3102,6 +3102,34 @@ var require_types = __commonJS({
3102
3102
  }
3103
3103
  });
3104
3104
 
3105
+ // ../core/dist/util/safeSlice.js
3106
+ var require_safeSlice = __commonJS({
3107
+ "../core/dist/util/safeSlice.js"(exports2) {
3108
+ "use strict";
3109
+ Object.defineProperty(exports2, "__esModule", { value: true });
3110
+ exports2.sliceSafeEnd = sliceSafeEnd;
3111
+ exports2.sliceSafeStart = sliceSafeStart;
3112
+ function sliceSafeEnd(s2, max) {
3113
+ if (s2.length <= max)
3114
+ return s2;
3115
+ let end = max;
3116
+ const code = s2.charCodeAt(end - 1);
3117
+ if (code >= 55296 && code <= 56319)
3118
+ end--;
3119
+ return s2.slice(0, end);
3120
+ }
3121
+ function sliceSafeStart(s2, from) {
3122
+ if (from <= 0)
3123
+ return s2;
3124
+ let start = from;
3125
+ const code = s2.charCodeAt(start);
3126
+ if (code >= 56320 && code <= 57343)
3127
+ start++;
3128
+ return s2.slice(start);
3129
+ }
3130
+ }
3131
+ });
3132
+
3105
3133
  // ../core/dist/auth/index.js
3106
3134
  var require_auth = __commonJS({
3107
3135
  "../core/dist/auth/index.js"(exports2) {
@@ -13701,34 +13729,6 @@ ${doc}` : sig || "No type information." };
13701
13729
  }
13702
13730
  });
13703
13731
 
13704
- // ../core/dist/util/safeSlice.js
13705
- var require_safeSlice = __commonJS({
13706
- "../core/dist/util/safeSlice.js"(exports2) {
13707
- "use strict";
13708
- Object.defineProperty(exports2, "__esModule", { value: true });
13709
- exports2.sliceSafeEnd = sliceSafeEnd;
13710
- exports2.sliceSafeStart = sliceSafeStart;
13711
- function sliceSafeEnd(s2, max) {
13712
- if (s2.length <= max)
13713
- return s2;
13714
- let end = max;
13715
- const code = s2.charCodeAt(end - 1);
13716
- if (code >= 55296 && code <= 56319)
13717
- end--;
13718
- return s2.slice(0, end);
13719
- }
13720
- function sliceSafeStart(s2, from) {
13721
- if (from <= 0)
13722
- return s2;
13723
- let start = from;
13724
- const code = s2.charCodeAt(start);
13725
- if (code >= 56320 && code <= 57343)
13726
- start++;
13727
- return s2.slice(start);
13728
- }
13729
- }
13730
- });
13731
-
13732
13732
  // ../../node_modules/.pnpm/docx@9.7.1/node_modules/docx/dist/index.cjs
13733
13733
  var require_dist2 = __commonJS({
13734
13734
  "../../node_modules/.pnpm/docx@9.7.1/node_modules/docx/dist/index.cjs"(exports2) {
@@ -100745,8 +100745,10 @@ Resolve the conflict (remove <<<<<<< / ======= / >>>>>>> markers and keep the in
100745
100745
  shell.output += chunk;
100746
100746
  if (shell.output.length > MAX_OUTPUT_CHARS) {
100747
100747
  const overflow = shell.output.length - MAX_OUTPUT_CHARS;
100748
- shell.output = shell.output.slice(overflow);
100749
- shell.readCursor = Math.max(0, shell.readCursor - overflow);
100748
+ const beforeLen = shell.output.length;
100749
+ shell.output = (0, safeSlice_1.sliceSafeStart)(shell.output, overflow);
100750
+ const actualDropped = beforeLen - shell.output.length;
100751
+ shell.readCursor = Math.max(0, shell.readCursor - actualDropped);
100750
100752
  shell.truncated = true;
100751
100753
  }
100752
100754
  };
@@ -100937,14 +100939,15 @@ ${r2.output}`;
100937
100939
  }
100938
100940
  if (head.length < HEAD_CHARS) {
100939
100941
  const room = HEAD_CHARS - head.length;
100940
- head += chunk.slice(0, room);
100941
- chunk = chunk.slice(room);
100942
+ const taken = (0, safeSlice_1.sliceSafeEnd)(chunk, room);
100943
+ head += taken;
100944
+ chunk = chunk.slice(taken.length);
100942
100945
  if (!chunk)
100943
100946
  return;
100944
100947
  }
100945
100948
  tail += chunk;
100946
100949
  if (tail.length > TAIL_CHARS) {
100947
- tail = tail.slice(tail.length - TAIL_CHARS);
100950
+ tail = (0, safeSlice_1.sliceSafeStart)(tail, tail.length - TAIL_CHARS);
100948
100951
  truncated = true;
100949
100952
  }
100950
100953
  };
@@ -104313,8 +104316,7 @@ ${partial}` : "",
104313
104316
  // modelRegistry.js's own TODO(unverified-by-400): DeepSeek accepts an
104314
104317
  // oversized max_completion_tokens without rejecting it, so there was no 400
104315
104318
  // to measure the ceiling from the way the OpenAI rows above were).
104316
- "deepseek-v4-pro": 1048576,
104317
- "deepseek-v4-flash": 1048576,
104319
+ "deepseek-flash": 1048576,
104318
104320
  // Qwen (DashScope), by real model id (documented max input, same caveat).
104319
104321
  "qwen3.7-max": 991800,
104320
104322
  // Z.ai (GLM), by real model id. contextWindow is documented (Z.ai/
@@ -104531,7 +104533,7 @@ ${tail}`;
104531
104533
  continue;
104532
104534
  if (text.length <= PRUNE_STUB_KEEP_CHARS + 80)
104533
104535
  continue;
104534
- const head = text.slice(0, PRUNE_STUB_KEEP_CHARS);
104536
+ const head = (0, safeSlice_1.sliceSafeEnd)(text, PRUNE_STUB_KEEP_CHARS);
104535
104537
  const omitted = text.length - head.length;
104536
104538
  targets.push({ block: b, head, omitted });
104537
104539
  total += omitted;
@@ -107463,6 +107465,7 @@ var require_dist3 = __commonJS({
107463
107465
  };
107464
107466
  Object.defineProperty(exports2, "__esModule", { value: true });
107465
107467
  __exportStar(require_types(), exports2);
107468
+ __exportStar(require_safeSlice(), exports2);
107466
107469
  __exportStar(require_auth(), exports2);
107467
107470
  __exportStar(require_client(), exports2);
107468
107471
  __exportStar(require_executor(), exports2);
@@ -153300,8 +153303,7 @@ var MODEL_LABELS = {
153300
153303
  "gpt-5.4": "GPT-5.4",
153301
153304
  "gpt-5.4-mini": "GPT-5.4 Mini",
153302
153305
  "gpt-4.1": "GPT-4.1",
153303
- "deepseek-v4-pro": "DeepSeek V4 Pro",
153304
- "deepseek-v4-flash": "DeepSeek V4 Flash",
153306
+ "deepseek-flash": "DeepSeek Flash",
153305
153307
  "qwen3.7-max": "Qwen3.7 Max",
153306
153308
  "glm-5.3": "GLM 5.3"
153307
153309
  };
@@ -153323,8 +153325,7 @@ var SELECTABLE_MODELS = [
153323
153325
  "gpt-5.4",
153324
153326
  "gpt-5.4-mini",
153325
153327
  "gpt-4.1",
153326
- "deepseek-v4-pro",
153327
- "deepseek-v4-flash",
153328
+ "deepseek-flash",
153328
153329
  "qwen3.7-max",
153329
153330
  "glm-5.3"
153330
153331
  ];
@@ -153342,8 +153343,7 @@ var MODEL_COST_MULTIPLIER = {
153342
153343
  "gpt-5.4": 2,
153343
153344
  "gpt-5.4-mini": 0.5,
153344
153345
  "gpt-4.1": 1,
153345
- "deepseek-v4-pro": 0.1,
153346
- "deepseek-v4-flash": 0.05,
153346
+ "deepseek-flash": 0.1,
153347
153347
  "qwen3.7-max": 1,
153348
153348
  // $1.40/$4.40 per 1M in/out (docs.z.ai, 2026-08-30) vs gpt-4.1's $2.00/$8.00
153349
153349
  // (migration 113) — roughly 0.6x on a blended 75/25 in/out turn. Rounded to
@@ -153355,7 +153355,7 @@ function modelWithCostHint(id) {
153355
153355
  const mult = (0, import_code_core4.liveCostMultiplierFor)(id, MODEL_COST_MULTIPLIER[id]);
153356
153356
  return mult === void 0 ? id : `${id} (${mult}x)`;
153357
153357
  }
153358
- var NO_VISION_MODELS = /* @__PURE__ */ new Set(["deepseek-v4-pro", "deepseek-v4-flash", "qwen3.7-max", "glm-5.3"]);
153358
+ var NO_VISION_MODELS = /* @__PURE__ */ new Set(["qwen3.7-max", "glm-5.3"]);
153359
153359
  var NO_PDF_MODELS = /* @__PURE__ */ new Set([
153360
153360
  "gpt-5.6-sol",
153361
153361
  "gpt-5.6-terra",
@@ -153364,6 +153364,7 @@ var NO_PDF_MODELS = /* @__PURE__ */ new Set([
153364
153364
  "gpt-5.4-mini",
153365
153365
  "gpt-4.1",
153366
153366
  "gpt-4o-mini",
153367
+ "deepseek-flash",
153367
153368
  ...NO_VISION_MODELS
153368
153369
  ]);
153369
153370
  function needsVisionSidecar(model) {
@@ -153394,8 +153395,7 @@ var MODEL_EFFORT_STYLE = {
153394
153395
  "gpt-5.4-mini": "openai_gated",
153395
153396
  "gpt-4.1": "none",
153396
153397
  "gpt-4o-mini": "none",
153397
- "deepseek-v4-pro": "deepseek",
153398
- "deepseek-v4-flash": "deepseek",
153398
+ "deepseek-flash": "deepseek",
153399
153399
  "qwen3.7-max": "qwen",
153400
153400
  "glm-5.3": "glm"
153401
153401
  // Everything else (all claude-* ids) falls through to 'anthropic' below.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexrall-code",
3
- "version": "0.5.105",
3
+ "version": "0.5.107",
4
4
  "description": "Nexrall Code — AI coding assistant for your terminal (headless agent for scripts, CI and automation)",
5
5
  "keywords": [
6
6
  "ai",