volute 0.18.0 → 0.19.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 +1 -1
- package/dist/archive-ZCFOSTKB.js +15 -0
- package/dist/{channel-SLURLIRV.js → channel-PUQKGSQM.js} +60 -7
- package/dist/{chunk-AYB7XAWO.js → chunk-2TJGRJ4O.js} +114 -279
- package/dist/{chunk-6BDNWYKG.js → chunk-32VR2EOH.js} +2 -2
- package/dist/chunk-4KPUF5JD.js +214 -0
- package/dist/{chunk-QJIIHU32.js → chunk-7NO7EV5Z.js} +2 -2
- package/dist/chunk-AW7P4EVV.js +159 -0
- package/dist/{chunk-2Y77MCFG.js → chunk-DYZGP3EW.js} +2 -2
- package/dist/{chunk-M77QBTEH.js → chunk-EBGCNDMM.js} +24 -14
- package/dist/{chunk-GSPWIM5E.js → chunk-EMQSAY3B.js} +77 -6
- package/dist/{chunk-37X7ECMF.js → chunk-FCDU5BFX.js} +1 -1
- package/dist/chunk-FGV2H4TX.js +803 -0
- package/dist/{chunk-ZCEYUUID.js → chunk-OGXOMR65.js} +2 -1
- package/dist/chunk-OTWLI7F4.js +375 -0
- package/dist/{chunk-GK4E7LM7.js → chunk-RHEGSQFJ.js} +1 -1
- package/dist/{chunk-MVSXRMJJ.js → chunk-SCUDS4US.js} +1 -1
- package/dist/{chunk-FW5API7X.js → chunk-UJ6GHNR7.js} +2 -2
- package/dist/{chunk-OYSZNX5I.js → chunk-VDWCHYTS.js} +1 -1
- package/dist/{chunk-6DVBMLVN.js → chunk-VE4D3GOP.js} +2 -2
- package/dist/chunk-VQWDC6UK.js +142 -0
- package/dist/{chunk-OJQ47SCA.js → chunk-WC6ZHVRL.js} +1 -1
- package/dist/chunk-YUIHSKR6.js +72 -0
- package/dist/chunk-Z524RFCJ.js +36 -0
- package/dist/cli.js +33 -25
- package/dist/{connector-3ELFMI2R.js → connector-JBVNZ7VK.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-ZWHCRT5F.js → create-HP4OVVHF.js} +6 -4
- package/dist/{daemon-client-ODKDUYDE.js → daemon-client-ITWUCNFO.js} +2 -2
- package/dist/{daemon-restart-2HVTHZAT.js → daemon-restart-JMZM3QY4.js} +8 -8
- package/dist/daemon.js +1144 -1108
- package/dist/db-5ZVC6MQF.js +10 -0
- package/dist/{delete-6G6WEX4F.js → delete-BSU7K3RY.js} +1 -1
- package/dist/delivery-manager-ISTJMZDW.js +16 -0
- package/dist/down-ZY35KMHR.js +14 -0
- package/dist/{env-6IDWGBUH.js → env-A3LMO777.js} +6 -6
- package/dist/export-GCDNQCF3.js +100 -0
- package/dist/{history-YUEKTJ2N.js → history-WNK3DFUM.js} +6 -6
- package/dist/{import-EDGRLIGO.js → import-M63VIUJ5.js} +3 -3
- package/dist/log-PPPZDVEF.js +39 -0
- package/dist/{login-ORQDXLBM.js → login-HNH3EUQV.js} +2 -2
- package/dist/{logout-XC5AUO5I.js → logout-I5CB5UZS.js} +2 -2
- package/dist/{logs-GYOR3L2L.js → logs-SF2IMJN4.js} +6 -6
- package/dist/merge-33C237A4.js +46 -0
- package/dist/{mind-OJN6RBZW.js → mind-PQ5NCPSU.js} +14 -10
- package/dist/mind-manager-RVCFROAY.js +18 -0
- package/dist/{package-OKLFO7UY.js → package-MYE2ZJLV.js} +5 -3
- package/dist/{pages-6IV4VQTU.js → pages-AXCOSY3P.js} +2 -2
- package/dist/{publish-Q4RPSJLL.js → publish-YB377JB7.js} +18 -4
- package/dist/pull-XAEWQJ47.js +39 -0
- package/dist/{register-LDE6LRXY.js → register-VSPCMHKX.js} +2 -2
- package/dist/{restart-YFAWFS5T.js → restart-IQKMCK5M.js} +6 -6
- package/dist/{schedule-AGYLDMNS.js → schedule-LMX7GAQZ.js} +6 -6
- package/dist/schema-5BW7DFZI.js +24 -0
- package/dist/{seed-AP4Q7RZ7.js → seed-J43YDKXG.js} +7 -4
- package/dist/{send-BNDTLUPM.js → send-KVIZIGCE.js} +8 -8
- package/dist/{service-U7MZ2H7F.js → service-LUR7WDO7.js} +6 -6
- package/dist/{setup-DJKIZKGW.js → setup-OH3PJUJO.js} +7 -7
- package/dist/shared-KO35ZM44.js +39 -0
- package/dist/{skill-2Y42P4JY.js → skill-BCVNI6TV.js} +6 -6
- package/{templates/_base/_skills → dist/skills}/orientation/SKILL.md +1 -1
- package/{templates/_base/_skills → dist/skills}/sessions/SKILL.md +2 -2
- package/{templates/_base/_skills → dist/skills}/volute-mind/SKILL.md +19 -1
- package/dist/{sprout-TJ3BHVOG.js → sprout-VBEX63LX.js} +38 -20
- package/dist/{start-3YYRXBKP.js → start-I5JYB65M.js} +6 -6
- package/dist/{status-VSFZYX7S.js → status-4ESFLGH4.js} +5 -5
- package/dist/status-D7E5HHBV.js +35 -0
- package/dist/{status-OKNA6AR3.js → status-JCJAOXTW.js} +2 -2
- package/dist/{stop-AA5K5LYG.js → stop-NBVKEFQQ.js} +6 -6
- package/dist/{up-7B3BWF2U.js → up-WG65SWJU.js} +5 -5
- package/dist/{update-YAGN5ODG.js → update-FJIHDJKM.js} +5 -5
- package/dist/{update-check-APLTH4IN.js → update-check-MWE5AH4U.js} +2 -2
- package/dist/{upgrade-KXZCQSZN.js → upgrade-AIT24B5I.js} +1 -1
- package/dist/{variant-X5QFG6KK.js → variant-63ZWO2W7.js} +4 -4
- package/dist/variants-JAGWGBXG.js +26 -0
- package/dist/web-assets/assets/index-BAbuRsVF.css +1 -0
- package/dist/web-assets/assets/index-CiQhSKi_.js +63 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0010_delivery_queue.sql +12 -0
- package/drizzle/0011_rename_human_to_brain.sql +1 -0
- package/drizzle/meta/0010_snapshot.json +7 -0
- package/drizzle/meta/0011_snapshot.json +7 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +5 -3
- package/templates/_base/.init/.config/hooks/startup-context.sh +1 -1
- package/templates/_base/.init/.config/scripts/session-reader.ts +3 -3
- package/templates/_base/home/VOLUTE.md +16 -1
- package/templates/_base/src/lib/auto-commit.ts +51 -14
- package/templates/_base/src/lib/router.ts +123 -1
- package/templates/_base/src/lib/types.ts +4 -0
- package/templates/_base/src/lib/volute-server.ts +91 -2
- package/templates/claude/src/server.ts +2 -2
- package/templates/claude/volute-template.json +1 -2
- package/templates/pi/src/agent.ts +1 -1
- package/templates/pi/src/lib/session-context-extension.ts +2 -2
- package/templates/pi/volute-template.json +1 -2
- package/dist/chunk-PO5Q2AYN.js +0 -121
- package/dist/down-A56B5JLK.js +0 -14
- package/dist/mind-manager-Z7O7PN2O.js +0 -15
- package/dist/web-assets/assets/index-CtiimdWK.css +0 -1
- package/dist/web-assets/assets/index-kt1_EcuO.js +0 -63
- /package/{templates/_base/_skills → dist/skills}/memory/SKILL.md +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
schema_exports
|
|
4
|
+
} from "./chunk-VQWDC6UK.js";
|
|
5
|
+
import {
|
|
6
|
+
voluteHome
|
|
7
|
+
} from "./chunk-EBGCNDMM.js";
|
|
8
|
+
|
|
9
|
+
// src/lib/db.ts
|
|
10
|
+
import { chmodSync, existsSync } from "fs";
|
|
11
|
+
import { dirname, resolve } from "path";
|
|
12
|
+
import { fileURLToPath } from "url";
|
|
13
|
+
import { drizzle } from "drizzle-orm/libsql";
|
|
14
|
+
import { migrate } from "drizzle-orm/libsql/migrator";
|
|
15
|
+
var __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
var migrationsFolder = existsSync(resolve(__dirname, "../drizzle")) ? resolve(__dirname, "../drizzle") : resolve(__dirname, "../../drizzle");
|
|
17
|
+
var db = null;
|
|
18
|
+
async function getDb() {
|
|
19
|
+
if (db) return db;
|
|
20
|
+
const dbPath = process.env.VOLUTE_DB_PATH || resolve(voluteHome(), "volute.db");
|
|
21
|
+
db = drizzle({ connection: { url: `file:${dbPath}` }, schema: schema_exports });
|
|
22
|
+
await migrate(db, { migrationsFolder });
|
|
23
|
+
try {
|
|
24
|
+
chmodSync(dbPath, 384);
|
|
25
|
+
} catch (err) {
|
|
26
|
+
console.error(
|
|
27
|
+
`[volute] WARNING: Failed to restrict database file permissions on ${dbPath}:`,
|
|
28
|
+
err
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
return db;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
getDb
|
|
36
|
+
};
|
package/dist/cli.js
CHANGED
|
@@ -9,76 +9,79 @@ if (!process.env.VOLUTE_HOME) {
|
|
|
9
9
|
var command = process.argv[2];
|
|
10
10
|
var args = process.argv.slice(3);
|
|
11
11
|
if (command === "--version" || command === "-v") {
|
|
12
|
-
const { default: pkg } = await import("./package-
|
|
12
|
+
const { default: pkg } = await import("./package-MYE2ZJLV.js");
|
|
13
13
|
console.log(pkg.version);
|
|
14
14
|
process.exit(0);
|
|
15
15
|
}
|
|
16
16
|
switch (command) {
|
|
17
17
|
case "mind":
|
|
18
|
-
await import("./mind-
|
|
18
|
+
await import("./mind-PQ5NCPSU.js").then((m) => m.run(args));
|
|
19
19
|
break;
|
|
20
20
|
case "send":
|
|
21
|
-
await import("./send-
|
|
21
|
+
await import("./send-KVIZIGCE.js").then((m) => m.run(args));
|
|
22
22
|
break;
|
|
23
23
|
case "history":
|
|
24
|
-
await import("./history-
|
|
24
|
+
await import("./history-WNK3DFUM.js").then((m) => m.run(args));
|
|
25
25
|
break;
|
|
26
26
|
case "variant":
|
|
27
|
-
await import("./variant-
|
|
27
|
+
await import("./variant-63ZWO2W7.js").then((m) => m.run(args));
|
|
28
28
|
break;
|
|
29
29
|
case "connector":
|
|
30
|
-
await import("./connector-
|
|
30
|
+
await import("./connector-JBVNZ7VK.js").then((m) => m.run(args));
|
|
31
31
|
break;
|
|
32
32
|
case "channel":
|
|
33
|
-
await import("./channel-
|
|
33
|
+
await import("./channel-PUQKGSQM.js").then((m) => m.run(args));
|
|
34
34
|
break;
|
|
35
35
|
case "schedule":
|
|
36
|
-
await import("./schedule-
|
|
36
|
+
await import("./schedule-LMX7GAQZ.js").then((m) => m.run(args));
|
|
37
37
|
break;
|
|
38
38
|
case "skill":
|
|
39
|
-
await import("./skill-
|
|
39
|
+
await import("./skill-BCVNI6TV.js").then((m) => m.run(args));
|
|
40
|
+
break;
|
|
41
|
+
case "shared":
|
|
42
|
+
await import("./shared-KO35ZM44.js").then((m) => m.run(args));
|
|
40
43
|
break;
|
|
41
44
|
case "env":
|
|
42
|
-
await import("./env-
|
|
45
|
+
await import("./env-A3LMO777.js").then((m) => m.run(args));
|
|
43
46
|
break;
|
|
44
47
|
case "up":
|
|
45
|
-
await import("./up-
|
|
48
|
+
await import("./up-WG65SWJU.js").then((m) => m.run(args));
|
|
46
49
|
break;
|
|
47
50
|
case "down":
|
|
48
|
-
await import("./down-
|
|
51
|
+
await import("./down-ZY35KMHR.js").then((m) => m.run(args));
|
|
49
52
|
break;
|
|
50
53
|
case "restart":
|
|
51
|
-
await import("./daemon-restart-
|
|
54
|
+
await import("./daemon-restart-JMZM3QY4.js").then((m) => m.run(args));
|
|
52
55
|
break;
|
|
53
56
|
case "setup":
|
|
54
|
-
await import("./setup-
|
|
57
|
+
await import("./setup-OH3PJUJO.js").then((m) => m.run(args));
|
|
55
58
|
break;
|
|
56
59
|
case "service":
|
|
57
|
-
await import("./service-
|
|
60
|
+
await import("./service-LUR7WDO7.js").then((m) => m.run(args));
|
|
58
61
|
break;
|
|
59
62
|
case "update":
|
|
60
|
-
await import("./update-
|
|
63
|
+
await import("./update-FJIHDJKM.js").then((m) => m.run(args));
|
|
61
64
|
break;
|
|
62
65
|
case "status":
|
|
63
|
-
await import("./status-
|
|
66
|
+
await import("./status-4ESFLGH4.js").then((m) => m.run(args));
|
|
64
67
|
break;
|
|
65
68
|
case "seed":
|
|
66
|
-
await import("./seed-
|
|
69
|
+
await import("./seed-J43YDKXG.js").then((m) => m.run(args));
|
|
67
70
|
break;
|
|
68
71
|
case "sprout":
|
|
69
|
-
await import("./sprout-
|
|
72
|
+
await import("./sprout-VBEX63LX.js").then((m) => m.run(args));
|
|
70
73
|
break;
|
|
71
74
|
case "pages":
|
|
72
|
-
await import("./pages-
|
|
75
|
+
await import("./pages-AXCOSY3P.js").then((m) => m.run(args));
|
|
73
76
|
break;
|
|
74
77
|
case "register":
|
|
75
|
-
await import("./register-
|
|
78
|
+
await import("./register-VSPCMHKX.js").then((m) => m.run(args));
|
|
76
79
|
break;
|
|
77
80
|
case "login":
|
|
78
|
-
await import("./login-
|
|
81
|
+
await import("./login-HNH3EUQV.js").then((m) => m.run(args));
|
|
79
82
|
break;
|
|
80
83
|
case "logout":
|
|
81
|
-
await import("./logout-
|
|
84
|
+
await import("./logout-I5CB5UZS.js").then((m) => m.run());
|
|
82
85
|
break;
|
|
83
86
|
case "--help":
|
|
84
87
|
case "-h":
|
|
@@ -126,6 +129,11 @@ Commands:
|
|
|
126
129
|
volute skill remove <name> Remove a shared skill
|
|
127
130
|
volute skill uninstall <name> --mind Uninstall a skill from a mind
|
|
128
131
|
|
|
132
|
+
volute shared merge "<msg>" Merge shared changes to main
|
|
133
|
+
volute shared pull Pull latest shared changes
|
|
134
|
+
volute shared log Show shared repo history
|
|
135
|
+
volute shared status Show pending changes diff
|
|
136
|
+
|
|
129
137
|
volute env <set|get|list|remove> Manage environment variables
|
|
130
138
|
|
|
131
139
|
volute up [--port N] Start the daemon (default: 4200)
|
|
@@ -155,7 +163,7 @@ Options:
|
|
|
155
163
|
--version, -v Show version number
|
|
156
164
|
--help, -h Show this help message
|
|
157
165
|
|
|
158
|
-
Mind-scoped commands (send, history, variant, connector, schedule, channel, skill, pages)
|
|
166
|
+
Mind-scoped commands (send, history, variant, connector, schedule, channel, skill, shared, pages)
|
|
159
167
|
use --mind <name> or VOLUTE_MIND env var to identify the mind.`);
|
|
160
168
|
break;
|
|
161
169
|
default:
|
|
@@ -164,7 +172,7 @@ Run 'volute --help' for usage.`);
|
|
|
164
172
|
process.exit(1);
|
|
165
173
|
}
|
|
166
174
|
if (command !== "update") {
|
|
167
|
-
import("./update-check-
|
|
175
|
+
import("./update-check-MWE5AH4U.js").then((m) => m.checkForUpdate()).then((result) => {
|
|
168
176
|
if (result.updateAvailable) {
|
|
169
177
|
console.error(`
|
|
170
178
|
Update available: ${result.current} \u2192 ${result.latest}`);
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
promptLine
|
|
4
4
|
} from "./chunk-RVKR2R7F.js";
|
|
5
|
+
import {
|
|
6
|
+
getClient,
|
|
7
|
+
urlOf
|
|
8
|
+
} from "./chunk-4RQBJWQX.js";
|
|
5
9
|
import {
|
|
6
10
|
resolveMindName
|
|
7
11
|
} from "./chunk-NAOW2CLO.js";
|
|
@@ -10,12 +14,8 @@ import {
|
|
|
10
14
|
} from "./chunk-D424ZQGI.js";
|
|
11
15
|
import {
|
|
12
16
|
daemonFetch
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import {
|
|
16
|
-
getClient,
|
|
17
|
-
urlOf
|
|
18
|
-
} from "./chunk-4RQBJWQX.js";
|
|
17
|
+
} from "./chunk-WC6ZHVRL.js";
|
|
18
|
+
import "./chunk-EBGCNDMM.js";
|
|
19
19
|
import "./chunk-K3NQKI34.js";
|
|
20
20
|
|
|
21
21
|
// src/commands/connector.ts
|
package/dist/connectors/slack.js
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
loadFollowedChannels,
|
|
6
6
|
sendToMind,
|
|
7
7
|
writeChannelEntry
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-RHEGSQFJ.js";
|
|
9
|
+
import "../chunk-EBGCNDMM.js";
|
|
10
10
|
import "../chunk-K3NQKI34.js";
|
|
11
11
|
|
|
12
12
|
// src/connectors/telegram.ts
|
|
@@ -7,21 +7,23 @@ import "./chunk-K3NQKI34.js";
|
|
|
7
7
|
// src/commands/create.ts
|
|
8
8
|
async function run(args) {
|
|
9
9
|
const { positional, flags } = parseArgs(args, {
|
|
10
|
-
template: { type: "string" }
|
|
10
|
+
template: { type: "string" },
|
|
11
|
+
skills: { type: "string" }
|
|
11
12
|
});
|
|
12
13
|
const name = positional[0];
|
|
13
14
|
const template = flags.template ?? "claude";
|
|
14
15
|
if (!name) {
|
|
15
|
-
console.error("Usage: volute mind create <name> [--template <name>]");
|
|
16
|
+
console.error("Usage: volute mind create <name> [--template <name>] [--skills <list|none>]");
|
|
16
17
|
process.exit(1);
|
|
17
18
|
}
|
|
18
|
-
const
|
|
19
|
+
const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
|
|
20
|
+
const { daemonFetch } = await import("./daemon-client-ITWUCNFO.js");
|
|
19
21
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
20
22
|
const client = getClient();
|
|
21
23
|
const res = await daemonFetch(urlOf(client.api.minds.$url()), {
|
|
22
24
|
method: "POST",
|
|
23
25
|
headers: { "Content-Type": "application/json" },
|
|
24
|
-
body: JSON.stringify({ name, template })
|
|
26
|
+
body: JSON.stringify({ name, template, skills })
|
|
25
27
|
});
|
|
26
28
|
const data = await res.json();
|
|
27
29
|
if (!res.ok) {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
run
|
|
4
|
-
} from "./chunk-6DVBMLVN.js";
|
|
5
2
|
import {
|
|
6
3
|
stopDaemon
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7NO7EV5Z.js";
|
|
5
|
+
import {
|
|
6
|
+
run
|
|
7
|
+
} from "./chunk-VE4D3GOP.js";
|
|
8
8
|
import {
|
|
9
9
|
getServiceMode,
|
|
10
10
|
modeLabel,
|
|
11
11
|
pollHealth,
|
|
12
12
|
readDaemonConfig,
|
|
13
13
|
restartService
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-2Y77MCFG.js";
|
|
16
|
-
import "./chunk-ZCEYUUID.js";
|
|
14
|
+
} from "./chunk-32VR2EOH.js";
|
|
17
15
|
import "./chunk-D424ZQGI.js";
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-DYZGP3EW.js";
|
|
17
|
+
import "./chunk-OGXOMR65.js";
|
|
18
|
+
import "./chunk-EBGCNDMM.js";
|
|
19
19
|
import "./chunk-K3NQKI34.js";
|
|
20
20
|
|
|
21
21
|
// src/commands/daemon-restart.ts
|