@askexenow/exe-os 0.9.191 → 0.9.192

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 (132) hide show
  1. package/dist/assets/tmux.conf +3 -0
  2. package/dist/{backfill-metadata-4DOH3BHU.js → backfill-metadata-KYCN4I7C.js} +1 -1
  3. package/dist/bin/agentic-ontology-backfill.js +1 -1
  4. package/dist/bin/agentic-reflection-backfill.js +1 -1
  5. package/dist/bin/agentic-semantic-label.js +1 -1
  6. package/dist/bin/backfill-conversations.js +1 -1
  7. package/dist/bin/backfill-responses.js +1 -1
  8. package/dist/bin/backfill-vectors.js +2 -2
  9. package/dist/bin/bulk-sync-postgres.js +1 -1
  10. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  11. package/dist/bin/cli.js +4 -4
  12. package/dist/bin/exe-assign.js +1 -1
  13. package/dist/bin/exe-boot.js +3 -3
  14. package/dist/bin/exe-dispatch.js +2 -2
  15. package/dist/bin/exe-doctor.js +1 -1
  16. package/dist/bin/exe-export-behaviors.js +2 -2
  17. package/dist/bin/exe-forget.js +3 -3
  18. package/dist/bin/exe-gateway.js +4 -4
  19. package/dist/bin/exe-heartbeat.js +2 -2
  20. package/dist/bin/exe-kill.js +3 -3
  21. package/dist/bin/exe-launch-agent.js +2 -2
  22. package/dist/bin/exe-pending-messages.js +3 -3
  23. package/dist/bin/exe-pending-notifications.js +2 -2
  24. package/dist/bin/exe-pending-reviews.js +2 -2
  25. package/dist/bin/exe-review.js +3 -3
  26. package/dist/bin/exe-search.js +2 -2
  27. package/dist/bin/exe-session-cleanup.js +5 -5
  28. package/dist/bin/exe-start-codex.js +1 -1
  29. package/dist/bin/exe-start-opencode.js +1 -1
  30. package/dist/bin/exe-start.sh +10 -0
  31. package/dist/bin/exe-status.js +3 -3
  32. package/dist/bin/exe-team.js +1 -1
  33. package/dist/bin/git-sweep.js +2 -2
  34. package/dist/bin/graph-backfill.js +1 -1
  35. package/dist/bin/graph-export.js +2 -2
  36. package/dist/bin/import-history.js +1 -1
  37. package/dist/bin/intercom-check.js +3 -3
  38. package/dist/bin/scan-tasks.js +2 -2
  39. package/dist/bin/shard-migrate.js +1 -1
  40. package/dist/bin/stack-update.js +4 -1
  41. package/dist/bin/vps-health-gate.js +1 -1
  42. package/dist/{capacity-monitor-DNUXEK4E.js → capacity-monitor-H7D43IUQ.js} +2 -2
  43. package/dist/{catchup-brief-OXRNVTHF.js → catchup-brief-PTVQRBQK.js} +3 -3
  44. package/dist/{chunk-J6RW6Y5Y.js → chunk-2EVDBTCZ.js} +1 -1
  45. package/dist/{chunk-2U3HUFT4.js → chunk-2OX3F2UQ.js} +38 -25
  46. package/dist/{chunk-2UUQLULT.js → chunk-34ENR4JM.js} +2 -2
  47. package/dist/{chunk-EQXODLCC.js → chunk-42QSXHKN.js} +1 -0
  48. package/dist/{chunk-5RLQODWR.js → chunk-5RT7IBY4.js} +3 -3
  49. package/dist/{chunk-IGOHFEAA.js → chunk-7AJST6LP.js} +1 -1
  50. package/dist/{chunk-VKUOC7AR.js → chunk-A6Z2S653.js} +12 -1
  51. package/dist/{chunk-MYE7JBPI.js → chunk-ADI4Z63O.js} +2 -2
  52. package/dist/{chunk-JGC4NY7N.js → chunk-BM4X3WHU.js} +1 -1
  53. package/dist/{chunk-TKG4TAFN.js → chunk-BUN6JIDP.js} +1 -1
  54. package/dist/{chunk-ZQRS3DVQ.js → chunk-CGDA6NJI.js} +1 -1
  55. package/dist/{chunk-L24YTZYR.js → chunk-FC3U23FN.js} +2 -2
  56. package/dist/{chunk-3SQU5VKX.js → chunk-FL4PEEWL.js} +1 -1
  57. package/dist/{chunk-23ODJ3NQ.js → chunk-FXYOH3NG.js} +1 -1
  58. package/dist/{chunk-OUHOJ3TX.js → chunk-HH2QED73.js} +1 -1
  59. package/dist/{chunk-BA4Y7BCW.js → chunk-HH4UGDJH.js} +2 -2
  60. package/dist/{chunk-ECA7B2RX.js → chunk-HX4ULQ3E.js} +3 -3
  61. package/dist/{chunk-2FOGO4RC.js → chunk-IUC2332K.js} +1 -1
  62. package/dist/{chunk-5QQOORWM.js → chunk-LLEB3QLI.js} +1 -1
  63. package/dist/{chunk-CGMPBXPG.js → chunk-OK5U45GK.js} +2 -2
  64. package/dist/{chunk-CUYXJ6XW.js → chunk-Q4WJJBOP.js} +1 -1
  65. package/dist/{chunk-PGQE2V3E.js → chunk-QCNSCSCH.js} +2 -2
  66. package/dist/{chunk-VFX76FQF.js → chunk-UTDZUTRN.js} +1 -1
  67. package/dist/{chunk-Z2KKUF3M.js → chunk-UTUYZCQA.js} +3 -3
  68. package/dist/{chunk-YU3EZVSR.js → chunk-VGBQKQHJ.js} +1 -1
  69. package/dist/{chunk-5QN7RKLV.js → chunk-WP6P3LSI.js} +4 -4
  70. package/dist/{crm-webhook-MRW2EGB2.js → crm-webhook-LRLN55LB.js} +2 -2
  71. package/dist/{cto-delegation-gate-TXCMQHDX.js → cto-delegation-gate-2FZN5SUY.js} +1 -1
  72. package/dist/{daemon-orchestration-HLN6AKQT.js → daemon-orchestration-MLB3WJHB.js} +3 -3
  73. package/dist/{exe-export-VW3RPHX5.js → exe-export-4ZJTQRRE.js} +1 -1
  74. package/dist/{exe-import-IU7HVB2K.js → exe-import-JI3FTSWZ.js} +1 -1
  75. package/dist/{fast-db-init-7MNNB5UL.js → fast-db-init-URP3KJAE.js} +1 -1
  76. package/dist/gateway/index.js +5 -5
  77. package/dist/{git-task-sweep-DOFPAZLT.js → git-task-sweep-GPPNL2DK.js} +2 -2
  78. package/dist/hooks/bug-report-worker.js +3 -3
  79. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  80. package/dist/hooks/commit-complete.js +4 -4
  81. package/dist/hooks/error-recall.js +2 -2
  82. package/dist/hooks/ingest.js +2 -2
  83. package/dist/hooks/instructions-loaded.js +1 -1
  84. package/dist/hooks/notification.js +1 -1
  85. package/dist/hooks/post-compact.js +2 -2
  86. package/dist/hooks/post-tool-combined.js +2 -2
  87. package/dist/hooks/pre-compact.js +3 -3
  88. package/dist/hooks/pre-tool-use.js +6 -6
  89. package/dist/hooks/prompt-submit.js +8 -8
  90. package/dist/hooks/session-end.js +5 -5
  91. package/dist/hooks/session-start.js +4 -4
  92. package/dist/hooks/stop.js +5 -5
  93. package/dist/hooks/subagent-stop.js +2 -2
  94. package/dist/hooks/summary-worker.js +5 -5
  95. package/dist/index.js +8 -8
  96. package/dist/lib/consolidation.js +2 -2
  97. package/dist/lib/exe-daemon.js +15 -15
  98. package/dist/lib/hybrid-search.js +2 -2
  99. package/dist/lib/messaging.js +2 -2
  100. package/dist/lib/schedules.js +2 -2
  101. package/dist/lib/store.js +1 -1
  102. package/dist/lib/tasks.js +2 -2
  103. package/dist/lib/tmux-routing.js +1 -1
  104. package/dist/lib/ws-client.js +20 -3
  105. package/dist/mcp/register-tools.js +20 -20
  106. package/dist/mcp/server.js +21 -21
  107. package/dist/mcp/tools/create-task.js +3 -3
  108. package/dist/mcp/tools/list-tasks.js +3 -3
  109. package/dist/mcp/tools/send-message.js +3 -3
  110. package/dist/mcp/tools/update-task.js +3 -3
  111. package/dist/{notifications-OILWTRRR.js → notifications-GENT3AWZ.js} +1 -1
  112. package/dist/{orchestrator-7XMRXI3J.js → orchestrator-A72IFTWK.js} +2 -2
  113. package/dist/{review-polling-H2VALNGA.js → review-polling-UJ4P3BIG.js} +2 -2
  114. package/dist/runtime/index.js +3 -3
  115. package/dist/{session-events-RTO5PO53.js → session-events-GWEVYXPJ.js} +2 -2
  116. package/dist/{session-scope-ZSG4XESR.js → session-scope-DKE6OPV5.js} +1 -1
  117. package/dist/{stack-update-VN5SBY4U.js → stack-update-L4JGJZ7E.js} +1 -1
  118. package/dist/{task-enforcement-T6IW4TZY.js → task-enforcement-QYS2QEEO.js} +1 -1
  119. package/dist/{task-scope-IB5LLNZQ.js → task-scope-OS66ZD7O.js} +1 -1
  120. package/dist/{tasks-crud-3X6U7UZX.js → tasks-crud-DJH4NZC2.js} +1 -1
  121. package/dist/{tasks-review-2AGS4CE6.js → tasks-review-Z6PA4AF5.js} +1 -1
  122. package/dist/tui/App.js +7 -7
  123. package/dist/{tui-data-NCFFKRJ4.js → tui-data-JI4URSHX.js} +1 -1
  124. package/dist/{worker-gate-IL73F5WP.js → worker-gate-DIILYSRZ.js} +1 -1
  125. package/dist/{workflow-engine-NLRHEE4H.js → workflow-engine-PJ5YSMRL.js} +2 -2
  126. package/package.json +1 -1
  127. /package/dist/{chunk-BYKJO3GQ.js → chunk-LZU4HY4C.js} +0 -0
  128. /package/dist/{chunk-QZ52JIMP.js → chunk-M4UP7VWO.js} +0 -0
  129. /package/dist/{chunk-LLYPQJPK.js → chunk-ZGPURQ4J.js} +0 -0
  130. /package/dist/{core-memory-35MEEHGR.js → core-memory-UHWYIN2A.js} +0 -0
  131. /package/dist/{exe-key-GBRTLFOT.js → exe-key-4EUOGKBN.js} +0 -0
  132. /package/dist/{skill-refinement-OXFKM4A4.js → skill-refinement-2U2UCV2H.js} +0 -0
