@askexenow/exe-os 0.9.295 → 0.9.296

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 (279) hide show
  1. package/deploy/compose/cloudflared/config.yml.example +14 -9
  2. package/deploy/compose/docker-compose.yml +86 -8
  3. package/deploy/compose/sso-edge/default.conf.template +87 -0
  4. package/deploy/compose/sso-edge/entrypoint.sh +23 -0
  5. package/deploy/compose/sso-edge/sso-redirect.conf +63 -0
  6. package/deploy/stack-manifests/v0.9.json +1 -1
  7. package/dist/active-agent-AFX2FODG.js +28 -0
  8. package/dist/active-agent-E2IJA7YX.js +27 -0
  9. package/dist/agentic-ontology-A2YUZK5O.js +25 -0
  10. package/dist/assets/com.askexe.exed.plist +4 -1
  11. package/dist/backfill-metadata-OC7EOD5U.js +600 -0
  12. package/dist/behaviors-H5ZOVHDH.js +46 -0
  13. package/dist/bin/agentic-ontology-backfill.js +5 -5
  14. package/dist/bin/agentic-reflection-backfill.js +6 -6
  15. package/dist/bin/agentic-semantic-label.js +5 -5
  16. package/dist/bin/backfill-conversations.js +6 -6
  17. package/dist/bin/backfill-responses.js +6 -6
  18. package/dist/bin/backfill-vectors.js +8 -8
  19. package/dist/bin/bulk-sync-postgres.js +7 -7
  20. package/dist/bin/cc-doctor.js +4 -4
  21. package/dist/bin/cleanup-stale-review-tasks.js +11 -11
  22. package/dist/bin/cli.js +16 -16
  23. package/dist/bin/deferred-daemon-restart.js +1 -1
  24. package/dist/bin/exe-agent-config.js +2 -2
  25. package/dist/bin/exe-agent.js +4 -4
  26. package/dist/bin/exe-assign.js +8 -8
  27. package/dist/bin/exe-boot.js +21 -18
  28. package/dist/bin/exe-call.js +4 -4
  29. package/dist/bin/exe-cloud.js +7 -7
  30. package/dist/bin/exe-dispatch.js +11 -11
  31. package/dist/bin/exe-doctor.js +3 -2
  32. package/dist/bin/exe-export-behaviors.js +7 -7
  33. package/dist/bin/exe-forget.js +6 -6
  34. package/dist/bin/exe-gateway.js +7 -7
  35. package/dist/bin/exe-healthcheck.js +6 -4
  36. package/dist/bin/exe-heartbeat.js +11 -11
  37. package/dist/bin/exe-kill.js +14 -14
  38. package/dist/bin/exe-launch-agent.js +18 -18
  39. package/dist/bin/exe-new-employee.js +6 -6
  40. package/dist/bin/exe-pending-messages.js +12 -12
  41. package/dist/bin/exe-pending-notifications.js +11 -11
  42. package/dist/bin/exe-pending-reviews.js +11 -11
  43. package/dist/bin/exe-rename.js +4 -4
  44. package/dist/bin/exe-review.js +13 -13
  45. package/dist/bin/exe-search.js +5 -5
  46. package/dist/bin/exe-session-cleanup.js +16 -16
  47. package/dist/bin/exe-settings.js +39 -9
  48. package/dist/bin/exe-start-codex.js +11 -11
  49. package/dist/bin/exe-start-opencode.js +8 -8
  50. package/dist/bin/exe-status.js +12 -12
  51. package/dist/bin/exe-team.js +3 -3
  52. package/dist/bin/git-sweep.js +12 -12
  53. package/dist/bin/graph-backfill.js +4 -4
  54. package/dist/bin/graph-export.js +5 -5
  55. package/dist/bin/import-history.js +7 -7
  56. package/dist/bin/install-launchd.js +13 -6
  57. package/dist/bin/install.js +26 -14
  58. package/dist/bin/intercom-check.js +4 -4
  59. package/dist/bin/mcp-sessions.js +2 -2
  60. package/dist/bin/orchestration-metrics.js +4 -4
  61. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  62. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  63. package/dist/bin/scan-tasks.js +11 -11
  64. package/dist/bin/setup.js +1 -1
  65. package/dist/bin/shard-migrate.js +4 -4
  66. package/dist/bin/stack-update.js +2 -2
  67. package/dist/bin/vps-health-gate.js +1 -1
  68. package/dist/capability-cards-4USI7CUW.js +89 -0
  69. package/dist/capacity-monitor-WLCBTEYR.js +51 -0
  70. package/dist/catchup-brief-ZR3NX6LZ.js +175 -0
  71. package/dist/chunk-22TVSRQQ.js +226 -0
  72. package/dist/chunk-2E43UXRH.js +395 -0
  73. package/dist/chunk-2PIGT6UJ.js +460 -0
  74. package/dist/chunk-3XTMW2MZ.js +535 -0
  75. package/dist/chunk-465PQFTH.js +262 -0
  76. package/dist/chunk-5CCXU2AW.js +129 -0
  77. package/dist/chunk-5D6MPWR7.js +1094 -0
  78. package/dist/chunk-5Q4MR6SL.js +123 -0
  79. package/dist/chunk-6327RBWR.js +345 -0
  80. package/dist/chunk-6MZZREZY.js +199 -0
  81. package/dist/chunk-7DI2Q4O5.js +1186 -0
  82. package/dist/chunk-7PW5VNIY.js +122 -0
  83. package/dist/chunk-7T7Y56HW.js +43 -0
  84. package/dist/chunk-7UHCWCLT.js +128 -0
  85. package/dist/chunk-A2ZUMF6L.js +1350 -0
  86. package/dist/chunk-AKV44JEH.js +185 -0
  87. package/dist/chunk-ANHWGX5N.js +735 -0
  88. package/dist/chunk-BQ3P4TKD.js +97 -0
  89. package/dist/chunk-BUZMT3KZ.js +604 -0
  90. package/dist/chunk-C2SBESBO.js +210 -0
  91. package/dist/chunk-CLSXZUZW.js +51 -0
  92. package/dist/chunk-CONHLVAR.js +1079 -0
  93. package/dist/chunk-D3WTZPFX.js +456 -0
  94. package/dist/chunk-DE6SOIYL.js +197 -0
  95. package/dist/chunk-EIVNMA3Q.js +284 -0
  96. package/dist/chunk-EJIF4FNT.js +12 -0
  97. package/dist/chunk-FDFOW564.js +171 -0
  98. package/dist/chunk-GZUBJ5EC.js +127 -0
  99. package/dist/chunk-HGZITN22.js +105 -0
  100. package/dist/chunk-HSRKDU6X.js +362 -0
  101. package/dist/chunk-IIEN2PHV.js +85 -0
  102. package/dist/chunk-JQ56VLMM.js +567 -0
  103. package/dist/chunk-JVHHXRFY.js +280 -0
  104. package/dist/chunk-JXCXGZ3S.js +55 -0
  105. package/dist/chunk-K5ZO532Q.js +4388 -0
  106. package/dist/chunk-K6CAAMXF.js +97 -0
  107. package/dist/chunk-KA26YTNU.js +81 -0
  108. package/dist/chunk-KMUW5C3R.js +381 -0
  109. package/dist/chunk-KOO3J5PV.js +20 -0
  110. package/dist/chunk-LSV7OFIH.js +290 -0
  111. package/dist/chunk-LSVFDVNY.js +1158 -0
  112. package/dist/chunk-LXDQTW32.js +230 -0
  113. package/dist/chunk-MEP7OUVZ.js +181 -0
  114. package/dist/chunk-MN2B2LKS.js +240 -0
  115. package/dist/chunk-N2EAYPYQ.js +1352 -0
  116. package/dist/chunk-N7I2A667.js +70 -0
  117. package/dist/chunk-NLZHVIOP.js +630 -0
  118. package/dist/chunk-NUH5TRZL.js +227 -0
  119. package/dist/chunk-OAHEIH3G.js +167 -0
  120. package/dist/chunk-OBHRQGCK.js +58 -0
  121. package/dist/chunk-ODFA7B2V.js +54 -0
  122. package/dist/chunk-OSNUP45F.js +731 -0
  123. package/dist/chunk-OTPRHBTO.js +33 -0
  124. package/dist/chunk-P6MUA4QU.js +157 -0
  125. package/dist/chunk-PGIOFKSK.js +2093 -0
  126. package/dist/chunk-PSE7VHWK.js +50 -0
  127. package/dist/chunk-QIFUVZFW.js +331 -0
  128. package/dist/chunk-RDPXKTVK.js +221 -0
  129. package/dist/chunk-RKYTYJGB.js +76 -0
  130. package/dist/chunk-RXLR6EFM.js +348 -0
  131. package/dist/chunk-SDB67PQJ.js +159 -0
  132. package/dist/chunk-SF2T7MP3.js +402 -0
  133. package/dist/chunk-SLU3FRFQ.js +2133 -0
  134. package/dist/chunk-SNDZJ5IV.js +214 -0
  135. package/dist/chunk-STEEAABW.js +448 -0
  136. package/dist/chunk-TUTWNHIQ.js +244 -0
  137. package/dist/chunk-UDP35QBR.js +30 -0
  138. package/dist/chunk-UKFHNJBI.js +85 -0
  139. package/dist/chunk-VC2DTK2X.js +382 -0
  140. package/dist/chunk-VRRAE5JX.js +836 -0
  141. package/dist/chunk-VVJTBQPR.js +38 -0
  142. package/dist/chunk-W3EQ362K.js +581 -0
  143. package/dist/chunk-WHIXIFHC.js +2242 -0
  144. package/dist/chunk-WRNGJJNR.js +377 -0
  145. package/dist/chunk-WUKHLCBE.js +3313 -0
  146. package/dist/chunk-WVPLHGDG.js +150 -0
  147. package/dist/chunk-XJZBSTL5.js +204 -0
  148. package/dist/chunk-Y3PMNUM5.js +304 -0
  149. package/dist/chunk-YHVS4QOV.js +14597 -0
  150. package/dist/chunk-YJ2OYAOC.js +668 -0
  151. package/dist/chunk-YYAD2GXX.js +128 -0
  152. package/dist/chunk-ZQML7EWE.js +333 -0
  153. package/dist/co-activation-XJLH46OX.js +74 -0
  154. package/dist/co-occurrence-GNN2X526.js +95 -0
  155. package/dist/code-context-index-OCPRLFG5.js +30 -0
  156. package/dist/core-memory-J4W2IYOF.js +110 -0
  157. package/dist/crdt-sync-QCBTSHIH.js +33 -0
  158. package/dist/crm-webhook-EM442VUW.js +10 -0
  159. package/dist/cto-delegation-gate-MLJMVHBK.js +280 -0
  160. package/dist/daemon-orchestration-2VNLZVTW.js +139 -0
  161. package/dist/db-backup-VUGFTPJ4.js +43 -0
  162. package/dist/doc-graph-extractor-PNRSFPSS.js +133 -0
  163. package/dist/dreaming-SK5VEQRF.js +34 -0
  164. package/dist/entity-boost-TQWWJUC2.js +375 -0
  165. package/dist/exe-drift-N34UPO7S.js +70 -0
  166. package/dist/exe-export-KACBKGVV.js +77 -0
  167. package/dist/exe-import-GXGDWACG.js +80 -0
  168. package/dist/exe-key-XPDOZBWW.js +673 -0
  169. package/dist/exe-snapshot-32GQKGQ5.js +338 -0
  170. package/dist/fast-db-init-F3TDD5VV.js +7 -0
  171. package/dist/gateway/index.js +8 -8
  172. package/dist/git-staleness-J45WNYRF.js +112 -0
  173. package/dist/git-task-sweep-BTGVQPFB.js +42 -0
  174. package/dist/global-procedures-6JCQWU4D.js +22 -0
  175. package/dist/graph-auto-extract-3ZQNXTPC.js +183 -0
  176. package/dist/hooks/bug-report-worker.js +13 -13
  177. package/dist/hooks/codex-stop-task-finalizer.js +13 -13
  178. package/dist/hooks/commit-complete.js +13 -13
  179. package/dist/hooks/error-recall.js +6 -6
  180. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  181. package/dist/hooks/ingest-worker.js +3 -3
  182. package/dist/hooks/ingest.js +6 -6
  183. package/dist/hooks/instructions-loaded.js +4 -4
  184. package/dist/hooks/manifest.json +20 -20
  185. package/dist/hooks/notification.js +4 -4
  186. package/dist/hooks/post-compact.js +12 -12
  187. package/dist/hooks/post-tool-combined.js +6 -6
  188. package/dist/hooks/pre-compact.js +16 -16
  189. package/dist/hooks/pre-tool-use.js +16 -16
  190. package/dist/hooks/prompt-submit.js +24 -24
  191. package/dist/hooks/session-end.js +21 -21
  192. package/dist/hooks/session-start.js +12 -12
  193. package/dist/hooks/stop.js +19 -19
  194. package/dist/hooks/subagent-stop.js +12 -12
  195. package/dist/hooks/summary-worker.js +19 -19
  196. package/dist/index.js +19 -19
  197. package/dist/installer-5VPFY7SB.js +298 -0
  198. package/dist/installer-OENFPMA2.js +344 -0
  199. package/dist/installer-OIX4QOG5.js +40 -0
  200. package/dist/lib/cloud-sync.js +7 -7
  201. package/dist/lib/consolidation.js +6 -5
  202. package/dist/lib/database.js +2 -2
  203. package/dist/lib/db-daemon-client.js +2 -2
  204. package/dist/lib/db.js +2 -2
  205. package/dist/lib/embed-worker.js +1 -0
  206. package/dist/lib/embedder.js +7 -3
  207. package/dist/lib/employee-templates.js +4 -4
  208. package/dist/lib/employees.js +2 -2
  209. package/dist/lib/exe-daemon-client.js +2 -2
  210. package/dist/lib/exe-daemon.js +160 -79
  211. package/dist/lib/hybrid-search.js +5 -5
  212. package/dist/lib/identity.js +2 -2
  213. package/dist/lib/messaging.js +11 -11
  214. package/dist/lib/reminders.js +3 -3
  215. package/dist/lib/schedules.js +5 -5
  216. package/dist/lib/session-registry.js +4 -4
  217. package/dist/lib/skill-learning.js +6 -6
  218. package/dist/lib/store.js +4 -4
  219. package/dist/lib/task-router.js +3 -3
  220. package/dist/lib/tasks.js +12 -12
  221. package/dist/lib/tmux-routing.js +12 -10
  222. package/dist/lib/tmux-transport.js +1 -1
  223. package/dist/lib/token-spend.js +3 -3
  224. package/dist/lib/transport.js +2 -2
  225. package/dist/mcp/register-tools.js +62 -61
  226. package/dist/mcp/server.js +63 -62
  227. package/dist/mcp/tools/complete-reminder.js +4 -4
  228. package/dist/mcp/tools/create-reminder.js +4 -4
  229. package/dist/mcp/tools/create-task.js +14 -14
  230. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  231. package/dist/mcp/tools/list-reminders.js +4 -4
  232. package/dist/mcp/tools/list-tasks.js +14 -14
  233. package/dist/mcp/tools/send-message.js +13 -13
  234. package/dist/mcp/tools/update-task.js +13 -13
  235. package/dist/mcp-http-config-PQTOLCTP.js +29 -0
  236. package/dist/memory-cards-4RVDZIY2.js +180 -0
  237. package/dist/memory-graph-extractor-L6YC7G4M.js +22 -0
  238. package/dist/memory-poisoning-defense-4YVJYH4G.js +224 -0
  239. package/dist/memory-queue-client-MVAUOZNJ.js +16 -0
  240. package/dist/memory-reflection-SHHDQNOH.js +244 -0
  241. package/dist/message-queue-client-DCKZT6X2.js +92 -0
  242. package/dist/notifications-JFR3G42W.js +47 -0
  243. package/dist/orchestration-events-MGCGPTDN.js +27 -0
  244. package/dist/orchestrator-DAFL2YZB.js +35 -0
  245. package/dist/pipeline-router-WWSZVPCH.js +15 -0
  246. package/dist/plan-limits-C7XCSDZC.js +28 -0
  247. package/dist/project-boot-N3NTBVLE.js +299 -0
  248. package/dist/projection-worker-MTPAPCWX.js +1084 -0
  249. package/dist/prospective-memory-BTIVUJSB.js +232 -0
  250. package/dist/reranker-UA6WVESJ.js +19 -0
  251. package/dist/retrieval-health-7XNZJEBF.js +12 -0
  252. package/dist/review-polling-4ALGMXC3.js +126 -0
  253. package/dist/runtime/index.js +13 -13
  254. package/dist/self-query-router-MROFQLQB.js +192 -0
  255. package/dist/session-events-CK44XOU4.js +38 -0
  256. package/dist/session-kill-telemetry-MT6ITDOG.js +31 -0
  257. package/dist/session-scope-3XDBWV65.js +88 -0
  258. package/dist/setup-wizard-X6DOD7MC.js +12 -0
  259. package/dist/skill-refinement-G2CCY3GM.js +159 -0
  260. package/dist/stack-update-JF7F56AS.js +84 -0
  261. package/dist/steward-gate-YF2CYXE7.js +15 -0
  262. package/dist/task-enforcement-YN6HK7NE.js +506 -0
  263. package/dist/task-scope-CVK6ISCZ.js +37 -0
  264. package/dist/tasks-crud-NTNET4JE.js +79 -0
  265. package/dist/tasks-notify-4LJVFPCV.js +40 -0
  266. package/dist/tasks-review-3V4WOIRG.js +49 -0
  267. package/dist/telemetry-upload-5PNUKGTM.js +741 -0
  268. package/dist/token-budget-E46G7ZAQ.js +86 -0
  269. package/dist/tool-capability-index-JDSMKJER.js +10 -0
  270. package/dist/tool-telemetry-J3NLS3LJ.js +17 -0
  271. package/dist/tui/App.js +18 -18
  272. package/dist/tui-data-6DOMUUCM.js +260 -0
  273. package/dist/wiki-acl-5UK37LKF.js +111 -0
  274. package/dist/worker-gate-FM7AEC7G.js +21 -0
  275. package/dist/workflow-engine-2EDUHUIY.js +28 -0
  276. package/dist/worktree-7YKKJIYR.js +28 -0
  277. package/dist/worktree-sweep-C3ELFGDN.js +21 -0
  278. package/package.json +1 -1
  279. package/release-notes.json +23 -23
