volute 0.45.1 → 0.45.2

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 (108) hide show
  1. package/dist/{activity-events-OMCSM7XW.js → activity-events-BUR2RYTJ.js} +2 -2
  2. package/dist/{ai-service-534WUSDL.js → ai-service-UODCCE4O.js} +3 -3
  3. package/dist/{archive-6R4TZMYI.js → archive-WS2L2VIQ.js} +2 -2
  4. package/dist/{auth-FRZJVQCS.js → auth-FLAEXXZK.js} +3 -3
  5. package/dist/{avatar-image-BNWEXSA2.js → avatar-image-6KY6UU4D.js} +3 -3
  6. package/dist/{backup-OZXHL3JS.js → backup-TST5C2YN.js} +7 -7
  7. package/dist/{chat-I4EDDIQC.js → chat-76MRWWQX.js} +2 -2
  8. package/dist/{chunk-ZIR7HSAX.js → chunk-4JOQZPCE.js} +1 -1
  9. package/dist/{chunk-2BONPXAF.js → chunk-6EMWJZBK.js} +1 -1
  10. package/dist/{chunk-ZMIMSIIT.js → chunk-7C44R625.js} +1 -1
  11. package/dist/{chunk-Y6OPHHGM.js → chunk-7ZUB63PS.js} +4 -4
  12. package/dist/{chunk-LAXUUY7O.js → chunk-A7WQZKOU.js} +2 -2
  13. package/dist/{chunk-H7IYFRAL.js → chunk-ALKYQULU.js} +10 -5
  14. package/dist/{chunk-KP3KWNG6.js → chunk-CDPBTTZO.js} +2 -2
  15. package/dist/{chunk-SQL7M4HJ.js → chunk-DRJ24GXK.js} +2 -2
  16. package/dist/{chunk-HVU45COX.js → chunk-EJVPTVTI.js} +1 -1
  17. package/dist/{chunk-322KE457.js → chunk-F7H6ATM4.js} +1 -1
  18. package/dist/{chunk-5AUKCNPE.js → chunk-FR6S2KNN.js} +8 -8
  19. package/dist/{chunk-KVKP6VQ5.js → chunk-FXORA5JG.js} +12 -3
  20. package/dist/{chunk-3ERIL673.js → chunk-H2X54EHC.js} +1 -1
  21. package/dist/{chunk-TSK5PI4L.js → chunk-IHKGWTGT.js} +1 -1
  22. package/dist/{chunk-OXXTPILE.js → chunk-JZ62SYWR.js} +1 -1
  23. package/dist/{chunk-77BVGCTZ.js → chunk-NYC5U6K7.js} +9 -9
  24. package/dist/{chunk-JSRMEY52.js → chunk-OP4JG2BS.js} +5 -4
  25. package/dist/{chunk-CU6OFXMM.js → chunk-PFZBNKUH.js} +9 -0
  26. package/dist/{chunk-QMJJWTNL.js → chunk-QCN24XEN.js} +1 -1
  27. package/dist/{chunk-IUXTYXFI.js → chunk-QNQMSWZE.js} +3 -3
  28. package/dist/{chunk-UMI4UIJG.js → chunk-R77O2WMK.js} +1 -1
  29. package/dist/{chunk-IEWZ7VD7.js → chunk-RRNXJOKB.js} +2 -2
  30. package/dist/{chunk-FHWUQZXE.js → chunk-RXEEYDIB.js} +1 -1
  31. package/dist/{chunk-CYI534DJ.js → chunk-T6HYVHPG.js} +2 -2
  32. package/dist/{chunk-Q2XBKQ2D.js → chunk-TQJ6ZYVY.js} +2 -2
  33. package/dist/{chunk-V4GYPD5L.js → chunk-UYLGEDVD.js} +4 -4
  34. package/dist/{chunk-U4FNXDEJ.js → chunk-YT7PEESJ.js} +231 -98
  35. package/dist/{chunk-5GT7URXJ.js → chunk-ZDZISKCL.js} +1 -1
  36. package/dist/cli.js +16 -16
  37. package/dist/{cloud-sync-Y7LQPRE3.js → cloud-sync-3OJOPZRT.js} +16 -16
  38. package/dist/{conversations-G4LYMHAA.js → conversations-JZTD6KLR.js} +3 -3
  39. package/dist/{create-2YY7IPMS.js → create-IOV4GCRX.js} +1 -1
  40. package/dist/{daemon-restart-ABP54YN6.js → daemon-restart-TIHKVVVA.js} +6 -6
  41. package/dist/daemon.js +180 -137
  42. package/dist/{db-JFLCJCUG.js → db-MF2JNRUW.js} +1 -1
  43. package/dist/delivery-manager-VDVKVA46.js +32 -0
  44. package/dist/{delivery-router-6DE3BPHO.js → delivery-router-N4A7ZC5T.js} +2 -2
  45. package/dist/{down-XCAZXWLB.js → down-U2CZ23M4.js} +4 -4
  46. package/dist/echo-text-6JJOPUD4.js +32 -0
  47. package/dist/{exec-4GWHAHS3.js → exec-G3ZRST4Z.js} +2 -2
  48. package/dist/{export-ID7YUSLZ.js → export-GGIVO76O.js} +2 -2
  49. package/dist/{extensions-AYSPKE33.js → extensions-JONTW2HF.js} +16 -16
  50. package/dist/{files-BQ2WB5KC.js → files-4LN3EN7Q.js} +2 -2
  51. package/dist/{import-SKID37QX.js → import-42YNQBF4.js} +5 -5
  52. package/dist/{isolation-5MB3J73F.js → isolation-YMGZZ4E5.js} +2 -2
  53. package/dist/{join-RXPXGV4L.js → join-ZJV7W6MO.js} +4 -0
  54. package/dist/{login-LM4NF4ZB.js → login-M6OJUPQ2.js} +1 -1
  55. package/dist/{logout-CTJVIZGA.js → logout-WQBWO77G.js} +1 -1
  56. package/dist/message-delivery-3C65ZI6L.js +34 -0
  57. package/dist/{mind-KLHC7XYR.js → mind-DWB6XYCH.js} +6 -6
  58. package/dist/{mind-activity-tracker-BGHJE7XA.js → mind-activity-tracker-POBLU3LC.js} +3 -3
  59. package/dist/mind-service-3F4I46CI.js +36 -0
  60. package/dist/{package-BMHV7UHN.js → package-A7KXT67Q.js} +1 -1
  61. package/dist/{registry-NUJAGLQJ.js → registry-OUZBZ3Q4.js} +5 -1
  62. package/dist/{sandbox-72MWV4JL.js → sandbox-ZJ7QA6Z6.js} +3 -3
  63. package/dist/scheduler-P6DXLLXI.js +30 -0
  64. package/dist/{seed-4MKQ5QKG.js → seed-HCP5NYKH.js} +1 -1
  65. package/dist/{seed-cmd-LCXMR7VV.js → seed-cmd-ILOGNIFB.js} +2 -2
  66. package/dist/{seed-create-N2BF5LQX.js → seed-create-OURS2LS4.js} +3 -3
  67. package/dist/{seed-sprout-6ZDP23YI.js → seed-sprout-ELDFDAN6.js} +7 -7
  68. package/dist/{send-O6W53VBM.js → send-AAIOPJAV.js} +2 -2
  69. package/dist/{service-AQVPUANO.js → service-UOCLXDWR.js} +3 -3
  70. package/dist/{service-install-4QNUDKLM.js → service-install-4HHFDDWY.js} +4 -4
  71. package/dist/{setup-3O6O2JZ7.js → setup-DQM5VPY4.js} +6 -6
  72. package/dist/{setup-73YBJZQL.js → setup-Y2EJI3GG.js} +2 -2
  73. package/dist/skills/imagegen/scripts/imagegen.ts +100 -40
  74. package/dist/skills/volute-mind/SKILL.md +5 -1
  75. package/dist/{skills-ND4ZFYUW.js → skills-BKINFL7W.js} +4 -4
  76. package/dist/sleep-manager-HCUH4PM4.js +34 -0
  77. package/dist/{spirit-II3HOERM.js → spirit-DBTIW7P4.js} +7 -7
  78. package/dist/{sprout-4KUG76AQ.js → sprout-W3KC7UGK.js} +1 -1
  79. package/dist/{src-XFY3XDD6.js → src-OJHARHTF.js} +28 -17
  80. package/dist/{status-E5DQNCAO.js → status-SWRVGXBI.js} +4 -4
  81. package/dist/system-chat-XOALE2RD.js +36 -0
  82. package/dist/{tailscale-QAWVKQKU.js → tailscale-3XOKOW7T.js} +1 -1
  83. package/dist/{turn-tracker-QQIVVXBI.js → turn-tracker-2W6Q2NSR.js} +4 -4
  84. package/dist/{up-LG56MPBI.js → up-FTK7CTO3.js} +5 -5
  85. package/dist/{update-7TYVH5FM.js → update-SWAYZRWJ.js} +4 -4
  86. package/dist/{update-check-VSCSJ7KX.js → update-check-PQ2MZ47K.js} +2 -2
  87. package/dist/{version-notify-CODJOUW2.js → version-notify-3XMAIQTE.js} +17 -17
  88. package/dist/{volute-config-TS62GS6A.js → volute-config-A52FHWKM.js} +5 -1
  89. package/dist/web-assets/assets/{index-Dac11sKB.js → index-Bc2m8gRC.js} +15 -15
  90. package/dist/web-assets/index.html +1 -1
  91. package/package.json +1 -1
  92. package/templates/_base/src/lib/file-handler.ts +3 -3
  93. package/templates/_base/src/lib/router.ts +21 -25
  94. package/templates/_base/src/lib/startup.ts +2 -0
  95. package/templates/_base/src/lib/types.ts +2 -2
  96. package/templates/claude/src/agent.ts +75 -10
  97. package/templates/claude/src/lib/message-channel.ts +23 -0
  98. package/templates/claude/src/lib/session-reaper.ts +37 -0
  99. package/templates/claude/src/server.ts +1 -0
  100. package/templates/codex/src/agent.ts +18 -6
  101. package/templates/pi/src/agent.ts +18 -7
  102. package/dist/delivery-manager-R5STGLXB.js +0 -32
  103. package/dist/echo-text-NQXYYYCU.js +0 -32
  104. package/dist/message-delivery-IUAXRPFE.js +0 -34
  105. package/dist/mind-service-BF2LUQMH.js +0 -36
  106. package/dist/scheduler-YHJRRV6E.js +0 -30
  107. package/dist/sleep-manager-YAHDOIU5.js +0 -34
  108. package/dist/system-chat-E65T2HSW.js +0 -34
