@askexenow/exe-os 0.9.157 → 0.9.158

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 (127) hide show
  1. package/deploy/compose/docker-compose.yml +6 -6
  2. package/deploy/stack-manifests/v0.9.json +41 -2
  3. package/dist/{backfill-metadata-W7FUQRD7.js → backfill-metadata-CUNNA5MI.js} +1 -1
  4. package/dist/bin/agentic-ontology-backfill.js +1 -1
  5. package/dist/bin/agentic-reflection-backfill.js +1 -1
  6. package/dist/bin/agentic-semantic-label.js +1 -1
  7. package/dist/bin/backfill-conversations.js +1 -1
  8. package/dist/bin/backfill-responses.js +1 -1
  9. package/dist/bin/backfill-vectors.js +2 -2
  10. package/dist/bin/bulk-sync-postgres.js +1 -1
  11. package/dist/bin/cleanup-stale-review-tasks.js +2 -2
  12. package/dist/bin/cli.js +4 -4
  13. package/dist/bin/exe-assign.js +1 -1
  14. package/dist/bin/exe-boot.js +3 -3
  15. package/dist/bin/exe-dispatch.js +2 -2
  16. package/dist/bin/exe-doctor.js +1 -1
  17. package/dist/bin/exe-export-behaviors.js +2 -2
  18. package/dist/bin/exe-forget.js +3 -3
  19. package/dist/bin/exe-gateway.js +4 -4
  20. package/dist/bin/exe-heartbeat.js +2 -2
  21. package/dist/bin/exe-kill.js +3 -3
  22. package/dist/bin/exe-launch-agent.js +2 -2
  23. package/dist/bin/exe-pending-messages.js +3 -3
  24. package/dist/bin/exe-pending-notifications.js +2 -2
  25. package/dist/bin/exe-pending-reviews.js +2 -2
  26. package/dist/bin/exe-review.js +3 -3
  27. package/dist/bin/exe-search.js +2 -2
  28. package/dist/bin/exe-session-cleanup.js +7 -6
  29. package/dist/bin/exe-start-codex.js +2 -2
  30. package/dist/bin/exe-start-opencode.js +1 -1
  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/intercom-check.js +3 -3
  37. package/dist/bin/scan-tasks.js +2 -2
  38. package/dist/bin/shard-migrate.js +1 -1
  39. package/dist/{capacity-monitor-WAZTZAR5.js → capacity-monitor-24CCEIJP.js} +2 -2
  40. package/dist/{catchup-brief-PKETW4ND.js → catchup-brief-QQUPS66I.js} +3 -3
  41. package/dist/{chunk-7XRGVVG6.js → chunk-3SQ6D4VK.js} +2 -2
  42. package/dist/{chunk-KZXC3G3P.js → chunk-47B5ZHTD.js} +1 -1
  43. package/dist/{chunk-6F46227N.js → chunk-4Q2OWCEU.js} +2 -2
  44. package/dist/{chunk-7VIH6LOQ.js → chunk-6OXHZIB6.js} +1 -1
  45. package/dist/{chunk-FOG7AEEO.js → chunk-6QQMF3AG.js} +1 -1
  46. package/dist/{chunk-3AN3RTUT.js → chunk-7DUZ3JFZ.js} +3 -3
  47. package/dist/{chunk-A6LSJC2O.js → chunk-7TV6RZLE.js} +1 -1
  48. package/dist/{chunk-U56WZR5E.js → chunk-AU4YZOTU.js} +3 -3
  49. package/dist/{chunk-AK7S4GRC.js → chunk-BED3IEEA.js} +1 -1
  50. package/dist/{chunk-TM3WWKNB.js → chunk-C6HHR6RL.js} +2 -2
  51. package/dist/{chunk-JYYWHPQC.js → chunk-HIMHVTER.js} +3 -3
  52. package/dist/{chunk-HDQJMTBG.js → chunk-JETWZJDU.js} +1 -1
  53. package/dist/{chunk-OCFYT3LE.js → chunk-LIYHRGAB.js} +22 -3
  54. package/dist/{chunk-JFEFVLLD.js → chunk-OMS7KJFD.js} +1 -1
  55. package/dist/{chunk-IRVLV6C5.js → chunk-P66GZHIS.js} +1 -1
  56. package/dist/{chunk-XIZR2YLR.js → chunk-QSQWOHS7.js} +22 -22
  57. package/dist/{chunk-RZE4KMRO.js → chunk-S3XTYXAG.js} +1 -1
  58. package/dist/{chunk-MBXAWOYB.js → chunk-SFQYCOJK.js} +1 -1
  59. package/dist/{chunk-BRHV6CJT.js → chunk-T25RLVTT.js} +1 -1
  60. package/dist/{chunk-23UPL4NU.js → chunk-TNW7GPEM.js} +2 -2
  61. package/dist/{chunk-HF6TVN2J.js → chunk-VEGDCI2M.js} +5 -5
  62. package/dist/{chunk-PY7QM2C7.js → chunk-WUVYHPLZ.js} +1 -1
  63. package/dist/{chunk-CGLSVN6N.js → chunk-YL5UVGMM.js} +1 -1
  64. package/dist/{chunk-HH6ZCDZH.js → chunk-YW7LDVCW.js} +2 -2
  65. package/dist/{crm-webhook-DGL6XEOQ.js → crm-webhook-7OPJC3KJ.js} +2 -2
  66. package/dist/{cto-delegation-gate-UFSXT2CA.js → cto-delegation-gate-OWFS6YCI.js} +1 -1
  67. package/dist/{daemon-orchestration-IP2LHJJK.js → daemon-orchestration-IMVQSOUF.js} +3 -3
  68. package/dist/{exe-export-LLKDWX7F.js → exe-export-WRRUZP7P.js} +1 -1
  69. package/dist/{exe-import-XVAR7ZVC.js → exe-import-XKQBNQPY.js} +1 -1
  70. package/dist/{fast-db-init-SMQC6S3C.js → fast-db-init-F4IPHJ23.js} +1 -1
  71. package/dist/gateway/index.js +8 -8
  72. package/dist/{git-task-sweep-NWHG3FWG.js → git-task-sweep-IAOWJBSG.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 +5 -5
  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 +9 -9
  91. package/dist/lib/consolidation.js +2 -2
  92. package/dist/lib/exe-daemon.js +11 -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-Z6Q2SEHP.js → notifications-VJPITPQ3.js} +1 -1
  106. package/dist/{orchestrator-RHJGFMAS.js → orchestrator-L6XE65KD.js} +2 -2
  107. package/dist/{review-polling-XUIKH7HF.js → review-polling-XLY35KOM.js} +2 -2
  108. package/dist/runtime/index.js +3 -3
  109. package/dist/{session-events-KURSY7LK.js → session-events-76JYQUF6.js} +2 -2
  110. package/dist/{session-scope-5MOCMTAM.js → session-scope-X4V5Q3OT.js} +1 -1
  111. package/dist/{task-enforcement-2WCWSZQ3.js → task-enforcement-T3QFAHOT.js} +1 -1
  112. package/dist/{task-scope-HW6BE2PI.js → task-scope-AJPW2PUM.js} +1 -1
  113. package/dist/{tasks-crud-WACRTPQK.js → tasks-crud-PIYGXNBH.js} +1 -1
  114. package/dist/{tasks-review-LIWD4PGN.js → tasks-review-MYFRICXX.js} +1 -1
  115. package/dist/tui/App.js +7 -7
  116. package/dist/{tui-data-UKFAWSNP.js → tui-data-4S3IDSXK.js} +1 -1
  117. package/dist/{worker-gate-NJRW5QYT.js → worker-gate-B5MEFZ55.js} +1 -1
  118. package/dist/{workflow-engine-ICAQJSYT.js → workflow-engine-PYGOBKLD.js} +2 -2
  119. package/package.json +1 -1
  120. package/release-notes.json +42 -42
  121. /package/dist/{chunk-U5GTF2JP.js → chunk-CB3AZW66.js} +0 -0
  122. /package/dist/{chunk-RTNRPBQP.js → chunk-CUHCGEHC.js} +0 -0
  123. /package/dist/{chunk-PYDL42BL.js → chunk-LJDQQYKZ.js} +0 -0
  124. /package/dist/{chunk-E5PVJXIP.js → chunk-PPGL2TMJ.js} +0 -0
  125. /package/dist/{core-memory-QRQ62AZY.js → core-memory-JXVJ7S5Q.js} +0 -0
  126. /package/dist/{exe-key-E3YOJ2ME.js → exe-key-OU6EXI5G.js} +0 -0
  127. /package/dist/{skill-refinement-JBZRPZKW.js → skill-refinement-4WWF5AML.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-PYDL42BL.js";
4
+ } from "../chunk-LJDQQYKZ.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-LIWD4PGN.js");
20
+ const { listPendingReviews, cleanupOrphanedReviews, formatAge, isStale } = await import("../tasks-review-MYFRICXX.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-Z6Q2SEHP.js");
118
+ const { readUnreadNotifications, markAsRead } = await import("../notifications-VJPITPQ3.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
  queryTaskRows
4
- } from "../chunk-OCFYT3LE.js";
4
+ } from "../chunk-LIYHRGAB.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-SMQC6S3C.js");
75
+ const { fastDbInit } = await import("../fast-db-init-F4IPHJ23.js");
76
76
  try {
77
77
  await fastDbInit();
78
78
  } catch (err) {
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "../chunk-RTNRPBQP.js";
11
+ } from "../chunk-CUHCGEHC.js";
12
12
  import "../chunk-LZLXG7TK.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-AK7S4GRC.js";
