volute 0.42.1 → 0.43.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 (101) hide show
  1. package/dist/{activity-events-KFKVRZE3.js → activity-events-UISXY4Y5.js} +3 -3
  2. package/dist/{ai-service-3GBOJGUA.js → ai-service-FBCCEYF5.js} +8 -4
  3. package/dist/{archive-4PPYF7LL.js → archive-I32WHCJB.js} +3 -3
  4. package/dist/{auth-EAASQPTN.js → auth-3RIG6GKN.js} +4 -4
  5. package/dist/{chat-LYL5CWJV.js → chat-SDSX5TVV.js} +2 -2
  6. package/dist/{chunk-M2YMNTHK.js → chunk-2HIVYZDB.js} +1 -1
  7. package/dist/{chunk-6G7R2LPI.js → chunk-4SVONUTC.js} +569 -379
  8. package/dist/{chunk-QPTQKGGF.js → chunk-57LBQ7JX.js} +1 -1
  9. package/dist/{chunk-K547QOCM.js → chunk-7G2EEYXX.js} +2 -2
  10. package/dist/{chunk-E7XWFDZL.js → chunk-AD46AYZQ.js} +1 -1
  11. package/dist/{chunk-P6DPB33N.js → chunk-ATEX3ZPG.js} +2 -2
  12. package/dist/{chunk-WR7CSHQ4.js → chunk-C6ESRQZ7.js} +1 -1
  13. package/dist/{chunk-JU5GWO77.js → chunk-DE4EKQFH.js} +3 -3
  14. package/dist/{chunk-JPDN6ZRJ.js → chunk-DMUPZQWP.js} +8 -8
  15. package/dist/{chunk-BR6KFHVT.js → chunk-EE7SZJON.js} +2 -2
  16. package/dist/{chunk-5QG36RV7.js → chunk-EFL5UOY4.js} +3 -3
  17. package/dist/{chunk-OEJFZHZZ.js → chunk-GZJFC76M.js} +1 -1
  18. package/dist/{chunk-KUJVCDWT.js → chunk-JVK6QQIC.js} +2 -2
  19. package/dist/{chunk-YLTIEEVL.js → chunk-K4EHBHPE.js} +3 -3
  20. package/dist/{chunk-M3T3Y6FT.js → chunk-KINGVQSR.js} +5 -5
  21. package/dist/{chunk-MHFAWJCC.js → chunk-L3IV23ZG.js} +12 -1
  22. package/dist/{chunk-VBKRZCR7.js → chunk-M3PGGSBH.js} +1 -1
  23. package/dist/{chunk-NSGIVS5T.js → chunk-O3DXAR44.js} +2 -2
  24. package/dist/{chunk-KZAL7HEQ.js → chunk-ONM2AZFL.js} +1 -1
  25. package/dist/chunk-PGPLCJPK.js +272 -0
  26. package/dist/{chunk-43K5UWF7.js → chunk-QQ2MVQU3.js} +13 -12
  27. package/dist/{chunk-62ICA2FF.js → chunk-SPLPKBES.js} +17 -1
  28. package/dist/{chunk-BLOAJLGI.js → chunk-XDTKJNW5.js} +1 -1
  29. package/dist/{chunk-BWZHX46O.js → chunk-Y6O35D7K.js} +21 -6
  30. package/dist/{chunk-IUZ3EV2D.js → chunk-YAMO2U3N.js} +1 -1
  31. package/dist/{chunk-4ZSUUBG5.js → chunk-YSV3VJQK.js} +55 -2
  32. package/dist/cli.js +15 -15
  33. package/dist/{cloud-sync-E3ZL5SZ4.js → cloud-sync-KOEBUFW5.js} +16 -17
  34. package/dist/{conversations-FSZCUUYO.js → conversations-67WWW25C.js} +4 -4
  35. package/dist/{create-ERNQYOCK.js → create-7W3LV3J7.js} +1 -1
  36. package/dist/{daemon-restart-QBZOMILO.js → daemon-restart-EZXB73W7.js} +7 -8
  37. package/dist/daemon.js +524 -433
  38. package/dist/{db-ZJJJYJBU.js → db-CZV62BOQ.js} +2 -2
  39. package/dist/delivery-manager-OMCCJEVP.js +32 -0
  40. package/dist/{delivery-router-FDBZJQOY.js → delivery-router-HXBHYHJM.js} +7 -5
  41. package/dist/down-RRNYIGCU.js +16 -0
  42. package/dist/echo-text-KFSUCZXL.js +32 -0
  43. package/dist/{exec-ZDD7NEB4.js → exec-SJK7VUTC.js} +3 -4
  44. package/dist/{export-WYI3E3TB.js → export-7LPCIB5J.js} +3 -3
  45. package/dist/{extensions-X6MKBJLB.js → extensions-PQPZT6LS.js} +16 -17
  46. package/dist/{files-COTCVBGO.js → files-LV7VAKPC.js} +3 -3
  47. package/dist/{import-EPK6WCYS.js → import-XPECCRQ7.js} +6 -6
  48. package/dist/{isolation-F7ABZMDA.js → isolation-5AYEY55P.js} +5 -3
  49. package/dist/{login-GPBXOU4D.js → login-KJSN4JDA.js} +2 -2
  50. package/dist/{logout-DNNTIYE2.js → logout-TMJGUQV2.js} +2 -2
  51. package/dist/message-delivery-HRGFNWO7.js +34 -0
  52. package/dist/{mind-K5PZHPBR.js → mind-G3WEWDM4.js} +5 -5
  53. package/dist/{mind-activity-tracker-HWVFE533.js → mind-activity-tracker-JHAT6456.js} +4 -4
  54. package/dist/mind-service-2C7AINBO.js +36 -0
  55. package/dist/{package-G4AM2IDZ.js → package-24TL6DTF.js} +1 -1
  56. package/dist/{registry-MDLNPTTI.js → registry-7LQHTRUX.js} +2 -2
  57. package/dist/{sandbox-E7RWZDVG.js → sandbox-SJH3XOPZ.js} +4 -4
  58. package/dist/scheduler-VON2TB52.js +30 -0
  59. package/dist/{schema-HHYJDG7B.js → schema-LRUTFOER.js} +1 -1
  60. package/dist/{seed-SKVSWF7S.js → seed-HHSJTM6O.js} +1 -1
  61. package/dist/{seed-cmd-D2H5VLB4.js → seed-cmd-UPQY35RG.js} +2 -2
  62. package/dist/{seed-create-BUSKQ5II.js → seed-create-MDRMXMSB.js} +3 -3
  63. package/dist/{seed-sprout-R2IZPITD.js → seed-sprout-4M7IQWMH.js} +7 -8
  64. package/dist/{send-SLDFRSTL.js → send-ZBZWIH5V.js} +3 -3
  65. package/dist/{service-ZDOSEQCE.js → service-4EVZKGSA.js} +4 -5
  66. package/dist/{service-install-2HZPDHEY.js → service-install-SHRM6NHK.js} +5 -6
  67. package/dist/{setup-IYOUPCIK.js → setup-25MMJ3J4.js} +3 -3
  68. package/dist/{setup-IU3ID7II.js → setup-ZD2LMBR3.js} +8 -10
  69. package/dist/{skills-P6RGGASV.js → skills-4KQ377GN.js} +5 -6
  70. package/dist/sleep-manager-AG5SQDDI.js +34 -0
  71. package/dist/{spirit-XLD6QXSS.js → spirit-53DQPRNR.js} +7 -8
  72. package/dist/{sprout-QV2RJM5W.js → sprout-YKM2M6D6.js} +1 -1
  73. package/dist/{src-TJ7RBU5H.js → src-3EGHHKZK.js} +8 -8
  74. package/dist/{status-QAKAPDYW.js → status-WTU2WHXY.js} +5 -6
  75. package/dist/system-chat-54RN3K67.js +34 -0
  76. package/dist/{tailscale-TIRTGM6E.js → tailscale-Q7ZJL7S7.js} +2 -2
  77. package/dist/{turn-tracker-Z5UJC4BY.js → turn-tracker-JZYERJ76.js} +7 -5
  78. package/dist/up-LFZA4GI5.js +18 -0
  79. package/dist/{update-NY3XBVAJ.js → update-EJ7Q77ZX.js} +5 -6
  80. package/dist/{update-check-OG27AL4Z.js → update-check-ACYYNKTW.js} +3 -3
  81. package/dist/{version-notify-P7UAR7HZ.js → version-notify-SRQJCQEK.js} +17 -18
  82. package/dist/web-assets/assets/{index-CrFAsfiE.js → index-DTDmEfPU.js} +2 -2
  83. package/dist/web-assets/index.html +1 -1
  84. package/drizzle/0010_delivery_queue_redrive.sql +10 -0
  85. package/drizzle/meta/_journal.json +7 -0
  86. package/package.json +1 -1
  87. package/templates/claude/src/agent.ts +8 -1
  88. package/templates/claude/src/lib/message-channel.ts +28 -6
  89. package/templates/codex/src/server.ts +2 -8
  90. package/dist/chunk-GN52E2DP.js +0 -59
  91. package/dist/chunk-TFBQESH7.js +0 -179
  92. package/dist/delivery-manager-J3BRHXUF.js +0 -33
  93. package/dist/down-DSRWSCXY.js +0 -17
  94. package/dist/echo-text-3HBQUWPX.js +0 -33
  95. package/dist/message-delivery-4ZWFDBAY.js +0 -41
  96. package/dist/mind-manager-6DSY5IJW.js +0 -33
  97. package/dist/mind-service-R2FM53KD.js +0 -37
  98. package/dist/scheduler-2FKQCRCM.js +0 -31
  99. package/dist/sleep-manager-F5KWIFOX.js +0 -35
  100. package/dist/system-chat-EQIH6JVL.js +0 -35
  101. package/dist/up-ZTPGC7HB.js +0 -19
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-T2TP6ZC6.js";
5
5
  import {
6
6
  mindDir
7
- } from "./chunk-IUZ3EV2D.js";
7
+ } from "./chunk-YAMO2U3N.js";
8
8
 