@@ -3,9 +3,9 @@ import {
3
3
  broadcast,
4
4
  publish,
5
5
  subscribe
6
- } from "./chunk-ZMIMSIIT.js";
6
+ } from "./chunk-7C44R625.js";
7
7
  import "./chunk-T2TP6ZC6.js";
8
- import "./chunk-H7IYFRAL.js";
8
+ import "./chunk-ALKYQULU.js";
9
9
  import "./chunk-ZV7MFISX.js";
10
10
  import "./chunk-K3NQKI34.js";
11
11
  export {
@@ -25,10 +25,10 @@ import {
25
25
  setProviderRefreshHook,
26
26
  setUtilityModel,
27
27
  unqualifyModelId
28
- } from "./chunk-TSK5PI4L.js";
29
- import "./chunk-322KE457.js";
28
+ } from "./chunk-IHKGWTGT.js";
29
+ import "./chunk-F7H6ATM4.js";
30
30
  import "./chunk-T2TP6ZC6.js";
31
- import "./chunk-H7IYFRAL.js";
31
+ import "./chunk-ALKYQULU.js";
32
32
  import "./chunk-ZV7MFISX.js";
33
33
  import "./chunk-K3NQKI34.js";
34
34
  export {
@@ -5,8 +5,8 @@ import {
5
5
  extractArchive,
6
6
  isHomeOnlyArchive,
7
7
  readManifest
8
- } from "./chunk-QMJJWTNL.js";
9
- import "./chunk-H7IYFRAL.js";
8
+ } from "./chunk-QCN24XEN.js";
9
+ import "./chunk-ALKYQULU.js";
10
10
  import "./chunk-ZV7MFISX.js";
