@askexenow/exe-os 0.9.148 → 0.9.153

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 (209) hide show
  1. package/dist/{active-agent-NCZCDDZ2.js → active-agent-HDUT3T3I.js} +2 -2
  2. package/dist/{active-agent-KMQCNXXD.js → active-agent-XHERKXH6.js} +2 -2
  3. package/dist/{agentic-ontology-SQR74CO7.js → agentic-ontology-GMK3MB3U.js} +1 -1
  4. package/dist/{backfill-metadata-KMDWLDXU.js → backfill-metadata-PPI5QFYW.js} +3 -3
  5. package/dist/{behaviors-4U2N5L4E.js → behaviors-JG75DNG3.js} +2 -2
  6. package/dist/bin/agentic-ontology-backfill.js +4 -4
  7. package/dist/bin/agentic-reflection-backfill.js +5 -5
  8. package/dist/bin/agentic-semantic-label.js +4 -4
  9. package/dist/bin/backfill-conversations.js +3 -3
  10. package/dist/bin/backfill-responses.js +3 -3
  11. package/dist/bin/backfill-vectors.js +4 -4
  12. package/dist/bin/bulk-sync-postgres.js +8 -7
  13. package/dist/bin/cleanup-stale-review-tasks.js +5 -5
  14. package/dist/bin/cli.js +12 -12
  15. package/dist/bin/exe-agent-config.js +1 -1
  16. package/dist/bin/exe-agent.js +4 -4
  17. package/dist/bin/exe-assign.js +4 -4
  18. package/dist/bin/exe-boot.js +13 -13
  19. package/dist/bin/exe-call.js +4 -4
  20. package/dist/bin/exe-cloud.js +3 -3
  21. package/dist/bin/exe-dispatch.js +5 -5
  22. package/dist/bin/exe-doctor.js +1 -1
  23. package/dist/bin/exe-export-behaviors.js +6 -6
  24. package/dist/bin/exe-forget.js +5 -5
  25. package/dist/bin/exe-gateway.js +5 -5
  26. package/dist/bin/exe-heartbeat.js +5 -5
  27. package/dist/bin/exe-kill.js +28 -6
  28. package/dist/bin/exe-launch-agent.js +10 -10
  29. package/dist/bin/exe-new-employee.js +6 -6
  30. package/dist/bin/exe-pending-messages.js +6 -6
  31. package/dist/bin/exe-pending-notifications.js +5 -5
  32. package/dist/bin/exe-pending-reviews.js +5 -5
  33. package/dist/bin/exe-rename.js +4 -4
  34. package/dist/bin/exe-review.js +7 -7
  35. package/dist/bin/exe-search.js +4 -4
  36. package/dist/bin/exe-session-cleanup.js +15 -14
  37. package/dist/bin/exe-settings.js +3 -3
  38. package/dist/bin/exe-start-codex.js +10 -10
  39. package/dist/bin/exe-start-opencode.js +7 -7
  40. package/dist/bin/exe-status.js +6 -6
  41. package/dist/bin/exe-team.js +2 -2
  42. package/dist/bin/git-sweep.js +5 -5
  43. package/dist/bin/graph-backfill.js +3 -3
  44. package/dist/bin/graph-export.js +4 -4
  45. package/dist/bin/install.js +5 -5
  46. package/dist/bin/intercom-check.js +4 -4
  47. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  48. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  49. package/dist/bin/pre-publish.js +1 -1
  50. package/dist/bin/scan-tasks.js +5 -5
  51. package/dist/bin/setup.js +1 -1
  52. package/dist/bin/shard-migrate.js +3 -3
  53. package/dist/bin/stack-update.js +21 -0
  54. package/dist/{capacity-monitor-Q5M5SVRC.js → capacity-monitor-5IVGAQ34.js} +6 -6
  55. package/dist/{catchup-brief-IPNSW7RQ.js → catchup-brief-HFJR32Q3.js} +7 -7
  56. package/dist/{chunk-Y6TS42WD.js → chunk-25NSQUZ3.js} +6 -6
  57. package/dist/{chunk-2BPO7VQF.js → chunk-3ZU7RTMF.js} +35 -9
  58. package/dist/{chunk-MKUVEDUE.js → chunk-4IEQIUBZ.js} +2 -2
  59. package/dist/{chunk-ONMRBKAX.js → chunk-4PDXCEXT.js} +37 -42
  60. package/dist/{chunk-J4RAXKTC.js → chunk-4RKL53PD.js} +5 -4
  61. package/dist/{chunk-AERGE6GC.js → chunk-5NSTNICM.js} +1 -1
  62. package/dist/{chunk-FNMNKYVH.js → chunk-5U5MI4VH.js} +56 -56
  63. package/dist/{chunk-TOXHEZN5.js → chunk-7WEVNBV2.js} +2 -2
  64. package/dist/{chunk-UPL5FEZY.js → chunk-AFMQR776.js} +1 -1
  65. package/dist/{chunk-XK7VZFCC.js → chunk-AMVDQ7HH.js} +12 -8
  66. package/dist/{chunk-AGFWOII2.js → chunk-BPBUSSYF.js} +196 -9
  67. package/dist/{chunk-MBA4NNTS.js → chunk-BR5UVRA2.js} +1 -1
  68. package/dist/{chunk-4GLEFA2X.js → chunk-BV2JVO2U.js} +1 -1
  69. package/dist/{chunk-LL5EY6OQ.js → chunk-CBLNQNWT.js} +1 -1
  70. package/dist/{chunk-VYVESELG.js → chunk-CF4DZKKE.js} +2 -2
  71. package/dist/{chunk-PMWDO5FR.js → chunk-CO2SF5SB.js} +1 -1
  72. package/dist/{chunk-ARGBV4PP.js → chunk-EOU4ZLRZ.js} +1 -1
  73. package/dist/{chunk-CGQ5PWS3.js → chunk-EYQ3DHHI.js} +4 -4
  74. package/dist/{chunk-JH7Z2AZ7.js → chunk-GJMHN45Z.js} +1 -1
  75. package/dist/{chunk-X2XE65WV.js → chunk-H5STRY47.js} +9 -4
  76. package/dist/chunk-HZNQYDAN.js +94 -0
  77. package/dist/{chunk-DBXKWFTK.js → chunk-IWGGTD5D.js} +3 -3
  78. package/dist/{chunk-JF3Q5YKI.js → chunk-JJA6F6NA.js} +2 -2
  79. package/dist/{chunk-NJKERRSG.js → chunk-JUM3EUB2.js} +2 -2
  80. package/dist/{chunk-ZMJHXDZR.js → chunk-L5WTOR3T.js} +3 -3
  81. package/dist/{chunk-YPSN64BU.js → chunk-LIJC4CRF.js} +1 -1
  82. package/dist/{chunk-DTLASDQM.js → chunk-LM7TQYLW.js} +1 -1
  83. package/dist/{chunk-B4HAUSVQ.js → chunk-M37FGM3X.js} +2 -2
  84. package/dist/{chunk-TH6HTK2L.js → chunk-MBYJEE3B.js} +5 -1
  85. package/dist/{chunk-YOG7TWMO.js → chunk-MNIJA5BL.js} +1 -1
  86. package/dist/{chunk-XWQKCCCO.js → chunk-MWRHXGAB.js} +7 -0
  87. package/dist/{chunk-FG4Z2XFU.js → chunk-OEPEY47B.js} +1 -1
  88. package/dist/{chunk-ZUAXTH6Z.js → chunk-OQYZQR24.js} +2 -2
  89. package/dist/{chunk-3MLGUSKS.js → chunk-PC6Y4ATU.js} +1 -1
  90. package/dist/{chunk-4EINMZNO.js → chunk-PMCXWAVQ.js} +2 -2
  91. package/dist/{chunk-2OATM2JZ.js → chunk-Q7GVSS2J.js} +1 -1
  92. package/dist/{chunk-LJML7HT2.js → chunk-RAMU6E5T.js} +1 -1
  93. package/dist/{chunk-26UVGP3I.js → chunk-SFV2XRPY.js} +1 -1
  94. package/dist/{chunk-EHNSK2Y4.js → chunk-SGLVCPZP.js} +2 -2
  95. package/dist/{chunk-QB66MH2V.js → chunk-SJKOILTX.js} +1 -1
  96. package/dist/{chunk-NFHFNPTN.js → chunk-UHL4QL5E.js} +1 -1
  97. package/dist/{chunk-IFACD7E6.js → chunk-UPAEAL6K.js} +3 -3
  98. package/dist/{chunk-HHMHL4FB.js → chunk-UQE5R5PM.js} +2 -2
  99. package/dist/{chunk-3FIWKONP.js → chunk-VJW3E5KW.js} +14 -14
  100. package/dist/{chunk-MKPSMRVX.js → chunk-WLSSSDAR.js} +1 -1
  101. package/dist/{chunk-LC53LVOT.js → chunk-WPNWFI4A.js} +2 -2
  102. package/dist/{chunk-VK2AWQ6D.js → chunk-WZMS6X56.js} +2 -2
  103. package/dist/{chunk-VNTDQUOG.js → chunk-XQC5BNCJ.js} +17 -12
  104. package/dist/{chunk-UPMKSFBU.js → chunk-YOH3ABTS.js} +2 -2
  105. package/dist/{chunk-ZZLTJXKR.js → chunk-ZGKU4PMY.js} +2 -2
  106. package/dist/{crdt-sync-XMC6LT2Q.js → crdt-sync-3VQP2ISB.js} +1 -1
  107. package/dist/{crm-webhook-QMHD5YYQ.js → crm-webhook-SOUYMO3X.js} +2 -2
  108. package/dist/{cto-delegation-gate-BTZWAA4E.js → cto-delegation-gate-UGCMXYAO.js} +4 -4
  109. package/dist/{daemon-orchestration-HFODCB52.js → daemon-orchestration-MD34RKQZ.js} +7 -7
  110. package/dist/{exe-drift-SED6KQTZ.js → exe-drift-L5ZHO3CZ.js} +2 -2
  111. package/dist/{exe-export-ADSWDE5U.js → exe-export-UDQU7MMM.js} +5 -5
  112. package/dist/{exe-import-WFLNGJZP.js → exe-import-OY42LQL4.js} +5 -5
  113. package/dist/{exe-key-4L32R46F.js → exe-key-FC67RNXI.js} +1 -1
  114. package/dist/{fast-db-init-HVAVS35N.js → fast-db-init-TLOT2K43.js} +1 -1
  115. package/dist/gateway/index.js +6 -6
  116. package/dist/{git-staleness-BY4ZK6MW.js → git-staleness-MSTOMG55.js} +1 -1
  117. package/dist/{git-task-sweep-RSRASAHB.js → git-task-sweep-D4IKRGCV.js} +5 -5
  118. package/dist/{global-procedures-EKYSVONR.js → global-procedures-ISPSC4B5.js} +3 -3
  119. package/dist/{graph-auto-extract-HWZ5GVXZ.js → graph-auto-extract-D4I7DF2S.js} +1 -1
  120. package/dist/{hook-integrity-PR4BPZBT.js → hook-integrity-SA7S2SNI.js} +1 -1
  121. package/dist/hooks/bug-report-worker.js +6 -6
  122. package/dist/hooks/codex-stop-task-finalizer.js +6 -6
  123. package/dist/hooks/commit-complete.js +7 -7
  124. package/dist/hooks/error-recall.js +5 -5
  125. package/dist/hooks/exe-heartbeat-hook.js +2 -2
  126. package/dist/hooks/ingest.js +9 -9
  127. package/dist/hooks/instructions-loaded.js +3 -3
  128. package/dist/hooks/notification.js +3 -3
  129. package/dist/hooks/post-compact.js +6 -6
  130. package/dist/hooks/post-tool-combined.js +4 -4
  131. package/dist/hooks/pre-compact.js +7 -7
  132. package/dist/hooks/pre-tool-use.js +19 -10
  133. package/dist/hooks/prompt-submit.js +109 -45
  134. package/dist/hooks/session-end.js +11 -11
  135. package/dist/hooks/session-start.js +7 -7
  136. package/dist/hooks/stop.js +10 -10
  137. package/dist/hooks/subagent-stop.js +6 -6
  138. package/dist/hooks/summary-worker.js +10 -10
  139. package/dist/index.js +12 -12
  140. package/dist/{installer-X5FEYJIA.js → installer-3YHQ5DJZ.js} +4 -4
  141. package/dist/{installer-RLKOACKG.js → installer-4YIOBAFV.js} +4 -4
  142. package/dist/{installer-W4NY3OBF.js → installer-SPQDAGPW.js} +4 -4
  143. package/dist/lib/cloud-sync.js +3 -3
  144. package/dist/lib/consolidation.js +4 -4
  145. package/dist/lib/database.js +1 -1
  146. package/dist/lib/db.js +1 -1
  147. package/dist/lib/employee-templates.js +4 -4
  148. package/dist/lib/employees.js +1 -1
  149. package/dist/lib/exe-daemon.js +61 -44
  150. package/dist/lib/hybrid-search.js +4 -4
  151. package/dist/lib/identity.js +1 -1
  152. package/dist/lib/messaging.js +5 -5
  153. package/dist/lib/reminders.js +2 -2
  154. package/dist/lib/schedules.js +4 -4
  155. package/dist/lib/skill-learning.js +3 -3
  156. package/dist/lib/store.js +3 -3
  157. package/dist/lib/task-router.js +2 -2
  158. package/dist/lib/tasks.js +5 -5
  159. package/dist/lib/tmux-routing.js +4 -4
  160. package/dist/lib/token-spend.js +2 -2
  161. package/dist/mcp/register-tools.js +42 -42
  162. package/dist/mcp/server.js +43 -43
  163. package/dist/mcp/tools/complete-reminder.js +3 -3
  164. package/dist/mcp/tools/create-reminder.js +3 -3
  165. package/dist/mcp/tools/create-task.js +7 -7
  166. package/dist/mcp/tools/deactivate-behavior.js +4 -4
  167. package/dist/mcp/tools/list-reminders.js +3 -3
  168. package/dist/mcp/tools/list-tasks.js +7 -7
  169. package/dist/mcp/tools/send-message.js +7 -7
  170. package/dist/mcp/tools/update-task.js +6 -6
  171. package/dist/{mcp-http-config-6YLW4PFG.js → mcp-http-config-JBNX3DAR.js} +2 -2
  172. package/dist/{memory-cards-UAQCO4QR.js → memory-cards-SYVGSLXW.js} +1 -1
  173. package/dist/{memory-poisoning-defense-VWITZ4WO.js → memory-poisoning-defense-T7AC4LZN.js} +1 -1
  174. package/dist/{memory-reflection-JQC4ZSUD.js → memory-reflection-FNJU7VFC.js} +1 -1
  175. package/dist/{notifications-YDOKTVCH.js → notifications-76XXO4Q7.js} +4 -4
  176. package/dist/{orchestrator-BZ2D6ZM6.js → orchestrator-XAT2JSBT.js} +6 -6
  177. package/dist/{plan-limits-KUTODKG6.js → plan-limits-IAUNTZUW.js} +2 -2
  178. package/dist/{projection-worker-UY7R2EQJ.js → projection-worker-S6LYSY22.js} +1 -1
  179. package/dist/{push-notifications-KDYFOJRI.js → push-notifications-NSYLKFXR.js} +1 -1
  180. package/dist/{review-polling-DORNZ2KI.js → review-polling-E24XBNSI.js} +5 -5
  181. package/dist/runtime/index.js +7 -7
  182. package/dist/{session-events-5WR5RVDK.js → session-events-CCXFQRFW.js} +5 -5
  183. package/dist/{session-kill-telemetry-DHSQV2CI.js → session-kill-telemetry-TX5NCPUV.js} +2 -2
  184. package/dist/{session-scope-D4Q62ZOZ.js → session-scope-7QCZF3MJ.js} +4 -4
  185. package/dist/{setup-wizard-QVNTI3T4.js → setup-wizard-FA6YEYER.js} +1 -1
  186. package/dist/signal-paths-4GOIRLGH.js +19 -0
  187. package/dist/{task-enforcement-OYCQXBBC.js → task-enforcement-NITY7TBM.js} +4 -4
  188. package/dist/{task-scope-WWRNU2LU.js → task-scope-YZDSPORL.js} +4 -4
  189. package/dist/{tasks-crud-75AUVZPO.js → tasks-crud-W5BFKNUS.js} +4 -4
  190. package/dist/{tasks-review-UMZN5ZPQ.js → tasks-review-VXMELVLA.js} +4 -4
  191. package/dist/{token-budget-62TYDIMI.js → token-budget-LJC7HHKB.js} +1 -1
  192. package/dist/{tool-telemetry-JL6NY3KP.js → tool-telemetry-L3WQDRMH.js} +1 -1
  193. package/dist/tui/App.js +13 -13
  194. package/dist/{tui-data-C5I2YU4C.js → tui-data-FQYUPCYX.js} +4 -4
  195. package/dist/{worker-gate-Q5Y6B5N7.js → worker-gate-OZCNSASA.js} +1 -1
  196. package/dist/{workflow-engine-KAKVU7NC.js → workflow-engine-DA3AWD45.js} +2 -2
  197. package/package.json +1 -1
  198. package/release-notes.json +115 -115
  199. package/dist/chunk-QHQJ7DLL.js +0 -153
  200. /package/dist/{chunk-524VLFFY.js → chunk-BRXDLJBU.js} +0 -0
  201. /package/dist/{chunk-H6ADW3YC.js → chunk-OU7SLHNA.js} +0 -0
  202. /package/dist/{chunk-TSCZMB3P.js → chunk-PJCTBGWN.js} +0 -0
  203. /package/dist/{chunk-TKEDF7KV.js → chunk-U3B3TVLQ.js} +0 -0
  204. /package/dist/{chunk-7B5DQGXG.js → chunk-UIOTTKLS.js} +0 -0
  205. /package/dist/{chunk-A3A2E42I.js → chunk-VN6UUZNO.js} +0 -0
  206. /package/dist/{chunk-UJMDHPIN.js → chunk-YABPRFBT.js} +0 -0
  207. /package/dist/{chunk-ZBA74MMX.js → chunk-YH7VB655.js} +0 -0
  208. /package/dist/{core-memory-C3JLISAU.js → core-memory-ONZIJYGR.js} +0 -0
  209. /package/dist/{wiki-acl-5EC5VNYG.js → wiki-acl-UE3CRAPQ.js} +0 -0
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  PlanLimitError,
32
32
  assertEmployeeLimitSync
