@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
@@ -129,6 +129,168 @@ CREATE TABLE IF NOT EXISTS filtered.events (
129
129
  CREATE INDEX IF NOT EXISTS idx_filtered_events_type ON filtered.events (event_type, occurred_at DESC);
130
130
  CREATE INDEX IF NOT EXISTS idx_filtered_events_contact ON filtered.events (contact_id);
131
131
 
132
+ -- ---------------------------------------------------------------------------
133
+ -- Gateway schema — WhatsApp/messaging accounts, contacts, threads, messages.
134
+ -- Used by exe-gateway to store structured conversation data from Baileys.
135
+ -- ---------------------------------------------------------------------------
136
+
137
+ CREATE TABLE IF NOT EXISTS gateway.accounts (
138
+ id SERIAL PRIMARY KEY,
139
+ platform TEXT NOT NULL,
140
+ account_name TEXT NOT NULL,
141
+ platform_id TEXT,
142
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
143
+ UNIQUE(platform, account_name)
144
+ );
145
+
146
+ CREATE TABLE IF NOT EXISTS gateway.contacts (
147
+ id SERIAL PRIMARY KEY,
148
+ platform TEXT NOT NULL,
149
+ platform_jid TEXT NOT NULL,
150
+ phone TEXT,
151
+ display_name TEXT,
152
+ alias TEXT,
153
+ saved_name TEXT,
154
+ local_name TEXT,
155
+ push_name TEXT,
156
+ profile_name TEXT,
157
+ phone_jid TEXT,
158
+ lid_jid TEXT,
159
+ profile_photo_url TEXT,
160
+ about TEXT,
161
+ name_source TEXT,
162
+ crm_person_id TEXT,
163
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
164
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
165
+ UNIQUE(platform, platform_jid)
166
+ );
167
+ CREATE INDEX IF NOT EXISTS idx_gw_contacts_phone ON gateway.contacts(phone);
168
+ CREATE INDEX IF NOT EXISTS idx_gw_contacts_phone_jid ON gateway.contacts(phone_jid);
169
+ CREATE INDEX IF NOT EXISTS idx_gw_contacts_lid_jid ON gateway.contacts(lid_jid);
170
+ CREATE INDEX IF NOT EXISTS idx_gw_contacts_crm_person ON gateway.contacts(crm_person_id);
171
+
172
+ CREATE TABLE IF NOT EXISTS gateway.contact_identities (
173
+ id SERIAL PRIMARY KEY,
174
+ contact_id INT NOT NULL REFERENCES gateway.contacts(id) ON DELETE CASCADE,
175
+ platform TEXT NOT NULL,
176
+ identity_type TEXT NOT NULL,
177
+ identity_value TEXT NOT NULL,
178
+ source TEXT,
179
+ metadata JSONB,
180
+ first_seen TIMESTAMPTZ NOT NULL DEFAULT now(),
181
+ last_seen TIMESTAMPTZ NOT NULL DEFAULT now(),
182
+ UNIQUE(platform, identity_type, identity_value)
183
+ );
184
+ CREATE INDEX IF NOT EXISTS idx_gw_ci_contact ON gateway.contact_identities(contact_id);
185
+ CREATE INDEX IF NOT EXISTS idx_gw_ci_value ON gateway.contact_identities(identity_value);
186
+
187
+ CREATE TABLE IF NOT EXISTS gateway.threads (
188
+ id SERIAL PRIMARY KEY,
189
+ account_id INT NOT NULL REFERENCES gateway.accounts(id),
190
+ contact_id INT NOT NULL REFERENCES gateway.contacts(id),
191
+ group_jid TEXT,
192
+ group_name TEXT,
193
+ last_message TIMESTAMPTZ,
194
+ message_count INT NOT NULL DEFAULT 0,
195
+ UNIQUE(account_id, contact_id, group_jid)
196
+ );
197
+
198
+ CREATE TABLE IF NOT EXISTS gateway.messages (
199
+ id SERIAL PRIMARY KEY,
200
+ thread_id INT NOT NULL REFERENCES gateway.threads(id),
201
+ account_id INT NOT NULL REFERENCES gateway.accounts(id),
202
+ message_id TEXT NOT NULL,
203
+ from_jid TEXT NOT NULL,
204
+ from_me BOOLEAN NOT NULL DEFAULT false,
205
+ text TEXT,
206
+ media_type TEXT,
207
+ media_url TEXT,
208
+ reply_to_message_id TEXT,
209
+ quoted_text TEXT,
210
+ quoted_sender_jid TEXT,
211
+ mentions JSONB,
212
+ is_forwarded BOOLEAN NOT NULL DEFAULT false,
213
+ edit_of_message_id TEXT,
214
+ deleted_message_id TEXT,
215
+ timestamp TIMESTAMPTZ NOT NULL,
216
+ is_historical BOOLEAN NOT NULL DEFAULT false,
217
+ raw_payload JSONB,
218
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
219
+ UNIQUE(account_id, message_id)
220
+ );
221
+ CREATE INDEX IF NOT EXISTS idx_gw_msg_thread_ts ON gateway.messages(thread_id, timestamp);
222
+ CREATE INDEX IF NOT EXISTS idx_gw_msg_account ON gateway.messages(account_id, message_id);
223
+
224
+ CREATE TABLE IF NOT EXISTS gateway.groups (
225
+ id SERIAL PRIMARY KEY,
226
+ platform TEXT NOT NULL,
227
+ group_jid TEXT NOT NULL,
228
+ group_name TEXT,
229
+ description TEXT,
230
+ owner_jid TEXT,
231
+ participant_count INT NOT NULL DEFAULT 0,
232
+ raw_payload JSONB,
233
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
234
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
235
+ UNIQUE(platform, group_jid)
236
+ );
237
+
238
+ CREATE TABLE IF NOT EXISTS gateway.group_members (
239
+ id SERIAL PRIMARY KEY,
240
+ group_id INT NOT NULL REFERENCES gateway.groups(id) ON DELETE CASCADE,
241
+ member_jid TEXT NOT NULL,
242
+ phone_jid TEXT,
243
+ lid_jid TEXT,
244
+ is_admin BOOLEAN NOT NULL DEFAULT false,
245
+ role TEXT,
246
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
247
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
248
+ UNIQUE(group_id, member_jid)
249
+ );
250
+ CREATE INDEX IF NOT EXISTS idx_gw_gm_member ON gateway.group_members(member_jid);
251
+ CREATE INDEX IF NOT EXISTS idx_gw_gm_phone ON gateway.group_members(phone_jid);
252
+
253
+ CREATE TABLE IF NOT EXISTS gateway.provider_keys (
254
+ id SERIAL PRIMARY KEY,
255
+ provider_id TEXT NOT NULL,
256
+ api_key TEXT NOT NULL,
257
+ active BOOLEAN NOT NULL DEFAULT true,
258
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
259
+ );
260
+
261
+ CREATE TABLE IF NOT EXISTS gateway.customers (
262
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
263
+ name TEXT,
264
+ assigned_employee TEXT,
265
+ first_seen_at TIMESTAMPTZ NOT NULL DEFAULT now(),
266
+ last_seen_at TIMESTAMPTZ NOT NULL DEFAULT now(),
267
+ interaction_count INT NOT NULL DEFAULT 0
268
+ );
269
+
270
+ CREATE TABLE IF NOT EXISTS gateway.customer_identities (
271
+ id SERIAL PRIMARY KEY,
272
+ customer_id UUID NOT NULL REFERENCES gateway.customers(id),
273
+ platform TEXT NOT NULL,
274
+ sender_id TEXT NOT NULL,
275
+ UNIQUE(platform, sender_id)
276
+ );
277
+
278
+ CREATE TABLE IF NOT EXISTS gateway.sessions (
279
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
280
+ customer_id UUID REFERENCES gateway.customers(id),
281
+ bot_id TEXT NOT NULL,
282
+ platform TEXT NOT NULL,
283
+ messages JSONB NOT NULL DEFAULT '[]',
284
+ started_at TIMESTAMPTZ NOT NULL DEFAULT now(),
285
+ last_message_at TIMESTAMPTZ NOT NULL DEFAULT now(),
286
+ message_count INT NOT NULL DEFAULT 0,
287
+ total_input_tokens INT NOT NULL DEFAULT 0,
288
+ total_output_tokens INT NOT NULL DEFAULT 0,
289
+ status TEXT NOT NULL DEFAULT 'active'
290
+ );
291
+ CREATE INDEX IF NOT EXISTS idx_gw_sess_cust ON gateway.sessions(customer_id, bot_id);
292
+ CREATE INDEX IF NOT EXISTS idx_gw_sess_status ON gateway.sessions(status);
293
+
132
294
  -- ---------------------------------------------------------------------------
133
295
  -- Billing schema — licenses, stack releases, entitlements, deploy audits.
134
296
  -- Used by the exe-update service (update.askexe.com) to authenticate
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "latest": "0.9.11",
3
+ "latest": "0.9.12",
4
4
  "stacks": {
5
5
  "0.9.0": {
6
6
  "version": "0.9.0",
@@ -615,6 +615,50 @@
615
615
  }
616
616
  }
617
617
  },
