@askexenow/exe-os 0.9.170 → 0.9.172

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 (125) hide show
  1. package/dist/{backfill-metadata-PGAG2E4G.js → backfill-metadata-GKMUDOKJ.js} +1 -1
  2. package/dist/bin/agentic-ontology-backfill.js +1 -1
  3. package/dist/bin/agentic-reflection-backfill.js +1 -1
  4. package/dist/bin/agentic-semantic-label.js +1 -1
  5. package/dist/bin/backfill-conversations.js +1 -1
  6. package/dist/bin/backfill-responses.js +1 -1
  7. package/dist/bin/backfill-vectors.js +2 -2
  8. package/dist/bin/bulk-sync-postgres.js +1 -1
  9. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  10. package/dist/bin/cli.js +4 -4
  11. package/dist/bin/exe-assign.js +1 -1
  12. package/dist/bin/exe-boot.js +3 -3
  13. package/dist/bin/exe-dispatch.js +2 -2
  14. package/dist/bin/exe-doctor.js +1 -1
  15. package/dist/bin/exe-export-behaviors.js +2 -2
  16. package/dist/bin/exe-forget.js +3 -3
  17. package/dist/bin/exe-gateway.js +4 -4
  18. package/dist/bin/exe-heartbeat.js +2 -2
  19. package/dist/bin/exe-kill.js +3 -3
  20. package/dist/bin/exe-launch-agent.js +2 -2
  21. package/dist/bin/exe-pending-messages.js +3 -3
  22. package/dist/bin/exe-pending-notifications.js +2 -2
  23. package/dist/bin/exe-pending-reviews.js +2 -2
  24. package/dist/bin/exe-review.js +3 -3
  25. package/dist/bin/exe-search.js +2 -2
  26. package/dist/bin/exe-session-cleanup.js +5 -5
  27. package/dist/bin/exe-start-codex.js +1 -1
  28. package/dist/bin/exe-start-opencode.js +1 -1
  29. package/dist/bin/exe-status.js +3 -3
  30. package/dist/bin/exe-team.js +1 -1
  31. package/dist/bin/git-sweep.js +2 -2
  32. package/dist/bin/graph-backfill.js +1 -1
  33. package/dist/bin/graph-export.js +2 -2
  34. package/dist/bin/import-history.js +1 -1
  35. package/dist/bin/intercom-check.js +3 -3
  36. package/dist/bin/scan-tasks.js +2 -2
  37. package/dist/bin/shard-migrate.js +1 -1
  38. package/dist/{capacity-monitor-QO2ICWKN.js → capacity-monitor-7ZXWFI5F.js} +2 -2
  39. package/dist/{catchup-brief-BATHS2HG.js → catchup-brief-YPPLJTYV.js} +3 -3
  40. package/dist/{chunk-2UDAGGGG.js → chunk-35IQ4F2O.js} +3 -3
  41. package/dist/{chunk-5RLF7DYZ.js → chunk-3EZ6OEHW.js} +4 -20
  42. package/dist/{chunk-6MA2UX37.js → chunk-45ZH65ZP.js} +9 -5
  43. package/dist/{chunk-FBJWXLUJ.js → chunk-4NKKU2ZV.js} +22 -22
  44. package/dist/{chunk-EQ2Z6VLR.js → chunk-674LHALH.js} +1 -1
  45. package/dist/{chunk-HL54XOLP.js → chunk-67TGEOEJ.js} +2 -2
  46. package/dist/{chunk-TUV7HNEA.js → chunk-7ZORCDPU.js} +1 -1
  47. package/dist/{chunk-ANESK7AV.js → chunk-CWTU6GYA.js} +2 -2
  48. package/dist/{chunk-7TQMXNYI.js → chunk-DAYGVU5G.js} +3 -3
  49. package/dist/{chunk-ARKNKNWQ.js → chunk-EFEEKTYG.js} +1 -1
  50. package/dist/{chunk-3AZNU3WB.js → chunk-EX6GDXFX.js} +1 -1
  51. package/dist/{chunk-AQXTGPXA.js → chunk-GAHTXZQU.js} +2 -2
  52. package/dist/{chunk-AZO4SYVZ.js → chunk-GEVXI276.js} +1 -1
  53. package/dist/{chunk-3QH3NIK6.js → chunk-GYO6FHZS.js} +1 -1
  54. package/dist/{chunk-LE6MRJ2I.js → chunk-HYER4S3M.js} +2 -2
  55. package/dist/{chunk-6P7IDDPO.js → chunk-L4Y5BE4H.js} +1 -1
  56. package/dist/{chunk-JWOGBTZW.js → chunk-N4BAUZRE.js} +1 -1
  57. package/dist/{chunk-EC6ABUVG.js → chunk-NNCW3IF5.js} +1 -1
  58. package/dist/{chunk-DONZM3TK.js → chunk-NNWW2DUN.js} +3 -3
  59. package/dist/{chunk-JA3DAIBJ.js → chunk-PXASUHJU.js} +2 -2
  60. package/dist/{chunk-LTS4Y235.js → chunk-R53LII7U.js} +1 -1
  61. package/dist/{chunk-O5KZBLWY.js → chunk-T433PFRG.js} +1 -1
  62. package/dist/{chunk-56CFBVA2.js → chunk-XCHYAEH4.js} +1 -1
  63. package/dist/{chunk-U2WKN7SU.js → chunk-YPCDZDTN.js} +2 -2
  64. package/dist/{crm-webhook-EIODUAVK.js → crm-webhook-QZNWWQFB.js} +2 -2
  65. package/dist/{cto-delegation-gate-TXZHTENK.js → cto-delegation-gate-4XBELCTN.js} +1 -1
  66. package/dist/{daemon-orchestration-2ALSAVWC.js → daemon-orchestration-PEIYEQO4.js} +3 -3
  67. package/dist/{exe-export-I3ZQRXFK.js → exe-export-3P7DMYWY.js} +1 -1
  68. package/dist/{exe-import-SBDT3QJA.js → exe-import-SA5CEBID.js} +1 -1
  69. package/dist/{exe-key-XR7HY2XZ.js → exe-key-67XRL4GL.js} +9 -3
  70. package/dist/{fast-db-init-S7ROWXIW.js → fast-db-init-HQ3O7CVL.js} +1 -1
  71. package/dist/gateway/index.js +5 -5
  72. package/dist/{git-task-sweep-EXHN7VZ7.js → git-task-sweep-RUYSMBKN.js} +2 -2
  73. package/dist/hooks/bug-report-worker.js +3 -3
  74. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  75. package/dist/hooks/commit-complete.js +4 -4
  76. package/dist/hooks/error-recall.js +2 -2
  77. package/dist/hooks/ingest.js +2 -2
  78. package/dist/hooks/instructions-loaded.js +1 -1
  79. package/dist/hooks/notification.js +1 -1
  80. package/dist/hooks/post-compact.js +2 -2
  81. package/dist/hooks/post-tool-combined.js +2 -2
  82. package/dist/hooks/pre-compact.js +3 -3
  83. package/dist/hooks/pre-tool-use.js +6 -6
  84. package/dist/hooks/prompt-submit.js +8 -8
  85. package/dist/hooks/session-end.js +6 -6
  86. package/dist/hooks/session-start.js +4 -4
  87. package/dist/hooks/stop.js +5 -5
  88. package/dist/hooks/subagent-stop.js +2 -2
  89. package/dist/hooks/summary-worker.js +5 -5
  90. package/dist/index.js +8 -8
  91. package/dist/lib/consolidation.js +2 -2
  92. package/dist/lib/exe-daemon.js +23 -11
  93. package/dist/lib/hybrid-search.js +2 -2
  94. package/dist/lib/messaging.js +2 -2
  95. package/dist/lib/schedules.js +2 -2
  96. package/dist/lib/store.js +1 -1
  97. package/dist/lib/tasks.js +2 -2
  98. package/dist/lib/tmux-routing.js +1 -1
  99. package/dist/mcp/register-tools.js +20 -20
  100. package/dist/mcp/server.js +21 -21
  101. package/dist/mcp/tools/create-task.js +3 -3
  102. package/dist/mcp/tools/list-tasks.js +3 -3
  103. package/dist/mcp/tools/send-message.js +3 -3
  104. package/dist/mcp/tools/update-task.js +3 -3
  105. package/dist/{notifications-MH56M4C3.js → notifications-ZWCZYH57.js} +1 -1
  106. package/dist/{orchestrator-D262KKBF.js → orchestrator-NZ2GLWQO.js} +2 -2
  107. package/dist/{review-polling-KULWCMMZ.js → review-polling-3UZVYXG6.js} +2 -2
  108. package/dist/runtime/index.js +3 -3
  109. package/dist/{session-events-OCV6XE3B.js → session-events-3CTYGDV6.js} +2 -2
  110. package/dist/{session-scope-RGFTCPQQ.js → session-scope-N4D25QPH.js} +1 -1
  111. package/dist/{task-enforcement-6M4ECZIF.js → task-enforcement-ZBVSIHOZ.js} +1 -1
  112. package/dist/{task-scope-456OUPTL.js → task-scope-GCDIABNL.js} +1 -1
  113. package/dist/{tasks-crud-HID23OBT.js → tasks-crud-7JRHR5M7.js} +1 -1
  114. package/dist/{tasks-review-EEKP3MDD.js → tasks-review-FNBJM3NG.js} +1 -1
  115. package/dist/tui/App.js +7 -7
  116. package/dist/{tui-data-L6S3P6GR.js → tui-data-ICW73MPR.js} +1 -1
  117. package/dist/{worker-gate-WUBMXPPW.js → worker-gate-DHNFSZZI.js} +1 -1
  118. package/dist/{workflow-engine-FMGOYEYB.js → workflow-engine-CRZDWOM3.js} +2 -2
  119. package/package.json +1 -1
  120. /package/dist/{chunk-SPG553RZ.js → chunk-6JUEAKDA.js} +0 -0
  121. /package/dist/{chunk-NKJTMPPQ.js → chunk-GKITHYDR.js} +0 -0
  122. /package/dist/{chunk-OLWQQK55.js → chunk-M4FIO4XB.js} +0 -0
  123. /package/dist/{chunk-ORWABZ2W.js → chunk-QQ4ILCWV.js} +0 -0
  124. /package/dist/{core-memory-SU3JDOQW.js → core-memory-BHCHBDIX.js} +0 -0
  125. /package/dist/{skill-refinement-EELCKAQZ.js → skill-refinement-7PXVBM3O.js} +0 -0
