@askexenow/exe-os 0.9.158 → 0.9.160

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 (237) hide show
  1. package/deploy/compose/docker-compose.yml +9 -0
  2. package/deploy/compose/init-db.sql +70 -0
  3. package/dist/{active-agent-RY74REEW.js → active-agent-JCODH6ZT.js} +2 -2
  4. package/dist/{active-agent-GHJBTJRF.js → active-agent-XAA2YRRH.js} +2 -2
  5. package/dist/{agentic-ontology-FP67RCR6.js → agentic-ontology-5EIAHTR4.js} +1 -1
  6. package/dist/{backfill-metadata-CUNNA5MI.js → backfill-metadata-JIIVYDUA.js} +3 -3
  7. package/dist/{behaviors-KA64SSPT.js → behaviors-IFNDKKZG.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 +4 -4
  12. package/dist/bin/backfill-responses.js +4 -4
  13. package/dist/bin/backfill-vectors.js +5 -5
  14. package/dist/bin/bulk-sync-postgres.js +6 -6
  15. package/dist/bin/cleanup-stale-review-tasks.js +6 -6
  16. package/dist/bin/cli.js +39 -13
  17. package/dist/bin/exe-agent-config.js +1 -1
  18. package/dist/bin/exe-agent.js +11 -11
  19. package/dist/bin/exe-assign.js +6 -6
  20. package/dist/bin/exe-boot.js +14 -14
  21. package/dist/bin/exe-call.js +4 -4
  22. package/dist/bin/exe-cloud.js +4 -4
  23. package/dist/bin/exe-dispatch.js +6 -6
  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 +6 -6
  29. package/dist/bin/exe-kill.js +9 -9
  30. package/dist/bin/exe-launch-agent.js +25 -10
  31. package/dist/bin/exe-new-employee.js +7 -7
  32. package/dist/bin/exe-pending-messages.js +7 -7
  33. package/dist/bin/exe-pending-notifications.js +6 -6
  34. package/dist/bin/exe-pending-reviews.js +6 -6
  35. package/dist/bin/exe-rename.js +4 -4
  36. package/dist/bin/exe-review.js +8 -8
  37. package/dist/bin/exe-search.js +4 -4
  38. package/dist/bin/exe-session-cleanup.js +10 -10
  39. package/dist/bin/exe-settings.js +4 -4
  40. package/dist/bin/exe-start-codex.js +17 -16
  41. package/dist/bin/exe-start-opencode.js +7 -7
  42. package/dist/bin/exe-status.js +7 -7
  43. package/dist/bin/exe-support.js +2 -2
  44. package/dist/bin/exe-team.js +2 -2
  45. package/dist/bin/git-sweep.js +6 -6
  46. package/dist/bin/graph-backfill.js +3 -3
  47. package/dist/bin/graph-export.js +4 -4
  48. package/dist/bin/install.js +5 -5
  49. package/dist/bin/intercom-check.js +4 -4
  50. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  51. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  52. package/dist/bin/pre-publish.js +1 -1
  53. package/dist/bin/scan-tasks.js +6 -6
  54. package/dist/bin/setup.js +1 -1
  55. package/dist/bin/shard-migrate.js +4 -4
  56. package/dist/bin/stack-update.js +71 -1
  57. package/dist/bin/verify-stack.js +389 -0
  58. package/dist/{capacity-monitor-24CCEIJP.js → capacity-monitor-WOX3YB66.js} +7 -7
  59. package/dist/{catchup-brief-QQUPS66I.js → catchup-brief-273H5SII.js} +8 -8
  60. package/dist/{chunk-452JBQHH.js → chunk-2TKJQR7H.js} +13 -2
  61. package/dist/{chunk-AU4YZOTU.js → chunk-44FRIHFS.js} +6 -6
  62. package/dist/{chunk-3SQ6D4VK.js → chunk-4WH3U6YR.js} +3 -3
  63. package/dist/{chunk-YL5UVGMM.js → chunk-52JA6FT3.js} +60 -9
  64. package/dist/{chunk-E2O7YYDS.js → chunk-56N5BCXQ.js} +21 -4
  65. package/dist/{chunk-INWPOOB6.js → chunk-5ICBFFSQ.js} +2 -2
  66. package/dist/{chunk-LZLXG7TK.js → chunk-5UPBAAPS.js} +1 -0
  67. package/dist/{chunk-VEGDCI2M.js → chunk-75ICUSA3.js} +5 -5
  68. package/dist/{chunk-C6HHR6RL.js → chunk-7N2VDN76.js} +147 -25
  69. package/dist/{chunk-KPB5SN3Q.js → chunk-7WZXLY52.js} +1 -1
  70. package/dist/{chunk-Q55XPOXU.js → chunk-AGBFY64D.js} +1 -1
  71. package/dist/{chunk-7TV6RZLE.js → chunk-AMX4CR2E.js} +1 -1
  72. package/dist/{chunk-T25RLVTT.js → chunk-AV3BIPWB.js} +12 -9
  73. package/dist/{chunk-CUHCGEHC.js → chunk-BHYRHHKG.js} +32 -14
  74. package/dist/{chunk-SNN634YS.js → chunk-BQMG77YQ.js} +1 -1
  75. package/dist/{chunk-LVWXGZER.js → chunk-CCOSYMVU.js} +1 -1
  76. package/dist/{chunk-V5Y323LO.js → chunk-COUXA2IQ.js} +1 -1
  77. package/dist/{chunk-CXGOW4EJ.js → chunk-D5PHT3JX.js} +3 -3
  78. package/dist/{chunk-RES22KSZ.js → chunk-DHNTMNKR.js} +2 -2
  79. package/dist/{chunk-QSQWOHS7.js → chunk-EJOTMMWW.js} +224 -237
  80. package/dist/{chunk-KL5VDEBT.js → chunk-EWNH5O2J.js} +1 -1
  81. package/dist/{chunk-4Q2OWCEU.js → chunk-EYPMCM34.js} +4 -4
  82. package/dist/{chunk-6QQMF3AG.js → chunk-FNPVO7GB.js} +2 -2
  83. package/dist/{chunk-ZIJR3H2O.js → chunk-GHB33FOB.js} +2 -2
  84. package/dist/{chunk-YW7LDVCW.js → chunk-GIUZGQ2G.js} +2 -2
  85. package/dist/{chunk-ZPM2RMK2.js → chunk-GP436PAK.js} +2 -2
  86. package/dist/{chunk-SEENMPG7.js → chunk-H4FB7LB4.js} +1 -1
  87. package/dist/{chunk-7DUZ3JFZ.js → chunk-HB3HIKKO.js} +12 -12
  88. package/dist/{chunk-LWABYGNF.js → chunk-HI5LPCAS.js} +2 -2
  89. package/dist/{chunk-TNW7GPEM.js → chunk-IDJ6ZZ6A.js} +3 -3
  90. package/dist/{chunk-EVB53OQD.js → chunk-JTS3IDOY.js} +31 -1
  91. package/dist/{chunk-LIYHRGAB.js → chunk-K7ZSU4DV.js} +57 -23
  92. package/dist/{chunk-CB3AZW66.js → chunk-KQN4OAI3.js} +1 -1
  93. package/dist/{chunk-2X5G7F5C.js → chunk-KUEUXXO4.js} +2 -2
  94. package/dist/{chunk-J2KP4ZDX.js → chunk-MJSWLLSM.js} +5 -3
  95. package/dist/{chunk-TJEETRHD.js → chunk-MVMMULOJ.js} +0 -85
  96. package/dist/{chunk-S6DDN7IS.js → chunk-NV3WVFZ2.js} +1 -1
  97. package/dist/{chunk-6OXHZIB6.js → chunk-OAXVEPFZ.js} +1 -1
  98. package/dist/{chunk-UWUF5NWA.js → chunk-P5VV55Y6.js} +123 -67
  99. package/dist/{chunk-HBPFK6AO.js → chunk-PLNYW6PA.js} +1 -1
  100. package/dist/{chunk-4ZQDR3MI.js → chunk-PZWRXJBJ.js} +1 -1
  101. package/dist/{chunk-66QQPSWI.js → chunk-RGUPIUVT.js} +1 -1
  102. package/dist/{chunk-PELAHAJR.js → chunk-RUOLDPIR.js} +1 -1
  103. package/dist/{chunk-WUVYHPLZ.js → chunk-RVVG5QOG.js} +3 -3
  104. package/dist/{chunk-OMS7KJFD.js → chunk-RZJMEZD2.js} +5 -5
  105. package/dist/{chunk-S3XTYXAG.js → chunk-SBDMN3UH.js} +6 -3
  106. package/dist/{chunk-HIMHVTER.js → chunk-SKE3GZIB.js} +4 -4
  107. package/dist/{chunk-7G44AU2D.js → chunk-SZERVMKQ.js} +1 -1
  108. package/dist/{chunk-CK5ZKW25.js → chunk-TLTQGQCX.js} +1 -1
  109. package/dist/{chunk-MWRHXGAB.js → chunk-TPC3LAP7.js} +6 -0
  110. package/dist/{chunk-G2RRAFCH.js → chunk-TYOB34ZF.js} +1 -1
  111. package/dist/{chunk-JETWZJDU.js → chunk-U2NOATX5.js} +2 -2
  112. package/dist/{chunk-IXJ4SLKR.js → chunk-UHAED3MM.js} +1 -1
  113. package/dist/{chunk-47B5ZHTD.js → chunk-V746MLQJ.js} +2 -2
  114. package/dist/{chunk-SFQYCOJK.js → chunk-VJ6OHRKJ.js} +1 -1
  115. package/dist/{chunk-JTHPKHKC.js → chunk-VKCFXOWQ.js} +1 -1
  116. package/dist/{chunk-XIGJOVTD.js → chunk-VV6X2DRX.js} +1 -1
  117. package/dist/{chunk-77QEF6FR.js → chunk-XFA26MHB.js} +1 -1
  118. package/dist/{chunk-X5O3FKRU.js → chunk-XPOMXVWI.js} +3 -1
  119. package/dist/{chunk-BED3IEEA.js → chunk-XTMKDKYH.js} +3 -3
  120. package/dist/{chunk-P66GZHIS.js → chunk-Y3VSSBI7.js} +1 -1
  121. package/dist/{code-context-index-XZ22G57G.js → code-context-index-MPDSDOEL.js} +2 -2
  122. package/dist/{conversation-wiki-populator-HVROKOEU.js → conversation-wiki-populator-YMNIDI4F.js} +1 -1
  123. package/dist/{crdt-sync-5JERNXAI.js → crdt-sync-4PA3L6CQ.js} +1 -1
  124. package/dist/{crm-webhook-7OPJC3KJ.js → crm-webhook-K5ZMZ7NE.js} +2 -2
  125. package/dist/{cto-delegation-gate-OWFS6YCI.js → cto-delegation-gate-FQH7V5NO.js} +5 -5
  126. package/dist/{daemon-orchestration-IMVQSOUF.js → daemon-orchestration-6LAYDGDI.js} +16 -8
  127. package/dist/{exe-drift-FNK7OXMY.js → exe-drift-6U5ENBOQ.js} +2 -2
  128. package/dist/{exe-export-WRRUZP7P.js → exe-export-MI37HELB.js} +5 -5
  129. package/dist/{exe-import-XKQBNQPY.js → exe-import-3H5I674C.js} +5 -5
  130. package/dist/{exe-key-OU6EXI5G.js → exe-key-ZO7APVL6.js} +1 -1
  131. package/dist/{fast-db-init-F4IPHJ23.js → fast-db-init-OLKGFPSS.js} +1 -1
  132. package/dist/gateway/index.js +9 -9
  133. package/dist/{git-staleness-HE6QCRSC.js → git-staleness-7PVIPSJZ.js} +1 -1
  134. package/dist/{git-task-sweep-IAOWJBSG.js → git-task-sweep-ZEPT3OL5.js} +6 -6
  135. package/dist/{global-procedures-KNA62DIE.js → global-procedures-3HLEPJTB.js} +3 -3
  136. package/dist/{graph-auto-extract-4EZVBWQN.js → graph-auto-extract-3TBVEMSM.js} +1 -1
  137. package/dist/hooks/bug-report-worker.js +7 -7
  138. package/dist/hooks/codex-stop-task-finalizer.js +7 -7
  139. package/dist/hooks/commit-complete.js +36 -11
  140. package/dist/hooks/error-recall.js +5 -5
  141. package/dist/hooks/exe-heartbeat-hook.js +2 -2
  142. package/dist/hooks/ingest-worker.js +2 -2
  143. package/dist/hooks/ingest.js +5 -5
  144. package/dist/hooks/instructions-loaded.js +3 -3
  145. package/dist/hooks/notification.js +3 -3
  146. package/dist/hooks/post-compact.js +7 -7
  147. package/dist/hooks/post-tool-combined.js +5 -5
  148. package/dist/hooks/pre-compact.js +10 -10
  149. package/dist/hooks/pre-tool-use.js +28 -11
  150. package/dist/hooks/prompt-submit.js +59 -39
  151. package/dist/hooks/session-end.js +31 -14
  152. package/dist/hooks/session-start.js +26 -33
  153. package/dist/hooks/stop.js +14 -14
  154. package/dist/hooks/subagent-stop.js +7 -7
  155. package/dist/hooks/summary-worker.js +13 -13
  156. package/dist/index.js +16 -16
  157. package/dist/{installer-4GPRFPIU.js → installer-BX3C5MT7.js} +4 -4
  158. package/dist/{installer-TAFFG7WH.js → installer-STP2Z37F.js} +4 -4
  159. package/dist/{installer-MMXK6EHQ.js → installer-ZRARTRW6.js} +4 -4
  160. package/dist/lib/cloud-sync.js +4 -4
  161. package/dist/lib/consolidation.js +4 -4
  162. package/dist/lib/database.js +1 -1
  163. package/dist/lib/db-daemon-client.js +1 -1
  164. package/dist/lib/db.js +1 -1
  165. package/dist/lib/embedder.js +2 -2
  166. package/dist/lib/employee-templates.js +4 -4
  167. package/dist/lib/employees.js +1 -1
  168. package/dist/lib/exe-daemon-client.js +1 -1
  169. package/dist/lib/exe-daemon.js +226 -70
  170. package/dist/lib/hybrid-search.js +4 -4
  171. package/dist/lib/identity-templates.js +33 -0
  172. package/dist/lib/identity.js +1 -1
  173. package/dist/lib/license.js +1 -1
  174. package/dist/lib/messaging.js +6 -6
  175. package/dist/lib/reminders.js +2 -2
  176. package/dist/lib/schedules.js +4 -4
  177. package/dist/lib/skill-learning.js +3 -3
  178. package/dist/lib/store.js +3 -3
  179. package/dist/lib/task-router.js +2 -2
  180. package/dist/lib/tasks.js +6 -6
  181. package/dist/lib/tmux-routing.js +5 -5
  182. package/dist/lib/token-spend.js +2 -2
  183. package/dist/{license-gate-OAPGTQXF.js → license-gate-R5IDWABY.js} +2 -2
  184. package/dist/mcp/register-tools.js +51 -51
  185. package/dist/mcp/server.js +52 -52
  186. package/dist/mcp/tools/complete-reminder.js +3 -3
  187. package/dist/mcp/tools/create-reminder.js +3 -3
  188. package/dist/mcp/tools/create-task.js +8 -8
  189. package/dist/mcp/tools/deactivate-behavior.js +4 -4
  190. package/dist/mcp/tools/list-reminders.js +3 -3
  191. package/dist/mcp/tools/list-tasks.js +8 -8
  192. package/dist/mcp/tools/send-message.js +8 -8
  193. package/dist/mcp/tools/update-task.js +7 -7
  194. package/dist/{mcp-http-config-FPHVLE3N.js → mcp-http-config-F7K3FSWG.js} +2 -2
  195. package/dist/{memory-cards-VYZSCHZR.js → memory-cards-B6I5ZGXM.js} +1 -1
  196. package/dist/{memory-poisoning-defense-NGJ63VZE.js → memory-poisoning-defense-3ETR5HJJ.js} +1 -1
  197. package/dist/{memory-queue-client-M7NHD4GY.js → memory-queue-client-Z4Q3IX77.js} +2 -2
  198. package/dist/{memory-reflection-XXN375ZD.js → memory-reflection-B75N4BRO.js} +1 -1
  199. package/dist/{notifications-VJPITPQ3.js → notifications-D4SRWBIW.js} +5 -5
  200. package/dist/{orchestrator-L6XE65KD.js → orchestrator-IH7HSL3I.js} +7 -7
  201. package/dist/{plan-limits-GCKK3L6F.js → plan-limits-LTAD6MZH.js} +3 -3
  202. package/dist/preflight-3KY5JETE.js +264 -0
  203. package/dist/{projection-worker-GHWA6NEA.js → projection-worker-EABM5JO4.js} +141 -2
  204. package/dist/{review-polling-XLY35KOM.js → review-polling-E2F4T27N.js} +6 -6
  205. package/dist/runtime/index.js +16 -16
  206. package/dist/{session-events-76JYQUF6.js → session-events-5YG56NLB.js} +6 -6
  207. package/dist/{session-kill-telemetry-PD4UM5FM.js → session-kill-telemetry-SZPQAZS7.js} +2 -2
  208. package/dist/{session-scope-X4V5Q3OT.js → session-scope-CWBSZTZM.js} +5 -5
  209. package/dist/{setup-wizard-6SW2ND2B.js → setup-wizard-YCU4S2NQ.js} +1 -1
  210. package/dist/{shard-manager-6JBG2K5X.js → shard-manager-KXLEDDBB.js} +1 -1
  211. package/dist/{skill-refinement-4WWF5AML.js → skill-refinement-QYSXB6YR.js} +1 -1
  212. package/dist/{task-enforcement-T3QFAHOT.js → task-enforcement-CSO56VZB.js} +5 -5
  213. package/dist/{task-scope-AJPW2PUM.js → task-scope-54WKRGBQ.js} +5 -5
  214. package/dist/{tasks-crud-PIYGXNBH.js → tasks-crud-KJ5P3AWZ.js} +5 -5
  215. package/dist/{tasks-review-MYFRICXX.js → tasks-review-4J5ODCPR.js} +5 -5
  216. package/dist/{token-budget-5QD4ZSDX.js → token-budget-6KUZD2BC.js} +1 -1
  217. package/dist/{tool-capability-index-LBDYUK6L.js → tool-capability-index-4TT2VIQ2.js} +1 -1
  218. package/dist/{tool-telemetry-2VGSVV3J.js → tool-telemetry-TOPP535O.js} +1 -1
  219. package/dist/tui/App.js +19 -19
  220. package/dist/{tui-data-4S3IDSXK.js → tui-data-ZNUWNYHT.js} +5 -5
  221. package/dist/{wiki-client-NZR7RW4I.js → wiki-client-S6JKY7GG.js} +22 -1
  222. package/dist/{worker-gate-B5MEFZ55.js → worker-gate-GB6MR4AC.js} +1 -1
  223. package/dist/{workflow-engine-PYGOBKLD.js → workflow-engine-U3LC77BS.js} +2 -2
  224. package/package.json +2 -2
  225. package/release-notes.json +136 -136
  226. package/src/commands/exe/afk.md +65 -24
  227. package/src/commands/exe/call.md +10 -38
  228. /package/dist/{chunk-PPGL2TMJ.js → chunk-5MOAOYG6.js} +0 -0
  229. /package/dist/{chunk-LJDQQYKZ.js → chunk-OI4LP6IC.js} +0 -0
  230. /package/dist/{chunk-LKKKOWTH.js → chunk-PJI6UVFG.js} +0 -0
  231. /package/dist/{chunk-Q46X2YPY.js → chunk-QUQ4RKO4.js} +0 -0
  232. /package/dist/{chunk-FMBRO3D7.js → chunk-XMYY65PG.js} +0 -0
  233. /package/dist/{core-memory-JXVJ7S5Q.js → core-memory-LC4CCGI2.js} +0 -0
  234. /package/dist/{entity-boost-MDWFYORT.js → entity-boost-B7IGG24X.js} +0 -0
  235. /package/dist/{message-queue-client-BJZEA6RV.js → message-queue-client-EMQYHDBK.js} +0 -0
  236. /package/dist/{oauth-server-UM2TQJLJ.js → oauth-server-4A37UP5W.js} +0 -0
  237. /package/dist/{wiki-acl-RZCXSF5O.js → wiki-acl-JDBEB5GL.js} +0 -0
@@ -355,6 +355,9 @@ services:
355
355
  image: ${GATEWAY_IMAGE_TAG:-ghcr.io/askexe/exe-gateway:v0.9.4}
356
356
  container_name: exe-gateway
357
357
  restart: unless-stopped
358
+ # Gateway needs 45s to flush outbound queues + disconnect Baileys adapters.
359
+ # Default (10s) would SIGKILL mid-flush, losing in-flight WhatsApp messages.
360
+ stop_grace_period: 45s
358
361
  depends_on:
359
362
  exe-os:
360
363
  condition: service_healthy
@@ -387,6 +390,7 @@ services:
387
390
  - "127.0.0.1:${GATEWAY_WS_HOST_PORT:-3101}:3101"
388
391
  volumes:
389
392
  - gateway_data:/data
393
+ - gateway_whatsapp_auth:/app/auth_info
390
394
  - ./gateway.json:/data/gateway.json:ro
391
395
  networks:
392
396
  backend:
@@ -477,6 +481,11 @@ volumes:
477
481
  driver: local
478
482
  gateway_data:
479
483
  driver: local
484
+ gateway_whatsapp_auth:
485
+ driver: local
486
+ # CRITICAL: WhatsApp Baileys session data. Destroying this volume
487
+ # disconnects ALL paired WhatsApp accounts. Customers must re-scan
488
+ # QR codes for every account. NEVER delete this volume during updates.
480
489
  monitor_agent_data:
481
490
  driver: local
482
491
  monitor_hub_data:
@@ -53,3 +53,73 @@ CREATE TABLE IF NOT EXISTS raw.raw_events (
53
53
 
54
54
  CREATE INDEX IF NOT EXISTS idx_raw_events_unprocessed ON raw.raw_events (created_at) WHERE processed_at IS NULL;
55
55
  CREATE UNIQUE INDEX IF NOT EXISTS uq_raw_events_dedup ON raw.raw_events (source, source_id, event_type);
56
+
57
+ -- Filtered schema — curated, deduplicated, entity-resolved data.
58
+ -- Projected from raw.raw_events by daemon workers.
59
+ CREATE SCHEMA IF NOT EXISTS filtered;
60
+
61
+ -- Deduplicated person records from WhatsApp + CRM + manual entry
62
+ CREATE TABLE IF NOT EXISTS filtered.contacts (
63
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
64
+ phone TEXT UNIQUE,
65
+ email TEXT,
66
+ display_name TEXT NOT NULL,
67
+ source TEXT NOT NULL DEFAULT 'whatsapp',
68
+ source_id TEXT,
69
+ metadata JSONB DEFAULT '{}'::jsonb,
70
+ first_seen_at TIMESTAMPTZ DEFAULT now(),
71
+ last_seen_at TIMESTAMPTZ DEFAULT now(),
72
+ created_at TIMESTAMPTZ DEFAULT now(),
73
+ updated_at TIMESTAMPTZ DEFAULT now()
74
+ );
75
+
76
+ CREATE INDEX IF NOT EXISTS idx_filtered_contacts_phone ON filtered.contacts (phone);
77
+ CREATE INDEX IF NOT EXISTS idx_filtered_contacts_source ON filtered.contacts (source);
78
+
79
+ -- Normalized chat threads across platforms
80
+ CREATE TABLE IF NOT EXISTS filtered.conversations (
81
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
82
+ contact_id UUID REFERENCES filtered.contacts(id),
83
+ platform TEXT NOT NULL DEFAULT 'whatsapp',
84
+ remote_jid TEXT,
85
+ direction TEXT NOT NULL CHECK (direction IN ('inbound', 'outbound')),
86
+ content TEXT,
87
+ media_type TEXT,
88
+ timestamp TIMESTAMPTZ NOT NULL,
89
+ raw_event_id UUID,
90
+ created_at TIMESTAMPTZ DEFAULT now()
91
+ );
92
+
93
+ CREATE INDEX IF NOT EXISTS idx_filtered_conversations_contact ON filtered.conversations (contact_id, timestamp DESC);
94
+ CREATE INDEX IF NOT EXISTS idx_filtered_conversations_ts ON filtered.conversations (timestamp DESC);
95
+
96
+ -- Knowledge documents for wiki ingestion
97
+ CREATE TABLE IF NOT EXISTS filtered.documents (
98
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
99
+ title TEXT NOT NULL,
100
+ content TEXT NOT NULL,
101
+ doc_type TEXT NOT NULL DEFAULT 'memory',
102
+ source TEXT NOT NULL DEFAULT 'exe-os',
103
+ source_id TEXT,
104
+ metadata JSONB DEFAULT '{}'::jsonb,
105
+ created_at TIMESTAMPTZ DEFAULT now(),
106
+ updated_at TIMESTAMPTZ DEFAULT now()
107
+ );
108
+
109
+ CREATE INDEX IF NOT EXISTS idx_filtered_documents_type ON filtered.documents (doc_type);
110
+
111
+ -- Business events (meetings, orders, milestones)
112
+ CREATE TABLE IF NOT EXISTS filtered.events (
113
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
114
+ event_type TEXT NOT NULL,
115
+ title TEXT NOT NULL,
116
+ description TEXT,
117
+ contact_id UUID REFERENCES filtered.contacts(id),
118
+ source TEXT NOT NULL DEFAULT 'system',
119
+ occurred_at TIMESTAMPTZ NOT NULL,
120
+ metadata JSONB DEFAULT '{}'::jsonb,
121
+ created_at TIMESTAMPTZ DEFAULT now()
122
+ );
123
+
124
+ CREATE INDEX IF NOT EXISTS idx_filtered_events_type ON filtered.events (event_type, occurred_at DESC);
125
+ CREATE INDEX IF NOT EXISTS idx_filtered_events_contact ON filtered.events (contact_id);
@@ -6,10 +6,10 @@ import {
6
6
  getAllActiveAgents,
7
7
  resolveActiveAgentFromTmuxSession,
8
8
  writeActiveAgent
9
- } from "./chunk-77QEF6FR.js";
9
+ } from "./chunk-XFA26MHB.js";
10
10
  import "./chunk-CVYC6DUW.js";
11
11
  import "./chunk-GJV3WDWM.js";
12
- import "./chunk-EVB53OQD.js";
12
+ import "./chunk-JTS3IDOY.js";
13
13
  import "./chunk-RVSGXGWG.js";
14
14
  import "./chunk-FXU7JOXK.js";
15
15
  import "./chunk-4GXRETYL.js";
@@ -5,10 +5,10 @@ import {
5
5
  getAllActiveAgents,
6
6
  resolveActiveAgentFromTmuxSession,
7
7
  writeActiveAgent
8
- } from "./chunk-77QEF6FR.js";
8
+ } from "./chunk-XFA26MHB.js";
9
9
  import "./chunk-CVYC6DUW.js";
