@askexenow/exe-os 0.9.159 → 0.9.161

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 (221) hide show
  1. package/dist/{active-agent-XAA2YRRH.js → active-agent-SLC7NBGT.js} +2 -2
  2. package/dist/{active-agent-JCODH6ZT.js → active-agent-UKVJCFEF.js} +2 -2
  3. package/dist/{agentic-ontology-5EIAHTR4.js → agentic-ontology-F4B4DH7M.js} +1 -1
  4. package/dist/{backfill-metadata-2JEFIROE.js → backfill-metadata-SMFH4EJX.js} +3 -3
  5. package/dist/{behaviors-IFNDKKZG.js → behaviors-6CNOKKLR.js} +2 -2
  6. package/dist/bin/agentic-ontology-backfill.js +4 -4
  7. package/dist/bin/agentic-reflection-backfill.js +5 -5
  8. package/dist/bin/agentic-semantic-label.js +4 -4
  9. package/dist/bin/backfill-conversations.js +5 -5
  10. package/dist/bin/backfill-responses.js +5 -5
  11. package/dist/bin/backfill-vectors.js +6 -6
  12. package/dist/bin/bulk-sync-postgres.js +5 -5
  13. package/dist/bin/cleanup-stale-review-tasks.js +5 -5
  14. package/dist/bin/cli.js +13 -13
  15. package/dist/bin/customer-readiness.js +3 -3
  16. package/dist/bin/deferred-daemon-restart.js +102 -0
  17. package/dist/bin/exe-agent-config.js +1 -1
  18. package/dist/bin/exe-agent.js +7 -7
  19. package/dist/bin/exe-assign.js +7 -7
  20. package/dist/bin/exe-boot.js +12 -12
  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 +5 -5
  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 +5 -5
  29. package/dist/bin/exe-kill.js +8 -8
  30. package/dist/bin/exe-launch-agent.js +24 -9
  31. package/dist/bin/exe-new-employee.js +5 -5
  32. package/dist/bin/exe-pending-messages.js +6 -6
  33. package/dist/bin/exe-pending-notifications.js +5 -5
  34. package/dist/bin/exe-pending-reviews.js +5 -5
  35. package/dist/bin/exe-rename.js +3 -3
  36. package/dist/bin/exe-review.js +7 -7
  37. package/dist/bin/exe-search.js +4 -4
  38. package/dist/bin/exe-session-cleanup.js +9 -9
  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 +6 -6
  43. package/dist/bin/exe-team.js +2 -2
  44. package/dist/bin/git-sweep.js +5 -5
  45. package/dist/bin/graph-backfill.js +3 -3
  46. package/dist/bin/graph-export.js +4 -4
  47. package/dist/bin/install.js +70 -207
  48. package/dist/bin/intercom-check.js +4 -4
  49. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  50. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  51. package/dist/bin/scan-tasks.js +5 -5
  52. package/dist/bin/setup.js +1 -1
  53. package/dist/bin/shard-migrate.js +3 -3
  54. package/dist/{capacity-monitor-MSQGHO27.js → capacity-monitor-ORRMNHT5.js} +6 -6
  55. package/dist/{catchup-brief-TSMPWHXT.js → catchup-brief-MTPBB3KF.js} +7 -7
  56. package/dist/{chunk-VKCFXOWQ.js → chunk-2UO3QD7V.js} +1 -1
  57. package/dist/{chunk-KUEUXXO4.js → chunk-3U3UYYKE.js} +2 -2
  58. package/dist/{chunk-XFA26MHB.js → chunk-5G7BZIY3.js} +1 -1
  59. package/dist/{chunk-UHAED3MM.js → chunk-5OD3AFRW.js} +1 -1
  60. package/dist/{chunk-7WXL6XVN.js → chunk-5RWZNONS.js} +8 -8
  61. package/dist/{chunk-GP436PAK.js → chunk-72IIQLQ6.js} +1 -1
  62. package/dist/{chunk-HI5LPCAS.js → chunk-7OTFGJDW.js} +1 -1
  63. package/dist/{chunk-AGBFY64D.js → chunk-7RD4YGGJ.js} +1 -1
  64. package/dist/{chunk-BQMG77YQ.js → chunk-7SGJUQBZ.js} +1 -1
  65. package/dist/{chunk-SNTCGJAE.js → chunk-7X7HKWH7.js} +36 -15
  66. package/dist/{chunk-FVQ7BELN.js → chunk-A7HLWPKK.js} +2 -2
  67. package/dist/{chunk-37KXWPTL.js → chunk-A7SYUJ2W.js} +2 -2
  68. package/dist/{chunk-IKDK7NXN.js → chunk-BZYHF63H.js} +377 -30
  69. package/dist/{chunk-IJXYCSUR.js → chunk-CUQGNC3J.js} +2 -2
  70. package/dist/{chunk-GHB33FOB.js → chunk-D34YDPQA.js} +2 -2
  71. package/dist/{chunk-5HVWTVZI.js → chunk-DIRYKGUR.js} +3 -3
  72. package/dist/{chunk-CCOSYMVU.js → chunk-DQMGSEAJ.js} +1 -1
  73. package/dist/{chunk-PZWRXJBJ.js → chunk-E7HUZQ4W.js} +1 -1
  74. package/dist/{chunk-TLTQGQCX.js → chunk-FEP36D2I.js} +1 -1
  75. package/dist/{chunk-BOAP6EJD.js → chunk-FPBEJ2JV.js} +6 -6
  76. package/dist/{chunk-COUXA2IQ.js → chunk-FRH7EY2Z.js} +1 -1
  77. package/dist/{chunk-56N5BCXQ.js → chunk-G4FDG3LK.js} +3 -3
  78. package/dist/{chunk-ARTF7DMV.js → chunk-GFEXQ4NU.js} +2 -2
  79. package/dist/{chunk-CSTCUDVM.js → chunk-H3KFLVPW.js} +6 -6
  80. package/dist/{chunk-PQFTZDR4.js → chunk-HWVG6QXM.js} +1 -1
  81. package/dist/{chunk-SCZJGD2G.js → chunk-I3MRITK2.js} +1 -1
  82. package/dist/{chunk-H4FB7LB4.js → chunk-I67W2JMW.js} +1 -1
  83. package/dist/{chunk-NABY2RI6.js → chunk-IH6TK5HJ.js} +2 -2
  84. package/dist/{chunk-D5PHT3JX.js → chunk-J2Y7UEXH.js} +3 -3
  85. package/dist/{chunk-SI7P22A5.js → chunk-JKMM7UZH.js} +2 -2
  86. package/dist/{chunk-PWNIKVDA.js → chunk-KOJIL4NH.js} +1 -1
  87. package/dist/{chunk-NV3WVFZ2.js → chunk-KOO56JVC.js} +1 -1
  88. package/dist/{chunk-ACRIYPBC.js → chunk-KZ4AAXWM.js} +6 -6
  89. package/dist/{chunk-CQFBWHQT.js → chunk-LHLEFNFW.js} +1 -1
  90. package/dist/{chunk-2PI3WQ47.js → chunk-LJS2OZKR.js} +3 -3
  91. package/dist/{chunk-F6LDN5XB.js → chunk-MPCICOVG.js} +4 -4
  92. package/dist/{chunk-3J4AJLED.js → chunk-N27BYKRB.js} +5 -5
  93. package/dist/{chunk-VLQKYNIO.js → chunk-NOY424XX.js} +3 -3
  94. package/dist/{chunk-SPG7BS6Y.js → chunk-NP55D5Q6.js} +205 -105
  95. package/dist/{chunk-RUOLDPIR.js → chunk-O4HT7CKC.js} +1 -1
  96. package/dist/{chunk-SZERVMKQ.js → chunk-ODN7E7HJ.js} +1 -1
  97. package/dist/{chunk-TYOB34ZF.js → chunk-OSG4O5TU.js} +1 -1
  98. package/dist/{chunk-VUBQUWJH.js → chunk-PGXG2JUF.js} +1 -1
  99. package/dist/{chunk-3H4VU65X.js → chunk-PWMMIGVQ.js} +124 -1
  100. package/dist/{chunk-EWNH5O2J.js → chunk-QK5MFN77.js} +1 -1
  101. package/dist/{chunk-EEH5SNIW.js → chunk-S3R2FC6P.js} +3 -3
  102. package/dist/{chunk-OYQHH5SX.js → chunk-SARHW2CG.js} +109 -58
  103. package/dist/{chunk-2TKJQR7H.js → chunk-U2KFQTM5.js} +1 -1
  104. package/dist/{chunk-RSNIF5FB.js → chunk-UXEDBUVW.js} +5 -5
  105. package/dist/{chunk-7WZXLY52.js → chunk-WY2QFHBB.js} +1 -1
  106. package/dist/{chunk-VV6X2DRX.js → chunk-YL36L2SN.js} +1 -1
  107. package/dist/{chunk-RJTIEXYH.js → chunk-Z5OGXSXA.js} +2 -2
  108. package/dist/{chunk-5ICBFFSQ.js → chunk-Z734KCEG.js} +1 -1
  109. package/dist/{code-context-index-MPDSDOEL.js → code-context-index-B6VIWPSF.js} +3 -3
  110. package/dist/{conversation-wiki-populator-HVROKOEU.js → conversation-wiki-populator-YMNIDI4F.js} +1 -1
  111. package/dist/{crdt-sync-4PA3L6CQ.js → crdt-sync-6BT3YLUU.js} +1 -1
  112. package/dist/{crm-webhook-5RIOZV43.js → crm-webhook-YVGNLWJH.js} +2 -2
  113. package/dist/{cto-delegation-gate-WPYOYKCC.js → cto-delegation-gate-ACVGMP5V.js} +4 -4
  114. package/dist/{daemon-orchestration-WZ3ITBAJ.js → daemon-orchestration-47D3OQQV.js} +21 -7
  115. package/dist/{exe-drift-6U5ENBOQ.js → exe-drift-ZVZDRDN6.js} +2 -2
  116. package/dist/{exe-export-CJFBFOBQ.js → exe-export-E6SXUIOV.js} +4 -4
  117. package/dist/{exe-import-HWP2FOVB.js → exe-import-2ESJXCG6.js} +4 -4
  118. package/dist/{exe-key-S3Q3Q2LE.js → exe-key-FSNRXDEN.js} +1 -1
  119. package/dist/{fast-db-init-43JVJVVH.js → fast-db-init-FLMQJFDI.js} +1 -1
  120. package/dist/gateway/index.js +9 -9
  121. package/dist/{git-staleness-7PVIPSJZ.js → git-staleness-QSOOMGX3.js} +1 -1
  122. package/dist/{git-task-sweep-GXSLBPEQ.js → git-task-sweep-A4N5VNCJ.js} +5 -5
  123. package/dist/{global-procedures-3HLEPJTB.js → global-procedures-A2YYQL6Q.js} +2 -2
  124. package/dist/{graph-auto-extract-3TBVEMSM.js → graph-auto-extract-WKBJY3NQ.js} +1 -1
  125. package/dist/hooks/bug-report-worker.js +6 -6
  126. package/dist/hooks/codex-stop-task-finalizer.js +6 -6
  127. package/dist/hooks/commit-complete.js +35 -10
  128. package/dist/hooks/error-recall.js +5 -5
  129. package/dist/hooks/exe-heartbeat-hook.js +2 -2
  130. package/dist/hooks/ingest-worker.js +3 -3
  131. package/dist/hooks/ingest.js +5 -5
  132. package/dist/hooks/instructions-loaded.js +3 -3
  133. package/dist/hooks/notification.js +3 -3
  134. package/dist/hooks/post-compact.js +6 -6
  135. package/dist/hooks/post-tool-combined.js +5 -5
  136. package/dist/hooks/pre-compact.js +10 -10
  137. package/dist/hooks/pre-tool-use.js +10 -10
  138. package/dist/hooks/prompt-submit.js +16 -16
  139. package/dist/hooks/session-end.js +15 -15
  140. package/dist/hooks/session-start.js +6 -6
  141. package/dist/hooks/stop.js +13 -13
  142. package/dist/hooks/subagent-stop.js +6 -6
  143. package/dist/hooks/summary-worker.js +13 -13
  144. package/dist/index.js +14 -14
  145. package/dist/{installer-ZRARTRW6.js → installer-77L2ACSQ.js} +4 -4
  146. package/dist/{installer-BX3C5MT7.js → installer-IITLB3YS.js} +4 -4
  147. package/dist/{installer-STP2Z37F.js → installer-NZGIE6L4.js} +4 -4
  148. package/dist/lib/cloud-sync.js +3 -3
  149. package/dist/lib/consolidation.js +4 -4
  150. package/dist/lib/database.js +1 -1
  151. package/dist/lib/db-daemon-client.js +2 -2
  152. package/dist/lib/db.js +1 -1
  153. package/dist/lib/embedder.js +3 -3
  154. package/dist/lib/employee-templates.js +3 -3
  155. package/dist/lib/employees.js +1 -1
  156. package/dist/lib/exe-daemon-client.js +2 -2
  157. package/dist/lib/exe-daemon.js +79 -26
  158. package/dist/lib/hybrid-search.js +4 -4
  159. package/dist/lib/identity.js +1 -1
  160. package/dist/lib/messaging.js +5 -5
  161. package/dist/lib/reminders.js +2 -2
  162. package/dist/lib/schedules.js +4 -4
  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 +5 -5
  167. package/dist/lib/tmux-routing.js +4 -4
  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 +7 -7
  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 +7 -7
  177. package/dist/mcp/tools/send-message.js +7 -7
  178. package/dist/mcp/tools/update-task.js +6 -6
  179. package/dist/{mcp-http-config-F7K3FSWG.js → mcp-http-config-GU7ANGPH.js} +2 -2
  180. package/dist/{memory-cards-B6I5ZGXM.js → memory-cards-MRF3JHTD.js} +1 -1
  181. package/dist/{memory-poisoning-defense-3ETR5HJJ.js → memory-poisoning-defense-UJ36FZ2U.js} +1 -1
  182. package/dist/{memory-queue-client-Z4Q3IX77.js → memory-queue-client-LFPZPPQA.js} +3 -3
  183. package/dist/{memory-reflection-B75N4BRO.js → memory-reflection-6QCSB2MQ.js} +1 -1
  184. package/dist/{notifications-WNSNHFH6.js → notifications-CSVHULU2.js} +4 -4
  185. package/dist/{orchestrator-KGIIN4BA.js → orchestrator-PWP2CALB.js} +6 -6
  186. package/dist/{plan-limits-LTAD6MZH.js → plan-limits-D3VGVCWX.js} +2 -2
  187. package/dist/{projection-worker-IEDLDFKB.js → projection-worker-QZCUNRFZ.js} +141 -2
  188. package/dist/{review-polling-MQ3AXSTB.js → review-polling-QH3X4ZGX.js} +5 -5
  189. package/dist/runtime/index.js +11 -11
  190. package/dist/{session-events-DUWUFNSD.js → session-events-4GDMLNBG.js} +5 -5
  191. package/dist/{session-kill-telemetry-SZPQAZS7.js → session-kill-telemetry-XNKGQYME.js} +2 -2
  192. package/dist/{session-scope-TU7M4FAA.js → session-scope-754VZARX.js} +4 -4
  193. package/dist/{setup-wizard-B5F7C765.js → setup-wizard-FBWZQGR4.js} +1 -1
  194. package/dist/{skill-refinement-RRSHVVV7.js → skill-refinement-65EE332E.js} +1 -1
  195. package/dist/{task-enforcement-6AAUCRFV.js → task-enforcement-Y4BZBB7O.js} +4 -4
  196. package/dist/{task-scope-3UOAF4QQ.js → task-scope-LMSSAAAY.js} +4 -4
  197. package/dist/{tasks-crud-NQLF7DVV.js → tasks-crud-GZLBSTH3.js} +4 -4
  198. package/dist/{tasks-review-K52CYJ3R.js → tasks-review-4MSMRTDM.js} +4 -4
  199. package/dist/{token-budget-6KUZD2BC.js → token-budget-6YGB6AVB.js} +1 -1
  200. package/dist/{tool-capability-index-4TT2VIQ2.js → tool-capability-index-6JJN6ZRC.js} +1 -1
  201. package/dist/{tool-telemetry-TOPP535O.js → tool-telemetry-SYTSDQBL.js} +1 -1
  202. package/dist/tui/App.js +17 -17
  203. package/dist/{tui-data-E3XA3HLZ.js → tui-data-XNWZBTZB.js} +4 -4
  204. package/dist/{wiki-client-NZR7RW4I.js → wiki-client-S6JKY7GG.js} +22 -1
  205. package/dist/{worker-gate-J5RRT27H.js → worker-gate-ULTQ3WTD.js} +1 -1
  206. package/dist/{workflow-engine-4U4H4V6K.js → workflow-engine-GKT7HTAK.js} +2 -2
  207. package/package.json +1 -1
  208. package/release-notes.json +142 -142
  209. /package/dist/{chunk-5UPBAAPS.js → chunk-2M3CULM3.js} +0 -0
  210. /package/dist/{chunk-PJI6UVFG.js → chunk-6IUZZMWD.js} +0 -0
  211. /package/dist/{chunk-33KYUOK2.js → chunk-6NSFB3JH.js} +0 -0
  212. /package/dist/{chunk-XMYY65PG.js → chunk-ESRI7MFI.js} +0 -0
  213. /package/dist/{chunk-JTS3IDOY.js → chunk-JYETM4KT.js} +0 -0
  214. /package/dist/{chunk-MJSWLLSM.js → chunk-KVXP2W2N.js} +0 -0
  215. /package/dist/{chunk-DHNTMNKR.js → chunk-MGRHSBXO.js} +0 -0
  216. /package/dist/{chunk-JC7GZZVA.js → chunk-X4X3J6FE.js} +0 -0
  217. /package/dist/{chunk-NGVIZCGB.js → chunk-ZKALIEHB.js} +0 -0
  218. /package/dist/{core-memory-TFPUGGWO.js → core-memory-EXKPFVIR.js} +0 -0
  219. /package/dist/{entity-boost-B7IGG24X.js → entity-boost-GHFPE6A2.js} +0 -0
  220. /package/dist/{message-queue-client-EMQYHDBK.js → message-queue-client-CHRQYBH5.js} +0 -0
  221. /package/dist/{wiki-acl-JDBEB5GL.js → wiki-acl-VC237WGO.js} +0 -0
