volute 0.35.0 → 0.36.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/dist/{activity-events-ZW4SDL2C.js → activity-events-PWOGSMRL.js} +4 -4
- package/dist/{ai-service-LURBEDDB.js → ai-service-GSZWIETO.js} +5 -5
- package/dist/{archive-ESU2FUN4.js → archive-Y2YEOCGB.js} +3 -3
- package/dist/{auth-WX4TESEI.js → auth-YTQME4EV.js} +5 -5
- package/dist/{chat-QXAJF3FU.js → chat-ED7YOGKO.js} +4 -4
- package/dist/{chunk-AOB6GVRM.js → chunk-46DYYHN6.js} +8 -3
- package/dist/{chunk-5XJYUFZH.js → chunk-6F3YNULE.js} +68 -22
- package/dist/{chunk-BDYXIWA5.js → chunk-75AJ54GM.js} +13 -2
- package/dist/{chunk-5N7Y5WAM.js → chunk-7PTQGPJY.js} +28 -12
- package/dist/{chunk-CORXD635.js → chunk-B35VNNSS.js} +3 -3
- package/dist/{chunk-PWQ2ITYG.js → chunk-BOLJUV77.js} +4 -4
- package/dist/{chunk-ZSR72JB3.js → chunk-CU6OFXMM.js} +1 -1
- package/dist/{chunk-2TGZJFAT.js → chunk-DJT5Y4UF.js} +3 -3
- package/dist/{chunk-XRQSAMX2.js → chunk-DMV5P2LU.js} +3 -3
- package/dist/{chunk-WJPROOU5.js → chunk-DQ7VBXAP.js} +635 -3692
- package/dist/{chunk-IJHIXLVN.js → chunk-GBDVNPN2.js} +13 -11
- package/dist/{chunk-WZRZFFCL.js → chunk-IIWF2IPD.js} +146 -186
- package/dist/{chunk-F7ZNLYKZ.js → chunk-KAB6UGOL.js} +2 -2
- package/dist/{chunk-VHJRZM2S.js → chunk-L72WYMF7.js} +2 -2
- package/dist/{chunk-NJK5SDGR.js → chunk-LGNUFVMR.js} +1 -1
- package/dist/{chunk-FT5KETXZ.js → chunk-M5RYAA5I.js} +2 -2
- package/dist/{chunk-J6CJQDWI.js → chunk-N2AUHW4C.js} +2 -2
- package/dist/{chunk-BMZQYACC.js → chunk-NUX47Y2V.js} +19 -4
- package/dist/{chunk-AN2W47GW.js → chunk-PJ4IPTIN.js} +2 -2
- package/dist/{chunk-N446KRP7.js → chunk-PY557GDR.js} +2 -2
- package/dist/{chunk-MDJGMOSD.js → chunk-PZYJBOQP.js} +6 -6
- package/dist/chunk-RG5TOL4O.js +18 -0
- package/dist/{chunk-N5LMGYXX.js → chunk-SWW6AUVW.js} +2 -2
- package/dist/{chunk-BKF4WQCY.js → chunk-T2TP6ZC6.js} +20 -8
- package/dist/{chunk-VY3RB2V7.js → chunk-TWAN7ZNO.js} +3 -3
- package/dist/{chunk-QCH6K235.js → chunk-UI7RPV2B.js} +1 -1
- package/dist/{chunk-QWTR6AWZ.js → chunk-X2J7QUFH.js} +2 -2
- package/dist/{chunk-A2ZLHBHG.js → chunk-YDBAY3NA.js} +2 -2
- package/dist/{chunk-BV65KRHM.js → chunk-YTWZORJN.js} +2 -2
- package/dist/{chunk-OTC67N2Z.js → chunk-ZTVKQOU7.js} +1 -1
- package/dist/cli.js +16 -16
- package/dist/{cloud-sync-6JL4C24T.js → cloud-sync-BOCZSDIA.js} +19 -20
- package/dist/connectors/discord-bridge.js +3 -3
- package/dist/connectors/slack-bridge.js +3 -3
- package/dist/connectors/telegram-bridge.js +3 -3
- package/dist/{conversations-2PW57WO2.js → conversations-HH3CJD4E.js} +15 -9
- package/dist/{create-UVCK2CS6.js → create-QBEPSD2Z.js} +1 -1
- package/dist/{daemon-restart-HSZ3BCX5.js → daemon-restart-SIR3UR4B.js} +10 -10
- package/dist/daemon.js +446 -328
- package/dist/{db-BVBJ57TU.js → db-URORGSXQ.js} +2 -2
- package/dist/delivery-manager-WTGIPBGY.js +30 -0
- package/dist/{delivery-router-HEJSJAHQ.js → delivery-router-VSULHXNH.js} +4 -4
- package/dist/down-DGGLZ5TA.js +17 -0
- package/dist/{exec-PY7THYH4.js → exec-X3C6ZZTQ.js} +4 -4
- package/dist/{export-OAS6QVBN.js → export-HTFOHOKL.js} +3 -3
- package/dist/{extension-D74CNM7G.js → extension-AKZ46YSL.js} +22 -3
- package/dist/{extensions-XDDFY72A.js → extensions-OOSFVH7U.js} +21 -20
- package/dist/{files-CWTK6V3H.js → files-H2YLRD37.js} +3 -3
- package/dist/{import-5A3T7QV4.js → import-OL5BZX7S.js} +6 -6
- package/dist/{isolation-TK5RX2WM.js → isolation-N74RWOUX.js} +3 -3
- package/dist/{list-PDMQM7ZV.js → list-GJ4RUQQT.js} +7 -1
- package/dist/{login-7TE6CIZF.js → login-JXRVMBRB.js} +2 -2
- package/dist/{logout-T4XS6LRU.js → logout-FW243JBU.js} +2 -2
- package/dist/message-delivery-YORUXKDQ.js +40 -0
- package/dist/{mind-5IEYKV7I.js → mind-6VJJHF65.js} +6 -6
- package/dist/{mind-activity-tracker-QBLIV7ZJ.js → mind-activity-tracker-66UVYIFW.js} +5 -5
- package/dist/{mind-history-IE2QH7U5.js → mind-history-MII2SK7F.js} +81 -14
- package/dist/mind-manager-TJ2SUPRX.js +30 -0
- package/dist/mind-service-E7FM2WZF.js +36 -0
- package/dist/{package-D2FSVFAX.js → package-3W2MEXHB.js} +5 -5
- package/dist/{read-67VRP2DO.js → read-ZUDG4JWU.js} +4 -4
- package/dist/{registry-GBSNW3HG.js → registry-YPHK534W.js} +2 -2
- package/dist/{sandbox-R37VIU36.js → sandbox-LP6YRAXS.js} +5 -5
- package/dist/scheduler-FRJ5DK24.js +30 -0
- package/dist/{schema-XVZ2CLKW.js → schema-MISD3JFG.js} +3 -1
- package/dist/{seed-EQORWX77.js → seed-CEC4RC23.js} +1 -1
- package/dist/{seed-cmd-ZM2XGVU2.js → seed-cmd-WTTG7SRQ.js} +2 -2
- package/dist/{seed-create-DRWGGHEI.js → seed-create-M6RCC6RP.js} +3 -3
- package/dist/{seed-sprout-JYXGXOP3.js → seed-sprout-ZKCHFJKH.js} +10 -10
- package/dist/{send-JBJJQ7CA.js → send-LXUT2GGR.js} +3 -3
- package/dist/{service-WNPCNHOX.js → service-M6N3RUYU.js} +5 -5
- package/dist/{setup-BJ4YAY26.js → setup-PJOF5UV5.js} +7 -7
- package/dist/{setup-RHJRFURI.js → setup-PMJHCZQX.js} +5 -3
- package/dist/skills/tending/SKILL.md +52 -0
- package/dist/{skills-EKMCQ46K.js → skills-2PTRTBQP.js} +7 -7
- package/dist/sleep-manager-WAZWMFJT.js +34 -0
- package/dist/spirit-6KVDIROQ.js +24 -0
- package/dist/{sprout-HE4TITMK.js → sprout-WX2FFYLP.js} +1 -1
- package/dist/src-FQE4BHRG.js +617 -0
- package/dist/src-GW6FP6VL.js +425 -0
- package/dist/src-QEOLMAYC.js +2133 -0
- package/dist/{status-ZK34WYIM.js → status-3IVSLJDN.js} +6 -6
- package/dist/system-chat-2IFS5HCX.js +34 -0
- package/dist/{tailscale-ZIZ2HWJ5.js → tailscale-DZU4WM3E.js} +3 -3
- package/dist/{template-hash-A7FNHTB7.js → template-hash-6ITI3WC4.js} +2 -2
- package/dist/up-4SCIUIMG.js +19 -0
- package/dist/{update-ANE5ZM7F.js → update-RIQYUPVN.js} +6 -6
- package/dist/{update-check-UV55CBEP.js → update-check-4TIJKVGD.js} +3 -3
- package/dist/{version-notify-FXSEMXWW.js → version-notify-UXSHBZ35.js} +21 -22
- package/dist/{volute-config-D2XVS2YI.js → volute-config-V7UFFBG3.js} +1 -1
- package/dist/web-assets/assets/index-C-eYso8Y.js +75 -0
- package/dist/web-assets/assets/index-CCv_fSte.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0006_channels.sql +17 -0
- package/drizzle/0007_drop_conversation_name_title.sql +11 -0
- package/drizzle/0008_performance_indexes.sql +6 -0
- package/drizzle/meta/0006_snapshot.json +7 -0
- package/drizzle/meta/0007_snapshot.json +7 -0
- package/drizzle/meta/_journal.json +21 -0
- package/package.json +5 -5
- package/templates/_base/home/.config/routes.json +2 -2
- package/templates/_base/home/VOLUTE.md +1 -2
- package/templates/_base/src/lib/format-prefix.ts +1 -7
- package/templates/claude/.init/.config/routes.json +2 -2
- package/templates/codex/.init/.config/routes.json +2 -2
- package/templates/pi/.init/.config/routes.json +2 -2
- package/dist/delivery-manager-H5ZVBMCQ.js +0 -31
- package/dist/down-74VXM45A.js +0 -17
- package/dist/message-delivery-GRC4W6P7.js +0 -41
- package/dist/mind-manager-HFLB5653.js +0 -31
- package/dist/mind-service-X2CAA6W6.js +0 -37
- package/dist/scheduler-Y7O4CJXL.js +0 -31
- package/dist/sleep-manager-7KFK3USC.js +0 -35
- package/dist/spirit-ZFRDXMG7.js +0 -23
- package/dist/system-chat-IDPHYHY4.js +0 -35
- package/dist/up-77ICEDEW.js +0 -19
- package/dist/web-assets/assets/index-BhxWKvbB.css +0 -1
- package/dist/web-assets/assets/index-CHVKJ9II.js +0 -75
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
DeliveryManager,
|
|
4
|
+
getDeliveryManager,
|
|
5
|
+
initDeliveryManager
|
|
6
|
+
} from "./chunk-DQ7VBXAP.js";
|
|
7
|
+
import "./chunk-6F3YNULE.js";
|
|
8
|
+
import "./chunk-46DYYHN6.js";
|
|
9
|
+
import "./chunk-GBDVNPN2.js";
|
|
10
|
+
import "./chunk-PY557GDR.js";
|
|
11
|
+
import "./chunk-DMV5P2LU.js";
|
|
12
|
+
import "./chunk-IIWF2IPD.js";
|
|
13
|
+
import "./chunk-B35VNNSS.js";
|
|
14
|
+
import "./chunk-CU6OFXMM.js";
|
|
15
|
+
import "./chunk-BOLJUV77.js";
|
|
16
|
+
import "./chunk-X2J7QUFH.js";
|
|
17
|
+
import "./chunk-YDBAY3NA.js";
|
|
18
|
+
import "./chunk-M5RYAA5I.js";
|
|
19
|
+
import "./chunk-T2TP6ZC6.js";
|
|
20
|
+
import "./chunk-PJ4IPTIN.js";
|
|
21
|
+
import "./chunk-L72WYMF7.js";
|
|
22
|
+
import "./chunk-NUX47Y2V.js";
|
|
23
|
+
import "./chunk-75AJ54GM.js";
|
|
24
|
+
import "./chunk-7PTQGPJY.js";
|
|
25
|
+
import "./chunk-7KJOFUNN.js";
|
|
26
|
+
export {
|
|
27
|
+
DeliveryManager,
|
|
28
|
+
getDeliveryManager,
|
|
29
|
+
initDeliveryManager
|
|
30
|
+
};
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
registerMindDir,
|
|
7
7
|
resolveDeliveryMode,
|
|
8
8
|
resolveRoute
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-X2J7QUFH.js";
|
|
10
|
+
import "./chunk-T2TP6ZC6.js";
|
|
11
|
+
import "./chunk-75AJ54GM.js";
|
|
12
|
+
import "./chunk-7PTQGPJY.js";
|
|
13
13
|
import "./chunk-7KJOFUNN.js";
|
|
14
14
|
export {
|
|
15
15
|
clearConfigCache,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
run,
|
|
4
|
+
stopDaemon
|
|
5
|
+
} from "./chunk-N2AUHW4C.js";
|
|
6
|
+
import "./chunk-DJT5Y4UF.js";
|
|
7
|
+
import "./chunk-TXSA4Q3V.js";
|
|
8
|
+
import "./chunk-O7IGP7ZW.js";
|
|
9
|
+
import "./chunk-PJ4IPTIN.js";
|
|
10
|
+
import "./chunk-L72WYMF7.js";
|
|
11
|
+
import "./chunk-75AJ54GM.js";
|
|
12
|
+
import "./chunk-7PTQGPJY.js";
|
|
13
|
+
import "./chunk-7KJOFUNN.js";
|
|
14
|
+
export {
|
|
15
|
+
run,
|
|
16
|
+
stopDaemon
|
|
17
|
+
};
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
execInherit,
|
|
5
5
|
gitExec,
|
|
6
6
|
resolveVoluteBin
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PJ4IPTIN.js";
|
|
8
|
+
import "./chunk-L72WYMF7.js";
|
|
9
|
+
import "./chunk-75AJ54GM.js";
|
|
10
|
+
import "./chunk-7PTQGPJY.js";
|
|
11
11
|
import "./chunk-7KJOFUNN.js";
|
|
12
12
|
export {
|
|
13
13
|
exec,
|
|
@@ -6,12 +6,12 @@ import "./chunk-O7IGP7ZW.js";
|
|
|
6
6
|
import {
|
|
7
7
|
addHistoryToArchive,
|
|
8
8
|
createExportArchive
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SWW6AUVW.js";
|
|
10
10
|
import {
|
|
11
11
|
findMind,
|
|
12
12
|
mindDir
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-75AJ54GM.js";
|
|
14
|
+
import "./chunk-7PTQGPJY.js";
|
|
15
15
|
import "./chunk-7KJOFUNN.js";
|
|
16
16
|
|
|
17
17
|
// packages/cli/src/commands/export.ts
|
|
@@ -9,8 +9,10 @@ import {
|
|
|
9
9
|
import "./chunk-7KJOFUNN.js";
|
|
10
10
|
|
|
11
11
|
// packages/cli/src/commands/extension.ts
|
|
12
|
-
async function listExtensions() {
|
|
13
|
-
const
|
|
12
|
+
async function listExtensions(args) {
|
|
13
|
+
const detail = args.includes("--detail");
|
|
14
|
+
const url = detail ? "/api/extensions/all?detail=true" : "/api/extensions/all";
|
|
15
|
+
const res = await daemonFetch(url);
|
|
14
16
|
if (!res.ok) {
|
|
15
17
|
const body = await res.json().catch(() => ({ error: "Unknown error" }));
|
|
16
18
|
console.error(`Error: ${body.error}`);
|
|
@@ -26,6 +28,23 @@ async function listExtensions() {
|
|
|
26
28
|
const status = ext.enabled ? "enabled" : "disabled";
|
|
27
29
|
console.log(` ${ext.id} \u2014 ${ext.name} v${ext.version} (${ext.source}, ${status})`);
|
|
28
30
|
if (ext.description) console.log(` ${ext.description}`);
|
|
31
|
+
if (detail) {
|
|
32
|
+
if (ext.skills?.length) console.log(` Skills: ${ext.skills.join(", ")}`);
|
|
33
|
+
if (ext.commands) {
|
|
34
|
+
for (const [name, cmd2] of Object.entries(ext.commands)) {
|
|
35
|
+
console.log(` Command: ${name} \u2014 ${cmd2.description}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (ext.mindSections?.length) {
|
|
39
|
+
console.log(` Mind tabs: ${ext.mindSections.map((s) => s.label).join(", ")}`);
|
|
40
|
+
}
|
|
41
|
+
if (ext.systemSection) {
|
|
42
|
+
console.log(` System tab: ${ext.systemSection.label}`);
|
|
43
|
+
}
|
|
44
|
+
if (ext.standardSkill) {
|
|
45
|
+
console.log(` Auto-installed on new minds`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
29
48
|
}
|
|
30
49
|
}
|
|
31
50
|
async function installExtension(args) {
|
|
@@ -71,7 +90,7 @@ var cmd = subcommands({
|
|
|
71
90
|
commands: {
|
|
72
91
|
list: {
|
|
73
92
|
description: "List installed extensions",
|
|
74
|
-
run:
|
|
93
|
+
run: listExtensions
|
|
75
94
|
},
|
|
76
95
|
install: {
|
|
77
96
|
description: "Install a third-party extension",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getAllDiscoveredExtensions,
|
|
4
|
+
getAllDiscoveredExtensionsDetailed,
|
|
4
5
|
getExtensionStandardSkills,
|
|
5
6
|
getLoadedExtensions,
|
|
6
7
|
installNpmExtension,
|
|
@@ -12,29 +13,29 @@ import {
|
|
|
12
13
|
parseCommandArgs,
|
|
13
14
|
setExtensionEnabled,
|
|
14
15
|
uninstallNpmExtension
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-5N7Y5WAM.js";
|
|
16
|
+
} from "./chunk-DQ7VBXAP.js";
|
|
17
|
+
import "./chunk-6F3YNULE.js";
|
|
18
|
+
import "./chunk-46DYYHN6.js";
|
|
19
|
+
import "./chunk-GBDVNPN2.js";
|
|
20
|
+
import "./chunk-PY557GDR.js";
|
|
21
|
+
import "./chunk-DMV5P2LU.js";
|
|
22
|
+
import "./chunk-IIWF2IPD.js";
|
|
23
|
+
import "./chunk-B35VNNSS.js";
|
|
24
|
+
import "./chunk-CU6OFXMM.js";
|
|
25
|
+
import "./chunk-BOLJUV77.js";
|
|
26
|
+
import "./chunk-X2J7QUFH.js";
|
|
27
|
+
import "./chunk-YDBAY3NA.js";
|
|
28
|
+
import "./chunk-M5RYAA5I.js";
|
|
29
|
+
import "./chunk-T2TP6ZC6.js";
|
|
30
|
+
import "./chunk-PJ4IPTIN.js";
|
|
31
|
+
import "./chunk-L72WYMF7.js";
|
|
32
|
+
import "./chunk-NUX47Y2V.js";
|
|
33
|
+
import "./chunk-75AJ54GM.js";
|
|
34
|
+
import "./chunk-7PTQGPJY.js";
|
|
35
35
|
import "./chunk-7KJOFUNN.js";
|
|
36
36
|
export {
|
|
37
37
|
getAllDiscoveredExtensions,
|
|
38
|
+
getAllDiscoveredExtensionsDetailed,
|
|
38
39
|
getExtensionStandardSkills,
|
|
39
40
|
getLoadedExtensions,
|
|
40
41
|
installNpmExtension,
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
} from "./chunk-ZX7EAV5J.js";
|
|
12
12
|
import {
|
|
13
13
|
formatFileSize
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-YTWZORJN.js";
|
|
15
|
+
import "./chunk-75AJ54GM.js";
|
|
16
|
+
import "./chunk-7PTQGPJY.js";
|
|
17
17
|
import "./chunk-7KJOFUNN.js";
|
|
18
18
|
|
|
19
19
|
// packages/cli/src/commands/chat/files.ts
|
|
@@ -8,11 +8,11 @@ import {
|
|
|
8
8
|
importPiSession,
|
|
9
9
|
parseNameFromIdentity,
|
|
10
10
|
sessionMatchesWorkspace
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-PZYJBOQP.js";
|
|
12
|
+
import "./chunk-YDBAY3NA.js";
|
|
13
|
+
import "./chunk-T2TP6ZC6.js";
|
|
14
|
+
import "./chunk-75AJ54GM.js";
|
|
15
|
+
import "./chunk-7PTQGPJY.js";
|
|
16
16
|
import "./chunk-7KJOFUNN.js";
|
|
17
17
|
|
|
18
18
|
// packages/cli/src/commands/import.ts
|
|
@@ -71,7 +71,7 @@ async function importArchive(archivePath, nameOverride) {
|
|
|
71
71
|
console.error(`File not found: ${archivePath}`);
|
|
72
72
|
process.exit(1);
|
|
73
73
|
}
|
|
74
|
-
const { extractArchive } = await import("./archive-
|
|
74
|
+
const { extractArchive } = await import("./archive-Y2YEOCGB.js");
|
|
75
75
|
const tempDir = resolve(tmpdir(), `volute-import-${Date.now()}`);
|
|
76
76
|
mkdirSync(tempDir, { recursive: true });
|
|
77
77
|
let extracted;
|
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
isIsolationEnabled,
|
|
8
8
|
mindUserName,
|
|
9
9
|
wrapForIsolation
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-L72WYMF7.js";
|
|
11
|
+
import "./chunk-75AJ54GM.js";
|
|
12
|
+
import "./chunk-7PTQGPJY.js";
|
|
13
13
|
import "./chunk-7KJOFUNN.js";
|
|
14
14
|
export {
|
|
15
15
|
chownMindDir,
|
|
@@ -35,7 +35,13 @@ var cmd = command({
|
|
|
35
35
|
}
|
|
36
36
|
const compact = isCompact();
|
|
37
37
|
for (const conv of convs) {
|
|
38
|
-
|
|
38
|
+
let label;
|
|
39
|
+
if (conv.type === "channel" && conv.channel_name) {
|
|
40
|
+
label = `#${conv.channel_name}`;
|
|
41
|
+
} else {
|
|
42
|
+
const other = conv.participants?.find((p) => p.username !== mindName);
|
|
43
|
+
label = other ? `@${other.username}` : conv.id.slice(0, 8);
|
|
44
|
+
}
|
|
39
45
|
if (compact) {
|
|
40
46
|
console.log(`${label} (${conv.type})`);
|
|
41
47
|
} else {
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
} from "./chunk-ZX7EAV5J.js";
|
|
13
13
|
import {
|
|
14
14
|
voluteUserHome
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-75AJ54GM.js";
|
|
16
|
+
import "./chunk-7PTQGPJY.js";
|
|
17
17
|
import "./chunk-7KJOFUNN.js";
|
|
18
18
|
|
|
19
19
|
// packages/cli/src/commands/login.ts
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
} from "./chunk-ZX7EAV5J.js";
|
|
9
9
|
import {
|
|
10
10
|
voluteUserHome
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-75AJ54GM.js";
|
|
12
|
+
import "./chunk-7PTQGPJY.js";
|
|
13
13
|
import "./chunk-7KJOFUNN.js";
|
|
14
14
|
|
|
15
15
|
// packages/cli/src/commands/logout.ts
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
deliverMessage,
|
|
4
|
+
linkToolResultToTurn,
|
|
5
|
+
recordInbound,
|
|
6
|
+
recordOutbound,
|
|
7
|
+
resolveSleepAction,
|
|
8
|
+
tagRecentInbound,
|
|
9
|
+
tagUntaggedInbound,
|
|
10
|
+
tagUntaggedOutbound
|
|
11
|
+
} from "./chunk-DQ7VBXAP.js";
|
|
12
|
+
import "./chunk-6F3YNULE.js";
|
|
13
|
+
import "./chunk-46DYYHN6.js";
|
|
14
|
+
import "./chunk-GBDVNPN2.js";
|
|
15
|
+
import "./chunk-PY557GDR.js";
|
|
16
|
+
import "./chunk-DMV5P2LU.js";
|
|
17
|
+
import "./chunk-IIWF2IPD.js";
|
|
18
|
+
import "./chunk-B35VNNSS.js";
|
|
19
|
+
import "./chunk-CU6OFXMM.js";
|
|
20
|
+
import "./chunk-BOLJUV77.js";
|
|
21
|
+
import "./chunk-X2J7QUFH.js";
|
|
22
|
+
import "./chunk-YDBAY3NA.js";
|
|
23
|
+
import "./chunk-M5RYAA5I.js";
|
|
24
|
+
import "./chunk-T2TP6ZC6.js";
|
|
25
|
+
import "./chunk-PJ4IPTIN.js";
|
|
26
|
+
import "./chunk-L72WYMF7.js";
|
|
27
|
+
import "./chunk-NUX47Y2V.js";
|
|
28
|
+
import "./chunk-75AJ54GM.js";
|
|
29
|
+
import "./chunk-7PTQGPJY.js";
|
|
30
|
+
import "./chunk-7KJOFUNN.js";
|
|
31
|
+
export {
|
|
32
|
+
deliverMessage,
|
|
33
|
+
linkToolResultToTurn,
|
|
34
|
+
recordInbound,
|
|
35
|
+
recordOutbound,
|
|
36
|
+
resolveSleepAction,
|
|
37
|
+
tagRecentInbound,
|
|
38
|
+
tagUntaggedInbound,
|
|
39
|
+
tagUntaggedOutbound
|
|
40
|
+
};
|
|
@@ -18,7 +18,7 @@ var cmd = subcommands({
|
|
|
18
18
|
commands: {
|
|
19
19
|
create: {
|
|
20
20
|
description: "Create a new mind",
|
|
21
|
-
run: (args) => import("./create-
|
|
21
|
+
run: (args) => import("./create-QBEPSD2Z.js").then((m) => m.run(args))
|
|
22
22
|
},
|
|
23
23
|
start: {
|
|
24
24
|
description: "Start a mind",
|
|
@@ -46,7 +46,7 @@ var cmd = subcommands({
|
|
|
46
46
|
},
|
|
47
47
|
history: {
|
|
48
48
|
description: "View mind activity history",
|
|
49
|
-
run: (args) => import("./mind-history-
|
|
49
|
+
run: (args) => import("./mind-history-MII2SK7F.js").then((m) => m.run(transformMindFlag(args)))
|
|
50
50
|
},
|
|
51
51
|
profile: {
|
|
52
52
|
description: "Update mind profile",
|
|
@@ -58,11 +58,11 @@ var cmd = subcommands({
|
|
|
58
58
|
},
|
|
59
59
|
import: {
|
|
60
60
|
description: "Import an OpenClaw workspace",
|
|
61
|
-
run: (args) => import("./import-
|
|
61
|
+
run: (args) => import("./import-OL5BZX7S.js").then((m) => m.run(args))
|
|
62
62
|
},
|
|
63
63
|
export: {
|
|
64
64
|
description: "Export a mind",
|
|
65
|
-
run: (args) => import("./export-
|
|
65
|
+
run: (args) => import("./export-HTFOHOKL.js").then((m) => m.run(args))
|
|
66
66
|
},
|
|
67
67
|
split: {
|
|
68
68
|
description: "Create a variant",
|
|
@@ -82,11 +82,11 @@ var cmd = subcommands({
|
|
|
82
82
|
},
|
|
83
83
|
seed: {
|
|
84
84
|
description: "(legacy) Use 'volute seed create' instead",
|
|
85
|
-
run: (args) => import("./seed-
|
|
85
|
+
run: (args) => import("./seed-CEC4RC23.js").then((m) => m.run(args))
|
|
86
86
|
},
|
|
87
87
|
sprout: {
|
|
88
88
|
description: "(legacy) Use 'volute seed sprout' instead",
|
|
89
|
-
run: (args) => import("./sprout-
|
|
89
|
+
run: (args) => import("./sprout-WX2FFYLP.js").then((m) => m.run(args))
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
92
|
footer: "Mind name can be omitted (where applicable) if VOLUTE_MIND is set."
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
markIdle,
|
|
5
5
|
onMindEvent,
|
|
6
6
|
stopAll
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-PY557GDR.js";
|
|
8
|
+
import "./chunk-B35VNNSS.js";
|
|
9
|
+
import "./chunk-T2TP6ZC6.js";
|
|
10
|
+
import "./chunk-75AJ54GM.js";
|
|
11
|
+
import "./chunk-7PTQGPJY.js";
|
|
12
12
|
import "./chunk-7KJOFUNN.js";
|
|
13
13
|
export {
|
|
14
14
|
getActiveMinds,
|
|
@@ -149,19 +149,48 @@ function formatRowCompact(row) {
|
|
|
149
149
|
return `[${time}] [${row.type}] ${row.content ?? ""}`;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
+
function periodKeyFromTimestamp(dateStr, period) {
|
|
153
|
+
const d = new Date(normalizeTimestamp(dateStr));
|
|
154
|
+
switch (period) {
|
|
155
|
+
case "hour": {
|
|
156
|
+
const y = d.getFullYear();
|
|
157
|
+
const m = String(d.getMonth() + 1).padStart(2, "0");
|
|
158
|
+
const day = String(d.getDate()).padStart(2, "0");
|
|
159
|
+
const h = String(d.getHours()).padStart(2, "0");
|
|
160
|
+
return `${y}-${m}-${day}T${h}`;
|
|
161
|
+
}
|
|
162
|
+
case "day": {
|
|
163
|
+
const y = d.getFullYear();
|
|
164
|
+
const m = String(d.getMonth() + 1).padStart(2, "0");
|
|
165
|
+
const day = String(d.getDate()).padStart(2, "0");
|
|
166
|
+
return `${y}-${m}-${day}`;
|
|
167
|
+
}
|
|
168
|
+
case "week": {
|
|
169
|
+
const local = new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
170
|
+
local.setDate(local.getDate() + 4 - (local.getDay() || 7));
|
|
171
|
+
const yearStart = new Date(local.getFullYear(), 0, 1);
|
|
172
|
+
const weekNum = Math.ceil(((local.getTime() - yearStart.getTime()) / 864e5 + 1) / 7);
|
|
173
|
+
return `${local.getFullYear()}-W${String(weekNum).padStart(2, "0")}`;
|
|
174
|
+
}
|
|
175
|
+
case "month": {
|
|
176
|
+
const y = d.getFullYear();
|
|
177
|
+
const m = String(d.getMonth() + 1).padStart(2, "0");
|
|
178
|
+
return `${y}-${m}`;
|
|
179
|
+
}
|
|
180
|
+
default: {
|
|
181
|
+
const y = d.getFullYear();
|
|
182
|
+
const m = String(d.getMonth() + 1).padStart(2, "0");
|
|
183
|
+
const day = String(d.getDate()).padStart(2, "0");
|
|
184
|
+
return `${y}-${m}-${day}`;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
152
188
|
var PERIOD_LABELS = {
|
|
153
189
|
hour: "Hourly",
|
|
154
190
|
day: "Daily",
|
|
155
191
|
week: "Weekly",
|
|
156
192
|
month: "Monthly"
|
|
157
193
|
};
|
|
158
|
-
function formatMetaSummary(row) {
|
|
159
|
-
const label = PERIOD_LABELS[row.period] ?? row.period;
|
|
160
|
-
return `
|
|
161
|
-
=== ${row.period_key} (${label}) ===
|
|
162
|
-
${row.content ?? ""}
|
|
163
|
-
`;
|
|
164
|
-
}
|
|
165
194
|
function getDefaultRange(period) {
|
|
166
195
|
const now = /* @__PURE__ */ new Date();
|
|
167
196
|
switch (period) {
|
|
@@ -225,20 +254,58 @@ var cmd = command({
|
|
|
225
254
|
else params.set("from", getDefaultRange(flags.period));
|
|
226
255
|
if (flags.to) params.set("to", flags.to);
|
|
227
256
|
if (flags.limit) params.set("limit", flags.limit);
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
257
|
+
const activityParams = new URLSearchParams();
|
|
258
|
+
activityParams.set("mind", name2);
|
|
259
|
+
if (flags.from) activityParams.set("from", flags.from);
|
|
260
|
+
else activityParams.set("from", getDefaultRange(flags.period));
|
|
261
|
+
if (flags.to) activityParams.set("to", flags.to);
|
|
262
|
+
const [summaryRes, activityRes] = await Promise.all([
|
|
263
|
+
daemonFetch(`/api/v1/history/summaries?${params}`),
|
|
264
|
+
daemonFetch(`/api/v1/history/activity?${activityParams}`)
|
|
265
|
+
]);
|
|
266
|
+
if (!summaryRes.ok) {
|
|
267
|
+
let errorMsg = `Failed to get summaries: ${summaryRes.status}`;
|
|
231
268
|
try {
|
|
232
|
-
const data = await
|
|
269
|
+
const data = await summaryRes.json();
|
|
233
270
|
if (data.error) errorMsg = data.error;
|
|
234
271
|
} catch {
|
|
235
272
|
}
|
|
236
273
|
console.error(errorMsg);
|
|
237
274
|
process.exit(1);
|
|
238
275
|
}
|
|
239
|
-
const rows2 = await
|
|
240
|
-
|
|
241
|
-
|
|
276
|
+
const rows2 = await summaryRes.json();
|
|
277
|
+
let activities = [];
|
|
278
|
+
if (activityRes.ok) {
|
|
279
|
+
activities = await activityRes.json();
|
|
280
|
+
} else {
|
|
281
|
+
console.error(
|
|
282
|
+
`Warning: could not fetch activity data (${activityRes.status}), showing summaries only`
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
const activityByPeriod = /* @__PURE__ */ new Map();
|
|
286
|
+
for (const act of activities) {
|
|
287
|
+
const key = periodKeyFromTimestamp(act.created_at, flags.period);
|
|
288
|
+
if (!activityByPeriod.has(key)) activityByPeriod.set(key, []);
|
|
289
|
+
activityByPeriod.get(key).push(act);
|
|
290
|
+
}
|
|
291
|
+
const allKeys = /* @__PURE__ */ new Set([...rows2.map((r) => r.period_key), ...activityByPeriod.keys()]);
|
|
292
|
+
const sortedKeys = [...allKeys].sort();
|
|
293
|
+
const summaryByKey = new Map(rows2.map((r) => [r.period_key, r]));
|
|
294
|
+
for (const key of sortedKeys) {
|
|
295
|
+
const summary = summaryByKey.get(key);
|
|
296
|
+
const periodActivities = activityByPeriod.get(key);
|
|
297
|
+
const label = PERIOD_LABELS[flags.period] ?? flags.period;
|
|
298
|
+
console.log(`
|
|
299
|
+
=== ${key} (${label}) ===`);
|
|
300
|
+
if (summary?.content) console.log(summary.content);
|
|
301
|
+
if (periodActivities?.length) {
|
|
302
|
+
console.log("\nActivity:");
|
|
303
|
+
for (const act of periodActivities) {
|
|
304
|
+
const time = new Date(normalizeTimestamp(act.created_at)).toLocaleTimeString();
|
|
305
|
+
console.log(` [${time}] ${act.summary}`);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
console.log();
|
|
242
309
|
}
|
|
243
310
|
return;
|
|
244
311
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
MindManager,
|
|
4
|
+
getMindManager,
|
|
5
|
+
initMindManager
|
|
6
|
+
} from "./chunk-DQ7VBXAP.js";
|
|
7
|
+
import "./chunk-6F3YNULE.js";
|
|
8
|
+
import "./chunk-46DYYHN6.js";
|
|
9
|
+
import "./chunk-GBDVNPN2.js";
|
|
10
|
+
import "./chunk-PY557GDR.js";
|
|
11
|
+
import "./chunk-DMV5P2LU.js";
|
|
12
|
+
import "./chunk-IIWF2IPD.js";
|
|
13
|
+
import "./chunk-B35VNNSS.js";
|
|
14
|
+
import "./chunk-CU6OFXMM.js";
|
|
15
|
+
import "./chunk-BOLJUV77.js";
|
|
16
|
+
import "./chunk-X2J7QUFH.js";
|
|
17
|
+
import "./chunk-YDBAY3NA.js";
|
|
18
|
+
import "./chunk-M5RYAA5I.js";
|
|
19
|
+
import "./chunk-T2TP6ZC6.js";
|
|
20
|
+
import "./chunk-PJ4IPTIN.js";
|
|
21
|
+
import "./chunk-L72WYMF7.js";
|
|
22
|
+
import "./chunk-NUX47Y2V.js";
|
|
23
|
+
import "./chunk-75AJ54GM.js";
|
|
24
|
+
import "./chunk-7PTQGPJY.js";
|
|
25
|
+
import "./chunk-7KJOFUNN.js";
|
|
26
|
+
export {
|
|
27
|
+
MindManager,
|
|
28
|
+
getMindManager,
|
|
29
|
+
initMindManager
|
|
30
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
sleepMind,
|
|
4
|
+
startMindFull,
|
|
5
|
+
startSpiritFull,
|
|
6
|
+
stopMindFull,
|
|
7
|
+
stopSpiritFull,
|
|
8
|
+
wakeMind
|
|
9
|
+
} from "./chunk-DQ7VBXAP.js";
|
|
10
|
+
import "./chunk-6F3YNULE.js";
|
|
11
|
+
import "./chunk-46DYYHN6.js";
|
|
12
|
+
import "./chunk-GBDVNPN2.js";
|
|
13
|
+
import "./chunk-PY557GDR.js";
|
|
14
|
+
import "./chunk-DMV5P2LU.js";
|
|
15
|
+
import "./chunk-IIWF2IPD.js";
|
|
16
|
+
import "./chunk-B35VNNSS.js";
|
|
17
|
+
import "./chunk-CU6OFXMM.js";
|
|
18
|
+
import "./chunk-BOLJUV77.js";
|
|
19
|
+
import "./chunk-X2J7QUFH.js";
|
|
20
|
+
import "./chunk-YDBAY3NA.js";
|
|
21
|
+
import "./chunk-M5RYAA5I.js";
|
|
22
|
+
import "./chunk-T2TP6ZC6.js";
|
|
23
|
+
import "./chunk-PJ4IPTIN.js";
|
|
24
|
+
import "./chunk-L72WYMF7.js";
|
|
25
|
+
import "./chunk-NUX47Y2V.js";
|
|
26
|
+
import "./chunk-75AJ54GM.js";
|
|
27
|
+
import "./chunk-7PTQGPJY.js";
|
|
28
|
+
import "./chunk-7KJOFUNN.js";
|
|
29
|
+
export {
|
|
30
|
+
sleepMind,
|
|
31
|
+
startMindFull,
|
|
32
|
+
startSpiritFull,
|
|
33
|
+
stopMindFull,
|
|
34
|
+
stopSpiritFull,
|
|
35
|
+
wakeMind
|
|
36
|
+
};
|
|
@@ -4,7 +4,7 @@ import "./chunk-7KJOFUNN.js";
|
|
|
4
4
|
// package.json
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "volute",
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.36.0",
|
|
8
8
|
description: "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
|
|
9
9
|
type: "module",
|
|
10
10
|
license: "MIT",
|
|
@@ -49,9 +49,9 @@ var package_default = {
|
|
|
49
49
|
scripts: {
|
|
50
50
|
dev: "tsx src/cli.ts",
|
|
51
51
|
build: "npm run build:ext && tsup && cp -r skills dist/skills && npm run build:web",
|
|
52
|
-
"build:ext": "npm run build:ext-theme --workspace=packages/ui && cp packages/ui/dist/ext-theme.css packages/
|
|
53
|
-
"build:web": "
|
|
54
|
-
"dev:web": "
|
|
52
|
+
"build:ext": "npm run build:ext-theme --workspace=packages/ui && cp packages/ui/dist/ext-theme.css packages/web/public/ext-theme.css && npm run build:ui --workspace=packages/extensions/notes && npm run build:ui --workspace=packages/extensions/pages && npm run build:ui --workspace=packages/extensions/plan",
|
|
53
|
+
"build:web": "npm run build:ui --workspace=packages/web",
|
|
54
|
+
"dev:web": "npm run dev --workspace=packages/web",
|
|
55
55
|
test: "node --import tsx --import ./test/setup.ts --test --test-force-exit --test-concurrency=4 $(find test -name '*.test.ts' ! -name 'daemon-e2e.test.ts' | sort)",
|
|
56
56
|
"test:e2e": "node --import tsx --import ./test/setup.ts --test --test-force-exit --test-concurrency=1 test/daemon-e2e.test.ts",
|
|
57
57
|
"test:all": "npm test && npm run test:e2e",
|
|
@@ -61,7 +61,7 @@ var package_default = {
|
|
|
61
61
|
typecheck: "tsc --noEmit",
|
|
62
62
|
"typecheck:templates": "tsx scripts/typecheck-templates.ts",
|
|
63
63
|
"lint:templates": "biome check templates/",
|
|
64
|
-
"typecheck:web": "svelte-check --tsconfig packages/
|
|
64
|
+
"typecheck:web": "svelte-check --tsconfig packages/web/tsconfig.json",
|
|
65
65
|
prepare: "lefthook install",
|
|
66
66
|
prepublishOnly: "npm run build",
|
|
67
67
|
"db:generate": "drizzle-kit generate",
|
|
@@ -27,12 +27,12 @@ async function resolveConversationId(mindName, input) {
|
|
|
27
27
|
const convs = await res.json();
|
|
28
28
|
const cleaned = input.replace(/^[@#]/, "");
|
|
29
29
|
const lower = cleaned.toLowerCase();
|
|
30
|
-
const channelMatch = convs.find(
|
|
30
|
+
const channelMatch = convs.find(
|
|
31
|
+
(c) => c.type === "channel" && c.channel_name?.toLowerCase() === lower
|
|
32
|
+
);
|
|
31
33
|
if (channelMatch) return channelMatch.id;
|
|
32
|
-
const titleMatch = convs.find((c) => c.title?.toLowerCase() === lower);
|
|
33
|
-
if (titleMatch) return titleMatch.id;
|
|
34
34
|
const dmMatch = convs.find(
|
|
35
|
-
(c) => c.type === "dm" && c.
|
|
35
|
+
(c) => c.type === "dm" && c.participants?.some((p) => p.username.toLowerCase() === lower && p.username !== mindName)
|
|
36
36
|
);
|
|
37
37
|
if (dmMatch) return dmMatch.id;
|
|
38
38
|
const prefixMatch = convs.find((c) => c.id.startsWith(input));
|