@@ -3,39 +3,39 @@ import {
3
3
  flushBatch,
4
4
  initStore,
5
5
  writeMemory
6
- } from "../chunk-EM5WXY6H.js";
6
+ } from "../chunk-VRRAE5JX.js";
7
7
  import "../chunk-CHCA3ZM2.js";
8
8
  import "../chunk-OTVEIJUQ.js";
9
- import "../chunk-DQBHY3Q4.js";
9
+ import "../chunk-C2SBESBO.js";
10
10
  import "../chunk-Y25OJWOQ.js";
11
11
  import {
12
12
  sessionScopeFilter,
13
13
  updateTaskStatus
14
- } from "../chunk-2ZXMXFGH.js";
15
- import "../chunk-E45SQG7C.js";
14
+ } from "../chunk-K5ZO532Q.js";
15
+ import "../chunk-JVHHXRFY.js";
16
16
  import "../chunk-4JERP7NT.js";
17
17
  import "../chunk-4FVVJ7ME.js";
18
- import "../chunk-RAERYWCL.js";
19
- import "../chunk-HN3HGFBL.js";
20
- import "../chunk-YNORJIBH.js";
18
+ import "../chunk-Y3PMNUM5.js";
19
+ import "../chunk-KOO3J5PV.js";
20
+ import "../chunk-22TVSRQQ.js";
21
21
  import "../chunk-SSTLTIF3.js";
