volute 0.49.0 → 0.50.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 +2 -2
- package/dist/{accept-KYNC5X3U.js → accept-5NK5XJB5.js} +2 -1
- package/dist/{activity-events-GJJAI2WT.js → activity-events-H7YI3BTF.js} +3 -3
- package/dist/{ai-service-A7FS7EC3.js → ai-service-V4CTNGI3.js} +5 -4
- package/dist/{archive-7E3YE6VF.js → archive-ORM3ENHI.js} +3 -3
- package/dist/{auth-ABYLOEZ7.js → auth-DT7GY7EZ.js} +10 -6
- package/dist/{avatar-image-6ATV2IOZ.js → avatar-image-QEPAP3A5.js} +3 -3
- package/dist/{backup-XYAMT4CU.js → backup-IE6PMXJO.js} +11 -12
- package/dist/{bridge-3FNSWLNQ.js → bridge-YK7NTRU5.js} +2 -1
- package/dist/{channels-SGQZHNQJ.js → channels-FSAHOQWI.js} +2 -1
- package/dist/{chat-OGXAEXMV.js → chat-W5K6HCBE.js} +9 -9
- package/dist/{chunk-3B427GUK.js → chunk-3BAFMGCJ.js} +2 -2
- package/dist/{chunk-4B62E4CG.js → chunk-4CN7OCJE.js} +2 -2
- package/dist/{chunk-VNRSXEBF.js → chunk-574M6I7F.js} +38 -5
- package/dist/{chunk-HCYQRME2.js → chunk-5FVANDON.js} +2 -2
- package/dist/{chunk-P4LHVRNE.js → chunk-5IIVOWSP.js} +27 -19
- package/dist/{chunk-TXJL36ZQ.js → chunk-5PKFJHCR.js} +2 -2
- package/dist/{chunk-JPGHSXSV.js → chunk-5TPC4KCV.js} +23 -9
- package/dist/{chunk-YIJGKHIS.js → chunk-632FJ23O.js} +24 -20
- package/dist/{chunk-IH5TKXX6.js → chunk-636GFQNE.js} +11 -11
- package/dist/{chunk-EFT2OALG.js → chunk-6BM2I736.js} +20 -5
- package/dist/{chunk-JCBPU57A.js → chunk-74T3CEXK.js} +6 -6
- package/dist/{chunk-EG5LSKHU.js → chunk-77IZUVBB.js} +2 -2
- package/dist/{chunk-K3JOLGWF.js → chunk-7DXLIYPY.js} +76 -63
- package/dist/chunk-7FDWPQCU.js +289 -0
- package/dist/chunk-7OZWKHA3.js +548 -0
- package/dist/{chunk-PY24ZL62.js → chunk-7UWXAJMK.js} +1 -1
- package/dist/{chunk-MG3Z34YE.js → chunk-7XDOTN4R.js} +1 -1
- package/dist/{chunk-SX72DOO3.js → chunk-AFSLNUTT.js} +1 -1
- package/dist/{chunk-DVN6DNMI.js → chunk-AJWFDIEY.js} +17 -2
- package/dist/chunk-ALIVXDM4.js +1014 -0
- package/dist/{chunk-RSBL3FAD.js → chunk-CAIYV33P.js} +234 -24
- package/dist/{chunk-ZX46PGCC.js → chunk-E5S3ILVA.js} +1 -1
- package/dist/{chunk-SHKM5RGD.js → chunk-EEOMA4DX.js} +1 -1
- package/dist/chunk-EQKSRVDE.js +2857 -0
- package/dist/chunk-FNJCBRD3.js +31 -0
- package/dist/{chunk-EADX54RG.js → chunk-HW6Q7AMB.js} +4 -4
- package/dist/chunk-JI67D7O2.js +1222 -0
- package/dist/{chunk-KHCKZ36O.js → chunk-KAEZOVP6.js} +1 -1
- package/dist/chunk-LNNI3MS4.js +54 -0
- package/dist/{chunk-BCG45AQB.js → chunk-M74I3HHF.js} +15 -5
- package/dist/chunk-MLZBBLMT.js +109 -0
- package/dist/{chunk-5T5YMX6S.js → chunk-PW65BXY5.js} +5 -0
- package/dist/{chunk-NOIAHMJB.js → chunk-QFVGPKJI.js} +1 -1
- package/dist/{chunk-VIUH5CHQ.js → chunk-SFRYRW37.js} +50 -33
- package/dist/{chunk-L27YYONJ.js → chunk-SSNZ6ZNN.js} +1 -1
- package/dist/{chunk-GWVFDUNB.js → chunk-TGJHGVBZ.js} +8 -10
- package/dist/{chunk-6HGEZJDH.js → chunk-U3EJJ7JN.js} +2 -2
- package/dist/{chunk-4DSGN4FL.js → chunk-UC6BNMGT.js} +43 -13
- package/dist/{chunk-JBIFXB6I.js → chunk-WBBKYUGF.js} +3 -5
- package/dist/{chunk-FBBS4BVR.js → chunk-X67VT4QO.js} +1 -1
- package/dist/{chunk-DAIIMBLB.js → chunk-YQOYZ6G7.js} +3 -5
- package/dist/{chunk-JCWB2ITW.js → chunk-ZUG76D3P.js} +35 -5
- package/dist/cli.js +34 -27
- package/dist/{clock-6JZL2FS6.js → clock-LH7UFNLJ.js} +4 -3
- package/dist/{cloud-sync-VFDTNNCA.js → cloud-sync-IDJFVDEP.js} +22 -19
- package/dist/{config-RPSLA2HX.js → config-UGJS57VT.js} +3 -3
- package/dist/{conversations-TUM5PJJ4.js → conversations-S2232Y5I.js} +8 -4
- package/dist/{create-Z5FSDNVZ.js → create-2M7DAHQX.js} +2 -2
- package/dist/{create-VIQVP3QB.js → create-M727VUDF.js} +2 -1
- package/dist/{daemon-client-ZFY5MOAL.js → daemon-client-VVYFZI2D.js} +2 -1
- package/dist/{daemon-restart-54L4B6AQ.js → daemon-restart-2AAGYFHE.js} +6 -7
- package/dist/daemon.js +1625 -529
- package/dist/{db-F6UMFRYD.js → db-QAY45Z56.js} +2 -2
- package/dist/{delete-ESEP7NGQ.js → delete-O7PEFQDF.js} +1 -1
- package/dist/delivery-manager-B4OKWD2P.js +33 -0
- package/dist/{delivery-router-VUOL5YSA.js → delivery-router-JE7SHYNU.js} +7 -5
- package/dist/{down-6X7KX7BZ.js → down-D4IRNEMJ.js} +5 -5
- package/dist/echo-text-WYAAODBV.js +39 -0
- package/dist/{env-ZYMSCB7B.js → env-ABM5IMA7.js} +3 -2
- package/dist/{env-KUL4XKN2.js → env-AZK5X4W7.js} +3 -3
- package/dist/{exec-FBXA3CM4.js → exec-2H65LMTA.js} +3 -3
- package/dist/{export-TNBPDH77.js → export-3E3EL6W3.js} +4 -4
- package/dist/{extension-J4ZQ2GHV.js → extension-MRYJWSMV.js} +2 -1
- package/dist/{extensions-AWNO3SZF.js → extensions-7KP3X6G7.js} +22 -19
- package/dist/{files-BVBRJJ2P.js → files-6BMKVG5G.js} +5 -4
- package/dist/{import-ZUNKMCKC.js → import-UPNTEBBT.js} +8 -8
- package/dist/{isolation-OPCZQRTH.js → isolation-OKDFM6WA.js} +5 -3
- package/dist/{join-34TR2GXQ.js → join-PYA36HEC.js} +1 -1
- package/dist/{list-PMUXZNAM.js → list-4BVGH7AN.js} +8 -3
- package/dist/{login-KAKNFCW5.js → login-MOXVLULE.js} +4 -3
- package/dist/{login-LKNLCJPA.js → login-RJJTCVR3.js} +2 -1
- package/dist/{logout-YZRMZ3O2.js → logout-BYV433X6.js} +2 -1
- package/dist/{logout-RLT62RQP.js → logout-DWD3OQVT.js} +4 -3
- package/dist/message-delivery-3456PXB7.js +43 -0
- package/dist/migrate-thread-config-4A5LW36Z.js +90 -0
- package/dist/{mind-IF6CGMFW.js → mind-NYRALSV2.js} +19 -19
- package/dist/{mind-activity-tracker-YMMERB6B.js → mind-activity-tracker-L7GCYXQR.js} +4 -4
- package/dist/{mind-contacts-BKUFPUCU.js → mind-contacts-QYU4TPEA.js} +3 -2
- package/dist/{mind-history-WI5OI3BW.js → mind-history-NXXOOTX6.js} +30 -7
- package/dist/{mind-list-OTHV4ZO4.js → mind-list-SYRA7CH5.js} +3 -2
- package/dist/{mind-profile-LUG353ZT.js → mind-profile-MRCVZPYT.js} +1 -1
- package/dist/mind-service-5TA7UJAT.js +47 -0
- package/dist/{mind-sleep-VBV7YRSU.js → mind-sleep-TH6BRQ5X.js} +4 -3
- package/dist/{mind-status-BJNPGXKC.js → mind-status-Z2LQFA6F.js} +3 -2
- package/dist/{mind-wake-LVTZ55EZ.js → mind-wake-LDGPRA42.js} +2 -1
- package/dist/{package-PD67VPHB.js → package-XYSV7NUT.js} +23 -23
- package/dist/{prompts-MDHDLWEX.js → prompts-QKFPX6DQ.js} +3 -3
- package/dist/{read-YSWUXYL7.js → read-ZXGUT4QC.js} +5 -3
- package/dist/{register-TWQDKQRT.js → register-OX4HRSGC.js} +2 -1
- package/dist/{registry-3ELJPUGJ.js → registry-4UF6OCOE.js} +6 -4
- package/dist/{reject-SXGCYN4A.js → reject-TWB4QJHG.js} +2 -1
- package/dist/{restart-5F5QDBOG.js → restart-AGEGNSYQ.js} +2 -1
- package/dist/{sandbox-XPYA7UIF.js → sandbox-EGEU5GGE.js} +7 -4
- package/dist/scheduler-UV6RUJ7P.js +25 -0
- package/dist/{schema-6YONVTKZ.js → schema-C2GIPD4V.js} +3 -3
- package/dist/{seed-NQED7PSX.js → seed-3IMBOAGK.js} +1 -1
- package/dist/{seed-check-TYD7RRZY.js → seed-check-NRJEQZST.js} +14 -5
- package/dist/{seed-cmd-QF3F2G4S.js → seed-cmd-U73XVQMI.js} +3 -3
- package/dist/{seed-create-XOO4N2OE.js → seed-create-FBLNVSUP.js} +4 -4
- package/dist/{seed-readiness-3LRYASA4.js → seed-readiness-QRA46ZJQ.js} +4 -5
- package/dist/{seed-sprout-HSBBGSS2.js → seed-sprout-3B4SZX7J.js} +9 -9
- package/dist/{send-IHRJYNXA.js → send-NBRZJXKX.js} +32 -10
- package/dist/{service-YCOPCTSZ.js → service-XMXAXGJD.js} +4 -4
- package/dist/{service-install-Y46OTF55.js → service-install-MOKTEG7B.js} +5 -5
- package/dist/{setup-TCN7VH5U.js → setup-CAJFOR2N.js} +10 -3
- package/dist/{setup-F4TE64YI.js → setup-JGYAXXW7.js} +6 -7
- package/dist/{skill-4CYJLYVY.js → skill-NXIHDQCG.js} +3 -2
- package/dist/skills/dreaming/references/INSTALL.md +2 -2
- package/dist/skills/imagegen/SKILL.md +21 -4
- package/dist/skills/imagegen/scripts/imagegen.ts +124 -21
- package/dist/skills/tending/SKILL.md +7 -7
- package/dist/skills/volute-mind/SKILL.md +3 -3
- package/dist/skills/volute-mind/references/integrations.md +2 -2
- package/dist/skills/volute-mind/references/routing.md +15 -15
- package/dist/{skills-NN5UZCUU.js → skills-5MSMT7PT.js} +4 -5
- package/dist/sleep-manager-LIEPO6WG.js +41 -0
- package/dist/{spirit-SSJMYC6A.js → spirit-IL5EMWYZ.js} +10 -7
- package/dist/spirit-availability-YFEGJNJ2.js +42 -0
- package/dist/{split-JF2VWTXA.js → split-BU5VWX6P.js} +1 -1
- package/dist/{sprout-AXA2SECQ.js → sprout-UPXGJ5HX.js} +1 -1
- package/dist/{src-YH6PQ7LJ.js → src-HGNE2XG4.js} +7 -1
- package/dist/{src-ZN4LXMPI.js → src-LCSOQY6Z.js} +57 -51
- package/dist/{src-JAOVXO5W.js → src-UDMJZ6MH.js} +8 -8
- package/dist/{start-BTVMTP3K.js → start-MUMNFR52.js} +2 -1
- package/dist/{status-VJGXMQ4L.js → status-IL67CYM4.js} +7 -6
- package/dist/{stop-YORESK4U.js → stop-EKERNYTX.js} +2 -1
- package/dist/system-events-A6IGCEC3.js +46 -0
- package/dist/system-install-YZSWCPDK.js +8 -0
- package/dist/{systems-5MH2ELQE.js → systems-VDRUZXNF.js} +5 -4
- package/dist/{tailscale-AMMVKDXB.js → tailscale-SJUW2ETR.js} +2 -2
- package/dist/{template-staleness-HKGCTS3H.js → template-staleness-T27VCGYA.js} +3 -3
- package/dist/{turn-tracker-JQ2YUUY2.js → turn-tracker-6EI2EL7G.js} +6 -6
- package/dist/{up-SDLTLPAO.js → up-CLL4665A.js} +5 -6
- package/dist/{update-WEA4N2TR.js → update-HVAUCQPN.js} +5 -5
- package/dist/{update-check-DZOTONII.js → update-check-2MGBBAFF.js} +3 -3
- package/dist/{upgrade-K5FIQPQD.js → upgrade-LIE46UBB.js} +1 -1
- package/dist/variant-cleanup-HJ7Z75R6.js +22 -0
- package/dist/{version-notify-WFA5XB5A.js → version-notify-7BUHWZNT.js} +10 -27
- package/dist/web-assets/assets/index-ClsUcXiW.js +95 -0
- package/dist/web-assets/assets/index-Dz3wTbtR.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/dist/xai-P42CRCZA.js +129 -0
- package/drizzle/0014_system_events.sql +26 -0
- package/drizzle/0015_rename_session_to_thread.sql +12 -0
- package/drizzle/0016_brain_to_human.sql +4 -0
- package/drizzle/0017_event_history_rows.sql +9 -0
- package/drizzle/meta/_journal.json +28 -0
- package/package.json +23 -23
- package/packages/extensions/notes/dist/ui/assets/index-BBs8pyel.js +67 -0
- package/packages/extensions/notes/dist/ui/index.html +1 -1
- package/packages/extensions/pages/dist/ui/assets/index-B589e8Xe.js +2 -0
- package/packages/extensions/pages/dist/ui/index.html +1 -1
- package/packages/extensions/plan/dist/ui/assets/index-B8s8wxyt.js +67 -0
- package/packages/extensions/plan/dist/ui/index.html +1 -1
- package/templates/_base/.init/.config/prompts.json +1 -0
- package/templates/_base/.init/.local/hooks/startup-context.ts +24 -9
- package/templates/_base/home/.config/routes.json +2 -2
- package/templates/_base/home/VOLUTE.md +18 -5
- package/templates/_base/src/lib/daemon-client.ts +1 -1
- package/templates/_base/src/lib/event-turn.ts +39 -0
- package/templates/_base/src/lib/format-prefix.ts +21 -2
- package/templates/_base/src/lib/router.ts +6 -2
- package/templates/_base/src/lib/routing.ts +8 -8
- package/templates/_base/src/lib/startup.ts +9 -1
- package/templates/_base/src/lib/types.ts +7 -1
- package/templates/_base/src/lib/volute-server.ts +30 -1
- package/templates/claude/.init/.config/routes.json +3 -3
- package/templates/claude/.init/CLAUDE.md +1 -1
- package/templates/claude/package.json.tmpl +4 -4
- package/templates/claude/src/agent.ts +4 -1
- package/templates/claude/src/lib/hooks/reply-instructions.ts +26 -1
- package/templates/codex/.init/.config/routes.json +3 -3
- package/templates/codex/.init/AGENTS.md +1 -1
- package/templates/codex/package.json.tmpl +4 -4
- package/templates/codex/src/agent.ts +11 -11
- package/templates/codex/src/lib/turn-context.ts +51 -0
- package/templates/pi/.init/.config/routes.json +3 -3
- package/templates/pi/.init/MINDS.md +1 -1
- package/templates/pi/package.json.tmpl +6 -6
- package/templates/pi/src/agent.ts +9 -1
- package/templates/pi/src/lib/event-handler.ts +1 -1
- package/templates/pi/src/lib/reply-instructions-extension.ts +28 -1
- package/dist/chunk-NJHN6IRB.js +0 -177
- package/dist/chunk-QQBOI3QA.js +0 -5345
- package/dist/chunk-XTEKINWG.js +0 -158
- package/dist/delivery-manager-RBXBPVWM.js +0 -36
- package/dist/echo-text-B6NZ5FGE.js +0 -36
- package/dist/message-delivery-ABPV76EA.js +0 -42
- package/dist/mind-service-42GDO4KH.js +0 -44
- package/dist/notices-N6BCGHFV.js +0 -25
- package/dist/scheduler-K7Y7Z7FQ.js +0 -34
- package/dist/sleep-manager-DSPXFHGX.js +0 -38
- package/dist/system-chat-M2XOBKEM.js +0 -40
- package/dist/variant-cleanup-P4MBNLJD.js +0 -33
- package/dist/web-assets/assets/index-BostMFoR.css +0 -1
- package/dist/web-assets/assets/index-CKlqUkyG.js +0 -92
- package/packages/extensions/notes/dist/ui/assets/index-D0-DgYyj.js +0 -67
- package/packages/extensions/pages/dist/ui/assets/index-DtzftuPA.js +0 -2
- package/packages/extensions/plan/dist/ui/assets/index-Cfzs-0G9.js +0 -67
|
@@ -9,15 +9,15 @@ import {
|
|
|
9
9
|
deliveryQueue,
|
|
10
10
|
messages,
|
|
11
11
|
mindHistory,
|
|
12
|
-
mindNotices,
|
|
13
12
|
minds,
|
|
14
13
|
sessions,
|
|
15
14
|
sharedSkills,
|
|
16
15
|
summaries,
|
|
16
|
+
systemEvents,
|
|
17
17
|
systemPrompts,
|
|
18
18
|
turns,
|
|
19
19
|
users
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-5IIVOWSP.js";
|
|
21
21
|
import "./chunk-K3NQKI34.js";
|
|
22
22
|
export {
|
|
23
23
|
activity,
|
|
@@ -29,11 +29,11 @@ export {
|
|
|
29
29
|
deliveryQueue,
|
|
30
30
|
messages,
|
|
31
31
|
mindHistory,
|
|
32
|
-
mindNotices,
|
|
33
32
|
minds,
|
|
34
33
|
sessions,
|
|
35
34
|
sharedSkills,
|
|
36
35
|
summaries,
|
|
36
|
+
systemEvents,
|
|
37
37
|
systemPrompts,
|
|
38
38
|
turns,
|
|
39
39
|
users
|
|
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
4
4
|
// packages/cli/src/commands/seed.ts
|
|
5
5
|
async function run(args) {
|
|
6
6
|
console.error("Note: `volute mind seed` is now `volute seed create`");
|
|
7
|
-
await import("./seed-create-
|
|
7
|
+
await import("./seed-create-FBLNVSUP.js").then((m) => m.run(args));
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
10
10
|
run
|
|
@@ -10,14 +10,21 @@ var cmd = command({
|
|
|
10
10
|
name: "volute seed check",
|
|
11
11
|
description: "Check seed readiness",
|
|
12
12
|
args: [{ name: "name", required: true, description: "Seed mind to check" }],
|
|
13
|
-
flags: {
|
|
14
|
-
|
|
13
|
+
flags: {
|
|
14
|
+
nurture: {
|
|
15
|
+
type: "boolean",
|
|
16
|
+
description: "Apply the nurture gate (used by the spirit's schedule): stay silent when no nudge is needed"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
run: async ({ args, flags }) => {
|
|
15
20
|
const name = args.name;
|
|
16
|
-
const
|
|
17
|
-
const
|
|
21
|
+
const query = flags.nurture ? "" : "?force=1";
|
|
22
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
23
|
+
const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/seed-check${query}`);
|
|
18
24
|
if (!res.ok) {
|
|
25
|
+
process.exitCode = 1;
|
|
19
26
|
if (res.status === 404) {
|
|
20
|
-
console.
|
|
27
|
+
console.error(`Seed "${name}" not found \u2014 it may have been deleted.`);
|
|
21
28
|
} else {
|
|
22
29
|
console.error(`seed check failed for ${name}: HTTP ${res.status}`);
|
|
23
30
|
}
|
|
@@ -26,6 +33,8 @@ var cmd = command({
|
|
|
26
33
|
const data = await res.json();
|
|
27
34
|
if (data.output) {
|
|
28
35
|
console.log(data.output);
|
|
36
|
+
} else if (!flags.nurture) {
|
|
37
|
+
console.log(`No readiness output returned for ${name}.`);
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
40
|
});
|
|
@@ -12,15 +12,15 @@ var cmd = subcommands({
|
|
|
12
12
|
commands: {
|
|
13
13
|
create: {
|
|
14
14
|
description: "Plant a new seed",
|
|
15
|
-
run: (args) => import("./seed-create-
|
|
15
|
+
run: (args) => import("./seed-create-FBLNVSUP.js").then((m) => m.run(args))
|
|
16
16
|
},
|
|
17
17
|
sprout: {
|
|
18
18
|
description: "Complete orientation and become a full mind",
|
|
19
|
-
run: (args) => import("./seed-sprout-
|
|
19
|
+
run: (args) => import("./seed-sprout-3B4SZX7J.js").then((m) => m.run(args))
|
|
20
20
|
},
|
|
21
21
|
check: {
|
|
22
22
|
description: "Check seed readiness",
|
|
23
|
-
run: (args) => import("./seed-check-
|
|
23
|
+
run: (args) => import("./seed-check-NRJEQZST.js").then((m) => m.run(args))
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
});
|
|
@@ -47,19 +47,19 @@ var cmd = command({
|
|
|
47
47
|
const name = args.name;
|
|
48
48
|
const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
|
|
49
49
|
const createdBy = flags["created-by"];
|
|
50
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
50
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
51
51
|
const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
|
|
52
52
|
const client = getClient();
|
|
53
53
|
let model = flags.model;
|
|
54
54
|
let template = flags.template;
|
|
55
55
|
if (!template) {
|
|
56
|
-
const { resolveTemplate } = await import("./ai-service-
|
|
56
|
+
const { resolveTemplate } = await import("./ai-service-V4CTNGI3.js");
|
|
57
57
|
template = await resolveTemplate(model);
|
|
58
58
|
}
|
|
59
59
|
if (template !== "claude" && !model) {
|
|
60
60
|
if (process.env.VOLUTE_MIND || !process.stdin.isTTY) {
|
|
61
|
-
const { getSpiritModel } = await import("./spirit-
|
|
62
|
-
const { qualifyModelId } = await import("./ai-service-
|
|
61
|
+
const { getSpiritModel } = await import("./spirit-IL5EMWYZ.js");
|
|
62
|
+
const { qualifyModelId } = await import("./ai-service-V4CTNGI3.js");
|
|
63
63
|
const spiritModel = getSpiritModel();
|
|
64
64
|
if (spiritModel) {
|
|
65
65
|
model = template === "pi" ? qualifyModelId(spiritModel) : spiritModel;
|
|
@@ -3,13 +3,12 @@ import {
|
|
|
3
3
|
evaluateSeedChecklist,
|
|
4
4
|
isMemoryWritten,
|
|
5
5
|
isSoulWritten
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-5PKFJHCR.js";
|
|
7
|
+
import "./chunk-5TPC4KCV.js";
|
|
8
8
|
import "./chunk-DW4TRDOZ.js";
|
|
9
9
|
import "./chunk-WCFSBH33.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-P4LHVRNE.js";
|
|
10
|
+
import "./chunk-CAIYV33P.js";
|
|
11
|
+
import "./chunk-5IIVOWSP.js";
|
|
13
12
|
import "./chunk-K3NQKI34.js";
|
|
14
13
|
export {
|
|
15
14
|
evaluateSeedChecklist,
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
daemonFetch
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-M74I3HHF.js";
|
|
5
5
|
import {
|
|
6
6
|
command
|
|
7
7
|
} from "./chunk-TXSA4Q3V.js";
|
|
8
8
|
import "./chunk-O7IGP7ZW.js";
|
|
9
|
+
import "./chunk-FNJCBRD3.js";
|
|
9
10
|
import {
|
|
10
11
|
evaluateSeedChecklist
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5PKFJHCR.js";
|
|
12
13
|
import {
|
|
13
14
|
getStandardSkillsWithExtensions
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-TGJHGVBZ.js";
|
|
16
|
+
import "./chunk-5TPC4KCV.js";
|
|
16
17
|
import "./chunk-DW4TRDOZ.js";
|
|
17
18
|
import "./chunk-WCFSBH33.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-NJHN6IRB.js";
|
|
19
|
+
import "./chunk-AJWFDIEY.js";
|
|
20
20
|
import "./chunk-QUSMYGNQ.js";
|
|
21
21
|
import {
|
|
22
22
|
mindDir
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-CAIYV33P.js";
|
|
24
|
+
import "./chunk-5IIVOWSP.js";
|
|
25
25
|
import "./chunk-K3NQKI34.js";
|
|
26
26
|
|
|
27
27
|
// packages/cli/src/commands/seed-sprout.ts
|
|
@@ -74,7 +74,7 @@ var cmd = command({
|
|
|
74
74
|
process.exit(1);
|
|
75
75
|
}
|
|
76
76
|
const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
|
|
77
|
-
const { mindSkillsDir } = await import("./skills-
|
|
77
|
+
const { mindSkillsDir } = await import("./skills-5MSMT7PT.js");
|
|
78
78
|
const client = getClient();
|
|
79
79
|
const failedSkills = [];
|
|
80
80
|
for (const skillId of getStandardSkillsWithExtensions()) {
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-33ODGMFZ.js";
|
|
5
5
|
import {
|
|
6
6
|
isCompact
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PW65BXY5.js";
|
|
8
8
|
import {
|
|
9
9
|
daemonFetch
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-M74I3HHF.js";
|
|
11
11
|
import {
|
|
12
12
|
getClient,
|
|
13
13
|
urlOf
|
|
@@ -16,11 +16,12 @@ import {
|
|
|
16
16
|
command
|
|
17
17
|
} from "./chunk-TXSA4Q3V.js";
|
|
18
18
|
import "./chunk-O7IGP7ZW.js";
|
|
19
|
+
import "./chunk-FNJCBRD3.js";
|
|
19
20
|
import {
|
|
20
21
|
formatFileSize
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-QFVGPKJI.js";
|
|
23
|
+
import "./chunk-CAIYV33P.js";
|
|
24
|
+
import "./chunk-5IIVOWSP.js";
|
|
24
25
|
import "./chunk-K3NQKI34.js";
|
|
25
26
|
|
|
26
27
|
// packages/cli/src/commands/send.ts
|
|
@@ -154,6 +155,18 @@ async function waitForResponse(mindName, conversationId, timeoutMs) {
|
|
|
154
155
|
});
|
|
155
156
|
}
|
|
156
157
|
}
|
|
158
|
+
function spiritAck(spirit) {
|
|
159
|
+
switch (spirit) {
|
|
160
|
+
case "waking":
|
|
161
|
+
return "The system spirit is waking \u2014 a reply is on its way.";
|
|
162
|
+
case "sleeping":
|
|
163
|
+
return "The system spirit is sleeping \u2014 it will reply when it wakes.";
|
|
164
|
+
case "unavailable":
|
|
165
|
+
return "The system spirit is unavailable \u2014 an admin can fix this in Settings.";
|
|
166
|
+
default:
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
157
170
|
function printSendResult(data) {
|
|
158
171
|
if (data.held) {
|
|
159
172
|
if (data.notice) console.log(data.notice);
|
|
@@ -166,6 +179,8 @@ function printSendResult(data) {
|
|
|
166
179
|
console.log(`Message sent.${outboundId != null ? `
|
|
167
180
|
[volute:outbound:${outboundId}]` : ""}`);
|
|
168
181
|
}
|
|
182
|
+
const ack = spiritAck(data.spirit);
|
|
183
|
+
if (ack) console.log(ack);
|
|
169
184
|
}
|
|
170
185
|
var cmd = command({
|
|
171
186
|
name: "volute chat send",
|
|
@@ -211,8 +226,8 @@ var cmd = command({
|
|
|
211
226
|
}
|
|
212
227
|
if (target === "system" || target === "@system") {
|
|
213
228
|
console.error(
|
|
214
|
-
`Can't send to system \u2014 system
|
|
215
|
-
To
|
|
229
|
+
`Can't send to system \u2014 system events come from your environment, not a person, and nothing is waiting on a reply.
|
|
230
|
+
To reach a person, use their username from the message prefix (e.g. volute chat send @username "msg").`
|
|
216
231
|
);
|
|
217
232
|
process.exit(1);
|
|
218
233
|
}
|
|
@@ -282,13 +297,14 @@ To reply to a person, use their username from the message prefix (e.g. volute ch
|
|
|
282
297
|
let waitMindName;
|
|
283
298
|
let waitConversationId;
|
|
284
299
|
let heldResponse = false;
|
|
300
|
+
let spiritUnavailable = false;
|
|
285
301
|
if (parsed.isDM && parsed.platform === "volute") {
|
|
286
302
|
const targetName = parsed.identifier.slice(1);
|
|
287
303
|
const mindSelf = process.env.VOLUTE_MIND;
|
|
288
304
|
const sender = flags.sender || mindSelf || userInfo().username;
|
|
289
305
|
if (mindSelf && targetName === mindSelf) {
|
|
290
306
|
console.error(
|
|
291
|
-
`Can't send to @${targetName} \u2014 that's
|
|
307
|
+
`Can't send to @${targetName} \u2014 that's yourself. System events arrive from your environment and don't need a reply.`
|
|
292
308
|
);
|
|
293
309
|
process.exit(1);
|
|
294
310
|
}
|
|
@@ -334,7 +350,13 @@ To reply to a person, use their username from the message prefix (e.g. volute ch
|
|
|
334
350
|
console.error(`Warning: could not read send response: ${err.message}`);
|
|
335
351
|
}
|
|
336
352
|
if (data.held) heldResponse = true;
|
|
337
|
-
if (data.held || !flags.wait)
|
|
353
|
+
if (data.held || !flags.wait) {
|
|
354
|
+
printSendResult(data);
|
|
355
|
+
} else {
|
|
356
|
+
const ack = spiritAck(data.spirit);
|
|
357
|
+
if (ack) console.log(ack);
|
|
358
|
+
}
|
|
359
|
+
if (data.spirit === "unavailable") spiritUnavailable = true;
|
|
338
360
|
} else if (!parsed.isDM && parsed.platform === "volute") {
|
|
339
361
|
if (!parsed.identifier.startsWith("#")) {
|
|
340
362
|
console.error(
|
|
@@ -391,7 +413,7 @@ See: volute chat bridge --help`
|
|
|
391
413
|
);
|
|
392
414
|
process.exit(1);
|
|
393
415
|
}
|
|
394
|
-
if (heldResponse) {
|
|
416
|
+
if (heldResponse || spiritUnavailable) {
|
|
395
417
|
} else if (flags.wait && waitMindName) {
|
|
396
418
|
if (!waitConversationId) {
|
|
397
419
|
console.error("--wait requires a volute conversation (DM to a mind)");
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
SYSTEM_LAUNCHD_PLIST_PATH,
|
|
10
10
|
SYSTEM_SERVICE_PATH,
|
|
11
11
|
USER_SYSTEMD_UNIT
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-5FVANDON.js";
|
|
13
|
+
import "./chunk-AJWFDIEY.js";
|
|
14
|
+
import "./chunk-CAIYV33P.js";
|
|
15
|
+
import "./chunk-5IIVOWSP.js";
|
|
16
16
|
import "./chunk-K3NQKI34.js";
|
|
17
17
|
|
|
18
18
|
// packages/cli/src/commands/service.ts
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
generateUserPlist,
|
|
4
4
|
generateUserUnit,
|
|
5
5
|
installUserService
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-4CN7OCJE.js";
|
|
7
|
+
import "./chunk-5FVANDON.js";
|
|
8
|
+
import "./chunk-AJWFDIEY.js";
|
|
9
|
+
import "./chunk-CAIYV33P.js";
|
|
10
|
+
import "./chunk-5IIVOWSP.js";
|
|
11
11
|
import "./chunk-K3NQKI34.js";
|
|
12
12
|
export {
|
|
13
13
|
generateUserPlist,
|
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
_resetConfigCache,
|
|
4
|
+
computeSetupStatus,
|
|
4
5
|
configPath,
|
|
6
|
+
getSpiritName,
|
|
7
|
+
getSystemName,
|
|
5
8
|
isImagegenEnabled,
|
|
6
9
|
isSetupComplete,
|
|
7
10
|
migrateConfigSecrets,
|
|
8
11
|
migrateSetupCompleted,
|
|
9
12
|
mindLimitError,
|
|
10
13
|
readGlobalConfig,
|
|
14
|
+
readGlobalConfigStrict,
|
|
11
15
|
secretsPath,
|
|
12
16
|
setupStatus,
|
|
13
17
|
setupUrl,
|
|
14
18
|
writeGlobalConfig
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-P4LHVRNE.js";
|
|
19
|
+
} from "./chunk-CAIYV33P.js";
|
|
20
|
+
import "./chunk-5IIVOWSP.js";
|
|
18
21
|
import "./chunk-K3NQKI34.js";
|
|
19
22
|
export {
|
|
20
23
|
_resetConfigCache,
|
|
24
|
+
computeSetupStatus,
|
|
21
25
|
configPath,
|
|
26
|
+
getSpiritName,
|
|
27
|
+
getSystemName,
|
|
22
28
|
isImagegenEnabled,
|
|
23
29
|
isSetupComplete,
|
|
24
30
|
migrateConfigSecrets,
|
|
25
31
|
migrateSetupCompleted,
|
|
26
32
|
mindLimitError,
|
|
27
33
|
readGlobalConfig,
|
|
34
|
+
readGlobalConfigStrict,
|
|
28
35
|
secretsPath,
|
|
29
36
|
setupStatus,
|
|
30
37
|
setupUrl,
|
|
@@ -8,22 +8,21 @@ import {
|
|
|
8
8
|
import "./chunk-O7IGP7ZW.js";
|
|
9
9
|
import {
|
|
10
10
|
installUserService
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4CN7OCJE.js";
|
|
12
12
|
import {
|
|
13
13
|
LAUNCHD_PLIST_LABEL,
|
|
14
14
|
SYSTEM_LAUNCHD_PLIST_PATH,
|
|
15
15
|
SYSTEM_SERVICE_PATH
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5FVANDON.js";
|
|
17
17
|
import {
|
|
18
18
|
ensureVoluteGroup,
|
|
19
19
|
resolveVoluteBin
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AJWFDIEY.js";
|
|
21
21
|
import {
|
|
22
22
|
readGlobalConfig,
|
|
23
23
|
writeGlobalConfig
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-P4LHVRNE.js";
|
|
24
|
+
} from "./chunk-CAIYV33P.js";
|
|
25
|
+
import "./chunk-5IIVOWSP.js";
|
|
27
26
|
import "./chunk-K3NQKI34.js";
|
|
28
27
|
|
|
29
28
|
// src/commands/setup.ts
|
|
@@ -221,7 +220,7 @@ async function startDaemonAndOpenBrowser(port, host) {
|
|
|
221
220
|
const url = `http://${displayHost === "0.0.0.0" || displayHost === "::" ? "localhost" : displayHost}:${displayPort}`;
|
|
222
221
|
console.log("\nStarting daemon...");
|
|
223
222
|
try {
|
|
224
|
-
const { run: runUp } = await import("./up-
|
|
223
|
+
const { run: runUp } = await import("./up-CLL4665A.js");
|
|
225
224
|
await runUp([
|
|
226
225
|
...port != null ? ["--port", String(port)] : [],
|
|
227
226
|
...host ? ["--host", host] : []
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
isCompact
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PW65BXY5.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveMindName
|
|
7
7
|
} from "./chunk-BTY4WNFE.js";
|
|
8
8
|
import {
|
|
9
9
|
daemonFetch
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-M74I3HHF.js";
|
|
11
11
|
import {
|
|
12
12
|
getClient,
|
|
13
13
|
urlOf
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
subcommands
|
|
18
18
|
} from "./chunk-TXSA4Q3V.js";
|
|
19
19
|
import "./chunk-O7IGP7ZW.js";
|
|
20
|
+
import "./chunk-FNJCBRD3.js";
|
|
20
21
|
import "./chunk-K3NQKI34.js";
|
|
21
22
|
|
|
22
23
|
// packages/cli/src/commands/skill.ts
|
|
@@ -26,14 +26,14 @@ Add to `.config/volute.json` under `schedules`:
|
|
|
26
26
|
"cron": "0 3 * * *",
|
|
27
27
|
"message": "it's 3am. you are dreaming.\n\ngather your material — read your latest journal entry, read MEMORY.md, surface random memories if you have a way to. then construct a dream premise from that material and invoke the dreamer subagent to experience the dream.",
|
|
28
28
|
"enabled": true,
|
|
29
|
-
"
|
|
29
|
+
"thread": "$new"
|
|
30
30
|
}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Or via CLI:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
volute clock add --mind <name> --id dream --cron "0 3 * * *" --
|
|
36
|
+
volute clock add --mind <name> --id dream --cron "0 3 * * *" --thread "$new" --while-sleeping trigger-wake --message "it's 3am. you are dreaming...."
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
## 3. Sleep integration
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Image Generation
|
|
3
|
-
description: Generate images via Replicate or
|
|
3
|
+
description: Generate images via Replicate, OpenRouter, a ChatGPT subscription (openai-codex), or xAI Grok. Use for "generate image", "create image", "image generation", "text to image", "search image models".
|
|
4
4
|
metadata:
|
|
5
5
|
bin: scripts/imagegen.ts
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Image Generation
|
|
9
9
|
|
|
10
|
-
Generate images from text prompts
|
|
10
|
+
Generate images from text prompts. Images are saved to `home/images/`.
|
|
11
11
|
|
|
12
|
-
Model IDs are provider-prefixed
|
|
12
|
+
Model IDs are provider-prefixed, e.g. `replicate:owner/model`, `openrouter:owner/model`, `openai-codex:gpt-image-2`, or `xai:grok-imagine-image`. Which providers are available depends on what your host has configured.
|
|
13
|
+
|
|
14
|
+
## Generation is asynchronous
|
|
15
|
+
|
|
16
|
+
`generate` waits up to ~30 seconds for the image. Fast models finish in that window and print `saved: <path>` right away. Slower models (e.g. `gpt-image-2`) keep going **in the background**: the command returns immediately with
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
still generating (job <id>) — I'll be notified when it's done. Check anytime: imagegen status <id>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
You don't have to wait or poll — when a background image finishes, you're notified automatically with an `image ready: <path>` event. You can also run `imagegen status <id>` yourself to check.
|
|
13
23
|
|
|
14
24
|
## Commands
|
|
15
25
|
|
|
@@ -19,7 +29,8 @@ imagegen <command>
|
|
|
19
29
|
|
|
20
30
|
| Command | Description |
|
|
21
31
|
|---------|-------------|
|
|
22
|
-
| `generate "prompt" [--model M] [--filename F]` | Generate an image
|
|
32
|
+
| `generate "prompt" [--model M] [--filename F]` | Generate an image. Returns `saved: <path>` if it finishes quickly, otherwise a job id to check later. Default model: `replicate:prunaai/z-image-turbo`. |
|
|
33
|
+
| `status <jobId>` | Check a background generation job. Prints `saved: <path>`, `still generating`, or `failed: <reason>`. |
|
|
23
34
|
| `models "query"` | Search configured providers for text-to-image models. |
|
|
24
35
|
|
|
25
36
|
## Examples
|
|
@@ -37,6 +48,12 @@ imagegen generate "a mountain landscape" --model openrouter:openai/gpt-image-1
|
|
|
37
48
|
# Specify a filename
|
|
38
49
|
imagegen generate "mountain landscape" --filename mountains
|
|
39
50
|
|
|
51
|
+
# Generate with a ChatGPT subscription (if your host configured openai-codex)
|
|
52
|
+
imagegen generate "a friendly robot mascot" --model openai-codex:gpt-image-2
|
|
53
|
+
|
|
54
|
+
# Check a background job you started earlier
|
|
55
|
+
imagegen status 6f1e2c34-...
|
|
56
|
+
|
|
40
57
|
# Search for models
|
|
41
58
|
imagegen models "text to image"
|
|
42
59
|
```
|