@askexenow/exe-os 0.9.55 → 0.9.56

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 (44) hide show
  1. package/dist/bin/cleanup-stale-review-tasks.js +26 -8
  2. package/dist/bin/cli.js +14 -1
  3. package/dist/bin/exe-boot.js +267 -190
  4. package/dist/bin/exe-dispatch.js +182 -105
  5. package/dist/bin/exe-export-behaviors.js +7 -0
  6. package/dist/bin/exe-gateway.js +177 -100
  7. package/dist/bin/exe-heartbeat.js +38 -20
  8. package/dist/bin/exe-launch-agent.js +7 -0
  9. package/dist/bin/exe-pending-messages.js +50 -32
  10. package/dist/bin/exe-pending-notifications.js +53 -35
  11. package/dist/bin/exe-pending-reviews.js +55 -37
  12. package/dist/bin/exe-session-cleanup.js +168 -91
  13. package/dist/bin/exe-start-codex.js +7 -0
  14. package/dist/bin/exe-start-opencode.js +7 -0
  15. package/dist/bin/exe-status.js +26 -8
  16. package/dist/bin/git-sweep.js +184 -107
  17. package/dist/bin/intercom-check.js +170 -93
  18. package/dist/bin/scan-tasks.js +190 -113
  19. package/dist/gateway/index.js +166 -89
  20. package/dist/hooks/bug-report-worker.js +158 -81
  21. package/dist/hooks/codex-stop-task-finalizer.js +57 -39
  22. package/dist/hooks/commit-complete.js +182 -105
  23. package/dist/hooks/post-compact.js +50 -32
  24. package/dist/hooks/pre-compact.js +185 -108
  25. package/dist/hooks/pre-tool-use.js +71 -53
  26. package/dist/hooks/prompt-submit.js +176 -92
  27. package/dist/hooks/session-end.js +193 -116
  28. package/dist/hooks/session-start.js +53 -35
  29. package/dist/hooks/stop.js +62 -44
  30. package/dist/hooks/subagent-stop.js +50 -32
  31. package/dist/hooks/summary-worker.js +109 -91
  32. package/dist/index.js +205 -121
  33. package/dist/lib/exe-daemon.js +381 -304
  34. package/dist/lib/messaging.js +32 -14
  35. package/dist/lib/tasks.js +180 -103
  36. package/dist/lib/tmux-routing.js +180 -103
  37. package/dist/mcp/server.js +356 -279
  38. package/dist/mcp/tools/create-task.js +194 -117
  39. package/dist/mcp/tools/list-tasks.js +45 -27
  40. package/dist/mcp/tools/send-message.js +36 -18
  41. package/dist/mcp/tools/update-task.js +189 -112
  42. package/dist/runtime/index.js +191 -107
  43. package/dist/tui/App.js +228 -151
  44. package/package.json +1 -1
@@ -4885,10 +4885,27 @@ var init_plan_limits = __esm({
4885
4885
  }
4886
4886
  });
4887
4887
 
4888
- // src/lib/tmux-routing.ts
4889
- import { readFileSync as readFileSync9, writeFileSync as writeFileSync6, mkdirSync as mkdirSync5, existsSync as existsSync12, appendFileSync, readdirSync as readdirSync2 } from "fs";
4890
- import path13 from "path";
4888
+ // src/lib/agent-symlinks.ts
4891
4889
  import os9 from "os";
4890
+ import path13 from "path";
4891
+ import {
4892
+ existsSync as existsSync12,
4893
+ lstatSync,
4894
+ mkdirSync as mkdirSync5,
4895
+ readlinkSync as readlinkSync2,
4896
+ symlinkSync as symlinkSync2
4897
+ } from "fs";
4898
+ var init_agent_symlinks = __esm({
4899
+ "src/lib/agent-symlinks.ts"() {
4900
+ "use strict";
4901
+ init_employees();
4902
+ }
4903
+ });
4904
+
4905
+ // src/lib/tmux-routing.ts
4906
+ import { readFileSync as readFileSync9, writeFileSync as writeFileSync6, mkdirSync as mkdirSync6, existsSync as existsSync13, appendFileSync, readdirSync as readdirSync2 } from "fs";
4907
+ import path14 from "path";
4908
+ import os10 from "os";
4892
4909
  import { fileURLToPath as fileURLToPath2 } from "url";
