@askexenow/exe-os 0.9.205 → 0.9.207

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 (132) hide show
  1. package/dist/{backfill-metadata-BT4RLVMZ.js → backfill-metadata-4N22ZA6N.js} +1 -1
  2. package/dist/bin/agentic-ontology-backfill.js +1 -1
  3. package/dist/bin/agentic-reflection-backfill.js +1 -1
  4. package/dist/bin/agentic-semantic-label.js +1 -1
  5. package/dist/bin/backfill-conversations.js +1 -1
  6. package/dist/bin/backfill-responses.js +1 -1
  7. package/dist/bin/backfill-vectors.js +2 -2
  8. package/dist/bin/bulk-sync-postgres.js +1 -1
  9. package/dist/bin/cleanup-stale-review-tasks.js +3 -3
  10. package/dist/bin/cli.js +4 -4
  11. package/dist/bin/exe-assign.js +1 -1
  12. package/dist/bin/exe-boot.js +4 -4
  13. package/dist/bin/exe-dispatch.js +3 -3
  14. package/dist/bin/exe-doctor.js +1 -1
  15. package/dist/bin/exe-export-behaviors.js +2 -2
  16. package/dist/bin/exe-forget.js +3 -3
  17. package/dist/bin/exe-gateway.js +4 -4
  18. package/dist/bin/exe-heartbeat.js +3 -3
  19. package/dist/bin/exe-kill.js +4 -4
  20. package/dist/bin/exe-launch-agent.js +2 -2
  21. package/dist/bin/exe-pending-messages.js +4 -4
  22. package/dist/bin/exe-pending-notifications.js +3 -3
  23. package/dist/bin/exe-pending-reviews.js +3 -3
  24. package/dist/bin/exe-review.js +4 -4
  25. package/dist/bin/exe-search.js +2 -2
  26. package/dist/bin/exe-session-cleanup.js +6 -6
  27. package/dist/bin/exe-start-codex.js +1 -1
  28. package/dist/bin/exe-start-opencode.js +1 -1
  29. package/dist/bin/exe-status.js +4 -4
  30. package/dist/bin/exe-team.js +1 -1
  31. package/dist/bin/git-sweep.js +3 -3
  32. package/dist/bin/graph-backfill.js +1 -1
  33. package/dist/bin/graph-export.js +2 -2
  34. package/dist/bin/import-history.js +1 -1
  35. package/dist/bin/intercom-check.js +3 -3
  36. package/dist/bin/orchestration-metrics.js +1 -1
  37. package/dist/bin/scan-tasks.js +3 -3
  38. package/dist/bin/shard-migrate.js +1 -1
  39. package/dist/{capacity-monitor-EPHJTSKF.js → capacity-monitor-EHXIFEE2.js} +3 -3
  40. package/dist/{catchup-brief-HVITENL5.js → catchup-brief-AYLBTVRM.js} +4 -4
  41. package/dist/{chunk-MZ2BL3JP.js → chunk-3BV34EJB.js} +1 -1
  42. package/dist/{chunk-VG3VVFF5.js → chunk-3M2CCVXM.js} +1 -1
  43. package/dist/{chunk-XSOKVFQ6.js → chunk-4EKVVGVV.js} +1 -1
  44. package/dist/{chunk-FMKD6N33.js → chunk-4EOXPKWA.js} +5 -5
  45. package/dist/{chunk-O2JGR7EU.js → chunk-7VDMUMHM.js} +3 -3
  46. package/dist/{chunk-7DTEJAIC.js → chunk-BS6YQM5R.js} +1 -1
  47. package/dist/{chunk-GZIAQYGI.js → chunk-CX6GL3ZJ.js} +12 -0
  48. package/dist/{chunk-YOXXZAOR.js → chunk-DBSMRM52.js} +2 -2
  49. package/dist/{chunk-THFFC43M.js → chunk-EAHUS6WU.js} +1 -1
  50. package/dist/{chunk-ZDK3M72Z.js → chunk-FLCWUX6G.js} +1 -1
  51. package/dist/{chunk-HLYNKMAG.js → chunk-MB7PRC5E.js} +1 -1
  52. package/dist/{chunk-W4BFBCZA.js → chunk-MGPVDQIM.js} +1 -1
  53. package/dist/{chunk-EUMLEWXO.js → chunk-MMLE3M4J.js} +1 -1
  54. package/dist/{chunk-HMGIQNME.js → chunk-OBVXTLRM.js} +3 -3
  55. package/dist/{chunk-YXHY5F34.js → chunk-PNQ74YDS.js} +2 -2
  56. package/dist/{chunk-22GPB6FO.js → chunk-QOAPYITU.js} +47 -29
  57. package/dist/{chunk-VH6WU3GK.js → chunk-QOTQZAAE.js} +1 -1
  58. package/dist/{chunk-H7U7FPQF.js → chunk-RRMPIH6C.js} +3 -3
  59. package/dist/{chunk-JUB74GFQ.js → chunk-RS5JCKEP.js} +1 -1
  60. package/dist/{chunk-MQX47XMP.js → chunk-SQK3Q6VY.js} +2 -2
  61. package/dist/{chunk-6MOFCQFH.js → chunk-T4BKQ3CX.js} +23 -23
  62. package/dist/{chunk-PXDR3UTB.js → chunk-T4TMVXF5.js} +4 -4
  63. package/dist/{chunk-6VVSXO3M.js → chunk-TV7ZTQ7L.js} +3 -3
  64. package/dist/{chunk-5HTEMMOJ.js → chunk-WGOVSJNR.js} +1 -1
  65. package/dist/{chunk-PHCK4KQW.js → chunk-YQKFNXGL.js} +2 -2
  66. package/dist/{crm-webhook-AVG4F2NB.js → crm-webhook-VSPYINPL.js} +2 -2
  67. package/dist/{cto-delegation-gate-ZTNJLSPO.js → cto-delegation-gate-W7ESM5IQ.js} +2 -2
  68. package/dist/{daemon-orchestration-AKICH7C5.js → daemon-orchestration-TC3JWVDC.js} +4 -4
  69. package/dist/{exe-export-LL4CXNLT.js → exe-export-6NC4TNCZ.js} +1 -1
  70. package/dist/{exe-import-JNKAAJ5T.js → exe-import-GQRGZKW3.js} +1 -1
  71. package/dist/{fast-db-init-UNK4BEEO.js → fast-db-init-4ETTWASA.js} +1 -1
  72. package/dist/gateway/index.js +5 -5
  73. package/dist/{git-task-sweep-PT3RIE6W.js → git-task-sweep-HMSTHZ6X.js} +3 -3
  74. package/dist/hooks/bug-report-worker.js +4 -4
  75. package/dist/hooks/codex-stop-task-finalizer.js +4 -4
  76. package/dist/hooks/commit-complete.js +5 -5
  77. package/dist/hooks/error-recall.js +2 -2
  78. package/dist/hooks/ingest.js +2 -2
  79. package/dist/hooks/instructions-loaded.js +1 -1
  80. package/dist/hooks/manifest.json +18 -18
  81. package/dist/hooks/notification.js +1 -1
  82. package/dist/hooks/post-compact.js +3 -3
  83. package/dist/hooks/post-tool-combined.js +2 -2
  84. package/dist/hooks/pre-compact.js +4 -4
  85. package/dist/hooks/pre-tool-use.js +7 -7
  86. package/dist/hooks/prompt-submit.js +9 -9
  87. package/dist/hooks/session-end.js +5 -5
  88. package/dist/hooks/session-start.js +4 -4
  89. package/dist/hooks/stop.js +6 -6
  90. package/dist/hooks/subagent-stop.js +3 -3
  91. package/dist/hooks/summary-worker.js +6 -6
  92. package/dist/index.js +9 -9
  93. package/dist/lib/consolidation.js +2 -2
  94. package/dist/lib/exe-daemon.js +56 -51
  95. package/dist/lib/hybrid-search.js +2 -2
  96. package/dist/lib/messaging.js +3 -3
  97. package/dist/lib/schedules.js +2 -2
  98. package/dist/lib/store.js +1 -1
  99. package/dist/lib/tasks.js +3 -3
  100. package/dist/lib/tmux-routing.js +2 -2
  101. package/dist/lib/tmux-status.js +3 -1
  102. package/dist/mcp/register-tools.js +22 -22
  103. package/dist/mcp/server.js +23 -23
  104. package/dist/mcp/tools/create-task.js +4 -4
  105. package/dist/mcp/tools/list-tasks.js +4 -4
  106. package/dist/mcp/tools/send-message.js +4 -4
  107. package/dist/mcp/tools/update-task.js +4 -4
  108. package/dist/{notifications-6GRSVIP6.js → notifications-25FGAXTC.js} +2 -2
  109. package/dist/{orchestrator-QQKU4VM2.js → orchestrator-ZWPDXMW4.js} +3 -3
  110. package/dist/{reranker-JTDM3MV2.js → reranker-TRLLNJHH.js} +1 -1
  111. package/dist/{review-polling-MWBVXHG3.js → review-polling-QQMFB3Q4.js} +3 -3
  112. package/dist/runtime/index.js +4 -4
  113. package/dist/{session-events-FRB3UYJG.js → session-events-OWSPMDJV.js} +3 -3
  114. package/dist/{session-scope-7BZTNB2X.js → session-scope-PKBCQOLO.js} +2 -2
  115. package/dist/{task-enforcement-VB5P45ZM.js → task-enforcement-M2NU3OVK.js} +2 -2
  116. package/dist/{task-scope-ULC62J6G.js → task-scope-LQRP3MQ2.js} +2 -2
  117. package/dist/{tasks-crud-IBSTM6ID.js → tasks-crud-TMYB245Z.js} +2 -2
  118. package/dist/{tasks-review-P4MCKBDT.js → tasks-review-GJWB2BPT.js} +2 -2
  119. package/dist/tui/App.js +8 -8
  120. package/dist/{tui-data-YAT6A36V.js → tui-data-ZVRIZAIF.js} +2 -2
  121. package/dist/{worker-gate-27O2WEYU.js → worker-gate-VZLM2AU3.js} +1 -1
  122. package/dist/{workflow-engine-4T36KCTQ.js → workflow-engine-ESXHBY55.js} +2 -2
  123. package/package.json +1 -1
  124. package/release-notes.json +93 -93
  125. /package/dist/{chunk-ONCFSN5C.js → chunk-5YFC6HQX.js} +0 -0
  126. /package/dist/{chunk-TCBUBBTL.js → chunk-KJVFW5C7.js} +0 -0
  127. /package/dist/{chunk-2THPPZF2.js → chunk-MTR5SMNA.js} +0 -0
  128. /package/dist/{chunk-AF7A5IQ5.js → chunk-P5J37OSU.js} +0 -0
  129. /package/dist/{chunk-GONOOIFL.js → chunk-SEPXWHA3.js} +0 -0
  130. /package/dist/{core-memory-3QGHBERR.js → core-memory-6JX6V4QR.js} +0 -0
  131. /package/dist/{exe-key-C5UQ77AT.js → exe-key-K7FHMOVL.js} +0 -0
  132. /package/dist/{skill-refinement-7C7X42Z5.js → skill-refinement-KL2INB5E.js} +0 -0
