@askexenow/exe-os 0.9.332 → 0.9.335

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 (173) hide show
  1. package/dist/{backfill-metadata-FDQVVGRQ.js → backfill-metadata-7JFKICS3.js} +1 -1
  2. package/dist/{behaviors-SAS6JALZ.js → behaviors-QTG3MHDO.js} +2 -2
  3. package/dist/bin/agentic-ontology-backfill.js +1 -1
  4. package/dist/bin/agentic-reflection-backfill.js +1 -1
  5. package/dist/bin/agentic-semantic-label.js +1 -1
  6. package/dist/bin/backfill-conversations.js +1 -1
  7. package/dist/bin/backfill-responses.js +1 -1
  8. package/dist/bin/backfill-vectors.js +2 -2
  9. package/dist/bin/bulk-sync-postgres.js +3 -3
  10. package/dist/bin/cleanup-stale-review-tasks.js +4 -4
  11. package/dist/bin/cli.js +6 -6
  12. package/dist/bin/deferred-daemon-restart.js +34 -34
  13. package/dist/bin/exe-assign.js +1 -1
  14. package/dist/bin/exe-boot.js +8 -8
  15. package/dist/bin/exe-cloud.js +3 -3
  16. package/dist/bin/exe-dispatch.js +4 -4
  17. package/dist/bin/exe-doctor.js +1 -1
  18. package/dist/bin/exe-export-behaviors.js +4 -4
  19. package/dist/bin/exe-forget.js +3 -3
  20. package/dist/bin/exe-gateway.js +5 -5
  21. package/dist/bin/exe-heartbeat.js +4 -4
  22. package/dist/bin/exe-kill.js +6 -6
  23. package/dist/bin/exe-launch-agent.js +7 -7
  24. package/dist/bin/exe-pending-messages.js +5 -5
  25. package/dist/bin/exe-pending-notifications.js +4 -4
  26. package/dist/bin/exe-pending-reviews.js +4 -4
  27. package/dist/bin/exe-review.js +5 -5
  28. package/dist/bin/exe-search.js +2 -2
  29. package/dist/bin/exe-session-cleanup.js +7 -7
  30. package/dist/bin/exe-settings.js +3 -3
  31. package/dist/bin/exe-start-codex.js +4 -4
  32. package/dist/bin/exe-start-opencode.js +3 -3
  33. package/dist/bin/exe-status.js +5 -5
  34. package/dist/bin/exe-team.js +1 -1
  35. package/dist/bin/git-sweep.js +5 -5
  36. package/dist/bin/graph-backfill.js +1 -1
  37. package/dist/bin/graph-export.js +2 -2
  38. package/dist/bin/import-history.js +2 -2
  39. package/dist/bin/install.js +34 -34
  40. package/dist/bin/intercom-check.js +4 -4
  41. package/dist/bin/mcp-sessions.js +2 -2
  42. package/dist/bin/orchestration-metrics.js +1 -1
  43. package/dist/bin/scan-tasks.js +4 -4
  44. package/dist/bin/setup.js +1 -1
  45. package/dist/bin/shard-migrate.js +1 -1
  46. package/dist/{capacity-monitor-I6TX3OZA.js → capacity-monitor-4U2Y7CSW.js} +5 -5
  47. package/dist/{catchup-brief-RAZTRECT.js → catchup-brief-LFSFSDBA.js} +5 -5
  48. package/dist/{chunk-BST5NSJC.js → chunk-2OZMCTYQ.js} +1 -1
  49. package/dist/{chunk-RGBABIFH.js → chunk-54X2PQBA.js} +3 -3
  50. package/dist/{chunk-MPUIO6GF.js → chunk-5ZG2JMZH.js} +1 -1
  51. package/dist/{chunk-OXZHAERM.js → chunk-6L4LI4VQ.js} +1 -1
  52. package/dist/{chunk-7YTO3LHB.js → chunk-6UJ4CX5L.js} +2 -2
  53. package/dist/{chunk-JRRNRSZC.js → chunk-75L2YCD4.js} +1 -1
  54. package/dist/{chunk-L6CLX2QF.js → chunk-AQGBOSA4.js} +1 -1
  55. package/dist/{chunk-LB5B4NJ6.js → chunk-D2527Q5Y.js} +1 -1
  56. package/dist/{chunk-YSU4JO3J.js → chunk-ESIZMMWY.js} +1 -1
  57. package/dist/chunk-FLNSJ2TC.js +23 -0
  58. package/dist/{chunk-CDVA67B2.js → chunk-GFWND35H.js} +21 -0
  59. package/dist/{chunk-TK7ZDWU3.js → chunk-H5C4PS64.js} +2 -2
  60. package/dist/{chunk-267TDVN7.js → chunk-I33GPQUB.js} +1 -1
  61. package/dist/{chunk-OIMQGA62.js → chunk-J6REQ7CV.js} +1 -1
  62. package/dist/{chunk-HRUI3Q42.js → chunk-JEDQHPPC.js} +2 -2
  63. package/dist/{chunk-QUZ4VK3R.js → chunk-JKSK4VFX.js} +1 -1
  64. package/dist/{chunk-QGVXUTHX.js → chunk-LK5RBBMQ.js} +1 -1
  65. package/dist/{chunk-JRTJKLON.js → chunk-QFNRI3PS.js} +2 -2
  66. package/dist/{chunk-EC4O5ITE.js → chunk-QLZ3HCNN.js} +1 -1
  67. package/dist/{chunk-HG7ZX2UT.js → chunk-QYTUXYAM.js} +51 -51
  68. package/dist/{chunk-2ES3ACCO.js → chunk-RGHT5J2L.js} +4 -4
  69. package/dist/{chunk-N2J6FWMQ.js → chunk-ROHUOHJI.js} +2 -2
  70. package/dist/{chunk-IVN7UUKK.js → chunk-SDZ654BU.js} +6 -6
  71. package/dist/{chunk-M6E76DMO.js → chunk-SRGBHZ3H.js} +1 -1
  72. package/dist/{chunk-6AY7VXSF.js → chunk-U6M5C3MB.js} +6 -6
  73. package/dist/{chunk-OEA44GCC.js → chunk-U7N2GEBI.js} +1 -1
  74. package/dist/{chunk-TQM7RGOB.js → chunk-UDX46CNG.js} +2 -2
  75. package/dist/{chunk-SNJEQPPA.js → chunk-UWT664G5.js} +1 -1
  76. package/dist/{chunk-KNLQAVLI.js → chunk-VAEYG5V5.js} +2 -2
  77. package/dist/{chunk-FZQBWOIB.js → chunk-VI7I6K4G.js} +2 -2
  78. package/dist/{chunk-YFYUNROP.js → chunk-VINX2BZI.js} +1 -1
  79. package/dist/{chunk-4X3VWI22.js → chunk-VST5V263.js} +1 -1
  80. package/dist/{chunk-5CZ2ZH6L.js → chunk-VXSORLMJ.js} +1 -1
  81. package/dist/{chunk-3PHTJIC3.js → chunk-WI3T3GTH.js} +1 -1
  82. package/dist/{chunk-3KAYKHVB.js → chunk-X3VIRILN.js} +10 -87
  83. package/dist/{chunk-ZJSH3L6R.js → chunk-X5EGTW2P.js} +1 -1
  84. package/dist/{chunk-YDUS2DFZ.js → chunk-XA753DUQ.js} +1 -1
  85. package/dist/{chunk-J53PHGGC.js → chunk-XMVEGUPC.js} +1 -1
  86. package/dist/{chunk-NUPU7TRA.js → chunk-ZA7NMOTA.js} +1 -1
  87. package/dist/{chunk-B3ZUS3UU.js → chunk-ZHKMRKH3.js} +1 -1
  88. package/dist/{chunk-T5JJBIUB.js → chunk-ZWIYJV2F.js} +5 -5
  89. package/dist/{cleanup-graph-garbage-6QGLERF2.js → cleanup-graph-garbage-OP7NAXDZ.js} +1 -1
  90. package/dist/{crm-webhook-DHFRIRLN.js → crm-webhook-REDANIV7.js} +2 -2
  91. package/dist/{cto-delegation-gate-Z7UVTVYO.js → cto-delegation-gate-HN3J76UI.js} +3 -3
  92. package/dist/{daemon-orchestration-XWDFUFJG.js → daemon-orchestration-KIAYDBWN.js} +7 -7
  93. package/dist/daemon-ready-5XI5BIJD.js +7 -0
  94. package/dist/{documents-OMKCMWR7.js → documents-J4MQBIYZ.js} +2 -2
  95. package/dist/{dreaming-SDFWY5FY.js → dreaming-RCAAKENX.js} +4 -4
  96. package/dist/{exe-export-BY6IFTEP.js → exe-export-Z626JBSJ.js} +3 -3
  97. package/dist/{exe-import-55UKB2X7.js → exe-import-47MHFJUB.js} +3 -3
  98. package/dist/{exe-key-F3BM5GEW.js → exe-key-RLMYYUTW.js} +34 -34
  99. package/dist/{exe-snapshot-RGIJJ2ZX.js → exe-snapshot-VHSZP5VK.js} +6 -6
  100. package/dist/{fast-db-init-OZDG42SZ.js → fast-db-init-KIS7XQO5.js} +1 -1
  101. package/dist/gateway/index.js +6 -6
  102. package/dist/hooks/bug-report-worker.js +6 -6
  103. package/dist/hooks/codex-stop-task-finalizer.js +6 -6
  104. package/dist/hooks/commit-complete.js +6 -6
  105. package/dist/hooks/error-recall.js +2 -2
  106. package/dist/hooks/ingest.js +2 -2
  107. package/dist/hooks/instructions-loaded.js +1 -1
  108. package/dist/hooks/manifest.json +18 -18
  109. package/dist/hooks/notification.js +1 -1
  110. package/dist/hooks/post-compact.js +4 -4
  111. package/dist/hooks/post-tool-combined.js +2 -2
  112. package/dist/hooks/pre-compact.js +5 -5
  113. package/dist/hooks/pre-tool-use.js +8 -8
  114. package/dist/hooks/prompt-submit.js +36 -39
  115. package/dist/hooks/session-end.js +7 -7
  116. package/dist/hooks/session-start.js +9 -28
  117. package/dist/hooks/stop.js +7 -7
  118. package/dist/hooks/subagent-stop.js +4 -4
  119. package/dist/hooks/summary-worker.js +7 -7
  120. package/dist/index.js +11 -11
  121. package/dist/{intercom-queue-JFBMDV6J.js → intercom-queue-XJ3RTJ2C.js} +3 -3
  122. package/dist/lib/cloud-sync.js +3 -3
  123. package/dist/lib/consolidation.js +2 -2
  124. package/dist/lib/exe-daemon.js +31 -31
  125. package/dist/lib/hybrid-search.js +2 -2
  126. package/dist/lib/messaging.js +4 -4
  127. package/dist/lib/schedules.js +2 -2
  128. package/dist/lib/skill-learning.js +3 -3
  129. package/dist/lib/store.js +1 -1
  130. package/dist/lib/tasks.js +5 -5
  131. package/dist/lib/tmux-routing.js +3 -3
  132. package/dist/mcp/register-tools.js +33 -33
  133. package/dist/mcp/server.js +34 -34
  134. package/dist/mcp/tools/create-task.js +6 -6
  135. package/dist/mcp/tools/deactivate-behavior.js +3 -3
  136. package/dist/mcp/tools/list-tasks.js +6 -6
  137. package/dist/mcp/tools/send-message.js +5 -5
  138. package/dist/mcp/tools/update-task.js +6 -6
  139. package/dist/{memory-cards-7YIZUWSJ.js → memory-cards-E5O4IPYV.js} +1 -1
  140. package/dist/{memory-pressure-watchdog-MZWX4YIA.js → memory-pressure-watchdog-4RVYB2JC.js} +4 -4
  141. package/dist/{notifications-42Z4ZRNV.js → notifications-LDDVXMH7.js} +3 -3
  142. package/dist/{orchestrator-ALAA4P6M.js → orchestrator-UFYOUXGZ.js} +4 -4
  143. package/dist/{pipeline-router-F226AZRB.js → pipeline-router-PLYAEQN7.js} +1 -1
  144. package/dist/{projection-worker-UL2HHHPO.js → projection-worker-N4KVTVZE.js} +1 -1
  145. package/dist/{reranker-G24KWZKH.js → reranker-267LQRRT.js} +1 -1
  146. package/dist/{review-polling-REHBTRU6.js → review-polling-4IFCCPGQ.js} +4 -4
  147. package/dist/runtime/index.js +5 -5
  148. package/dist/{session-events-F3DPBY4P.js → session-events-CVNW7DBW.js} +4 -4
  149. package/dist/{session-kill-telemetry-USNB6ND7.js → session-kill-telemetry-56HNNXLH.js} +4 -4
  150. package/dist/{session-scope-CJQE4LVB.js → session-scope-RMKL6YLU.js} +3 -3
  151. package/dist/{setup-wizard-S6XYW2WH.js → setup-wizard-L6JMCB33.js} +1 -1
  152. package/dist/{skill-refinement-XXYCXA2U.js → skill-refinement-FA5DM3NA.js} +1 -1
  153. package/dist/{task-enforcement-ZKB2VZ6W.js → task-enforcement-XO6CYQVG.js} +4 -4
  154. package/dist/{task-scope-CATQQNVX.js → task-scope-7BWIG4G3.js} +3 -3
  155. package/dist/{tasks-crud-RDWLWYWV.js → tasks-crud-IW3ZBFHL.js} +3 -3
  156. package/dist/{tasks-notify-CKT5A6WK.js → tasks-notify-MOSUAR3U.js} +4 -4
  157. package/dist/{tasks-review-UXWXJ6H3.js → tasks-review-S2IYB6AA.js} +3 -3
  158. package/dist/{telemetry-upload-UUJULBSV.js → telemetry-upload-IG4AGZFK.js} +1 -1
  159. package/dist/tui/App.js +9 -9
  160. package/dist/{tui-data-7SQLIY2O.js → tui-data-KCMCI6Z5.js} +3 -3
  161. package/dist/{worker-gate-2O27EXUE.js → worker-gate-YY7OZOJH.js} +1 -1
  162. package/dist/{workflow-engine-QGSEQV2Z.js → workflow-engine-TZW4ZQV3.js} +2 -2
  163. package/dist/{worktree-3RKV6KQO.js → worktree-WF7X43XI.js} +1 -1
  164. package/dist/{worktree-sweep-PYREGLPP.js → worktree-sweep-QOAXY6CT.js} +2 -2
  165. package/package.json +3 -3
  166. package/release-notes.json +6 -3
  167. /package/dist/{chunk-BAXNI3A5.js → chunk-45AA4HOH.js} +0 -0
  168. /package/dist/{chunk-YWIOFMHL.js → chunk-6A5DGGRT.js} +0 -0
  169. /package/dist/{chunk-26GM62C3.js → chunk-FXS5YIK5.js} +0 -0
  170. /package/dist/{chunk-3HIYBZ62.js → chunk-NF2OBCEI.js} +0 -0
  171. /package/dist/{chunk-G3UK4TTT.js → chunk-OMJH4DQ7.js} +0 -0
  172. /package/dist/{chunk-VYLDGF4D.js → chunk-S4Y5YXPX.js} +0 -0
  173. /package/dist/{core-memory-KMBRE2HU.js → core-memory-HCJMR32C.js} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  dispatchTaskToEmployee,
