@askexenow/exe-os 0.9.150 → 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 (153) hide show
  1. package/dist/{backfill-metadata-7IANPCAL.js → backfill-metadata-PPI5QFYW.js} +1 -1
  2. package/dist/bin/agentic-ontology-backfill.js +1 -1
  3. package/dist/bin/agentic-reflection-backfill.js +1 -1
  4. package/dist/bin/agentic-semantic-label.js +1 -1
  5. package/dist/bin/backfill-conversations.js +1 -1
  6. package/dist/bin/backfill-responses.js +1 -1
  7. package/dist/bin/backfill-vectors.js +2 -2
  8. package/dist/bin/bulk-sync-postgres.js +5 -4
  9. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  10. package/dist/bin/cli.js +10 -10
  11. package/dist/bin/exe-agent.js +3 -3
  12. package/dist/bin/exe-assign.js +1 -1
  13. package/dist/bin/exe-boot.js +6 -6
  14. package/dist/bin/exe-call.js +3 -3
  15. package/dist/bin/exe-cloud.js +1 -1
  16. package/dist/bin/exe-dispatch.js +2 -2
  17. package/dist/bin/exe-doctor.js +1 -1
  18. package/dist/bin/exe-export-behaviors.js +2 -2
  19. package/dist/bin/exe-forget.js +3 -3
  20. package/dist/bin/exe-gateway.js +4 -4
  21. package/dist/bin/exe-heartbeat.js +2 -2
  22. package/dist/bin/exe-kill.js +3 -3
  23. package/dist/bin/exe-launch-agent.js +5 -5
  24. package/dist/bin/exe-new-employee.js +4 -4
  25. package/dist/bin/exe-pending-messages.js +3 -3
  26. package/dist/bin/exe-pending-notifications.js +2 -2
  27. package/dist/bin/exe-pending-reviews.js +2 -2
  28. package/dist/bin/exe-rename.js +3 -3
  29. package/dist/bin/exe-review.js +3 -3
  30. package/dist/bin/exe-search.js +2 -2
  31. package/dist/bin/exe-session-cleanup.js +11 -10
  32. package/dist/bin/exe-settings.js +1 -1
  33. package/dist/bin/exe-start-codex.js +5 -5
  34. package/dist/bin/exe-start-opencode.js +2 -2
  35. package/dist/bin/exe-status.js +3 -3
  36. package/dist/bin/exe-team.js +1 -1
  37. package/dist/bin/git-sweep.js +2 -2
  38. package/dist/bin/graph-backfill.js +1 -1
  39. package/dist/bin/graph-export.js +2 -2
  40. package/dist/bin/install.js +3 -3
  41. package/dist/bin/intercom-check.js +3 -3
  42. package/dist/bin/pre-publish.js +1 -1
  43. package/dist/bin/scan-tasks.js +2 -2
  44. package/dist/bin/setup.js +1 -1
  45. package/dist/bin/shard-migrate.js +1 -1
  46. package/dist/{capacity-monitor-J3SVO7LJ.js → capacity-monitor-5IVGAQ34.js} +2 -2
  47. package/dist/{catchup-brief-AIFZT456.js → catchup-brief-HFJR32Q3.js} +3 -3
  48. package/dist/{chunk-72XIEBYJ.js → chunk-25NSQUZ3.js} +1 -1
  49. package/dist/{chunk-Z43CJQ7T.js → chunk-3ZU7RTMF.js} +33 -7
  50. package/dist/{chunk-26VUCVSE.js → chunk-4IEQIUBZ.js} +1 -1
  51. package/dist/{chunk-EYTMNAU7.js → chunk-4PDXCEXT.js} +5 -5
  52. package/dist/{chunk-7JTZNHA4.js → chunk-4RKL53PD.js} +3 -2
  53. package/dist/{chunk-DJVXUJIR.js → chunk-5U5MI4VH.js} +29 -29
  54. package/dist/{chunk-GIAAHYMW.js → chunk-7WEVNBV2.js} +1 -1
  55. package/dist/{chunk-JM4A2E5A.js → chunk-AFMQR776.js} +1 -1
  56. package/dist/{chunk-3JR37K7C.js → chunk-AMVDQ7HH.js} +9 -5
  57. package/dist/{chunk-O2Y4WJYW.js → chunk-BPBUSSYF.js} +192 -5
  58. package/dist/{chunk-BQ3KXWA7.js → chunk-CBLNQNWT.js} +1 -1
  59. package/dist/{chunk-XQSGAG2G.js → chunk-CF4DZKKE.js} +1 -1
  60. package/dist/{chunk-DMBFPZOP.js → chunk-EYQ3DHHI.js} +3 -3
  61. package/dist/{chunk-X2XE65WV.js → chunk-H5STRY47.js} +9 -4
  62. package/dist/{chunk-7HONLLJ2.js → chunk-HZNQYDAN.js} +2 -2
  63. package/dist/{chunk-4K7HJL37.js → chunk-IWGGTD5D.js} +1 -1
  64. package/dist/{chunk-WR45FP7O.js → chunk-JJA6F6NA.js} +1 -1
  65. package/dist/{chunk-LJX5SV6L.js → chunk-JUM3EUB2.js} +2 -2
  66. package/dist/{chunk-IGYF67K3.js → chunk-L5WTOR3T.js} +2 -2
  67. package/dist/{chunk-3VHX5XFJ.js → chunk-LIJC4CRF.js} +1 -1
  68. package/dist/{chunk-FSH4VWSL.js → chunk-M37FGM3X.js} +2 -2
  69. package/dist/{chunk-XWQKCCCO.js → chunk-MWRHXGAB.js} +7 -0
  70. package/dist/{chunk-5NQKE3X4.js → chunk-OQYZQR24.js} +1 -1
  71. package/dist/{chunk-LLDY5HPV.js → chunk-PC6Y4ATU.js} +1 -1
  72. package/dist/{chunk-4WIWYUU2.js → chunk-PMCXWAVQ.js} +2 -2
  73. package/dist/{chunk-TCKZYGC5.js → chunk-SGLVCPZP.js} +1 -1
  74. package/dist/{chunk-XEH3USTI.js → chunk-SJKOILTX.js} +1 -1
  75. package/dist/{chunk-DSKUPORS.js → chunk-UQE5R5PM.js} +1 -1
  76. package/dist/{chunk-EEXG4ZJS.js → chunk-VJW3E5KW.js} +7 -7
  77. package/dist/{chunk-CRS6YTBM.js → chunk-WPNWFI4A.js} +1 -1
  78. package/dist/{chunk-GPHURFBS.js → chunk-WZMS6X56.js} +1 -1
  79. package/dist/{chunk-IT2JDL5L.js → chunk-XQC5BNCJ.js} +14 -9
  80. package/dist/{chunk-LBX2VQCC.js → chunk-YOH3ABTS.js} +1 -1
  81. package/dist/{crm-webhook-AJYXEFZD.js → crm-webhook-SOUYMO3X.js} +2 -2
  82. package/dist/{cto-delegation-gate-7OIN66NU.js → cto-delegation-gate-UGCMXYAO.js} +1 -1
  83. package/dist/{daemon-orchestration-EHONVEHN.js → daemon-orchestration-MD34RKQZ.js} +3 -3
  84. package/dist/{exe-export-IVFME5VN.js → exe-export-UDQU7MMM.js} +3 -3
  85. package/dist/{exe-import-O76AYBUE.js → exe-import-OY42LQL4.js} +3 -3
  86. package/dist/{fast-db-init-NCOIEAM6.js → fast-db-init-TLOT2K43.js} +1 -1
  87. package/dist/gateway/index.js +5 -5
  88. package/dist/{git-task-sweep-NOXCELFQ.js → git-task-sweep-D4IKRGCV.js} +2 -2
  89. package/dist/{global-procedures-FXWQ35RU.js → global-procedures-ISPSC4B5.js} +2 -2
  90. package/dist/{hook-integrity-PR4BPZBT.js → hook-integrity-SA7S2SNI.js} +1 -1
  91. package/dist/hooks/bug-report-worker.js +3 -3
  92. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  93. package/dist/hooks/commit-complete.js +4 -4
  94. package/dist/hooks/error-recall.js +2 -2
  95. package/dist/hooks/ingest.js +6 -6
  96. package/dist/hooks/instructions-loaded.js +1 -1
  97. package/dist/hooks/notification.js +1 -1
  98. package/dist/hooks/post-compact.js +2 -2
  99. package/dist/hooks/post-tool-combined.js +2 -2
  100. package/dist/hooks/pre-compact.js +3 -3
  101. package/dist/hooks/pre-tool-use.js +6 -6
  102. package/dist/hooks/prompt-submit.js +102 -38
  103. package/dist/hooks/session-end.js +6 -6
  104. package/dist/hooks/session-start.js +5 -5
  105. package/dist/hooks/stop.js +5 -5
  106. package/dist/hooks/subagent-stop.js +2 -2
  107. package/dist/hooks/summary-worker.js +5 -5
  108. package/dist/index.js +8 -8
  109. package/dist/{installer-5NAISFMT.js → installer-3YHQ5DJZ.js} +2 -2
  110. package/dist/{installer-FTGXXYRA.js → installer-4YIOBAFV.js} +2 -2
  111. package/dist/{installer-Q4IWV2GB.js → installer-SPQDAGPW.js} +2 -2
  112. package/dist/lib/cloud-sync.js +1 -1
  113. package/dist/lib/consolidation.js +2 -2
  114. package/dist/lib/employee-templates.js +3 -3
  115. package/dist/lib/exe-daemon.js +51 -34
  116. package/dist/lib/hybrid-search.js +2 -2
  117. package/dist/lib/messaging.js +2 -2
  118. package/dist/lib/schedules.js +2 -2
  119. package/dist/lib/store.js +1 -1
  120. package/dist/lib/tasks.js +2 -2
  121. package/dist/lib/tmux-routing.js +1 -1
  122. package/dist/mcp/register-tools.js +25 -25
  123. package/dist/mcp/server.js +26 -26
  124. package/dist/mcp/tools/create-task.js +3 -3
  125. package/dist/mcp/tools/list-tasks.js +3 -3
  126. package/dist/mcp/tools/send-message.js +3 -3
  127. package/dist/mcp/tools/update-task.js +3 -3
  128. package/dist/{mcp-http-config-PSQCITKG.js → mcp-http-config-JBNX3DAR.js} +1 -1
  129. package/dist/{notifications-LD563XOM.js → notifications-76XXO4Q7.js} +1 -1
  130. package/dist/{orchestrator-WQGPXMLN.js → orchestrator-XAT2JSBT.js} +2 -2
  131. package/dist/{push-notifications-KDYFOJRI.js → push-notifications-NSYLKFXR.js} +1 -1
  132. package/dist/{review-polling-J3R7MLT4.js → review-polling-E24XBNSI.js} +2 -2
  133. package/dist/runtime/index.js +3 -3
  134. package/dist/{session-events-XDDQ3M4A.js → session-events-CCXFQRFW.js} +2 -2
  135. package/dist/{session-scope-6MAGVHBA.js → session-scope-7QCZF3MJ.js} +1 -1
  136. package/dist/{setup-wizard-WJ73A2FY.js → setup-wizard-FA6YEYER.js} +1 -1
  137. package/dist/signal-paths-4GOIRLGH.js +19 -0
  138. package/dist/{task-enforcement-3RV64YVR.js → task-enforcement-NITY7TBM.js} +1 -1
  139. package/dist/{task-scope-2T3WIQQY.js → task-scope-YZDSPORL.js} +1 -1
  140. package/dist/{tasks-crud-B2BGA44L.js → tasks-crud-W5BFKNUS.js} +1 -1
  141. package/dist/{tasks-review-ZO3QDMT7.js → tasks-review-VXMELVLA.js} +1 -1
  142. package/dist/tui/App.js +10 -10
  143. package/dist/{tui-data-UAPARPDX.js → tui-data-FQYUPCYX.js} +1 -1
  144. package/dist/{worker-gate-TG6PR2S5.js → worker-gate-OZCNSASA.js} +1 -1
  145. package/dist/{workflow-engine-VIFLD5IV.js → workflow-engine-DA3AWD45.js} +2 -2
  146. package/package.json +1 -1
  147. package/release-notes.json +104 -104
  148. /package/dist/{chunk-II3NQJGV.js → chunk-U3B3TVLQ.js} +0 -0
  149. /package/dist/{chunk-34XNU32S.js → chunk-UIOTTKLS.js} +0 -0
  150. /package/dist/{chunk-OLVZBBVO.js → chunk-YABPRFBT.js} +0 -0
  151. /package/dist/{chunk-BF4W2VDS.js → chunk-YH7VB655.js} +0 -0
  152. /package/dist/{core-memory-MT7P34HU.js → core-memory-ONZIJYGR.js} +0 -0
  153. /package/dist/{exe-key-6HV5GYHH.js → exe-key-FC67RNXI.js} +0 -0