10
10
  import "./chunk-GJV3WDWM.js";
11
- import "./chunk-EVB53OQD.js";
11
+ import "./chunk-JTS3IDOY.js";
12
12
  import "./chunk-RVSGXGWG.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
14
  import "./chunk-4GXRETYL.js";
@@ -9,7 +9,7 @@ import {
9
9
  insertOntologyForMemory,
10
10
  ontologyPayload,
11
11
  stableId
12
- } from "./chunk-LKKKOWTH.js";
12
+ } from "./chunk-PJI6UVFG.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
15
15
  clean,
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  disposeStore,
4
4
  initStore
5
- } from "./chunk-CUHCGEHC.js";
6
- import "./chunk-LZLXG7TK.js";
5
+ } from "./chunk-BHYRHHKG.js";
6
+ import "./chunk-5UPBAAPS.js";
7
7
  import "./chunk-MP2AFCGL.js";
8
8
  import {
9
9
  getClient,
10
10
  getEmployeeNamesByRole,
11
11
  loadEmployeesSync
12
- } from "./chunk-EVB53OQD.js";
12
+ } from "./chunk-JTS3IDOY.js";
13
13
  import "./chunk-RVSGXGWG.js";
14
14
  import "./chunk-FXU7JOXK.js";
15
15
  import "./chunk-6D23UNXU.js";