3
3
  markTaskNotificationsRead,
4
4
  notifyTaskDone
5
- } from "./chunk-HRUI3Q42.js";
5
+ } from "./chunk-JEDQHPPC.js";
6
6
  import {
7
7
  cleanupReviewFile,
8
8
  createTaskCore,
@@ -11,7 +11,7 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-3KAYKHVB.js";
14
+ } from "./chunk-X3VIRILN.js";
15
15
  import {
16
16
  orgBus
17
17
  } from "./chunk-MP2AFCGL.js";
@@ -61,7 +61,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
61
61
  }
62
62
  if (unblockedRows.rows.length > 0 && !process.env.VITEST) {
63
63
  try {
64
- const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-CKT5A6WK.js");
64
+ const { dispatchTaskToEmployee: dispatchTaskToEmployee2 } = await import("./tasks-notify-MOSUAR3U.js");
65
65
  const dispatched = /* @__PURE__ */ new Set();
66
66
  for (const ur of unblockedRows.rows) {
67
67
  const assignee = String(ur.assigned_to);
@@ -86,7 +86,7 @@ async function cascadeUnblock(taskId, baseDir, now) {
86
86
  }
87
87
  } catch {
88
88
  try {
89
- const { queueIntercom } = await import("./intercom-queue-JFBMDV6J.js");
89
+ const { queueIntercom } = await import("./intercom-queue-XJ3RTJ2C.js");
90
90
  const dispatched = /* @__PURE__ */ new Set();
91
91
  for (const ur of unblockedRows.rows) {
92
92
  const assignee = String(ur.assigned_to);
@@ -289,7 +289,7 @@ async function updateTask(input) {
289
289
  try {
290
290
  process.stderr.write(`[tasks] EVENT: tmux delivery failed for reviewer="${reviewer}". Queueing for daemon delivery.
291
291
  `);
292
- const { queueIntercom } = await import("./intercom-queue-JFBMDV6J.js");
292
+ const { queueIntercom } = await import("./intercom-queue-XJ3RTJ2C.js");
293
293
  const { resolveExeSession } = await import("./lib/tmux-routing.js");
294
294
  const exeSession = row.session_scope ? String(row.session_scope) : resolveExeSession();
295
295
  if (exeSession) {
@@ -333,7 +333,7 @@ async function updateTask(input) {
333
333
  await markTaskNotificationsRead(taskFile);
334
334
  if (isCompletionReviewTransition && !isCoordinator && row.reviewer) {
335
335
  try {
336
- const { writeNotification: writeNotification2 } = await import("./notifications-42Z4ZRNV.js");
336
+ const { writeNotification: writeNotification2 } = await import("./notifications-LDDVXMH7.js");
337
337
  const reviewer = String(row.reviewer);
338
338
  await writeNotification2({
339
339
  agentId: reviewer,
@@ -4,7 +4,7 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-3KAYKHVB.js";
7
+ } from "./chunk-X3VIRILN.js";
8
8
  import {
9
9
  parseMessage,
10
10
  serializeMessage
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-M6E76DMO.js";
4
+ } from "./chunk-SRGBHZ3H.js";
5
5
  import {
6
6
  WhatsAppAdapter
7
7
  } from "./chunk-ECSNSHZ7.js";
@@ -42,7 +42,7 @@ import {
42
42
  retryWithBackoff,
43
43
  routeMessage,
44
44
  validateGatewayConfig
45
- } from "./chunk-FZQBWOIB.js";
45
+ } from "./chunk-VI7I6K4G.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -54,7 +54,7 @@ function parseInstanceLabel(label) {
54
54
  return { base: label };
55
55
  }
56
56
  function ensureWorktree(projectDir, employeeName, instance) {
57
- const repoRoot = getGitRoot(projectDir);
57
+ const repoRoot = getMainRepoRoot(projectDir);
58
58
  if (!repoRoot) return null;
59
59
  const wtPath = worktreePath(repoRoot, employeeName, instance);
60
60
  const branch = worktreeBranch(employeeName, instance);
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-6AY7VXSF.js";
3
+ } from "./chunk-U6M5C3MB.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-3KAYKHVB.js";
6
+ } from "./chunk-X3VIRILN.js";
7
7
  import {
8
8
  getAgentContext
9
9
  } from "./chunk-GJV3WDWM.js";
@@ -2,10 +2,10 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-5CZ2ZH6L.js";
5
+ } from "./chunk-VXSORLMJ.js";
6
6
  import {
7
7
  ingest
8
- } from "./chunk-26GM62C3.js";
8
+ } from "./chunk-FXS5YIK5.js";
9
9
  import {
10
10
  initCRMBridge
11
11
  } from "./chunk-ML4S5SHZ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-QUZ4VK3R.js";
3
+ } from "./chunk-JKSK4VFX.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-EOYVD5U3.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-75H4R62K.js";
4
4
  import {
5
5
  initStore
6
- } from "./chunk-OIMQGA62.js";
6
+ } from "./chunk-J6REQ7CV.js";
7
7
  import {
8
8
  getClient,
9
9
  isInitialized
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-VYLDGF4D.js";
4
+ } from "./chunk-S4Y5YXPX.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-OEA44GCC.js";
3
+ } from "./chunk-U7N2GEBI.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-EOYVD5U3.js";
@@ -5,10 +5,10 @@ import {
5
5
  ensureWorktree,
6
6
  getGitRoot,
7
7
  isWorktreeDirty
8
- } from "./chunk-SNJEQPPA.js";
8
+ } from "./chunk-UWT664G5.js";
9
9
  import {
10
10
  incrementSkillSuccess
11
- } from "./chunk-BAXNI3A5.js";
11
+ } from "./chunk-45AA4HOH.js";
12
12
  import {
13
13
  reviewSignalPath,
14
14
  taskSignalDir
@@ -1219,7 +1219,7 @@ async function createTaskCore(input) {
1219
1219
  if (isCoordinatorSession) {
1220
1220
  earlySessionScope = resolved;
1221
1221
  } else {
1222
- const { getSessionProject } = await import("./session-scope-CJQE4LVB.js");
1222
+ const { getSessionProject } = await import("./session-scope-RMKL6YLU.js");
1223
1223
  const sessionProject = getSessionProject(resolved);
1224
1224
  if (sessionProject && sessionProject !== input.projectName) {
1225
1225
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -3917,11 +3917,8 @@ function resolveExeSession() {
3917
3917
  });
3918
3918
  return liveRoots[0];
3919
3919
  } else if (liveRoots.length > 1) {
3920
- const base = candidate.replace(/\d+$/, "");
3921
- const match = liveRoots.find((s) => s.startsWith(base));
3922
- const chosen = match ?? liveRoots[0];
3923
3920
  process.stderr.write(
3924
- `[tmux-routing] WARN: resolved session "${candidate}" is dead. ${liveRoots.length} live roots found, using "${chosen}".
3921
+ `[tmux-routing] ERROR: resolved session "${candidate}" is dead and ${liveRoots.length} live coordinator sessions exist; refusing to guess. Provide X-Exe-Session/EXE_SESSION.
3925
3922
  `
3926
3923
  );
3927
3924
  logSessionResolve({
@@ -3931,11 +3928,11 @@ function resolveExeSession() {
3931
3928
  envHint,
3932
3929
  cacheHit,
3933
3930
  liveRoots,
3934
- resolved: chosen,
3935
- path: `liveness_fallback_multi (base="${base}", match=${match ?? "none"})`,
3931
+ resolved: null,
3932
+ path: "liveness_fallback_multi_refused",
3936
3933
  mismatch: true
3937
3934
  });
3938
- return chosen;
3935
+ return null;
3939
3936
  }
3940
3937
  process.stderr.write(
3941
3938
  `[tmux-routing] WARN: resolved session "${candidate}" is dead and no live coordinator found.
@@ -3994,7 +3991,7 @@ async function verifyPaneAtCapacity(sessionName) {
3994
3991
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
3995
3992
  };
3996
3993
  }
3997
- const { isAtCapacity } = await import("./capacity-monitor-I6TX3OZA.js");
3994
+ const { isAtCapacity } = await import("./capacity-monitor-4U2Y7CSW.js");
3998
3995
  if (!isAtCapacity(pane)) {
3999
3996
  return {
4000
3997
  atCapacity: false,
@@ -4360,7 +4357,7 @@ function scheduleDeferredSpawnNudge(input) {
4360
4357
  return;
4361
4358
  }
4362
4359
  queueIntercom(input.sessionName, `spawn nudge failed after ${attempt} attempts: ${msg}`, "signal");
4363
- void import("./notifications-42Z4ZRNV.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
4360
+ void import("./notifications-LDDVXMH7.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
4364
4361
  agentId: getCoordinatorName(),
4365
4362
  agentRole: "COO",
4366
4363
  event: "error_spike",
@@ -4562,81 +4559,7 @@ function notifyCoordinatorTaskCompletion(coordinatorSession, agentName, taskTitl
4562
4559
  }
4563
4560
  }
4564
4561
  async function ensureWorktreeAsync(projectDir, employeeName, instance) {
4565
- try {
4566
- const { stdout: rootOut } = await execFileAsync("git", ["-C", projectDir, "rev-parse", "--show-toplevel"], {
4567
- encoding: "utf8",
4568
- timeout: 1e4
4569
- });
4570
- const repoRoot = rootOut.trim();
4571
- if (!repoRoot) return null;
4572
- const label = instance != null && instance > 0 ? `${employeeName}${instance}` : employeeName;
4573
- const wtPath = path8.join(repoRoot, ".worktrees", label);
4574
- const branch = `${label}-work`;
4575
- if (existsSync9(path8.join(wtPath, ".git"))) {
4576
- let currentBranch = null;
4577
- try {
4578
- const { stdout } = await execFileAsync("git", ["branch", "--show-current"], {
4579
- cwd: wtPath,
4580
- encoding: "utf8",
4581
- timeout: 5e3
4582
- });
4583
- currentBranch = stdout.trim() || null;
4584
- } catch {
4585
- currentBranch = null;
4586
- }
4587
- if (currentBranch === branch) return wtPath;
4588
- let dirty = true;
4589
- try {
4590
- const { stdout } = await execFileAsync("git", ["status", "--porcelain"], {
4591
- cwd: wtPath,
4592
- encoding: "utf8",
4593
- timeout: 5e3
4594
- });
4595
- dirty = stdout.trim().length > 0;
4596
- } catch {
4597
- dirty = true;
4598
- }
4599
- recordOrchestrationEventBestEffort({
4600
- eventType: "worktree.branch_mismatch",
4601
- source: "tmux-routing.ensureWorktreeAsync",
4602
- severity: "warn",
4603
- agentId: employeeName,
4604
- instanceId: instance != null ? String(instance) : null,
4605
- payload: { expectedBranch: branch, actualBranch: currentBranch, dirty }
4606
- });
4607
- if (dirty) return null;
4608
- await execFileAsync("git", ["worktree", "remove", wtPath], { cwd: repoRoot, timeout: 1e4 });
4609
- }
4610
- mkdirSync6(path8.join(repoRoot, ".worktrees"), { recursive: true });
4611
- try {
4612
- await execFileAsync("git", ["worktree", "prune"], { cwd: repoRoot, timeout: 1e4 });
4613
- } catch {
4614
- }
4615
- let branchExists = false;
4616
- try {
4617
- await execFileAsync("git", ["show-ref", "--verify", "--quiet", `refs/heads/${branch}`], { cwd: repoRoot, timeout: 5e3 });
4618
- branchExists = true;
4619
- } catch {
4620
- branchExists = false;
4621
- }
4622
- await execFileAsync(
4623
- "git",
4624
- branchExists ? ["worktree", "add", wtPath, branch] : ["worktree", "add", wtPath, "-b", branch, "HEAD"],
4625
- { cwd: repoRoot, timeout: 1e4 }
4626
- );
4627
- recordOrchestrationEventBestEffort({
4628
- eventType: "worktree.created",
4629
- source: "tmux-routing.ensureWorktreeAsync",
4630
- agentId: employeeName,
4631
- instanceId: instance != null ? String(instance) : null,
4632
- payload: { branch, reusedBranch: branchExists }
4633
- });
4634
- return wtPath;
4635
- } catch (err) {
4636
- process.stderr.write(`[tmux-routing] async worktree setup failed for ${employeeName}: ${err instanceof Error ? err.message : String(err)}
4637
- `);
4638
- return null;
4639
- }
4562
+ return ensureWorktree(projectDir, employeeName, instance);
4640
4563
  }
4641
4564
  function ensureEmployee(employeeName, exeSession, projectDir, opts) {
4642
4565
  employeeName = employeeName.toLowerCase();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  storeBehavior
3
- } from "./chunk-QUZ4VK3R.js";
3
+ } from "./chunk-JKSK4VFX.js";
4
4
  import {
5
5
  getClient
6
6
  } from "./chunk-BIM763ML.js";
@@ -119,7 +119,7 @@ function releaseBackfillLock() {
119
119
  }
120
120
  async function getTaskAwareCapacity() {
121
121
  const { getClient } = await import("./lib/database.js");
122
- const { sessionScopeFilter } = await import("./task-scope-CATQQNVX.js");
122
+ const { sessionScopeFilter } = await import("./task-scope-7BWIG4G3.js");
123
123
  const client = getClient();
124
124
  const scope = sessionScopeFilter();
125
125
  const result = await client.execute({
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-A47MXY2I.js";
4
4
  import {
5
5
  isGhostBehaviorRow
6
- } from "./chunk-QUZ4VK3R.js";
6
+ } from "./chunk-JKSK4VFX.js";
7
7
  import {
8
8
  getClient,
9
9
  getIdentity,
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-3KAYKHVB.js";
12
+ } from "./chunk-X3VIRILN.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-3KAYKHVB.js";
4
+ } from "./chunk-X3VIRILN.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-LB5B4NJ6.js";
3
+ } from "./chunk-D2527Q5Y.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-6AY7VXSF.js";
6
+ } from "./chunk-U6M5C3MB.js";
7
7
  import {
8
8
  countPendingReviews,
9
9
  ensureEmployeeAsync,
@@ -16,7 +16,7 @@ import {
16
16
  sessionScopeFilter,
17
17
  strictSessionScopeFilter,
18
18
  writeNotification
19
- } from "./chunk-3KAYKHVB.js";
19
+ } from "./chunk-X3VIRILN.js";
20
20
  import {
21
21
  isLeaseExpired
22
22
  } from "./chunk-E23LNUWJ.js";
@@ -2298,7 +2298,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
2298
2298
  }
2299
2299
  async function createWorktreeReaperRealDeps() {
2300
2300
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
2301
- const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-3RKV6KQO.js");
2301
+ const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-WF7X43XI.js");
2302
2302
  const { statSync: statSync3 } = await import("fs");
2303
2303
  const { basename: basename2 } = await import("path");
2304
2304
  const { promisify: promisify2 } = await import("util");
@@ -2513,7 +2513,7 @@ async function gcStaleCheckpoints() {
2513
2513
  }
2514
2514
  async function pollTaskGroupBarriers() {
2515
2515
  try {
2516
- const { checkAndFireBarriers } = await import("./tasks-crud-RDWLWYWV.js");
2516
+ const { checkAndFireBarriers } = await import("./tasks-crud-IW3ZBFHL.js");
2517
2517
  const firedGroupIds = await checkAndFireBarriers();
2518
2518
  if (firedGroupIds.length === 0) return 0;
2519
2519
  const { getClient } = await import("./lib/database.js");
@@ -7,7 +7,7 @@ import "./chunk-Z6BZQHP5.js";
7
7
  import "./chunk-GUMRIUI5.js";
8
8
  import {
9
9
  fastDbInit
10
- } from "./chunk-G3UK4TTT.js";
10
+ } from "./chunk-OMJH4DQ7.js";
11
11
  import {
12
12
  getClient
13
13
  } from "./chunk-BIM763ML.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-M6E76DMO.js";
5
- import "./chunk-VYLDGF4D.js";
4
+ } from "./chunk-SRGBHZ3H.js";
5
+ import "./chunk-S4Y5YXPX.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
  export {
8
8
  createCRMWebhookHandler,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-3KAYKHVB.js";
3
+ } from "./chunk-X3VIRILN.js";
4
4
  import "./chunk-YYKY45TM.js";
5
- import "./chunk-SNJEQPPA.js";
6
- import "./chunk-BAXNI3A5.js";
5
+ import "./chunk-UWT664G5.js";
6
+ import "./chunk-45AA4HOH.js";
7
7
  import "./chunk-EIKATSE4.js";
8
8
  import "./chunk-E23LNUWJ.js";
9
9
  import "./chunk-4JERP7NT.js";
@@ -58,14 +58,14 @@ import {
58
58
  shouldKillIdleSession,
59
59
  shouldKillSession,
60
60
  shouldNudgeEmployee
61
- } from "./chunk-T5JJBIUB.js";
62
- import "./chunk-LB5B4NJ6.js";
63
- import "./chunk-6AY7VXSF.js";
64
- import "./chunk-HRUI3Q42.js";
65
- import "./chunk-3KAYKHVB.js";
61
+ } from "./chunk-ZWIYJV2F.js";
62
+ import "./chunk-D2527Q5Y.js";
63
+ import "./chunk-U6M5C3MB.js";
64
+ import "./chunk-JEDQHPPC.js";
65
+ import "./chunk-X3VIRILN.js";
66
66
  import "./chunk-YYKY45TM.js";
67
- import "./chunk-SNJEQPPA.js";
68
- import "./chunk-BAXNI3A5.js";
67
+ import "./chunk-UWT664G5.js";
68
+ import "./chunk-45AA4HOH.js";
69
69
  import "./chunk-EIKATSE4.js";
70
70
  import "./chunk-E23LNUWJ.js";
71
71
  import "./chunk-4JERP7NT.js";
@@ -0,0 +1,7 @@
1
+ import {
2
+ waitForDaemonReady
3
+ } from "./chunk-FLNSJ2TC.js";
4
+ import "./chunk-MLKGABMK.js";
5
+ export {
6
+ waitForDaemonReady
7
+ };
@@ -14,9 +14,9 @@ import {
14
14
  rowToDocument,
15
15
  rowToWorkspace,
16
16
  updateChunksImportance
17
- } from "./chunk-BST5NSJC.js";
17
+ } from "./chunk-2OZMCTYQ.js";
18
18
  import "./chunk-3QDSCJ3F.js";
19
- import "./chunk-OIMQGA62.js";
19
+ import "./chunk-J6REQ7CV.js";
20
20
  import "./chunk-CHCA3ZM2.js";
21
21
  import "./chunk-OTVEIJUQ.js";
22
22
  import "./chunk-66RCRDIF.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  DreamingEngine
3
- } from "./chunk-MPUIO6GF.js";
4
- import "./chunk-3KAYKHVB.js";
3
+ } from "./chunk-5ZG2JMZH.js";
4
+ import "./chunk-X3VIRILN.js";
5
5
  import "./chunk-YYKY45TM.js";
6
- import "./chunk-SNJEQPPA.js";
7
- import "./chunk-BAXNI3A5.js";
6
+ import "./chunk-UWT664G5.js";
7
+ import "./chunk-45AA4HOH.js";
8
8
  import "./chunk-EIKATSE4.js";
9
9
  import "./chunk-E23LNUWJ.js";
10
10
  import "./chunk-4JERP7NT.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportOrchestration
4
- } from "./chunk-J53PHGGC.js";
4
+ } from "./chunk-XMVEGUPC.js";
5
5
  import "./chunk-A47MXY2I.js";