11
+ } from "./chunk-BED3IEEA.js";
12
12
  import "./chunk-V5Y323LO.js";
13
- import "./chunk-OCFYT3LE.js";
13
+ import "./chunk-LIYHRGAB.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-CGLSVN6N.js";
4
- import "./chunk-RTNRPBQP.js";
3
+ } from "./chunk-YL5UVGMM.js";
4
+ import "./chunk-CUHCGEHC.js";
5
5
  import "./chunk-LZLXG7TK.js";
6
6
  import {
7
7
  sessionScopeFilter,
8
8
  strictSessionScopeFilter
9
- } from "./chunk-OCFYT3LE.js";
9
+ } from "./chunk-LIYHRGAB.js";
10
10
  import "./chunk-LOQCOHEW.js";
11
11
  import "./chunk-TXSJ2L5O.js";
12
12
  import "./chunk-64WZEXXA.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-PYDL42BL.js";
3
+ } from "./chunk-LJDQQYKZ.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-OCFYT3LE.js";
6
+ } from "./chunk-LIYHRGAB.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  initStore
3
- } from "./chunk-RTNRPBQP.js";
3
+ } from "./chunk-CUHCGEHC.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
@@ -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-NJRW5QYT.js");
833
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-B5MEFZ55.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-SMQC6S3C.js");
954
+ const { fastDbInit } = await import("./fast-db-init-F4IPHJ23.js");
955
955
  const client = await fastDbInit();