@@ -1,22 +1,22 @@
1
+ import {
2
+ AUTO_WAKE_MAX_RETRIES
3
+ } from "./chunk-BZYHF63H.js";
1
4
  import {
2
5
  getToolCapabilityIndex
3
- } from "./chunk-XMYY65PG.js";
6
+ } from "./chunk-ESRI7MFI.js";
4
7
  import {
5
8
  getCachedLicenseGate
6
9
  } from "./chunk-PLNYW6PA.js";
7
10
  import {
8
11
  getToolUsageStats
9
- } from "./chunk-DHNTMNKR.js";
10
- import {
11
- AUTO_WAKE_MAX_RETRIES
12
- } from "./chunk-IKDK7NXN.js";
12
+ } from "./chunk-MGRHSBXO.js";
13
13
  import {
14
14
  isToolAllowed,
15
15
  isToolAllowedForPlan
16
16
  } from "./chunk-E6ORBQHP.js";
17
17
  import {
18
18
  listRecentSessionEvents
19
- } from "./chunk-VUBQUWJH.js";
19
+ } from "./chunk-PGXG2JUF.js";
20
20
  import {
21
21
  isRerankerAvailable,
22
22
  rerankWithScores
@@ -37,66 +37,66 @@ import {
37
37
  searchCodeContext,
38
38
  searchCodeContextSemantic,
39
39
  traceCodeSymbol
40
- } from "./chunk-NV3WVFZ2.js";
40
+ } from "./chunk-KOO56JVC.js";
41
41
  import {
42
42
  exportOrchestration,
43
43
  importOrchestration,
44
44
  validatePackage
45
- } from "./chunk-HI5LPCAS.js";
45
+ } from "./chunk-7OTFGJDW.js";
46
46
  import {
47
47
  runDriftProbes
48
- } from "./chunk-7WZXLY52.js";
48
+ } from "./chunk-WY2QFHBB.js";
49
49
  import {
50
50
  loadOrchestrationPhase,
51
51
  setOrchestrationPhase
52
52
  } from "./chunk-DH65L4XI.js";