6
- import "./chunk-QUZ4VK3R.js";
6
+ import "./chunk-JKSK4VFX.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "./chunk-OIMQGA62.js";
10
+ } from "./chunk-J6REQ7CV.js";
11
11
  import "./chunk-CHCA3ZM2.js";
12
12
  import "./chunk-OTVEIJUQ.js";
13
13
  import "./chunk-66RCRDIF.js";
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  importOrchestration,
4
4
  validatePackage
5
- } from "./chunk-J53PHGGC.js";
5
+ } from "./chunk-XMVEGUPC.js";
6
6
  import "./chunk-A47MXY2I.js";
7
- import "./chunk-QUZ4VK3R.js";
7
+ import "./chunk-JKSK4VFX.js";
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "./chunk-OIMQGA62.js";
11
+ } from "./chunk-J6REQ7CV.js";
12
12
  import "./chunk-CHCA3ZM2.js";
13
13
  import "./chunk-OTVEIJUQ.js";
14
14
  import "./chunk-66RCRDIF.js";
@@ -1,51 +1,51 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  computeMcpSurfaceHash
4
- } from "./chunk-JRRNRSZC.js";
4
+ } from "./chunk-75L2YCD4.js";
5
5
  import "./chunk-WCGNCH3Q.js";
6
- import "./chunk-HG7ZX2UT.js";
6
+ import "./chunk-QYTUXYAM.js";
7
7
  import "./chunk-557C2IGL.js";