@@ -6,7 +6,7 @@ import "../chunk-EOU4ZLRZ.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "../chunk-72XIEBYJ.js";
9
+ } from "../chunk-25NSQUZ3.js";
10
10
  import "../chunk-BRXDLJBU.js";
11
11
  import {
12
12
  RUNTIME_TABLE
@@ -205,7 +205,7 @@ async function main() {
205
205
  await initStore();
206
206
  behaviorsPath = await exportBehaviorsForAgent(agent, "");
207
207
  try {
208
- const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-FXWQ35RU.js");
208
+ const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-ISPSC4B5.js");
209
209
  await loadGlobalProcedures();
210
210
  const block = getGlobalProceduresBlock();
211
211
  if (block) globalProcedures = block;
@@ -254,8 +254,8 @@ async function main() {
254
254
  let codexProfileName = null;
255
255
  if (exeSessionName) {
256
256
  try {
257
- const { readOrCreateDaemonToken } = await import("../mcp-http-config-PSQCITKG.js");
258
- const { mcpHttpUrl } = await import("../mcp-http-config-PSQCITKG.js");
257
+ const { readOrCreateDaemonToken } = await import("../mcp-http-config-JBNX3DAR.js");
258
+ const { mcpHttpUrl } = await import("../mcp-http-config-JBNX3DAR.js");
259
259
  const token = readOrCreateDaemonToken();
260
260
  const profileContent = [
261
261
  `# Auto-generated per-session MCP config for ${memoryAgent} in ${exeSessionName}`,
@@ -289,7 +289,7 @@ async function main() {
289
289
  } catch {
290
290
  }
291
291
  try {
292
- const { verifyCodexHooks, runCodexInstaller } = await import("../installer-FTGXXYRA.js");
292
+ const { verifyCodexHooks, runCodexInstaller } = await import("../installer-4YIOBAFV.js");
293
293
  if (!verifyCodexHooks()) {
294
294
  process.stderr.write("[exe-start-codex] hooks missing \u2014 registering now\n");
295
295
  await runCodexInstaller();
@@ -6,7 +6,7 @@ import "../chunk-EOU4ZLRZ.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "../chunk-72XIEBYJ.js";
9
+ } from "../chunk-25NSQUZ3.js";
10
10
  import "../chunk-BRXDLJBU.js";
11
11
  import {
12
12
  RUNTIME_TABLE
@@ -179,7 +179,7 @@ async function main() {
179
179
  } catch {
180
180
  }
181
181
  try {
182
- const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-5NAISFMT.js");
182
+ const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-3YHQ5DJZ.js");
183
183
  if (!verifyOpenCodeHooks()) {
184
184
  process.stderr.write("[exe-start-opencode] hooks missing \u2014 registering now\n");
185
185
  await runOpenCodeInstaller();
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  status
4
- } from "../chunk-IGYF67K3.js";
5
- import "../chunk-34XNU32S.js";
6
- import "../chunk-EYTMNAU7.js";
4
+ } from "../chunk-L5WTOR3T.js";
5
+ import "../chunk-UIOTTKLS.js";
6
+ import "../chunk-4PDXCEXT.js";
7
7
  import "../chunk-LOQCOHEW.js";
8
8
  import "../chunk-TXSJ2L5O.js";
9
9
  import "../chunk-64WZEXXA.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-34XNU32S.js";
4
+ } from "../chunk-UIOTTKLS.js";
5
5
  import {
6
6
  getClient,
7
7
  loadEmployees
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  sweepTasks
4
- } from "../chunk-FSH4VWSL.js";
5
- import "../chunk-EYTMNAU7.js";
4
+ } from "../chunk-M37FGM3X.js";
5
+ import "../chunk-4PDXCEXT.js";
6
6
  import "../chunk-LOQCOHEW.js";
7
7
  import "../chunk-TXSJ2L5O.js";
8
8
  import "../chunk-64WZEXXA.js";
@@ -11,7 +11,7 @@ import "../chunk-I7AW4237.js";
11
11
  import {
12
12
  disposeStore,
13
13
  initStore
14
- } from "../chunk-72XIEBYJ.js";
14
+ } from "../chunk-25NSQUZ3.js";
15
15
  import "../chunk-BRXDLJBU.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import {
@@ -5,10 +5,10 @@ import {
5
5
  } from "../chunk-46SQTBQW.js";
6
6
  import {
7
7
  fastDbInit
8
- } from "../chunk-34XNU32S.js";
8
+ } from "../chunk-UIOTTKLS.js";
9
9
  import {
10
10
  disposeStore
11
- } from "../chunk-72XIEBYJ.js";
11
+ } from "../chunk-25NSQUZ3.js";
12
12
  import "../chunk-BRXDLJBU.js";
13
13
  import "../chunk-MP2AFCGL.js";
14
14
  import {
@@ -6,9 +6,9 @@ import {
6
6
  setupGhostty,
7
7
  setupTmux,
8
8
  setupWezterm
9
- } from "../chunk-GIAAHYMW.js";
9
+ } from "../chunk-7WEVNBV2.js";
10
10
  import "../chunk-GNHN5HRQ.js";
11
- import "../chunk-TCKZYGC5.js";
11
+ import "../chunk-SGLVCPZP.js";
12
12
  import {
13
13
  generateSessionWrappers
14
14
  } from "../chunk-ZHMQDTGE.js";
@@ -297,7 +297,7 @@ if (args.includes("--commands-only")) {
297
297
  }
298
298
  try {
299
299
  execSync("which codex", { encoding: "utf8", timeout: 5e3 });
300
- const { runCodexInstaller } = await import("../installer-FTGXXYRA.js");
300
+ const { runCodexInstaller } = await import("../installer-4YIOBAFV.js");
301
301
  await runCodexInstaller();
302
302
  } catch {
303
303
  }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-34XNU32S.js";
4
+ } from "../chunk-UIOTTKLS.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
 
7
7
  // src/bin/intercom-check.ts
@@ -17,7 +17,7 @@ async function main() {
17
17
  }
18
18
  if (isCoordinator) {
19
19
  try {
20
- const { listPendingReviews, cleanupOrphanedReviews, formatAge, isStale } = await import("../tasks-review-ZO3QDMT7.js");
20
+ const { listPendingReviews, cleanupOrphanedReviews, formatAge, isStale } = await import("../tasks-review-VXMELVLA.js");
21
21
  const { extractRootExe } = await import("../lib/tmux-routing.js");
22
22
  let sessionScope = process.env.EXE_SESSION ? extractRootExe(process.env.EXE_SESSION) ?? void 0 : void 0;
23
23
  if (!sessionScope) {
@@ -115,7 +115,7 @@ async function main() {
115
115
  }
116
116
  }
117
117
  try {
118
- const { readUnreadNotifications, markAsRead } = await import("../notifications-LD563XOM.js");
118
+ const { readUnreadNotifications, markAsRead } = await import("../notifications-76XXO4Q7.js");
119
119
  const { resolveExeSession } = await import("../lib/tmux-routing.js");
120
120
  const sessionScope = resolveExeSession();
121
121
  const notifications = await readUnreadNotifications(agent, sessionScope);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  PLATFORM_PROCEDURES
4
- } from "../chunk-XWQKCCCO.js";
4
+ } from "../chunk-MWRHXGAB.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
 
7
7
  // src/bin/pre-publish.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  queryTaskRows
4
- } from "../chunk-EYTMNAU7.js";
4
+ } from "../chunk-4PDXCEXT.js";
5
5
  import "../chunk-LOQCOHEW.js";
6
6
  import "../chunk-TXSJ2L5O.js";
7
7
  import "../chunk-64WZEXXA.js";
@@ -72,7 +72,7 @@ function checkMcpHealth() {
72
72
  }
73
73
  }
74
74
  async function scanFromDb(agentId, tmuxSession, projectName) {
75
- const { fastDbInit } = await import("../fast-db-init-NCOIEAM6.js");
75
+ const { fastDbInit } = await import("../fast-db-init-TLOT2K43.js");
76
76
  try {
77
77
  await fastDbInit();
78
78
  } catch (err) {
package/dist/bin/setup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSetupWizard
4
- } from "../chunk-OLVZBBVO.js";
4
+ } from "../chunk-YABPRFBT.js";
5
5
  import "../chunk-6D23UNXU.js";
6
6
  import "../chunk-TOWAZ5IV.js";
7
7
  import "../chunk-LYH5HE24.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "../chunk-72XIEBYJ.js";
11
+ } from "../chunk-25NSQUZ3.js";
12
12
  import "../chunk-BRXDLJBU.js";