9
9
  // packages/daemon/src/lib/delivery/delivery-router.ts
10
10
  import { readFileSync, statSync } from "fs";
@@ -20,6 +20,18 @@ var configCache = /* @__PURE__ */ new Map();
20
20
  var statCheckCache = /* @__PURE__ */ new Map();
21
21
  var STAT_TTL_MS = 5e3;
22
22
  var dlog = logger_default.child("delivery-router");
23
+ var routesChangeListener;
24
+ function setRoutesChangeListener(fn) {
25
+ routesChangeListener = fn;
26
+ }
27
+ function notifyRoutesChanged(mind) {
28
+ if (!routesChangeListener) return;
29
+ try {
30
+ routesChangeListener(mind);
31
+ } catch (err) {
32
+ dlog.warn(`routes change listener failed for ${mind}`, logger_default.errorData(err));
33
+ }
34
+ }
23
35
  var dirOverrides = /* @__PURE__ */ new Map();
24
36
  function registerMindDir(name, dir) {
25
37
  dirOverrides.set(name, dir);
@@ -50,7 +62,9 @@ function getRoutingConfig(mindName) {
50
62
  }
51
63
  try {
52
64
  const config = JSON.parse(readFileSync(path, "utf-8"));
65
+ const changed = cached != null && cached.mtime !== mtime;
53
66
  configCache.set(mindName, { config, mtime });
67
+ if (changed) notifyRoutesChanged(mindName);
54
68
  return config;
55
69
  } catch (err) {
56
70
  dlog.warn(`failed to load routes.json for ${mindName}`, logger_default.errorData(err));
@@ -63,6 +77,7 @@ function clearConfigCache(mindName) {
63
77
  if (mindName) {
64
78
  configCache.delete(mindName);
65
79
  statCheckCache.delete(mindName);
80
+ notifyRoutesChanged(mindName);
66
81
  } else {
67
82
  configCache.clear();
68
83
  statCheckCache.clear();
@@ -200,6 +215,7 @@ function resolveDeliveryMode(config, sessionName, rule) {
200
215
 
201
216
  export {
202
217
  extractTextContent,
218
+ setRoutesChangeListener,
203
219
  registerMindDir,
204
220
  getRoutingConfig,
205
221
  clearConfigCache,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  stateDir,
4
4
  voluteSystemDir
5
- } from "./chunk-IUZ3EV2D.js";
5
+ } from "./chunk-YAMO2U3N.js";
6
6
 
7
7
  // packages/daemon/src/lib/config/env.ts
8
8
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  aiCompleteUtility
4
- } from "./chunk-4ZSUUBG5.js";
4
+ } from "./chunk-YSV3VJQK.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-T2TP6ZC6.js";
8
8
  import {
9
9
  getDb
10
- } from "./chunk-IUZ3EV2D.js";
10
+ } from "./chunk-YAMO2U3N.js";
11
11
  import {
12
12
  messages,
13
13
  mindHistory,
14
14
  summaries,
15
15
  systemPrompts,
16
16
  turns
17
- } from "./chunk-MHFAWJCC.js";
17
+ } from "./chunk-L3IV23ZG.js";
18
18
 
