@askexenow/exe-os 0.9.141 → 0.9.142

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 (94) hide show
  1. package/dist/bin/bulk-sync-postgres.js +1 -1
  2. package/dist/bin/cleanup-stale-review-tasks.js +1 -1
  3. package/dist/bin/cli.js +2 -2
  4. package/dist/bin/exe-boot.js +1 -1
  5. package/dist/bin/exe-cloud.js +1 -1
  6. package/dist/bin/exe-dispatch.js +1 -1
  7. package/dist/bin/exe-gateway.js +4 -4
  8. package/dist/bin/exe-heartbeat.js +1 -1
  9. package/dist/bin/exe-launch-agent.js +15 -2
  10. package/dist/bin/exe-pending-messages.js +2 -2
  11. package/dist/bin/exe-pending-notifications.js +1 -1
  12. package/dist/bin/exe-pending-reviews.js +1 -1
  13. package/dist/bin/exe-review.js +1 -1
  14. package/dist/bin/exe-session-cleanup.js +4 -4
  15. package/dist/bin/exe-settings.js +1 -1
  16. package/dist/bin/exe-status.js +2 -2
  17. package/dist/bin/git-sweep.js +2 -2
  18. package/dist/bin/intercom-check.js +2 -2
  19. package/dist/bin/scan-tasks.js +1 -1
  20. package/dist/bin/setup.js +1 -1
  21. package/dist/{capacity-monitor-ZIAX3FBS.js → capacity-monitor-D3RGDLMN.js} +2 -2
  22. package/dist/{catchup-brief-GYZWGUDP.js → catchup-brief-LD2QLE2D.js} +1 -1
  23. package/dist/{chunk-NTALKXBR.js → chunk-25QUV6FU.js} +2 -2
  24. package/dist/{chunk-NW4AUWIT.js → chunk-32Z4GK25.js} +2 -2
  25. package/dist/{chunk-CXXGHL7T.js → chunk-4CBBN2XD.js} +123 -34
  26. package/dist/{chunk-K6WORHFF.js → chunk-4YSDLTCT.js} +3 -3
  27. package/dist/{chunk-IBWVMMLN.js → chunk-5PZ3HSGP.js} +44 -34
  28. package/dist/{chunk-EP523LJD.js → chunk-7BPUBHGW.js} +1 -1
  29. package/dist/{chunk-Y3JNBCZI.js → chunk-AOJHEMHE.js} +24 -5
  30. package/dist/{chunk-4NKNXOA5.js → chunk-CHXX73NX.js} +2 -2
  31. package/dist/{chunk-P3RKVFBX.js → chunk-CK5ZAMWX.js} +2 -2
  32. package/dist/{chunk-HSJKFTKP.js → chunk-DKWTDULH.js} +2 -2
  33. package/dist/{chunk-QWOQHCRO.js → chunk-E2KEN3PG.js} +1 -1
  34. package/dist/{chunk-T62RXVA4.js → chunk-EENNKZMN.js} +2 -2
  35. package/dist/{chunk-47D4UN72.js → chunk-JMMY24KD.js} +2 -2
  36. package/dist/{chunk-RGKFUMLQ.js → chunk-JSVRX6IW.js} +3 -3
  37. package/dist/{chunk-BBOD5TVX.js → chunk-KCLL5ECT.js} +1 -1
  38. package/dist/{chunk-ENL5P2CU.js → chunk-LFVL3R6H.js} +1 -1
  39. package/dist/{chunk-UEJTDPRA.js → chunk-MRX42FAS.js} +1 -1
  40. package/dist/{chunk-PB5TRWLG.js → chunk-NWUWTV7B.js} +1 -1
  41. package/dist/{chunk-GQNG4MKL.js → chunk-TJI7DMBT.js} +1 -1
  42. package/dist/{chunk-GVGISFMN.js → chunk-UB7E2FEB.js} +1 -1
  43. package/dist/{chunk-EP3OKNTW.js → chunk-UYNFWD54.js} +1 -1
  44. package/dist/{crm-webhook-7654EZEJ.js → crm-webhook-HGUHXI6W.js} +2 -2
  45. package/dist/{cto-delegation-gate-43UJFGMT.js → cto-delegation-gate-RJ5EVOY3.js} +1 -1
  46. package/dist/{daemon-orchestration-NB5HYPXS.js → daemon-orchestration-3E3BIK7E.js} +4 -4
  47. package/dist/gateway/index.js +5 -5
  48. package/dist/{git-task-sweep-ATQQNA7A.js → git-task-sweep-O4OIPQB3.js} +2 -2
  49. package/dist/hooks/bug-report-worker.js +3 -3
  50. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  51. package/dist/hooks/commit-complete.js +3 -3
  52. package/dist/hooks/ingest.js +1 -1
  53. package/dist/hooks/post-compact.js +1 -1
  54. package/dist/hooks/post-tool-combined.js +1 -1
  55. package/dist/hooks/pre-compact.js +2 -2
  56. package/dist/hooks/pre-tool-use.js +9 -6
  57. package/dist/hooks/prompt-submit.js +3 -3
  58. package/dist/hooks/session-end.js +5 -5
  59. package/dist/hooks/session-start.js +2 -2
  60. package/dist/hooks/stop.js +2 -2
  61. package/dist/hooks/subagent-stop.js +1 -1
  62. package/dist/hooks/summary-worker.js +2 -2
  63. package/dist/index.js +8 -8
  64. package/dist/lib/cloud-sync.js +1 -1
  65. package/dist/lib/exe-daemon.js +63 -11
  66. package/dist/lib/messaging.js +2 -2
  67. package/dist/lib/tasks.js +3 -3
  68. package/dist/lib/tmux-routing.js +1 -1
  69. package/dist/mcp/register-tools.js +15 -15
  70. package/dist/mcp/server.js +15 -15
  71. package/dist/mcp/tools/create-task.js +4 -4
  72. package/dist/mcp/tools/list-tasks.js +4 -4
  73. package/dist/mcp/tools/send-message.js +3 -3
  74. package/dist/mcp/tools/update-task.js +4 -4
  75. package/dist/message-queue-client-2YTGEB5H.js +92 -0
  76. package/dist/{notifications-OXEFBG2D.js → notifications-APKWB63A.js} +1 -1
  77. package/dist/{orchestrator-6ULAKZQP.js → orchestrator-W62CLQLP.js} +2 -2
  78. package/dist/runtime/index.js +3 -3
  79. package/dist/{session-events-5X2SSRXX.js → session-events-SR2WX2X4.js} +2 -2
  80. package/dist/{session-scope-42JIV5KF.js → session-scope-S5DODJU4.js} +2 -2
  81. package/dist/{setup-wizard-MAPYQDKT.js → setup-wizard-H4TZHU36.js} +1 -1
  82. package/dist/{task-enforcement-V2CQEPXS.js → task-enforcement-L7EGD6LJ.js} +1 -1
  83. package/dist/{task-scope-EY3G5623.js → task-scope-QNRAYD7S.js} +1 -1
  84. package/dist/{tasks-crud-FPWY4RZ2.js → tasks-crud-JHHIROCS.js} +1 -1
  85. package/dist/{tasks-review-XDSW3WRG.js → tasks-review-TXMVOOFN.js} +1 -1
  86. package/dist/tui/App.js +7 -7
  87. package/dist/{tui-data-FQ2F5WA3.js → tui-data-65WM7L5Q.js} +1 -1
  88. package/dist/{workflow-engine-6QPTYDQI.js → workflow-engine-PK2TC7UE.js} +2 -2
  89. package/package.json +1 -1
  90. package/release-notes.json +104 -100
  91. /package/dist/{chunk-T7SJCDG3.js → chunk-72O7CSKA.js} +0 -0
  92. /package/dist/{chunk-CU2XXD5I.js → chunk-UYFPFO6Q.js} +0 -0
  93. /package/dist/{chunk-XFBKSNNI.js → chunk-XRPIVNFS.js} +0 -0
  94. /package/dist/{exe-key-KHNNQGSZ.js → exe-key-KNR4LT2L.js} +0 -0