13
13
  import "../chunk-MP2AFCGL.js";
14
14
  import {
@@ -8,9 +8,9 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-7JTZNHA4.js";
11
+ } from "./chunk-4RKL53PD.js";
12
12
  import "./chunk-CO2SF5SB.js";
13
- import "./chunk-EYTMNAU7.js";
13
+ import "./chunk-4PDXCEXT.js";
14
14
  import "./chunk-LOQCOHEW.js";
15
15
  import "./chunk-TXSJ2L5O.js";
16
16
  import "./chunk-64WZEXXA.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-O2Y4WJYW.js";
4
- import "./chunk-72XIEBYJ.js";
3
+ } from "./chunk-BPBUSSYF.js";
4
+ import "./chunk-25NSQUZ3.js";
5
5
  import "./chunk-BRXDLJBU.js";
6
6
  import {
7
7
  sessionScopeFilter,
8
8
  strictSessionScopeFilter
9
- } from "./chunk-EYTMNAU7.js";
9
+ } from "./chunk-4PDXCEXT.js";
10
10
  import "./chunk-LOQCOHEW.js";
11
11
  import "./chunk-TXSJ2L5O.js";
12
12
  import "./chunk-64WZEXXA.js";
@@ -119,7 +119,7 @@ async function initStore(options) {
119
119
  );
