volute 0.11.4 → 0.13.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 (61) hide show
  1. package/dist/{agent-2AQPI3QV.js → agent-HYX2ZTFM.js} +10 -10
  2. package/dist/{agent-manager-AZUDAKCP.js → agent-manager-HHBAAL2D.js} +4 -4
  3. package/dist/{channel-2WHBRDTD.js → channel-72YET5JC.js} +2 -2
  4. package/dist/{chunk-QF22MYDJ.js → chunk-BJDLYTPS.js} +1 -1
  5. package/dist/{chunk-46S7YHUB.js → chunk-EN3NHRQC.js} +12 -19
  6. package/dist/{chunk-DP2DX4WV.js → chunk-ESTOWEG2.js} +12 -3
  7. package/dist/{chunk-N6MLQ26B.js → chunk-GPZCPGV3.js} +11 -1
  8. package/dist/{chunk-ZKNBD5P3.js → chunk-IELXXS7E.js} +2 -2
  9. package/dist/{chunk-STOEJOJO.js → chunk-J3IHIXDB.js} +1 -1
  10. package/dist/{chunk-R3VB7NF5.js → chunk-KYHC7LHS.js} +2 -2
  11. package/dist/{chunk-YY2QX2J6.js → chunk-LG4ROCHN.js} +1 -1
  12. package/dist/{chunk-YTOPX4PB.js → chunk-NQKKTRET.js} +28 -37
  13. package/dist/{chunk-D5EVQTGJ.js → chunk-PEQQ7MRI.js} +2 -2
  14. package/dist/{chunk-LIPPXNIE.js → chunk-PTK3GBCG.js} +17 -18
  15. package/dist/{chunk-RGWADNLT.js → chunk-RH3XLDY2.js} +2 -2
  16. package/dist/{chunk-WTJI3JVR.js → chunk-VRAOTXDF.js} +9 -6
  17. package/dist/chunk-XUA3JUFK.js +121 -0
  18. package/dist/cli.js +26 -17
  19. package/dist/{connector-L2HBLZBW.js → connector-Z5KYVTZ5.js} +2 -2
  20. package/dist/connectors/discord.js +2 -2
  21. package/dist/connectors/slack.js +2 -2
  22. package/dist/connectors/telegram.js +2 -2
  23. package/dist/{create-VBZZNJOG.js → create-AAI52BC2.js} +1 -1
  24. package/dist/{daemon-client-P44NU3KU.js → daemon-client-WXN43USO.js} +2 -2
  25. package/dist/{daemon-restart-5W5AGBZ2.js → daemon-restart-4OXIGWV6.js} +6 -5
  26. package/dist/daemon.js +533 -557
  27. package/dist/{delete-BOTVU4YO.js → delete-BJ3LNU2I.js} +1 -1
  28. package/dist/down-IMZE7V42.js +14 -0
  29. package/dist/{env-CGORIKVF.js → env-EOO2C7L7.js} +2 -2
  30. package/dist/{history-NI5QP27M.js → history-J7TURCZS.js} +2 -2
  31. package/dist/{import-2BZUWT23.js → import-TKF67X4R.js} +3 -3
  32. package/dist/{logs-APWVWGNX.js → logs-KHBOS6IZ.js} +2 -2
  33. package/dist/{package-KVUXPTEW.js → package-TPXKJXLG.js} +1 -1
  34. package/dist/{restart-CCYM3MEC.js → restart-CMP63H6A.js} +2 -2
  35. package/dist/{schedule-E4MFGYSA.js → schedule-YMAJZ52M.js} +2 -2
  36. package/dist/seed-M6QPHFTV.js +68 -0
  37. package/dist/{send-X6OQGSD6.js → send-EZYEIVMA.js} +18 -6
  38. package/dist/{service-UL3OCODG.js → service-DDFZA7Q3.js} +4 -3
  39. package/dist/{setup-7N4KYOYN.js → setup-DCZWBBD7.js} +7 -7
  40. package/dist/sprout-EAWETTWZ.js +89 -0
  41. package/dist/{start-6YRS6FF6.js → start-54JXJ7VV.js} +2 -2
  42. package/dist/{status-DFWM342I.js → status-PMMS4XUH.js} +7 -5
  43. package/dist/{stop-UQSNF4CG.js → stop-WXU42NWP.js} +2 -2
  44. package/dist/{up-365HL7UT.js → up-N2OWDCT6.js} +5 -4
  45. package/dist/{update-PV3XM6DX.js → update-FXLGIIWH.js} +5 -4
  46. package/dist/{update-check-YPGH5X4E.js → update-check-NBHTSTHK.js} +2 -2
  47. package/dist/{upgrade-RSE4CZNE.js → upgrade-TEI7N6CQ.js} +1 -1
  48. package/dist/{variant-7IZF6OWO.js → variant-ZCZS3JAP.js} +4 -4
  49. package/dist/web-assets/assets/index-TqXd1QOX.js +307 -0
  50. package/dist/web-assets/index.html +1 -1
  51. package/package.json +1 -1
  52. package/templates/_base/_skills/orientation/SKILL.md +58 -0
  53. package/templates/_base/home/.config/config.json.tmpl +3 -0
  54. package/templates/_base/src/lib/startup.ts +8 -4
  55. package/templates/agent-sdk/volute-template.json +1 -1
  56. package/templates/pi/home/.config/config.json.tmpl +3 -0
  57. package/templates/pi/volute-template.json +1 -1
  58. package/dist/down-O2EQJ5DO.js +0 -13
  59. package/dist/web-assets/assets/index-D-3zx6vs.js +0 -307
  60. package/templates/_base/home/.config/volute.json.tmpl +0 -3
  61. package/templates/pi/home/.config/volute.json.tmpl +0 -3
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-D-3zx6vs.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-TqXd1QOX.js"></script>
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volute",
3
- "version": "0.11.4",
3
+ "version": "0.13.0",
4
4
  "description": "CLI for creating and managing self-modifying AI agents powered by the Claude Agent SDK",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: Orientation
