volute 0.33.0 → 0.34.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 (182) hide show
  1. package/dist/{accept-D5VBM7JW.js → accept-TW6V4WI4.js} +6 -6
  2. package/dist/{activity-events-XJO3P4RR.js → activity-events-BN7V6KCC.js} +4 -4
  3. package/dist/{ai-service-SBY2WG7O.js → ai-service-PSILB5WD.js} +5 -5
  4. package/dist/{api-client-YPKOZP2O.js → api-client-XUXOB7LI.js} +1 -1
  5. package/dist/api.d.ts +426 -3
  6. package/dist/{archive-INXYFVCW.js → archive-C2VEMQOR.js} +4 -4
  7. package/dist/{auth-GKCDSO4T.js → auth-ZFZXJZDQ.js} +5 -5
  8. package/dist/{bridge-TXWWPPOJ.js → bridge-O753D5F4.js} +6 -6
  9. package/dist/{chat-U5ZOME3O.js → chat-BHYX7DJ4.js} +9 -9
  10. package/dist/{chunk-M7UL5S3Q.js → chunk-2IOP6PHB.js} +1 -1
  11. package/dist/{chunk-NPKSDYA2.js → chunk-47XDEWWV.js} +5 -5
  12. package/dist/{chunk-RSX4OPZY.js → chunk-47ZPNLF4.js} +7 -7
  13. package/dist/{chunk-RPZZSXV3.js → chunk-4JSR7YO7.js} +20 -1
  14. package/dist/{chunk-N432I7QH.js → chunk-6OWJXUAR.js} +1 -1
  15. package/dist/{chunk-I5KY25PQ.js → chunk-6WAWMWR5.js} +1 -1
  16. package/dist/{chunk-NNB4WIG7.js → chunk-7F2SW2KD.js} +2 -2
  17. package/dist/chunk-7KJOFUNN.js +22 -0
  18. package/dist/{chunk-7J3HEVR7.js → chunk-B2BVAIZ4.js} +15 -9
  19. package/dist/{chunk-VH33ZWMW.js → chunk-BDK73LK6.js} +1 -1
  20. package/dist/{chunk-QTUVYI7W.js → chunk-BFWHBQK4.js} +1 -1
  21. package/dist/{chunk-JYVGHWEJ.js → chunk-BM474GX6.js} +3 -3
  22. package/dist/{chunk-LOEJ4HPQ.js → chunk-BTWAGDV5.js} +1 -1
  23. package/dist/{chunk-A2A4KLFE.js → chunk-CVL5IGIR.js} +596 -40
  24. package/dist/{chunk-RVGLDGMI.js → chunk-E5C7OWZ2.js} +20 -22
  25. package/dist/chunk-FYCALD4Q.js +23 -0
  26. package/dist/{chunk-SKLSMHXO.js → chunk-IS7WJ56Q.js} +1 -1
  27. package/dist/{chunk-2NGTS5UU.js → chunk-M3K5AARV.js} +1 -1
  28. package/dist/{chunk-ALEF47VT.js → chunk-MLOQKQNB.js} +1 -1
  29. package/dist/{chunk-C7I35G4R.js → chunk-N3DNFPVA.js} +41 -5
  30. package/dist/{chunk-LRCG2JLP.js → chunk-N7BLAHNE.js} +5 -1
  31. package/dist/{chunk-UKVWJRKN.js → chunk-PLDWHR4D.js} +1 -1
  32. package/dist/{chunk-3Z2DPESO.js → chunk-TAHX36HZ.js} +126 -81
  33. package/dist/{chunk-KIEPMIM5.js → chunk-U5BTYSAL.js} +1 -1
  34. package/dist/{chunk-GY5HBI7A.js → chunk-V45JXOWY.js} +2 -2
  35. package/dist/{chunk-JUKK7FPS.js → chunk-V6ZCNULL.js} +2 -2
  36. package/dist/{chunk-KVK2DLWI.js → chunk-XWXBJQBE.js} +2 -2
  37. package/dist/cli.js +23 -23
  38. package/dist/{clock-BVH3V6E3.js → clock-3X4DSC2N.js} +40 -25
  39. package/dist/{cloud-sync-4NWLMFVH.js → cloud-sync-TG3TIX5H.js} +21 -21
  40. package/dist/{config-H2H4UIF7.js → config-OROA5DUA.js} +4 -4
  41. package/dist/connectors/discord-bridge.js +1 -1
  42. package/dist/connectors/slack-bridge.js +1 -1
  43. package/dist/connectors/telegram-bridge.js +1 -1
  44. package/dist/{conversations-AWI5SZW2.js → conversations-HL2JP5GI.js} +5 -5
  45. package/dist/{create-YWD2TIP4.js → create-3SEKKI6P.js} +6 -6
  46. package/dist/{create-2FK7Z46Y.js → create-UOSOQ2HN.js} +4 -4
  47. package/dist/daemon-client-WOAQXXBM.js +12 -0
  48. package/dist/{daemon-restart-GOBUKLX7.js → daemon-restart-5ABHNXJZ.js} +9 -9
  49. package/dist/daemon.js +1747 -688
  50. package/dist/{db-RA45JBFG.js → db-PLEDCBHZ.js} +1 -1
  51. package/dist/db-RYX3SS2W.js +9 -0
  52. package/dist/{delete-QTGWEDBI.js → delete-KYOVWR23.js} +3 -3
  53. package/dist/delivery-manager-2BR5NZKF.js +32 -0
  54. package/dist/{delivery-router-FL45JL7N.js → delivery-router-D5ELDMS2.js} +4 -4
  55. package/dist/down-QVFN4UPK.js +15 -0
  56. package/dist/{env-JCOF2222.js → env-R34DT7XL.js} +12 -8
  57. package/dist/exec-DVLXKRIO.js +17 -0
  58. package/dist/{export-SUYRLI5Q.js → export-6ZXAXATG.js} +6 -6
  59. package/dist/extension-PM42QCID.js +97 -0
  60. package/dist/extensions-BBGVL5JC.js +38 -0
  61. package/dist/{files-65PMW5IK.js → files-VQV2VZQO.js} +7 -7
  62. package/dist/{import-DDUFE7AY.js → import-MK2I2T6F.js} +5 -5
  63. package/dist/{isolation-LLAYQYDY.js → isolation-62MKDZN3.js} +4 -4
  64. package/dist/{join-I5QEE3LG.js → join-DGYHTJUH.js} +3 -3
  65. package/dist/lib-DYEZMGW7.js +6588 -0
  66. package/dist/{list-JQ463EDA.js → list-C644WTHV.js} +18 -10
  67. package/dist/{login-D7ETSU4R.js → login-IIGEQPHL.js} +6 -6
  68. package/dist/{login-RIJF2F4G.js → login-KZQLMAWE.js} +4 -4
  69. package/dist/{logout-5MLHZALK.js → logout-AGTZVRGP.js} +4 -4
  70. package/dist/{logout-UZJRGY4Z.js → logout-KD6GXIJJ.js} +4 -4
  71. package/dist/message-delivery-V3R6NXJP.js +42 -0
  72. package/dist/{mind-IOJFLEM5.js → mind-BI4EPBVZ.js} +19 -19
  73. package/dist/{mind-activity-tracker-F6O4Q2SL.js → mind-activity-tracker-2ACNHA7B.js} +5 -5
  74. package/dist/mind-history-WOYFLQAI.js +264 -0
  75. package/dist/{mind-list-WUPMQDYQ.js → mind-list-6VPM7GUQ.js} +4 -4
  76. package/dist/mind-manager-MWW3BTS4.js +32 -0
  77. package/dist/{mind-profile-P67FEHOY.js → mind-profile-WPG42U5Y.js} +2 -2
  78. package/dist/mind-service-VIKZJK2M.js +38 -0
  79. package/dist/{mind-sleep-WW2IX7JT.js → mind-sleep-XDISJY74.js} +6 -6
  80. package/dist/{mind-status-L3EFFRPR.js → mind-status-7FTZWPZF.js} +4 -4
  81. package/dist/{mind-wake-VSSGW465.js → mind-wake-KIIKEI3A.js} +6 -6
  82. package/dist/{package-U3VFO273.js → package-V2WHWVG6.js} +8 -5
  83. package/dist/{read-EBY56C33.js → read-H5C26YO7.js} +20 -10
  84. package/dist/{read-stdin-HQJ7774D.js → read-stdin-PIRM6A2Y.js} +1 -1
  85. package/dist/{register-HD74C4TT.js → register-J27WP33N.js} +6 -6
  86. package/dist/{registry-PJ4S5PHQ.js → registry-UYV5S6QT.js} +3 -3
  87. package/dist/{reject-UJKFBHRO.js → reject-OEANJYIA.js} +6 -6
  88. package/dist/{restart-3UCMRUVC.js → restart-V5EGYBJG.js} +4 -4
  89. package/dist/{sandbox-GJOK4QLQ.js → sandbox-SI5HMBP3.js} +5 -5
  90. package/dist/scheduler-AGG3L2FO.js +32 -0
  91. package/dist/{schema-PA3M5ZKH.js → schema-ETMABTW4.js} +4 -2
  92. package/dist/{seed-QDYVLG74.js → seed-WNGI6PNW.js} +2 -2
  93. package/dist/{seed-check-S2IX25RL.js → seed-check-PXTH7YXS.js} +2 -2
  94. package/dist/{seed-cmd-DKOUFEAU.js → seed-cmd-VENFTGS3.js} +4 -4
  95. package/dist/{seed-create-4XBBOLRH.js → seed-create-663ALOKH.js} +6 -6
  96. package/dist/{seed-sprout-GQEIIQRT.js → seed-sprout-EH3AGKAI.js} +12 -12
  97. package/dist/{send-QIV2INHB.js → send-7FUUUZZH.js} +23 -10
  98. package/dist/{setup-TISPCO22.js → setup-GGMKENLN.js} +4 -4
  99. package/dist/{setup-XMCBE3LF.js → setup-Z3DEVWV7.js} +11 -11
  100. package/dist/{skill-PSQGRRJX.js → skill-DKNYJS4P.js} +14 -10
  101. package/dist/skills/plan-coordinator/SKILL.md +60 -0
  102. package/dist/skills/volute-mind/SKILL.md +7 -221
  103. package/dist/skills/volute-mind/references/extensions.md +37 -0
  104. package/dist/skills/volute-mind/references/integrations.md +48 -0
  105. package/dist/skills/volute-mind/references/routing.md +86 -0
  106. package/dist/skills/volute-mind/references/sleep.md +33 -0
  107. package/dist/skills/volute-mind/references/variants.md +31 -0
  108. package/dist/{skills-7FV7EJTE.js → skills-Q6VZ2UGD.js} +11 -7
  109. package/dist/sleep-manager-BJK2ROPX.js +36 -0
  110. package/dist/spirit-4JP4TY4C.js +23 -0
  111. package/dist/{split-STOROBYJ.js → split-3YPMS2CL.js} +3 -3
  112. package/dist/{sprout-WKLZXUIQ.js → sprout-E3HJIV2Z.js} +2 -2
  113. package/dist/{start-K2NCUUCG.js → start-W3TPKX4D.js} +4 -4
  114. package/dist/{status-3JBTFSMI.js → status-4OVFXFEJ.js} +7 -7
  115. package/dist/{stop-H26JZDXF.js → stop-GTT6YWYO.js} +4 -4
  116. package/dist/system-channel-DXD2JBOU.js +36 -0
  117. package/dist/system-chat-TYLOL7SX.js +36 -0
  118. package/dist/{systems-XRI52VCH.js → systems-AYLO727G.js} +7 -7
  119. package/dist/{tailscale-XHQBZROW.js → tailscale-ZEUK7GKZ.js} +3 -3
  120. package/dist/{template-hash-A6VVKOXJ.js → template-hash-EJRTKE36.js} +1 -1
  121. package/dist/up-PA7F2CXE.js +18 -0
  122. package/dist/{update-UD543CXX.js → update-HG4LCUSG.js} +7 -7
  123. package/dist/{update-check-ZD6OOIYQ.js → update-check-X3YG4WVP.js} +4 -4
  124. package/dist/{upgrade-O4Q7WJM3.js → upgrade-YGNIDICG.js} +3 -3
  125. package/dist/{variant-7TGZHOU3.js → variant-MZUMRTQO.js} +1 -1
  126. package/dist/{version-notify-NBI2MTJO.js → version-notify-YCH4UVQ2.js} +19 -19
  127. package/dist/{volute-config-HD7WWUQC.js → volute-config-WBKYJGYQ.js} +1 -1
  128. package/dist/web-assets/assets/index-DiiwC-CZ.css +1 -0
  129. package/dist/web-assets/assets/index-d6y5b9Ij.js +75 -0
  130. package/dist/web-assets/ext-theme.css +48 -9
  131. package/dist/web-assets/index.html +2 -2
  132. package/drizzle/0005_meta_summaries.sql +15 -0
  133. package/drizzle/meta/0005_snapshot.json +7 -0
  134. package/drizzle/meta/_journal.json +7 -0
  135. package/package.json +7 -4
  136. package/packages/extensions/plan/dist/ui/assets/index-CJj2gZnZ.css +1 -0
  137. package/packages/extensions/plan/dist/ui/assets/index-FMEJmvQz.js +61 -0
  138. package/packages/extensions/plan/dist/ui/index.html +14 -0
  139. package/packages/extensions/plan/skills/plan/SKILL.md +43 -0
  140. package/packages/extensions/plan/skills/plan/scripts/plan-hook.sh +37 -0
  141. package/templates/_base/home/VOLUTE.md +12 -19
  142. package/templates/_base/src/lib/context-breakdown.ts +450 -0
  143. package/templates/_base/src/lib/format-prefix.ts +17 -0
  144. package/templates/_base/src/lib/hook-loader.ts +8 -2
  145. package/templates/_base/src/lib/router.ts +75 -33
  146. package/templates/_base/src/lib/routing.ts +4 -1
  147. package/templates/_base/src/lib/startup.ts +16 -8
  148. package/templates/_base/src/lib/types.ts +2 -1
  149. package/templates/_base/src/lib/volute-server.ts +69 -8
  150. package/templates/claude/.init/CLAUDE.md +4 -10
  151. package/templates/claude/package.json.tmpl +1 -0
  152. package/templates/claude/src/agent.ts +100 -32
  153. package/templates/claude/src/lib/hooks/reply-instructions.ts +27 -7
  154. package/templates/claude/src/lib/stream-consumer.ts +2 -2
  155. package/templates/claude/src/server.ts +1 -0
  156. package/templates/codex/package.json.tmpl +1 -0
  157. package/templates/codex/src/agent.ts +80 -8
  158. package/templates/codex/src/server.ts +1 -4
  159. package/templates/pi/package.json.tmpl +1 -0
  160. package/templates/pi/src/agent.ts +115 -36
  161. package/templates/pi/src/lib/event-handler.ts +22 -7
  162. package/templates/pi/src/lib/reply-instructions-extension.ts +23 -4
  163. package/templates/pi/src/lib/subagents.ts +20 -17
  164. package/templates/pi/src/server.ts +2 -5
  165. package/dist/chunk-K3NQKI34.js +0 -10
  166. package/dist/daemon-client-6QXHZ7US.js +0 -12
  167. package/dist/db-F34YLV7D.js +0 -9
  168. package/dist/delivery-manager-PFAKEJTC.js +0 -32
  169. package/dist/down-FWWTEKXM.js +0 -15
  170. package/dist/extension-OBTGKQQD.js +0 -175
  171. package/dist/extensions-KYNTVTMO.js +0 -30
  172. package/dist/history-DKCDI3JO.js +0 -128
  173. package/dist/message-delivery-DFF5SJRM.js +0 -42
  174. package/dist/mind-manager-NBJF5D26.js +0 -32
  175. package/dist/mind-service-2MQ6UK5N.js +0 -38
  176. package/dist/scheduler-ZZ7XGQG6.js +0 -32
  177. package/dist/sleep-manager-JTXSN7NV.js +0 -36
  178. package/dist/spirit-VRONKFMF.js +0 -23
  179. package/dist/system-chat-JAPOJ3KE.js +0 -36
  180. package/dist/up-M5AS6SBV.js +0 -18
  181. package/dist/web-assets/assets/index-CWJrVveV.css +0 -1
  182. package/dist/web-assets/assets/index-DJt14FRI.js +0 -75
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-PLDWHR4D.js";
11
+ import "./chunk-N7BLAHNE.js";
12
+ import "./chunk-4JSR7YO7.js";
13
+ import "./chunk-7KJOFUNN.js";
14
14
 