@@ -8,9 +8,9 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-CUYXJ6XW.js";
11
+ } from "./chunk-Q4WJJBOP.js";
12
12
  import "./chunk-WRCETUYE.js";
13
- import "./chunk-5QN7RKLV.js";
13
+ import "./chunk-WP6P3LSI.js";
14
14
  import "./chunk-RN6XYY7U.js";
15
15
  import "./chunk-QI4IXJN7.js";
16
16
  import "./chunk-64WZEXXA.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-2FOGO4RC.js";
4
- import "./chunk-EQXODLCC.js";
3
+ } from "./chunk-IUC2332K.js";
4
+ import "./chunk-42QSXHKN.js";
5
5
  import "./chunk-CHCA3ZM2.js";
6
6
  import "./chunk-OO5CPMT3.js";
7
7
  import {
8
8
  sessionScopeFilter,
9
9
  strictSessionScopeFilter
10
- } from "./chunk-5QN7RKLV.js";
10
+ } from "./chunk-WP6P3LSI.js";
11
11
  import "./chunk-RN6XYY7U.js";
12
12
  import "./chunk-QI4IXJN7.js";
13
13
  import "./chunk-64WZEXXA.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-EQXODLCC.js";
3
+ } from "./chunk-42QSXHKN.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-AFJWUI3Y.js";
7
7
  import {
8
8
  AUTO_WAKE_MAX_RETRIES
9
- } from "./chunk-CGMPBXPG.js";
9
+ } from "./chunk-OK5U45GK.js";
10
10
  import {
11
11
  getToolCapabilityIndex
12
12
  } from "./chunk-GHCVD7WV.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-E6ORBQHP.js";
