volute 0.47.0 → 0.48.0

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 (128) hide show
  1. package/README.md +11 -11
  2. package/dist/{accept-YAFP5JFJ.js → accept-KYNC5X3U.js} +3 -3
  3. package/dist/{ai-service-CVZEYKTK.js → ai-service-643TNFPH.js} +6 -2
  4. package/dist/{avatar-image-7S3WA77A.js → avatar-image-Y45R7LW5.js} +3 -2
  5. package/dist/{backup-IIAFOW2L.js → backup-UDH4GMSW.js} +11 -11
  6. package/dist/{bridge-TIZGSXOD.js → bridge-3FNSWLNQ.js} +3 -3
  7. package/dist/{channels-ITE4YC57.js → channels-SGQZHNQJ.js} +3 -3
  8. package/dist/{chat-AJLJCQ3M.js → chat-X43VYHH2.js} +9 -9
  9. package/dist/chunk-4FCL4DVZ.js +48 -0
  10. package/dist/{chunk-SKNXMUIU.js → chunk-5KXCM5AW.js} +17 -1
  11. package/dist/{chunk-RBNMDAKB.js → chunk-BCG45AQB.js} +15 -1
  12. package/dist/chunk-DW4TRDOZ.js +29 -0
  13. package/dist/{chunk-CBOIHNMR.js → chunk-FJ2MZ5PH.js} +39 -3
  14. package/dist/{chunk-M6TTZRGH.js → chunk-HNGFKPNS.js} +20 -4
  15. package/dist/{chunk-IWJSNMSY.js → chunk-HUNDXZBZ.js} +2 -2
  16. package/dist/chunk-IYCV34IU.js +158 -0
  17. package/dist/{chunk-5IERLDUS.js → chunk-MJRXFUMS.js} +25 -5
  18. package/dist/{chunk-JCMGDCGX.js → chunk-MOERAQXH.js} +2 -0
  19. package/dist/{chunk-XHN6XBWV.js → chunk-OQJMTHEH.js} +1 -1
  20. package/dist/{chunk-BGYHLR54.js → chunk-PJVPDY2Z.js} +1 -1
  21. package/dist/{chunk-5NN2VHJV.js → chunk-Q7HOAVFR.js} +1 -1
  22. package/dist/{chunk-KDLYIECM.js → chunk-R772ET2M.js} +18 -4
  23. package/dist/{mind-list-KEGRGQEQ.js → chunk-SHKM5RGD.js} +19 -6
  24. package/dist/{chunk-4I72V3E5.js → chunk-T4VS7UDW.js} +11 -11
  25. package/dist/{chunk-K23P5Q5N.js → chunk-USD45JKR.js} +27 -5
  26. package/dist/{chunk-F55GRIEK.js → chunk-VB2QXUJQ.js} +176 -201
  27. package/dist/{chunk-M3XDVS5Q.js → chunk-VZRA5TYO.js} +1 -1
  28. package/dist/{chunk-JSVHH32K.js → chunk-WARH6GIV.js} +10 -10
  29. package/dist/{chunk-PFZBNKUH.js → chunk-WCFSBH33.js} +0 -1
  30. package/dist/{chunk-VMCZBXF2.js → chunk-WQ46E33M.js} +8 -32
  31. package/dist/{chunk-RUFLGTOT.js → chunk-XVBSFLM7.js} +1 -1
  32. package/dist/{chunk-LWDTP6DH.js → chunk-YNBXEQAP.js} +31 -1
  33. package/dist/cli.js +33 -25
  34. package/dist/{clock-E6N5Y3YW.js → clock-CNRF6F7T.js} +3 -3
  35. package/dist/{cloud-sync-LQTVDTQ3.js → cloud-sync-WHKCB4CD.js} +14 -12
  36. package/dist/{config-TJLYUV3U.js → config-RPSLA2HX.js} +3 -3
  37. package/dist/{create-PQQXKTJK.js → create-GJKHABJB.js} +16 -5
  38. package/dist/{create-A7PDHIIL.js → create-VIQVP3QB.js} +3 -3
  39. package/dist/{daemon-client-IYR4KCPU.js → daemon-client-ZFY5MOAL.js} +5 -3
  40. package/dist/{daemon-restart-5F3YTLZK.js → daemon-restart-7KUHVZIN.js} +4 -4
  41. package/dist/daemon.js +668 -401
  42. package/dist/{db-LZTLA7XC.js → db-IPXRJUI7.js} +1 -1
  43. package/dist/{delete-HPLC7ETU.js → delete-ESEP7NGQ.js} +1 -1
  44. package/dist/{delivery-manager-TN5KK2AP.js → delivery-manager-HZTT5SJR.js} +14 -12
  45. package/dist/{down-ZI4S6265.js → down-G6IADJXV.js} +2 -2
  46. package/dist/{echo-text-SEQCLGAT.js → echo-text-H3SH337Q.js} +16 -14
  47. package/dist/env-6TGPO5WG.js +18 -0
  48. package/dist/{env-HRL2PWAT.js → env-C7Z55QCJ.js} +7 -7
  49. package/dist/{export-4GVGNW54.js → export-C2K3NIRD.js} +1 -1
  50. package/dist/{extension-QBY4C44L.js → extension-J4ZQ2GHV.js} +3 -3
  51. package/dist/{extensions-PIMIQ7J3.js → extensions-GEKF47A4.js} +14 -12
  52. package/dist/{files-FEFZKMNM.js → files-LXQSQOFG.js} +3 -3
  53. package/dist/{import-7MO3YTRE.js → import-SX3ZXHB4.js} +4 -4
  54. package/dist/{join-ZJV7W6MO.js → join-34TR2GXQ.js} +1 -1
  55. package/dist/{list-LQO2DCIK.js → list-PMUXZNAM.js} +3 -3
  56. package/dist/{login-6TLMI2TQ.js → login-ARRZ4ORJ.js} +3 -3
  57. package/dist/{login-OF4WXDAN.js → login-CL4IT2ED.js} +12 -3
  58. package/dist/{logout-ERE2BGA3.js → logout-HZYJCYCA.js} +3 -3
  59. package/dist/{logout-BK53HXNY.js → logout-YZRMZ3O2.js} +3 -3
  60. package/dist/{message-delivery-ZE3YGJDD.js → message-delivery-GPQ5SE5N.js} +14 -12
  61. package/dist/{mind-POOHFZHP.js → mind-46AOK373.js} +23 -19
  62. package/dist/mind-contacts-GV7XYL5D.js +64 -0
  63. package/dist/{mind-history-47DN6ILW.js → mind-history-TTGA5BHZ.js} +7 -7
  64. package/dist/mind-list-OTHV4ZO4.js +13 -0
  65. package/dist/{mind-profile-PEQYASQX.js → mind-profile-LUG353ZT.js} +1 -1
  66. package/dist/{mind-service-JFY7UG5E.js → mind-service-2ARGJNKP.js} +16 -12
  67. package/dist/{mind-sleep-IN3WPA76.js → mind-sleep-DV7KP255.js} +5 -5
  68. package/dist/{mind-status-SMUWJKGV.js → mind-status-BJNPGXKC.js} +8 -3
  69. package/dist/{mind-wake-R54BPESY.js → mind-wake-LVTZ55EZ.js} +3 -3
  70. package/dist/notices-2KU5NTRY.js +25 -0
  71. package/dist/{package-WPEE2HVJ.js → package-RTN2PS7O.js} +4 -2
  72. package/dist/{read-PWAJOQIQ.js → read-YSWUXYL7.js} +3 -3
  73. package/dist/{register-7SZJFHU6.js → register-42VBJKTP.js} +3 -3
  74. package/dist/{reject-6VH7N2A4.js → reject-SXGCYN4A.js} +3 -3
  75. package/dist/{restart-H5WJDMA7.js → restart-YYEGZJDD.js} +7 -7
  76. package/dist/{sandbox-G4X4K3UN.js → sandbox-5VQ454XP.js} +2 -2
  77. package/dist/{scheduler-HQSDYJFY.js → scheduler-I7JZCT47.js} +14 -12
  78. package/dist/{seed-VANPU43L.js → seed-F2HXZQU4.js} +1 -1
  79. package/dist/{seed-check-VLTVILOV.js → seed-check-TYD7RRZY.js} +1 -1
  80. package/dist/{seed-cmd-SYVDZKM4.js → seed-cmd-MLCTGSX5.js} +3 -3
  81. package/dist/{seed-create-3FGZPS6C.js → seed-create-KQ7OILWB.js} +6 -4
  82. package/dist/seed-readiness-RBPGOLSZ.js +18 -0
  83. package/dist/{seed-sprout-H7QLFPFM.js → seed-sprout-HVYCFJLA.js} +29 -30
  84. package/dist/{send-HYDFGC6G.js → send-TD2X5U3K.js} +7 -7
  85. package/dist/{service-SYJ5G6LP.js → service-CVZMQYK6.js} +1 -1
  86. package/dist/{service-install-FQ43Z4DF.js → service-install-VCRMFWX5.js} +2 -2
  87. package/dist/{setup-KFYVWTXG.js → setup-5ECWTYKG.js} +5 -1
  88. package/dist/{setup-QJHGMGSN.js → setup-AE4CVUC4.js} +4 -4
  89. package/dist/{skill-GUKG2YVH.js → skill-UUM4JZRF.js} +7 -7
  90. package/dist/skills/dreaming/SKILL.md +5 -1
  91. package/dist/skills/dreaming/scripts/dream.ts +5 -1
  92. package/dist/skills/orientation/SKILL.md +8 -7
  93. package/dist/skills/tending/SKILL.md +51 -2
  94. package/dist/skills/volute-mind/SKILL.md +2 -0
  95. package/dist/{skills-L2CMTW7A.js → skills-B3SVDCEB.js} +2 -2
  96. package/dist/{sleep-manager-3NA7ZJP3.js → sleep-manager-Z27R3WTW.js} +14 -12
  97. package/dist/{spirit-WXN4IDBF.js → spirit-WXS3HCLN.js} +7 -5
  98. package/dist/{split-WBMZXBHF.js → split-SKZ4Y2D6.js} +1 -1
  99. package/dist/{sprout-LTL5P36T.js → sprout-KQ43BWZJ.js} +1 -1
  100. package/dist/{src-OJHARHTF.js → src-WLJE73NP.js} +14 -5
  101. package/dist/{start-X46I3GXB.js → start-O6UKK7BG.js} +7 -7
  102. package/dist/{status-V4RJMHJ4.js → status-F4PGREUU.js} +6 -4
  103. package/dist/{stop-HJQV4YSM.js → stop-UBX6X5RA.js} +7 -7
  104. package/dist/{system-chat-N2F7HVY3.js → system-chat-63ABFF6V.js} +14 -12
  105. package/dist/{systems-B5YJKMW4.js → systems-JJNGQHAO.js} +6 -6
  106. package/dist/{turn-tracker-JZRZDFWV.js → turn-tracker-KLPV3PAU.js} +4 -4
  107. package/dist/{up-J2PBPOZL.js → up-RVGDE6CQ.js} +5 -3
  108. package/dist/{update-ACV4SAY3.js → update-OXQEGGXD.js} +1 -1
  109. package/dist/{upgrade-NWAZ7MLD.js → upgrade-K5FIQPQD.js} +1 -1
  110. package/dist/{version-notify-XRGTEEDK.js → version-notify-73YURTFR.js} +17 -15
  111. package/dist/web-assets/assets/index-WdZ60R6c.css +1 -0
  112. package/dist/web-assets/assets/index-taX6Ezfa.js +92 -0
  113. package/dist/web-assets/index.html +2 -2
  114. package/package.json +4 -2
  115. package/packages/extensions/pages/dist/ui/assets/index-BuXnE-rb.css +1 -0
  116. package/packages/extensions/pages/dist/ui/assets/index-DtzftuPA.js +2 -0
  117. package/packages/extensions/pages/dist/ui/index.html +2 -2
  118. package/templates/_base/src/lib/startup.ts +16 -1
  119. package/templates/claude/src/agent.ts +9 -2
  120. package/templates/claude/src/server.ts +4 -2
  121. package/templates/pi/src/agent.ts +7 -10
  122. package/templates/pi/src/lib/dispatch.ts +65 -0
  123. package/dist/volute-config-A52FHWKM.js +0 -14
  124. package/dist/web-assets/assets/index-DtctoDXY.css +0 -1
  125. package/dist/web-assets/assets/index-Wpyb2CML.js +0 -86
  126. package/packages/extensions/pages/dist/ui/assets/index-BcY6lnq4.css +0 -1
  127. package/packages/extensions/pages/dist/ui/assets/index-CQjEQg1r.js +0 -2
  128. /package/dist/{chunk-IYG4FBMP.js → chunk-IJPMIEVE.js} +0 -0