@@ -3,10 +3,7 @@ import {
3
3
  } from "./chunk-7WPIM2L6.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-6MA2UX37.js";
7
- import {
8
- getProjectName
9
- } from "./chunk-OPU3NYOO.js";
6
+ } from "./chunk-45ZH65ZP.js";
10
7
 
11
8
  // src/mcp/tools/list-tasks.ts
12
9
  import { z } from "zod";
@@ -26,23 +23,9 @@ function registerListTasks(server) {
26
23
  },
27
24
  async ({ assigned_to, status, project_name, priority, cross_session }) => {
28
25
  try {
29
- let resolvedProject;
30
26
  const { agentId, agentRole } = getActiveAgent();
31
27
  const isOwnQuery = assigned_to && assigned_to === agentId;
32
- if (project_name === "all") {
33
- const { canCoordinate } = await import("./lib/employees.js");
34
- if (canCoordinate(agentId, agentRole)) {
35
- resolvedProject = void 0;
36
- } else {
37
- resolvedProject = getProjectName() || void 0;
38
- }
39
- } else if (project_name) {
40
- resolvedProject = project_name;
41
- } else if (isOwnQuery) {
42
- resolvedProject = void 0;
43
- } else {
44
- resolvedProject = getProjectName() || void 0;
45
- }
28
+ const resolvedProject = project_name && project_name !== "all" ? project_name : void 0;
46
29
  const { canCoordinate: canCoord } = await import("./lib/employees.js");
47
30
  const effectiveCrossSession = canCoord(agentId, agentRole) ? cross_session ?? false : false;
48
31
  const tasks = await listTasks({
@@ -50,7 +33,8 @@ function registerListTasks(server) {
50
33
  status,
51
34
  projectName: resolvedProject,
52
35
  priority,
53
- crossSession: effectiveCrossSession
36
+ crossSession: effectiveCrossSession,
37
+ isOwnQuery: !!isOwnQuery
54
38
  });
55
39
  if (tasks.length === 0) {
56
40
  return {
@@ -358,7 +358,7 @@ async function createTaskCore(input) {
358
358
  if (isCoordinatorSession) {
359
359
  earlySessionScope = resolved;
360
360
  } else {
361
- const { getSessionProject } = await import("./session-scope-RGFTCPQQ.js");
361
+ const { getSessionProject } = await import("./session-scope-N4D25QPH.js");
362
362
  const sessionProject = getSessionProject(resolved);
363
363
  if (sessionProject && sessionProject !== input.projectName) {
364
364
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -623,7 +623,11 @@ async function listTasks(input) {
623
623
  assignedTo: input.assignedTo,
624
624
  status: input.status || void 0,
625
625
  projectName: input.projectName || void 0,
626
- sessionScope: input.crossSession ? null : void 0,
626
+ // Skip session scope when querying your own tasks — agents must ALWAYS see
627
+ // their own work regardless of which coordinator session created the task.
628
+ // Bug: bob-exe1 couldn't see tasks created by exe1 because session_scope='exe1'
629
+ // didn't match bob-exe1's resolved scope.
630
+ sessionScope: input.crossSession || input.isOwnQuery ? null : void 0,
627
631
  columns: "*",
628
632
  limit: 1e3,
629
633
  orderBy: input.status ? "priority ASC, created_at DESC" : "CASE status WHEN 'blocked' THEN 0 WHEN 'in_progress' THEN 1 WHEN 'open' THEN 2 ELSE 3 END, priority ASC, created_at DESC",
@@ -782,7 +786,7 @@ async function updateTaskStatus(input) {
782
786
  } catch {
783
787
  }
784
788
  try {
785
- const { writeNotification: writeNotification2 } = await import("./notifications-MH56M4C3.js");
789
+ const { writeNotification: writeNotification2 } = await import("./notifications-ZWCZYH57.js");
786
790
  await writeNotification2({
787
791
  agentId: reviewer,
788
792
  agentRole: isCoordinatorName(reviewer) ? "COO" : "manager",
@@ -957,7 +961,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
957
961
  }
958
962
  if (input.status === "done" || input.status === "needs_review") {
959
963
  try {
960
- const { incrementSkillSuccess } = await import("./skill-refinement-EELCKAQZ.js");
964
+ const { incrementSkillSuccess } = await import("./skill-refinement-7PXVBM3O.js");
961
965
  await incrementSkillSuccess(
962
966
  String(row.assigned_to),
963
967
  row.project_name ? String(row.project_name) : null
@@ -2035,7 +2039,7 @@ async function verifyPaneAtCapacity(sessionName) {
2035
2039
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
2036
2040
  };
2037
2041
  }
2038
- const { isAtCapacity } = await import("./capacity-monitor-QO2ICWKN.js");
2042
+ const { isAtCapacity } = await import("./capacity-monitor-7ZXWFI5F.js");
2039
2043
  if (!isAtCapacity(pane)) {
2040
2044
  return {
2041
2045
  atCapacity: false,
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-R4IK2YT3.js";
7
7
  import {
8
8
  AUTO_WAKE_MAX_RETRIES
9
- } from "./chunk-HL54XOLP.js";
9
+ } from "./chunk-67TGEOEJ.js";
10
10
  import {
11
11
  getToolCapabilityIndex
12
12
  } from "./chunk-6BZF3TEG.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-E6ORBQHP.js";
25
25
  import {
26
26
  listRecentSessionEvents
27
- } from "./chunk-EC6ABUVG.js";
27
+ } from "./chunk-NNCW3IF5.js";
28
28
  import {
29
29
  isRerankerAvailable,
30
30
  rerankWithScores
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-DH65L4XI.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-JWOGBTZW.js";
55
+ } from "./chunk-N4BAUZRE.js";
56
56
  import {
57
57
  registerCompleteReminder
58
58
  } from "./chunk-UUZJU5NL.js";
@@ -61,16 +61,16 @@ import {
61
61
  } from "./chunk-3KVMAWJO.js";
62
62
  import {
63
63
  registerSendMessage
64
- } from "./chunk-EQ2Z6VLR.js";
64
+ } from "./chunk-674LHALH.js";
65
65
  import {
66
66
  registerCreateTask
67
- } from "./chunk-7TQMXNYI.js";
67
+ } from "./chunk-DAYGVU5G.js";
68
68
  import {
69
69
  registerListTasks
70
- } from "./chunk-5RLF7DYZ.js";
70
+ } from "./chunk-3EZ6OEHW.js";
71
71
  import {
72
72
  registerUpdateTask
73
- } from "./chunk-LE6MRJ2I.js";
73
+ } from "./chunk-HYER4S3M.js";
74
74
  import {
75
75
  registerCreateReminder
76
76
  } from "./chunk-BYVSOED6.js";
@@ -100,10 +100,10 @@ import {
100
100
  import {
101
101
  createSchedule,
102
102
  parseHumanCron
103
- } from "./chunk-O5KZBLWY.js";
103
+ } from "./chunk-T433PFRG.js";
104
104
  import {
105
105
  status
106
- } from "./chunk-JA3DAIBJ.js";
106
+ } from "./chunk-PXASUHJU.js";
107
107
  import {
108
108
  getAgentSpend
109
109
  } from "./chunk-TY4SOOBC.js";
@@ -118,7 +118,7 @@ import {
118
118
  import {
119
119
  formatReport,
120
120
  runAudit
121
- } from "./chunk-AQXTGPXA.js";
121
+ } from "./chunk-GAHTXZQU.js";
122
122
  import {
123
123
  runHealthCheck
124
124
  } from "./chunk-J73N5EJ6.js";
@@ -162,7 +162,7 @@ import {
162
162
  groupMemories,
163
163
  runConsolidation,
164
164
  selectUnconsolidated
165
- } from "./chunk-56CFBVA2.js";
165
+ } from "./chunk-XCHYAEH4.js";
166
166
  import {
167
167
  embed
168
168
  } from "./chunk-7XKOGQJ2.js";
@@ -173,17 +173,17 @@ import {
173
173
  } from "./chunk-T5YT64SZ.js";
174
174
  import {
175
175
  updateTask
176
- } from "./chunk-DONZM3TK.js";
176
+ } from "./chunk-NNWW2DUN.js";
177
177
  import {
178
178
  fastDbInit
179
- } from "./chunk-SPG553RZ.js";
179
+ } from "./chunk-6JUEAKDA.js";
180
180
  import {
181
181
  MAX_CONCURRENT_WORKERS
182
- } from "./chunk-TUV7HNEA.js";
182
+ } from "./chunk-7ZORCDPU.js";
183
183
  import {
184
184
  hybridSearch,
185
185
  recentRecords
186
- } from "./chunk-AZO4SYVZ.js";
186
+ } from "./chunk-GEVXI276.js";
187
187
  import {
188
188
  attachDocumentMetadata,
189
189
  flushBatch,
@@ -191,7 +191,7 @@ import {
191
191
  reserveVersions,
192
192
  vectorToBlob,
193
193
  writeMemory
194
- } from "./chunk-OLWQQK55.js";
194
+ } from "./chunk-M4FIO4XB.js";
195
195
  import {
196
196
  extractKeywords,
197
197
  keywordsToString
@@ -206,7 +206,7 @@ import {
206
206
  sessionScopeFilter,
207
207
  updateTaskStatus,
208
208
  writeCheckpoint
209
- } from "./chunk-6MA2UX37.js";
209
+ } from "./chunk-45ZH65ZP.js";
210
210
  import {
211
211
  listSessions
212
212
  } from "./chunk-64WZEXXA.js";
@@ -242,7 +242,7 @@ import {
242
242
  isScheduledTrigger,
243
243
  loadTriggers,
244
244
  sanitizeParam
245
- } from "./chunk-NKJTMPPQ.js";
245
+ } from "./chunk-GKITHYDR.js";
246
246
  import {
247
247
  EMPLOYEES_PATH,
248
248
  addEmployee,
@@ -1553,7 +1553,7 @@ function registerMemory(server) {
1553
1553
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1554
1554
  const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-I6RTMUJQ.js");
1555
1555
  const { agentId } = getActiveAgent2();
1556
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-SU3JDOQW.js");
1556
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-BHCHBDIX.js");
1557
1557
  if (action === "core_get") {
1558
1558
  const entries = await getCoreMemory(agentId);
1559
1559
  const block = formatCoreMemoryBlock(entries);
@@ -2262,7 +2262,7 @@ function registerResumeEmployee(server) {
2262
2262
  };
2263
2263
  }
2264
2264
  try {
2265
- const { isTmuxSessionAlive } = await import("./tasks-crud-HID23OBT.js");
2265
+ const { isTmuxSessionAlive } = await import("./tasks-crud-7JRHR5M7.js");
2266
2266
  const now = (/* @__PURE__ */ new Date()).toISOString();
2267
2267
  for (const row of openTasks.rows) {
2268
2268
  const status2 = String(row.status);
@@ -5421,7 +5421,7 @@ async function getAgentSessionLoad() {
5421
5421
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
5422
5422
  }
5423
5423
  const { getClient: getClient2 } = await import("./lib/database.js");
5424
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-456OUPTL.js");
5424
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-GCDIABNL.js");
5425
5425
  const client = getClient2();
5426
5426
  const scope = sessionScopeFilter2();
5427
5427
  for (const s of liveAgentSessions) {
@@ -9460,7 +9460,7 @@ function registerWorkflowTool(server) {
9460
9460
  getWorkflowInstance,
9461
9461
  listWorkflowInstances,
9462
9462
  approveWorkflowStep
9463
- } = await import("./workflow-engine-FMGOYEYB.js");
9463
+ } = await import("./workflow-engine-CRZDWOM3.js");
9464
9464
  try {
9465
9465
  switch (input.action) {
9466
9466
  case "create_workflow": {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-3AZNU3WB.js";
3
+ } from "./chunk-EX6GDXFX.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-7WPIM2L6.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-L4VM6PZ7.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-DONZM3TK.js";
6
+ } from "./chunk-NNWW2DUN.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-6MA2UX37.js";
17
+ } from "./chunk-45ZH65ZP.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-QI4IXJN7.js";
@@ -111,7 +111,7 @@ function releaseBackfillLock() {
111
111
  }
112
112
  async function getTaskAwareCapacity() {
113
113
  const { getClient } = await import("./lib/database.js");
114
- const { sessionScopeFilter } = await import("./task-scope-456OUPTL.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-GCDIABNL.js");
115
115
  const client = getClient();
116
116
  const scope = sessionScopeFilter();
117
117
  const result = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-6MA2UX37.js";
3
+ } from "./chunk-45ZH65ZP.js";
4
4
 
5
5
  // src/lib/git-task-sweep.ts
6
6
  import { execSync } from "child_process";
@@ -178,7 +178,7 @@ async function sweepTasks(projectName, options = {}) {
178
178
  }
179
179
  if (!dryRun) {
180
180
  try {
181
- const { updateTaskStatus } = await import("./tasks-crud-HID23OBT.js");
181
+ const { updateTaskStatus } = await import("./tasks-crud-7JRHR5M7.js");
182
182
  await updateTaskStatus({
183
183
  taskId: task.id,
184
184
  status: "needs_review",
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-MLXJ5EZG.js";
4
4
  import {
5
5
  createTask
6
- } from "./chunk-DONZM3TK.js";
6
+ } from "./chunk-NNWW2DUN.js";
7
7
  import {
8
8
  getActiveAgent
9
9
  } from "./chunk-7WPIM2L6.js";
@@ -11,7 +11,7 @@ import {
11
11
  ensureEmployee,
12
12
  logTaskDispatch,
13
13
  resolveExeSession
14
- } from "./chunk-6MA2UX37.js";
14
+ } from "./chunk-45ZH65ZP.js";
15
15
  import {
16
16
  getLicenseSync
17
17
  } from "./chunk-34T3TC5E.js";
@@ -185,7 +185,7 @@ function registerCreateTask(server) {
185
185
  let projectConflictOpts = {};
186
186
  try {
187
187
  const { getClient } = await import("./lib/database.js");
188
- const { sessionScopeFilter } = await import("./task-scope-456OUPTL.js");
188
+ const { sessionScopeFilter } = await import("./task-scope-GCDIABNL.js");
189
189
  const client = getClient();
190
190
  const scope = sessionScopeFilter();
191
191
  const existing = await client.execute({
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-6MA2UX37.js";
12
+ } from "./chunk-45ZH65ZP.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -4,7 +4,7 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-6MA2UX37.js";
7
+ } from "./chunk-45ZH65ZP.js";
8
8
  import {
9
9
  getClient
10
10
  } from "./chunk-RD77OX3W.js";
@@ -830,7 +830,7 @@ function formatReport(report, flags) {
830
830
  return lines.join("\n");
831
831
  }
832
832
  async function fixNullVectors() {
833
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-WUBMXPPW.js");
833
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-DHNFSZZI.js");
834
834
  if (!tryAcquireWorkerSlot()) {
835
835
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
836
836
  await new Promise((r) => setTimeout(r, 5e3));
@@ -951,7 +951,7 @@ function splitAtSentences(text, maxChunkSize) {
951
951
  }
952
952
  async function main(argv = process.argv.slice(2)) {
953
953
  const flags = parseFlags(argv);
954
- const { fastDbInit } = await import("./fast-db-init-S7ROWXIW.js");
954
+ const { fastDbInit } = await import("./fast-db-init-HQ3O7CVL.js");
955
955
  const client = await fastDbInit();
956
956
  const report = await runAudit(client, flags);
957
957
  console.log(formatReport(report, flags));
@@ -3,7 +3,7 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-OLWQQK55.js";
6
+ } from "./chunk-M4FIO4XB.js";
7
7
  import {
8
8
  getClient
9
9
  } from "./chunk-RD77OX3W.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-NKJTMPPQ.js";
4
+ } from "./chunk-GKITHYDR.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-DONZM3TK.js";
3
+ } from "./chunk-NNWW2DUN.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-6MA2UX37.js";
6
+ } from "./chunk-45ZH65ZP.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-NKJTMPPQ.js";
3
+ } from "./chunk-GKITHYDR.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -5,7 +5,7 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-6MA2UX37.js";
8
+ } from "./chunk-45ZH65ZP.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-6MA2UX37.js";
4
+ } from "./chunk-45ZH65ZP.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -11,7 +11,7 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-6MA2UX37.js";
14
+ } from "./chunk-45ZH65ZP.js";
15
15
  import {
16
16
  getTransport
17
17
  } from "./chunk-TXWQPL2U.js";
@@ -136,7 +136,7 @@ async function dispatchTaskToEmployee(input) {
136
136
  let crossProject = false;
137
137
  if (input.projectName) {
138
138
  try {
139
- const { assertSessionScope } = await import("./session-scope-RGFTCPQQ.js");
139
+ const { assertSessionScope } = await import("./session-scope-N4D25QPH.js");
140
140
  const check = assertSessionScope("dispatch_task", input.projectName);
141
141
  if (check.reason === "cross_session_denied") {
142
142
  crossProject = true;
@@ -396,7 +396,7 @@ async function updateTask(input) {
396
396
  await markTaskNotificationsRead(taskFile);
397
397
  if (input.status === "needs_review" && !isCoordinator) {
398
398
  try {
399
- const { writeNotification: writeNotification2 } = await import("./notifications-MH56M4C3.js");
399
+ const { writeNotification: writeNotification2 } = await import("./notifications-ZWCZYH57.js");
400
400
  await writeNotification2({
401
401
  agentId: String(row.assigned_to),
402
402
  agentRole: String(row.assigned_to),
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-SPG553RZ.js";
3
+ } from "./chunk-6JUEAKDA.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-6MA2UX37.js";
6
+ } from "./chunk-45ZH65ZP.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-3QH3NIK6.js";
5
+ } from "./chunk-GYO6FHZS.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-ONKIWA3R.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  initStore
3
- } from "./chunk-OLWQQK55.js";
3
+ } from "./chunk-M4FIO4XB.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-OLWQQK55.js";
3
+ } from "./chunk-M4FIO4XB.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  createCRMWebhookHandler,
21
21
  parseTwentyWebhook
22
- } from "./chunk-6P7IDDPO.js";
22
+ } from "./chunk-L4Y5BE4H.js";
23
23
  import {
24
24
  BotRegistry,
25
25
  BotRuntime,
@@ -42,7 +42,7 @@ import {
42
42
  retryWithBackoff,
43
43
  routeMessage,
44
44
  validateGatewayConfig
45
- } from "./chunk-LTS4Y235.js";
45
+ } from "./chunk-R53LII7U.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-6P7IDDPO.js";
5
- import "./chunk-NKJTMPPQ.js";
4
+ } from "./chunk-L4Y5BE4H.js";
5
+ import "./chunk-GKITHYDR.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
  export {
8
8
  createCRMWebhookHandler,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-6MA2UX37.js";
3
+ } from "./chunk-45ZH65ZP.js";
4
4
  import "./chunk-LOQCOHEW.js";
5
5
  import "./chunk-QI4IXJN7.js";
6
6
  import "./chunk-64WZEXXA.js";
@@ -48,10 +48,10 @@ import {
48
48
  shouldKillIdleSession,
49
49
  shouldKillSession,
50
50
  shouldNudgeEmployee
51
- } from "./chunk-HL54XOLP.js";
51
+ } from "./chunk-67TGEOEJ.js";
52
52
  import "./chunk-L4VM6PZ7.js";
53
- import "./chunk-DONZM3TK.js";
54
- import "./chunk-6MA2UX37.js";
53
+ import "./chunk-NNWW2DUN.js";
54
+ import "./chunk-45ZH65ZP.js";
55
55
  import "./chunk-LOQCOHEW.js";
56
56
  import "./chunk-QI4IXJN7.js";
57
57
  import "./chunk-64WZEXXA.js";
@@ -6,7 +6,7 @@ import "./chunk-LGY2BIOT.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "./chunk-OLWQQK55.js";
9
+ } from "./chunk-M4FIO4XB.js";
10
10
  import "./chunk-CHCA3ZM2.js";
11
11
  import "./chunk-DOWW3EIO.js";
12
12
  import "./chunk-MP2AFCGL.js";
@@ -7,7 +7,7 @@ import "./chunk-LGY2BIOT.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "./chunk-OLWQQK55.js";
10
+ } from "./chunk-M4FIO4XB.js";
11
11
  import "./chunk-CHCA3ZM2.js";
12
12
  import "./chunk-DOWW3EIO.js";
13
13
  import "./chunk-MP2AFCGL.js";
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ requestDeployRestart
4
+ } from "./chunk-PWMMIGVQ.js";
2
5
  import {
3
6
  disposeDatabase,
4
7
  ensureSchema,
@@ -80,12 +83,15 @@ async function stopDaemonIfAlive() {
80
83
  throw new Error("Refusing to signal PID 1. Stop the exed Docker container manually, then retry.");
81
84
  }
82
85
  }
83
- process.kill(Number(daemon.pid), "SIGTERM");
84
- for (let i = 0; i < 30; i++) {
86
+ const result = requestDeployRestart("key-rotation");
87
+ if (!result.ok) {
88
+ throw new Error(`Daemon stop failed: ${result.skipped}`);
89
+ }
90
+ for (let i = 0; i < 10; i++) {
85
91
  await new Promise((resolve) => setTimeout(resolve, 500));
86
92
  if (!daemonStatus().alive) return;
87
93
  }
88
- throw new Error(`Daemon pid ${daemon.pid} did not stop after SIGTERM; refusing to rotate`);
94
+ throw new Error(`Daemon pid ${daemon.pid} did not stop after orchestrated kill; refusing to rotate`);
89
95
  }
90
96
  async function keyStatus() {
91
97
  const key = await getMasterKey();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-SPG553RZ.js";
3
+ } from "./chunk-6JUEAKDA.js";
4
4
  import "./chunk-MLKGABMK.js";
5
5
  export {
6
6
  fastDbInit
@@ -11,7 +11,7 @@ import {
11
11
  createSignupBot,
12
12
  ensureCRMContact,
13
13
  formatAlert
14
- } from "../chunk-U2WKN7SU.js";
14
+ } from "../chunk-YPCDZDTN.js";
15
15
  import {
16
16
  WhatsAppAdapter
17
17
  } from "../chunk-ECSNSHZ7.js";
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  createCRMWebhookHandler,
35
35
  parseTwentyWebhook
36
- } from "../chunk-6P7IDDPO.js";
36
+ } from "../chunk-L4Y5BE4H.js";
37
37
  import {
38
38
  BotRegistry,
39
39
  BotRuntime,
@@ -56,8 +56,8 @@ import {
56
56
  retryWithBackoff,
57
57
  routeMessage,
58
58
  validateGatewayConfig
59
- } from "../chunk-LTS4Y235.js";
60
- import "../chunk-3QH3NIK6.js";
59
+ } from "../chunk-R53LII7U.js";
60
+ import "../chunk-GYO6FHZS.js";
61
61
  import {
62
62
  OllamaProvider
63
63
  } from "../chunk-FWFFZGSC.js";
@@ -80,7 +80,7 @@ import {
80
80
  pushGatewayEventToCRM,
81
81
  pushInboundMessageToCRM
82
82
  } from "../chunk-ONKIWA3R.js";
83
- import "../chunk-NKJTMPPQ.js";
83
+ import "../chunk-GKITHYDR.js";
84
84
  import "../chunk-MP2AFCGL.js";
85
85
  import "../chunk-RD77OX3W.js";
86
86
  import "../chunk-RVSGXGWG.js";