53
53
  import {
54
54
  createOrRefreshResumeTask
55
- } from "./chunk-VLQKYNIO.js";
55
+ } from "./chunk-NOY424XX.js";
56
+ import {
57
+ registerCreateReminder
58
+ } from "./chunk-E7HUZQ4W.js";
56
59
  import {
57
60
  registerListReminders
58
- } from "./chunk-TLTQGQCX.js";
61
+ } from "./chunk-FEP36D2I.js";
59
62
  import {
60
63
  registerCompleteReminder
61
- } from "./chunk-TYOB34ZF.js";
64
+ } from "./chunk-OSG4O5TU.js";
62
65
  import {
63
66
  registerDeactivateBehavior
64
- } from "./chunk-D5PHT3JX.js";
67
+ } from "./chunk-J2Y7UEXH.js";
68
+ import {
69
+ completeReminder,
70
+ createReminder,
71
+ listReminders
72
+ } from "./chunk-ODN7E7HJ.js";
65
73
  import {
66
74
  registerSendMessage
67
- } from "./chunk-NABY2RI6.js";
75
+ } from "./chunk-IH6TK5HJ.js";
68
76
  import {
69
77
  registerCreateTask
70
- } from "./chunk-ACRIYPBC.js";
78
+ } from "./chunk-KZ4AAXWM.js";
71
79
  import {
72
80
  registerListTasks
73
- } from "./chunk-IJXYCSUR.js";
81
+ } from "./chunk-CUQGNC3J.js";
74
82
  import {
75
83
  registerUpdateTask
76
- } from "./chunk-5HVWTVZI.js";
77
- import {
78
- registerCreateReminder
79
- } from "./chunk-PZWRXJBJ.js";
80
- import {
81
- completeReminder,
82
- createReminder,
83
- listReminders
84
- } from "./chunk-SZERVMKQ.js";
84
+ } from "./chunk-DIRYKGUR.js";
85
85
  import {
86
86
  createSchedule,
87
87
  parseHumanCron
88
- } from "./chunk-SI7P22A5.js";
88
+ } from "./chunk-JKMM7UZH.js";
89
89
  import {
90
90
  status
91
- } from "./chunk-2PI3WQ47.js";
91
+ } from "./chunk-LJS2OZKR.js";
92
92
  import {
93
93
  TOKENS_PER_IDLE_MINUTE,
94
94
  countKillsSince,
95
95
  sumTokensSavedSince
96
- } from "./chunk-COUXA2IQ.js";
96
+ } from "./chunk-FRH7EY2Z.js";
97
97
  import {
98
98
  getAgentSpend
99
- } from "./chunk-RUOLDPIR.js";
99
+ } from "./chunk-O4HT7CKC.js";
100
100
  import {
101
101
  exportGraphHTML,
102
102
  generateGraphReport
@@ -108,7 +108,7 @@ import {
108
108
  import {
109
109
  formatReport,
110
110
  runAudit
111
- } from "./chunk-ARTF7DMV.js";
111
+ } from "./chunk-GFEXQ4NU.js";
112
112
  import {
113
113
  runHealthCheck
114
114
  } from "./chunk-J73N5EJ6.js";
@@ -120,27 +120,27 @@ import {
120
120
  import {
121
121
  findSimilarTrajectories,
122
122
  hashSignature
123
- } from "./chunk-KUEUXXO4.js";
123
+ } from "./chunk-3U3UYYKE.js";
124
124
  import {
125
125
  deactivateBehavior,
126
126
  listBehaviorsByDomain,
127
127
  listSharedSkills,
128
128
  storeBehavior
129
- } from "./chunk-BQMG77YQ.js";
129
+ } from "./chunk-7SGJUQBZ.js";
130
130
  import {
131
131
  countUnconsolidated,
132
132
  groupMemories,
133
133
  runConsolidation,
134
134
  selectUnconsolidated
135
- } from "./chunk-FVQ7BELN.js";
135
+ } from "./chunk-A7HLWPKK.js";
136
136
  import {
137
137
  renderClientCOOTemplate
138
- } from "./chunk-AGBFY64D.js";
138
+ } from "./chunk-7RD4YGGJ.js";
139
139
  import {
140
140
  deactivateGlobalProcedure,
141
141
  loadGlobalProcedures,
142
142
  storeGlobalProcedure
143
- } from "./chunk-5ICBFFSQ.js";
143
+ } from "./chunk-Z734KCEG.js";
144
144
  import {
145
145
  PLATFORM_PROCEDURES
146
146
  } from "./chunk-TPC3LAP7.js";
