@askexenow/exe-os 0.9.208 → 0.9.210

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 (136) hide show
  1. package/dist/{backfill-metadata-4N22ZA6N.js → backfill-metadata-32SPFWL5.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 +5 -5
  11. package/dist/bin/exe-agent.js +10 -10
  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-status.js +3 -3
  31. package/dist/bin/exe-team.js +1 -1
  32. package/dist/bin/git-sweep.js +2 -2
  33. package/dist/bin/graph-backfill.js +1 -1
  34. package/dist/bin/graph-export.js +2 -2
  35. package/dist/bin/import-history.js +1 -1
  36. package/dist/bin/intercom-check.js +3 -3
  37. package/dist/bin/mcp-sessions.js +194 -0
  38. package/dist/bin/orchestration-metrics.js +1 -1
  39. package/dist/bin/scan-tasks.js +2 -2
  40. package/dist/bin/setup.js +1 -1
  41. package/dist/bin/shard-migrate.js +1 -1
  42. package/dist/{capacity-monitor-EHXIFEE2.js → capacity-monitor-PQ7EZ5ES.js} +2 -2
  43. package/dist/{catchup-brief-CNAN2KVD.js → catchup-brief-4EQIVXVV.js} +3 -3
  44. package/dist/{chunk-EAHUS6WU.js → chunk-3GFXV46R.js} +1 -1
  45. package/dist/{chunk-WLEIKHPC.js → chunk-3WTNJTDW.js} +47 -47
  46. package/dist/{chunk-MGPVDQIM.js → chunk-5452FPV5.js} +1 -1
  47. package/dist/{chunk-TV7ZTQ7L.js → chunk-6XAXYBCI.js} +7 -7
  48. package/dist/{chunk-4EOXPKWA.js → chunk-A3K7V6SW.js} +128 -4
  49. package/dist/{chunk-7VDMUMHM.js → chunk-AOBTVA7I.js} +3 -3
  50. package/dist/{chunk-IN5SGMHP.js → chunk-BCWQQBMO.js} +4 -4
  51. package/dist/{chunk-QOAPYITU.js → chunk-BO6HP63V.js} +2 -2
  52. package/dist/{chunk-RRMPIH6C.js → chunk-DYY6DEA4.js} +3 -3
  53. package/dist/{chunk-SQK3Q6VY.js → chunk-EXRMA2QK.js} +16 -16
  54. package/dist/{chunk-YQKFNXGL.js → chunk-EYXCCLFI.js} +2 -2
  55. package/dist/{chunk-3BV34EJB.js → chunk-GD5AQDZL.js} +1 -1
  56. package/dist/{chunk-MMLE3M4J.js → chunk-IZPPTNXR.js} +1 -1
  57. package/dist/{chunk-FLCWUX6G.js → chunk-K5EXLDQD.js} +1 -1
  58. package/dist/{chunk-QOTQZAAE.js → chunk-K5O5UAO3.js} +1 -1
  59. package/dist/{chunk-OBVXTLRM.js → chunk-MTZZHS73.js} +2 -2
  60. package/dist/{chunk-DBSMRM52.js → chunk-PQU74C7J.js} +2 -2
  61. package/dist/{chunk-WGOVSJNR.js → chunk-PZCC4YWO.js} +1 -1
  62. package/dist/{chunk-PNQ74YDS.js → chunk-SNEP3JX2.js} +2 -2
  63. package/dist/{chunk-BS6YQM5R.js → chunk-UK5GYNHU.js} +1 -1
  64. package/dist/{chunk-MB7PRC5E.js → chunk-VBPNKKOP.js} +1 -1
  65. package/dist/{chunk-3M2CCVXM.js → chunk-VUJHFM4F.js} +1 -1
  66. package/dist/{chunk-4EKVVGVV.js → chunk-YDXCENQ5.js} +1 -1
  67. package/dist/{chunk-RS5JCKEP.js → chunk-ZCA2WOY3.js} +1 -1
  68. package/dist/{crm-webhook-VSPYINPL.js → crm-webhook-NGKBEDCE.js} +2 -2
  69. package/dist/{cto-delegation-gate-W7ESM5IQ.js → cto-delegation-gate-6YC3E5RL.js} +1 -1
  70. package/dist/{daemon-orchestration-TC3JWVDC.js → daemon-orchestration-QVJ26DDN.js} +3 -3
  71. package/dist/{exe-export-6NC4TNCZ.js → exe-export-3KLM55BC.js} +1 -1
  72. package/dist/{exe-import-GQRGZKW3.js → exe-import-SFRVKEGL.js} +1 -1
  73. package/dist/{fast-db-init-4ETTWASA.js → fast-db-init-WSVNCMIA.js} +1 -1
  74. package/dist/gateway/index.js +19 -19
  75. package/dist/{git-task-sweep-HMSTHZ6X.js → git-task-sweep-KBCSNNWI.js} +2 -2
  76. package/dist/hooks/bug-report-worker.js +3 -3
  77. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  78. package/dist/hooks/commit-complete.js +4 -4
  79. package/dist/hooks/error-recall.js +2 -2
  80. package/dist/hooks/ingest.js +2 -2
  81. package/dist/hooks/instructions-loaded.js +1 -1
  82. package/dist/hooks/manifest.json +18 -18
  83. package/dist/hooks/notification.js +1 -1
  84. package/dist/hooks/post-compact.js +2 -2
  85. package/dist/hooks/post-tool-combined.js +2 -2
  86. package/dist/hooks/pre-compact.js +3 -3
  87. package/dist/hooks/pre-tool-use.js +6 -6
  88. package/dist/hooks/prompt-submit.js +8 -8
  89. package/dist/hooks/session-end.js +4 -4
  90. package/dist/hooks/session-start.js +4 -4
  91. package/dist/hooks/stop.js +5 -5
  92. package/dist/hooks/subagent-stop.js +2 -2
  93. package/dist/hooks/summary-worker.js +5 -5
  94. package/dist/index.js +12 -12
  95. package/dist/lib/consolidation.js +2 -2
  96. package/dist/lib/exe-daemon.js +16 -16
  97. package/dist/lib/hybrid-search.js +2 -2
  98. package/dist/lib/messaging.js +2 -2
  99. package/dist/lib/schedules.js +2 -2
  100. package/dist/lib/store.js +1 -1
  101. package/dist/lib/tasks.js +2 -2
  102. package/dist/lib/tmux-routing.js +1 -1
  103. package/dist/mcp/register-tools.js +27 -27
  104. package/dist/mcp/server.js +30 -30
  105. package/dist/mcp/tools/create-task.js +3 -3
  106. package/dist/mcp/tools/list-tasks.js +3 -3
  107. package/dist/mcp/tools/send-message.js +3 -3
  108. package/dist/mcp/tools/update-task.js +3 -3
  109. package/dist/{notifications-25FGAXTC.js → notifications-YF7ANNPB.js} +1 -1
  110. package/dist/{orchestrator-ZWPDXMW4.js → orchestrator-3G7MW4XO.js} +2 -2
  111. package/dist/{reranker-MLJUTXY7.js → reranker-N4DKQYFR.js} +1 -1
  112. package/dist/{review-polling-QQMFB3Q4.js → review-polling-E2ZTZAR7.js} +2 -2
  113. package/dist/runtime/index.js +7 -7
  114. package/dist/{session-events-OWSPMDJV.js → session-events-RNEA3WRN.js} +2 -2
  115. package/dist/{session-scope-PKBCQOLO.js → session-scope-RGIEAQRR.js} +1 -1
  116. package/dist/{setup-wizard-2INM4CSL.js → setup-wizard-AZOKR4PP.js} +1 -1
  117. package/dist/{task-enforcement-M2NU3OVK.js → task-enforcement-OSPCFH5T.js} +1 -1
  118. package/dist/{task-scope-LQRP3MQ2.js → task-scope-4CBJ3QI2.js} +1 -1
  119. package/dist/{tasks-crud-TMYB245Z.js → tasks-crud-PQ23SS5C.js} +5 -1
  120. package/dist/{tasks-review-GJWB2BPT.js → tasks-review-XZSYVGRL.js} +1 -1
  121. package/dist/{telemetry-upload-Y3CPHI7M.js → telemetry-upload-DPF4WUMT.js} +21 -7
  122. package/dist/tui/App.js +7 -7
  123. package/dist/{tui-data-ZVRIZAIF.js → tui-data-SKVPBPBV.js} +1 -1
  124. package/dist/{worker-gate-VZLM2AU3.js → worker-gate-XHZWIMDA.js} +1 -1
  125. package/dist/{workflow-engine-ESXHBY55.js → workflow-engine-RN3ADPEN.js} +2 -2
  126. package/package.json +1 -1
  127. package/release-notes.json +57 -57
  128. /package/dist/{chunk-KJVFW5C7.js → chunk-E3Q4R3K6.js} +0 -0
  129. /package/dist/{chunk-MTR5SMNA.js → chunk-GMQKS5JD.js} +0 -0
  130. /package/dist/{chunk-ATKMIQXP.js → chunk-RUTQMSNJ.js} +0 -0
  131. /package/dist/{chunk-SEPXWHA3.js → chunk-UDSY3K33.js} +0 -0
  132. /package/dist/{chunk-4DLHWZRV.js → chunk-XXXJ6HV3.js} +0 -0
  133. /package/dist/{chunk-5YFC6HQX.js → chunk-Z2HB2SXL.js} +0 -0
  134. /package/dist/{core-memory-6JX6V4QR.js → core-memory-U6ZYHCFK.js} +0 -0
  135. /package/dist/{exe-key-K7FHMOVL.js → exe-key-FLTUNYFH.js} +0 -0
  136. /package/dist/{skill-refinement-KL2INB5E.js → skill-refinement-BGWMSERG.js} +0 -0
@@ -0,0 +1,194 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ isMainModule
4
+ } from "../chunk-6Y4B3QF6.js";
5
+ import "../chunk-MLKGABMK.js";
6
+
7
+ // src/bin/mcp-sessions.ts
8
+ function boxTable(headers, rows) {
9
+ const colWidths = headers.map(
10
+ (h, i) => Math.max(h.length, ...rows.map((r) => stripAnsi(r[i] ?? "").length))
11
+ );
12
+ const top = "\u250C" + colWidths.map((w) => "\u2500".repeat(w + 2)).join("\u252C") + "\u2510";
13
+ const mid = "\u251C" + colWidths.map((w) => "\u2500".repeat(w + 2)).join("\u253C") + "\u2524";
14
+ const bot = "\u2514" + colWidths.map((w) => "\u2500".repeat(w + 2)).join("\u2534") + "\u2518";
15
+ const formatRow = (cells) => "\u2502" + cells.map((c, i) => " " + padRight(c, colWidths[i]) + " ").join("\u2502") + "\u2502";
16
+ const lines = [top, formatRow(headers), mid];
17
+ for (const row of rows) {
18
+ lines.push(formatRow(row));
19
+ }
20
+ lines.push(bot);
21
+ return lines.join("\n");
22
+ }
23
+ function padRight(str, width) {
24
+ const visible = stripAnsi(str).length;
25
+ return str + " ".repeat(Math.max(0, width - visible));
26
+ }
27
+ function stripAnsi(str) {
28
+ return str.replace(/\x1b\[[0-9;]*m/g, "");
29
+ }
30
+ function formatAge(ms) {
31
+ if (ms < 6e4) return `${Math.round(ms / 1e3)}s`;
32
+ if (ms < 36e5) return `${Math.round(ms / 6e4)}m`;
33
+ const h = Math.floor(ms / 36e5);
34
+ const m = Math.round(ms % 36e5 / 6e4);
35
+ return m > 0 ? `${h}h ${m}m` : `${h}h`;
36
+ }
37
+ async function collectSessions() {
38
+ const { listTmuxSessions } = await import("../lib/tmux-status.js");
39
+ const { loadEmployeesSync } = await import("../lib/employees.js");
40
+ const { listSessions: listRegistered } = await import("../lib/session-registry.js");
41
+ const tmuxSessions = listTmuxSessions();
42
+ const employees = loadEmployeesSync();
43
+ const roleMap = new Map(employees.map((e) => [e.name, e.role ?? "employee"]));
44
+ const registry = listRegistered();
45
+ const registryMap = new Map(registry.map((r) => [r.windowName, r]));
46
+ const taskMap = /* @__PURE__ */ new Map();
47
+ try {
48
+ const { fastDbInit } = await import("../fast-db-init-WSVNCMIA.js");
49
+ await fastDbInit();
50
+ const { getClient } = await import("../lib/database.js");
51
+ const { sessionScopeFilter } = await import("../task-scope-4CBJ3QI2.js");
52
+ const client = getClient();
53
+ const scope = sessionScopeFilter();
54
+ const result = await client.execute({
55
+ sql: `SELECT assigned_to, title, priority, status FROM tasks
56
+ WHERE status IN ('open', 'in_progress', 'needs_review', 'blocked')${scope.sql}
57
+ ORDER BY CASE status WHEN 'in_progress' THEN 0 WHEN 'open' THEN 1 WHEN 'needs_review' THEN 2 ELSE 3 END,
58
+ priority ASC, created_at DESC`,
59
+ args: [...scope.args]
60
+ });
61
+ for (const row of result.rows) {
62
+ const agent = String(row.assigned_to);
63
+ if (!taskMap.has(agent)) {
64
+ taskMap.set(agent, {
65
+ title: String(row.title).slice(0, 40),
66
+ priority: String(row.priority),
67
+ status: String(row.status)
68
+ });
69
+ }
70
+ }
71
+ } catch {
72
+ }
73
+ const rows = [];
74
+ for (const sess of tmuxSessions) {
75
+ const isEmployee = sess.includes("-");
76
+ const agentPart = isEmployee ? sess.split("-")[0] : sess;
77
+ const agentName = agentPart.replace(/\d+$/, "");
78
+ const role = roleMap.get(agentName) ?? (isEmployee ? "employee" : "coordinator");
79
+ const regEntry = registryMap.get(sess);
80
+ const age = regEntry?.registeredAt ? formatAge(Date.now() - new Date(regEntry.registeredAt).getTime()) : "?";
81
+ const task = taskMap.get(agentName);
82
+ let status = "idle";
83
+ let taskTitle = "\u2014";
84
+ let priority = "";
85
+ if (task) {
86
+ status = task.status === "in_progress" ? "working" : task.status;
87
+ taskTitle = task.title;
88
+ priority = task.priority.toUpperCase();
89
+ }
90
+ const statusDisplay = status === "working" ? "\u{1F7E2} working" : status === "needs_review" ? "\u{1F7E0} review" : status === "blocked" ? "\u{1F534} blocked" : status === "open" ? "\u{1F7E1} has task" : "\u26AA idle";
91
+ rows.push({
92
+ session: sess,
93
+ agent: agentName,
94
+ role,
95
+ status: statusDisplay,
96
+ task: taskTitle,
97
+ priority,
98
+ age,
99
+ contextPct: "\u2014"
100
+ // Would need pane capture — skip for speed
101
+ });
102
+ }
103
+ rows.sort((a, b) => {
104
+ const aCoord = !a.session.includes("-") ? 0 : 1;
105
+ const bCoord = !b.session.includes("-") ? 0 : 1;
106
+ if (aCoord !== bCoord) return aCoord - bCoord;
107
+ return a.session.localeCompare(b.session);
108
+ });
109
+ return rows;
110
+ }
111
+ async function getDaemonHealth() {
112
+ try {
113
+ const { readFileSync } = await import("fs");
114
+ const { homedir } = await import("os");
115
+ const { join } = await import("path");
116
+ const healthLog = join(homedir(), ".exe-os", "logs", "daemon-health.log");
117
+ const lines = readFileSync(healthLog, "utf-8").trim().split("\n");
118
+ let bootTs = "";
119
+ let lastHeartbeat = {};
120
+ let blockCount = 0;
121
+ let selfHealCount = 0;
122
+ let pid = 0;
123
+ for (let i = lines.length - 1; i >= Math.max(0, lines.length - 200); i--) {
124
+ try {
125
+ const entry = JSON.parse(lines[i]);
126
+ if (!pid && entry.event === "mcp_bind") pid = Number(entry.pid);
127
+ if (pid && Number(entry.pid) !== pid) continue;
128
+ if (entry.event === "boot") {
129
+ bootTs = String(entry.ts);
130
+ break;
131
+ }
132
+ if (entry.event === "heartbeat" && !lastHeartbeat.ts) lastHeartbeat = entry;
133
+ if (entry.event === "event_loop_blocked") blockCount++;
134
+ if (entry.event === "self_heal_restart") selfHealCount++;
135
+ } catch {
136
+ continue;
137
+ }
138
+ }
139
+ const uptime = bootTs ? formatAge(Date.now() - new Date(bootTs).getTime()) : "?";
140
+ const data = lastHeartbeat.data ?? {};
141
+ const rss = data.daemonRssMb ? `${Math.round(Number(data.daemonRssMb))} MB` : "?";
142
+ const cpu = data.daemonCpu !== void 0 ? `${Number(data.daemonCpu).toFixed(1)}%` : "?";
143
+ return [
144
+ ["Uptime", uptime],
145
+ ["PID", String(pid || "?")],
146
+ ["RSS", rss],
147
+ ["CPU", cpu],
148
+ ["Event loop blocks", String(blockCount)],
149
+ ["Self-heal restarts", String(selfHealCount)]
150
+ ];
151
+ } catch {
152
+ return [["Daemon", "unreachable"]];
153
+ }
154
+ }
155
+ async function main() {
156
+ const args = process.argv.slice(2);
157
+ const jsonMode = args.includes("--json");
158
+ const showDaemon = args.includes("--daemon");
159
+ const sessions = await collectSessions();
160
+ if (jsonMode) {
161
+ process.stdout.write(JSON.stringify(sessions, null, 2) + "\n");
162
+ return;
163
+ }
164
+ if (sessions.length === 0) {
165
+ process.stdout.write("No active sessions.\n");
166
+ return;
167
+ }
168
+ const headers = ["Session", "Agent", "Role", "Status", "Task", "Pri", "Age"];
169
+ const rows = sessions.map((s) => [s.session, s.agent, s.role, s.status, s.task, s.priority, s.age]);
170
+ process.stdout.write("\n" + boxTable(headers, rows) + "\n");
171
+ const working = sessions.filter((s) => s.status.includes("working")).length;
172
+ const idle = sessions.filter((s) => s.status.includes("idle")).length;
173
+ const review = sessions.filter((s) => s.status.includes("review")).length;
174
+ process.stdout.write(`
175
+ ${sessions.length} sessions: ${working} working, ${review} in review, ${idle} idle
176
+ `);
177
+ if (showDaemon) {
178
+ const health = await getDaemonHealth();
179
+ process.stdout.write("\n" + boxTable(["Daemon", "Value"], health) + "\n");
180
+ }
181
+ process.stdout.write("\n");
182
+ }
183
+ if (isMainModule(import.meta.url)) {
184
+ main().catch((err) => {
185
+ process.stderr.write(`Error: ${err instanceof Error ? err.message : String(err)}
186
+ `);
187
+ process.exit(1);
188
+ });
189
+ }
190
+ export {
191
+ boxTable,
192
+ collectSessions,
193
+ getDaemonHealth
194
+ };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-MTR5SMNA.js";
4
+ } from "../chunk-GMQKS5JD.js";
5
5
  import {
6
6
  formatOrchestrationMetrics,
7
7
  getOrchestrationMetrics
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  queryTaskRows
4
- } from "../chunk-4EOXPKWA.js";
4
+ } from "../chunk-A3K7V6SW.js";
5
5
  import "../chunk-FYJCMGTD.js";