29
29
  import {
30
30
  listRecentSessionEvents
31
- } from "./chunk-3SQU5VKX.js";
31
+ } from "./chunk-FL4PEEWL.js";
32
32
  import {
33
33
  analyzeBlastRadius,
34
34
  buildCodeContextIndex,
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-DH65L4XI.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-CUYXJ6XW.js";
55
+ } from "./chunk-Q4WJJBOP.js";
56
56
  import {
57
57
  registerCompleteReminder
58
58
  } from "./chunk-5XAGTHF2.js";
@@ -61,16 +61,16 @@ import {
61
61
  } from "./chunk-FBTIOBF6.js";
62
62
  import {
63
63
  registerSendMessage
64
- } from "./chunk-5QQOORWM.js";
64
+ } from "./chunk-LLEB3QLI.js";
65
65
  import {
66
66
  registerCreateTask
67
- } from "./chunk-Z2KKUF3M.js";
67
+ } from "./chunk-UTUYZCQA.js";
68
68
  import {
69
69
  registerListTasks
70
- } from "./chunk-YU3EZVSR.js";
70
+ } from "./chunk-VGBQKQHJ.js";
71
71
  import {
72
72
  registerUpdateTask
73
- } from "./chunk-PGQE2V3E.js";
73
+ } from "./chunk-QCNSCSCH.js";
74
74
  import {
75
75
  registerCreateReminder
76
76
  } from "./chunk-WATDOTGK.js";