618
+ "0.9.12": {
619
+ "version": "0.9.12",
620
+ "releasedAt": "2026-06-03T00:00:00Z",
621
+ "notes": "CRM P0 fix: strip billing types from GraphQL (blank dashboard), GoTrue login token flow, Lingui compiled, gateway schema in init-db, Metal GPU crash isolation, intercom completion messages.",
622
+ "npmVersion": "0.9.199",
623
+ "breakingChanges": [],
624
+ "services": {
625
+ "crm": {
626
+ "image": "update.askexe.com/askexe/exe-crm:v0.9.44",
627
+ "env": "CRM_IMAGE_TAG",
628
+ "composeService": "exe-crm"
629
+ },
630
+ "wiki": {
631
+ "image": "update.askexe.com/askexe/exe-wiki:v0.9.19",
632
+ "env": "WIKI_IMAGE_TAG",
633
+ "composeService": "exe-wiki"
634
+ },
635
+ "exe-os": {
636
+ "image": "update.askexe.com/askexe/exe-os:v0.9.199",
637
+ "env": "EXE_OS_IMAGE_TAG",
638
+ "composeService": "exe-os"
639
+ },
640
+ "gateway": {
641
+ "image": "update.askexe.com/askexe/exe-gateway:v0.9.8",
642
+ "env": "GATEWAY_IMAGE_TAG",
643
+ "composeService": "exe-gateway"
644
+ },
645
+ "monitorAgent": {
646
+ "image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4",
647
+ "env": "MONITOR_AGENT_IMAGE_TAG",
648
+ "composeService": "exe-monitor-agent"
649
+ },
650
+ "monitorHub": {
651
+ "image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4",
652
+ "env": "MONITOR_HUB_IMAGE_TAG",
653
+ "composeService": "exe-monitor-hub"
654
+ },
655
+ "erp": {
656
+ "image": "update.askexe.com/askexe/exe-erp:v0.1.0",
657
+ "env": "ERP_IMAGE_TAG",
658
+ "composeService": "exe-erp"
659
+ }
660
+ }
661
+ },
618
662
  "0.9.11": {
619
663
  "version": "0.9.11",
620
664
  "releasedAt": "2026-06-02T00:00:00Z",
@@ -5,10 +5,10 @@ import {
5
5
  getAllActiveAgents,
6
6
  resolveActiveAgentFromTmuxSession,
7
7
  writeActiveAgent
8
- } from "./chunk-UY6RQK5F.js";
8
+ } from "./chunk-3N4ZEPZI.js";
9
9
  import "./chunk-CVYC6DUW.js";
