@askexenow/exe-os 0.9.203 → 0.9.205

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 (222) hide show
  1. package/deploy/compose/init-db.sql +162 -0
  2. package/deploy/stack-manifests/v0.9.json +45 -1
  3. package/dist/{active-agent-EFWC3HGP.js → active-agent-4RUP4VYK.js} +2 -2
  4. package/dist/{active-agent-NXX5Z3LX.js → active-agent-VEML3XMS.js} +2 -2
  5. package/dist/{agentic-ontology-JS6DPKQB.js → agentic-ontology-FNJAKZF5.js} +1 -1
  6. package/dist/{backfill-metadata-PTACRLYK.js → backfill-metadata-BT4RLVMZ.js} +3 -3
  7. package/dist/{behaviors-WDIKLZA3.js → behaviors-LCPNHP5Q.js} +2 -2
  8. package/dist/bin/agentic-ontology-backfill.js +4 -4
  9. package/dist/bin/agentic-reflection-backfill.js +5 -5
  10. package/dist/bin/agentic-semantic-label.js +4 -4
  11. package/dist/bin/backfill-conversations.js +3 -3
  12. package/dist/bin/backfill-responses.js +3 -3
  13. package/dist/bin/backfill-vectors.js +4 -4
  14. package/dist/bin/bulk-sync-postgres.js +5 -5
  15. package/dist/bin/cleanup-stale-review-tasks.js +8 -8
  16. package/dist/bin/cli.js +12 -12
  17. package/dist/bin/exe-agent-config.js +1 -1
  18. package/dist/bin/exe-agent.js +3 -3
  19. package/dist/bin/exe-assign.js +4 -4
  20. package/dist/bin/exe-boot.js +15 -15
  21. package/dist/bin/exe-call.js +3 -3
  22. package/dist/bin/exe-cloud.js +3 -3
  23. package/dist/bin/exe-dispatch.js +8 -8
  24. package/dist/bin/exe-doctor.js +1 -1
  25. package/dist/bin/exe-export-behaviors.js +6 -6
  26. package/dist/bin/exe-forget.js +5 -5
  27. package/dist/bin/exe-gateway.js +5 -5
  28. package/dist/bin/exe-heartbeat.js +8 -8
  29. package/dist/bin/exe-kill.js +11 -11
  30. package/dist/bin/exe-launch-agent.js +9 -9
  31. package/dist/bin/exe-new-employee.js +5 -5
  32. package/dist/bin/exe-pending-messages.js +9 -9
  33. package/dist/bin/exe-pending-notifications.js +8 -8
  34. package/dist/bin/exe-pending-reviews.js +8 -8
  35. package/dist/bin/exe-rename.js +3 -3
  36. package/dist/bin/exe-review.js +10 -10
  37. package/dist/bin/exe-search.js +4 -4
  38. package/dist/bin/exe-session-cleanup.js +13 -13
  39. package/dist/bin/exe-settings.js +3 -3
  40. package/dist/bin/exe-start-codex.js +10 -10
  41. package/dist/bin/exe-start-opencode.js +7 -7
  42. package/dist/bin/exe-status.js +9 -9
  43. package/dist/bin/exe-team.js +2 -2
  44. package/dist/bin/git-sweep.js +8 -8
  45. package/dist/bin/graph-backfill.js +3 -3
  46. package/dist/bin/graph-export.js +4 -4
  47. package/dist/bin/import-history.js +4 -4
  48. package/dist/bin/install.js +5 -5
  49. package/dist/bin/intercom-check.js +4 -4
  50. package/dist/bin/orchestration-metrics.js +4 -3
  51. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  52. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  53. package/dist/bin/scan-tasks.js +8 -8
  54. package/dist/bin/setup.js +1 -1
  55. package/dist/bin/shard-migrate.js +3 -3
  56. package/dist/{capacity-monitor-TGSIL7W4.js → capacity-monitor-EPHJTSKF.js} +9 -9
  57. package/dist/{catchup-brief-ABL4NSAE.js → catchup-brief-HVITENL5.js} +10 -10
  58. package/dist/{chunk-25K6KNZ5.js → chunk-22GPB6FO.js} +58 -6
  59. package/dist/chunk-2THPPZF2.js +81 -0
  60. package/dist/{chunk-K3O4MWMS.js → chunk-3MHKTBHZ.js} +1 -0
  61. package/dist/{chunk-UY6RQK5F.js → chunk-3N4ZEPZI.js} +1 -1
  62. package/dist/{chunk-SN6Z3CBF.js → chunk-3PDZQICZ.js} +1 -1
  63. package/dist/{chunk-CGM6BIK3.js → chunk-3S3ERUUH.js} +1 -1
  64. package/dist/{chunk-5EW4GKGZ.js → chunk-434A3L6O.js} +1 -1
  65. package/dist/{chunk-BQ4U2SYC.js → chunk-4FNJPA5O.js} +1 -1
  66. package/dist/{chunk-O5RJH6GU.js → chunk-4RJD3GXL.js} +1 -1
  67. package/dist/{chunk-3K2BCD5Y.js → chunk-5HTEMMOJ.js} +21 -4
  68. package/dist/{chunk-SZDSQ3AW.js → chunk-6JORPKMR.js} +3 -3
  69. package/dist/{chunk-DAFEIA2M.js → chunk-6MOFCQFH.js} +124 -65
  70. package/dist/{chunk-K62M5FIM.js → chunk-6VVSXO3M.js} +4 -4
  71. package/dist/{chunk-SPMVTZ7Z.js → chunk-723DSUG3.js} +3 -3
  72. package/dist/{chunk-5POKNLFV.js → chunk-7DTEJAIC.js} +2 -2
  73. package/dist/{chunk-E66FQ7IN.js → chunk-7HIWJLXK.js} +1 -1
  74. package/dist/{chunk-IGRQE5Y5.js → chunk-BGLXECHT.js} +2 -2
  75. package/dist/{chunk-BYHFW5CT.js → chunk-COOX4FXM.js} +1 -1
  76. package/dist/{chunk-GZLGB72W.js → chunk-CXBLK3ZA.js} +1 -1
  77. package/dist/{chunk-MJNI3S5H.js → chunk-EDQ4GH2D.js} +2 -2
  78. package/dist/{chunk-GPK2WJXA.js → chunk-EF57I73W.js} +1 -1
  79. package/dist/{chunk-HXYL4QX6.js → chunk-EUMLEWXO.js} +2 -2
  80. package/dist/{chunk-RJCZY4BY.js → chunk-FMKD6N33.js} +86 -10
  81. package/dist/{chunk-RN6XYY7U.js → chunk-FYJCMGTD.js} +71 -0
  82. package/dist/{chunk-USQF2GGF.js → chunk-H7U7FPQF.js} +82 -6
  83. package/dist/{chunk-FMI7SCZJ.js → chunk-HLYNKMAG.js} +1 -1
  84. package/dist/{chunk-BGOQFJ2H.js → chunk-HMGIQNME.js} +3 -3
  85. package/dist/chunk-IR4L6K5L.js +147 -0
  86. package/dist/chunk-ITYWLFYC.js +609 -0
  87. package/dist/{chunk-FFECDA24.js → chunk-JUB74GFQ.js} +2 -2
  88. package/dist/{chunk-D4B6SVEC.js → chunk-MKOW4EXB.js} +1 -1
  89. package/dist/{chunk-XWM23YJO.js → chunk-MQX47XMP.js} +2 -2
  90. package/dist/{chunk-IXFE5R6T.js → chunk-MZ2BL3JP.js} +2 -2
  91. package/dist/{chunk-WGMHQVGX.js → chunk-O2JGR7EU.js} +83 -6
  92. package/dist/{chunk-BV3L2S54.js → chunk-P2ZIM765.js} +1 -1
  93. package/dist/{chunk-DEGQESR7.js → chunk-PHCK4KQW.js} +3 -3
  94. package/dist/{chunk-Y2W54BET.js → chunk-PXDR3UTB.js} +8 -8
  95. package/dist/{chunk-ETHQJXO3.js → chunk-PYLNOBNW.js} +1 -1
  96. package/dist/{chunk-HXNTQP4B.js → chunk-RN6DEMC7.js} +1 -1
  97. package/dist/{chunk-3WMXVABU.js → chunk-S4AXKNPT.js} +1 -1
  98. package/dist/{chunk-X2BTDYHZ.js → chunk-SEAFDIKF.js} +13 -1
  99. package/dist/{chunk-QLKRYO7O.js → chunk-TCBUBBTL.js} +8 -8
  100. package/dist/{chunk-ZQMOF6E7.js → chunk-THFFC43M.js} +1 -1
  101. package/dist/{chunk-XXHDXAZV.js → chunk-VG3VVFF5.js} +1 -1
  102. package/dist/{chunk-P4JQGT4Q.js → chunk-VH6WU3GK.js} +2 -2
  103. package/dist/{chunk-AH6MV6CC.js → chunk-W4BFBCZA.js} +3 -3
  104. package/dist/{chunk-PVVA5SY5.js → chunk-XSOKVFQ6.js} +14 -3
  105. package/dist/{chunk-JUTI2DXY.js → chunk-YCL4RHFY.js} +1 -1
  106. package/dist/{chunk-UXD5KOND.js → chunk-YGUWCJN2.js} +2 -2
  107. package/dist/{chunk-AUPGTF7I.js → chunk-YOXXZAOR.js} +2 -2
  108. package/dist/{chunk-GPNUPCTZ.js → chunk-YXHY5F34.js} +2 -2
  109. package/dist/{chunk-6FJ2TJYB.js → chunk-ZDK3M72Z.js} +1 -1
  110. package/dist/{chunk-6H6Q4MJC.js → chunk-ZIBSTUGU.js} +1 -1
  111. package/dist/{chunk-LIHR5DQF.js → chunk-ZXZJLVGD.js} +1 -1
  112. package/dist/{co-occurrence-A2SJL5AH.js → co-occurrence-TJRQ5V7W.js} +1 -1
  113. package/dist/{crdt-sync-SGAW6DJQ.js → crdt-sync-RI7XPXTI.js} +1 -1
  114. package/dist/{crm-webhook-FBENY6FW.js → crm-webhook-AVG4F2NB.js} +2 -2
  115. package/dist/{cto-delegation-gate-A53RLTJZ.js → cto-delegation-gate-ZTNJLSPO.js} +7 -7
  116. package/dist/{daemon-orchestration-3U3XXFG7.js → daemon-orchestration-AKICH7C5.js} +10 -10
  117. package/dist/{exe-drift-3OUOHWAI.js → exe-drift-BPVS4MOJ.js} +2 -2
  118. package/dist/{exe-export-AFXTJ63F.js → exe-export-LL4CXNLT.js} +4 -4
  119. package/dist/{exe-import-QRZBTBBG.js → exe-import-JNKAAJ5T.js} +4 -4
  120. package/dist/{exe-key-BXN7WPOX.js → exe-key-C5UQ77AT.js} +1 -1
  121. package/dist/{fast-db-init-YVJD4JT2.js → fast-db-init-UNK4BEEO.js} +1 -1
  122. package/dist/gateway/index.js +6 -6
  123. package/dist/{git-staleness-DBFCOX65.js → git-staleness-WTJFIPHH.js} +1 -1
  124. package/dist/{git-task-sweep-O5CH3MKA.js → git-task-sweep-PT3RIE6W.js} +8 -8
  125. package/dist/{global-procedures-SL2TTCED.js → global-procedures-ZPN7KZH5.js} +2 -2
  126. package/dist/{graph-auto-extract-JGNJ3BB7.js → graph-auto-extract-4M4J42NA.js} +1 -1
  127. package/dist/hooks/bug-report-worker.js +9 -9
  128. package/dist/hooks/codex-stop-task-finalizer.js +9 -9
  129. package/dist/hooks/commit-complete.js +10 -10
  130. package/dist/hooks/error-recall.js +5 -5
  131. package/dist/hooks/exe-heartbeat-hook.js +2 -2
  132. package/dist/hooks/ingest.js +5 -5
  133. package/dist/hooks/instructions-loaded.js +3 -3
  134. package/dist/hooks/manifest.json +19 -19
  135. package/dist/hooks/notification.js +3 -3
  136. package/dist/hooks/post-compact.js +9 -9
  137. package/dist/hooks/post-tool-combined.js +4 -4
  138. package/dist/hooks/pre-compact.js +10 -10
  139. package/dist/hooks/pre-tool-use.js +13 -13
  140. package/dist/hooks/prompt-submit.js +29 -18
  141. package/dist/hooks/session-end.js +13 -13
  142. package/dist/hooks/session-start.js +30 -7
  143. package/dist/hooks/stop.js +13 -13
  144. package/dist/hooks/subagent-stop.js +9 -9
  145. package/dist/hooks/summary-worker.js +13 -13
  146. package/dist/index.js +15 -15
  147. package/dist/{installer-TAPAEWRV.js → installer-3DE2IDUZ.js} +4 -4
  148. package/dist/{installer-5FI6CX62.js → installer-IYELX3KG.js} +4 -4
  149. package/dist/{installer-HNOVAUW6.js → installer-SCWIMZT7.js} +4 -4
  150. package/dist/lib/cloud-sync.js +3 -3
  151. package/dist/lib/consolidation.js +4 -4
  152. package/dist/lib/database.js +1 -1
  153. package/dist/lib/db.js +1 -1
  154. package/dist/lib/employee-templates.js +3 -3
  155. package/dist/lib/employees.js +1 -1
  156. package/dist/lib/exe-daemon.js +102 -27
  157. package/dist/lib/hybrid-search.js +4 -4
  158. package/dist/lib/identity.js +1 -1
  159. package/dist/lib/messaging.js +8 -8
  160. package/dist/lib/reminders.js +2 -2
  161. package/dist/lib/schedules.js +4 -4
  162. package/dist/lib/session-registry.js +9 -1
  163. package/dist/lib/skill-learning.js +3 -3
  164. package/dist/lib/store.js +3 -3
  165. package/dist/lib/task-router.js +2 -2
  166. package/dist/lib/tasks.js +8 -8
  167. package/dist/lib/tmux-routing.js +7 -7
  168. package/dist/lib/token-spend.js +2 -2
  169. package/dist/mcp/register-tools.js +46 -46
  170. package/dist/mcp/server.js +47 -47
  171. package/dist/mcp/tools/complete-reminder.js +3 -3
  172. package/dist/mcp/tools/create-reminder.js +3 -3
  173. package/dist/mcp/tools/create-task.js +10 -10
  174. package/dist/mcp/tools/deactivate-behavior.js +4 -4
  175. package/dist/mcp/tools/list-reminders.js +3 -3
  176. package/dist/mcp/tools/list-tasks.js +10 -10
  177. package/dist/mcp/tools/send-message.js +10 -10
  178. package/dist/mcp/tools/update-task.js +9 -9
  179. package/dist/{mcp-http-config-6UAI2FAV.js → mcp-http-config-EWIT2DEN.js} +2 -2
  180. package/dist/{memory-cards-PVPUQ7MX.js → memory-cards-W4VTTFYM.js} +1 -1
  181. package/dist/{memory-graph-extractor-RP7ZXDTE.js → memory-graph-extractor-A3HRDXY6.js} +2 -2
  182. package/dist/{memory-poisoning-defense-DDBUHHGB.js → memory-poisoning-defense-MH6QBXVT.js} +1 -1
  183. package/dist/{memory-reflection-HLR26FXG.js → memory-reflection-RUCTWMQ5.js} +1 -1
  184. package/dist/{notifications-GHNYYITD.js → notifications-6GRSVIP6.js} +7 -7
  185. package/dist/{orchestration-events-2SVPXMK2.js → orchestration-events-MSJVUR4T.js} +6 -2
  186. package/dist/{orchestrator-3BDZ6OUC.js → orchestrator-QQKU4VM2.js} +9 -9
  187. package/dist/{plan-limits-QBNFIU45.js → plan-limits-NKUSDF3I.js} +2 -2
  188. package/dist/{projection-worker-B7HHFYEG.js → projection-worker-UEG6I5DV.js} +1 -1
  189. package/dist/{reranker-B3BOGR3A.js → reranker-JTDM3MV2.js} +1 -1
  190. package/dist/{review-polling-RUXU45AK.js → review-polling-MWBVXHG3.js} +8 -8
  191. package/dist/runtime/index.js +10 -10
  192. package/dist/{session-events-ICZPUGJN.js → session-events-FRB3UYJG.js} +8 -8
  193. package/dist/{session-kill-telemetry-OGFLFTYX.js → session-kill-telemetry-GPZUHBCT.js} +2 -2
  194. package/dist/{session-scope-UJI35BLD.js → session-scope-7BZTNB2X.js} +7 -7
  195. package/dist/{setup-wizard-M6ZZ2VNM.js → setup-wizard-2INM4CSL.js} +1 -1
  196. package/dist/{skill-refinement-WZL35CMY.js → skill-refinement-7C7X42Z5.js} +1 -1
  197. package/dist/{task-enforcement-AYHKGR45.js → task-enforcement-VB5P45ZM.js} +7 -7
  198. package/dist/{task-scope-EYAOY6YX.js → task-scope-ULC62J6G.js} +7 -7
  199. package/dist/{tasks-crud-K3UGPCPT.js → tasks-crud-IBSTM6ID.js} +9 -7
  200. package/dist/{tasks-review-J6LTVVO5.js → tasks-review-P4MCKBDT.js} +7 -7
  201. package/dist/telemetry-upload-Y3CPHI7M.js +214 -0
  202. package/dist/{token-budget-XU2QZEWX.js → token-budget-CO74EBTY.js} +1 -1
  203. package/dist/{tool-telemetry-OE57ERK7.js → tool-telemetry-5PX7A6TX.js} +3 -1
  204. package/dist/tui/App.js +15 -15
  205. package/dist/{tui-data-32OEC3DH.js → tui-data-YAT6A36V.js} +7 -7
  206. package/dist/{worker-gate-UIGQCEUE.js → worker-gate-27O2WEYU.js} +1 -1
  207. package/dist/{workflow-engine-IY7KO7DU.js → workflow-engine-4T36KCTQ.js} +2 -2
  208. package/dist/{worktree-VIXR2Z4J.js → worktree-QTCOX6RV.js} +7 -1
  209. package/package.json +1 -1
  210. package/release-notes.json +95 -95
  211. package/dist/chunk-64WZEXXA.js +0 -64
  212. package/dist/chunk-L63IOJ5N.js +0 -69
  213. package/dist/chunk-ZGQH3V2F.js +0 -254
  214. /package/dist/{chunk-3GFR2TX6.js → chunk-AF7A5IQ5.js} +0 -0
  215. /package/dist/{chunk-7SY5JOLR.js → chunk-ATKMIQXP.js} +0 -0
  216. /package/dist/{chunk-KCWIOR55.js → chunk-GONOOIFL.js} +0 -0
  217. /package/dist/{chunk-QQN7MHQG.js → chunk-ONCFSN5C.js} +0 -0
  218. /package/dist/{chunk-Q3MRTJLA.js → chunk-WVNWAV36.js} +0 -0
  219. /package/dist/{chunk-RH5NYRQH.js → chunk-XJQASQPO.js} +0 -0
  220. /package/dist/{chunk-LJA6RQ3L.js → chunk-YKCH4T4T.js} +0 -0
  221. /package/dist/{core-memory-VZ4YJVMA.js → core-memory-3QGHBERR.js} +0 -0
  222. /package/dist/{wiki-acl-NUUPHYWC.js → wiki-acl-WCBKBLGQ.js} +0 -0