@@ -100,10 +100,10 @@ import {
100
100
  import {
101
101
  createSchedule,
102
102
  parseHumanCron
103
- } from "./chunk-23ODJ3NQ.js";
103
+ } from "./chunk-FXYOH3NG.js";
104
104
  import {
105
105
  status
106
- } from "./chunk-2UUQLULT.js";
106
+ } from "./chunk-34ENR4JM.js";
107
107
  import {
108
108
  getAgentSpend
109
109
  } from "./chunk-OO5EWGC6.js";
@@ -122,7 +122,7 @@ import {
122
122
  fixShards,
123
123
  formatReport,
124
124
  runAudit
125
- } from "./chunk-L24YTZYR.js";
125
+ } from "./chunk-FC3U23FN.js";
126
126
  import {
127
127
  runHealthCheck
128
128
  } from "./chunk-J73N5EJ6.js";
@@ -166,7 +166,7 @@ import {
166
166
  groupMemories,
167
167
  runConsolidation,
168
168
  selectUnconsolidated
169
- } from "./chunk-J6RW6Y5Y.js";
169
+ } from "./chunk-2EVDBTCZ.js";
170
170
  import {
171
171
  embed
172
172
  } from "./chunk-KTJ57PVS.js";
@@ -177,17 +177,17 @@ import {
177
177
  } from "./chunk-T5YT64SZ.js";