10
10
  import "./chunk-GJV3WDWM.js";
11
- import "./chunk-K3O4MWMS.js";
11
+ import "./chunk-3MHKTBHZ.js";
12
12
  import "./chunk-HHECGHFW.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
14
  import "./chunk-WXW3XGWX.js";
@@ -6,10 +6,10 @@ import {
6
6
  getAllActiveAgents,
7
7
  resolveActiveAgentFromTmuxSession,
8
8
  writeActiveAgent
9
- } from "./chunk-UY6RQK5F.js";
9
+ } from "./chunk-3N4ZEPZI.js";
10
10
  import "./chunk-CVYC6DUW.js";
11
11
  import "./chunk-GJV3WDWM.js";
12
- import "./chunk-K3O4MWMS.js";
12
+ import "./chunk-3MHKTBHZ.js";
13
13
  import "./chunk-HHECGHFW.js";
14
14
  import "./chunk-FXU7JOXK.js";
15
15
  import "./chunk-WXW3XGWX.js";
@@ -9,7 +9,7 @@ import {
9
9
  insertOntologyForMemory,
10
10
  ontologyPayload,
11
11
  stableId
12
- } from "./chunk-Q3MRTJLA.js";
12
+ } from "./chunk-WVNWAV36.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
15
15
  clean,
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  disposeStore,
4
4
  initStore