@@ -21,7 +21,7 @@ import "../chunk-NGAZPQQY.js";
21
21
  import {
22
22
  init_tmux_routing,
23
23
  isExeSession
24
- } from "../chunk-Y3JNBCZI.js";
24
+ } from "../chunk-AOJHEMHE.js";
25
25
  import "../chunk-2OG5NAO2.js";
26
26
  import "../chunk-NEAHEC5G.js";
27
27
  import "../chunk-KRLOFIPI.js";
@@ -326,7 +326,7 @@ ${body}`;
326
326
  let reviewContext = "";
327
327
  if (canCoordinate(agent.agentId, agent.agentRole)) {
328
328
  try {
329
- const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-XDSW3WRG.js");
329
+ const { countPendingReviews, countNewPendingReviewsSince } = await import("../tasks-review-TXMVOOFN.js");
330
330
  const sessionKey = getSessionKey();
331
331
  const lastCheckPath = path.join(CACHE_DIR, `review-lastcheck-${sessionKey}.json`);
332
332
  let sessionScope;
@@ -419,7 +419,7 @@ async function writePromptMemory(prompt, sessionId, agent) {
419
419
  }
420
420
  try {
421
421
  const { fastDbInit } = await import("../fast-db-init-ADRYLHUA.js");
422
- const { recordSessionEvent } = await import("../session-events-5X2SSRXX.js");
422
+ const { recordSessionEvent } = await import("../session-events-SR2WX2X4.js");
423
423
  const client = await fastDbInit();
424
424
  await recordSessionEvent(client, {
425
425
  agentId: agent.agentId,
@@ -9,7 +9,7 @@ import {
9
9
  } from "../chunk-CBSUVFZ7.js";
10
10
  import {
11
11
  writeContinuityCheckpoint
12
- } from "../chunk-XFBKSNNI.js";
12
+ } from "../chunk-XRPIVNFS.js";
13
13
  import "../chunk-4GA5XZWY.js";
14
14
  import "../chunk-ITJMONDK.js";
15
15
  import "../chunk-UKCSMGNM.js";
@@ -17,7 +17,7 @@ import "../chunk-SDYBAMPW.js";
17
17
  import {
18
18
  init_task_scope,
19
19
  strictSessionScopeFilter
20
- } from "../chunk-Y3JNBCZI.js";
20
+ } from "../chunk-AOJHEMHE.js";
21
21
  import "../chunk-2OG5NAO2.js";
22
22
  import "../chunk-NEAHEC5G.js";
23
23
  import "../chunk-KRLOFIPI.js";
@@ -163,7 +163,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
163
163
  );
164
164
  let commits = [];
165
165
  try {
166
- const { getRecentCommits } = await import("../git-task-sweep-ATQQNA7A.js");
166
+ const { getRecentCommits } = await import("../git-task-sweep-O4OIPQB3.js");
167
167
  commits = getRecentCommits(30);
168
168
  } catch {
169
169
  }
@@ -173,7 +173,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
173
173
  const title = String(row.title);
174
174
  try {
175
175
  if (commits.length > 0) {
176
- const { findBestMatch } = await import("../git-task-sweep-ATQQNA7A.js");
176
+ const { findBestMatch } = await import("../git-task-sweep-O4OIPQB3.js");
177
177
  let context;
178
178
  try {
179
179
  const ctxResult = await client.execute({
@@ -217,7 +217,7 @@ Orphaned tasks at session end: ${orphanResult.rows.map((r) => `"${String(r.title
217
217
  parts.push(`Left in_progress (no matching commits, needs triage): ${leftInProgress.join(", ")}`);
