@askexenow/exe-os 0.9.7 → 0.9.9
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/backfill-conversations.js +953 -105
- package/dist/bin/backfill-responses.js +952 -104
- package/dist/bin/backfill-vectors.js +956 -108
- package/dist/bin/cleanup-stale-review-tasks.js +802 -58
- package/dist/bin/cli.js +2292 -1070
- package/dist/bin/exe-agent-config.js +157 -101
- package/dist/bin/exe-agent.js +55 -29
- package/dist/bin/exe-assign.js +940 -92
- package/dist/bin/exe-boot.js +1424 -442
- package/dist/bin/exe-call.js +240 -141
- package/dist/bin/exe-cloud.js +198 -70
- package/dist/bin/exe-dispatch.js +951 -192
- package/dist/bin/exe-doctor.js +791 -51
- package/dist/bin/exe-export-behaviors.js +790 -42
- package/dist/bin/exe-forget.js +771 -31
- package/dist/bin/exe-gateway.js +1592 -521
- package/dist/bin/exe-heartbeat.js +850 -109
- package/dist/bin/exe-kill.js +783 -35
- package/dist/bin/exe-launch-agent.js +1030 -107
- package/dist/bin/exe-link.js +916 -110
- package/dist/bin/exe-new-employee.js +526 -217
- package/dist/bin/exe-pending-messages.js +1046 -62
- package/dist/bin/exe-pending-notifications.js +1318 -111
- package/dist/bin/exe-pending-reviews.js +1040 -72
- package/dist/bin/exe-rename.js +772 -59
- package/dist/bin/exe-review.js +772 -32
- package/dist/bin/exe-search.js +982 -128
- package/dist/bin/exe-session-cleanup.js +1180 -306
- package/dist/bin/exe-settings.js +185 -105
- package/dist/bin/exe-start-codex.js +886 -132
- package/dist/bin/exe-start-opencode.js +873 -119
- package/dist/bin/exe-status.js +803 -59
- package/dist/bin/exe-team.js +772 -32
- package/dist/bin/git-sweep.js +1046 -223
- package/dist/bin/graph-backfill.js +779 -31
- package/dist/bin/graph-export.js +785 -37
- package/dist/bin/install.js +632 -200
- package/dist/bin/scan-tasks.js +1055 -232
- package/dist/bin/setup.js +1419 -320
- package/dist/bin/shard-migrate.js +783 -35
- package/dist/bin/update.js +138 -49
- package/dist/bin/wiki-sync.js +782 -34
- package/dist/gateway/index.js +1444 -449
- package/dist/hooks/bug-report-worker.js +1141 -269
- package/dist/hooks/codex-stop-task-finalizer.js +4678 -0
- package/dist/hooks/commit-complete.js +1044 -221
- package/dist/hooks/error-recall.js +989 -135
- package/dist/hooks/exe-heartbeat-hook.js +99 -75
- package/dist/hooks/ingest-worker.js +4176 -3226
- package/dist/hooks/ingest.js +920 -168
- package/dist/hooks/instructions-loaded.js +874 -70
- package/dist/hooks/notification.js +860 -56
- package/dist/hooks/post-compact.js +881 -73
- package/dist/hooks/pre-compact.js +1050 -227
- package/dist/hooks/pre-tool-use.js +1084 -159
- package/dist/hooks/prompt-ingest-worker.js +1089 -164
- package/dist/hooks/prompt-submit.js +1469 -515
- package/dist/hooks/response-ingest-worker.js +1104 -179
- package/dist/hooks/session-end.js +1085 -251
- package/dist/hooks/session-start.js +1241 -231
- package/dist/hooks/stop.js +935 -109
- package/dist/hooks/subagent-stop.js +881 -73
- package/dist/hooks/summary-worker.js +1323 -307
- package/dist/index.js +1449 -452
- package/dist/lib/agent-config.js +28 -6
- package/dist/lib/cloud-sync.js +909 -115
- package/dist/lib/config.js +30 -10
- package/dist/lib/consolidation.js +42 -9
- package/dist/lib/database.js +739 -33
- package/dist/lib/db-daemon-client.js +73 -19
- package/dist/lib/db.js +2359 -0
- package/dist/lib/device-registry.js +760 -47
- package/dist/lib/embedder.js +201 -73
- package/dist/lib/employee-templates.js +30 -4
- package/dist/lib/employees.js +290 -86
- package/dist/lib/exe-daemon-client.js +187 -83
- package/dist/lib/exe-daemon.js +1696 -616
- package/dist/lib/hybrid-search.js +982 -128
- package/dist/lib/identity.js +43 -13
- package/dist/lib/license.js +133 -48
- package/dist/lib/messaging.js +167 -80
- package/dist/lib/reminders.js +35 -5
- package/dist/lib/schedules.js +772 -32
- package/dist/lib/skill-learning.js +54 -7
- package/dist/lib/store.js +779 -31
- package/dist/lib/task-router.js +94 -73
- package/dist/lib/tasks.js +298 -225
- package/dist/lib/tmux-routing.js +246 -172
- package/dist/lib/token-spend.js +52 -14
- package/dist/mcp/server.js +2893 -850
- package/dist/mcp/tools/complete-reminder.js +35 -5
- package/dist/mcp/tools/create-reminder.js +35 -5
- package/dist/mcp/tools/create-task.js +507 -323
- package/dist/mcp/tools/deactivate-behavior.js +40 -10
- package/dist/mcp/tools/list-reminders.js +35 -5
- package/dist/mcp/tools/list-tasks.js +277 -104
- package/dist/mcp/tools/send-message.js +129 -56
- package/dist/mcp/tools/update-task.js +1864 -188
- package/dist/runtime/index.js +1083 -259
- package/dist/tui/App.js +1501 -434
- package/package.json +3 -2
package/dist/lib/task-router.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
+
var __esm = (fn, res) => function __init() {
|
|
3
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
4
|
+
};
|
|
3
5
|
|
|
4
|
-
// src/lib/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
// src/lib/secure-files.ts
|
|
7
|
+
import { chmodSync, existsSync, mkdirSync } from "fs";
|
|
8
|
+
import { chmod, mkdir } from "fs/promises";
|
|
9
|
+
var init_secure_files = __esm({
|
|
10
|
+
"src/lib/secure-files.ts"() {
|
|
11
|
+
"use strict";
|
|
12
|
+
}
|
|
13
|
+
});
|
|
10
14
|
|
|
11
15
|
// src/lib/config.ts
|
|
12
|
-
import { readFile, writeFile
|
|
13
|
-
import { readFileSync, existsSync, renameSync } from "fs";
|
|
16
|
+
import { readFile, writeFile } from "fs/promises";
|
|
17
|
+
import { readFileSync, existsSync as existsSync2, renameSync } from "fs";
|
|
14
18
|
import path from "path";
|
|
15
19
|
import os from "os";
|
|
16
20
|
function resolveDataDir() {
|
|
@@ -18,7 +22,7 @@ function resolveDataDir() {
|
|
|
18
22
|
if (process.env.EXE_MEM_DIR) return process.env.EXE_MEM_DIR;
|
|
19
23
|
const newDir = path.join(os.homedir(), ".exe-os");
|
|
20
24
|
const legacyDir = path.join(os.homedir(), ".exe-mem");
|
|
21
|
-
if (!
|
|
25
|
+
if (!existsSync2(newDir) && existsSync2(legacyDir)) {
|
|
22
26
|
try {
|
|
23
27
|
renameSync(legacyDir, newDir);
|
|
24
28
|
process.stderr.write(`[exe-os] Migrated data directory: ~/.exe-mem \u2192 ~/.exe-os
|
|
@@ -29,71 +33,87 @@ function resolveDataDir() {
|
|
|
29
33
|
}
|
|
30
34
|
return newDir;
|
|
31
35
|
}
|
|
32
|
-
var EXE_AI_DIR
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
36
|
+
var EXE_AI_DIR, DB_PATH, MODELS_DIR, CONFIG_PATH, LEGACY_LANCE_PATH, CURRENT_CONFIG_VERSION, DEFAULT_CONFIG;
|
|
37
|
+
var init_config = __esm({
|
|
38
|
+
"src/lib/config.ts"() {
|
|
39
|
+
"use strict";
|
|
40
|
+
init_secure_files();
|
|
41
|
+
EXE_AI_DIR = resolveDataDir();
|
|
42
|
+
DB_PATH = path.join(EXE_AI_DIR, "memories.db");
|
|
43
|
+
MODELS_DIR = path.join(EXE_AI_DIR, "models");
|
|
44
|
+
CONFIG_PATH = path.join(EXE_AI_DIR, "config.json");
|
|
45
|
+
LEGACY_LANCE_PATH = path.join(EXE_AI_DIR, "local.lance");
|
|
46
|
+
CURRENT_CONFIG_VERSION = 1;
|
|
47
|
+
DEFAULT_CONFIG = {
|
|
48
|
+
config_version: CURRENT_CONFIG_VERSION,
|
|
49
|
+
dbPath: DB_PATH,
|
|
50
|
+
modelFile: "jina-embeddings-v5-small-q4_k_m.gguf",
|
|
51
|
+
embeddingDim: 1024,
|
|
52
|
+
batchSize: 20,
|
|
53
|
+
flushIntervalMs: 1e4,
|
|
54
|
+
autoIngestion: true,
|
|
55
|
+
autoRetrieval: true,
|
|
56
|
+
searchMode: "hybrid",
|
|
57
|
+
hookSearchMode: "hybrid",
|
|
58
|
+
fileGrepEnabled: true,
|
|
59
|
+
splashEffect: true,
|
|
60
|
+
consolidationEnabled: true,
|
|
61
|
+
consolidationIntervalMs: 6 * 60 * 60 * 1e3,
|
|
62
|
+
consolidationModel: "claude-haiku-4-5-20251001",
|
|
63
|
+
consolidationMaxCallsPerRun: 20,
|
|
64
|
+
selfQueryRouter: true,
|
|
65
|
+
selfQueryModel: "claude-haiku-4-5-20251001",
|
|
66
|
+
rerankerEnabled: true,
|
|
67
|
+
scalingRoadmap: {
|
|
68
|
+
rerankerAutoTrigger: {
|
|
69
|
+
enabled: true,
|
|
70
|
+
broadQueryMinCardinality: 5e4,
|
|
71
|
+
fetchTopK: 150,
|
|
72
|
+
returnTopK: 5
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
graphRagEnabled: true,
|
|
76
|
+
wikiEnabled: false,
|
|
77
|
+
wikiUrl: "",
|
|
78
|
+
wikiApiKey: "",
|
|
79
|
+
wikiSyncIntervalMs: 30 * 60 * 1e3,
|
|
80
|
+
wikiWorkspaceMapping: {},
|
|
81
|
+
wikiAutoUpdate: true,
|
|
82
|
+
wikiAutoUpdateThreshold: 0.5,
|
|
83
|
+
wikiAutoUpdateCreateNew: true,
|
|
84
|
+
skillLearning: true,
|
|
85
|
+
skillThreshold: 3,
|
|
86
|
+
skillModel: "claude-haiku-4-5-20251001",
|
|
87
|
+
exeHeartbeat: {
|
|
88
|
+
enabled: true,
|
|
89
|
+
intervalSeconds: 60,
|
|
90
|
+
staleInProgressThresholdHours: 2
|
|
91
|
+
},
|
|
92
|
+
sessionLifecycle: {
|
|
93
|
+
idleKillEnabled: true,
|
|
94
|
+
idleKillTicksRequired: 3,
|
|
95
|
+
idleKillIntercomAckWindowMs: 1e4,
|
|
96
|
+
maxAutoInstances: 10
|
|
97
|
+
},
|
|
98
|
+
autoUpdate: {
|
|
99
|
+
checkOnBoot: true,
|
|
100
|
+
autoInstall: false,
|
|
101
|
+
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
102
|
+
}
|
|
103
|
+
};
|
|
93
104
|
}
|
|
94
|
-
};
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// src/lib/task-router.ts
|
|
108
|
+
import { randomUUID } from "crypto";
|
|
95
109
|
|
|
96
110
|
// src/lib/employees.ts
|
|
111
|
+
init_config();
|
|
112
|
+
import { readFile as readFile2, writeFile as writeFile2, mkdir as mkdir2 } from "fs/promises";
|
|
113
|
+
import { existsSync as existsSync3, symlinkSync, readlinkSync, readFileSync as readFileSync2, renameSync as renameSync2, unlinkSync, writeFileSync } from "fs";
|
|
114
|
+
import { execSync } from "child_process";
|
|
115
|
+
import path2 from "path";
|
|
116
|
+
import os2 from "os";
|
|
97
117
|
var EMPLOYEES_PATH = path2.join(EXE_AI_DIR, "exe-employees.json");
|
|
98
118
|
var COORDINATOR_ROLE = "COO";
|
|
99
119
|
function normalizeRole(role) {
|
|
@@ -102,6 +122,7 @@ function normalizeRole(role) {
|
|
|
102
122
|
function isCoordinatorRole(role) {
|
|
103
123
|
return normalizeRole(role) === normalizeRole(COORDINATOR_ROLE);
|
|
104
124
|
}
|
|
125
|
+
var IDENTITY_DIR = path2.join(EXE_AI_DIR, "identity");
|
|
105
126
|
|
|
106
127
|
// src/lib/task-router.ts
|
|
107
128
|
var DEFAULT_BLOOM_CONFIG = {
|