@askexenow/exe-os 0.9.22 → 0.9.24

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 (70) hide show
  1. package/dist/bin/backfill-conversations.js +5 -1
  2. package/dist/bin/backfill-responses.js +5 -1
  3. package/dist/bin/backfill-vectors.js +5 -1
  4. package/dist/bin/cleanup-stale-review-tasks.js +7 -2
  5. package/dist/bin/cli.js +41 -3
  6. package/dist/bin/exe-assign.js +5 -1
  7. package/dist/bin/exe-boot.js +6 -3
  8. package/dist/bin/exe-dispatch.js +8 -4
  9. package/dist/bin/exe-doctor.js +5 -1
  10. package/dist/bin/exe-export-behaviors.js +7 -2
  11. package/dist/bin/exe-forget.js +7 -2
  12. package/dist/bin/exe-gateway.js +6 -3
  13. package/dist/bin/exe-heartbeat.js +7 -2
  14. package/dist/bin/exe-kill.js +7 -2
  15. package/dist/bin/exe-launch-agent.js +5 -1
  16. package/dist/bin/exe-link.js +5 -1
  17. package/dist/bin/exe-pending-messages.js +7 -2
  18. package/dist/bin/exe-pending-notifications.js +7 -2
  19. package/dist/bin/exe-pending-reviews.js +7 -2
  20. package/dist/bin/exe-rename.js +5 -1
  21. package/dist/bin/exe-review.js +7 -2
  22. package/dist/bin/exe-search.js +5 -1
  23. package/dist/bin/exe-session-cleanup.js +6 -3
  24. package/dist/bin/exe-start-codex.js +40 -1
  25. package/dist/bin/exe-start-opencode.js +5 -1
  26. package/dist/bin/exe-status.js +7 -2
  27. package/dist/bin/exe-team.js +7 -2
  28. package/dist/bin/git-sweep.js +6 -3
  29. package/dist/bin/graph-backfill.js +5 -1
  30. package/dist/bin/graph-export.js +7 -2
  31. package/dist/bin/install.js +35 -0
  32. package/dist/bin/intercom-check.js +8 -4
  33. package/dist/bin/scan-tasks.js +8 -4
  34. package/dist/bin/setup.js +5 -1
  35. package/dist/bin/shard-migrate.js +5 -1
  36. package/dist/gateway/index.js +6 -3
  37. package/dist/hooks/bug-report-worker.js +8 -4
  38. package/dist/hooks/codex-stop-task-finalizer.js +7 -2
  39. package/dist/hooks/commit-complete.js +10 -7
  40. package/dist/hooks/error-recall.js +5 -1
  41. package/dist/hooks/ingest.js +5 -1
  42. package/dist/hooks/instructions-loaded.js +7 -2
  43. package/dist/hooks/notification.js +7 -2
  44. package/dist/hooks/post-compact.js +7 -2
  45. package/dist/hooks/post-tool-combined.js +5 -1
  46. package/dist/hooks/pre-compact.js +8 -4
  47. package/dist/hooks/pre-tool-use.js +7 -2
  48. package/dist/hooks/prompt-submit.js +6 -3
  49. package/dist/hooks/session-end.js +8 -4
  50. package/dist/hooks/session-start.js +7 -2
  51. package/dist/hooks/stop.js +7 -2
  52. package/dist/hooks/subagent-stop.js +7 -2
  53. package/dist/hooks/summary-worker.js +5 -1
  54. package/dist/index.js +6 -3
  55. package/dist/lib/cloud-sync.js +5 -1
  56. package/dist/lib/database.js +5 -1
  57. package/dist/lib/db.js +5 -1
  58. package/dist/lib/device-registry.js +5 -1
  59. package/dist/lib/exe-daemon.js +26 -13
  60. package/dist/lib/hybrid-search.js +5 -1
  61. package/dist/lib/schedules.js +5 -1
  62. package/dist/lib/store.js +5 -1
  63. package/dist/lib/tasks.js +1 -2
  64. package/dist/lib/tmux-routing.js +1 -2
  65. package/dist/mcp/server.js +6 -3
  66. package/dist/mcp/tools/create-task.js +1 -2
  67. package/dist/mcp/tools/update-task.js +1 -2
  68. package/dist/runtime/index.js +6 -3
  69. package/dist/tui/App.js +6 -3
  70. package/package.json +1 -1