@@ -5,8 +5,8 @@ import {
5
5
  listBehaviorsSince,
6
6
  listSharedSkills,
7
7
  storeBehavior
8
- } from "./chunk-SNN634YS.js";
9
- import "./chunk-EVB53OQD.js";
8
+ } from "./chunk-BQMG77YQ.js";
9
+ import "./chunk-JTS3IDOY.js";
10
10
  import "./chunk-RVSGXGWG.js";
11
11
  import "./chunk-FXU7JOXK.js";
12
12
  import "./chunk-4GXRETYL.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  insertOntologyForBatch
4
- } from "../chunk-LKKKOWTH.js";
4
+ } from "../chunk-PJI6UVFG.js";
5
5
  import {
6
6
  politeBatchPause,
7
7
  startManagedJob
@@ -9,12 +9,12 @@ import {
9
9
  import {
10
10
  disposeStore,
11
11
  initStore
12
- } from "../chunk-CUHCGEHC.js";
13
- import "../chunk-LZLXG7TK.js";
12
+ } from "../chunk-BHYRHHKG.js";
13
+ import "../chunk-5UPBAAPS.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
15
  import {
16
16
  getClient
17
- } from "../chunk-EVB53OQD.js";
17
+ } from "../chunk-JTS3IDOY.js";
18
18
  import "../chunk-RVSGXGWG.js";