@@ -7,7 +7,7 @@ import {
7
7
  initDb,
8
8
  syncPublishedPages,
9
9
  syncSystemPages
10
- } from "./chunk-KDLYIECM.js";
10
+ } from "./chunk-R772ET2M.js";
11
11
  import "./chunk-K3NQKI34.js";
12
12
  export {
13
13
  getAllSites,
@@ -18,7 +18,7 @@ var cmd = command({
18
18
  },
19
19
  async run({ args, flags }) {
20
20
  const name = resolveMindName({ mind: args.name });
21
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
21
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
22
22
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
23
23
  const client = getClient();
24
24
  const url = urlOf(client.api.minds[":name"].$url({ param: { name } })) + (flags.force ? "?force=true" : "");
@@ -4,23 +4,25 @@ import {
4
4
  getDeliveryManager,
5
5
  initDeliveryManager,
6
6
  tryGetDeliveryManager
7
- } from "./chunk-F55GRIEK.js";
8
- import "./chunk-IYG4FBMP.js";
9
- import "./chunk-M6TTZRGH.js";
7
+ } from "./chunk-VB2QXUJQ.js";
8
+ import "./chunk-HNGFKPNS.js";
10
9
  import "./chunk-RRZ4RQQU.js";
11
- import "./chunk-K23P5Q5N.js";
12
- import "./chunk-JCMGDCGX.js";
13
- import "./chunk-IWJSNMSY.js";
10
+ import "./chunk-USD45JKR.js";
11
+ import "./chunk-MOERAQXH.js";
12
+ import "./chunk-HUNDXZBZ.js";
13
+ import "./chunk-ODDGGLM6.js";
14
14
  import "./chunk-HPGN6XRT.js";
15
- import "./chunk-M3XDVS5Q.js";
15
+ import "./chunk-VZRA5TYO.js";
16
+ import "./chunk-IYCV34IU.js";
16
17
  import "./chunk-MTRMQFCQ.js";
17
- import "./chunk-VMCZBXF2.js";
18
- import "./chunk-PFZBNKUH.js";
18
+ import "./chunk-WQ46E33M.js";
19
+ import "./chunk-DW4TRDOZ.js";
20
+ import "./chunk-WCFSBH33.js";
19
21
  import "./chunk-EIQDZC43.js";
20
22
  import "./chunk-DGGZVZTM.js";
21
- import "./chunk-LWDTP6DH.js";
22
- import "./chunk-SKNXMUIU.js";
23
- import "./chunk-ODDGGLM6.js";
23
+ import "./chunk-IJPMIEVE.js";
24
+ import "./chunk-YNBXEQAP.js";
25
+ import "./chunk-5KXCM5AW.js";
24
26
  import "./chunk-LTLFOSA4.js";
25
27
  import "./chunk-T2TP6ZC6.js";
26
28
  import "./chunk-WW6C3PLV.js";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  run,
4
4
  stopDaemon
5
- } from "./chunk-BGYHLR54.js";
5
+ } from "./chunk-PJVPDY2Z.js";
6
6
  import "./chunk-TXSA4Q3V.js";
