@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
package/dist/bin/git-sweep.js
CHANGED
|
@@ -1644,40 +1644,11 @@ function findPackageRoot() {
|
|
|
1644
1644
|
}
|
|
1645
1645
|
return null;
|
|
1646
1646
|
}
|
|
1647
|
-
function getAvailableMemoryGB() {
|
|
1648
|
-
if (process.platform === "darwin") {
|
|
1649
|
-
try {
|
|
1650
|
-
const { execSync: execSync10 } = __require("child_process");
|
|
1651
|
-
const vmstat = execSync10("vm_stat", { encoding: "utf8" });
|
|
1652
|
-
const pageSize = 16384;
|
|
1653
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1654
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1655
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1656
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1657
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1658
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1659
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1660
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1661
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1662
|
-
} catch {
|
|
1663
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1664
|
-
}
|
|
1665
|
-
}
|
|
1666
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1667
|
-
}
|
|
1668
1647
|
function spawnDaemon() {
|
|
1669
|
-
const freeGB = getAvailableMemoryGB();
|
|
1670
1648
|
const totalGB = os6.totalmem() / (1024 * 1024 * 1024);
|
|
1671
1649
|
if (totalGB <= 8) {
|
|
1672
1650
|
process.stderr.write(
|
|
1673
1651
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1674
|
-
`
|
|
1675
|
-
);
|
|
1676
|
-
return;
|
|
1677
|
-
}
|
|
1678
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1679
|
-
process.stderr.write(
|
|
1680
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1681
1652
|
`
|
|
1682
1653
|
);
|
|
1683
1654
|
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;
|
package/dist/bin/graph-export.js
CHANGED
|
@@ -1066,40 +1066,11 @@ function findPackageRoot() {
|
|
|
1066
1066
|
}
|
|
1067
1067
|
return null;
|
|
1068
1068
|
}
|
|
1069
|
-
function getAvailableMemoryGB() {
|
|
1070
|
-
if (process.platform === "darwin") {
|
|
1071
|
-
try {
|
|
1072
|
-
const { execSync: execSync4 } = __require("child_process");
|
|
1073
|
-
const vmstat = execSync4("vm_stat", { encoding: "utf8" });
|
|
1074
|
-
const pageSize = 16384;
|
|
1075
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1076
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1077
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1078
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1079
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1080
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1081
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1082
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1083
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1084
|
-
} catch {
|
|
1085
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1086
|
-
}
|
|
1087
|
-
}
|
|
1088
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1089
|
-
}
|
|
1090
1069
|
function spawnDaemon() {
|
|
1091
|
-
const freeGB = getAvailableMemoryGB();
|
|
1092
1070
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1093
1071
|
if (totalGB <= 8) {
|
|
1094
1072
|
process.stderr.write(
|
|
1095
1073
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1096
|
-
`
|
|
1097
|
-
);
|
|
1098
|
-
return;
|
|
1099
|
-
}
|
|
1100
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1101
|
-
process.stderr.write(
|
|
1102
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1103
1074
|
`
|
|
1104
1075
|
);
|
|
1105
1076
|
return;
|
|
@@ -1175,40 +1175,11 @@ function findPackageRoot() {
|
|
|
1175
1175
|
}
|
|
1176
1176
|
return null;
|
|
1177
1177
|
}
|
|
1178
|
-
function getAvailableMemoryGB() {
|
|
1179
|
-
if (process.platform === "darwin") {
|
|
1180
|
-
try {
|
|
1181
|
-
const { execSync: execSync9 } = __require("child_process");
|
|
1182
|
-
const vmstat = execSync9("vm_stat", { encoding: "utf8" });
|
|
1183
|
-
const pageSize = 16384;
|
|
1184
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1185
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1186
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1187
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1188
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1189
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1190
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1191
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1192
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1193
|
-
} catch {
|
|
1194
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1195
|
-
}
|
|
1196
|
-
}
|
|
1197
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1198
|
-
}
|
|
1199
1178
|
function spawnDaemon() {
|
|
1200
|
-
const freeGB = getAvailableMemoryGB();
|
|
1201
1179
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1202
1180
|
if (totalGB <= 8) {
|
|
1203
1181
|
process.stderr.write(
|
|
1204
1182
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1205
|
-
`
|
|
1206
|
-
);
|
|
1207
|
-
return;
|
|
1208
|
-
}
|
|
1209
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1210
|
-
process.stderr.write(
|
|
1211
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1212
1183
|
`
|
|
1213
1184
|
);
|
|
1214
1185
|
return;
|
package/dist/bin/scan-tasks.js
CHANGED
|
@@ -1667,40 +1667,11 @@ function findPackageRoot() {
|
|
|
1667
1667
|
}
|
|
1668
1668
|
return null;
|
|
1669
1669
|
}
|
|
1670
|
-
function getAvailableMemoryGB() {
|
|
1671
|
-
if (process.platform === "darwin") {
|
|
1672
|
-
try {
|
|
1673
|
-
const { execSync: execSync9 } = __require("child_process");
|
|
1674
|
-
const vmstat = execSync9("vm_stat", { encoding: "utf8" });
|
|
1675
|
-
const pageSize = 16384;
|
|
1676
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1677
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1678
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1679
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1680
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1681
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1682
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1683
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1684
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1685
|
-
} catch {
|
|
1686
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1687
|
-
}
|
|
1688
|
-
}
|
|
1689
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1690
|
-
}
|
|
1691
1670
|
function spawnDaemon() {
|
|
1692
|
-
const freeGB = getAvailableMemoryGB();
|
|
1693
1671
|
const totalGB = os6.totalmem() / (1024 * 1024 * 1024);
|
|
1694
1672
|
if (totalGB <= 8) {
|
|
1695
1673
|
process.stderr.write(
|
|
1696
1674
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1697
|
-
`
|
|
1698
|
-
);
|
|
1699
|
-
return;
|
|
1700
|
-
}
|
|
1701
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1702
|
-
process.stderr.write(
|
|
1703
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1704
1675
|
`
|
|
1705
1676
|
);
|
|
1706
1677
|
return;
|
package/dist/bin/setup.js
CHANGED
|
@@ -920,40 +920,11 @@ function findPackageRoot() {
|
|
|
920
920
|
}
|
|
921
921
|
return null;
|
|
922
922
|
}
|
|
923
|
-
function getAvailableMemoryGB() {
|
|
924
|
-
if (process.platform === "darwin") {
|
|
925
|
-
try {
|
|
926
|
-
const { execSync: execSync5 } = __require("child_process");
|
|
927
|
-
const vmstat = execSync5("vm_stat", { encoding: "utf8" });
|
|
928
|
-
const pageSize = 16384;
|
|
929
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
930
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
931
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
932
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
933
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
934
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
935
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
936
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
937
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
938
|
-
} catch {
|
|
939
|
-
return os3.freemem() / (1024 * 1024 * 1024);
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
return os3.freemem() / (1024 * 1024 * 1024);
|
|
943
|
-
}
|
|
944
923
|
function spawnDaemon() {
|
|
945
|
-
const freeGB = getAvailableMemoryGB();
|
|
946
924
|
const totalGB = os3.totalmem() / (1024 * 1024 * 1024);
|
|
947
925
|
if (totalGB <= 8) {
|
|
948
926
|
process.stderr.write(
|
|
949
927
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
950
|
-
`
|
|
951
|
-
);
|
|
952
|
-
return;
|
|
953
|
-
}
|
|
954
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
955
|
-
process.stderr.write(
|
|
956
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
957
928
|
`
|
|
958
929
|
);
|
|
959
930
|
return;
|
|
@@ -8452,7 +8423,7 @@ function ask(rl, prompt) {
|
|
|
8452
8423
|
doAsk();
|
|
8453
8424
|
});
|
|
8454
8425
|
}
|
|
8455
|
-
function
|
|
8426
|
+
function getAvailableMemoryGB() {
|
|
8456
8427
|
if (process.platform === "darwin") {
|
|
8457
8428
|
try {
|
|
8458
8429
|
const { execSync: execSync5 } = __require("child_process");
|
|
@@ -8476,11 +8447,11 @@ function getTotalMemoryGB() {
|
|
|
8476
8447
|
return os8.totalmem() / (1024 * 1024 * 1024);
|
|
8477
8448
|
}
|
|
8478
8449
|
function isLowMemory() {
|
|
8479
|
-
return
|
|
8450
|
+
return getAvailableMemoryGB() < 2;
|
|
8480
8451
|
}
|
|
8481
8452
|
async function validateModel(log) {
|
|
8482
8453
|
const totalGB = getTotalMemoryGB();
|
|
8483
|
-
const freeGB =
|
|
8454
|
+
const freeGB = getAvailableMemoryGB();
|
|
8484
8455
|
if (totalGB <= 8 || isLowMemory()) {
|
|
8485
8456
|
log(`System memory: ${totalGB.toFixed(0)}GB total, ${freeGB.toFixed(1)}GB free`);
|
|
8486
8457
|
log("Skipping in-memory model validation (low memory \u2014 will validate on first use).");
|
|
@@ -8725,7 +8696,7 @@ async function runSetupWizard(opts = {}) {
|
|
|
8725
8696
|
skipModel2 = true;
|
|
8726
8697
|
}
|
|
8727
8698
|
if (!skipModel2) {
|
|
8728
|
-
const freeGB =
|
|
8699
|
+
const freeGB = getAvailableMemoryGB();
|
|
8729
8700
|
if (freeGB < 2) {
|
|
8730
8701
|
log(`\u26A0 Low memory detected: ${freeGB.toFixed(1)}GB free of ${totalGB.toFixed(0)}GB total`);
|
|
8731
8702
|
log(" Close other applications (browser, Slack, etc.) before continuing.");
|
|
@@ -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;
|
package/dist/gateway/index.js
CHANGED
|
@@ -1776,40 +1776,11 @@ function findPackageRoot() {
|
|
|
1776
1776
|
}
|
|
1777
1777
|
return null;
|
|
1778
1778
|
}
|
|
1779
|
-
function getAvailableMemoryGB() {
|
|
1780
|
-
if (process.platform === "darwin") {
|
|
1781
|
-
try {
|
|
1782
|
-
const { execSync: execSync9 } = __require("child_process");
|
|
1783
|
-
const vmstat = execSync9("vm_stat", { encoding: "utf8" });
|
|
1784
|
-
const pageSize = 16384;
|
|
1785
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1786
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1787
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1788
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1789
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1790
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1791
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1792
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1793
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1794
|
-
} catch {
|
|
1795
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1799
|
-
}
|
|
1800
1779
|
function spawnDaemon() {
|
|
1801
|
-
const freeGB = getAvailableMemoryGB();
|
|
1802
1780
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1803
1781
|
if (totalGB <= 8) {
|
|
1804
1782
|
process.stderr.write(
|
|
1805
1783
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1806
|
-
`
|
|
1807
|
-
);
|
|
1808
|
-
return;
|
|
1809
|
-
}
|
|
1810
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1811
|
-
process.stderr.write(
|
|
1812
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1813
1784
|
`
|
|
1814
1785
|
);
|
|
1815
1786
|
return;
|
|
@@ -1476,40 +1476,11 @@ function findPackageRoot() {
|
|
|
1476
1476
|
}
|
|
1477
1477
|
return null;
|
|
1478
1478
|
}
|
|
1479
|
-
function getAvailableMemoryGB() {
|
|
1480
|
-
if (process.platform === "darwin") {
|
|
1481
|
-
try {
|
|
1482
|
-
const { execSync: execSync9 } = __require("child_process");
|
|
1483
|
-
const vmstat = execSync9("vm_stat", { encoding: "utf8" });
|
|
1484
|
-
const pageSize = 16384;
|
|
1485
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1486
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1487
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1488
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1489
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1490
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1491
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1492
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1493
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1494
|
-
} catch {
|
|
1495
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1496
|
-
}
|
|
1497
|
-
}
|
|
1498
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1499
|
-
}
|
|
1500
1479
|
function spawnDaemon() {
|
|
1501
|
-
const freeGB = getAvailableMemoryGB();
|
|
1502
1480
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1503
1481
|
if (totalGB <= 8) {
|
|
1504
1482
|
process.stderr.write(
|
|
1505
1483
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1506
|
-
`
|
|
1507
|
-
);
|
|
1508
|
-
return;
|
|
1509
|
-
}
|
|
1510
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1511
|
-
process.stderr.write(
|
|
1512
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1513
1484
|
`
|
|
1514
1485
|
);
|
|
1515
1486
|
return;
|
|
@@ -1159,40 +1159,11 @@ function findPackageRoot() {
|
|
|
1159
1159
|
}
|
|
1160
1160
|
return null;
|
|
1161
1161
|
}
|
|
1162
|
-
function getAvailableMemoryGB() {
|
|
1163
|
-
if (process.platform === "darwin") {
|
|
1164
|
-
try {
|
|
1165
|
-
const { execSync: execSync7 } = __require("child_process");
|
|
1166
|
-
const vmstat = execSync7("vm_stat", { encoding: "utf8" });
|
|
1167
|
-
const pageSize = 16384;
|
|
1168
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1169
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1170
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1171
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1172
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1173
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1174
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1175
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1176
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1177
|
-
} catch {
|
|
1178
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1179
|
-
}
|
|
1180
|
-
}
|
|
1181
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1182
|
-
}
|
|
1183
1162
|
function spawnDaemon() {
|
|
1184
|
-
const freeGB = getAvailableMemoryGB();
|
|
1185
1163
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1186
1164
|
if (totalGB <= 8) {
|
|
1187
1165
|
process.stderr.write(
|
|
1188
1166
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1189
|
-
`
|
|
1190
|
-
);
|
|
1191
|
-
return;
|
|
1192
|
-
}
|
|
1193
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1194
|
-
process.stderr.write(
|
|
1195
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1196
1167
|
`
|
|
1197
1168
|
);
|
|
1198
1169
|
return;
|
|
@@ -1654,40 +1654,11 @@ function findPackageRoot() {
|
|
|
1654
1654
|
}
|
|
1655
1655
|
return null;
|
|
1656
1656
|
}
|
|
1657
|
-
function getAvailableMemoryGB() {
|
|
1658
|
-
if (process.platform === "darwin") {
|
|
1659
|
-
try {
|
|
1660
|
-
const { execSync: execSync11 } = __require("child_process");
|
|
1661
|
-
const vmstat = execSync11("vm_stat", { encoding: "utf8" });
|
|
1662
|
-
const pageSize = 16384;
|
|
1663
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1664
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1665
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1666
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1667
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1668
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1669
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1670
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1671
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1672
|
-
} catch {
|
|
1673
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1674
|
-
}
|
|
1675
|
-
}
|
|
1676
|
-
return os6.freemem() / (1024 * 1024 * 1024);
|
|
1677
|
-
}
|
|
1678
1657
|
function spawnDaemon() {
|
|
1679
|
-
const freeGB = getAvailableMemoryGB();
|
|
1680
1658
|
const totalGB = os6.totalmem() / (1024 * 1024 * 1024);
|
|
1681
1659
|
if (totalGB <= 8) {
|
|
1682
1660
|
process.stderr.write(
|
|
1683
1661
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1684
|
-
`
|
|
1685
|
-
);
|
|
1686
|
-
return;
|
|
1687
|
-
}
|
|
1688
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1689
|
-
process.stderr.write(
|
|
1690
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1691
1662
|
`
|
|
1692
1663
|
);
|
|
1693
1664
|
return;
|
|
@@ -1122,40 +1122,11 @@ function findPackageRoot() {
|
|
|
1122
1122
|
}
|
|
1123
1123
|
return null;
|
|
1124
1124
|
}
|
|
1125
|
-
function getAvailableMemoryGB() {
|
|
1126
|
-
if (process.platform === "darwin") {
|
|
1127
|
-
try {
|
|
1128
|
-
const { execSync: execSync8 } = __require("child_process");
|
|
1129
|
-
const vmstat = execSync8("vm_stat", { encoding: "utf8" });
|
|
1130
|
-
const pageSize = 16384;
|
|
1131
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1132
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1133
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1134
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1135
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1136
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1137
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1138
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1139
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1140
|
-
} catch {
|
|
1141
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1142
|
-
}
|
|
1143
|
-
}
|
|
1144
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1145
|
-
}
|
|
1146
1125
|
function spawnDaemon() {
|
|
1147
|
-
const freeGB = getAvailableMemoryGB();
|
|
1148
1126
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1149
1127
|
if (totalGB <= 8) {
|
|
1150
1128
|
process.stderr.write(
|
|
1151
1129
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1152
|
-
`
|
|
1153
|
-
);
|
|
1154
|
-
return;
|
|
1155
|
-
}
|
|
1156
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1157
|
-
process.stderr.write(
|
|
1158
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1159
1130
|
`
|
|
1160
1131
|
);
|
|
1161
1132
|
return;
|
package/dist/hooks/ingest.js
CHANGED
|
@@ -1447,40 +1447,11 @@ function findPackageRoot() {
|
|
|
1447
1447
|
}
|
|
1448
1448
|
return null;
|
|
1449
1449
|
}
|
|
1450
|
-
function getAvailableMemoryGB() {
|
|
1451
|
-
if (process.platform === "darwin") {
|
|
1452
|
-
try {
|
|
1453
|
-
const { execSync: execSync8 } = __require("child_process");
|
|
1454
|
-
const vmstat = execSync8("vm_stat", { encoding: "utf8" });
|
|
1455
|
-
const pageSize = 16384;
|
|
1456
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1457
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1458
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1459
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1460
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1461
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1462
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1463
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1464
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1465
|
-
} catch {
|
|
1466
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
1467
|
-
}
|
|
1468
|
-
}
|
|
1469
|
-
return os5.freemem() / (1024 * 1024 * 1024);
|
|
1470
|
-
}
|
|
1471
1450
|
function spawnDaemon() {
|
|
1472
|
-
const freeGB = getAvailableMemoryGB();
|
|
1473
1451
|
const totalGB = os5.totalmem() / (1024 * 1024 * 1024);
|
|
1474
1452
|
if (totalGB <= 8) {
|
|
1475
1453
|
process.stderr.write(
|
|
1476
1454
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1477
|
-
`
|
|
1478
|
-
);
|
|
1479
|
-
return;
|
|
1480
|
-
}
|
|
1481
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1482
|
-
process.stderr.write(
|
|
1483
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1484
1455
|
`
|
|
1485
1456
|
);
|
|
1486
1457
|
return;
|
|
@@ -1068,40 +1068,11 @@ function findPackageRoot() {
|
|
|
1068
1068
|
}
|
|
1069
1069
|
return null;
|
|
1070
1070
|
}
|
|
1071
|
-
function getAvailableMemoryGB() {
|
|
1072
|
-
if (process.platform === "darwin") {
|
|
1073
|
-
try {
|
|
1074
|
-
const { execSync: execSync6 } = __require("child_process");
|
|
1075
|
-
const vmstat = execSync6("vm_stat", { encoding: "utf8" });
|
|
1076
|
-
const pageSize = 16384;
|
|
1077
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1078
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1079
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1080
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1081
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1082
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1083
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1084
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1085
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1086
|
-
} catch {
|
|
1087
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1090
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1091
|
-
}
|
|
1092
1071
|
function spawnDaemon() {
|
|
1093
|
-
const freeGB = getAvailableMemoryGB();
|
|
1094
1072
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1095
1073
|
if (totalGB <= 8) {
|
|
1096
1074
|
process.stderr.write(
|
|
1097
1075
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1098
|
-
`
|
|
1099
|
-
);
|
|
1100
|
-
return;
|
|
1101
|
-
}
|
|
1102
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1103
|
-
process.stderr.write(
|
|
1104
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1105
1076
|
`
|
|
1106
1077
|
);
|
|
1107
1078
|
return;
|
|
@@ -1068,40 +1068,11 @@ function findPackageRoot() {
|
|
|
1068
1068
|
}
|
|
1069
1069
|
return null;
|
|
1070
1070
|
}
|
|
1071
|
-
function getAvailableMemoryGB() {
|
|
1072
|
-
if (process.platform === "darwin") {
|
|
1073
|
-
try {
|
|
1074
|
-
const { execSync: execSync6 } = __require("child_process");
|
|
1075
|
-
const vmstat = execSync6("vm_stat", { encoding: "utf8" });
|
|
1076
|
-
const pageSize = 16384;
|
|
1077
|
-
const pageSizeMatch = vmstat.match(/page size of (\d+) bytes/);
|
|
1078
|
-
const actualPageSize = pageSizeMatch ? parseInt(pageSizeMatch[1], 10) : pageSize;
|
|
1079
|
-
const free = vmstat.match(/Pages free:\s+(\d+)/);
|
|
1080
|
-
const inactive = vmstat.match(/Pages inactive:\s+(\d+)/);
|
|
1081
|
-
const speculative = vmstat.match(/Pages speculative:\s+(\d+)/);
|
|
1082
|
-
const freePages = free ? parseInt(free[1], 10) : 0;
|
|
1083
|
-
const inactivePages = inactive ? parseInt(inactive[1], 10) : 0;
|
|
1084
|
-
const speculativePages = speculative ? parseInt(speculative[1], 10) : 0;
|
|
1085
|
-
return (freePages + inactivePages + speculativePages) * actualPageSize / (1024 * 1024 * 1024);
|
|
1086
|
-
} catch {
|
|
1087
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1090
|
-
return os4.freemem() / (1024 * 1024 * 1024);
|
|
1091
|
-
}
|
|
1092
1071
|
function spawnDaemon() {
|
|
1093
|
-
const freeGB = getAvailableMemoryGB();
|
|
1094
1072
|
const totalGB = os4.totalmem() / (1024 * 1024 * 1024);
|
|
1095
1073
|
if (totalGB <= 8) {
|
|
1096
1074
|
process.stderr.write(
|
|
1097
1075
|
`[exed-client] SKIP: ${totalGB.toFixed(0)}GB system \u2014 embedding daemon disabled. Using keyword search only. Minimum 16GB recommended for vector search.
|
|
1098
|
-
`
|
|
1099
|
-
);
|
|
1100
|
-
return;
|
|
1101
|
-
}
|
|
1102
|
-
if (totalGB <= 16 && freeGB < 2) {
|
|
1103
|
-
process.stderr.write(
|
|
1104
|
-
`[exed-client] SKIP: low memory (${freeGB.toFixed(1)}GB available / ${totalGB.toFixed(0)}GB total). Embedding daemon not started \u2014 using keyword search only.
|
|
1105
1076
|
`
|
|
1106
1077
|
);
|
|
1107
1078
|
return;
|