@@ -1683,7 +1683,8 @@ __export(database_exports, {
1683
1683
  initDaemonClient: () => initDaemonClient,
1684
1684
  initDatabase: () => initDatabase,
1685
1685
  initTurso: () => initTurso,
1686
- isInitialized: () => isInitialized
1686
+ isInitialized: () => isInitialized,
1687
+ setExternalClient: () => setExternalClient
1687
1688
  });
1688
1689
  import { createClient } from "@libsql/client";
1689
1690
  async function initDatabase(config) {
@@ -1730,6 +1731,9 @@ async function initDatabase(config) {
1730
1731
  function isInitialized() {
1731
1732
  return _adapterClient !== null || _client !== null;
1732
1733
  }
1734
+ function setExternalClient(client) {
1735
+ _adapterClient = client;
1736
+ }
1733
1737
  function getClient() {
1734
1738
  if (!_adapterClient) {
1735
1739
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -4078,7 +4082,7 @@ import { randomUUID as randomUUID3 } from "crypto";
4078
4082
 
4079
4083
  // src/bin/fast-db-init.ts
4080
4084
  async function fastDbInit() {
4081
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4085
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4082
4086
  if (isInitialized2()) {
4083
4087
  return getClient2();
4084
4088
  }
@@ -4129,6 +4133,7 @@ async function fastDbInit() {
4129
4133
  return "file";
4130
4134
  }
4131
4135
  };
4136
+ setExternalClient2(daemonClient);
4132
4137
  return daemonClient;
4133
4138
  }
4134
4139
  } catch {
@@ -1658,7 +1658,8 @@ __export(database_exports, {
1658
1658
  initDaemonClient: () => initDaemonClient,
1659
1659
  initDatabase: () => initDatabase,
1660
1660
  initTurso: () => initTurso,
1661
- isInitialized: () => isInitialized
1661
+ isInitialized: () => isInitialized,
1662
+ setExternalClient: () => setExternalClient
1662
1663
  });
1663
1664
  import { createClient } from "@libsql/client";
1664
1665
  async function initDatabase(config) {
@@ -1705,6 +1706,9 @@ async function initDatabase(config) {
1705
1706
  function isInitialized() {
1706
1707
  return _adapterClient !== null || _client !== null;
1707
1708
  }
1709
+ function setExternalClient(client) {
1710
+ _adapterClient = client;
1711
+ }
1708
1712
  function getClient() {
1709
1713
  if (!_adapterClient) {
1710
1714
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -1702,7 +1702,8 @@ __export(database_exports, {
1702
1702
  initDaemonClient: () => initDaemonClient,
1703
1703
  initDatabase: () => initDatabase,
1704
1704
  initTurso: () => initTurso,
1705
- isInitialized: () => isInitialized
1705
+ isInitialized: () => isInitialized,
1706
+ setExternalClient: () => setExternalClient
1706
1707
  });
1707
1708
  import { createClient } from "@libsql/client";
1708
1709
  async function initDatabase(config) {
@@ -1749,6 +1750,9 @@ async function initDatabase(config) {
1749
1750
  function isInitialized() {
1750
1751
  return _adapterClient !== null || _client !== null;
1751
1752
  }
1753
+ function setExternalClient(client) {
1754
+ _adapterClient = client;
1755
+ }
1752
1756
  function getClient() {
1753
1757
  if (!_adapterClient) {
1754
1758
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -7523,8 +7527,7 @@ function spawnEmployee(employeeName, exeSession2, projectDir, opts) {
7523
7527
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
7524
7528
  }
7525
7529
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
7526
- const defaultClaudeModel = DEFAULT_MODELS.claude;
7527
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
7530
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
7528
7531
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
7529
7532
  }
7530
7533
  }
@@ -1476,7 +1476,8 @@ __export(database_exports, {
1476
1476
  initDaemonClient: () => initDaemonClient,
1477
1477
  initDatabase: () => initDatabase,
1478
1478
  initTurso: () => initTurso,
1479
- isInitialized: () => isInitialized
1479
+ isInitialized: () => isInitialized,
1480
+ setExternalClient: () => setExternalClient
1480
1481
  });
1481
1482
  import { createClient } from "@libsql/client";
1482
1483
  async function initDatabase(config) {
@@ -1523,6 +1524,9 @@ async function initDatabase(config) {
1523
1524
  function isInitialized() {
1524
1525
  return _adapterClient !== null || _client !== null;
1525
1526
  }
1527
+ function setExternalClient(client) {
1528
+ _adapterClient = client;
1529
+ }
1526
1530
  function getClient() {
1527
1531
  if (!_adapterClient) {
1528
1532
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -3523,6 +3527,7 @@ ${EXE_SECTION_END}`;
3523
3527
  // src/adapters/codex/installer.ts
3524
3528
  var installer_exports = {};
3525
3529
  __export(installer_exports, {
3530
+ ensureCodexHooksFeature: () => ensureCodexHooksFeature,
3526
3531
  installCodexStatusLine: () => installCodexStatusLine,
3527
3532
  mergeCodexHooks: () => mergeCodexHooks,
3528
3533
  registerCodexMcpServer: () => registerCodexMcpServer,
@@ -3733,11 +3738,45 @@ args = ["${serverJsPath}"]
3733
3738
  await writeFile5(configPath, content);
3734
3739
  return "registered";
3735
3740
  }
3741
+ async function ensureCodexHooksFeature(homeDir = os10.homedir()) {
3742
+ const configPath = path13.join(homeDir, ".codex", "config.toml");
3743
+ await mkdir5(path13.join(homeDir, ".codex"), { recursive: true });
3744
+ let content = "";
3745
+ if (existsSync12(configPath)) {
3746
+ content = await readFile5(configPath, "utf-8");
3747
+ }
3748
+ if (/\[features\][\s\S]*?codex_hooks\s*=\s*true/.test(content)) {
3749
+ return "already-enabled";
3750
+ }
3751
+ if (content.includes("[features]")) {
3752
+ if (/codex_hooks\s*=\s*false/.test(content)) {
3753
+ content = content.replace(/codex_hooks\s*=\s*false/, "codex_hooks = true");
3754
+ } else {
3755
+ content = content.replace(/\[features\]/, "[features]\ncodex_hooks = true");
3756
+ }
3757
+ } else {
3758
+ const firstSectionMatch = content.match(/\n\[(?!features\])/);
3759
+ if (firstSectionMatch && firstSectionMatch.index != null) {
3760
+ const insertAt = firstSectionMatch.index;
3761
+ content = content.slice(0, insertAt) + "\n\n[features]\ncodex_hooks = true" + content.slice(insertAt);
3762
+ } else {
3763
+ const separator = content.length > 0 && !content.endsWith("\n") ? "\n\n" : "\n";
3764
+ content = content + separator + "[features]\ncodex_hooks = true\n";
3765
+ }
3766
+ }
3767
+ await writeFile5(configPath, content);
3768
+ return "enabled";
3769
+ }
3736
3770
  async function runCodexInstaller(homeDir) {
3737
3771
  const packageRoot = resolvePackageRoot();
3738
3772
  const result = await mergeCodexHooks(packageRoot, homeDir);
3739
3773
  process.stderr.write(
3740
3774
  `[exe-os] Codex hooks: ${result.added} added, ${result.skipped} unchanged
3775
+ `
3776
+ );
3777
+ const featureResult = await ensureCodexHooksFeature(homeDir);
3778
+ process.stderr.write(
3779
+ `[exe-os] Codex hooks feature: ${featureResult}
3741
3780
  `
3742
3781
  );
3743
3782
  const mcpResult = await registerCodexMcpServer(packageRoot, homeDir);
@@ -1465,7 +1465,8 @@ __export(database_exports, {
1465
1465
  initDaemonClient: () => initDaemonClient,
1466
1466
  initDatabase: () => initDatabase,
1467
1467
  initTurso: () => initTurso,
1468
- isInitialized: () => isInitialized
1468
+ isInitialized: () => isInitialized,
1469
+ setExternalClient: () => setExternalClient
1469
1470
  });
1470
1471
  import { createClient } from "@libsql/client";
1471
1472
  async function initDatabase(config) {
@@ -1512,6 +1513,9 @@ async function initDatabase(config) {
1512
1513
  function isInitialized() {
1513
1514
  return _adapterClient !== null || _client !== null;
1514
1515
  }
1516
+ function setExternalClient(client) {
1517
+ _adapterClient = client;
1518
+ }
1515
1519
  function getClient() {
1516
1520
  if (!_adapterClient) {
1517
1521
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -1691,7 +1691,8 @@ __export(database_exports, {
1691
1691
  initDaemonClient: () => initDaemonClient,
1692
1692
  initDatabase: () => initDatabase,
1693
1693
  initTurso: () => initTurso,
1694
- isInitialized: () => isInitialized
1694
+ isInitialized: () => isInitialized,
1695
+ setExternalClient: () => setExternalClient
1695
1696
  });
1696
1697
  import { createClient } from "@libsql/client";
1697
1698
  async function initDatabase(config) {
@@ -1738,6 +1739,9 @@ async function initDatabase(config) {
1738
1739
  function isInitialized() {
1739
1740
  return _adapterClient !== null || _client !== null;
1740
1741
  }
1742
+ function setExternalClient(client) {
1743
+ _adapterClient = client;
1744
+ }
1741
1745
  function getClient() {
1742
1746
  if (!_adapterClient) {
1743
1747
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -4493,7 +4497,7 @@ init_employees();
4493
4497
 
4494
4498
  // src/bin/fast-db-init.ts
4495
4499
  async function fastDbInit() {
4496
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4500
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4497
4501
  if (isInitialized2()) {
4498
4502
  return getClient2();
4499
4503
  }
@@ -4544,6 +4548,7 @@ async function fastDbInit() {
4544
4548
  return "file";
4545
4549
  }
4546
4550
  };
4551
+ setExternalClient2(daemonClient);
4547
4552
  return daemonClient;
4548
4553
  }
4549
4554
  } catch {
@@ -1680,7 +1680,8 @@ __export(database_exports, {
1680
1680
  initDaemonClient: () => initDaemonClient,
1681
1681
  initDatabase: () => initDatabase,
1682
1682
  initTurso: () => initTurso,
1683
- isInitialized: () => isInitialized
1683
+ isInitialized: () => isInitialized,
1684
+ setExternalClient: () => setExternalClient
1684
1685
  });
1685
1686
  import { createClient } from "@libsql/client";
1686
1687
  async function initDatabase(config) {
@@ -1727,6 +1728,9 @@ async function initDatabase(config) {
1727
1728
  function isInitialized() {
1728
1729
  return _adapterClient !== null || _client !== null;
1729
1730
  }
1731
+ function setExternalClient(client) {
1732
+ _adapterClient = client;
1733
+ }
1730
1734
  function getClient() {
1731
1735
  if (!_adapterClient) {
1732
1736
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -4073,7 +4077,7 @@ init_employees();
4073
4077
 
4074
4078
  // src/bin/fast-db-init.ts
4075
4079
  async function fastDbInit() {
4076
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4080
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4077
4081
  if (isInitialized2()) {
4078
4082
  return getClient2();
4079
4083
  }
@@ -4124,6 +4128,7 @@ async function fastDbInit() {
4124
4128
  return "file";
4125
4129
  }
4126
4130
  };
4131
+ setExternalClient2(daemonClient);
4127
4132
  return daemonClient;
4128
4133
  }
4129
4134
  } catch {
@@ -2182,7 +2182,8 @@ __export(database_exports, {
2182
2182
  initDaemonClient: () => initDaemonClient,
2183
2183
  initDatabase: () => initDatabase,
2184
2184
  initTurso: () => initTurso,
2185
- isInitialized: () => isInitialized
2185
+ isInitialized: () => isInitialized,
2186
+ setExternalClient: () => setExternalClient
2186
2187
  });
2187
2188
  import { createClient } from "@libsql/client";
2188
2189
  async function initDatabase(config) {
@@ -2229,6 +2230,9 @@ async function initDatabase(config) {
2229
2230
  function isInitialized() {
2230
2231
  return _adapterClient !== null || _client !== null;
2231
2232
  }
2233
+ function setExternalClient(client) {
2234
+ _adapterClient = client;
2235
+ }
2232
2236
  function getClient() {
2233
2237
  if (!_adapterClient) {
2234
2238
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -6294,8 +6298,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
6294
6298
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6295
6299
  }
6296
6300
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
6297
- const defaultClaudeModel = DEFAULT_MODELS.claude;
6298
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
6301
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
6299
6302
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6300
6303
  }
6301
6304
  }
@@ -1454,7 +1454,8 @@ __export(database_exports, {
1454
1454
  initDaemonClient: () => initDaemonClient,
1455
1455
  initDatabase: () => initDatabase,
1456
1456
  initTurso: () => initTurso,
1457
- isInitialized: () => isInitialized
1457
+ isInitialized: () => isInitialized,
1458
+ setExternalClient: () => setExternalClient
1458
1459
  });
1459
1460
  import { createClient } from "@libsql/client";
1460
1461
  async function initDatabase(config) {
@@ -1501,6 +1502,9 @@ async function initDatabase(config) {
1501
1502
  function isInitialized() {
1502
1503
  return _adapterClient !== null || _client !== null;
1503
1504
  }
1505
+ function setExternalClient(client) {
1506
+ _adapterClient = client;
1507
+ }
1504
1508
  function getClient() {
1505
1509
  if (!_adapterClient) {
1506
1510
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -1669,7 +1669,8 @@ __export(database_exports, {
1669
1669
  initDaemonClient: () => initDaemonClient,
1670
1670
  initDatabase: () => initDatabase,
1671
1671
  initTurso: () => initTurso,
1672
- isInitialized: () => isInitialized
1672
+ isInitialized: () => isInitialized,
1673
+ setExternalClient: () => setExternalClient
1673
1674
  });
1674
1675
  import { createClient } from "@libsql/client";
1675
1676
  async function initDatabase(config) {
@@ -1716,6 +1717,9 @@ async function initDatabase(config) {
1716
1717
  function isInitialized() {
1717
1718
  return _adapterClient !== null || _client !== null;
1718
1719
  }
1720
+ function setExternalClient(client) {
1721
+ _adapterClient = client;
1722
+ }
1719
1723
  function getClient() {
1720
1724
  if (!_adapterClient) {
1721
1725
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -4064,7 +4068,7 @@ import path8 from "path";
4064
4068
 
4065
4069
  // src/bin/fast-db-init.ts
4066
4070
  async function fastDbInit() {
4067
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4071
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4068
4072
  if (isInitialized2()) {
4069
4073
  return getClient2();
4070
4074
  }
@@ -4115,6 +4119,7 @@ async function fastDbInit() {
4115
4119
  return "file";
4116
4120
  }
4117
4121
  };
4122
+ setExternalClient2(daemonClient);
4118
4123
  return daemonClient;
4119
4124
  }
4120
4125
  } catch {
@@ -1416,6 +1416,7 @@ ${EXE_SECTION_END}`;
1416
1416
  // src/adapters/codex/installer.ts
1417
1417
  var installer_exports = {};
1418
1418
  __export(installer_exports, {
1419
+ ensureCodexHooksFeature: () => ensureCodexHooksFeature,
1419
1420
  installCodexStatusLine: () => installCodexStatusLine,
1420
1421
  mergeCodexHooks: () => mergeCodexHooks,
1421
1422
  registerCodexMcpServer: () => registerCodexMcpServer,
@@ -1626,11 +1627,45 @@ args = ["${serverJsPath}"]
1626
1627
  await writeFile4(configPath, content);
1627
1628
  return "registered";
1628
1629
  }
1630
+ async function ensureCodexHooksFeature(homeDir = os6.homedir()) {
1631
+ const configPath = path8.join(homeDir, ".codex", "config.toml");
1632
+ await mkdir4(path8.join(homeDir, ".codex"), { recursive: true });
1633
+ let content = "";
1634
+ if (existsSync9(configPath)) {
1635
+ content = await readFile4(configPath, "utf-8");
1636
+ }
1637
+ if (/\[features\][\s\S]*?codex_hooks\s*=\s*true/.test(content)) {
1638
+ return "already-enabled";
1639
+ }
1640
+ if (content.includes("[features]")) {
1641
+ if (/codex_hooks\s*=\s*false/.test(content)) {
1642
+ content = content.replace(/codex_hooks\s*=\s*false/, "codex_hooks = true");
1643
+ } else {
1644
+ content = content.replace(/\[features\]/, "[features]\ncodex_hooks = true");
1645
+ }
1646
+ } else {
1647
+ const firstSectionMatch = content.match(/\n\[(?!features\])/);
1648
+ if (firstSectionMatch && firstSectionMatch.index != null) {
1649
+ const insertAt = firstSectionMatch.index;
1650
+ content = content.slice(0, insertAt) + "\n\n[features]\ncodex_hooks = true" + content.slice(insertAt);
1651
+ } else {
1652
+ const separator = content.length > 0 && !content.endsWith("\n") ? "\n\n" : "\n";
1653
+ content = content + separator + "[features]\ncodex_hooks = true\n";
1654
+ }
1655
+ }
1656
+ await writeFile4(configPath, content);
1657
+ return "enabled";
1658
+ }
1629
1659
  async function runCodexInstaller(homeDir) {
1630
1660
  const packageRoot = resolvePackageRoot();
1631
1661
  const result = await mergeCodexHooks(packageRoot, homeDir);
1632
1662
  process.stderr.write(
1633
1663
  `[exe-os] Codex hooks: ${result.added} added, ${result.skipped} unchanged
1664
+ `
1665
+ );
1666
+ const featureResult = await ensureCodexHooksFeature(homeDir);
1667
+ process.stderr.write(
1668
+ `[exe-os] Codex hooks feature: ${featureResult}
1634
1669
  `
1635
1670
  );
1636
1671
  const mcpResult = await registerCodexMcpServer(packageRoot, homeDir);
@@ -1768,7 +1768,8 @@ __export(database_exports, {
1768
1768
  initDaemonClient: () => initDaemonClient,
1769
1769
  initDatabase: () => initDatabase,
1770
1770
  initTurso: () => initTurso,
1771
- isInitialized: () => isInitialized
1771
+ isInitialized: () => isInitialized,
1772
+ setExternalClient: () => setExternalClient
1772
1773
  });
1773
1774
  import { createClient } from "@libsql/client";
1774
1775
  async function initDatabase(config) {
@@ -1815,6 +1816,9 @@ async function initDatabase(config) {
1815
1816
  function isInitialized() {
1816
1817
  return _adapterClient !== null || _client !== null;
1817
1818
  }
1819
+ function setExternalClient(client) {
1820
+ _adapterClient = client;
1821
+ }
1818
1822
  function getClient() {
1819
1823
  if (!_adapterClient) {
1820
1824
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -4162,7 +4166,7 @@ __export(fast_db_init_exports, {
4162
4166
  fastDbInit: () => fastDbInit
4163
4167
  });
4164
4168
  async function fastDbInit() {
4165
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4169
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
4166
4170
  if (isInitialized2()) {
4167
4171
  return getClient2();
4168
4172
  }
@@ -4213,6 +4217,7 @@ async function fastDbInit() {
4213
4217
  return "file";
4214
4218
  }
4215
4219
  };
4220
+ setExternalClient2(daemonClient);
4216
4221
  return daemonClient;
4217
4222
  }
4218
4223
  } catch {
@@ -7300,8 +7305,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
7300
7305
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
7301
7306
  }
7302
7307
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
7303
- const defaultClaudeModel = DEFAULT_MODELS.claude;
7304
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
7308
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
7305
7309
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
7306
7310
  }
7307
7311
  }
@@ -2260,7 +2260,8 @@ __export(database_exports, {
2260
2260
  initDaemonClient: () => initDaemonClient,
2261
2261
  initDatabase: () => initDatabase,
2262
2262
  initTurso: () => initTurso,
2263
- isInitialized: () => isInitialized
2263
+ isInitialized: () => isInitialized,
2264
+ setExternalClient: () => setExternalClient
2264
2265
  });
2265
2266
  import { createClient } from "@libsql/client";
2266
2267
  async function initDatabase(config) {
@@ -2307,6 +2308,9 @@ async function initDatabase(config) {
2307
2308
  function isInitialized() {
2308
2309
  return _adapterClient !== null || _client !== null;
2309
2310
  }
2311
+ function setExternalClient(client) {
2312
+ _adapterClient = client;
2313
+ }
2310
2314
  function getClient() {
2311
2315
  if (!_adapterClient) {
2312
2316
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -6365,8 +6369,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
6365
6369
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6366
6370
  }
6367
6371
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
6368
- const defaultClaudeModel = DEFAULT_MODELS.claude;
6369
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
6372
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
6370
6373
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6371
6374
  }
6372
6375
  }
@@ -7764,7 +7767,7 @@ __export(fast_db_init_exports, {
7764
7767
  fastDbInit: () => fastDbInit
7765
7768
  });
7766
7769
  async function fastDbInit() {
7767
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
7770
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
7768
7771
  if (isInitialized2()) {
7769
7772
  return getClient2();
7770
7773
  }
@@ -7815,6 +7818,7 @@ async function fastDbInit() {
7815
7818
  return "file";
7816
7819
  }
7817
7820
  };
7821
+ setExternalClient2(daemonClient);
7818
7822
  return daemonClient;
7819
7823
  }
7820
7824
  } catch {
package/dist/bin/setup.js CHANGED
@@ -2708,7 +2708,8 @@ __export(database_exports, {
2708
2708
  initDaemonClient: () => initDaemonClient,
2709
2709
  initDatabase: () => initDatabase,
2710
2710
  initTurso: () => initTurso,
2711
- isInitialized: () => isInitialized
2711
+ isInitialized: () => isInitialized,
2712
+ setExternalClient: () => setExternalClient
2712
2713
  });
2713
2714
  import { createClient } from "@libsql/client";
2714
2715
  async function initDatabase(config) {
@@ -2755,6 +2756,9 @@ async function initDatabase(config) {
2755
2756
  function isInitialized() {
2756
2757
  return _adapterClient !== null || _client !== null;
2757
2758
  }
2759
+ function setExternalClient(client) {
2760
+ _adapterClient = client;
2761
+ }
2758
2762
  function getClient() {
2759
2763
  if (!_adapterClient) {
2760
2764
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -1454,7 +1454,8 @@ __export(database_exports, {
1454
1454
  initDaemonClient: () => initDaemonClient,
1455
1455
  initDatabase: () => initDatabase,
1456
1456
  initTurso: () => initTurso,
1457
- isInitialized: () => isInitialized
1457
+ isInitialized: () => isInitialized,
1458
+ setExternalClient: () => setExternalClient
1458
1459
  });
1459
1460
  import { createClient } from "@libsql/client";
1460
1461
  async function initDatabase(config) {
@@ -1501,6 +1502,9 @@ async function initDatabase(config) {
1501
1502
  function isInitialized() {
1502
1503
  return _adapterClient !== null || _client !== null;
1503
1504
  }
1505
+ function setExternalClient(client) {
1506
+ _adapterClient = client;
1507
+ }
1504
1508
  function getClient() {
1505
1509
  if (!_adapterClient) {
1506
1510
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -2313,7 +2313,8 @@ __export(database_exports, {
2313
2313
  initDaemonClient: () => initDaemonClient,
2314
2314
  initDatabase: () => initDatabase,
2315
2315
  initTurso: () => initTurso,
2316
- isInitialized: () => isInitialized
2316
+ isInitialized: () => isInitialized,
2317
+ setExternalClient: () => setExternalClient
2317
2318
  });
2318
2319
  import { createClient } from "@libsql/client";
2319
2320
  async function initDatabase(config2) {
@@ -2360,6 +2361,9 @@ async function initDatabase(config2) {
2360
2361
  function isInitialized() {
2361
2362
  return _adapterClient !== null || _client !== null;
2362
2363
  }
2364
+ function setExternalClient(client) {
2365
+ _adapterClient = client;
2366
+ }
2363
2367
  function getClient() {
2364
2368
  if (!_adapterClient) {
2365
2369
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -9143,8 +9147,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
9143
9147
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
9144
9148
  }
9145
9149
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
9146
- const defaultClaudeModel = DEFAULT_MODELS.claude;
9147
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
9150
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
9148
9151
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
9149
9152
  }
9150
9153
  }
@@ -2068,7 +2068,8 @@ __export(database_exports, {
2068
2068
  initDaemonClient: () => initDaemonClient,
2069
2069
  initDatabase: () => initDatabase,
2070
2070
  initTurso: () => initTurso,
2071
- isInitialized: () => isInitialized
2071
+ isInitialized: () => isInitialized,
2072
+ setExternalClient: () => setExternalClient
2072
2073
  });
2073
2074
  import { createClient } from "@libsql/client";
2074
2075
  async function initDatabase(config) {
@@ -2115,6 +2116,9 @@ async function initDatabase(config) {
2115
2116
  function isInitialized() {
2116
2117
  return _adapterClient !== null || _client !== null;
2117
2118
  }
2119
+ function setExternalClient(client) {
2120
+ _adapterClient = client;
2121
+ }
2118
2122
  function getClient() {
2119
2123
  if (!_adapterClient) {
2120
2124
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -6285,8 +6289,7 @@ function spawnEmployee(employeeName, exeSession, projectDir, opts) {
6285
6289
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6286
6290
  }
6287
6291
  if (!useExeAgent && !useCodex && !useOpencode && !useBinSymlink) {
6288
- const defaultClaudeModel = DEFAULT_MODELS.claude;
6289
- if (agentRtConfig.runtime === "claude" && agentRtConfig.model !== defaultClaudeModel) {
6292
+ if (agentRtConfig.runtime === "claude" && agentRtConfig.model) {
6290
6293
  envPrefix = `${envPrefix} ANTHROPIC_MODEL=${agentRtConfig.model}`;
6291
6294
  }
6292
6295
  }
@@ -7977,7 +7980,7 @@ var init_tasks = __esm({
7977
7980
 
7978
7981
  // src/bin/fast-db-init.ts
7979
7982
  async function fastDbInit() {
7980
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
7983
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
7981
7984
  if (isInitialized2()) {
7982
7985
  return getClient2();
7983
7986
  }
@@ -8028,6 +8031,7 @@ async function fastDbInit() {
8028
8031
  return "file";
8029
8032
  }
8030
8033
  };
8034
+ setExternalClient2(daemonClient);
8031
8035
  return daemonClient;
8032
8036
  }
8033
8037
  } catch {
@@ -1752,7 +1752,8 @@ __export(database_exports, {
1752
1752
  initDaemonClient: () => initDaemonClient,
1753
1753
  initDatabase: () => initDatabase,
1754
1754
  initTurso: () => initTurso,
1755
- isInitialized: () => isInitialized
1755
+ isInitialized: () => isInitialized,
1756
+ setExternalClient: () => setExternalClient
1756
1757
  });
1757
1758
  import { createClient } from "@libsql/client";
1758
1759
  async function initDatabase(config) {
@@ -1799,6 +1800,9 @@ async function initDatabase(config) {
1799
1800
  function isInitialized() {
1800
1801
  return _adapterClient !== null || _client !== null;
1801
1802
  }
1803
+ function setExternalClient(client) {
1804
+ _adapterClient = client;
1805
+ }
1802
1806
  function getClient() {
1803
1807
  if (!_adapterClient) {
1804
1808
  throw new Error("Database client not initialized. Call initDatabase() first.");
@@ -6029,7 +6033,7 @@ import { spawnSync } from "child_process";
6029
6033
 
6030
6034
  // src/bin/fast-db-init.ts
6031
6035
  async function fastDbInit() {
6032
- const { isInitialized: isInitialized2, getClient: getClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
6036
+ const { isInitialized: isInitialized2, getClient: getClient2, setExternalClient: setExternalClient2 } = await Promise.resolve().then(() => (init_database(), database_exports));
6033
6037
  if (isInitialized2()) {
6034
6038
  return getClient2();
6035
6039
  }
@@ -6080,6 +6084,7 @@ async function fastDbInit() {
6080
6084
  return "file";
6081
6085
  }
6082
6086
  };
6087
+ setExternalClient2(daemonClient);
6083
6088
  return daemonClient;
6084
6089
  }
6085
6090
  } catch {