5
- } from "./chunk-QLKRYO7O.js";
5
+ } from "./chunk-TCBUBBTL.js";
6
6
  import "./chunk-CHCA3ZM2.js";
7
- import "./chunk-RH5NYRQH.js";
7
+ import "./chunk-XJQASQPO.js";
8
8
  import "./chunk-MP2AFCGL.js";
9
9
  import {
10
10
  getClient,
11
11
  getEmployeeNamesByRole,
12
12
  loadEmployeesSync
13
- } from "./chunk-K3O4MWMS.js";
13
+ } from "./chunk-3MHKTBHZ.js";
14
14
  import "./chunk-HHECGHFW.js";
15
15
  import "./chunk-FXU7JOXK.js";
16
16
  import "./chunk-6D23UNXU.js";
@@ -5,8 +5,8 @@ import {
5
5
  listBehaviorsSince,
6
6
  listSharedSkills,
7
7
  storeBehavior
8
- } from "./chunk-LIHR5DQF.js";
9
- import "./chunk-K3O4MWMS.js";
8
+ } from "./chunk-ZXZJLVGD.js";
9
+ import "./chunk-3MHKTBHZ.js";
10
10
  import "./chunk-HHECGHFW.js";
11
11
  import "./chunk-FXU7JOXK.js";
12
12
  import "./chunk-WXW3XGWX.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  insertOntologyForBatch
4
- } from "../chunk-Q3MRTJLA.js";
4
+ } from "../chunk-WVNWAV36.js";
5
5
  import {
6
6
  politeBatchPause,
7
7
  startManagedJob
@@ -9,13 +9,13 @@ import {
9
9
  import {
10
10
  disposeStore,
11
11
  initStore
12
- } from "../chunk-QLKRYO7O.js";
12
+ } from "../chunk-TCBUBBTL.js";
13
13
  import "../chunk-CHCA3ZM2.js";
14
- import "../chunk-RH5NYRQH.js";
14
+ import "../chunk-XJQASQPO.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
16
  import {
17
17
  getClient
18
- } from "../chunk-K3O4MWMS.js";
18
+ } from "../chunk-3MHKTBHZ.js";
19
19
  import "../chunk-HHECGHFW.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import "../chunk-6D23UNXU.js";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  generateReflectionCheckpoints
4
- } from "../chunk-GPK2WJXA.js";
5
- import "../chunk-Q3MRTJLA.js";
4
+ } from "../chunk-EF57I73W.js";
5
+ import "../chunk-WVNWAV36.js";
6
6
  import {
7
7
  startManagedJob
8
8
  } from "../chunk-54GARVEX.js";
9
9
  import {
10
10
  initStore
11
- } from "../chunk-QLKRYO7O.js";
11
+ } from "../chunk-TCBUBBTL.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-RH5NYRQH.js";
13
+ import "../chunk-XJQASQPO.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
- import "../chunk-K3O4MWMS.js";
15
+ import "../chunk-3MHKTBHZ.js";
16
16
  import "../chunk-HHECGHFW.js";
17
17
  import "../chunk-FXU7JOXK.js";
18
18
  import "../chunk-6D23UNXU.js";
@@ -3,20 +3,20 @@ import {
3
3
  clean,
4
4
  inferSemanticLabel,
5
5
  stableId
6
- } from "../chunk-Q3MRTJLA.js";
6
+ } from "../chunk-WVNWAV36.js";
7
7
  import {
8
8
  politeBatchPause,
9
9
  startManagedJob
10
10
  } from "../chunk-54GARVEX.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-QLKRYO7O.js";
13
+ } from "../chunk-TCBUBBTL.js";
14
14
  import "../chunk-CHCA3ZM2.js";
15
- import "../chunk-RH5NYRQH.js";
15
+ import "../chunk-XJQASQPO.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import {
18
18
  getClient
19
- } from "../chunk-K3O4MWMS.js";
19
+ } from "../chunk-3MHKTBHZ.js";
20
20
  import "../chunk-HHECGHFW.js";
21
21
  import "../chunk-FXU7JOXK.js";
22
22
  import "../chunk-6D23UNXU.js";
@@ -8,15 +8,15 @@ import {
8
8
  flushBatch,
9
9
  initStore,
10
10
  writeMemory
11
- } from "../chunk-QLKRYO7O.js";
11
+ } from "../chunk-TCBUBBTL.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-RH5NYRQH.js";
13
+ import "../chunk-XJQASQPO.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
15
  import "../chunk-PWMMIGVQ.js";