19
19
  import "../chunk-FXU7JOXK.js";
20
20
  import "../chunk-6D23UNXU.js";
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  generateReflectionCheckpoints
4
- } from "../chunk-LVWXGZER.js";
5
- import "../chunk-LKKKOWTH.js";
4
+ } from "../chunk-CCOSYMVU.js";
5
+ import "../chunk-PJI6UVFG.js";
6
6
  import {
7
7
  startManagedJob
8
8
  } from "../chunk-CTOQYEKJ.js";
9
9
  import {
10
10
  initStore
11
- } from "../chunk-CUHCGEHC.js";
12
- import "../chunk-LZLXG7TK.js";
11
+ } from "../chunk-BHYRHHKG.js";
12
+ import "../chunk-5UPBAAPS.js";
13
13
  import "../chunk-MP2AFCGL.js";
14
- import "../chunk-EVB53OQD.js";
14
+ import "../chunk-JTS3IDOY.js";
15
15
  import "../chunk-RVSGXGWG.js";
16
16
  import "../chunk-FXU7JOXK.js";
17
17
  import "../chunk-6D23UNXU.js";
@@ -3,19 +3,19 @@ import {
3
3
  clean,
4
4
  inferSemanticLabel,
5
5
  stableId
6
- } from "../chunk-LKKKOWTH.js";
6
+ } from "../chunk-PJI6UVFG.js";
7
7
  import {
8
8
  politeBatchPause,
9
9
  startManagedJob
10
10
  } from "../chunk-CTOQYEKJ.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-CUHCGEHC.js";
