@askexenow/exe-os 0.8.41 → 0.8.43

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 (76) hide show
  1. package/dist/bin/backfill-conversations.js +805 -642
  2. package/dist/bin/backfill-responses.js +804 -641
  3. package/dist/bin/backfill-vectors.js +791 -634
  4. package/dist/bin/cleanup-stale-review-tasks.js +788 -631
  5. package/dist/bin/cli.js +1345 -660
  6. package/dist/bin/exe-agent.js +20 -1
  7. package/dist/bin/exe-assign.js +1503 -1343
  8. package/dist/bin/exe-boot.js +2518 -1798
  9. package/dist/bin/exe-call.js +39 -1
  10. package/dist/bin/exe-cloud.js +15 -1
  11. package/dist/bin/exe-dispatch.js +39 -2
  12. package/dist/bin/exe-doctor.js +790 -633
  13. package/dist/bin/exe-export-behaviors.js +792 -637
  14. package/dist/bin/exe-forget.js +145 -0
  15. package/dist/bin/exe-gateway.js +2500 -1877
  16. package/dist/bin/exe-heartbeat.js +147 -1
  17. package/dist/bin/exe-kill.js +795 -640
  18. package/dist/bin/exe-launch-agent.js +2168 -2008
  19. package/dist/bin/exe-link.js +28 -2
  20. package/dist/bin/exe-new-employee.js +25 -3
  21. package/dist/bin/exe-pending-messages.js +146 -1
  22. package/dist/bin/exe-pending-notifications.js +788 -631
  23. package/dist/bin/exe-pending-reviews.js +147 -1
  24. package/dist/bin/exe-rename.js +23 -0
  25. package/dist/bin/exe-review.js +490 -327
  26. package/dist/bin/exe-search.js +154 -3
  27. package/dist/bin/exe-session-cleanup.js +2466 -413
  28. package/dist/bin/exe-status.js +474 -317
  29. package/dist/bin/exe-team.js +474 -317
  30. package/dist/bin/git-sweep.js +2690 -150
  31. package/dist/bin/graph-backfill.js +794 -637
  32. package/dist/bin/graph-export.js +798 -641
  33. package/dist/bin/scan-tasks.js +2951 -44
  34. package/dist/bin/setup.js +62 -26
  35. package/dist/bin/shard-migrate.js +792 -637
  36. package/dist/bin/wiki-sync.js +794 -637
  37. package/dist/gateway/index.js +2504 -1895
  38. package/dist/hooks/bug-report-worker.js +2118 -576
  39. package/dist/hooks/commit-complete.js +2689 -149
  40. package/dist/hooks/error-recall.js +154 -3
  41. package/dist/hooks/ingest-worker.js +1439 -815
  42. package/dist/hooks/instructions-loaded.js +151 -0
  43. package/dist/hooks/notification.js +153 -2
  44. package/dist/hooks/post-compact.js +164 -0
  45. package/dist/hooks/pre-compact.js +3073 -101
  46. package/dist/hooks/pre-tool-use.js +151 -0
  47. package/dist/hooks/prompt-ingest-worker.js +1714 -1537
  48. package/dist/hooks/prompt-submit.js +2658 -1113
  49. package/dist/hooks/response-ingest-worker.js +170 -6
  50. package/dist/hooks/session-end.js +153 -2
  51. package/dist/hooks/session-start.js +154 -3
  52. package/dist/hooks/stop.js +151 -0
  53. package/dist/hooks/subagent-stop.js +151 -0
  54. package/dist/hooks/summary-worker.js +179 -7
  55. package/dist/index.js +278 -100
  56. package/dist/lib/cloud-sync.js +28 -2
  57. package/dist/lib/consolidation.js +69 -2
  58. package/dist/lib/database.js +19 -0
  59. package/dist/lib/device-registry.js +19 -0
  60. package/dist/lib/employee-templates.js +20 -1
  61. package/dist/lib/exe-daemon.js +236 -16
  62. package/dist/lib/hybrid-search.js +154 -3
  63. package/dist/lib/license.js +15 -1
  64. package/dist/lib/messaging.js +39 -2
  65. package/dist/lib/schedules.js +792 -637
  66. package/dist/lib/store.js +796 -636
  67. package/dist/lib/tasks.js +1614 -1091
  68. package/dist/lib/tmux-routing.js +149 -9
  69. package/dist/mcp/server.js +1825 -1138
  70. package/dist/mcp/tools/create-task.js +2280 -828
  71. package/dist/mcp/tools/list-tasks.js +2788 -159
  72. package/dist/mcp/tools/send-message.js +39 -2
  73. package/dist/mcp/tools/update-task.js +64 -0
  74. package/dist/runtime/index.js +235 -67
  75. package/dist/tui/App.js +1452 -644
  76. package/package.json +3 -2
package/dist/bin/setup.js CHANGED
@@ -841,7 +841,21 @@ function getCacheAgeMs() {
841
841
  }
842
842
  }