22
- import "../chunk-DVFHAY2J.js";
22
+ import "../chunk-NLZHVIOP.js";
23
23
  import "../chunk-QRTJNSKU.js";
24
24
  import "../chunk-NGP6LSV2.js";
25
- import "../chunk-GJS7CJRC.js";
25
+ import "../chunk-5CCXU2AW.js";
26
26
  import "../chunk-CVYC6DUW.js";
27
27
  import {
28
28
  getProjectName
29
29
  } from "../chunk-OPU3NYOO.js";
30
30
  import "../chunk-GJV3WDWM.js";
31
31
  import "../chunk-MP2AFCGL.js";
32
- import "../chunk-HH3MBGMJ.js";
32
+ import "../chunk-N7I2A667.js";
33
33
  import "../chunk-HYZV25LY.js";
34
34
  import {
35
35
  getClient
36
- } from "../chunk-TM2GZWIT.js";
36
+ } from "../chunk-WUKHLCBE.js";
37
37
  import "../chunk-2I23RPSI.js";
38
- import "../chunk-D3X64YSB.js";
38
+ import "../chunk-2E43UXRH.js";
39
39
  import "../chunk-PNQDP3OA.js";
40
40
  import "../chunk-7HLWBYH7.js";
41
41
  import "../chunk-FXU7JOXK.js";