4893
4910
  function getMySession() {
4894
4911
  return getTransport().getMySession();
@@ -4901,7 +4918,7 @@ function extractRootExe(name) {
4901
4918
  }
4902
4919
  function getParentExe(sessionKey) {
4903
4920
  try {
4904
- const data = JSON.parse(readFileSync9(path13.join(SESSION_CACHE, `parent-exe-${sessionKey}.json`), "utf8"));
4921
+ const data = JSON.parse(readFileSync9(path14.join(SESSION_CACHE, `parent-exe-${sessionKey}.json`), "utf8"));
4905
4922
  return data.parentExe || null;
4906
4923
  } catch {
4907
4924
  return null;
@@ -4944,10 +4961,11 @@ var init_tmux_routing = __esm({
4944
4961
  init_intercom_queue();
4945
4962
  init_plan_limits();
4946
4963
  init_employees();
4947
- SPAWN_LOCK_DIR = path13.join(os9.homedir(), ".exe-os", "spawn-locks");
4948
- SESSION_CACHE = path13.join(os9.homedir(), ".exe-os", "session-cache");
4949
- INTERCOM_LOG2 = path13.join(os9.homedir(), ".exe-os", "intercom.log");
4950
- DEBOUNCE_FILE = path13.join(SESSION_CACHE, "intercom-debounce.json");
4964
+ init_agent_symlinks();
4965
+ SPAWN_LOCK_DIR = path14.join(os10.homedir(), ".exe-os", "spawn-locks");
4966
+ SESSION_CACHE = path14.join(os10.homedir(), ".exe-os", "session-cache");
4967
+ INTERCOM_LOG2 = path14.join(os10.homedir(), ".exe-os", "intercom.log");
4968
+ DEBOUNCE_FILE = path14.join(SESSION_CACHE, "intercom-debounce.json");
4951
4969
  DEBOUNCE_CLEANUP_AGE_MS = 5 * 60 * 1e3;
4952
4970
  }
4953
4971
  });
package/dist/bin/cli.js CHANGED
@@ -13361,7 +13361,19 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
13361
13361
  _resetCcAgentSupportCache();
13362
13362
  const hasAgentFlag = claudeSupportsAgentFlag();
13363
13363
  if (hasAgentFlag) {
13364
- identityFlag = ` --agent ${employeeName}`;
13364
+ const symlink = ensureAgentSymlink(employeeName);
13365
+ if (symlink.action === "created" || symlink.action === "already_correct") {
13366
+ identityFlag = ` --agent ${employeeName}`;
13367
+ } else if (existsSync24(identityPath2)) {
13368
+ identityFlag = ` --append-system-prompt-file ${identityPath2}`;
13369
+ legacyFallbackWarned = true;
13370
+ process.stderr.write(
13371
+ `[tmux-routing] WARN: ~/.claude/agents/${employeeName}.md is not the exe-os identity symlink (${symlink.conflict}). Using authoritative ${identityPath2} via --append-system-prompt-file.
13372
+ `
13373
+ );
13374
+ } else {
13375
+ identityFlag = ` --agent ${employeeName}`;
13376
+ }
13365
13377
  } else if (existsSync24(identityPath2)) {
13366
13378
  identityFlag = ` --append-system-prompt-file ${identityPath2}`;
13367
13379
  legacyFallbackWarned = true;
@@ -13550,6 +13562,7 @@ var init_tmux_routing = __esm({
13550
13562
  init_intercom_queue();
13551
13563
  init_plan_limits();
13552
13564
  init_employees();
13565
+ init_agent_symlinks();
13553
13566
  SPAWN_LOCK_DIR = path29.join(os15.homedir(), ".exe-os", "spawn-locks");
13554
13567
  SESSION_CACHE = path29.join(os15.homedir(), ".exe-os", "session-cache");
13555
13568
  BEHAVIORS_EXPORT_TIMEOUT_MS = 1e4;