@askexenow/exe-os 0.9.207 → 0.9.209

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 (138) 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-AYLBTVRM.js → catchup-brief-FJM4C6R6.js} +3 -3
  44. package/dist/{chunk-EAHUS6WU.js → chunk-3GFXV46R.js} +1 -1
  45. package/dist/{chunk-MGPVDQIM.js → chunk-5452FPV5.js} +1 -1
  46. package/dist/{chunk-TV7ZTQ7L.js → chunk-6XAXYBCI.js} +7 -7
  47. package/dist/{chunk-4EOXPKWA.js → chunk-A3K7V6SW.js} +128 -4
  48. package/dist/{chunk-7VDMUMHM.js → chunk-AOBTVA7I.js} +3 -3
  49. package/dist/{chunk-QOAPYITU.js → chunk-BO6HP63V.js} +2 -2
  50. package/dist/{chunk-RRMPIH6C.js → chunk-DYY6DEA4.js} +3 -3
  51. package/dist/{chunk-SQK3Q6VY.js → chunk-EXRMA2QK.js} +16 -16
  52. package/dist/{chunk-YQKFNXGL.js → chunk-EYXCCLFI.js} +2 -2
  53. package/dist/{chunk-3BV34EJB.js → chunk-GD5AQDZL.js} +1 -1
  54. package/dist/{chunk-MMLE3M4J.js → chunk-IZPPTNXR.js} +1 -1
  55. package/dist/{chunk-FLCWUX6G.js → chunk-K5EXLDQD.js} +1 -1
  56. package/dist/{chunk-QOTQZAAE.js → chunk-K5O5UAO3.js} +1 -1
  57. package/dist/{chunk-T4TMVXF5.js → chunk-LEVLIEBX.js} +4 -4
  58. package/dist/{chunk-OBVXTLRM.js → chunk-MTZZHS73.js} +2 -2
  59. package/dist/{chunk-DBSMRM52.js → chunk-PQU74C7J.js} +2 -2
  60. package/dist/{chunk-WGOVSJNR.js → chunk-PZCC4YWO.js} +1 -1
  61. package/dist/{chunk-434A3L6O.js → chunk-Q72H4NTD.js} +99 -32
  62. package/dist/{chunk-T4BKQ3CX.js → chunk-RVT5AV3R.js} +48 -48
  63. package/dist/{chunk-PNQ74YDS.js → chunk-SNEP3JX2.js} +2 -2
  64. package/dist/{chunk-BS6YQM5R.js → chunk-UK5GYNHU.js} +1 -1
  65. package/dist/{chunk-MB7PRC5E.js → chunk-VBPNKKOP.js} +1 -1
  66. package/dist/{chunk-3M2CCVXM.js → chunk-VUJHFM4F.js} +1 -1
  67. package/dist/{chunk-4EKVVGVV.js → chunk-YDXCENQ5.js} +1 -1
  68. package/dist/{chunk-RS5JCKEP.js → chunk-ZCA2WOY3.js} +1 -1
  69. package/dist/{crm-webhook-VSPYINPL.js → crm-webhook-NGKBEDCE.js} +2 -2
  70. package/dist/{cto-delegation-gate-W7ESM5IQ.js → cto-delegation-gate-6YC3E5RL.js} +1 -1
  71. package/dist/{daemon-orchestration-TC3JWVDC.js → daemon-orchestration-QVJ26DDN.js} +3 -3
  72. package/dist/{exe-export-6NC4TNCZ.js → exe-export-3KLM55BC.js} +1 -1
  73. package/dist/{exe-import-GQRGZKW3.js → exe-import-SFRVKEGL.js} +1 -1
  74. package/dist/{fast-db-init-4ETTWASA.js → fast-db-init-WSVNCMIA.js} +1 -1
  75. package/dist/gateway/index.js +19 -19
  76. package/dist/{git-task-sweep-HMSTHZ6X.js → git-task-sweep-KBCSNNWI.js} +2 -2
  77. package/dist/hooks/bug-report-worker.js +3 -3
  78. package/dist/hooks/codex-stop-task-finalizer.js +3 -3
  79. package/dist/hooks/commit-complete.js +4 -4
  80. package/dist/hooks/error-recall.js +2 -2
  81. package/dist/hooks/ingest.js +2 -2
  82. package/dist/hooks/instructions-loaded.js +1 -1
  83. package/dist/hooks/manifest.json +18 -18
  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 +4 -4
  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 +12 -12
  96. package/dist/lib/consolidation.js +2 -2
  97. package/dist/lib/exe-daemon.js +31 -14
  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/token-spend.js +1 -1
  105. package/dist/mcp/register-tools.js +28 -28
  106. package/dist/mcp/server.js +31 -31
  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-25FGAXTC.js → notifications-YF7ANNPB.js} +1 -1
  112. package/dist/{orchestrator-ZWPDXMW4.js → orchestrator-3G7MW4XO.js} +2 -2
  113. package/dist/{reranker-TRLLNJHH.js → reranker-KKGT2QH5.js} +1 -1
  114. package/dist/{review-polling-QQMFB3Q4.js → review-polling-E2ZTZAR7.js} +2 -2
  115. package/dist/runtime/index.js +7 -7
  116. package/dist/{session-events-OWSPMDJV.js → session-events-RNEA3WRN.js} +2 -2
  117. package/dist/{session-scope-PKBCQOLO.js → session-scope-RGIEAQRR.js} +1 -1
  118. package/dist/{setup-wizard-2INM4CSL.js → setup-wizard-AZOKR4PP.js} +1 -1
  119. package/dist/{task-enforcement-M2NU3OVK.js → task-enforcement-OSPCFH5T.js} +1 -1
  120. package/dist/{task-scope-LQRP3MQ2.js → task-scope-4CBJ3QI2.js} +1 -1
  121. package/dist/{tasks-crud-TMYB245Z.js → tasks-crud-PQ23SS5C.js} +5 -1
  122. package/dist/{tasks-review-GJWB2BPT.js → tasks-review-XZSYVGRL.js} +1 -1
  123. package/dist/{telemetry-upload-Y3CPHI7M.js → telemetry-upload-DPF4WUMT.js} +21 -7
  124. package/dist/tui/App.js +7 -7
  125. package/dist/{tui-data-ZVRIZAIF.js → tui-data-SKVPBPBV.js} +1 -1
  126. package/dist/{worker-gate-VZLM2AU3.js → worker-gate-XHZWIMDA.js} +1 -1
  127. package/dist/{workflow-engine-ESXHBY55.js → workflow-engine-RN3ADPEN.js} +2 -2
  128. package/package.json +1 -1
  129. package/release-notes.json +71 -71
  130. /package/dist/{chunk-KJVFW5C7.js → chunk-E3Q4R3K6.js} +0 -0
  131. /package/dist/{chunk-MTR5SMNA.js → chunk-GMQKS5JD.js} +0 -0
  132. /package/dist/{chunk-P5J37OSU.js → chunk-MBF42HXN.js} +0 -0
  133. /package/dist/{chunk-ATKMIQXP.js → chunk-RUTQMSNJ.js} +0 -0
  134. /package/dist/{chunk-SEPXWHA3.js → chunk-UDSY3K33.js} +0 -0
  135. /package/dist/{chunk-5YFC6HQX.js → chunk-Z2HB2SXL.js} +0 -0
  136. /package/dist/{core-memory-6JX6V4QR.js → core-memory-U6ZYHCFK.js} +0 -0
  137. /package/dist/{exe-key-K7FHMOVL.js → exe-key-FLTUNYFH.js} +0 -0
  138. /package/dist/{skill-refinement-KL2INB5E.js → skill-refinement-BGWMSERG.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-KJVFW5C7.js";
3
+ } from "./chunk-E3Q4R3K6.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
@@ -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-LQRP3MQ2.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-4CBJ3QI2.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
  initStore
