nexrall-code 0.5.63 → 0.5.65

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 +25 -2
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -16191,7 +16191,7 @@ var require_loop = __commonJS({
16191
16191
  }
16192
16192
  var DEFAULT_MAX_ITERATIONS = 500;
16193
16193
  var MAX_ITERATIONS_CEILING = 2e3;
16194
- var HARD_ITERATIONS_CAP = 1e5;
16194
+ var HARD_ITERATIONS_CAP = Infinity;
16195
16195
  var STALL_LIMIT = 8;
16196
16196
  var REPEAT_STALL_LIMIT = 12;
16197
16197
  function errorRoundSignature(errored) {
@@ -64750,6 +64750,14 @@ var SELECTABLE_MODELS = [
64750
64750
  "deepseek-v4-flash",
64751
64751
  "qwen3.7-max"
64752
64752
  ];
64753
+ var NO_VISION_MODELS = /* @__PURE__ */ new Set(["deepseek-v4-pro", "deepseek-v4-flash", "qwen3.7-max"]);
64754
+ var NO_PDF_MODELS = /* @__PURE__ */ new Set([
64755
+ "gpt-5.4",
64756
+ "gpt-5.4-mini",
64757
+ "gpt-4.1",
64758
+ "gpt-4o-mini",
64759
+ ...NO_VISION_MODELS
64760
+ ]);
64753
64761
  function normaliseModelId(model) {
64754
64762
  const raw = (model ?? "").trim();
64755
64763
  if (!raw)
@@ -65918,6 +65926,21 @@ ${content}
65918
65926
  rl.prompt();
65919
65927
  return;
65920
65928
  }
65929
+ const model = normaliseModelId(modelAlias);
65930
+ if (isPdf && NO_PDF_MODELS.has(model)) {
65931
+ console.log(source_default.red(
65932
+ ` ${resolveModelLabel(modelAlias)} does not support PDF attachments. Switch models with /model (Claude models support PDFs), or extract the text yourself and use /add instead.`
65933
+ ));
65934
+ rl.prompt();
65935
+ return;
65936
+ }
65937
+ if (!isPdf && NO_VISION_MODELS.has(model)) {
65938
+ console.log(source_default.red(
65939
+ ` ${resolveModelLabel(modelAlias)} does not support image input. Switch models with /model, or attach as text with /add instead.`
65940
+ ));
65941
+ rl.prompt();
65942
+ return;
65943
+ }
65921
65944
  let buf;
65922
65945
  try {
65923
65946
  buf = fs8.readFileSync(filePath);
@@ -66427,7 +66450,7 @@ function pluginSourceRemoveCommand(name, opts) {
66427
66450
 
66428
66451
  // src/index.ts
66429
66452
  var program2 = new Command();
66430
- program2.name("nex").description("Nexrall Code \u2014 AI coding assistant (powered by Nexrall)").version("0.5.63").enablePositionalOptions();
66453
+ program2.name("nex").description("Nexrall Code \u2014 AI coding assistant (powered by Nexrall)").version("0.5.64").enablePositionalOptions();
66431
66454
  program2.command("auth").description("Login to your Nexrall account").action(authCommand);
66432
66455
  program2.command("logout").description("Log out of your Nexrall account").action(logoutCommand);
66433
66456
  program2.command("update").description("Update nex to the latest version").option("-c, --check", "Check for updates without installing").option("-y, --yes", "Skip confirmation prompt").action(async (opts) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexrall-code",
3
- "version": "0.5.63",
3
+ "version": "0.5.65",
4
4
  "description": "Nexrall Code — AI coding assistant for your terminal (headless agent for scripts, CI and automation)",
5
5
  "keywords": [
6
6
  "ai",
@@ -39,7 +39,7 @@
39
39
  "release": "node build.js && node scripts/upload-release.cjs"
40
40
  },
41
41
  "dependencies": {
42
- "@nexrall/code-core": "^1.4.37",
42
+ "@nexrall/code-core": "^1.4.38",
43
43
  "chalk": "^5.3.0",
44
44
  "commander": "^12.0.0",
45
45
  "diff": "^5.2.0",