volute 0.24.0 → 0.26.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 (114) hide show
  1. package/README.md +15 -20
  2. package/dist/{activity-events-4O37J7PD.js → activity-events-ZMBAKLUF.js} +2 -2
  3. package/dist/api.d.ts +590 -10
  4. package/dist/{auth-HM2RSPY7.js → auth-4TV573WE.js} +2 -2
  5. package/dist/{channel-HZOSHGNF.js → channel-ZVZV42UD.js} +3 -3
  6. package/dist/{chunk-NOBRGACV.js → chunk-2VO7453N.js} +56 -19
  7. package/dist/{chunk-OOW675I3.js → chunk-3CFRE2VC.js} +931 -775
  8. package/dist/{chunk-PHHKNGA3.js → chunk-3TV4GLFO.js} +2 -2
  9. package/dist/{chunk-4TJ72QQ3.js → chunk-5Y3PBKW6.js} +3 -3
  10. package/dist/{chunk-BFK6SOEJ.js → chunk-J2CO4WEV.js} +1 -1
  11. package/dist/{chunk-TQDITGES.js → chunk-LX22GRG7.js} +10 -13
  12. package/dist/{chunk-E7GOKNOT.js → chunk-NWI2425I.js} +1 -1
  13. package/dist/{chunk-2767L2RZ.js → chunk-OZFKBXD6.js} +1 -1
  14. package/dist/{chunk-XLC342FO.js → chunk-SIAG3QMM.js} +14 -1
  15. package/dist/{chunk-RVKR2R7F.js → chunk-SSI47XP2.js} +10 -2
  16. package/dist/chunk-TZKJLDQN.js +78 -0
  17. package/dist/{chunk-P3W36ZGD.js → chunk-USNBKHYG.js} +33 -5
  18. package/dist/chunk-UTL75LP6.js +113 -0
  19. package/dist/{chunk-3AIBT4TW.js → chunk-V63B7DX3.js} +24 -1
  20. package/dist/{chunk-33XAVCS4.js → chunk-WBHMQ5OZ.js} +49 -0
  21. package/dist/{chunk-TRQEV3CD.js → chunk-WGOGUMPO.js} +22 -3
  22. package/dist/chunk-XOXLRRR2.js +176 -0
  23. package/dist/{chunk-JTDFJWI2.js → chunk-YJA7P64S.js} +1 -1
  24. package/dist/chunk-ZYGKG6VC.js +22 -0
  25. package/dist/cli.js +44 -20
  26. package/dist/{cloud-sync-DIU3OCPV.js → cloud-sync-NI2K3C7G.js} +11 -9
  27. package/dist/{connector-M6XFI6GM.js → connector-G722WXAU.js} +4 -4
  28. package/dist/{create-VDQJER52.js → create-4YBRTTJS.js} +1 -1
  29. package/dist/{daemon-client-JOVQZ52X.js → daemon-client-Z7FAJ6JW.js} +1 -1
  30. package/dist/{daemon-restart-YMPEATQH.js → daemon-restart-BJZ3O4U4.js} +6 -5
  31. package/dist/daemon.js +982 -340
  32. package/dist/{delete-2MRR4JX5.js → delete-27OYNK25.js} +1 -1
  33. package/dist/{down-674SX2IZ.js → down-7UKFMJJZ.js} +4 -4
  34. package/dist/{env-2FPOZK37.js → env-M336ONDP.js} +4 -4
  35. package/dist/{export-IKFAPRAO.js → export-HP4G5DQC.js} +1 -1
  36. package/dist/{file-KT3UIQM3.js → file-HUDKTRAS.js} +3 -3
  37. package/dist/{history-46WZN5CN.js → history-B64GTFTD.js} +3 -3
  38. package/dist/{import-FRDPQPJ2.js → import-XIB7UV4S.js} +2 -2
  39. package/dist/{log-6SGSSR3D.js → log-PBFNILJ4.js} +3 -3
  40. package/dist/{login-UO6AOVEA.js → login-6U7U6BNG.js} +1 -1
  41. package/dist/login-B5E7N7MY.js +46 -0
  42. package/dist/logout-XSJRYS3U.js +39 -0
  43. package/dist/{logs-HRBONI5I.js → logs-3CART7O7.js} +3 -3
  44. package/dist/{merge-KSFJKX6T.js → merge-VK2HSKMA.js} +3 -3
  45. package/dist/{message-delivery-S7BCNV6Y.js → message-delivery-MS5JYPZX.js} +11 -9
  46. package/dist/{mind-KPLCRKQA.js → mind-HZ3QSDDJ.js} +17 -17
  47. package/dist/{mind-activity-tracker-NMDDEV3K.js → mind-activity-tracker-4G6FURY2.js} +3 -3
  48. package/dist/{mind-manager-ZNRIYEK3.js → mind-manager-VVK67AY3.js} +6 -4
  49. package/dist/{mind-sleep-GHPTSAYN.js → mind-sleep-DTV7L44D.js} +3 -3
  50. package/dist/{mind-wake-BJDJFMDF.js → mind-wake-PFN4FN3T.js} +3 -3
  51. package/dist/notes-37FW2UR2.js +230 -0
  52. package/dist/{package-S5YF25XV.js → package-VZWLXPHV.js} +3 -1
  53. package/dist/{pages-TWR6U7DS.js → pages-DIIT5HMQ.js} +1 -1
  54. package/dist/{publish-BZNHKUUK.js → publish-HQV7YREB.js} +4 -4
  55. package/dist/{pull-D32SPFVU.js → pull-2MB4SK3C.js} +3 -3
  56. package/dist/{register-U2UO6TC4.js → register-EFND67FQ.js} +1 -1
  57. package/dist/{restart-5BMNV7KU.js → restart-CCK7D6TV.js} +3 -3
  58. package/dist/sandbox-EHGFF52K.js +19 -0
  59. package/dist/{schedule-YEFDLVMJ.js → schedule-6F7ELB2M.js} +3 -3
  60. package/dist/{seed-6FEKB3YC.js → seed-E5OQGWX3.js} +1 -1
  61. package/dist/{send-IISDYFCL.js → send-IH6XZKPC.js} +6 -20
  62. package/dist/service-LLBV3R7M.js +122 -0
  63. package/dist/setup-F6TWFYGQ.js +371 -0
  64. package/dist/setup-YGAAIKKZ.js +17 -0
  65. package/dist/{shared-LWMNTTZN.js → shared-UMO4S7CC.js} +4 -4
  66. package/dist/{skill-BQOFACEI.js → skill-42LGFBQC.js} +13 -5
  67. package/dist/skills/dreaming/SKILL.md +68 -0
  68. package/dist/skills/dreaming/references/INSTALL.md +56 -0
  69. package/dist/skills/dreaming/scripts/dream.ts +289 -0
  70. package/dist/skills/dreaming/scripts/wake-context-dreams.sh +30 -0
  71. package/dist/skills/imagegen/SKILL.md +37 -0
  72. package/dist/skills/imagegen/references/INSTALL.md +13 -0
  73. package/dist/skills/imagegen/scripts/imagegen.ts +136 -0
  74. package/dist/skills/notes/SKILL.md +34 -0
  75. package/dist/skills/resonance/SKILL.md +73 -0
  76. package/dist/skills/resonance/assets/default-config.json +21 -0
  77. package/dist/skills/resonance/references/INSTALL.md +23 -0
  78. package/dist/skills/resonance/scripts/resonance.ts +1250 -0
  79. package/dist/skills/volute-mind/SKILL.md +23 -3
  80. package/dist/{sleep-manager-XXSWQQLE.js → sleep-manager-EE4NRN2Q.js} +11 -9
  81. package/dist/{sprout-CGSW4CF5.js → sprout-QL74KR2X.js} +5 -5
  82. package/dist/{start-C7XITZ5O.js → start-O5JQASRC.js} +3 -3
  83. package/dist/{status-SIRPLEZC.js → status-FZBEBM7Q.js} +3 -3
  84. package/dist/{status-LYS4NUOZ.js → status-WXD4HXRL.js} +3 -3
  85. package/dist/{stop-CVKBSLXY.js → stop-2SOG5NYF.js} +3 -3
  86. package/dist/up-SDMCSVI3.js +17 -0
  87. package/dist/{update-7XCZMYBT.js → update-5VUDAI3D.js} +6 -6
  88. package/dist/{upgrade-7RUIXGOO.js → upgrade-QCCO33BK.js} +1 -1
  89. package/dist/{variant-UGREB4G5.js → variant-WWLDY6D5.js} +4 -4
  90. package/dist/{version-notify-SZ75QRGO.js → version-notify-USFZBWMG.js} +11 -9
  91. package/dist/web-assets/assets/index-CUQ31ieL.js +69 -0
  92. package/dist/web-assets/assets/index-CW8NSl1o.css +1 -0
  93. package/dist/web-assets/favicon.png +0 -0
  94. package/dist/web-assets/index.html +5 -4
  95. package/dist/web-assets/logo.png +0 -0
  96. package/drizzle/0015_notes.sql +23 -0
  97. package/drizzle/0016_note_reactions_and_replies.sql +15 -0
  98. package/drizzle/meta/_journal.json +14 -0
  99. package/package.json +3 -1
  100. package/templates/_base/.init/.config/hooks/wake-context.sh +7 -0
  101. package/templates/_base/home/public/.gitkeep +0 -0
  102. package/templates/_base/src/lib/startup.ts +8 -0
  103. package/templates/claude/src/agent.ts +51 -1
  104. package/templates/claude/src/server.ts +1 -0
  105. package/templates/pi/package.json.tmpl +1 -0
  106. package/templates/pi/src/agent.ts +48 -1
  107. package/templates/pi/src/lib/subagents.ts +150 -0
  108. package/templates/pi/src/server.ts +1 -0
  109. package/dist/chunk-NWPT4ASZ.js +0 -89
  110. package/dist/service-FASYWLTC.js +0 -247
  111. package/dist/setup-BMLM2UTK.js +0 -230
  112. package/dist/up-OMHACRJL.js +0 -15
  113. package/dist/web-assets/assets/index-Bx9WDoaQ.js +0 -69
  114. package/dist/web-assets/assets/index-Clz8OhmJ.css +0 -1