6
6
  import "../chunk-QI4IXJN7.js";
7
7
  import "../chunk-IR4L6K5L.js";
@@ -73,7 +73,7 @@ function checkMcpHealth() {
73
73
  }
74
74
  }
75
75
  async function scanFromDb(agentId, tmuxSession, projectName) {
76
- const { fastDbInit } = await import("../fast-db-init-4ETTWASA.js");
76
+ const { fastDbInit } = await import("../fast-db-init-WSVNCMIA.js");
77
77
  try {
78
78
  await fastDbInit();
79
79
  } 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-ATKMIQXP.js";
4
+ } from "../chunk-RUTQMSNJ.js";
5
5
  import "../chunk-6D23UNXU.js";
6
6
  import "../chunk-WXW3XGWX.js";
7
7
  import "../chunk-LYH5HE24.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "../chunk-KJVFW5C7.js";
11
+ } from "../chunk-E3Q4R3K6.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-XJQASQPO.js";
14
14
  import "../chunk-MP2AFCGL.js";
@@ -8,9 +8,9 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-WGOVSJNR.js";
11
+ } from "./chunk-PZCC4YWO.js";
12
12
  import "./chunk-3S3ERUUH.js";
13
- import "./chunk-4EOXPKWA.js";
13
+ import "./chunk-A3K7V6SW.js";
14
14
  import "./chunk-FYJCMGTD.js";