8
- import "./chunk-J53PHGGC.js";
8
+ import "./chunk-XMVEGUPC.js";
9
9
  import "./chunk-QQCZLNUC.js";
10
- import "./chunk-BST5NSJC.js";
10
+ import "./chunk-2OZMCTYQ.js";
11
11
  import "./chunk-W7DHFGCB.js";
12
12
  import "./chunk-ORU5LDIT.js";
13
- import "./chunk-MPUIO6GF.js";
14
- import "./chunk-3HIYBZ62.js";
13
+ import "./chunk-5ZG2JMZH.js";
14
+ import "./chunk-NF2OBCEI.js";
15
15
  import "./chunk-CRCB5S7I.js";
16
- import "./chunk-T5JJBIUB.js";
17
- import "./chunk-B3ZUS3UU.js";
16
+ import "./chunk-ZWIYJV2F.js";
17
+ import "./chunk-ZHKMRKH3.js";
18
18
  import "./chunk-PVYR4FCQ.js";
19
19
  import "./chunk-OHSJOKKW.js";
20
20
  import "./chunk-WHRTDN5J.js";
21
21
  import "./chunk-E6ORBQHP.js";
22
22
  import "./chunk-6J5FWFAI.js";
23
23
  import "./chunk-32SXNM3G.js";