843
843
  async function checkLicense() {
844
- const key = loadLicense();
844
+ let key = loadLicense();
845
+ if (!key) {
846
+ try {
847
+ const configPath = path5.join(EXE_AI_DIR, "config.json");
848
+ if (existsSync5(configPath)) {
849
+ const raw = JSON.parse(readFileSync3(configPath, "utf8"));
850
+ const cloud = raw.cloud;
851
+ if (cloud?.apiKey) {
852
+ key = cloud.apiKey;
853
+ saveLicense(key);
854
+ }
855
+ }
856
+ } catch {
857
+ }
858
+ }
845
859
  if (!key) return FREE_LICENSE;
846
860
  const cached = await getCachedLicense();
847
861
  if (cached && getCacheAgeMs() < CACHE_MAX_AGE_MS) return cached;
@@ -1159,6 +1173,50 @@ var init_employees = __esm({
1159
1173
  }
1160
1174
  });
1161
1175
 
1176
+ // src/lib/db-retry.ts
1177
+ var init_db_retry = __esm({
1178
+ "src/lib/db-retry.ts"() {
1179
+ "use strict";
1180
+ }
1181
+ });
1182
+
1183
+ // src/lib/database.ts
1184
+ import { createClient } from "@libsql/client";
1185
+ function getClient() {
1186
+ if (!_resilientClient) {
1187
+ throw new Error("Database client not initialized. Call initDatabase() first.");
1188
+ }
1189
+ return _resilientClient;
1190
+ }
1191
+ var _resilientClient;
1192
+ var init_database = __esm({
1193
+ "src/lib/database.ts"() {
1194
+ "use strict";
1195
+ init_db_retry();
1196
+ _resilientClient = null;
1197
+ }
1198
+ });
1199
+
1200
+ // src/lib/global-procedures.ts
1201
+ import { randomUUID as randomUUID3 } from "crypto";
1202
+ function getGlobalProceduresBlock() {
1203
+ if (!_cacheLoaded) return "";
1204
+ if (!_cache) return "";
1205
+ return `## Organization-Wide Procedures (MANDATORY \u2014 supersedes all other rules)
1206
+
1207
+ ${_cache}
1208
+ `;
1209
+ }
1210
+ var _cache, _cacheLoaded;
1211
+ var init_global_procedures = __esm({
1212
+ "src/lib/global-procedures.ts"() {
1213
+ "use strict";
1214
+ init_database();
1215
+ _cache = "";
1216
+ _cacheLoaded = false;
1217
+ }
1218
+ });
1219
+
1162
1220
  // src/lib/employee-templates.ts
1163
1221
  var employee_templates_exports = {};
1164
1222
  __export(employee_templates_exports, {
@@ -1177,7 +1235,8 @@ __export(employee_templates_exports, {
1177
1235
  function getSessionPrompt(storedPrompt) {
1178
1236
  const markerIndex = storedPrompt.indexOf(PROCEDURES_MARKER);
1179
1237
  const rolePrompt = markerIndex >= 0 ? storedPrompt.slice(0, markerIndex).trimEnd() : storedPrompt;
1180
- return `${rolePrompt}
1238
+ const globalBlock = getGlobalProceduresBlock();
1239
+ return `${globalBlock}${rolePrompt}
1181
1240
  ${BASE_OPERATING_PROCEDURES}`;
1182
1241
  }
1183
1242
  function buildCustomEmployeePrompt(name, role) {
@@ -1217,6 +1276,7 @@ var BASE_OPERATING_PROCEDURES, DEFAULT_EXE, TEMPLATE_VERSION, PROCEDURES_MARKER,
1217
1276
  var init_employee_templates = __esm({
1218
1277
  "src/lib/employee-templates.ts"() {
1219
1278
  "use strict";
1279
+ init_global_procedures();
1220
1280
  BASE_OPERATING_PROCEDURES = `
1221
1281
  EXE OS \u2014 VISION AND NON-NEGOTIABLE PRINCIPLES (above all work):
1222
1282
 
@@ -1774,30 +1834,6 @@ All memory, tasks, behaviors, documents, and wiki content belonging to {{company
1774
1834
  }
1775
1835
  });
1776
1836
 
1777
- // src/lib/db-retry.ts
1778
- var init_db_retry = __esm({
1779
- "src/lib/db-retry.ts"() {
1780
- "use strict";
1781
- }
1782
- });
1783
-
1784
- // src/lib/database.ts
1785
- import { createClient } from "@libsql/client";
1786
- function getClient() {
1787
- if (!_resilientClient) {
1788
- throw new Error("Database client not initialized. Call initDatabase() first.");
1789
- }
1790
- return _resilientClient;
1791
- }
1792
- var _resilientClient;
1793
- var init_database = __esm({
1794
- "src/lib/database.ts"() {
1795
- "use strict";
1796
- init_db_retry();
1797
- _resilientClient = null;
1798
- }
1799
- });
1800
-
1801
1837
  // src/lib/identity.ts
1802
1838
  var identity_exports = {};
1803
1839
  __export(identity_exports, {