@@ -11,13 +11,16 @@ import {
11
11
  sessionScopeFilter,
12
12
  updateTaskStatus,
13
13
  writeNotification
14
- } from "./chunk-RJCZY4BY.js";
14
+ } from "./chunk-FMKD6N33.js";
15
15
  import {
16
16
  getTransport
17
17
  } from "./chunk-5YDHBZCO.js";
18
18
  import {
19
19
  recordOrchestrationEventBestEffort
20
- } from "./chunk-ZGQH3V2F.js";
20
+ } from "./chunk-ITYWLFYC.js";
21
+ import {
22
+ getAgentRuntime
23
+ } from "./chunk-6RX2XEET.js";
21
24
  import {
22
25
  getSessionKey
23
26
  } from "./chunk-CVYC6DUW.js";
@@ -30,7 +33,7 @@ import {
30
33
  isCoordinatorName,
31
34
  isMultiInstance,
32
35
  shouldAutoInstance
33
- } from "./chunk-K3O4MWMS.js";
36
+ } from "./chunk-3MHKTBHZ.js";
34
37
  import {
35
38
  EXE_AI_DIR
36
39
  } from "./chunk-WXW3XGWX.js";
@@ -134,15 +137,41 @@ async function checkSubtaskCompletion(parentTaskId, projectName) {
134
137
  }