14
- import "../chunk-LZLXG7TK.js";
13
+ } from "../chunk-BHYRHHKG.js";
14
+ import "../chunk-5UPBAAPS.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
16
  import {
17
17
  getClient
18
- } from "../chunk-EVB53OQD.js";
18
+ } from "../chunk-JTS3IDOY.js";
19
19
  import "../chunk-RVSGXGWG.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import "../chunk-6D23UNXU.js";
@@ -2,20 +2,20 @@
2
2
  import {
3
3
  connectEmbedDaemon,
4
4
  embedViaClient
5
- } from "../chunk-E2O7YYDS.js";
5
+ } from "../chunk-56N5BCXQ.js";
6
6
  import "../chunk-3H4VU65X.js";
7
7
  import "../chunk-CMFLJNP6.js";
8
8
  import {
9
9
  flushBatch,
10
10
  initStore,
11
11
  writeMemory
12
- } from "../chunk-CUHCGEHC.js";
13
- import "../chunk-LZLXG7TK.js";
12
+ } from "../chunk-BHYRHHKG.js";
13
+ import "../chunk-5UPBAAPS.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
15
  import {
16
16
  getClient,
17
17
  isCoordinatorName
18
- } from "../chunk-EVB53OQD.js";
18
+ } from "../chunk-JTS3IDOY.js";
19
19
  import "../chunk-RVSGXGWG.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import "../chunk-6D23UNXU.js";