956
956
  const report = await runAudit(client, flags);
957
957
  console.log(formatReport(report, flags));
@@ -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-HW6BE2PI.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-AJPW2PUM.js");
115
115
  const client = getClient();
116
116
  const scope = sessionScopeFilter();
117
117
  const result = await client.execute({
@@ -4,7 +4,7 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-OCFYT3LE.js";
7
+ } from "./chunk-LIYHRGAB.js";
8
8
  import {
9
9
  getClient
10
10
  } from "./chunk-EVB53OQD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MultiAgentOrchestrator
3
- } from "./chunk-PY7QM2C7.js";
3
+ } from "./chunk-WUVYHPLZ.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-HW6BE2PI.js");
330
+ const { sessionScopeFilter } = await import("./task-scope-AJPW2PUM.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-HW6BE2PI.js");
422
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-AJPW2PUM.js");
423
423
  const client = getClient();
424
424
  const cpScope = cpScopeFilter();
425
425
  const tasks = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-E5PVJXIP.js";
3
+ } from "./chunk-PPGL2TMJ.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-MLXJ5EZG.js";
4
4
  import {
5
5
  createTask
6
- } from "./chunk-JYYWHPQC.js";
6
+ } from "./chunk-HIMHVTER.js";
7
7
  import {
8
8
  getActiveAgent
9
9
  } from "./chunk-77QEF6FR.js";
