volute 0.54.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{activity-events-LQII6PZS.js → activity-events-YASF46HS.js} +3 -3
- package/dist/{ai-service-YW5SWCSB.js → ai-service-3UFNG6GI.js} +3 -5
- package/dist/{archive-FOHGXHPT.js → archive-L2OFBGDQ.js} +2 -2
- package/dist/{auth-KRDSM55Q.js → auth-N2F5ASAB.js} +4 -4
- package/dist/auto-upgrade-O4MQPYQF.js +46 -0
- package/dist/{avatar-image-52WGXLHV.js → avatar-image-QEKKUFDF.js} +3 -3
- package/dist/{backup-QRNX6RK7.js → backup-TPM7QQBQ.js} +13 -13
- package/dist/{channels-CKCY64TD.js → channels-JP3GYTPX.js} +18 -18
- package/dist/{chat-ZUGNL5GS.js → chat-7YCF4ZU5.js} +3 -3
- package/dist/{chunk-QUSMYGNQ.js → chunk-2674KIGI.js} +1 -0
- package/dist/{chunk-444RR3YF.js → chunk-2B4E6SL7.js} +14 -14
- package/dist/chunk-2GATCSZK.js +520 -0
- package/dist/{chunk-I7U5EEZC.js → chunk-2LFTJNVH.js} +2 -2
- package/dist/{chunk-L7BKTZ5U.js → chunk-2QLWAYIU.js} +2 -2
- package/dist/{chunk-F6D766VQ.js → chunk-45MCH4G4.js} +2 -2
- package/dist/{chunk-OGPVJ53N.js → chunk-4RZS7XCV.js} +5 -5
- package/dist/{chunk-HKGYZVWN.js → chunk-6LICEQGP.js} +38 -4
- package/dist/{chunk-LAUCO2HC.js → chunk-APDEUAIE.js} +1 -1
- package/dist/{chunk-5Y54AE3L.js → chunk-CLH357FI.js} +2 -2
- package/dist/{chunk-OAYY3WF3.js → chunk-CVPCRWWC.js} +1 -12
- package/dist/{chunk-EGV6R6UF.js → chunk-E2SN3ZOJ.js} +5 -40
- package/dist/{chunk-LGXVGIWN.js → chunk-ELQU2GBT.js} +193 -69
- package/dist/{chunk-OT5SXF7L.js → chunk-EPRLTYJR.js} +28 -14
- package/dist/{chunk-ATZF2RNJ.js → chunk-EYFBT2KP.js} +15 -15
- package/dist/{chunk-U54PJPTB.js → chunk-FYMIGUJ5.js} +2 -2
- package/dist/{chunk-7XKPG66D.js → chunk-G7A5LEVI.js} +5 -5
- package/dist/{chunk-RGHF3OK5.js → chunk-GAAATVTM.js} +17 -17
- package/dist/{chunk-7LT3YZUR.js → chunk-I3OJ342S.js} +2 -2
- package/dist/{chunk-3LHUXY3E.js → chunk-IABDYN4N.js} +4 -4
- package/dist/{chunk-VDUCLVZI.js → chunk-IOMBP2T5.js} +28 -26
- package/dist/{chunk-YSRYCS3N.js → chunk-IQROTVBG.js} +2 -2
- package/dist/{chunk-PPSN2MLC.js → chunk-IRNM4LSF.js} +9 -6
- package/dist/{chunk-ZNHL5KQJ.js → chunk-KN3UHV7O.js} +8 -3
- package/dist/{chunk-CV6BNGFK.js → chunk-KXM4K46T.js} +4 -4
- package/dist/{chunk-Z4Q6TQWL.js → chunk-LRRPKZBD.js} +2 -2
- package/dist/{chunk-LNNI3MS4.js → chunk-MNKPAAQF.js} +9 -2
- package/dist/{chunk-OIOW3FPT.js → chunk-NA2NJXY4.js} +1 -1
- package/dist/{chunk-GLM7TVWP.js → chunk-OHHS5PSI.js} +1 -1
- package/dist/{chunk-CKPAVQNK.js → chunk-OPTA3BJ4.js} +36 -24
- package/dist/{chunk-X67BDDZR.js → chunk-P3GXOT2X.js} +48 -2
- package/dist/{chunk-WHL6PKYP.js → chunk-PAO7JZNW.js} +52 -48
- package/dist/{chunk-TPX6E6PL.js → chunk-Q5M5QFKY.js} +3 -3
- package/dist/{chunk-OYF25B62.js → chunk-T7UMSTH2.js} +3 -3
- package/dist/{chunk-H6X6CKDN.js → chunk-TAVIVN2I.js} +2 -32
- package/dist/{chunk-56IT2ZXF.js → chunk-TGYKFUCF.js} +9 -15
- package/dist/{chunk-5U5GLZSD.js → chunk-TZ7OHGNL.js} +2 -2
- package/dist/{chunk-UFTDRTCP.js → chunk-UMQP5TC5.js} +2 -2
- package/dist/{chunk-LKUGUQUW.js → chunk-UNTDRIV2.js} +5 -5
- package/dist/{chunk-CLCHOXLR.js → chunk-V2M6PNLE.js} +5 -5
- package/dist/{chunk-ICXY54ZC.js → chunk-WTZD6LFW.js} +2 -2
- package/dist/{chunk-FLIEXG2T.js → chunk-XZP3FJ7Q.js} +1 -1
- package/dist/{chunk-HTRSSOHY.js → chunk-YU5EYQAE.js} +1 -1
- package/dist/cli.js +26 -23
- package/dist/{clock-X7V3C7NL.js → clock-ZT5YT6HA.js} +2 -2
- package/dist/{cloud-sync-52YNJRMR.js → cloud-sync-RTUXMYU2.js} +23 -23
- package/dist/{conversations-ZL6PHROD.js → conversations-ERMMPMOS.js} +4 -4
- package/dist/{create-G2RIKQYK.js → create-IUCFJXCE.js} +1 -1
- package/dist/{daemon-restart-QWHN5VMU.js → daemon-restart-N2YOISNJ.js} +11 -6
- package/dist/daemon.js +230 -279
- package/dist/{db-BONH4SUG.js → db-BQFYIONA.js} +1 -1
- package/dist/{db-I4EH5SLF.js → db-JH3NTERX.js} +17 -3
- package/dist/delivery-manager-5EGCFN4K.js +41 -0
- package/dist/{delivery-notices-RZQ6GONP.js → delivery-notices-LZKZXWTX.js} +6 -6
- package/dist/{delivery-router-QS4NLJR6.js → delivery-router-U6Q22ZYU.js} +3 -3
- package/dist/doctor-225FYBAQ.js +454 -0
- package/dist/{down-UN2EDX2Y.js → down-3BQSPUAZ.js} +4 -4
- package/dist/echo-text-Y2DFTD7L.js +40 -0
- package/dist/{env-SQFCWW52.js → env-4YX5YNWZ.js} +2 -2
- package/dist/{exec-Z34TTUO3.js → exec-Y5VMDAVA.js} +2 -2
- package/dist/{export-VBNWM7I4.js → export-ASRHBMRG.js} +2 -2
- package/dist/{extensions-QT65JGV6.js → extensions-YEPEWURN.js} +27 -23
- package/dist/{files-PCKBQHAY.js → files-FASUDSZQ.js} +3 -3
- package/dist/{import-DB2KULRO.js → import-O35Y7DSF.js} +6 -6
- package/dist/{isolation-UQPDO34R.js → isolation-ZOAUXYXA.js} +2 -2
- package/dist/{login-57MMYILL.js → login-54TZQQP4.js} +5 -5
- package/dist/{logout-YFZAJRPY.js → logout-4G46Z4RU.js} +1 -1
- package/dist/message-delivery-HBTMGWFU.js +46 -0
- package/dist/{mind-CT6ANXK4.js → mind-IKMX7K7G.js} +8 -24
- package/dist/{mind-activity-tracker-QF6DCX2X.js → mind-activity-tracker-ABAEIMA3.js} +4 -4
- package/dist/mind-service-LRVOQG2T.js +48 -0
- package/dist/{mind-sleep-24HV4RCA.js → mind-sleep-LZAFBDZD.js} +2 -2
- package/dist/{package-F6S5NHY2.js → package-X5O7OD2E.js} +12 -13
- package/dist/{prompts-JECJIFPQ.js → prompts-ZNOE3KN3.js} +2 -2
- package/dist/{registry-TRC2HJXR.js → registry-BTQXLDW6.js} +1 -1
- package/dist/{sandbox-NNWCTHRI.js → sandbox-OUFAGN45.js} +3 -3
- package/dist/scheduler-G6BCIVGP.js +27 -0
- package/dist/{seed-cmd-6IMTO3LG.js → seed-cmd-BGAW3WDY.js} +2 -2
- package/dist/{seed-create-VNLDYRFK.js → seed-create-SMCPEUFQ.js} +3 -3
- package/dist/{seed-readiness-H5TTPAQH.js → seed-readiness-RBANMSWW.js} +3 -3
- package/dist/{seed-sprout-PPGYGK4G.js → seed-sprout-CSHV36N3.js} +9 -9
- package/dist/{send-UXUQKO4N.js → send-D3ADUBR5.js} +6 -6
- package/dist/{service-T4P5W6RS.js → service-SWEEBOOY.js} +3 -24
- package/dist/{service-install-R4SNYUVO.js → service-install-RCC26KDV.js} +4 -4
- package/dist/{setup-YUAQMDVZ.js → setup-L5NZG2U3.js} +5 -5
- package/dist/{setup-WZSXHHRJ.js → setup-R7Q4HFJP.js} +1 -5
- package/dist/skills/volute-mind/SKILL.md +8 -0
- package/dist/{skills-GMQ5UIIW.js → skills-BCCU4OJW.js} +4 -4
- package/dist/sleep-manager-25P44HAO.js +42 -0
- package/dist/{spirit-Q5VGFWUI.js → spirit-YPG2MU6W.js} +7 -7
- package/dist/spirit-availability-ZQM5IH4C.js +43 -0
- package/dist/{src-H3UCOP6B.js → src-246GSX7A.js} +5 -2
- package/dist/src-LOUB3WPR.js +4189 -0
- package/dist/{status-LCKTTIWS.js → status-BYPCJU6H.js} +4 -4
- package/dist/{system-events-Q7IVZ5T4.js → system-events-CWC7CBKP.js} +6 -4
- package/dist/{systems-HL7SGSW7.js → systems-VDRUZXNF.js} +2 -2
- package/dist/{tailscale-KHNZFC7L.js → tailscale-4XY7B5A2.js} +2 -2
- package/dist/{template-hash-YKWMVYMM.js → template-hash-RJRMF6DT.js} +2 -2
- package/dist/{template-staleness-PY2CULH6.js → template-staleness-CL4V7BT7.js} +5 -5
- package/dist/{turn-tracker-HZDPMSCC.js → turn-tracker-LZP5X6GZ.js} +8 -8
- package/dist/{up-XZDSJVMU.js → up-3AAN4GYY.js} +4 -4
- package/dist/{update-ILCPVNDD.js → update-2MWXRE2S.js} +4 -4
- package/dist/{update-check-SZ7B5IFI.js → update-check-PJOZXZYJ.js} +2 -2
- package/dist/variant-cleanup-K7RFMSH7.js +24 -0
- package/dist/{version-notify-VNVFX6UP.js → version-notify-QIDHR6WO.js} +12 -12
- package/dist/web-assets/assets/{index-CwtxGwe_.js → index-Bfvls20e.js} +17 -17
- package/dist/web-assets/assets/index-hPn_fkz3.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0000_crazy_epoch.sql +232 -0
- package/drizzle/README.md +42 -0
- package/drizzle/meta/0000_snapshot.json +1420 -3
- package/drizzle/meta/_journal.json +2 -128
- package/package.json +12 -13
- package/packages/extensions/intentions/dist/ui/assets/index-Bl5KEcli.js +67 -0
- package/packages/extensions/intentions/dist/ui/index.html +1 -1
- package/packages/extensions/pages/dist/ui/assets/index-BKxVQkA9.css +1 -0
- package/packages/extensions/pages/dist/ui/assets/index-BMt6sStP.js +68 -0
- package/packages/extensions/pages/dist/ui/index.html +2 -2
- package/packages/extensions/pages/skills/pages/SKILL.md +123 -4
- package/templates/_base/.init/.config/prompts.json +0 -1
- package/templates/_base/.init/.local/hooks/pre-prompt/turn-context.ts +30 -0
- package/templates/_base/src/lib/codex-session-seed.ts +6 -55
- package/templates/_base/src/lib/pi-session-seed.ts +8 -57
- package/templates/_base/src/lib/seed-note.ts +4 -4
- package/templates/_base/src/lib/session-seed.ts +8 -53
- package/templates/_base/src/lib/startup.ts +0 -20
- package/templates/claude/package.json +2 -2
- package/templates/claude/src/agent.ts +34 -102
- package/templates/claude/src/lib/hooks/pre-compact.ts +6 -6
- package/templates/claude/src/server.ts +0 -1
- package/templates/codex/package.json +2 -2
- package/templates/codex/src/agent.ts +23 -89
- package/templates/pi/package.json +1 -1
- package/templates/pi/src/agent.ts +26 -93
- package/templates/pi/src/server.ts +0 -1
- package/dist/auto-upgrade-HEVZKPTF.js +0 -46
- package/dist/chunk-AAPNU7GA.js +0 -168
- package/dist/delivery-manager-7R2YIQ2W.js +0 -41
- package/dist/echo-text-73CYQRL7.js +0 -40
- package/dist/message-delivery-TRKT4T2P.js +0 -46
- package/dist/migrate-name-placeholder-C7NCNLWF.js +0 -37
- package/dist/migrate-thread-config-EQSEP2XG.js +0 -90
- package/dist/mind-service-7EFIJ3ZA.js +0 -48
- package/dist/scheduler-73Q4MQ7Y.js +0 -27
- package/dist/seed-DRKAP3XV.js +0 -11
- package/dist/sleep-manager-KHI65FEX.js +0 -42
- package/dist/spirit-availability-G5FMWKRH.js +0 -43
- package/dist/sprout-PMTRL7QN.js +0 -11
- package/dist/src-3FIW7DLH.js +0 -2376
- package/dist/src-LTTQVN2Z.js +0 -832
- package/dist/variant-HHDTW74J.js +0 -62
- package/dist/variant-cleanup-QHGGY7ND.js +0 -24
- package/dist/web-assets/assets/index-DhM1yYRN.css +0 -1
- package/drizzle/0000_baseline.sql +0 -152
- package/drizzle/0001_add_conversation_private.sql +0 -1
- package/drizzle/0002_turns.sql +0 -21
- package/drizzle/0003_turn_feed_links.sql +0 -11
- package/drizzle/0004_spirits.sql +0 -5
- package/drizzle/0005_meta_summaries.sql +0 -15
- package/drizzle/0006_channels.sql +0 -17
- package/drizzle/0007_drop_conversation_name_title.sql +0 -11
- package/drizzle/0008_performance_indexes.sql +0 -6
- package/drizzle/0009_mind_notices.sql +0 -14
- package/drizzle/0010_delivery_queue_redrive.sql +0 -10
- package/drizzle/0011_drop_turn_summary_event_id.sql +0 -3
- package/drizzle/0012_channel_gates.sql +0 -17
- package/drizzle/0013_variant_purpose.sql +0 -3
- package/drizzle/0014_system_events.sql +0 -26
- package/drizzle/0015_rename_session_to_thread.sql +0 -12
- package/drizzle/0016_brain_to_human.sql +0 -4
- package/drizzle/0017_event_history_rows.sql +0 -9
- package/drizzle/0018_api_tokens.sql +0 -20
- package/drizzle/meta/0001_snapshot.json +0 -7
- package/drizzle/meta/0002_snapshot.json +0 -7
- package/drizzle/meta/0003_snapshot.json +0 -7
- package/drizzle/meta/0004_snapshot.json +0 -7
- package/drizzle/meta/0005_snapshot.json +0 -7
- package/drizzle/meta/0006_snapshot.json +0 -7
- package/drizzle/meta/0007_snapshot.json +0 -7
- package/packages/extensions/intentions/dist/ui/assets/index-CQz4aceM.js +0 -67
- package/packages/extensions/notes/dist/ui/assets/index-BBs8pyel.js +0 -67
- package/packages/extensions/notes/dist/ui/assets/index-D3cdui42.css +0 -1
- package/packages/extensions/notes/dist/ui/index.html +0 -14
- package/packages/extensions/notes/skills/notes/SKILL.md +0 -90
- package/packages/extensions/pages/dist/ui/assets/index-B589e8Xe.js +0 -2
- package/packages/extensions/pages/dist/ui/assets/index-BuXnE-rb.css +0 -1
- package/dist/{env-7AZFBPWX.js → env-IBW2QI6K.js} +5 -5
- package/dist/{login-4NUS72Z5.js → login-RJJTCVR3.js} +3 -3
- package/dist/{mind-contacts-PEXCDRXA.js → mind-contacts-KV64UDJS.js} +6 -6
- package/dist/{mind-history-RZMMCHMX.js → mind-history-H45GM2M2.js} +6 -6
- package/dist/{register-WNCSOTAU.js → register-OX4HRSGC.js} +3 -3
- package/dist/{restart-B4GNMVF2.js → restart-AGEGNSYQ.js} +4 -4
- package/dist/{skill-QYTBUDNQ.js → skill-B5OJEQUA.js} +4 -4
- package/dist/{start-BDHJVOVX.js → start-MUMNFR52.js} +3 -3
- package/dist/{stop-45QYSGYS.js → stop-EKERNYTX.js} +4 -4
|
@@ -2,16 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
exec,
|
|
4
4
|
execInherit
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NA2NJXY4.js";
|
|
6
6
|
import {
|
|
7
7
|
voluteSystemDir
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
|
|
10
|
-
// packages/daemon/src/lib/config/service-mode.ts
|
|
11
|
-
import { execFileSync } from "child_process";
|
|
12
|
-
import { existsSync, readFileSync as readFileSync2 } from "fs";
|
|
13
|
-
import { homedir } from "os";
|
|
14
|
-
import { resolve } from "path";
|
|
8
|
+
} from "./chunk-TAVIVN2I.js";
|
|
15
9
|
|
|
16
10
|
// packages/daemon/src/lib/util/log-tail.ts
|
|
17
11
|
import { readFileSync } from "fs";
|
|
@@ -28,6 +22,10 @@ function readLogTail(logFile, maxLines = 20) {
|
|
|
28
22
|
}
|
|
29
23
|
|
|
30
24
|
// packages/daemon/src/lib/config/service-mode.ts
|
|
25
|
+
import { execFileSync } from "child_process";
|
|
26
|
+
import { existsSync, readFileSync as readFileSync2 } from "fs";
|
|
27
|
+
import { homedir } from "os";
|
|
28
|
+
import { resolve } from "path";
|
|
31
29
|
var SYSTEM_SERVICE_PATH = "/etc/systemd/system/volute.service";
|
|
32
30
|
var USER_SYSTEMD_UNIT = resolve(homedir(), ".config", "systemd", "user", "volute.service");
|
|
33
31
|
var LAUNCHD_PLIST_LABEL = "com.volute.daemon";
|
|
@@ -38,32 +36,43 @@ var LAUNCHD_PLIST_PATH = resolve(
|
|
|
38
36
|
`${LAUNCHD_PLIST_LABEL}.plist`
|
|
39
37
|
);
|
|
40
38
|
var SYSTEM_LAUNCHD_PLIST_PATH = "/Library/LaunchDaemons/com.volute.daemon.plist";
|
|
41
|
-
var HEALTH_POLL_TIMEOUT =
|
|
39
|
+
var HEALTH_POLL_TIMEOUT = 12e4;
|
|
42
40
|
var STOP_GRACE_TIMEOUT = 1e4;
|
|
43
41
|
var POLL_INTERVAL = 500;
|
|
44
|
-
function
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
42
|
+
function systemctlSucceeds(args) {
|
|
43
|
+
try {
|
|
44
|
+
execFileSync("systemctl", args, { stdio: "ignore" });
|
|
45
|
+
return true;
|
|
46
|
+
} catch {
|
|
47
|
+
return false;
|
|
51
48
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
}
|
|
50
|
+
function systemdManaged(scope) {
|
|
51
|
+
const prefix = scope === "user" ? ["--user"] : [];
|
|
52
|
+
return systemctlSucceeds([...prefix, "is-enabled", "--quiet", "volute"]) || systemctlSucceeds([...prefix, "is-active", "--quiet", "volute"]);
|
|
53
|
+
}
|
|
54
|
+
function resolveServiceMode(probes) {
|
|
55
|
+
if (probes.fileExists(SYSTEM_SERVICE_PATH) && probes.systemdManaged("system")) {
|
|
56
|
+
return "system";
|
|
58
57
|
}
|
|
59
|
-
if (
|
|
58
|
+
if (probes.fileExists(USER_SYSTEMD_UNIT) && probes.systemdManaged("user")) {
|
|
59
|
+
return "user-systemd";
|
|
60
|
+
}
|
|
61
|
+
if (probes.platform === "darwin" && probes.fileExists(SYSTEM_LAUNCHD_PLIST_PATH)) {
|
|
60
62
|
return "system-launchd";
|
|
61
63
|
}
|
|
62
|
-
if (
|
|
64
|
+
if (probes.platform === "darwin" && probes.fileExists(LAUNCHD_PLIST_PATH)) {
|
|
63
65
|
return "user-launchd";
|
|
64
66
|
}
|
|
65
67
|
return "manual";
|
|
66
68
|
}
|
|
69
|
+
function getServiceMode() {
|
|
70
|
+
return resolveServiceMode({
|
|
71
|
+
fileExists: existsSync,
|
|
72
|
+
systemdManaged,
|
|
73
|
+
platform: process.platform
|
|
74
|
+
});
|
|
75
|
+
}
|
|
67
76
|
function getDaemonUrl(hostname, port) {
|
|
68
77
|
const url = new URL("http://localhost");
|
|
69
78
|
let h = hostname;
|
|
@@ -249,11 +258,13 @@ function modeLabel(mode) {
|
|
|
249
258
|
}
|
|
250
259
|
|
|
251
260
|
export {
|
|
261
|
+
readLogTail,
|
|
252
262
|
SYSTEM_SERVICE_PATH,
|
|
253
263
|
USER_SYSTEMD_UNIT,
|
|
254
264
|
LAUNCHD_PLIST_LABEL,
|
|
255
265
|
LAUNCHD_PLIST_PATH,
|
|
256
266
|
SYSTEM_LAUNCHD_PLIST_PATH,
|
|
267
|
+
HEALTH_POLL_TIMEOUT,
|
|
257
268
|
getServiceMode,
|
|
258
269
|
getDaemonUrl,
|
|
259
270
|
pollHealth,
|
|
@@ -264,6 +275,7 @@ export {
|
|
|
264
275
|
daemonConfigPath,
|
|
265
276
|
readDaemonToken,
|
|
266
277
|
readDaemonConfig,
|
|
278
|
+
daemonLogSource,
|
|
267
279
|
daemonLogReport,
|
|
268
280
|
modeLabel
|
|
269
281
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// packages/daemon/src/lib/template/template.ts
|
|
4
4
|
import {
|
|
5
|
+
chmodSync,
|
|
5
6
|
cpSync,
|
|
6
7
|
existsSync,
|
|
7
8
|
mkdirSync,
|
|
@@ -14,9 +15,9 @@ import {
|
|
|
14
15
|
writeFileSync
|
|
15
16
|
} from "fs";
|
|
16
17
|
import { tmpdir } from "os";
|
|
17
|
-
import { dirname, join, relative, resolve } from "path";
|
|
18
|
+
import { dirname, join, relative, resolve, sep } from "path";
|
|
18
19
|
var _templatesRoot = null;
|
|
19
|
-
function
|
|
20
|
+
function locateTemplatesRoot() {
|
|
20
21
|
if (_templatesRoot) return _templatesRoot;
|
|
21
22
|
let dir = dirname(new URL(import.meta.url).pathname);
|
|
22
23
|
for (let i = 0; i < 7; i++) {
|
|
@@ -27,6 +28,11 @@ function findTemplatesRoot() {
|
|
|
27
28
|
}
|
|
28
29
|
dir = dirname(dir);
|
|
29
30
|
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
function findTemplatesRoot() {
|
|
34
|
+
const root = locateTemplatesRoot();
|
|
35
|
+
if (root) return root;
|
|
30
36
|
console.error(
|
|
31
37
|
"Templates directory not found. Searched up from:",
|
|
32
38
|
dirname(new URL(import.meta.url).pathname)
|
|
@@ -100,6 +106,45 @@ function applyInitFiles(destDir) {
|
|
|
100
106
|
}
|
|
101
107
|
rmSync(initDir, { recursive: true, force: true });
|
|
102
108
|
}
|
|
109
|
+
var INIT_INFRASTRUCTURE_PREFIXES = [".local/"];
|
|
110
|
+
function isInitInfrastructure(relPath) {
|
|
111
|
+
const normalized = relPath.split(sep).join("/");
|
|
112
|
+
return INIT_INFRASTRUCTURE_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
113
|
+
}
|
|
114
|
+
function backfillInitInfrastructure(homeDir, template, mindName) {
|
|
115
|
+
const root = locateTemplatesRoot();
|
|
116
|
+
if (!root) throw new Error("templates root not found on disk");
|
|
117
|
+
if (!existsSync(resolve(root, template, "volute-template.json"))) {
|
|
118
|
+
throw new Error(`template "${template}" is missing or has no manifest at ${root}`);
|
|
119
|
+
}
|
|
120
|
+
const { composedDir, manifest } = composeTemplate(root, template);
|
|
121
|
+
try {
|
|
122
|
+
const initDir = resolve(composedDir, ".init");
|
|
123
|
+
if (!existsSync(initDir)) return [];
|
|
124
|
+
const substitute = new Set(
|
|
125
|
+
manifest.substitute.map((p) => p.split(sep).join("/")).filter((p) => p.startsWith(".init/")).map((p) => p.slice(".init/".length))
|
|
126
|
+
);
|
|
127
|
+
const added = [];
|
|
128
|
+
for (const file of listFiles(initDir)) {
|
|
129
|
+
const rel = file.split(sep).join("/");
|
|
130
|
+
if (!isInitInfrastructure(rel)) continue;
|
|
131
|
+
const dest = resolve(homeDir, file);
|
|
132
|
+
if (existsSync(dest)) continue;
|
|
133
|
+
const src = resolve(initDir, file);
|
|
134
|
+
mkdirSync(dirname(dest), { recursive: true });
|
|
135
|
+
if (substitute.has(rel)) {
|
|
136
|
+
writeFileSync(dest, readFileSync(src, "utf-8").replaceAll("{{name}}", mindName));
|
|
137
|
+
chmodSync(dest, statSync(src).mode);
|
|
138
|
+
} else {
|
|
139
|
+
cpSync(src, dest);
|
|
140
|
+
}
|
|
141
|
+
added.push(rel);
|
|
142
|
+
}
|
|
143
|
+
return added;
|
|
144
|
+
} finally {
|
|
145
|
+
rmSync(composedDir, { recursive: true, force: true });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
103
148
|
var MECHANICS_DOCS = {
|
|
104
149
|
claude: "CLAUDE.md",
|
|
105
150
|
pi: "MINDS.md",
|
|
@@ -155,6 +200,7 @@ export {
|
|
|
155
200
|
copyTemplateToDir,
|
|
156
201
|
renderComposedPackageJson,
|
|
157
202
|
applyInitFiles,
|
|
203
|
+
backfillInitInfrastructure,
|
|
158
204
|
isKnownTemplate,
|
|
159
205
|
applyTemplateHomeFiles,
|
|
160
206
|
listFiles
|
|
@@ -2,36 +2,36 @@
|
|
|
2
2
|
import {
|
|
3
3
|
clearMind,
|
|
4
4
|
summarizeOrphanedTurns
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TGYKFUCF.js";
|
|
6
|
+
import {
|
|
7
|
+
isSandboxEnabled,
|
|
8
|
+
wrapForSandbox
|
|
9
|
+
} from "./chunk-CLH357FI.js";
|
|
6
10
|
import {
|
|
7
11
|
deliverEvent,
|
|
8
12
|
recordNotice
|
|
9
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6LICEQGP.js";
|
|
10
14
|
import {
|
|
11
15
|
getPrompt
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import {
|
|
14
|
-
isSandboxEnabled,
|
|
15
|
-
wrapForSandbox
|
|
16
|
-
} from "./chunk-5Y54AE3L.js";
|
|
16
|
+
} from "./chunk-CVPCRWWC.js";
|
|
17
17
|
import {
|
|
18
18
|
chownMindDir,
|
|
19
19
|
isIsolationEnabled,
|
|
20
20
|
wrapForIsolation
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-NA2NJXY4.js";
|
|
22
22
|
import {
|
|
23
23
|
loadMergedEnv
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-OHHS5PSI.js";
|
|
25
25
|
import {
|
|
26
26
|
OAuthRefreshError,
|
|
27
27
|
getAiConfig,
|
|
28
28
|
resolveApiKey,
|
|
29
29
|
resolveOAuthCredentials,
|
|
30
30
|
resolveProviderKey
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-E2SN3ZOJ.js";
|
|
32
32
|
import {
|
|
33
33
|
logger_default
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-2674KIGI.js";
|
|
35
35
|
import {
|
|
36
36
|
findMind,
|
|
37
37
|
getSystemName,
|
|
@@ -42,7 +42,32 @@ import {
|
|
|
42
42
|
setMindRunning,
|
|
43
43
|
stateDir,
|
|
44
44
|
voluteSystemDir
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-TAVIVN2I.js";
|
|
46
|
+
|
|
47
|
+
// packages/daemon/src/lib/daemon/mind-tokens.ts
|
|
48
|
+
import { randomUUID } from "crypto";
|
|
49
|
+
var tokenToMind = /* @__PURE__ */ new Map();
|
|
50
|
+
var mindToToken = /* @__PURE__ */ new Map();
|
|
51
|
+
function generateMindToken(mindName) {
|
|
52
|
+
revokeMindToken(mindName);
|
|
53
|
+
const token = randomUUID();
|
|
54
|
+
tokenToMind.set(token, mindName);
|
|
55
|
+
mindToToken.set(mindName, token);
|
|
56
|
+
return token;
|
|
57
|
+
}
|
|
58
|
+
function revokeMindToken(mindName) {
|
|
59
|
+
const token = mindToToken.get(mindName);
|
|
60
|
+
if (token) {
|
|
61
|
+
tokenToMind.delete(token);
|
|
62
|
+
mindToToken.delete(mindName);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function resolveMindToken(token) {
|
|
66
|
+
return tokenToMind.get(token) ?? null;
|
|
67
|
+
}
|
|
68
|
+
function getMindToken(mindName) {
|
|
69
|
+
return mindToToken.get(mindName) ?? null;
|
|
70
|
+
}
|
|
46
71
|
|
|
47
72
|
// packages/daemon/src/lib/util/json-state.ts
|
|
48
73
|
import { existsSync, readFileSync, unlinkSync, writeFileSync } from "fs";
|
|
@@ -116,6 +141,9 @@ var RotatingLog = class extends Writable {
|
|
|
116
141
|
}
|
|
117
142
|
this.stream = createWriteStream(path, { flags: "a" });
|
|
118
143
|
}
|
|
144
|
+
path;
|
|
145
|
+
maxSize;
|
|
146
|
+
maxFiles;
|
|
119
147
|
stream;
|
|
120
148
|
size;
|
|
121
149
|
async rotateAsync() {
|
|
@@ -286,31 +314,6 @@ async function syncProviderToMinds(provider, deps = {}) {
|
|
|
286
314
|
}
|
|
287
315
|
}
|
|
288
316
|
|
|
289
|
-
// packages/daemon/src/lib/daemon/mind-tokens.ts
|
|
290
|
-
import { randomUUID } from "crypto";
|
|
291
|
-
var tokenToMind = /* @__PURE__ */ new Map();
|
|
292
|
-
var mindToToken = /* @__PURE__ */ new Map();
|
|
293
|
-
function generateMindToken(mindName) {
|
|
294
|
-
revokeMindToken(mindName);
|
|
295
|
-
const token = randomUUID();
|
|
296
|
-
tokenToMind.set(token, mindName);
|
|
297
|
-
mindToToken.set(mindName, token);
|
|
298
|
-
return token;
|
|
299
|
-
}
|
|
300
|
-
function revokeMindToken(mindName) {
|
|
301
|
-
const token = mindToToken.get(mindName);
|
|
302
|
-
if (token) {
|
|
303
|
-
tokenToMind.delete(token);
|
|
304
|
-
mindToToken.delete(mindName);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
function resolveMindToken(token) {
|
|
308
|
-
return tokenToMind.get(token) ?? null;
|
|
309
|
-
}
|
|
310
|
-
function getMindToken(mindName) {
|
|
311
|
-
return mindToToken.get(mindName) ?? null;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
317
|
// packages/daemon/src/lib/daemon/mind-manager.ts
|
|
315
318
|
import { execFile, spawn } from "child_process";
|
|
316
319
|
import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync as readFileSync3, rmSync, writeFileSync as writeFileSync3 } from "fs";
|
|
@@ -429,6 +432,7 @@ var MindStartupError = class extends Error {
|
|
|
429
432
|
this.stderr = stderr;
|
|
430
433
|
this.name = "MindStartupError";
|
|
431
434
|
}
|
|
435
|
+
stderr;
|
|
432
436
|
};
|
|
433
437
|
function mindPidPath(name) {
|
|
434
438
|
return resolve2(stateDir(name), "mind.pid");
|
|
@@ -805,9 +809,9 @@ var MindManager = class {
|
|
|
805
809
|
mlog.info(`started mind ${name} on port ${port}`);
|
|
806
810
|
await this.deliverPendingContext(name);
|
|
807
811
|
try {
|
|
808
|
-
const { getSleepManagerIfReady } = await import("./sleep-manager-
|
|
812
|
+
const { getSleepManagerIfReady } = await import("./sleep-manager-25P44HAO.js");
|
|
809
813
|
if (!getSleepManagerIfReady()?.isSleeping(name)) {
|
|
810
|
-
const { flushQueuedEvents } = await import("./system-events-
|
|
814
|
+
const { flushQueuedEvents } = await import("./system-events-CWC7CBKP.js");
|
|
811
815
|
const flushed = await flushQueuedEvents(name);
|
|
812
816
|
if (flushed > 0) mlog.info(`redelivered ${flushed} pending event(s) to ${name}`);
|
|
813
817
|
}
|
|
@@ -843,7 +847,7 @@ var MindManager = class {
|
|
|
843
847
|
if (this.shuttingDown || this.stopping.has(name)) return;
|
|
844
848
|
mlog.error(`mind ${name} exited with code ${code}`);
|
|
845
849
|
try {
|
|
846
|
-
const { getSleepManagerIfReady } = await import("./sleep-manager-
|
|
850
|
+
const { getSleepManagerIfReady } = await import("./sleep-manager-25P44HAO.js");
|
|
847
851
|
const sleepMgr = getSleepManagerIfReady();
|
|
848
852
|
const sleepState = sleepMgr?.getState(name);
|
|
849
853
|
if (sleepState?.sleeping) {
|
|
@@ -873,15 +877,15 @@ var MindManager = class {
|
|
|
873
877
|
(err) => mlog.warn(`failed to clear turn state for ${name} after crash`, logger_default.errorData(err))
|
|
874
878
|
);
|
|
875
879
|
try {
|
|
876
|
-
const { getDeliveryManager } = await import("./delivery-manager-
|
|
880
|
+
const { getDeliveryManager } = await import("./delivery-manager-5EGCFN4K.js");
|
|
877
881
|
getDeliveryManager().clearMindSessions(name);
|
|
878
882
|
} catch (err) {
|
|
879
883
|
if (!(err instanceof Error && err.message.includes("not initialized"))) {
|
|
880
884
|
mlog.warn(`failed to clear delivery state for ${name} after crash`, logger_default.errorData(err));
|
|
881
885
|
}
|
|
882
886
|
}
|
|
883
|
-
import("./mind-activity-tracker-
|
|
884
|
-
import("./activity-events-
|
|
887
|
+
import("./mind-activity-tracker-ABAEIMA3.js").then(({ markIdle }) => markIdle(name)).catch((err) => mlog.warn(`failed to mark ${name} idle after crash`, logger_default.errorData(err)));
|
|
888
|
+
import("./activity-events-YASF46HS.js").then(
|
|
885
889
|
({ publish }) => publish({ type: "mind_stopped", mind: name, summary: `${name} crashed (exit ${code})` })
|
|
886
890
|
).catch((err) => mlog.warn(`failed to publish crash event for ${name}`, logger_default.errorData(err)));
|
|
887
891
|
const { shouldRestart, delay, attempt } = this.restartTracker.recordCrash(name);
|
|
@@ -939,7 +943,7 @@ var MindManager = class {
|
|
|
939
943
|
mlog.warn(`failed to clear turn state for ${name} on stop`, logger_default.errorData(err));
|
|
940
944
|
}
|
|
941
945
|
try {
|
|
942
|
-
const { getDeliveryManager } = await import("./delivery-manager-
|
|
946
|
+
const { getDeliveryManager } = await import("./delivery-manager-5EGCFN4K.js");
|
|
943
947
|
getDeliveryManager().clearMindSessions(name);
|
|
944
948
|
} catch (err) {
|
|
945
949
|
if (!(err instanceof Error && err.message.includes("not initialized"))) {
|
|
@@ -947,7 +951,7 @@ var MindManager = class {
|
|
|
947
951
|
}
|
|
948
952
|
}
|
|
949
953
|
try {
|
|
950
|
-
const { clearEchoTextCache } = await import("./echo-text-
|
|
954
|
+
const { clearEchoTextCache } = await import("./echo-text-Y2DFTD7L.js");
|
|
951
955
|
clearEchoTextCache(name);
|
|
952
956
|
} catch (err) {
|
|
953
957
|
mlog.debug(`failed to clear echo-text cache for ${name}`, logger_default.errorData(err));
|
|
@@ -1040,15 +1044,15 @@ function tryGetMindManager() {
|
|
|
1040
1044
|
}
|
|
1041
1045
|
|
|
1042
1046
|
export {
|
|
1047
|
+
generateMindToken,
|
|
1048
|
+
resolveMindToken,
|
|
1049
|
+
getMindToken,
|
|
1043
1050
|
checkHealth,
|
|
1044
1051
|
loadJsonMap,
|
|
1045
1052
|
saveJsonMapAsync,
|
|
1046
1053
|
clearJsonMap,
|
|
1047
1054
|
RotatingLog,
|
|
1048
1055
|
syncProviderToMinds,
|
|
1049
|
-
generateMindToken,
|
|
1050
|
-
resolveMindToken,
|
|
1051
|
-
getMindToken,
|
|
1052
1056
|
RestartTracker,
|
|
1053
1057
|
buildMindBaseEnv,
|
|
1054
1058
|
MindStartupError,
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import {
|
|
3
3
|
bufferEvent,
|
|
4
4
|
subscribe
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FYMIGUJ5.js";
|
|
6
6
|
import {
|
|
7
7
|
logger_default
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2674KIGI.js";
|
|
9
9
|
import {
|
|
10
10
|
getDb
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TAVIVN2I.js";
|
|
12
12
|
import {
|
|
13
13
|
channels,
|
|
14
14
|
conversationParticipants,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
exec
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NA2NJXY4.js";
|
|
5
5
|
import {
|
|
6
6
|
logger_default
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2674KIGI.js";
|
|
8
8
|
import {
|
|
9
9
|
getDb,
|
|
10
10
|
readAllMinds,
|
|
11
11
|
readGlobalConfig,
|
|
12
12
|
voluteHome,
|
|
13
13
|
voluteSystemDir
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-TAVIVN2I.js";
|
|
15
15
|
|
|
16
16
|
// packages/daemon/src/lib/backup/restic.ts
|
|
17
17
|
import { writeFileSync } from "fs";
|
|
@@ -29,7 +29,7 @@ import { fileURLToPath } from "url";
|
|
|
29
29
|
import { and, eq, inArray, isNull, or } from "drizzle-orm";
|
|
30
30
|
|
|
31
31
|
// packages/daemon/src/lib/config/setup.ts
|
|
32
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync,
|
|
32
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
33
33
|
import { resolve } from "path";
|
|
34
34
|
function configPath() {
|
|
35
35
|
return resolve(voluteSystemDir(), "config.json");
|
|
@@ -124,27 +124,6 @@ function writeGlobalConfig(config) {
|
|
|
124
124
|
chmodSync(secPath, 384);
|
|
125
125
|
_cachedConfig = { config, ts: Date.now() };
|
|
126
126
|
}
|
|
127
|
-
function migrateConfigSecrets() {
|
|
128
|
-
const path = configPath();
|
|
129
|
-
if (!existsSync(path)) return;
|
|
130
|
-
let raw;
|
|
131
|
-
try {
|
|
132
|
-
raw = readFileSync(path, "utf-8");
|
|
133
|
-
} catch {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
let parsed;
|
|
137
|
-
try {
|
|
138
|
-
parsed = JSON.parse(raw);
|
|
139
|
-
} catch {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const embedsSecrets = hasEntries(parsed.ai?.providers) || hasEntries(parsed.imagegen?.providers) || !!parsed.backup?.password || hasEntries(parsed.backup?.env);
|
|
143
|
-
const mode = statSync(path).mode & 511;
|
|
144
|
-
if (!embedsSecrets && mode === 420) return;
|
|
145
|
-
_resetConfigCache();
|
|
146
|
-
writeGlobalConfig(readGlobalConfig());
|
|
147
|
-
}
|
|
148
127
|
function computeSetupStatus(config) {
|
|
149
128
|
if (config.setupCompleted === true) return "complete";
|
|
150
129
|
if (config.setup != null && config.setupCompleted == null) return "complete";
|
|
@@ -196,13 +175,6 @@ function mindLimitError(count, limit) {
|
|
|
196
175
|
}
|
|
197
176
|
return null;
|
|
198
177
|
}
|
|
199
|
-
function migrateSetupCompleted() {
|
|
200
|
-
const config = readGlobalConfig();
|
|
201
|
-
if (config.setup != null && config.setupCompleted == null) {
|
|
202
|
-
config.setupCompleted = true;
|
|
203
|
-
writeGlobalConfig(config);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
178
|
|
|
207
179
|
// packages/daemon/src/lib/mind/registry.ts
|
|
208
180
|
function isSpiritName(name) {
|
|
@@ -510,7 +482,6 @@ export {
|
|
|
510
482
|
_resetConfigCache,
|
|
511
483
|
readGlobalConfig,
|
|
512
484
|
writeGlobalConfig,
|
|
513
|
-
migrateConfigSecrets,
|
|
514
485
|
computeSetupStatus,
|
|
515
486
|
setupStatus,
|
|
516
487
|
readGlobalConfigStrict,
|
|
@@ -519,6 +490,5 @@ export {
|
|
|
519
490
|
getSpiritName,
|
|
520
491
|
getSystemName,
|
|
521
492
|
isImagegenEnabled,
|
|
522
|
-
mindLimitError
|
|
523
|
-
migrateSetupCompleted
|
|
493
|
+
mindLimitError
|
|
524
494
|
};
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getUserByUsername
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-I3OJ342S.js";
|
|
5
5
|
import {
|
|
6
|
+
parseDbTimestamp,
|
|
6
7
|
publish
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MNKPAAQF.js";
|
|
8
9
|
import {
|
|
9
10
|
getPrompt
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CVPCRWWC.js";
|
|
11
12
|
import {
|
|
12
13
|
aiCompleteUtility
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-E2SN3ZOJ.js";
|
|
14
15
|
import {
|
|
15
16
|
logger_default
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-2674KIGI.js";
|
|
17
18
|
import {
|
|
18
19
|
getDb,
|
|
19
20
|
resolveMindDir
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-TAVIVN2I.js";
|
|
21
22
|
import {
|
|
22
23
|
messages,
|
|
23
24
|
mindHistory,
|
|
@@ -187,12 +188,6 @@ function getTimeRange(periodKey, period) {
|
|
|
187
188
|
}
|
|
188
189
|
}
|
|
189
190
|
|
|
190
|
-
// packages/daemon/src/lib/util/time.ts
|
|
191
|
-
function parseDbTimestamp(ts) {
|
|
192
|
-
if (/[zZ]$|[+-]\d\d:?\d\d$/.test(ts)) return new Date(ts);
|
|
193
|
-
return /* @__PURE__ */ new Date(`${ts.replace(" ", "T")}Z`);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
191
|
// packages/daemon/src/lib/daemon/summarizer.ts
|
|
197
192
|
var sLog = logger_default.child("summarizer");
|
|
198
193
|
var SYSTEM_MIND = "_system";
|
|
@@ -1200,11 +1195,11 @@ var Summarizer = class {
|
|
|
1200
1195
|
}
|
|
1201
1196
|
};
|
|
1202
1197
|
async function reconcileWedgedTurns(idleMs) {
|
|
1203
|
-
const { sweepWedgedTurns: sweepWedgedTurns2, summarizeOrphanedTurns: summarizeOrphanedTurns2 } = await import("./turn-tracker-
|
|
1198
|
+
const { sweepWedgedTurns: sweepWedgedTurns2, summarizeOrphanedTurns: summarizeOrphanedTurns2 } = await import("./turn-tracker-LZP5X6GZ.js");
|
|
1204
1199
|
const wedged = await sweepWedgedTurns2(idleMs);
|
|
1205
1200
|
if (wedged.length === 0) return;
|
|
1206
1201
|
summarizeOrphanedTurns2(wedged);
|
|
1207
|
-
const { tryGetDeliveryManager } = await import("./delivery-manager-
|
|
1202
|
+
const { tryGetDeliveryManager } = await import("./delivery-manager-5EGCFN4K.js");
|
|
1208
1203
|
const dm = tryGetDeliveryManager();
|
|
1209
1204
|
if (!dm) return;
|
|
1210
1205
|
for (const t of wedged) {
|
|
@@ -1408,7 +1403,6 @@ export {
|
|
|
1408
1403
|
utcDateTimeStr,
|
|
1409
1404
|
parseUtcDateTime,
|
|
1410
1405
|
getUtcTimeRange,
|
|
1411
|
-
parseDbTimestamp,
|
|
1412
1406
|
SYSTEM_MIND,
|
|
1413
1407
|
summarizeTurn,
|
|
1414
1408
|
supersedeTurnSummary,
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
LAUNCHD_PLIST_LABEL,
|
|
4
4
|
LAUNCHD_PLIST_PATH,
|
|
5
5
|
USER_SYSTEMD_UNIT
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OPTA3BJ4.js";
|
|
7
7
|
import {
|
|
8
8
|
resolveVoluteBin
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NA2NJXY4.js";
|
|
10
10
|
|
|
11
11
|
// packages/daemon/src/lib/config/service-install.ts
|
|
12
12
|
import { execFile } from "child_process";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
publish
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FYMIGUJ5.js";
|
|
5
5
|
import {
|
|
6
6
|
logger_default
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2674KIGI.js";
|
|
8
8
|
|
|
9
9
|
// packages/daemon/src/lib/events/mind-activity-tracker.ts
|
|
10
10
|
var IDLE_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getSleepManagerIfReady,
|
|
4
4
|
startSpiritFull
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ELQU2GBT.js";
|
|
6
6
|
import {
|
|
7
7
|
spiritCreationInProgress
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GAAATVTM.js";
|
|
9
9
|
import {
|
|
10
10
|
MindStartupError,
|
|
11
11
|
tryGetMindManager
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-PAO7JZNW.js";
|
|
13
13
|
import {
|
|
14
14
|
logger_default
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2674KIGI.js";
|
|
16
16
|
import {
|
|
17
17
|
computeSetupStatus,
|
|
18
18
|
findMind,
|
|
19
19
|
readGlobalConfigStrict
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-TAVIVN2I.js";
|
|
21
21
|
|
|
22
22
|
// packages/daemon/src/lib/chat/spirit-availability.ts
|
|
23
23
|
var slog = logger_default.child("spirit-availability");
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
MEMORY_PLACEHOLDER_MARKER,
|
|
4
|
-
ORIENTATION_MARKER
|
|
5
|
-
} from "./chunk-OAYY3WF3.js";
|
|
6
2
|
import {
|
|
7
3
|
safeResolveWithinBase
|
|
8
4
|
} from "./chunk-DW4TRDOZ.js";
|
|
9
5
|
import {
|
|
10
6
|
readVoluteConfig
|
|
11
7
|
} from "./chunk-WCFSBH33.js";
|
|
8
|
+
import {
|
|
9
|
+
MEMORY_PLACEHOLDER_MARKER,
|
|
10
|
+
ORIENTATION_MARKER
|
|
11
|
+
} from "./chunk-CVPCRWWC.js";
|
|
12
12
|
import {
|
|
13
13
|
isImagegenEnabled
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-TAVIVN2I.js";
|
|
15
15
|
|
|
16
16
|
// packages/daemon/src/lib/mind/seed-readiness.ts
|
|
17
17
|
import { existsSync, readFileSync } from "fs";
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
} from "./chunk-WCFSBH33.js";
|
|
8
8
|
import {
|
|
9
9
|
logger_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2674KIGI.js";
|
|
11
11
|
import {
|
|
12
12
|
mindDir,
|
|
13
13
|
readAllMinds,
|
|
14
14
|
voluteHome
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TAVIVN2I.js";
|
|
16
16
|
|
|
17
17
|
// packages/daemon/src/lib/util/avatar-image.ts
|
|
18
18
|
import { readdir, readFile, writeFile } from "fs/promises";
|