7
7
  import "./chunk-O7IGP7ZW.js";
8
- import "./chunk-CBOIHNMR.js";
8
+ import "./chunk-FJ2MZ5PH.js";
9
9
  import "./chunk-DGGZVZTM.js";
10
10
  import "./chunk-WW6C3PLV.js";
11
11
  import "./chunk-2MJ7EOMT.js";
@@ -2,26 +2,28 @@
2
2
  import {
3
3
  clearEchoTextCache,
4
4
  echoTextToChannel
5
- } from "./chunk-4I72V3E5.js";
5
+ } from "./chunk-T4VS7UDW.js";
6
6
  import "./chunk-SZJCJVXV.js";
7
- import "./chunk-F55GRIEK.js";
8
- import "./chunk-IYG4FBMP.js";
9
- import "./chunk-M6TTZRGH.js";
7
+ import "./chunk-VB2QXUJQ.js";
8
+ import "./chunk-HNGFKPNS.js";
10
9
  import "./chunk-RRZ4RQQU.js";
11
- import "./chunk-K23P5Q5N.js";
12
- import "./chunk-JCMGDCGX.js";
13
- import "./chunk-IWJSNMSY.js";
10
+ import "./chunk-USD45JKR.js";
11
+ import "./chunk-MOERAQXH.js";
12
+ import "./chunk-HUNDXZBZ.js";
13
+ import "./chunk-ODDGGLM6.js";
14
14
  import "./chunk-HPGN6XRT.js";