@@ -149,13 +149,13 @@ import {
149
149
  cloudSync,
150
150
  getCloudReuploadRequired,
151
151
  markCloudReuploadRequired
152
- } from "./chunk-OYQHH5SX.js";
152
+ } from "./chunk-SARHW2CG.js";
153
153
  import {
154
154
  createARecord
155
155
  } from "./chunk-X2Z5GT3V.js";
156
156
  import {
157
157
  embed
158
- } from "./chunk-VV6X2DRX.js";
158
+ } from "./chunk-YL36L2SN.js";
159
159
  import {
160
160
  readMcpHttpEvents,
161
161
  summarizeMcpTransport,
@@ -163,20 +163,20 @@ import {
163
163
  } from "./chunk-T5YT64SZ.js";
164
164
  import {
165
165
  updateTask
166
- } from "./chunk-F6LDN5XB.js";
166
+ } from "./chunk-MPCICOVG.js";
167
167
  import {
168
168
  fastDbInit
169
- } from "./chunk-NGVIZCGB.js";
169
+ } from "./chunk-ZKALIEHB.js";
170
170
  import {
171
171
  MAX_CONCURRENT_WORKERS
172
- } from "./chunk-CQFBWHQT.js";
172
+ } from "./chunk-LHLEFNFW.js";
173
173
  import {
174
174
  hybridSearch,
175
175
  recentRecords
176
- } from "./chunk-BOAP6EJD.js";
176
+ } from "./chunk-FPBEJ2JV.js";
177
177
  import {
178
178
  getActiveAgent
179
- } from "./chunk-XFA26MHB.js";
179
+ } from "./chunk-5G7BZIY3.js";
180
180
  import {
181
181
  attachDocumentMetadata,
182
182
  flushBatch,
@@ -184,7 +184,7 @@ import {
184
184
  reserveVersions,
185
185
  vectorToBlob,
186
186
  writeMemory
187
- } from "./chunk-CSTCUDVM.js";
187
+ } from "./chunk-H3KFLVPW.js";
188
188
  import {
189
189
  getMySession,
190
190
  resolveExeSession,
@@ -192,7 +192,7 @@ import {
192
192
  sessionScopeFilter,
193
193
  updateTaskStatus,
194
194
  writeCheckpoint
195
- } from "./chunk-SNTCGJAE.js";
195
+ } from "./chunk-7X7HKWH7.js";
196
196
  import {
197
197
  listSessions
198
198
  } from "./chunk-64WZEXXA.js";