178
178
  import {
179
179
  updateTask
180
- } from "./chunk-5RLQODWR.js";
180
+ } from "./chunk-5RT7IBY4.js";
181
181
  import {
182
182
  fastDbInit
183
- } from "./chunk-QZ52JIMP.js";
183
+ } from "./chunk-M4UP7VWO.js";
184
184
  import {
185
185
  MAX_CONCURRENT_WORKERS
186
- } from "./chunk-ZQRS3DVQ.js";
186
+ } from "./chunk-CGDA6NJI.js";
187
187
  import {
188
188
  hybridSearch,
189
189
  recentRecords
190
- } from "./chunk-2FOGO4RC.js";
190
+ } from "./chunk-IUC2332K.js";
191
191
  import {
192
192
  attachDocumentMetadata,
193
193
  flushBatch,
@@ -195,7 +195,7 @@ import {
195
195
  reserveVersions,
196
196
  vectorToBlob,
197
197
  writeMemory
198
- } from "./chunk-EQXODLCC.js";
198
+ } from "./chunk-42QSXHKN.js";
199
199
  import {
200
200
  extractKeywords,
201
201
  keywordsToString
@@ -210,7 +210,7 @@ import {
210
210
  sessionScopeFilter,
211
211
  updateTaskStatus,
212
212
  writeCheckpoint
213
- } from "./chunk-5QN7RKLV.js";
213
+ } from "./chunk-WP6P3LSI.js";
214
214
  import {
215
215
  listSessions
216
216
  } from "./chunk-64WZEXXA.js";