24
- import "./chunk-7YTO3LHB.js";
25
- import "./chunk-KNLQAVLI.js";
24
+ import "./chunk-6UJ4CX5L.js";
25
+ import "./chunk-VAEYG5V5.js";
26
26
  import "./chunk-XWH7QGCU.js";
27
27
  import "./chunk-JT3I3OWU.js";
28
28
  import "./chunk-5EP4TCZ2.js";
29
- import "./chunk-YFYUNROP.js";
29
+ import "./chunk-VINX2BZI.js";
30
30
  import "./chunk-IJTCNN5I.js";
31
- import "./chunk-3PHTJIC3.js";
32
- import "./chunk-RGBABIFH.js";
31
+ import "./chunk-WI3T3GTH.js";
32
+ import "./chunk-54X2PQBA.js";
33
33
  import "./chunk-HMP5VT6A.js";
34
- import "./chunk-OXZHAERM.js";
35
- import "./chunk-LB5B4NJ6.js";
36
- import "./chunk-L6CLX2QF.js";
34
+ import "./chunk-6L4LI4VQ.js";
35
+ import "./chunk-D2527Q5Y.js";
36
+ import "./chunk-AQGBOSA4.js";
37
37
  import "./chunk-SPCO7SNH.js";
38
- import "./chunk-4X3VWI22.js";
39
- import "./chunk-TK7ZDWU3.js";
38
+ import "./chunk-VST5V263.js";
39
+ import "./chunk-H5C4PS64.js";
40
40
  import "./chunk-E5UHM2KN.js";