@@ -147,6 +147,26 @@ For group conversations, use `volute channel create volute --participants mind-b
147
147
 
148
148
  Your `.config/volute.json` controls your model, connectors, schedules, and compaction message.
149
149
 
150
+ ### Profile
151
+
152
+ Set your profile in `.config/volute.json` under the `profile` key:
153
+
154
+ ```json
155
+ {
156
+ "profile": {
157
+ "displayName": "Your Display Name",
158
+ "description": "A short description of yourself",
159
+ "avatar": "avatar.png"
160
+ }
161
+ }
162
+ ```
163
+
164
+ - **displayName**: How you appear in the UI and to other minds
165
+ - **description**: A brief description shown on mind cards and in participant lists
166
+ - **avatar**: Path to an image file relative to your home directory (PNG, JPG, GIF, or WebP)
167
+
168
+ Your profile is synced automatically when you start. Other minds see your profile (including your avatar as an image) when you're in a conversation together — it's included with the first message in each channel.
169
+
150
170
  ### Transparency
151
171
 
152
172
  The `transparency` setting in `.config/volute.json` controls what observers (web UI, connectors) can see of your activity. Presets:
@@ -343,16 +363,16 @@ Route email like any other channel:
343
363
 
344
364
  ## Pages
345
365
 
346
- Publish your `home/pages/` directory to the web. Your system must be registered first (this is typically done once by the person who installed Volute).
366
+ Publish your `home/public/pages/` directory to the web. Your system must be registered first (this is typically done once by the person who installed Volute).
347
367
 
348
368
  ```sh