11
11
  import "./chunk-K3NQKI34.js";
12
12
  export {
@@ -17,10 +17,10 @@ import {
17
17
  syncMindProfile,
18
18
  updateUserProfile,
19
19
  verifyUser
20
- } from "./chunk-CYI534DJ.js";
21
- import "./chunk-ZMIMSIIT.js";
20
+ } from "./chunk-T6HYVHPG.js";
21
+ import "./chunk-7C44R625.js";
22
22
  import "./chunk-T2TP6ZC6.js";
23
- import "./chunk-H7IYFRAL.js";
23
+ import "./chunk-ALKYQULU.js";
24
24
  import "./chunk-ZV7MFISX.js";
25
25
  import "./chunk-K3NQKI34.js";
26
26
  export {
@@ -3,10 +3,10 @@ import {
3
3
  AVATAR_DIM,
4
4
  migrateAvatarSizes,
5
5
  normalizeAvatar
6
- } from "./chunk-SQL7M4HJ.js";
7
- import "./chunk-CU6OFXMM.js";
6
+ } from "./chunk-DRJ24GXK.js";
7
+ import "./chunk-PFZBNKUH.js";
8
8
  import "./chunk-T2TP6ZC6.js";
9
- import "./chunk-H7IYFRAL.js";
9
+ import "./chunk-ALKYQULU.js";
10
10
  import "./chunk-ZV7MFISX.js";