120
120
  _nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
121
121
  try {
122
- const { loadGlobalProcedures } = await import("./global-procedures-FXWQ35RU.js");
122
+ const { loadGlobalProcedures } = await import("./global-procedures-ISPSC4B5.js");
123
123
  await loadGlobalProcedures();
124
124
  } catch (e) {
125
125
  logStoreWarn("catch", e);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-CO2SF5SB.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-EEXG4ZJS.js";
6
+ } from "./chunk-VJW3E5KW.js";
7
7
  import {
8
8
  ensureEmployee,
9
9
  extractRootExe,
@@ -14,7 +14,7 @@ import {
14
14
  sessionScopeFilter,
15
15
  strictSessionScopeFilter,
16
16
  writeNotification
17
- } from "./chunk-EYTMNAU7.js";
17
+ } from "./chunk-4PDXCEXT.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-TXSJ2L5O.js";
@@ -210,7 +210,8 @@ async function checkSessionTTL(deps) {
210
210
  const contextPct = deps.parseContextPercentage(entry.windowName);
211
211
  const killReason = classifyTtlKillReason(ageHours, contextPct);
212
212
  if (killReason !== null) {
213
- if (deps.hasActiveTasks) {
213
+ const isContextFull = contextPct !== null && contextPct > 85;
214
+ if (deps.hasActiveTasks && !isContextFull) {
214
215
  try {
215
216
  const active = await deps.hasActiveTasks(entry.agentId);
216
217
  if (active) {
@@ -228,6 +229,12 @@ async function checkSessionTTL(deps) {
228
229
  continue;
229
230
  }
230
231
  }
232
+ if (isContextFull) {
233
+ process.stderr.write(
234
+ `[exed] Session TTL: context-full override for ${entry.windowName} (${contextPct}% used) \u2014 killing despite active tasks
235
+ `
236
+ );
237
+ }
231
238
  process.stderr.write(
232
239
  `[exed] Session TTL: killing ${entry.windowName} (age=${ageHours.toFixed(1)}h, context=${contextPct}%, reason=${killReason})
233
240
  `
@@ -311,6 +318,16 @@ async function pollIdleKill(deps, idleTickCounts, opts) {
311
318
  ticksIdle: nextTicks
312
319
  });
313
320
  deps.killSession(entry.windowName);
321
+ try {
322
+ const { execFileSync: verifyExec } = await import("child_process");
323
+ verifyExec("tmux", ["has-session", "-t", entry.windowName], { timeout: 2e3 });
324
+ process.stderr.write(
325
+ `[exed] Idle kill FAILED for ${entry.windowName} \u2014 session still alive, retrying with force
326
+ `
327
+ );
328
+ verifyExec("tmux", ["kill-session", "-t", entry.windowName], { timeout: 3e3 });
329
+ } catch {
330
+ }
314
331
  killed.push(entry.windowName);
315
332
  idleTickCounts.delete(entry.windowName);
316
333
  } else {
@@ -502,11 +519,18 @@ async function pollOrphanedTasks(deps, nowMs = Date.now()) {
502
519
  return [];
503
520
  }
504
521
  const liveAgentCounts = /* @__PURE__ */ new Map();
522
+ const liveAgentScopeCounts = /* @__PURE__ */ new Map();
505
523
  for (const session of liveSessions) {
506
524
  const agent = deps.parseAgentFromSession(session);
507
- if (agent) liveAgentCounts.set(agent, (liveAgentCounts.get(agent) ?? 0) + 1);
525
+ if (agent) {
526
+ liveAgentCounts.set(agent, (liveAgentCounts.get(agent) ?? 0) + 1);
527
+ const scope = session.includes("-") ? session.slice(session.indexOf("-") + 1) : "";
528
+ if (scope) {
529
+ const scopeKey = `${agent}::${scope}`;
530
+ liveAgentScopeCounts.set(scopeKey, (liveAgentScopeCounts.get(scopeKey) ?? 0) + 1);
531
+ }
532
+ }
508
533
  }
509
- const liveAgents = new Set(liveAgentCounts.keys());
510
534
  const coordinatorSessions = liveSessions.filter((s) => isExeSession(s));
511
535
  let tasksByAgent;
512
536
  try {
@@ -536,13 +560,15 @@ async function pollOrphanedTasks(deps, nowMs = Date.now()) {
536
560
  for (const [key, tasks] of agentTasks) {
537
561
  const agentId = key.split("::")[0];
538
562
  const sessionScope = tasks[0].sessionScope;
563
+ const scopeKey = `${agentId}::${sessionScope}`;
564
+ const scopedRunning = liveAgentScopeCounts.get(scopeKey) ?? 0;
539
565
  if (!shouldAutoWake({
540
566
  agentId,
541
- hasRunningSession: liveAgents.has(agentId),
567
+ hasRunningSession: scopedRunning > 0,
542
568
  lastSpawnMs: _autoWakeLastSpawn.get(key) ?? 0,
543
569
  nowMs,
544
570
  cooldownMs: AUTO_WAKE_COOLDOWN_MS,
545
- runningInstances: liveAgentCounts.get(agentId) ?? 0,
571
+ runningInstances: scopedRunning,
546
572
  pendingTaskGroups: tasks.length
547
573
  })) {
548
574
  continue;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-72XIEBYJ.js";
3
+ } from "./chunk-25NSQUZ3.js";
4
4
  import {
5
5
  isCoordinatorName
6
6
  } from "./chunk-MBYJEE3B.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-6MAGVHBA.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.`;
@@ -724,7 +724,7 @@ async function updateTaskStatus(input) {
724
724
  const reviewer = String(row.reviewer);
725
725
  try {
726
726
  const { sendIntercom: sendIntercom2, employeeSessionName: employeeSessionName2, resolveExeSession: resolveExeSession2, isExeSession: isExeSession2 } = await import("./lib/tmux-routing.js");
727
- const exeSession = resolveExeSession2();
727
+ const exeSession = row.session_scope ? String(row.session_scope) : resolveExeSession2();
728
728
  if (exeSession) {
729
729
  if (isCoordinatorName(reviewer)) {
730
730
  if (isExeSession2(exeSession)) {
@@ -1437,8 +1437,8 @@ async function createReviewForCompletedTask(row, result, _baseDir, now) {
1437
1437
  const autoApprove = false;
1438
1438
  if (!autoApprove) {
1439
1439
  try {
1440
- const key = getSessionKey();
1441
- const exeSession = getParentExe(key);
1440
+ const taskScope = row.session_scope ? String(row.session_scope) : null;
1441
+ const exeSession = taskScope || getParentExe(getSessionKey());
1442
1442
  if (exeSession) {
1443
1443
  sendIntercom(exeSession, { force: true });
1444
1444
  }
@@ -1942,7 +1942,7 @@ async function verifyPaneAtCapacity(sessionName) {
1942
1942
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
1943
1943
  };
1944
1944
  }
1945
- const { isAtCapacity } = await import("./capacity-monitor-J3SVO7LJ.js");
1945
+ const { isAtCapacity } = await import("./capacity-monitor-5IVGAQ34.js");
1946
1946
  if (!isAtCapacity(pane)) {
1947
1947
  return {
1948
1948
  atCapacity: false,
@@ -5,7 +5,7 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-EYTMNAU7.js";
8
+ } from "./chunk-4PDXCEXT.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
@@ -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
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-PJCTBGWN.js";
7
7
  import {
8
8
  AUTO_WAKE_MAX_RETRIES
9
- } from "./chunk-Z43CJQ7T.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-XEH3USTI.js";
31
+ } from "./chunk-SJKOILTX.js";
32
32
  import {
33
33
  analyzeBlastRadius,
34
34
  buildCodeContextIndex,
@@ -45,14 +45,14 @@ import {
45
45
  exportOrchestration,
46
46
  importOrchestration,
47
47
  validatePackage
48
- } from "./chunk-WR45FP7O.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-7JTZNHA4.js";
55
+ } from "./chunk-4RKL53PD.js";
56
56
  import {
57
57
  registerCompleteReminder
58
58
  } from "./chunk-OEPEY47B.js";
@@ -61,16 +61,16 @@ import {
61
61
  } from "./chunk-UPAEAL6K.js";
62
62
  import {
63
63
  registerSendMessage
64
- } from "./chunk-GPHURFBS.js";
64
+ } from "./chunk-WZMS6X56.js";
65
65
  import {
66
66
  registerCreateTask
67
- } from "./chunk-3JR37K7C.js";
67
+ } from "./chunk-AMVDQ7HH.js";
68
68
  import {
69
69
  registerListTasks
70
- } from "./chunk-XQSGAG2G.js";
70
+ } from "./chunk-CF4DZKKE.js";
71
71
  import {
72
72
  registerUpdateTask
73
- } from "./chunk-7HONLLJ2.js";
73
+ } from "./chunk-HZNQYDAN.js";
74
74
  import {
75
75
  registerCreateReminder
76
76
  } from "./chunk-SFV2XRPY.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-Q7GVSS2J.js";
85
85
  import {
86
86
  status
87
- } from "./chunk-IGYF67K3.js";
87
+ } from "./chunk-L5WTOR3T.js";
88
88
  import {
89
89
  TOKENS_PER_IDLE_MINUTE,
90
90
  countKillsSince,
@@ -96,7 +96,7 @@ import {
96
96
  import {
97
97
  createSchedule,
98
98
  parseHumanCron
99
- } from "./chunk-5NQKE3X4.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-4WIWYUU2.js";
111
+ } from "./chunk-PMCXWAVQ.js";
112
112
  import {
113
113
  runHealthCheck
114
114
  } from "./chunk-ODEGQCWW.js";
@@ -132,24 +132,24 @@ import {
132
132
  groupMemories,
133
133
  runConsolidation,
134
134
  selectUnconsolidated
135
- } from "./chunk-26VUCVSE.js";
135
+ } from "./chunk-4IEQIUBZ.js";
136
136
  import {
137
137
  renderClientCOOTemplate
138
- } from "./chunk-LLDY5HPV.js";
138
+ } from "./chunk-PC6Y4ATU.js";
139
139
  import {
140
140
  deactivateGlobalProcedure,
141
141
  loadGlobalProcedures,
142
142
  storeGlobalProcedure
143
- } from "./chunk-LBX2VQCC.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-IT2JDL5L.js";
152
+ } from "./chunk-XQC5BNCJ.js";
153
153
  import {
154
154
  encryptSyncBlob,
155
155
  isSyncCryptoInitialized
@@ -167,17 +167,17 @@ import {
167
167
  } from "./chunk-LWJ4AMMY.js";
168
168
  import {
169
169
  updateTask
170
- } from "./chunk-EEXG4ZJS.js";
170
+ } from "./chunk-VJW3E5KW.js";
171
171
  import {
172
172
  fastDbInit
173
- } from "./chunk-34XNU32S.js";
173
+ } from "./chunk-UIOTTKLS.js";
174
174
  import {
175
175
  MAX_CONCURRENT_WORKERS
176
- } from "./chunk-3VHX5XFJ.js";
176
+ } from "./chunk-LIJC4CRF.js";
177
177
  import {
178
178
  hybridSearch,
179
179
  recentRecords
180
- } from "./chunk-O2Y4WJYW.js";
180
+ } from "./chunk-BPBUSSYF.js";
181
181
  import {
182
182
  getActiveAgent
183
183
  } from "./chunk-UHL4QL5E.js";
@@ -188,7 +188,7 @@ import {
188
188
  reserveVersions,
189
189
  vectorToBlob,
190
190
  writeMemory
191
- } from "./chunk-72XIEBYJ.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-EYTMNAU7.js";
199
+ } from "./chunk-4PDXCEXT.js";
200
200
  import {
201
201
  listSessions
202
202
  } from "./chunk-64WZEXXA.js";
@@ -229,7 +229,7 @@ import {
229
229
  isScheduledTrigger,
230
230
  loadTriggers,
231
231
  sanitizeParam
232
- } from "./chunk-BF4W2VDS.js";
232
+ } from "./chunk-YH7VB655.js";
233
233
  import {
234
234
  pushConversationToCRM
235
235
  } from "./chunk-GCNWCYJI.js";
@@ -440,7 +440,7 @@ function registerRecallMyMemory(server) {
440
440
  }
441
441
  const FEDERATION_THRESHOLD = 3;
442
442
  let federatedCount = 0;
443
- if (!recent && query) {
443
+ if (!recent && query && results.length < FEDERATION_THRESHOLD) {
444
444
  try {
445
445
  const { searchCodeContextSemantic: searchCodeContextSemantic2 } = await import("./code-context-index-I5A7I4JQ.js");
446
446
  const codeResults = await Promise.race([
@@ -1564,7 +1564,7 @@ function registerMemory(server) {
1564
1564
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1565
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-MT7P34HU.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);
@@ -2173,7 +2173,7 @@ function registerResumeEmployee(server) {
2173
2173
  };
2174
2174
  }
2175
2175
  try {
2176
- const { isTmuxSessionAlive } = await import("./tasks-crud-B2BGA44L.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);
@@ -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-2T3WIQQY.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) {
@@ -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-Q4IWV2GB.js");
7876
+ const { resolvePackageRoot } = await import("./installer-SPQDAGPW.js");
7877
7877
  generateSessionWrappers(resolvePackageRoot());
7878
7878
  } catch {
7879
7879
  }
@@ -9375,7 +9375,7 @@ function registerWorkflowTool(server) {
9375
9375
  getWorkflowInstance,
9376
9376
  listWorkflowInstances,
9377
9377
  approveWorkflowStep
9378
- } = await import("./workflow-engine-VIFLD5IV.js");
9378
+ } = await import("./workflow-engine-DA3AWD45.js");
9379
9379
  try {
9380
9380
  switch (input.action) {
9381
9381
  case "create_workflow": {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GNHN5HRQ.js";
4
4
  import {
5
5
  buildClaudeHttpMcpEntry
6
- } from "./chunk-TCKZYGC5.js";
6
+ } from "./chunk-SGLVCPZP.js";
7
7
  import {
8
8
  EXE_HOOKS,
9
9
  isLegacyHomeDirHookCommand,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-BF4W2VDS.js";
3
+ } from "./chunk-YH7VB655.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {