volute 0.32.0 → 0.33.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 +16 -0
- package/dist/{activity-events-HETAODOK.js → activity-events-XJO3P4RR.js} +1 -1
- package/dist/{ai-service-ZIPCV3MX.js → ai-service-SBY2WG7O.js} +2 -2
- package/dist/api.d.ts +666 -848
- package/dist/{auth-6DMGES3I.js → auth-GKCDSO4T.js} +2 -2
- package/dist/{chat-XT4OBJBU.js → chat-U5ZOME3O.js} +8 -8
- package/dist/{chunk-QBQ424EM.js → chunk-3Z2DPESO.js} +457 -203
- package/dist/chunk-6LXAAQ43.js +22 -0
- package/dist/{spirit-N4W4UQRH.js → chunk-7J3HEVR7.js} +12 -9
- package/dist/{chunk-WKF5FEFK.js → chunk-A2A4KLFE.js} +54 -155
- package/dist/{chunk-D5G5YOPL.js → chunk-C7I35G4R.js} +3 -3
- package/dist/{chunk-SX5TKJBZ.js → chunk-GY5HBI7A.js} +1 -1
- package/dist/{chunk-2FLJ63GU.js → chunk-JUKK7FPS.js} +1 -1
- package/dist/{chunk-TDRYEPH4.js → chunk-JYVGHWEJ.js} +2 -2
- package/dist/chunk-KIEPMIM5.js +59 -0
- package/dist/{chunk-QZANELPX.js → chunk-KVK2DLWI.js} +1 -0
- package/dist/{chunk-R7E6CRVQ.js → chunk-LOEJ4HPQ.js} +1 -1
- package/dist/{chunk-TSXLLQZW.js → chunk-N432I7QH.js} +9 -0
- package/dist/{chunk-LSGWR54X.js → chunk-NNB4WIG7.js} +1 -1
- package/dist/{chunk-JJ7W6WSB.js → chunk-NPKSDYA2.js} +2 -2
- package/dist/chunk-OYAKCAVY.js +29 -0
- package/dist/{chunk-IYDIE3HG.js → chunk-QTUVYI7W.js} +1 -1
- package/dist/{chunk-S6NFERDC.js → chunk-RVGLDGMI.js} +1 -1
- package/dist/{chunk-LGB6JBHI.js → chunk-VH33ZWMW.js} +4 -54
- package/dist/cli.js +26 -18
- package/dist/{clock-2UOZ6JPU.js → clock-BVH3V6E3.js} +5 -5
- package/dist/{cloud-sync-JN3NWKEM.js → cloud-sync-4NWLMFVH.js} +15 -11
- package/dist/{conversations-3O5O6AS3.js → conversations-AWI5SZW2.js} +2 -2
- package/dist/{create-WBBYI6V7.js → create-2FK7Z46Y.js} +1 -1
- package/dist/{create-RNLNCORE.js → create-YWD2TIP4.js} +4 -4
- package/dist/{daemon-restart-NGFHFAUF.js → daemon-restart-GOBUKLX7.js} +6 -5
- package/dist/daemon.js +1182 -1031
- package/dist/delivery-manager-PFAKEJTC.js +32 -0
- package/dist/{down-TB3ESMNP.js → down-FWWTEKXM.js} +4 -3
- package/dist/{extension-FQ5D3NCC.js → extension-OBTGKQQD.js} +2 -1
- package/dist/{extensions-GDYWQXC4.js → extensions-KYNTVTMO.js} +7 -6
- package/dist/isolation-LLAYQYDY.js +22 -0
- package/dist/message-delivery-DFF5SJRM.js +42 -0
- package/dist/{mind-2B6M7Y25.js → mind-IOJFLEM5.js} +13 -7
- package/dist/{mind-activity-tracker-NZZT2NTT.js → mind-activity-tracker-F6O4Q2SL.js} +2 -2
- package/dist/mind-manager-NBJF5D26.js +32 -0
- package/dist/mind-profile-P67FEHOY.js +47 -0
- package/dist/mind-service-2MQ6UK5N.js +38 -0
- package/dist/{package-PK6JUFL3.js → package-U3VFO273.js} +2 -1
- package/dist/read-stdin-HQJ7774D.js +8 -0
- package/dist/{sandbox-JANNTX6U.js → sandbox-GJOK4QLQ.js} +2 -2
- package/dist/scheduler-ZZ7XGQG6.js +32 -0
- package/dist/seed-QDYVLG74.js +11 -0
- package/dist/seed-check-S2IX25RL.js +32 -0
- package/dist/seed-cmd-DKOUFEAU.js +36 -0
- package/dist/{seed-ALUQ55FF.js → seed-create-4XBBOLRH.js} +5 -5
- package/dist/{sprout-L2GFOVF7.js → seed-sprout-GQEIIQRT.js} +19 -6
- package/dist/{send-3MI36LEF.js → send-QIV2INHB.js} +51 -49
- package/dist/{setup-SZIARWI6.js → setup-TISPCO22.js} +3 -1
- package/dist/{setup-WENLVPVP.js → setup-XMCBE3LF.js} +7 -5
- package/dist/skills/imagegen/SKILL.md +11 -7
- package/dist/skills/imagegen/scripts/imagegen.ts +146 -25
- package/dist/skills/orientation/SKILL.md +9 -2
- package/dist/skills/seed-nurture/SKILL.md +42 -0
- package/dist/skills/volute-mind/SKILL.md +4 -0
- package/dist/{skills-XNZK6P4K.js → skills-7FV7EJTE.js} +4 -3
- package/dist/sleep-manager-JTXSN7NV.js +36 -0
- package/dist/spirit-VRONKFMF.js +23 -0
- package/dist/sprout-WKLZXUIQ.js +11 -0
- package/dist/{status-TCUMUO6M.js → status-3JBTFSMI.js} +3 -2
- package/dist/{system-chat-NPYFYZVI.js → system-chat-JAPOJ3KE.js} +15 -11
- package/dist/{systems-DHBKVYEY.js → systems-XRI52VCH.js} +2 -2
- package/dist/{up-6I6BHRTO.js → up-M5AS6SBV.js} +5 -4
- package/dist/{update-QVPRF6GR.js → update-UD543CXX.js} +3 -2
- package/dist/{version-notify-TCKWBZZG.js → version-notify-NBI2MTJO.js} +18 -15
- package/dist/volute-config-HD7WWUQC.js +10 -0
- package/dist/web-assets/assets/index-CWJrVveV.css +1 -0
- package/dist/web-assets/assets/index-DJt14FRI.js +75 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +2 -1
- package/templates/claude/src/lib/stream-consumer.ts +38 -0
- package/templates/codex/src/agent.ts +1 -0
- package/dist/delivery-manager-SDVXFD4W.js +0 -28
- package/dist/message-delivery-2FIM7QKO.js +0 -32
- package/dist/mind-manager-BNCMGYXW.js +0 -28
- package/dist/mind-service-AV273WT4.js +0 -34
- package/dist/sleep-manager-53DZOWW7.js +0 -32
- package/dist/web-assets/assets/index-Bui7U9Uu.css +0 -1
- package/dist/web-assets/assets/index-e36DIo1b.js +0 -73
- package/dist/{accept-74M7I4RZ.js → accept-D5VBM7JW.js} +3 -3
- package/dist/{bridge-BVCBTGPF.js → bridge-TXWWPPOJ.js} +3 -3
- package/dist/{env-RLYQBOOP.js → env-JCOF2222.js} +3 -3
- package/dist/{files-EAMPO2SJ.js → files-65PMW5IK.js} +3 -3
- package/dist/{history-FO5PHBQ5.js → history-DKCDI3JO.js} +3 -3
- package/dist/{list-DW2VRTOZ.js → list-JQ463EDA.js} +3 -3
- package/dist/{login-7CHPW2PN.js → login-D7ETSU4R.js} +3 -3
- package/dist/{mind-sleep-B7BHJLH7.js → mind-sleep-WW2IX7JT.js} +3 -3
- package/dist/{mind-wake-GY3RFX7Y.js → mind-wake-VSSGW465.js} +3 -3
- package/dist/{read-5AMJRO3D.js → read-EBY56C33.js} +3 -3
- package/dist/{register-V2JZZKFK.js → register-HD74C4TT.js} +3 -3
- package/dist/{reject-33HEZMZ4.js → reject-UJKFBHRO.js} +3 -3
- package/dist/{skill-TUVOTW4Z.js → skill-PSQGRRJX.js} +3 -3
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
DeliveryManager,
|
|
4
|
+
getDeliveryManager,
|
|
5
|
+
initDeliveryManager
|
|
6
|
+
} from "./chunk-3Z2DPESO.js";
|
|
7
|
+
import "./chunk-SKLSMHXO.js";
|
|
8
|
+
import "./chunk-LOEJ4HPQ.js";
|
|
9
|
+
import "./chunk-RVGLDGMI.js";
|
|
10
|
+
import "./chunk-GY5HBI7A.js";
|
|
11
|
+
import "./chunk-7J3HEVR7.js";
|
|
12
|
+
import "./chunk-G53F3JA4.js";
|
|
13
|
+
import "./chunk-OYAKCAVY.js";
|
|
14
|
+
import "./chunk-2NGTS5UU.js";
|
|
15
|
+
import "./chunk-A2A4KLFE.js";
|
|
16
|
+
import "./chunk-PB65JZK2.js";
|
|
17
|
+
import "./chunk-JYVGHWEJ.js";
|
|
18
|
+
import "./chunk-KVK2DLWI.js";
|
|
19
|
+
import "./chunk-C7I35G4R.js";
|
|
20
|
+
import "./chunk-QTUVYI7W.js";
|
|
21
|
+
import "./chunk-YUIHSKR6.js";
|
|
22
|
+
import "./chunk-KIEPMIM5.js";
|
|
23
|
+
import "./chunk-VH33ZWMW.js";
|
|
24
|
+
import "./chunk-N432I7QH.js";
|
|
25
|
+
import "./chunk-LRCG2JLP.js";
|
|
26
|
+
import "./chunk-RPZZSXV3.js";
|
|
27
|
+
import "./chunk-K3NQKI34.js";
|
|
28
|
+
export {
|
|
29
|
+
DeliveryManager,
|
|
30
|
+
getDeliveryManager,
|
|
31
|
+
initDeliveryManager
|
|
32
|
+
};
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
run,
|
|
4
4
|
stopDaemon
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-JUKK7FPS.js";
|
|
6
|
+
import "./chunk-NNB4WIG7.js";
|
|
7
|
+
import "./chunk-KIEPMIM5.js";
|
|
8
|
+
import "./chunk-VH33ZWMW.js";
|
|
8
9
|
import "./chunk-LRCG2JLP.js";
|
|
9
10
|
import "./chunk-RPZZSXV3.js";
|
|
10
11
|
import "./chunk-K3NQKI34.js";
|
|
@@ -7,14 +7,15 @@ import {
|
|
|
7
7
|
notifyExtensionsDaemonStop,
|
|
8
8
|
notifyExtensionsMindStart,
|
|
9
9
|
notifyExtensionsMindStop
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-A2A4KLFE.js";
|
|
11
11
|
import "./chunk-PB65JZK2.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-JYVGHWEJ.js";
|
|
13
|
+
import "./chunk-KVK2DLWI.js";
|
|
14
|
+
import "./chunk-C7I35G4R.js";
|
|
15
15
|
import "./chunk-YUIHSKR6.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-KIEPMIM5.js";
|
|
17
|
+
import "./chunk-VH33ZWMW.js";
|
|
18
|
+
import "./chunk-N432I7QH.js";
|
|
18
19
|
import "./chunk-LRCG2JLP.js";
|
|
19
20
|
import "./chunk-RPZZSXV3.js";
|
|
20
21
|
import "./chunk-K3NQKI34.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
chownMindDir,
|
|
4
|
+
createMindUser,
|
|
5
|
+
deleteMindUser,
|
|
6
|
+
ensureVoluteGroup,
|
|
7
|
+
isIsolationEnabled,
|
|
8
|
+
mindUserName,
|
|
9
|
+
wrapForIsolation
|
|
10
|
+
} from "./chunk-VH33ZWMW.js";
|
|
11
|
+
import "./chunk-LRCG2JLP.js";
|
|
12
|
+
import "./chunk-RPZZSXV3.js";
|
|
13
|
+
import "./chunk-K3NQKI34.js";
|
|
14
|
+
export {
|
|
15
|
+
chownMindDir,
|
|
16
|
+
createMindUser,
|
|
17
|
+
deleteMindUser,
|
|
18
|
+
ensureVoluteGroup,
|
|
19
|
+
isIsolationEnabled,
|
|
20
|
+
mindUserName,
|
|
21
|
+
wrapForIsolation
|
|
22
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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-3Z2DPESO.js";
|
|
12
|
+
import "./chunk-SKLSMHXO.js";
|
|
13
|
+
import "./chunk-LOEJ4HPQ.js";
|
|
14
|
+
import "./chunk-RVGLDGMI.js";
|
|
15
|
+
import "./chunk-GY5HBI7A.js";
|
|
16
|
+
import "./chunk-7J3HEVR7.js";
|
|
17
|
+
import "./chunk-G53F3JA4.js";
|
|
18
|
+
import "./chunk-OYAKCAVY.js";
|
|
19
|
+
import "./chunk-2NGTS5UU.js";
|
|
20
|
+
import "./chunk-A2A4KLFE.js";
|
|
21
|
+
import "./chunk-PB65JZK2.js";
|
|
22
|
+
import "./chunk-JYVGHWEJ.js";
|
|
23
|
+
import "./chunk-KVK2DLWI.js";
|
|
24
|
+
import "./chunk-C7I35G4R.js";
|
|
25
|
+
import "./chunk-QTUVYI7W.js";
|
|
26
|
+
import "./chunk-YUIHSKR6.js";
|
|
27
|
+
import "./chunk-KIEPMIM5.js";
|
|
28
|
+
import "./chunk-VH33ZWMW.js";
|
|
29
|
+
import "./chunk-N432I7QH.js";
|
|
30
|
+
import "./chunk-LRCG2JLP.js";
|
|
31
|
+
import "./chunk-RPZZSXV3.js";
|
|
32
|
+
import "./chunk-K3NQKI34.js";
|
|
33
|
+
export {
|
|
34
|
+
deliverMessage,
|
|
35
|
+
linkToolResultToTurn,
|
|
36
|
+
recordInbound,
|
|
37
|
+
recordOutbound,
|
|
38
|
+
resolveSleepAction,
|
|
39
|
+
tagRecentInbound,
|
|
40
|
+
tagUntaggedInbound,
|
|
41
|
+
tagUntaggedOutbound
|
|
42
|
+
};
|
|
@@ -6,7 +6,7 @@ async function run(args) {
|
|
|
6
6
|
const subcommand = args[0];
|
|
7
7
|
switch (subcommand) {
|
|
8
8
|
case "create":
|
|
9
|
-
await import("./create-
|
|
9
|
+
await import("./create-2FK7Z46Y.js").then((m) => m.run(args.slice(1)));
|
|
10
10
|
break;
|
|
11
11
|
case "start":
|
|
12
12
|
await import("./start-K2NCUUCG.js").then((m) => m.run(args.slice(1)));
|
|
@@ -29,7 +29,7 @@ async function run(args) {
|
|
|
29
29
|
case "history": {
|
|
30
30
|
const rest = args.slice(1);
|
|
31
31
|
const historyArgs = transformMindFlag(rest);
|
|
32
|
-
await import("./history-
|
|
32
|
+
await import("./history-DKCDI3JO.js").then((m) => m.run(historyArgs));
|
|
33
33
|
break;
|
|
34
34
|
}
|
|
35
35
|
case "upgrade":
|
|
@@ -42,16 +42,19 @@ async function run(args) {
|
|
|
42
42
|
await import("./export-SUYRLI5Q.js").then((m) => m.run(args.slice(1)));
|
|
43
43
|
break;
|
|
44
44
|
case "seed":
|
|
45
|
-
await import("./seed-
|
|
45
|
+
await import("./seed-QDYVLG74.js").then((m) => m.run(args.slice(1)));
|
|
46
46
|
break;
|
|
47
47
|
case "sprout":
|
|
48
|
-
await import("./sprout-
|
|
48
|
+
await import("./sprout-WKLZXUIQ.js").then((m) => m.run(args.slice(1)));
|
|
49
|
+
break;
|
|
50
|
+
case "profile":
|
|
51
|
+
await import("./mind-profile-P67FEHOY.js").then((m) => m.run(args.slice(1)));
|
|
49
52
|
break;
|
|
50
53
|
case "sleep":
|
|
51
|
-
await import("./mind-sleep-
|
|
54
|
+
await import("./mind-sleep-WW2IX7JT.js").then((m) => m.run(args.slice(1)));
|
|
52
55
|
break;
|
|
53
56
|
case "wake":
|
|
54
|
-
await import("./mind-wake-
|
|
57
|
+
await import("./mind-wake-VSSGW465.js").then((m) => m.run(args.slice(1)));
|
|
55
58
|
break;
|
|
56
59
|
case "split":
|
|
57
60
|
await import("./split-STOROBYJ.js").then((m) => m.run(args.slice(1)));
|
|
@@ -86,6 +89,7 @@ function printUsage() {
|
|
|
86
89
|
volute mind list
|
|
87
90
|
volute mind status [name]
|
|
88
91
|
volute mind history [name] [--channel <ch>] [--limit N] [--full]
|
|
92
|
+
volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]
|
|
89
93
|
volute mind sprout
|
|
90
94
|
volute mind sleep [name] [--wake-at <time>]
|
|
91
95
|
volute mind wake [name]
|
|
@@ -95,7 +99,9 @@ function printUsage() {
|
|
|
95
99
|
volute mind import <path> [--name <name>] [--session <path>] [--template <name>]
|
|
96
100
|
volute mind export <name> [--include-env] [--include-identity] [--include-history] [--include-sessions] [--all] [--output <path>]
|
|
97
101
|
|
|
98
|
-
Mind name can be omitted (where shown as [name]) if VOLUTE_MIND is set
|
|
102
|
+
Mind name can be omitted (where shown as [name]) if VOLUTE_MIND is set.
|
|
103
|
+
|
|
104
|
+
Note: 'volute mind seed' and 'volute mind sprout' are now 'volute seed create' and 'volute seed sprout'.`);
|
|
99
105
|
}
|
|
100
106
|
export {
|
|
101
107
|
run
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
markIdle,
|
|
5
5
|
onMindEvent,
|
|
6
6
|
stopAll
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-LOEJ4HPQ.js";
|
|
8
|
+
import "./chunk-KVK2DLWI.js";
|
|
9
9
|
import "./chunk-YUIHSKR6.js";
|
|
10
10
|
import "./chunk-LRCG2JLP.js";
|
|
11
11
|
import "./chunk-RPZZSXV3.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
MindManager,
|
|
4
|
+
getMindManager,
|
|
5
|
+
initMindManager
|
|
6
|
+
} from "./chunk-3Z2DPESO.js";
|
|
7
|
+
import "./chunk-SKLSMHXO.js";
|
|
8
|
+
import "./chunk-LOEJ4HPQ.js";
|
|
9
|
+
import "./chunk-RVGLDGMI.js";
|
|
10
|
+
import "./chunk-GY5HBI7A.js";
|
|
11
|
+
import "./chunk-7J3HEVR7.js";
|
|
12
|
+
import "./chunk-G53F3JA4.js";
|
|
13
|
+
import "./chunk-OYAKCAVY.js";
|
|
14
|
+
import "./chunk-2NGTS5UU.js";
|
|
15
|
+
import "./chunk-A2A4KLFE.js";
|
|
16
|
+
import "./chunk-PB65JZK2.js";
|
|
17
|
+
import "./chunk-JYVGHWEJ.js";
|
|
18
|
+
import "./chunk-KVK2DLWI.js";
|
|
19
|
+
import "./chunk-C7I35G4R.js";
|
|
20
|
+
import "./chunk-QTUVYI7W.js";
|
|
21
|
+
import "./chunk-YUIHSKR6.js";
|
|
22
|
+
import "./chunk-KIEPMIM5.js";
|
|
23
|
+
import "./chunk-VH33ZWMW.js";
|
|
24
|
+
import "./chunk-N432I7QH.js";
|
|
25
|
+
import "./chunk-LRCG2JLP.js";
|
|
26
|
+
import "./chunk-RPZZSXV3.js";
|
|
27
|
+
import "./chunk-K3NQKI34.js";
|
|
28
|
+
export {
|
|
29
|
+
MindManager,
|
|
30
|
+
getMindManager,
|
|
31
|
+
initMindManager
|
|
32
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
resolveMindName
|
|
4
|
+
} from "./chunk-NAOW2CLO.js";
|
|
5
|
+
import {
|
|
6
|
+
parseArgs
|
|
7
|
+
} from "./chunk-D424ZQGI.js";
|
|
8
|
+
import "./chunk-K3NQKI34.js";
|
|
9
|
+
|
|
10
|
+
// src/commands/mind-profile.ts
|
|
11
|
+
async function run(args) {
|
|
12
|
+
const { flags } = parseArgs(args, {
|
|
13
|
+
mind: { type: "string" },
|
|
14
|
+
"display-name": { type: "string" },
|
|
15
|
+
description: { type: "string" },
|
|
16
|
+
avatar: { type: "string" }
|
|
17
|
+
});
|
|
18
|
+
const name = resolveMindName(flags);
|
|
19
|
+
const displayName = flags["display-name"];
|
|
20
|
+
const description = flags.description;
|
|
21
|
+
const avatar = flags.avatar;
|
|
22
|
+
if (!displayName && !description && !avatar) {
|
|
23
|
+
console.error(
|
|
24
|
+
"Usage: volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]"
|
|
25
|
+
);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
|
|
29
|
+
const body = {};
|
|
30
|
+
if (displayName) body.displayName = displayName;
|
|
31
|
+
if (description) body.description = description;
|
|
32
|
+
if (avatar) body.avatar = avatar;
|
|
33
|
+
const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/profile`, {
|
|
34
|
+
method: "PATCH",
|
|
35
|
+
headers: { "Content-Type": "application/json" },
|
|
36
|
+
body: JSON.stringify(body)
|
|
37
|
+
});
|
|
38
|
+
if (!res.ok) {
|
|
39
|
+
const data = await res.json().catch(() => ({}));
|
|
40
|
+
console.error(data.error ?? `Failed to update profile (HTTP ${res.status})`);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
console.log(`Profile updated for ${name}`);
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
run
|
|
47
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
sleepMind,
|
|
4
|
+
startMindFull,
|
|
5
|
+
startSpiritFull,
|
|
6
|
+
stopMindFull,
|
|
7
|
+
stopSpiritFull,
|
|
8
|
+
wakeMind
|
|
9
|
+
} from "./chunk-3Z2DPESO.js";
|
|
10
|
+
import "./chunk-SKLSMHXO.js";
|
|
11
|
+
import "./chunk-LOEJ4HPQ.js";
|
|
12
|
+
import "./chunk-RVGLDGMI.js";
|
|
13
|
+
import "./chunk-GY5HBI7A.js";
|
|
14
|
+
import "./chunk-7J3HEVR7.js";
|
|
15
|
+
import "./chunk-G53F3JA4.js";
|
|
16
|
+
import "./chunk-OYAKCAVY.js";
|
|
17
|
+
import "./chunk-2NGTS5UU.js";
|
|
18
|
+
import "./chunk-A2A4KLFE.js";
|
|
19
|
+
import "./chunk-PB65JZK2.js";
|
|
20
|
+
import "./chunk-JYVGHWEJ.js";
|
|
21
|
+
import "./chunk-KVK2DLWI.js";
|
|
22
|
+
import "./chunk-C7I35G4R.js";
|
|
23
|
+
import "./chunk-QTUVYI7W.js";
|
|
24
|
+
import "./chunk-YUIHSKR6.js";
|
|
25
|
+
import "./chunk-KIEPMIM5.js";
|
|
26
|
+
import "./chunk-VH33ZWMW.js";
|
|
27
|
+
import "./chunk-N432I7QH.js";
|
|
28
|
+
import "./chunk-LRCG2JLP.js";
|
|
29
|
+
import "./chunk-RPZZSXV3.js";
|
|
30
|
+
import "./chunk-K3NQKI34.js";
|
|
31
|
+
export {
|
|
32
|
+
sleepMind,
|
|
33
|
+
startMindFull,
|
|
34
|
+
startSpiritFull,
|
|
35
|
+
stopMindFull,
|
|
36
|
+
stopSpiritFull,
|
|
37
|
+
wakeMind
|
|
38
|
+
};
|
|
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
4
4
|
// package.json
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "volute",
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.33.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",
|
|
@@ -79,6 +79,7 @@ var package_default = {
|
|
|
79
79
|
"drizzle-orm": "^0.45.1",
|
|
80
80
|
hono: "^4.11.7",
|
|
81
81
|
libsql: "^0.5.22",
|
|
82
|
+
replicate: "^1.4.0",
|
|
82
83
|
telegraf: "^4.16.3",
|
|
83
84
|
zod: "^4.3.6"
|
|
84
85
|
},
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
isSandboxEnabled,
|
|
6
6
|
shellEscape,
|
|
7
7
|
wrapForSandbox
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GY5HBI7A.js";
|
|
9
9
|
import "./chunk-YUIHSKR6.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-N432I7QH.js";
|
|
11
11
|
import "./chunk-LRCG2JLP.js";
|
|
12
12
|
import "./chunk-RPZZSXV3.js";
|
|
13
13
|
import "./chunk-K3NQKI34.js";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
Scheduler,
|
|
4
|
+
getScheduler,
|
|
5
|
+
initScheduler
|
|
6
|
+
} from "./chunk-3Z2DPESO.js";
|
|
7
|
+
import "./chunk-SKLSMHXO.js";
|
|
8
|
+
import "./chunk-LOEJ4HPQ.js";
|
|
9
|
+
import "./chunk-RVGLDGMI.js";
|
|
10
|
+
import "./chunk-GY5HBI7A.js";
|
|
11
|
+
import "./chunk-7J3HEVR7.js";
|
|
12
|
+
import "./chunk-G53F3JA4.js";
|
|
13
|
+
import "./chunk-OYAKCAVY.js";
|
|
14
|
+
import "./chunk-2NGTS5UU.js";
|
|
15
|
+
import "./chunk-A2A4KLFE.js";
|
|
16
|
+
import "./chunk-PB65JZK2.js";
|
|
17
|
+
import "./chunk-JYVGHWEJ.js";
|
|
18
|
+
import "./chunk-KVK2DLWI.js";
|
|
19
|
+
import "./chunk-C7I35G4R.js";
|
|
20
|
+
import "./chunk-QTUVYI7W.js";
|
|
21
|
+
import "./chunk-YUIHSKR6.js";
|
|
22
|
+
import "./chunk-KIEPMIM5.js";
|
|
23
|
+
import "./chunk-VH33ZWMW.js";
|
|
24
|
+
import "./chunk-N432I7QH.js";
|
|
25
|
+
import "./chunk-LRCG2JLP.js";
|
|
26
|
+
import "./chunk-RPZZSXV3.js";
|
|
27
|
+
import "./chunk-K3NQKI34.js";
|
|
28
|
+
export {
|
|
29
|
+
Scheduler,
|
|
30
|
+
getScheduler,
|
|
31
|
+
initScheduler
|
|
32
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-K3NQKI34.js";
|
|
3
|
+
|
|
4
|
+
// src/commands/seed.ts
|
|
5
|
+
async function run(args) {
|
|
6
|
+
console.error("Note: `volute mind seed` is now `volute seed create`");
|
|
7
|
+
await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args));
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
run
|
|
11
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
parseArgs
|
|
4
|
+
} from "./chunk-D424ZQGI.js";
|
|
5
|
+
import "./chunk-K3NQKI34.js";
|
|
6
|
+
|
|
7
|
+
// src/commands/seed-check.ts
|
|
8
|
+
async function run(args) {
|
|
9
|
+
const { positional } = parseArgs(args, {});
|
|
10
|
+
const name = positional[0];
|
|
11
|
+
if (!name) {
|
|
12
|
+
console.error("Usage: volute seed check <name>");
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
|
|
16
|
+
const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/seed-check`);
|
|
17
|
+
if (!res.ok) {
|
|
18
|
+
if (res.status === 404) {
|
|
19
|
+
console.log(`Seed "${name}" not found \u2014 it may have been deleted or already sprouted.`);
|
|
20
|
+
} else {
|
|
21
|
+
console.error(`seed check failed for ${name}: HTTP ${res.status}`);
|
|
22
|
+
}
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const data = await res.json();
|
|
26
|
+
if (data.output) {
|
|
27
|
+
console.log(data.output);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
run
|
|
32
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-K3NQKI34.js";
|
|
3
|
+
|
|
4
|
+
// src/commands/seed-cmd.ts
|
|
5
|
+
async function run(args) {
|
|
6
|
+
const subcommand = args[0];
|
|
7
|
+
switch (subcommand) {
|
|
8
|
+
case "create":
|
|
9
|
+
await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args.slice(1)));
|
|
10
|
+
break;
|
|
11
|
+
case "sprout":
|
|
12
|
+
await import("./seed-sprout-GQEIIQRT.js").then((m) => m.run(args.slice(1)));
|
|
13
|
+
break;
|
|
14
|
+
case "check":
|
|
15
|
+
await import("./seed-check-S2IX25RL.js").then((m) => m.run(args.slice(1)));
|
|
16
|
+
break;
|
|
17
|
+
case "--help":
|
|
18
|
+
case "-h":
|
|
19
|
+
case void 0:
|
|
20
|
+
printUsage();
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
printUsage();
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function printUsage() {
|
|
28
|
+
console.log(`volute seed \u2014 seed lifecycle
|
|
29
|
+
|
|
30
|
+
volute seed create <name> Plant a new seed
|
|
31
|
+
volute seed sprout Complete orientation and become a full mind
|
|
32
|
+
volute seed check <name> Check seed readiness (used by spirit scheduler)`);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
run
|
|
36
|
+
};
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-D424ZQGI.js";
|
|
8
8
|
import "./chunk-K3NQKI34.js";
|
|
9
9
|
|
|
10
|
-
// src/commands/seed.ts
|
|
10
|
+
// src/commands/seed-create.ts
|
|
11
11
|
async function chooseModel(daemonFetch) {
|
|
12
12
|
const res = await daemonFetch("/api/system/ai/models");
|
|
13
13
|
if (!res.ok) {
|
|
@@ -42,7 +42,7 @@ async function run(args) {
|
|
|
42
42
|
const name = positional[0];
|
|
43
43
|
if (!name) {
|
|
44
44
|
console.error(
|
|
45
|
-
"Usage: volute
|
|
45
|
+
"Usage: volute seed create <name> [--template <name>] [--model <model>] [--description <text>] [--skills <list|none>] [--created-by <username>]"
|
|
46
46
|
);
|
|
47
47
|
process.exit(1);
|
|
48
48
|
}
|
|
@@ -54,13 +54,13 @@ async function run(args) {
|
|
|
54
54
|
let model = flags.model;
|
|
55
55
|
let template = flags.template;
|
|
56
56
|
if (!template) {
|
|
57
|
-
const { resolveTemplate } = await import("./ai-service-
|
|
57
|
+
const { resolveTemplate } = await import("./ai-service-SBY2WG7O.js");
|
|
58
58
|
template = resolveTemplate(model);
|
|
59
59
|
}
|
|
60
60
|
if (template !== "claude" && !model) {
|
|
61
61
|
if (process.env.VOLUTE_MIND || !process.stdin.isTTY) {
|
|
62
|
-
const { getSpiritModel } = await import("./spirit-
|
|
63
|
-
const { qualifyModelId } = await import("./ai-service-
|
|
62
|
+
const { getSpiritModel } = await import("./spirit-VRONKFMF.js");
|
|
63
|
+
const { qualifyModelId } = await import("./ai-service-SBY2WG7O.js");
|
|
64
64
|
const spiritModel = getSpiritModel();
|
|
65
65
|
if (spiritModel) {
|
|
66
66
|
model = template === "pi" ? qualifyModelId(spiritModel) : spiritModel;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getStandardSkillsWithExtensions
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-C7I35G4R.js";
|
|
5
5
|
import "./chunk-YUIHSKR6.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-KIEPMIM5.js";
|
|
7
|
+
import "./chunk-VH33ZWMW.js";
|
|
8
|
+
import "./chunk-N432I7QH.js";
|
|
8
9
|
import {
|
|
9
10
|
findMind,
|
|
10
11
|
mindDir
|
|
@@ -12,14 +13,14 @@ import {
|
|
|
12
13
|
import "./chunk-RPZZSXV3.js";
|
|
13
14
|
import "./chunk-K3NQKI34.js";
|
|
14
15
|
|
|
15
|
-
// src/commands/sprout.ts
|
|
16
|
+
// src/commands/seed-sprout.ts
|
|
16
17
|
import { existsSync, readFileSync } from "fs";
|
|
17
18
|
import { resolve } from "path";
|
|
18
19
|
var ORIENTATION_MARKER = "You don't have a soul yet";
|
|
19
20
|
async function run(_args) {
|
|
20
21
|
const mindName = process.env.VOLUTE_MIND;
|
|
21
22
|
if (!mindName) {
|
|
22
|
-
console.error("volute
|
|
23
|
+
console.error("volute seed sprout must be run by a mind (VOLUTE_MIND not set)");
|
|
23
24
|
process.exit(1);
|
|
24
25
|
}
|
|
25
26
|
const entry = await findMind(mindName);
|
|
@@ -49,9 +50,21 @@ async function run(_args) {
|
|
|
49
50
|
console.error("Write your MEMORY.md before sprouting.");
|
|
50
51
|
process.exit(1);
|
|
51
52
|
}
|
|
53
|
+
const { isImagegenEnabled } = await import("./setup-TISPCO22.js");
|
|
54
|
+
if (isImagegenEnabled()) {
|
|
55
|
+
const { readVoluteConfig } = await import("./volute-config-HD7WWUQC.js");
|
|
56
|
+
const config = readVoluteConfig(dir);
|
|
57
|
+
const avatarPath = config?.profile?.avatar;
|
|
58
|
+
if (!avatarPath || !existsSync(resolve(dir, "home", avatarPath))) {
|
|
59
|
+
console.error(
|
|
60
|
+
"Generate an avatar before sprouting. Use `imagegen generate` to create one, then `volute mind profile --avatar <path>` to set it."
|
|
61
|
+
);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
52
65
|
const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
|
|
53
66
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
54
|
-
const { mindSkillsDir } = await import("./skills-
|
|
67
|
+
const { mindSkillsDir } = await import("./skills-7FV7EJTE.js");
|
|
55
68
|
const client = getClient();
|
|
56
69
|
const failedSkills = [];
|
|
57
70
|
for (const skillId of getStandardSkillsWithExtensions()) {
|