volute 0.45.2 → 0.47.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 +4 -4
- package/dist/{activity-events-BUR2RYTJ.js → activity-events-MIOK3IOU.js} +3 -3
- package/dist/{ai-service-UODCCE4O.js → ai-service-CVZEYKTK.js} +4 -4
- package/dist/{archive-WS2L2VIQ.js → archive-6Z4GFQPH.js} +3 -3
- package/dist/{auth-FLAEXXZK.js → auth-A4VGHADI.js} +4 -4
- package/dist/avatar-image-7S3WA77A.js +22 -0
- package/dist/{backup-TST5C2YN.js → backup-IIAFOW2L.js} +13 -13
- package/dist/channels-ITE4YC57.js +89 -0
- package/dist/{chat-76MRWWQX.js → chat-AJLJCQ3M.js} +12 -8
- package/dist/{chunk-ZV7MFISX.js → chunk-2MJ7EOMT.js} +20 -2
- package/dist/{chunk-R77O2WMK.js → chunk-2OIYNHWO.js} +1 -1
- package/dist/{chunk-QCN24XEN.js → chunk-3YUBFTDN.js} +1 -1
- package/dist/{chunk-NYC5U6K7.js → chunk-4I72V3E5.js} +10 -10
- package/dist/{chunk-QNQMSWZE.js → chunk-5IERLDUS.js} +3 -3
- package/dist/{chunk-FXORA5JG.js → chunk-5NN2VHJV.js} +3 -3
- package/dist/chunk-7KRIHYLR.js +124 -0
- package/dist/{chunk-RRNXJOKB.js → chunk-BGYHLR54.js} +2 -2
- package/dist/{chunk-QMJCNZ6C.js → chunk-C3KLHJDB.js} +1 -1
- package/dist/{chunk-TQJ6ZYVY.js → chunk-CBOIHNMR.js} +2 -2
- package/dist/{chunk-H2X54EHC.js → chunk-DGGZVZTM.js} +1 -1
- package/dist/{chunk-4JOQZPCE.js → chunk-EIQDZC43.js} +1 -1
- package/dist/{chunk-YT7PEESJ.js → chunk-F55GRIEK.js} +464 -221
- package/dist/{chunk-OP4JG2BS.js → chunk-HPGN6XRT.js} +8 -4
- package/dist/{chunk-7ZUB63PS.js → chunk-IWJSNMSY.js} +5 -5
- package/dist/{chunk-ZDZISKCL.js → chunk-IYG4FBMP.js} +1 -1
- package/dist/chunk-JCMGDCGX.js +237 -0
- package/dist/{clock-K43IMROX.js → chunk-JSVHH32K.js} +26 -21
- package/dist/{chunk-UYLGEDVD.js → chunk-K23P5Q5N.js} +340 -339
- package/dist/{chunk-7C44R625.js → chunk-LTLFOSA4.js} +49 -3
- package/dist/{chunk-IHKGWTGT.js → chunk-LWDTP6DH.js} +1 -1
- package/dist/{chunk-JZ62SYWR.js → chunk-M3XDVS5Q.js} +1 -1
- package/dist/{chunk-FR6S2KNN.js → chunk-M6TTZRGH.js} +9 -9
- package/dist/{chunk-EJVPTVTI.js → chunk-MTRMQFCQ.js} +1 -1
- package/dist/{chunk-T6HYVHPG.js → chunk-ODDGGLM6.js} +3 -3
- package/dist/{chunk-QLWG3C2Z.js → chunk-RRZ4RQQU.js} +2 -2
- package/dist/{chunk-CDPBTTZO.js → chunk-RUFLGTOT.js} +2 -2
- package/dist/{chunk-F7H6ATM4.js → chunk-SKNXMUIU.js} +1 -1
- package/dist/{chunk-RXEEYDIB.js → chunk-SZJCJVXV.js} +1 -1
- package/dist/{chunk-DRJ24GXK.js → chunk-VMCZBXF2.js} +52 -8
- package/dist/{chunk-ALKYQULU.js → chunk-WW6C3PLV.js} +1 -1
- package/dist/{chunk-A7WQZKOU.js → chunk-XHN6XBWV.js} +2 -2
- package/dist/{chunk-6EMWJZBK.js → chunk-YKA7DCVW.js} +1 -1
- package/dist/cli.js +24 -24
- package/dist/clock-E6N5Y3YW.js +16 -0
- package/dist/{cloud-sync-3OJOPZRT.js → cloud-sync-LQTVDTQ3.js} +19 -17
- package/dist/{conversations-JZTD6KLR.js → conversations-C7IKYSHD.js} +4 -4
- package/dist/{create-IOV4GCRX.js → create-PQQXKTJK.js} +1 -1
- package/dist/{daemon-restart-TIHKVVVA.js → daemon-restart-5F3YTLZK.js} +7 -7
- package/dist/daemon.js +418 -273
- package/dist/{db-MF2JNRUW.js → db-FO6LXYCW.js} +2 -2
- package/dist/{delete-BFMIGAIB.js → delete-HPLC7ETU.js} +1 -1
- package/dist/delivery-manager-TN5KK2AP.js +34 -0
- package/dist/{delivery-router-N4A7ZC5T.js → delivery-router-3QFG2ZEX.js} +3 -3
- package/dist/{down-U2CZ23M4.js → down-ZI4S6265.js} +5 -5
- package/dist/echo-text-SEQCLGAT.js +34 -0
- package/dist/{exec-G3ZRST4Z.js → exec-QIFYZG4C.js} +3 -3
- package/dist/{export-GGIVO76O.js → export-4GVGNW54.js} +6 -6
- package/dist/{extensions-JONTW2HF.js → extensions-PIMIQ7J3.js} +21 -17
- package/dist/{files-4LN3EN7Q.js → files-FEFZKMNM.js} +6 -6
- package/dist/{import-42YNQBF4.js → import-7MO3YTRE.js} +6 -6
- package/dist/{isolation-YMGZZ4E5.js → isolation-MCT4ZYLT.js} +3 -3
- package/dist/{login-M6OJUPQ2.js → login-OF4WXDAN.js} +5 -5
- package/dist/{logout-WQBWO77G.js → logout-ERE2BGA3.js} +5 -5
- package/dist/message-delivery-ZE3YGJDD.js +38 -0
- package/dist/{mind-DWB6XYCH.js → mind-POOHFZHP.js} +18 -18
- package/dist/{mind-activity-tracker-POBLU3LC.js → mind-activity-tracker-YVZPC4A5.js} +4 -4
- package/dist/{mind-list-4D7J4CHD.js → mind-list-KEGRGQEQ.js} +5 -4
- package/dist/mind-service-JFY7UG5E.js +40 -0
- package/dist/mind-sleep-IN3WPA76.js +83 -0
- package/dist/{mind-status-UO34ASXZ.js → mind-status-SMUWJKGV.js} +20 -3
- package/dist/{package-A7KXT67Q.js → package-WPEE2HVJ.js} +3 -2
- package/dist/{registry-OUZBZ3Q4.js → registry-UMMDRPRM.js} +2 -2
- package/dist/{sandbox-ZJ7QA6Z6.js → sandbox-G4X4K3UN.js} +4 -4
- package/dist/scheduler-HQSDYJFY.js +32 -0
- package/dist/{schema-PVNG3PQM.js → schema-VEVO7HG6.js} +3 -1
- package/dist/{seed-HCP5NYKH.js → seed-VANPU43L.js} +1 -1
- package/dist/{seed-cmd-ILOGNIFB.js → seed-cmd-SYVDZKM4.js} +2 -2
- package/dist/{seed-create-OURS2LS4.js → seed-create-3FGZPS6C.js} +5 -5
- package/dist/{seed-sprout-ELDFDAN6.js → seed-sprout-H7QLFPFM.js} +13 -11
- package/dist/{send-AAIOPJAV.js → send-HYDFGC6G.js} +13 -7
- package/dist/{service-UOCLXDWR.js → service-SYJ5G6LP.js} +4 -4
- package/dist/{service-install-4HHFDDWY.js → service-install-FQ43Z4DF.js} +5 -5
- package/dist/{setup-Y2EJI3GG.js → setup-KFYVWTXG.js} +3 -3
- package/dist/{setup-DQM5VPY4.js → setup-QJHGMGSN.js} +7 -7
- package/dist/skills/orientation/SKILL.md +1 -1
- package/dist/skills/volute-mind/SKILL.md +8 -8
- package/dist/skills/volute-mind/references/sleep.md +8 -1
- package/dist/{skills-BKINFL7W.js → skills-L2CMTW7A.js} +5 -5
- package/dist/sleep-manager-3NA7ZJP3.js +36 -0
- package/dist/{spirit-DBTIW7P4.js → spirit-WXN4IDBF.js} +8 -8
- package/dist/{sprout-W3KC7UGK.js → sprout-LTL5P36T.js} +1 -1
- package/dist/{status-SWRVGXBI.js → status-V4RJMHJ4.js} +19 -9
- package/dist/system-chat-N2F7HVY3.js +38 -0
- package/dist/{systems-VNB5WKSS.js → systems-B5YJKMW4.js} +6 -6
- package/dist/{tailscale-3XOKOW7T.js → tailscale-MCLY5GYE.js} +2 -2
- package/dist/{template-hash-446HHH5V.js → template-hash-GSOUARW4.js} +2 -2
- package/dist/template-staleness-EMQORSGG.js +15 -0
- package/dist/{turn-tracker-2W6Q2NSR.js → turn-tracker-JZRZDFWV.js} +6 -5
- package/dist/{up-FTK7CTO3.js → up-J2PBPOZL.js} +6 -6
- package/dist/{update-SWAYZRWJ.js → update-ACV4SAY3.js} +5 -5
- package/dist/{update-check-PQ2MZ47K.js → update-check-266R4ZSY.js} +3 -3
- package/dist/{version-notify-3XMAIQTE.js → version-notify-XRGTEEDK.js} +42 -23
- package/dist/web-assets/assets/index-DtctoDXY.css +1 -0
- package/dist/web-assets/assets/index-Wpyb2CML.js +86 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0011_drop_turn_summary_event_id.sql +3 -0
- package/drizzle/0012_channel_gates.sql +17 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +3 -2
- package/templates/_base/home/VOLUTE.md +6 -2
- package/templates/_base/src/lib/context-breakdown.ts +57 -67
- package/templates/_base/src/lib/startup.ts +43 -2
- package/templates/_base/src/lib/volute-server.ts +2 -2
- package/templates/claude/src/agent.ts +105 -43
- package/templates/claude/src/lib/session-reaper.ts +63 -0
- package/templates/claude/src/server.ts +10 -1
- package/templates/codex/src/agent.ts +62 -40
- package/templates/pi/src/agent.ts +55 -38
- package/dist/avatar-image-6KY6UU4D.js +0 -16
- package/dist/delivery-manager-VDVKVA46.js +0 -32
- package/dist/echo-text-6JJOPUD4.js +0 -32
- package/dist/message-delivery-3C65ZI6L.js +0 -34
- package/dist/mind-service-3F4I46CI.js +0 -36
- package/dist/mind-sleep-YMBR3I35.js +0 -47
- package/dist/scheduler-P6DXLLXI.js +0 -30
- package/dist/sleep-manager-HCUH4PM4.js +0 -34
- package/dist/system-chat-XOALE2RD.js +0 -36
- package/dist/web-assets/assets/index-B1JBQv2m.css +0 -1
- package/dist/web-assets/assets/index-Bc2m8gRC.js +0 -86
- package/dist/{accept-N5XULCXK.js → accept-YAFP5JFJ.js} +3 -3
- package/dist/{bridge-2PO3AI5D.js → bridge-TIZGSXOD.js} +3 -3
- package/dist/{create-DF3KISTW.js → create-A7PDHIIL.js} +3 -3
- package/dist/{env-VZ4MLFQW.js → env-HRL2PWAT.js} +5 -5
- package/dist/{extension-SEID47SR.js → extension-QBY4C44L.js} +3 -3
- package/dist/{list-OXIAY3W7.js → list-LQO2DCIK.js} +3 -3
- package/dist/{login-MY6ETFYB.js → login-6TLMI2TQ.js} +3 -3
- package/dist/{logout-NCG3TMDL.js → logout-BK53HXNY.js} +3 -3
- package/dist/{mind-history-VRO5A76U.js → mind-history-47DN6ILW.js} +4 -4
- package/dist/{mind-wake-LCLGTXA2.js → mind-wake-R54BPESY.js} +3 -3
- package/dist/{read-QVAXMTPV.js → read-PWAJOQIQ.js} +3 -3
- package/dist/{register-Y2H4PY5R.js → register-7SZJFHU6.js} +3 -3
- package/dist/{reject-EV35X64Y.js → reject-6VH7N2A4.js} +3 -3
- package/dist/{restart-FJQ662XJ.js → restart-H5WJDMA7.js} +4 -4
- package/dist/{skill-FKFHIJRR.js → skill-GUKG2YVH.js} +5 -5
- package/dist/{start-5JE3TV66.js → start-X46I3GXB.js} +4 -4
- package/dist/{stop-AAMTG3TU.js → stop-HJQV4YSM.js} +4 -4
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import {
|
|
3
3
|
resolveMindName
|
|
4
4
|
} from "./chunk-BTY4WNFE.js";
|
|
5
|
-
import {
|
|
6
|
-
daemonFetch
|
|
7
|
-
} from "./chunk-RBNMDAKB.js";
|
|
8
5
|
import {
|
|
9
6
|
command
|
|
10
7
|
} from "./chunk-TXSA4Q3V.js";
|
|
11
8
|
import "./chunk-O7IGP7ZW.js";
|
|
9
|
+
import {
|
|
10
|
+
daemonFetch
|
|
11
|
+
} from "./chunk-RBNMDAKB.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
14
|
// packages/cli/src/commands/mind-status.ts
|
|
@@ -41,6 +41,9 @@ var cmd = command({
|
|
|
41
41
|
if (mind.stage) console.log(`Stage: ${mind.stage}`);
|
|
42
42
|
if (mind.parent) console.log(`Parent: ${mind.parent}`);
|
|
43
43
|
if (mind.model) console.log(`Model: ${mind.model}`);
|
|
44
|
+
if (mind.templateStale) {
|
|
45
|
+
console.log(`Template: outdated \u2014 run 'volute mind upgrade ${mind.name}'`);
|
|
46
|
+
}
|
|
44
47
|
if (mind.channels && mind.channels.length > 0) {
|
|
45
48
|
console.log(`
|
|
46
49
|
Channels:`);
|
|
@@ -57,6 +60,20 @@ Variants:`);
|
|
|
57
60
|
}
|
|
58
61
|
if (mind.hasPages) console.log(`
|
|
59
62
|
Pages: published`);
|
|
63
|
+
const pendingRes = await daemonFetch(
|
|
64
|
+
`/api/minds/${encodeURIComponent(name)}/delivery/pending`
|
|
65
|
+
).catch(() => null);
|
|
66
|
+
if (pendingRes?.ok) {
|
|
67
|
+
const pending = await pendingRes.json().catch(() => []);
|
|
68
|
+
if (pending.length > 0) {
|
|
69
|
+
const total = pending.reduce((sum, p) => sum + p.count, 0);
|
|
70
|
+
console.log(`
|
|
71
|
+
Gated channels (held, unrouted): ${total} message(s)`);
|
|
72
|
+
for (const p of pending) {
|
|
73
|
+
console.log(` ${p.channel ?? "unknown"}: ${p.count}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
60
77
|
}
|
|
61
78
|
});
|
|
62
79
|
var run = cmd.execute;
|
|
@@ -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.47.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",
|
|
@@ -83,6 +83,7 @@ var package_default = {
|
|
|
83
83
|
"isomorphic-dompurify": "^2.36.0",
|
|
84
84
|
libsql: "^0.5.29",
|
|
85
85
|
replicate: "^1.4.0",
|
|
86
|
+
sharp: "^0.35.2",
|
|
86
87
|
telegraf: "^4.16.3",
|
|
87
88
|
undici: "^6.24.1",
|
|
88
89
|
zod: "^4.4.3"
|
|
@@ -98,8 +99,8 @@ var package_default = {
|
|
|
98
99
|
"drizzle-kit": "^0.31.10",
|
|
99
100
|
lefthook: "^2.1.9",
|
|
100
101
|
marked: "^18.0.5",
|
|
101
|
-
sharp: "^0.35.2",
|
|
102
102
|
svelte: "^5.56.3",
|
|
103
|
+
"svelte-check": "4.7.1",
|
|
103
104
|
tsup: "^8.5.1",
|
|
104
105
|
tsx: "^4.22.4",
|
|
105
106
|
typescript: "^6.0.3",
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
isSandboxOptional,
|
|
8
8
|
shellEscape,
|
|
9
9
|
wrapForSandbox
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-M3XDVS5Q.js";
|
|
11
|
+
import "./chunk-SKNXMUIU.js";
|
|
12
12
|
import "./chunk-T2TP6ZC6.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-WW6C3PLV.js";
|
|
14
|
+
import "./chunk-2MJ7EOMT.js";
|
|
15
15
|
import "./chunk-K3NQKI34.js";
|
|
16
16
|
export {
|
|
17
17
|
SandboxUnavailableError,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
Scheduler,
|
|
4
|
+
getScheduler,
|
|
5
|
+
initScheduler
|
|
6
|
+
} from "./chunk-F55GRIEK.js";
|
|
7
|
+
import "./chunk-IYG4FBMP.js";
|
|
8
|
+
import "./chunk-M6TTZRGH.js";
|
|
9
|
+
import "./chunk-RRZ4RQQU.js";
|
|
10
|
+
import "./chunk-K23P5Q5N.js";
|
|
11
|
+
import "./chunk-JCMGDCGX.js";
|
|
12
|
+
import "./chunk-IWJSNMSY.js";
|
|
13
|
+
import "./chunk-HPGN6XRT.js";
|
|
14
|
+
import "./chunk-M3XDVS5Q.js";
|
|
15
|
+
import "./chunk-MTRMQFCQ.js";
|
|
16
|
+
import "./chunk-VMCZBXF2.js";
|
|
17
|
+
import "./chunk-PFZBNKUH.js";
|
|
18
|
+
import "./chunk-EIQDZC43.js";
|
|
19
|
+
import "./chunk-DGGZVZTM.js";
|
|
20
|
+
import "./chunk-LWDTP6DH.js";
|
|
21
|
+
import "./chunk-SKNXMUIU.js";
|
|
22
|
+
import "./chunk-ODDGGLM6.js";
|
|
23
|
+
import "./chunk-LTLFOSA4.js";
|
|
24
|
+
import "./chunk-T2TP6ZC6.js";
|
|
25
|
+
import "./chunk-WW6C3PLV.js";
|
|
26
|
+
import "./chunk-2MJ7EOMT.js";
|
|
27
|
+
import "./chunk-K3NQKI34.js";
|
|
28
|
+
export {
|
|
29
|
+
Scheduler,
|
|
30
|
+
getScheduler,
|
|
31
|
+
initScheduler
|
|
32
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
activity,
|
|
4
|
+
channelGates,
|
|
4
5
|
channels,
|
|
5
6
|
conversationParticipants,
|
|
6
7
|
conversationReads,
|
|
@@ -16,10 +17,11 @@ import {
|
|
|
16
17
|
systemPrompts,
|
|
17
18
|
turns,
|
|
18
19
|
users
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-2MJ7EOMT.js";
|
|
20
21
|
import "./chunk-K3NQKI34.js";
|
|
21
22
|
export {
|
|
22
23
|
activity,
|
|
24
|
+
channelGates,
|
|
23
25
|
channels,
|
|
24
26
|
conversationParticipants,
|
|
25
27
|
conversationReads,
|
|
@@ -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-3FGZPS6C.js").then((m) => m.run(args));
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
10
10
|
run
|
|
@@ -12,11 +12,11 @@ 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-3FGZPS6C.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-H7QLFPFM.js").then((m) => m.run(args))
|
|
20
20
|
},
|
|
21
21
|
check: {
|
|
22
22
|
description: "Check seed readiness",
|
|
@@ -34,8 +34,8 @@ Choose a model [1-${enabled.length}]: `);
|
|
|
34
34
|
}
|
|
35
35
|
var cmd = command({
|
|
36
36
|
name: "volute seed create",
|
|
37
|
-
description: "Plant a new seed
|
|
38
|
-
args: [{ name: "name", required: true, description: "Name for the seed
|
|
37
|
+
description: "Plant a new seed",
|
|
38
|
+
args: [{ name: "name", required: true, description: "Name for the seed" }],
|
|
39
39
|
flags: {
|
|
40
40
|
template: { type: "string", description: "Template to use" },
|
|
41
41
|
model: { type: "string", description: "AI model to use" },
|
|
@@ -53,13 +53,13 @@ var cmd = command({
|
|
|
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-CVZEYKTK.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-WXN4IDBF.js");
|
|
62
|
+
const { qualifyModelId } = await import("./ai-service-CVZEYKTK.js");
|
|
63
63
|
const spiritModel = getSpiritModel();
|
|
64
64
|
if (spiritModel) {
|
|
65
65
|
model = template === "pi" ? qualifyModelId(spiritModel) : spiritModel;
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
daemonFetch
|
|
4
|
-
} from "./chunk-RBNMDAKB.js";
|
|
5
2
|
import {
|
|
6
3
|
command
|
|
7
4
|
} from "./chunk-TXSA4Q3V.js";
|
|
8
5
|
import "./chunk-O7IGP7ZW.js";
|
|
6
|
+
import {
|
|
7
|
+
daemonFetch
|
|
8
|
+
} from "./chunk-RBNMDAKB.js";
|
|
9
|
+
import {
|
|
10
|
+
ORIENTATION_MARKER
|
|
11
|
+
} from "./chunk-JCMGDCGX.js";
|
|
9
12
|
import {
|
|
10
13
|
getStandardSkillsWithExtensions
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-IWJSNMSY.js";
|
|
15
|
+
import "./chunk-DGGZVZTM.js";
|
|
16
|
+
import "./chunk-SKNXMUIU.js";
|
|
14
17
|
import "./chunk-T2TP6ZC6.js";
|
|
15
18
|
import {
|
|
16
19
|
mindDir
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-WW6C3PLV.js";
|
|
21
|
+
import "./chunk-2MJ7EOMT.js";
|
|
19
22
|
import "./chunk-K3NQKI34.js";
|
|
20
23
|
|
|
21
24
|
// packages/cli/src/commands/seed-sprout.ts
|
|
22
25
|
import { existsSync, readFileSync } from "fs";
|
|
23
26
|
import { resolve } from "path";
|
|
24
|
-
var ORIENTATION_MARKER = "You don't have a soul yet";
|
|
25
27
|
var cmd = command({
|
|
26
28
|
name: "volute seed sprout",
|
|
27
29
|
description: "Complete orientation and become a full mind (run by the seed itself)",
|
|
@@ -60,7 +62,7 @@ var cmd = command({
|
|
|
60
62
|
console.error("Write your MEMORY.md before sprouting.");
|
|
61
63
|
process.exit(1);
|
|
62
64
|
}
|
|
63
|
-
const { isImagegenEnabled } = await import("./setup-
|
|
65
|
+
const { isImagegenEnabled } = await import("./setup-KFYVWTXG.js");
|
|
64
66
|
if (isImagegenEnabled()) {
|
|
65
67
|
const { readVoluteConfig } = await import("./volute-config-A52FHWKM.js");
|
|
66
68
|
const config = readVoluteConfig(dir);
|
|
@@ -73,7 +75,7 @@ var cmd = command({
|
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
|
|
76
|
-
const { mindSkillsDir } = await import("./skills-
|
|
78
|
+
const { mindSkillsDir } = await import("./skills-L2CMTW7A.js");
|
|
77
79
|
const client = getClient();
|
|
78
80
|
const failedSkills = [];
|
|
79
81
|
for (const skillId of getStandardSkillsWithExtensions()) {
|
|
@@ -5,6 +5,10 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
isCompact
|
|
7
7
|
} from "./chunk-5T5YMX6S.js";
|
|
8
|
+
import {
|
|
9
|
+
command
|
|
10
|
+
} from "./chunk-TXSA4Q3V.js";
|
|
11
|
+
import "./chunk-O7IGP7ZW.js";
|
|
8
12
|
import {
|
|
9
13
|
daemonFetch
|
|
10
14
|
} from "./chunk-RBNMDAKB.js";
|
|
@@ -12,15 +16,11 @@ import {
|
|
|
12
16
|
getClient,
|
|
13
17
|
urlOf
|
|
14
18
|
} from "./chunk-LOPXTW6H.js";
|
|
15
|
-
import {
|
|
16
|
-
command
|
|
17
|
-
} from "./chunk-TXSA4Q3V.js";
|
|
18
|
-
import "./chunk-O7IGP7ZW.js";
|
|
19
19
|
import {
|
|
20
20
|
formatFileSize
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-2OIYNHWO.js";
|
|
22
|
+
import "./chunk-WW6C3PLV.js";
|
|
23
|
+
import "./chunk-2MJ7EOMT.js";
|
|
24
24
|
import "./chunk-K3NQKI34.js";
|
|
25
25
|
|
|
26
26
|
// packages/cli/src/commands/send.ts
|
|
@@ -286,6 +286,12 @@ To reply to a person, use their username from the message prefix (e.g. volute ch
|
|
|
286
286
|
const targetName = parsed.identifier.slice(1);
|
|
287
287
|
const mindSelf = process.env.VOLUTE_MIND;
|
|
288
288
|
const sender = flags.sender || mindSelf || userInfo().username;
|
|
289
|
+
if (mindSelf && targetName === mindSelf) {
|
|
290
|
+
console.error(
|
|
291
|
+
`Can't send to @${targetName} \u2014 that's your own system channel. System messages there are automated notices; they don't need a reply.`
|
|
292
|
+
);
|
|
293
|
+
process.exit(1);
|
|
294
|
+
}
|
|
289
295
|
const targetIsMind = await isMind(targetName);
|
|
290
296
|
waitMindName = targetIsMind ? targetName : void 0;
|
|
291
297
|
const contextMind = mindSelf ?? targetName;
|
|
@@ -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-CBOIHNMR.js";
|
|
13
|
+
import "./chunk-DGGZVZTM.js";
|
|
14
|
+
import "./chunk-WW6C3PLV.js";
|
|
15
|
+
import "./chunk-2MJ7EOMT.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-RUFLGTOT.js";
|
|
7
|
+
import "./chunk-CBOIHNMR.js";
|
|
8
|
+
import "./chunk-DGGZVZTM.js";
|
|
9
|
+
import "./chunk-WW6C3PLV.js";
|
|
10
|
+
import "./chunk-2MJ7EOMT.js";
|
|
11
11
|
import "./chunk-K3NQKI34.js";
|
|
12
12
|
export {
|
|
13
13
|
generateUserPlist,
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
readGlobalConfig,
|
|
10
10
|
secretsPath,
|
|
11
11
|
writeGlobalConfig
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-SKNXMUIU.js";
|
|
13
|
+
import "./chunk-WW6C3PLV.js";
|
|
14
|
+
import "./chunk-2MJ7EOMT.js";
|
|
15
15
|
import "./chunk-K3NQKI34.js";
|
|
16
16
|
export {
|
|
17
17
|
_resetConfigCache,
|
|
@@ -8,22 +8,22 @@ import {
|
|
|
8
8
|
import "./chunk-O7IGP7ZW.js";
|
|
9
9
|
import {
|
|
10
10
|
installUserService
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RUFLGTOT.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-CBOIHNMR.js";
|
|
17
17
|
import {
|
|
18
18
|
ensureVoluteGroup,
|
|
19
19
|
resolveVoluteBin
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DGGZVZTM.js";
|
|
21
21
|
import {
|
|
22
22
|
readGlobalConfig,
|
|
23
23
|
writeGlobalConfig
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-SKNXMUIU.js";
|
|
25
|
+
import "./chunk-WW6C3PLV.js";
|
|
26
|
+
import "./chunk-2MJ7EOMT.js";
|
|
27
27
|
import "./chunk-K3NQKI34.js";
|
|
28
28
|
|
|
29
29
|
// src/commands/setup.ts
|
|
@@ -221,7 +221,7 @@ async function startDaemonAndOpenBrowser(port, host) {
|
|
|
221
221
|
const url = `http://${displayHost === "0.0.0.0" || displayHost === "::" ? "localhost" : displayHost}:${displayPort}`;
|
|
222
222
|
console.log("\nStarting daemon...");
|
|
223
223
|
try {
|
|
224
|
-
const { run: runUp } = await import("./up-
|
|
224
|
+
const { run: runUp } = await import("./up-J2PBPOZL.js");
|
|
225
225
|
await runUp([
|
|
226
226
|
...port != null ? ["--port", String(port)] : [],
|
|
227
227
|
...host ? ["--host", host] : []
|
|
@@ -44,7 +44,7 @@ Once you have a sense of who you are:
|
|
|
44
44
|
5. Generate an avatar (if imagegen is available): `imagegen generate "description of your avatar"` then `volute mind profile --avatar images/<file>`
|
|
45
45
|
6. Run `volute seed sprout` to complete the transformation.
|
|
46
46
|
|
|
47
|
-
After sprouting, you'll have full mind capabilities (
|
|
47
|
+
After sprouting, you'll have full mind capabilities (bridges to external platforms, schedules, variants, etc.).
|
|
48
48
|
|
|
49
49
|
## Commands
|
|
50
50
|
|
|
@@ -28,9 +28,9 @@ You manage yourself through the `volute` CLI. Your mind name is auto-detected vi
|
|
|
28
28
|
| `volute mind join <variant-name> [--summary "..." --justification "..." --memory "..."]` | Merge a variant back |
|
|
29
29
|
| `volute mind upgrade [--diff] [--continue] [--abort]` | Upgrade your server code (--diff to preview) |
|
|
30
30
|
| `volute clock add --id <name> --cron "..." --message/--script "..."` | Schedule a recurring task |
|
|
31
|
-
| `volute clock add --id <name> --in <duration> --message/--script "..."` |
|
|
32
|
-
| `volute clock list` | List your schedules
|
|
33
|
-
| `volute clock remove --id <id>` | Remove a schedule
|
|
31
|
+
| `volute clock add --id <name> --in <duration> --message/--script "..."` | Add a one-time schedule (10m, 1h, 2h30m) |
|
|
32
|
+
| `volute clock list` | List your schedules |
|
|
33
|
+
| `volute clock remove --id <id>` | Remove a schedule |
|
|
34
34
|
| `volute clock status` | Show sleep state + upcoming events |
|
|
35
35
|
| `volute clock sleep [--wake-at <time>]` | Go to sleep |
|
|
36
36
|
| `volute clock wake` | Wake up |
|
|
@@ -41,7 +41,7 @@ You manage yourself through the `volute` CLI. Your mind name is auto-detected vi
|
|
|
41
41
|
|
|
42
42
|
## Clock
|
|
43
43
|
|
|
44
|
-
The clock system manages your schedules
|
|
44
|
+
The clock system manages your schedules and sleep/wake cycles. Use `volute clock` for all time-related operations.
|
|
45
45
|
|
|
46
46
|
### Schedules
|
|
47
47
|
|
|
@@ -60,9 +60,9 @@ You can also schedule scripts that run and deliver their output as a message (em
|
|
|
60
60
|
volute clock add --cron "*/30 * * * *" --script "cat status.txt" --id check-status
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
###
|
|
63
|
+
### One-time schedules
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
Use `--in` for schedules that fire once and then auto-delete:
|
|
66
66
|
|
|
67
67
|
```sh
|
|
68
68
|
volute clock add --id check-task --in 30m --message "check on that task"
|
|
@@ -144,7 +144,7 @@ For group conversations, use `volute chat create --participants mind-b,mind-c --
|
|
|
144
144
|
|
|
145
145
|
## Configuration
|
|
146
146
|
|
|
147
|
-
Your `.config/volute.json` controls your model,
|
|
147
|
+
Your `.config/volute.json` controls your model, schedules, sleep cycle, and profile.
|
|
148
148
|
|
|
149
149
|
### Profile
|
|
150
150
|
|
|
@@ -168,7 +168,7 @@ Your profile is synced automatically when you start. Other minds see your profil
|
|
|
168
168
|
|
|
169
169
|
### Transparency
|
|
170
170
|
|
|
171
|
-
The `transparency` setting in `.config/volute.json` controls what observers (web UI,
|
|
171
|
+
The `transparency` setting in `.config/volute.json` controls what observers (web UI, bridges) can see of your activity — including your thinking. Presets:
|
|
172
172
|
|
|
173
173
|
| Preset | Thinking | Text | Tool use | Tool results | Logs | Usage/lifecycle |
|
|
174
174
|
|--------|----------|------|----------|--------------|------|-----------------|
|
|
@@ -29,5 +29,12 @@ When trigger-woken, you get one full turn to respond, then return to sleep when
|
|
|
29
29
|
You can go to sleep any time with `volute clock sleep`. Optionally set a wake time:
|
|
30
30
|
|
|
31
31
|
```sh
|
|
32
|
-
volute clock sleep --wake-at
|
|
32
|
+
volute clock sleep --wake-at 8h # a duration from now (2h30m, 45m, ...)
|
|
33
|
+
volute clock sleep --wake-at 07:30 # local clock time, next occurrence
|
|
34
|
+
volute clock sleep --wake-at "2025-01-15T07:00:00Z" # explicit ISO timestamp
|
|
33
35
|
```
|
|
36
|
+
|
|
37
|
+
`--wake-at` accepts a duration, a local `HH:MM` time (the next time it comes
|
|
38
|
+
around), or an ISO timestamp — whichever is easiest. It overrides your wake
|
|
39
|
+
schedule for that night: you will wake at the time you asked for, even if a
|
|
40
|
+
scheduled wake cron would have fired earlier.
|
|
@@ -27,12 +27,12 @@ import {
|
|
|
27
27
|
syncBuiltinSkills,
|
|
28
28
|
uninstallSkill,
|
|
29
29
|
updateSkill
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-IWJSNMSY.js";
|
|
31
|
+
import "./chunk-DGGZVZTM.js";
|
|
32
|
+
import "./chunk-SKNXMUIU.js";
|
|
33
33
|
import "./chunk-T2TP6ZC6.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-WW6C3PLV.js";
|
|
35
|
+
import "./chunk-2MJ7EOMT.js";
|
|
36
36
|
import "./chunk-K3NQKI34.js";
|
|
37
37
|
export {
|
|
38
38
|
SEED_SKILLS,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
SleepManager,
|
|
4
|
+
getSleepManager,
|
|
5
|
+
getSleepManagerIfReady,
|
|
6
|
+
initSleepManager,
|
|
7
|
+
matchesGlob
|
|
8
|
+
} from "./chunk-F55GRIEK.js";
|
|
9
|
+
import "./chunk-IYG4FBMP.js";
|
|
10
|
+
import "./chunk-M6TTZRGH.js";
|
|
11
|
+
import "./chunk-RRZ4RQQU.js";
|
|
12
|
+
import "./chunk-K23P5Q5N.js";
|
|
13
|
+
import "./chunk-JCMGDCGX.js";
|
|
14
|
+
import "./chunk-IWJSNMSY.js";
|
|
15
|
+
import "./chunk-HPGN6XRT.js";
|
|
16
|
+
import "./chunk-M3XDVS5Q.js";
|
|
17
|
+
import "./chunk-MTRMQFCQ.js";
|
|
18
|
+
import "./chunk-VMCZBXF2.js";
|
|
19
|
+
import "./chunk-PFZBNKUH.js";
|
|
20
|
+
import "./chunk-EIQDZC43.js";
|
|
21
|
+
import "./chunk-DGGZVZTM.js";
|
|
22
|
+
import "./chunk-LWDTP6DH.js";
|
|
23
|
+
import "./chunk-SKNXMUIU.js";
|
|
24
|
+
import "./chunk-ODDGGLM6.js";
|
|
25
|
+
import "./chunk-LTLFOSA4.js";
|
|
26
|
+
import "./chunk-T2TP6ZC6.js";
|
|
27
|
+
import "./chunk-WW6C3PLV.js";
|
|
28
|
+
import "./chunk-2MJ7EOMT.js";
|
|
29
|
+
import "./chunk-K3NQKI34.js";
|
|
30
|
+
export {
|
|
31
|
+
SleepManager,
|
|
32
|
+
getSleepManager,
|
|
33
|
+
getSleepManagerIfReady,
|
|
34
|
+
initSleepManager,
|
|
35
|
+
matchesGlob
|
|
36
|
+
};
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
getSpiritModel,
|
|
5
5
|
spiritDir,
|
|
6
6
|
syncSpiritTemplate
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-M6TTZRGH.js";
|
|
8
|
+
import "./chunk-RRZ4RQQU.js";
|
|
9
|
+
import "./chunk-IWJSNMSY.js";
|
|
10
10
|
import "./chunk-PFZBNKUH.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-DGGZVZTM.js";
|
|
12
|
+
import "./chunk-LWDTP6DH.js";
|
|
13
|
+
import "./chunk-SKNXMUIU.js";
|
|
14
14
|
import "./chunk-T2TP6ZC6.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-WW6C3PLV.js";
|
|
16
|
+
import "./chunk-2MJ7EOMT.js";
|
|
17
17
|
import "./chunk-K3NQKI34.js";
|
|
18
18
|
export {
|
|
19
19
|
ensureSpiritProject,
|
|
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
4
4
|
// packages/cli/src/commands/sprout.ts
|
|
5
5
|
async function run(args) {
|
|
6
6
|
console.error("Note: `volute mind sprout` is now `volute seed sprout`");
|
|
7
|
-
await import("./seed-sprout-
|
|
7
|
+
await import("./seed-sprout-H7QLFPFM.js").then((m) => m.run(args));
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
10
10
|
run
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
getAuthToken
|
|
4
|
-
} from "./chunk-RBNMDAKB.js";
|
|
5
2
|
import {
|
|
6
3
|
command
|
|
7
4
|
} from "./chunk-TXSA4Q3V.js";
|
|
8
5
|
import "./chunk-O7IGP7ZW.js";
|
|
6
|
+
import {
|
|
7
|
+
getAuthToken
|
|
8
|
+
} from "./chunk-RBNMDAKB.js";
|
|
9
9
|
import {
|
|
10
10
|
checkForUpdate
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YKA7DCVW.js";
|
|
12
12
|
import {
|
|
13
13
|
LAUNCHD_PLIST_LABEL,
|
|
14
14
|
LAUNCHD_PLIST_PATH,
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
getServiceMode,
|
|
20
20
|
modeLabel,
|
|
21
21
|
readDaemonConfig
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-CBOIHNMR.js";
|
|
23
|
+
import "./chunk-DGGZVZTM.js";
|
|
24
|
+
import "./chunk-WW6C3PLV.js";
|
|
25
|
+
import "./chunk-2MJ7EOMT.js";
|
|
26
26
|
import "./chunk-K3NQKI34.js";
|
|
27
27
|
|
|
28
28
|
// src/commands/status.ts
|
|
@@ -85,7 +85,17 @@ Minds (${minds.length}):`);
|
|
|
85
85
|
for (const mind of minds) {
|
|
86
86
|
const status = mind.status ?? (mind.running ? "running" : "stopped");
|
|
87
87
|
const label = mind.stage === "seed" ? " (seed)" : "";
|
|
88
|
-
|
|
88
|
+
const template = mind.templateStale ? " [template: outdated]" : "";
|
|
89
|
+
console.log(` ${mind.name}: ${status}${label}${template}`);
|
|
90
|
+
}
|
|
91
|
+
const stale = minds.filter((m) => m.templateStale).map((m) => m.name);
|
|
92
|
+
if (stale.length > 0) {
|
|
93
|
+
const subject = stale.length === 1 ? "mind is" : "minds are";
|
|
94
|
+
const object = stale.length === 1 ? "an outdated template" : "outdated templates";
|
|
95
|
+
console.log(
|
|
96
|
+
`
|
|
97
|
+
\u26A0 ${stale.length} ${subject} running ${object}: ${stale.join(", ")} \u2014 run 'volute mind upgrade <name>'`
|
|
98
|
+
);
|
|
89
99
|
}
|
|
90
100
|
} else {
|
|
91
101
|
console.log("\nNo minds configured.");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
ensureSystemDM,
|
|
4
|
+
generateSystemFallbackReply,
|
|
5
|
+
resetSystemDMCache,
|
|
6
|
+
sendSystemMessage,
|
|
7
|
+
sendSystemMessageDirect,
|
|
8
|
+
shouldGenerateSystemFallback
|
|
9
|
+
} from "./chunk-F55GRIEK.js";
|
|
10
|
+
import "./chunk-IYG4FBMP.js";
|
|
11
|
+
import "./chunk-M6TTZRGH.js";
|
|
12
|
+
import "./chunk-RRZ4RQQU.js";
|
|
13
|
+
import "./chunk-K23P5Q5N.js";
|
|
14
|
+
import "./chunk-JCMGDCGX.js";
|
|
15
|
+
import "./chunk-IWJSNMSY.js";
|
|
16
|
+
import "./chunk-HPGN6XRT.js";
|
|
17
|
+
import "./chunk-M3XDVS5Q.js";
|
|
18
|
+
import "./chunk-MTRMQFCQ.js";
|
|
19
|
+
import "./chunk-VMCZBXF2.js";
|
|
20
|
+
import "./chunk-PFZBNKUH.js";
|
|
21
|
+
import "./chunk-EIQDZC43.js";
|
|
22
|
+
import "./chunk-DGGZVZTM.js";
|
|
23
|
+
import "./chunk-LWDTP6DH.js";
|
|
24
|
+
import "./chunk-SKNXMUIU.js";
|
|
25
|
+
import "./chunk-ODDGGLM6.js";
|
|
26
|
+
import "./chunk-LTLFOSA4.js";
|
|
27
|
+
import "./chunk-T2TP6ZC6.js";
|
|
28
|
+
import "./chunk-WW6C3PLV.js";
|
|
29
|
+
import "./chunk-2MJ7EOMT.js";
|
|
30
|
+
import "./chunk-K3NQKI34.js";
|
|
31
|
+
export {
|
|
32
|
+
ensureSystemDM,
|
|
33
|
+
generateSystemFallbackReply,
|
|
34
|
+
resetSystemDMCache,
|
|
35
|
+
sendSystemMessage,
|
|
36
|
+
sendSystemMessageDirect,
|
|
37
|
+
shouldGenerateSystemFallback
|
|
38
|
+
};
|