@@ -246,7 +246,7 @@ import {
246
246
  isScheduledTrigger,
247
247
  loadTriggers,
248
248
  sanitizeParam
249
- } from "./chunk-LLYPQJPK.js";
249
+ } from "./chunk-ZGPURQ4J.js";
250
250
  import {
251
251
  EMPLOYEES_PATH,
252
252
  addEmployee,
@@ -1557,7 +1557,7 @@ function registerMemory(server) {
1557
1557
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1558
1558
  const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-O433V5SV.js");
1559
1559
  const { agentId } = getActiveAgent2();
1560
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-35MEEHGR.js");
1560
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-UHWYIN2A.js");
1561
1561
  if (action === "core_get") {
1562
1562
  const entries = await getCoreMemory(agentId);
1563
1563
  const block = formatCoreMemoryBlock(entries);
@@ -2266,7 +2266,7 @@ function registerResumeEmployee(server) {
2266
2266
  };
2267
2267
  }
2268
2268
  try {
2269
- const { isTmuxSessionAlive } = await import("./tasks-crud-3X6U7UZX.js");
2269
+ const { isTmuxSessionAlive } = await import("./tasks-crud-DJH4NZC2.js");
2270
2270
  const now = (/* @__PURE__ */ new Date()).toISOString();
2271
2271
  for (const row of openTasks.rows) {
2272
2272
  const status2 = String(row.status);
@@ -5433,7 +5433,7 @@ async function getAgentSessionLoad() {
5433
5433
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
5434
5434
  }
5435
5435
  const { getClient: getClient2 } = await import("./lib/database.js");
5436
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-IB5LLNZQ.js");
5436
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-OS66ZD7O.js");
5437
5437
  const client = getClient2();
5438
5438
  const scope = sessionScopeFilter2();
5439
5439
  for (const s of liveAgentSessions) {
@@ -9529,7 +9529,7 @@ function registerWorkflowTool(server) {
9529
9529
  getWorkflowInstance,
9530
9530
  listWorkflowInstances,
9531
9531
  approveWorkflowStep
9532
- } = await import("./workflow-engine-NLRHEE4H.js");
9532
+ } = await import("./workflow-engine-PJ5YSMRL.js");
9533
9533
  try {
9534
9534
  switch (input.action) {
9535
9535
  case "create_workflow": {
@@ -10172,22 +10172,35 @@ function registerCreateFeatureRequest(server) {
10172
10172
  file_paths: null
10173
10173
  });
10174
10174
  await flushBatch();
10175
- const upstreamStatus = send_upstream ? await maybeSendUpstream2({
10175
+ const upstreamPayload = {
10176
10176
  id,
10177
10177
  title,
10178
10178
  category,
10179
10179
  priority,
10180
10180
  product: resolvedProduct,
10181
+ summary: description,
10182
+ // Worker requires 'summary', not 'description'
10181
10183
  description,
10182
10184
  use_case,
10185
+ useCase: use_case,
10183
10186
  current_workaround,
10187
+ currentWorkaround: current_workaround,
10184
10188
  proposed_solution,
10189
+ proposedSolution: proposed_solution,
10185
10190
  business_impact,
10191
+ businessImpact: business_impact,
10186
10192
  package_version: version,
10193
+ packageVersion: version,
10187
10194
  project_name,
10195
+ projectName: project_name,
10188
10196
  agent_id: agentId,
10189
- agent_role: agentRole
10190
- }) : "skipped";
10197
+ source: "mcp-tool",
10198
+ markdown
10199
+ };
10200
+ for (const key of Object.keys(upstreamPayload)) {
10201
+ if (upstreamPayload[key] === void 0) delete upstreamPayload[key];
10202
+ }
10203
+ const upstreamStatus = send_upstream ? await maybeSendUpstream2(upstreamPayload) : "skipped";
10191
10204
  return {
10192
10205
  content: [
10193
10206
  {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-QZ52JIMP.js";
3
+ } from "./chunk-M4UP7VWO.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-5QN7RKLV.js";
6
+ } from "./chunk-WP6P3LSI.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -163,6 +163,7 @@ function inferDomain(record) {
163
163
  return null;
164
164
  }
165
165
  async function writeMemory(record) {
166
+ if (record.agent_id) record.agent_id = record.agent_id.toLowerCase();
166
167
  if (record.vector !== null && record.vector.length !== EMBEDDING_DIM) {
167
168
  throw new Error(
168
169
  `Expected ${EMBEDDING_DIM}-dim vector, got ${record.vector.length}`
@@ -11,7 +11,7 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-5QN7RKLV.js";
14
+ } from "./chunk-WP6P3LSI.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-ZSG4XESR.js");
139
+ const { assertSessionScope } = await import("./session-scope-DKE6OPV5.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-OILWTRRR.js");
399
+ const { writeNotification: writeNotification2 } = await import("./notifications-GENT3AWZ.js");
400
400
  await writeNotification2({
401
401
  agentId: String(row.assigned_to),
402
402
  agentRole: String(row.assigned_to),
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-5QN7RKLV.js";
12
+ } from "./chunk-WP6P3LSI.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -620,7 +620,18 @@ async function runStackUpdate(options) {
620
620
  const composeArgs = ["compose", "--file", options.composeFile, "--env-file", options.envFile];
621
621
  let registryForLogout;
622
622
  try {
623
- const creds = await fetchImageCredentials(options);
623
+ let creds = await fetchImageCredentials(options);
624
+ if (!creds) {
625
+ const manual = options.registryCredentials || process.env.EXE_REGISTRY_CREDENTIALS;
626
+ if (manual) {
627
+ const [username, ...rest] = manual.split(":");
628
+ const password = rest.join(":");
629
+ if (username && password) {
630
+ creds = { registry: "ghcr.io", username, password };
631
+ console.log("[stack-update] Using manual registry credentials (--registry-credentials).");
632
+ }
633
+ }
634
+ }
624
635
  if (creds) {
625
636
  (options.dockerLogin ?? defaultDockerLogin)(creds);
626
637
  registryForLogout = creds.registry;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-5QN7RKLV.js";
3
+ } from "./chunk-WP6P3LSI.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-3X6U7UZX.js");
181
+ const { updateTaskStatus } = await import("./tasks-crud-DJH4NZC2.js");
182
182
  await updateTaskStatus({
183
183
  taskId: task.id,
184
184
  status: "needs_review",
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-VFX76FQF.js";
5
+ } from "./chunk-UTDZUTRN.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-ONKIWA3R.js";
@@ -4,7 +4,7 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-5QN7RKLV.js";
7
+ } from "./chunk-WP6P3LSI.js";
8
8
  import {
9
9
  getClient
10
10
  } from "./chunk-TGOJR5SS.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-IB5LLNZQ.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-OS66ZD7O.js");
115
115
  const client = getClient();
116
116
  const scope = sessionScopeFilter();
117
117
  const result = await client.execute({
@@ -849,7 +849,7 @@ function formatReport(report, flags) {
849
849
  return lines.join("\n");
850
850
  }
851
851
  async function fixNullVectors() {
852
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-IL73F5WP.js");
852
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-DIILYSRZ.js");
853
853
  if (!tryAcquireWorkerSlot()) {
854
854
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
855
855
  await new Promise((r) => setTimeout(r, 5e3));
@@ -970,7 +970,7 @@ function splitAtSentences(text, maxChunkSize) {
970
970
  }
971
971
  async function main(argv = process.argv.slice(2)) {
972
972
  const flags = parseFlags(argv);
973
- const { fastDbInit } = await import("./fast-db-init-7MNNB5UL.js");
973
+ const { fastDbInit } = await import("./fast-db-init-URP3KJAE.js");
974
974
  const client = await fastDbInit();
975
975
  const report = await runAudit(client, flags);
976
976
  console.log(formatReport(report, flags));
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-5QN7RKLV.js";
4
+ } from "./chunk-WP6P3LSI.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  initStore
3
- } from "./chunk-EQXODLCC.js";
3
+ } from "./chunk-42QSXHKN.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-LLYPQJPK.js";
3
+ } from "./chunk-ZGPURQ4J.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  createCRMWebhookHandler,
21
21
  parseTwentyWebhook
22
- } from "./chunk-OUHOJ3TX.js";
22
+ } from "./chunk-HH2QED73.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-JGC4NY7N.js";
45
+ } from "./chunk-BM4X3WHU.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MultiAgentOrchestrator
3
- } from "./chunk-IGOHFEAA.js";
3
+ } from "./chunk-7AJST6LP.js";
4
4
  import {
5
5
  createQuietRenderer,
6
6
  createTerminalRenderer,
@@ -327,7 +327,7 @@ function createExeOSHooks(config) {
327
327
  async onSubagentStop(_reason) {
328
328
  try {
329
329
  const { getClient } = await import("./lib/database.js");
330
- const { sessionScopeFilter } = await import("./task-scope-IB5LLNZQ.js");
330
+ const { sessionScopeFilter } = await import("./task-scope-OS66ZD7O.js");
331
331
  const client = getClient();
332
332
  const ehScope = sessionScopeFilter();
333
333
  const tasks = await client.execute({
@@ -419,7 +419,7 @@ function createExeOSHooks(config) {
419
419
  try {
420
420
  const { writeMemory, flushBatch } = await import("./lib/store.js");
421
421
  const { getClient } = await import("./lib/database.js");
422
- const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-IB5LLNZQ.js");
422
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-OS66ZD7O.js");
423
423
  const client = getClient();
424
424
  const cpScope = cpScopeFilter();
425
425
  const tasks = await client.execute({
@@ -3,7 +3,7 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-EQXODLCC.js";
6
+ } from "./chunk-42QSXHKN.js";
7
7
  import {
8
8
  getClient
9
9
  } from "./chunk-TGOJR5SS.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-TKG4TAFN.js";
3
+ } from "./chunk-BUN6JIDP.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-BDYUENC7.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WRCETUYE.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-5RLQODWR.js";
6
+ } from "./chunk-5RT7IBY4.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-5QN7RKLV.js";
17
+ } from "./chunk-WP6P3LSI.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-QI4IXJN7.js";
@@ -5,7 +5,7 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-5QN7RKLV.js";
8
+ } from "./chunk-WP6P3LSI.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-5RLQODWR.js";
3
+ } from "./chunk-5RT7IBY4.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-5QN7RKLV.js";
6
+ } from "./chunk-WP6P3LSI.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-LLYPQJPK.js";
4
+ } from "./chunk-ZGPURQ4J.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-MLXJ5EZG.js";
4
4
  import {
5
5
  createTask
6
- } from "./chunk-5RLQODWR.js";
6
+ } from "./chunk-5RT7IBY4.js";
7
7
  import {
8
8
  getActiveAgent
9
9
  } from "./chunk-BDYUENC7.js";
@@ -11,7 +11,7 @@ import {
11
11
  ensureEmployee,
12
12
  logTaskDispatch,
13
13
  resolveExeSession
14
- } from "./chunk-5QN7RKLV.js";
14
+ } from "./chunk-WP6P3LSI.js";
15
15
  import {
16
16
  getLicenseSync
17
17
  } from "./chunk-ZHINF5CG.js";
@@ -208,7 +208,7 @@ function registerCreateTask(server) {
208
208
  let projectConflictOpts = {};
209
209
  try {
210
210
  const { getClient } = await import("./lib/database.js");
211
- const { sessionScopeFilter } = await import("./task-scope-IB5LLNZQ.js");
211
+ const { sessionScopeFilter } = await import("./task-scope-OS66ZD7O.js");
212
212
  const client = getClient();
213
213
  const scope = sessionScopeFilter();
214
214
  const existing = await client.execute({
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-BDYUENC7.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-5QN7RKLV.js";
6
+ } from "./chunk-WP6P3LSI.js";
7
7
 
8
8
  // src/mcp/tools/list-tasks.ts
9
9
  import { z } from "zod";
@@ -360,7 +360,7 @@ async function createTaskCore(input) {
360
360
  if (isCoordinatorSession) {
361
361
  earlySessionScope = resolved;
362
362
  } else {
363
- const { getSessionProject } = await import("./session-scope-ZSG4XESR.js");
363
+ const { getSessionProject } = await import("./session-scope-DKE6OPV5.js");
364
364
  const sessionProject = getSessionProject(resolved);
365
365
  if (sessionProject && sessionProject !== input.projectName) {
366
366
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -788,7 +788,7 @@ async function updateTaskStatus(input) {
788
788
  } catch {
789
789
  }
790
790
  try {
791
- const { writeNotification: writeNotification2 } = await import("./notifications-OILWTRRR.js");
791
+ const { writeNotification: writeNotification2 } = await import("./notifications-GENT3AWZ.js");
792
792
  await writeNotification2({
793
793
  agentId: reviewer,
794
794
  agentRole: isCoordinatorName(reviewer) ? "COO" : "manager",
@@ -963,7 +963,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
963
963
  }
964
964
  if (input.status === "done" || input.status === "needs_review") {
965
965
  try {
966
- const { incrementSkillSuccess } = await import("./skill-refinement-OXFKM4A4.js");
966
+ const { incrementSkillSuccess } = await import("./skill-refinement-2U2UCV2H.js");
967
967
  await incrementSkillSuccess(
968
968
  String(row.assigned_to),
969
969
  row.project_name ? String(row.project_name) : null
@@ -2041,7 +2041,7 @@ async function verifyPaneAtCapacity(sessionName) {
2041
2041
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
2042
2042
  };
2043
2043
  }
2044
- const { isAtCapacity } = await import("./capacity-monitor-DNUXEK4E.js");
2044
+ const { isAtCapacity } = await import("./capacity-monitor-H7D43IUQ.js");
2045
2045
  if (!isAtCapacity(pane)) {
2046
2046
  return {
2047
2047
  atCapacity: false,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-OUHOJ3TX.js";
5
- import "./chunk-LLYPQJPK.js";
4
+ } from "./chunk-HH2QED73.js";
5
+ import "./chunk-ZGPURQ4J.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-5QN7RKLV.js";
3
+ } from "./chunk-WP6P3LSI.js";
4
4
  import "./chunk-RN6XYY7U.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-CGMPBXPG.js";
51
+ } from "./chunk-OK5U45GK.js";
52
52
  import "./chunk-WRCETUYE.js";
53
- import "./chunk-5RLQODWR.js";
54
- import "./chunk-5QN7RKLV.js";
53
+ import "./chunk-5RT7IBY4.js";
54
+ import "./chunk-WP6P3LSI.js";
55
55
  import "./chunk-RN6XYY7U.js";
56
56
  import "./chunk-QI4IXJN7.js";
57
57
  import "./chunk-64WZEXXA.js";
@@ -6,7 +6,7 @@ import "./chunk-2ZYEO7U7.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "./chunk-EQXODLCC.js";
9
+ } from "./chunk-42QSXHKN.js";
10
10
  import "./chunk-CHCA3ZM2.js";
11
11
  import "./chunk-OO5CPMT3.js";
12
12
  import "./chunk-MP2AFCGL.js";
@@ -7,7 +7,7 @@ import "./chunk-2ZYEO7U7.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "./chunk-EQXODLCC.js";
10
+ } from "./chunk-42QSXHKN.js";
11
11
  import "./chunk-CHCA3ZM2.js";
12
12
  import "./chunk-OO5CPMT3.js";
13
13
  import "./chunk-MP2AFCGL.js";