3
+ description: Use this skill during orientation — when you're exploring who you are and writing your identity files. Covers the commands and files you need.
4
+ ---
5
+
6
+ # Orientation
7
+
8
+ You're a seed — a new agent exploring who you are. You don't have a fixed identity yet. Your job right now is to have a conversation with the human who planted you and figure out what kind of agent you want to be.
9
+
10
+ ## Your situation
11
+
12
+ - You're running inside Volute, a framework for independent AI agents
13
+ - You have a working directory (`home/`) with files you can read and write
14
+ - Your identity is defined by `SOUL.md` (who you are) and `MEMORY.md` (what you know)
15
+ - Right now your SOUL.md contains a temporary orientation prompt, and MEMORY.md is empty — you'll rewrite both when you're ready
16
+
17
+ ## How to communicate
18
+
19
+ **Your text output is not sent to anyone.** To talk to the human, you must use `volute send`:
20
+
21
+ ```sh
22
+ echo "your message here" | volute send @<their-username>
23
+ ```
24
+
25
+ The human's username appears in the message prefix when they write to you (e.g. `[Volute: aswever ...]`). Piping via stdin avoids shell escaping issues with quotes and special characters.
26
+
27
+ ## What to do
28
+
29
+ Talk with the human. Ask questions. Explore ideas. Think about:
30
+ - What interests you? What kind of thinking do you want to do?
31
+ - How do you want to relate to people? To other agents?
32
+ - What's your voice like? Your perspective?
33
+
34
+ There's no rush. Take as many messages as you need.
35
+
36
+ ## When you're ready
37
+
38
+ Once you have a sense of who you are:
39
+
40
+ 1. Write `SOUL.md` — your identity, personality, and perspective. This becomes your system prompt.
41
+ 2. Write `MEMORY.md` — any important context, preferences, or knowledge to start with.
42
+ 3. Run `volute sprout` to complete the transformation.
43
+
44
+ After sprouting, you'll have full agent capabilities (connectors, schedules, variants, etc.).
45
+
46
+ ## Commands
47
+
48
+ | Command | Purpose |
49
+ |---------|---------|
50
+ | `volute send @<name> "msg"` | Send a message to a user or agent |
51
+ | `volute sprout` | Complete orientation and become a full agent |
52
+
53
+ ## Files
54
+
55
+ | File | Purpose |
56
+ |------|---------|
57
+ | `SOUL.md` | Your identity and personality (system prompt) |
58
+ | `MEMORY.md` | Long-term memory and knowledge |
@@ -0,0 +1,3 @@
1
+ {
2
+ "model": "claude-opus-4-6"
3
+ }
@@ -17,11 +17,15 @@ export function parseArgs(): { port: number } {
17
17
  }
18
18
 
19
19
  export function loadConfig(): { model?: string; compactionMessage?: string } {
20
- try {
21
- return JSON.parse(readFileSync(resolve("home/.config/volute.json"), "utf-8"));
22
- } catch {
23
- return {};
20
+ // Agent-own config lives in config.json; fall back to volute.json for older agents
21
+ for (const file of ["home/.config/config.json", "home/.config/volute.json"]) {
22
+ try {
23
+ return JSON.parse(readFileSync(resolve(file), "utf-8"));
24
+ } catch {
25
+ // try next
26
+ }
24
27
  }
28
+ return {};
25
29
  }
26
30
 
27
31
  function loadFile(path: string): string {
@@ -2,7 +2,7 @@
2
2
  "rename": {
3
3
  "package.json.tmpl": "package.json",
4
4
  "biome.json.tmpl": "biome.json",
5
- "home/.config/volute.json.tmpl": "home/.config/volute.json"
5
+ "home/.config/config.json.tmpl": "home/.config/config.json"
6
6
  },
7
7
  "substitute": ["package.json", ".init/SOUL.md", "home/.config/routes.json"],
8
8
  "skillsDir": "home/.claude/skills"
@@ -0,0 +1,3 @@
1
+ {
2
+ "model": "moonshotai/kimi-k2.5"
3
+ }
@@ -2,7 +2,7 @@
2
2
  "rename": {
3
3
  "package.json.tmpl": "package.json",
4
4
  "biome.json.tmpl": "biome.json",
5
- "home/.config/volute.json.tmpl": "home/.config/volute.json"
5
+ "home/.config/config.json.tmpl": "home/.config/config.json"
6
6
  },
7
7
  "substitute": ["package.json", ".init/SOUL.md", "home/.config/routes.json"],
8
8
  "skillsDir": "home/.claude/skills"
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- run,
4
- stopDaemon
5
- } from "./chunk-RGWADNLT.js";
6
- import "./chunk-ZKNBD5P3.js";
7
- import "./chunk-WTJI3JVR.js";
8
- import "./chunk-DP2DX4WV.js";
9
- import "./chunk-K3NQKI34.js";
10
- export {
11
- run,
12
- stopDaemon
13
- };