@askexenow/exe-os 0.9.7 → 0.9.8
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 +754 -79
- package/dist/bin/backfill-responses.js +752 -77
- package/dist/bin/backfill-vectors.js +752 -77
- package/dist/bin/cleanup-stale-review-tasks.js +657 -35
- package/dist/bin/cli.js +1388 -605
- package/dist/bin/exe-agent-config.js +123 -95
- package/dist/bin/exe-agent.js +41 -25
- package/dist/bin/exe-assign.js +732 -57
- package/dist/bin/exe-boot.js +784 -153
- package/dist/bin/exe-call.js +209 -138
- package/dist/bin/exe-cloud.js +35 -12
- package/dist/bin/exe-dispatch.js +692 -70
- package/dist/bin/exe-doctor.js +648 -26
- package/dist/bin/exe-export-behaviors.js +650 -20
- package/dist/bin/exe-forget.js +635 -13
- package/dist/bin/exe-gateway.js +1053 -271
- package/dist/bin/exe-heartbeat.js +665 -43
- package/dist/bin/exe-kill.js +646 -16
- package/dist/bin/exe-launch-agent.js +887 -97
- package/dist/bin/exe-link.js +658 -43
- package/dist/bin/exe-new-employee.js +378 -177
- package/dist/bin/exe-pending-messages.js +656 -34
- package/dist/bin/exe-pending-notifications.js +635 -13
- package/dist/bin/exe-pending-reviews.js +659 -37
- package/dist/bin/exe-rename.js +645 -30
- package/dist/bin/exe-review.js +635 -13
- package/dist/bin/exe-search.js +771 -88
- package/dist/bin/exe-session-cleanup.js +834 -150
- package/dist/bin/exe-settings.js +127 -91
- package/dist/bin/exe-start-codex.js +729 -94
- package/dist/bin/exe-start-opencode.js +717 -82
- package/dist/bin/exe-status.js +657 -35
- package/dist/bin/exe-team.js +635 -13
- package/dist/bin/git-sweep.js +720 -89
- package/dist/bin/graph-backfill.js +643 -13
- package/dist/bin/graph-export.js +646 -16
- package/dist/bin/install.js +596 -193
- package/dist/bin/scan-tasks.js +724 -93
- package/dist/bin/setup.js +1038 -210
- package/dist/bin/shard-migrate.js +645 -15
- package/dist/bin/wiki-sync.js +646 -16
- package/dist/gateway/index.js +1027 -245
- package/dist/hooks/bug-report-worker.js +891 -170
- package/dist/hooks/commit-complete.js +718 -87
- package/dist/hooks/error-recall.js +776 -93
- package/dist/hooks/exe-heartbeat-hook.js +85 -71
- package/dist/hooks/ingest-worker.js +840 -156
- package/dist/hooks/ingest.js +90 -73
- package/dist/hooks/instructions-loaded.js +669 -38
- package/dist/hooks/notification.js +661 -30
- package/dist/hooks/post-compact.js +674 -43
- package/dist/hooks/pre-compact.js +718 -87
- package/dist/hooks/pre-tool-use.js +872 -125
- package/dist/hooks/prompt-ingest-worker.js +758 -83
- package/dist/hooks/prompt-submit.js +1060 -319
- package/dist/hooks/response-ingest-worker.js +758 -83
- package/dist/hooks/session-end.js +721 -90
- package/dist/hooks/session-start.js +1031 -207
- package/dist/hooks/stop.js +680 -49
- package/dist/hooks/subagent-stop.js +674 -43
- package/dist/hooks/summary-worker.js +816 -132
- package/dist/index.js +1015 -232
- package/dist/lib/cloud-sync.js +663 -48
- package/dist/lib/consolidation.js +26 -3
- package/dist/lib/database.js +626 -18
- package/dist/lib/db.js +2261 -0
- package/dist/lib/device-registry.js +640 -25
- package/dist/lib/embedder.js +96 -43
- package/dist/lib/employee-templates.js +16 -0
- package/dist/lib/employees.js +259 -83
- package/dist/lib/exe-daemon-client.js +101 -63
- package/dist/lib/exe-daemon.js +894 -162
- package/dist/lib/hybrid-search.js +771 -88
- package/dist/lib/identity.js +27 -7
- package/dist/lib/messaging.js +55 -28
- package/dist/lib/reminders.js +21 -1
- package/dist/lib/schedules.js +636 -14
- package/dist/lib/skill-learning.js +21 -1
- package/dist/lib/store.js +643 -13
- package/dist/lib/task-router.js +82 -71
- package/dist/lib/tasks.js +98 -71
- package/dist/lib/tmux-routing.js +87 -60
- package/dist/lib/token-spend.js +26 -6
- package/dist/mcp/server.js +1784 -458
- package/dist/mcp/tools/complete-reminder.js +21 -1
- package/dist/mcp/tools/create-reminder.js +21 -1
- package/dist/mcp/tools/create-task.js +290 -164
- package/dist/mcp/tools/deactivate-behavior.js +24 -4
- package/dist/mcp/tools/list-reminders.js +21 -1
- package/dist/mcp/tools/list-tasks.js +195 -38
- package/dist/mcp/tools/send-message.js +58 -31
- package/dist/mcp/tools/update-task.js +75 -48
- package/dist/runtime/index.js +720 -89
- package/dist/tui/App.js +853 -123
- package/package.json +3 -2
package/dist/hooks/ingest.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
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
|
+
};
|
|
5
|
+
|
|
1
6
|
// src/lib/config.ts
|
|
2
7
|
import { readFile, writeFile, mkdir, chmod } from "fs/promises";
|
|
3
8
|
import { readFileSync, existsSync, renameSync } from "fs";
|
|
@@ -19,69 +24,6 @@ function resolveDataDir() {
|
|
|
19
24
|
}
|
|
20
25
|
return newDir;
|
|
21
26
|
}
|
|
22
|
-
var EXE_AI_DIR = resolveDataDir();
|
|
23
|
-
var DB_PATH = path.join(EXE_AI_DIR, "memories.db");
|
|
24
|
-
var MODELS_DIR = path.join(EXE_AI_DIR, "models");
|
|
25
|
-
var CONFIG_PATH = path.join(EXE_AI_DIR, "config.json");
|
|
26
|
-
var LEGACY_LANCE_PATH = path.join(EXE_AI_DIR, "local.lance");
|
|
27
|
-
var CURRENT_CONFIG_VERSION = 1;
|
|
28
|
-
var DEFAULT_CONFIG = {
|
|
29
|
-
config_version: CURRENT_CONFIG_VERSION,
|
|
30
|
-
dbPath: DB_PATH,
|
|
31
|
-
modelFile: "jina-embeddings-v5-small-q4_k_m.gguf",
|
|
32
|
-
embeddingDim: 1024,
|
|
33
|
-
batchSize: 20,
|
|
34
|
-
flushIntervalMs: 1e4,
|
|
35
|
-
autoIngestion: true,
|
|
36
|
-
autoRetrieval: true,
|
|
37
|
-
searchMode: "hybrid",
|
|
38
|
-
hookSearchMode: "hybrid",
|
|
39
|
-
fileGrepEnabled: true,
|
|
40
|
-
splashEffect: true,
|
|
41
|
-
consolidationEnabled: true,
|
|
42
|
-
consolidationIntervalMs: 6 * 60 * 60 * 1e3,
|
|
43
|
-
consolidationModel: "claude-haiku-4-5-20251001",
|
|
44
|
-
consolidationMaxCallsPerRun: 20,
|
|
45
|
-
selfQueryRouter: true,
|
|
46
|
-
selfQueryModel: "claude-haiku-4-5-20251001",
|
|
47
|
-
rerankerEnabled: true,
|
|
48
|
-
scalingRoadmap: {
|
|
49
|
-
rerankerAutoTrigger: {
|
|
50
|
-
enabled: true,
|
|
51
|
-
broadQueryMinCardinality: 5e4,
|
|
52
|
-
fetchTopK: 150,
|
|
53
|
-
returnTopK: 5
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
graphRagEnabled: true,
|
|
57
|
-
wikiEnabled: false,
|
|
58
|
-
wikiUrl: "",
|
|
59
|
-
wikiApiKey: "",
|
|
60
|
-
wikiSyncIntervalMs: 30 * 60 * 1e3,
|
|
61
|
-
wikiWorkspaceMapping: {},
|
|
62
|
-
wikiAutoUpdate: true,
|
|
63
|
-
wikiAutoUpdateThreshold: 0.5,
|
|
64
|
-
wikiAutoUpdateCreateNew: true,
|
|
65
|
-
skillLearning: true,
|
|
66
|
-
skillThreshold: 3,
|
|
67
|
-
skillModel: "claude-haiku-4-5-20251001",
|
|
68
|
-
exeHeartbeat: {
|
|
69
|
-
enabled: true,
|
|
70
|
-
intervalSeconds: 60,
|
|
71
|
-
staleInProgressThresholdHours: 2
|
|
72
|
-
},
|
|
73
|
-
sessionLifecycle: {
|
|
74
|
-
idleKillEnabled: true,
|
|
75
|
-
idleKillTicksRequired: 3,
|
|
76
|
-
idleKillIntercomAckWindowMs: 1e4,
|
|
77
|
-
maxAutoInstances: 10
|
|
78
|
-
},
|
|
79
|
-
autoUpdate: {
|
|
80
|
-
checkOnBoot: true,
|
|
81
|
-
autoInstall: false,
|
|
82
|
-
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
27
|
function migrateLegacyConfig(raw) {
|
|
86
28
|
if ("r2" in raw) {
|
|
87
29
|
process.stderr.write(
|
|
@@ -94,16 +36,6 @@ function migrateLegacyConfig(raw) {
|
|
|
94
36
|
}
|
|
95
37
|
return raw;
|
|
96
38
|
}
|
|
97
|
-
var CONFIG_MIGRATIONS = [
|
|
98
|
-
{
|
|
99
|
-
from: 0,
|
|
100
|
-
to: 1,
|
|
101
|
-
migrate: (cfg) => {
|
|
102
|
-
cfg.config_version = 1;
|
|
103
|
-
return cfg;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
];
|
|
107
39
|
function migrateConfig(raw) {
|
|
108
40
|
const fromVersion = typeof raw.config_version === "number" ? raw.config_version : 0;
|
|
109
41
|
let currentVersion = fromVersion;
|
|
@@ -161,14 +93,96 @@ function loadConfigSync() {
|
|
|
161
93
|
return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
|
|
162
94
|
}
|
|
163
95
|
}
|
|
96
|
+
var EXE_AI_DIR, DB_PATH, MODELS_DIR, CONFIG_PATH, LEGACY_LANCE_PATH, CURRENT_CONFIG_VERSION, DEFAULT_CONFIG, CONFIG_MIGRATIONS;
|
|
97
|
+
var init_config = __esm({
|
|
98
|
+
"src/lib/config.ts"() {
|
|
99
|
+
"use strict";
|
|
100
|
+
EXE_AI_DIR = resolveDataDir();
|
|
101
|
+
DB_PATH = path.join(EXE_AI_DIR, "memories.db");
|
|
102
|
+
MODELS_DIR = path.join(EXE_AI_DIR, "models");
|
|
103
|
+
CONFIG_PATH = path.join(EXE_AI_DIR, "config.json");
|
|
104
|
+
LEGACY_LANCE_PATH = path.join(EXE_AI_DIR, "local.lance");
|
|
105
|
+
CURRENT_CONFIG_VERSION = 1;
|
|
106
|
+
DEFAULT_CONFIG = {
|
|
107
|
+
config_version: CURRENT_CONFIG_VERSION,
|
|
108
|
+
dbPath: DB_PATH,
|
|
109
|
+
modelFile: "jina-embeddings-v5-small-q4_k_m.gguf",
|
|
110
|
+
embeddingDim: 1024,
|
|
111
|
+
batchSize: 20,
|
|
112
|
+
flushIntervalMs: 1e4,
|
|
113
|
+
autoIngestion: true,
|
|
114
|
+
autoRetrieval: true,
|
|
115
|
+
searchMode: "hybrid",
|
|
116
|
+
hookSearchMode: "hybrid",
|
|
117
|
+
fileGrepEnabled: true,
|
|
118
|
+
splashEffect: true,
|
|
119
|
+
consolidationEnabled: true,
|
|
120
|
+
consolidationIntervalMs: 6 * 60 * 60 * 1e3,
|
|
121
|
+
consolidationModel: "claude-haiku-4-5-20251001",
|
|
122
|
+
consolidationMaxCallsPerRun: 20,
|
|
123
|
+
selfQueryRouter: true,
|
|
124
|
+
selfQueryModel: "claude-haiku-4-5-20251001",
|
|
125
|
+
rerankerEnabled: true,
|
|
126
|
+
scalingRoadmap: {
|
|
127
|
+
rerankerAutoTrigger: {
|
|
128
|
+
enabled: true,
|
|
129
|
+
broadQueryMinCardinality: 5e4,
|
|
130
|
+
fetchTopK: 150,
|
|
131
|
+
returnTopK: 5
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
graphRagEnabled: true,
|
|
135
|
+
wikiEnabled: false,
|
|
136
|
+
wikiUrl: "",
|
|
137
|
+
wikiApiKey: "",
|
|
138
|
+
wikiSyncIntervalMs: 30 * 60 * 1e3,
|
|
139
|
+
wikiWorkspaceMapping: {},
|
|
140
|
+
wikiAutoUpdate: true,
|
|
141
|
+
wikiAutoUpdateThreshold: 0.5,
|
|
142
|
+
wikiAutoUpdateCreateNew: true,
|
|
143
|
+
skillLearning: true,
|
|
144
|
+
skillThreshold: 3,
|
|
145
|
+
skillModel: "claude-haiku-4-5-20251001",
|
|
146
|
+
exeHeartbeat: {
|
|
147
|
+
enabled: true,
|
|
148
|
+
intervalSeconds: 60,
|
|
149
|
+
staleInProgressThresholdHours: 2
|
|
150
|
+
},
|
|
151
|
+
sessionLifecycle: {
|
|
152
|
+
idleKillEnabled: true,
|
|
153
|
+
idleKillTicksRequired: 3,
|
|
154
|
+
idleKillIntercomAckWindowMs: 1e4,
|
|
155
|
+
maxAutoInstances: 10
|
|
156
|
+
},
|
|
157
|
+
autoUpdate: {
|
|
158
|
+
checkOnBoot: true,
|
|
159
|
+
autoInstall: false,
|
|
160
|
+
checkIntervalMs: 24 * 60 * 60 * 1e3
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
CONFIG_MIGRATIONS = [
|
|
164
|
+
{
|
|
165
|
+
from: 0,
|
|
166
|
+
to: 1,
|
|
167
|
+
migrate: (cfg) => {
|
|
168
|
+
cfg.config_version = 1;
|
|
169
|
+
return cfg;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
164
175
|
|
|
165
176
|
// src/adapters/claude/hooks/ingest.ts
|
|
177
|
+
init_config();
|
|
178
|
+
init_config();
|
|
166
179
|
import { spawn } from "child_process";
|
|
167
180
|
import { readFileSync as readFileSync4, writeFileSync as writeFileSync4, mkdirSync as mkdirSync3, existsSync as existsSync4, openSync, closeSync } from "fs";
|
|
168
181
|
import path5 from "path";
|
|
169
182
|
import { fileURLToPath } from "url";
|
|
170
183
|
|
|
171
184
|
// src/lib/active-agent.ts
|
|
185
|
+
init_config();
|
|
172
186
|
import { readFileSync as readFileSync3, writeFileSync as writeFileSync2, mkdirSync, unlinkSync as unlinkSync2, readdirSync } from "fs";
|
|
173
187
|
import { execSync as execSync3 } from "child_process";
|
|
174
188
|
import path3 from "path";
|
|
@@ -236,6 +250,7 @@ function getSessionKey() {
|
|
|
236
250
|
}
|
|
237
251
|
|
|
238
252
|
// src/lib/employees.ts
|
|
253
|
+
init_config();
|
|
239
254
|
import { readFile as readFile2, writeFile as writeFile2, mkdir as mkdir2 } from "fs/promises";
|
|
240
255
|
import { existsSync as existsSync2, symlinkSync, readlinkSync, readFileSync as readFileSync2, renameSync as renameSync2, unlinkSync, writeFileSync } from "fs";
|
|
241
256
|
import { execSync as execSync2 } from "child_process";
|
|
@@ -267,6 +282,7 @@ function loadEmployeesSync(employeesPath = EMPLOYEES_PATH) {
|
|
|
267
282
|
function getEmployee(employees, name) {
|
|
268
283
|
return employees.find((e) => e.name.toLowerCase() === name.toLowerCase());
|
|
269
284
|
}
|
|
285
|
+
var IDENTITY_DIR = path2.join(EXE_AI_DIR, "identity");
|
|
270
286
|
|
|
271
287
|
// src/lib/active-agent.ts
|
|
272
288
|
var CACHE_DIR = path3.join(EXE_AI_DIR, "session-cache");
|
|
@@ -510,6 +526,7 @@ function errorFingerprint(toolName, errorText) {
|
|
|
510
526
|
}
|
|
511
527
|
|
|
512
528
|
// src/lib/worker-gate.ts
|
|
529
|
+
init_config();
|
|
513
530
|
import { readdirSync as readdirSync2, writeFileSync as writeFileSync3, unlinkSync as unlinkSync3, mkdirSync as mkdirSync2, existsSync as existsSync3 } from "fs";
|
|
514
531
|
import path4 from "path";
|
|
515
532
|
var WORKER_PID_DIR = path4.join(EXE_AI_DIR, "worker-pids");
|