@@ -145,7 +145,7 @@ try {
145
145
  `
146
146
  );
147
147
  try {
148
- const { createReviewForCompletedTask } = await import("../tasks-review-E3LQRBNB.js");
148
+ const { createReviewForCompletedTask } = await import("../tasks-review-3V4WOIRG.js");
149
149
  await createReviewForCompletedTask(
150
150
  {
151
151
  id: String(dt.id),
@@ -216,7 +216,7 @@ try {
216
216
  if (result.rows.length === 0) process.exit(0);
217
217
  let commits = [];
218
218
  try {
219
- const { getRecentCommits } = await import("../git-task-sweep-XSPCOBUY.js");
219
+ const { getRecentCommits } = await import("../git-task-sweep-BTGVQPFB.js");
220
220
  commits = getRecentCommits(30);
221
221
  } catch {
222
222
  }
@@ -229,7 +229,7 @@ try {
229
229
  const context = row.context ? String(row.context) : void 0;
230
230
  if (commits.length > 0) {
231
231
  try {
232
- const { findBestMatch } = await import("../git-task-sweep-XSPCOBUY.js");
232
+ const { findBestMatch } = await import("../git-task-sweep-BTGVQPFB.js");
233
233
  const match = findBestMatch({ id: taskId, title, context }, commits);
234
234
  if (match) {
235
235
  try {
@@ -355,7 +355,7 @@ try {
355
355
  } catch {
356
356
  }
357
357
  try {
358
- const { cleanupWorktree } = await import("../worktree-OJMZ4RG4.js");
358
+ const { cleanupWorktree } = await import("../worktree-7YKKJIYR.js");
359
359
  const cleanup = cleanupWorktree(process.cwd(), agentName);
360
360
  if (cleanup.cleaned) {
361
361
  process.stderr.write(`[session-cleanup] worktree cleaned: ${cleanup.reason}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  assertSecureEndpoint
3
- } from "../chunk-VK7NRMIW.js";
4
- import "../chunk-OXM62MI7.js";
5
- import "../chunk-EVV55PHP.js";
3
+ } from "../chunk-SLU3FRFQ.js";
4
+ import "../chunk-RDPXKTVK.js";
5
+ import "../chunk-QIFUVZFW.js";
6
6
  import "../chunk-LO6L5ADL.js";
7
- import "../chunk-EM5WXY6H.js";
7
+ import "../chunk-VRRAE5JX.js";
8
8
  import "../chunk-CHCA3ZM2.js";
9
9
  import "../chunk-OTVEIJUQ.js";
10
- import "../chunk-DQBHY3Q4.js";
10
+ import "../chunk-C2SBESBO.js";
11
11
  import "../chunk-Y25OJWOQ.js";
12
12
  import {
13
13
  DEFAULT_MODELS,
@@ -21,11 +21,15 @@ import {
21
21
  DEFAULT_RUNTIME
22
22
  } from "../chunk-NGP6LSV2.js";
23
23
  import "../chunk-MP2AFCGL.js";
24
+ import {
25
+ resolveEmbeddingsEnabled,
26
+ setEmbeddingsEnabled
27
+ } from "../chunk-CLSXZUZW.js";
24
28
  import {
25
29
  loadEmployeesSync
26
- } from "../chunk-TM2GZWIT.js";
30
+ } from "../chunk-WUKHLCBE.js";
27
31
  import "../chunk-2I23RPSI.js";
28
- import "../chunk-D3X64YSB.js";
32
+ import "../chunk-2E43UXRH.js";
29
33
  import "../chunk-PNQDP3OA.js";
30
34
  import "../chunk-7HLWBYH7.js";
31
35
  import "../chunk-FXU7JOXK.js";
@@ -50,6 +54,9 @@ function searchLabel(mode) {
50
54
  if (mode === "hybrid") return "hybrid FTS + vector (best quality, uses embedding model)";
51
55
  return "fts Keywords only (fast, no embedding model)";
52
56
  }
