volute 0.25.0 → 0.27.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 (145) hide show
  1. package/README.md +28 -33
  2. package/dist/{activity-events-4O37J7PD.js → activity-events-BBIEA2F4.js} +2 -3
  3. package/dist/api.d.ts +886 -220
  4. package/dist/{archive-4ZQYK5MN.js → archive-UA4BDFXQ.js} +2 -2
  5. package/dist/{auth-HM2RSPY7.js → auth-D3OT2ARB.js} +3 -3
  6. package/dist/bridge-FQHZL3MC.js +206 -0
  7. package/dist/chat-MHJ3L6JQ.js +58 -0
  8. package/dist/{chunk-PHU4DEAJ.js → chunk-2WPW7OT6.js} +3 -3
  9. package/dist/{chunk-BOTQ25QT.js → chunk-2YP2TVDT.js} +138 -56
  10. package/dist/{chunk-DG7TO7EE.js → chunk-4WXYUOAK.js} +5 -7
  11. package/dist/{chunk-JTDFJWI2.js → chunk-AW7PFDVN.js} +5 -5
  12. package/dist/{chunk-2767L2RZ.js → chunk-EHYDTZTF.js} +6 -6
  13. package/dist/{chunk-ZSH4G2P5.js → chunk-GIE6CSN5.js} +17 -17
  14. package/dist/chunk-H7OZRFJB.js +432 -0
  15. package/dist/{chunk-ON3FF5JA.js → chunk-HDN7MNGD.js} +3 -3
  16. package/dist/chunk-IAYBDWVG.js +477 -0
  17. package/dist/chunk-IKRVFPWU.js +83 -0
  18. package/dist/{chunk-TRQEV3CD.js → chunk-JGFVMROS.js} +32 -6
  19. package/dist/{chunk-PHHKNGA3.js → chunk-JKOWNZ4P.js} +3 -3
  20. package/dist/{chunk-E7GOKNOT.js → chunk-K5NAC55T.js} +1 -1
  21. package/dist/{chunk-HFCBO2GL.js → chunk-KDGS53OS.js} +4 -4
  22. package/dist/chunk-KTLFDYPT.js +61 -0
  23. package/dist/{chunk-3AIBT4TW.js → chunk-LAC664WU.js} +30 -4
  24. package/dist/{chunk-PMX4EIJK.js → chunk-OQZH4PBB.js} +467 -1054
  25. package/dist/{chunk-SHSWYG2J.js → chunk-PHSAT7YL.js} +71 -58
  26. package/dist/chunk-RKQEHRBB.js +177 -0
  27. package/dist/{chunk-RVKR2R7F.js → chunk-SSI47XP2.js} +10 -2
  28. package/dist/chunk-T6HKBWXZ.js +23 -0
  29. package/dist/chunk-USUXRNVD.js +113 -0
  30. package/dist/{chunk-BFK6SOEJ.js → chunk-VIVMW2H2.js} +4 -4
  31. package/dist/{chunk-KTJGZ7M7.js → chunk-XBLSAVJF.js} +1 -1
  32. package/dist/chunk-ZYGKG6VC.js +22 -0
  33. package/dist/cli.js +51 -32
  34. package/dist/{cloud-sync-PPBBJDY6.js → cloud-sync-T7M3ESC3.js} +15 -12
  35. package/dist/connectors/discord-bridge.js +158 -0
  36. package/dist/connectors/slack-bridge.js +119 -0
  37. package/dist/connectors/telegram-bridge.js +133 -0
  38. package/dist/conversations-M2K4253F.js +55 -0
  39. package/dist/create-D7J73A6H.js +45 -0
  40. package/dist/{create-VDQJER52.js → create-QWV73WXD.js} +1 -1
  41. package/dist/{daemon-client-JOVQZ52X.js → daemon-client-I42FK2BF.js} +2 -2
  42. package/dist/{daemon-restart-FDNOZEAD.js → daemon-restart-M2QTYMEG.js} +7 -6
  43. package/dist/daemon.js +2247 -1085
  44. package/dist/db-IC4J52XQ.js +8 -0
  45. package/dist/{delete-2MRR4JX5.js → delete-4JYGD4VN.js} +1 -1
  46. package/dist/down-LVBXEULC.js +14 -0
  47. package/dist/{env-2FPOZK37.js → env-YJMUMFIY.js} +5 -5
  48. package/dist/{export-IKFAPRAO.js → export-BOJQWBMA.js} +4 -4
  49. package/dist/{file-KT3UIQM3.js → file-CR36YUPD.js} +4 -4
  50. package/dist/{history-46WZN5CN.js → history-XKRTAFS2.js} +7 -7
  51. package/dist/{import-TH26J76F.js → import-SRTQXBGH.js} +4 -4
  52. package/dist/join-J4QU42DL.js +66 -0
  53. package/dist/list-R73GENNL.js +40 -0
  54. package/dist/{log-6SGSSR3D.js → log-ABYNVYJ3.js} +4 -4
  55. package/dist/login-3QZNR2DF.js +46 -0
  56. package/dist/{login-UO6AOVEA.js → login-XX37I52P.js} +3 -3
  57. package/dist/logout-T53VKCPU.js +39 -0
  58. package/dist/{logout-UKD5LA37.js → logout-W4KOOBIT.js} +2 -2
  59. package/dist/{logs-HRBONI5I.js → logs-U35JR2KE.js} +7 -7
  60. package/dist/{merge-KSFJKX6T.js → merge-LNSMSAOF.js} +4 -4
  61. package/dist/message-delivery-LDXLGERA.js +25 -0
  62. package/dist/migrate-registry-to-db-XC7T5B7P.js +110 -0
  63. package/dist/{mind-YVWAHL2A.js → mind-DI33C74K.js} +25 -25
  64. package/dist/{mind-activity-tracker-NMDDEV3K.js → mind-activity-tracker-EN6XNXPF.js} +3 -4
  65. package/dist/{mind-manager-4NDNAYAB.js → mind-manager-M6EMUW5I.js} +6 -5
  66. package/dist/{mind-sleep-GHPTSAYN.js → mind-sleep-BTSWQNAC.js} +4 -4
  67. package/dist/{mind-wake-BJDJFMDF.js → mind-wake-SBAKIDVP.js} +4 -4
  68. package/dist/notes-XCER3I7M.js +220 -0
  69. package/dist/{package-3HF5MXU2.js → package-7WY6VKU3.js} +2 -1
  70. package/dist/{pages-Y6DRWUOJ.js → pages-6EBS6CBR.js} +2 -2
  71. package/dist/{publish-EEKTZBHW.js → publish-66UB2ZFY.js} +5 -5
  72. package/dist/{pull-D32SPFVU.js → pull-XCHJTM5M.js} +4 -4
  73. package/dist/read-36UFXN3G.js +46 -0
  74. package/dist/{register-U2UO6TC4.js → register-6B2CXTYM.js} +3 -3
  75. package/dist/{registry-D2BSQ2X5.js → registry-NDNOOYG4.js} +15 -9
  76. package/dist/{restart-5BMNV7KU.js → restart-6ESL3NBO.js} +6 -6
  77. package/dist/sandbox-TGBX22DS.js +19 -0
  78. package/dist/{schedule-YEFDLVMJ.js → schedule-QTJMFATP.js} +7 -7
  79. package/dist/{seed-6FEKB3YC.js → seed-SSUCYYDF.js} +2 -2
  80. package/dist/{send-IISDYFCL.js → send-ZNCJDSRP.js} +28 -36
  81. package/dist/service-6LIN3F3K.js +122 -0
  82. package/dist/setup-JG4QAEBV.js +371 -0
  83. package/dist/setup-JHL5ZEST.js +17 -0
  84. package/dist/{shared-LWMNTTZN.js → shared-ML5I4Q2A.js} +4 -4
  85. package/dist/{skill-T3EMR6IR.js → skill-AUAQTSP5.js} +7 -7
  86. package/dist/skills/dreaming/SKILL.md +68 -0
  87. package/dist/skills/dreaming/references/INSTALL.md +56 -0
  88. package/dist/skills/dreaming/scripts/dream.ts +289 -0
  89. package/dist/skills/dreaming/scripts/wake-context-dreams.sh +30 -0
  90. package/dist/skills/notes/SKILL.md +34 -0
  91. package/dist/skills/orientation/SKILL.md +3 -3
  92. package/dist/skills/volute-mind/SKILL.md +32 -30
  93. package/dist/sleep-manager-MWYHM5HV.js +29 -0
  94. package/dist/split-TKJ5OT3P.js +63 -0
  95. package/dist/{sprout-QJVGJDSH.js → sprout-IJVVKSJ2.js} +6 -7
  96. package/dist/{start-C7XITZ5O.js → start-EUJSS5R4.js} +4 -4
  97. package/dist/{status-SIRPLEZC.js → status-77YEPHMW.js} +5 -5
  98. package/dist/{status-LYS4NUOZ.js → status-7GA4SM4Y.js} +4 -4
  99. package/dist/{status-LV34BG6G.js → status-THLOBLWG.js} +2 -2
  100. package/dist/{stop-CVKBSLXY.js → stop-3XAITBBF.js} +6 -6
  101. package/dist/{tailscale-AJ4VL5XK.js → tailscale-NY5MUMY3.js} +1 -1
  102. package/dist/up-NKSMXBWR.js +17 -0
  103. package/dist/{update-7XCZMYBT.js → update-PTSH22AZ.js} +11 -11
  104. package/dist/{update-check-F5Z3ALXX.js → update-check-64FWC4Y2.js} +2 -2
  105. package/dist/{upgrade-7RUIXGOO.js → upgrade-HA47CS4C.js} +12 -5
  106. package/dist/variant-7TGZHOU3.js +41 -0
  107. package/dist/{version-notify-AZQMC32A.js → version-notify-5Z4MNR6M.js} +26 -28
  108. package/dist/web-assets/assets/index-CI5wgghI.css +1 -0
  109. package/dist/web-assets/assets/index-is5CvJWH.js +75 -0
  110. package/dist/web-assets/favicon.png +0 -0
  111. package/dist/web-assets/index.html +2 -2
  112. package/drizzle/0015_notes.sql +23 -0
  113. package/drizzle/0016_note_reactions_and_replies.sql +15 -0
  114. package/drizzle/0017_minds.sql +16 -0
  115. package/drizzle/meta/_journal.json +21 -0
  116. package/package.json +2 -1
  117. package/templates/_base/.init/.config/hooks/wake-context.sh +7 -0
  118. package/templates/_base/.init/.config/prompts.json +2 -2
  119. package/templates/_base/home/VOLUTE.md +5 -5
  120. package/templates/_base/src/lib/startup.ts +10 -2
  121. package/templates/claude/src/agent.ts +51 -1
  122. package/templates/claude/src/server.ts +1 -0
  123. package/templates/pi/package.json.tmpl +1 -0
  124. package/templates/pi/src/agent.ts +48 -1
  125. package/templates/pi/src/lib/subagents.ts +150 -0
  126. package/templates/pi/src/server.ts +1 -0
  127. package/dist/channel-HZOSHGNF.js +0 -260
  128. package/dist/chunk-33XAVCS4.js +0 -203
  129. package/dist/chunk-B2CPS4QU.js +0 -283
  130. package/dist/chunk-NWPT4ASZ.js +0 -89
  131. package/dist/chunk-SIAG3QMM.js +0 -42
  132. package/dist/chunk-WSLPZF72.js +0 -173
  133. package/dist/connector-M6XFI6GM.js +0 -147
  134. package/dist/connectors/discord.js +0 -177
  135. package/dist/connectors/slack.js +0 -181
  136. package/dist/connectors/telegram.js +0 -187
  137. package/dist/down-674SX2IZ.js +0 -14
  138. package/dist/message-delivery-XMGV3FUM.js +0 -23
  139. package/dist/service-FASYWLTC.js +0 -247
  140. package/dist/setup-BMLM2UTK.js +0 -230
  141. package/dist/sleep-manager-RKTFZPD3.js +0 -27
  142. package/dist/up-CJ26KQLN.js +0 -15
  143. package/dist/variant-UGREB4G5.js +0 -207
  144. package/dist/web-assets/assets/index-CGPSVu19.js +0 -69
  145. package/dist/web-assets/assets/index-V_rNDsM8.css +0 -1