15
15
  import "./chunk-QI4IXJN7.js";
16
16
  import "./chunk-IR4L6K5L.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-IN5SGMHP.js";
4
- import "./chunk-KJVFW5C7.js";
3
+ } from "./chunk-BCWQQBMO.js";
4
+ import "./chunk-E3Q4R3K6.js";
5
5
  import "./chunk-CHCA3ZM2.js";
6
6
  import "./chunk-XJQASQPO.js";
7
7
  import {
8
8
  sessionScopeFilter,
9
9
  strictSessionScopeFilter
10
- } from "./chunk-4EOXPKWA.js";
10
+ } from "./chunk-A3K7V6SW.js";
11
11
  import "./chunk-FYJCMGTD.js";
12
12
  import "./chunk-QI4IXJN7.js";
13
13
  import "./chunk-IR4L6K5L.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-4EOXPKWA.js";
4
+ } from "./chunk-A3K7V6SW.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,10 +1,13 @@
1
1
  import {
2
2
  listRecentSessionEvents
3
- } from "./chunk-EAHUS6WU.js";
3
+ } from "./chunk-3GFXV46R.js";
4
+ import {
5
+ AUTO_WAKE_MAX_RETRIES
6
+ } from "./chunk-BO6HP63V.js";
4
7
  import {
5
8
  isRerankerAvailable,
6
9
  rerankWithScores
7
- } from "./chunk-4DLHWZRV.js";
10
+ } from "./chunk-XXXJ6HV3.js";
8
11
  import {
9
12
  getEntityByName,
10
13
  getEntityNeighbors,
@@ -13,6 +16,12 @@ import {
13
16
  getRelationships,
14
17
  searchEntities
15
18
  } from "./chunk-KH5Y6RR4.js";
19
+ import {
20
+ getCachedLicenseGate
21
+ } from "./chunk-GCMXBQ7Y.js";
22
+ import {
23
+ getToolCapabilityIndex
24
+ } from "./chunk-IENYOYZ6.js";
16
25
  import {
17
26
  isToolAllowed,
18
27
  isToolAllowedForPlan
@@ -20,15 +29,6 @@ import {
20
29
  import {
21
30
  getToolUsageStats
22
31
  } from "./chunk-SEAFDIKF.js";
23
- import {
24
- AUTO_WAKE_MAX_RETRIES
25
- } from "./chunk-QOAPYITU.js";
26
- import {
27
- getCachedLicenseGate
28
- } from "./chunk-GCMXBQ7Y.js";
29
- import {
30
- getToolCapabilityIndex
31
- } from "./chunk-IENYOYZ6.js";
32
32
  import {
33
33
  analyzeBlastRadius,
34
34
  buildCodeContextIndex,
@@ -38,21 +38,24 @@ import {
38
38
  searchCodeContextSemantic,
39
39
  traceCodeSymbol
40
40
  } from "./chunk-GQYIMXUW.js";
41
- import {
42
- runDriftProbes
43
- } from "./chunk-ZIBSTUGU.js";
44
41
  import {
45
42
  exportOrchestration,
46
43
  importOrchestration,
47
44
  validatePackage
48
45
  } from "./chunk-PYLNOBNW.js";
46
+ import {
47
+ runDriftProbes
48
+ } from "./chunk-ZIBSTUGU.js";
49
49
  import {
50
50
  loadOrchestrationPhase,
51
51
  setOrchestrationPhase
52
52
  } from "./chunk-XHTOAJYD.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-WGOVSJNR.js";
55
+ } from "./chunk-PZCC4YWO.js";
56
+ import {
57
+ registerUpdateTask
58
+ } from "./chunk-EYXCCLFI.js";
56
59
  import {
57
60
  registerCreateReminder
58
61
  } from "./chunk-4RJD3GXL.js";
@@ -70,40 +73,37 @@ import {
70
73
  createReminder,
71
74
  listReminders
72
75
  } from "./chunk-MKOW4EXB.js";
76
+ import {
77
+ conversationsToMemories,
78
+ detectFormat,
79
+ parseChatGPT,
80
+ parseClaude,
81
+ parseGeneric
82
+ } from "./chunk-Q2G5C3HV.js";
83
+ import {
84
+ extractMemoryGraph
85
+ } from "./chunk-BGLXECHT.js";
73
86
  import {
74
87
  registerSendMessage
75
- } from "./chunk-RS5JCKEP.js";
88
+ } from "./chunk-ZCA2WOY3.js";
76
89
  import {
77
90
  registerCreateTask
78
- } from "./chunk-RRMPIH6C.js";
91
+ } from "./chunk-DYY6DEA4.js";
79
92
  import {
80
93
  registerListTasks
81
- } from "./chunk-BS6YQM5R.js";
82
- import {
83
- registerUpdateTask
84
- } from "./chunk-YQKFNXGL.js";
94
+ } from "./chunk-UK5GYNHU.js";
85
95
  import {
86
96
  TOKENS_PER_IDLE_MINUTE,
87
97
  countKillsSince,
88
98
  sumTokensSavedSince
89
99
  } from "./chunk-3S3ERUUH.js";
