volute 0.55.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-TFAJBNBW.js → activity-events-YASF46HS.js} +2 -2
- package/dist/{ai-service-KEK2V3AP.js → ai-service-3UFNG6GI.js} +2 -4
- package/dist/{archive-FOHGXHPT.js → archive-L2OFBGDQ.js} +2 -2
- package/dist/{auth-Y27LTNZK.js → auth-N2F5ASAB.js} +3 -3
- package/dist/auto-upgrade-O4MQPYQF.js +46 -0
- package/dist/{avatar-image-SN576P45.js → avatar-image-QEKKUFDF.js} +2 -2
- package/dist/{backup-GDCWH6MC.js → backup-TPM7QQBQ.js} +12 -12
- package/dist/{channels-AFJWGX7W.js → channels-JP3GYTPX.js} +16 -16
- package/dist/{chat-HVPOZK3O.js → chat-7YCF4ZU5.js} +3 -3
- package/dist/{chunk-CKOA4LWV.js → chunk-2B4E6SL7.js} +7 -7
- package/dist/{chunk-NM5FDH4T.js → chunk-2LFTJNVH.js} +2 -2
- package/dist/{chunk-G3XAB4DK.js → chunk-2QLWAYIU.js} +1 -1
- package/dist/{chunk-KS62IHE2.js → chunk-45MCH4G4.js} +1 -1
- package/dist/{chunk-QVS3C4DK.js → chunk-4RZS7XCV.js} +4 -4
- package/dist/{chunk-DUV4EMNW.js → chunk-6LICEQGP.js} +2 -2
- package/dist/{chunk-LAUCO2HC.js → chunk-APDEUAIE.js} +1 -1
- package/dist/{chunk-XAG53RWY.js → chunk-CLH357FI.js} +1 -1
- package/dist/{chunk-HTSWDOJE.js → chunk-CVPCRWWC.js} +1 -1
- package/dist/{chunk-Z7TNIIHW.js → chunk-E2SN3ZOJ.js} +2 -39
- package/dist/{chunk-NCRG4SBR.js → chunk-ELQU2GBT.js} +23 -33
- package/dist/{chunk-OUGD5L5U.js → chunk-EPRLTYJR.js} +8 -8
- package/dist/{chunk-VTFXZPC3.js → chunk-EYFBT2KP.js} +8 -8
- package/dist/{chunk-PRZUBJ4K.js → chunk-FYMIGUJ5.js} +1 -1
- package/dist/{chunk-7XKPG66D.js → chunk-G7A5LEVI.js} +5 -5
- package/dist/{chunk-UEZC5MNB.js → chunk-GAAATVTM.js} +11 -11
- package/dist/{chunk-OFU6WJJZ.js → chunk-I3OJ342S.js} +2 -2
- package/dist/{chunk-FZUPIS3T.js → chunk-IABDYN4N.js} +3 -3
- package/dist/{chunk-TMTAHKYP.js → chunk-IOMBP2T5.js} +12 -12
- package/dist/{chunk-W3OIPJPB.js → chunk-IQROTVBG.js} +1 -1
- package/dist/{chunk-4VAQKLMU.js → chunk-IRNM4LSF.js} +3 -3
- package/dist/{chunk-OKM67ZWH.js → chunk-KN3UHV7O.js} +8 -3
- package/dist/{chunk-FSXPPOPM.js → chunk-KXM4K46T.js} +1 -1
- package/dist/{chunk-Z4Q6TQWL.js → chunk-LRRPKZBD.js} +2 -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-HLWQ3P3R.js → chunk-PAO7JZNW.js} +16 -16
- package/dist/{chunk-6HBGUPBA.js → chunk-Q5M5QFKY.js} +2 -2
- package/dist/{chunk-IR2FW4W7.js → chunk-T7UMSTH2.js} +2 -2
- package/dist/{chunk-H6X6CKDN.js → chunk-TAVIVN2I.js} +2 -32
- package/dist/{chunk-BP2X5AIK.js → chunk-TGYKFUCF.js} +6 -6
- package/dist/{chunk-5U5GLZSD.js → chunk-TZ7OHGNL.js} +2 -2
- package/dist/{chunk-7AA4T2RT.js → chunk-UMQP5TC5.js} +1 -1
- package/dist/{chunk-3SFKY4GI.js → chunk-UNTDRIV2.js} +4 -4
- package/dist/{chunk-45QTYKQQ.js → chunk-V2M6PNLE.js} +2 -2
- package/dist/{chunk-IT4GEFDH.js → chunk-WTZD6LFW.js} +1 -1
- package/dist/{chunk-FLIEXG2T.js → chunk-XZP3FJ7Q.js} +1 -1
- package/dist/cli.js +26 -23
- package/dist/{clock-X7V3C7NL.js → clock-ZT5YT6HA.js} +2 -2
- package/dist/{cloud-sync-FM73SVFJ.js → cloud-sync-RTUXMYU2.js} +20 -20
- package/dist/{conversations-FH3ODBL7.js → conversations-ERMMPMOS.js} +3 -3
- package/dist/{create-P75ZFTVN.js → create-IUCFJXCE.js} +1 -1
- package/dist/{daemon-restart-JQMMMITM.js → daemon-restart-N2YOISNJ.js} +11 -6
- package/dist/daemon.js +125 -202
- package/dist/{db-BONH4SUG.js → db-BQFYIONA.js} +1 -1
- package/dist/{delivery-manager-H23Q23N7.js → delivery-manager-5EGCFN4K.js} +16 -16
- package/dist/{delivery-notices-S7TKOACE.js → delivery-notices-LZKZXWTX.js} +4 -4
- package/dist/{delivery-router-KHBVEVVL.js → delivery-router-U6Q22ZYU.js} +2 -2
- 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-QD22GXZD.js → extensions-YEPEWURN.js} +20 -20
- package/dist/{files-DUGRXN6V.js → files-FASUDSZQ.js} +2 -2
- package/dist/{import-RDDUGGFI.js → import-O35Y7DSF.js} +5 -5
- 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-BARCLI7O.js → mind-IKMX7K7G.js} +8 -24
- package/dist/{mind-activity-tracker-UT23RGBF.js → mind-activity-tracker-ABAEIMA3.js} +3 -3
- package/dist/mind-service-LRVOQG2T.js +48 -0
- package/dist/{mind-sleep-24HV4RCA.js → mind-sleep-LZAFBDZD.js} +2 -2
- package/dist/{package-AUDBDKAO.js → package-X5O7OD2E.js} +3 -2
- package/dist/{prompts-MOBF3TMO.js → prompts-ZNOE3KN3.js} +2 -2
- package/dist/{registry-TRC2HJXR.js → registry-BTQXLDW6.js} +1 -1
- package/dist/{sandbox-VI7XWBIA.js → sandbox-OUFAGN45.js} +2 -2
- package/dist/scheduler-G6BCIVGP.js +27 -0
- package/dist/{seed-cmd-M6A7N7F3.js → seed-cmd-BGAW3WDY.js} +2 -2
- package/dist/{seed-create-TGFZW4IO.js → seed-create-SMCPEUFQ.js} +3 -3
- package/dist/{seed-readiness-XBH2MUNA.js → seed-readiness-RBANMSWW.js} +3 -3
- package/dist/{seed-sprout-3IC5ZVTI.js → seed-sprout-CSHV36N3.js} +6 -6
- package/dist/{send-DHYBAYK4.js → send-D3ADUBR5.js} +5 -5
- 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-6KAH3GRW.js → setup-L5NZG2U3.js} +5 -5
- package/dist/{setup-WZSXHHRJ.js → setup-R7Q4HFJP.js} +1 -5
- package/dist/{skills-LKQCYFVP.js → skills-BCCU4OJW.js} +3 -3
- package/dist/sleep-manager-25P44HAO.js +42 -0
- package/dist/{spirit-FKXMGO3N.js → spirit-YPG2MU6W.js} +5 -5
- package/dist/spirit-availability-ZQM5IH4C.js +43 -0
- package/dist/{status-LCKTTIWS.js → status-BYPCJU6H.js} +4 -4
- package/dist/{system-events-ZYOCYAO2.js → system-events-CWC7CBKP.js} +2 -2
- package/dist/{systems-HL7SGSW7.js → systems-VDRUZXNF.js} +2 -2
- package/dist/{tailscale-F2IMBILZ.js → tailscale-4XY7B5A2.js} +1 -1
- package/dist/{template-staleness-IBD722PN.js → template-staleness-CL4V7BT7.js} +2 -2
- package/dist/{turn-tracker-BE34OI6O.js → turn-tracker-LZP5X6GZ.js} +6 -6
- package/dist/{up-J47J5JRB.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-KIXYNHJC.js → version-notify-QIDHR6WO.js} +5 -5
- package/dist/web-assets/assets/{index-CoU1eUKE.js → index-Bfvls20e.js} +3 -3
- package/dist/web-assets/index.html +1 -1
- 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 +3 -2
- package/dist/auto-upgrade-2MZF7NG3.js +0 -46
- package/dist/echo-text-ULEIFJJF.js +0 -40
- package/dist/message-delivery-LU4EP244.js +0 -46
- package/dist/migrate-init-infrastructure-Z72UJ5NT.js +0 -44
- package/dist/migrate-name-placeholder-64AEAWPE.js +0 -37
- package/dist/migrate-thread-config-SVF2M3D3.js +0 -90
- package/dist/mind-service-ZJCUBAUL.js +0 -48
- package/dist/scheduler-GLINVC2B.js +0 -27
- package/dist/seed-5JGR7ZRA.js +0 -11
- package/dist/sleep-manager-Q3ITFNOJ.js +0 -42
- package/dist/spirit-availability-5R2WYSWF.js +0 -43
- package/dist/sprout-VEW3CUNX.js +0 -11
- package/dist/variant-HHDTW74J.js +0 -62
- package/dist/variant-cleanup-JGJZ5KB4.js +0 -24
- 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/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
package/dist/daemon.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
readBackupState,
|
|
7
7
|
resticVersion,
|
|
8
8
|
runBackup
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T7UMSTH2.js";
|
|
10
10
|
import {
|
|
11
11
|
acceptPending,
|
|
12
12
|
formatFileSize,
|
|
@@ -14,20 +14,20 @@ import {
|
|
|
14
14
|
rejectPending,
|
|
15
15
|
stageFile,
|
|
16
16
|
validateFilePath
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import {
|
|
19
|
-
getMemoryStatus
|
|
20
|
-
} from "./chunk-5RBEEAKW.js";
|
|
17
|
+
} from "./chunk-45MCH4G4.js";
|
|
21
18
|
import {
|
|
22
19
|
findOpenClawSession,
|
|
23
20
|
importOpenClawConnectors,
|
|
24
21
|
importPiSession,
|
|
25
22
|
parseNameFromIdentity
|
|
26
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-2LFTJNVH.js";
|
|
24
|
+
import {
|
|
25
|
+
getMemoryStatus
|
|
26
|
+
} from "./chunk-5RBEEAKW.js";
|
|
27
27
|
import {
|
|
28
28
|
SPIRIT_NOTICE_PREFIX,
|
|
29
29
|
ensureSpiritAvailable
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-UNTDRIV2.js";
|
|
31
31
|
import {
|
|
32
32
|
TEMPLATE_BRANCH,
|
|
33
33
|
UpgradeInProgressError,
|
|
@@ -45,29 +45,29 @@ import {
|
|
|
45
45
|
upgradeDiff,
|
|
46
46
|
upgradeInProgress,
|
|
47
47
|
validateBranchName
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-EPRLTYJR.js";
|
|
49
49
|
import {
|
|
50
50
|
isTemplateStale
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-KXM4K46T.js";
|
|
52
52
|
import {
|
|
53
53
|
computeTemplateHash
|
|
54
54
|
} from "./chunk-YU5EYQAE.js";
|
|
55
55
|
import {
|
|
56
56
|
cleanupVariant
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-4RZS7XCV.js";
|
|
58
58
|
import {
|
|
59
59
|
isHomeOnlyArchive
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-XZP3FJ7Q.js";
|
|
61
61
|
import {
|
|
62
62
|
evaluateSeedChecklist
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-V2M6PNLE.js";
|
|
64
64
|
import {
|
|
65
65
|
PLATFORMS,
|
|
66
66
|
echoTextToChannel,
|
|
67
67
|
fixModelEscapes,
|
|
68
68
|
getPlatformDriver,
|
|
69
69
|
routeOutboundBridge
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-EYFBT2KP.js";
|
|
71
71
|
import {
|
|
72
72
|
getBridgeConfig,
|
|
73
73
|
readBridgesConfig,
|
|
@@ -76,12 +76,12 @@ import {
|
|
|
76
76
|
resolveChannelMapping,
|
|
77
77
|
setBridgeConfig,
|
|
78
78
|
setChannelMapping
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-2QLWAYIU.js";
|
|
80
80
|
import {
|
|
81
81
|
checkForUpdate,
|
|
82
82
|
checkForUpdateCached,
|
|
83
83
|
getCurrentVersion
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-APDEUAIE.js";
|
|
85
85
|
import {
|
|
86
86
|
SESSION_MAX_AGE,
|
|
87
87
|
announceSprout,
|
|
@@ -130,8 +130,8 @@ import {
|
|
|
130
130
|
uninstallNpmExtension,
|
|
131
131
|
willGateMessage,
|
|
132
132
|
writeSystemsConfig
|
|
133
|
-
} from "./chunk-
|
|
134
|
-
import "./chunk-
|
|
133
|
+
} from "./chunk-ELQU2GBT.js";
|
|
134
|
+
import "./chunk-GAAATVTM.js";
|
|
135
135
|
import {
|
|
136
136
|
applyInitFiles,
|
|
137
137
|
composeTemplate,
|
|
@@ -143,10 +143,10 @@ import {
|
|
|
143
143
|
import {
|
|
144
144
|
getScheduler,
|
|
145
145
|
initScheduler
|
|
146
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-2B4E6SL7.js";
|
|
147
147
|
import {
|
|
148
148
|
recordDeliveryFailure
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-IABDYN4N.js";
|
|
150
150
|
import {
|
|
151
151
|
UnknownChannelError,
|
|
152
152
|
checkStaleSend,
|
|
@@ -156,7 +156,7 @@ import {
|
|
|
156
156
|
initDeliveryManager,
|
|
157
157
|
isConversationId,
|
|
158
158
|
publishTypingForChannels
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-IOMBP2T5.js";
|
|
160
160
|
import {
|
|
161
161
|
MindStartupError,
|
|
162
162
|
RestartTracker,
|
|
@@ -166,7 +166,7 @@ import {
|
|
|
166
166
|
initMindManager,
|
|
167
167
|
syncProviderToMinds,
|
|
168
168
|
tryGetMindManager
|
|
169
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-PAO7JZNW.js";
|
|
170
170
|
import {
|
|
171
171
|
SYSTEM_MIND,
|
|
172
172
|
assignSession,
|
|
@@ -187,11 +187,11 @@ import {
|
|
|
187
187
|
takeErrored,
|
|
188
188
|
trackToolUse,
|
|
189
189
|
utcDateTimeStr
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-TGYKFUCF.js";
|
|
191
191
|
import {
|
|
192
192
|
isSandboxEnabled,
|
|
193
193
|
wrapForSandbox
|
|
194
|
-
} from "./chunk-
|
|
194
|
+
} from "./chunk-CLH357FI.js";
|
|
195
195
|
import {
|
|
196
196
|
addMessage,
|
|
197
197
|
createChannel,
|
|
@@ -227,15 +227,15 @@ import {
|
|
|
227
227
|
subscribe as subscribe3,
|
|
228
228
|
subscribeParticipantAdded,
|
|
229
229
|
updateChannelSettings
|
|
230
|
-
} from "./chunk-
|
|
230
|
+
} from "./chunk-Q5M5QFKY.js";
|
|
231
231
|
import {
|
|
232
232
|
getActiveMinds,
|
|
233
233
|
onMindEvent,
|
|
234
234
|
stopAll
|
|
235
|
-
} from "./chunk-
|
|
235
|
+
} from "./chunk-UMQP5TC5.js";
|
|
236
236
|
import {
|
|
237
237
|
normalizeAvatar
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-WTZD6LFW.js";
|
|
239
239
|
import {
|
|
240
240
|
safeResolveWithinBase
|
|
241
241
|
} from "./chunk-DW4TRDOZ.js";
|
|
@@ -245,7 +245,7 @@ import {
|
|
|
245
245
|
} from "./chunk-WCFSBH33.js";
|
|
246
246
|
import {
|
|
247
247
|
extractTextContent
|
|
248
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-IQROTVBG.js";
|
|
249
249
|
import {
|
|
250
250
|
approveUser,
|
|
251
251
|
changePassword,
|
|
@@ -267,14 +267,14 @@ import {
|
|
|
267
267
|
updateUserProfile,
|
|
268
268
|
verifyUser,
|
|
269
269
|
withSenderDisplayNames
|
|
270
|
-
} from "./chunk-
|
|
270
|
+
} from "./chunk-I3OJ342S.js";
|
|
271
271
|
import {
|
|
272
272
|
broadcast,
|
|
273
273
|
getEventsSince,
|
|
274
274
|
nextEventId,
|
|
275
275
|
publish,
|
|
276
276
|
subscribe
|
|
277
|
-
} from "./chunk-
|
|
277
|
+
} from "./chunk-FYMIGUJ5.js";
|
|
278
278
|
import {
|
|
279
279
|
MIND_LEVEL_THREAD,
|
|
280
280
|
captureReflection,
|
|
@@ -290,7 +290,7 @@ import {
|
|
|
290
290
|
listEvents,
|
|
291
291
|
parseMeta,
|
|
292
292
|
recordNotice
|
|
293
|
-
} from "./chunk-
|
|
293
|
+
} from "./chunk-6LICEQGP.js";
|
|
294
294
|
import {
|
|
295
295
|
parseDbTimestamp,
|
|
296
296
|
publish as publish2,
|
|
@@ -304,7 +304,7 @@ import {
|
|
|
304
304
|
getPrompt,
|
|
305
305
|
getPromptIfCustom,
|
|
306
306
|
substitute
|
|
307
|
-
} from "./chunk-
|
|
307
|
+
} from "./chunk-CVPCRWWC.js";
|
|
308
308
|
import {
|
|
309
309
|
SEED_SKILLS,
|
|
310
310
|
STANDARD_SKILLS,
|
|
@@ -325,8 +325,8 @@ import {
|
|
|
325
325
|
syncBuiltinSkills,
|
|
326
326
|
uninstallSkill,
|
|
327
327
|
updateSkill
|
|
328
|
-
} from "./chunk-
|
|
329
|
-
import "./chunk-
|
|
328
|
+
} from "./chunk-IRNM4LSF.js";
|
|
329
|
+
import "./chunk-OPTA3BJ4.js";
|
|
330
330
|
import {
|
|
331
331
|
chownMindDir,
|
|
332
332
|
chownMindFile,
|
|
@@ -338,14 +338,14 @@ import {
|
|
|
338
338
|
isIsolationEnabled,
|
|
339
339
|
resolveVoluteBin,
|
|
340
340
|
wrapForIsolation
|
|
341
|
-
} from "./chunk-
|
|
341
|
+
} from "./chunk-NA2NJXY4.js";
|
|
342
342
|
import {
|
|
343
343
|
loadMergedEnv,
|
|
344
344
|
mindEnvPath,
|
|
345
345
|
readEnv,
|
|
346
346
|
sharedEnvPath,
|
|
347
347
|
writeEnv
|
|
348
|
-
} from "./chunk-
|
|
348
|
+
} from "./chunk-OHHS5PSI.js";
|
|
349
349
|
import {
|
|
350
350
|
OAuthRefreshError,
|
|
351
351
|
addCustomModel,
|
|
@@ -371,7 +371,7 @@ import {
|
|
|
371
371
|
setProviderRefreshHook,
|
|
372
372
|
setUtilityModel,
|
|
373
373
|
unqualifyModelId
|
|
374
|
-
} from "./chunk-
|
|
374
|
+
} from "./chunk-E2SN3ZOJ.js";
|
|
375
375
|
import {
|
|
376
376
|
logBuffer,
|
|
377
377
|
logger_default
|
|
@@ -410,7 +410,7 @@ import {
|
|
|
410
410
|
voluteHome,
|
|
411
411
|
voluteSystemDir,
|
|
412
412
|
writeGlobalConfig
|
|
413
|
-
} from "./chunk-
|
|
413
|
+
} from "./chunk-TAVIVN2I.js";
|
|
414
414
|
import {
|
|
415
415
|
activity,
|
|
416
416
|
channels,
|
|
@@ -540,7 +540,7 @@ var BackupManager = class {
|
|
|
540
540
|
} catch (pubErr) {
|
|
541
541
|
blog.error("failed to publish backup-failure activity", logger_default.errorData(pubErr));
|
|
542
542
|
}
|
|
543
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
543
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-CWC7CBKP.js");
|
|
544
544
|
await deliverEvent2(getSpiritName(), {
|
|
545
545
|
type: "notice",
|
|
546
546
|
meta: { subtype: "backup" },
|
|
@@ -1505,7 +1505,7 @@ var app = new Hono().post("/restart", requireAdmin, (c) => {
|
|
|
1505
1505
|
config2.name = name.trim() || void 0;
|
|
1506
1506
|
writeGlobalConfig(config2);
|
|
1507
1507
|
if (config2.name !== previousName) {
|
|
1508
|
-
const { notifySpiritSystemChange } = await import("./spirit-
|
|
1508
|
+
const { notifySpiritSystemChange } = await import("./spirit-YPG2MU6W.js");
|
|
1509
1509
|
await notifySpiritSystemChange();
|
|
1510
1510
|
}
|
|
1511
1511
|
return c.json({ name: config2.name ?? null });
|
|
@@ -2747,7 +2747,7 @@ async function fanOutToMinds(opts) {
|
|
|
2747
2747
|
);
|
|
2748
2748
|
}
|
|
2749
2749
|
if (ap.userType === "system") {
|
|
2750
|
-
import("./spirit-availability-
|
|
2750
|
+
import("./spirit-availability-ZQM5IH4C.js").then(({ ensureSpiritAvailable: ensureSpiritAvailable2 }) => ensureSpiritAvailable2()).catch((err) => logger_default.warn("fan-out: on-demand spirit start failed", logger_default.errorData(err)));
|
|
2751
2751
|
}
|
|
2752
2752
|
}
|
|
2753
2753
|
return null;
|
|
@@ -2880,7 +2880,7 @@ var app4 = new Hono5().post("/:platform/inbound", zValidator4("json", inboundSch
|
|
|
2880
2880
|
}
|
|
2881
2881
|
const participants = await getParticipants(channel.id);
|
|
2882
2882
|
if (!participants.some((p) => p.userId === puppet.id)) {
|
|
2883
|
-
const { addParticipant } = await import("./conversations-
|
|
2883
|
+
const { addParticipant } = await import("./conversations-ERMMPMOS.js");
|
|
2884
2884
|
await addParticipant(channel.id, puppet.id);
|
|
2885
2885
|
}
|
|
2886
2886
|
const contentBlocks = body.content;
|
|
@@ -3164,12 +3164,12 @@ async function notifyMind(mindName, message) {
|
|
|
3164
3164
|
const entry = await findMind(mindName);
|
|
3165
3165
|
if (!entry) return false;
|
|
3166
3166
|
try {
|
|
3167
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
3167
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-CWC7CBKP.js");
|
|
3168
3168
|
const result = await deliverEvent2(mindName, { type: "file-share", body: message });
|
|
3169
3169
|
if (result.delivered) return true;
|
|
3170
3170
|
if (result.id == null) return false;
|
|
3171
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
3172
|
-
const { getBaseName: getBaseName2 } = await import("./registry-
|
|
3171
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
3172
|
+
const { getBaseName: getBaseName2 } = await import("./registry-BTQXLDW6.js");
|
|
3173
3173
|
return getSleepManagerIfReady2()?.isSleeping(await getBaseName2(mindName)) ?? false;
|
|
3174
3174
|
} catch (err) {
|
|
3175
3175
|
logger_default.warn(`[file-sharing] notify mind ${mindName} failed`, logger_default.errorData(err));
|
|
@@ -5047,7 +5047,7 @@ async function getMindStatus(name, port, registryRunning, seed) {
|
|
|
5047
5047
|
let status = "stopped";
|
|
5048
5048
|
let wakeAt = null;
|
|
5049
5049
|
try {
|
|
5050
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
5050
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
5051
5051
|
const sleepManager = getSleepManagerIfReady2();
|
|
5052
5052
|
if (sleepManager?.isSleeping(name)) {
|
|
5053
5053
|
status = "sleeping";
|
|
@@ -5415,7 +5415,7 @@ var app13 = new Hono16().post("/", requireAdminOrSystem, zValidator6("json", cre
|
|
|
5415
5415
|
);
|
|
5416
5416
|
}
|
|
5417
5417
|
{
|
|
5418
|
-
const { mindLimitError, readGlobalConfig: readGlobalConfig2 } = await import("./setup-
|
|
5418
|
+
const { mindLimitError, readGlobalConfig: readGlobalConfig2 } = await import("./setup-R7Q4HFJP.js");
|
|
5419
5419
|
const limitError = mindLimitError(await countCappedMinds(), readGlobalConfig2().maxMinds);
|
|
5420
5420
|
if (limitError) return c.json({ error: limitError }, 409);
|
|
5421
5421
|
}
|
|
@@ -5430,7 +5430,7 @@ var app13 = new Hono16().post("/", requireAdminOrSystem, zValidator6("json", cre
|
|
|
5430
5430
|
const { publicKeyPem } = generateIdentity(dest);
|
|
5431
5431
|
let effectiveModel = body.model;
|
|
5432
5432
|
{
|
|
5433
|
-
const { readGlobalConfig: readGlobal } = await import("./setup-
|
|
5433
|
+
const { readGlobalConfig: readGlobal } = await import("./setup-R7Q4HFJP.js");
|
|
5434
5434
|
const mindDefaults = readGlobal().mindDefaults;
|
|
5435
5435
|
const config2 = readVoluteConfig(dest);
|
|
5436
5436
|
if (!config2) throw new Error("Failed to read volute.json after identity generation");
|
|
@@ -5511,7 +5511,7 @@ Your creator described you as: "${body.description}"
|
|
|
5511
5511
|
}
|
|
5512
5512
|
let skillSet = body.skills ?? (body.stage === "seed" ? SEED_SKILLS : getStandardSkillsWithExtensions());
|
|
5513
5513
|
if (body.stage === "seed" && !body.skills) {
|
|
5514
|
-
const { isImagegenEnabled } = await import("./setup-
|
|
5514
|
+
const { isImagegenEnabled } = await import("./setup-R7Q4HFJP.js");
|
|
5515
5515
|
if (isImagegenEnabled()) {
|
|
5516
5516
|
skillSet = [...skillSet, "imagegen"];
|
|
5517
5517
|
}
|
|
@@ -5533,7 +5533,7 @@ Your creator described you as: "${body.description}"
|
|
|
5533
5533
|
const spiritName = getSpiritName();
|
|
5534
5534
|
const spiritEntry = await findMind(spiritName);
|
|
5535
5535
|
if (spiritEntry) {
|
|
5536
|
-
const { spiritDir } = await import("./spirit-
|
|
5536
|
+
const { spiritDir } = await import("./spirit-YPG2MU6W.js");
|
|
5537
5537
|
const sDir = spiritEntry.dir ?? spiritDir();
|
|
5538
5538
|
const spiritConfig = readVoluteConfig(sDir) ?? {};
|
|
5539
5539
|
const schedules = spiritConfig.schedules ?? [];
|
|
@@ -5548,7 +5548,7 @@ Your creator described you as: "${body.description}"
|
|
|
5548
5548
|
});
|
|
5549
5549
|
spiritConfig.schedules = schedules;
|
|
5550
5550
|
writeVoluteConfig(sDir, spiritConfig);
|
|
5551
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
5551
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-G6BCIVGP.js");
|
|
5552
5552
|
getScheduler2().loadSchedules(spiritName, sDir);
|
|
5553
5553
|
}
|
|
5554
5554
|
}
|
|
@@ -5856,7 +5856,7 @@ ${user.trimEnd()}
|
|
|
5856
5856
|
const manager = getMindManager();
|
|
5857
5857
|
try {
|
|
5858
5858
|
if (context?.type === "reload") {
|
|
5859
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
5859
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
5860
5860
|
const sleepState = getSleepManagerIfReady2()?.getState(name);
|
|
5861
5861
|
if (sleepState?.sleeping) {
|
|
5862
5862
|
logger_default.info(`skipping reload for ${name} during sleep \u2014 will apply on next wake`);
|
|
@@ -6005,7 +6005,7 @@ ${user.trimEnd()}
|
|
|
6005
6005
|
const name = c.req.param("name");
|
|
6006
6006
|
const entry = await findMind(name);
|
|
6007
6007
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6008
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6008
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
6009
6009
|
const sm = getSleepManagerIfReady2();
|
|
6010
6010
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6011
6011
|
return c.json(sm.getState(name));
|
|
@@ -6013,7 +6013,7 @@ ${user.trimEnd()}
|
|
|
6013
6013
|
const name = c.req.param("name");
|
|
6014
6014
|
const entry = await findMind(name);
|
|
6015
6015
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6016
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6016
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
6017
6017
|
const sm = getSleepManagerIfReady2();
|
|
6018
6018
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6019
6019
|
if (sm.isSleeping(name)) return c.json({ error: "Mind is already sleeping" }, 409);
|
|
@@ -6033,7 +6033,7 @@ ${user.trimEnd()}
|
|
|
6033
6033
|
const name = c.req.param("name");
|
|
6034
6034
|
const entry = await findMind(name);
|
|
6035
6035
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6036
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6036
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
6037
6037
|
const sm = getSleepManagerIfReady2();
|
|
6038
6038
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6039
6039
|
const sleepState = sm.getState(name);
|
|
@@ -6048,7 +6048,7 @@ ${user.trimEnd()}
|
|
|
6048
6048
|
const name = c.req.param("name");
|
|
6049
6049
|
const entry = await findMind(name);
|
|
6050
6050
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6051
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6051
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
6052
6052
|
const sm = getSleepManagerIfReady2();
|
|
6053
6053
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6054
6054
|
const flushed = await sm.flushQueuedMessages(name);
|
|
@@ -6076,7 +6076,7 @@ ${user.trimEnd()}
|
|
|
6076
6076
|
}
|
|
6077
6077
|
config2.profile = profile;
|
|
6078
6078
|
writeVoluteConfig(dir, config2);
|
|
6079
|
-
const { syncMindProfile: syncMindProfile2 } = await import("./auth-
|
|
6079
|
+
const { syncMindProfile: syncMindProfile2 } = await import("./auth-N2F5ASAB.js");
|
|
6080
6080
|
await syncMindProfile2(name, profile);
|
|
6081
6081
|
broadcast({ type: "profile_updated", mind: name, summary: `${name} profile updated` });
|
|
6082
6082
|
return c.json({ ok: true });
|
|
@@ -6120,7 +6120,7 @@ ${user.trimEnd()}
|
|
|
6120
6120
|
});
|
|
6121
6121
|
}
|
|
6122
6122
|
if (!force) {
|
|
6123
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6123
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-25P44HAO.js");
|
|
6124
6124
|
if (getSleepManagerIfReady2()?.isSleeping(name)) {
|
|
6125
6125
|
return c.json({ output: "" });
|
|
6126
6126
|
}
|
|
@@ -6175,7 +6175,7 @@ ${user.trimEnd()}
|
|
|
6175
6175
|
}
|
|
6176
6176
|
}
|
|
6177
6177
|
const dir = entry.dir ?? mindDir(name);
|
|
6178
|
-
const { evaluateSeedChecklist: evaluateSeedChecklist2 } = await import("./seed-readiness-
|
|
6178
|
+
const { evaluateSeedChecklist: evaluateSeedChecklist2 } = await import("./seed-readiness-RBANMSWW.js");
|
|
6179
6179
|
const checklist = evaluateSeedChecklist2(dir);
|
|
6180
6180
|
const done = [];
|
|
6181
6181
|
const remaining = [];
|
|
@@ -6217,7 +6217,7 @@ ${user.trimEnd()}
|
|
|
6217
6217
|
try {
|
|
6218
6218
|
const sproutedDir = entry.dir ?? mindDir(name);
|
|
6219
6219
|
if (setupDefaultDreaming(sproutedDir).schedulesChanged) {
|
|
6220
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
6220
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-G6BCIVGP.js");
|
|
6221
6221
|
getScheduler2().loadSchedules(name, sproutedDir);
|
|
6222
6222
|
}
|
|
6223
6223
|
} catch (err) {
|
|
@@ -6227,7 +6227,7 @@ ${user.trimEnd()}
|
|
|
6227
6227
|
const spiritName = getSpiritName();
|
|
6228
6228
|
const spiritEntry = await findMind(spiritName);
|
|
6229
6229
|
if (spiritEntry) {
|
|
6230
|
-
const { firstWeekSchedules, spiritDir } = await import("./spirit-
|
|
6230
|
+
const { firstWeekSchedules, spiritDir } = await import("./spirit-YPG2MU6W.js");
|
|
6231
6231
|
const sDir = spiritEntry.dir ?? spiritDir();
|
|
6232
6232
|
const spiritConfig = readVoluteConfig(sDir);
|
|
6233
6233
|
if (spiritConfig) {
|
|
@@ -6241,7 +6241,7 @@ ${user.trimEnd()}
|
|
|
6241
6241
|
spiritConfig.schedules = schedules;
|
|
6242
6242
|
writeVoluteConfig(sDir, spiritConfig);
|
|
6243
6243
|
try {
|
|
6244
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
6244
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-G6BCIVGP.js");
|
|
6245
6245
|
getScheduler2().loadSchedules(spiritName, sDir);
|
|
6246
6246
|
} catch (err) {
|
|
6247
6247
|
logger_default.warn(
|
|
@@ -6362,16 +6362,6 @@ ${user.trimEnd()}
|
|
|
6362
6362
|
return c.json({ error: msg }, 500);
|
|
6363
6363
|
}
|
|
6364
6364
|
}
|
|
6365
|
-
if (body.accept) {
|
|
6366
|
-
if (upgradeInProgress(mindName)) {
|
|
6367
|
-
try {
|
|
6368
|
-
await abortUpgrade(mindName);
|
|
6369
|
-
} catch (err) {
|
|
6370
|
-
logger_default.warn(`failed to clean up legacy upgrade variant for ${mindName}`, logger_default.errorData(err));
|
|
6371
|
-
}
|
|
6372
|
-
}
|
|
6373
|
-
return c.json({ error: "Upgrades now auto-merge. Run 'volute mind upgrade' again." }, 400);
|
|
6374
|
-
}
|
|
6375
6365
|
if (body.diff) {
|
|
6376
6366
|
if (!existsSync7(resolve11(dir, ".git"))) {
|
|
6377
6367
|
return c.json({ error: "Mind has no git history \u2014 nothing to diff against" }, 400);
|
|
@@ -6549,7 +6539,7 @@ ${user.trimEnd()}
|
|
|
6549
6539
|
}
|
|
6550
6540
|
writeVoluteConfig(dir, existing);
|
|
6551
6541
|
if (body.unescapeNewlines !== void 0) {
|
|
6552
|
-
const { clearEchoTextCache } = await import("./echo-text-
|
|
6542
|
+
const { clearEchoTextCache } = await import("./echo-text-Y2DFTD7L.js");
|
|
6553
6543
|
clearEchoTextCache(name);
|
|
6554
6544
|
}
|
|
6555
6545
|
const needsConfigJson = body.model !== void 0 || body.thinkingLevel !== void 0 || body.compaction !== void 0;
|
|
@@ -6586,7 +6576,7 @@ ${user.trimEnd()}
|
|
|
6586
6576
|
}
|
|
6587
6577
|
if (entry.mindType === "spirit" && body.model !== void 0) {
|
|
6588
6578
|
try {
|
|
6589
|
-
const { readGlobalConfig: readGlobalConfig2, writeGlobalConfig: writeGlobalConfig2 } = await import("./setup-
|
|
6579
|
+
const { readGlobalConfig: readGlobalConfig2, writeGlobalConfig: writeGlobalConfig2 } = await import("./setup-R7Q4HFJP.js");
|
|
6590
6580
|
const globalConfig = readGlobalConfig2();
|
|
6591
6581
|
globalConfig.spiritModel = body.model;
|
|
6592
6582
|
writeGlobalConfig2(globalConfig);
|
|
@@ -6663,7 +6653,7 @@ ${user.trimEnd()}
|
|
|
6663
6653
|
if (!body.systemPrompt || !body.message) {
|
|
6664
6654
|
return c.json({ error: "systemPrompt and message required" }, 400);
|
|
6665
6655
|
}
|
|
6666
|
-
const { aiComplete: aiCompleteFn, isAiConfigured: isAiConfigured2 } = await import("./ai-service-
|
|
6656
|
+
const { aiComplete: aiCompleteFn, isAiConfigured: isAiConfigured2 } = await import("./ai-service-3UFNG6GI.js");
|
|
6667
6657
|
if (!isAiConfigured2()) {
|
|
6668
6658
|
return c.json({ error: "AI service not configured" }, 503);
|
|
6669
6659
|
}
|
|
@@ -6831,26 +6821,10 @@ ${user.trimEnd()}
|
|
|
6831
6821
|
const detail = c.req.query("detail") === "1";
|
|
6832
6822
|
const db = await getDb();
|
|
6833
6823
|
const typeFilter = detail ? void 0 : sql3`${mindHistory.type} IN ('inbound','event','outbound','tool_use','tool_result','text','thinking','activity')`;
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
rows = await db.select().from(mindHistory).where(and5(eq5(mindHistory.mind, name), eq5(mindHistory.turn_id, turnId), typeFilter)).orderBy(mindHistory.id);
|
|
6837
|
-
} else {
|
|
6838
|
-
const session = c.req.query("session");
|
|
6839
|
-
const fromId = parseInt(c.req.query("from_id") ?? "", 10);
|
|
6840
|
-
const toId = parseInt(c.req.query("to_id") ?? "", 10);
|
|
6841
|
-
if (!session || Number.isNaN(fromId) || Number.isNaN(toId)) {
|
|
6842
|
-
return c.json({ error: "turn_id, or session with from_id and to_id, required" }, 400);
|
|
6843
|
-
}
|
|
6844
|
-
rows = await db.select().from(mindHistory).where(
|
|
6845
|
-
and5(
|
|
6846
|
-
eq5(mindHistory.mind, name),
|
|
6847
|
-
eq5(mindHistory.thread, session),
|
|
6848
|
-
sql3`${mindHistory.id} >= ${fromId}`,
|
|
6849
|
-
sql3`${mindHistory.id} <= ${toId}`,
|
|
6850
|
-
typeFilter
|
|
6851
|
-
)
|
|
6852
|
-
).orderBy(mindHistory.id);
|
|
6824
|
+
if (!turnId) {
|
|
6825
|
+
return c.json({ error: "turn_id required" }, 400);
|
|
6853
6826
|
}
|
|
6827
|
+
const rows = await db.select().from(mindHistory).where(and5(eq5(mindHistory.mind, name), eq5(mindHistory.turn_id, turnId), typeFilter)).orderBy(mindHistory.id);
|
|
6854
6828
|
return c.json(rows);
|
|
6855
6829
|
}).get("/:name/history/cross-session", requireSelf(), async (c) => {
|
|
6856
6830
|
const name = c.req.param("name");
|
|
@@ -7337,7 +7311,6 @@ var app15 = new Hono18().get("/:name/clock/status", requireSelf(), async (c) =>
|
|
|
7337
7311
|
if (body.message) schedule.message = body.message;
|
|
7338
7312
|
if (body.messages?.length) schedule.messages = body.messages;
|
|
7339
7313
|
if (body.script) schedule.script = body.script;
|
|
7340
|
-
if (body.channel) schedule.channel = body.channel;
|
|
7341
7314
|
if (body.thread) schedule.thread = body.thread;
|
|
7342
7315
|
if (body.whileSleeping) schedule.whileSleeping = body.whileSleeping;
|
|
7343
7316
|
schedules.push(schedule);
|
|
@@ -7402,7 +7375,6 @@ var app15 = new Hono18().get("/:name/clock/status", requireSelf(), async (c) =>
|
|
|
7402
7375
|
);
|
|
7403
7376
|
}
|
|
7404
7377
|
if (body.enabled !== void 0) schedules[idx].enabled = body.enabled;
|
|
7405
|
-
if (body.channel !== void 0) schedules[idx].channel = body.channel || void 0;
|
|
7406
7378
|
if (body.thread !== void 0) schedules[idx].thread = body.thread || void 0;
|
|
7407
7379
|
if (body.whileSleeping !== void 0)
|
|
7408
7380
|
schedules[idx].whileSleeping = body.whileSleeping || void 0;
|
|
@@ -7432,7 +7404,7 @@ var app15 = new Hono18().get("/:name/clock/status", requireSelf(), async (c) =>
|
|
|
7432
7404
|
const entry = await findMind(name);
|
|
7433
7405
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
7434
7406
|
const body = await c.req.text();
|
|
7435
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
7407
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-CWC7CBKP.js");
|
|
7436
7408
|
const { id, delivered } = await deliverEvent2(name, {
|
|
7437
7409
|
type: "webhook",
|
|
7438
7410
|
body,
|
|
@@ -7491,7 +7463,7 @@ setup.get("/status", async (c) => {
|
|
|
7491
7463
|
let hasAccount = false;
|
|
7492
7464
|
if (hasSystem) {
|
|
7493
7465
|
try {
|
|
7494
|
-
const { listUsersByType: listUsersByType2 } = await import("./auth-
|
|
7466
|
+
const { listUsersByType: listUsersByType2 } = await import("./auth-N2F5ASAB.js");
|
|
7495
7467
|
const brains = await listUsersByType2("human");
|
|
7496
7468
|
hasAccount = brains.length > 0;
|
|
7497
7469
|
} catch (err) {
|
|
@@ -7506,32 +7478,6 @@ setup.get("/status", async (c) => {
|
|
|
7506
7478
|
spiritName: config2.setup?.spiritName ?? null
|
|
7507
7479
|
});
|
|
7508
7480
|
});
|
|
7509
|
-
setup.post("/configure", async (c) => {
|
|
7510
|
-
if (isSetupComplete()) {
|
|
7511
|
-
return c.json({ error: "Setup already complete" }, 400);
|
|
7512
|
-
}
|
|
7513
|
-
let body;
|
|
7514
|
-
try {
|
|
7515
|
-
body = await c.req.json();
|
|
7516
|
-
} catch {
|
|
7517
|
-
return c.json({ error: "Invalid JSON in request body" }, 400);
|
|
7518
|
-
}
|
|
7519
|
-
if (!body.name?.trim()) {
|
|
7520
|
-
return c.json({ error: "System name is required" }, 400);
|
|
7521
|
-
}
|
|
7522
|
-
const setupType = body.type ?? "local";
|
|
7523
|
-
if (setupType !== "local") {
|
|
7524
|
-
return c.json({ error: "Web setup only supports local install type" }, 400);
|
|
7525
|
-
}
|
|
7526
|
-
try {
|
|
7527
|
-
const config2 = writeSetupConfig(body.name.trim());
|
|
7528
|
-
config2.setupCompleted = true;
|
|
7529
|
-
writeGlobalConfig(config2);
|
|
7530
|
-
return c.json({ ok: true, config: { name: config2.name, setup: config2.setup } });
|
|
7531
|
-
} catch (err) {
|
|
7532
|
-
return c.json({ error: `Failed to write configuration: ${err.message}` }, 500);
|
|
7533
|
-
}
|
|
7534
|
-
});
|
|
7535
7481
|
setup.post("/system", async (c) => {
|
|
7536
7482
|
if (isSetupComplete()) {
|
|
7537
7483
|
return c.json({ error: "Setup already complete" }, 400);
|
|
@@ -7703,7 +7649,7 @@ setup.post("/account", async (c) => {
|
|
|
7703
7649
|
}
|
|
7704
7650
|
}
|
|
7705
7651
|
try {
|
|
7706
|
-
const { createUser: createUser2, updateUserProfile: updateUserProfile2 } = await import("./auth-
|
|
7652
|
+
const { createUser: createUser2, updateUserProfile: updateUserProfile2 } = await import("./auth-N2F5ASAB.js");
|
|
7707
7653
|
const user = await createUser2(body.username.trim(), body.password);
|
|
7708
7654
|
if (body.displayName?.trim()) {
|
|
7709
7655
|
await updateUserProfile2(user.id, { display_name: body.displayName.trim() });
|
|
@@ -7749,7 +7695,7 @@ setup.post("/models", async (c) => {
|
|
|
7749
7695
|
return c.json({ error: "Spirit model is required" }, 400);
|
|
7750
7696
|
}
|
|
7751
7697
|
try {
|
|
7752
|
-
const { setEnabledModels: setEnabledModels3, setUtilityModel: setUtilityModel2 } = await import("./ai-service-
|
|
7698
|
+
const { setEnabledModels: setEnabledModels3, setUtilityModel: setUtilityModel2 } = await import("./ai-service-3UFNG6GI.js");
|
|
7753
7699
|
setEnabledModels3(body.models);
|
|
7754
7700
|
const config2 = readGlobalConfig();
|
|
7755
7701
|
config2.spiritModel = body.spiritModel.trim();
|
|
@@ -7829,8 +7775,8 @@ setup.post("/complete", async (c) => {
|
|
|
7829
7775
|
return c.json({ error: "Setup already complete" }, 400);
|
|
7830
7776
|
}
|
|
7831
7777
|
try {
|
|
7832
|
-
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-
|
|
7833
|
-
const { startSpiritFull } = await import("./mind-service-
|
|
7778
|
+
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-YPG2MU6W.js");
|
|
7779
|
+
const { startSpiritFull } = await import("./mind-service-LRVOQG2T.js");
|
|
7834
7780
|
await ensureSpiritProject();
|
|
7835
7781
|
await syncSpiritTemplate();
|
|
7836
7782
|
await notifyExtensionsSpiritReady();
|
|
@@ -7838,7 +7784,7 @@ setup.post("/complete", async (c) => {
|
|
|
7838
7784
|
const config2 = readGlobalConfig();
|
|
7839
7785
|
if (config2.setup?.service && config2.setup?.type === "local") {
|
|
7840
7786
|
try {
|
|
7841
|
-
const { installUserService } = await import("./service-install-
|
|
7787
|
+
const { installUserService } = await import("./service-install-RCC26KDV.js");
|
|
7842
7788
|
const installed = await installUserService(config2.port, config2.hostname);
|
|
7843
7789
|
if (!installed) {
|
|
7844
7790
|
warnings.push("Service installation is not supported on this platform.");
|
|
@@ -7868,8 +7814,8 @@ setup.post("/complete", async (c) => {
|
|
|
7868
7814
|
}
|
|
7869
7815
|
let spiritConversationId;
|
|
7870
7816
|
try {
|
|
7871
|
-
const { getOrCreateMindUser: getOrCreateMindUser2, listUsersByType: listUsersByType2 } = await import("./auth-
|
|
7872
|
-
const { createConversation: createConversation2, findDMConversation: findDMConversation2 } = await import("./conversations-
|
|
7817
|
+
const { getOrCreateMindUser: getOrCreateMindUser2, listUsersByType: listUsersByType2 } = await import("./auth-N2F5ASAB.js");
|
|
7818
|
+
const { createConversation: createConversation2, findDMConversation: findDMConversation2 } = await import("./conversations-ERMMPMOS.js");
|
|
7873
7819
|
const spiritUser = await getOrCreateMindUser2(spiritName);
|
|
7874
7820
|
const brains = await listUsersByType2("human");
|
|
7875
7821
|
const admin2 = brains.find((u) => u.role === "admin");
|
|
@@ -7891,8 +7837,8 @@ setup.post("/complete", async (c) => {
|
|
|
7891
7837
|
logger_default.info("setup complete state", { spiritConversationId, spiritStarted });
|
|
7892
7838
|
if (spiritConversationId && spiritStarted) {
|
|
7893
7839
|
try {
|
|
7894
|
-
const { deliverMessage: deliverMessage2 } = await import("./message-delivery-
|
|
7895
|
-
const { listUsersByType: listUsers2 } = await import("./auth-
|
|
7840
|
+
const { deliverMessage: deliverMessage2 } = await import("./message-delivery-HBTMGWFU.js");
|
|
7841
|
+
const { listUsersByType: listUsers2 } = await import("./auth-N2F5ASAB.js");
|
|
7896
7842
|
const admins = await listUsers2("human");
|
|
7897
7843
|
const admin2 = admins.find((u) => u.role === "admin");
|
|
7898
7844
|
if (admin2) {
|
|
@@ -9142,7 +9088,7 @@ var app22 = new Hono26().get("/:name/variants", async (c) => {
|
|
|
9142
9088
|
if (variantName.endsWith("-upgrade") || variantName === "upgrade") {
|
|
9143
9089
|
try {
|
|
9144
9090
|
const { computeTemplateHash: computeTemplateHash2 } = await import("./template-hash-RJRMF6DT.js");
|
|
9145
|
-
const { setMindTemplateHash: setMindTemplateHash2 } = await import("./registry-
|
|
9091
|
+
const { setMindTemplateHash: setMindTemplateHash2 } = await import("./registry-BTQXLDW6.js");
|
|
9146
9092
|
const tmpl = parentEntry.template ?? "claude";
|
|
9147
9093
|
await setMindTemplateHash2(mindName, computeTemplateHash2(tmpl));
|
|
9148
9094
|
} catch (err) {
|
|
@@ -10011,91 +9957,36 @@ async function startDaemon(opts) {
|
|
|
10011
9957
|
const DAEMON_TOKEN_PATH = resolve18(systemDir, "daemon-token");
|
|
10012
9958
|
mkdirSync10(home, { recursive: true });
|
|
10013
9959
|
ensureSystemDir();
|
|
10014
|
-
|
|
10015
|
-
migrateConfigSecrets();
|
|
10016
|
-
migrateSetupCompleted();
|
|
10017
|
-
const { migrateAiModelQualification } = await import("./ai-service-KEK2V3AP.js");
|
|
10018
|
-
migrateAiModelQualification();
|
|
10019
|
-
await (await import("./db-BONH4SUG.js")).getDb();
|
|
9960
|
+
await (await import("./db-BQFYIONA.js")).getDb();
|
|
10020
9961
|
try {
|
|
10021
9962
|
const { eq: eq9, and: and7 } = await import("drizzle-orm");
|
|
10022
9963
|
const { users: users2 } = await import("./schema-ZZQVM4GR.js");
|
|
10023
|
-
const db = await (await import("./db-
|
|
9964
|
+
const db = await (await import("./db-BQFYIONA.js")).getDb();
|
|
10024
9965
|
await db.update(users2).set({ role: "system" }).where(and7(eq9(users2.user_type, "system"), eq9(users2.role, "user")));
|
|
10025
9966
|
} catch (err) {
|
|
10026
9967
|
logger_default.warn("failed to migrate system user role", logger_default.errorData(err));
|
|
10027
9968
|
}
|
|
10028
9969
|
try {
|
|
10029
|
-
const { migrateAvatarSizes } = await import("./avatar-image-
|
|
9970
|
+
const { migrateAvatarSizes } = await import("./avatar-image-QEKKUFDF.js");
|
|
10030
9971
|
await migrateAvatarSizes();
|
|
10031
9972
|
} catch (err) {
|
|
10032
9973
|
logger_default.warn("avatar size migration failed", logger_default.errorData(err));
|
|
10033
9974
|
}
|
|
10034
|
-
|
|
10035
|
-
const { migrateThreadConfigs } = await import("./migrate-thread-config-SVF2M3D3.js");
|
|
10036
|
-
await migrateThreadConfigs();
|
|
10037
|
-
} catch (err) {
|
|
10038
|
-
logger_default.warn("session\u2192thread config migration failed", logger_default.errorData(err));
|
|
10039
|
-
}
|
|
10040
|
-
try {
|
|
10041
|
-
const { migrateNamePlaceholders } = await import("./migrate-name-placeholder-64AEAWPE.js");
|
|
10042
|
-
await migrateNamePlaceholders();
|
|
10043
|
-
} catch (err) {
|
|
10044
|
-
logger_default.warn("{{name}} placeholder migration failed", logger_default.errorData(err));
|
|
10045
|
-
}
|
|
10046
|
-
try {
|
|
10047
|
-
const { migrateInitInfrastructure } = await import("./migrate-init-infrastructure-Z72UJ5NT.js");
|
|
10048
|
-
await migrateInitInfrastructure();
|
|
10049
|
-
} catch (err) {
|
|
10050
|
-
logger_default.warn("`.init/` infrastructure backfill failed", logger_default.errorData(err));
|
|
10051
|
-
}
|
|
10052
|
-
const { initSandbox } = await import("./sandbox-VI7XWBIA.js");
|
|
9975
|
+
const { initSandbox } = await import("./sandbox-OUFAGN45.js");
|
|
10053
9976
|
await initSandbox();
|
|
10054
|
-
try {
|
|
10055
|
-
await syncBuiltinSkills();
|
|
10056
|
-
} catch (err) {
|
|
10057
|
-
logger_default.error("failed to sync built-in skills", logger_default.errorData(err));
|
|
10058
|
-
}
|
|
10059
9977
|
try {
|
|
10060
9978
|
await loadAllExtensions(app_default, authMiddleware);
|
|
10061
9979
|
notifyExtensionsDaemonStart();
|
|
10062
9980
|
} catch (err) {
|
|
10063
9981
|
logger_default.error("failed to load extensions", logger_default.errorData(err));
|
|
10064
9982
|
}
|
|
10065
|
-
await initDefaultSkills();
|
|
10066
|
-
if (isAutoUpdateSkillsEnabled()) {
|
|
10067
|
-
try {
|
|
10068
|
-
await autoUpdateMindSkills();
|
|
10069
|
-
} catch (err) {
|
|
10070
|
-
logger_default.error("failed to auto-update mind skills", logger_default.errorData(err));
|
|
10071
|
-
}
|
|
10072
|
-
}
|
|
10073
|
-
try {
|
|
10074
|
-
await ensureSystemChannel();
|
|
10075
|
-
} catch (err) {
|
|
10076
|
-
logger_default.warn("failed to ensure #system channel", logger_default.errorData(err));
|
|
10077
|
-
}
|
|
10078
|
-
try {
|
|
10079
|
-
await backfillSystemChannelMembers();
|
|
10080
|
-
} catch (err) {
|
|
10081
|
-
logger_default.warn("failed to backfill minds into #system", logger_default.errorData(err));
|
|
10082
|
-
}
|
|
10083
|
-
try {
|
|
10084
|
-
const { getOrCreateSystemUser: getOrCreateSystemUser2 } = await import("./auth-Y27LTNZK.js");
|
|
10085
|
-
await getOrCreateSystemUser2();
|
|
10086
|
-
} catch (err) {
|
|
10087
|
-
logger_default.warn(
|
|
10088
|
-
"failed to ensure system user \u2014 system chat features will be unavailable",
|
|
10089
|
-
logger_default.errorData(err)
|
|
10090
|
-
);
|
|
10091
|
-
}
|
|
10092
9983
|
const token = process.env.VOLUTE_DAEMON_TOKEN || randomBytes3(32).toString("hex");
|
|
10093
|
-
const { readGlobalConfig: readGlobalConfig2 } = await import("./setup-
|
|
9984
|
+
const { readGlobalConfig: readGlobalConfig2 } = await import("./setup-R7Q4HFJP.js");
|
|
10094
9985
|
const globalCfg = readGlobalConfig2();
|
|
10095
9986
|
let tls;
|
|
10096
9987
|
if (opts.tailscale || globalCfg.tailscale) {
|
|
10097
9988
|
try {
|
|
10098
|
-
const { getTailscaleTls } = await import("./tailscale-
|
|
9989
|
+
const { getTailscaleTls } = await import("./tailscale-4XY7B5A2.js");
|
|
10099
9990
|
const tlsConfig = await getTailscaleTls();
|
|
10100
9991
|
tls = { key: tlsConfig.key, cert: tlsConfig.cert };
|
|
10101
9992
|
logger_default.info("Tailscale HTTPS enabled", { hostname: tlsConfig.hostname });
|
|
@@ -10127,6 +10018,38 @@ async function startDaemon(opts) {
|
|
|
10127
10018
|
if (internalPort) daemonConfig.internalPort = internalPort;
|
|
10128
10019
|
if (tls) daemonConfig.tls = true;
|
|
10129
10020
|
writeDaemonConfig(systemDir, daemonConfig, token);
|
|
10021
|
+
try {
|
|
10022
|
+
await syncBuiltinSkills();
|
|
10023
|
+
} catch (err) {
|
|
10024
|
+
logger_default.error("failed to sync built-in skills", logger_default.errorData(err));
|
|
10025
|
+
}
|
|
10026
|
+
await initDefaultSkills();
|
|
10027
|
+
if (isAutoUpdateSkillsEnabled()) {
|
|
10028
|
+
try {
|
|
10029
|
+
await autoUpdateMindSkills();
|
|
10030
|
+
} catch (err) {
|
|
10031
|
+
logger_default.error("failed to auto-update mind skills", logger_default.errorData(err));
|
|
10032
|
+
}
|
|
10033
|
+
}
|
|
10034
|
+
try {
|
|
10035
|
+
await ensureSystemChannel();
|
|
10036
|
+
} catch (err) {
|
|
10037
|
+
logger_default.warn("failed to ensure #system channel", logger_default.errorData(err));
|
|
10038
|
+
}
|
|
10039
|
+
try {
|
|
10040
|
+
await backfillSystemChannelMembers();
|
|
10041
|
+
} catch (err) {
|
|
10042
|
+
logger_default.warn("failed to backfill minds into #system", logger_default.errorData(err));
|
|
10043
|
+
}
|
|
10044
|
+
try {
|
|
10045
|
+
const { getOrCreateSystemUser: getOrCreateSystemUser2 } = await import("./auth-N2F5ASAB.js");
|
|
10046
|
+
await getOrCreateSystemUser2();
|
|
10047
|
+
} catch (err) {
|
|
10048
|
+
logger_default.warn(
|
|
10049
|
+
"failed to ensure system user \u2014 system chat features will be unavailable",
|
|
10050
|
+
logger_default.errorData(err)
|
|
10051
|
+
);
|
|
10052
|
+
}
|
|
10130
10053
|
const delivery = initDeliveryManager();
|
|
10131
10054
|
const manager = initMindManager();
|
|
10132
10055
|
manager.loadCrashAttempts();
|
|
@@ -10149,7 +10072,7 @@ async function startDaemon(opts) {
|
|
|
10149
10072
|
const orphanedTurns = await completeOrphanedTurns();
|
|
10150
10073
|
summarizeOrphanedTurns(orphanedTurns);
|
|
10151
10074
|
try {
|
|
10152
|
-
const { reconcileVariants } = await import("./variant-cleanup-
|
|
10075
|
+
const { reconcileVariants } = await import("./variant-cleanup-K7RFMSH7.js");
|
|
10153
10076
|
await reconcileVariants();
|
|
10154
10077
|
} catch (err) {
|
|
10155
10078
|
logger_default.error("failed to reconcile variants", logger_default.errorData(err));
|
|
@@ -10183,15 +10106,15 @@ async function startDaemon(opts) {
|
|
|
10183
10106
|
await Promise.all(workers);
|
|
10184
10107
|
}
|
|
10185
10108
|
try {
|
|
10186
|
-
const { isSetupComplete: isSetupComplete2, getSpiritName: getSpiritName2 } = await import("./setup-
|
|
10109
|
+
const { isSetupComplete: isSetupComplete2, getSpiritName: getSpiritName2 } = await import("./setup-R7Q4HFJP.js");
|
|
10187
10110
|
if (isSetupComplete2()) {
|
|
10188
|
-
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-
|
|
10189
|
-
const { startSpiritFull } = await import("./mind-service-
|
|
10111
|
+
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-YPG2MU6W.js");
|
|
10112
|
+
const { startSpiritFull } = await import("./mind-service-LRVOQG2T.js");
|
|
10190
10113
|
await ensureSpiritProject();
|
|
10191
10114
|
const spiritName = getSpiritName2();
|
|
10192
10115
|
const spiritEntry = await findMind(spiritName);
|
|
10193
10116
|
if (spiritEntry?.dir) {
|
|
10194
|
-
const { registerMindDir } = await import("./delivery-router-
|
|
10117
|
+
const { registerMindDir } = await import("./delivery-router-U6Q22ZYU.js");
|
|
10195
10118
|
registerMindDir(spiritName, spiritEntry.dir);
|
|
10196
10119
|
}
|
|
10197
10120
|
await syncSpiritTemplate();
|
|
@@ -10206,7 +10129,7 @@ async function startDaemon(opts) {
|
|
|
10206
10129
|
bridgeManager.startBridges(daemonPort).catch((err) => {
|
|
10207
10130
|
logger_default.warn("failed to start bridges", logger_default.errorData(err));
|
|
10208
10131
|
});
|
|
10209
|
-
import("./cloud-sync-
|
|
10132
|
+
import("./cloud-sync-RTUXMYU2.js").then(
|
|
10210
10133
|
({ consumeQueuedMessages }) => consumeQueuedMessages().catch((err) => {
|
|
10211
10134
|
logger_default.warn("failed to consume queued cloud messages", logger_default.errorData(err));
|
|
10212
10135
|
})
|
|
@@ -10214,11 +10137,11 @@ async function startDaemon(opts) {
|
|
|
10214
10137
|
logger_default.warn("failed to load cloud-sync module", logger_default.errorData(err));
|
|
10215
10138
|
});
|
|
10216
10139
|
try {
|
|
10217
|
-
const { backfillTemplateHashes, notifyVersionUpdate, warnStaleTemplates } = await import("./version-notify-
|
|
10140
|
+
const { backfillTemplateHashes, notifyVersionUpdate, warnStaleTemplates } = await import("./version-notify-QIDHR6WO.js");
|
|
10218
10141
|
notifyVersionUpdate().catch((err) => {
|
|
10219
10142
|
logger_default.warn("failed to send version update notifications", logger_default.errorData(err));
|
|
10220
10143
|
}).then(() => backfillTemplateHashes()).then(() => warnStaleTemplates()).then(async () => {
|
|
10221
|
-
const { runAutoUpgrades } = await import("./auto-upgrade-
|
|
10144
|
+
const { runAutoUpgrades } = await import("./auto-upgrade-O4MQPYQF.js");
|
|
10222
10145
|
await runAutoUpgrades();
|
|
10223
10146
|
}).catch((err) => {
|
|
10224
10147
|
logger_default.warn("template staleness/auto-upgrade pass failed", logger_default.errorData(err));
|