19
19
  // packages/daemon/src/lib/daemon/turn-tracker.ts
20
20
  import { randomUUID } from "crypto";
21
- import { eq as eq3, sql as sql2 } from "drizzle-orm";
21
+ import { and as and2, eq as eq3, sql as sql2 } from "drizzle-orm";
22
22
 
23
23
  // packages/daemon/src/lib/daemon/summarizer.ts
24
24
  import { and, desc, eq as eq2, gte, inArray, like, lt, sql } from "drizzle-orm";
@@ -1013,11 +1013,11 @@ var Summarizer = class {
1013
1013
  }
1014
1014
  };
1015
1015
  async function reconcileWedgedTurns(idleMs) {
1016
- const { sweepWedgedTurns: sweepWedgedTurns2, summarizeOrphanedTurns: summarizeOrphanedTurns2 } = await import("./turn-tracker-Z5UJC4BY.js");
1016
+ const { sweepWedgedTurns: sweepWedgedTurns2, summarizeOrphanedTurns: summarizeOrphanedTurns2 } = await import("./turn-tracker-JZYERJ76.js");
1017
1017
  const wedged = await sweepWedgedTurns2(idleMs);
1018
1018
  if (wedged.length === 0) return;
1019
1019
  summarizeOrphanedTurns2(wedged);
1020
- const { tryGetDeliveryManager } = await import("./delivery-manager-J3BRHXUF.js");
1020
+ const { tryGetDeliveryManager } = await import("./delivery-manager-OMCCJEVP.js");
1021
1021
  const dm = tryGetDeliveryManager();
1022
1022
  if (!dm) return;
1023
1023
  for (const t of wedged) {
@@ -1064,6 +1064,20 @@ async function createTurn(mind) {
1064
1064
  function getActiveTurnId(mind, session) {
1065
1065
  return (activeTurns.get(key(mind, session)) ?? activeTurns.get(key(mind)))?.turnId;
1066
1066
  }
1067
+ async function linkInboundToActiveTurn(mind, session, channel) {
1068
+ if (!channel) return;
1069
+ const turnId = getActiveTurnId(mind, session);
1070
+ if (!turnId) return;
1071
+ const db = await getDb();
1072
+ await db.update(mindHistory).set({ turn_id: turnId }).where(
1073
+ and2(
1074
+ eq3(mindHistory.mind, mind),
1075
+ eq3(mindHistory.type, "inbound"),
1076
+ sql2`${mindHistory.turn_id} IS NULL`,
1077
+ eq3(mindHistory.channel, channel)
1078
+ )
1079
+ );
1080
+ }
1067
1081
  function trackToolUse(mind, session, eventId) {
1068
1082
  const entry = activeTurns.get(key(mind, session)) ?? activeTurns.get(key(mind));
1069
1083
  if (entry) entry.lastToolUseEventId = eventId;
@@ -1201,6 +1215,7 @@ export {
1201
1215
  takeErrored,
1202
1216
  createTurn,
1203
1217
  getActiveTurnId,
1218
+ linkInboundToActiveTurn,
1204
1219
  trackToolUse,
1205
1220
  getLastToolUseEventId,
1206
1221
  assignSession,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  minds,
4
4
  schema_exports
5
- } from "./chunk-MHFAWJCC.js";
5
+ } from "./chunk-L3IV23ZG.js";
6
6
 
7
7
  // packages/daemon/src/lib/db.ts
8
8
  import { chmodSync, existsSync } from "fs";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readGlobalConfig,
4
4
  writeGlobalConfig
5
- } from "./chunk-KZAL7HEQ.js";
5
+ } from "./chunk-ONM2AZFL.js";
6
6
  import {
7
7
  logger_default
8
8
  } from "./chunk-T2TP6ZC6.js";
@@ -141,6 +141,42 @@ function setEnabledModels(modelIds) {
141
141
  const config = readGlobalConfig();
142
142
  writeGlobalConfig({ ...config, ai });
143
143
  }
144
+ function migrateAiModelQualification() {
145
+ const config = readGlobalConfig();
146
+ const ai = config.ai;
147
+ const isBare = (id) => id != null && !id.includes(":");
148
+ const hasBareInList = (ai?.models ?? []).some(isBare);
149
+ if (!hasBareInList && !isBare(config.spiritModel) && !isBare(ai?.utilityModel)) return;
150
+ const providers = ai ? Object.keys(ai.providers) : [];
151
+ const customModels = ai?.customModels ?? [];
152
+ const providersServing = (bareId) => providers.filter(
153
+ (p) => getBuiltinModel(p, bareId) != null || customModels.some((cm) => cm.provider === p && cm.id === bareId)
154
+ );
155
+ let changed = false;
156
+ if (ai?.models) {
157
+ const expanded = [];
158
+ for (const id of ai.models) {
159
+ if (!isBare(id)) {
160
+ expanded.push(id);
161
+ continue;
162
+ }
163
+ changed = true;
164
+ for (const p of providersServing(id)) expanded.push(`${p}:${id}`);
165
+ }
166
+ ai.models = expanded.length > 0 ? [...new Set(expanded)] : void 0;
167
+ if (!ai.models) delete ai.models;
168
+ }
169
+ const qualifyOne = (id) => {
170
+ if (!isBare(id)) return id;
171
+ const [provider] = providersServing(id);
172
+ if (!provider) return id;
173
+ changed = true;
174
+ return `${provider}:${id}`;
175
+ };
176
+ config.spiritModel = qualifyOne(config.spiritModel);
177
+ if (ai) ai.utilityModel = qualifyOne(ai.utilityModel);
178
+ if (changed) writeGlobalConfig(config);
179
+ }
144
180
  function getCustomModels() {
145
181
  return getAiConfig()?.customModels ?? [];
146
182
  }
@@ -163,7 +199,8 @@ function removeCustomModel(provider, id) {
163
199
  ai.customModels = customModels.length > 0 ? customModels : void 0;
164
200
  if (!ai.customModels) delete ai.customModels;
165
201
  if (ai.models) {
166
- ai.models = ai.models.filter((mid) => mid !== id);
202
+ const qualified = `${provider}:${id}`;
203
+ ai.models = ai.models.filter((mid) => mid !== qualified);
167
204
  if (ai.models.length === 0) delete ai.models;
168
205
  }
169
206
  const config = readGlobalConfig();
@@ -266,6 +303,20 @@ function unqualifyModelId(modelId) {
266
303
  return idx >= 0 ? modelId.slice(idx + 1) : modelId;
267
304
  }
268
305
  function findModel(modelId) {
306
+ const colon = modelId.indexOf(":");
307
+ if (colon >= 0) {
308
+ const provider = modelId.slice(0, colon);
309
+ const bareId = modelId.slice(colon + 1);
310
+ const built = getBuiltinModel(provider, bareId);
311
+ if (built) return built;
312
+ for (const cm of getCustomModels()) {
313
+ if (cm.provider === provider && cm.id === bareId) {
314
+ const model = buildCustomModel(cm.provider, cm.id, cm.name);
315
+ if (model) return model;
316
+ }
317
+ }
318
+ return void 0;
319
+ }
269
320
  for (const provider of getBuiltinProviders()) {
270
321
  const model = getBuiltinModel(provider, modelId);
271
322
  if (model) return model;
@@ -331,6 +382,7 @@ export {
331
382
  resolveTemplate,
332
383
  getEnabledModels,
333
384
  setEnabledModels,
385
+ migrateAiModelQualification,
334
386
  getCustomModels,
335
387
  addCustomModel,
336
388
  removeCustomModel,
@@ -339,5 +391,6 @@ export {
339
391
  resolveApiKey,
340
392
  qualifyModelId,
341
393
  unqualifyModelId,
394
+ findModel,
342
395
  aiComplete
343
396
  };
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-G4AM2IDZ.js");
13
+ const { default: pkg } = await import("./package-24TL6DTF.js");
14
14
  console.log(pkg.version);
15
15
  process.exit(0);
16
16
  }
@@ -31,7 +31,7 @@ var ungatedCommands = /* @__PURE__ */ new Set([
31
31
  void 0
32
32
  ]);
33
33
  if (!ungatedCommands.has(command)) {
34
- const { isSetupComplete } = await import("./setup-IYOUPCIK.js");
34
+ const { isSetupComplete } = await import("./setup-25MMJ3J4.js");
35
35
  if (!isSetupComplete()) {
36
36
  console.error("Volute is not set up. Run `volute setup` first.");
37
37
  process.exit(1);
@@ -39,16 +39,16 @@ if (!ungatedCommands.has(command)) {
39
39
  }
40
40
  switch (command) {
41
41
  case "setup":
42
- await import("./setup-IU3ID7II.js").then((m) => m.run(args));
42
+ await import("./setup-ZD2LMBR3.js").then((m) => m.run(args));
43
43
  break;
44
44
  case "mind":
45
- await import("./mind-K5PZHPBR.js").then((m) => m.run(args));
45
+ await import("./mind-G3WEWDM4.js").then((m) => m.run(args));
46
46
  break;
47
47
  case "seed":
48
- await import("./seed-cmd-D2H5VLB4.js").then((m) => m.run(args));
48
+ await import("./seed-cmd-UPQY35RG.js").then((m) => m.run(args));
49
49
  break;
50
50
  case "chat":
51
- await import("./chat-LYL5CWJV.js").then((m) => m.run(args));
51
+ await import("./chat-SDSX5TVV.js").then((m) => m.run(args));
52
52
  break;
53
53
  case "variant":
54
54
  await import("./variant-HHDTW74J.js").then((m) => m.run(args));
@@ -66,19 +66,19 @@ switch (command) {
66
66
  await import("./config-TJLYUV3U.js").then((m) => m.run(args));
67
67
  break;
68
68
  case "up":
69
- await import("./up-ZTPGC7HB.js").then((m) => m.run(args));
69
+ await import("./up-LFZA4GI5.js").then((m) => m.run(args));
70
70
  break;
71
71
  case "down":
72
- await import("./down-DSRWSCXY.js").then((m) => m.run(args));
72
+ await import("./down-RRNYIGCU.js").then((m) => m.run(args));
73
73
  break;
74
74
  case "restart":
75
- await import("./daemon-restart-QBZOMILO.js").then((m) => m.run(args));
75
+ await import("./daemon-restart-EZXB73W7.js").then((m) => m.run(args));
76
76
  break;
77
77
  case "update":
78
- await import("./update-NY3XBVAJ.js").then((m) => m.run(args));
78
+ await import("./update-EJ7Q77ZX.js").then((m) => m.run(args));
79
79
  break;
80
80
  case "status":
81
- await import("./status-QAKAPDYW.js").then((m) => m.run(args));
81
+ await import("./status-WTU2WHXY.js").then((m) => m.run(args));
82
82
  break;
83
83
  case "extension":
84
84
  await import("./extension-SEID47SR.js").then((m) => m.run(args));
@@ -87,13 +87,13 @@ switch (command) {
87
87
  await import("./systems-VNB5WKSS.js").then((m) => m.run(args));
88
88
  break;
89
89
  case "login":
90
- await import("./login-GPBXOU4D.js").then((m) => m.run(args));
90
+ await import("./login-KJSN4JDA.js").then((m) => m.run(args));
91
91
  break;
92
92
  case "logout":
93
- await import("./logout-DNNTIYE2.js").then((m) => m.run(args));
93
+ await import("./logout-TMJGUQV2.js").then((m) => m.run(args));
94
94
  break;
95
95
  case "service":
96
- await import("./service-ZDOSEQCE.js").then((m) => m.run(args));
96
+ await import("./service-4EVZKGSA.js").then((m) => m.run(args));
97
97
  break;
98
98
  case "--help":
99
99
  case "-h":
@@ -264,7 +264,7 @@ Run 'volute --help' for usage.`);
264
264
  }
265
265
  }
266
266
  if (command !== "update") {
267
- import("./update-check-OG27AL4Z.js").then((m) => m.checkForUpdate()).then((result) => {
267
+ import("./update-check-ACYYNKTW.js").then((m) => m.checkForUpdate()).then((result) => {
268
268
  if (result.updateAvailable) {
269
269
  console.error(`
270
270
  Update available: ${result.current} \u2192 ${result.latest}`);
@@ -1,31 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  deliverMessage
4
- } from "./chunk-6G7R2LPI.js";
5
- import "./chunk-BLOAJLGI.js";
6
- import "./chunk-43K5UWF7.js";
4
+ } from "./chunk-4SVONUTC.js";
5
+ import "./chunk-XDTKJNW5.js";
6
+ import "./chunk-QQ2MVQU3.js";
7
7
  import "./chunk-QLWG3C2Z.js";
8
- import "./chunk-M3T3Y6FT.js";
8
+ import "./chunk-KINGVQSR.js";
9
9
  import {
10
10
  getAuthHeaders,
11
11
  getWebhookUrl
12
- } from "./chunk-YLTIEEVL.js";
12
+ } from "./chunk-K4EHBHPE.js";
13
13
  import "./chunk-CU6OFXMM.js";
14
- import "./chunk-WR7CSHQ4.js";
15
- import "./chunk-VBKRZCR7.js";
16
- import "./chunk-62ICA2FF.js";
17
- import "./chunk-BWZHX46O.js";
18
- import "./chunk-GN52E2DP.js";
19
- import "./chunk-TFBQESH7.js";
20
- import "./chunk-4ZSUUBG5.js";
21
- import "./chunk-KZAL7HEQ.js";
22
- import "./chunk-5QG36RV7.js";
23
- import "./chunk-K547QOCM.js";
14
+ import "./chunk-C6ESRQZ7.js";
15
+ import "./chunk-M3PGGSBH.js";
16
+ import "./chunk-SPLPKBES.js";
17
+ import "./chunk-Y6O35D7K.js";
18
+ import "./chunk-PGPLCJPK.js";
19
+ import "./chunk-YSV3VJQK.js";
20
+ import "./chunk-ONM2AZFL.js";
21
+ import "./chunk-EFL5UOY4.js";
22
+ import "./chunk-7G2EEYXX.js";
24
23
  import {
25
24
  logger_default
26
25
  } from "./chunk-T2TP6ZC6.js";
27
- import "./chunk-IUZ3EV2D.js";
28
- import "./chunk-MHFAWJCC.js";
26
+ import "./chunk-YAMO2U3N.js";
27
+ import "./chunk-L3IV23ZG.js";
29
28
  import "./chunk-K3NQKI34.js";
30
29
 
31
30
  // packages/daemon/src/lib/cloud-sync.ts
@@ -29,11 +29,11 @@ import {
29
29
  removeParticipant,
30
30
  setConversationPrivate,
31
31
  updateChannelSettings
32
- } from "./chunk-YLTIEEVL.js";
33
- import "./chunk-K547QOCM.js";
32
+ } from "./chunk-K4EHBHPE.js";
33
+ import "./chunk-7G2EEYXX.js";
34
34
  import "./chunk-T2TP6ZC6.js";
35
- import "./chunk-IUZ3EV2D.js";
36
- import "./chunk-MHFAWJCC.js";
35
+ import "./chunk-YAMO2U3N.js";
36
+ import "./chunk-L3IV23ZG.js";
37
37
  import "./chunk-K3NQKI34.js";
38
38
  export {
39
39
  addMessage,
@@ -21,7 +21,7 @@ var cmd = command({
21
21
  const name = args.name;
22
22
  let template = flags.template;
23
23
  if (!template) {
24
- const { resolveTemplate } = await import("./ai-service-3GBOJGUA.js");
24
+ const { resolveTemplate } = await import("./ai-service-FBCCEYF5.js");
25
25
  template = await resolveTemplate();
26
26
  }
27
27
  const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  stopDaemon
4
- } from "./chunk-NSGIVS5T.js";
4
+ } from "./chunk-O3DXAR44.js";
5
5
  import {
6
6
  run
7
- } from "./chunk-JU5GWO77.js";
7
+ } from "./chunk-DE4EKQFH.js";
8
8
  import {
9
9
  command
10
10
  } from "./chunk-TXSA4Q3V.js";
@@ -15,12 +15,11 @@ import {
15
15
  pollHealth,
16
16
  readDaemonConfig,
17
17
  restartService
18
- } from "./chunk-P6DPB33N.js";
19
- import "./chunk-GN52E2DP.js";
20
- import "./chunk-TFBQESH7.js";
21
- import "./chunk-KZAL7HEQ.js";
22
- import "./chunk-IUZ3EV2D.js";
23
- import "./chunk-MHFAWJCC.js";
18
+ } from "./chunk-ATEX3ZPG.js";
19
+ import "./chunk-PGPLCJPK.js";
20
+ import "./chunk-ONM2AZFL.js";
21
+ import "./chunk-YAMO2U3N.js";
22
+ import "./chunk-L3IV23ZG.js";
24
23
  import "./chunk-K3NQKI34.js";
25
24
 
26
25
  // src/commands/daemon-restart.ts