90
- import {
91
- conversationsToMemories,
92
- detectFormat,
93
- parseChatGPT,
94
- parseClaude,
95
- parseGeneric
96
- } from "./chunk-Q2G5C3HV.js";
97
- import {
98
- extractMemoryGraph
99
- } from "./chunk-BGLXECHT.js";
100
100
  import {
101
101
  createSchedule,
102
102
  parseHumanCron
103
- } from "./chunk-QOTQZAAE.js";
103
+ } from "./chunk-K5O5UAO3.js";
104
104
  import {
105
105
  status
106
- } from "./chunk-OBVXTLRM.js";
106
+ } from "./chunk-MTZZHS73.js";
107
107
  import {
108
108
  getAgentSpend
109
109
  } from "./chunk-Q72H4NTD.js";
@@ -122,7 +122,7 @@ import {
122
122
  fixShards,
123
123
  formatReport,
124
124
  runAudit
125
- } from "./chunk-PNQ74YDS.js";
125
+ } from "./chunk-SNEP3JX2.js";
126
126
  import {
127
127
  runHealthCheck
128
128
  } from "./chunk-RAV23DU2.js";
@@ -166,7 +166,7 @@ import {
166
166
  groupMemories,
167
167
  runConsolidation,
168
168
  selectUnconsolidated
169
- } from "./chunk-MMLE3M4J.js";
169
+ } from "./chunk-IZPPTNXR.js";
170
170
  import {
171
171
  embed
172
172
  } from "./chunk-OUHHUKPC.js";