57
+ function embeddingsMasterLabel(config) {
58
+ return resolveEmbeddingsEnabled(process.env.EXE_EMBEDDINGS, config) ? "ON " : "OFF";
59
+ }
53
60
  function hookSearchLabel(mode) {
54
61
  if (mode === "hybrid") return "hybrid FTS + vector (loads 639MB model \u2014 adds 3-8s on first call)";
55
62
  return "fts Keywords only (fast, ~200ms, no model load)";
@@ -79,9 +86,11 @@ function printSettings(config) {
79
86
  5. Cloud sync: ${syncStatus(config)}
80
87
  6. Runtime + model: ${runtimeStatus()}
81
88
 
89
+ e. Embeddings: ${embeddingsMasterLabel(config)} (single switch \u2014 sets MCP + hook + sentinel)
90
+
82
91
  Embedding model: ${config.modelFile}
83
92
 
84
- Type a number to toggle, or "q" to quit.
93
+ Type a number to toggle, "e" for the embeddings master switch, or "q" to quit.
85
94
  `);
86
95
  }
87
96
  function handleRuntimeSettings(rl, returnToMain) {
@@ -354,10 +363,31 @@ async function main() {
354
363
  });
355
364
  } else if (choice === "6") {
356
365
  handleRuntimeSettings(rl, prompt);
366
+ } else if (choice === "e") {
367
+ const currentlyOn = resolveEmbeddingsEnabled(process.env.EXE_EMBEDDINGS, config);
368
+ const next = !currentlyOn;
369
+ setEmbeddingsEnabled(next, config);
370
+ await saveConfig(config);
371
+ console.log(`
372
+ Embeddings: ${next ? "ON" : "OFF"} (single source of truth).`);
373
+ if (next) {
374
+ console.log(" MCP + hook search set to hybrid; sentinel set to 1.");
375
+ console.log(" Semantic search will load the embedding model.");
376
+ } else {
377
+ console.log(" MCP + hook search set to fts; sentinel set to 0.");
378
+ console.log(" Stays OFF across restart \u2014 FTS+Graph keep serving.");
379
+ }
380
+ if (process.env.EXE_EMBEDDINGS !== void 0) {
381
+ console.log(`
382
+ NOTE: EXE_EMBEDDINGS=${process.env.EXE_EMBEDDINGS} is set in the`);
383
+ console.log(" environment and OVERRIDES this switch. Unset it (and remove it");
384
+ console.log(" from the launchd plist) for the switch to take effect.");
385
+ }
386
+ prompt();
357
387
  } else if (choice === "q" || choice === "quit" || choice === "") {
358
388
  rl.close();
359
389
  } else {
360
- console.log("\n Unknown option. Type 1-6, or q.");
390
+ console.log("\n Unknown option. Type 1-6, e, or q.");
361
391
  prompt();
362
392
  }
363
393
  });
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-QV4CHWME.js";
5
- import "../chunk-EVV55PHP.js";
4
+ } from "../chunk-BQ3P4TKD.js";
5
+ import "../chunk-QIFUVZFW.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "../chunk-EM5WXY6H.js";
9
+ } from "../chunk-VRRAE5JX.js";
10
10
  import "../chunk-CHCA3ZM2.js";
11
11
  import "../chunk-OTVEIJUQ.js";
12
- import "../chunk-DQBHY3Q4.js";
12
+ import "../chunk-C2SBESBO.js";
13
13
  import "../chunk-Y25OJWOQ.js";
14
14
  import {
15
15
  RUNTIME_TABLE
@@ -18,9 +18,9 @@ import "../chunk-MP2AFCGL.js";
18
18
  import {
19
19
  baseAgentName,
20
20
  loadEmployeesSync
21
- } from "../chunk-TM2GZWIT.js";
21
+ } from "../chunk-WUKHLCBE.js";
22
22
  import "../chunk-2I23RPSI.js";
23
- import "../chunk-D3X64YSB.js";
23
+ import "../chunk-2E43UXRH.js";
24
24
  import "../chunk-PNQDP3OA.js";
25
25
  import "../chunk-7HLWBYH7.js";
26
26
  import "../chunk-FXU7JOXK.js";
@@ -223,7 +223,7 @@ async function main() {
223
223
  await initStore();
224
224
  behaviorsPath = await exportBehaviorsForAgent(baseAgent, "");
225
225
  try {
226
- const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-GX7V5L76.js");
226
+ const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-6JCQWU4D.js");
227
227
  await loadGlobalProcedures();
228
228
  const block = getGlobalProceduresBlock();
229
229
  if (block) globalProcedures = block;
@@ -272,8 +272,8 @@ async function main() {
272
272
  let codexProfileName = null;
273
273
  if (exeSessionName) {
274
274
  try {
275
- const { readOrCreateDaemonToken } = await import("../mcp-http-config-L6TEBZOW.js");
276
- const { mcpHttpUrl } = await import("../mcp-http-config-L6TEBZOW.js");
275
+ const { readOrCreateDaemonToken } = await import("../mcp-http-config-PQTOLCTP.js");
276
+ const { mcpHttpUrl } = await import("../mcp-http-config-PQTOLCTP.js");
277
277
  const token = readOrCreateDaemonToken();
278
278
  const profileContent = [
279
279
  `# Auto-generated per-session MCP config for ${memoryAgent} in ${exeSessionName}`,
@@ -302,12 +302,12 @@ async function main() {
302
302
  }
303
303
  }
304
304
  try {
305
- const { writeActiveAgent } = await import("../active-agent-XEZTZEV7.js");
305
+ const { writeActiveAgent } = await import("../active-agent-E2IJA7YX.js");
306
306
  writeActiveAgent(memoryAgent, empRole);
307
307
  } catch {
308
308
  }
309
309
  try {
310
- const { verifyCodexHooks, runCodexInstaller } = await import("../installer-7ET5M2DD.js");
310
+ const { verifyCodexHooks, runCodexInstaller } = await import("../installer-OENFPMA2.js");
311
311
  if (!verifyCodexHooks()) {
312
312
  process.stderr.write("[exe-start-codex] hooks missing \u2014 registering now\n");
313
313
  await runCodexInstaller();
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-QV4CHWME.js";
5
- import "../chunk-EVV55PHP.js";
4
+ } from "../chunk-BQ3P4TKD.js";
5
+ import "../chunk-QIFUVZFW.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "../chunk-EM5WXY6H.js";
9
+ } from "../chunk-VRRAE5JX.js";
10
10
  import "../chunk-CHCA3ZM2.js";
11
11
  import "../chunk-OTVEIJUQ.js";
12
- import "../chunk-DQBHY3Q4.js";
12
+ import "../chunk-C2SBESBO.js";
13
13
  import "../chunk-Y25OJWOQ.js";
14
14
  import {
15
15
  RUNTIME_TABLE
@@ -18,9 +18,9 @@ import "../chunk-MP2AFCGL.js";
18
18
  import {
19
19
  baseAgentName,
20
20
  loadEmployeesSync
21
- } from "../chunk-TM2GZWIT.js";
21
+ } from "../chunk-WUKHLCBE.js";
22
22
  import "../chunk-2I23RPSI.js";
23
- import "../chunk-D3X64YSB.js";
23
+ import "../chunk-2E43UXRH.js";
24
24
  import "../chunk-PNQDP3OA.js";
25
25
  import "../chunk-7HLWBYH7.js";
26
26
  import "../chunk-FXU7JOXK.js";
@@ -180,12 +180,12 @@ async function main() {
180
180
  })();