15
15
  // src/commands/mind-wake.ts
16
16
  async function run(args) {
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
2
+ import "./chunk-7KJOFUNN.js";
3
3
 
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "volute",
7
- version: "0.33.0",
7
+ version: "0.34.0",
8
8
  description: "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
9
9
  type: "module",
10
10
  license: "MIT",
@@ -42,12 +42,14 @@ var package_default = {
42
42
  "packages/extensions/notes/dist/ui/",
43
43
  "packages/extensions/notes/skills/",
44
44
  "packages/extensions/pages/dist/ui/",
45
- "packages/extensions/pages/skills/"
45
+ "packages/extensions/pages/skills/",
46
+ "packages/extensions/plan/dist/ui/",
47
+ "packages/extensions/plan/skills/"
46
48
  ],
47
49
  scripts: {
48
50
  dev: "tsx src/cli.ts",
49
51
  build: "npm run build:ext && tsup && cp -r skills dist/skills && npm run build:web",
50
- "build:ext": "npm run build:ui --workspace=packages/extensions/notes && npm run build:ui --workspace=packages/extensions/pages",
52
+ "build:ext": "npm run build:ext-theme --workspace=packages/ui && cp packages/ui/dist/ext-theme.css src/web/ui/public/ext-theme.css && npm run build:ui --workspace=packages/extensions/notes && npm run build:ui --workspace=packages/extensions/pages && npm run build:ui --workspace=packages/extensions/plan",
51
53
  "build:web": "vite build --config src/web/ui/vite.config.ts",
52
54
  "dev:web": "vite --config src/web/ui/vite.config.ts",
53
55
  test: "node --import tsx --import ./test/setup.ts --test --test-force-exit --test-concurrency=4 $(find test -name '*.test.ts' ! -name 'daemon-e2e.test.ts' | sort)",
@@ -57,7 +59,7 @@ var package_default = {
57
59
  "lint:fix": "biome check --write src/ test/",
58
60
  format: "biome format --write src/ test/",
59
61
  typecheck: "tsc --noEmit",
60
- "typecheck:templates": "tsc --noEmit -p templates/claude/tsconfig.json && tsc --noEmit -p templates/pi/tsconfig.json",
62
+ "typecheck:templates": "tsx scripts/typecheck-templates.ts",
61
63
  "lint:templates": "biome check templates/",
62
64
  "typecheck:web": "svelte-check --tsconfig src/web/ui/tsconfig.json",
63
65
  prepare: "lefthook install",
@@ -96,6 +98,7 @@ var package_default = {
96
98
  "drizzle-kit": "^0.31.8",
97
99
  lefthook: "^2.1.0",
98
100
  marked: "^17.0.1",
101
+ sharp: "^0.34.5",
99
102
  svelte: "^5.53.0",
100
103
  tsup: "^8.0.0",
101
104
  tsx: "^4.0.0",
@@ -1,16 +1,20 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ compactTime,
4
+ isCompact
5
+ } from "./chunk-FYCALD4Q.js";
2
6
  import {
3
7
  resolveMindName
4
8
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
9
  import {
9
10
  parseArgs
10
11
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
12
+ import {
13
+ daemonFetch
14
+ } from "./chunk-PLDWHR4D.js";
15
+ import "./chunk-N7BLAHNE.js";
16
+ import "./chunk-4JSR7YO7.js";
17
+ import "./chunk-7KJOFUNN.js";
14
18
 
15
19
  // src/commands/chat/read.ts
16
20
  async function resolveConversationId(mindName, input) {
@@ -61,13 +65,19 @@ async function run(args) {
61
65
  console.error("Unexpected response format from server");
62
66
  process.exit(1);
63
67
  }
68
+ const compact = isCompact();
64
69
  for (const msg of data.items) {
65
70
  const sender = msg.sender_name ?? msg.role;
66
71
  const text = Array.isArray(msg.content) ? msg.content.filter((b) => b.type === "text").map((b) => b.text).join("") : msg.content;
67
- const time = new Date(
68
- msg.created_at.endsWith("Z") ? msg.created_at : `${msg.created_at}Z`
69
- ).toLocaleString();
70
- console.log(`[${time}] ${sender}: ${text}`);
72
+ if (compact) {
73
+ const time = compactTime(msg.created_at);
74
+ console.log(`[${time}] ${sender}: ${text}`);
75
+ } else {
76
+ const time = new Date(
77
+ msg.created_at.endsWith("Z") ? msg.created_at : `${msg.created_at}Z`
78
+ ).toLocaleString();
79
+ console.log(`[${time}] ${sender}: ${text}`);
80
+ }
71
81
  }
72
82
  }
73
83
  export {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readStdin
4
4
  } from "./chunk-6LXAAQ43.js";
5
- import "./chunk-K3NQKI34.js";
5
+ import "./chunk-7KJOFUNN.js";
6
6
  export {
7
7
  readStdin
8
8
  };
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  promptLine
4
4
  } from "./chunk-SSI47XP2.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-PLDWHR4D.js";
11
+ import "./chunk-N7BLAHNE.js";
12
+ import "./chunk-4JSR7YO7.js";
13
+ import "./chunk-7KJOFUNN.js";
14
14
 
15
15
  // src/commands/systems/register.ts
16
16
  async function run(args) {
@@ -24,9 +24,9 @@ import {
24
24
  voluteHome,
25
25
  voluteSystemDir,
26
26
  voluteUserHome
27
- } from "./chunk-LRCG2JLP.js";
28
- import "./chunk-RPZZSXV3.js";
29
- import "./chunk-K3NQKI34.js";
27
+ } from "./chunk-N7BLAHNE.js";
28
+ import "./chunk-4JSR7YO7.js";
29
+ import "./chunk-7KJOFUNN.js";
30
30
  export {
31
31
  addMind,
32
32
  addSpirit,
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-PLDWHR4D.js";
11
+ import "./chunk-N7BLAHNE.js";
12
+ import "./chunk-4JSR7YO7.js";
13
+ import "./chunk-7KJOFUNN.js";
14
14
 
15
15
  // src/commands/chat/reject.ts
16
16
  async function run(args) {
@@ -8,10 +8,10 @@ import {
8
8
  } from "./chunk-4RQBJWQX.js";
9
9
  import {
10
10
  daemonFetch
11
- } from "./chunk-UKVWJRKN.js";
12
- import "./chunk-LRCG2JLP.js";
13
- import "./chunk-RPZZSXV3.js";
14
- import "./chunk-K3NQKI34.js";
11
+ } from "./chunk-PLDWHR4D.js";
12
+ import "./chunk-N7BLAHNE.js";
13
+ import "./chunk-4JSR7YO7.js";
14
+ import "./chunk-7KJOFUNN.js";
15
15
 
16
16
  // src/commands/restart.ts
17
17
  async function run(args) {
@@ -5,12 +5,12 @@ import {
5
5
  isSandboxEnabled,
6
6
  shellEscape,
7
7
  wrapForSandbox
8
- } from "./chunk-GY5HBI7A.js";
8
+ } from "./chunk-V45JXOWY.js";
9
9
  import "./chunk-YUIHSKR6.js";
10
- import "./chunk-N432I7QH.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
10
+ import "./chunk-6OWJXUAR.js";
11
+ import "./chunk-N7BLAHNE.js";
12
+ import "./chunk-4JSR7YO7.js";
13
+ import "./chunk-7KJOFUNN.js";
14
14
  export {
15
15
  buildDenyRead,
16
16
  initSandbox,
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ Scheduler,
4
+ getScheduler,
5
+ initScheduler
6
+ } from "./chunk-TAHX36HZ.js";
7
+ import "./chunk-CVL5IGIR.js";
8
+ import "./chunk-B2BVAIZ4.js";
9
+ import "./chunk-G53F3JA4.js";
10
+ import "./chunk-N3DNFPVA.js";
11
+ import "./chunk-OYAKCAVY.js";
12
+ import "./chunk-V45JXOWY.js";
13
+ import "./chunk-IS7WJ56Q.js";
14
+ import "./chunk-BTWAGDV5.js";
15
+ import "./chunk-M3K5AARV.js";
16
+ import "./chunk-PB65JZK2.js";
17
+ import "./chunk-BM474GX6.js";
18
+ import "./chunk-E5C7OWZ2.js";
19
+ import "./chunk-XWXBJQBE.js";
20
+ import "./chunk-BFWHBQK4.js";
21
+ import "./chunk-YUIHSKR6.js";
22
+ import "./chunk-U5BTYSAL.js";
23
+ import "./chunk-BDK73LK6.js";
24
+ import "./chunk-6OWJXUAR.js";
25
+ import "./chunk-N7BLAHNE.js";
26
+ import "./chunk-4JSR7YO7.js";
27
+ import "./chunk-7KJOFUNN.js";
28
+ export {
29
+ Scheduler,
30
+ getScheduler,
31
+ initScheduler
32
+ };
@@ -10,11 +10,12 @@ import {
10
10
  minds,
11
11
  sessions,
12
12
  sharedSkills,
13
+ summaries,
13
14
  systemPrompts,
14
15
  turns,
15
16
  users
16
- } from "./chunk-RPZZSXV3.js";
17
- import "./chunk-K3NQKI34.js";
17
+ } from "./chunk-4JSR7YO7.js";
18
+ import "./chunk-7KJOFUNN.js";
18
19
  export {
19
20
  activity,
20
21
  conversationParticipants,
@@ -26,6 +27,7 @@ export {
26
27
  minds,
27
28
  sessions,
28
29
  sharedSkills,
30
+ summaries,
29
31
  systemPrompts,
30
32
  turns,
31
33
  users
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
2
+ import "./chunk-7KJOFUNN.js";
3
3
 
4
4
  // src/commands/seed.ts
5
5
  async function run(args) {
6
6
  console.error("Note: `volute mind seed` is now `volute seed create`");
7
- await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args));
7
+ await import("./seed-create-663ALOKH.js").then((m) => m.run(args));
8
8
  }
9
9
  export {
10
10
  run
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  parseArgs
4
4
  } from "./chunk-D424ZQGI.js";
5
- import "./chunk-K3NQKI34.js";
5
+ import "./chunk-7KJOFUNN.js";
6
6
 
7
7
  // src/commands/seed-check.ts
8
8
  async function run(args) {
@@ -12,7 +12,7 @@ async function run(args) {
12
12
  console.error("Usage: volute seed check <name>");
13
13
  process.exit(1);
14
14
  }
15
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
15
+ const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
16
16
  const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/seed-check`);
17
17
  if (!res.ok) {
18
18
  if (res.status === 404) {
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
2
+ import "./chunk-7KJOFUNN.js";
3
3
 
4
4
  // src/commands/seed-cmd.ts
5
5
  async function run(args) {
6
6
  const subcommand = args[0];
7
7
  switch (subcommand) {
8
8
  case "create":
9
- await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args.slice(1)));
9
+ await import("./seed-create-663ALOKH.js").then((m) => m.run(args.slice(1)));
10
10
  break;
11
11
  case "sprout":
12
- await import("./seed-sprout-GQEIIQRT.js").then((m) => m.run(args.slice(1)));
12
+ await import("./seed-sprout-EH3AGKAI.js").then((m) => m.run(args.slice(1)));
13
13
  break;
14
14
  case "check":
15
- await import("./seed-check-S2IX25RL.js").then((m) => m.run(args.slice(1)));
15
+ await import("./seed-check-PXTH7YXS.js").then((m) => m.run(args.slice(1)));
16
16
  break;
17
17
  case "--help":
18
18
  case "-h":
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  parseArgs
7
7
  } from "./chunk-D424ZQGI.js";
8
- import "./chunk-K3NQKI34.js";
8
+ import "./chunk-7KJOFUNN.js";
9
9
 
10
10
  // src/commands/seed-create.ts
11
11
  async function chooseModel(daemonFetch) {
@@ -48,19 +48,19 @@ async function run(args) {
48
48
  }
49
49
  const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
50
50
  const createdBy = flags["created-by"];
51
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
52
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
51
+ const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
52
+ const { getClient, urlOf } = await import("./api-client-XUXOB7LI.js");
53
53
  const client = getClient();
54
54
  let model = flags.model;
55
55
  let template = flags.template;
56
56
  if (!template) {
57
- const { resolveTemplate } = await import("./ai-service-SBY2WG7O.js");
57
+ const { resolveTemplate } = await import("./ai-service-PSILB5WD.js");
58
58
  template = resolveTemplate(model);
59
59
  }
60
60
  if (template !== "claude" && !model) {
61
61
  if (process.env.VOLUTE_MIND || !process.stdin.isTTY) {
62
- const { getSpiritModel } = await import("./spirit-VRONKFMF.js");
63
- const { qualifyModelId } = await import("./ai-service-SBY2WG7O.js");
62
+ const { getSpiritModel } = await import("./spirit-4JP4TY4C.js");
63
+ const { qualifyModelId } = await import("./ai-service-PSILB5WD.js");
64
64
  const spiritModel = getSpiritModel();
65
65
  if (spiritModel) {
66
66
  model = template === "pi" ? qualifyModelId(spiritModel) : spiritModel;
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getStandardSkillsWithExtensions
4
- } from "./chunk-C7I35G4R.js";
4
+ } from "./chunk-N3DNFPVA.js";
5
5
  import "./chunk-YUIHSKR6.js";
6
- import "./chunk-KIEPMIM5.js";
7
- import "./chunk-VH33ZWMW.js";
8
- import "./chunk-N432I7QH.js";
6
+ import "./chunk-U5BTYSAL.js";
7
+ import "./chunk-BDK73LK6.js";
8
+ import "./chunk-6OWJXUAR.js";
9
9
  import {
10
10
  findMind,
11
11
  mindDir
12
- } from "./chunk-LRCG2JLP.js";
13
- import "./chunk-RPZZSXV3.js";
14
- import "./chunk-K3NQKI34.js";
12
+ } from "./chunk-N7BLAHNE.js";
13
+ import "./chunk-4JSR7YO7.js";
14
+ import "./chunk-7KJOFUNN.js";
15
15
 
16
16
  // src/commands/seed-sprout.ts
17
17
  import { existsSync, readFileSync } from "fs";
@@ -50,9 +50,9 @@ async function run(_args) {
50
50
  console.error("Write your MEMORY.md before sprouting.");
51
51
  process.exit(1);
52
52
  }
53
- const { isImagegenEnabled } = await import("./setup-TISPCO22.js");
53
+ const { isImagegenEnabled } = await import("./setup-GGMKENLN.js");
54
54
  if (isImagegenEnabled()) {
55
- const { readVoluteConfig } = await import("./volute-config-HD7WWUQC.js");
55
+ const { readVoluteConfig } = await import("./volute-config-WBKYJGYQ.js");
56
56
  const config = readVoluteConfig(dir);
57
57
  const avatarPath = config?.profile?.avatar;
58
58
  if (!avatarPath || !existsSync(resolve(dir, "home", avatarPath))) {
@@ -62,9 +62,9 @@ async function run(_args) {
62
62
  process.exit(1);
63
63
  }
64
64
  }
65
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
66
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
67
- const { mindSkillsDir } = await import("./skills-7FV7EJTE.js");
65
+ const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
66
+ const { getClient, urlOf } = await import("./api-client-XUXOB7LI.js");
67
+ const { mindSkillsDir } = await import("./skills-Q6VZ2UGD.js");
68
68
  const client = getClient();
69
69
  const failedSkills = [];
70
70
  for (const skillId of getStandardSkillsWithExtensions()) {
@@ -2,22 +2,25 @@
2
2
  import {
3
3
  readStdin
4
4
  } from "./chunk-6LXAAQ43.js";
5
+ import {
6
+ isCompact
7
+ } from "./chunk-FYCALD4Q.js";
5
8
  import {
6
9
  getClient,
7
10
  urlOf
8
11
  } from "./chunk-4RQBJWQX.js";
9
12
  import {
10
13
  formatFileSize
11
- } from "./chunk-ALEF47VT.js";
12
- import {
13
- daemonFetch
14
- } from "./chunk-UKVWJRKN.js";
14
+ } from "./chunk-MLOQKQNB.js";
15
15
  import {
16
16
  parseArgs
17
17
  } from "./chunk-D424ZQGI.js";
18
- import "./chunk-LRCG2JLP.js";
19
- import "./chunk-RPZZSXV3.js";
20
- import "./chunk-K3NQKI34.js";
18
+ import {
19
+ daemonFetch
20
+ } from "./chunk-PLDWHR4D.js";
21
+ import "./chunk-N7BLAHNE.js";
22
+ import "./chunk-4JSR7YO7.js";
23
+ import "./chunk-7KJOFUNN.js";
21
24
 
22
25
  // src/commands/send.ts
23
26
  import { existsSync, readFileSync, statSync } from "fs";
@@ -297,8 +300,14 @@ To reply to a person, use their username from the message prefix (e.g. volute ch
297
300
  `Warning: could not read outboundId from response: ${err.message}`
298
301
  );
299
302
  }
300
- console.log(`Message sent.${outboundId != null ? `
301
- [volute:outbound:${outboundId}]` : ""}`);
303
+ if (isCompact()) {
304
+ if (outboundId != null) console.log(`[volute:outbound:${outboundId}]`);
305
+ } else {
306
+ console.log(
307
+ `Message sent.${outboundId != null ? `
308
+ [volute:outbound:${outboundId}]` : ""}`
309
+ );
310
+ }
302
311
  }
303
312
  } else if (!parsed.isDM && parsed.platform === "volute") {
304
313
  if (!parsed.identifier.startsWith("#")) {
@@ -347,8 +356,12 @@ To reply to a person, use their username from the message prefix (e.g. volute ch
347
356
  } catch (err) {
348
357
  console.error(`Warning: could not read outboundId from response: ${err.message}`);
349
358
  }
350
- console.log(`Message sent.${outboundId != null ? `
359
+ if (isCompact()) {
360
+ if (outboundId != null) console.log(`[volute:outbound:${outboundId}]`);
361
+ } else {
362
+ console.log(`Message sent.${outboundId != null ? `
351
363
  [volute:outbound:${outboundId}]` : ""}`);
364
+ }
352
365
  } else {
353
366
  console.error(
354
367
  `Direct sends to ${parsed.platform} channels are no longer supported.
@@ -6,10 +6,10 @@ import {
6
6
  migrateSetupCompleted,
7
7
  readGlobalConfig,
8
8
  writeGlobalConfig
9
- } from "./chunk-N432I7QH.js";
10
- import "./chunk-LRCG2JLP.js";
11
- import "./chunk-RPZZSXV3.js";
12
- import "./chunk-K3NQKI34.js";
9
+ } from "./chunk-6OWJXUAR.js";
10
+ import "./chunk-N7BLAHNE.js";
11
+ import "./chunk-4JSR7YO7.js";
12
+ import "./chunk-7KJOFUNN.js";
13
13
  export {
14
14
  configPath,
15
15
  isImagegenEnabled,
@@ -5,26 +5,26 @@ import {
5
5
  SYSTEM_LAUNCHD_PLIST_PATH,
6
6
  SYSTEM_SERVICE_PATH,
7
7
  USER_SYSTEMD_UNIT
8
- } from "./chunk-NNB4WIG7.js";
8
+ } from "./chunk-7F2SW2KD.js";
9
9
  import {
10
10
  promptLine
11
11
  } from "./chunk-SSI47XP2.js";
12
+ import {
13
+ parseArgs
14
+ } from "./chunk-D424ZQGI.js";
12
15
  import {
13
16
  resolveVoluteBin
14
- } from "./chunk-KIEPMIM5.js";
17
+ } from "./chunk-U5BTYSAL.js";
15
18
  import {
16
19
  ensureVoluteGroup
17
- } from "./chunk-VH33ZWMW.js";
20
+ } from "./chunk-BDK73LK6.js";
18
21
  import {
19
22
  readGlobalConfig,
20
23
  writeGlobalConfig
21
- } from "./chunk-N432I7QH.js";
22
- import {
23
- parseArgs
24
- } from "./chunk-D424ZQGI.js";
25
- import "./chunk-LRCG2JLP.js";
26
- import "./chunk-RPZZSXV3.js";
27
- import "./chunk-K3NQKI34.js";
24
+ } from "./chunk-6OWJXUAR.js";
25
+ import "./chunk-N7BLAHNE.js";
26
+ import "./chunk-4JSR7YO7.js";
27
+ import "./chunk-7KJOFUNN.js";
28
28
 
29
29
  // src/commands/setup.ts
30
30
  import { execFile, execFileSync } from "child_process";
@@ -387,7 +387,7 @@ Install as a service (auto-start on boot)? [${serviceDefault}]: `;
387
387
  if (aiProvider) {
388
388
  const aiApiKey = (await promptLine("API key (leave empty to use env var): ")).trim();
389
389
  if (aiApiKey) {
390
- const { saveProviderConfig } = await import("./ai-service-SBY2WG7O.js");
390
+ const { saveProviderConfig } = await import("./ai-service-PSILB5WD.js");
391
391
  saveProviderConfig(aiProvider, { apiKey: aiApiKey });
392
392
  console.log(` AI provider configured: ${aiProvider}`);
393
393
  } else {
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ isCompact
4
+ } from "./chunk-FYCALD4Q.js";
2
5
  import {
3
6
  resolveMindName
4
7
  } from "./chunk-NAOW2CLO.js";
@@ -6,15 +9,15 @@ import {
6
9
  getClient,
7
10
  urlOf
8
11
  } from "./chunk-4RQBJWQX.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-UKVWJRKN.js";
12
12
  import {
13
13
  parseArgs
14
14
  } from "./chunk-D424ZQGI.js";
15
- import "./chunk-LRCG2JLP.js";
16
- import "./chunk-RPZZSXV3.js";
17
- import "./chunk-K3NQKI34.js";
15
+ import {
16
+ daemonFetch
17
+ } from "./chunk-PLDWHR4D.js";
18
+ import "./chunk-N7BLAHNE.js";
19
+ import "./chunk-4JSR7YO7.js";
20
+ import "./chunk-7KJOFUNN.js";
18
21
 
19
22
  // src/commands/skill.ts
20
23
  async function run(args) {
@@ -87,8 +90,8 @@ async function listSkills(args) {
87
90
  console.log("No skills installed.");
88
91
  return;
89
92
  }
90
- console.log(`Skills for ${mindName}:
91
- `);
93
+ const compact = isCompact();
94
+ console.log(`Skills for ${mindName}:${compact ? "" : "\n"}`);
92
95
  for (const s of skills) {
93
96
  const update = s.updateAvailable ? " (update available)" : "";
94
97
  const source = s.upstream ? ` [shared:${s.upstream.source} v${s.upstream.version}]` : "";
@@ -108,10 +111,11 @@ async function listSkills(args) {
108
111
  console.log("No shared skills available.");
109
112
  return;
110
113
  }
111
- console.log("Shared skills:\n");
114
+ const compact = isCompact();
115
+ console.log(`Shared skills:${compact ? "" : "\n"}`);
112
116
  for (const s of skills) {
113
117
  console.log(` ${s.id} \u2014 ${s.name} (v${s.version}, by ${s.author})`);
114
- if (s.description) console.log(` ${s.description}`);
118
+ if (s.description && !compact) console.log(` ${s.description}`);
115
119
  }
116
120
  }
117
121
  }