@@ -177,17 +177,17 @@ import {
177
177
  } from "./chunk-GD4VXNXO.js";
178
178
  import {
179
179
  updateTask
180
- } from "./chunk-7VDMUMHM.js";
180
+ } from "./chunk-AOBTVA7I.js";
181
181
  import {
182
182
  fastDbInit
183
- } from "./chunk-MTR5SMNA.js";
183
+ } from "./chunk-GMQKS5JD.js";
184
184
  import {
185
185
  MAX_CONCURRENT_WORKERS
186
- } from "./chunk-FLCWUX6G.js";
186
+ } from "./chunk-K5EXLDQD.js";
187
187
  import {
188
188
  hybridSearch,
189
189
  recentRecords
190
- } from "./chunk-IN5SGMHP.js";
190
+ } from "./chunk-BCWQQBMO.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-KJVFW5C7.js";
198
+ } from "./chunk-E3Q4R3K6.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-4EOXPKWA.js";
213
+ } from "./chunk-A3K7V6SW.js";
214
214
  import {
215
215
  listSessions
216
216
  } from "./chunk-IR4L6K5L.js";
@@ -246,7 +246,7 @@ import {
246
246
  isScheduledTrigger,
247
247
  loadTriggers,
248
248
  sanitizeParam
249
- } from "./chunk-5YFC6HQX.js";
249
+ } from "./chunk-Z2HB2SXL.js";
250
250
  import {
251
251
  pushConversationToCRM
252
252
  } from "./chunk-ONKIWA3R.js";
