volute 0.48.0 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -328
- package/dist/{accept-KYNC5X3U.js → accept-5NK5XJB5.js} +2 -1
- package/dist/{activity-events-MIOK3IOU.js → activity-events-H7YI3BTF.js} +4 -4
- package/dist/{ai-service-643TNFPH.js → ai-service-V4CTNGI3.js} +6 -5
- package/dist/{archive-6Z4GFQPH.js → archive-ORM3ENHI.js} +3 -3
- package/dist/{auth-A4VGHADI.js → auth-DT7GY7EZ.js} +11 -7
- package/dist/{avatar-image-Y45R7LW5.js → avatar-image-QEPAP3A5.js} +4 -4
- package/dist/{backup-UDH4GMSW.js → backup-IE6PMXJO.js} +17 -18
- package/dist/{bridge-3FNSWLNQ.js → bridge-YK7NTRU5.js} +2 -1
- package/dist/{channels-SGQZHNQJ.js → channels-FSAHOQWI.js} +2 -1
- package/dist/{chat-X43VYHH2.js → chat-W5K6HCBE.js} +9 -9
- package/dist/{chunk-LTLFOSA4.js → chunk-3BAFMGCJ.js} +3 -3
- package/dist/{chunk-XVBSFLM7.js → chunk-4CN7OCJE.js} +2 -2
- package/dist/{chunk-HPGN6XRT.js → chunk-574M6I7F.js} +39 -6
- package/dist/{chunk-FJ2MZ5PH.js → chunk-5FVANDON.js} +2 -2
- package/dist/{chunk-2MJ7EOMT.js → chunk-5IIVOWSP.js} +28 -19
- package/dist/{chunk-4FCL4DVZ.js → chunk-5PKFJHCR.js} +2 -2
- package/dist/{chunk-MOERAQXH.js → chunk-5TPC4KCV.js} +38 -31
- package/dist/{chunk-YNBXEQAP.js → chunk-632FJ23O.js} +24 -20
- package/dist/{chunk-T4VS7UDW.js → chunk-636GFQNE.js} +12 -12
- package/dist/{chunk-EIQDZC43.js → chunk-6BM2I736.js} +25 -6
- package/dist/{chunk-WARH6GIV.js → chunk-74T3CEXK.js} +17 -15
- package/dist/{chunk-OQJMTHEH.js → chunk-77IZUVBB.js} +2 -2
- package/dist/{chunk-USD45JKR.js → chunk-7DXLIYPY.js} +77 -64
- package/dist/chunk-7FDWPQCU.js +289 -0
- package/dist/chunk-7OZWKHA3.js +548 -0
- package/dist/{chunk-IJPMIEVE.js → chunk-7UWXAJMK.js} +1 -1
- package/dist/{chunk-SZJCJVXV.js → chunk-7XDOTN4R.js} +2 -2
- package/dist/{chunk-YKA7DCVW.js → chunk-AFSLNUTT.js} +1 -1
- package/dist/{chunk-DGGZVZTM.js → chunk-AJWFDIEY.js} +17 -2
- package/dist/chunk-ALIVXDM4.js +1014 -0
- package/dist/chunk-CAIYV33P.js +523 -0
- package/dist/{chunk-MTRMQFCQ.js → chunk-E5S3ILVA.js} +2 -2
- package/dist/{chunk-SHKM5RGD.js → chunk-EEOMA4DX.js} +1 -1
- package/dist/chunk-EQKSRVDE.js +2857 -0
- package/dist/chunk-FNJCBRD3.js +31 -0
- package/dist/chunk-HW6Q7AMB.js +113 -0
- package/dist/chunk-JI67D7O2.js +1222 -0
- package/dist/{chunk-3YUBFTDN.js → chunk-KAEZOVP6.js} +1 -1
- package/dist/chunk-LNNI3MS4.js +54 -0
- package/dist/{chunk-BCG45AQB.js → chunk-M74I3HHF.js} +15 -5
- package/dist/chunk-MLZBBLMT.js +109 -0
- package/dist/{chunk-5T5YMX6S.js → chunk-PW65BXY5.js} +5 -0
- package/dist/{chunk-2OIYNHWO.js → chunk-QFVGPKJI.js} +1 -1
- package/dist/{chunk-T2TP6ZC6.js → chunk-QUSMYGNQ.js} +6 -0
- package/dist/{chunk-HNGFKPNS.js → chunk-SFRYRW37.js} +85 -36
- package/dist/{chunk-7KRIHYLR.js → chunk-SSNZ6ZNN.js} +2 -2
- package/dist/{chunk-HUNDXZBZ.js → chunk-TGJHGVBZ.js} +48 -19
- package/dist/{chunk-PJVPDY2Z.js → chunk-U3EJJ7JN.js} +2 -2
- package/dist/{chunk-ODDGGLM6.js → chunk-UC6BNMGT.js} +43 -13
- package/dist/{chunk-Q7HOAVFR.js → chunk-WBBKYUGF.js} +4 -6
- package/dist/{chunk-WQ46E33M.js → chunk-X67VT4QO.js} +2 -2
- package/dist/{chunk-MJRXFUMS.js → chunk-YQOYZ6G7.js} +3 -5
- package/dist/{chunk-VZRA5TYO.js → chunk-ZUG76D3P.js} +36 -6
- package/dist/cli.js +34 -27
- package/dist/{clock-CNRF6F7T.js → clock-LH7UFNLJ.js} +5 -4
- package/dist/{cloud-sync-WHKCB4CD.js → cloud-sync-IDJFVDEP.js} +23 -20
- package/dist/{config-RPSLA2HX.js → config-UGJS57VT.js} +3 -3
- package/dist/{conversations-C7IKYSHD.js → conversations-S2232Y5I.js} +9 -5
- package/dist/{create-GJKHABJB.js → create-2M7DAHQX.js} +2 -2
- package/dist/{create-VIQVP3QB.js → create-M727VUDF.js} +2 -1
- package/dist/{daemon-client-ZFY5MOAL.js → daemon-client-VVYFZI2D.js} +2 -1
- package/dist/{daemon-restart-7KUHVZIN.js → daemon-restart-2AAGYFHE.js} +6 -7
- package/dist/daemon.js +2166 -833
- package/dist/{db-FO6LXYCW.js → db-QAY45Z56.js} +2 -2
- package/dist/{delete-ESEP7NGQ.js → delete-O7PEFQDF.js} +1 -1
- package/dist/delivery-manager-B4OKWD2P.js +33 -0
- package/dist/{delivery-router-3QFG2ZEX.js → delivery-router-JE7SHYNU.js} +10 -6
- package/dist/{down-G6IADJXV.js → down-D4IRNEMJ.js} +5 -5
- package/dist/echo-text-WYAAODBV.js +39 -0
- package/dist/{env-C7Z55QCJ.js → env-ABM5IMA7.js} +8 -7
- package/dist/{env-6TGPO5WG.js → env-AZK5X4W7.js} +3 -3
- package/dist/{exec-QIFYZG4C.js → exec-2H65LMTA.js} +3 -3
- package/dist/{export-C2K3NIRD.js → export-3E3EL6W3.js} +4 -4
- package/dist/{extension-J4ZQ2GHV.js → extension-MRYJWSMV.js} +2 -1
- package/dist/{extensions-GEKF47A4.js → extensions-7KP3X6G7.js} +23 -20
- package/dist/{files-LXQSQOFG.js → files-6BMKVG5G.js} +5 -4
- package/dist/{import-SX3ZXHB4.js → import-UPNTEBBT.js} +9 -9
- package/dist/{isolation-MCT4ZYLT.js → isolation-OKDFM6WA.js} +5 -3
- package/dist/{join-34TR2GXQ.js → join-PYA36HEC.js} +1 -1
- package/dist/{list-PMUXZNAM.js → list-4BVGH7AN.js} +8 -3
- package/dist/{login-CL4IT2ED.js → login-MOXVLULE.js} +7 -6
- package/dist/{login-ARRZ4ORJ.js → login-RJJTCVR3.js} +4 -3
- package/dist/{logout-YZRMZ3O2.js → logout-BYV433X6.js} +2 -1
- package/dist/{logout-HZYJCYCA.js → logout-DWD3OQVT.js} +4 -3
- package/dist/message-delivery-3456PXB7.js +43 -0
- package/dist/migrate-thread-config-4A5LW36Z.js +90 -0
- package/dist/{mind-46AOK373.js → mind-NYRALSV2.js} +19 -19
- package/dist/{mind-activity-tracker-YVZPC4A5.js → mind-activity-tracker-L7GCYXQR.js} +5 -5
- package/dist/{mind-contacts-GV7XYL5D.js → mind-contacts-QYU4TPEA.js} +8 -7
- package/dist/{mind-history-TTGA5BHZ.js → mind-history-NXXOOTX6.js} +34 -11
- package/dist/{mind-list-OTHV4ZO4.js → mind-list-SYRA7CH5.js} +3 -2
- package/dist/{mind-profile-LUG353ZT.js → mind-profile-MRCVZPYT.js} +1 -1
- package/dist/mind-service-5TA7UJAT.js +47 -0
- package/dist/{mind-sleep-DV7KP255.js → mind-sleep-TH6BRQ5X.js} +5 -4
- package/dist/{mind-status-BJNPGXKC.js → mind-status-Z2LQFA6F.js} +3 -2
- package/dist/{mind-wake-LVTZ55EZ.js → mind-wake-LDGPRA42.js} +2 -1
- package/dist/{package-RTN2PS7O.js → package-XYSV7NUT.js} +27 -26
- package/dist/prompts-QKFPX6DQ.js +24 -0
- package/dist/{read-YSWUXYL7.js → read-ZXGUT4QC.js} +5 -3
- package/dist/{register-42VBJKTP.js → register-OX4HRSGC.js} +4 -3
- package/dist/{registry-UMMDRPRM.js → registry-4UF6OCOE.js} +10 -4
- package/dist/{reject-SXGCYN4A.js → reject-TWB4QJHG.js} +2 -1
- package/dist/{restart-YYEGZJDD.js → restart-AGEGNSYQ.js} +6 -5
- package/dist/{sandbox-5VQ454XP.js → sandbox-EGEU5GGE.js} +8 -5
- package/dist/scheduler-UV6RUJ7P.js +25 -0
- package/dist/{schema-VEVO7HG6.js → schema-C2GIPD4V.js} +3 -3
- package/dist/{seed-F2HXZQU4.js → seed-3IMBOAGK.js} +1 -1
- package/dist/{seed-check-TYD7RRZY.js → seed-check-NRJEQZST.js} +14 -5
- package/dist/{seed-cmd-MLCTGSX5.js → seed-cmd-U73XVQMI.js} +3 -3
- package/dist/{seed-create-KQ7OILWB.js → seed-create-FBLNVSUP.js} +4 -4
- package/dist/{seed-readiness-RBPGOLSZ.js → seed-readiness-QRA46ZJQ.js} +4 -5
- package/dist/{seed-sprout-HVYCFJLA.js → seed-sprout-3B4SZX7J.js} +12 -12
- package/dist/{send-TD2X5U3K.js → send-NBRZJXKX.js} +34 -12
- package/dist/{service-CVZMQYK6.js → service-XMXAXGJD.js} +4 -4
- package/dist/{service-install-VCRMFWX5.js → service-install-MOKTEG7B.js} +5 -5
- package/dist/{setup-5ECWTYKG.js → setup-CAJFOR2N.js} +12 -3
- package/dist/{setup-AE4CVUC4.js → setup-JGYAXXW7.js} +6 -7
- package/dist/{skill-UUM4JZRF.js → skill-NXIHDQCG.js} +7 -6
- package/dist/skills/dreaming/references/INSTALL.md +2 -2
- package/dist/skills/imagegen/SKILL.md +21 -4
- package/dist/skills/imagegen/scripts/imagegen.ts +124 -21
- package/dist/skills/tending/SKILL.md +7 -7
- package/dist/skills/volute-mind/SKILL.md +6 -6
- package/dist/skills/volute-mind/references/integrations.md +2 -2
- package/dist/skills/volute-mind/references/routing.md +19 -18
- package/dist/skills/volute-mind/references/variants.md +48 -14
- package/dist/{skills-B3SVDCEB.js → skills-5MSMT7PT.js} +7 -6
- package/dist/sleep-manager-LIEPO6WG.js +41 -0
- package/dist/spirit-IL5EMWYZ.js +34 -0
- package/dist/spirit-availability-YFEGJNJ2.js +42 -0
- package/dist/{split-SKZ4Y2D6.js → split-BU5VWX6P.js} +5 -2
- package/dist/{sprout-KQ43BWZJ.js → sprout-UPXGJ5HX.js} +1 -1
- package/dist/{src-YH6PQ7LJ.js → src-HGNE2XG4.js} +7 -1
- package/dist/{src-WLJE73NP.js → src-LCSOQY6Z.js} +60 -54
- package/dist/{src-JAOVXO5W.js → src-UDMJZ6MH.js} +8 -8
- package/dist/{start-O6UKK7BG.js → start-MUMNFR52.js} +4 -3
- package/dist/{status-F4PGREUU.js → status-IL67CYM4.js} +7 -6
- package/dist/{stop-UBX6X5RA.js → stop-EKERNYTX.js} +6 -5
- package/dist/system-events-A6IGCEC3.js +46 -0
- package/dist/system-install-YZSWCPDK.js +8 -0
- package/dist/{systems-JJNGQHAO.js → systems-VDRUZXNF.js} +5 -4
- package/dist/{tailscale-MCLY5GYE.js → tailscale-SJUW2ETR.js} +3 -3
- package/dist/{template-staleness-EMQORSGG.js → template-staleness-T27VCGYA.js} +4 -4
- package/dist/{turn-tracker-KLPV3PAU.js → turn-tracker-6EI2EL7G.js} +7 -7
- package/dist/{up-RVGDE6CQ.js → up-CLL4665A.js} +5 -6
- package/dist/{update-OXQEGGXD.js → update-HVAUCQPN.js} +5 -5
- package/dist/{update-check-266R4ZSY.js → update-check-2MGBBAFF.js} +3 -3
- package/dist/{upgrade-K5FIQPQD.js → upgrade-LIE46UBB.js} +1 -1
- package/dist/variant-cleanup-HJ7Z75R6.js +22 -0
- package/dist/{version-notify-73YURTFR.js → version-notify-7BUHWZNT.js} +11 -28
- package/dist/web-assets/assets/index-ClsUcXiW.js +95 -0
- package/dist/web-assets/assets/index-Dz3wTbtR.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/dist/xai-P42CRCZA.js +129 -0
- package/drizzle/0013_variant_purpose.sql +3 -0
- package/drizzle/0014_system_events.sql +26 -0
- package/drizzle/0015_rename_session_to_thread.sql +12 -0
- package/drizzle/0016_brain_to_human.sql +4 -0
- package/drizzle/0017_event_history_rows.sql +9 -0
- package/drizzle/meta/_journal.json +35 -0
- package/package.json +27 -26
- package/packages/extensions/notes/dist/ui/assets/index-BBs8pyel.js +67 -0
- package/packages/extensions/notes/dist/ui/index.html +1 -1
- package/packages/extensions/pages/dist/ui/assets/index-B589e8Xe.js +2 -0
- package/packages/extensions/pages/dist/ui/index.html +1 -1
- package/packages/extensions/plan/dist/ui/assets/index-B8s8wxyt.js +67 -0
- package/packages/extensions/plan/dist/ui/index.html +1 -1
- package/templates/_base/.init/.config/prompts.json +1 -0
- package/templates/_base/.init/.local/hooks/startup-context.ts +34 -2
- package/templates/_base/home/.config/routes.json +2 -2
- package/templates/_base/home/VOLUTE.md +30 -5
- package/templates/_base/src/lib/daemon-client.ts +28 -8
- package/templates/_base/src/lib/event-turn.ts +39 -0
- package/templates/_base/src/lib/format-prefix.ts +21 -2
- package/templates/_base/src/lib/router.ts +6 -2
- package/templates/_base/src/lib/routing.ts +8 -8
- package/templates/_base/src/lib/startup.ts +9 -1
- package/templates/_base/src/lib/types.ts +7 -1
- package/templates/_base/src/lib/volute-server.ts +30 -1
- package/templates/claude/.init/.config/routes.json +3 -3
- package/templates/claude/.init/CLAUDE.md +1 -1
- package/templates/claude/package.json.tmpl +4 -4
- package/templates/claude/src/agent.ts +5 -2
- package/templates/claude/src/lib/hooks/identity-reload.ts +12 -3
- package/templates/claude/src/lib/hooks/reply-instructions.ts +26 -1
- package/templates/codex/.init/.config/routes.json +3 -3
- package/templates/codex/.init/AGENTS.md +1 -1
- package/templates/codex/package.json.tmpl +4 -4
- package/templates/codex/src/agent.ts +11 -11
- package/templates/codex/src/lib/turn-context.ts +51 -0
- package/templates/pi/.init/.config/routes.json +3 -3
- package/templates/pi/.init/MINDS.md +1 -1
- package/templates/pi/package.json.tmpl +6 -6
- package/templates/pi/src/agent.ts +9 -1
- package/templates/pi/src/lib/event-handler.ts +47 -6
- package/templates/pi/src/lib/reply-instructions-extension.ts +28 -1
- package/dist/chunk-5KXCM5AW.js +0 -169
- package/dist/chunk-IYCV34IU.js +0 -158
- package/dist/chunk-VB2QXUJQ.js +0 -5260
- package/dist/chunk-WW6C3PLV.js +0 -280
- package/dist/delivery-manager-HZTT5SJR.js +0 -36
- package/dist/echo-text-H3SH337Q.js +0 -36
- package/dist/message-delivery-GPQ5SE5N.js +0 -40
- package/dist/mind-service-2ARGJNKP.js +0 -44
- package/dist/notices-2KU5NTRY.js +0 -25
- package/dist/scheduler-I7JZCT47.js +0 -34
- package/dist/sleep-manager-Z27R3WTW.js +0 -38
- package/dist/spirit-WXS3HCLN.js +0 -25
- package/dist/system-chat-63ABFF6V.js +0 -40
- package/dist/web-assets/assets/index-WdZ60R6c.css +0 -1
- package/dist/web-assets/assets/index-taX6Ezfa.js +0 -92
- package/packages/extensions/notes/dist/ui/assets/index-D0-DgYyj.js +0 -67
- package/packages/extensions/pages/dist/ui/assets/index-DtzftuPA.js +0 -2
- package/packages/extensions/plan/dist/ui/assets/index-Cfzs-0G9.js +0 -67
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
broadcast
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3BAFMGCJ.js";
|
|
5
5
|
import {
|
|
6
|
-
getDb
|
|
7
|
-
|
|
6
|
+
getDb,
|
|
7
|
+
getSpiritName,
|
|
8
|
+
isSpiritName
|
|
9
|
+
} from "./chunk-CAIYV33P.js";
|
|
8
10
|
import {
|
|
9
11
|
users
|
|
10
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5IIVOWSP.js";
|
|
11
13
|
|
|
12
14
|
// packages/daemon/src/lib/auth.ts
|
|
13
15
|
import { compareSync, hashSync } from "bcryptjs";
|
|
14
|
-
import { and, count, eq, or } from "drizzle-orm";
|
|
16
|
+
import { and, count, eq, inArray, or } from "drizzle-orm";
|
|
15
17
|
var userSelectFields = {
|
|
16
18
|
id: users.id,
|
|
17
19
|
username: users.username,
|
|
@@ -25,7 +27,7 @@ var userSelectFields = {
|
|
|
25
27
|
async function createUser(username, password) {
|
|
26
28
|
const db = await getDb();
|
|
27
29
|
const hash = hashSync(password, 10);
|
|
28
|
-
const [{ value }] = await db.select({ value: count() }).from(users).where(eq(users.user_type, "
|
|
30
|
+
const [{ value }] = await db.select({ value: count() }).from(users).where(eq(users.user_type, "human"));
|
|
29
31
|
const role = value === 0 ? "admin" : "pending";
|
|
30
32
|
const [result] = await db.insert(users).values({ username, password_hash: hash, role }).returning(userSelectFields);
|
|
31
33
|
return result;
|
|
@@ -44,6 +46,24 @@ async function getUser(id) {
|
|
|
44
46
|
const row = await db.select(userSelectFields).from(users).where(eq(users.id, id)).get();
|
|
45
47
|
return row ?? null;
|
|
46
48
|
}
|
|
49
|
+
async function getDisplayNames(usernames) {
|
|
50
|
+
const unique = [...new Set(usernames.filter((u) => !!u))];
|
|
51
|
+
const map = /* @__PURE__ */ new Map();
|
|
52
|
+
if (unique.length === 0) return map;
|
|
53
|
+
const db = await getDb();
|
|
54
|
+
const rows = await db.select({ username: users.username, displayName: users.display_name }).from(users).where(inArray(users.username, unique));
|
|
55
|
+
for (const r of rows) {
|
|
56
|
+
if (r.displayName) map.set(r.username, r.displayName);
|
|
57
|
+
}
|
|
58
|
+
return map;
|
|
59
|
+
}
|
|
60
|
+
async function withSenderDisplayNames(msgs) {
|
|
61
|
+
const displayNames = await getDisplayNames(msgs.map((m) => m.sender_name));
|
|
62
|
+
return msgs.map((m) => ({
|
|
63
|
+
...m,
|
|
64
|
+
sender_display_name: m.sender_name ? displayNames.get(m.sender_name) ?? null : null
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
47
67
|
async function getUserByUsername(username) {
|
|
48
68
|
const db = await getDb();
|
|
49
69
|
const row = await db.select(userSelectFields).from(users).where(eq(users.username, username)).get();
|
|
@@ -62,6 +82,7 @@ async function listUsersByType(userType) {
|
|
|
62
82
|
return db.select(userSelectFields).from(users).where(eq(users.user_type, userType)).orderBy(users.created_at).all();
|
|
63
83
|
}
|
|
64
84
|
async function getOrCreateMindUser(mindName) {
|
|
85
|
+
if (isSpiritName(mindName)) return getOrCreateSystemUser();
|
|
65
86
|
const db = await getDb();
|
|
66
87
|
const existing = await db.select(userSelectFields).from(users).where(
|
|
67
88
|
and(
|
|
@@ -91,20 +112,27 @@ async function getOrCreateMindUser(mindName) {
|
|
|
91
112
|
}
|
|
92
113
|
async function getOrCreateSystemUser() {
|
|
93
114
|
const db = await getDb();
|
|
94
|
-
const
|
|
95
|
-
|
|
115
|
+
const spiritName = getSpiritName();
|
|
116
|
+
const existing = await db.select(userSelectFields).from(users).where(eq(users.user_type, "system")).get();
|
|
117
|
+
if (existing) {
|
|
118
|
+
if (existing.username !== spiritName) {
|
|
119
|
+
const [renamed] = await db.update(users).set({ username: spiritName, display_name: spiritName }).where(eq(users.id, existing.id)).returning(userSelectFields);
|
|
120
|
+
return renamed;
|
|
121
|
+
}
|
|
122
|
+
return existing;
|
|
123
|
+
}
|
|
96
124
|
try {
|
|
97
125
|
const [result] = await db.insert(users).values({
|
|
98
|
-
username:
|
|
126
|
+
username: spiritName,
|
|
99
127
|
password_hash: "!system",
|
|
100
128
|
role: "system",
|
|
101
129
|
user_type: "system",
|
|
102
|
-
display_name:
|
|
130
|
+
display_name: spiritName
|
|
103
131
|
}).returning(userSelectFields);
|
|
104
132
|
return result;
|
|
105
133
|
} catch (err) {
|
|
106
134
|
if (err instanceof Error && err.message.includes("UNIQUE constraint")) {
|
|
107
|
-
const retried = await db.select(userSelectFields).from(users).where(
|
|
135
|
+
const retried = await db.select(userSelectFields).from(users).where(eq(users.user_type, "system")).get();
|
|
108
136
|
if (retried) return retried;
|
|
109
137
|
}
|
|
110
138
|
throw err;
|
|
@@ -140,9 +168,9 @@ async function setUserRole(id, role) {
|
|
|
140
168
|
}
|
|
141
169
|
async function deleteUser(id) {
|
|
142
170
|
const db = await getDb();
|
|
143
|
-
const target = await db.select({ id: users.id }).from(users).where(and(eq(users.id, id), eq(users.user_type, "
|
|
171
|
+
const target = await db.select({ id: users.id }).from(users).where(and(eq(users.id, id), eq(users.user_type, "human"))).get();
|
|
144
172
|
if (!target) throw new Error("User not found");
|
|
145
|
-
await db.delete(users).where(and(eq(users.id, id), eq(users.user_type, "
|
|
173
|
+
await db.delete(users).where(and(eq(users.id, id), eq(users.user_type, "human")));
|
|
146
174
|
}
|
|
147
175
|
async function updateUserProfile(userId, profile) {
|
|
148
176
|
const db = await getDb();
|
|
@@ -168,6 +196,8 @@ export {
|
|
|
168
196
|
createUser,
|
|
169
197
|
verifyUser,
|
|
170
198
|
getUser,
|
|
199
|
+
getDisplayNames,
|
|
200
|
+
withSenderDisplayNames,
|
|
171
201
|
getUserByUsername,
|
|
172
202
|
listUsers,
|
|
173
203
|
listPendingUsers,
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
exec
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
readGlobalConfig
|
|
7
|
-
} from "./chunk-5KXCM5AW.js";
|
|
4
|
+
} from "./chunk-AJWFDIEY.js";
|
|
8
5
|
import {
|
|
9
6
|
logger_default
|
|
10
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QUSMYGNQ.js";
|
|
11
8
|
import {
|
|
12
9
|
getDb,
|
|
13
10
|
readAllMinds,
|
|
11
|
+
readGlobalConfig,
|
|
14
12
|
voluteHome,
|
|
15
13
|
voluteSystemDir
|
|
16
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CAIYV33P.js";
|
|
17
15
|
|
|
18
16
|
// packages/daemon/src/lib/backup/restic.ts
|
|
19
17
|
import { writeFileSync } from "fs";
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
} from "./chunk-WCFSBH33.js";
|
|
8
8
|
import {
|
|
9
9
|
logger_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QUSMYGNQ.js";
|
|
11
11
|
import {
|
|
12
12
|
mindDir,
|
|
13
13
|
readAllMinds,
|
|
14
14
|
voluteHome
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-CAIYV33P.js";
|
|
16
16
|
|
|
17
17
|
// packages/daemon/src/lib/util/avatar-image.ts
|
|
18
18
|
import { readdir, readFile, writeFile } from "fs/promises";
|
|
@@ -8,14 +8,12 @@ import {
|
|
|
8
8
|
modeLabel,
|
|
9
9
|
pollHealth,
|
|
10
10
|
startService
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import {
|
|
13
|
-
readGlobalConfig
|
|
14
|
-
} from "./chunk-5KXCM5AW.js";
|
|
11
|
+
} from "./chunk-5FVANDON.js";
|
|
15
12
|
import {
|
|
13
|
+
readGlobalConfig,
|
|
16
14
|
voluteHome,
|
|
17
15
|
voluteSystemDir
|
|
18
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-CAIYV33P.js";
|
|
19
17
|
|
|
20
18
|
// src/commands/up.ts
|
|
21
19
|
import { spawn } from "child_process";
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
readGlobalConfig
|
|
4
|
-
} from "./chunk-5KXCM5AW.js";
|
|
5
2
|
import {
|
|
6
3
|
logger_default
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QUSMYGNQ.js";
|
|
5
|
+
import {
|
|
6
|
+
readGlobalConfig
|
|
7
|
+
} from "./chunk-CAIYV33P.js";
|
|
8
8
|
|
|
9
9
|
// packages/daemon/src/lib/mind/sandbox.ts
|
|
10
10
|
import { execFileSync } from "child_process";
|
|
11
|
+
import { existsSync, realpathSync } from "fs";
|
|
12
|
+
import { dirname, resolve } from "path";
|
|
11
13
|
var slog = logger_default.child("sandbox");
|
|
12
14
|
var sandboxManager = null;
|
|
13
15
|
var SandboxUnavailableError = class extends Error {
|
|
@@ -69,6 +71,7 @@ async function initSandbox() {
|
|
|
69
71
|
allowWrite: [],
|
|
70
72
|
denyWrite: []
|
|
71
73
|
},
|
|
74
|
+
network: {},
|
|
72
75
|
...ripgrepConfig ? { ripgrep: ripgrepConfig } : {}
|
|
73
76
|
};
|
|
74
77
|
await SandboxManager.initialize(config);
|
|
@@ -94,10 +97,32 @@ async function initSandbox() {
|
|
|
94
97
|
throw new SandboxUnavailableError("sandbox runtime not available", err);
|
|
95
98
|
}
|
|
96
99
|
}
|
|
100
|
+
function voluteCliPaths(env = process.env) {
|
|
101
|
+
for (const dir of (env.PATH ?? "").split(":")) {
|
|
102
|
+
if (!dir || dir.endsWith("/.local/bin")) continue;
|
|
103
|
+
const shim = resolve(dir, "volute");
|
|
104
|
+
if (!existsSync(shim)) continue;
|
|
105
|
+
const paths = [shim, resolve(dirname(process.execPath), "..")];
|
|
106
|
+
let target;
|
|
107
|
+
try {
|
|
108
|
+
target = realpathSync(shim);
|
|
109
|
+
} catch {
|
|
110
|
+
return paths;
|
|
111
|
+
}
|
|
112
|
+
for (let dir2 = dirname(target); dir2 !== dirname(dir2); dir2 = dirname(dir2)) {
|
|
113
|
+
if (existsSync(resolve(dir2, "package.json"))) {
|
|
114
|
+
paths.push(dir2);
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return paths;
|
|
119
|
+
}
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
97
122
|
async function buildSandboxReadConfig(_mindName, mindDir) {
|
|
98
123
|
const userHome = process.env.HOME || "";
|
|
99
124
|
const denyRead = [];
|
|
100
|
-
const allowRead = [mindDir];
|
|
125
|
+
const allowRead = [mindDir, ...voluteCliPaths()];
|
|
101
126
|
if (userHome) {
|
|
102
127
|
denyRead.push(userHome);
|
|
103
128
|
} else {
|
|
@@ -114,6 +139,9 @@ async function buildSandboxReadConfig(_mindName, mindDir) {
|
|
|
114
139
|
function shellEscape(s) {
|
|
115
140
|
return `'${s.replace(/'/g, "'\\''")}'`;
|
|
116
141
|
}
|
|
142
|
+
function shellTempWritePaths() {
|
|
143
|
+
return process.platform === "darwin" ? ["/private/tmp", "/private/var/tmp"] : [];
|
|
144
|
+
}
|
|
117
145
|
async function wrapForSandbox(cmd, args, mindDir, mindName, allowWrite) {
|
|
118
146
|
if (!sandboxManager) {
|
|
119
147
|
if (isSandboxEnabled() && !isSandboxOptional()) {
|
|
@@ -126,7 +154,7 @@ async function wrapForSandbox(cmd, args, mindDir, mindName, allowWrite) {
|
|
|
126
154
|
filesystem: {
|
|
127
155
|
denyRead,
|
|
128
156
|
allowRead,
|
|
129
|
-
allowWrite: allowWrite ?? [mindDir],
|
|
157
|
+
allowWrite: [...allowWrite ?? [mindDir], ...shellTempWritePaths()],
|
|
130
158
|
denyWrite: []
|
|
131
159
|
}
|
|
132
160
|
};
|
|
@@ -151,7 +179,9 @@ export {
|
|
|
151
179
|
isSandboxEnabled,
|
|
152
180
|
isSandboxOptional,
|
|
153
181
|
initSandbox,
|
|
182
|
+
voluteCliPaths,
|
|
154
183
|
buildSandboxReadConfig,
|
|
155
184
|
shellEscape,
|
|
185
|
+
shellTempWritePaths,
|
|
156
186
|
wrapForSandbox
|
|
157
187
|
};
|
package/dist/cli.js
CHANGED
|
@@ -10,7 +10,7 @@ if (!process.env.VOLUTE_HOME) {
|
|
|
10
10
|
var command = process.argv[2];
|
|
11
11
|
var args = process.argv.slice(3);
|
|
12
12
|
if (command === "--version" || command === "-v") {
|
|
13
|
-
const { default: pkg } = await import("./package-
|
|
13
|
+
const { default: pkg } = await import("./package-XYSV7NUT.js");
|
|
14
14
|
console.log(pkg.version);
|
|
15
15
|
process.exit(0);
|
|
16
16
|
}
|
|
@@ -32,8 +32,9 @@ var ungatedCommands = /* @__PURE__ */ new Set([
|
|
|
32
32
|
"service",
|
|
33
33
|
void 0
|
|
34
34
|
]);
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
var isMind = !!process.env.VOLUTE_MIND_TOKEN;
|
|
36
|
+
if (!isMind && !ungatedCommands.has(command)) {
|
|
37
|
+
const { setupStatus, setupUrl } = await import("./setup-CAJFOR2N.js");
|
|
37
38
|
const status = setupStatus();
|
|
38
39
|
if (status !== "complete") {
|
|
39
40
|
if (status === "in-progress") {
|
|
@@ -41,72 +42,78 @@ if (!ungatedCommands.has(command)) {
|
|
|
41
42
|
console.error(`Open ${setupUrl()} in your browser to complete it.`);
|
|
42
43
|
console.error("(If the daemon isn't running, start it with `volute up` first.)");
|
|
43
44
|
} else {
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
const { detectSystemInstallHint } = await import("./system-install-YZSWCPDK.js");
|
|
46
|
+
const hint = detectSystemInstallHint();
|
|
47
|
+
if (hint) {
|
|
48
|
+
console.error(hint);
|
|
49
|
+
} else {
|
|
50
|
+
console.error("Volute is not set up. Run `volute setup` to get started.");
|
|
51
|
+
console.error("It starts the daemon and opens a browser wizard to finish configuration.");
|
|
52
|
+
}
|
|
46
53
|
}
|
|
47
54
|
process.exit(1);
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
switch (command) {
|
|
51
58
|
case "setup":
|
|
52
|
-
await import("./setup-
|
|
59
|
+
await import("./setup-JGYAXXW7.js").then((m) => m.run(args));
|
|
53
60
|
break;
|
|
54
61
|
case "mind":
|
|
55
|
-
await import("./mind-
|
|
62
|
+
await import("./mind-NYRALSV2.js").then((m) => m.run(args));
|
|
56
63
|
break;
|
|
57
64
|
case "seed":
|
|
58
|
-
await import("./seed-cmd-
|
|
65
|
+
await import("./seed-cmd-U73XVQMI.js").then((m) => m.run(args));
|
|
59
66
|
break;
|
|
60
67
|
case "chat":
|
|
61
|
-
await import("./chat-
|
|
68
|
+
await import("./chat-W5K6HCBE.js").then((m) => m.run(args));
|
|
62
69
|
break;
|
|
63
70
|
case "variant":
|
|
64
71
|
await import("./variant-HHDTW74J.js").then((m) => m.run(args));
|
|
65
72
|
break;
|
|
66
73
|
case "clock":
|
|
67
|
-
await import("./clock-
|
|
74
|
+
await import("./clock-LH7UFNLJ.js").then((m) => m.run(args));
|
|
68
75
|
break;
|
|
69
76
|
case "skill":
|
|
70
|
-
await import("./skill-
|
|
77
|
+
await import("./skill-NXIHDQCG.js").then((m) => m.run(args));
|
|
71
78
|
break;
|
|
72
79
|
case "env":
|
|
73
|
-
await import("./env-
|
|
80
|
+
await import("./env-ABM5IMA7.js").then((m) => m.run(args));
|
|
74
81
|
break;
|
|
75
82
|
case "config":
|
|
76
|
-
await import("./config-
|
|
83
|
+
await import("./config-UGJS57VT.js").then((m) => m.run(args));
|
|
77
84
|
break;
|
|
78
85
|
case "up":
|
|
79
|
-
await import("./up-
|
|
86
|
+
await import("./up-CLL4665A.js").then((m) => m.run(args));
|
|
80
87
|
break;
|
|
81
88
|
case "backup":
|
|
82
|
-
await import("./backup-
|
|
89
|
+
await import("./backup-IE6PMXJO.js").then((m) => m.run(args));
|
|
83
90
|
break;
|
|
84
91
|
case "down":
|
|
85
|
-
await import("./down-
|
|
92
|
+
await import("./down-D4IRNEMJ.js").then((m) => m.run(args));
|
|
86
93
|
break;
|
|
87
94
|
case "restart":
|
|
88
|
-
await import("./daemon-restart-
|
|
95
|
+
await import("./daemon-restart-2AAGYFHE.js").then((m) => m.run(args));
|
|
89
96
|
break;
|
|
90
97
|
case "update":
|
|
91
|
-
await import("./update-
|
|
98
|
+
await import("./update-HVAUCQPN.js").then((m) => m.run(args));
|
|
92
99
|
break;
|
|
93
100
|
case "status":
|
|
94
|
-
await import("./status-
|
|
101
|
+
await import("./status-IL67CYM4.js").then((m) => m.run(args));
|
|
95
102
|
break;
|
|
96
103
|
case "extension":
|
|
97
|
-
await import("./extension-
|
|
104
|
+
await import("./extension-MRYJWSMV.js").then((m) => m.run(args));
|
|
98
105
|
break;
|
|
99
106
|
case "systems":
|
|
100
|
-
await import("./systems-
|
|
107
|
+
await import("./systems-VDRUZXNF.js").then((m) => m.run(args));
|
|
101
108
|
break;
|
|
102
109
|
case "login":
|
|
103
|
-
await import("./login-
|
|
110
|
+
await import("./login-MOXVLULE.js").then((m) => m.run(args));
|
|
104
111
|
break;
|
|
105
112
|
case "logout":
|
|
106
|
-
await import("./logout-
|
|
113
|
+
await import("./logout-DWD3OQVT.js").then((m) => m.run(args));
|
|
107
114
|
break;
|
|
108
115
|
case "service":
|
|
109
|
-
await import("./service-
|
|
116
|
+
await import("./service-XMXAXGJD.js").then((m) => m.run(args));
|
|
110
117
|
break;
|
|
111
118
|
case "--help":
|
|
112
119
|
case "-h":
|
|
@@ -148,7 +155,7 @@ System:
|
|
|
148
155
|
update Update volute
|
|
149
156
|
systems register/login/logout volute.systems account`);
|
|
150
157
|
try {
|
|
151
|
-
const { resolveDaemonUrl, getAuthToken } = await import("./daemon-client-
|
|
158
|
+
const { resolveDaemonUrl, getAuthToken } = await import("./daemon-client-VVYFZI2D.js");
|
|
152
159
|
const token = getAuthToken();
|
|
153
160
|
const headers = {};
|
|
154
161
|
if (token) headers.Authorization = `Bearer ${token}`;
|
|
@@ -189,7 +196,7 @@ use --mind <name> or VOLUTE_MIND env var to identify the mind.`);
|
|
|
189
196
|
default: {
|
|
190
197
|
let isExtensionCommand = false;
|
|
191
198
|
try {
|
|
192
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
199
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
193
200
|
const res = await daemonFetch("/api/extensions/commands");
|
|
194
201
|
if (res.ok) {
|
|
195
202
|
const extCommands = await res.json();
|
|
@@ -303,7 +310,7 @@ Run 'volute --help' for usage.`);
|
|
|
303
310
|
}
|
|
304
311
|
}
|
|
305
312
|
if (command !== "update") {
|
|
306
|
-
import("./update-check-
|
|
313
|
+
import("./update-check-2MGBBAFF.js").then((m) => m.checkForUpdate()).then((result) => {
|
|
307
314
|
if (result.updateAvailable) {
|
|
308
315
|
console.error(`
|
|
309
316
|
Update available: ${result.current} \u2192 ${result.latest}`);
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
parseDuration,
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-LOPXTW6H.js";
|
|
5
|
+
} from "./chunk-74T3CEXK.js";
|
|
6
|
+
import "./chunk-PW65BXY5.js";
|
|
8
7
|
import "./chunk-BTY4WNFE.js";
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-M74I3HHF.js";
|
|
9
|
+
import "./chunk-LOPXTW6H.js";
|
|
10
10
|
import "./chunk-TXSA4Q3V.js";
|
|
11
11
|
import "./chunk-O7IGP7ZW.js";
|
|
12
|
+
import "./chunk-FNJCBRD3.js";
|
|
12
13
|
import "./chunk-K3NQKI34.js";
|
|
13
14
|
export {
|
|
14
15
|
parseDuration,
|
|
@@ -1,34 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
deliverMessage
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-EQKSRVDE.js";
|
|
5
|
+
import "./chunk-SFRYRW37.js";
|
|
6
6
|
import "./chunk-RRZ4RQQU.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-7FDWPQCU.js";
|
|
8
|
+
import "./chunk-JI67D7O2.js";
|
|
9
|
+
import "./chunk-ALIVXDM4.js";
|
|
10
|
+
import "./chunk-6BM2I736.js";
|
|
11
|
+
import "./chunk-7DXLIYPY.js";
|
|
12
|
+
import "./chunk-TGJHGVBZ.js";
|
|
13
|
+
import "./chunk-UC6BNMGT.js";
|
|
14
|
+
import "./chunk-7OZWKHA3.js";
|
|
15
|
+
import "./chunk-LNNI3MS4.js";
|
|
16
|
+
import "./chunk-5TPC4KCV.js";
|
|
17
|
+
import "./chunk-ZUG76D3P.js";
|
|
11
18
|
import {
|
|
12
19
|
getAuthHeaders,
|
|
13
20
|
getWebhookUrl
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-WQ46E33M.js";
|
|
21
|
+
} from "./chunk-574M6I7F.js";
|
|
22
|
+
import "./chunk-E5S3ILVA.js";
|
|
23
|
+
import "./chunk-3BAFMGCJ.js";
|
|
24
|
+
import "./chunk-X67VT4QO.js";
|
|
19
25
|
import "./chunk-DW4TRDOZ.js";
|
|
20
26
|
import "./chunk-WCFSBH33.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-YNBXEQAP.js";
|
|
25
|
-
import "./chunk-5KXCM5AW.js";
|
|
26
|
-
import "./chunk-LTLFOSA4.js";
|
|
27
|
+
import "./chunk-AJWFDIEY.js";
|
|
28
|
+
import "./chunk-7UWXAJMK.js";
|
|
29
|
+
import "./chunk-632FJ23O.js";
|
|
27
30
|
import {
|
|
28
31
|
logger_default
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-QUSMYGNQ.js";
|
|
33
|
+
import "./chunk-CAIYV33P.js";
|
|
34
|
+
import "./chunk-5IIVOWSP.js";
|
|
32
35
|
import "./chunk-K3NQKI34.js";
|
|
33
36
|
|
|
34
37
|
// packages/daemon/src/lib/cloud-sync.ts
|
|
@@ -7,7 +7,7 @@ import "./chunk-K3NQKI34.js";
|
|
|
7
7
|
|
|
8
8
|
// packages/cli/src/commands/config.ts
|
|
9
9
|
async function listModels() {
|
|
10
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
10
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
11
11
|
const res = await daemonFetch("/api/config/models");
|
|
12
12
|
if (!res.ok) {
|
|
13
13
|
console.error(`Failed to fetch models (HTTP ${res.status})`);
|
|
@@ -24,7 +24,7 @@ async function listModels() {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
async function listProviders() {
|
|
27
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
27
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
28
28
|
const res = await daemonFetch("/api/config/providers");
|
|
29
29
|
if (!res.ok) {
|
|
30
30
|
console.error(`Failed to fetch providers (HTTP ${res.status})`);
|
|
@@ -41,7 +41,7 @@ async function listProviders() {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
async function showStatus() {
|
|
44
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
44
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
45
45
|
const res = await daemonFetch("/api/config/status");
|
|
46
46
|
if (!res.ok) {
|
|
47
47
|
console.error(`Failed to fetch config (HTTP ${res.status})`);
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
getChannelName,
|
|
13
13
|
getChannelSettings,
|
|
14
14
|
getConversation,
|
|
15
|
+
getConversationWithParticipants,
|
|
16
|
+
getLastMessageBySender,
|
|
15
17
|
getMessages,
|
|
16
18
|
getMessagesPaginated,
|
|
17
19
|
getParticipants,
|
|
@@ -29,11 +31,11 @@ import {
|
|
|
29
31
|
removeParticipant,
|
|
30
32
|
setConversationPrivate,
|
|
31
33
|
updateChannelSettings
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-574M6I7F.js";
|
|
35
|
+
import "./chunk-3BAFMGCJ.js";
|
|
36
|
+
import "./chunk-QUSMYGNQ.js";
|
|
37
|
+
import "./chunk-CAIYV33P.js";
|
|
38
|
+
import "./chunk-5IIVOWSP.js";
|
|
37
39
|
import "./chunk-K3NQKI34.js";
|
|
38
40
|
export {
|
|
39
41
|
addMessage,
|
|
@@ -48,6 +50,8 @@ export {
|
|
|
48
50
|
getChannelName,
|
|
49
51
|
getChannelSettings,
|
|
50
52
|
getConversation,
|
|
53
|
+
getConversationWithParticipants,
|
|
54
|
+
getLastMessageBySender,
|
|
51
55
|
getMessages,
|
|
52
56
|
getMessagesPaginated,
|
|
53
57
|
getParticipants,
|
|
@@ -21,11 +21,11 @@ var cmd = command({
|
|
|
21
21
|
const name = args.name;
|
|
22
22
|
let template = flags.template;
|
|
23
23
|
if (!template) {
|
|
24
|
-
const { resolveTemplate } = await import("./ai-service-
|
|
24
|
+
const { resolveTemplate } = await import("./ai-service-V4CTNGI3.js");
|
|
25
25
|
template = await resolveTemplate();
|
|
26
26
|
}
|
|
27
27
|
const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
|
|
28
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
28
|
+
const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
|
|
29
29
|
const { getClient, urlOf } = await import("./api-client-LC5YRA32.js");
|
|
30
30
|
const client = getClient();
|
|
31
31
|
const res = await daemonFetch(urlOf(client.api.minds.$url()), {
|
|
@@ -4,11 +4,12 @@ import {
|
|
|
4
4
|
} from "./chunk-BTY4WNFE.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-M74I3HHF.js";
|
|
8
8
|
import {
|
|
9
9
|
command
|
|
10
10
|
} from "./chunk-TXSA4Q3V.js";
|
|
11
11
|
import "./chunk-O7IGP7ZW.js";
|
|
12
|
+
import "./chunk-FNJCBRD3.js";
|
|
12
13
|
import "./chunk-K3NQKI34.js";
|
|
13
14
|
|
|
14
15
|
// packages/cli/src/commands/chat/create.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
stopDaemon
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-U3EJJ7JN.js";
|
|
5
5
|
import {
|
|
6
6
|
run
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YQOYZ6G7.js";
|
|
8
8
|
import {
|
|
9
9
|
command
|
|
10
10
|
} from "./chunk-TXSA4Q3V.js";
|
|
@@ -15,11 +15,10 @@ import {
|
|
|
15
15
|
pollHealth,
|
|
16
16
|
readDaemonConfig,
|
|
17
17
|
restartService
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-2MJ7EOMT.js";
|
|
18
|
+
} from "./chunk-5FVANDON.js";
|
|
19
|
+
import "./chunk-AJWFDIEY.js";
|
|
20
|
+
import "./chunk-CAIYV33P.js";
|
|
21
|
+
import "./chunk-5IIVOWSP.js";
|
|
23
22
|
import "./chunk-K3NQKI34.js";
|
|
24
23
|
|
|
25
24
|
// src/commands/daemon-restart.ts
|