181
181
  process.env.AGENT_ROLE = empRole;
182
182
  try {
183
- const { writeActiveAgent } = await import("../active-agent-XEZTZEV7.js");
183
+ const { writeActiveAgent } = await import("../active-agent-E2IJA7YX.js");
184
184
  writeActiveAgent(memoryAgent, empRole);
185
185
  } catch {
186
186
  }
187
187
  try {
188
- const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-6PMCIZQZ.js");
188
+ const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-5VPFY7SB.js");
189
189
  if (!verifyOpenCodeHooks()) {
190
190
  process.stderr.write("[exe-start-opencode] hooks missing \u2014 registering now\n");
191
191
  await runOpenCodeInstaller();
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  status
4
- } from "../chunk-VRFO3H3R.js";
5
- import "../chunk-QAK47LG3.js";
6
- import "../chunk-2ZXMXFGH.js";
7
- import "../chunk-E45SQG7C.js";
4
+ } from "../chunk-RKYTYJGB.js";
5
+ import "../chunk-KA26YTNU.js";
6
+ import "../chunk-K5ZO532Q.js";
7
+ import "../chunk-JVHHXRFY.js";
8
8
  import "../chunk-4JERP7NT.js";
9
9
  import "../chunk-4FVVJ7ME.js";
10
- import "../chunk-RAERYWCL.js";
11
- import "../chunk-HN3HGFBL.js";
12
- import "../chunk-YNORJIBH.js";
10
+ import "../chunk-Y3PMNUM5.js";
11
+ import "../chunk-KOO3J5PV.js";
12
+ import "../chunk-22TVSRQQ.js";
13
13
  import "../chunk-SSTLTIF3.js";
14
- import "../chunk-DVFHAY2J.js";
14
+ import "../chunk-NLZHVIOP.js";
15
15
  import "../chunk-QRTJNSKU.js";
16
16
  import "../chunk-NGP6LSV2.js";
17
- import "../chunk-GJS7CJRC.js";
17
+ import "../chunk-5CCXU2AW.js";
18
18
  import "../chunk-CVYC6DUW.js";
19
19
  import "../chunk-OPU3NYOO.js";
20
20
  import "../chunk-GJV3WDWM.js";
21
21
  import "../chunk-MP2AFCGL.js";
22
- import "../chunk-HH3MBGMJ.js";
22
+ import "../chunk-N7I2A667.js";
23
23
  import "../chunk-HYZV25LY.js";
24
- import "../chunk-TM2GZWIT.js";
24
+ import "../chunk-WUKHLCBE.js";
25
25
  import "../chunk-2I23RPSI.js";
26
- import "../chunk-D3X64YSB.js";
26
+ import "../chunk-2E43UXRH.js";
27
27
  import "../chunk-PNQDP3OA.js";
28
28
  import "../chunk-7HLWBYH7.js";
29
29
  import "../chunk-FXU7JOXK.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-QAK47LG3.js";
4
+ } from "../chunk-KA26YTNU.js";
5
5
  import {
6
6
  getClient,
7
7
  loadEmployees
8
- } from "../chunk-TM2GZWIT.js";
8
+ } from "../chunk-WUKHLCBE.js";
9
9
  import "../chunk-2I23RPSI.js";
10
- import "../chunk-D3X64YSB.js";
10
+ import "../chunk-2E43UXRH.js";
11
11
  import "../chunk-PNQDP3OA.js";
12
12
  import "../chunk-7HLWBYH7.js";
13
13
  import "../chunk-FXU7JOXK.js";
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  sweepWorktrees
4
- } from "../chunk-HKSTWZ22.js";
4
+ } from "../chunk-D3WTZPFX.js";
5
5
  import {
6
6
  sweepTasks
7
- } from "../chunk-F4FMIWEL.js";
8
- import "../chunk-2ZXMXFGH.js";
9
- import "../chunk-E45SQG7C.js";
7
+ } from "../chunk-SNDZJ5IV.js";
8
+ import "../chunk-K5ZO532Q.js";
9
+ import "../chunk-JVHHXRFY.js";
10
10
  import "../chunk-4JERP7NT.js";
11
11
  import "../chunk-4FVVJ7ME.js";
12
- import "../chunk-RAERYWCL.js";
13
- import "../chunk-HN3HGFBL.js";
14
- import "../chunk-YNORJIBH.js";
12
+ import "../chunk-Y3PMNUM5.js";
13
+ import "../chunk-KOO3J5PV.js";
14
+ import "../chunk-22TVSRQQ.js";
15
15
  import "../chunk-SSTLTIF3.js";
16
- import "../chunk-DVFHAY2J.js";
16
+ import "../chunk-NLZHVIOP.js";
17
17
  import "../chunk-QRTJNSKU.js";
18
18
  import "../chunk-NGP6LSV2.js";
19
- import "../chunk-GJS7CJRC.js";
19
+ import "../chunk-5CCXU2AW.js";
20
20
  import "../chunk-CVYC6DUW.js";
21
21
  import "../chunk-OPU3NYOO.js";
22
22
  import "../chunk-GJV3WDWM.js";
23
23
  import "../chunk-MP2AFCGL.js";
24
- import "../chunk-HH3MBGMJ.js";
24
+ import "../chunk-N7I2A667.js";
25
25
  import "../chunk-HYZV25LY.js";
26
- import "../chunk-TM2GZWIT.js";
26
+ import "../chunk-WUKHLCBE.js";
27
27
  import "../chunk-2I23RPSI.js";