@@ -2,20 +2,20 @@
2
2
  import {
3
3
  connectEmbedDaemon,
4
4
  embedViaClient
5
- } from "../chunk-E2O7YYDS.js";
5
+ } from "../chunk-56N5BCXQ.js";
6
6
  import "../chunk-3H4VU65X.js";
7
7
  import "../chunk-CMFLJNP6.js";
8
8
  import {
9
9
  flushBatch,
10
10
  initStore,
11
11
  writeMemory
12
- } from "../chunk-CUHCGEHC.js";
13
- import "../chunk-LZLXG7TK.js";
12
+ } from "../chunk-BHYRHHKG.js";
13
+ import "../chunk-5UPBAAPS.js";
14
14
  import "../chunk-MP2AFCGL.js";
15
15
  import {
16
16
  getClient,
17
17
  isCoordinatorName
18
- } from "../chunk-EVB53OQD.js";
18
+ } from "../chunk-JTS3IDOY.js";
19
19
  import "../chunk-RVSGXGWG.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import "../chunk-6D23UNXU.js";
@@ -8,22 +8,22 @@ import {
8
8
  registerWorkerPid,
9
9
  releaseBackfillLock,
10
10
  tryAcquireBackfillLock
11
- } from "../chunk-6OXHZIB6.js";
11
+ } from "../chunk-OAXVEPFZ.js";
12
12
  import {
13
13
  connectEmbedDaemon,
14
14
  embedViaClient
15
- } from "../chunk-E2O7YYDS.js";
15
+ } from "../chunk-56N5BCXQ.js";
16
16
  import "../chunk-3H4VU65X.js";
17
17
  import "../chunk-CMFLJNP6.js";
18
18
  import {
19
19
  initStore,
20
20
  vectorToBlob
21
- } from "../chunk-CUHCGEHC.js";
22
- import "../chunk-LZLXG7TK.js";
21
+ } from "../chunk-BHYRHHKG.js";
22
+ import "../chunk-5UPBAAPS.js";
23
23
  import "../chunk-MP2AFCGL.js";
24
24
  import {
25
25
  getClient
26
- } from "../chunk-EVB53OQD.js";
26
+ } from "../chunk-JTS3IDOY.js";
27
27
  import "../chunk-RVSGXGWG.js";
28
28
  import "../chunk-FXU7JOXK.js";
29
29
  import "../chunk-6D23UNXU.js";
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  pushToPostgres
4
- } from "../chunk-UWUF5NWA.js";
5
- import "../chunk-J2KP4ZDX.js";
4
+ } from "../chunk-P5VV55Y6.js";
5
+ import "../chunk-MJSWLLSM.js";
6
6
  import "../chunk-HOKOOBDL.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "../chunk-CUHCGEHC.js";