218
218
  }
219
219
  try {
220
- const { writeNotification } = await import("../notifications-OXEFBG2D.js");
220
+ const { writeNotification } = await import("../notifications-APKWB63A.js");
221
221
  await writeNotification({
222
222
  agentId: agent.agentId,
223
223
  agentRole: agent.agentRole,
@@ -35,7 +35,7 @@ process.stdin.on("end", async () => {
35
35
  const { lightweightSearch } = await import("../lib/hybrid-search.js");
36
36
  const { getActiveAgent } = await import("../active-agent-PNV6PKJK.js");
37
37
  const { getProjectName } = await import("../project-name-7G6XPXQ6.js");
38
- const { sessionScopeFilter, getCurrentSessionScope } = await import("../task-scope-EY3G5623.js");
38
+ const { sessionScopeFilter, getCurrentSessionScope } = await import("../task-scope-QNRAYD7S.js");
39
39
  const { canCoordinate } = await import("../lib/employees.js");
40
40
  const data = JSON.parse(input);
41
41
  const projectName = getProjectName(data.cwd || void 0);
@@ -107,7 +107,7 @@ process.stdin.on("end", async () => {
107
107
  query = `last actions on ${projectName}`;
108
108
  header = "## Resuming Session\nHere's where you left off:";
109
109
  try {
110
- const { buildCatchupBrief } = await import("../catchup-brief-GYZWGUDP.js");
110
+ const { buildCatchupBrief } = await import("../catchup-brief-LD2QLE2D.js");
111
111
  const brief = await buildCatchupBrief(
112
112
  agentId,
113
113
  projectName,
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  init_task_scope,
7
7
  sessionScopeFilter
8
- } from "../chunk-Y3JNBCZI.js";
8
+ } from "../chunk-AOJHEMHE.js";
9
9
  import "../chunk-2OG5NAO2.js";
10
10
  import "../chunk-NEAHEC5G.js";
11
11
  import "../chunk-KRLOFIPI.js";
@@ -128,7 +128,7 @@ process.stdin.on("end", async () => {
128
128
  }
129
129
  try {
130
130
  const { fastDbInit } = await import("../fast-db-init-ADRYLHUA.js");
131
- const { recordSessionEvent } = await import("../session-events-5X2SSRXX.js");
131
+ const { recordSessionEvent } = await import("../session-events-SR2WX2X4.js");
132
132
  const client = await fastDbInit();
133
133
  await recordSessionEvent(client, {
134
134
  agentId: agent.agentId,
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  init_task_scope,
7
7
  sessionScopeFilter
8
- } from "../chunk-Y3JNBCZI.js";
8
+ } from "../chunk-AOJHEMHE.js";
9
9
  import "../chunk-2OG5NAO2.js";
10
10
  import "../chunk-NEAHEC5G.js";
11
11
  import "../chunk-KRLOFIPI.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeContinuityCheckpoint
3
- } from "../chunk-XFBKSNNI.js";
3
+ } from "../chunk-XRPIVNFS.js";
4
4
  import "../chunk-4GA5XZWY.js";
5
5
  import "../chunk-ITJMONDK.js";
6
6
  import "../chunk-UKCSMGNM.js";
@@ -15,7 +15,7 @@ import {
15
15
  init_task_scope,
16
16
  sessionScopeFilter,
17
17
  writeNotification
18
- } from "../chunk-Y3JNBCZI.js";
18
+ } from "../chunk-AOJHEMHE.js";
19
19
  import "../chunk-2OG5NAO2.js";
20
20
  import "../chunk-NEAHEC5G.js";
21
21
  import "../chunk-KRLOFIPI.js";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  runtime_exports
3
- } from "./chunk-K6WORHFF.js";
4
- import "./chunk-EP3OKNTW.js";
3
+ } from "./chunk-4YSDLTCT.js";
4
+ import "./chunk-UYNFWD54.js";
5
5
  import "./chunk-YZFZDJWZ.js";
6
6
  import "./chunk-AVE2B4DQ.js";
7
7
  import "./chunk-NGVOA6ZQ.js";
@@ -11,7 +11,7 @@ import "./chunk-O377P7GM.js";
11
11
  import "./chunk-PRKVT4KN.js";
12
12
  import "./chunk-HF25XPZE.js";
13
13
  import "./chunk-RZK7BZHP.js";
14
- import "./chunk-Y3JNBCZI.js";
14
+ import "./chunk-AOJHEMHE.js";
15
15
  import "./chunk-2OG5NAO2.js";
16
16
  import "./chunk-NEAHEC5G.js";
17
17
  import "./chunk-KRLOFIPI.js";
@@ -26,20 +26,20 @@ import "./chunk-HP43GLZ6.js";
26
26
  import "./chunk-ELE2C7L4.js";
27
27
  import {
28
28
  gateway_exports
29
- } from "./chunk-4NKNXOA5.js";
29
+ } from "./chunk-CHXX73NX.js";
30
30
  import "./chunk-VU447UAO.js";
31
- import "./chunk-PB5TRWLG.js";
31
+ import "./chunk-NWUWTV7B.js";
32
32
  import "./chunk-ECSNSHZ7.js";
33
33
  import "./chunk-RJT7H2KR.js";
34
34
  import "./chunk-Q3V7K4ME.js";
35
35
  import "./chunk-N5RRQOAC.js";
36
36
  import "./chunk-ORCCI2VV.js";
37
- import "./chunk-GQNG4MKL.js";
38
- import "./chunk-QWOQHCRO.js";
37
+ import "./chunk-TJI7DMBT.js";
38
+ import "./chunk-E2KEN3PG.js";
39
39
  import "./chunk-FWFFZGSC.js";
40
40
  import "./chunk-ECGTESAP.js";
41
41
  import "./chunk-YGAAZN3E.js";
42
- import "./chunk-T7SJCDG3.js";
42
+ import "./chunk-72O7CSKA.js";
43
43
  import "./chunk-GCNWCYJI.js";
44
44
  import "./chunk-WZQ4CPRG.js";
45
45
  import "./chunk-DU4ZN7VF.js";
@@ -42,7 +42,7 @@ import {
42
42
  migrateEndpoint,
43
43
  pushToPostgres,
44
44
  recordRosterDeletion
45
- } from "../chunk-IBWVMMLN.js";
45
+ } from "../chunk-5PZ3HSGP.js";
46
46
  import "../chunk-JZB67O4M.js";
47
47
  import "../chunk-HJMM4QMY.js";
48
48
  import "../chunk-55LEDLDE.js";
@@ -27,7 +27,7 @@ import {
27
27
  isExeSession,
28
28
  strictSessionScopeFilter,
29
29
  tmux_routing_exports
30
- } from "../chunk-Y3JNBCZI.js";
30
+ } from "../chunk-AOJHEMHE.js";
31
31
  import "../chunk-2OG5NAO2.js";
32
32
  import {
33
33
  init_intercom_queue,
@@ -337,7 +337,7 @@ function createRealDeps(getClient) {
337
337
  return result.rows;
338
338
  },
339
339
  createReviewForOrphan: async (task) => {
340
- const { createReviewForCompletedTask } = await import("../tasks-review-XDSW3WRG.js");
340
+ const { createReviewForCompletedTask } = await import("../tasks-review-TXMVOOFN.js");
341
341
  const cwd = process.cwd();
342
342
  await createReviewForCompletedTask(
343
343
  task,
@@ -433,11 +433,9 @@ function initMetrics() {
433
433
  process.on("beforeExit", flushToDisk);
434
434
  process.on("SIGTERM", () => {
435
435
  flushToDisk();
436
- process.exit(0);
437
436
  });
438
437
  process.on("SIGINT", () => {
439
438
  flushToDisk();
440
- process.exit(0);
441
439
  });
442
440
  }
443
441
 
@@ -1177,6 +1175,59 @@ function startMemoryQueueDrain() {
1177
1175
  process.stderr.write(`[exed] Memory queue drain started (every ${MEMORY_DRAIN_INTERVAL_MS / 1e3}s)
1178
1176
  `);
1179
1177
  }
1178
+ var MESSAGE_DRAIN_INTERVAL_MS = 3e4;
1179
+ function startMessageQueueDrain() {
1180
+ const drain = async () => {
1181
+ fired("message_queue_drain");
1182
+ if (!await ensureStoreForPolling()) return;
1183
+ try {
1184
+ const { claimMessageQueue, ackMessageQueue } = await import("../message-queue-client-2YTGEB5H.js");
1185
+ const lease = claimMessageQueue();
1186
+ if (!lease || lease.entries.length === 0) return;
1187
+ acted("message_queue_drain");
1188
+ const { getClient: getDbClient } = await import("./database.js");
1189
+ const client = getDbClient();
1190
+ const { sendIntercom, employeeSessionName, resolveExeSession } = await import("./tmux-routing.js");
1191
+ const { randomUUID: randomUUID2 } = await import("crypto");
1192
+ let processed = 0;
1193
+ for (const entry of lease.entries) {
1194
+ try {
1195
+ const now = entry.timestamp || (/* @__PURE__ */ new Date()).toISOString();
1196
+ const id = randomUUID2();
1197
+ await client.execute({
1198
+ sql: `INSERT INTO messages (id, source_agent, target_agent, content, priority, status, created_at)
1199
+ VALUES (?, ?, ?, ?, ?, 'delivered', ?)`,
1200
+ args: [id, entry.source_agent, entry.target_agent, entry.content, entry.priority, now]
1201
+ });
1202
+ const exeSession = resolveExeSession();
1203
+ if (exeSession) {
1204
+ const sessionName = employeeSessionName(entry.target_agent, exeSession);
1205
+ sendIntercom(sessionName, { force: true });
1206
+ }
1207
+ processed++;
1208
+ } catch (err) {
1209
+ process.stderr.write(
1210
+ `[exed] Message queue drain error: ${err instanceof Error ? err.message : String(err)}
1211
+ `
1212
+ );
1213
+ }
1214
+ }
1215
+ ackMessageQueue(lease.leasePath);
1216
+ process.stderr.write(`[exed] Message queue drain: processed ${processed}/${lease.entries.length} messages
1217
+ `);
1218
+ } catch (err) {
1219
+ process.stderr.write(
1220
+ `[exed] Message queue drain error: ${err instanceof Error ? err.message : String(err)}
1221
+ `
1222
+ );
1223
+ }
1224
+ };
1225
+ void drain();
1226
+ const timer = setInterval(() => void drain(), MESSAGE_DRAIN_INTERVAL_MS);
1227
+ timer.unref();
1228
+ process.stderr.write(`[exed] Message queue drain started (every ${MESSAGE_DRAIN_INTERVAL_MS / 1e3}s)
1229
+ `);
1230
+ }
1180
1231
  function startServer() {
1181
1232
  mkdirSync2(path3.dirname(SOCKET_PATH), { recursive: true });
1182
1233
  try {
@@ -1976,7 +2027,7 @@ function startSessionTTL() {
1976
2027
  if (!await ensureStoreForPolling()) return;
1977
2028
  try {
1978
2029
  const { getClient } = await import("./database.js");
1979
- const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-NB5HYPXS.js");
2030
+ const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-3E3BIK7E.js");
1980
2031
  const deps = createSessionTTLRealDeps(getClient);
1981
2032
  const killed = await checkSessionTTL(deps);
1982
2033
  if (killed.length > 0) acted("session_ttl");
@@ -2083,7 +2134,7 @@ function startIdleKill() {
2083
2134
  const { loadConfigSync } = await import("./config.js");
2084
2135
  const cfg = loadConfigSync();
2085
2136
  const { getClient } = await import("./database.js");
2086
- const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-NB5HYPXS.js");
2137
+ const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-3E3BIK7E.js");
2087
2138
  const deps = createIdleKillRealDeps(
2088
2139
  getClient,
2089
2140
  cfg.sessionLifecycle.idleKillIntercomAckWindowMs
@@ -2606,7 +2657,7 @@ function startOrphanReaper() {
2606
2657
  const tick = async () => {
2607
2658
  fired("orphan_reaper");
2608
2659
  try {
2609
- const { reapOrphanedMcpProcesses, createOrphanReaperRealDeps } = await import("../daemon-orchestration-NB5HYPXS.js");
2660
+ const { reapOrphanedMcpProcesses, createOrphanReaperRealDeps } = await import("../daemon-orchestration-3E3BIK7E.js");
2610
2661
  const deps = createOrphanReaperRealDeps();
2611
2662
  const reaped = await reapOrphanedMcpProcesses(deps);
2612
2663
  if (reaped.length > 0) acted("orphan_reaper");
@@ -2633,7 +2684,7 @@ function startAutoWake() {
2633
2684
  if (!await ensureStoreForPolling()) return;
2634
2685
  try {
2635
2686
  const { getClient } = await import("./database.js");
2636
- const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-NB5HYPXS.js");
2687
+ const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-3E3BIK7E.js");
2637
2688
  const deps = createAutoWakeRealDeps(getClient, process.cwd());
2638
2689
  const woken = await pollOrphanedTasks(deps);
2639
2690
  if (woken.length > 0) acted("auto_wake");
@@ -2658,7 +2709,7 @@ function startStuckTaskRelease() {
2658
2709
  if (!await ensureStoreForPolling()) return;
2659
2710
  try {
2660
2711
  const { getClient } = await import("./database.js");
2661
- const { releaseStuckTasks, createStuckTaskRealDeps } = await import("../daemon-orchestration-NB5HYPXS.js");
2712
+ const { releaseStuckTasks, createStuckTaskRealDeps } = await import("../daemon-orchestration-3E3BIK7E.js");
2662
2713
  const deps = createStuckTaskRealDeps(getClient);
2663
2714
  const released = await releaseStuckTasks(deps);
2664
2715
  if (released.length > 0) {
@@ -2686,12 +2737,12 @@ function startTaskEnforcementScanner() {
2686
2737
  const tick = async () => {
2687
2738
  fired("task_enforcement");
2688
2739
  try {
2689
- const { runTaskEnforcementTick } = await import("../task-enforcement-V2CQEPXS.js");
2740
+ const { runTaskEnforcementTick } = await import("../task-enforcement-L7EGD6LJ.js");
2690
2741
  const { getTransport } = await import("./transport.js");
2691
2742
  const { loadAgentConfig } = await import("./agent-config.js");
2692
2743
  const { getClient } = await import("./database.js");
2693
2744
  const { loadEmployeesSync } = await import("./employees.js");
2694
- const { sessionScopeFilter } = await import("../task-scope-EY3G5623.js");
2745
+ const { sessionScopeFilter } = await import("../task-scope-QNRAYD7S.js");
2695
2746
  await runTaskEnforcementTick({
2696
2747
  transport: getTransport(),
2697
2748
  agentConfig: loadAgentConfig(),
@@ -3123,6 +3174,7 @@ try {
3123
3174
  startStuckTaskRelease();
3124
3175
  startGraphExtraction();
3125
3176
  startMemoryQueueDrain();
3177
+ startMessageQueueDrain();
3126
3178
  startIntercomQueueDrain();
3127
3179
  startConfidenceDecay();
3128
3180
  startReflectionSweep();
@@ -12,8 +12,8 @@ import {
12
12
  retryPendingMessages,
13
13
  sendMessage,
14
14
  setWsClientSend
15
- } from "../chunk-T62RXVA4.js";
16
- import "../chunk-Y3JNBCZI.js";
15
+ } from "../chunk-EENNKZMN.js";
16
+ import "../chunk-AOJHEMHE.js";
17
17
  import "../chunk-2OG5NAO2.js";
18
18
  import "../chunk-NEAHEC5G.js";
19
19
  import "../chunk-KRLOFIPI.js";
package/dist/lib/tasks.js CHANGED
@@ -3,8 +3,8 @@ import {
3
3
  deleteTask,
4
4
  init_tasks,
5
5
  updateTask
6
- } from "../chunk-RGKFUMLQ.js";
7
- import "../chunk-EP523LJD.js";
6
+ } from "../chunk-JSVRX6IW.js";
7
+ import "../chunk-7BPUBHGW.js";
8
8
  import "../chunk-TOR5ZPKF.js";
9
9
  import {
10
10
  cleanupOrphanedReviews,
@@ -21,7 +21,7 @@ import {
21
21
  slugify,
22
22
  updateTaskStatus,
23
23
  writeCheckpoint
24
- } from "../chunk-Y3JNBCZI.js";
24
+ } from "../chunk-AOJHEMHE.js";
25
25
  import "../chunk-2OG5NAO2.js";
26
26
  import "../chunk-NEAHEC5G.js";
27
27
  import "../chunk-KRLOFIPI.js";
@@ -21,7 +21,7 @@ import {
21
21
  sendIntercom,
22
22
  spawnEmployee,
23
23
  verifyPaneAtCapacity
24
- } from "../chunk-Y3JNBCZI.js";
24
+ } from "../chunk-AOJHEMHE.js";
25
25
  import "../chunk-2OG5NAO2.js";
26
26
  import "../chunk-NEAHEC5G.js";
27
27
  import "../chunk-KRLOFIPI.js";
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  registerAllTools
3
- } from "../chunk-CXXGHL7T.js";
3
+ } from "../chunk-4CBBN2XD.js";
4
4
  import "../chunk-XIIVMIS4.js";
5
- import "../chunk-47D4UN72.js";
5
+ import "../chunk-JMMY24KD.js";
6
6
  import "../chunk-267IKUT5.js";
7
7
  import "../chunk-DH6N5G4T.js";
8
8
  import "../chunk-AJOZXJLJ.js";
9
9
  import "../chunk-XOVQ43JR.js";
10
10
  import "../chunk-557C2IGL.js";
11
11
  import "../chunk-E6ORBQHP.js";
12
- import "../chunk-BBOD5TVX.js";
12
+ import "../chunk-KCLL5ECT.js";
13
13
  import "../chunk-U3Q3WNGY.js";
14
14
  import "../chunk-7M3DNYMR.js";
15
15
  import "../chunk-Q53ZYTIU.js";
16
16
  import "../chunk-GIGLGGYL.js";
17
- import "../chunk-GVGISFMN.js";
17
+ import "../chunk-UB7E2FEB.js";
18
18
  import "../chunk-LGPTAJZC.js";
19
19
  import "../chunk-DUDPJVAC.js";
20
- import "../chunk-ENL5P2CU.js";
21
- import "../chunk-NTALKXBR.js";
22
- import "../chunk-P3RKVFBX.js";
23
- import "../chunk-NW4AUWIT.js";
20
+ import "../chunk-LFVL3R6H.js";
21
+ import "../chunk-25QUV6FU.js";
22
+ import "../chunk-CK5ZAMWX.js";
23
+ import "../chunk-32Z4GK25.js";
24
24
  import "../chunk-6V6UTSOP.js";
25
25
  import "../chunk-TSPBIMZV.js";
26
26
  import "../chunk-BKEJSHDE.js";
27
- import "../chunk-UEJTDPRA.js";
27
+ import "../chunk-MRX42FAS.js";
28
28
  import "../chunk-EZUWMBWA.js";
29
29
  import "../chunk-SFURTBMT.js";
30
30
  import "../chunk-LNX37VPO.js";
@@ -34,7 +34,7 @@ import "../chunk-GUMRIUI5.js";
34
34
  import "../chunk-O7YD7JYE.js";
35
35
  import "../chunk-S3FDCJNF.js";
36
36
  import "../chunk-LCZRXRB7.js";
37
- import "../chunk-T62RXVA4.js";
37
+ import "../chunk-EENNKZMN.js";
38
38
  import "../chunk-EAVACBVO.js";
39
39
  import "../chunk-N5MH3CN2.js";
40
40
  import "../chunk-NFX6MDEO.js";
@@ -42,14 +42,14 @@ import "../chunk-U7M7ZURS.js";
42
42
  import "../chunk-6EZRMPDA.js";
43
43
  import "../chunk-GOCW7Z6D.js";
44
44
  import "../chunk-WZDI6UJ6.js";
45
- import "../chunk-IBWVMMLN.js";
45
+ import "../chunk-5PZ3HSGP.js";
46
46
  import "../chunk-JZB67O4M.js";
47
47
  import "../chunk-HJMM4QMY.js";
48
48
  import "../chunk-X2Z5GT3V.js";
49
49
  import "../chunk-4OHIVMHS.js";
50
50
  import "../chunk-NMT6QFEE.js";
51
- import "../chunk-RGKFUMLQ.js";
52
- import "../chunk-EP523LJD.js";
51
+ import "../chunk-JSVRX6IW.js";
52
+ import "../chunk-7BPUBHGW.js";
53
53
  import "../chunk-7A2YCQNM.js";
54
54
  import "../chunk-CQX2WDI5.js";
55
55
  import "../chunk-TOR5ZPKF.js";
@@ -59,7 +59,7 @@ import "../chunk-UKCSMGNM.js";
59
59
  import "../chunk-SDYBAMPW.js";
60
60
  import "../chunk-LR3QFARI.js";
61
61
  import "../chunk-NGAZPQQY.js";
62
- import "../chunk-Y3JNBCZI.js";
62
+ import "../chunk-AOJHEMHE.js";
63
63
  import "../chunk-2OG5NAO2.js";
64
64
  import "../chunk-NEAHEC5G.js";
65
65
  import "../chunk-KRLOFIPI.js";
@@ -73,7 +73,7 @@ import "../chunk-NMG76472.js";
73
73
  import "../chunk-HP43GLZ6.js";
74
74
  import "../chunk-ELE2C7L4.js";
75
75
  import "../chunk-YGAAZN3E.js";
76
- import "../chunk-T7SJCDG3.js";
76
+ import "../chunk-72O7CSKA.js";
77
77
  import "../chunk-GCNWCYJI.js";
78
78
  import "../chunk-WZQ4CPRG.js";
79
79
  import "../chunk-L3TB7CC3.js";
@@ -3,12 +3,12 @@ import {
3
3
  } from "../chunk-V4TZI6EO.js";
4
4
  import {
5
5
  registerAllTools
6
- } from "../chunk-CXXGHL7T.js";
6
+ } from "../chunk-4CBBN2XD.js";
7
7
  import {
8
8
  startToolTelemetryFlush,
9
9
  wrapServerWithTelemetry
10
10
  } from "../chunk-XIIVMIS4.js";
11
- import "../chunk-47D4UN72.js";
11
+ import "../chunk-JMMY24KD.js";
12
12
  import "../chunk-267IKUT5.js";
13
13
  import {
14
14
  initLicenseGate
@@ -17,22 +17,22 @@ import "../chunk-AJOZXJLJ.js";
17
17
  import "../chunk-XOVQ43JR.js";
18
18
  import "../chunk-557C2IGL.js";
19
19
  import "../chunk-E6ORBQHP.js";
20
- import "../chunk-BBOD5TVX.js";
20
+ import "../chunk-KCLL5ECT.js";
21
21
  import "../chunk-U3Q3WNGY.js";
22
22
  import "../chunk-7M3DNYMR.js";
23
23
  import "../chunk-Q53ZYTIU.js";
24
24
  import "../chunk-GIGLGGYL.js";
25
- import "../chunk-GVGISFMN.js";
25
+ import "../chunk-UB7E2FEB.js";
26
26
  import "../chunk-LGPTAJZC.js";
27
27
  import "../chunk-DUDPJVAC.js";
28
- import "../chunk-ENL5P2CU.js";
29
- import "../chunk-NTALKXBR.js";
30
- import "../chunk-P3RKVFBX.js";
31
- import "../chunk-NW4AUWIT.js";
28
+ import "../chunk-LFVL3R6H.js";
29
+ import "../chunk-25QUV6FU.js";
30
+ import "../chunk-CK5ZAMWX.js";
31
+ import "../chunk-32Z4GK25.js";
32
32
  import "../chunk-6V6UTSOP.js";
33
33
  import "../chunk-TSPBIMZV.js";
34
34
  import "../chunk-BKEJSHDE.js";
35
- import "../chunk-UEJTDPRA.js";
35
+ import "../chunk-MRX42FAS.js";
36
36
  import "../chunk-EZUWMBWA.js";
37
37
  import "../chunk-SFURTBMT.js";
38
38
  import "../chunk-LNX37VPO.js";
@@ -42,7 +42,7 @@ import "../chunk-GUMRIUI5.js";
42
42
  import "../chunk-O7YD7JYE.js";
43
43
  import "../chunk-S3FDCJNF.js";
44
44
  import "../chunk-LCZRXRB7.js";
45
- import "../chunk-T62RXVA4.js";
45
+ import "../chunk-EENNKZMN.js";
46
46
  import "../chunk-EAVACBVO.js";
47
47
  import "../chunk-N5MH3CN2.js";
48
48
  import "../chunk-NFX6MDEO.js";
@@ -50,7 +50,7 @@ import "../chunk-U7M7ZURS.js";
50
50
  import "../chunk-6EZRMPDA.js";
51
51
  import "../chunk-GOCW7Z6D.js";
52
52
  import "../chunk-WZDI6UJ6.js";
53
- import "../chunk-IBWVMMLN.js";
53
+ import "../chunk-5PZ3HSGP.js";
54
54
  import "../chunk-JZB67O4M.js";
55
55
  import "../chunk-HJMM4QMY.js";
56
56
  import "../chunk-X2Z5GT3V.js";
@@ -59,8 +59,8 @@ import {
59
59
  init_embedder
60
60
  } from "../chunk-4OHIVMHS.js";
61
61
  import "../chunk-NMT6QFEE.js";
62
- import "../chunk-RGKFUMLQ.js";
63
- import "../chunk-EP523LJD.js";
62
+ import "../chunk-JSVRX6IW.js";
63
+ import "../chunk-7BPUBHGW.js";
64
64
  import "../chunk-7A2YCQNM.js";
65
65
  import "../chunk-CQX2WDI5.js";
66
66
  import "../chunk-TOR5ZPKF.js";
@@ -73,7 +73,7 @@ import {
73
73
  initStore
74
74
  } from "../chunk-LR3QFARI.js";
75
75
  import "../chunk-NGAZPQQY.js";
76
- import "../chunk-Y3JNBCZI.js";
76
+ import "../chunk-AOJHEMHE.js";
77
77
  import "../chunk-2OG5NAO2.js";
78
78
  import "../chunk-NEAHEC5G.js";
79
79
  import "../chunk-KRLOFIPI.js";
@@ -87,7 +87,7 @@ import "../chunk-NMG76472.js";
87
87
  import "../chunk-HP43GLZ6.js";
88
88
  import "../chunk-ELE2C7L4.js";
89
89
  import "../chunk-YGAAZN3E.js";
90
- import "../chunk-T7SJCDG3.js";
90
+ import "../chunk-72O7CSKA.js";
91
91
  import "../chunk-GCNWCYJI.js";
92
92
  import "../chunk-WZQ4CPRG.js";
93
93
  import "../chunk-L3TB7CC3.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  registerCreateTask
3
- } from "../../chunk-NTALKXBR.js";
4
- import "../../chunk-RGKFUMLQ.js";
5
- import "../../chunk-EP523LJD.js";
3
+ } from "../../chunk-25QUV6FU.js";
4
+ import "../../chunk-JSVRX6IW.js";
5
+ import "../../chunk-7BPUBHGW.js";
6
6
  import "../../chunk-TOR5ZPKF.js";
7
7
  import "../../chunk-CBSUVFZ7.js";
8
- import "../../chunk-Y3JNBCZI.js";
8
+ import "../../chunk-AOJHEMHE.js";
9
9
  import "../../chunk-2OG5NAO2.js";
10
10
  import "../../chunk-NEAHEC5G.js";
11
11
  import "../../chunk-KRLOFIPI.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  registerListTasks
3
- } from "../../chunk-P3RKVFBX.js";
4
- import "../../chunk-RGKFUMLQ.js";
5
- import "../../chunk-EP523LJD.js";
3
+ } from "../../chunk-CK5ZAMWX.js";
4
+ import "../../chunk-JSVRX6IW.js";
5
+ import "../../chunk-7BPUBHGW.js";
6
6
  import "../../chunk-TOR5ZPKF.js";
7
7
  import "../../chunk-CBSUVFZ7.js";
8
- import "../../chunk-Y3JNBCZI.js";
8
+ import "../../chunk-AOJHEMHE.js";
9
9
  import "../../chunk-2OG5NAO2.js";
10
10
  import "../../chunk-NEAHEC5G.js";
11
11
  import "../../chunk-KRLOFIPI.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  registerSendMessage
3
- } from "../../chunk-ENL5P2CU.js";
4
- import "../../chunk-T62RXVA4.js";
3
+ } from "../../chunk-LFVL3R6H.js";
4
+ import "../../chunk-EENNKZMN.js";
5
5
  import "../../chunk-CBSUVFZ7.js";
6
- import "../../chunk-Y3JNBCZI.js";
6
+ import "../../chunk-AOJHEMHE.js";
7
7
  import "../../chunk-2OG5NAO2.js";
8
8
  import "../../chunk-NEAHEC5G.js";
9
9
  import "../../chunk-KRLOFIPI.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  registerUpdateTask
3
- } from "../../chunk-NW4AUWIT.js";
4
- import "../../chunk-RGKFUMLQ.js";
5
- import "../../chunk-EP523LJD.js";
3
+ } from "../../chunk-32Z4GK25.js";
4
+ import "../../chunk-JSVRX6IW.js";
5
+ import "../../chunk-7BPUBHGW.js";
6
6
  import "../../chunk-TOR5ZPKF.js";
7
- import "../../chunk-Y3JNBCZI.js";
7
+ import "../../chunk-AOJHEMHE.js";
8
8
  import "../../chunk-2OG5NAO2.js";
9
9
  import "../../chunk-NEAHEC5G.js";
10
10
  import "../../chunk-KRLOFIPI.js";