28
- import "../chunk-D3X64YSB.js";
28
+ import "../chunk-2E43UXRH.js";
29
29
  import "../chunk-PNQDP3OA.js";
30
30
  import "../chunk-7HLWBYH7.js";
31
31
  import "../chunk-FXU7JOXK.js";
@@ -11,17 +11,17 @@ import "../chunk-I7AW4237.js";
11
11
  import {
12
12
  disposeStore,
13
13
  initStore
14
- } from "../chunk-EM5WXY6H.js";
14
+ } from "../chunk-VRRAE5JX.js";
15
15
  import "../chunk-CHCA3ZM2.js";
16
16
  import "../chunk-OTVEIJUQ.js";
17
- import "../chunk-DQBHY3Q4.js";
17
+ import "../chunk-C2SBESBO.js";
18
18
  import "../chunk-Y25OJWOQ.js";
19
19
  import "../chunk-MP2AFCGL.js";
20
20
  import {
21
21
  getClient
22
- } from "../chunk-TM2GZWIT.js";
22
+ } from "../chunk-WUKHLCBE.js";
23
23
  import "../chunk-2I23RPSI.js";
24
- import "../chunk-D3X64YSB.js";
24
+ import "../chunk-2E43UXRH.js";
25
25
  import "../chunk-PNQDP3OA.js";
26
26
  import "../chunk-7HLWBYH7.js";
27
27
  import "../chunk-FXU7JOXK.js";
@@ -5,20 +5,20 @@ import {
5
5
  } from "../chunk-3OEVDGIY.js";
6
6
  import {
7
7
  fastDbInit
8
- } from "../chunk-QAK47LG3.js";
8
+ } from "../chunk-KA26YTNU.js";
9
9
  import {
10
10
  disposeStore
11
- } from "../chunk-EM5WXY6H.js";
11
+ } from "../chunk-VRRAE5JX.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
13
  import "../chunk-OTVEIJUQ.js";
14
- import "../chunk-DQBHY3Q4.js";
14
+ import "../chunk-C2SBESBO.js";
15
15
  import "../chunk-Y25OJWOQ.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import {
18
18
  getClient
19
- } from "../chunk-TM2GZWIT.js";
19
+ } from "../chunk-WUKHLCBE.js";
20
20
  import "../chunk-2I23RPSI.js";
21
- import "../chunk-D3X64YSB.js";
21
+ import "../chunk-2E43UXRH.js";
22
22
  import "../chunk-PNQDP3OA.js";
23
23
  import "../chunk-7HLWBYH7.js";
24
24
  import "../chunk-FXU7JOXK.js";
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerImportConversations
4
- } from "../chunk-2LHQ5MGP.js";
5
- import "../chunk-B4PYJHIV.js";
4
+ } from "../chunk-WRNGJJNR.js";
5
+ import "../chunk-SF2T7MP3.js";
6
6
  import "../chunk-6OAAN25C.js";
7
7
  import "../chunk-GUMRIUI5.js";
8
8
  import "../chunk-I7AW4237.js";
9
- import "../chunk-EM5WXY6H.js";
9
+ import "../chunk-VRRAE5JX.js";
10
10
  import "../chunk-CHCA3ZM2.js";
11
11
  import "../chunk-OTVEIJUQ.js";
12
- import "../chunk-DQBHY3Q4.js";
13
- import "../chunk-NMJSZ5FC.js";
12
+ import "../chunk-C2SBESBO.js";
13
+ import "../chunk-AKV44JEH.js";
14
14
  import "../chunk-Y25OJWOQ.js";
15
15
  import "../chunk-CVYC6DUW.js";
16
16
  import "../chunk-GJV3WDWM.js";
17
17
  import "../chunk-MP2AFCGL.js";
18
- import "../chunk-TM2GZWIT.js";
18
+ import "../chunk-WUKHLCBE.js";
19
19
  import "../chunk-2I23RPSI.js";
20
- import "../chunk-D3X64YSB.js";
20
+ import "../chunk-2E43UXRH.js";
21
21
  import "../chunk-PNQDP3OA.js";
22
22
  import "../chunk-7HLWBYH7.js";
23
23
  import "../chunk-FXU7JOXK.js";
@@ -55,16 +55,23 @@ var plist = readFileSync(templatePath, "utf8");
55
55
  plist = plist.replace(/__NODE_PATH__/g, nodePath);
56
56
  plist = plist.replace(/__DAEMON_PATH__/g, daemonPath);
57
57
  plist = plist.replace(/__HOME__/g, HOME);
58
+ var nodeBinDir = path.dirname(nodePath);
59
+ var launchdPath = [nodeBinDir, "/usr/local/bin", "/usr/bin", "/bin", "/opt/homebrew/bin"].filter((d, i, a) => a.indexOf(d) === i).join(":");
60
+ plist = plist.replace(/__PATH__/g, launchdPath);
58
61
  var embeddingsOptedIn = detectEmbeddingsInUse(HOME);
59
62
  var embeddingsEnv = embeddingsOptedIn ? "\n <key>EXE_EMBEDDINGS</key>\n <string>1</string>" : "";
60
63
  plist = plist.replace(/__EXE_EMBEDDINGS_ENV__/g, embeddingsEnv);
61
- if (embeddingsOptedIn) {
62
- try {
63
- const exeDir = path.join(HOME, ".exe-os");
64
- mkdirSync(exeDir, { recursive: true });
65
- writeFileSync(path.join(exeDir, "embeddings-enabled"), "1\n");
66
- } catch {
64
+ try {
65
+ const exeDir = path.join(HOME, ".exe-os");
66
+ mkdirSync(exeDir, { recursive: true });
67
+ const sentinelPath = path.join(exeDir, "embeddings-enabled");
68
+ const hadPriorDecision = process.env.EXE_EMBEDDINGS !== void 0 || existsSync(sentinelPath) || existsSync(path.join(exeDir, "config.json"));
69
+ if (embeddingsOptedIn) {
70
+ writeFileSync(sentinelPath, "1\n");
71
+ } else if (hadPriorDecision) {
72
+ writeFileSync(sentinelPath, "0\n");
67
73
  }
74
+ } catch {
68
75
  }
69
76
  mkdirSync(LAUNCH_AGENTS_DIR, { recursive: true });
70
77
  writeFileSync(PLIST_DEST, plist);
@@ -6,25 +6,28 @@ import {
6
6
  setupGhostty,
7
7
  setupTmux,
8
8
  setupWezterm
9
- } from "../chunk-BUBYDG7Q.js";
9
+ } from "../chunk-CONHLVAR.js";
10
10
  import "../chunk-GNHN5HRQ.js";
11
11
  import {
12
12
  generateSessionWrappers
13
13
  } from "../chunk-EM4EYF3P.js";
14
14
  import "../chunk-L3TB7CC3.js";
15
- import "../chunk-LZEWGBU2.js";
15
+ import "../chunk-K6CAAMXF.js";
16
+ import {
17
+ resolveEmbeddingsEnabled
18
+ } from "../chunk-CLSXZUZW.js";
16
19
  import {
17
20
  computeDaemonHeapCapMb
18
- } from "../chunk-FXD5LXRD.js";
21
+ } from "../chunk-7T7Y56HW.js";
19
22
  import {
20
23
  requestDeployRestart,
21
24
  updateMcpVersionMarker
22
25
  } from "../chunk-7L2EV3XX.js";