11
- import "../chunk-LZLXG7TK.js";
10
+ } from "../chunk-BHYRHHKG.js";
11
+ import "../chunk-5UPBAAPS.js";
12
12
  import "../chunk-MP2AFCGL.js";
13
13
  import {
14
14
  getClient
15
- } from "../chunk-EVB53OQD.js";
15
+ } from "../chunk-JTS3IDOY.js";
16
16
  import "../chunk-RVSGXGWG.js";
17
17
  import "../chunk-FXU7JOXK.js";
18
18
  import "../chunk-6D23UNXU.js";
19
- import "../chunk-TJEETRHD.js";
19
+ import "../chunk-MVMMULOJ.js";
20
20
  import "../chunk-4GXRETYL.js";
21
21
  import "../chunk-LYH5HE24.js";
22
22
  import "../chunk-MLKGABMK.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-LJDQQYKZ.js";
4
+ } from "../chunk-OI4LP6IC.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-LIYHRGAB.js";
7
+ } from "../chunk-K7ZSU4DV.js";
8
8
  import "../chunk-LOQCOHEW.js";
9
9
  import "../chunk-TXSJ2L5O.js";
10
10
  import "../chunk-64WZEXXA.js";
@@ -14,19 +14,19 @@ import "../chunk-GZIAQYGI.js";
14
14
  import "../chunk-ZQX6UOP6.js";
15
15
  import "../chunk-H2CFBUGF.js";
16
16
  import "../chunk-NGP6LSV2.js";
17
- import "../chunk-ZPM2RMK2.js";
17
+ import "../chunk-GP436PAK.js";
18
18
  import "../chunk-OPU3NYOO.js";
19
19
  import "../chunk-CVYC6DUW.js";
20
20
  import "../chunk-GJV3WDWM.js";
21
21
  import "../chunk-MP2AFCGL.js";
22
- import "../chunk-JTHPKHKC.js";
22
+ import "../chunk-VKCFXOWQ.js";
23
23
  import "../chunk-HYZV25LY.js";
24
24
  import {
25
25
  getClient
26
- } from "../chunk-EVB53OQD.js";
26
+ } from "../chunk-JTS3IDOY.js";
27
27
  import "../chunk-RVSGXGWG.js";
28
28
  import "../chunk-FXU7JOXK.js";
29
- import "../chunk-TJEETRHD.js";
29
+ import "../chunk-MVMMULOJ.js";
30
30
  import "../chunk-4GXRETYL.js";
31
31
  import "../chunk-LYH5HE24.js";
