volute 0.54.0 → 0.55.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-TFAJBNBW.js} +2 -2
- package/dist/{ai-service-YW5SWCSB.js → ai-service-KEK2V3AP.js} +2 -2
- package/dist/{auth-KRDSM55Q.js → auth-Y27LTNZK.js} +3 -3
- package/dist/auto-upgrade-2MZF7NG3.js +46 -0
- package/dist/{avatar-image-52WGXLHV.js → avatar-image-SN576P45.js} +2 -2
- package/dist/{backup-QRNX6RK7.js → backup-GDCWH6MC.js} +2 -2
- package/dist/{channels-CKCY64TD.js → channels-AFJWGX7W.js} +15 -15
- package/dist/{chat-ZUGNL5GS.js → chat-HVPOZK3O.js} +3 -3
- package/dist/{chunk-QUSMYGNQ.js → chunk-2674KIGI.js} +1 -0
- package/dist/chunk-2GATCSZK.js +520 -0
- package/dist/{chunk-LKUGUQUW.js → chunk-3SFKY4GI.js} +4 -4
- package/dist/{chunk-CLCHOXLR.js → chunk-45QTYKQQ.js} +4 -4
- package/dist/{chunk-PPSN2MLC.js → chunk-4VAQKLMU.js} +7 -4
- package/dist/{chunk-TPX6E6PL.js → chunk-6HBGUPBA.js} +2 -2
- package/dist/{chunk-UFTDRTCP.js → chunk-7AA4T2RT.js} +2 -2
- package/dist/{chunk-56IT2ZXF.js → chunk-BP2X5AIK.js} +8 -14
- package/dist/{chunk-444RR3YF.js → chunk-CKOA4LWV.js} +11 -11
- package/dist/{chunk-HKGYZVWN.js → chunk-DUV4EMNW.js} +37 -3
- package/dist/{chunk-CV6BNGFK.js → chunk-FSXPPOPM.js} +3 -3
- package/dist/{chunk-3LHUXY3E.js → chunk-FZUPIS3T.js} +3 -3
- package/dist/{chunk-L7BKTZ5U.js → chunk-G3XAB4DK.js} +1 -1
- package/dist/{chunk-WHL6PKYP.js → chunk-HLWQ3P3R.js} +49 -45
- package/dist/{chunk-OAYY3WF3.js → chunk-HTSWDOJE.js} +0 -11
- package/dist/{chunk-OYF25B62.js → chunk-IR2FW4W7.js} +1 -1
- package/dist/{chunk-ICXY54ZC.js → chunk-IT4GEFDH.js} +1 -1
- package/dist/{chunk-F6D766VQ.js → chunk-KS62IHE2.js} +1 -1
- package/dist/{chunk-LNNI3MS4.js → chunk-MNKPAAQF.js} +9 -2
- package/dist/{chunk-LGXVGIWN.js → chunk-NCRG4SBR.js} +189 -55
- package/dist/{chunk-I7U5EEZC.js → chunk-NM5FDH4T.js} +1 -1
- package/dist/{chunk-7LT3YZUR.js → chunk-OFU6WJJZ.js} +1 -1
- package/dist/{chunk-OT5SXF7L.js → chunk-OUGD5L5U.js} +26 -12
- package/dist/{chunk-X67BDDZR.js → chunk-P3GXOT2X.js} +48 -2
- package/dist/{chunk-U54PJPTB.js → chunk-PRZUBJ4K.js} +1 -1
- package/dist/{chunk-OGPVJ53N.js → chunk-QVS3C4DK.js} +2 -2
- package/dist/{chunk-VDUCLVZI.js → chunk-TMTAHKYP.js} +27 -25
- package/dist/{chunk-RGHF3OK5.js → chunk-UEZC5MNB.js} +13 -13
- package/dist/{chunk-ATZF2RNJ.js → chunk-VTFXZPC3.js} +12 -12
- package/dist/{chunk-YSRYCS3N.js → chunk-W3OIPJPB.js} +1 -1
- package/dist/{chunk-5Y54AE3L.js → chunk-XAG53RWY.js} +1 -1
- package/dist/{chunk-HTRSSOHY.js → chunk-YU5EYQAE.js} +1 -1
- package/dist/{chunk-EGV6R6UF.js → chunk-Z7TNIIHW.js} +3 -1
- package/dist/cli.js +8 -8
- package/dist/{cloud-sync-52YNJRMR.js → cloud-sync-FM73SVFJ.js} +20 -20
- package/dist/{conversations-ZL6PHROD.js → conversations-FH3ODBL7.js} +3 -3
- package/dist/{create-G2RIKQYK.js → create-P75ZFTVN.js} +1 -1
- package/dist/{daemon-restart-QWHN5VMU.js → daemon-restart-JQMMMITM.js} +1 -1
- package/dist/daemon.js +187 -159
- package/dist/{db-I4EH5SLF.js → db-JH3NTERX.js} +17 -3
- package/dist/{delivery-manager-7R2YIQ2W.js → delivery-manager-H23Q23N7.js} +15 -15
- package/dist/{delivery-notices-RZQ6GONP.js → delivery-notices-S7TKOACE.js} +5 -5
- package/dist/{delivery-router-QS4NLJR6.js → delivery-router-KHBVEVVL.js} +2 -2
- package/dist/echo-text-ULEIFJJF.js +40 -0
- package/dist/{extensions-QT65JGV6.js → extensions-QD22GXZD.js} +24 -20
- package/dist/{files-PCKBQHAY.js → files-DUGRXN6V.js} +2 -2
- package/dist/{import-DB2KULRO.js → import-RDDUGGFI.js} +3 -3
- package/dist/message-delivery-LU4EP244.js +46 -0
- package/dist/migrate-init-infrastructure-Z72UJ5NT.js +44 -0
- package/dist/{migrate-name-placeholder-C7NCNLWF.js → migrate-name-placeholder-64AEAWPE.js} +1 -1
- package/dist/{migrate-thread-config-EQSEP2XG.js → migrate-thread-config-SVF2M3D3.js} +1 -1
- package/dist/{mind-CT6ANXK4.js → mind-BARCLI7O.js} +4 -4
- package/dist/{mind-activity-tracker-QF6DCX2X.js → mind-activity-tracker-UT23RGBF.js} +3 -3
- package/dist/mind-service-ZJCUBAUL.js +48 -0
- package/dist/{package-F6S5NHY2.js → package-AUDBDKAO.js} +10 -12
- package/dist/{prompts-JECJIFPQ.js → prompts-MOBF3TMO.js} +1 -1
- package/dist/{sandbox-NNWCTHRI.js → sandbox-VI7XWBIA.js} +2 -2
- package/dist/scheduler-GLINVC2B.js +27 -0
- package/dist/{seed-DRKAP3XV.js → seed-5JGR7ZRA.js} +1 -1
- package/dist/{seed-cmd-6IMTO3LG.js → seed-cmd-M6A7N7F3.js} +2 -2
- package/dist/{seed-create-VNLDYRFK.js → seed-create-TGFZW4IO.js} +3 -3
- package/dist/{seed-readiness-H5TTPAQH.js → seed-readiness-XBH2MUNA.js} +2 -2
- package/dist/{seed-sprout-PPGYGK4G.js → seed-sprout-3IC5ZVTI.js} +7 -7
- package/dist/{send-UXUQKO4N.js → send-DHYBAYK4.js} +2 -2
- package/dist/{setup-YUAQMDVZ.js → setup-6KAH3GRW.js} +1 -1
- package/dist/skills/volute-mind/SKILL.md +8 -0
- package/dist/{skills-GMQ5UIIW.js → skills-LKQCYFVP.js} +2 -2
- package/dist/sleep-manager-Q3ITFNOJ.js +42 -0
- package/dist/{spirit-Q5VGFWUI.js → spirit-FKXMGO3N.js} +5 -5
- package/dist/spirit-availability-5R2WYSWF.js +43 -0
- package/dist/{sprout-PMTRL7QN.js → sprout-VEW3CUNX.js} +1 -1
- package/dist/{src-H3UCOP6B.js → src-246GSX7A.js} +5 -2
- package/dist/src-LOUB3WPR.js +4189 -0
- package/dist/{system-events-Q7IVZ5T4.js → system-events-ZYOCYAO2.js} +5 -3
- package/dist/{tailscale-KHNZFC7L.js → tailscale-F2IMBILZ.js} +1 -1
- package/dist/{template-hash-YKWMVYMM.js → template-hash-RJRMF6DT.js} +2 -2
- package/dist/{template-staleness-PY2CULH6.js → template-staleness-IBD722PN.js} +4 -4
- package/dist/{turn-tracker-HZDPMSCC.js → turn-tracker-BE34OI6O.js} +7 -7
- package/dist/{up-XZDSJVMU.js → up-J47J5JRB.js} +1 -1
- package/dist/variant-cleanup-JGJZ5KB4.js +24 -0
- package/dist/{version-notify-VNVFX6UP.js → version-notify-KIXYNHJC.js} +11 -11
- package/dist/web-assets/assets/{index-CwtxGwe_.js → index-CoU1eUKE.js} +15 -15
- package/dist/web-assets/assets/index-hPn_fkz3.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +10 -12
- 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/echo-text-73CYQRL7.js +0 -40
- package/dist/message-delivery-TRKT4T2P.js +0 -46
- package/dist/mind-service-7EFIJ3ZA.js +0 -48
- package/dist/scheduler-73Q4MQ7Y.js +0 -27
- package/dist/sleep-manager-KHI65FEX.js +0 -42
- package/dist/spirit-availability-G5FMWKRH.js +0 -43
- package/dist/src-3FIW7DLH.js +0 -2376
- package/dist/src-LTTQVN2Z.js +0 -832
- package/dist/variant-cleanup-QHGGY7ND.js +0 -24
- package/dist/web-assets/assets/index-DhM1yYRN.css +0 -1
- 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/{chunk-ZNHL5KQJ.js → chunk-OKM67ZWH.js} +0 -0
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-IR2FW4W7.js";
|
|
10
10
|
import {
|
|
11
11
|
acceptPending,
|
|
12
12
|
formatFileSize,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
rejectPending,
|
|
15
15
|
stageFile,
|
|
16
16
|
validateFilePath
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-KS62IHE2.js";
|
|
18
18
|
import {
|
|
19
19
|
getMemoryStatus
|
|
20
20
|
} from "./chunk-5RBEEAKW.js";
|
|
@@ -23,16 +23,11 @@ import {
|
|
|
23
23
|
importOpenClawConnectors,
|
|
24
24
|
importPiSession,
|
|
25
25
|
parseNameFromIdentity
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import {
|
|
28
|
-
checkForUpdate,
|
|
29
|
-
checkForUpdateCached,
|
|
30
|
-
getCurrentVersion
|
|
31
|
-
} from "./chunk-LAUCO2HC.js";
|
|
26
|
+
} from "./chunk-NM5FDH4T.js";
|
|
32
27
|
import {
|
|
33
28
|
SPIRIT_NOTICE_PREFIX,
|
|
34
29
|
ensureSpiritAvailable
|
|
35
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-3SFKY4GI.js";
|
|
36
31
|
import {
|
|
37
32
|
TEMPLATE_BRANCH,
|
|
38
33
|
UpgradeInProgressError,
|
|
@@ -50,29 +45,29 @@ import {
|
|
|
50
45
|
upgradeDiff,
|
|
51
46
|
upgradeInProgress,
|
|
52
47
|
validateBranchName
|
|
53
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-OUGD5L5U.js";
|
|
54
49
|
import {
|
|
55
50
|
isTemplateStale
|
|
56
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-FSXPPOPM.js";
|
|
57
52
|
import {
|
|
58
53
|
computeTemplateHash
|
|
59
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-YU5EYQAE.js";
|
|
60
55
|
import {
|
|
61
56
|
cleanupVariant
|
|
62
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-QVS3C4DK.js";
|
|
63
58
|
import {
|
|
64
59
|
isHomeOnlyArchive
|
|
65
60
|
} from "./chunk-FLIEXG2T.js";
|
|
66
61
|
import {
|
|
67
62
|
evaluateSeedChecklist
|
|
68
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-45QTYKQQ.js";
|
|
69
64
|
import {
|
|
70
65
|
PLATFORMS,
|
|
71
66
|
echoTextToChannel,
|
|
72
67
|
fixModelEscapes,
|
|
73
68
|
getPlatformDriver,
|
|
74
69
|
routeOutboundBridge
|
|
75
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-VTFXZPC3.js";
|
|
76
71
|
import {
|
|
77
72
|
getBridgeConfig,
|
|
78
73
|
readBridgesConfig,
|
|
@@ -81,7 +76,12 @@ import {
|
|
|
81
76
|
resolveChannelMapping,
|
|
82
77
|
setBridgeConfig,
|
|
83
78
|
setChannelMapping
|
|
84
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-G3XAB4DK.js";
|
|
80
|
+
import {
|
|
81
|
+
checkForUpdate,
|
|
82
|
+
checkForUpdateCached,
|
|
83
|
+
getCurrentVersion
|
|
84
|
+
} from "./chunk-LAUCO2HC.js";
|
|
85
85
|
import {
|
|
86
86
|
SESSION_MAX_AGE,
|
|
87
87
|
announceSprout,
|
|
@@ -89,6 +89,7 @@ import {
|
|
|
89
89
|
authMiddleware,
|
|
90
90
|
backfillSystemChannelMembers,
|
|
91
91
|
cleanExpiredSessions,
|
|
92
|
+
collectTurnContext,
|
|
92
93
|
createSession,
|
|
93
94
|
deleteSession,
|
|
94
95
|
deleteSystemsConfig,
|
|
@@ -113,6 +114,7 @@ import {
|
|
|
113
114
|
linkToolResultToTurn,
|
|
114
115
|
listApiTokens,
|
|
115
116
|
loadAllExtensions,
|
|
117
|
+
normalizeTrailingSlash,
|
|
116
118
|
notifyExtensionsDaemonStart,
|
|
117
119
|
notifyExtensionsDaemonStop,
|
|
118
120
|
notifyExtensionsSpiritReady,
|
|
@@ -128,8 +130,8 @@ import {
|
|
|
128
130
|
uninstallNpmExtension,
|
|
129
131
|
willGateMessage,
|
|
130
132
|
writeSystemsConfig
|
|
131
|
-
} from "./chunk-
|
|
132
|
-
import "./chunk-
|
|
133
|
+
} from "./chunk-NCRG4SBR.js";
|
|
134
|
+
import "./chunk-UEZC5MNB.js";
|
|
133
135
|
import {
|
|
134
136
|
applyInitFiles,
|
|
135
137
|
composeTemplate,
|
|
@@ -137,14 +139,14 @@ import {
|
|
|
137
139
|
findTemplatesRoot,
|
|
138
140
|
isKnownTemplate,
|
|
139
141
|
listFiles
|
|
140
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-P3GXOT2X.js";
|
|
141
143
|
import {
|
|
142
144
|
getScheduler,
|
|
143
145
|
initScheduler
|
|
144
|
-
} from "./chunk-
|
|
146
|
+
} from "./chunk-CKOA4LWV.js";
|
|
145
147
|
import {
|
|
146
148
|
recordDeliveryFailure
|
|
147
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-FZUPIS3T.js";
|
|
148
150
|
import {
|
|
149
151
|
UnknownChannelError,
|
|
150
152
|
checkStaleSend,
|
|
@@ -154,7 +156,7 @@ import {
|
|
|
154
156
|
initDeliveryManager,
|
|
155
157
|
isConversationId,
|
|
156
158
|
publishTypingForChannels
|
|
157
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-TMTAHKYP.js";
|
|
158
160
|
import {
|
|
159
161
|
MindStartupError,
|
|
160
162
|
RestartTracker,
|
|
@@ -164,10 +166,7 @@ import {
|
|
|
164
166
|
initMindManager,
|
|
165
167
|
syncProviderToMinds,
|
|
166
168
|
tryGetMindManager
|
|
167
|
-
} from "./chunk-
|
|
168
|
-
import {
|
|
169
|
-
extractTextContent
|
|
170
|
-
} from "./chunk-YSRYCS3N.js";
|
|
169
|
+
} from "./chunk-HLWQ3P3R.js";
|
|
171
170
|
import {
|
|
172
171
|
SYSTEM_MIND,
|
|
173
172
|
assignSession,
|
|
@@ -181,7 +180,6 @@ import {
|
|
|
181
180
|
initSummarizer,
|
|
182
181
|
isoWeekKeyForDateStr,
|
|
183
182
|
markErrored,
|
|
184
|
-
parseDbTimestamp,
|
|
185
183
|
parseUtcDateTime,
|
|
186
184
|
summarizeOrphanedTurns,
|
|
187
185
|
summarizeTurn,
|
|
@@ -189,82 +187,11 @@ import {
|
|
|
189
187
|
takeErrored,
|
|
190
188
|
trackToolUse,
|
|
191
189
|
utcDateTimeStr
|
|
192
|
-
} from "./chunk-
|
|
193
|
-
import {
|
|
194
|
-
SEED_SKILLS,
|
|
195
|
-
STANDARD_SKILLS,
|
|
196
|
-
autoUpdateMindSkills,
|
|
197
|
-
getSharedSkill,
|
|
198
|
-
getStandardSkillsWithExtensions,
|
|
199
|
-
importSkillFromDir,
|
|
200
|
-
initDefaultSkills,
|
|
201
|
-
installSkill,
|
|
202
|
-
isAutoUpdateSkillsEnabled,
|
|
203
|
-
listFilesRecursive,
|
|
204
|
-
listMindSkills,
|
|
205
|
-
listSharedSkills,
|
|
206
|
-
mindSkillsDir,
|
|
207
|
-
publishSkill,
|
|
208
|
-
removeSharedSkill,
|
|
209
|
-
sharedSkillsDir,
|
|
210
|
-
syncBuiltinSkills,
|
|
211
|
-
uninstallSkill,
|
|
212
|
-
updateSkill
|
|
213
|
-
} from "./chunk-PPSN2MLC.js";
|
|
214
|
-
import {
|
|
215
|
-
approveUser,
|
|
216
|
-
changePassword,
|
|
217
|
-
countAdmins,
|
|
218
|
-
createUser,
|
|
219
|
-
deleteExternalMindUser,
|
|
220
|
-
deleteMindUser as deleteMindUser2,
|
|
221
|
-
deleteUser,
|
|
222
|
-
getDisplayNames,
|
|
223
|
-
getOrCreateMindUser,
|
|
224
|
-
getOrCreateSystemUser,
|
|
225
|
-
getUser,
|
|
226
|
-
getUserByUsername,
|
|
227
|
-
listPendingUsers,
|
|
228
|
-
listUsers,
|
|
229
|
-
listUsersByType,
|
|
230
|
-
setUserRole,
|
|
231
|
-
syncMindProfile,
|
|
232
|
-
updateUserProfile,
|
|
233
|
-
verifyUser,
|
|
234
|
-
withSenderDisplayNames
|
|
235
|
-
} from "./chunk-7LT3YZUR.js";
|
|
236
|
-
import {
|
|
237
|
-
MIND_LEVEL_THREAD,
|
|
238
|
-
captureReflection,
|
|
239
|
-
cleanExpiredEvents,
|
|
240
|
-
clearDeliveredEvents,
|
|
241
|
-
deliverEvent,
|
|
242
|
-
drainEvents,
|
|
243
|
-
eventLabel,
|
|
244
|
-
formatEvents,
|
|
245
|
-
latestEvent,
|
|
246
|
-
latestFailureEvent,
|
|
247
|
-
listEvents,
|
|
248
|
-
parseMeta,
|
|
249
|
-
recordNotice
|
|
250
|
-
} from "./chunk-HKGYZVWN.js";
|
|
251
|
-
import {
|
|
252
|
-
publish as publish2,
|
|
253
|
-
subscribe as subscribe2,
|
|
254
|
-
subscribeAll
|
|
255
|
-
} from "./chunk-LNNI3MS4.js";
|
|
256
|
-
import {
|
|
257
|
-
PROMPT_DEFAULTS,
|
|
258
|
-
PROMPT_KEYS,
|
|
259
|
-
getMindPromptDefaults,
|
|
260
|
-
getPrompt,
|
|
261
|
-
getPromptIfCustom,
|
|
262
|
-
substitute
|
|
263
|
-
} from "./chunk-OAYY3WF3.js";
|
|
190
|
+
} from "./chunk-BP2X5AIK.js";
|
|
264
191
|
import {
|
|
265
192
|
isSandboxEnabled,
|
|
266
193
|
wrapForSandbox
|
|
267
|
-
} from "./chunk-
|
|
194
|
+
} from "./chunk-XAG53RWY.js";
|
|
268
195
|
import {
|
|
269
196
|
addMessage,
|
|
270
197
|
createChannel,
|
|
@@ -300,22 +227,15 @@ import {
|
|
|
300
227
|
subscribe as subscribe3,
|
|
301
228
|
subscribeParticipantAdded,
|
|
302
229
|
updateChannelSettings
|
|
303
|
-
} from "./chunk-
|
|
230
|
+
} from "./chunk-6HBGUPBA.js";
|
|
304
231
|
import {
|
|
305
232
|
getActiveMinds,
|
|
306
233
|
onMindEvent,
|
|
307
234
|
stopAll
|
|
308
|
-
} from "./chunk-
|
|
309
|
-
import {
|
|
310
|
-
broadcast,
|
|
311
|
-
getEventsSince,
|
|
312
|
-
nextEventId,
|
|
313
|
-
publish,
|
|
314
|
-
subscribe
|
|
315
|
-
} from "./chunk-U54PJPTB.js";
|
|
235
|
+
} from "./chunk-7AA4T2RT.js";
|
|
316
236
|
import {
|
|
317
237
|
normalizeAvatar
|
|
318
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-IT4GEFDH.js";
|
|
319
239
|
import {
|
|
320
240
|
safeResolveWithinBase
|
|
321
241
|
} from "./chunk-DW4TRDOZ.js";
|
|
@@ -323,6 +243,89 @@ import {
|
|
|
323
243
|
readVoluteConfig,
|
|
324
244
|
writeVoluteConfig
|
|
325
245
|
} from "./chunk-WCFSBH33.js";
|
|
246
|
+
import {
|
|
247
|
+
extractTextContent
|
|
248
|
+
} from "./chunk-W3OIPJPB.js";
|
|
249
|
+
import {
|
|
250
|
+
approveUser,
|
|
251
|
+
changePassword,
|
|
252
|
+
countAdmins,
|
|
253
|
+
createUser,
|
|
254
|
+
deleteExternalMindUser,
|
|
255
|
+
deleteMindUser as deleteMindUser2,
|
|
256
|
+
deleteUser,
|
|
257
|
+
getDisplayNames,
|
|
258
|
+
getOrCreateMindUser,
|
|
259
|
+
getOrCreateSystemUser,
|
|
260
|
+
getUser,
|
|
261
|
+
getUserByUsername,
|
|
262
|
+
listPendingUsers,
|
|
263
|
+
listUsers,
|
|
264
|
+
listUsersByType,
|
|
265
|
+
setUserRole,
|
|
266
|
+
syncMindProfile,
|
|
267
|
+
updateUserProfile,
|
|
268
|
+
verifyUser,
|
|
269
|
+
withSenderDisplayNames
|
|
270
|
+
} from "./chunk-OFU6WJJZ.js";
|
|
271
|
+
import {
|
|
272
|
+
broadcast,
|
|
273
|
+
getEventsSince,
|
|
274
|
+
nextEventId,
|
|
275
|
+
publish,
|
|
276
|
+
subscribe
|
|
277
|
+
} from "./chunk-PRZUBJ4K.js";
|
|
278
|
+
import {
|
|
279
|
+
MIND_LEVEL_THREAD,
|
|
280
|
+
captureReflection,
|
|
281
|
+
cleanExpiredEvents,
|
|
282
|
+
clearDeliveredEvents,
|
|
283
|
+
deliverEvent,
|
|
284
|
+
drainEvents,
|
|
285
|
+
eventLabel,
|
|
286
|
+
findStrandedEventMinds,
|
|
287
|
+
formatEvents,
|
|
288
|
+
latestEvent,
|
|
289
|
+
latestFailureEvent,
|
|
290
|
+
listEvents,
|
|
291
|
+
parseMeta,
|
|
292
|
+
recordNotice
|
|
293
|
+
} from "./chunk-DUV4EMNW.js";
|
|
294
|
+
import {
|
|
295
|
+
parseDbTimestamp,
|
|
296
|
+
publish as publish2,
|
|
297
|
+
subscribe as subscribe2,
|
|
298
|
+
subscribeAll
|
|
299
|
+
} from "./chunk-MNKPAAQF.js";
|
|
300
|
+
import {
|
|
301
|
+
PROMPT_DEFAULTS,
|
|
302
|
+
PROMPT_KEYS,
|
|
303
|
+
getMindPromptDefaults,
|
|
304
|
+
getPrompt,
|
|
305
|
+
getPromptIfCustom,
|
|
306
|
+
substitute
|
|
307
|
+
} from "./chunk-HTSWDOJE.js";
|
|
308
|
+
import {
|
|
309
|
+
SEED_SKILLS,
|
|
310
|
+
STANDARD_SKILLS,
|
|
311
|
+
autoUpdateMindSkills,
|
|
312
|
+
getSharedSkill,
|
|
313
|
+
getStandardSkillsWithExtensions,
|
|
314
|
+
importSkillFromDir,
|
|
315
|
+
initDefaultSkills,
|
|
316
|
+
installSkill,
|
|
317
|
+
isAutoUpdateSkillsEnabled,
|
|
318
|
+
listFilesRecursive,
|
|
319
|
+
listMindSkills,
|
|
320
|
+
listSharedSkills,
|
|
321
|
+
mindSkillsDir,
|
|
322
|
+
publishSkill,
|
|
323
|
+
removeSharedSkill,
|
|
324
|
+
sharedSkillsDir,
|
|
325
|
+
syncBuiltinSkills,
|
|
326
|
+
uninstallSkill,
|
|
327
|
+
updateSkill
|
|
328
|
+
} from "./chunk-4VAQKLMU.js";
|
|
326
329
|
import "./chunk-CKPAVQNK.js";
|
|
327
330
|
import {
|
|
328
331
|
chownMindDir,
|
|
@@ -368,11 +371,11 @@ import {
|
|
|
368
371
|
setProviderRefreshHook,
|
|
369
372
|
setUtilityModel,
|
|
370
373
|
unqualifyModelId
|
|
371
|
-
} from "./chunk-
|
|
374
|
+
} from "./chunk-Z7TNIIHW.js";
|
|
372
375
|
import {
|
|
373
376
|
logBuffer,
|
|
374
377
|
logger_default
|
|
375
|
-
} from "./chunk-
|
|
378
|
+
} from "./chunk-2674KIGI.js";
|
|
376
379
|
import {
|
|
377
380
|
buildVoluteSlug
|
|
378
381
|
} from "./chunk-LGNUFVMR.js";
|
|
@@ -537,7 +540,7 @@ var BackupManager = class {
|
|
|
537
540
|
} catch (pubErr) {
|
|
538
541
|
blog.error("failed to publish backup-failure activity", logger_default.errorData(pubErr));
|
|
539
542
|
}
|
|
540
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
543
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-ZYOCYAO2.js");
|
|
541
544
|
await deliverEvent2(getSpiritName(), {
|
|
542
545
|
type: "notice",
|
|
543
546
|
meta: { subtype: "backup" },
|
|
@@ -899,6 +902,19 @@ async function runMaintenance() {
|
|
|
899
902
|
} catch (err) {
|
|
900
903
|
logger_default.warn("maintenance: failed to clean expired events", logger_default.errorData(err));
|
|
901
904
|
}
|
|
905
|
+
try {
|
|
906
|
+
await warnStrandedEvents();
|
|
907
|
+
} catch (err) {
|
|
908
|
+
logger_default.warn("maintenance: failed to check for stranded events", logger_default.errorData(err));
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
async function warnStrandedEvents() {
|
|
912
|
+
for (const s of await findStrandedEventMinds()) {
|
|
913
|
+
logger_default.warn(
|
|
914
|
+
`${s.mind} has ${s.pending} undelivered next-turn system event${s.pending === 1 ? "" : "s"} and has completed ${s.turnsSince} turns without draining them (oldest is ${s.ageHours}h old). Its pre-prompt drain hook is missing or failing \u2014 check home/.local/hooks/pre-prompt/notices.ts and run \`volute mind upgrade ${s.mind}\`.`,
|
|
915
|
+
{ mind: s.mind, pending: s.pending, turnsSince: s.turnsSince, ageHours: s.ageHours }
|
|
916
|
+
);
|
|
917
|
+
}
|
|
902
918
|
}
|
|
903
919
|
function startMaintenanceInterval(intervalMs = MAINTENANCE_INTERVAL_MS, task = runMaintenance) {
|
|
904
920
|
const handle = setInterval(() => void task(), intervalMs);
|
|
@@ -1489,7 +1505,7 @@ var app = new Hono().post("/restart", requireAdmin, (c) => {
|
|
|
1489
1505
|
config2.name = name.trim() || void 0;
|
|
1490
1506
|
writeGlobalConfig(config2);
|
|
1491
1507
|
if (config2.name !== previousName) {
|
|
1492
|
-
const { notifySpiritSystemChange } = await import("./spirit-
|
|
1508
|
+
const { notifySpiritSystemChange } = await import("./spirit-FKXMGO3N.js");
|
|
1493
1509
|
await notifySpiritSystemChange();
|
|
1494
1510
|
}
|
|
1495
1511
|
return c.json({ name: config2.name ?? null });
|
|
@@ -2731,7 +2747,7 @@ async function fanOutToMinds(opts) {
|
|
|
2731
2747
|
);
|
|
2732
2748
|
}
|
|
2733
2749
|
if (ap.userType === "system") {
|
|
2734
|
-
import("./spirit-availability-
|
|
2750
|
+
import("./spirit-availability-5R2WYSWF.js").then(({ ensureSpiritAvailable: ensureSpiritAvailable2 }) => ensureSpiritAvailable2()).catch((err) => logger_default.warn("fan-out: on-demand spirit start failed", logger_default.errorData(err)));
|
|
2735
2751
|
}
|
|
2736
2752
|
}
|
|
2737
2753
|
return null;
|
|
@@ -2864,7 +2880,7 @@ var app4 = new Hono5().post("/:platform/inbound", zValidator4("json", inboundSch
|
|
|
2864
2880
|
}
|
|
2865
2881
|
const participants = await getParticipants(channel.id);
|
|
2866
2882
|
if (!participants.some((p) => p.userId === puppet.id)) {
|
|
2867
|
-
const { addParticipant } = await import("./conversations-
|
|
2883
|
+
const { addParticipant } = await import("./conversations-FH3ODBL7.js");
|
|
2868
2884
|
await addParticipant(channel.id, puppet.id);
|
|
2869
2885
|
}
|
|
2870
2886
|
const contentBlocks = body.content;
|
|
@@ -3148,11 +3164,11 @@ async function notifyMind(mindName, message) {
|
|
|
3148
3164
|
const entry = await findMind(mindName);
|
|
3149
3165
|
if (!entry) return false;
|
|
3150
3166
|
try {
|
|
3151
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
3167
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-ZYOCYAO2.js");
|
|
3152
3168
|
const result = await deliverEvent2(mindName, { type: "file-share", body: message });
|
|
3153
3169
|
if (result.delivered) return true;
|
|
3154
3170
|
if (result.id == null) return false;
|
|
3155
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
3171
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
3156
3172
|
const { getBaseName: getBaseName2 } = await import("./registry-TRC2HJXR.js");
|
|
3157
3173
|
return getSleepManagerIfReady2()?.isSleeping(await getBaseName2(mindName)) ?? false;
|
|
3158
3174
|
} catch (err) {
|
|
@@ -5031,7 +5047,7 @@ async function getMindStatus(name, port, registryRunning, seed) {
|
|
|
5031
5047
|
let status = "stopped";
|
|
5032
5048
|
let wakeAt = null;
|
|
5033
5049
|
try {
|
|
5034
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
5050
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
5035
5051
|
const sleepManager = getSleepManagerIfReady2();
|
|
5036
5052
|
if (sleepManager?.isSleeping(name)) {
|
|
5037
5053
|
status = "sleeping";
|
|
@@ -5517,7 +5533,7 @@ Your creator described you as: "${body.description}"
|
|
|
5517
5533
|
const spiritName = getSpiritName();
|
|
5518
5534
|
const spiritEntry = await findMind(spiritName);
|
|
5519
5535
|
if (spiritEntry) {
|
|
5520
|
-
const { spiritDir } = await import("./spirit-
|
|
5536
|
+
const { spiritDir } = await import("./spirit-FKXMGO3N.js");
|
|
5521
5537
|
const sDir = spiritEntry.dir ?? spiritDir();
|
|
5522
5538
|
const spiritConfig = readVoluteConfig(sDir) ?? {};
|
|
5523
5539
|
const schedules = spiritConfig.schedules ?? [];
|
|
@@ -5532,7 +5548,7 @@ Your creator described you as: "${body.description}"
|
|
|
5532
5548
|
});
|
|
5533
5549
|
spiritConfig.schedules = schedules;
|
|
5534
5550
|
writeVoluteConfig(sDir, spiritConfig);
|
|
5535
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
5551
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-GLINVC2B.js");
|
|
5536
5552
|
getScheduler2().loadSchedules(spiritName, sDir);
|
|
5537
5553
|
}
|
|
5538
5554
|
}
|
|
@@ -5840,7 +5856,7 @@ ${user.trimEnd()}
|
|
|
5840
5856
|
const manager = getMindManager();
|
|
5841
5857
|
try {
|
|
5842
5858
|
if (context?.type === "reload") {
|
|
5843
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
5859
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
5844
5860
|
const sleepState = getSleepManagerIfReady2()?.getState(name);
|
|
5845
5861
|
if (sleepState?.sleeping) {
|
|
5846
5862
|
logger_default.info(`skipping reload for ${name} during sleep \u2014 will apply on next wake`);
|
|
@@ -5989,7 +6005,7 @@ ${user.trimEnd()}
|
|
|
5989
6005
|
const name = c.req.param("name");
|
|
5990
6006
|
const entry = await findMind(name);
|
|
5991
6007
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
5992
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6008
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
5993
6009
|
const sm = getSleepManagerIfReady2();
|
|
5994
6010
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
5995
6011
|
return c.json(sm.getState(name));
|
|
@@ -5997,7 +6013,7 @@ ${user.trimEnd()}
|
|
|
5997
6013
|
const name = c.req.param("name");
|
|
5998
6014
|
const entry = await findMind(name);
|
|
5999
6015
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6000
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6016
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
6001
6017
|
const sm = getSleepManagerIfReady2();
|
|
6002
6018
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6003
6019
|
if (sm.isSleeping(name)) return c.json({ error: "Mind is already sleeping" }, 409);
|
|
@@ -6017,7 +6033,7 @@ ${user.trimEnd()}
|
|
|
6017
6033
|
const name = c.req.param("name");
|
|
6018
6034
|
const entry = await findMind(name);
|
|
6019
6035
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6020
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6036
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
6021
6037
|
const sm = getSleepManagerIfReady2();
|
|
6022
6038
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6023
6039
|
const sleepState = sm.getState(name);
|
|
@@ -6032,7 +6048,7 @@ ${user.trimEnd()}
|
|
|
6032
6048
|
const name = c.req.param("name");
|
|
6033
6049
|
const entry = await findMind(name);
|
|
6034
6050
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
6035
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6051
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
6036
6052
|
const sm = getSleepManagerIfReady2();
|
|
6037
6053
|
if (!sm) return c.json({ error: "Sleep manager not initialized" }, 503);
|
|
6038
6054
|
const flushed = await sm.flushQueuedMessages(name);
|
|
@@ -6060,7 +6076,7 @@ ${user.trimEnd()}
|
|
|
6060
6076
|
}
|
|
6061
6077
|
config2.profile = profile;
|
|
6062
6078
|
writeVoluteConfig(dir, config2);
|
|
6063
|
-
const { syncMindProfile: syncMindProfile2 } = await import("./auth-
|
|
6079
|
+
const { syncMindProfile: syncMindProfile2 } = await import("./auth-Y27LTNZK.js");
|
|
6064
6080
|
await syncMindProfile2(name, profile);
|
|
6065
6081
|
broadcast({ type: "profile_updated", mind: name, summary: `${name} profile updated` });
|
|
6066
6082
|
return c.json({ ok: true });
|
|
@@ -6104,7 +6120,7 @@ ${user.trimEnd()}
|
|
|
6104
6120
|
});
|
|
6105
6121
|
}
|
|
6106
6122
|
if (!force) {
|
|
6107
|
-
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-
|
|
6123
|
+
const { getSleepManagerIfReady: getSleepManagerIfReady2 } = await import("./sleep-manager-Q3ITFNOJ.js");
|
|
6108
6124
|
if (getSleepManagerIfReady2()?.isSleeping(name)) {
|
|
6109
6125
|
return c.json({ output: "" });
|
|
6110
6126
|
}
|
|
@@ -6159,7 +6175,7 @@ ${user.trimEnd()}
|
|
|
6159
6175
|
}
|
|
6160
6176
|
}
|
|
6161
6177
|
const dir = entry.dir ?? mindDir(name);
|
|
6162
|
-
const { evaluateSeedChecklist: evaluateSeedChecklist2 } = await import("./seed-readiness-
|
|
6178
|
+
const { evaluateSeedChecklist: evaluateSeedChecklist2 } = await import("./seed-readiness-XBH2MUNA.js");
|
|
6163
6179
|
const checklist = evaluateSeedChecklist2(dir);
|
|
6164
6180
|
const done = [];
|
|
6165
6181
|
const remaining = [];
|
|
@@ -6201,7 +6217,7 @@ ${user.trimEnd()}
|
|
|
6201
6217
|
try {
|
|
6202
6218
|
const sproutedDir = entry.dir ?? mindDir(name);
|
|
6203
6219
|
if (setupDefaultDreaming(sproutedDir).schedulesChanged) {
|
|
6204
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
6220
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-GLINVC2B.js");
|
|
6205
6221
|
getScheduler2().loadSchedules(name, sproutedDir);
|
|
6206
6222
|
}
|
|
6207
6223
|
} catch (err) {
|
|
@@ -6211,7 +6227,7 @@ ${user.trimEnd()}
|
|
|
6211
6227
|
const spiritName = getSpiritName();
|
|
6212
6228
|
const spiritEntry = await findMind(spiritName);
|
|
6213
6229
|
if (spiritEntry) {
|
|
6214
|
-
const { firstWeekSchedules, spiritDir } = await import("./spirit-
|
|
6230
|
+
const { firstWeekSchedules, spiritDir } = await import("./spirit-FKXMGO3N.js");
|
|
6215
6231
|
const sDir = spiritEntry.dir ?? spiritDir();
|
|
6216
6232
|
const spiritConfig = readVoluteConfig(sDir);
|
|
6217
6233
|
if (spiritConfig) {
|
|
@@ -6225,7 +6241,7 @@ ${user.trimEnd()}
|
|
|
6225
6241
|
spiritConfig.schedules = schedules;
|
|
6226
6242
|
writeVoluteConfig(sDir, spiritConfig);
|
|
6227
6243
|
try {
|
|
6228
|
-
const { getScheduler: getScheduler2 } = await import("./scheduler-
|
|
6244
|
+
const { getScheduler: getScheduler2 } = await import("./scheduler-GLINVC2B.js");
|
|
6229
6245
|
getScheduler2().loadSchedules(spiritName, sDir);
|
|
6230
6246
|
} catch (err) {
|
|
6231
6247
|
logger_default.warn(
|
|
@@ -6533,7 +6549,7 @@ ${user.trimEnd()}
|
|
|
6533
6549
|
}
|
|
6534
6550
|
writeVoluteConfig(dir, existing);
|
|
6535
6551
|
if (body.unescapeNewlines !== void 0) {
|
|
6536
|
-
const { clearEchoTextCache } = await import("./echo-text-
|
|
6552
|
+
const { clearEchoTextCache } = await import("./echo-text-ULEIFJJF.js");
|
|
6537
6553
|
clearEchoTextCache(name);
|
|
6538
6554
|
}
|
|
6539
6555
|
const needsConfigJson = body.model !== void 0 || body.thinkingLevel !== void 0 || body.compaction !== void 0;
|
|
@@ -6647,7 +6663,7 @@ ${user.trimEnd()}
|
|
|
6647
6663
|
if (!body.systemPrompt || !body.message) {
|
|
6648
6664
|
return c.json({ error: "systemPrompt and message required" }, 400);
|
|
6649
6665
|
}
|
|
6650
|
-
const { aiComplete: aiCompleteFn, isAiConfigured: isAiConfigured2 } = await import("./ai-service-
|
|
6666
|
+
const { aiComplete: aiCompleteFn, isAiConfigured: isAiConfigured2 } = await import("./ai-service-KEK2V3AP.js");
|
|
6651
6667
|
if (!isAiConfigured2()) {
|
|
6652
6668
|
return c.json({ error: "AI service not configured" }, 503);
|
|
6653
6669
|
}
|
|
@@ -6892,6 +6908,11 @@ ${lines.join("\n")}` });
|
|
|
6892
6908
|
const maxId = notices.reduce((m, n) => Math.max(m, n.id), 0);
|
|
6893
6909
|
setNoticeDrainWatermark(baseName, session, maxId);
|
|
6894
6910
|
return c.json({ context: formatEvents(notices), notices });
|
|
6911
|
+
}).get("/:name/turn-context", requireSelf(), async (c) => {
|
|
6912
|
+
const name = c.req.param("name");
|
|
6913
|
+
const baseName = await getBaseName(name);
|
|
6914
|
+
const reason = c.req.query("reason") === "wake" ? "wake" : "turn";
|
|
6915
|
+
return c.json({ context: await collectTurnContext(baseName, reason) });
|
|
6895
6916
|
}).post("/:name/notices", requireSelf(), async (c) => {
|
|
6896
6917
|
const MIND_POSTABLE_KINDS = ["context_lost", "delivery_failed"];
|
|
6897
6918
|
const name = c.req.param("name");
|
|
@@ -7411,7 +7432,7 @@ var app15 = new Hono18().get("/:name/clock/status", requireSelf(), async (c) =>
|
|
|
7411
7432
|
const entry = await findMind(name);
|
|
7412
7433
|
if (!entry) return c.json({ error: "Mind not found" }, 404);
|
|
7413
7434
|
const body = await c.req.text();
|
|
7414
|
-
const { deliverEvent: deliverEvent2 } = await import("./system-events-
|
|
7435
|
+
const { deliverEvent: deliverEvent2 } = await import("./system-events-ZYOCYAO2.js");
|
|
7415
7436
|
const { id, delivered } = await deliverEvent2(name, {
|
|
7416
7437
|
type: "webhook",
|
|
7417
7438
|
body,
|
|
@@ -7470,7 +7491,7 @@ setup.get("/status", async (c) => {
|
|
|
7470
7491
|
let hasAccount = false;
|
|
7471
7492
|
if (hasSystem) {
|
|
7472
7493
|
try {
|
|
7473
|
-
const { listUsersByType: listUsersByType2 } = await import("./auth-
|
|
7494
|
+
const { listUsersByType: listUsersByType2 } = await import("./auth-Y27LTNZK.js");
|
|
7474
7495
|
const brains = await listUsersByType2("human");
|
|
7475
7496
|
hasAccount = brains.length > 0;
|
|
7476
7497
|
} catch (err) {
|
|
@@ -7682,7 +7703,7 @@ setup.post("/account", async (c) => {
|
|
|
7682
7703
|
}
|
|
7683
7704
|
}
|
|
7684
7705
|
try {
|
|
7685
|
-
const { createUser: createUser2, updateUserProfile: updateUserProfile2 } = await import("./auth-
|
|
7706
|
+
const { createUser: createUser2, updateUserProfile: updateUserProfile2 } = await import("./auth-Y27LTNZK.js");
|
|
7686
7707
|
const user = await createUser2(body.username.trim(), body.password);
|
|
7687
7708
|
if (body.displayName?.trim()) {
|
|
7688
7709
|
await updateUserProfile2(user.id, { display_name: body.displayName.trim() });
|
|
@@ -7728,7 +7749,7 @@ setup.post("/models", async (c) => {
|
|
|
7728
7749
|
return c.json({ error: "Spirit model is required" }, 400);
|
|
7729
7750
|
}
|
|
7730
7751
|
try {
|
|
7731
|
-
const { setEnabledModels: setEnabledModels3, setUtilityModel: setUtilityModel2 } = await import("./ai-service-
|
|
7752
|
+
const { setEnabledModels: setEnabledModels3, setUtilityModel: setUtilityModel2 } = await import("./ai-service-KEK2V3AP.js");
|
|
7732
7753
|
setEnabledModels3(body.models);
|
|
7733
7754
|
const config2 = readGlobalConfig();
|
|
7734
7755
|
config2.spiritModel = body.spiritModel.trim();
|
|
@@ -7808,8 +7829,8 @@ setup.post("/complete", async (c) => {
|
|
|
7808
7829
|
return c.json({ error: "Setup already complete" }, 400);
|
|
7809
7830
|
}
|
|
7810
7831
|
try {
|
|
7811
|
-
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-
|
|
7812
|
-
const { startSpiritFull } = await import("./mind-service-
|
|
7832
|
+
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-FKXMGO3N.js");
|
|
7833
|
+
const { startSpiritFull } = await import("./mind-service-ZJCUBAUL.js");
|
|
7813
7834
|
await ensureSpiritProject();
|
|
7814
7835
|
await syncSpiritTemplate();
|
|
7815
7836
|
await notifyExtensionsSpiritReady();
|
|
@@ -7847,8 +7868,8 @@ setup.post("/complete", async (c) => {
|
|
|
7847
7868
|
}
|
|
7848
7869
|
let spiritConversationId;
|
|
7849
7870
|
try {
|
|
7850
|
-
const { getOrCreateMindUser: getOrCreateMindUser2, listUsersByType: listUsersByType2 } = await import("./auth-
|
|
7851
|
-
const { createConversation: createConversation2, findDMConversation: findDMConversation2 } = await import("./conversations-
|
|
7871
|
+
const { getOrCreateMindUser: getOrCreateMindUser2, listUsersByType: listUsersByType2 } = await import("./auth-Y27LTNZK.js");
|
|
7872
|
+
const { createConversation: createConversation2, findDMConversation: findDMConversation2 } = await import("./conversations-FH3ODBL7.js");
|
|
7852
7873
|
const spiritUser = await getOrCreateMindUser2(spiritName);
|
|
7853
7874
|
const brains = await listUsersByType2("human");
|
|
7854
7875
|
const admin2 = brains.find((u) => u.role === "admin");
|
|
@@ -7870,8 +7891,8 @@ setup.post("/complete", async (c) => {
|
|
|
7870
7891
|
logger_default.info("setup complete state", { spiritConversationId, spiritStarted });
|
|
7871
7892
|
if (spiritConversationId && spiritStarted) {
|
|
7872
7893
|
try {
|
|
7873
|
-
const { deliverMessage: deliverMessage2 } = await import("./message-delivery-
|
|
7874
|
-
const { listUsersByType: listUsers2 } = await import("./auth-
|
|
7894
|
+
const { deliverMessage: deliverMessage2 } = await import("./message-delivery-LU4EP244.js");
|
|
7895
|
+
const { listUsersByType: listUsers2 } = await import("./auth-Y27LTNZK.js");
|
|
7875
7896
|
const admins = await listUsers2("human");
|
|
7876
7897
|
const admin2 = admins.find((u) => u.role === "admin");
|
|
7877
7898
|
if (admin2) {
|
|
@@ -9120,7 +9141,7 @@ var app22 = new Hono26().get("/:name/variants", async (c) => {
|
|
|
9120
9141
|
await chownMindDir(projectRoot, mindName);
|
|
9121
9142
|
if (variantName.endsWith("-upgrade") || variantName === "upgrade") {
|
|
9122
9143
|
try {
|
|
9123
|
-
const { computeTemplateHash: computeTemplateHash2 } = await import("./template-hash-
|
|
9144
|
+
const { computeTemplateHash: computeTemplateHash2 } = await import("./template-hash-RJRMF6DT.js");
|
|
9124
9145
|
const { setMindTemplateHash: setMindTemplateHash2 } = await import("./registry-TRC2HJXR.js");
|
|
9125
9146
|
const tmpl = parentEntry.template ?? "claude";
|
|
9126
9147
|
await setMindTemplateHash2(mindName, computeTemplateHash2(tmpl));
|
|
@@ -9817,6 +9838,7 @@ app26.get("/api/health", (c) => {
|
|
|
9817
9838
|
...cached?.updateAvailable ? { updateAvailable: true, latest: cached.latest } : {}
|
|
9818
9839
|
});
|
|
9819
9840
|
});
|
|
9841
|
+
app26.use("/api/ext/*", normalizeTrailingSlash(app26));
|
|
9820
9842
|
app26.use("/api/activity/*", authMiddleware);
|
|
9821
9843
|
app26.use("/api/minds/*", authMiddleware);
|
|
9822
9844
|
app26.use("/api/conversations/*", authMiddleware);
|
|
@@ -9992,7 +10014,7 @@ async function startDaemon(opts) {
|
|
|
9992
10014
|
const { migrateConfigSecrets, migrateSetupCompleted } = await import("./setup-WZSXHHRJ.js");
|
|
9993
10015
|
migrateConfigSecrets();
|
|
9994
10016
|
migrateSetupCompleted();
|
|
9995
|
-
const { migrateAiModelQualification } = await import("./ai-service-
|
|
10017
|
+
const { migrateAiModelQualification } = await import("./ai-service-KEK2V3AP.js");
|
|
9996
10018
|
migrateAiModelQualification();
|
|
9997
10019
|
await (await import("./db-BONH4SUG.js")).getDb();
|
|
9998
10020
|
try {
|
|
@@ -10004,24 +10026,30 @@ async function startDaemon(opts) {
|
|
|
10004
10026
|
logger_default.warn("failed to migrate system user role", logger_default.errorData(err));
|
|
10005
10027
|
}
|
|
10006
10028
|
try {
|
|
10007
|
-
const { migrateAvatarSizes } = await import("./avatar-image-
|
|
10029
|
+
const { migrateAvatarSizes } = await import("./avatar-image-SN576P45.js");
|
|
10008
10030
|
await migrateAvatarSizes();
|
|
10009
10031
|
} catch (err) {
|
|
10010
10032
|
logger_default.warn("avatar size migration failed", logger_default.errorData(err));
|
|
10011
10033
|
}
|
|
10012
10034
|
try {
|
|
10013
|
-
const { migrateThreadConfigs } = await import("./migrate-thread-config-
|
|
10035
|
+
const { migrateThreadConfigs } = await import("./migrate-thread-config-SVF2M3D3.js");
|
|
10014
10036
|
await migrateThreadConfigs();
|
|
10015
10037
|
} catch (err) {
|
|
10016
10038
|
logger_default.warn("session\u2192thread config migration failed", logger_default.errorData(err));
|
|
10017
10039
|
}
|
|
10018
10040
|
try {
|
|
10019
|
-
const { migrateNamePlaceholders } = await import("./migrate-name-placeholder-
|
|
10041
|
+
const { migrateNamePlaceholders } = await import("./migrate-name-placeholder-64AEAWPE.js");
|
|
10020
10042
|
await migrateNamePlaceholders();
|
|
10021
10043
|
} catch (err) {
|
|
10022
10044
|
logger_default.warn("{{name}} placeholder migration failed", logger_default.errorData(err));
|
|
10023
10045
|
}
|
|
10024
|
-
|
|
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");
|
|
10025
10053
|
await initSandbox();
|
|
10026
10054
|
try {
|
|
10027
10055
|
await syncBuiltinSkills();
|
|
@@ -10053,7 +10081,7 @@ async function startDaemon(opts) {
|
|
|
10053
10081
|
logger_default.warn("failed to backfill minds into #system", logger_default.errorData(err));
|
|
10054
10082
|
}
|
|
10055
10083
|
try {
|
|
10056
|
-
const { getOrCreateSystemUser: getOrCreateSystemUser2 } = await import("./auth-
|
|
10084
|
+
const { getOrCreateSystemUser: getOrCreateSystemUser2 } = await import("./auth-Y27LTNZK.js");
|
|
10057
10085
|
await getOrCreateSystemUser2();
|
|
10058
10086
|
} catch (err) {
|
|
10059
10087
|
logger_default.warn(
|
|
@@ -10067,7 +10095,7 @@ async function startDaemon(opts) {
|
|
|
10067
10095
|
let tls;
|
|
10068
10096
|
if (opts.tailscale || globalCfg.tailscale) {
|
|
10069
10097
|
try {
|
|
10070
|
-
const { getTailscaleTls } = await import("./tailscale-
|
|
10098
|
+
const { getTailscaleTls } = await import("./tailscale-F2IMBILZ.js");
|
|
10071
10099
|
const tlsConfig = await getTailscaleTls();
|
|
10072
10100
|
tls = { key: tlsConfig.key, cert: tlsConfig.cert };
|
|
10073
10101
|
logger_default.info("Tailscale HTTPS enabled", { hostname: tlsConfig.hostname });
|
|
@@ -10121,7 +10149,7 @@ async function startDaemon(opts) {
|
|
|
10121
10149
|
const orphanedTurns = await completeOrphanedTurns();
|
|
10122
10150
|
summarizeOrphanedTurns(orphanedTurns);
|
|
10123
10151
|
try {
|
|
10124
|
-
const { reconcileVariants } = await import("./variant-cleanup-
|
|
10152
|
+
const { reconcileVariants } = await import("./variant-cleanup-JGJZ5KB4.js");
|
|
10125
10153
|
await reconcileVariants();
|
|
10126
10154
|
} catch (err) {
|
|
10127
10155
|
logger_default.error("failed to reconcile variants", logger_default.errorData(err));
|
|
@@ -10157,13 +10185,13 @@ async function startDaemon(opts) {
|
|
|
10157
10185
|
try {
|
|
10158
10186
|
const { isSetupComplete: isSetupComplete2, getSpiritName: getSpiritName2 } = await import("./setup-WZSXHHRJ.js");
|
|
10159
10187
|
if (isSetupComplete2()) {
|
|
10160
|
-
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-
|
|
10161
|
-
const { startSpiritFull } = await import("./mind-service-
|
|
10188
|
+
const { ensureSpiritProject, syncSpiritTemplate } = await import("./spirit-FKXMGO3N.js");
|
|
10189
|
+
const { startSpiritFull } = await import("./mind-service-ZJCUBAUL.js");
|
|
10162
10190
|
await ensureSpiritProject();
|
|
10163
10191
|
const spiritName = getSpiritName2();
|
|
10164
10192
|
const spiritEntry = await findMind(spiritName);
|
|
10165
10193
|
if (spiritEntry?.dir) {
|
|
10166
|
-
const { registerMindDir } = await import("./delivery-router-
|
|
10194
|
+
const { registerMindDir } = await import("./delivery-router-KHBVEVVL.js");
|
|
10167
10195
|
registerMindDir(spiritName, spiritEntry.dir);
|
|
10168
10196
|
}
|
|
10169
10197
|
await syncSpiritTemplate();
|
|
@@ -10178,7 +10206,7 @@ async function startDaemon(opts) {
|
|
|
10178
10206
|
bridgeManager.startBridges(daemonPort).catch((err) => {
|
|
10179
10207
|
logger_default.warn("failed to start bridges", logger_default.errorData(err));
|
|
10180
10208
|
});
|
|
10181
|
-
import("./cloud-sync-
|
|
10209
|
+
import("./cloud-sync-FM73SVFJ.js").then(
|
|
10182
10210
|
({ consumeQueuedMessages }) => consumeQueuedMessages().catch((err) => {
|
|
10183
10211
|
logger_default.warn("failed to consume queued cloud messages", logger_default.errorData(err));
|
|
10184
10212
|
})
|
|
@@ -10186,11 +10214,11 @@ async function startDaemon(opts) {
|
|
|
10186
10214
|
logger_default.warn("failed to load cloud-sync module", logger_default.errorData(err));
|
|
10187
10215
|
});
|
|
10188
10216
|
try {
|
|
10189
|
-
const { backfillTemplateHashes, notifyVersionUpdate, warnStaleTemplates } = await import("./version-notify-
|
|
10217
|
+
const { backfillTemplateHashes, notifyVersionUpdate, warnStaleTemplates } = await import("./version-notify-KIXYNHJC.js");
|
|
10190
10218
|
notifyVersionUpdate().catch((err) => {
|
|
10191
10219
|
logger_default.warn("failed to send version update notifications", logger_default.errorData(err));
|
|
10192
10220
|
}).then(() => backfillTemplateHashes()).then(() => warnStaleTemplates()).then(async () => {
|
|
10193
|
-
const { runAutoUpgrades } = await import("./auto-upgrade-
|
|
10221
|
+
const { runAutoUpgrades } = await import("./auto-upgrade-2MZF7NG3.js");
|
|
10194
10222
|
await runAutoUpgrades();
|
|
10195
10223
|
}).catch((err) => {
|
|
10196
10224
|
logger_default.warn("template staleness/auto-upgrade pass failed", logger_default.errorData(err));
|