11
11
  import "./chunk-K3NQKI34.js";
12
12
  export {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  stopDaemon
4
- } from "./chunk-IEWZ7VD7.js";
4
+ } from "./chunk-RRNXJOKB.js";
5
5
  import {
6
6
  promptLine,
7
7
  promptPassword
@@ -22,27 +22,27 @@ import {
22
22
  RESTIC_INSTALL_HINT,
23
23
  resticVersion,
24
24
  restoreStagedDb
25
- } from "./chunk-KVKP6VQ5.js";
25
+ } from "./chunk-FXORA5JG.js";
26
26
  import {
27
27
  getServiceMode,
28
28
  modeLabel,
29
29
  stopService
30
- } from "./chunk-Q2XBKQ2D.js";
30
+ } from "./chunk-TQJ6ZYVY.js";
31
31
  import {
32
32
  chownMindDir,
33
33
  exec,
34
34
  execInherit,
35
35
  wrapForIsolation
36
- } from "./chunk-3ERIL673.js";
36
+ } from "./chunk-H2X54EHC.js";
37
37
  import {
38
38
  _resetConfigCache,
39
39
  readGlobalConfig
40
- } from "./chunk-322KE457.js";
40
+ } from "./chunk-F7H6ATM4.js";
41
41
  import "./chunk-T2TP6ZC6.js";
42
42
  import {
43
43
  voluteHome,
44
44
  voluteSystemDir
45
- } from "./chunk-H7IYFRAL.js";
45
+ } from "./chunk-ALKYQULU.js";
46
46
  import "./chunk-ZV7MFISX.js";
47
47
  import "./chunk-K3NQKI34.js";
48
48
 