135
138
 
136
139
  // src/lib/tasks-notify.ts
140
+ function resolveDispatchRuntime(agentId, override) {
141
+ if (override) return override;
142
+ try {
143
+ return getAgentRuntime(agentId).runtime ?? null;
144
+ } catch {
145
+ return null;
146
+ }
147
+ }
137
148
  async function dispatchTaskToEmployee(input) {
138
149
  if (isCoordinatorName(input.assignedTo)) return { dispatched: "skipped" };
150
+ const dispatchRuntime = resolveDispatchRuntime(input.assignedTo, input.spawnRuntime);
151
+ recordOrchestrationEventBestEffort({
152
+ eventType: "dispatch.attempted",
153
+ source: "tasks-notify.dispatchTaskToEmployee",
154
+ taskId: input.taskId ?? null,
155
+ agentId: input.assignedTo,
156
+ runtime: dispatchRuntime,
157
+ payload: { priority: input.priority, projectName: input.projectName }
158
+ });
139
159
  let crossProject = false;
140
160
  if (input.projectName) {
141
161
  try {
142
- const { assertSessionScope } = await import("./session-scope-UJI35BLD.js");
162
+ const { assertSessionScope } = await import("./session-scope-7BZTNB2X.js");
143
163
  const check = assertSessionScope("dispatch_task", input.projectName);
144
164
  if (check.reason === "cross_session_denied") {
145
165
  crossProject = true;
166
+ recordOrchestrationEventBestEffort({
167
+ eventType: "dispatch.failed",
168
+ source: "tasks-notify.dispatchTaskToEmployee",
169
+ taskId: input.taskId ?? null,
170
+ agentId: input.assignedTo,
171
+ runtime: dispatchRuntime,
172
+ errorCode: "cross_session_denied",
173
+ payload: { projectName: input.projectName }
174
+ });
146
175
  return { dispatched: "skipped", crossProject: true };
147
176
  }
148
177
  } catch {
@@ -151,7 +180,17 @@ async function dispatchTaskToEmployee(input) {
151
180
  try {
152
181
  const transport = getTransport();
153
182
  const exeSession = resolveExeSession();
154
- if (!exeSession) return { dispatched: "session_missing" };
183
+ if (!exeSession) {
184
+ recordOrchestrationEventBestEffort({
185
+ eventType: "dispatch.failed",
186
+ source: "tasks-notify.dispatchTaskToEmployee",
187
+ taskId: input.taskId ?? null,
188
+ agentId: input.assignedTo,
189
+ runtime: dispatchRuntime,
190
+ errorCode: "no_exe_session"
191
+ });
192
+ return { dispatched: "session_missing" };
193
+ }
155
194
  const multiInstance = isMultiInstance(input.assignedTo);
156
195
  if (multiInstance) {
157
196
  const projectDir = input.projectDir ?? process.cwd();
@@ -166,6 +205,16 @@ async function dispatchTaskToEmployee(input) {
166
205
  `[dispatch-audit] SPAWN FAILED \u2192 ${input.assignedTo} | task="${input.title}" [${input.priority}] | error=${result.error}
167
206
  `
168
207
  );
208
+ recordOrchestrationEventBestEffort({
209
+ eventType: "dispatch.failed",
210
+ source: "tasks-notify.dispatchTaskToEmployee",
211
+ taskId: input.taskId ?? null,
212
+ agentId: input.assignedTo,
213
+ sessionScope: exeSession,
214
+ runtime: dispatchRuntime,
215
+ errorCode: "spawn_failed",
216
+ payload: { path: "multi_instance", error: result.error }
217
+ });
169
218
  return { dispatched: "session_missing" };
170
219
  }
171
220
  const dispatched = result.status === "intercom_sent" || result.status === "intercom_unprocessed" ? "sent_unverified" : "spawned";
@@ -176,8 +225,11 @@ async function dispatchTaskToEmployee(input) {
176
225
  recordOrchestrationEventBestEffort({
177
226
  eventType: "dispatch.completed",
178
227
  source: "tasks-notify.dispatchTaskToEmployee",
228
+ taskId: input.taskId ?? null,
179
229
  agentId: input.assignedTo,
230
+ sessionScope: exeSession,
180
231
  tmuxSession: result.sessionName,
232
+ runtime: dispatchRuntime,
181
233
  result: dispatched,
182
234
  payload: { path: "multi_instance", priority: input.priority }
183
235
  });
@@ -194,8 +246,11 @@ async function dispatchTaskToEmployee(input) {
194
246
  recordOrchestrationEventBestEffort({
195
247
  eventType: "dispatch.completed",
196
248
  source: "tasks-notify.dispatchTaskToEmployee",
249
+ taskId: input.taskId ?? null,
197
250
  agentId: input.assignedTo,
251
+ sessionScope: exeSession,
198
252
  tmuxSession: sessionName,
253
+ runtime: dispatchRuntime,
199
254
  result: dispatched,
200
255
  payload: { path: "single_instance_intercom", priority: input.priority }
201
256
  });
@@ -211,6 +266,16 @@ async function dispatchTaskToEmployee(input) {
211
266
  `[dispatch-audit] SPAWN FAILED \u2192 ${input.assignedTo} | task="${input.title}" [${input.priority}] | error=${result.error}
212
267
  `
213
268
  );
269
+ recordOrchestrationEventBestEffort({
270
+ eventType: "dispatch.failed",
271
+ source: "tasks-notify.dispatchTaskToEmployee",
272
+ taskId: input.taskId ?? null,
273
+ agentId: input.assignedTo,
274
+ sessionScope: exeSession,
275
+ runtime: dispatchRuntime,
276
+ errorCode: "spawn_failed",
277
+ payload: { path: "single_instance_spawn", error: result.error }
278
+ });
214
279
  return { dispatched: "session_missing" };
215
280
  }
216
281
  process.stderr.write(
@@ -220,14 +285,25 @@ async function dispatchTaskToEmployee(input) {
220
285
  recordOrchestrationEventBestEffort({
221
286
  eventType: "dispatch.completed",
222
287
  source: "tasks-notify.dispatchTaskToEmployee",
288
+ taskId: input.taskId ?? null,
223
289
  agentId: input.assignedTo,
290
+ sessionScope: exeSession,
224
291
  tmuxSession: result.sessionName,
292
+ runtime: dispatchRuntime,
225
293
  result: "spawned",
226
294
  payload: { path: "single_instance_spawn", priority: input.priority }
227
295
  });
228
296
  return { dispatched: "spawned", session: result.sessionName, crossProject };
229
297
  }
230
298
  } catch {
299
+ recordOrchestrationEventBestEffort({
300
+ eventType: "dispatch.failed",
301
+ source: "tasks-notify.dispatchTaskToEmployee",
302
+ taskId: input.taskId ?? null,
303
+ agentId: input.assignedTo,
304
+ runtime: dispatchRuntime,
305
+ errorCode: "exception"
306
+ });
231
307
  return { dispatched: "session_missing" };
232
308
  }
233
309
  }
@@ -257,6 +333,7 @@ async function createTask(input) {
257
333
  if (!input.skipDispatch && result.status !== "blocked" && !process.env.VITEST) {
258
334
  dispatchTaskToEmployee({
259
335
  assignedTo: input.assignedTo,
336
+ taskId: result.id,
260
337
  title: input.title,
261
338
  priority: input.priority,
262
339
  taskFile: result.taskFile,
@@ -423,7 +500,7 @@ async function updateTask(input) {
423
500
  await markTaskNotificationsRead(taskFile);
424
501
  if (input.status === "needs_review" && !isCoordinator) {
425
502
  try {
426
- const { writeNotification: writeNotification2 } = await import("./notifications-GHNYYITD.js");
503
+ const { writeNotification: writeNotification2 } = await import("./notifications-6GRSVIP6.js");
427
504
  await writeNotification2({
428
505
  agentId: String(row.assigned_to),
429
506
  agentRole: String(row.assigned_to),
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCoordinatorRole
3
- } from "./chunk-K3O4MWMS.js";
3
+ } from "./chunk-3MHKTBHZ.js";
4
4
 
5
5
  // src/lib/task-router.ts
6
6
  import { randomUUID } from "crypto";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-WGMHQVGX.js";
3
+ } from "./chunk-O2JGR7EU.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-RJCZY4BY.js";
6
+ } from "./chunk-FMKD6N33.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -23,7 +23,7 @@ function registerUpdateTask(server) {
23
23
  const status = rawStatus;
24
24
  let callerAgentId;
25
25
  try {
26
- const { getActiveAgent: getAgent } = await import("./active-agent-EFWC3HGP.js");
26
+ const { getActiveAgent: getAgent } = await import("./active-agent-4RUP4VYK.js");
27
27
  callerAgentId = getAgent().agentId;
28
28
  } catch {
29
29
  }
@@ -3,10 +3,10 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-QLKRYO7O.js";
6
+ } from "./chunk-TCBUBBTL.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-K3O4MWMS.js";
9
+ } from "./chunk-3MHKTBHZ.js";
10
10
 
11
11
  // src/lib/hybrid-search.ts
12
12
  var RRF_K = 60;
@@ -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-B3BOGR3A.js");
236
+ const { isRerankerAvailable } = await import("./reranker-JTDM3MV2.js");
237
237
  rerankerAvailable = isRerankerAvailable();
238
238
  } catch {
239
239
  }
@@ -288,7 +288,7 @@ async function hybridSearch(queryText, agentId, options) {
288
288
  ]).catch(() => []),
289
289
  includeStructuredCards ? (async () => {
290
290
  try {
291
- const { searchMemoryCards } = await import("./memory-cards-PVPUQ7MX.js");
291
+ const { searchMemoryCards } = await import("./memory-cards-W4VTTFYM.js");
292
292
  return await searchMemoryCards(effectiveQuery, agentId, fetchOptions);
293
293
  } catch {
294
294
  return [];
@@ -297,7 +297,7 @@ async function hybridSearch(queryText, agentId, options) {
297
297
  // Reflection insights: patterns, contradictions, summaries across sessions
298
298
  includeStructuredCards ? (async () => {
299
299
  try {
300
- const { searchReflections } = await import("./memory-reflection-HLR26FXG.js");
300
+ const { searchReflections } = await import("./memory-reflection-RUCTWMQ5.js");
301
301
  const insights = await searchReflections(effectiveQuery, agentId, 5);
302
302
  return insights.map((ins) => ({
303
303
  id: ins.id,
@@ -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-B3BOGR3A.js");
400
+ const { rerankWithContext } = await import("./reranker-JTDM3MV2.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-B3BOGR3A.js");
408
+ const { rerank } = await import("./reranker-JTDM3MV2.js");
409
409
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
410
410
  }
411
411
  if (rerankedRecords.length > 0) {
@@ -722,7 +722,7 @@ async function lightweightSearch(queryText, agentId, options) {
722
722
  }
723
723
  if (options?.includeStructuredCards !== true) return results;
724
724
  try {
725
- const { searchMemoryCards } = await import("./memory-cards-PVPUQ7MX.js");
725
+ const { searchMemoryCards } = await import("./memory-cards-W4VTTFYM.js");
726
726
  const cardResults = await searchMemoryCards(queryText, agentId, options);
727
727
  if (cardResults.length > 0) {
728
728
  return rrfMergeMulti([results, cardResults], limit, RRF_K, [1, 0.85]);
@@ -6,7 +6,7 @@ import {
6
6
  getIdentity,
7
7
  listIdentities,
8
8
  updateIdentity
9
- } from "./chunk-K3O4MWMS.js";
9
+ } from "./chunk-3MHKTBHZ.js";
10
10
  import {
11
11
  atomicWriteJsonSync
12
12
  } from "./chunk-LYH5HE24.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployees
3
- } from "./chunk-K3O4MWMS.js";
3
+ } from "./chunk-3MHKTBHZ.js";
4
4
 
5
5
  // src/lib/agent-symlinks.ts
6
6
  import os from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployeesSync
3
- } from "./chunk-K3O4MWMS.js";
3
+ } from "./chunk-3MHKTBHZ.js";
4
4
 
5
5
  // src/adapters/mcp-http-config.ts
6
6
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -106,11 +106,23 @@ async function stopToolTelemetryFlush() {
106
106
  }
107
107
  await flushToMemory();
108
108
  }
109
+ function getToolUsageSummary() {
110
+ const summary = {};
111
+ for (const [tool, record] of _toolCalls) {
112
+ summary[tool] = {
113
+ count: record.count,
114
+ errors: record.errors,
115
+ actions: Object.fromEntries(record.actions)
116
+ };
117
+ }
118
+ return summary;
119
+ }
109
120
 
110
121
  export {
111
122
  wrapServerWithTelemetry,
112
123
  getToolUsageStats,
113
124
  resetToolUsageStats,
114
125
  startToolTelemetryFlush,
115
- stopToolTelemetryFlush
126
+ stopToolTelemetryFlush,
127
+ getToolUsageSummary
116
128
  };
@@ -6,7 +6,7 @@ import {
6
6
  findScopedDuplicate,
7
7
  governMemoryRecord,
8
8
  schedulePostWriteMemoryHygiene
9
- } from "./chunk-RH5NYRQH.js";
9
+ } from "./chunk-XJQASQPO.js";
10
10
  import {
11
11
  orgBus
12
12
  } from "./chunk-MP2AFCGL.js";
@@ -15,7 +15,7 @@ import {
15
15
  ensureSchema,
16
16
  getClient,
17
17
  initTurso
18
- } from "./chunk-K3O4MWMS.js";
18
+ } from "./chunk-3MHKTBHZ.js";
19
19
  import {
20
20
  EMBEDDING_DIM
21
21
  } from "./chunk-FXU7JOXK.js";
@@ -65,7 +65,7 @@ function recordShardFailure(project, error) {
65
65
  `[store] Shard circuit OPEN for "${project}" after ${state.failures} consecutive failures. Will retry in ${SHARD_CB_COOLDOWN_MS / 6e4}min. Last error: ${error}
66
66
  `
67
67
  );
68
- void import("./orchestration-events-2SVPXMK2.js").then(({ recordOrchestrationEventBestEffort }) => {
68
+ void import("./orchestration-events-MSJVUR4T.js").then(({ recordOrchestrationEventBestEffort }) => {
69
69
  recordOrchestrationEventBestEffort({
70
70
  eventType: "shard.circuit_open",
71
71
  source: "store.recordShardFailure",
@@ -162,7 +162,7 @@ async function initStore(options) {
162
162
  );
163
163
  _nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
164
164
  try {
165
- const { loadGlobalProcedures } = await import("./global-procedures-SL2TTCED.js");
165
+ const { loadGlobalProcedures } = await import("./global-procedures-ZPN7KZH5.js");
166
166
  await loadGlobalProcedures();
167
167
  } catch (e) {
168
168
  logStoreWarn("catch", e);
@@ -289,7 +289,7 @@ async function writeMemory(record) {
289
289
  keywords: record.keywords ?? keywordsToString(extractKeywords(record.raw_text))
290
290
  };
291
291
  try {
292
- const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-DDBUHHGB.js");
292
+ const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-MH6QBXVT.js");
293
293
  const poisonResult = await checkMemoryPoisoning({
294
294
  memoryId: dbRow.id,
295
295
  vector: Array.isArray(dbRow.vector) ? dbRow.vector : void 0,
@@ -475,19 +475,19 @@ async function flushBatch() {
475
475
  }
476
476
  _nextVersion = baseVersion;
477
477
  try {
478
- const { insertMemoryCardsForBatch } = await import("./memory-cards-PVPUQ7MX.js");
478
+ const { insertMemoryCardsForBatch } = await import("./memory-cards-W4VTTFYM.js");
479
479
  await insertMemoryCardsForBatch(batch);
480
480
  } catch (e) {
481
481
  logStoreWarn("catch", e);
482
482
  }
483
483
  try {
484
- const { insertOntologyForBatch } = await import("./agentic-ontology-JS6DPKQB.js");
484
+ const { insertOntologyForBatch } = await import("./agentic-ontology-FNJAKZF5.js");
485
485
  await insertOntologyForBatch(batch);
486
486
  } catch (e) {
487
487
  logStoreWarn("catch", e);
488
488
  }
489
489
  try {
490
- const { extractGraphForBatch } = await import("./memory-graph-extractor-RP7ZXDTE.js");
490
+ const { extractGraphForBatch } = await import("./memory-graph-extractor-A3HRDXY6.js");
491
491
  await extractGraphForBatch(batch);
492
492
  } catch (e) {
493
493
  logStoreWarn("catch", e);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-RJCZY4BY.js";
4
+ } from "./chunk-FMKD6N33.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-QQN7MHQG.js";
4
+ } from "./chunk-ONCFSN5C.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  initStore
3
- } from "./chunk-QLKRYO7O.js";
3
+ } from "./chunk-TCBUBBTL.js";
4
4
  import {
5
5
  getClient,
6
6
  isInitialized
7
- } from "./chunk-K3O4MWMS.js";
7
+ } from "./chunk-3MHKTBHZ.js";
8
8
 
9
9
  // src/lib/schedules.ts
10
10
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-BV3L2S54.js";
3
+ } from "./chunk-P2ZIM765.js";
4
4
  import {
5
5
  createTaskCore,
6
6
  employeeSessionName,
@@ -9,11 +9,11 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-RJCZY4BY.js";
12
+ } from "./chunk-FMKD6N33.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
16
- } from "./chunk-K3O4MWMS.js";
16
+ } from "./chunk-3MHKTBHZ.js";
17
17
 
18
18
  // src/runtime/orchestrator.ts
19
19
  var STALE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
@@ -4,13 +4,13 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-RJCZY4BY.js";
7
+ } from "./chunk-FMKD6N33.js";
8
8
  import {
9
9
  recordOrchestrationEventBestEffort
10
- } from "./chunk-ZGQH3V2F.js";
10
+ } from "./chunk-ITYWLFYC.js";
11
11
  import {
12
12
  getClient
13
- } from "./chunk-K3O4MWMS.js";
13
+ } from "./chunk-3MHKTBHZ.js";
14
14
 
15
15
  // src/lib/messaging.ts
16
16
  import crypto from "crypto";
@@ -155,6 +155,12 @@ async function deliverLocalMessage(messageId) {
155
155
  sql: "UPDATE messages SET status = 'delivered', delivered_at = ? WHERE id = ?",
156
156
  args: [now, messageId]
157
157
  });
158
+ recordOrchestrationEventBestEffort({
159
+ eventType: "message.delivered",
160
+ source: "messaging.deliverLocalMessage",
161
+ agentId: msg.targetAgent,
162
+ payload: { fromAgent: msg.fromAgent, priority: msg.priority }
163
+ });
158
164
  return true;
159
165
  } catch (err) {
160
166
  process.stderr.write(
@@ -192,6 +198,11 @@ async function markRead(messageId, sessionScope) {
192
198
  WHERE id = ? AND status IN ('pending', 'delivered')${scope.sql}`,
193
199
  args: [messageId, ...scope.args]
194
200
  });
201
+ recordOrchestrationEventBestEffort({
202
+ eventType: "message.read",
203
+ source: "messaging.markRead",
204
+ payload: { messageId }
205
+ });
195
206
  }
196
207
  async function markAcknowledged(messageId, sessionScope) {
197
208
  const client = getClient();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listReminders
3
- } from "./chunk-D4B6SVEC.js";
3
+ } from "./chunk-MKOW4EXB.js";
4
4
 
5
5
  // src/mcp/tools/list-reminders.ts
6
6
  import { z } from "zod";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  storeBehavior
3
- } from "./chunk-LIHR5DQF.js";
3
+ } from "./chunk-ZXZJLVGD.js";
4
4
  import {
5
5
  getClient
6
- } from "./chunk-K3O4MWMS.js";
6
+ } from "./chunk-3MHKTBHZ.js";
7
7
  import {
8
8
  loadConfig
9
9
  } from "./chunk-WXW3XGWX.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-RJCZY4BY.js";
3
+ } from "./chunk-FMKD6N33.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-K3UGPCPT.js");
181
+ const { updateTaskStatus } = await import("./tasks-crud-IBSTM6ID.js");
182
182
  await updateTaskStatus({
183
183
  taskId: task.id,
184
184
  status: "needs_review",
@@ -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-UIGQCEUE.js");
852
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-27O2WEYU.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-YVJD4JT2.js");
973
+ const { fastDbInit } = await import("./fast-db-init-UNK4BEEO.js");
974
974
  const client = await fastDbInit();
975
975
  const report = await runAudit(client, flags);
976
976
  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-EYAOY6YX.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-ULC62J6G.js");
115
115
  const client = getClient();
116
116
  const scope = sessionScopeFilter();
117
117
  const result = await client.execute({
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-K3O4MWMS.js";
4
+ } from "./chunk-3MHKTBHZ.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-K3O4MWMS.js";
3
+ } from "./chunk-3MHKTBHZ.js";
4
4
 
5
5
  // src/lib/behaviors.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-K3O4MWMS.js";
3
+ } from "./chunk-3MHKTBHZ.js";
4
4
  import "./chunk-HHECGHFW.js";
5
5
  import "./chunk-FXU7JOXK.js";
6
6
  import "./chunk-WXW3XGWX.js";
@@ -13,7 +13,7 @@ import {
13
13
  readAllBehaviors,
14
14
  readAllMemories,
15
15
  rebuildFromDb
16
- } from "./chunk-LJA6RQ3L.js";
16
+ } from "./chunk-YKCH4T4T.js";
17
17
  import "./chunk-MLKGABMK.js";
18
18
  export {
19
19
  _setStatePath,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-FMI7SCZJ.js";
5
- import "./chunk-QQN7MHQG.js";
4
+ } from "./chunk-HLYNKMAG.js";
5
+ import "./chunk-ONCFSN5C.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
  export {
8
8
  createCRMWebhookHandler,
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-RJCZY4BY.js";
4
- import "./chunk-RN6XYY7U.js";
3
+ } from "./chunk-FMKD6N33.js";
4
+ import "./chunk-FYJCMGTD.js";
5
5
  import "./chunk-QI4IXJN7.js";
6
- import "./chunk-64WZEXXA.js";
6
+ import "./chunk-IR4L6K5L.js";
7
7
  import "./chunk-5YDHBZCO.js";
8
8
  import "./chunk-G4QFC45N.js";
9
9
  import "./chunk-GZIAQYGI.js";
10
- import "./chunk-ZGQH3V2F.js";
10
+ import "./chunk-ITYWLFYC.js";
11
11
  import "./chunk-ZQX6UOP6.js";
12
12
  import "./chunk-6RX2XEET.js";
13
13
  import "./chunk-NGP6LSV2.js";
14
- import "./chunk-SN6Z3CBF.js";
14
+ import "./chunk-3PDZQICZ.js";
15
15
  import "./chunk-CVYC6DUW.js";
16
16
  import "./chunk-OPU3NYOO.js";
17
17
  import "./chunk-GJV3WDWM.js";
18
18
  import "./chunk-MP2AFCGL.js";
19
- import "./chunk-HXNTQP4B.js";
19
+ import "./chunk-RN6DEMC7.js";
20
20
  import "./chunk-HYZV25LY.js";
21
21
  import {
22
22
  getClient,
23
23
  getEmployeeByRole,
24
24
  loadEmployeesSync
25
- } from "./chunk-K3O4MWMS.js";
25
+ } from "./chunk-3MHKTBHZ.js";
26
26
  import "./chunk-HHECGHFW.js";
27
27
  import "./chunk-FXU7JOXK.js";
28
28
  import "./chunk-72DJ42IE.js";