volute 0.19.0 → 0.21.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 +68 -68
- package/dist/activity-events-3WHHCOBB.js +15 -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-OTWLI7F4.js → chunk-5462YKWP.js} +12 -9
- package/dist/{chunk-2TJGRJ4O.js → chunk-7LPTHFIL.js} +64 -59
- package/dist/chunk-A4S7H6G6.js +56 -0
- package/dist/chunk-AKPFNL7L.js +148 -0
- package/dist/{chunk-EBGCNDMM.js → chunk-B2CPS4QU.js} +128 -114
- package/dist/{chunk-FCDU5BFX.js → chunk-HFCBO2GL.js} +2 -2
- package/dist/chunk-HGCDWKSP.js +97 -0
- package/dist/{chunk-DYZGP3EW.js → chunk-IPJXU366.js} +1 -1
- package/dist/{chunk-VE4D3GOP.js → chunk-J5A3DF2U.js} +2 -2
- package/dist/{chunk-WC6ZHVRL.js → chunk-KFI7TQJ6.js} +2 -2
- package/dist/{chunk-AW7P4EVV.js → chunk-KTJGZ7M7.js} +55 -7
- package/dist/{chunk-4KPUF5JD.js → chunk-L3LHXZD7.js} +18 -5
- package/dist/{chunk-OGXOMR65.js → chunk-NWPT4ASZ.js} +1 -1
- package/dist/{chunk-FGV2H4TX.js → chunk-OGZYB5GL.js} +312 -268
- package/dist/{chunk-SCUDS4US.js → chunk-ON3FF5JA.js} +1 -1
- package/dist/{chunk-EMQSAY3B.js → chunk-PC6R6UUW.js} +6 -5
- package/dist/{chunk-VDWCHYTS.js → chunk-PHU4DEAJ.js} +1 -1
- package/dist/{chunk-7NO7EV5Z.js → chunk-Q7AITQ44.js} +2 -2
- package/dist/{chunk-32VR2EOH.js → chunk-QUJUKM4U.js} +2 -2
- package/dist/{chunk-VQWDC6UK.js → chunk-SGPEZ32F.js} +46 -1
- package/dist/{chunk-RHEGSQFJ.js → chunk-WSLPZF72.js} +1 -1
- package/dist/cli.js +59 -111
- 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-JMZM3QY4.js → daemon-restart-BH67ZOTE.js} +8 -8
- package/dist/daemon.js +2872 -1301
- package/dist/{delete-BSU7K3RY.js → delete-LOIANQGD.js} +1 -1
- package/dist/down-LIOQ5JDH.js +14 -0
- package/dist/{env-A3LMO777.js → env-4PHIHTF4.js} +2 -2
- package/dist/{export-GCDNQCF3.js → export-XD6PJBQP.js} +19 -8
- package/dist/file-X4L5TTOL.js +204 -0
- package/dist/{history-WNK3DFUM.js → history-HTEKRNID.js} +2 -2
- package/dist/{import-M63VIUJ5.js → import-E433B4KG.js} +3 -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/{mind-PQ5NCPSU.js → mind-BIDOF65R.js} +27 -11
- package/dist/mind-activity-tracker-PGC3DBJ7.js +18 -0
- package/dist/{mind-manager-RVCFROAY.js → mind-manager-3V2NXX4I.js} +5 -6
- package/dist/{package-MYE2ZJLV.js → package-HQR52XSG.js} +1 -1
- package/dist/{pages-AXCOSY3P.js → pages-KQBR5TAZ.js} +6 -6
- package/dist/{publish-YB377JB7.js → publish-OJ4QMXVZ.js} +12 -9
- 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-LMX7GAQZ.js → schedule-NLR3LZLY.js} +27 -7
- 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-TVNEORO7.js} +31 -13
- package/dist/{setup-OH3PJUJO.js → setup-OZDYCKDI.js} +25 -34
- package/dist/{shared-KO35ZM44.js → shared-DCQ2UXOM.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 +38 -8
- package/dist/{sprout-VBEX63LX.js → sprout-6Z6C42YM.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-JCJAOXTW.js → status-LV34BG6G.js} +6 -5
- package/dist/{status-4ESFLGH4.js → status-Z7NAFMBI.js} +5 -5
- package/dist/{stop-NBVKEFQQ.js → stop-VKPGK25U.js} +2 -5
- package/dist/template-hash-BIMA4ILT.js +8 -0
- package/dist/{up-WG65SWJU.js → up-7BGDMFRT.js} +5 -5
- package/dist/{update-FJIHDJKM.js → update-4WT7VWHW.js} +5 -5
- package/dist/{update-check-MWE5AH4U.js → update-check-F5Z3ALXX.js} +2 -2
- package/dist/{upgrade-AIT24B5I.js → upgrade-ZEC2GGFO.js} +1 -1
- package/dist/{variant-63ZWO2W7.js → variant-A4I7PHXS.js} +16 -24
- package/dist/version-notify-TFS2U5CF.js +173 -0
- package/dist/web-assets/assets/index-BR3gtK3E.css +1 -0
- package/dist/web-assets/assets/index-CWmrZRQd.js +64 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0012_activity.sql +11 -0
- package/drizzle/meta/0012_snapshot.json +7 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/templates/_base/home/.config/routes.json +2 -2
- package/templates/_base/home/VOLUTE.md +1 -1
- package/templates/_base/src/lib/daemon-client.ts +22 -0
- package/templates/_base/src/lib/transparency.ts +1 -1
- package/templates/claude/.init/.config/routes.json +7 -1
- package/templates/pi/.init/.config/routes.json +7 -1
- package/templates/pi/src/agent.ts +11 -5
- package/templates/pi/src/lib/session-context-extension.ts +6 -4
- package/templates/pi/src/server.ts +2 -0
- package/dist/chunk-UJ6GHNR7.js +0 -675
- package/dist/chunk-Z524RFCJ.js +0 -36
- package/dist/db-5ZVC6MQF.js +0 -10
- package/dist/delivery-manager-ISTJMZDW.js +0 -16
- package/dist/down-ZY35KMHR.js +0 -14
- package/dist/schema-5BW7DFZI.js +0 -24
- package/dist/variants-JAGWGBXG.js +0 -26
- package/dist/web-assets/assets/index-BAbuRsVF.css +0 -1
- package/dist/web-assets/assets/index-CiQhSKi_.js +0 -63
|
@@ -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,
|
|
@@ -4,18 +4,18 @@ import {
|
|
|
4
4
|
} from "./chunk-YUIHSKR6.js";
|
|
5
5
|
import {
|
|
6
6
|
gitExec
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IPJXU366.js";
|
|
8
8
|
import {
|
|
9
9
|
isIsolationEnabled,
|
|
10
10
|
mindUserName
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NWPT4ASZ.js";
|
|
12
12
|
import {
|
|
13
13
|
voluteHome
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-B2CPS4QU.js";
|
|
15
15
|
|
|
16
16
|
// src/lib/shared.ts
|
|
17
17
|
import { execFileSync } from "child_process";
|
|
18
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
18
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
|
|
19
19
|
import { resolve } from "path";
|
|
20
20
|
function readWorktreeGitDir(worktreePath) {
|
|
21
21
|
const dotGit = resolve(worktreePath, ".git");
|
|
@@ -34,7 +34,20 @@ function sharedDir() {
|
|
|
34
34
|
async function ensureSharedRepo() {
|
|
35
35
|
const dir = sharedDir();
|
|
36
36
|
mkdirSync(dir, { recursive: true });
|
|
37
|
-
if (existsSync(resolve(dir, ".git")))
|
|
37
|
+
if (existsSync(resolve(dir, ".git"))) {
|
|
38
|
+
try {
|
|
39
|
+
await gitExec(["rev-parse", "HEAD"], { cwd: dir });
|
|
40
|
+
return;
|
|
41
|
+
} catch (err) {
|
|
42
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
43
|
+
if (msg.includes("unknown revision") || msg.includes("bad default revision")) {
|
|
44
|
+
logger_default.warn("shared repo has no commits, re-initializing");
|
|
45
|
+
rmSync(resolve(dir, ".git"), { recursive: true, force: true });
|
|
46
|
+
} else {
|
|
47
|
+
throw err;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
38
51
|
const initArgs = isIsolationEnabled() ? ["init", "--shared=group"] : ["init"];
|
|
39
52
|
await gitExec(initArgs, { cwd: dir });
|
|
40
53
|
await gitExec(["checkout", "-b", "main"], { cwd: dir });
|