@askexenow/exe-os 0.9.97 → 0.9.98
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/agentic-ontology-backfill.js +0 -29
- package/dist/bin/agentic-reflection-backfill.js +0 -29
- package/dist/bin/agentic-semantic-label.js +0 -29
- package/dist/bin/backfill-conversations.js +0 -29
- package/dist/bin/backfill-responses.js +0 -29
- package/dist/bin/backfill-vectors.js +0 -29
- package/dist/bin/bulk-sync-postgres.js +0 -29
- package/dist/bin/cleanup-stale-review-tasks.js +0 -29
- package/dist/bin/cli.js +4 -33
- package/dist/bin/exe-assign.js +0 -29
- package/dist/bin/exe-boot.js +0 -29
- package/dist/bin/exe-cloud.js +0 -29
- package/dist/bin/exe-dispatch.js +0 -29
- package/dist/bin/exe-doctor.js +0 -29
- package/dist/bin/exe-export-behaviors.js +0 -29
- package/dist/bin/exe-forget.js +0 -29
- package/dist/bin/exe-gateway.js +0 -29
- package/dist/bin/exe-heartbeat.js +0 -29
- package/dist/bin/exe-kill.js +0 -29
- package/dist/bin/exe-launch-agent.js +0 -29
- package/dist/bin/exe-pending-messages.js +0 -29
- package/dist/bin/exe-pending-notifications.js +0 -29
- package/dist/bin/exe-pending-reviews.js +0 -29
- package/dist/bin/exe-rename.js +0 -29
- package/dist/bin/exe-review.js +0 -29
- package/dist/bin/exe-search.js +0 -29
- package/dist/bin/exe-session-cleanup.js +0 -29
- package/dist/bin/exe-start-codex.js +0 -29
- package/dist/bin/exe-start-opencode.js +0 -29
- package/dist/bin/exe-status.js +0 -29
- package/dist/bin/exe-team.js +0 -29
- package/dist/bin/git-sweep.js +0 -29
- package/dist/bin/graph-backfill.js +0 -29
- package/dist/bin/graph-export.js +0 -29
- package/dist/bin/intercom-check.js +0 -29
- package/dist/bin/scan-tasks.js +0 -29
- package/dist/bin/setup.js +4 -33
- package/dist/bin/shard-migrate.js +0 -29
- package/dist/gateway/index.js +0 -29
- package/dist/hooks/bug-report-worker.js +0 -29
- package/dist/hooks/codex-stop-task-finalizer.js +0 -29
- package/dist/hooks/commit-complete.js +0 -29
- package/dist/hooks/error-recall.js +0 -29
- package/dist/hooks/ingest.js +0 -29
- package/dist/hooks/instructions-loaded.js +0 -29
- package/dist/hooks/notification.js +0 -29
- package/dist/hooks/post-compact.js +0 -29
- package/dist/hooks/post-tool-combined.js +0 -29
- package/dist/hooks/pre-compact.js +0 -29
- package/dist/hooks/pre-tool-use.js +0 -29
- package/dist/hooks/prompt-submit.js +0 -29
- package/dist/hooks/session-end.js +0 -29
- package/dist/hooks/session-start.js +0 -29
- package/dist/hooks/stop.js +0 -29
- package/dist/hooks/subagent-stop.js +0 -29
- package/dist/hooks/summary-worker.js +0 -29
- package/dist/index.js +0 -29
- package/dist/lib/cloud-sync.js +0 -29
- package/dist/lib/database.js +0 -35
- package/dist/lib/db-daemon-client.js +0 -36
- package/dist/lib/db.js +0 -35
- package/dist/lib/device-registry.js +0 -35
- package/dist/lib/embedder.js +0 -35
- package/dist/lib/exe-daemon-client.js +0 -36
- package/dist/lib/exe-daemon.js +0 -29
- package/dist/lib/hybrid-search.js +0 -29
- package/dist/lib/schedules.js +0 -29
- package/dist/lib/skill-learning.js +0 -35
- package/dist/lib/store.js +0 -29
- package/dist/lib/tasks.js +0 -29
- package/dist/lib/tmux-routing.js +0 -29
- package/dist/mcp/server.js +0 -29
- package/dist/mcp/tools/create-task.js +0 -29
- package/dist/mcp/tools/update-task.js +0 -29
- package/dist/runtime/index.js +0 -29
- package/dist/tui/App.js +0 -29
- package/package.json +1 -1
|
@@ -1055,40 +1055,11 @@ function findPackageRoot() {
|
|
|
1055
1055
|
}
|
|
1056
1056
|
return null;
|
|
1057
1057
|
}
|
|
1058
|
-
function getAvailableMemoryGB() {
|
|
1059
|
-
if (process.platform === "darwin") {
|
|
1060
|
-
try {
|
|
1061
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1062
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1063
|
-
const pageSize = 16384;
|
|
1064
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1065
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1066
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1067
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1068
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1069
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1070
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1071
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1072
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1073
|
-
} catch {
|
|
1074
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1078
|
-
}
|
|
1079
1058
|
function spawnDaemon() {
|
|
1080
|
-
const freeGB = getAvailableMemoryGB();
|
|
1081
1059
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1082
1060
|
if (totalGB <= 8) {
|
|
1083
1061
|
process.stderr.write(
|
|
1084
1062
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1085
|
-
`
|
|
1086
|
-
);
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1090
|
-
process.stderr.write(
|
|
1091
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1092
1063
|
`
|
|
1093
1064
|
);
|
|
1094
1065
|
return;
|
|
@@ -1055,40 +1055,11 @@ function findPackageRoot() {
|
|
|
1055
1055
|
}
|
|
1056
1056
|
return null;
|
|
1057
1057
|
}
|
|
1058
|
-
function getAvailableMemoryGB() {
|
|
1059
|
-
if (process.platform === "darwin") {
|
|
1060
|
-
try {
|
|
1061
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1062
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1063
|
-
const pageSize = 16384;
|
|
1064
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1065
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1066
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1067
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1068
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1069
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1070
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1071
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1072
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1073
|
-
} catch {
|
|
1074
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1078
|
-
}
|
|
1079
1058
|
function spawnDaemon() {
|
|
1080
|
-
const freeGB = getAvailableMemoryGB();
|
|
1081
1059
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1082
1060
|
if (totalGB <= 8) {
|
|
1083
1061
|
process.stderr.write(
|
|
1084
1062
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1085
|
-
`
|
|
1086
|
-
);
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1090
|
-
process.stderr.write(
|
|
1091
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1092
1063
|
`
|
|
1093
1064
|
);
|
|
1094
1065
|
return;
|
|
@@ -1055,40 +1055,11 @@ function findPackageRoot() {
|
|
|
1055
1055
|
}
|
|
1056
1056
|
return null;
|
|
1057
1057
|
}
|
|
1058
|
-
function getAvailableMemoryGB() {
|
|
1059
|
-
if (process.platform === "darwin") {
|
|
1060
|
-
try {
|
|
1061
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1062
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1063
|
-
const pageSize = 16384;
|
|
1064
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1065
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1066
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1067
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1068
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1069
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1070
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1071
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1072
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1073
|
-
} catch {
|
|
1074
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1078
|
-
}
|
|
1079
1058
|
function spawnDaemon() {
|
|
1080
|
-
const freeGB = getAvailableMemoryGB();
|
|
1081
1059
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1082
1060
|
if (totalGB <= 8) {
|
|
1083
1061
|
process.stderr.write(
|
|
1084
1062
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1085
|
-
`
|
|
1086
|
-
);
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1090
|
-
process.stderr.write(
|
|
1091
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1092
1063
|
`
|
|
1093
1064
|
);
|
|
1094
1065
|
return;
|
|
@@ -1059,40 +1059,11 @@ function findPackageRoot() {
|
|
|
1059
1059
|
}
|
|
1060
1060
|
return null;
|
|
1061
1061
|
}
|
|
1062
|
-
function getAvailableMemoryGB() {
|
|
1063
|
-
if (process.platform === "darwin") {
|
|
1064
|
-
try {
|
|
1065
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1066
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1067
|
-
const pageSize = 16384;
|
|
1068
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1069
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1070
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1071
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1072
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1073
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1074
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1075
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1076
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1077
|
-
} catch {
|
|
1078
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1082
|
-
}
|
|
1083
1062
|
function spawnDaemon() {
|
|
1084
|
-
const freeGB = getAvailableMemoryGB();
|
|
1085
1063
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1086
1064
|
if (totalGB <= 8) {
|
|
1087
1065
|
process.stderr.write(
|
|
1088
1066
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1089
|
-
`
|
|
1090
|
-
);
|
|
1091
|
-
return;
|
|
1092
|
-
}
|
|
1093
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1094
|
-
process.stderr.write(
|
|
1095
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1096
1067
|
`
|
|
1097
1068
|
);
|
|
1098
1069
|
return;
|
|
@@ -1059,40 +1059,11 @@ function findPackageRoot() {
|
|
|
1059
1059
|
}
|
|
1060
1060
|
return null;
|
|
1061
1061
|
}
|
|
1062
|
-
function getAvailableMemoryGB() {
|
|
1063
|
-
if (process.platform === "darwin") {
|
|
1064
|
-
try {
|
|
1065
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1066
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1067
|
-
const pageSize = 16384;
|
|
1068
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1069
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1070
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1071
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1072
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1073
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1074
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1075
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1076
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1077
|
-
} catch {
|
|
1078
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1082
|
-
}
|
|
1083
1062
|
function spawnDaemon() {
|
|
1084
|
-
const freeGB = getAvailableMemoryGB();
|
|
1085
1063
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1086
1064
|
if (totalGB <= 8) {
|
|
1087
1065
|
process.stderr.write(
|
|
1088
1066
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1089
|
-
`
|
|
1090
|
-
);
|
|
1091
|
-
return;
|
|
1092
|
-
}
|
|
1093
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1094
|
-
process.stderr.write(
|
|
1095
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1096
1067
|
`
|
|
1097
1068
|
);
|
|
1098
1069
|
return;
|
|
@@ -1055,40 +1055,11 @@ function findPackageRoot() {
|
|
|
1055
1055
|
}
|
|
1056
1056
|
return null;
|
|
1057
1057
|
}
|
|
1058
|
-
function getAvailableMemoryGB() {
|
|
1059
|
-
if (process.platform === "darwin") {
|
|
1060
|
-
try {
|
|
1061
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1062
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1063
|
-
const pageSize = 16384;
|
|
1064
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1065
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1066
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1067
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1068
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1069
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1070
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1071
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1072
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1073
|
-
} catch {
|
|
1074
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1078
|
-
}
|
|
1079
1058
|
function spawnDaemon() {
|
|
1080
|
-
const freeGB = getAvailableMemoryGB();
|
|
1081
1059
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1082
1060
|
if (totalGB <= 8) {
|
|
1083
1061
|
process.stderr.write(
|
|
1084
1062
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1085
|
-
`
|
|
1086
|
-
);
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1090
|
-
process.stderr.write(
|
|
1091
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1092
1063
|
`
|
|
1093
1064
|
);
|
|
1094
1065
|
return;
|
|
@@ -1055,40 +1055,11 @@ function findPackageRoot() {
|
|
|
1055
1055
|
}
|
|
1056
1056
|
return null;
|
|
1057
1057
|
}
|
|
1058
|
-
function getAvailableMemoryGB() {
|
|
1059
|
-
if (process.platform === "darwin") {
|
|
1060
|
-
try {
|
|
1061
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1062
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1063
|
-
const pageSize = 16384;
|
|
1064
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1065
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1066
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1067
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1068
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1069
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1070
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1071
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1072
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1073
|
-
} catch {
|
|
1074
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1078
|
-
}
|
|
1079
1058
|
function spawnDaemon() {
|
|
1080
|
-
const freeGB = getAvailableMemoryGB();
|
|
1081
1059
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1082
1060
|
if (totalGB <= 8) {
|
|
1083
1061
|
process.stderr.write(
|
|
1084
1062
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1085
|
-
`
|
|
1086
|
-
);
|
|
1087
|
-
return;
|
|
1088
|
-
}
|
|
1089
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1090
|
-
process.stderr.write(
|
|
1091
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1092
1063
|
`
|
|
1093
1064
|
);
|
|
1094
1065
|
return;
|
|
@@ -1077,40 +1077,11 @@ function findPackageRoot() {
|
|
|
1077
1077
|
}
|
|
1078
1078
|
return null;
|
|
1079
1079
|
}
|
|
1080
|
-
function getAvailableMemoryGB() {
|
|
1081
|
-
if (process.platform === "darwin") {
|
|
1082
|
-
try {
|
|
1083
|
-
const { execSync: execSync6 } = __require("child_process");
|
|
1084
|
-
const vmstat = execSync6("vm_stat", { encoding: "utf8" });
|
|
1085
|
-
const pageSize = 16384;
|
|
1086
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1087
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1088
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1089
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1090
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1091
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1092
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1093
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1094
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1095
|
-
} catch {
|
|
1096
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1097
|
-
}
|
|
1098
|
-
}
|
|
1099
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1100
|
-
}
|
|
1101
1080
|
function spawnDaemon() {
|
|
1102
|
-
const freeGB = getAvailableMemoryGB();
|
|
1103
1081
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1104
1082
|
if (totalGB <= 8) {
|
|
1105
1083
|
process.stderr.write(
|
|
1106
1084
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1107
|
-
`
|
|
1108
|
-
);
|
|
1109
|
-
return;
|
|
1110
|
-
}
|
|
1111
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1112
|
-
process.stderr.write(
|
|
1113
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1114
1085
|
`
|
|
1115
1086
|
);
|
|
1116
1087
|
return;
|
package/dist/bin/cli.js
CHANGED
|
@@ -3748,40 +3748,11 @@ function findPackageRoot() {
|
|
|
3748
3748
|
}
|
|
3749
3749
|
return null;
|
|
3750
3750
|
}
|
|
3751
|
-
function getAvailableMemoryGB() {
|
|
3752
|
-
if (process.platform === "darwin") {
|
|
3753
|
-
try {
|
|
3754
|
-
const { execSync: execSync20 } = __require("child_process");
|
|
3755
|
-
const vmstat = execSync20("vm_stat", { encoding: "utf8" });
|
|
3756
|
-
const pageSize = 16384;
|
|
3757
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
3758
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
3759
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
3760
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
3761
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
3762
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
3763
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
3764
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
3765
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
3766
|
-
} catch {
|
|
3767
|
-
return os10.freemem() / (1024 * 1024 * 1024);
|
|
3768
|
-
}
|
|
3769
|
-
}
|
|
3770
|
-
return os10.freemem() / (1024 * 1024 * 1024);
|
|
3771
|
-
}
|
|
3772
3751
|
function spawnDaemon() {
|
|
3773
|
-
const freeGB = getAvailableMemoryGB();
|
|
3774
3752
|
const totalGB = os10.totalmem() / (1024 * 1024 * 1024);
|
|
3775
3753
|
if (totalGB <= 8) {
|
|
3776
3754
|
process.stderr.write(
|
|
3777
3755
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
3778
|
-
`
|
|
3779
|
-
);
|
|
3780
|
-
return;
|
|
3781
|
-
}
|
|
3782
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
3783
|
-
process.stderr.write(
|
|
3784
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
3785
3756
|
`
|
|
3786
3757
|
);
|
|
3787
3758
|
return;
|
|
@@ -19950,7 +19921,7 @@ function ask3(rl, prompt) {
|
|
|
19950
19921
|
doAsk();
|
|
19951
19922
|
});
|
|
19952
19923
|
}
|
|
19953
|
-
function
|
|
19924
|
+
function getAvailableMemoryGB() {
|
|
19954
19925
|
if (process.platform === "darwin") {
|
|
19955
19926
|
try {
|
|
19956
19927
|
const { execSync: execSync20 } = __require("child_process");
|
|
@@ -19974,11 +19945,11 @@ function getTotalMemoryGB() {
|
|
|
19974
19945
|
return os19.totalmem() / (1024 * 1024 * 1024);
|
|
19975
19946
|
}
|
|
19976
19947
|
function isLowMemory() {
|
|
19977
|
-
return
|
|
19948
|
+
return getAvailableMemoryGB() < 2;
|
|
19978
19949
|
}
|
|
19979
19950
|
async function validateModel(log) {
|
|
19980
19951
|
const totalGB = getTotalMemoryGB();
|
|
19981
|
-
const freeGB =
|
|
19952
|
+
const freeGB = getAvailableMemoryGB();
|
|
19982
19953
|
if (totalGB <= 8 || isLowMemory()) {
|
|
19983
19954
|
log(`System memory: ${totalGB.toFixed(0)}GB total, ${freeGB.toFixed(1)}GB free`);
|
|
19984
19955
|
log("Skipping in-memory model validation (low memory \u2014 will validate on first use).");
|
|
@@ -20223,7 +20194,7 @@ async function runSetupWizard(opts = {}) {
|
|
|
20223
20194
|
skipModel = true;
|
|
20224
20195
|
}
|
|
20225
20196
|
if (!skipModel) {
|
|
20226
|
-
const freeGB =
|
|
20197
|
+
const freeGB = getAvailableMemoryGB();
|
|
20227
20198
|
if (freeGB < 2) {
|
|
20228
20199
|
log(`\u26A0 Low memory detected: ${freeGB.toFixed(1)}GB free of ${totalGB.toFixed(0)}GB total`);
|
|
20229
20200
|
log(" Close other applications (browser, Slack, etc.) before continuing.");
|
package/dist/bin/exe-assign.js
CHANGED
|
@@ -430,40 +430,11 @@ function findPackageRoot() {
|
|
|
430
430
|
}
|
|
431
431
|
return null;
|
|
432
432
|
}
|
|
433
|
-
function getAvailableMemoryGB() {
|
|
434
|
-
if (process.platform === "darwin") {
|
|
435
|
-
try {
|
|
436
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
437
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
438
|
-
const pageSize = 16384;
|
|
439
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
440
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
441
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
442
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
443
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
444
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
445
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
446
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
447
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
448
|
-
} catch {
|
|
449
|
-
return os3.freemem() / (1024 * 1024 * 1024);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
return os3.freemem() / (1024 * 1024 * 1024);
|
|
453
|
-
}
|
|
454
433
|
function spawnDaemon() {
|
|
455
|
-
const freeGB = getAvailableMemoryGB();
|
|
456
434
|
const totalGB = os3.totalmem() / (1024 * 1024 * 1024);
|
|
457
435
|
if (totalGB <= 8) {
|
|
458
436
|
process.stderr.write(
|
|
459
437
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
460
|
-
`
|
|
461
|
-
);
|
|
462
|
-
return;
|
|
463
|
-
}
|
|
464
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
465
|
-
process.stderr.write(
|
|
466
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
467
438
|
`
|
|
468
439
|
);
|
|
469
440
|
return;
|
package/dist/bin/exe-boot.js
CHANGED
|
@@ -1208,40 +1208,11 @@ function findPackageRoot() {
|
|
|
1208
1208
|
}
|
|
1209
1209
|
return null;
|
|
1210
1210
|
}
|
|
1211
|
-
function getAvailableMemoryGB() {
|
|
1212
|
-
if (process.platform === "darwin") {
|
|
1213
|
-
try {
|
|
1214
|
-
const { execSync: execSync12 } = __require("child_process");
|
|
1215
|
-
const vmstat = execSync12("vm_stat", { encoding: "utf8" });
|
|
1216
|
-
const pageSize = 16384;
|
|
1217
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1218
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1219
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1220
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1221
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1222
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1223
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1224
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1225
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1226
|
-
} catch {
|
|
1227
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1231
|
-
}
|
|
1232
1211
|
function spawnDaemon() {
|
|
1233
|
-
const freeGB = getAvailableMemoryGB();
|
|
1234
1212
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1235
1213
|
if (totalGB <= 8) {
|
|
1236
1214
|
process.stderr.write(
|
|
1237
1215
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1238
|
-
`
|
|
1239
|
-
);
|
|
1240
|
-
return;
|
|
1241
|
-
}
|
|
1242
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1243
|
-
process.stderr.write(
|
|
1244
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1245
1216
|
`
|
|
1246
1217
|
);
|
|
1247
1218
|
return;
|
package/dist/bin/exe-cloud.js
CHANGED
|
@@ -1605,40 +1605,11 @@ function findPackageRoot() {
|
|
|
1605
1605
|
}
|
|
1606
1606
|
return null;
|
|
1607
1607
|
}
|
|
1608
|
-
function getAvailableMemoryGB() {
|
|
1609
|
-
if (process.platform === "darwin") {
|
|
1610
|
-
try {
|
|
1611
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1612
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1613
|
-
const pageSize = 16384;
|
|
1614
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1615
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1616
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1617
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1618
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1619
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1620
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1621
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1622
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1623
|
-
} catch {
|
|
1624
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
1625
|
-
}
|
|
1626
|
-
}
|
|
1627
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
1628
|
-
}
|
|
1629
1608
|
function spawnDaemon() {
|
|
1630
|
-
const freeGB = getAvailableMemoryGB();
|
|
1631
1609
|
const totalGB = os5.totalmem() / (1024 * 1024 * 1024);
|
|
1632
1610
|
if (totalGB <= 8) {
|
|
1633
1611
|
process.stderr.write(
|
|
1634
1612
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1635
|
-
`
|
|
1636
|
-
);
|
|
1637
|
-
return;
|
|
1638
|
-
}
|
|
1639
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1640
|
-
process.stderr.write(
|
|
1641
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1642
1613
|
`
|
|
1643
1614
|
);
|
|
1644
1615
|
return;
|
package/dist/bin/exe-dispatch.js
CHANGED
|
@@ -1655,40 +1655,11 @@ function findPackageRoot() {
|
|
|
1655
1655
|
}
|
|
1656
1656
|
return null;
|
|
1657
1657
|
}
|
|
1658
|
-
function getAvailableMemoryGB() {
|
|
1659
|
-
if (process.platform === "darwin") {
|
|
1660
|
-
try {
|
|
1661
|
-
const { execSync: execSync9 } = __require("child_process");
|
|
1662
|
-
const vmstat = execSync9("vm_stat", { encoding: "utf8" });
|
|
1663
|
-
const pageSize = 16384;
|
|
1664
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1665
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1666
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1667
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1668
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1669
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1670
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1671
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1672
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1673
|
-
} catch {
|
|
1674
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1675
|
-
}
|
|
1676
|
-
}
|
|
1677
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1678
|
-
}
|
|
1679
1658
|
function spawnDaemon() {
|
|
1680
|
-
const freeGB = getAvailableMemoryGB();
|
|
1681
1659
|
const totalGB = os6.totalmem() / (1024 * 1024 * 1024);
|
|
1682
1660
|
if (totalGB <= 8) {
|
|
1683
1661
|
process.stderr.write(
|
|
1684
1662
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1685
|
-
`
|
|
1686
|
-
);
|
|
1687
|
-
return;
|
|
1688
|
-
}
|
|
1689
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1690
|
-
process.stderr.write(
|
|
1691
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1692
1663
|
`
|
|
1693
1664
|
);
|
|
1694
1665
|
return;
|
package/dist/bin/exe-doctor.js
CHANGED
|
@@ -2109,40 +2109,11 @@ function findPackageRoot() {
|
|
|
2109
2109
|
}
|
|
2110
2110
|
return null;
|
|
2111
2111
|
}
|
|
2112
|
-
function getAvailableMemoryGB() {
|
|
2113
|
-
if (process.platform === "darwin") {
|
|
2114
|
-
try {
|
|
2115
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
2116
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
2117
|
-
const pageSize = 16384;
|
|
2118
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
2119
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
2120
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
2121
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
2122
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
2123
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
2124
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
2125
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
2126
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
2127
|
-
} catch {
|
|
2128
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
2129
|
-
}
|
|
2130
|
-
}
|
|
2131
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
2132
|
-
}
|
|
2133
2112
|
function spawnDaemon() {
|
|
2134
|
-
const freeGB = getAvailableMemoryGB();
|
|
2135
2113
|
const totalGB = os5.totalmem() / (1024 * 1024 * 1024);
|
|
2136
2114
|
if (totalGB <= 8) {
|
|
2137
2115
|
process.stderr.write(
|
|
2138
2116
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
2139
|
-
`
|
|
2140
|
-
);
|
|
2141
|
-
return;
|
|
2142
|
-
}
|
|
2143
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
2144
|
-
process.stderr.write(
|
|
2145
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
2146
2117
|
`
|
|
2147
2118
|
);
|
|
2148
2119
|
return;
|
|
@@ -1142,40 +1142,11 @@ function findPackageRoot() {
|
|
|
1142
1142
|
}
|
|
1143
1143
|
return null;
|
|
1144
1144
|
}
|
|
1145
|
-
function getAvailableMemoryGB() {
|
|
1146
|
-
if (process.platform === "darwin") {
|
|
1147
|
-
try {
|
|
1148
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1149
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1150
|
-
const pageSize = 16384;
|
|
1151
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1152
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1153
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1154
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1155
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1156
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1157
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1158
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1159
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1160
|
-
} catch {
|
|
1161
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1162
|
-
}
|
|
1163
|
-
}
|
|
1164
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1165
|
-
}
|
|
1166
1145
|
function spawnDaemon() {
|
|
1167
|
-
const freeGB = getAvailableMemoryGB();
|
|
1168
1146
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1169
1147
|
if (totalGB <= 8) {
|
|
1170
1148
|
process.stderr.write(
|
|
1171
1149
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1172
|
-
`
|
|
1173
|
-
);
|
|
1174
|
-
return;
|
|
1175
|
-
}
|
|
1176
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1177
|
-
process.stderr.write(
|
|
1178
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1179
1150
|
`
|
|
1180
1151
|
);
|
|
1181
1152
|
return;
|