volute 0.3.1 → 0.4.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/{channel-7FZ6D25H.js → channel-DQ6UY7QB.js} +16 -39
- package/dist/chunk-5OCWMTVS.js +152 -0
- package/dist/chunk-MXUCNIBG.js +168 -0
- package/dist/{chunk-N4YNKR3Q.js → chunk-ZHCE4DPY.js} +20 -0
- package/dist/cli.js +29 -18
- package/dist/connector-DKDJTLYZ.js +152 -0
- package/dist/connectors/discord.js +102 -161
- package/dist/connectors/slack.js +170 -0
- package/dist/connectors/telegram.js +156 -0
- package/dist/daemon.js +262 -142
- package/dist/{import-K4MP2GX7.js → import-4CI2ZUTJ.js} +15 -0
- package/dist/package-Z2SFO2SV.js +89 -0
- package/dist/{send-UK3JBZIB.js → send-3U6OTKG7.js} +6 -2
- package/dist/web-assets/assets/{index-BC5eSqbY.js → index-NS621maO.js} +23 -23
- package/dist/web-assets/index.html +1 -1
- package/package.json +3 -1
- package/templates/_base/_skills/volute-agent/SKILL.md +3 -3
- package/templates/_base/home/VOLUTE.md +18 -6
- package/templates/_base/src/lib/file-handler.ts +46 -0
- package/templates/_base/src/lib/router.ts +180 -0
- package/templates/_base/src/lib/routing.ts +100 -0
- package/templates/_base/src/lib/types.ts +13 -2
- package/templates/_base/src/lib/volute-server.ts +20 -48
- package/templates/agent-sdk/src/agent.ts +268 -82
- package/templates/agent-sdk/src/server.ts +12 -3
- package/templates/pi/src/agent.ts +277 -58
- package/templates/pi/src/server.ts +15 -4
- package/dist/connector-TVJULIRT.js +0 -96
- package/templates/_base/src/lib/sessions.ts +0 -71
- package/templates/agent-sdk/src/lib/agent-sessions.ts +0 -204
- package/templates/pi/src/lib/agent-sessions.ts +0 -210
- package/dist/{create-BRG2DBWI.js → create-ILVOG75A.js} +3 -3
- package/dist/{delete-GQ7JEK2S.js → delete-55MXCEY5.js} +3 -3
- package/dist/{history-3VRUBGGV.js → history-BKG74I43.js} +3 -3
- package/dist/{schedule-4I5TYHFH.js → schedule-A35SH4HT.js} +3 -3
- package/dist/{setup-SRS7AUAA.js → setup-2FDVN7OF.js} +3 -3
- package/dist/{up-UT3IMKCA.js → up-F7TMTLRE.js} +0 -0
- package/dist/{upgrade-CDKECCGN.js → upgrade-6ZW2RD64.js} +3 -3
- package/dist/{variant-CVYM3EQG.js → variant-T64BKARF.js} +6 -6
|
@@ -491,12 +491,27 @@ function importOpenClawConnectors(agentDirPath) {
|
|
|
491
491
|
const env = readEnv(envPath);
|
|
492
492
|
env.DISCORD_TOKEN = discord.token;
|
|
493
493
|
writeEnv(envPath, env);
|
|
494
|
+
const channelNames = /* @__PURE__ */ new Set();
|
|
495
|
+
if (discord.guilds) {
|
|
496
|
+
for (const guild of Object.values(discord.guilds)) {
|
|
497
|
+
if (!guild.channels) continue;
|
|
498
|
+
for (const [name, ch] of Object.entries(guild.channels)) {
|
|
499
|
+
if (ch.allow) channelNames.add(name);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
494
503
|
const voluteConfig = readVoluteConfig(agentDirPath) ?? {};
|
|
495
504
|
const connectors = new Set(voluteConfig.connectors ?? []);
|
|
496
505
|
connectors.add("discord");
|
|
497
506
|
voluteConfig.connectors = [...connectors];
|
|
507
|
+
if (channelNames.size > 0) {
|
|
508
|
+
voluteConfig.discord = { channels: [...channelNames] };
|
|
509
|
+
}
|
|
498
510
|
writeVoluteConfig(agentDirPath, voluteConfig);
|
|
499
511
|
console.log("Imported Discord connector config");
|
|
512
|
+
if (channelNames.size > 0) {
|
|
513
|
+
console.log(`Imported followed channels: ${[...channelNames].join(", ")}`);
|
|
514
|
+
}
|
|
500
515
|
}
|
|
501
516
|
function parseNameFromIdentity(identity) {
|
|
502
517
|
const match = identity.match(/\*\*Name:\*\*\s*(.+)/);
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-K3NQKI34.js";
|
|
3
|
+
|
|
4
|
+
// package.json
|
|
5
|
+
var package_default = {
|
|
6
|
+
name: "volute",
|
|
7
|
+
version: "0.4.0",
|
|
8
|
+
description: "CLI for creating and managing self-modifying AI agents powered by the Claude Agent SDK",
|
|
9
|
+
type: "module",
|
|
10
|
+
license: "MIT",
|
|
11
|
+
repository: {
|
|
12
|
+
type: "git",
|
|
13
|
+
url: "https://github.com/mimsy/volute.git"
|
|
14
|
+
},
|
|
15
|
+
keywords: [
|
|
16
|
+
"cli",
|
|
17
|
+
"ai",
|
|
18
|
+
"agents",
|
|
19
|
+
"claude",
|
|
20
|
+
"anthropic"
|
|
21
|
+
],
|
|
22
|
+
engines: {
|
|
23
|
+
node: ">=22"
|
|
24
|
+
},
|
|
25
|
+
bin: {
|
|
26
|
+
volute: "dist/cli.js"
|
|
27
|
+
},
|
|
28
|
+
files: [
|
|
29
|
+
"dist/",
|
|
30
|
+
"drizzle/",
|
|
31
|
+
"templates/"
|
|
32
|
+
],
|
|
33
|
+
scripts: {
|
|
34
|
+
dev: "tsx src/cli.ts",
|
|
35
|
+
build: "tsup && npm run build:web",
|
|
36
|
+
"build:web": "vite build --config src/web/frontend/vite.config.ts",
|
|
37
|
+
"dev:web": "vite --config src/web/frontend/vite.config.ts",
|
|
38
|
+
test: "node --import tsx --import ./test/setup.ts --test --test-force-exit --test-concurrency=1 test/*.test.ts",
|
|
39
|
+
lint: "biome check src/ test/",
|
|
40
|
+
"lint:fix": "biome check --write src/ test/",
|
|
41
|
+
format: "biome format --write src/ test/",
|
|
42
|
+
typecheck: "tsc --noEmit",
|
|
43
|
+
"typecheck:templates": "tsc --noEmit -p templates/agent-sdk/tsconfig.json && tsc --noEmit -p templates/pi/tsconfig.json",
|
|
44
|
+
"lint:templates": "biome check templates/",
|
|
45
|
+
"typecheck:web": "tsc --noEmit -p src/web/frontend/tsconfig.json",
|
|
46
|
+
prepare: "lefthook install",
|
|
47
|
+
prepublishOnly: "npm run build",
|
|
48
|
+
"db:generate": "drizzle-kit generate",
|
|
49
|
+
"db:migrate": "drizzle-kit migrate"
|
|
50
|
+
},
|
|
51
|
+
dependencies: {
|
|
52
|
+
"@hono/node-server": "^1.19.9",
|
|
53
|
+
"@hono/zod-validator": "^0.7.6",
|
|
54
|
+
"@libsql/client": "^0.17.0",
|
|
55
|
+
"@slack/bolt": "^4.6.0",
|
|
56
|
+
bcryptjs: "^3.0.3",
|
|
57
|
+
"cron-parser": "^5.5.0",
|
|
58
|
+
"discord.js": "^14.25.1",
|
|
59
|
+
"drizzle-orm": "^0.45.1",
|
|
60
|
+
hono: "^4.11.7",
|
|
61
|
+
telegraf: "^4.16.3",
|
|
62
|
+
zod: "^4.3.6"
|
|
63
|
+
},
|
|
64
|
+
devDependencies: {
|
|
65
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.34",
|
|
66
|
+
"@biomejs/biome": "2.3.14",
|
|
67
|
+
"@mariozechner/pi-ai": "^0.52.7",
|
|
68
|
+
"@mariozechner/pi-coding-agent": "^0.52.7",
|
|
69
|
+
"@types/bcryptjs": "^2.4.6",
|
|
70
|
+
"@types/dompurify": "^3.0.5",
|
|
71
|
+
"@types/node": "^25.2.0",
|
|
72
|
+
"@types/react": "^19.2.11",
|
|
73
|
+
"@types/react-dom": "^19.2.3",
|
|
74
|
+
"@vitejs/plugin-react": "^5.1.3",
|
|
75
|
+
dompurify: "^3.3.1",
|
|
76
|
+
"drizzle-kit": "^0.31.8",
|
|
77
|
+
lefthook: "^2.1.0",
|
|
78
|
+
marked: "^17.0.1",
|
|
79
|
+
react: "^19.2.4",
|
|
80
|
+
"react-dom": "^19.2.4",
|
|
81
|
+
tsup: "^8.0.0",
|
|
82
|
+
tsx: "^4.0.0",
|
|
83
|
+
typescript: "^5.7.0",
|
|
84
|
+
vite: "^7.3.1"
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
package_default as default
|
|
89
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
-
readNdjson
|
|
4
|
-
|
|
3
|
+
readNdjson,
|
|
4
|
+
summarizeTool
|
|
5
|
+
} from "./chunk-ZHCE4DPY.js";
|
|
5
6
|
import {
|
|
6
7
|
daemonFetch
|
|
7
8
|
} from "./chunk-YGFIWIOF.js";
|
|
@@ -41,6 +42,9 @@ async function run(args) {
|
|
|
41
42
|
for await (const event of readNdjson(res.body)) {
|
|
42
43
|
if (event.type === "text") {
|
|
43
44
|
process.stdout.write(event.content);
|
|
45
|
+
} else if (event.type === "tool_use") {
|
|
46
|
+
process.stderr.write(`${summarizeTool(event.name, event.input)}
|
|
47
|
+
`);
|
|
44
48
|
}
|
|
45
49
|
if (event.type === "done") {
|
|
46
50
|
break;
|