@@ -212,7 +212,7 @@ import {
212
212
  assertEmployeeLimit,
213
213
  assertFeature,
214
214
  assertMemoryLimit
215
- } from "./chunk-GP436PAK.js";
215
+ } from "./chunk-72IIQLQ6.js";
216
216
  import {
217
217
  getProjectName
218
218
  } from "./chunk-OPU3NYOO.js";
@@ -225,7 +225,7 @@ import {
225
225
  isScheduledTrigger,
226
226
  loadTriggers,
227
227
  sanitizeParam
228
- } from "./chunk-JC7GZZVA.js";
228
+ } from "./chunk-X4X3J6FE.js";
229
229
  import {
230
230
  pushConversationToCRM
231
231
  } from "./chunk-ONKIWA3R.js";
@@ -245,7 +245,7 @@ import {
245
245
  loadEmployeesSync,
246
246
  saveEmployees,
247
247
  updateIdentity
248
- } from "./chunk-JTS3IDOY.js";
248
+ } from "./chunk-JYETM4KT.js";
249
249
  import {
250
250
  getMasterKey
251
251
  } from "./chunk-6D23UNXU.js";
@@ -441,7 +441,7 @@ function registerRecallMyMemory(server) {
441
441
  let federatedCount = 0;
442
442
  if (!recent && query && results.length < FEDERATION_THRESHOLD) {
443
443
  try {
444
- const { searchCodeContextSemantic: searchCodeContextSemantic2 } = await import("./code-context-index-MPDSDOEL.js");
444
+ const { searchCodeContextSemantic: searchCodeContextSemantic2 } = await import("./code-context-index-B6VIWPSF.js");
445
445
  const codeResults = await Promise.race([
446
446
  searchCodeContextSemantic2(query, { limit: 5 }),
447
447
  new Promise((_, rej) => setTimeout(() => rej(new Error("timeout")), 2e3))
@@ -913,7 +913,7 @@ async function searchConversations(query, limit) {
913
913
  }
914
914
  async function searchWiki(query, limit) {
915
915
  try {
916
- const { createWikiClient, chatInWorkspace, listWorkspaces } = await import("./wiki-client-NZR7RW4I.js");
916
+ const { createWikiClient, chatInWorkspace, listWorkspaces } = await import("./wiki-client-S6JKY7GG.js");
917
917
  const client = await createWikiClient();
918
918
  if (!client) return [];
919
919
  const workspaces = await listWorkspaces(client);
@@ -1456,7 +1456,7 @@ async function handleSupersede(input) {
1456
1456
  }
1457
1457
  try {
1458
1458
  const { getClient: getClient2 } = await import("./lib/database.js");
1459
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-XAA2YRRH.js");
1459
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-SLC7NBGT.js");
1460
1460
  const { writeMemory: writeMemory2, flushBatch: flushBatch2 } = await import("./lib/store.js");
1461
1461
  const { randomUUID: randomUUID2 } = await import("crypto");
1462
1462
  const client = getClient2();
@@ -1566,9 +1566,9 @@ function registerMemory(server) {
1566
1566
  return handleSupersede(input);
1567
1567
  }
1568
1568
  if (action === "core_get" || action === "core_set" || action === "core_delete") {
1569
- const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-XAA2YRRH.js");
1569
+ const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-SLC7NBGT.js");
1570
1570
  const { agentId } = getActiveAgent2();
1571
- const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-TFPUGGWO.js");
1571
+ const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-EXKPFVIR.js");
1572
1572
  if (action === "core_get") {
1573
1573
  const entries = await getCoreMemory(agentId);
1574
1574
  const block = formatCoreMemoryBlock(entries);
@@ -1909,12 +1909,13 @@ function registerGetTask(server) {
1909
1909
  // src/mcp/tools/close-task.ts
1910
1910
  import { z as z13 } from "zod";
1911
1911
  var CLOSE_TASK_ALLOWED_ROLES = /* @__PURE__ */ new Set(["CTO"]);
1912
+ var CLOSEABLE_STATUSES = /* @__PURE__ */ new Set(["needs_review", "done"]);
1912
1913
  function registerCloseTask(server) {
1913
1914
  server.registerTool(
1914
1915
  "close_task",
1915
1916
  {
1916
1917
  title: "Close Task",
1917
- description: "Reviewer-only: finalize a task after review. Employees should use update_task with status 'done' instead. Accepts UUID, slug (filename), or title substring.",
1918
+ description: "Reviewer-only: finalize a task after review. Employees should use update_task with status 'done' instead. Accepts UUID, slug (filename), or title substring. Pre-flight gates enforce: task must be in needs_review/done status, worktree state is checked, and commit recency is verified.",
1918
1919
  inputSchema: {
1919
1920
  task_id: z13.string().describe("Task identifier \u2014 UUID, slug (e.g. 'fix-auth-bug'), or title substring"),
1920
1921
  result: z13.string().describe("What was done \u2014 specific deliverables, decisions, test results"),
@@ -1935,38 +1936,112 @@ function registerCloseTask(server) {
1935
1936
  isError: true
1936
1937
  };
1937
1938
  }
1938
- try {
1939
- const { getClient: getClient2 } = await import("./lib/database.js");
1940
- const client = getClient2();
1941
- const mySession = resolveExeSession();
1942
- const scope = sessionScopeFilter(mySession);
1943
- const taskRow = await client.execute({
1944
- sql: `SELECT session_scope FROM tasks WHERE (id = ? OR task_file LIKE ? OR title LIKE ?) ${scope.sql} LIMIT 1`,
1945
- args: [task_id, `%${task_id}%`, `%${task_id}%`, ...scope.args]
1946
- });
1947
- const taskScope = taskRow.rows[0]?.session_scope;
1948
- if (taskScope && mySession && taskScope !== mySession) {
1949
- return {
1950
- content: [{
1951
- type: "text",
1952
- text: `\u26A0\uFE0F Session scope mismatch: this task belongs to ${taskScope}, but you are ${mySession}. Reviews should be processed by the coordinator session that dispatched the task. Switch to ${taskScope} to review this task.`
1953
- }],
1954
- isError: true
1955
- };
1939
+ const { getClient: getClient2 } = await import("./lib/database.js");
1940
+ const client = getClient2();
1941
+ const mySession = resolveExeSession();
1942
+ const scope = sessionScopeFilter(mySession);
1943
+ const taskLookup = `(id = ? OR task_file LIKE ? OR title LIKE ?)`;
1944
+ const taskLookupArgs = [task_id, `%${task_id}%`, `%${task_id}%`];
1945
+ const preflight = await client.execute({
1946
+ sql: `SELECT id, status, assigned_to, session_scope, created_at, title FROM tasks WHERE ${taskLookup} ${scope.sql} LIMIT 1`,
1947
+ args: [...taskLookupArgs, ...scope.args]
1948
+ });
1949
+ if (preflight.rows.length === 0) {
1950
+ return {
1951
+ content: [{
1952
+ type: "text",
1953
+ text: `Task not found: ${task_id}`
1954
+ }],
1955
+ isError: true
1956
+ };
1957
+ }
1958
+ const row = preflight.rows[0];
1959
+ const taskStatus = String(row.status);
1960
+ const assignee = row.assigned_to;
1961
+ const taskScope = row.session_scope;
1962
+ const createdAt = row.created_at;
1963
+ const taskTitle = String(row.title);
1964
+ if (taskScope && mySession && taskScope !== mySession) {
1965
+ return {
1966
+ content: [{
1967
+ type: "text",
1968
+ text: `\u26A0\uFE0F Session scope mismatch: this task belongs to ${taskScope}, but you are ${mySession}. Reviews should be processed by the coordinator session that dispatched the task. Switch to ${taskScope} to review this task.`
1969
+ }],
1970
+ isError: true
1971
+ };
1972
+ }
1973
+ if (status2 === "closed" && !CLOSEABLE_STATUSES.has(taskStatus)) {
1974
+ return {
1975
+ content: [{
1976
+ type: "text",
1977
+ text: `\u274C Cannot close \u2014 task "${taskTitle}" is still ${taskStatus}. Agent must call update_task(status="done") first. close_task only accepts tasks in needs_review or done status.`
1978
+ }],
1979
+ isError: true
1980
+ };
1981
+ }
1982
+ const preflightWarnings = [];
1983
+ const baseDir = process.cwd();
1984
+ if (assignee) {
1985
+ try {
1986
+ const { execSync } = await import("child_process");
1987
+ const baseName = assignee.replace(/\d+$/, "") || assignee;
1988
+ const worktreeList = execSync("git worktree list --porcelain 2>/dev/null", {
1989
+ encoding: "utf8",
1990
+ timeout: 5e3,
1991
+ cwd: baseDir
1992
+ });
1993
+ const worktreePath = `.worktrees/${baseName}`;
1994
+ const hasWorktree = worktreeList.includes(worktreePath);
1995
+ if (hasWorktree) {
1996
+ try {
1997
+ const diffOutput = execSync(
1998
+ `git -C ${worktreePath} diff --stat HEAD 2>/dev/null`,
1999
+ { encoding: "utf8", timeout: 5e3, cwd: baseDir }
2000
+ ).trim();
2001
+ const untrackedOutput = execSync(
2002
+ `git -C ${worktreePath} status --porcelain 2>/dev/null`,
2003
+ { encoding: "utf8", timeout: 5e3, cwd: baseDir }
2004
+ ).trim();
2005
+ if (diffOutput || untrackedOutput) {
2006
+ preflightWarnings.push(
2007
+ `\u26A0\uFE0F Worktree .worktrees/${baseName} has uncommitted changes \u2014 merge/review before pruning.`
2008
+ );
2009
+ }
2010
+ } catch {
2011
+ preflightWarnings.push(
2012
+ `\u26A0\uFE0F Worktree .worktrees/${baseName} exists but state couldn't be checked.`
2013
+ );
2014
+ }
2015
+ }
2016
+ } catch {
2017
+ }
2018
+ }
2019
+ if (assignee && createdAt && status2 === "closed") {
2020
+ try {
2021
+ const { execSync } = await import("child_process");
2022
+ const sinceDate = createdAt.split("T")[0] || createdAt;
2023
+ const commitCount = execSync(
2024
+ `git log --oneline --since="${sinceDate}" --author="${assignee}" 2>/dev/null | wc -l`,
2025
+ { encoding: "utf8", timeout: 5e3, cwd: baseDir }
2026
+ ).trim();
2027
+ if (parseInt(commitCount, 10) === 0) {
2028
+ const baseName = assignee.replace(/\d+$/, "") || assignee;
2029
+ const baseCommitCount = baseName !== assignee ? execSync(
2030
+ `git log --oneline --since="${sinceDate}" --author="${baseName}" 2>/dev/null | wc -l`,
2031
+ { encoding: "utf8", timeout: 5e3, cwd: baseDir }
2032
+ ).trim() : "0";
2033
+ if (parseInt(baseCommitCount, 10) === 0) {
2034
+ preflightWarnings.push(
2035
+ `\u2139\uFE0F No commits found from ${assignee} since ${sinceDate}. This may be expected for audits/reviews/research tasks.`
2036
+ );
2037
+ }
2038
+ }
2039
+ } catch {
1956
2040
  }
1957
- } catch {
1958
2041
  }
1959
2042
  let mergeNote = "";
1960
- try {
1961
- const { getClient: getClient2 } = await import("./lib/database.js");
1962
- const client = getClient2();
1963
- const mergeScope = sessionScopeFilter(resolveExeSession());
1964
- const taskRow = await client.execute({
1965
- sql: `SELECT assigned_to FROM tasks WHERE (id = ? OR task_file LIKE ? OR title LIKE ?) ${mergeScope.sql} LIMIT 1`,
1966
- args: [task_id, `%${task_id}%`, `%${task_id}%`, ...mergeScope.args]
1967
- });
1968
- const assignee = taskRow.rows[0]?.assigned_to;
1969
- if (assignee) {
2043
+ if (assignee) {
2044
+ try {
1970
2045
  const { execSync } = await import("child_process");
1971
2046
  try {
1972
2047
  const openPRs = execSync(
@@ -2006,10 +2081,9 @@ function registerCloseTask(server) {
2006
2081
  }
2007
2082
  } catch {
2008
2083
  }
2084
+ } catch {
2009
2085
  }
2010
- } catch {
2011
2086
  }
2012
- const baseDir = process.cwd();
2013
2087
  const task = await updateTask({
2014
2088
  taskId: task_id,
2015
2089
  status: status2,
@@ -2019,28 +2093,54 @@ function registerCloseTask(server) {
2019
2093
  });
2020
2094
  let text3 = `Task "${task.title}" marked ${task.status}.
2021
2095
  File: ${task.taskFile}`;
2096
+ if (preflightWarnings.length > 0) {
2097
+ text3 += `
2098
+
2099
+ \u{1F4CB} Pre-flight notes:
2100
+ ${preflightWarnings.join("\n")}`;
2101
+ }
2022
2102
  if (mergeNote) text3 += mergeNote;
2103
+ if (status2 === "closed" && assignee) {
2104
+ try {
2105
+ const { execSync } = await import("child_process");
2106
+ const baseName = assignee.replace(/\d+$/, "") || assignee;
2107
+ execSync(`git worktree remove .worktrees/${baseName} --force 2>/dev/null`, { timeout: 5e3, cwd: baseDir });
2108
+ text3 += `
2109
+ \u2705 Auto-pruned worktree .worktrees/${baseName}`;
2110
+ process.stderr.write(`[close-task] Auto-pruned worktree .worktrees/${baseName}
2111
+ `);
2112
+ } catch {
2113
+ }
2114
+ try {
2115
+ const { execSync } = await import("child_process");
2116
+ const exeSession = resolveExeSession();
2117
+ if (exeSession) {
2118
+ execSync(`git push origin --delete ${assignee}-${exeSession} 2>/dev/null`, { timeout: 5e3, cwd: baseDir });
2119
+ text3 += `
2120
+ \u2705 Deleted remote branch ${assignee}-${exeSession}`;
2121
+ }
2122
+ } catch {
2123
+ }
2124
+ }
2023
2125
  let respawnNote = "";
2024
2126
  if (status2 === "closed") {
2025
2127
  try {
2026
- const { getClient: getRespawnClient } = await import("./lib/database.js");
2027
- const rClient = getRespawnClient();
2028
- const assignee = task.assignedTo;
2029
- if (assignee) {
2128
+ const closedAssignee = assignee || task.assignedTo;
2129
+ if (closedAssignee) {
2030
2130
  const respawnScope = sessionScopeFilter(resolveExeSession());
2031
- const remaining = await rClient.execute({
2131
+ const remaining = await client.execute({
2032
2132
  sql: `SELECT COUNT(*) as cnt FROM tasks WHERE assigned_to = ? AND status IN ('open', 'in_progress') ${respawnScope.sql}`,
2033
- args: [assignee, ...respawnScope.args]
2133
+ args: [closedAssignee, ...respawnScope.args]
2034
2134
  });
2035
2135
  const count = Number(remaining.rows[0]?.cnt ?? 0);
2036
2136
  if (count > 0) {
2037
2137
  try {
2038
2138
  const { isMultiInstance } = await import("./lib/employees.js");
2039
- if (isMultiInstance(assignee)) {
2139
+ if (isMultiInstance(closedAssignee)) {
2040
2140
  respawnNote = `
2041
2141
 
2042
- \u{1F504} Auto-respawn: ${assignee} has ${count} more task(s). Respawn scheduled (deferred to avoid MCP disruption).`;
2043
- const _assignee = assignee;
2142
+ \u{1F504} Auto-respawn: ${closedAssignee} has ${count} more task(s). Respawn scheduled (deferred to avoid MCP disruption).`;
2143
+ const _assignee = closedAssignee;
2044
2144
  const _baseDir = baseDir;
2045
2145
  setTimeout(async () => {
2046
2146
  try {
@@ -2177,7 +2277,7 @@ function registerResumeEmployee(server) {
2177
2277
  };
2178
2278
  }
2179
2279
  try {
2180
- const { isTmuxSessionAlive } = await import("./tasks-crud-NQLF7DVV.js");
2280
+ const { isTmuxSessionAlive } = await import("./tasks-crud-GZLBSTH3.js");
2181
2281
  const now = (/* @__PURE__ */ new Date()).toISOString();
2182
2282
  for (const row of openTasks.rows) {
2183
2283
  const status2 = String(row.status);
@@ -3226,8 +3326,8 @@ function registerIngestDocument(server) {
3226
3326
  },
3227
3327
  async (input) => {
3228
3328
  try {
3229
- const { assertFeature: assertFeature2 } = await import("./plan-limits-LTAD6MZH.js");
3230
- const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-LTAD6MZH.js");
3329
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-D3VGVCWX.js");
3330
+ const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-D3VGVCWX.js");
3231
3331
  await assertFeature2("wiki");
3232
3332
  await assertMemoryLimit2();
3233
3333
  const result3 = await ingestDocument(input);
@@ -5336,7 +5436,7 @@ async function getAgentSessionLoad() {
5336
5436
  return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
5337
5437
  }
5338
5438
  const { getClient: getClient2 } = await import("./lib/database.js");
5339
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-3UOAF4QQ.js");
5439
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-LMSSAAAY.js");
5340
5440
  const client = getClient2();
5341
5441
  const scope = sessionScopeFilter2();
5342
5442
  for (const s of liveAgentSessions) {
@@ -6929,7 +7029,7 @@ function registerCreateTrigger(server) {
6929
7029
  }
6930
7030
  },
6931
7031
  async ({ name, event, conditions, actions, project, enabled, schedule, query }) => {
6932
- const { assertFeature: assertFeature2 } = await import("./plan-limits-LTAD6MZH.js");
7032
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-D3VGVCWX.js");
6933
7033
  const gatedActions = {
6934
7034
  send_whatsapp: "external_agents",
6935
7035
  update_wiki: "wiki"
@@ -7833,7 +7933,7 @@ function registerConfig(server) {
7833
7933
  const existing = loadEmployeesSync2();
7834
7934
  if (existing.some((e) => e.name === employeeName)) return errorResult8(`Employee "${employeeName}" already exists.`);
7835
7935
  try {
7836
- const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-LTAD6MZH.js");
7936
+ const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-D3VGVCWX.js");
7837
7937
  await assertEmployeeLimit2();
7838
7938
  } catch (e) {
7839
7939
  return errorResult8(e instanceof Error ? e.message : "Employee limit reached.");
@@ -7874,7 +7974,7 @@ You are ${employeeName}. Role: ${role}.`, "utf-8");
7874
7974
  }
7875
7975
  try {
7876
7976
  const { generateSessionWrappers } = await import("./lib/session-wrappers.js");
7877
- const { resolvePackageRoot } = await import("./installer-BX3C5MT7.js");
7977
+ const { resolvePackageRoot } = await import("./installer-IITLB3YS.js");
7878
7978
  generateSessionWrappers(resolvePackageRoot());
7879
7979
  } catch {
7880
7980
  }
@@ -7910,7 +8010,7 @@ function registerListWikiPages(server) {
7910
8010
  }
7911
8011
  },
7912
8012
  async ({ workspace, folder }) => {
7913
- const { assertFeature: assertFeature2 } = await import("./plan-limits-LTAD6MZH.js");
8013
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-D3VGVCWX.js");
7914
8014
  await assertFeature2("wiki");
7915
8015
  const apiUrl = process.env.EXE_WIKI_API_URL;
7916
8016
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -8010,7 +8110,7 @@ function registerGetWikiPage(server) {
8010
8110
  }
8011
8111
  },
8012
8112
  async ({ workspace, document_id, title }) => {
8013
- const { assertFeature: assertFeature2 } = await import("./plan-limits-LTAD6MZH.js");
8113
+ const { assertFeature: assertFeature2 } = await import("./plan-limits-D3VGVCWX.js");
8014
8114
  await assertFeature2("wiki");
8015
8115
  const apiUrl = process.env.EXE_WIKI_API_URL;
8016
8116
  const apiKey = process.env.EXE_WIKI_API_KEY;
@@ -8205,7 +8305,7 @@ function registerWiki(server) {
8205
8305
  if (!legacyToolName) return errorResult9(`Unknown wiki action: ${String(input.action)}`);
8206
8306
  const { action: _action, user_id, ...legacyArgs } = input;
8207
8307
  if (user_id && legacyArgs.workspace) {
8208
- const { checkWikiAccess } = await import("./wiki-acl-JDBEB5GL.js");
8308
+ const { checkWikiAccess } = await import("./wiki-acl-VC237WGO.js");
8209
8309
  const { allowed } = await checkWikiAccess(
8210
8310
  String(user_id),
8211
8311
  String(legacyArgs.workspace),
@@ -9375,7 +9475,7 @@ function registerWorkflowTool(server) {
9375
9475
  getWorkflowInstance,
9376
9476
  listWorkflowInstances,
9377
9477
  approveWorkflowStep
9378
- } = await import("./workflow-engine-4U4H4V6K.js");
9478
+ } = await import("./workflow-engine-GKT7HTAK.js");
9379
9479
  try {
9380
9480
  switch (input.action) {
9381
9481
  case "create_workflow": {
@@ -10540,7 +10640,7 @@ function registerCodeContext(server) {
10540
10640
  const index = buildCodeContextIndex(opts);
10541
10641
  let graphExtract;
10542
10642
  try {
10543
- const { autoExtractGraphEntities } = await import("./graph-auto-extract-3TBVEMSM.js");
10643
+ const { autoExtractGraphEntities } = await import("./graph-auto-extract-WKBJY3NQ.js");
10544
10644
  graphExtract = await autoExtractGraphEntities(opts.projectRoot);
10545
10645
  } catch {
10546
10646
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-JTS3IDOY.js";
3
+ } from "./chunk-JYETM4KT.js";
4
4
 
5
5
  // src/lib/token-spend.ts
6
6
  import { readdir } from "fs/promises";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-JTS3IDOY.js";
3
+ } from "./chunk-JYETM4KT.js";
4
4
 
5
5
  // src/lib/reminders.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  completeReminder
3
- } from "./chunk-SZERVMKQ.js";
3
+ } from "./chunk-ODN7E7HJ.js";
4
4
 
5
5
  // src/mcp/tools/complete-reminder.ts
6
6
  import { z } from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-SNTCGJAE.js";
4
+ } from "./chunk-7X7HKWH7.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";