16
16
  import {
17
17
  getClient,
18
18
  isCoordinatorName
19
- } from "../chunk-K3O4MWMS.js";
19
+ } from "../chunk-3MHKTBHZ.js";
20
20
  import "../chunk-HHECGHFW.js";
21
21
  import "../chunk-FXU7JOXK.js";
22
22
  import "../chunk-6D23UNXU.js";
@@ -8,15 +8,15 @@ import {
8
8
  flushBatch,
9
9
  initStore,
10
10
  writeMemory
11
- } from "../chunk-QLKRYO7O.js";
11
+ } from "../chunk-TCBUBBTL.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-RH5NYRQH.js";
13
+ import "../chunk-XJQASQPO.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
15
  import "../chunk-PWMMIGVQ.js";
16
16
  import {
17
17
  getClient,
18
18
  isCoordinatorName
19
- } from "../chunk-K3O4MWMS.js";
19
+ } from "../chunk-3MHKTBHZ.js";
20
20
  import "../chunk-HHECGHFW.js";
21
21
  import "../chunk-FXU7JOXK.js";
22
22
  import "../chunk-6D23UNXU.js";
@@ -8,7 +8,7 @@ import {
8
8
  registerWorkerPid,
9
9
  releaseBackfillLock,
10
10
  tryAcquireBackfillLock
11
- } from "../chunk-6FJ2TJYB.js";
11
+ } from "../chunk-ZDK3M72Z.js";
12
12
  import {
13
13
  connectEmbedDaemon,
14
14
  embedViaClient
@@ -17,14 +17,14 @@ import "../chunk-LMSRF47U.js";
17
17
  import {
18
18
  initStore,
19
19
  vectorToBlob
20
- } from "../chunk-QLKRYO7O.js";
20
+ } from "../chunk-TCBUBBTL.js";
21
21
  import "../chunk-CHCA3ZM2.js";
22
- import "../chunk-RH5NYRQH.js";
22
+ import "../chunk-XJQASQPO.js";
23
23
  import "../chunk-MP2AFCGL.js";
24
24
  import "../chunk-PWMMIGVQ.js";
25
25
  import {
26
26
  getClient
27
- } from "../chunk-K3O4MWMS.js";
27
+ } from "../chunk-3MHKTBHZ.js";
28
28
  import "../chunk-HHECGHFW.js";
29
29
  import "../chunk-FXU7JOXK.js";
30
30
  import "../chunk-6D23UNXU.js";
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  pushToPostgres
4
- } from "../chunk-SZDSQ3AW.js";
5
- import "../chunk-LJA6RQ3L.js";
4
+ } from "../chunk-6JORPKMR.js";
5
+ import "../chunk-YKCH4T4T.js";
6
6
  import "../chunk-HOKOOBDL.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "../chunk-QLKRYO7O.js";
10
+ } from "../chunk-TCBUBBTL.js";
11
11
  import "../chunk-CHCA3ZM2.js";
12
- import "../chunk-RH5NYRQH.js";
12
+ import "../chunk-XJQASQPO.js";
13
13
  import "../chunk-MP2AFCGL.js";
14
14
  import {
15
15
  getClient
16
- } from "../chunk-K3O4MWMS.js";
16
+ } from "../chunk-3MHKTBHZ.js";
17
17
  import "../chunk-HHECGHFW.js";
18
18
  import "../chunk-FXU7JOXK.js";
19
19
  import "../chunk-6D23UNXU.js";
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-L63IOJ5N.js";
4
+ } from "../chunk-2THPPZF2.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-RJCZY4BY.js";
8
- import "../chunk-RN6XYY7U.js";
7
+ } from "../chunk-FMKD6N33.js";
8
+ import "../chunk-FYJCMGTD.js";
9
9
  import "../chunk-QI4IXJN7.js";
10
- import "../chunk-64WZEXXA.js";
10
+ import "../chunk-IR4L6K5L.js";
11
11
  import "../chunk-5YDHBZCO.js";
12
12
  import "../chunk-G4QFC45N.js";
13
13
  import "../chunk-GZIAQYGI.js";
14
- import "../chunk-ZGQH3V2F.js";
14
+ import "../chunk-ITYWLFYC.js";
15
15
  import "../chunk-ZQX6UOP6.js";
16
16
  import "../chunk-6RX2XEET.js";