@@ -1560,7 +1560,7 @@ function registerMemory(server) {
1560
1560
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1561
1561
  const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-4RUP4VYK.js");
1562
1562
  const { agentId } = getActiveAgent2();
1563
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-6JX6V4QR.js");
1563
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-U6ZYHCFK.js");
1564
1564
  if (action === "core_get") {
1565
1565
  const entries = await getCoreMemory(agentId);
1566
1566
  const block = formatCoreMemoryBlock(entries);
@@ -2285,7 +2285,7 @@ function registerResumeEmployee(server) {
2285
2285
  };
2286
2286
  }
2287
2287
  try {
2288
- const { isTmuxSessionAlive } = await import("./tasks-crud-TMYB245Z.js");
2288
+ const { isTmuxSessionAlive } = await import("./tasks-crud-PQ23SS5C.js");
2289
2289
  const now = (/* @__PURE__ */ new Date()).toISOString();
2290
2290
  for (const row of openTasks.rows) {
2291
2291
  const status2 = String(row.status);
@@ -5452,7 +5452,7 @@ async function getAgentSessionLoad() {
5452
5452
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
5453
5453
  }
5454
5454
  const { getClient: getClient2 } = await import("./lib/database.js");
5455
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-LQRP3MQ2.js");
5455
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-4CBJ3QI2.js");
5456
5456
  const client = getClient2();
5457
5457
  const scope = sessionScopeFilter2();
5458
5458
  for (const s of liveAgentSessions) {
@@ -9548,7 +9548,7 @@ function registerWorkflowTool(server) {
9548
9548
  getWorkflowInstance,
9549
9549
  listWorkflowInstances,
9550
9550
  approveWorkflowStep
9551
- } = await import("./workflow-engine-ESXHBY55.js");
9551
+ } = await import("./workflow-engine-RN3ADPEN.js");
9552
9552
  try {
9553
9553
  switch (input.action) {
9554
9554
  case "create_workflow": {
@@ -11616,7 +11616,7 @@ function registerSupportConsolidated(server) {
11616
11616
  const action = input.action;
11617
11617
  if (action === "send_telemetry") {
11618
11618
  try {
11619
- const { sendTelemetry, isTelemetryEnabled } = await import("./telemetry-upload-Y3CPHI7M.js");
11619
+ const { sendTelemetry, isTelemetryEnabled } = await import("./telemetry-upload-DPF4WUMT.js");
11620
11620
  if (!isTelemetryEnabled()) {
11621
11621
  return { content: [{ type: "text", text: "Telemetry disabled (EXE_TELEMETRY=0)." }] };
11622
11622
  }
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-4EOXPKWA.js";
12
+ } from "./chunk-A3K7V6SW.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  MultiAgentOrchestrator
3
- } from "./chunk-MGPVDQIM.js";
3
+ } from "./chunk-5452FPV5.js";
4
4
  import {
5
5
  createQuietRenderer,
6
6
  createTerminalRenderer,
7
7
  renderAgentEvents
8
8
  } from "./chunk-YZFZDJWZ.js";
9
+ import {
10
+ checkDangerousPatterns,
11
+ hasCriticalPattern
12
+ } from "./chunk-AVE2B4DQ.js";
9
13
  import {
10
14
  checkPathSafety,
11
15
  checkReadPathSafety,
12
16
  containsPathTraversal
13
17
  } from "./chunk-NGVOA6ZQ.js";
14
- import {
15
- checkDangerousPatterns,
16
- hasCriticalPattern
17
- } from "./chunk-AVE2B4DQ.js";
18
18
  import {
19
19
  ContextManager,
20
20
  agentLoop,
@@ -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-LQRP3MQ2.js");
330
+ const { sessionScopeFilter } = await import("./task-scope-4CBJ3QI2.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-LQRP3MQ2.js");
422
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-4CBJ3QI2.js");
423
423
  const client = getClient();
424
424
  const cpScope = cpScopeFilter();
425
425
  const tasks = await client.execute({