modelstat 0.10.1 → 0.10.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.mjs CHANGED
@@ -37315,7 +37315,7 @@ var init_scan = __esm({
37315
37315
  init_api();
37316
37316
  init_config2();
37317
37317
  init_pipeline2();
37318
- DAEMON_VERSION = true ? "daemon-0.10.1" : "daemon-dev";
37318
+ DAEMON_VERSION = true ? "daemon-0.10.3" : "daemon-dev";
37319
37319
  BATCH_MAX_EVENTS = INGEST_BATCH_MAX_EVENTS;
37320
37320
  BATCH_MAX_TOOL_CALLS = 2e4;
37321
37321
  BATCH_BUFFER_HARD_CAP = BATCH_MAX_EVENTS * 2;
@@ -40262,7 +40262,7 @@ var init_daemon = __esm({
40262
40262
  init_scan();
40263
40263
  init_single_flight();
40264
40264
  init_update();
40265
- DAEMON_VERSION2 = true ? "daemon-0.10.1" : "daemon-dev";
40265
+ DAEMON_VERSION2 = true ? "daemon-0.10.3" : "daemon-dev";
40266
40266
  HEARTBEAT_INTERVAL_MS = 1e4;
40267
40267
  SCAN_INTERVAL_MS = 5 * 60 * 1e3;
40268
40268
  DISCOVERY_INTERVAL_MS = 6e4;
@@ -40467,21 +40467,21 @@ function sourcePkgVersion(sourceCli, pkgName) {
40467
40467
  }
40468
40468
  return null;
40469
40469
  }
40470
- function stageNativePkg(sourceCli, pkgName, fallbackVersion, critical) {
40471
- const version = sourcePkgVersion(sourceCli, pkgName) ?? fallbackVersion;
40472
- const dest = binDir();
40473
- const pkgJson = join8(dest, "node_modules", ...pkgName.split("/"), "package.json");
40470
+ function stagedVersion(pkgName) {
40474
40471
  try {
40475
- const have = JSON.parse(readFileSync5(pkgJson, "utf8"));
40476
- if (have.version === version) return [`${pkgName}@${version} (cached)`];
40472
+ const pj = join8(binDir(), "node_modules", ...pkgName.split("/"), "package.json");
40473
+ return JSON.parse(readFileSync5(pj, "utf8")).version ?? null;
40477
40474
  } catch {
40475
+ return null;
40478
40476
  }
40477
+ }
40478
+ function stageNativePkgs(specs) {
40479
+ const dest = binDir();
40479
40480
  mkdirSync4(dest, { recursive: true });
40480
40481
  const childEnv = { ...process.env };
40481
40482
  delete childEnv.npm_config_global;
40482
40483
  delete childEnv.npm_config_prefix;
40483
- const label = critical ? "summariser runtime" : "on-device embedder + PII/NER redactor";
40484
- process.stderr.write(` \xB7 staging ${label} (${pkgName}@${version})\u2026
40484
+ process.stderr.write(` \xB7 staging native runtime (${specs.join(", ")})\u2026
40485
40485
  `);
40486
40486
  const r = spawnSync2(
40487
40487
  "npm",
@@ -40501,31 +40501,46 @@ function stageNativePkg(sourceCli, pkgName, fallbackVersion, critical) {
40501
40501
  "--prefer-offline",
40502
40502
  "--fetch-timeout=60000",
40503
40503
  "--loglevel=error",
40504
- `${pkgName}@${version}`
40504
+ ...specs
40505
40505
  ],
40506
40506
  { encoding: "utf8", stdio: "pipe", env: childEnv }
40507
40507
  );
40508
40508
  if (r.status !== 0) {
40509
40509
  process.stderr.write(
40510
- critical ? `[modelstat] couldn't stage the bundled summariser runtime via npm (${pkgName}@${version}); the daemon's summariser preflight will fail until this is resolved.
40510
+ `[modelstat] npm couldn't stage [${specs.join(", ")}] into ~/.modelstat/bin:
40511
40511
  ${(r.stderr || r.stdout || "").trim()}
40512
- ` : `[modelstat] couldn't stage the on-device embedder/redactor (${pkgName}@${version}); the daemon falls back to server-side embedding + regex/LLM redaction (non-fatal).
40513
40512
  `
40514
40513
  );
40515
- return [];
40514
+ return false;
40516
40515
  }
40517
- return [`${pkgName}@${version}`];
40516
+ return true;
40518
40517
  }
40519
40518
  function installNativeRuntime(sourceCli) {
40520
- return [
40521
- ...stageNativePkg(sourceCli, "node-llama-cpp", NODE_LLAMA_CPP_FALLBACK_VERSION, true),
40522
- ...stageNativePkg(
40523
- sourceCli,
40524
- "@huggingface/transformers",
40525
- HF_TRANSFORMERS_FALLBACK_VERSION,
40526
- false
40527
- )
40519
+ const pkgs = [
40520
+ {
40521
+ name: "node-llama-cpp",
40522
+ version: sourcePkgVersion(sourceCli, "node-llama-cpp") ?? NODE_LLAMA_CPP_FALLBACK_VERSION
40523
+ },
40524
+ {
40525
+ name: "@huggingface/transformers",
40526
+ version: sourcePkgVersion(sourceCli, "@huggingface/transformers") ?? HF_TRANSFORMERS_FALLBACK_VERSION
40527
+ }
40528
40528
  ];
40529
+ if (pkgs.every((p) => stagedVersion(p.name) === p.version)) {
40530
+ return pkgs.map((p) => `${p.name}@${p.version} (cached)`);
40531
+ }
40532
+ const specs = pkgs.map((p) => `${p.name}@${p.version}`);
40533
+ if (stageNativePkgs(specs)) return specs;
40534
+ process.stderr.write(
40535
+ "[modelstat] retrying with just the summariser runtime; the embedder/redactor will fall back\u2026\n"
40536
+ );
40537
+ const llamaSpec = `node-llama-cpp@${pkgs[0].version}`;
40538
+ if (stageNativePkgs([llamaSpec])) return [llamaSpec];
40539
+ process.stderr.write(
40540
+ `[modelstat] couldn't stage the summariser runtime (${llamaSpec}); the daemon uses the extractive fallback until this is resolved.
40541
+ `
40542
+ );
40543
+ return [];
40529
40544
  }
40530
40545
  function nodeBinary() {
40531
40546
  return process.execPath;
@@ -40879,7 +40894,7 @@ function tryOpenBrowser(url) {
40879
40894
  return false;
40880
40895
  }
40881
40896
  }
40882
- var DAEMON_VERSION3 = true ? "daemon-0.10.1" : "daemon-dev";
40897
+ var DAEMON_VERSION3 = true ? "daemon-0.10.3" : "daemon-dev";
40883
40898
  function osFamily() {
40884
40899
  const p = platform6();
40885
40900
  if (p === "darwin") return "macos";
@@ -41564,6 +41579,11 @@ async function main() {
41564
41579
  console.log(`\u2713 runtime staged at ${dest}`);
41565
41580
  return;
41566
41581
  }
41582
+ case "_install-service": {
41583
+ const svc = installService();
41584
+ console.log(`\u2713 managed background service installed + started (${svc.path})`);
41585
+ return;
41586
+ }
41567
41587
  case "_daemon-health": {
41568
41588
  try {
41569
41589
  console.log(JSON.stringify(daemonHealth({ myDaemonVersion: DAEMON_VERSION3 })));