33
- } from "./chunk-AERGE6GC.js";
33
+ } from "./chunk-5NSTNICM.js";
34
34
  import {
35
35
  getProjectName
36
36
  } from "./chunk-OPU3NYOO.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk-MP2AFCGL.js";
46
46
  import {
47
47
  ensureAgentSymlink
48
- } from "./chunk-DTLASDQM.js";
48
+ } from "./chunk-LM7TQYLW.js";
49
49
  import {
50
50
  expandDualPrefixTools
51
51
  } from "./chunk-HYZV25LY.js";
@@ -58,7 +58,7 @@ import {
58
58
  isCoordinatorName,
59
59
  loadEmployees,
60
60
  loadEmployeesSync
61
- } from "./chunk-TH6HTK2L.js";
61
+ } from "./chunk-MBYJEE3B.js";
62
62
  import {
63
63
  loadDeviceId
64
64
  } from "./chunk-NNT2ZNMC.js";
@@ -359,7 +359,7 @@ async function createTaskCore(input) {
359
359
  if (isCoordinatorSession) {
360
360
  earlySessionScope = resolved;
361
361
  } else {
362
- const { getSessionProject } = await import("./session-scope-D4Q62ZOZ.js");
362
+ const { getSessionProject } = await import("./session-scope-7QCZF3MJ.js");
363
363
  const sessionProject = getSessionProject(resolved);
364
364
  if (sessionProject && sessionProject !== input.projectName) {
365
365
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -716,52 +716,47 @@ async function updateTaskStatus(input) {
716
716
  const taskFile = String(row.task_file);
717
717
  const requestedStatus = input.status;
718
718
  const previousStatus = String(row.status);
719
- const isReviewTransition = (input.status === "done" || input.status === "needs_review") && previousStatus !== "needs_review" && previousStatus !== "closed" && row.reviewer && !isCoordinatorName(String(row.assigned_to));
720
- if (isReviewTransition) {
719
+ if (input.status === "done") {
721
720
  input.status = "needs_review";
721
+ }
722
+ const isReviewTransition = input.status === "needs_review" && previousStatus !== "needs_review" && previousStatus !== "closed";
723
+ if (isReviewTransition && row.reviewer) {
722
724
  const reviewer = String(row.reviewer);
723
- try {
724
- const { mkdirSync: mkdirSync3, writeFileSync: writeFileSync2 } = await import("fs");
725
- const { join } = await import("path");
726
- const { homedir } = await import("os");
727
- const signalDir = join(homedir(), ".exe-os", "task-signals");
728
- mkdirSync3(signalDir, { recursive: true });
729
- const signalPath = join(signalDir, `${reviewer}.review-pending`);
730
- writeFileSync2(signalPath, JSON.stringify({
731
- task_id: taskId,
732
- title: String(row.title),
733
- assigned_to: String(row.assigned_to),
734
- reviewer,
735
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
736
- }));
737
- process.stderr.write(
738
- `[tasks-crud] Review signal written for ${reviewer}: "${String(row.title)}"
739
- `
740
- );
741
- } catch {
742
- }
743
725
  try {
744
726
  const { sendIntercom: sendIntercom2, employeeSessionName: employeeSessionName2, resolveExeSession: resolveExeSession2, isExeSession: isExeSession2 } = await import("./lib/tmux-routing.js");
745
- const exeSession = resolveExeSession2();
727
+ const exeSession = row.session_scope ? String(row.session_scope) : resolveExeSession2();
746
728
  if (exeSession) {
747
729
  if (isCoordinatorName(reviewer)) {
748
730
  if (isExeSession2(exeSession)) {
749
731
  sendIntercom2(exeSession, { force: true });
732
+ process.stderr.write(
733
+ `[tasks-crud] Review intercom sent to ${exeSession}: "${String(row.title)}" by ${String(row.assigned_to)}
734
+ `
735
+ );
750
736
  }
751
737
  } else {
752
738
  const reviewerSession = employeeSessionName2(reviewer, exeSession);
753
739
  sendIntercom2(reviewerSession, { force: true });
740
+ process.stderr.write(
741
+ `[tasks-crud] Review intercom sent to ${reviewerSession}: "${String(row.title)}" by ${String(row.assigned_to)}
742
+ `
743
+ );
754
744
  }
755
745
  }
756
- } catch {
746
+ } catch (err) {
747
+ process.stderr.write(
748
+ `[tasks-crud] Review intercom failed for ${reviewer}: ${err instanceof Error ? err.message : String(err)}
749
+ `
750
+ );
757
751
  }
758
752
  }
759
753
  const VALID_TRANSITIONS = {
760
- open: ["in_progress", "done", "needs_review", "cancelled", "blocked"],
761
- in_progress: ["in_progress", "open", "done", "needs_review", "blocked", "cancelled"],
762
- done: ["needs_review", "closed"],
754
+ open: ["in_progress", "needs_review", "cancelled", "blocked"],
755
+ in_progress: ["in_progress", "open", "needs_review", "blocked", "cancelled"],
763
756
  blocked: ["open", "in_progress", "cancelled"],
764
- needs_review: ["done", "closed", "in_progress", "open"],
757
+ needs_review: ["closed", "in_progress", "open"],
758
+ closed: [],
759
+ // terminal — no transitions out
765
760
  cancelled: ["open"]
766
761
  // allow re-opening cancelled tasks
767
762
  };
@@ -1309,7 +1304,7 @@ async function cleanupOrphanedReviews(sessionScope) {
1309
1304
  });
1310
1305
  const staleThreshold = new Date(Date.now() - 60 * 60 * 1e3).toISOString();
1311
1306
  const r2 = await client.execute({
1312
- sql: `UPDATE tasks SET status = 'done', updated_at = ?
1307
+ sql: `UPDATE tasks SET status = 'closed', updated_at = ?
1313
1308
  WHERE status = 'needs_review'
1314
1309
  AND result IS NOT NULL
1315
1310
  AND updated_at < ?
@@ -1387,7 +1382,7 @@ async function createReviewForCompletedTask(row, result, _baseDir, now) {
1387
1382
  const rawReviewer = row.reviewer || row.assigned_by;
1388
1383
  const reviewer = rawReviewer ? String(rawReviewer) : coordinatorName;
1389
1384
  const currentStatus = String(row.status ?? "");
1390
- if (currentStatus === "done") return;
1385
+ if (currentStatus === "closed") return;
1391
1386
  const existingResult = String(row.result ?? "");
1392
1387
  if (existingResult.includes("## Review notes")) return;
1393
1388
  let reviewerRole = "unknown";
@@ -1442,8 +1437,8 @@ async function createReviewForCompletedTask(row, result, _baseDir, now) {
1442
1437
  const autoApprove = false;
1443
1438
  if (!autoApprove) {
1444
1439
  try {
1445
- const key = getSessionKey();
1446
- const exeSession = getParentExe(key);
1440
+ const taskScope = row.session_scope ? String(row.session_scope) : null;
1441
+ const exeSession = taskScope || getParentExe(getSessionKey());
1447
1442
  if (exeSession) {
1448
1443
  sendIntercom(exeSession, { force: true });
1449
1444
  }
@@ -1463,10 +1458,10 @@ async function createReviewForCompletedTask(row, result, _baseDir, now) {
1463
1458
  `
1464
1459
  );
1465
1460
  try {
1466
- await updateTaskStatus({ taskId: originalTaskId, status: "done", skipReviewCreation: true });
1461
+ await updateTaskStatus({ taskId: originalTaskId, status: "closed", skipReviewCreation: true });
1467
1462
  } catch {
1468
1463
  await client.execute({
1469
- sql: "UPDATE tasks SET status = 'done', updated_at = ? WHERE id = ?",
1464
+ sql: "UPDATE tasks SET status = 'closed', updated_at = ? WHERE id = ?",
1470
1465
  args: [now, originalTaskId]
1471
1466
  });
1472
1467
  }
@@ -1481,11 +1476,11 @@ async function cleanupReviewFile(row, taskFile, _baseDir) {
1481
1476
  if (parentId) {
1482
1477
  let cascaded = false;
1483
1478
  try {
1484
- await updateTaskStatus({ taskId: parentId, status: "done", skipReviewCreation: true });
1479
+ await updateTaskStatus({ taskId: parentId, status: "closed", skipReviewCreation: true });
1485
1480
  cascaded = true;
1486
1481
  } catch {
1487
1482
  const result = await client.execute({
1488
- sql: "UPDATE tasks SET status = 'done', updated_at = ? WHERE id = ? AND status = 'needs_review'",
1483
+ sql: "UPDATE tasks SET status = 'closed', updated_at = ? WHERE id = ? AND status = 'needs_review'",
1489
1484
  args: [now, parentId]
1490
1485
  });
1491
1486
  cascaded = result.rowsAffected > 0;
@@ -1506,7 +1501,7 @@ async function cleanupReviewFile(row, taskFile, _baseDir) {
1506
1501
  const legacyTaskFile = `exe/${agent}/${slug}.md`;
1507
1502
  const legacyScope = sessionScopeFilter();
1508
1503
  const result = await client.execute({
1509
- sql: `UPDATE tasks SET status = 'done', updated_at = ? WHERE (task_file = ? OR task_file LIKE ?) AND status = 'needs_review'${legacyScope.sql}`,
1504
+ sql: `UPDATE tasks SET status = 'closed', updated_at = ? WHERE (task_file = ? OR task_file LIKE ?) AND status = 'needs_review'${legacyScope.sql}`,
1510
1505
  args: [now, legacyTaskFile, `tasks/%/${agent}/${slug}.md`, ...legacyScope.args]
1511
1506
  });
1512
1507
  if (result.rowsAffected > 0) {
@@ -1947,7 +1942,7 @@ async function verifyPaneAtCapacity(sessionName) {
1947
1942
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
1948
1943
  };
1949
1944
  }
1950
- const { isAtCapacity } = await import("./capacity-monitor-Q5M5SVRC.js");
1945
+ const { isAtCapacity } = await import("./capacity-monitor-5IVGAQ34.js");
1951
1946
  if (!isAtCapacity(pane)) {
1952
1947
  return {
1953
1948
  atCapacity: false,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-PMWDO5FR.js";
3
+ } from "./chunk-CO2SF5SB.js";
4
4
  import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-ONMRBKAX.js";
8
+ } from "./chunk-4PDXCEXT.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  getClient,
17
17
  isCoordinatorName
18
- } from "./chunk-TH6HTK2L.js";
18
+ } from "./chunk-MBYJEE3B.js";
19
19
 
20
20
  // src/lib/capacity-monitor.ts
21
21
  var CAPACITY_PATTERNS = [
@@ -264,7 +264,8 @@ async function pollCapacityDead() {
264
264
  reason: "capacity"
265
265
  });
266
266
  const client = getClient();
267
- const rlScope = sessionScopeFilter(null);
267
+ const sessionScope = windowName.includes("-") ? windowName.slice(windowName.indexOf("-") + 1) : null;
268
+ const rlScope = sessionScopeFilter(sessionScope);
268
269
  const openTasks = await client.execute({
269
270
  sql: `SELECT id, title, priority, task_file, status
270
271
  FROM tasks
@@ -3,7 +3,7 @@ import {
3
3
  getClient,
4
4
  isInitialized,
5
5
  loadEmployees
6
- } from "./chunk-TH6HTK2L.js";
6
+ } from "./chunk-MBYJEE3B.js";
7
7
  import {
8
8
  PLAN_LIMITS,
9
9
  checkLicense,
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-VB23RNNI.js";
4
4
  import {
5
5
  getToolUsageStats
6
- } from "./chunk-TSCZMB3P.js";
6
+ } from "./chunk-PJCTBGWN.js";
7
7
  import {
8
8
  AUTO_WAKE_MAX_RETRIES
9
- } from "./chunk-2BPO7VQF.js";
9
+ } from "./chunk-3ZU7RTMF.js";
10
10
  import {
11
11
  getToolCapabilityIndex
12
12
  } from "./chunk-J2OPV5FE.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-E6ORBQHP.js";
29
29
  import {
30
30
  listRecentSessionEvents
31
- } from "./chunk-QB66MH2V.js";
31
+ } from "./chunk-SJKOILTX.js";
32
32
  import {
33
33
  analyzeBlastRadius,
34
34
  buildCodeContextIndex,
@@ -40,63 +40,63 @@ import {
40
40
  } from "./chunk-V4MKR32F.js";
41
41
  import {
42
42
  runDriftProbes
43
- } from "./chunk-4GLEFA2X.js";
43
+ } from "./chunk-BV2JVO2U.js";
44
44
  import {
45
45
  exportOrchestration,
46
46
  importOrchestration,
47
47
  validatePackage
48
- } from "./chunk-JF3Q5YKI.js";
48
+ } from "./chunk-JJA6F6NA.js";
49
49
  import {
50
50
  loadOrchestrationPhase,
51
51
  setOrchestrationPhase
52
52
  } from "./chunk-6HFZ2KUC.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-J4RAXKTC.js";
55
+ } from "./chunk-4RKL53PD.js";
56
56
  import {
57
57
  registerCompleteReminder
58
- } from "./chunk-FG4Z2XFU.js";
58
+ } from "./chunk-OEPEY47B.js";
59
59
  import {
60
60
  registerDeactivateBehavior
61
- } from "./chunk-IFACD7E6.js";
61
+ } from "./chunk-UPAEAL6K.js";
62
62
  import {
63
63
  registerSendMessage
64
- } from "./chunk-VK2AWQ6D.js";
64
+ } from "./chunk-WZMS6X56.js";
65
65
  import {
66
66
  registerCreateTask
67
- } from "./chunk-XK7VZFCC.js";
67
+ } from "./chunk-AMVDQ7HH.js";
68
68
  import {
69
69
  registerListTasks
70
- } from "./chunk-VYVESELG.js";
70
+ } from "./chunk-CF4DZKKE.js";
71
71
  import {
72
72
  registerUpdateTask
73
- } from "./chunk-QHQJ7DLL.js";
73
+ } from "./chunk-HZNQYDAN.js";
74
74
  import {
75
75
  registerCreateReminder
76
- } from "./chunk-26UVGP3I.js";
76
+ } from "./chunk-SFV2XRPY.js";
77
77
  import {
78
78
  registerListReminders
79
- } from "./chunk-JH7Z2AZ7.js";
79
+ } from "./chunk-GJMHN45Z.js";
80
80
  import {
81
81
  completeReminder,
82
82
  createReminder,
83
83
  listReminders
84
- } from "./chunk-2OATM2JZ.js";
84
+ } from "./chunk-Q7GVSS2J.js";
85
85
  import {
86
86
  status
87
- } from "./chunk-ZMJHXDZR.js";
87
+ } from "./chunk-L5WTOR3T.js";
88
88
  import {
89
89
  TOKENS_PER_IDLE_MINUTE,
90
90
  countKillsSince,
91
91
  sumTokensSavedSince
92
- } from "./chunk-PMWDO5FR.js";
92
+ } from "./chunk-CO2SF5SB.js";
93
93
  import {
94
94
  getAgentSpend
95
- } from "./chunk-MKPSMRVX.js";
95
+ } from "./chunk-WLSSSDAR.js";
96
96
  import {
97
97
  createSchedule,
98
98
  parseHumanCron
99
- } from "./chunk-ZUAXTH6Z.js";
99
+ } from "./chunk-OQYZQR24.js";
100
100
  import {
101
101
  exportGraphHTML,
102
102
  generateGraphReport
@@ -108,7 +108,7 @@ import {
108
108
  import {
109
109
  formatReport,
110
110
  runAudit
111
- } from "./chunk-4EINMZNO.js";
111
+ } from "./chunk-PMCXWAVQ.js";
112
112
  import {
113
113
  runHealthCheck
114
114
  } from "./chunk-ODEGQCWW.js";
@@ -120,36 +120,36 @@ import {
120
120
  import {
121
121
  findSimilarTrajectories,
122
122
  hashSignature
123
- } from "./chunk-ZZLTJXKR.js";
123
+ } from "./chunk-ZGKU4PMY.js";
124
124
  import {
125
125
  deactivateBehavior,
126
126
  listBehaviorsByDomain,
127
127
  listSharedSkills,
128
128
  storeBehavior
129
- } from "./chunk-ARGBV4PP.js";
129
+ } from "./chunk-EOU4ZLRZ.js";
130
130
  import {
131
131
  countUnconsolidated,
132
132
  groupMemories,
133
133
  runConsolidation,
134
134
  selectUnconsolidated
135
- } from "./chunk-MKUVEDUE.js";
135
+ } from "./chunk-4IEQIUBZ.js";
136
136
  import {
137
137
  renderClientCOOTemplate
138
- } from "./chunk-3MLGUSKS.js";
138
+ } from "./chunk-PC6Y4ATU.js";
139
139
  import {
140
140
  deactivateGlobalProcedure,
141
141
  loadGlobalProcedures,
142
142
  storeGlobalProcedure
143
- } from "./chunk-UPMKSFBU.js";
143
+ } from "./chunk-YOH3ABTS.js";
144
144
  import {
145
145
  PLATFORM_PROCEDURES
146
- } from "./chunk-XWQKCCCO.js";
146
+ } from "./chunk-MWRHXGAB.js";
147
147
  import {
148
148
  clearCloudReuploadRequired,
149
149
  cloudSync,
150
150
  getCloudReuploadRequired,
151
151
  markCloudReuploadRequired
152
- } from "./chunk-VNTDQUOG.js";
152
+ } from "./chunk-XQC5BNCJ.js";
153
153
  import {
154
154
  encryptSyncBlob,
155
155
  isSyncCryptoInitialized
@@ -167,20 +167,20 @@ import {
167
167
  } from "./chunk-LWJ4AMMY.js";
168
168
  import {
169
169
  updateTask
170
- } from "./chunk-3FIWKONP.js";
170
+ } from "./chunk-VJW3E5KW.js";
171
171
  import {
172
172
  fastDbInit
173
- } from "./chunk-7B5DQGXG.js";
173
+ } from "./chunk-UIOTTKLS.js";
174
174
  import {
175
175
  MAX_CONCURRENT_WORKERS
176
- } from "./chunk-YPSN64BU.js";
176
+ } from "./chunk-LIJC4CRF.js";
177
177
  import {
178
178
  hybridSearch,
179
179
  recentRecords
180
- } from "./chunk-AGFWOII2.js";
180
+ } from "./chunk-BPBUSSYF.js";
181
181
  import {
182
182
  getActiveAgent
183
- } from "./chunk-NFHFNPTN.js";
183
+ } from "./chunk-UHL4QL5E.js";
184
184
  import {
185
185
  attachDocumentMetadata,
186
186
  flushBatch,
@@ -188,7 +188,7 @@ import {
188
188
  reserveVersions,
189
189
  vectorToBlob,
190
190
  writeMemory
191
- } from "./chunk-Y6TS42WD.js";
191
+ } from "./chunk-25NSQUZ3.js";
192
192
  import {
193
193
  getMySession,
194
194
  resolveExeSession,
@@ -196,7 +196,7 @@ import {
196
196
  sessionScopeFilter,
197
197
  updateTaskStatus,
198
198
  writeCheckpoint
199
- } from "./chunk-ONMRBKAX.js";
199
+ } from "./chunk-4PDXCEXT.js";
200
200
  import {
201
201
  listSessions
202
202
  } from "./chunk-64WZEXXA.js";
