volute 0.37.0 → 0.37.1

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 (31) hide show
  1. package/dist/{chunk-UQFYNZKT.js → chunk-4L2Q7IP5.js} +1 -1
  2. package/dist/{chunk-QQQI6ISK.js → chunk-LIIX2MOM.js} +1 -1
  3. package/dist/{chunk-NYP3LBIV.js → chunk-QJGLTPAP.js} +1 -1
  4. package/dist/{chunk-KBRGHKVU.js → chunk-RUIVWCYY.js} +43 -14
  5. package/dist/cli.js +6 -6
  6. package/dist/{cloud-sync-OIX576NA.js → cloud-sync-EZKCEIBX.js} +3 -3
  7. package/dist/{daemon-restart-L2O6L7NR.js → daemon-restart-S6SOD3C5.js} +1 -1
  8. package/dist/daemon.js +25 -25
  9. package/dist/{delivery-manager-4PVBUZJB.js → delivery-manager-3I7CA734.js} +3 -3
  10. package/dist/{echo-text-T5ZLGMA7.js → echo-text-IWAQKNTC.js} +4 -4
  11. package/dist/{extensions-CLYXNGYB.js → extensions-PCOXTHNM.js} +3 -3
  12. package/dist/{message-delivery-N2V5APCS.js → message-delivery-NWL7XEIX.js} +3 -3
  13. package/dist/{mind-M57ET546.js → mind-MM2IYMJ3.js} +2 -2
  14. package/dist/{mind-manager-LS2AIXHQ.js → mind-manager-VOEQ2IZL.js} +3 -3
  15. package/dist/{mind-service-UDXF5WC2.js → mind-service-WRTOQSAL.js} +3 -3
  16. package/dist/{package-5FGU5QNP.js → package-TA6IHIED.js} +1 -1
  17. package/dist/{scheduler-NTC74JYH.js → scheduler-355E746X.js} +3 -3
  18. package/dist/{seed-55VC3A57.js → seed-6S4Z6TAM.js} +1 -1
  19. package/dist/{seed-cmd-2KOEQZK6.js → seed-cmd-CBWLJWYD.js} +2 -2
  20. package/dist/{seed-create-Y2Z5JWBB.js → seed-create-NT6DG4SE.js} +1 -1
  21. package/dist/{seed-sprout-OLSIWXZN.js → seed-sprout-GQLSK4EF.js} +2 -2
  22. package/dist/{setup-6Z34JJEB.js → setup-APNN7KJB.js} +1 -1
  23. package/dist/{skills-FDMLJGZ3.js → skills-ZFVNN4TU.js} +1 -1
  24. package/dist/{sleep-manager-TQP5ZJI5.js → sleep-manager-PBOIEBJZ.js} +3 -3
  25. package/dist/{spirit-SM6ARJ2N.js → spirit-4QOYM33G.js} +2 -2
  26. package/dist/{sprout-G6G57IOY.js → sprout-UDLZPMEO.js} +1 -1
  27. package/dist/{system-chat-NNXYCSVL.js → system-chat-7AIN3U5M.js} +3 -3
  28. package/dist/{up-5JXV6BZS.js → up-4T32B7OB.js} +1 -1
  29. package/dist/{version-notify-CSE4NBYM.js → version-notify-NCRIN5QK.js} +3 -3
  30. package/package.json +1 -1
  31. /package/dist/{chunk-Z6TIXE77.js → chunk-CF4SO5L3.js} +0 -0