3
- } from "./chunk-KJVFW5C7.js";
3
+ } from "./chunk-E3Q4R3K6.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
@@ -3,7 +3,7 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-KJVFW5C7.js";
6
+ } from "./chunk-E3Q4R3K6.js";
7
7
  import {
8
8
  getClient
9
9
  } from "./chunk-3MHKTBHZ.js";
@@ -233,7 +233,7 @@ async function hybridSearch(queryText, agentId, options) {
233
233
  let rerankerAvailable = false;
234
234
  if (process.env.EXE_IS_DAEMON === "1") {
235
235
  try {
236
- const { isRerankerAvailable } = await import("./reranker-TRLLNJHH.js");
236
+ const { isRerankerAvailable } = await import("./reranker-KKGT2QH5.js");
237
237
  rerankerAvailable = isRerankerAvailable();
238
238
  } catch {
239
239
  }
@@ -397,7 +397,7 @@ async function hybridSearch(queryText, agentId, options) {
397
397
  try {
398
398
  let rerankedRecords;
399
399
  if (graphContextMap.size > 0) {
400
- const { rerankWithContext } = await import("./reranker-TRLLNJHH.js");
400
+ const { rerankWithContext } = await import("./reranker-KKGT2QH5.js");
401
401
  const candidates = merged.map((m) => ({
402
402
  text: m.raw_text,
403
403
  context: graphContextMap.get(m.id)
@@ -405,7 +405,7 @@ async function hybridSearch(queryText, agentId, options) {
405
405
  const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
406
406
  rerankedRecords = scored.map((s) => merged[s.index]);
407
407
  } else {
408
- const { rerank } = await import("./reranker-TRLLNJHH.js");
408
+ const { rerank } = await import("./reranker-KKGT2QH5.js");
409
409
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
410
410
  }
411
411
  if (rerankedRecords.length > 0) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-MTR5SMNA.js";
3
+ } from "./chunk-GMQKS5JD.js";
4
4
  import {
5
5
  sessionScopeFilter
6
- } from "./chunk-4EOXPKWA.js";
6
+ } from "./chunk-A3K7V6SW.js";
7
7
  import {
8
8
  formatStatusAll,
9
9
  formatStatusDeep,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-4EOXPKWA.js";
3
+ } from "./chunk-A3K7V6SW.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-TMYB245Z.js");
181
+ const { updateTaskStatus } = await import("./tasks-crud-PQ23SS5C.js");
182
182
  await updateTaskStatus({
183
183
  taskId: task.id,
184
184
  status: "needs_review",
@@ -5,7 +5,7 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-4EOXPKWA.js";
8
+ } from "./chunk-A3K7V6SW.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-IR4L6K5L.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3MHKTBHZ.js";
4
4
 
5
5
  // src/lib/token-spend.ts
6
- import { readdir } from "fs/promises";
6
+ import { readdir, stat } from "fs/promises";
7
7
  import { createReadStream } from "fs";
8
8
  import { createInterface } from "readline";
9
9
  import path from "path";
@@ -34,7 +34,16 @@ var MODEL_PRICING = {
34
34
  };
35
35
  var DEFAULT_PRICING = MODEL_PRICING["claude-sonnet-4"];
36
36
  var CACHE_TTL_MS = 5 * 60 * 1e3;
37
+ var JSONL_INDEX_TTL_MS = 5 * 60 * 1e3;
38
+ var USAGE_CACHE_MAX_ENTRIES = 1e4;
37
39
  var _spendCache = /* @__PURE__ */ new Map();
40
+ var _spendInFlight = /* @__PURE__ */ new Map();
41
+ var _usageCache = /* @__PURE__ */ new Map();
42
+ var _usageInFlight = /* @__PURE__ */ new Map();
43
+ var _jsonlPathIndex = null;
44
+ function yieldToEventLoop() {
45
+ return new Promise((resolve) => setImmediate(resolve));
46
+ }
38
47
  function getPricing(model) {
39
48
  if (MODEL_PRICING[model]) return MODEL_PRICING[model];
40
49
  const stripped = model.replace(/-\d{8}$/, "");
@@ -50,6 +59,13 @@ async function getAgentSpend(period = "7d") {
50
59
  if (cached && Date.now() < cached.expires) {
51
60
  return cached.result;
52
61
  }
62
+ const inFlight = _spendInFlight.get(period);
63
+ if (inFlight) return inFlight;
64
+ const promise = computeAgentSpend(period).finally(() => _spendInFlight.delete(period));
65
+ _spendInFlight.set(period, promise);
66
+ return promise;
67
+ }
68
+ async function computeAgentSpend(period) {
53
69
  const cutoff = periodToCutoff(period);
54
70
  const client = getClient();
55
71
  const dbResult = await client.execute({
@@ -61,40 +77,35 @@ async function getAgentSpend(period = "7d") {
61
77
  for (const row of dbResult.rows) {
62
78
  sessionAgent.set(row.session_uuid, row.agent_id);
63
79
  }
64
- const claudeDir = path.join(os.homedir(), ".claude", "projects");
65
- let projectDirs = [];
66
- try {
67
- const entries = await readdir(claudeDir);
68
- projectDirs = entries.map((e) => path.join(claudeDir, e));
69
- } catch {
70
- return [];
71
- }
80
+ const jsonlPaths = await getClaudeSessionJsonlIndex();
81
+ if (jsonlPaths.size === 0) return [];
72
82
  const agentTotals = /* @__PURE__ */ new Map();
83
+ let processed = 0;
73
84
  for (const [sessionUuid, agentId] of sessionAgent) {
74
- for (const dir of projectDirs) {
75
- const jsonlPath = path.join(dir, `${sessionUuid}.jsonl`);
76
- try {
77
- const usage = await extractSessionUsage(jsonlPath);
78
- if (usage.input === 0 && usage.output === 0) continue;
79
- const totals = agentTotals.get(agentId) ?? {
80
- input: 0,
81
- output: 0,
82
- cacheRead: 0,
83
- cacheCreate: 0,
84
- costUSD: 0,
85
- sessions: /* @__PURE__ */ new Set()
86
- };
87
- totals.input += usage.input;
88
- totals.output += usage.output;
89
- totals.cacheRead += usage.cacheRead;
90
- totals.cacheCreate += usage.cacheCreate;
91
- totals.costUSD += usage.costUSD;
92
- totals.sessions.add(sessionUuid);
93
- agentTotals.set(agentId, totals);
94
- break;
95
- } catch {
96
- }
85
+ const jsonlPath = jsonlPaths.get(sessionUuid);
86
+ if (!jsonlPath) continue;
87
+ try {
88
+ const usage = await extractSessionUsageCached(jsonlPath);
89
+ if (usage.input === 0 && usage.output === 0) continue;
90
+ const totals = agentTotals.get(agentId) ?? {
91
+ input: 0,
92
+ output: 0,
93
+ cacheRead: 0,
94
+ cacheCreate: 0,
95
+ costUSD: 0,
96
+ sessions: /* @__PURE__ */ new Set()
97
+ };
98
+ totals.input += usage.input;
99
+ totals.output += usage.output;
100
+ totals.cacheRead += usage.cacheRead;
101
+ totals.cacheCreate += usage.cacheCreate;
102
+ totals.costUSD += usage.costUSD;
103
+ totals.sessions.add(sessionUuid);
104
+ agentTotals.set(agentId, totals);
105
+ } catch {
97
106
  }
107
+ processed++;
108
+ if (processed % 25 === 0) await yieldToEventLoop();
98
109
  }
99
110
  const result = Array.from(agentTotals.entries()).map(([agentId, t]) => ({
100
111
  agentId,
@@ -109,6 +120,62 @@ async function getAgentSpend(period = "7d") {
109
120
  _spendCache.set(period, { result, expires: Date.now() + CACHE_TTL_MS });
110
121
  return result;
111
122
  }
123
+ async function getClaudeSessionJsonlIndex() {
124
+ if (_jsonlPathIndex && Date.now() < _jsonlPathIndex.expires) {
125
+ return _jsonlPathIndex.paths;
126
+ }
127
+ const claudeDir = path.join(os.homedir(), ".claude", "projects");
128
+ const paths = /* @__PURE__ */ new Map();
129
+ let projectDirs = [];
130
+ try {
131
+ const entries = await readdir(claudeDir, { withFileTypes: true });
132
+ projectDirs = entries.filter((entry) => entry.isDirectory()).map((entry) => path.join(claudeDir, entry.name));
133
+ } catch {
134
+ _jsonlPathIndex = { expires: Date.now() + JSONL_INDEX_TTL_MS, paths };
135
+ return paths;
136
+ }
137
+ let scanned = 0;
138
+ for (const dir of projectDirs) {
139
+ try {
140
+ const files = await readdir(dir);
141
+ for (const file of files) {
142
+ if (!file.endsWith(".jsonl")) continue;
143
+ paths.set(file.slice(0, -".jsonl".length), path.join(dir, file));
144
+ }
145
+ } catch {
146
+ }
147
+ scanned++;
148
+ if (scanned % 25 === 0) await yieldToEventLoop();
149
+ }
150
+ _jsonlPathIndex = { expires: Date.now() + JSONL_INDEX_TTL_MS, paths };
151
+ return paths;
152
+ }
153
+ async function extractSessionUsageCached(jsonlPath) {
154
+ const st = await stat(jsonlPath);
155
+ const cached = _usageCache.get(jsonlPath);
156
+ if (cached && cached.mtimeMs === st.mtimeMs && cached.size === st.size) {
157
+ return cached.usage;
158
+ }
159
+ const existing = _usageInFlight.get(jsonlPath);
160
+ if (existing) return existing;
161
+ const promise = extractSessionUsage(jsonlPath).then((usage) => {
162
+ _usageCache.set(jsonlPath, { mtimeMs: st.mtimeMs, size: st.size, usage });
163
+ pruneUsageCache();
164
+ return usage;
165
+ }).finally(() => _usageInFlight.delete(jsonlPath));
166
+ _usageInFlight.set(jsonlPath, promise);
167
+ return promise;
168
+ }
169
+ function pruneUsageCache() {
170
+ if (_usageCache.size <= USAGE_CACHE_MAX_ENTRIES) return;
171
+ const overflow = _usageCache.size - USAGE_CACHE_MAX_ENTRIES;
172
+ let removed = 0;
173
+ for (const key of _usageCache.keys()) {
174
+ _usageCache.delete(key);
175
+ removed++;
176
+ if (removed >= overflow) break;
177
+ }
178
+ }
112
179
  async function extractSessionUsage(jsonlPath) {
113
180
  let input = 0;
114
181
  let output = 0;
@@ -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-P5J37OSU.js";
10
+ } from "./chunk-MBF42HXN.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,43 +73,40 @@ 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
- } from "./chunk-434A3L6O.js";
109
+ } from "./chunk-Q72H4NTD.js";
110
110
  import {
111
111
  exportGraphHTML,
112
112
  generateGraphReport
@@ -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-T4TMVXF5.js";
190
+ } from "./chunk-LEVLIEBX.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
  }
@@ -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-VZLM2AU3.js");
852
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-XHZWIMDA.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-4ETTWASA.js");
973
+ const { fastDbInit } = await import("./fast-db-init-WSVNCMIA.js");
974
974
  const client = await fastDbInit();
975
975
  const report = await runAudit(client, flags);
976
976
  console.log(formatReport(report, flags));
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3N4ZEPZI.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-4EOXPKWA.js";
6
+ } from "./chunk-A3K7V6SW.js";
7
7
 
8
8
  // src/mcp/tools/list-tasks.ts
9
9
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-5YFC6HQX.js";
3
+ } from "./chunk-Z2HB2SXL.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-5YFC6HQX.js";
4
+ } from "./chunk-Z2HB2SXL.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -4,7 +4,7 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-4EOXPKWA.js";
7
+ } from "./chunk-A3K7V6SW.js";
8
8
  import {
9
9
  recordOrchestrationEventBestEffort
10
10
  } from "./chunk-ITYWLFYC.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sendMessage
3
- } from "./chunk-4EKVVGVV.js";
3
+ } from "./chunk-YDXCENQ5.js";
4
4
  import {
5
5
  getActiveAgent
6
6
  } from "./chunk-3N4ZEPZI.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-MB7PRC5E.js";
5
- import "./chunk-5YFC6HQX.js";
4
+ } from "./chunk-VBPNKKOP.js";
5
+ import "./chunk-Z2HB2SXL.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-4EOXPKWA.js";
3
+ } from "./chunk-A3K7V6SW.js";
4
4
  import "./chunk-FYJCMGTD.js";
5
5
  import "./chunk-QI4IXJN7.js";
6
6
  import "./chunk-IR4L6K5L.js";
@@ -48,10 +48,10 @@ import {
48
48
  shouldKillIdleSession,
49
49
  shouldKillSession,
50
50
  shouldNudgeEmployee
51
- } from "./chunk-QOAPYITU.js";
51
+ } from "./chunk-BO6HP63V.js";
52
52
  import "./chunk-3S3ERUUH.js";
53
- import "./chunk-7VDMUMHM.js";
54
- import "./chunk-4EOXPKWA.js";
53
+ import "./chunk-AOBTVA7I.js";
54
+ import "./chunk-A3K7V6SW.js";
55
55
  import "./chunk-FYJCMGTD.js";
56
56
  import "./chunk-QI4IXJN7.js";
57
57
  import "./chunk-IR4L6K5L.js";
@@ -6,7 +6,7 @@ import "./chunk-2ZYEO7U7.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "./chunk-KJVFW5C7.js";
9
+ } from "./chunk-E3Q4R3K6.js";
10
10
  import "./chunk-CHCA3ZM2.js";
11
11
  import "./chunk-XJQASQPO.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-KJVFW5C7.js";
10
+ } from "./chunk-E3Q4R3K6.js";
11
11
  import "./chunk-CHCA3ZM2.js";
12
12
  import "./chunk-XJQASQPO.js";
13
13
  import "./chunk-MP2AFCGL.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-MTR5SMNA.js";
3
+ } from "./chunk-GMQKS5JD.js";
4
4
  import "./chunk-MLKGABMK.js";
5
5
  export {
6
6
  fastDbInit