17
17
  import "../chunk-NGP6LSV2.js";
18
- import "../chunk-SN6Z3CBF.js";
18
+ import "../chunk-3PDZQICZ.js";
19
19
  import "../chunk-CVYC6DUW.js";
20
20
  import "../chunk-OPU3NYOO.js";
21
21
  import "../chunk-GJV3WDWM.js";
22
22
  import "../chunk-MP2AFCGL.js";
23
- import "../chunk-HXNTQP4B.js";
23
+ import "../chunk-RN6DEMC7.js";
24
24
  import "../chunk-HYZV25LY.js";
25
25
  import {
26
26
  getClient
27
- } from "../chunk-K3O4MWMS.js";
27
+ } from "../chunk-3MHKTBHZ.js";
28
28
  import "../chunk-HHECGHFW.js";
29
29
  import "../chunk-FXU7JOXK.js";
30
30
  import "../chunk-72DJ42IE.js";
package/dist/bin/cli.js CHANGED
@@ -21,7 +21,7 @@ if (args.includes("--global")) {
21
21
  );
22
22
  await runClaudeInstall();
23
23
  } else if (args.includes("--commands-only")) {
24
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-HNOVAUW6.js");
24
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-SCWIMZT7.js");
25
25
  try {
26
26
  const packageRoot = resolvePackageRoot();
27
27
  const result = await copySlashCommands(packageRoot);
@@ -107,7 +107,7 @@ if (args.includes("--global")) {
107
107
  process.exit(1);
108
108
  }
109
109
  } else if (args[0] === "key") {
110
- const { main: runKey } = await import("../exe-key-BXN7WPOX.js");
110
+ const { main: runKey } = await import("../exe-key-C5UQ77AT.js");
111
111
  await runKey(args.slice(1));
112
112
  } else if (args[0] === "link") {
113
113
  console.error("`exe-os link` has been removed from the customer command surface.");
@@ -147,7 +147,7 @@ if (args.includes("--global")) {
147
147
  process.exit(1);
148
148
  }
149
149
  } else if (args[0] === "backfill-metadata") {
150
- const { backfillMetadata } = await import("../backfill-metadata-PTACRLYK.js");
150
+ const { backfillMetadata } = await import("../backfill-metadata-BT4RLVMZ.js");
151
151
  let batchSize = 50;
152
152
  let limit = 0;
153
153
  let dryRun = false;
@@ -178,10 +178,10 @@ if (args.includes("--global")) {
178
178
  process.exit(1);
179
179
  }
180
180
  } else if (args[0] === "export") {
181
- const { runExeExport } = await import("../exe-export-AFXTJ63F.js");
181
+ const { runExeExport } = await import("../exe-export-LL4CXNLT.js");
182
182
  await runExeExport(args.slice(1));
183
183
  } else if (args[0] === "import") {
184
- const { runExeImport } = await import("../exe-import-QRZBTBBG.js");
184
+ const { runExeImport } = await import("../exe-import-JNKAAJ5T.js");
185
185
  await runExeImport(args.slice(1));
186
186
  } else if (args[0] === "send-message" || args[0] === "send_message") {
187
187
  const target = args[1];
@@ -203,7 +203,7 @@ if (args.includes("--global")) {
203
203
  const { initStore } = await import("../lib/store.js");
204
204
  await initStore();
205
205
  const { sendMessage } = await import("../lib/messaging.js");
206
- const { getActiveAgent } = await import("../active-agent-EFWC3HGP.js");
206
+ const { getActiveAgent } = await import("../active-agent-4RUP4VYK.js");
207
207
  const { agentId } = getActiveAgent();
208
208
  const result = await sendMessage({
209
209
  fromAgent: agentId,
@@ -221,7 +221,7 @@ ID: ${result.id}`);
221
221
  await runActivate(args[1]);
222
222
  } else if (args[0] === "doctor") {
223
223
  if (args.includes("--drift")) {
224
- const { runDrift } = await import("../exe-drift-3OUOHWAI.js");
224
+ const { runDrift } = await import("../exe-drift-BPVS4MOJ.js");
225
225
  await runDrift(args.slice(1));
226
226
  } else {
227
227
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -293,7 +293,7 @@ ID: ${result.id}`);
293
293
  process.exit(1);
294
294
  }
295
295
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
296
- const { runSetupWizard } = await import("../setup-wizard-M6ZZ2VNM.js");
296
+ const { runSetupWizard } = await import("../setup-wizard-2INM4CSL.js");
297
297
  await runSetupWizard({ skipModel: args.includes("--skip-model") });
298
298
  } else if (args[0] === "update") {
299
299
  const { runUpdate } = await import("./update.js");
@@ -513,7 +513,7 @@ function numberAfter(args2, flag) {
513
513
  return Number.isFinite(parsed) ? parsed : void 0;
514
514
  }
515
515
  async function runClaudeInstall() {
516
- const { runInstaller } = await import("../installer-HNOVAUW6.js");
516
+ const { runInstaller } = await import("../installer-SCWIMZT7.js");
517
517
  try {
518
518
  await runInstaller();
519
519
  } catch (err) {
@@ -525,7 +525,7 @@ async function runClaudeInstall() {
525
525
  }
526
526
  }
527
527
  async function runOpenCodeInstall() {
528
- const { runOpenCodeInstaller } = await import("../installer-5FI6CX62.js");
528
+ const { runOpenCodeInstaller } = await import("../installer-IYELX3KG.js");
529
529
  try {
530
530
  await runOpenCodeInstaller();
531
531
  } catch (err) {
@@ -537,7 +537,7 @@ async function runOpenCodeInstall() {
537
537
  }
538
538
  }
539
539
  async function runCodexInstall() {
540
- const { runCodexInstaller } = await import("../installer-TAPAEWRV.js");
540
+ const { runCodexInstaller } = await import("../installer-3DE2IDUZ.js");
541
541
  try {
542
542
  await runCodexInstaller();
543
543
  } catch (err) {
@@ -549,7 +549,7 @@ async function runCodexInstall() {
549
549
  }
550
550
  }
551
551
  async function runClaudeCheck() {
552
- const { detectMcpNameCollisions } = await import("../installer-HNOVAUW6.js");
552
+ const { detectMcpNameCollisions } = await import("../installer-SCWIMZT7.js");
553
553
  const claudeDir = path.join(os.homedir(), ".claude");
554
554
  const settingsPath = path.join(claudeDir, "settings.json");
555
555
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -12,7 +12,7 @@ import {
12
12
  } from "../chunk-NGP6LSV2.js";
13
13
  import {
14
14
  loadEmployeesSync
15
- } from "../chunk-K3O4MWMS.js";
15
+ } from "../chunk-3MHKTBHZ.js";
16
16
  import "../chunk-HHECGHFW.js";
17
17
  import "../chunk-FXU7JOXK.js";
18
18
  import "../chunk-WXW3XGWX.js";
@@ -19,8 +19,8 @@ import {
19
19
  } from "../chunk-5BS5ELMC.js";
20
20
  import {
21
21
  getSessionPrompt
22
- } from "../chunk-BYHFW5CT.js";
23
- import "../chunk-BQ4U2SYC.js";
22
+ } from "../chunk-COOX4FXM.js";
23
+ import "../chunk-4FNJPA5O.js";
24
24
  import "../chunk-2ZYEO7U7.js";
25
25
  import {
26
26
  createTerminalRenderer,
@@ -48,7 +48,7 @@ import {
48
48
  AnthropicProvider,
49
49
  OpenAICompatProvider
50
50
  } from "../chunk-ECGTESAP.js";
51
- import "../chunk-K3O4MWMS.js";
51
+ import "../chunk-3MHKTBHZ.js";
52
52
  import "../chunk-HHECGHFW.js";
53
53
  import "../chunk-FXU7JOXK.js";
54
54
  import "../chunk-WXW3XGWX.js";
@@ -9,20 +9,20 @@ import {
9
9
  initStore,
10
10
  searchMemories,
11
11
  writeMemory
12
- } from "../chunk-QLKRYO7O.js";
12
+ } from "../chunk-TCBUBBTL.js";
13
13
  import "../chunk-CHCA3ZM2.js";
14
- import "../chunk-RH5NYRQH.js";
14
+ import "../chunk-XJQASQPO.js";
15
15
  import {
16
16
  createAssignmentMemory,
17
17
  formatAssignmentOutput,
18
18
  routeTask
19
- } from "../chunk-BV3L2S54.js";
19
+ } from "../chunk-P2ZIM765.js";
20
20
  import "../chunk-MP2AFCGL.js";
21
21
  import "../chunk-PWMMIGVQ.js";
22
22
  import {
23
23
  getEmployee,
24
24
  loadEmployees
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-6D23UNXU.js";