15
- import "./chunk-M3XDVS5Q.js";
15
+ import "./chunk-VZRA5TYO.js";
16
+ import "./chunk-IYCV34IU.js";
16
17
  import "./chunk-MTRMQFCQ.js";
17
- import "./chunk-VMCZBXF2.js";
18
- import "./chunk-PFZBNKUH.js";
18
+ import "./chunk-WQ46E33M.js";
19
+ import "./chunk-DW4TRDOZ.js";
20
+ import "./chunk-WCFSBH33.js";
19
21
  import "./chunk-EIQDZC43.js";
20
- import "./chunk-CBOIHNMR.js";
22
+ import "./chunk-FJ2MZ5PH.js";
21
23
  import "./chunk-DGGZVZTM.js";
22
- import "./chunk-LWDTP6DH.js";
23
- import "./chunk-SKNXMUIU.js";
24
- import "./chunk-ODDGGLM6.js";
24
+ import "./chunk-IJPMIEVE.js";
25
+ import "./chunk-YNBXEQAP.js";
26
+ import "./chunk-5KXCM5AW.js";
25
27
  import "./chunk-LTLFOSA4.js";
26
28
  import "./chunk-T2TP6ZC6.js";
27
29
  import "./chunk-LGNUFVMR.js";
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ loadMergedEnv,
4
+ mindEnvPath,
5
+ readEnv,
6
+ sharedEnvPath,
7
+ writeEnv
8
+ } from "./chunk-IJPMIEVE.js";
9
+ import "./chunk-WW6C3PLV.js";
10
+ import "./chunk-2MJ7EOMT.js";
11
+ import "./chunk-K3NQKI34.js";
12
+ export {
13
+ loadMergedEnv,
14
+ mindEnvPath,
15
+ readEnv,
16
+ sharedEnvPath,
17
+ writeEnv
18
+ };
@@ -2,6 +2,13 @@
2
2
  import {
3
3
  isCompact
4
4
  } from "./chunk-5T5YMX6S.js";
5
+ import {
6
+ getClient,
7
+ urlOf
8
+ } from "./chunk-LOPXTW6H.js";
9
+ import {
10
+ daemonFetch
11
+ } from "./chunk-BCG45AQB.js";
5
12
  import {
6
13
  promptLine
7
14
  } from "./chunk-VHWGEJ4V.js";
@@ -10,13 +17,6 @@ import {
10
17
  subcommands
11
18
  } from "./chunk-TXSA4Q3V.js";
12
19
  import "./chunk-O7IGP7ZW.js";
13
- import {
14
- daemonFetch
15
- } from "./chunk-RBNMDAKB.js";
16
- import {
17
- getClient,
18
- urlOf
19
- } from "./chunk-LOPXTW6H.js";
20
20
  import "./chunk-K3NQKI34.js";