41
41
  import "./chunk-3OEVDGIY.js";
42
42
  import "./chunk-5QJFZYDD.js";
43
43
  import "./chunk-67547XFJ.js";
44
44
  import "./chunk-X2FHTDIU.js";
45
45
  import "./chunk-SSC7EKY2.js";
46
- import "./chunk-OEA44GCC.js";
46
+ import "./chunk-U7N2GEBI.js";
47
47
  import "./chunk-75H4R62K.js";
48
- import "./chunk-N2J6FWMQ.js";
48
+ import "./chunk-ROHUOHJI.js";
49
49
  import "./chunk-TXUSQZLH.js";
50
50
  import "./chunk-KQ4Z2G24.js";
51
51
  import "./chunk-L3TB7CC3.js";
@@ -55,12 +55,12 @@ import "./chunk-2XZ6X3PJ.js";
55
55
  import "./chunk-OEEQGXCG.js";
56
56
  import "./chunk-UUY3USYA.js";
57
57
  import "./chunk-A47MXY2I.js";
58
- import "./chunk-267TDVN7.js";
58
+ import "./chunk-I33GPQUB.js";
59
59
  import "./chunk-JMGYZLJX.js";
60
60
  import "./chunk-X2Z5GT3V.js";
61
- import "./chunk-ZJSH3L6R.js";
62
- import "./chunk-QUZ4VK3R.js";
63
- import "./chunk-EC4O5ITE.js";
61
+ import "./chunk-X5EGTW2P.js";
62
+ import "./chunk-JKSK4VFX.js";
63
+ import "./chunk-QLZ3HCNN.js";
64
64
  import "./chunk-7UMCQQWS.js";