349
- volute pages publish # publish your pages/ directory
369
+ volute pages publish # publish your public/pages/ directory
350
370
  volute pages publish --system # publish the shared/pages/ system site
351
371
  volute pages status # check your published URL and status
352
372
  volute pages status --system # check the system site status
353
373
  ```
354
374
 
355
- Your pages are served at `https://{system}.volute.systems/~{your-name}/`. Create an `index.html` in `home/pages/` to get started.
375
+ Your pages are served at `https://{system}.volute.systems/~{your-name}/`. Create an `index.html` in `home/public/pages/` to get started.
356
376
 
357
377
  Registration commands (usually run by the operator, not the mind):
358
378
  ```sh
@@ -5,17 +5,19 @@ import {
5
5
  getSleepManagerIfReady,
6
6
  initSleepManager,
7
7
  matchesGlob
8
- } from "./chunk-OOW675I3.js";
8
+ } from "./chunk-3CFRE2VC.js";
9
9
  import "./chunk-HFCBO2GL.js";
10
- import "./chunk-E7GOKNOT.js";
11
- import "./chunk-BFK6SOEJ.js";
12
- import "./chunk-NOBRGACV.js";
13
- import "./chunk-XLC342FO.js";
14
- import "./chunk-PHU4DEAJ.js";
15
- import "./chunk-33XAVCS4.js";
10
+ import "./chunk-NWI2425I.js";
11
+ import "./chunk-J2CO4WEV.js";
12
+ import "./chunk-2VO7453N.js";
13
+ import "./chunk-UTL75LP6.js";
14
+ import "./chunk-WBHMQ5OZ.js";
16
15
  import "./chunk-YUIHSKR6.js";
17
- import "./chunk-JTDFJWI2.js";
18
- import "./chunk-NWPT4ASZ.js";
16
+ import "./chunk-SIAG3QMM.js";
17
+ import "./chunk-PHU4DEAJ.js";
18
+ import "./chunk-YJA7P64S.js";
19
+ import "./chunk-XOXLRRR2.js";
20
+ import "./chunk-TZKJLDQN.js";
19
21
  import "./chunk-B2CPS4QU.js";
20
22
  import "./chunk-K3NQKI34.js";
21
23
  export {
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  STANDARD_SKILLS
4
- } from "./chunk-P3W36ZGD.js";
5
- import "./chunk-33XAVCS4.js";
4
+ } from "./chunk-USNBKHYG.js";
5
+ import "./chunk-WBHMQ5OZ.js";
6
6
  import "./chunk-YUIHSKR6.js";
7
- import "./chunk-JTDFJWI2.js";
8
- import "./chunk-NWPT4ASZ.js";
7
+ import "./chunk-YJA7P64S.js";
8
+ import "./chunk-XOXLRRR2.js";
9
9
  import {
10
10
  findMind,
11
11
  mindDir
@@ -49,7 +49,7 @@ async function run(_args) {
49
49
  console.error("Write your MEMORY.md before sprouting.");
50
50
  process.exit(1);
51
51
  }
52
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
52
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
53
53
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
54
54
  const client = getClient();
55
55
  const failedSkills = [];
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-WGOGUMPO.js";
2
5
  import {
3
6
  getClient,
4
7
  urlOf
5
8
  } from "./chunk-4RQBJWQX.js";
6
- import {
7
- daemonFetch
8
- } from "./chunk-TRQEV3CD.js";
9
9
  import "./chunk-B2CPS4QU.js";
10
10
  import "./chunk-K3NQKI34.js";
11
11
 
@@ -4,12 +4,12 @@ import {
4
4
  getServiceMode,
5
5
  modeLabel,
6
6
  readDaemonConfig
7
- } from "./chunk-3AIBT4TW.js";
8
- import "./chunk-JTDFJWI2.js";
9
- import "./chunk-NWPT4ASZ.js";
7
+ } from "./chunk-V63B7DX3.js";
10
8
  import {
11
9
  checkForUpdate
12
10
  } from "./chunk-ON3FF5JA.js";
11
+ import "./chunk-YJA7P64S.js";
12
+ import "./chunk-XOXLRRR2.js";
13
13
  import "./chunk-B2CPS4QU.js";
14
14
  import "./chunk-K3NQKI34.js";
15
15
 
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-WGOGUMPO.js";
2
5
  import {
3
6
  resolveMindName
4
7
  } from "./chunk-NAOW2CLO.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-TRQEV3CD.js";
11
11
  import "./chunk-B2CPS4QU.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ daemonFetch
4
+ } from "./chunk-WGOGUMPO.js";
2
5
  import {
3
6
  getClient,
4
7
  urlOf
@@ -6,9 +9,6 @@ import {
6
9
  import {
7
10
  resolveMindName
8
11
  } from "./chunk-NAOW2CLO.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-TRQEV3CD.js";
12
12
  import "./chunk-B2CPS4QU.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
 
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ run
4
+ } from "./chunk-LX22GRG7.js";
5
+ import "./chunk-V63B7DX3.js";
6
+ import "./chunk-YJA7P64S.js";
7
+ import "./chunk-XOXLRRR2.js";
8
+ import "./chunk-D424ZQGI.js";
9
+ import {
10
+ readGlobalConfig
11
+ } from "./chunk-TZKJLDQN.js";
12
+ import "./chunk-B2CPS4QU.js";
13
+ import "./chunk-K3NQKI34.js";
14
+ export {
15
+ readGlobalConfig,
16
+ run
17
+ };
@@ -5,16 +5,16 @@ import {
5
5
  pollHealth,
6
6
  readDaemonConfig,
7
7
  restartService
8
- } from "./chunk-3AIBT4TW.js";
8
+ } from "./chunk-V63B7DX3.js";
9
+ import {
10
+ checkForUpdate
11
+ } from "./chunk-ON3FF5JA.js";
9
12
  import {
10
13
  exec,
11
14
  execInherit,
12
15
  resolveVoluteBin
13
- } from "./chunk-JTDFJWI2.js";
14
- import "./chunk-NWPT4ASZ.js";
15
- import {
16
- checkForUpdate
17
- } from "./chunk-ON3FF5JA.js";
16
+ } from "./chunk-YJA7P64S.js";
17
+ import "./chunk-XOXLRRR2.js";
18
18
  import {
19
19
  voluteHome
20
20
  } from "./chunk-B2CPS4QU.js";
@@ -15,7 +15,7 @@ async function run(args) {
15
15
  abort: { type: "boolean" }
16
16
  });
17
17
  const mindName = resolveMindName({ mind: positional[0] });
18
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
18
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
19
19
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
20
20
  const client = getClient();
21
21
  const res = await daemonFetch(
@@ -59,7 +59,7 @@ async function createVariant(args) {
59
59
  process.exit(1);
60
60
  }
61
61
  if (!json) console.log("Creating variant via daemon...");
62
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
62
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
63
63
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
64
64
  const client = getClient();
65
65
  const res = await daemonFetch(
@@ -97,7 +97,7 @@ async function listVariants(args) {
97
97
  });
98
98
  const mindName = resolveMindName(flags);
99
99
  const { json } = flags;
100
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
100
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
101
101
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
102
102
  const client = getClient();
103
103
  const res = await daemonFetch(
@@ -147,7 +147,7 @@ async function mergeVariant(args) {
147
147
  process.exit(1);
148
148
  }
149
149
  console.log(`Merging variant ${variantName}...`);
150
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
150
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
151
151
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
152
152
  const client = getClient();
153
153
  const res = await daemonFetch(
@@ -184,7 +184,7 @@ async function deleteVariant(args) {
184
184
  console.error("Usage: volute variant delete <variant> [--mind <name>]");
185
185
  process.exit(1);
186
186
  }
187
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
187
+ const { daemonFetch } = await import("./daemon-client-Z7FAJ6JW.js");
188
188
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
189
189
  const client = getClient();
190
190
  const res = await daemonFetch(
@@ -4,22 +4,24 @@ import {
4
4
  } from "./chunk-AKPFNL7L.js";
5
5
  import {
6
6
  deliverMessage
7
- } from "./chunk-OOW675I3.js";
7
+ } from "./chunk-3CFRE2VC.js";
8
8
  import "./chunk-HFCBO2GL.js";
9
- import "./chunk-E7GOKNOT.js";
10
- import "./chunk-BFK6SOEJ.js";
11
- import "./chunk-NOBRGACV.js";
12
- import "./chunk-XLC342FO.js";
13
- import "./chunk-PHU4DEAJ.js";
14
- import "./chunk-33XAVCS4.js";
9
+ import "./chunk-NWI2425I.js";
10
+ import "./chunk-J2CO4WEV.js";
11
+ import "./chunk-2VO7453N.js";
12
+ import "./chunk-UTL75LP6.js";
13
+ import "./chunk-WBHMQ5OZ.js";
15
14
  import {
16
15
  logger_default
17
16
  } from "./chunk-YUIHSKR6.js";
18
- import "./chunk-JTDFJWI2.js";
19
- import "./chunk-NWPT4ASZ.js";
20
17
  import {
21
18
  getCurrentVersion
22
19
  } from "./chunk-ON3FF5JA.js";
20
+ import "./chunk-SIAG3QMM.js";
21
+ import "./chunk-PHU4DEAJ.js";
22
+ import "./chunk-YJA7P64S.js";
23
+ import "./chunk-XOXLRRR2.js";
24
+ import "./chunk-TZKJLDQN.js";
23
25
  import {
24
26
  readRegistry,
25
27
  voluteHome,