21
21
 
22
22
  // packages/cli/src/commands/env.ts
@@ -63,7 +63,7 @@ var cmd = command({
63
63
  });
64
64
  if (includeHistory) {
65
65
  try {
66
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
66
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
67
67
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
68
68
  const client = getClient();
69
69
  const res = await daemonFetch(
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-BCG45AQB.js";
2
5
  import {
3
6
  subcommands
4
7
  } from "./chunk-TXSA4Q3V.js";
5
8
  import "./chunk-O7IGP7ZW.js";
6
- import {
7
- daemonFetch
8
- } from "./chunk-RBNMDAKB.js";
9
9
  import "./chunk-K3NQKI34.js";
10
10
 
11
11
  // packages/cli/src/commands/extension.ts
@@ -14,23 +14,25 @@ import {
14
14
  parseCommandArgs,
15
15
  setExtensionEnabled,
16
16
  uninstallNpmExtension
17
- } from "./chunk-F55GRIEK.js";
18
- import "./chunk-IYG4FBMP.js";
19
- import "./chunk-M6TTZRGH.js";
17
+ } from "./chunk-VB2QXUJQ.js";
18
+ import "./chunk-HNGFKPNS.js";
20
19
  import "./chunk-RRZ4RQQU.js";
21
- import "./chunk-K23P5Q5N.js";
22
- import "./chunk-JCMGDCGX.js";
23
- import "./chunk-IWJSNMSY.js";
20
+ import "./chunk-USD45JKR.js";
21
+ import "./chunk-MOERAQXH.js";
22
+ import "./chunk-HUNDXZBZ.js";
23
+ import "./chunk-ODDGGLM6.js";
24
24
  import "./chunk-HPGN6XRT.js";
25
- import "./chunk-M3XDVS5Q.js";
25
+ import "./chunk-VZRA5TYO.js";
26
+ import "./chunk-IYCV34IU.js";
26
27
  import "./chunk-MTRMQFCQ.js";
27
- import "./chunk-VMCZBXF2.js";
28
- import "./chunk-PFZBNKUH.js";
28
+ import "./chunk-WQ46E33M.js";
29
+ import "./chunk-DW4TRDOZ.js";
30
+ import "./chunk-WCFSBH33.js";
29
31
  import "./chunk-EIQDZC43.js";
30
32
  import "./chunk-DGGZVZTM.js";
31
- import "./chunk-LWDTP6DH.js";
32
- import "./chunk-SKNXMUIU.js";
33
- import "./chunk-ODDGGLM6.js";
33
+ import "./chunk-IJPMIEVE.js";
34
+ import "./chunk-YNBXEQAP.js";
35
+ import "./chunk-5KXCM5AW.js";
34
36
  import "./chunk-LTLFOSA4.js";
35
37
  import "./chunk-T2TP6ZC6.js";
36
38
  import "./chunk-WW6C3PLV.js";
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-BTY4WNFE.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-BCG45AQB.js";
5
8
  import {
6
9
  command
7
10
  } from "./chunk-TXSA4Q3V.js";
8
11
  import "./chunk-O7IGP7ZW.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-RBNMDAKB.js";
12
12
  import {
13
13
  formatFileSize
14
14
  } from "./chunk-2OIYNHWO.js";
@@ -8,9 +8,9 @@ import {
8
8
  importPiSession,
9
9
  parseNameFromIdentity,
10
10
  sessionMatchesWorkspace
11
- } from "./chunk-XHN6XBWV.js";
11
+ } from "./chunk-OQJMTHEH.js";
12
12
  import "./chunk-SZJCJVXV.js";
13
- import "./chunk-IYG4FBMP.js";
13
+ import "./chunk-IJPMIEVE.js";
14
14
  import "./chunk-T2TP6ZC6.js";
15
15
  import "./chunk-WW6C3PLV.js";
16
16
  import "./chunk-2MJ7EOMT.js";
@@ -32,7 +32,7 @@ async function run(args) {
32
32
  return;
33
33
  }
34
34
  const wsDir = resolveWorkspace(inputPath);
35
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
35
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
36
36
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
37
37
  const client = getClient();
38
38
  const res = await daemonFetch(urlOf(client.api.minds.import.$url()), {
@@ -84,7 +84,7 @@ async function importArchive(archivePath, nameOverride) {
84
84
  process.exit(1);
85
85
  }
86
86
  try {
87
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
87
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
88
88
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
89
89
  const client = getClient();
90
90
  const res = await daemonFetch(urlOf(client.api.minds.import.$url()), {
@@ -19,7 +19,7 @@ var cmd = command({
19
19
  run: async ({ args, flags }) => {
20
20
  const variantName = args.variant;
21
21
  console.log(`Joining variant ${variantName}...`);
22
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
22
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
23
23
  const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
24
24
  const client = getClient();
25
25
  const statusRes = await daemonFetch(
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  resolveMindName
7
7
  } from "./chunk-BTY4WNFE.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-BCG45AQB.js";
8
11
  import {
9
12
  command
10
13
  } from "./chunk-TXSA4Q3V.js";
11
14
  import "./chunk-O7IGP7ZW.js";
12
- import {
13
- daemonFetch
14
- } from "./chunk-RBNMDAKB.js";
15
15
  import "./chunk-K3NQKI34.js";
16
16
 
17
17
  // packages/cli/src/commands/chat/list.ts
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-BCG45AQB.js";
2
5
  import {
3
6
  promptLine
4
7
  } from "./chunk-VHWGEJ4V.js";
@@ -6,9 +9,6 @@ import {
6
9
  command
7
10
  } from "./chunk-TXSA4Q3V.js";
8
11
  import "./chunk-O7IGP7ZW.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-RBNMDAKB.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // packages/cli/src/commands/systems/login.ts
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch,
4
+ resolveWebUrl
5
+ } from "./chunk-BCG45AQB.js";
2
6
  import {
3
7
  promptLine,
4
8
  promptPassword
@@ -7,9 +11,6 @@ import {
7
11
  command
8
12
  } from "./chunk-TXSA4Q3V.js";
9
13
  import "./chunk-O7IGP7ZW.js";
10
- import {
11
- daemonFetch
12
- } from "./chunk-RBNMDAKB.js";
13
14
  import {
14
15
  voluteUserHome
15
16
  } from "./chunk-WW6C3PLV.js";
@@ -24,6 +25,14 @@ var cmd = command({
24
25
  description: "Log in to the daemon",
25
26
  flags: {},
26
27
  run: async () => {
28
+ const statusRes = await daemonFetch("/api/setup/status");
29
+ if (statusRes.ok) {
30
+ const status = await statusRes.json().catch(() => ({}));
31
+ if (status.complete === false && status.hasAccount === false) {
32
+ console.error(`No account exists yet \u2014 finish setup at ${resolveWebUrl()} first.`);
33
+ process.exit(1);
34
+ }
35
+ }
27
36
  const username = await promptLine("Username: ");
28
37
  const password = await promptPassword("Password: ");
29
38
  const res = await daemonFetch("/api/auth/login", {
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-BCG45AQB.js";
2
5
  import {
3
6
  command
4
7
  } from "./chunk-TXSA4Q3V.js";
5
8
  import "./chunk-O7IGP7ZW.js";
6
- import {
7
- daemonFetch
8
- } from "./chunk-RBNMDAKB.js";
9
9
  import {
10
10
  voluteUserHome
11
11
  } from "./chunk-WW6C3PLV.js";
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-BCG45AQB.js";
2
5
  import {
3
6
  command
4
7
  } from "./chunk-TXSA4Q3V.js";
5
8
  import "./chunk-O7IGP7ZW.js";
6
- import {
7
- daemonFetch
8
- } from "./chunk-RBNMDAKB.js";
9
9
  import "./chunk-K3NQKI34.js";
10
10
 
11
11
  // packages/cli/src/commands/systems/logout.ts
@@ -6,23 +6,25 @@ import {
6
6
  recordInbound,
7
7
  recordOutbound,
8
8
  resolveSleepAction
9
- } from "./chunk-F55GRIEK.js";
10
- import "./chunk-IYG4FBMP.js";
11
- import "./chunk-M6TTZRGH.js";
9
+ } from "./chunk-VB2QXUJQ.js";
10
+ import "./chunk-HNGFKPNS.js";
12
11
  import "./chunk-RRZ4RQQU.js";
13
- import "./chunk-K23P5Q5N.js";
14
- import "./chunk-JCMGDCGX.js";
15
- import "./chunk-IWJSNMSY.js";
12
+ import "./chunk-USD45JKR.js";
13
+ import "./chunk-MOERAQXH.js";
14
+ import "./chunk-HUNDXZBZ.js";
15
+ import "./chunk-ODDGGLM6.js";
16
16
  import "./chunk-HPGN6XRT.js";
17
- import "./chunk-M3XDVS5Q.js";
17
+ import "./chunk-VZRA5TYO.js";
18
+ import "./chunk-IYCV34IU.js";
18
19
  import "./chunk-MTRMQFCQ.js";
19
- import "./chunk-VMCZBXF2.js";
20
- import "./chunk-PFZBNKUH.js";
20
+ import "./chunk-WQ46E33M.js";
21
+ import "./chunk-DW4TRDOZ.js";
22
+ import "./chunk-WCFSBH33.js";
21
23
  import "./chunk-EIQDZC43.js";
22
24
  import "./chunk-DGGZVZTM.js";
23
- import "./chunk-LWDTP6DH.js";
24
- import "./chunk-SKNXMUIU.js";
25
- import "./chunk-ODDGGLM6.js";
25
+ import "./chunk-IJPMIEVE.js";
26
+ import "./chunk-YNBXEQAP.js";
27
+ import "./chunk-5KXCM5AW.js";
26
28
  import "./chunk-LTLFOSA4.js";
27
29
  import "./chunk-T2TP6ZC6.js";
28
30
  import "./chunk-WW6C3PLV.js";
@@ -17,76 +17,80 @@ var cmd = subcommands({
17
17
  description: "Manage minds",
18
18
  commands: {
19
19
  create: {
20
- description: "Create a new mind",
21
- run: (args) => import("./create-PQQXKTJK.js").then((m) => m.run(args))
20
+ description: "Create a new mind (see 'volute seed create' for the recommended path)",
21
+ run: (args) => import("./create-GJKHABJB.js").then((m) => m.run(args))
22
22
  },
23
23
  start: {
24
24
  description: "Start a mind",
25
- run: (args) => import("./start-X46I3GXB.js").then((m) => m.run(args))
25
+ run: (args) => import("./start-O6UKK7BG.js").then((m) => m.run(args))
26
26
  },
27
27
  stop: {
28
28
  description: "Stop a mind",
29
- run: (args) => import("./stop-HJQV4YSM.js").then((m) => m.run(args))
29
+ run: (args) => import("./stop-UBX6X5RA.js").then((m) => m.run(args))
30
30
  },
31
31
  restart: {
32
32
  description: "Restart a mind",
33
- run: (args) => import("./restart-H5WJDMA7.js").then((m) => m.run(args))
33
+ run: (args) => import("./restart-YYEGZJDD.js").then((m) => m.run(args))
34
34
  },
35
35
  delete: {
36
36
  description: "Delete a mind",
37
- run: (args) => import("./delete-HPLC7ETU.js").then((m) => m.run(args))
37
+ run: (args) => import("./delete-ESEP7NGQ.js").then((m) => m.run(args))
38
38
  },
39
39
  list: {
40
40
  description: "List all minds",
41
- run: (args) => import("./mind-list-KEGRGQEQ.js").then((m) => m.run(args))
41
+ run: (args) => import("./mind-list-OTHV4ZO4.js").then((m) => m.run(args))
42
42
  },
43
43
  status: {
44
44
  description: "Check mind status",
45
- run: (args) => import("./mind-status-SMUWJKGV.js").then((m) => m.run(args))
45
+ run: (args) => import("./mind-status-BJNPGXKC.js").then((m) => m.run(args))
46
46
  },
47
47
  history: {
48
48
  description: "View mind activity history",
49
- run: (args) => import("./mind-history-47DN6ILW.js").then((m) => m.run(transformMindFlag(args)))
49
+ run: (args) => import("./mind-history-TTGA5BHZ.js").then((m) => m.run(transformMindFlag(args)))
50
+ },
51
+ contacts: {
52
+ description: "Who a mind has recently been in contact with",
53
+ run: (args) => import("./mind-contacts-GV7XYL5D.js").then((m) => m.run(transformMindFlag(args)))
50
54
  },
51
55
  profile: {
52
56
  description: "Update mind profile",
53
- run: (args) => import("./mind-profile-PEQYASQX.js").then((m) => m.run(args))
57
+ run: (args) => import("./mind-profile-LUG353ZT.js").then((m) => m.run(args))
54
58
  },
55
59
  upgrade: {
56
60
  description: "Upgrade mind to latest template",
57
- run: (args) => import("./upgrade-NWAZ7MLD.js").then((m) => m.run(args))
61
+ run: (args) => import("./upgrade-K5FIQPQD.js").then((m) => m.run(args))
58
62
  },
59
63
  import: {
60
64
  description: "Import an OpenClaw workspace",
61
- run: (args) => import("./import-7MO3YTRE.js").then((m) => m.run(args))
65
+ run: (args) => import("./import-SX3ZXHB4.js").then((m) => m.run(args))
62
66
  },
63
67
  export: {
64
68
  description: "Export a mind",
65
- run: (args) => import("./export-4GVGNW54.js").then((m) => m.run(args))
69
+ run: (args) => import("./export-C2K3NIRD.js").then((m) => m.run(args))
66
70
  },
67
71
  split: {
68
72
  description: "Split off a variant",
69
- run: (args) => import("./split-WBMZXBHF.js").then((m) => m.run(args))
73
+ run: (args) => import("./split-SKZ4Y2D6.js").then((m) => m.run(args))
70
74
  },
71
75
  join: {
72
76
  description: "Join a variant back into its parent",
73
- run: (args) => import("./join-ZJV7W6MO.js").then((m) => m.run(args))
77
+ run: (args) => import("./join-34TR2GXQ.js").then((m) => m.run(args))
74
78
  },
75
79
  sleep: {
76
80
  description: "(legacy) Use 'volute clock sleep' instead",
77
- run: (args) => import("./mind-sleep-IN3WPA76.js").then((m) => m.run(args))
81
+ run: (args) => import("./mind-sleep-DV7KP255.js").then((m) => m.run(args))
78
82
  },
79
83
  wake: {
80
84
  description: "(legacy) Use 'volute clock wake' instead",
81
- run: (args) => import("./mind-wake-R54BPESY.js").then((m) => m.run(args))
85
+ run: (args) => import("./mind-wake-LVTZ55EZ.js").then((m) => m.run(args))
82
86
  },
83
87
  seed: {
84
88
  description: "(legacy) Use 'volute seed create' instead",
85
- run: (args) => import("./seed-VANPU43L.js").then((m) => m.run(args))
89
+ run: (args) => import("./seed-F2HXZQU4.js").then((m) => m.run(args))
86
90
  },
87
91
  sprout: {
88
92
  description: "(legacy) Use 'volute seed sprout' instead",
89
- run: (args) => import("./sprout-LTL5P36T.js").then((m) => m.run(args))
93
+ run: (args) => import("./sprout-KQ43BWZJ.js").then((m) => m.run(args))
90
94
  }
91
95
  },
92
96
  footer: "Mind name can be omitted (where applicable) if VOLUTE_MIND is set."
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ getClient,
4
+ urlOf
5
+ } from "./chunk-LOPXTW6H.js";
6
+ import {
7
+ resolveMindName
8
+ } from "./chunk-BTY4WNFE.js";
9
+ import {
10
+ relativeAge
11
+ } from "./chunk-SHKM5RGD.js";
12
+ import {
13
+ daemonFetch
14
+ } from "./chunk-BCG45AQB.js";
15
+ import {
16
+ command
17
+ } from "./chunk-TXSA4Q3V.js";
18
+ import "./chunk-O7IGP7ZW.js";
19
+ import "./chunk-K3NQKI34.js";
20
+
21
+ // packages/cli/src/commands/mind-contacts.ts
22
+ var cmd = command({
23
+ name: "volute mind contacts",
24
+ description: "Who a mind has recently been in contact with (freshness-independent)",
25
+ flags: {
26
+ mind: { type: "string", description: "Mind name" },
27
+ hours: { type: "string", description: "Lookback window in hours (default 48)" }
28
+ },
29
+ examples: ["volute mind contacts --mind atlas", "volute mind contacts atlas --hours 24"],
30
+ run: async ({ flags }) => {
31
+ const name = resolveMindName(flags);
32
+ const client = getClient();
33
+ const url = client.api.minds[":name"].history.contacts.$url({ param: { name } });
34
+ if (flags.hours) url.searchParams.set("hours", flags.hours);
35
+ const res = await daemonFetch(urlOf(url));
36
+ if (!res.ok) {
37
+ let errorMsg = `Failed to get contacts: ${res.status}`;
38
+ try {
39
+ const data = await res.json();
40
+ if (data.error) errorMsg = data.error;
41
+ } catch {
42
+ }
43
+ console.error(errorMsg);
44
+ process.exit(1);
45
+ }
46
+ const { hours, contacts } = await res.json();
47
+ if (contacts.length === 0) {
48
+ console.log(`No contacts for ${name} in the last ${hours}h.`);
49
+ return;
50
+ }
51
+ console.log(`Recent contacts for ${name} (last ${hours}h):`);
52
+ for (const row of contacts) {
53
+ const channel = row.channel ?? "(unknown)";
54
+ const ago = relativeAge(row.last_at);
55
+ const last = ago ? `${ago} ago` : row.last_at;
56
+ const who = row.last_sender ? `, with ${row.last_sender}` : "";
57
+ console.log(` ${channel} \u2014 last ${last}, ${row.message_count} msg${who}`);
58
+ }
59
+ }
60
+ });
61
+ var run = cmd.execute;
62
+ export {
63
+ run
64
+ };
@@ -3,20 +3,20 @@ import {
3
3
  compactTime,
4
4
  isCompact
5
5
  } from "./chunk-5T5YMX6S.js";
6
+ import {
7
+ getClient,
8
+ urlOf
9
+ } from "./chunk-LOPXTW6H.js";
6
10
  import {
7
11
  resolveMindName
8
12
  } from "./chunk-BTY4WNFE.js";
13
+ import {
14
+ daemonFetch
15
+ } from "./chunk-BCG45AQB.js";
9
16
  import {
10
17
  command
11
18
  } from "./chunk-TXSA4Q3V.js";
12
19
  import "./chunk-O7IGP7ZW.js";
13
- import {
14
- daemonFetch
15
- } from "./chunk-RBNMDAKB.js";
16
- import {
17
- getClient,
18
- urlOf
19
- } from "./chunk-LOPXTW6H.js";
20
20
  import "./chunk-K3NQKI34.js";
21
21
 
22
22
  // packages/cli/src/commands/mind-history.ts
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ relativeAge,
4
+ run
5
+ } from "./chunk-SHKM5RGD.js";
6
+ import "./chunk-BCG45AQB.js";
7
+ import "./chunk-TXSA4Q3V.js";
8
+ import "./chunk-O7IGP7ZW.js";
9
+ import "./chunk-K3NQKI34.js";
10
+ export {
11
+ relativeAge,
12
+ run
13
+ };
@@ -29,7 +29,7 @@ var cmd = command({
29
29
  );
30
30
  process.exit(1);
31
31
  }
32
- const { daemonFetch } = await import("./daemon-client-IYR4KCPU.js");
32
+ const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
33
33
  const body = {};
34
34
  if (displayName) body.displayName = displayName;
35
35
  if (description) body.description = description;