23
- import "../chunk-HH3MBGMJ.js";
26
+ import "../chunk-N7I2A667.js";
24
27
  import "../chunk-HYZV25LY.js";
25
- import "../chunk-TM2GZWIT.js";
28
+ import "../chunk-WUKHLCBE.js";
26
29
  import "../chunk-2I23RPSI.js";
27
- import "../chunk-D3X64YSB.js";
30
+ import "../chunk-2E43UXRH.js";
28
31
  import "../chunk-PNQDP3OA.js";
29
32
  import "../chunk-7HLWBYH7.js";
30
33
  import "../chunk-FXU7JOXK.js";
@@ -140,18 +143,19 @@ async function spawnDaemonInline(pkgRoot) {
140
143
  var DEFERRED_RESTART_PID_PATH = path.join(EXE_DIR, "deferred-restart.pid");
141
144
  function detectEmbeddingsInUse(home) {
142
145
  try {
143
- const envOverride = process.env.EXE_EMBEDDINGS;
144
- if (envOverride === "1" || envOverride === "true") return true;
145
- if (envOverride === "0" || envOverride === "false") return false;
146
146
  const exeDir = path.join(home, ".exe-os");
147
147
  const configPath = path.join(exeDir, "config.json");
148
+ let cfg = null;
148
149
  if (existsSync(configPath)) {
149
150
  try {
150
- const cfg = JSON.parse(readFileSync(configPath, "utf8"));
151
- if (cfg.searchMode === "fts") return false;
151
+ cfg = JSON.parse(readFileSync(configPath, "utf8"));
152
152
  } catch {
153
153
  }
154
154
  }
155
+ const sentinelPath = path.join(exeDir, "embeddings-enabled");
156
+ if (process.env.EXE_EMBEDDINGS !== void 0 || existsSync(sentinelPath) || cfg) {
157
+ return resolveEmbeddingsEnabled(process.env.EXE_EMBEDDINGS, cfg, sentinelPath);
158
+ }
155
159
  const modelsDir = path.join(exeDir, "models");
156
160
  if (!existsSync(modelsDir)) return false;
157
161
  return readdirSync(modelsDir).some((f) => f.toLowerCase().endsWith(".gguf"));
@@ -182,6 +186,7 @@ function setupDaemonKeepalive() {
182
186
  const daemonPath = path.join(pkgRoot, "dist", "lib", "exe-daemon.js");
183
187
  const home = os.homedir();
184
188
  const nodeShimPath = ensureNodeShim(home);
189
+ const launchdPath = buildLaunchdPath();
185
190
  const embeddingsInUse = detectEmbeddingsInUse(home);
186
191
  const heapCapMB = computeDaemonHeapCapMb(totalGB);
187
192
  const plistContent = `<?xml version="1.0" encoding="UTF-8"?>
@@ -207,7 +212,7 @@ function setupDaemonKeepalive() {
207
212
  <key>EnvironmentVariables</key>
208
213
  <dict>
209
214
  <key>PATH</key>
210
- <string>/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin</string>
215
+ <string>${launchdPath}</string>
211
216
  <key>HOME</key>
212
217
  <string>${home}</string>${embeddingsInUse ? `
213
218
  <key>EXE_EMBEDDINGS</key>
@@ -248,6 +253,11 @@ function setupDaemonKeepalive() {
248
253
  `);
249
254
  }
250
255
  }
256
+ function buildLaunchdPath() {
257
+ const nodeBinDir = path.dirname(process.execPath);
258
+ const base = ["/usr/local/bin", "/usr/bin", "/bin", "/opt/homebrew/bin"];
259
+ return [nodeBinDir, ...base.filter((d) => d !== nodeBinDir)].join(":");
260
+ }
251
261
  function ensureNodeShim(home) {
252
262
  const binDir = path.join(home, ".exe-os", "bin");
253
263
  mkdirSync(binDir, { recursive: true });
@@ -273,6 +283,7 @@ function setupWatchdog() {
273
283
  }
274
284
  const home = os.homedir();
275
285
  const nodeShimPath = ensureNodeShim(home);
286
+ const launchdPath = buildLaunchdPath();
276
287
  const plistContent = `<?xml version="1.0" encoding="UTF-8"?>
277
288
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
278
289
  <plist version="1.0">
@@ -291,7 +302,7 @@ function setupWatchdog() {
291
302
  <key>EnvironmentVariables</key>
292
303
  <dict>
293
304
  <key>PATH</key>
294
- <string>/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin</string>
305
+ <string>${launchdPath}</string>
295
306
  <key>HOME</key>
296
307
  <string>${home}</string>
297
308
  </dict>
@@ -577,7 +588,7 @@ async function runGlobalInstall() {
577
588
  }
578
589
  try {
579
590
  execSync("which codex", { encoding: "utf8", timeout: 5e3 });
580
- const { runCodexInstaller } = await import("../installer-7ET5M2DD.js");
591
+ const { runCodexInstaller } = await import("../installer-OENFPMA2.js");
581
592
  await runCodexInstaller();
582
593
  } catch {
583
594
  }
@@ -644,6 +655,7 @@ if (isMainModule(import.meta.url) && process.argv[1]?.includes("install")) {
644
655
  await main();
645
656
  }
646
657
  export {
658
+ buildLaunchdPath,
647
659
  runCommandsOnlyInstall,
648
660
  runGlobalInstall
649
661
  };