@@ -1,207 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import "./chunk-K3NQKI34.js";
9
-
10
- // src/commands/variant.ts
11
- async function run(args) {
12
- const subcommand = args[0];
13
- switch (subcommand) {
14
- case "create":
15
- await createVariant(args.slice(1));
16
- break;
17
- case "list":
18
- await listVariants(args.slice(1));
19
- break;
20
- case "merge":
21
- await mergeVariant(args.slice(1));
22
- break;
23
- case "delete":
24
- await deleteVariant(args.slice(1));
25
- break;
26
- case "--help":
27
- case "-h":
28
- case void 0:
29
- printUsage();
30
- break;
31
- default:
32
- printUsage();
33
- process.exit(1);
34
- }
35
- }
36
- function printUsage() {
37
- console.log(`Usage:
38
- volute variant create <variant> [--mind <name>] [--soul "..."] [--port N] [--no-start] [--json]
39
- volute variant list [--mind <name>] [--json]
40
- volute variant merge <variant> [--mind <name>] [--summary "..." --memory "..."] [--skip-verify]
41
- volute variant delete <variant> [--mind <name>]`);
42
- }
43
- async function createVariant(args) {
44
- const { positional, flags } = parseArgs(args, {
45
- mind: { type: "string" },
46
- soul: { type: "string" },
47
- port: { type: "number" },
48
- "no-start": { type: "boolean" },
49
- json: { type: "boolean" }
50
- });
51
- const mindName = resolveMindName(flags);
52
- const variantName = positional[0];
53
- const { soul, port, json } = flags;
54
- const noStart = flags["no-start"];
55
- if (!variantName) {
56
- console.error(
57
- 'Usage: volute variant create <variant> [--mind <name>] [--soul "..."] [--port N] [--no-start] [--json]'
58
- );
59
- process.exit(1);
60
- }
61
- if (!json) console.log("Creating variant via daemon...");
62
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
63
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
64
- const client = getClient();
65
- const res = await daemonFetch(
66
- urlOf(client.api.minds[":name"].variants.$url({ param: { name: mindName } })),
67
- {
68
- method: "POST",
69
- headers: { "Content-Type": "application/json" },
70
- body: JSON.stringify({
71
- name: variantName,
72
- ...soul && { soul },
73
- ...port && { port },
74
- ...noStart && { noStart }
75
- })
76
- }
77
- );
78
- const data = await res.json();
79
- if (!res.ok) {
80
- console.error(data.error ?? "Failed to create variant");
81
- process.exit(1);
82
- }
83
- if (json) {
84
- console.log(JSON.stringify(data.variant, null, 2));
85
- } else {
86
- console.log(`
87
- Variant created: ${variantName}`);
88
- console.log(` Branch: ${data.variant?.branch}`);
89
- console.log(` Path: ${data.variant?.path}`);
90
- console.log(` Port: ${data.variant?.port}`);
91
- }
92
- }
93
- async function listVariants(args) {
94
- const { flags } = parseArgs(args, {
95
- mind: { type: "string" },
96
- json: { type: "boolean" }
97
- });
98
- const mindName = resolveMindName(flags);
99
- const { json } = flags;
100
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
101
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
102
- const client = getClient();
103
- const res = await daemonFetch(
104
- urlOf(client.api.minds[":name"].variants.$url({ param: { name: mindName } }))
105
- );
106
- if (!res.ok) {
107
- const data = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
108
- console.error(data.error ?? "Failed to list variants");
109
- process.exit(1);
110
- }
111
- const results = await res.json();
112
- if (results.length === 0) {
113
- if (json) {
114
- console.log("[]");
115
- } else {
116
- console.log("No variants.");
117
- }
118
- return;
119
- }
120
- if (json) {
121
- console.log(JSON.stringify(results, null, 2));
122
- return;
123
- }
124
- const nameW = Math.max(4, ...results.map((r) => r.name.length));
125
- const portW = Math.max(4, ...results.map((r) => String(r.port || "-").length));
126
- console.log(`${"NAME".padEnd(nameW)} ${"PORT".padEnd(portW)} ${"STATUS".padEnd(10)} BRANCH`);
127
- for (const r of results) {
128
- console.log(
129
- `${r.name.padEnd(nameW)} ${String(r.port || "-").padEnd(portW)} ${r.status.padEnd(10)} ${r.branch}`
130
- );
131
- }
132
- }
133
- async function mergeVariant(args) {
134
- const { positional, flags } = parseArgs(args, {
135
- mind: { type: "string" },
136
- summary: { type: "string" },
137
- justification: { type: "string" },
138
- memory: { type: "string" },
139
- "skip-verify": { type: "boolean" }
140
- });
141
- const mindName = resolveMindName(flags);
142
- const variantName = positional[0];
143
- if (!variantName) {
144
- console.error(
145
- "Usage: volute variant merge <variant> [--mind <name>] [--summary '...'] [--justification '...'] [--memory '...'] [--skip-verify]"
146
- );
147
- process.exit(1);
148
- }
149
- console.log(`Merging variant ${variantName}...`);
150
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
151
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
152
- const client = getClient();
153
- const res = await daemonFetch(
154
- urlOf(
155
- client.api.minds[":name"].variants[":variant"].merge.$url({
156
- param: { name: mindName, variant: variantName }
157
- })
158
- ),
159
- {
160
- method: "POST",
161
- headers: { "Content-Type": "application/json" },
162
- body: JSON.stringify({
163
- ...flags.summary && { summary: flags.summary },
164
- ...flags.justification && { justification: flags.justification },
165
- ...flags.memory && { memory: flags.memory },
166
- ...flags["skip-verify"] && { skipVerify: true }
167
- })
168
- }
169
- );
170
- const data = await res.json();
171
- if (!res.ok) {
172
- console.error(data.error ?? "Failed to merge variant");
173
- process.exit(1);
174
- }
175
- console.log(`Variant ${variantName} merged and cleaned up.`);
176
- }
177
- async function deleteVariant(args) {
178
- const { positional, flags } = parseArgs(args, {
179
- mind: { type: "string" }
180
- });
181
- const mindName = resolveMindName(flags);
182
- const variantName = positional[0];
183
- if (!variantName) {
184
- console.error("Usage: volute variant delete <variant> [--mind <name>]");
185
- process.exit(1);
186
- }
187
- const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
188
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
189
- const client = getClient();
190
- const res = await daemonFetch(
191
- urlOf(
192
- client.api.minds[":name"].variants[":variant"].$url({
193
- param: { name: mindName, variant: variantName }
194
- })
195
- ),
196
- { method: "DELETE" }
197
- );
198
- const data = await res.json();
199
- if (!res.ok) {
200
- console.error(data.error ?? "Failed to delete variant");
201
- process.exit(1);
202
- }
203
- console.log(`Variant ${variantName} deleted.`);
204
- }
205
- export {
206
- run
207
- };