volute 0.20.0 → 0.22.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.
- package/README.md +7 -7
- package/dist/{activity-events-OMXKXD5N.js → activity-events-3WHHCOBB.js} +3 -4
- package/dist/api.d.ts +4294 -0
- package/dist/{archive-ZCFOSTKB.js → archive-4ZQYK5MN.js} +4 -2
- package/dist/auth-HM2RSPY7.js +37 -0
- package/dist/{channel-PUQKGSQM.js → channel-BOOMFULW.js} +2 -2
- package/dist/{chunk-UU7A7KLB.js → chunk-A4S7H6G6.js} +5 -7
- package/dist/chunk-AKPFNL7L.js +148 -0
- package/dist/{chunk-EBGCNDMM.js → chunk-B2CPS4QU.js} +128 -114
- package/dist/chunk-G5KRTU2F.js +76 -0
- package/dist/{chunk-FCDU5BFX.js → chunk-HFCBO2GL.js} +2 -2
- package/dist/{chunk-GZ7DW4YL.js → chunk-HGCDWKSP.js} +2 -2
- package/dist/{chunk-7UFKREVW.js → chunk-JNFRY2WU.js} +2 -2
- package/dist/{chunk-DYZGP3EW.js → chunk-JTDFJWI2.js} +2 -1
- package/dist/{chunk-WC6ZHVRL.js → chunk-KFI7TQJ6.js} +2 -2
- package/dist/{chunk-AW7P4EVV.js → chunk-KTJGZ7M7.js} +55 -7
- package/dist/{chunk-OGXOMR65.js → chunk-NWPT4ASZ.js} +1 -1
- package/dist/{chunk-SCUDS4US.js → chunk-ON3FF5JA.js} +1 -1
- package/dist/chunk-OSFGKF2T.js +2651 -0
- package/dist/{chunk-TIWH32HP.js → chunk-PHHKNGA3.js} +3 -3
- package/dist/{chunk-VDWCHYTS.js → chunk-PHU4DEAJ.js} +1 -1
- package/dist/{chunk-7NO7EV5Z.js → chunk-QIXPN3OO.js} +2 -2
- package/dist/{chunk-O6ASDHFO.js → chunk-RK627D57.js} +40 -63
- package/dist/{chunk-NSE7VJQA.js → chunk-SGPEZ32F.js} +29 -1
- package/dist/{chunk-IKMY5X76.js → chunk-TFS25FIM.js} +12 -9
- package/dist/{chunk-PUVXOZ6T.js → chunk-VNVCRVYI.js} +118 -69
- package/dist/{chunk-32VR2EOH.js → chunk-VT5QODNE.js} +2 -2
- package/dist/{chunk-RHEGSQFJ.js → chunk-WSLPZF72.js} +1 -1
- package/dist/chunk-XLC342FO.js +29 -0
- package/dist/cli.js +57 -119
- package/dist/cloud-sync-C6WRYRVR.js +96 -0
- package/dist/{connector-JBVNZ7VK.js → connector-PYT5UOTZ.js} +6 -6
- package/dist/connectors/discord.js +2 -2
- package/dist/connectors/slack.js +2 -2
- package/dist/connectors/telegram.js +2 -2
- package/dist/{create-HP4OVVHF.js → create-WIDA3M4C.js} +1 -1
- package/dist/{daemon-client-ITWUCNFO.js → daemon-client-ZHCDL4RS.js} +2 -2
- package/dist/{daemon-restart-KPSWNYTH.js → daemon-restart-TPQ2XBRZ.js} +6 -6
- package/dist/daemon.js +2250 -1985
- package/dist/{delete-BSU7K3RY.js → delete-LOIANQGD.js} +1 -1
- package/dist/down-WSUASL5E.js +14 -0
- package/dist/{env-A3LMO777.js → env-4PHIHTF4.js} +2 -2
- package/dist/{export-6QBUOQGC.js → export-XD6PJBQP.js} +19 -8
- package/dist/{file-C57SK5DK.js → file-X4L5TTOL.js} +2 -2
- package/dist/{history-WNK3DFUM.js → history-HTEKRNID.js} +2 -2
- package/dist/{import-XEC34Y4Z.js → import-EAXTHHXL.js} +4 -3
- package/dist/{log-PPPZDVEF.js → log-SRO5Q6AD.js} +2 -2
- package/dist/{login-HNH3EUQV.js → login-UO6AOVEA.js} +4 -4
- package/dist/{logout-I5CB5UZS.js → logout-UKD5LA37.js} +2 -2
- package/dist/{logs-SF2IMJN4.js → logs-HNTNNBDW.js} +2 -2
- package/dist/{merge-33C237A4.js → merge-B6SYTGI7.js} +2 -2
- package/dist/message-delivery-WUS4K4ZC.js +21 -0
- package/dist/{mind-Z7CKD6DG.js → mind-BTXR5B3C.js} +35 -11
- package/dist/{mind-activity-tracker-624QLQLC.js → mind-activity-tracker-PGC3DBJ7.js} +4 -5
- package/dist/{mind-manager-3DMYKZPB.js → mind-manager-P5OBDUKI.js} +5 -6
- package/dist/mind-sleep-FWRBIFBS.js +41 -0
- package/dist/mind-wake-LJK2YU5X.js +36 -0
- package/dist/{package-4NHAVUUI.js → package-A7PEYJI2.js} +10 -1
- package/dist/{pages-4DGQT7ZA.js → pages-YSTRWJR4.js} +6 -6
- package/dist/{publish-TAJUET4I.js → publish-BZNHKUUK.js} +6 -6
- package/dist/{pull-XAEWQJ47.js → pull-GRQAXM2E.js} +2 -2
- package/dist/{register-VSPCMHKX.js → register-U2UO6TC4.js} +5 -5
- package/dist/registry-D2BSQ2X5.js +42 -0
- package/dist/{restart-IQKMCK5M.js → restart-CIDAKGG2.js} +3 -6
- package/dist/{schedule-FFZG23IW.js → schedule-NLR3LZLY.js} +2 -2
- package/dist/{seed-J43YDKXG.js → seed-3H2MRREW.js} +2 -2
- package/dist/{send-KVIZIGCE.js → send-RP2TA7SG.js} +132 -36
- package/dist/{service-LUR7WDO7.js → service-7BFXDI6J.js} +31 -13
- package/dist/{setup-52YRV7VP.js → setup-SSIIXQMI.js} +9 -34
- package/dist/{shared-KO35ZM44.js → shared-2OGT3NSL.js} +4 -4
- package/dist/{skill-BCVNI6TV.js → skill-Q2Y6PQ3L.js} +2 -2
- package/dist/skills/orientation/SKILL.md +2 -2
- package/dist/skills/volute-mind/SKILL.md +5 -5
- package/dist/sleep-manager-3RWUX2ZR.js +27 -0
- package/dist/{sprout-QN7Y4VVO.js → sprout-UKCYBGHK.js} +34 -30
- package/dist/{start-I5JYB65M.js → start-JR6CUUWF.js} +3 -6
- package/dist/{status-D7E5HHBV.js → status-5XDGYHKP.js} +2 -2
- package/dist/{status-4ESFLGH4.js → status-H2MKDN6L.js} +5 -5
- package/dist/{status-FU2PFVVF.js → status-LV34BG6G.js} +3 -3
- package/dist/{stop-NBVKEFQQ.js → stop-VKPGK25U.js} +2 -5
- package/dist/template-hash-BIMA4ILT.js +8 -0
- package/dist/{up-FS7CKM6V.js → up-JKGC7PPF.js} +5 -5
- package/dist/{update-FJIHDJKM.js → update-ELC6MEUT.js} +5 -5
- package/dist/{update-check-MWE5AH4U.js → update-check-F5Z3ALXX.js} +2 -2
- package/dist/{upgrade-AIT24B5I.js → upgrade-GXW2EQY3.js} +12 -3
- package/dist/{variant-63ZWO2W7.js → variant-A4I7PHXS.js} +16 -24
- package/dist/version-notify-5FGUAVSF.js +181 -0
- package/dist/web-assets/assets/index-DWBxl4LO.js +69 -0
- package/dist/web-assets/assets/index-ZqMd1mx1.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +10 -1
- package/templates/_base/.init/.config/prompts.json +1 -0
- package/templates/_base/home/.config/config.json.tmpl +4 -1
- package/templates/_base/src/lib/logger.ts +68 -23
- package/templates/_base/src/lib/startup.ts +12 -3
- package/templates/claude/src/agent.ts +150 -29
- package/templates/claude/src/lib/hooks/pre-compact.ts +18 -4
- package/templates/claude/src/lib/message-channel.ts +6 -0
- package/templates/claude/src/lib/stream-consumer.ts +7 -0
- package/templates/claude/src/server.ts +3 -1
- package/templates/pi/home/.config/config.json.tmpl +4 -1
- package/templates/pi/src/agent.ts +87 -0
- package/templates/pi/src/lib/event-handler.ts +13 -1
- package/templates/pi/src/server.ts +3 -1
- package/dist/chunk-5XNT2472.js +0 -36
- package/dist/chunk-FGSYHIS3.js +0 -891
- package/dist/chunk-UJ6GHNR7.js +0 -675
- package/dist/db-C2CJ46ZU.js +0 -10
- package/dist/delivery-manager-CSG7LXA4.js +0 -16
- package/dist/down-ZY35KMHR.js +0 -14
- package/dist/schema-GFH6RV3W.js +0 -26
- package/dist/variants-JAGWGBXG.js +0 -26
- package/dist/web-assets/assets/index-CUZTZzaW.js +0 -64
- package/dist/web-assets/assets/index-adVuCkqy.css +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
voluteHome
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B2CPS4QU.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/daemon-client.ts
|
|
7
7
|
import { existsSync, readFileSync } from "fs";
|
|
@@ -11,7 +11,7 @@ function readDaemonConfig() {
|
|
|
11
11
|
if (!existsSync(configPath)) {
|
|
12
12
|
if (existsSync("/etc/systemd/system/volute.service") && !process.env.VOLUTE_HOME) {
|
|
13
13
|
console.error("Volute is running as a system service but VOLUTE_HOME is not set.");
|
|
14
|
-
console.error("Re-run setup to update the CLI wrapper: sudo volute
|
|
14
|
+
console.error("Re-run setup to update the CLI wrapper: sudo volute service install --system");
|
|
15
15
|
console.error("Then start a new shell or run: source /etc/profile.d/volute.sh");
|
|
16
16
|
} else {
|
|
17
17
|
console.error("Volute is not running. Start with: volute up");
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
mindDir,
|
|
4
4
|
stateDir
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-B2CPS4QU.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/archive.ts
|
|
8
|
+
import { execFileSync } from "child_process";
|
|
8
9
|
import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "fs";
|
|
9
10
|
import { join, relative, resolve } from "path";
|
|
10
11
|
import AdmZip from "adm-zip";
|
|
@@ -26,10 +27,32 @@ function walkDir(dir, base, skipSessions) {
|
|
|
26
27
|
}
|
|
27
28
|
return results;
|
|
28
29
|
}
|
|
30
|
+
function gitListFiles(dir) {
|
|
31
|
+
try {
|
|
32
|
+
const tracked = execFileSync("git", ["ls-files"], { cwd: dir, encoding: "utf-8" });
|
|
33
|
+
const untracked = execFileSync("git", ["ls-files", "--others", "--exclude-standard"], {
|
|
34
|
+
cwd: dir,
|
|
35
|
+
encoding: "utf-8"
|
|
36
|
+
});
|
|
37
|
+
const files = [...tracked.trim().split("\n"), ...untracked.trim().split("\n")].filter(Boolean);
|
|
38
|
+
return [...new Set(files)];
|
|
39
|
+
} catch (err) {
|
|
40
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
41
|
+
if (!msg.includes("not a git repository")) {
|
|
42
|
+
console.error(`Warning: git ls-files failed, .gitignore rules will not apply: ${msg}`);
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function isHomeOnlyArchive(manifest) {
|
|
48
|
+
return manifest.format === "home-only";
|
|
49
|
+
}
|
|
29
50
|
function createExportArchive(options) {
|
|
30
51
|
const {
|
|
31
52
|
name,
|
|
32
53
|
template,
|
|
54
|
+
stage,
|
|
55
|
+
includeSrc = false,
|
|
33
56
|
includeEnv = false,
|
|
34
57
|
includeIdentity = false,
|
|
35
58
|
includeConnectors = false,
|
|
@@ -39,12 +62,34 @@ function createExportArchive(options) {
|
|
|
39
62
|
const dir = mindDir(name);
|
|
40
63
|
const state = stateDir(name);
|
|
41
64
|
const zip = new AdmZip();
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
65
|
+
const format = includeSrc ? "full" : "home-only";
|
|
66
|
+
if (includeSrc) {
|
|
67
|
+
const files = walkDir(dir, void 0, includeSessions);
|
|
68
|
+
for (const relPath of files) {
|
|
69
|
+
if (!includeIdentity && relPath.startsWith(join(".mind", "identity"))) continue;
|
|
70
|
+
if (!includeConnectors && relPath.startsWith(join(".mind", "connectors"))) continue;
|
|
71
|
+
const fullPath = resolve(dir, relPath);
|
|
72
|
+
zip.addFile(`mind/${relPath}`, readFileSync(fullPath));
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
const gitFiles = gitListFiles(dir);
|
|
76
|
+
const homeFiles = gitFiles ? gitFiles.filter((f) => f.startsWith("home/") || f.startsWith("home\\")) : walkDir(resolve(dir, "home"), dir);
|
|
77
|
+
for (const relPath of homeFiles) {
|
|
78
|
+
const fullPath = resolve(dir, relPath);
|
|
79
|
+
if (existsSync(fullPath)) {
|
|
80
|
+
zip.addFile(`mind/${relPath}`, readFileSync(fullPath));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const mindInternalDir = resolve(dir, ".mind");
|
|
84
|
+
if (existsSync(mindInternalDir)) {
|
|
85
|
+
const mindFiles = walkDir(mindInternalDir, dir, includeSessions);
|
|
86
|
+
for (const relPath of mindFiles) {
|
|
87
|
+
if (!includeIdentity && relPath.startsWith(join(".mind", "identity"))) continue;
|
|
88
|
+
if (!includeConnectors && relPath.startsWith(join(".mind", "connectors"))) continue;
|
|
89
|
+
const fullPath = resolve(dir, relPath);
|
|
90
|
+
zip.addFile(`mind/${relPath}`, readFileSync(fullPath));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
48
93
|
}
|
|
49
94
|
if (existsSync(state)) {
|
|
50
95
|
const channelsPath = resolve(state, "channels.json");
|
|
@@ -81,6 +126,8 @@ function createExportArchive(options) {
|
|
|
81
126
|
template,
|
|
82
127
|
voluteVersion,
|
|
83
128
|
exportedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
129
|
+
format,
|
|
130
|
+
stage,
|
|
84
131
|
includes: {
|
|
85
132
|
env: includeEnv,
|
|
86
133
|
identity: includeIdentity,
|
|
@@ -152,6 +199,7 @@ function extractArchive(archivePath, destDir) {
|
|
|
152
199
|
}
|
|
153
200
|
|
|
154
201
|
export {
|
|
202
|
+
isHomeOnlyArchive,
|
|
155
203
|
createExportArchive,
|
|
156
204
|
addHistoryToArchive,
|
|
157
205
|
readManifest,
|