@@ -11,7 +11,7 @@ import {
11
11
  ensureEmployee,
12
12
  logTaskDispatch,
13
13
  resolveExeSession
14
- } from "./chunk-OCFYT3LE.js";
14
+ } from "./chunk-LIYHRGAB.js";
15
15
  import {
16
16
  getLicenseSync
17
17
  } from "./chunk-ZPM2RMK2.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-HW6BE2PI.js");
188
+ const { sessionScopeFilter } = await import("./task-scope-AJPW2PUM.js");
189
189
  const client = getClient();
190
190
  const scope = sessionScopeFilter();
191
191
  const existing = await client.execute({
@@ -5,7 +5,7 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-OCFYT3LE.js";
8
+ } from "./chunk-LIYHRGAB.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-V5Y323LO.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-JYYWHPQC.js";
6
+ } from "./chunk-HIMHVTER.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-OCFYT3LE.js";
17
+ } from "./chunk-LIYHRGAB.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-TXSJ2L5O.js";
@@ -11,7 +11,7 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-OCFYT3LE.js";
14
+ } from "./chunk-LIYHRGAB.js";
15
15
  import {
16
16
  getTransport
17
17
  } from "./chunk-A7KEWR6S.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-5MOCMTAM.js");
139
+ const { assertSessionScope } = await import("./session-scope-X4V5Q3OT.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-Z6Q2SEHP.js");
399
+ const { writeNotification: writeNotification2 } = await import("./notifications-VJPITPQ3.js");
400
400
  await writeNotification2({
401
401
  agentId: String(row.assigned_to),
402
402
  agentRole: String(row.assigned_to),
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-FOG7AEEO.js";
3
+ } from "./chunk-6QQMF3AG.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-77QEF6FR.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-5MOCMTAM.js");
362
+ const { getSessionProject } = await import("./session-scope-X4V5Q3OT.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.`;
@@ -749,6 +749,25 @@ async function updateTaskStatus(input) {
749
749
  `
750
750
  );
751
751
  }
752
+ try {
753
+ const { reviewSignalPath, taskSignalDir } = await import("./signal-paths-4GOIRLGH.js");
754
+ const scope = row.session_scope ? String(row.session_scope) : "default";
755
+ const dir = taskSignalDir(scope);
756
+ const { mkdirSync: mkdirSync3, writeFileSync: writeFileSync2 } = await import("fs");
757
+ mkdirSync3(dir, { recursive: true });
758
+ writeFileSync2(
759
+ reviewSignalPath(scope, reviewer, String(row.id)),
760
+ JSON.stringify({
761
+ task_id: String(row.id),
762
+ title: String(row.title),
763
+ assigned_to: String(row.assigned_to),
764
+ reviewer,
765
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
766
+ }),
767
+ "utf-8"
768
+ );
769
+ } catch {
770
+ }
752
771
  }
753
772
  const isBlockedTransition = input.status === "blocked" && previousStatus !== "blocked";
754
773
  if (isBlockedTransition && row.assigned_by) {
@@ -912,7 +931,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
912
931
  }
913
932
  if (input.status === "done" || input.status === "needs_review") {
914
933
  try {
915
- const { incrementSkillSuccess } = await import("./skill-refinement-JBZRPZKW.js");
934
+ const { incrementSkillSuccess } = await import("./skill-refinement-4WWF5AML.js");
916
935
  await incrementSkillSuccess(
917
936
  String(row.assigned_to),
918
937
  row.project_name ? String(row.project_name) : null
@@ -1983,7 +2002,7 @@ async function verifyPaneAtCapacity(sessionName) {
1983
2002
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
1984
2003
  };
1985
2004
  }
1986
- const { isAtCapacity } = await import("./capacity-monitor-WAZTZAR5.js");
2005
+ const { isAtCapacity } = await import("./capacity-monitor-24CCEIJP.js");
1987
2006
  if (!isAtCapacity(pane)) {
1988
2007
  return {
1989
2008
  atCapacity: false,
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-IRVLV6C5.js";
5
+ } from "./chunk-P66GZHIS.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-ONKIWA3R.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-E5PVJXIP.js";
4
+ } from "./chunk-PPGL2TMJ.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-RES22KSZ.js";
10
10
  import {
11
11
  AUTO_WAKE_MAX_RETRIES
12
- } from "./chunk-TM3WWKNB.js";
12
+ } from "./chunk-C6HHR6RL.js";
13
13
  import {
14
14
  listRecentSessionEvents
15
- } from "./chunk-MBXAWOYB.js";
15
+ } from "./chunk-SFQYCOJK.js";
16
16
  import {
17
17
  isRerankerAvailable,
18
18
  rerankWithScores
@@ -52,7 +52,7 @@ import {
52
52
  } from "./chunk-DH65L4XI.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-AK7S4GRC.js";
55
+ } from "./chunk-BED3IEEA.js";
56
56
  import {
57
57
  registerCompleteReminder
58
58
  } from "./chunk-G2RRAFCH.js";
@@ -61,16 +61,16 @@ import {
61
61
  } from "./chunk-CXGOW4EJ.js";
62
62
  import {
63
63
  registerSendMessage
64
- } from "./chunk-HDQJMTBG.js";
64
+ } from "./chunk-JETWZJDU.js";
65
65
  import {
66
66
  registerCreateTask
67
- } from "./chunk-U56WZR5E.js";
67
+ } from "./chunk-AU4YZOTU.js";
68
68
  import {
69
69
  registerListTasks
70
- } from "./chunk-RZE4KMRO.js";
70
+ } from "./chunk-S3XTYXAG.js";
71
71
  import {
72
72
  registerUpdateTask
73
- } from "./chunk-23UPL4NU.js";
73
+ } from "./chunk-TNW7GPEM.js";
74
74
  import {
75
75
  registerCreateReminder
76
76
  } from "./chunk-4ZQDR3MI.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-7G44AU2D.js";
85
85
  import {
86
86
  status
87
- } from "./chunk-7XRGVVG6.js";
87
+ } from "./chunk-3SQ6D4VK.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-KZXC3G3P.js";
99
+ } from "./chunk-47B5ZHTD.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-6F46227N.js";
111
+ } from "./chunk-4Q2OWCEU.js";
112
112
  import {
113
113
  runHealthCheck
114
114
  } from "./chunk-J73N5EJ6.js";
@@ -132,7 +132,7 @@ import {
132
132
  groupMemories,
133
133
  runConsolidation,
134
134
  selectUnconsolidated
135
- } from "./chunk-BRHV6CJT.js";
135
+ } from "./chunk-T25RLVTT.js";
136
136
  import {
137
137
  renderClientCOOTemplate
138
138
  } from "./chunk-Q55XPOXU.js";
@@ -167,17 +167,17 @@ import {
167
167
  } from "./chunk-T5YT64SZ.js";
168
168
  import {
169
169
  updateTask
170
- } from "./chunk-JYYWHPQC.js";
170
+ } from "./chunk-HIMHVTER.js";
171
171
  import {
172
172
  fastDbInit
173
- } from "./chunk-PYDL42BL.js";
173
+ } from "./chunk-LJDQQYKZ.js";
174
174
  import {
175
175
  MAX_CONCURRENT_WORKERS
176
- } from "./chunk-7VIH6LOQ.js";
176
+ } from "./chunk-6OXHZIB6.js";
177
177
  import {
178
178
  hybridSearch,
179
179
  recentRecords
180
- } from "./chunk-CGLSVN6N.js";
180
+ } from "./chunk-YL5UVGMM.js";
181
181
  import {
182
182
  getActiveAgent
183
183
  } from "./chunk-77QEF6FR.js";
@@ -188,7 +188,7 @@ import {
188
188
  reserveVersions,
189
189
  vectorToBlob,
190
190
  writeMemory
191
- } from "./chunk-RTNRPBQP.js";
191
+ } from "./chunk-CUHCGEHC.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-OCFYT3LE.js";
199
+ } from "./chunk-LIYHRGAB.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-E5PVJXIP.js";
232
+ } from "./chunk-PPGL2TMJ.js";
233
233
  import {
234
234
  pushConversationToCRM
235
235
  } from "./chunk-ONKIWA3R.js";
@@ -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-GHJBTJRF.js");
1566
1566
  const { agentId } = getActiveAgent2();
1567
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-QRQ62AZY.js");
1567
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-JXVJ7S5Q.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-WACRTPQK.js");
2176
+ const { isTmuxSessionAlive } = await import("./tasks-crud-PIYGXNBH.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-HW6BE2PI.js");
5338
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-AJPW2PUM.js");
5339
5339
  const client = getClient2();
5340
5340
  const scope = sessionScopeFilter2();
5341
5341
  for (const s of liveAgentSessions) {
@@ -9374,7 +9374,7 @@ function registerWorkflowTool(server) {
9374
9374
  getWorkflowInstance,
9375
9375
  listWorkflowInstances,
9376
9376
  approveWorkflowStep
9377
- } = await import("./workflow-engine-ICAQJSYT.js");
9377
+ } = await import("./workflow-engine-PYGOBKLD.js");
9378
9378
  try {
9379
9379
  switch (input.action) {
9380
9380
  case "create_workflow": {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-77QEF6FR.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-OCFYT3LE.js";
6
+ } from "./chunk-LIYHRGAB.js";
7
7
  import {
8
8
  getProjectName
9
9
  } from "./chunk-OPU3NYOO.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-OCFYT3LE.js";
4
+ } from "./chunk-LIYHRGAB.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-RTNRPBQP.js";
3
+ } from "./chunk-CUHCGEHC.js";
4
4
  import {
5
5
  isCoordinatorName
6
6
  } from "./chunk-EVB53OQD.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-JYYWHPQC.js";
3
+ } from "./chunk-HIMHVTER.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-OCFYT3LE.js";
6
+ } from "./chunk-LIYHRGAB.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -1,3 +1,6 @@
1
+ import {
2
+ DiscordAdapter
3
+ } from "./chunk-N5RRQOAC.js";
1
4
  import {
2
5
  SlackAdapter
3
6
  } from "./chunk-ORCCI2VV.js";
@@ -7,7 +10,7 @@ import {
7
10
  import {
8
11
  createCRMWebhookHandler,
9
12
  parseTwentyWebhook
10
- } from "./chunk-A6LSJC2O.js";
13
+ } from "./chunk-7TV6RZLE.js";
11
14
  import {
12
15
  WhatsAppAdapter
13
16
  } from "./chunk-ECSNSHZ7.js";
@@ -17,9 +20,6 @@ import {
17
20
  import {
18
21
  TelegramAdapter
19
22
  } from "./chunk-Q3V7K4ME.js";
20
- import {
21
- DiscordAdapter
22
- } from "./chunk-N5RRQOAC.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-JFEFVLLD.js";
45
+ } from "./chunk-OMS7KJFD.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-OCFYT3LE.js";
12
+ } from "./chunk-LIYHRGAB.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -3,7 +3,7 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-RTNRPBQP.js";
6
+ } from "./chunk-CUHCGEHC.js";
7
7
  import {
8
8
  getClient
9
9
  } from "./chunk-EVB53OQD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-OCFYT3LE.js";
3
+ } from "./chunk-LIYHRGAB.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-WACRTPQK.js");
181
+ const { updateTaskStatus } = await import("./tasks-crud-PIYGXNBH.js");
182
182
  await updateTaskStatus({
183
183
  taskId: task.id,
184
184
  status: "needs_review",
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-A6LSJC2O.js";
5
- import "./chunk-E5PVJXIP.js";
4
+ } from "./chunk-7TV6RZLE.js";
5
+ import "./chunk-PPGL2TMJ.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-OCFYT3LE.js";
3
+ } from "./chunk-LIYHRGAB.js";
4
4
  import "./chunk-LOQCOHEW.js";
5
5
  import "./chunk-TXSJ2L5O.js";
6
6
  import "./chunk-64WZEXXA.js";
@@ -38,10 +38,10 @@ import {
38
38
  shouldKillIdleSession,
39
39
  shouldKillSession,
40
40
  shouldNudgeEmployee
41
- } from "./chunk-TM3WWKNB.js";
41
+ } from "./chunk-C6HHR6RL.js";
42
42
  import "./chunk-V5Y323LO.js";
43
- import "./chunk-JYYWHPQC.js";
44
- import "./chunk-OCFYT3LE.js";
43
+ import "./chunk-HIMHVTER.js";
44
+ import "./chunk-LIYHRGAB.js";
45
45
  import "./chunk-LOQCOHEW.js";
46
46
  import "./chunk-TXSJ2L5O.js";
47
47
  import "./chunk-64WZEXXA.js";