@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.
Files changed (95) hide show
  1. package/dist/bin/backfill-conversations.js +754 -79
  2. package/dist/bin/backfill-responses.js +752 -77
  3. package/dist/bin/backfill-vectors.js +752 -77
  4. package/dist/bin/cleanup-stale-review-tasks.js +657 -35
  5. package/dist/bin/cli.js +1388 -605
  6. package/dist/bin/exe-agent-config.js +123 -95
  7. package/dist/bin/exe-agent.js +41 -25
  8. package/dist/bin/exe-assign.js +732 -57
  9. package/dist/bin/exe-boot.js +784 -153
  10. package/dist/bin/exe-call.js +209 -138
  11. package/dist/bin/exe-cloud.js +35 -12
  12. package/dist/bin/exe-dispatch.js +692 -70
  13. package/dist/bin/exe-doctor.js +648 -26
  14. package/dist/bin/exe-export-behaviors.js +650 -20
  15. package/dist/bin/exe-forget.js +635 -13
  16. package/dist/bin/exe-gateway.js +1053 -271
  17. package/dist/bin/exe-heartbeat.js +665 -43
  18. package/dist/bin/exe-kill.js +646 -16
  19. package/dist/bin/exe-launch-agent.js +887 -97
  20. package/dist/bin/exe-link.js +658 -43
  21. package/dist/bin/exe-new-employee.js +378 -177
  22. package/dist/bin/exe-pending-messages.js +656 -34
  23. package/dist/bin/exe-pending-notifications.js +635 -13
  24. package/dist/bin/exe-pending-reviews.js +659 -37
  25. package/dist/bin/exe-rename.js +645 -30
  26. package/dist/bin/exe-review.js +635 -13
  27. package/dist/bin/exe-search.js +771 -88
  28. package/dist/bin/exe-session-cleanup.js +834 -150
  29. package/dist/bin/exe-settings.js +127 -91
  30. package/dist/bin/exe-start-codex.js +729 -94
  31. package/dist/bin/exe-start-opencode.js +717 -82
  32. package/dist/bin/exe-status.js +657 -35
  33. package/dist/bin/exe-team.js +635 -13
  34. package/dist/bin/git-sweep.js +720 -89
  35. package/dist/bin/graph-backfill.js +643 -13
  36. package/dist/bin/graph-export.js +646 -16
  37. package/dist/bin/install.js +596 -193
  38. package/dist/bin/scan-tasks.js +724 -93
  39. package/dist/bin/setup.js +1038 -210
  40. package/dist/bin/shard-migrate.js +645 -15
  41. package/dist/bin/wiki-sync.js +646 -16
  42. package/dist/gateway/index.js +1027 -245
  43. package/dist/hooks/bug-report-worker.js +891 -170
  44. package/dist/hooks/commit-complete.js +718 -87
  45. package/dist/hooks/error-recall.js +776 -93
  46. package/dist/hooks/exe-heartbeat-hook.js +85 -71
  47. package/dist/hooks/ingest-worker.js +840 -156
  48. package/dist/hooks/ingest.js +90 -73
  49. package/dist/hooks/instructions-loaded.js +669 -38
  50. package/dist/hooks/notification.js +661 -30
  51. package/dist/hooks/post-compact.js +674 -43
  52. package/dist/hooks/pre-compact.js +718 -87
  53. package/dist/hooks/pre-tool-use.js +872 -125
  54. package/dist/hooks/prompt-ingest-worker.js +758 -83
  55. package/dist/hooks/prompt-submit.js +1060 -319
  56. package/dist/hooks/response-ingest-worker.js +758 -83
  57. package/dist/hooks/session-end.js +721 -90
  58. package/dist/hooks/session-start.js +1031 -207
  59. package/dist/hooks/stop.js +680 -49
  60. package/dist/hooks/subagent-stop.js +674 -43
  61. package/dist/hooks/summary-worker.js +816 -132
  62. package/dist/index.js +1015 -232
  63. package/dist/lib/cloud-sync.js +663 -48
  64. package/dist/lib/consolidation.js +26 -3
  65. package/dist/lib/database.js +626 -18
  66. package/dist/lib/db.js +2261 -0
  67. package/dist/lib/device-registry.js +640 -25
  68. package/dist/lib/embedder.js +96 -43
  69. package/dist/lib/employee-templates.js +16 -0
  70. package/dist/lib/employees.js +259 -83
  71. package/dist/lib/exe-daemon-client.js +101 -63
  72. package/dist/lib/exe-daemon.js +894 -162
  73. package/dist/lib/hybrid-search.js +771 -88
  74. package/dist/lib/identity.js +27 -7
  75. package/dist/lib/messaging.js +55 -28
  76. package/dist/lib/reminders.js +21 -1
  77. package/dist/lib/schedules.js +636 -14
  78. package/dist/lib/skill-learning.js +21 -1
  79. package/dist/lib/store.js +643 -13
  80. package/dist/lib/task-router.js +82 -71
  81. package/dist/lib/tasks.js +98 -71
  82. package/dist/lib/tmux-routing.js +87 -60
  83. package/dist/lib/token-spend.js +26 -6
  84. package/dist/mcp/server.js +1784 -458
  85. package/dist/mcp/tools/complete-reminder.js +21 -1
  86. package/dist/mcp/tools/create-reminder.js +21 -1
  87. package/dist/mcp/tools/create-task.js +290 -164
  88. package/dist/mcp/tools/deactivate-behavior.js +24 -4
  89. package/dist/mcp/tools/list-reminders.js +21 -1
  90. package/dist/mcp/tools/list-tasks.js +195 -38
  91. package/dist/mcp/tools/send-message.js +58 -31
  92. package/dist/mcp/tools/update-task.js +75 -48
  93. package/dist/runtime/index.js +720 -89
  94. package/dist/tui/App.js +853 -123
  95. package/package.json +3 -2
@@ -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");