32
32
  import {
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-4GPRFPIU.js");
24
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-BX3C5MT7.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-OU6EXI5G.js");
110
+ const { main: runKey } = await import("../exe-key-ZO7APVL6.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-CUNNA5MI.js");
150
+ const { backfillMetadata } = await import("../backfill-metadata-JIIVYDUA.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-WRRUZP7P.js");
181
+ const { runExeExport } = await import("../exe-export-MI37HELB.js");
182
182
  await runExeExport(args.slice(1));
183
183
  } else if (args[0] === "import") {
184
- const { runExeImport } = await import("../exe-import-XKQBNQPY.js");
184
+ const { runExeImport } = await import("../exe-import-3H5I674C.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-GHJBTJRF.js");
206
+ const { getActiveAgent } = await import("../active-agent-XAA2YRRH.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-FNK7OXMY.js");
224
+ const { runDrift } = await import("../exe-drift-6U5ENBOQ.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-6SW2ND2B.js");
296
+ const { runSetupWizard } = await import("../setup-wizard-YCU4S2NQ.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");
@@ -301,6 +301,32 @@ ID: ${result.id}`);
301
301
  } else if (args[0] === "stack-update") {
302
302
  const { runStackUpdateCli } = await import("./stack-update.js");
303
303
  await runStackUpdateCli(args.slice(1));
304
+ } else if (args[0] === "verify-stack") {
305
+ const { runVerifyStack } = await import("./verify-stack.js");
306
+ const vsArgs = args.slice(1);
307
+ if (vsArgs.includes("--help") || vsArgs.includes("-h")) {
308
+ console.log(`
309
+ Usage: exe-os verify-stack [--compose <path>] [--env <path>]
310
+
311
+ Post-deploy verification \u2014 8 runtime checks after stack-update.
312
+ `);
313
+ process.exit(0);
314
+ }
315
+ const composeIdx = vsArgs.indexOf("--compose");
316
+ const envIdx = vsArgs.indexOf("--env");
317
+ const opts = {};
318
+ if (composeIdx >= 0 && vsArgs[composeIdx + 1]) opts.composeFile = vsArgs[composeIdx + 1];
319
+ if (envIdx >= 0 && vsArgs[envIdx + 1]) opts.envFile = vsArgs[envIdx + 1];
320
+ const report = await runVerifyStack(opts);
321
+ const icons = { pass: "\u2705", fail: "\u274C", warn: "\u26A0\uFE0F ", skip: "\u23ED\uFE0F " };
322
+ console.log("\n\x1B[1mPost-Deploy Verification\x1B[0m\n");
323
+ for (const r of report.results) {
324
+ console.log(` ${icons[r.status] ?? "?"} ${r.check}: ${r.message}`);
325
+ }
326
+ console.log(`
327
+ Pass: ${report.passed} Fail: ${report.failed} Warn: ${report.warned} Skip: ${report.skipped}
328
+ `);
329
+ process.exit(report.failed > 0 ? 1 : 0);
304
330
  } else if (args[0] === "brand") {
305
331
  const configIdx = args.indexOf("--config");
306
332
  if (configIdx === -1 || !args[configIdx + 1]) {
@@ -408,7 +434,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
408
434
  }
409
435
  }
410
436
  async function runCodeContext(ccArgs) {
411
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-XZ22G57G.js");
437
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-MPDSDOEL.js");
412
438
  const sub = ccArgs[0] ?? "status";
413
439
  const projectRoot = valueAfter(ccArgs, "--project-root") ?? process.cwd();
414
440
  if (sub === "init" || sub === "index") {
@@ -484,7 +510,7 @@ function numberAfter(args2, flag) {
484
510
  return Number.isFinite(parsed) ? parsed : void 0;
485
511
  }
486
512
  async function runClaudeInstall() {
487
- const { runInstaller } = await import("../installer-4GPRFPIU.js");
513
+ const { runInstaller } = await import("../installer-BX3C5MT7.js");
488
514
  try {
489
515
  await runInstaller();
490
516
  } catch (err) {
@@ -496,7 +522,7 @@ async function runClaudeInstall() {
496
522
  }
497
523
  }
498
524
  async function runOpenCodeInstall() {
499
- const { runOpenCodeInstaller } = await import("../installer-TAFFG7WH.js");
525
+ const { runOpenCodeInstaller } = await import("../installer-STP2Z37F.js");
500
526
  try {
501
527
  await runOpenCodeInstaller();
502
528
  } catch (err) {
@@ -508,7 +534,7 @@ async function runOpenCodeInstall() {
508
534
  }
509
535
  }
510
536
  async function runCodexInstall() {
511
- const { runCodexInstaller } = await import("../installer-MMXK6EHQ.js");
537
+ const { runCodexInstaller } = await import("../installer-ZRARTRW6.js");
512
538
  try {
513
539
  await runCodexInstaller();
514
540
  } catch (err) {
@@ -520,7 +546,7 @@ async function runCodexInstall() {
520
546
  }
521
547
  }
522
548
  async function runClaudeCheck() {
523
- const { detectMcpNameCollisions } = await import("../installer-4GPRFPIU.js");
549
+ const { detectMcpNameCollisions } = await import("../installer-BX3C5MT7.js");
524
550
  const claudeDir = path.join(os.homedir(), ".claude");
525
551
  const settingsPath = path.join(claudeDir, "settings.json");
526
552
  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-EVB53OQD.js";
15
+ } from "../chunk-JTS3IDOY.js";
16
16
  import "../chunk-RVSGXGWG.js";
17
17
  import "../chunk-FXU7JOXK.js";
18
18
  import "../chunk-4GXRETYL.js";
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ BashTool
4
+ } from "../chunk-5BS5ELMC.js";
2
5
  import {
3
6
  FileReadTool
4
7
  } from "../chunk-TMEE7AT7.js";
@@ -14,32 +17,29 @@ import {
14
17
  import {
15
18
  FileEditTool
16
19
  } from "../chunk-R4WMF32C.js";
17
- import {
18
- BashTool
19
- } from "../chunk-5BS5ELMC.js";
20
20
  import {
21
21
  getSessionPrompt
22
- } from "../chunk-Q55XPOXU.js";
23
- import "../chunk-INWPOOB6.js";
24
- import "../chunk-MWRHXGAB.js";
22
+ } from "../chunk-AGBFY64D.js";
23
+ import "../chunk-5ICBFFSQ.js";
24
+ import "../chunk-TPC3LAP7.js";
25
25
  import {
26
26
  createTerminalRenderer,
27
27
  renderAgentEvents
28
28
  } from "../chunk-YZFZDJWZ.js";
29
- import "../chunk-NGVOA6ZQ.js";
30
29
  import "../chunk-AVE2B4DQ.js";
30
+ import "../chunk-NGVOA6ZQ.js";
31
31
  import {
32
32
  agentLoop
33
33
  } from "../chunk-AJWFPKQS.js";
34
34
  import {
35
35
  ToolRegistry
36
36
  } from "../chunk-JQ6TLNIV.js";
37
- import {
38
- createDefaultHooks
39
- } from "../chunk-O377P7GM.js";
40
37
  import {
41
38
  EMPLOYEE_PERMISSIONS
42
39
  } from "../chunk-PRKVT4KN.js";
40
+ import {
41
+ createDefaultHooks
42
+ } from "../chunk-O377P7GM.js";
43
43
  import "../chunk-HF25XPZE.js";
44
44
  import {
45
45
  OllamaProvider
@@ -48,7 +48,7 @@ import {
48
48
  AnthropicProvider,
49
49
  OpenAICompatProvider
50
50
  } from "../chunk-ECGTESAP.js";
51
- import "../chunk-EVB53OQD.js";
51
+ import "../chunk-JTS3IDOY.js";
52
52
  import "../chunk-RVSGXGWG.js";
53
53
  import "../chunk-FXU7JOXK.js";
54
54
  import "../chunk-4GXRETYL.js";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  embed
4
- } from "../chunk-XIGJOVTD.js";
5
- import "../chunk-E2O7YYDS.js";
4
+ } from "../chunk-VV6X2DRX.js";
5
+ import "../chunk-56N5BCXQ.js";
6
6
  import "../chunk-3H4VU65X.js";
7
7
  import "../chunk-CMFLJNP6.js";
8
8
  import {
@@ -10,18 +10,18 @@ import {
10
10
  initStore,
11
11
  searchMemories,
12
12
  writeMemory
13
- } from "../chunk-CUHCGEHC.js";
14
- import "../chunk-LZLXG7TK.js";
13
+ } from "../chunk-BHYRHHKG.js";
14
+ import "../chunk-5UPBAAPS.js";
15
15
  import {
16
16
  createAssignmentMemory,
17
17
  formatAssignmentOutput,
18
18
  routeTask
19
- } from "../chunk-KL5VDEBT.js";
19
+ } from "../chunk-EWNH5O2J.js";
20
20
  import "../chunk-MP2AFCGL.js";
21
21
  import {
22
22
  getEmployee,
23
23
  loadEmployees
24
- } from "../chunk-EVB53OQD.js";
24
+ } from "../chunk-JTS3IDOY.js";
25
25
  import "../chunk-RVSGXGWG.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-6D23UNXU.js";