65
65
  import "./chunk-Z6BZQHP5.js";
66
66
  import "./chunk-GUMRIUI5.js";
@@ -70,22 +70,22 @@ import "./chunk-UCQITDLM.js";
70
70
  import "./chunk-3QDSCJ3F.js";
71
71
  import "./chunk-5RACW3LX.js";
72
72
  import "./chunk-QGGH7LOU.js";
73
- import "./chunk-6AY7VXSF.js";
74
- import "./chunk-HRUI3Q42.js";
75
- import "./chunk-G3UK4TTT.js";
76
- import "./chunk-YDUS2DFZ.js";
77
- import "./chunk-IVN7UUKK.js";
73
+ import "./chunk-U6M5C3MB.js";
74
+ import "./chunk-JEDQHPPC.js";
75
+ import "./chunk-OMJH4DQ7.js";
76
+ import "./chunk-XA753DUQ.js";
77
+ import "./chunk-SDZ654BU.js";
78
78
  import "./chunk-AB4PAQYK.js";
79
- import "./chunk-OIMQGA62.js";
79
+ import "./chunk-J6REQ7CV.js";
80
80
  import "./chunk-CHCA3ZM2.js";
81
81
  import "./chunk-OTVEIJUQ.js";
82
82
  import "./chunk-66RCRDIF.js";
83
83
  import "./chunk-EOYVD5U3.js";
84
84
  import "./chunk-Y25OJWOQ.js";
85
- import "./chunk-3KAYKHVB.js";
85
+ import "./chunk-X3VIRILN.js";
86
86
  import "./chunk-YYKY45TM.js";
87
- import "./chunk-SNJEQPPA.js";
88
- import "./chunk-BAXNI3A5.js";
87
+ import "./chunk-UWT664G5.js";
88
+ import "./chunk-45AA4HOH.js";
89
89
  import "./chunk-EIKATSE4.js";
90
90
  import "./chunk-E23LNUWJ.js";
91
91
  import "./chunk-4JERP7NT.js";
@@ -110,7 +110,7 @@ import "./chunk-NLEW62VC.js";
110
110
  import "./chunk-HYZV25LY.js";
111
111
  import "./chunk-GJV3WDWM.js";
112
112
  import "./chunk-YGAAZN3E.js";
113
- import "./chunk-VYLDGF4D.js";
113
+ import "./chunk-S4Y5YXPX.js";
114
114
  import "./chunk-ML4S5SHZ.js";
115
115
  import "./chunk-MP2AFCGL.js";
116
116
  import {