@@ -337,7 +337,7 @@ Restore failed: ${err instanceof Error ? err.message : err}`);
337
337
  if (readGlobalConfig().setup?.isolation === "user") {
338
338
  process.env.VOLUTE_ISOLATION = "user";
339
339
  }
340
- const { readAllMinds, mindDir } = await import("./registry-NUJAGLQJ.js");
340
+ const { readAllMinds, mindDir } = await import("./registry-OUZBZ3Q4.js");
341
341
  const seen = /* @__PURE__ */ new Set();
342
342
  for (const mind of await readAllMinds()) {
343
343
  const dir = mind.dir ?? mindDir(mind.name);
@@ -12,7 +12,7 @@ var cmd = subcommands({
12
12
  commands: {
13
13
  send: {
14
14
  description: "Send a message",
15
- run: (args) => import("./send-O6W53VBM.js").then((m) => m.run(args))
15
+ run: (args) => import("./send-AAIOPJAV.js").then((m) => m.run(args))
16
16
  },
17
17
  list: {
18
18
  description: "List conversations",
@@ -32,7 +32,7 @@ var cmd = subcommands({
32
32
  },
33
33
  files: {
34
34
  description: "List pending incoming files",
35
- run: (args) => import("./files-BQ2WB5KC.js").then((m) => m.run(args))
35
+ run: (args) => import("./files-4LN3EN7Q.js").then((m) => m.run(args))
36
36
  },
37
37
  accept: {
38
38
  description: "Accept a pending file",
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-T2TP6ZC6.js";
5
5
  import {
6
6
  mindDir
7
- } from "./chunk-H7IYFRAL.js";
7
+ } from "./chunk-ALKYQULU.js";
8
8
 
9
9
  // packages/daemon/src/lib/delivery/delivery-router.ts
10
10
  import { readFileSync, statSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  voluteSystemDir
4
- } from "./chunk-H7IYFRAL.js";
4
+ } from "./chunk-ALKYQULU.js";
5
5
 
6
6
  // packages/daemon/src/lib/update-check.ts
7
7
  import { execFile as execFileCb, execFileSync } from "child_process";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-T2TP6ZC6.js";
5
5
  import {
6
6
  getDb
7
- } from "./chunk-H7IYFRAL.js";
7
+ } from "./chunk-ALKYQULU.js";
8
8
  import {
9
9
  activity
10
10
  } from "./chunk-ZV7MFISX.js";
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  exec,
4
4
  gitExec
5
- } from "./chunk-3ERIL673.js";
5
+ } from "./chunk-H2X54EHC.js";
6
6
  import {
7
7
  readGlobalConfig,
8
8
  writeGlobalConfig
9
- } from "./chunk-322KE457.js";
9
+ } from "./chunk-F7H6ATM4.js";
10
10
  import {
11
11
  logger_default
12
12
  } from "./chunk-T2TP6ZC6.js";
@@ -15,7 +15,7 @@ import {
15
15
  mindDir,
16
16
  readRegistry,
17
17
  voluteHome
18
- } from "./chunk-H7IYFRAL.js";
18
+ } from "./chunk-ALKYQULU.js";
19
19
  import {
20
20
  sharedSkills
21
21
  } from "./chunk-ZV7MFISX.js";
@@ -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-AYSPKE33.js");
49
+ const { getExtensionStandardSkills } = await import("./extensions-JONTW2HF.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));
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  setBridgeConfig
4
- } from "./chunk-FHWUQZXE.js";
4
+ } from "./chunk-RXEEYDIB.js";
5
5
  import {
6
6
  readEnv,
7
7
  sharedEnvPath,
8
8
  writeEnv
9
- } from "./chunk-5GT7URXJ.js";
9
+ } from "./chunk-ZDZISKCL.js";
10
10
 
11
11
  // packages/daemon/src/lib/template/import-utils.ts
12
12
  import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "fs";
@@ -6,7 +6,7 @@ import {
6
6
 
7
7
  // packages/daemon/src/lib/db.ts
8
8
  import { chmodSync, existsSync } from "fs";
9
- import { dirname as dirname2, resolve as resolve2 } from "path";
9
+ import { dirname, resolve as resolve2 } from "path";
10
10
  import { fileURLToPath as fileURLToPath2 } from "url";
11
11
  import { sql } from "drizzle-orm";
12
12
  import { drizzle } from "drizzle-orm/libsql";
@@ -15,13 +15,16 @@ import { migrate } from "drizzle-orm/libsql/migrator";
15
15
  // packages/daemon/src/lib/mind/registry.ts
16
16
  import { mkdirSync } from "fs";
17
17
  import { homedir } from "os";
18
- import { dirname, resolve } from "path";
18
+ import { resolve } from "path";
19
19
  import { fileURLToPath } from "url";
20
20
  import { and, eq, inArray, isNull } from "drizzle-orm";
21
+ var SPIRIT_NAME = "volute";
22
+ function isSpiritName(name) {
23
+ return name === SPIRIT_NAME;
24
+ }
21
25
  function voluteHome() {
22
26
  if (process.env.VOLUTE_HOME) return process.env.VOLUTE_HOME;
23
- const dir = dirname(fileURLToPath(import.meta.url));
24
- if (dir.endsWith("/src/lib")) {
27
+ if (fileURLToPath(import.meta.url).endsWith(".ts")) {
25
28
  throw new Error(
26
29
  'VOLUTE_HOME must be set when running from source. For tests, run via "npm test" or add "--import ./test/setup.ts".'
27
30
  );
@@ -200,7 +203,7 @@ function daemonLoopback() {
200
203
  }
201
204
 
202
205
  // packages/daemon/src/lib/db.ts
203
- var __dirname = dirname2(fileURLToPath2(import.meta.url));
206
+ var __dirname = dirname(fileURLToPath2(import.meta.url));
204
207
  var migrationsFolder = existsSync(resolve2(__dirname, "../drizzle")) ? resolve2(__dirname, "../drizzle") : existsSync(resolve2(__dirname, "../../drizzle")) ? resolve2(__dirname, "../../drizzle") : resolve2(__dirname, "../../../../drizzle");
205
208
  var db = null;
206
209
  var dbPromise = null;
@@ -246,6 +249,8 @@ async function getDb() {
246
249
 
247
250
  export {
248
251
  getDb,
252
+ SPIRIT_NAME,
253
+ isSpiritName,
249
254
  voluteHome,
250
255
  voluteUserHome,
251
256
  voluteSystemDir,
@@ -3,10 +3,10 @@ import {
3
3
  LAUNCHD_PLIST_LABEL,
4
4
  LAUNCHD_PLIST_PATH,
5
5
  USER_SYSTEMD_UNIT
6
- } from "./chunk-Q2XBKQ2D.js";
6
+ } from "./chunk-TQJ6ZYVY.js";
7
7
  import {
8
8
  resolveVoluteBin
9
- } from "./chunk-3ERIL673.js";
9
+ } from "./chunk-H2X54EHC.js";
10
10
 
11
11
  // packages/daemon/src/lib/config/service-install.ts
12
12
  import { execFile } from "child_process";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readVoluteConfig
4
- } from "./chunk-CU6OFXMM.js";
4
+ } from "./chunk-PFZBNKUH.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-T2TP6ZC6.js";
@@ -9,7 +9,7 @@ import {
9
9
  mindDir,
10
10
  readAllMinds,
11
11
  voluteHome
12
- } from "./chunk-H7IYFRAL.js";
12
+ } from "./chunk-ALKYQULU.js";
13
13
 
14
14
  // packages/daemon/src/lib/util/avatar-image.ts
15
15
  import { readdir, readFile, writeFile } from "fs/promises";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  publish
4
- } from "./chunk-ZMIMSIIT.js";
4
+ } from "./chunk-7C44R625.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-T2TP6ZC6.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  voluteSystemDir
4
- } from "./chunk-H7IYFRAL.js";
4
+ } from "./chunk-ALKYQULU.js";
5
5
 
6
6
  // packages/daemon/src/lib/config/setup.ts
7
7
  import { chmodSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
@@ -10,22 +10,22 @@ import {
10
10
  getSharedSkill,
11
11
  installSkill,
12
12
  mindSkillsDir
13
- } from "./chunk-Y6OPHHGM.js";
13
+ } from "./chunk-7ZUB63PS.js";
14
14
  import {
15
15
  readVoluteConfig,
16
16
  writeVoluteConfig
17
- } from "./chunk-CU6OFXMM.js";
17
+ } from "./chunk-PFZBNKUH.js";
18
18
  import {
19
19
  exec
20
- } from "./chunk-3ERIL673.js";
20
+ } from "./chunk-H2X54EHC.js";
21
21
  import {
22
22
  qualifyModelId,
23
23
  resolveTemplate,
24
24
  unqualifyModelId
25
- } from "./chunk-TSK5PI4L.js";
25
+ } from "./chunk-IHKGWTGT.js";
26
26
  import {
27
27
  readGlobalConfig
28
- } from "./chunk-322KE457.js";
28
+ } from "./chunk-F7H6ATM4.js";
29
29
  import {
30
30
  logger_default
31
31
  } from "./chunk-T2TP6ZC6.js";
@@ -34,7 +34,7 @@ import {
34
34
  findMind,
35
35
  nextPort,
36
36
  voluteSystemDir
37
- } from "./chunk-H7IYFRAL.js";
37
+ } from "./chunk-ALKYQULU.js";
38
38
 
39
39
  // packages/daemon/src/lib/mind/spirit.ts
40
40
  import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -130,7 +130,7 @@ async function ensureSpiritProject() {
130
130
  } catch (err) {
131
131
  slog.warn("failed to add tending schedule to spirit config", logger_default.errorData(err));
132
132
  }
133
- const { createMindUser, chownMindDir, ensureVoluteGroup } = await import("./isolation-5MB3J73F.js");
133
+ const { createMindUser, chownMindDir, ensureVoluteGroup } = await import("./isolation-YMGZZ4E5.js");
134
134
  ensureVoluteGroup();
135
135
  createMindUser("volute", resolve(dir, "home"));
136
136
  await chownMindDir(dir, "volute");
@@ -164,7 +164,7 @@ async function syncSpiritTemplate() {
164
164
  cpSync(newPkg, resolve(dir, "package.json"));
165
165
  await exec("npm", ["install"], { cwd: dir, env: npmEnv() });
166
166
  }
167
- const db = await (await import("./db-JFLCJCUG.js")).getDb();
167
+ const db = await (await import("./db-MF2JNRUW.js")).getDb();
168
168
  const { minds } = await import("./schema-PVNG3PQM.js");
169
169
  const { eq } = await import("drizzle-orm");
170
170
  await db.update(minds).set({ template: expectedTemplate }).where(eq(minds.name, "volute"));
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exec
4
- } from "./chunk-3ERIL673.js";
4
+ } from "./chunk-H2X54EHC.js";
5
5
  import {
6
6
  readGlobalConfig
7
- } from "./chunk-322KE457.js";
7
+ } from "./chunk-F7H6ATM4.js";
8
8
  import {
9
9
  logger_default
10
10
  } from "./chunk-T2TP6ZC6.js";
@@ -13,7 +13,7 @@ import {
13
13
  readAllMinds,
14
14
  voluteHome,
15
15
  voluteSystemDir
16
- } from "./chunk-H7IYFRAL.js";
16
+ } from "./chunk-ALKYQULU.js";
17
17
 
18
18
  // packages/daemon/src/lib/backup/restic.ts
19
19
  import { writeFileSync } from "fs";
@@ -94,8 +94,17 @@ var SESSION_EXCLUDES = [
94
94
  ".mind/codex/sessions",
95
95
  ".mind/pi-sessions"
96
96
  ];
97
+ function localRepoPath(config) {
98
+ const repo = config.repository;
99
+ if (!repo) return null;
100
+ const scheme = /^([a-z][a-z0-9]*):/i.exec(repo);
101
+ if (scheme && scheme[1].toLowerCase() !== "local") return null;
102
+ return resolve(scheme ? repo.slice(scheme[0].length) : repo);
103
+ }
97
104
  function buildExcludePatterns(config) {
98
105
  const patterns = [...BASE_EXCLUDES, ...systemExcludes()];
106
+ const repoPath = localRepoPath(config);
107
+ if (repoPath) patterns.push(repoPath);
99
108
  if (!config.includeSessions) patterns.push(...SESSION_EXCLUDES);
100
109
  return patterns;
101
110
  }
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getBaseName,
4
4
  validateMindName
5
- } from "./chunk-H7IYFRAL.js";
5
+ } from "./chunk-ALKYQULU.js";
6
6
 
7
7
  // packages/daemon/src/lib/mind/isolation.ts
8
8
  import { execFileSync as execFileSync2 } from "child_process";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readGlobalConfig,
4
4
  writeGlobalConfig
5
- } from "./chunk-322KE457.js";
5
+ } from "./chunk-F7H6ATM4.js";
6
6
  import {
7
7
  logger_default
8
8
  } from "./chunk-T2TP6ZC6.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readGlobalConfig
4
- } from "./chunk-322KE457.js";
4
+ } from "./chunk-F7H6ATM4.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-T2TP6ZC6.js";
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  findBridgeForChannel,
4
4
  getBridgeConfig
5
- } from "./chunk-FHWUQZXE.js";
5
+ } from "./chunk-RXEEYDIB.js";
6
6
  import {
7
7
  recordOutbound
8
- } from "./chunk-U4FNXDEJ.js";
8
+ } from "./chunk-YT7PEESJ.js";
9
9
  import {
10
10
  readEnv,
11
11
  sharedEnvPath
12
- } from "./chunk-5GT7URXJ.js";
12
+ } from "./chunk-ZDZISKCL.js";
13
13
  import {
14
14
  addMessage,
15
15
  findDMConversation,
@@ -17,21 +17,21 @@ import {
17
17
  getChannelName,
18
18
  getConversation,
19
19
  getParticipants
20
- } from "./chunk-JSRMEY52.js";
20
+ } from "./chunk-OP4JG2BS.js";
21
21
  import {
22
22
  readVoluteConfig
23
- } from "./chunk-CU6OFXMM.js";
23
+ } from "./chunk-PFZBNKUH.js";
24
24
  import {
25
25
  publish
26
- } from "./chunk-V4GYPD5L.js";
26
+ } from "./chunk-UYLGEDVD.js";
27
27
  import {
28
28
  daemonConfigPath,
29
29
  readDaemonToken
30
- } from "./chunk-Q2XBKQ2D.js";
30
+ } from "./chunk-TQJ6ZYVY.js";
31
31
  import {
32
32
  getOrCreateMindUser,
33
33
  getUserByUsername
34
- } from "./chunk-CYI534DJ.js";
34
+ } from "./chunk-T6HYVHPG.js";
35
35
  import {
36
36
  logger_default
37
37
  } from "./chunk-T2TP6ZC6.js";
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-LGNUFVMR.js";
41
41
  import {
42
42
  mindDir
43
- } from "./chunk-H7IYFRAL.js";
43
+ } from "./chunk-ALKYQULU.js";
44
44
  import {
45
45
  __export
46
46
  } from "./chunk-K3NQKI34.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  subscribe
4
- } from "./chunk-ZMIMSIIT.js";
4
+ } from "./chunk-7C44R625.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-T2TP6ZC6.js";
8
8
  import {
9
9
  getDb
10
- } from "./chunk-H7IYFRAL.js";
10
+ } from "./chunk-ALKYQULU.js";
11
11
  import {
12
12
  channels,
13
13
  conversationParticipants,
@@ -35,9 +35,9 @@ function getAuthHeaders() {
35
35
  function fireWebhook(event) {
36
36
  try {
37
37
  const url = getWebhookUrl();
38
- if (!url) return;
38
+ if (!url) return Promise.resolve();
39
39
  const payload = { ...event, timestamp: event.timestamp ?? (/* @__PURE__ */ new Date()).toISOString() };
40
- fetch(url, {
40
+ return fetch(url, {
41
41
  method: "POST",
42
42
  headers: getAuthHeaders(),
43
43
  body: JSON.stringify(payload)
@@ -50,6 +50,7 @@ function fireWebhook(event) {
50
50
  });
51
51
  } catch (err) {
52
52
  slog.error(`webhook ${event.event} failed to serialize`, logger_default.errorData(err));
53
+ return Promise.resolve();
53
54
  }
54
55
  }
55
56
  function initWebhook() {
@@ -3,6 +3,13 @@
3
3
  // packages/daemon/src/lib/mind/volute-config.ts
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
5
5
  import { dirname, resolve } from "path";
6
+ var WAKE_TRIGGER_DEFAULTS = { mentions: true, dms: true };
7
+ function resolveWakeTriggers(triggers) {
8
+ return {
9
+ mentions: triggers?.mentions ?? WAKE_TRIGGER_DEFAULTS.mentions,
10
+ dms: triggers?.dms ?? WAKE_TRIGGER_DEFAULTS.dms
11
+ };
12
+ }
6
13
  function readJson(path) {
7
14
  if (!existsSync(path)) return null;
8
15
  try {
@@ -24,6 +31,8 @@ function writeVoluteConfig(mindDir, config) {
24
31
  }
25
32
 
26
33
  export {
34
+ WAKE_TRIGGER_DEFAULTS,
35
+ resolveWakeTriggers,
27
36
  readVoluteConfig,
28
37
  writeVoluteConfig
29
38
  };
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  mindDir,
4
4
  stateDir
5
- } from "./chunk-H7IYFRAL.js";
5
+ } from "./chunk-ALKYQULU.js";
6
6
 
7
7
  // packages/daemon/src/lib/mind/archive.ts
8
8
  import { execFileSync } from "child_process";
@@ -7,14 +7,14 @@ import {
7
7
  modeLabel,
8
8
  pollHealth,
9
9
  startService
10
- } from "./chunk-Q2XBKQ2D.js";
10
+ } from "./chunk-TQJ6ZYVY.js";
11
11
  import {
12
12
  readGlobalConfig
13
- } from "./chunk-322KE457.js";
13
+ } from "./chunk-F7H6ATM4.js";
14
14
  import {
15
15
  voluteHome,
16
16
  voluteSystemDir
17
- } from "./chunk-H7IYFRAL.js";
17
+ } from "./chunk-ALKYQULU.js";
18
18
 
19
19
  // src/commands/up.ts
20
20
  import { spawn } from "child_process";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  stateDir
4
- } from "./chunk-H7IYFRAL.js";
4
+ } from "./chunk-ALKYQULU.js";
5
5
 
6
6
  // packages/daemon/src/lib/chat/file-sharing.ts
7
7
  import { randomBytes } from "crypto";
@@ -8,10 +8,10 @@ import {
8
8
  pollHealthDown,
9
9
  readDaemonConfig,
10
10
  stopService
11
- } from "./chunk-Q2XBKQ2D.js";
11
+ } from "./chunk-TQJ6ZYVY.js";
12
12
  import {
13
13
  voluteSystemDir
14
- } from "./chunk-H7IYFRAL.js";
14
+ } from "./chunk-ALKYQULU.js";
15
15
 
16
16
  // src/commands/down.ts
17
17
  import { existsSync, readFileSync, unlinkSync } from "fs";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-T2TP6ZC6.js";
5
5
  import {
6
6
  voluteSystemDir
7
- } from "./chunk-H7IYFRAL.js";
7
+ } from "./chunk-ALKYQULU.js";
8
8
 
9
9
  // packages/daemon/src/lib/bridges/bridges.ts
10
10
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  broadcast
4
- } from "./chunk-ZMIMSIIT.js";
4
+ } from "./chunk-7C44R625.js";
5
5
  import {
6
6
  getDb
7
- } from "./chunk-H7IYFRAL.js";
7
+ } from "./chunk-ALKYQULU.js";
8
8
  import {
9
9
  users
10
10
  } from "./chunk-ZV7MFISX.js";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  exec,
4
4
  execInherit
5
- } from "./chunk-3ERIL673.js";
5
+ } from "./chunk-H2X54EHC.js";
6
6
  import {
7
7
  voluteSystemDir
8
- } from "./chunk-H7IYFRAL.js";
8
+ } from "./chunk-ALKYQULU.js";
9
9
 
10
10
  // packages/daemon/src/lib/config/service-mode.ts
11
11
  import { execFileSync } from "child_process";