@factiii/runner 0.11.2 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -27468,11 +27468,27 @@ ${err.fix}`);
27468
27468
  console.error("");
27469
27469
  process.exit(1);
27470
27470
  }
27471
+ var MAX_SUPPORTED_NODE_MAJOR = 24;
27472
+ function assertSupportedNode() {
27473
+ const major = Number(process.versions.node.split(".")[0]);
27474
+ if (Number.isNaN(major) || major <= MAX_SUPPORTED_NODE_MAJOR) return;
27475
+ console.error(
27476
+ `
27477
+ factiii-runner needs Node 20\u2013${MAX_SUPPORTED_NODE_MAJOR} (pinned 24.11.1); you are on Node ${process.versions.node}.
27478
+ The bundled OneDrive index compiles better-sqlite3 from source, and that build fails on Node 25+.
27479
+
27480
+ Switch with nvm: nvm install 24.11.1 && nvm use 24.11.1
27481
+ then relaunch: factiii-runner start
27482
+ `
27483
+ );
27484
+ process.exit(1);
27485
+ }
27471
27486
  import_node_dns.default.setDefaultResultOrder("ipv4first");
27472
27487
  var program2 = new Command();
27473
27488
  program2.name("factiii-runner").description("Factiii Runner - run Board AI agents on remote servers").version(currentVersion());
27474
27489
  program2.command("setup").description("Verify the host toolchain and pair this runner").option("-s, --server <url>", "API server URL", "https://api.factiii.com").action(async (opts) => {
27475
27490
  try {
27491
+ assertSupportedNode();
27476
27492
  await setup(opts.server);
27477
27493
  } catch (err) {
27478
27494
  console.error(
@@ -27501,6 +27517,7 @@ program2.command("connect").description("Pair this runner with a Factiii account
27501
27517
  }
27502
27518
  });
27503
27519
  program2.command("start").description("Start the runner daemon").action(async () => {
27520
+ assertSupportedNode();
27504
27521
  if (!configExists()) {
27505
27522
  console.error('No config found. Run "factiii-runner setup" first.');
27506
27523
  process.exit(1);
@@ -27546,6 +27563,9 @@ program2.command("status").description("Show current runner configuration").acti
27546
27563
  console.log(`Token: \xB7\xB7\xB7\xB7${config.authToken.slice(-4)}`);
27547
27564
  });
27548
27565
  program2.command("doctor").description("Show where each host tool resolves, for a failed environment").action(async () => {
27566
+ const nodeMajor = Number(process.versions.node.split(".")[0]);
27567
+ const nodeNote = nodeMajor > MAX_SUPPORTED_NODE_MAJOR ? " (UNSUPPORTED \u2014 use 24.11.1)" : "";
27568
+ console.log(`${"node".padEnd(14)} ${process.execPath} v${process.versions.node}${nodeNote}`);
27549
27569
  const report = await reportToolchain(hostTarget(CONFIG_DIR));
27550
27570
  for (const tool of report.tools) {
27551
27571
  console.log(`${tool.bin.padEnd(14)} ${tool.location || "NOT FOUND"}`);
package/index/index.js CHANGED
@@ -6915,9 +6915,9 @@ var require_dist = __commonJS({
6915
6915
  }
6916
6916
  });
6917
6917
 
6918
- // ../../node_modules/@modelcontextprotocol/sdk/node_modules/content-type/index.js
6918
+ // ../../node_modules/content-type/index.js
6919
6919
  var require_content_type = __commonJS({
6920
- "../../node_modules/@modelcontextprotocol/sdk/node_modules/content-type/index.js"(exports2) {
6920
+ "../../node_modules/content-type/index.js"(exports2) {
6921
6921
  "use strict";
6922
6922
  var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;
6923
6923
  var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factiii/runner",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "description": "Factiii Runner, run Board AI agents on a machine you control. Pairs with the Factiii web/mobile clients over WebRTC.",
5
5
  "license": "ISC",
6
6
  "keywords": [
@@ -13,7 +13,7 @@
13
13
  "cli"
14
14
  ],
15
15
  "engines": {
16
- "node": ">=20"
16
+ "node": ">=20 <25"
17
17
  },
18
18
  "publishConfig": {
19
19
  "access": "public"