@askexenow/exe-os 0.8.96 → 0.8.97

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/bin/cli.js CHANGED
@@ -12769,8 +12769,9 @@ async function runSetupWizard(opts = {}) {
12769
12769
  } else if (!state.completedSteps.includes(6)) {
12770
12770
  log("=== Your First Hire ===");
12771
12771
  log("");
12772
- log("Until now, you talked to one agent at a time.");
12773
- log("Your COO changes that. You talk to them \u2014 they coordinate");
12772
+ log("Your new COO will hold all your vision, your roadmap, all your");
12773
+ log("projects and everything you think about in business, life and beyond.");
12774
+ log("They can call and hire new employees, executives, and coordinate");
12774
12775
  log("your entire team. Engineers, marketers, specialists, all working");
12775
12776
  log("in parallel while you focus on what matters.");
12776
12777
  log("");
@@ -1799,6 +1799,9 @@ var init_worker_gate = __esm({
1799
1799
  }
1800
1800
  });
1801
1801
 
1802
+ // src/bin/exe-doctor.ts
1803
+ import os4 from "os";
1804
+
1802
1805
  // src/lib/store.ts
1803
1806
  import { createHash } from "crypto";
1804
1807
  init_database();
@@ -2461,7 +2464,13 @@ function formatReport(report, flags) {
2461
2464
  }
2462
2465
  lines.push("");
2463
2466
  }
2464
- lines.push(`${indicator(report.nullVectors, 50)} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (${pct(report.nullVectors, s.total)})`);
2467
+ const totalMemGB = os4.totalmem() / (1024 * 1024 * 1024);
2468
+ const isLowMemSystem = totalMemGB <= 8;
2469
+ if (isLowMemSystem && report.nullVectors > 0) {
2470
+ lines.push(`\u{1F7E2} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (expected \u2014 8GB system, keyword search mode)`);
2471
+ } else {
2472
+ lines.push(`${indicator(report.nullVectors, 50)} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (${pct(report.nullVectors, s.total)})`);
2473
+ }
2465
2474
  const dupPct = s.total > 0 ? report.duplicateCount / s.total * 100 : 0;
2466
2475
  const dupIndicator = dupPct === 0 ? "\u{1F7E2}" : dupPct <= 5 ? "\u{1F7E0}" : "\u{1F534}";
2467
2476
  lines.push(`${dupIndicator} Duplicates: ${fmtNum(report.duplicateCount)} / ${fmtNum(s.total)} (${pct(report.duplicateCount, s.total)})`);
@@ -2523,7 +2532,7 @@ function formatReport(report, flags) {
2523
2532
  }
2524
2533
  }
2525
2534
  const recs = [];
2526
- if (report.nullVectors > 0) {
2535
+ if (report.nullVectors > 0 && !isLowMemSystem) {
2527
2536
  recs.push(`Run --fix to backfill ${fmtNum(report.nullVectors)} null vectors`);
2528
2537
  }
2529
2538
  if (report.duplicateCount > 0) {
package/dist/bin/setup.js CHANGED
@@ -6159,8 +6159,9 @@ async function runSetupWizard(opts = {}) {
6159
6159
  } else if (!state.completedSteps.includes(6)) {
6160
6160
  log("=== Your First Hire ===");
6161
6161
  log("");
6162
- log("Until now, you talked to one agent at a time.");
6163
- log("Your COO changes that. You talk to them \u2014 they coordinate");
6162
+ log("Your new COO will hold all your vision, your roadmap, all your");
6163
+ log("projects and everything you think about in business, life and beyond.");
6164
+ log("They can call and hire new employees, executives, and coordinate");
6164
6165
  log("your entire team. Engineers, marketers, specialists, all working");
6165
6166
  log("in parallel while you focus on what matters.");
6166
6167
  log("");
@@ -16127,8 +16127,8 @@ function registerExportGraph(server2) {
16127
16127
  const html = await exportGraphHTML(client);
16128
16128
  const fs = await import("fs");
16129
16129
  const path38 = await import("path");
16130
- const os12 = await import("os");
16131
- const outDir = path38.join(os12.homedir(), ".exe-os", "exports");
16130
+ const os13 = await import("os");
16131
+ const outDir = path38.join(os13.homedir(), ".exe-os", "exports");
16132
16132
  fs.mkdirSync(outDir, { recursive: true });
16133
16133
  const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
16134
16134
  const filePath = path38.join(outDir, `graph-${timestamp}.html`);
@@ -16621,6 +16621,7 @@ import { z as z57 } from "zod";
16621
16621
  // src/bin/exe-doctor.ts
16622
16622
  init_store();
16623
16623
  init_database();
16624
+ import os12 from "os";
16624
16625
 
16625
16626
  // src/lib/is-main.ts
16626
16627
  import { realpathSync } from "fs";
@@ -17096,7 +17097,13 @@ function formatReport(report, flags) {
17096
17097
  }
17097
17098
  lines.push("");
17098
17099
  }
17099
- lines.push(`${indicator(report.nullVectors, 50)} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (${pct(report.nullVectors, s.total)})`);
17100
+ const totalMemGB = os12.totalmem() / (1024 * 1024 * 1024);
17101
+ const isLowMemSystem = totalMemGB <= 8;
17102
+ if (isLowMemSystem && report.nullVectors > 0) {
17103
+ lines.push(`\u{1F7E2} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (expected \u2014 8GB system, keyword search mode)`);
17104
+ } else {
17105
+ lines.push(`${indicator(report.nullVectors, 50)} Null vectors: ${fmtNum(report.nullVectors)} / ${fmtNum(s.total)} (${pct(report.nullVectors, s.total)})`);
17106
+ }
17100
17107
  const dupPct = s.total > 0 ? report.duplicateCount / s.total * 100 : 0;
17101
17108
  const dupIndicator = dupPct === 0 ? "\u{1F7E2}" : dupPct <= 5 ? "\u{1F7E0}" : "\u{1F534}";
17102
17109
  lines.push(`${dupIndicator} Duplicates: ${fmtNum(report.duplicateCount)} / ${fmtNum(s.total)} (${pct(report.duplicateCount, s.total)})`);
@@ -17158,7 +17165,7 @@ function formatReport(report, flags) {
17158
17165
  }
17159
17166
  }
17160
17167
  const recs = [];
17161
- if (report.nullVectors > 0) {
17168
+ if (report.nullVectors > 0 && !isLowMemSystem) {
17162
17169
  recs.push(`Run --fix to backfill ${fmtNum(report.nullVectors)} null vectors`);
17163
17170
  }
17164
17171
  if (report.duplicateCount > 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.8.96",
3
+ "version": "0.8.97",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "type": "module",