@@ -9,7 +9,7 @@ import {
9
9
  getSharedSkill,
10
10
  installSkill,
11
11
  mindSkillsDir
12
- } from "./chunk-NYP3LBIV.js";
12
+ } from "./chunk-QJGLTPAP.js";
13
13
  import {
14
14
  readVoluteConfig,
15
15
  writeVoluteConfig
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  publish,
8
8
  recordOutbound
9
- } from "./chunk-KBRGHKVU.js";
9
+ } from "./chunk-RUIVWCYY.js";
10
10
  import {
11
11
  readEnv,
12
12
  sharedEnvPath
@@ -46,7 +46,7 @@ async function initDefaultSkills() {
46
46
  const config = readGlobalConfig();
47
47
  let extensionSkills = [];
48
48
  try {
49
- const { getExtensionStandardSkills } = await import("./extensions-CLYXNGYB.js");
49
+ const { getExtensionStandardSkills } = await import("./extensions-PCOXTHNM.js");
50
50
  extensionSkills = getExtensionStandardSkills();
51
51
  } catch (err) {
52
52
  logger_default.warn("failed to load extension standard skills during init", logger_default.errorData(err));
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-PMMHVSCR.js";
5
5
  import {
6
6
  spiritDir
7
- } from "./chunk-UQFYNZKT.js";
7
+ } from "./chunk-4L2Q7IP5.js";
8
8
  import {
9
9
  hashSkillDir,
10
10
  importSkillFromDir,
11
11
  removeSharedSkill,
12
12
  sharedSkillsDir
13
- } from "./chunk-NYP3LBIV.js";
13
+ } from "./chunk-QJGLTPAP.js";
14
14
  import {
15
15
  readVoluteConfig,
16
16
  writeVoluteConfig
@@ -1535,11 +1535,40 @@ var MindManager = class {
1535
1535
  }
1536
1536
  if (target.template === "codex") {
1537
1537
  try {
1538
- const apiKey = await resolveApiKey("openai-codex");
1539
- if (apiKey) {
1540
- env.OPENAI_API_KEY = apiKey;
1541
- } else if (process.env.OPENAI_API_KEY) {
1542
- env.OPENAI_API_KEY = process.env.OPENAI_API_KEY;
1538
+ const ai = getAiConfig();
1539
+ const codexConfig = ai?.providers["openai-codex"];
1540
+ if (codexConfig?.oauth) {
1541
+ const codexDir = resolve(dir, ".mind", "codex");
1542
+ mkdirSync(codexDir, { recursive: true });
1543
+ env.CODEX_HOME = codexDir;
1544
+ const authPath = resolve(codexDir, "auth.json");
1545
+ writeFileSync2(
1546
+ authPath,
1547
+ JSON.stringify({
1548
+ auth_mode: "chatgpt",
1549
+ tokens: {
1550
+ access_token: codexConfig.oauth.access,
1551
+ refresh_token: codexConfig.oauth.refresh,
1552
+ id_token: codexConfig.oauth.access
1553
+ },
1554
+ last_refresh: (/* @__PURE__ */ new Date()).toISOString()
1555
+ }),
1556
+ { mode: 384 }
1557
+ );
1558
+ const configTomlPath = resolve(codexDir, "config.toml");
1559
+ if (!existsSync3(configTomlPath)) {
1560
+ writeFileSync2(configTomlPath, 'cli_auth_credentials_store = "file"\n');
1561
+ }
1562
+ if (isIsolationEnabled()) {
1563
+ chownMindDir(codexDir, baseName);
1564
+ }
1565
+ } else {
1566
+ const apiKey = await resolveApiKey("openai-codex");
1567
+ if (apiKey) {
1568
+ env.OPENAI_API_KEY = apiKey;
1569
+ } else if (process.env.OPENAI_API_KEY) {
1570
+ env.OPENAI_API_KEY = process.env.OPENAI_API_KEY;
1571
+ }
1543
1572
  }
1544
1573
  } catch (err) {
1545
1574
  mlog.error(`failed to resolve OpenAI API key for ${name}`, logger_default.errorData(err));
@@ -1740,7 +1769,7 @@ var MindManager = class {
1740
1769
  if (this.shuttingDown || this.stopping.has(name)) return;
1741
1770
  mlog.error(`mind ${name} exited with code ${code}`);
1742
1771
  try {
1743
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
1772
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
1744
1773
  const sleepState = getSleepManagerIfReady2()?.getState(name);
1745
1774
  if (sleepState?.sleeping) {
1746
1775
  mlog.info(`${name} is sleeping \u2014 skipping crash recovery`);
@@ -1753,7 +1782,7 @@ var MindManager = class {
1753
1782
  (err) => mlog.warn(`failed to clear turn state for ${name} after crash`, logger_default.errorData(err))
1754
1783
  );
1755
1784
  try {
1756
- const { getDeliveryManager: getDeliveryManager2 } = await import("./delivery-manager-4PVBUZJB.js");
1785
+ const { getDeliveryManager: getDeliveryManager2 } = await import("./delivery-manager-3I7CA734.js");
1757
1786
  getDeliveryManager2().clearMindSessions(name);
1758
1787
  } catch (err) {
1759
1788
  if (!(err instanceof Error && err.message.includes("not initialized"))) {
@@ -1812,7 +1841,7 @@ var MindManager = class {
1812
1841
  mlog.warn(`failed to clear turn state for ${name} on stop`, logger_default.errorData(err));
1813
1842
  }
1814
1843
  try {
1815
- const { getDeliveryManager: getDeliveryManager2 } = await import("./delivery-manager-4PVBUZJB.js");
1844
+ const { getDeliveryManager: getDeliveryManager2 } = await import("./delivery-manager-3I7CA734.js");
1816
1845
  getDeliveryManager2().clearMindSessions(name);
1817
1846
  } catch (err) {
1818
1847
  if (!(err instanceof Error && err.message.includes("not initialized"))) {
@@ -1820,7 +1849,7 @@ var MindManager = class {
1820
1849
  }
1821
1850
  }
1822
1851
  try {
1823
- const { clearEchoTextCache } = await import("./echo-text-T5ZLGMA7.js");
1852
+ const { clearEchoTextCache } = await import("./echo-text-IWAQKNTC.js");
1824
1853
  clearEchoTextCache(name);
1825
1854
  } catch (err) {
1826
1855
  mlog.debug(`failed to clear echo-text cache for ${name}`, logger_default.errorData(err));
@@ -3708,7 +3737,7 @@ var SleepManager = class {
3708
3737
  const db = await getDb();
3709
3738
  const rows = await db.select().from(deliveryQueue).where(and2(eq4(deliveryQueue.mind, name), eq4(deliveryQueue.status, "sleep-queued"))).all();
3710
3739
  if (rows.length === 0) return 0;
3711
- const { deliverMessage: deliverMessage2 } = await import("./message-delivery-N2V5APCS.js");
3740
+ const { deliverMessage: deliverMessage2 } = await import("./message-delivery-NWL7XEIX.js");
3712
3741
  const delivered = [];
3713
3742
  for (const row of rows) {
3714
3743
  try {
@@ -4618,7 +4647,7 @@ var DeliveryManager = class {
4618
4647
  `To accept this channel, add a routing rule for "${channel}" to your routes.json.`,
4619
4648
  `Messages are being held until a route is configured.`
4620
4649
  ].filter((line) => line !== null).join("\n");
4621
- const { sendSystemMessage: sendSystemMessage2 } = await import("./system-chat-NNXYCSVL.js");
4650
+ const { sendSystemMessage: sendSystemMessage2 } = await import("./system-chat-7AIN3U5M.js");
4622
4651
  await sendSystemMessage2(mindName, notification);
4623
4652
  }
4624
4653
  async persistToQueue(mindName, session, payload, status = "pending") {
@@ -5141,7 +5170,7 @@ async function generateSystemReply(conversationId, mindName, message) {
5141
5170
  if (config.sleep.schedule?.wake) contextParts.push(`Wake cron: ${config.sleep.schedule.wake}`);
5142
5171
  }
5143
5172
  try {
5144
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
5173
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
5145
5174
  const sm = getSleepManagerIfReady2();
5146
5175
  if (sm) {
5147
5176
  const state = sm.getState(mindName);
package/dist/cli.js CHANGED
@@ -10,7 +10,7 @@ if (!process.env.VOLUTE_HOME) {
10
10
  var command = process.argv[2];
11
11
  var args = process.argv.slice(3);
12
12
  if (command === "--version" || command === "-v") {
13
- const { default: pkg } = await import("./package-5FGU5QNP.js");
13
+ const { default: pkg } = await import("./package-TA6IHIED.js");
14
14
  console.log(pkg.version);
15
15
  process.exit(0);
16
16
  }
@@ -39,13 +39,13 @@ if (!ungatedCommands.has(command)) {
39
39
  }
40
40
  switch (command) {
41
41
  case "setup":
42
- await import("./setup-6Z34JJEB.js").then((m) => m.run(args));
42
+ await import("./setup-APNN7KJB.js").then((m) => m.run(args));
43
43
  break;
44
44
  case "mind":
45
- await import("./mind-M57ET546.js").then((m) => m.run(args));
45
+ await import("./mind-MM2IYMJ3.js").then((m) => m.run(args));
46
46
  break;
47
47
  case "seed":
48
- await import("./seed-cmd-2KOEQZK6.js").then((m) => m.run(args));
48
+ await import("./seed-cmd-CBWLJWYD.js").then((m) => m.run(args));
49
49
  break;
50
50
  case "chat":
51
51
  await import("./chat-5Y4FD77E.js").then((m) => m.run(args));
@@ -66,13 +66,13 @@ switch (command) {
66
66
  await import("./config-QB7W3Z7P.js").then((m) => m.run(args));
67
67
  break;
68
68
  case "up":
69
- await import("./up-5JXV6BZS.js").then((m) => m.run(args));
69
+ await import("./up-4T32B7OB.js").then((m) => m.run(args));
70
70
  break;
71
71
  case "down":
72
72
  await import("./down-25L2RKCQ.js").then((m) => m.run(args));
73
73
  break;
74
74
  case "restart":
75
- await import("./daemon-restart-L2O6L7NR.js").then((m) => m.run(args));
75
+ await import("./daemon-restart-S6SOD3C5.js").then((m) => m.run(args));
76
76
  break;
77
77
  case "update":
78
78
  await import("./update-UOP2INF2.js").then((m) => m.run(args));
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  deliverMessage
4
- } from "./chunk-KBRGHKVU.js";
4
+ } from "./chunk-RUIVWCYY.js";
5
5
  import "./chunk-PMMHVSCR.js";
6
- import "./chunk-UQFYNZKT.js";
6
+ import "./chunk-4L2Q7IP5.js";
7
7
  import "./chunk-46DYYHN6.js";
8
- import "./chunk-NYP3LBIV.js";
8
+ import "./chunk-QJGLTPAP.js";
9
9
  import "./chunk-CU6OFXMM.js";
10
10
  import "./chunk-KXXJYY62.js";
11
11
  import "./chunk-7AZQFSOV.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-MQRS4J24.js";
5
5
  import {
6
6
  run
7
- } from "./chunk-Z6TIXE77.js";
7
+ } from "./chunk-CF4SO5L3.js";
8
8
  import {
9
9
  getServiceMode,
10
10
  modeLabel,
package/dist/daemon.js CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  echoTextToChannel,
30
30
  getPlatformDriver,
31
31
  routeOutboundBridge
32
- } from "./chunk-QQQI6ISK.js";
32
+ } from "./chunk-LIIX2MOM.js";
33
33
  import {
34
34
  getBridgeConfig,
35
35
  readBridgesConfig,
@@ -101,7 +101,7 @@ import {
101
101
  trackToolUse,
102
102
  uninstallNpmExtension,
103
103
  writeSystemsConfig
104
- } from "./chunk-KBRGHKVU.js";
104
+ } from "./chunk-RUIVWCYY.js";
105
105
  import {
106
106
  loadMergedEnv,
107
107
  mindEnvPath,
@@ -109,7 +109,7 @@ import {
109
109
  sharedEnvPath,
110
110
  writeEnv
111
111
  } from "./chunk-PMMHVSCR.js";
112
- import "./chunk-UQFYNZKT.js";
112
+ import "./chunk-4L2Q7IP5.js";
113
113
  import {
114
114
  applyInitFiles,
115
115
  composeTemplate,
@@ -136,7 +136,7 @@ import {
136
136
  syncBuiltinSkills,
137
137
  uninstallSkill,
138
138
  updateSkill
139
- } from "./chunk-NYP3LBIV.js";
139
+ } from "./chunk-QJGLTPAP.js";
140
140
  import {
141
141
  readVoluteConfig,
142
142
  writeVoluteConfig
@@ -2085,8 +2085,8 @@ async function fanOutToBridgedMinds(opts) {
2085
2085
  const participants = await getParticipants(opts.conversationId);
2086
2086
  const mindParticipants = participants.filter((p) => p.userType === "mind");
2087
2087
  const participantNames = participants.map((p) => p.username);
2088
- const { getMindManager: getMindManager2 } = await import("./mind-manager-LS2AIXHQ.js");
2089
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
2088
+ const { getMindManager: getMindManager2 } = await import("./mind-manager-VOEQ2IZL.js");
2089
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
2090
2090
  const manager = getMindManager2();
2091
2091
  const sm = getSleepManagerIfReady2();
2092
2092
  const targetMinds = mindParticipants.filter((ap) => {
@@ -2298,7 +2298,7 @@ async function notifyMind(mindName, message) {
2298
2298
  const entry = await findMind(mindName);
2299
2299
  if (!entry) return;
2300
2300
  try {
2301
- const { sendSystemMessage } = await import("./system-chat-NNXYCSVL.js");
2301
+ const { sendSystemMessage } = await import("./system-chat-7AIN3U5M.js");
2302
2302
  await sendSystemMessage(mindName, message);
2303
2303
  } catch (err) {
2304
2304
  logger_default.warn(`[file-sharing] notify mind ${mindName} failed`, logger_default.errorData(err));
@@ -3524,7 +3524,7 @@ async function getMindStatus(name, port, registryRunning) {
3524
3524
  const manager = getMindManager();
3525
3525
  let status = "stopped";
3526
3526
  try {
3527
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
3527
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
3528
3528
  if (getSleepManagerIfReady2()?.isSleeping(name)) {
3529
3529
  status = "sleeping";
3530
3530
  }
@@ -4072,7 +4072,7 @@ The human who planted you described you as: "${body.description}"
4072
4072
  try {
4073
4073
  const spiritEntry = await findMind("volute");
4074
4074
  if (spiritEntry) {
4075
- const { spiritDir } = await import("./spirit-SM6ARJ2N.js");
4075
+ const { spiritDir } = await import("./spirit-4QOYM33G.js");
4076
4076
  const sDir = spiritEntry.dir ?? spiritDir();
4077
4077
  const spiritConfig = readVoluteConfig(sDir) ?? {};
4078
4078
  const schedules = spiritConfig.schedules ?? [];
@@ -4087,7 +4087,7 @@ The human who planted you described you as: "${body.description}"
4087
4087
  });
4088
4088
  spiritConfig.schedules = schedules;
4089
4089
  writeVoluteConfig(sDir, spiritConfig);
4090
- const { getScheduler: getScheduler2 } = await import("./scheduler-NTC74JYH.js");
4090
+ const { getScheduler: getScheduler2 } = await import("./scheduler-355E746X.js");
4091
4091
  getScheduler2().loadSchedules("volute", sDir);
4092
4092
  }
4093
4093
  }
@@ -4378,7 +4378,7 @@ ${user.trimEnd()}
4378
4378
  const manager = getMindManager();
4379
4379
  try {
4380
4380
  if (context?.type === "reload") {
4381
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
4381
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
4382
4382
  const sleepState = getSleepManagerIfReady2()?.getState(name);
4383
4383
  if (sleepState?.sleeping) {
4384
4384
  logger_default.info(`skipping reload for ${name} during sleep \u2014 will apply on next wake`);
@@ -4473,7 +4473,7 @@ ${user.trimEnd()}
4473
4473
  const name = c.req.param("name");
4474
4474
  const entry = await findMind(name);
4475
4475
  if (!entry) return c.json({ error: "Mind not found" }, 404);
4476
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
4476
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
4477
4477
  const sm = getSleepManagerIfReady2();
4478
4478
  if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
4479
4479
  return c.json(sm.getState(name));
@@ -4481,7 +4481,7 @@ ${user.trimEnd()}
4481
4481
  const name = c.req.param("name");
4482
4482
  const entry = await findMind(name);
4483
4483
  if (!entry) return c.json({ error: "Mind not found" }, 404);
4484
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
4484
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
4485
4485
  const sm = getSleepManagerIfReady2();
4486
4486
  if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
4487
4487
  if (sm.isSleeping(name)) return c.json({ error: "Mind is already sleeping" }, 409);
@@ -4501,7 +4501,7 @@ ${user.trimEnd()}
4501
4501
  const name = c.req.param("name");
4502
4502
  const entry = await findMind(name);
4503
4503
  if (!entry) return c.json({ error: "Mind not found" }, 404);
4504
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
4504
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
4505
4505
  const sm = getSleepManagerIfReady2();
4506
4506
  if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
4507
4507
  const sleepState = sm.getState(name);
@@ -4516,7 +4516,7 @@ ${user.trimEnd()}
4516
4516
  const name = c.req.param("name");
4517
4517
  const entry = await findMind(name);
4518
4518
  if (!entry) return c.json({ error: "Mind not found" }, 404);
4519
- const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-TQP5ZJI5.js");
4519
+ const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-PBOIEBJZ.js");
4520
4520
  const sm = getSleepManagerIfReady2();
4521
4521
  if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
4522
4522
  const flushed = await sm.flushQueuedMessages(name);
@@ -4619,7 +4619,7 @@ ${user.trimEnd()}
4619
4619
  try {
4620
4620
  const spiritEntry = await findMind("volute");
4621
4621
  if (spiritEntry) {
4622
- const { spiritDir } = await import("./spirit-SM6ARJ2N.js");
4622
+ const { spiritDir } = await import("./spirit-4QOYM33G.js");
4623
4623
  const sDir = spiritEntry.dir ?? spiritDir();
4624
4624
  const spiritConfig = readVoluteConfig(sDir);
4625
4625
  if (spiritConfig?.schedules) {
@@ -4627,7 +4627,7 @@ ${user.trimEnd()}
4627
4627
  spiritConfig.schedules = spiritConfig.schedules.filter((s) => s.id !== nurtureId);
4628
4628
  if (spiritConfig.schedules.length === 0) spiritConfig.schedules = void 0;
4629
4629
  writeVoluteConfig(sDir, spiritConfig);
4630
- const { getScheduler: getScheduler2 } = await import("./scheduler-NTC74JYH.js");
4630
+ const { getScheduler: getScheduler2 } = await import("./scheduler-355E746X.js");
4631
4631
  getScheduler2().loadSchedules("volute", sDir);
4632
4632
  }
4633
4633
  }
@@ -5862,7 +5862,7 @@ var app15 = new Hono17().get("/:name/clock/status", async (c) => {
5862
5862
  const body = await c.req.text();
5863
5863
  const message = `[webhook: ${event}] ${body}`;
5864
5864
  try {
5865
- const { sendSystemMessage } = await import("./system-chat-NNXYCSVL.js");
5865
+ const { sendSystemMessage } = await import("./system-chat-7AIN3U5M.js");
5866
5866
  await sendSystemMessage(name, message);
5867
5867
  return c.json({ ok: true });
5868
5868
  } catch (err) {
@@ -6169,8 +6169,8 @@ setup.post("/complete", async (c) => {
6169
6169
  return c.json({ error: "Setup already complete" }, 400);
6170
6170
  }
6171
6171
  try {
6172
- const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-SM6ARJ2N.js");
6173
- const { startSpiritFull } = await import("./mind-service-UDXF5WC2.js");
6172
+ const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-4QOYM33G.js");
6173
+ const { startSpiritFull } = await import("./mind-service-WRTOQSAL.js");
6174
6174
  await ensureSpiritProject();
6175
6175
  await syncSpiritTemplate();
6176
6176
  const warnings = [];
@@ -6209,7 +6209,7 @@ setup.post("/complete", async (c) => {
6209
6209
  logger_default.info("setup complete state", { spiritConversationId, spiritStarted });
6210
6210
  if (spiritConversationId && spiritStarted) {
6211
6211
  try {
6212
- const { deliverMessage: deliverMessage2 } = await import("./message-delivery-N2V5APCS.js");
6212
+ const { deliverMessage: deliverMessage2 } = await import("./message-delivery-NWL7XEIX.js");
6213
6213
  const { listUsersByType: listUsers2 } = await import("./auth-2QOOPMBX.js");
6214
6214
  const admins = await listUsers2("brain");
6215
6215
  const admin2 = admins.find((u) => u.role === "admin");
@@ -7855,8 +7855,8 @@ async function startDaemon(opts) {
7855
7855
  try {
7856
7856
  const { isSetupComplete: isSetupComplete2 } = await import("./setup-PF7JSFMO.js");
7857
7857
  if (isSetupComplete2()) {
7858
- const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-SM6ARJ2N.js");
7859
- const { startSpiritFull } = await import("./mind-service-UDXF5WC2.js");
7858
+ const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-4QOYM33G.js");
7859
+ const { startSpiritFull } = await import("./mind-service-WRTOQSAL.js");
7860
7860
  await ensureSpiritProject();
7861
7861
  await syncSpiritTemplate();
7862
7862
  const spiritEntry = await findMind("volute");
@@ -7873,7 +7873,7 @@ async function startDaemon(opts) {
7873
7873
  bridgeManager.startBridges(daemonPort).catch((err) => {
7874
7874
  logger_default.warn("failed to start bridges", logger_default.errorData(err));
7875
7875
  });
7876
- import("./cloud-sync-OIX576NA.js").then(
7876
+ import("./cloud-sync-EZKCEIBX.js").then(
7877
7877
  ({ consumeQueuedMessages }) => consumeQueuedMessages().catch((err) => {
7878
7878
  logger_default.warn("failed to consume queued cloud messages", logger_default.errorData(err));
7879
7879
  })
@@ -7881,7 +7881,7 @@ async function startDaemon(opts) {
7881
7881
  logger_default.warn("failed to load cloud-sync module", logger_default.errorData(err));
7882
7882
  });
7883
7883
  try {
7884
- const { backfillTemplateHashes, notifyVersionUpdate } = await import("./version-notify-CSE4NBYM.js");
7884
+ const { backfillTemplateHashes, notifyVersionUpdate } = await import("./version-notify-NCRIN5QK.js");
7885
7885
  backfillTemplateHashes();
7886
7886
  notifyVersionUpdate().catch((err) => {
7887
7887
  logger_default.warn("failed to send version update notifications", logger_default.errorData(err));
@@ -3,11 +3,11 @@ import {
3
3
  DeliveryManager,
4
4
  getDeliveryManager,
5
5
  initDeliveryManager
6
- } from "./chunk-KBRGHKVU.js";
6
+ } from "./chunk-RUIVWCYY.js";
7
7
  import "./chunk-PMMHVSCR.js";
8
- import "./chunk-UQFYNZKT.js";
8
+ import "./chunk-4L2Q7IP5.js";
9
9
  import "./chunk-46DYYHN6.js";
10
- import "./chunk-NYP3LBIV.js";
10
+ import "./chunk-QJGLTPAP.js";
11
11
  import "./chunk-CU6OFXMM.js";
12
12
  import "./chunk-KXXJYY62.js";
13
13
  import "./chunk-7AZQFSOV.js";
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  clearEchoTextCache,
4
4
  echoTextToChannel
5
- } from "./chunk-QQQI6ISK.js";
5
+ } from "./chunk-LIIX2MOM.js";
6
6
  import "./chunk-LQ6Z4FXN.js";
7
- import "./chunk-KBRGHKVU.js";
7
+ import "./chunk-RUIVWCYY.js";
8
8
  import "./chunk-PMMHVSCR.js";
9
- import "./chunk-UQFYNZKT.js";
9
+ import "./chunk-4L2Q7IP5.js";
10
10
  import "./chunk-46DYYHN6.js";
11
- import "./chunk-NYP3LBIV.js";
11
+ import "./chunk-QJGLTPAP.js";
12
12
  import "./chunk-CU6OFXMM.js";
13
13
  import "./chunk-KXXJYY62.js";
14
14
  import "./chunk-7AZQFSOV.js";
@@ -13,11 +13,11 @@ import {
13
13
  parseCommandArgs,
14
14
  setExtensionEnabled,
15
15
  uninstallNpmExtension
16
- } from "./chunk-KBRGHKVU.js";
16
+ } from "./chunk-RUIVWCYY.js";
17
17
  import "./chunk-PMMHVSCR.js";
18
- import "./chunk-UQFYNZKT.js";
18
+ import "./chunk-4L2Q7IP5.js";
19
19
  import "./chunk-46DYYHN6.js";
20
- import "./chunk-NYP3LBIV.js";
20
+ import "./chunk-QJGLTPAP.js";
21
21
  import "./chunk-CU6OFXMM.js";
22
22
  import "./chunk-KXXJYY62.js";
23
23
  import "./chunk-7AZQFSOV.js";
@@ -8,11 +8,11 @@ import {
8
8
  tagRecentInbound,
9
9
  tagUntaggedInbound,
10
10
  tagUntaggedOutbound
11
- } from "./chunk-KBRGHKVU.js";
11
+ } from "./chunk-RUIVWCYY.js";
12
12
  import "./chunk-PMMHVSCR.js";
13
- import "./chunk-UQFYNZKT.js";
13
+ import "./chunk-4L2Q7IP5.js";
14
14
  import "./chunk-46DYYHN6.js";
15
- import "./chunk-NYP3LBIV.js";
15
+ import "./chunk-QJGLTPAP.js";
16
16
  import "./chunk-CU6OFXMM.js";
17
17
  import "./chunk-KXXJYY62.js";
18
18
  import "./chunk-7AZQFSOV.js";
@@ -82,11 +82,11 @@ var cmd = subcommands({
82
82
  },
83
83
  seed: {
84
84
  description: "(legacy) Use 'volute seed create' instead",
85
- run: (args) => import("./seed-55VC3A57.js").then((m) => m.run(args))
85
+ run: (args) => import("./seed-6S4Z6TAM.js").then((m) => m.run(args))
86
86
  },
87
87
  sprout: {
88
88
  description: "(legacy) Use 'volute seed sprout' instead",
89
- run: (args) => import("./sprout-G6G57IOY.js").then((m) => m.run(args))
89
+ run: (args) => import("./sprout-UDLZPMEO.js").then((m) => m.run(args))
90
90
  }
91
91
  },
92
92
  footer: "Mind name can be omitted (where applicable) if VOLUTE_MIND is set."
@@ -3,11 +3,11 @@ import {
3
3
  MindManager,
4
4
  getMindManager,
5
5
  initMindManager
6
- } from "./chunk-KBRGHKVU.js";
6
+ } from "./chunk-RUIVWCYY.js";
7
7
  import "./chunk-PMMHVSCR.js";
8
- import "./chunk-UQFYNZKT.js";
8
+ import "./chunk-4L2Q7IP5.js";
9
9
  import "./chunk-46DYYHN6.js";
10
- import "./chunk-NYP3LBIV.js";
10
+ import "./chunk-QJGLTPAP.js";
11
11
  import "./chunk-CU6OFXMM.js";
12
12
  import "./chunk-KXXJYY62.js";
13
13
  import "./chunk-7AZQFSOV.js";
@@ -6,11 +6,11 @@ import {
6
6
  stopMindFull,
7
7
  stopSpiritFull,
8
8
  wakeMind
9
- } from "./chunk-KBRGHKVU.js";
9
+ } from "./chunk-RUIVWCYY.js";
10
10
  import "./chunk-PMMHVSCR.js";
11
- import "./chunk-UQFYNZKT.js";
11
+ import "./chunk-4L2Q7IP5.js";
12
12
  import "./chunk-46DYYHN6.js";
13
- import "./chunk-NYP3LBIV.js";
13
+ import "./chunk-QJGLTPAP.js";
14
14
  import "./chunk-CU6OFXMM.js";
15
15
  import "./chunk-KXXJYY62.js";
16
16
  import "./chunk-7AZQFSOV.js";
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "volute",
7
- version: "0.37.0",
7
+ version: "0.37.1",
8
8
  description: "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
9
9
  type: "module",
10
10
  license: "MIT",
@@ -3,11 +3,11 @@ import {
3
3
  Scheduler,
4
4
  getScheduler,
5
5
  initScheduler
6
- } from "./chunk-KBRGHKVU.js";
6
+ } from "./chunk-RUIVWCYY.js";
7
7
  import "./chunk-PMMHVSCR.js";
8
- import "./chunk-UQFYNZKT.js";
8
+ import "./chunk-4L2Q7IP5.js";
9
9
  import "./chunk-46DYYHN6.js";
10
- import "./chunk-NYP3LBIV.js";
10
+ import "./chunk-QJGLTPAP.js";
11
11
  import "./chunk-CU6OFXMM.js";
12
12
  import "./chunk-KXXJYY62.js";
13
13
  import "./chunk-7AZQFSOV.js";
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // packages/cli/src/commands/seed.ts
5
5
  async function run(args) {
6
6
  console.error("Note: `volute mind seed` is now `volute seed create`");
7
- await import("./seed-create-Y2Z5JWBB.js").then((m) => m.run(args));
7
+ await import("./seed-create-NT6DG4SE.js").then((m) => m.run(args));
8
8
  }
9
9
  export {
10
10
  run
@@ -12,11 +12,11 @@ var cmd = subcommands({
12
12
  commands: {
13
13
  create: {
14
14
  description: "Plant a new seed",
15
- run: (args) => import("./seed-create-Y2Z5JWBB.js").then((m) => m.run(args))
15
+ run: (args) => import("./seed-create-NT6DG4SE.js").then((m) => m.run(args))
16
16
  },
17
17
  sprout: {
18
18
  description: "Complete orientation and become a full mind",
19
- run: (args) => import("./seed-sprout-OLSIWXZN.js").then((m) => m.run(args))
19
+ run: (args) => import("./seed-sprout-GQLSK4EF.js").then((m) => m.run(args))
20
20
  },
21
21
  check: {
22
22
  description: "Check seed readiness",
@@ -58,7 +58,7 @@ var cmd = command({
58
58
  }
59
59
  if (template !== "claude" && !model) {
60
60
  if (process.env.VOLUTE_MIND || !process.stdin.isTTY) {
61
- const { getSpiritModel } = await import("./spirit-SM6ARJ2N.js");
61
+ const { getSpiritModel } = await import("./spirit-4QOYM33G.js");
62
62
  const { qualifyModelId } = await import("./ai-service-C2YNARGH.js");
63
63
  const spiritModel = getSpiritModel();
64
64
  if (spiritModel) {
@@ -8,7 +8,7 @@ import {
8
8
  import "./chunk-O7IGP7ZW.js";
9
9
  import {
10
10
  getStandardSkillsWithExtensions
11
- } from "./chunk-NYP3LBIV.js";
11
+ } from "./chunk-QJGLTPAP.js";
12
12
  import "./chunk-3F7XK5Q7.js";
13
13
  import "./chunk-SNW2NPP4.js";
14
14
  import "./chunk-A6FLW5XD.js";
@@ -74,7 +74,7 @@ var cmd = command({
74
74
  }
75
75
  }
76
76
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
77
- const { mindSkillsDir } = await import("./skills-FDMLJGZ3.js");
77
+ const { mindSkillsDir } = await import("./skills-ZFVNN4TU.js");
78
78
  const client = getClient();
79
79
  const failedSkills = [];
80
80
  for (const skillId of getStandardSkillsWithExtensions()) {
@@ -403,7 +403,7 @@ Install as a service (auto-start on boot)? [${serviceDefault}]: `;
403
403
  const url = `http://${displayHost === "0.0.0.0" || displayHost === "::" ? "localhost" : displayHost}:${displayPort}`;
404
404
  console.log("\nStarting daemon...");
405
405
  try {
406
- const { run: runUp } = await import("./up-5JXV6BZS.js");
406
+ const { run: runUp } = await import("./up-4T32B7OB.js");
407
407
  await runUp([
408
408
  ...port != null ? ["--port", String(port)] : [],
409
409
  ...host ? ["--host", host] : []
@@ -27,7 +27,7 @@ import {
27
27
  syncBuiltinSkills,
28
28
  uninstallSkill,
29
29
  updateSkill
30
- } from "./chunk-NYP3LBIV.js";
30
+ } from "./chunk-QJGLTPAP.js";
31
31
  import "./chunk-3F7XK5Q7.js";
32
32
  import "./chunk-SNW2NPP4.js";
33
33
  import "./chunk-A6FLW5XD.js";
@@ -5,11 +5,11 @@ import {
5
5
  getSleepManagerIfReady,
6
6
  initSleepManager,
7
7
  matchesGlob
8
- } from "./chunk-KBRGHKVU.js";
8
+ } from "./chunk-RUIVWCYY.js";
9
9
  import "./chunk-PMMHVSCR.js";
10
- import "./chunk-UQFYNZKT.js";
10
+ import "./chunk-4L2Q7IP5.js";
11
11
  import "./chunk-46DYYHN6.js";
12
- import "./chunk-NYP3LBIV.js";
12
+ import "./chunk-QJGLTPAP.js";
13
13
  import "./chunk-CU6OFXMM.js";
14
14
  import "./chunk-KXXJYY62.js";
15
15
  import "./chunk-7AZQFSOV.js";
@@ -4,9 +4,9 @@ import {
4
4
  getSpiritModel,
5
5
  spiritDir,
6
6
  syncSpiritTemplate
7
- } from "./chunk-UQFYNZKT.js";
7
+ } from "./chunk-4L2Q7IP5.js";
8
8
  import "./chunk-46DYYHN6.js";
9
- import "./chunk-NYP3LBIV.js";
9
+ import "./chunk-QJGLTPAP.js";
10
10
  import "./chunk-CU6OFXMM.js";
11
11
  import "./chunk-3F7XK5Q7.js";
12
12
  import "./chunk-SNW2NPP4.js";
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // packages/cli/src/commands/sprout.ts
5
5
  async function run(args) {
6
6
  console.error("Note: `volute mind sprout` is now `volute seed sprout`");
7
- await import("./seed-sprout-OLSIWXZN.js").then((m) => m.run(args));
7
+ await import("./seed-sprout-GQLSK4EF.js").then((m) => m.run(args));
8
8
  }
9
9
  export {
10
10
  run
@@ -5,11 +5,11 @@ import {
5
5
  resetSystemDMCache,
6
6
  sendSystemMessage,
7
7
  sendSystemMessageDirect
8
- } from "./chunk-KBRGHKVU.js";
8
+ } from "./chunk-RUIVWCYY.js";
9
9
  import "./chunk-PMMHVSCR.js";
10
- import "./chunk-UQFYNZKT.js";
10
+ import "./chunk-4L2Q7IP5.js";
11
11
  import "./chunk-46DYYHN6.js";
12
- import "./chunk-NYP3LBIV.js";
12
+ import "./chunk-QJGLTPAP.js";
13
13
  import "./chunk-CU6OFXMM.js";
14
14
  import "./chunk-KXXJYY62.js";
15
15
  import "./chunk-7AZQFSOV.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  run
4
- } from "./chunk-Z6TIXE77.js";
4
+ } from "./chunk-CF4SO5L3.js";
5
5
  import "./chunk-TNZ5XQA4.js";
6
6
  import "./chunk-TXSA4Q3V.js";
7
7
  import "./chunk-O7IGP7ZW.js";
@@ -7,11 +7,11 @@ import {
7
7
  } from "./chunk-KAB6UGOL.js";
8
8
  import {
9
9
  sendSystemMessage
10
- } from "./chunk-KBRGHKVU.js";
10
+ } from "./chunk-RUIVWCYY.js";
11
11
  import "./chunk-PMMHVSCR.js";
12
- import "./chunk-UQFYNZKT.js";
12
+ import "./chunk-4L2Q7IP5.js";
13
13
  import "./chunk-46DYYHN6.js";
14
- import "./chunk-NYP3LBIV.js";
14
+ import "./chunk-QJGLTPAP.js";
15
15
  import "./chunk-CU6OFXMM.js";
16
16
  import "./chunk-KXXJYY62.js";
17
17
  import "./chunk-7AZQFSOV.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volute",
3
- "version": "0.37.0",
3
+ "version": "0.37.1",
4
4
  "description": "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
5
5
  "type": "module",
6
6
  "license": "MIT",
File without changes