@@ -31,7 +31,7 @@ process.stdin.on("end", async () => {
31
31
  try {
32
32
  const { getActiveAgent } = await import("../active-agent-VEML3XMS.js");
33
33
  const { getProjectName } = await import("../project-name-EWG5KAZP.js");
34
- const { getCurrentSessionScope } = await import("../task-scope-ULC62J6G.js");
34
+ const { getCurrentSessionScope } = await import("../task-scope-LQRP3MQ2.js");
35
35
  const { canCoordinate } = await import("../lib/employees.js");
36
36
  const data = JSON.parse(input);
37
37
  const projectName = getProjectName(data.cwd || void 0);
@@ -73,7 +73,7 @@ process.stdin.on("end", async () => {
73
73
  }
74
74
  if (!daemonDegraded) {
75
75
  try {
76
- const { fastDbInit } = await import("../fast-db-init-UNK4BEEO.js");
76
+ const { fastDbInit } = await import("../fast-db-init-4ETTWASA.js");
77
77
  await fastDbInit();
78
78
  } catch {
79
79
  daemonDegraded = true;
@@ -158,7 +158,7 @@ You are **${ag.agentId}** (${ag.agentRole}). Daemon is degraded \u2014 memory un
158
158
  query = `last actions on ${projectName}`;
159
159
  header = "## Resuming Session\nHere's where you left off:";
160
160
  try {
161
- const { buildCatchupBrief } = await import("../catchup-brief-HVITENL5.js");
161
+ const { buildCatchupBrief } = await import("../catchup-brief-AYLBTVRM.js");
162
162
  const brief = await buildCatchupBrief(
163
163
  agentId,
164
164
  projectName,
@@ -183,7 +183,7 @@ The following files have been modified since you last read them:
183
183
  query = `recent work on ${projectName}`;
184
184
  header = "## Memory Brief\nRecent memories from this project:";
185
185
  }
186
- const { queryTaskRows } = await import("../tasks-crud-IBSTM6ID.js");
186
+ const { queryTaskRows } = await import("../tasks-crud-TMYB245Z.js");
187
187
  const [memories, taskResult] = await Promise.all([
188
188
  lightweightSearch(query, agentId, { projectName, limit: 5 }),
189
189
  queryTaskRows({
@@ -4,13 +4,13 @@ import {
4
4
  } from "../chunk-3N4ZEPZI.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-FMKD6N33.js";
7
+ } from "../chunk-4EOXPKWA.js";
8
8
  import "../chunk-FYJCMGTD.js";
9
9
  import "../chunk-QI4IXJN7.js";
10
10
  import "../chunk-IR4L6K5L.js";
11
11
  import "../chunk-5YDHBZCO.js";
12
12
  import "../chunk-G4QFC45N.js";
13
- import "../chunk-GZIAQYGI.js";
13
+ import "../chunk-CX6GL3ZJ.js";
14
14
  import "../chunk-ITYWLFYC.js";
15
15
  import "../chunk-ZQX6UOP6.js";
16
16
  import "../chunk-6RX2XEET.js";
@@ -119,8 +119,8 @@ process.stdin.on("end", async () => {
119
119
  process.exit(0);
120
120
  }
121
121
  try {
122
- const { fastDbInit } = await import("../fast-db-init-UNK4BEEO.js");
123
- const { recordSessionEvent } = await import("../session-events-FRB3UYJG.js");
122
+ const { fastDbInit } = await import("../fast-db-init-4ETTWASA.js");
123
+ const { recordSessionEvent } = await import("../session-events-OWSPMDJV.js");
124
124
  const client = await fastDbInit();
125
125
  await recordSessionEvent(client, {
126
126
  agentId: agent.agentId,
@@ -156,7 +156,7 @@ process.stdin.on("end", async () => {
156
156
  }
157
157
  const CAPACITY_SIGNALS = /context[- ]?full|hit capacity|conversation is too long|maximum context length|context window.*(?:limit|exceed|full)/i;
158
158
  if (!canCoordinate(agent.agentId, agent.agentRole) && CAPACITY_SIGNALS.test(message)) {
159
- import("../fast-db-init-UNK4BEEO.js").then(({ fastDbInit }) => fastDbInit()).then(async (client) => {
159
+ import("../fast-db-init-4ETTWASA.js").then(({ fastDbInit }) => fastDbInit()).then(async (client) => {
160
160
  const stScope = sessionScopeFilter();
161
161
  const tasks = await client.execute({
162
162
  sql: `SELECT title, status, task_file FROM tasks
@@ -249,7 +249,7 @@ ${msgs.slice(-15).join("\n")}`;
249
249
  } catch {
250
250
  }
251
251
  if (!canCoordinate(agent.agentId, agent.agentRole)) {
252
- import("../fast-db-init-UNK4BEEO.js").then(({ fastDbInit }) => fastDbInit()).then(async (client) => {
252
+ import("../fast-db-init-4ETTWASA.js").then(({ fastDbInit }) => fastDbInit()).then(async (client) => {
253
253
  const orScope = sessionScopeFilter();
254
254
  return client.execute({
255
255
  sql: `SELECT title, status FROM tasks
@@ -4,13 +4,13 @@ import {
4
4
  } from "../chunk-3N4ZEPZI.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-FMKD6N33.js";
7
+ } from "../chunk-4EOXPKWA.js";
8
8
  import "../chunk-FYJCMGTD.js";
9
9
  import "../chunk-QI4IXJN7.js";
10
10
  import "../chunk-IR4L6K5L.js";
11
11
  import "../chunk-5YDHBZCO.js";
12
12
  import "../chunk-G4QFC45N.js";
13
- import "../chunk-GZIAQYGI.js";
13
+ import "../chunk-CX6GL3ZJ.js";
14
14
  import "../chunk-ITYWLFYC.js";
15
15
  import "../chunk-ZQX6UOP6.js";
16
16
  import "../chunk-6RX2XEET.js";
@@ -56,7 +56,7 @@ process.stdin.on("end", async () => {
56
56
  if (canCoordinate(agent.agentId, agent.agentRole)) {
57
57
  process.exit(0);
58
58
  }
59
- const { fastDbInit } = await import("../fast-db-init-UNK4BEEO.js");
59
+ const { fastDbInit } = await import("../fast-db-init-4ETTWASA.js");
60
60
  const client = await fastDbInit();
61
61
  const saScope = sessionScopeFilter();
62
62
  const pendingResult = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeContinuityCheckpoint
3
- } from "../chunk-GONOOIFL.js";
3
+ } from "../chunk-SEPXWHA3.js";
4
4
  import "../chunk-FLLCEGSL.js";
5
5
  import "../chunk-X4QO5DXP.js";
6
6
  import "../chunk-EF4PA3TY.js";
@@ -8,19 +8,19 @@ import "../chunk-LMSRF47U.js";
8
8
  import {
9
9
  initStore,
10
10
  vectorToBlob
11
- } from "../chunk-TCBUBBTL.js";
11
+ } from "../chunk-KJVFW5C7.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-XJQASQPO.js";
14
14
  import {
15
15
  sessionScopeFilter,
16
16
  writeNotification
17
- } from "../chunk-FMKD6N33.js";
17
+ } from "../chunk-4EOXPKWA.js";
18
18
  import "../chunk-FYJCMGTD.js";
19
19
  import "../chunk-QI4IXJN7.js";
20
20
  import "../chunk-IR4L6K5L.js";
21
21
  import "../chunk-5YDHBZCO.js";
22
22
  import "../chunk-G4QFC45N.js";
23
- import "../chunk-GZIAQYGI.js";
23
+ import "../chunk-CX6GL3ZJ.js";
24
24
  import "../chunk-ITYWLFYC.js";
25
25
  import "../chunk-ZQX6UOP6.js";
26
26
  import "../chunk-6RX2XEET.js";
@@ -182,7 +182,7 @@ async function main() {
182
182
  const { EXE_AI_DIR } = await import("../lib/config.js");
183
183
  const flagPath = path.join(EXE_AI_DIR, "session-cache", "needs-backfill");
184
184
  if (existsSync(flagPath)) {
185
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-27O2WEYU.js");
185
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-VZLM2AU3.js");
186
186
  if (!tryAcquireWorkerSlot()) {
187
187
  process.stderr.write("[summary-worker] Backfill needed but worker gate full \u2014 skipping\n");
188
188
  } else {
@@ -289,7 +289,7 @@ main().catch((err) => {
289
289
  process.stderr.write("[summary-worker] FATAL: " + (err instanceof Error ? err.message : String(err)) + "\n");
290
290
  }).finally(async () => {
291
291
  try {
292
- const { cleanupWorkerPid } = await import("../worker-gate-27O2WEYU.js");
292
+ const { cleanupWorkerPid } = await import("../worker-gate-VZLM2AU3.js");
293
293
  cleanupWorkerPid();
294
294
  } catch {
295
295
  }
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runtime_exports
3
- } from "./chunk-6VVSXO3M.js";
4
- import "./chunk-W4BFBCZA.js";
3
+ } from "./chunk-TV7ZTQ7L.js";
4
+ import "./chunk-MGPVDQIM.js";
5
5
  import "./chunk-YZFZDJWZ.js";
6
6
  import "./chunk-NGVOA6ZQ.js";
7
7
  import "./chunk-AVE2B4DQ.js";
@@ -11,13 +11,13 @@ import "./chunk-PRKVT4KN.js";
11
11
  import "./chunk-HF25XPZE.js";
12
12
  import "./chunk-O377P7GM.js";
13
13
  import "./chunk-P2ZIM765.js";
14
- import "./chunk-FMKD6N33.js";
14
+ import "./chunk-4EOXPKWA.js";
15
15
  import "./chunk-FYJCMGTD.js";
16
16
  import "./chunk-QI4IXJN7.js";
17
17
  import "./chunk-IR4L6K5L.js";
18
18
  import "./chunk-5YDHBZCO.js";
19
19
  import "./chunk-G4QFC45N.js";
20
- import "./chunk-GZIAQYGI.js";
20
+ import "./chunk-CX6GL3ZJ.js";
21
21
  import "./chunk-ITYWLFYC.js";
22
22
  import "./chunk-ZQX6UOP6.js";
23
23
  import "./chunk-6RX2XEET.js";
@@ -28,20 +28,20 @@ import "./chunk-OPU3NYOO.js";
28
28
  import "./chunk-GJV3WDWM.js";
29
29
  import {
30
30
  gateway_exports
31
- } from "./chunk-MQX47XMP.js";
31
+ } from "./chunk-SQK3Q6VY.js";
32
32
  import "./chunk-FLSASUV3.js";
33
- import "./chunk-HLYNKMAG.js";
33
+ import "./chunk-MB7PRC5E.js";
34
34
  import "./chunk-ECSNSHZ7.js";
35
35
  import "./chunk-RJT7H2KR.js";
36
36
  import "./chunk-Q3V7K4ME.js";
37
37
  import "./chunk-N5RRQOAC.js";
38
38
  import "./chunk-ORCCI2VV.js";
39
- import "./chunk-MZ2BL3JP.js";
40
- import "./chunk-VG3VVFF5.js";
39
+ import "./chunk-3BV34EJB.js";
40
+ import "./chunk-3M2CCVXM.js";
41
41
  import "./chunk-FWFFZGSC.js";
42
42
  import "./chunk-ECGTESAP.js";
43
43
  import "./chunk-YGAAZN3E.js";
44
- import "./chunk-ONCFSN5C.js";
44
+ import "./chunk-5YFC6HQX.js";
45
45
  import "./chunk-ONKIWA3R.js";
46
46
  import "./chunk-MP2AFCGL.js";
47
47
  import "./chunk-RN6DEMC7.js";
@@ -10,8 +10,8 @@ import {
10
10
  selectUnconsolidated,
11
11
  storeConsolidation,
12
12
  sweepExpiredTraces
13
- } from "../chunk-EUMLEWXO.js";
14
- import "../chunk-TCBUBBTL.js";
13
+ } from "../chunk-MMLE3M4J.js";
14
+ import "../chunk-KJVFW5C7.js";
15
15
  import "../chunk-CHCA3ZM2.js";
16
16
  import "../chunk-XJQASQPO.js";
17
17
  import "../chunk-MP2AFCGL.js";
@@ -2243,13 +2243,13 @@ async function ensureStoreForPolling() {
2243
2243
  }
2244
2244
  }
2245
2245
  async function startReviewPolling() {
2246
- const polling = await import("../review-polling-MWBVXHG3.js");
2246
+ const polling = await import("../review-polling-QQMFB3Q4.js");
2247
2247
  const state = {
2248
2248
  lastIntercomSent: /* @__PURE__ */ new Map(),
2249
2249
  lastNudgeSent: /* @__PURE__ */ new Map(),
2250
2250
  intervalMs: REVIEW_POLL_INTERVAL_MS
2251
2251
  };
2252
- const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-AKICH7C5.js");
2252
+ const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-TC3JWVDC.js");
2253
2253
  const nudgeState = loadNudgeState();
2254
2254
  const tick = async () => {
2255
2255
  fired("review_polling");
@@ -2291,7 +2291,7 @@ function startSessionTTL() {
2291
2291
  if (!await ensureStoreForPolling()) return;
2292
2292
  try {
2293
2293
  const { getClient } = await import("./database.js");
2294
- const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
2294
+ const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
2295
2295
  const deps = createSessionTTLRealDeps(getClient);
2296
2296
  const killed = await checkSessionTTL(deps);
2297
2297
  if (killed.length > 0) acted("session_ttl");
@@ -2340,7 +2340,7 @@ function startIdleKill() {
2340
2340
  const cfg = await getCachedConfig();
2341
2341
  if (!cfg) return;
2342
2342
  const { getClient } = await import("./database.js");
2343
- const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
2343
+ const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
2344
2344
  const deps = createIdleKillRealDeps(
2345
2345
  getClient,
2346
2346
  cfg.sessionLifecycle.idleKillIntercomAckWindowMs
@@ -2556,7 +2556,7 @@ function startSkillRefinement() {
2556
2556
  fired("skill_refinement");
2557
2557
  try {
2558
2558
  if (!await ensureStoreForPolling()) return;
2559
- const { runSkillRefinement } = await import("../skill-refinement-7C7X42Z5.js");
2559
+ const { runSkillRefinement } = await import("../skill-refinement-KL2INB5E.js");
2560
2560
  const result = await runSkillRefinement();
2561
2561
  if (result.reviewed > 0) {
2562
2562
  acted("skill_refinement");
@@ -2897,7 +2897,7 @@ function startOrphanReaper() {
2897
2897
  const tick = async () => {
2898
2898
  fired("orphan_reaper");
2899
2899
  try {
2900
- const { reapOrphanedMcpProcesses, createOrphanReaperRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
2900
+ const { reapOrphanedMcpProcesses, createOrphanReaperRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
2901
2901
  const deps = createOrphanReaperRealDeps();
2902
2902
  const reaped = await reapOrphanedMcpProcesses(deps);
2903
2903
  if (reaped.length > 0) acted("orphan_reaper");
@@ -2921,7 +2921,7 @@ function startZombieAgentReaper() {
2921
2921
  const tick = async () => {
2922
2922
  fired("zombie_agent_reaper");
2923
2923
  try {
2924
- const { reapZombieAgentProcesses, createZombieAgentReaperRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
2924
+ const { reapZombieAgentProcesses, createZombieAgentReaperRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
2925
2925
  const deps = createZombieAgentReaperRealDeps();
2926
2926
  const reaped = reapZombieAgentProcesses(deps);
2927
2927
  if (reaped.length > 0) acted("zombie_agent_reaper");
@@ -2944,7 +2944,7 @@ function startWorktreeReaper() {
2944
2944
  const tick = async () => {
2945
2945
  fired("worktree_reaper");
2946
2946
  try {
2947
- const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
2947
+ const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
2948
2948
  const deps = await createWorktreeReaperRealDeps();
2949
2949
  const result = await reapOrphanedWorktrees(deps);
2950
2950
  if (result.pruned.length > 0) {
@@ -2999,7 +2999,7 @@ function startStuckTaskRelease() {
2999
2999
  if (!await ensureStoreForPolling()) return;
3000
3000
  try {
3001
3001
  const { getClient } = await import("./database.js");
3002
- const { releaseStuckTasks, createStuckTaskRealDeps } = await import("../daemon-orchestration-AKICH7C5.js");
3002
+ const { releaseStuckTasks, createStuckTaskRealDeps } = await import("../daemon-orchestration-TC3JWVDC.js");
3003
3003
  const deps = createStuckTaskRealDeps(getClient);
3004
3004
  const released = await releaseStuckTasks(deps);
3005
3005
  if (released.length > 0) {
@@ -3040,12 +3040,12 @@ function startTaskEnforcementScanner() {
3040
3040
  const tick = async () => {
3041
3041
  fired("task_enforcement");
3042
3042
  try {
3043
- const { runTaskEnforcementTick } = await import("../task-enforcement-VB5P45ZM.js");
3043
+ const { runTaskEnforcementTick } = await import("../task-enforcement-M2NU3OVK.js");
3044
3044
  const { getTransport } = await import("./transport.js");
3045
3045
  const { loadAgentConfig } = await import("./agent-config.js");
3046
3046
  const { getClient } = await import("./database.js");
3047
3047
  const { loadEmployeesSync } = await import("./employees.js");
3048
- const { sessionScopeFilter } = await import("../task-scope-ULC62J6G.js");
3048
+ const { sessionScopeFilter } = await import("../task-scope-LQRP3MQ2.js");
3049
3049
  const transport = getTransport();
3050
3050
  const allSessions = getTmuxSessions().filter((s) => s.includes("-"));
3051
3051
  const paneCache = await batchCapturePanes(allSessions, 20);
@@ -3637,60 +3637,65 @@ try {
3637
3637
  setTimeout(async () => {
3638
3638
  try {
3639
3639
  if (!await ensureStoreForPolling()) return;
3640
- const { readdirSync, readFileSync: rfs } = await import("fs");
3640
+ const { readdir, readFile } = await import("fs/promises");
3641
3641
  const { getClient } = await import("./database.js");
3642
3642
  const client = getClient();
3643
3643
  const tasksRoot = path3.join(os2.homedir(), ".exe-os", "tasks");
3644
3644
  let synced = 0;
3645
- const walk = (dir) => {
3645
+ const walkAsync = async (dir) => {
3646
+ let entries;
3646
3647
  try {
3647
- for (const e of readdirSync(dir, { withFileTypes: true })) {
3648
- const full = path3.join(dir, e.name);
3649
- if (e.isDirectory()) walk(full);
3650
- else if (e.name.endsWith(".md")) {
3648
+ entries = await readdir(dir, { withFileTypes: true });
3649
+ } catch {
3650
+ return;
3651
+ }
3652
+ for (const e of entries) {
3653
+ const full = path3.join(dir, e.name);
3654
+ if (e.isDirectory()) {
3655
+ await walkAsync(full);
3656
+ continue;
3657
+ }
3658
+ if (!e.name.endsWith(".md")) continue;
3659
+ try {
3660
+ const content = await readFile(full, "utf8");
3661
+ const id = content.match(/\*\*ID:\*\*\s*([a-f0-9-]+)/)?.[1];
3662
+ const title = content.split("\n")[0]?.replace(/^# /, "") || "";
3663
+ const assignedTo = content.match(/\*\*Assigned to:\*\*\s*(\w+)/)?.[1];
3664
+ const assignedBy = content.match(/\*\*Assigned by:\*\*\s*(\w+)/)?.[1] || "exe";
3665
+ const project = content.match(/\*\*Project:\*\*\s*([\w-]+)/)?.[1] || "exe-os";
3666
+ const status = content.match(/\*\*Status:\*\*\s*(\w+)/)?.[1] || "open";
3667
+ const priority = content.match(/\*\*Priority:\*\*\s*(\w+)/)?.[1] || "p1";
3668
+ const scope = full.match(/tasks\/([^/]+)\//)?.[1] || null;
3669
+ if (id && assignedTo) {
3651
3670
  try {
3652
- const content = rfs(full, "utf8");
3653
- const id = content.match(/\*\*ID:\*\*\s*([a-f0-9-]+)/)?.[1];
3654
- const title = content.split("\n")[0]?.replace(/^# /, "") || "";
3655
- const assignedTo = content.match(/\*\*Assigned to:\*\*\s*(\w+)/)?.[1];
3656
- const assignedBy = content.match(/\*\*Assigned by:\*\*\s*(\w+)/)?.[1] || "exe";
3657
- const project = content.match(/\*\*Project:\*\*\s*([\w-]+)/)?.[1] || "exe-os";
3658
- const status = content.match(/\*\*Status:\*\*\s*(\w+)/)?.[1] || "open";
3659
- const priority = content.match(/\*\*Priority:\*\*\s*(\w+)/)?.[1] || "p1";
3660
- const scope = full.match(/tasks\/([^/]+)\//)?.[1] || null;
3661
- if (id && assignedTo) {
3662
- client.execute({
3663
- sql: `INSERT OR IGNORE INTO tasks (id, title, assigned_to, assigned_by, project_name, status, priority, task_file, session_scope, created_at, updated_at)
3664
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
3665
- args: [id, title, assignedTo, assignedBy, project, status, priority, full, scope, (/* @__PURE__ */ new Date()).toISOString(), (/* @__PURE__ */ new Date()).toISOString()]
3666
- }).then((res) => {
3667
- if (Number(res.rowsAffected ?? 0) > 0) {
3668
- synced++;
3669
- void import("../orchestration-events-MSJVUR4T.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
3670
- recordOE({
3671
- eventType: "task_file.resynced",
3672
- source: "exe-daemon.taskFileResync",
3673
- taskId: id,
3674
- agentId: assignedTo,
3675
- sessionScope: scope,
3676
- projectName: project,
3677
- payload: { status, priority }
3678
- });
3679
- }).catch(() => {
3680
- });
3681
- }
3671
+ const res = await client.execute({
3672
+ sql: `INSERT OR IGNORE INTO tasks (id, title, assigned_to, assigned_by, project_name, status, priority, task_file, session_scope, created_at, updated_at)
3673
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
3674
+ args: [id, title, assignedTo, assignedBy, project, status, priority, full, scope, (/* @__PURE__ */ new Date()).toISOString(), (/* @__PURE__ */ new Date()).toISOString()]
3675
+ });
3676
+ if (Number(res.rowsAffected ?? 0) > 0) {
3677
+ synced++;
3678
+ void import("../orchestration-events-MSJVUR4T.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
3679
+ recordOE({
3680
+ eventType: "task_file.resynced",
3681
+ source: "exe-daemon.taskFileResync",
3682
+ taskId: id,
3683
+ agentId: assignedTo,
3684
+ sessionScope: scope,
3685
+ projectName: project,
3686
+ payload: { status, priority }
3687
+ });
3682
3688
  }).catch(() => {
3683
3689
  });
3684
3690
  }
3685
3691
  } catch {
3686
3692
  }
3687
3693
  }
3694
+ } catch {
3688
3695
  }
3689
- } catch {
3690
3696
  }
3691
3697
  };
3692
- walk(tasksRoot);
3693
- await new Promise((r) => setTimeout(r, 2e3));
3698
+ await walkAsync(tasksRoot);
3694
3699
  if (synced > 0) process.stderr.write(`[exed] Task re-sync: ${synced} missing DB rows restored from disk.
3695
3700
  `);
3696
3701
  } catch (e) {
@@ -3771,7 +3776,7 @@ try {
3771
3776
  fired("orphan_task_cleanup");
3772
3777
  try {
3773
3778
  if (!await ensureStoreForPolling()) return;
3774
- const { cleanOrphanedTaskFiles, checkTaskFileConsistency } = await import("../tasks-crud-IBSTM6ID.js");
3779
+ const { cleanOrphanedTaskFiles, checkTaskFileConsistency } = await import("../tasks-crud-TMYB245Z.js");
3775
3780
  const count = await cleanOrphanedTaskFiles();
3776
3781
  if (count > 0) {
3777
3782
  acted("orphan_task_cleanup");
@@ -5,8 +5,8 @@ import {
5
5
  recentRecords,
6
6
  rrfMerge,
7
7
  rrfMergeMulti
8
- } from "../chunk-PXDR3UTB.js";
9
- import "../chunk-TCBUBBTL.js";
8
+ } from "../chunk-T4TMVXF5.js";
9
+ import "../chunk-KJVFW5C7.js";
10
10
  import "../chunk-CHCA3ZM2.js";
11
11
  import "../chunk-XJQASQPO.js";
12
12
  import "../chunk-MP2AFCGL.js";
@@ -12,14 +12,14 @@ import {
12
12
  retryPendingMessages,
13
13
  sendMessage,
14
14
  setWsClientSend
15
- } from "../chunk-XSOKVFQ6.js";
16
- import "../chunk-FMKD6N33.js";
15
+ } from "../chunk-4EKVVGVV.js";
16
+ import "../chunk-4EOXPKWA.js";
17
17
  import "../chunk-FYJCMGTD.js";
18
18
  import "../chunk-QI4IXJN7.js";
19
19
  import "../chunk-IR4L6K5L.js";
20
20
  import "../chunk-5YDHBZCO.js";
21
21
  import "../chunk-G4QFC45N.js";
22
- import "../chunk-GZIAQYGI.js";
22
+ import "../chunk-CX6GL3ZJ.js";
23
23
  import "../chunk-ITYWLFYC.js";
24
24
  import "../chunk-ZQX6UOP6.js";
25
25
  import "../chunk-6RX2XEET.js";
@@ -3,8 +3,8 @@ import {
3
3
  deleteSchedule,
4
4
  listSchedules,
5
5
  parseHumanCron
6
- } from "../chunk-VH6WU3GK.js";
7
- import "../chunk-TCBUBBTL.js";
6
+ } from "../chunk-QOTQZAAE.js";
7
+ import "../chunk-KJVFW5C7.js";
8
8
  import "../chunk-CHCA3ZM2.js";
9
9
  import "../chunk-XJQASQPO.js";
10
10
  import "../chunk-MP2AFCGL.js";
package/dist/lib/store.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  updateMemoryStatus,
14
14
  vectorToBlob,
15
15
  writeMemory
16
- } from "../chunk-TCBUBBTL.js";
16
+ } from "../chunk-KJVFW5C7.js";
17
17
  import "../chunk-CHCA3ZM2.js";
18
18
  import "../chunk-XJQASQPO.js";
19
19
  import "../chunk-MP2AFCGL.js";
package/dist/lib/tasks.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  createTask,
3
3
  deleteTask,
4
4
  updateTask
5
- } from "../chunk-O2JGR7EU.js";
5
+ } from "../chunk-7VDMUMHM.js";
6
6
  import {
7
7
  cleanupOrphanedReviews,
8
8
  countNewPendingReviewsSince,
@@ -19,13 +19,13 @@ import {
19
19
  slugify,
20
20
  updateTaskStatus,
21
21
  writeCheckpoint
22
- } from "../chunk-FMKD6N33.js";
22
+ } from "../chunk-4EOXPKWA.js";
23
23
  import "../chunk-FYJCMGTD.js";
24
24
  import "../chunk-QI4IXJN7.js";
25
25
  import "../chunk-IR4L6K5L.js";
26
26
  import "../chunk-5YDHBZCO.js";
27
27
  import "../chunk-G4QFC45N.js";
28
- import "../chunk-GZIAQYGI.js";
28
+ import "../chunk-CX6GL3ZJ.js";
29
29
  import "../chunk-ITYWLFYC.js";
30
30
  import "../chunk-ZQX6UOP6.js";
31
31
  import "../chunk-6RX2XEET.js";
@@ -20,13 +20,13 @@ import {
20
20
  sendIntercom,
21
21
  spawnEmployee,
22
22
  verifyPaneAtCapacity
23
- } from "../chunk-FMKD6N33.js";
23
+ } from "../chunk-4EOXPKWA.js";
24
24
  import "../chunk-FYJCMGTD.js";
25
25
  import "../chunk-QI4IXJN7.js";
26
26
  import "../chunk-IR4L6K5L.js";
27
27
  import "../chunk-5YDHBZCO.js";
28
28
  import "../chunk-G4QFC45N.js";
29
- import "../chunk-GZIAQYGI.js";
29
+ import "../chunk-CX6GL3ZJ.js";
30
30
  import "../chunk-ITYWLFYC.js";
31
31
  import "../chunk-ZQX6UOP6.js";
32
32
  import "../chunk-6RX2XEET.js";
@@ -5,12 +5,13 @@ import {
5
5
  formatTeamCondensed,
6
6
  getEmployeeStatuses,
7
7
  getPaneCwd,
8
+ getPaneCwdAsync,
8
9
  inTmux,
9
10
  listTmuxSessions,
10
11
  listTmuxWindows,
11
12
  parseActivity,
12
13
  parseContextPercentage
13
- } from "../chunk-GZIAQYGI.js";
14
+ } from "../chunk-CX6GL3ZJ.js";
14
15
  import "../chunk-MLKGABMK.js";
15
16
  export {
16
17
  capturePaneLines,
@@ -19,6 +20,7 @@ export {
19
20
  formatTeamCondensed,
20
21
  getEmployeeStatuses,
21
22
  getPaneCwd,
23
+ getPaneCwdAsync,
22
24
  inTmux,
23
25
  listTmuxSessions,
24
26
  listTmuxWindows,
@@ -1,42 +1,42 @@
1
1
  import {
2
2
  registerAllTools
3
- } from "../chunk-6MOFCQFH.js";
4
- import "../chunk-THFFC43M.js";
5
- import "../chunk-AF7A5IQ5.js";
3
+ } from "../chunk-T4BKQ3CX.js";
4
+ import "../chunk-EAHUS6WU.js";
5
+ import "../chunk-P5J37OSU.js";
6
6
  import "../chunk-KH5Y6RR4.js";
7
7
  import "../chunk-557C2IGL.js";
8
8
  import "../chunk-E6ORBQHP.js";
9
9
  import "../chunk-SEAFDIKF.js";
10
- import "../chunk-22GPB6FO.js";
10
+ import "../chunk-QOAPYITU.js";
11
11
  import "../chunk-GCMXBQ7Y.js";
12
12
  import "../chunk-IENYOYZ6.js";
13
13
  import "../chunk-GQYIMXUW.js";
14
14
  import "../chunk-ZIBSTUGU.js";
15
15
  import "../chunk-PYLNOBNW.js";
16
16
  import "../chunk-XHTOAJYD.js";
17
- import "../chunk-5HTEMMOJ.js";
17
+ import "../chunk-WGOVSJNR.js";
18
18
  import "../chunk-4RJD3GXL.js";
19
19
  import "../chunk-YCL4RHFY.js";
20
20
  import "../chunk-7HIWJLXK.js";
21
21
  import "../chunk-723DSUG3.js";
22
22
  import "../chunk-MKOW4EXB.js";
23
- import "../chunk-JUB74GFQ.js";
24
- import "../chunk-H7U7FPQF.js";
23
+ import "../chunk-RS5JCKEP.js";
24
+ import "../chunk-RRMPIH6C.js";
25
25
  import "../chunk-MLXJ5EZG.js";
26
- import "../chunk-7DTEJAIC.js";
27
- import "../chunk-PHCK4KQW.js";
26
+ import "../chunk-BS6YQM5R.js";
27
+ import "../chunk-YQKFNXGL.js";
28
28
  import "../chunk-3S3ERUUH.js";
29
29
  import "../chunk-Q2G5C3HV.js";
30
30
  import "../chunk-BGLXECHT.js";
31
- import "../chunk-VH6WU3GK.js";
32
- import "../chunk-HMGIQNME.js";
31
+ import "../chunk-QOTQZAAE.js";
32
+ import "../chunk-OBVXTLRM.js";
33
33
  import "../chunk-434A3L6O.js";
34
34
  import "../chunk-46SQTBQW.js";
35
- import "../chunk-XSOKVFQ6.js";
35
+ import "../chunk-4EKVVGVV.js";
36
36
  import "../chunk-GP6G6EQI.js";
37
37
  import "../chunk-GUMRIUI5.js";
38
38
  import "../chunk-I7AW4237.js";
39
- import "../chunk-YXHY5F34.js";
39
+ import "../chunk-PNQ74YDS.js";
40
40
  import "../chunk-RAV23DU2.js";
41
41
  import "../chunk-WSZS2KVV.js";
42
42
  import "../chunk-COOX4FXM.js";
@@ -47,27 +47,27 @@ import "../chunk-YKCH4T4T.js";
47
47
  import "../chunk-X2Z5GT3V.js";
48
48
  import "../chunk-YGUWCJN2.js";
49
49
  import "../chunk-ZXZJLVGD.js";
50
- import "../chunk-EUMLEWXO.js";
50
+ import "../chunk-MMLE3M4J.js";
51
51
  import "../chunk-HOKOOBDL.js";
52
52
  import "../chunk-OUHHUKPC.js";
53
53
  import "../chunk-GD4VXNXO.js";
54
- import "../chunk-O2JGR7EU.js";
55
- import "../chunk-2THPPZF2.js";
56
- import "../chunk-ZDK3M72Z.js";
54
+ import "../chunk-7VDMUMHM.js";
55
+ import "../chunk-MTR5SMNA.js";
56
+ import "../chunk-FLCWUX6G.js";
57
57
  import "../chunk-EF4PA3TY.js";
58
58
  import "../chunk-LMSRF47U.js";
59
- import "../chunk-PXDR3UTB.js";
60
- import "../chunk-TCBUBBTL.js";
59
+ import "../chunk-T4TMVXF5.js";
60
+ import "../chunk-KJVFW5C7.js";
61
61
  import "../chunk-CHCA3ZM2.js";
62
62
  import "../chunk-XJQASQPO.js";
63
63
  import "../chunk-3N4ZEPZI.js";
64
- import "../chunk-FMKD6N33.js";
64
+ import "../chunk-4EOXPKWA.js";
65
65
  import "../chunk-FYJCMGTD.js";
66
66
  import "../chunk-QI4IXJN7.js";
67
67
  import "../chunk-IR4L6K5L.js";
68
68
  import "../chunk-5YDHBZCO.js";
69
69
  import "../chunk-G4QFC45N.js";
70
- import "../chunk-GZIAQYGI.js";
70
+ import "../chunk-CX6GL3ZJ.js";
71
71
  import "../chunk-ITYWLFYC.js";
72
72
  import "../chunk-ZQX6UOP6.js";
73
73
  import "../chunk-6RX2XEET.js";
@@ -77,7 +77,7 @@ import "../chunk-CVYC6DUW.js";
77
77
  import "../chunk-OPU3NYOO.js";
78
78
  import "../chunk-GJV3WDWM.js";
79
79
  import "../chunk-YGAAZN3E.js";
80
- import "../chunk-ONCFSN5C.js";
80
+ import "../chunk-5YFC6HQX.js";
81
81
  import "../chunk-ONKIWA3R.js";
82
82
  import "../chunk-MP2AFCGL.js";
83
83
  import "../chunk-L3TB7CC3.js";