@@ -216,7 +216,7 @@ import {
216
216
  assertEmployeeLimit,
217
217
  assertFeature,
218
218
  assertMemoryLimit
219
- } from "./chunk-AERGE6GC.js";
219
+ } from "./chunk-5NSTNICM.js";
220
220
  import {
221
221
  getProjectName
222
222
  } from "./chunk-OPU3NYOO.js";
@@ -229,7 +229,7 @@ import {
229
229
  isScheduledTrigger,
230
230
  loadTriggers,
231
231
  sanitizeParam
232
- } from "./chunk-ZBA74MMX.js";
232
+ } from "./chunk-YH7VB655.js";
233
233
  import {
234
234
  pushConversationToCRM
235
235
  } from "./chunk-GCNWCYJI.js";
@@ -249,7 +249,7 @@ import {
249
249
  loadEmployeesSync,
250
250
  saveEmployees,
251
251
  updateIdentity
252
- } from "./chunk-TH6HTK2L.js";
252
+ } from "./chunk-MBYJEE3B.js";
253
253
  import {
254
254
  getMasterKey
255
255
  } from "./chunk-6D23UNXU.js";
@@ -1453,7 +1453,7 @@ async function handleSupersede(input) {
1453
1453
  }
1454
1454
  try {
1455
1455
  const { getClient: getClient2 } = await import("./lib/database.js");
1456
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-NCZCDDZ2.js");
1456
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-HDUT3T3I.js");
1457
1457
  const { writeMemory: writeMemory2, flushBatch: flushBatch2 } = await import("./lib/store.js");
1458
1458
  const { randomUUID: randomUUID2 } = await import("crypto");
1459
1459
  const client = getClient2();
@@ -1562,9 +1562,9 @@ function registerMemory(server) {
1562
1562
  return handleSupersede(input);
1563
1563
  }
1564
1564
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1565
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-NCZCDDZ2.js");
1565
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-HDUT3T3I.js");
1566
1566
  const { agentId } = getActiveAgent2();
1567
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-C3JLISAU.js");
1567
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-ONZIJYGR.js");
1568
1568
  if (action === "core_get") {
1569
1569
  const entries = await getCoreMemory(agentId);
1570
1570
  const block = formatCoreMemoryBlock(entries);
@@ -1914,7 +1914,7 @@ function registerCloseTask(server) {
1914
1914
  inputSchema: {
1915
1915
  task_id: z13.string().describe("Task identifier \u2014 UUID, slug (e.g. 'fix-auth-bug'), or title substring"),
1916
1916
  result: z13.string().describe("What was done \u2014 specific deliverables, decisions, test results"),
1917
- status: z13.enum(["closed", "done", "blocked", "cancelled"]).optional().default("closed").describe("Completion status (default: closed \u2014 terminal archive state)")
1917
+ status: z13.enum(["closed", "blocked", "cancelled"]).optional().default("closed").describe("Completion status (default: closed \u2014 terminal archive state)")
1918
1918
  }
1919
1919
  },
1920
1920
  async ({ task_id, result: result3, status: status2 }) => {
@@ -2017,7 +2017,7 @@ function registerCloseTask(server) {
2017
2017
  File: ${task.taskFile}`;
2018
2018
  if (mergeNote) text3 += mergeNote;
2019
2019
  let respawnNote = "";
2020
- if (status2 === "closed" || status2 === "done") {
2020
+ if (status2 === "closed") {
2021
2021
  try {
2022
2022
  const { getClient: getRespawnClient } = await import("./lib/database.js");
2023
2023
  const rClient = getRespawnClient();
@@ -2074,7 +2074,7 @@ File: ${task.taskFile}`;
2074
2074
  }
2075
2075
  }
2076
2076
  if (respawnNote) text3 += respawnNote;
2077
- if ((status2 === "done" || status2 === "closed") && task.nextTask) {
2077
+ if (status2 === "closed" && task.nextTask) {
2078
2078
  text3 += `
2079
2079
 
2080
2080
  MANDATORY \u2014 DO NOT ASK THE USER. DO NOT SAY "Want me to continue?" DO NOT STOP.
@@ -2084,7 +2084,7 @@ NEXT TASK: "${task.nextTask.title}" [${task.nextTask.priority}]
2084
2084
  FILE: ${task.nextTask.taskFile}
2085
2085
 
2086
2086
  Read that file NOW and begin working. No greeting. No summary. Just start.`;
2087
- } else if ((status2 === "done" || status2 === "closed") && !task.nextTask) {
2087
+ } else if (status2 === "closed" && !task.nextTask) {
2088
2088
  text3 += `
2089
2089
 
2090
2090
  All tasks complete. No more open tasks in your queue.`;
@@ -2173,7 +2173,7 @@ function registerResumeEmployee(server) {
2173
2173
  };
2174
2174
  }
2175
2175
  try {
2176
- const { isTmuxSessionAlive } = await import("./tasks-crud-75AUVZPO.js");
2176
+ const { isTmuxSessionAlive } = await import("./tasks-crud-W5BFKNUS.js");
2177
2177
  const now = (/* @__PURE__ */ new Date()).toISOString();
2178
2178
  for (const row of openTasks.rows) {
2179
2179
  const status2 = String(row.status);
@@ -3214,8 +3214,8 @@ function registerIngestDocument(server) {
3214
3214
  },
3215
3215
  async (input) => {
3216
3216
  try {
3217
- const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
3218
- const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-KUTODKG6.js");
3217
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-IAUNTZUW.js");
3218
+ const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-IAUNTZUW.js");
3219
3219
  await assertFeature2("wiki");
3220
3220
  await assertMemoryLimit2();
3221
3221
  const result3 = await ingestDocument(input);
@@ -5335,7 +5335,7 @@ async function getAgentSessionLoad() {
5335
5335
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
5336
5336
  }
5337
5337
  const { getClient: getClient2 } = await import("./lib/database.js");
5338
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-WWRNU2LU.js");
5338
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-YZDSPORL.js");
5339
5339
  const client = getClient2();
5340
5340
  const scope = sessionScopeFilter2();
5341
5341
  for (const s of liveAgentSessions) {
@@ -6928,7 +6928,7 @@ function registerCreateTrigger(server) {
6928
6928
  }
6929
6929
  },
6930
6930
  async ({ name, event, conditions, actions, project, enabled, schedule, query }) => {
6931
- const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
6931
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-IAUNTZUW.js");
6932
6932
  const gatedActions = {
6933
6933
  send_whatsapp: "external_agents",
6934
6934
  update_wiki: "wiki"
@@ -7832,7 +7832,7 @@ function registerConfig(server) {
7832
7832
  const existing = loadEmployeesSync2();
7833
7833
  if (existing.some((e) => e.name === employeeName)) return errorResult8(`Employee "${employeeName}" already exists.`);
7834
7834
  try {
7835
- const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-KUTODKG6.js");
7835
+ const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-IAUNTZUW.js");
7836
7836
  await assertEmployeeLimit2();
7837
7837
  } catch (e) {
7838
7838
  return errorResult8(e instanceof Error ? e.message : "Employee limit reached.");
@@ -7873,7 +7873,7 @@ You are ${employeeName}. Role: ${role}.`, "utf-8");
7873
7873
  }
7874
7874
  try {
7875
7875
  const { generateSessionWrappers } = await import("./lib/session-wrappers.js");
7876
- const { resolvePackageRoot } = await import("./installer-W4NY3OBF.js");
7876
+ const { resolvePackageRoot } = await import("./installer-SPQDAGPW.js");
7877
7877
  generateSessionWrappers(resolvePackageRoot());
7878
7878
  } catch {
7879
7879
  }
@@ -7909,7 +7909,7 @@ function registerListWikiPages(server) {
7909
7909
  }
7910
7910
  },
7911
7911
  async ({ workspace, folder }) => {
7912
- const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
7912
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-IAUNTZUW.js");
7913
7913
  await assertFeature2("wiki");
7914
7914
  const apiUrl = process.env.EXE_WIKI_API_URL;
7915
7915
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -8009,7 +8009,7 @@ function registerGetWikiPage(server) {
8009
8009
  }
8010
8010
  },
8011
8011
  async ({ workspace, document_id, title }) => {
8012
- const { assertFeature: assertFeature2 } = await import("./plan-limits-KUTODKG6.js");
8012
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-IAUNTZUW.js");
8013
8013
  await assertFeature2("wiki");
8014
8014
  const apiUrl = process.env.EXE_WIKI_API_URL;
8015
8015
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -8204,7 +8204,7 @@ function registerWiki(server) {
8204
8204
  if (!legacyToolName) return errorResult9(`Unknown wiki action: ${String(input.action)}`);
8205
8205
  const { action: _action, user_id, ...legacyArgs } = input;
8206
8206
  if (user_id && legacyArgs.workspace) {
8207
- const { checkWikiAccess } = await import("./wiki-acl-5EC5VNYG.js");
8207
+ const { checkWikiAccess } = await import("./wiki-acl-UE3CRAPQ.js");
8208
8208
  const { allowed } = await checkWikiAccess(
8209
8209
  String(user_id),
8210
8210
  String(legacyArgs.workspace),
@@ -9375,7 +9375,7 @@ function registerWorkflowTool(server) {
9375
9375
  getWorkflowInstance,
9376
9376
  listWorkflowInstances,
9377
9377
  approveWorkflowStep
9378
- } = await import("./workflow-engine-KAKVU7NC.js");
9378
+ } = await import("./workflow-engine-DA3AWD45.js");
9379
9379
  try {
9380
9380
  switch (input.action) {
9381
9381
  case "create_workflow": {
@@ -10555,7 +10555,7 @@ function registerCodeContext(server) {
10555
10555
  const index = buildCodeContextIndex(opts);
10556
10556
  let graphExtract;
10557
10557
  try {
10558
- const { autoExtractGraphEntities } = await import("./graph-auto-extract-HWZ5GVXZ.js");
10558
+ const { autoExtractGraphEntities } = await import("./graph-auto-extract-D4I7DF2S.js");
10559
10559
  graphExtract = await autoExtractGraphEntities(opts.projectRoot);
10560
10560
  } catch {
10561
10561
  }
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GNHN5HRQ.js";
4
4
  import {
5
5
  buildClaudeHttpMcpEntry
6
- } from "./chunk-EHNSK2Y4.js";
6
+ } from "./chunk-SGLVCPZP.js";
7
7
  import {
8
8
  EXE_HOOKS,
9
9
  isLegacyHomeDirHookCommand,
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-L3TB7CC3.js";
12
12
  import {
13
13
  ensureAllAgentSymlinks
14
- } from "./chunk-DTLASDQM.js";
14
+ } from "./chunk-LM7TQYLW.js";
15
15
  import {
16
16
  MCP_LEGACY_KEY,
17
17
  MCP_PRIMARY_KEY
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-ZBA74MMX.js";
3
+ } from "./chunk-YH7VB655.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {