volute 0.30.0 → 0.31.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/{accept-E3PAH3QJ.js → accept-GAKQ3MEH.js} +4 -4
- package/dist/{activity-events-BKBPPUBP.js → activity-events-T5ZRCVAL.js} +2 -2
- package/dist/{ai-service-VAJT5UBS.js → ai-service-UWUPM4T6.js} +5 -3
- package/dist/api.d.ts +238 -111
- package/dist/{archive-WWDBWYN2.js → archive-YBNSJYZZ.js} +2 -2
- package/dist/auth-T5AW2USD.js +43 -0
- package/dist/{bridge-RO37CUFM.js → bridge-4AJ3EY26.js} +4 -4
- package/dist/{chat-TCUNPFGO.js → chat-7YLT7FI3.js} +8 -8
- package/dist/{chunk-EFVHR7KH.js → chunk-4OUOFS23.js} +24 -5
- package/dist/{chunk-G3GBKZGG.js → chunk-57OKQMP3.js} +54 -2
- package/dist/chunk-6QIUN46C.js +38 -0
- package/dist/{chunk-FSM45XD5.js → chunk-AAO77TZX.js} +1 -1
- package/dist/{chunk-DTC6EH5I.js → chunk-BC3P3QCK.js} +1 -1
- package/dist/{chunk-P7VFDSSG.js → chunk-BNC43CSY.js} +2 -2
- package/dist/{chunk-QVAQ5454.js → chunk-BWKIHH7B.js} +3080 -2099
- package/dist/{chunk-IKHDUZRH.js → chunk-DAXJKPHZ.js} +2 -2
- package/dist/{chunk-P27RV5WM.js → chunk-EKDWA7E4.js} +3 -1
- package/dist/{chunk-S5LR3XYJ.js → chunk-EMPFLFTG.js} +1 -1
- package/dist/{chunk-2C2VXEBB.js → chunk-FAHDKPEH.js} +18 -56
- package/dist/{chunk-W5OOPLNP.js → chunk-HDKY4TWU.js} +3 -3
- package/dist/{chunk-EFP3PE6C.js → chunk-HR5JKIDG.js} +2 -12
- package/dist/{chunk-JGFRDMR6.js → chunk-LX6T3GKQ.js} +1 -1
- package/dist/{chunk-2NDZC3S7.js → chunk-NOWVQ7AL.js} +447 -299
- package/dist/{chunk-ZWKTUQEL.js → chunk-NV3TYNWX.js} +1 -1
- package/dist/{chunk-NSBFETWP.js → chunk-PNQCXLSV.js} +7 -26
- package/dist/chunk-R5QJBZZG.js +175 -0
- package/dist/{chunk-MDPCSXZ4.js → chunk-S2TZLSDH.js} +4 -4
- package/dist/{chunk-FXHXHI2A.js → chunk-SNVPRRT7.js} +3 -6
- package/dist/{chunk-UPA6COHU.js → chunk-WRS3B556.js} +5 -5
- package/dist/{chunk-HHTXM4JT.js → chunk-X62AXPR7.js} +36 -4
- package/dist/cli.js +74 -23
- package/dist/{clock-G3ALCMLJ.js → clock-LJCG426D.js} +10 -8
- package/dist/{cloud-sync-JV4LJOK3.js → cloud-sync-O3LXIRN6.js} +13 -13
- package/dist/{conversations-7KVQV7EZ.js → conversations-RKKGP5IA.js} +7 -7
- package/dist/{create-VQSQHJQW.js → create-TL623TFC.js} +1 -1
- package/dist/{create-JTLS7GX3.js → create-WUTIIRI2.js} +4 -4
- package/dist/daemon-client-CVGM25DM.js +11 -0
- package/dist/{daemon-restart-4JGBHEJ4.js → daemon-restart-EZP7XH3V.js} +6 -7
- package/dist/daemon.js +1879 -1727
- package/dist/{db-HMFPIRO2.js → db-SW5PL6QA.js} +1 -1
- package/dist/{delete-JESHKE7F.js → delete-Z6HAG35F.js} +1 -1
- package/dist/down-TS4XQBA4.js +13 -0
- package/dist/{env-CLXXT7M2.js → env-NHESNNSP.js} +4 -4
- package/dist/{export-EGA5M5PB.js → export-EVMP7GWY.js} +3 -3
- package/dist/{extension-WZ4SUPJB.js → extension-LR7EW3JF.js} +5 -6
- package/dist/{extensions-ECO4RPFQ.js → extensions-NGEJI7JH.js} +7 -7
- package/dist/{files-4VEJDASH.js → files-3SM7V33S.js} +5 -5
- package/dist/{history-EJMMLXDO.js → history-PQD3LXEP.js} +4 -4
- package/dist/{import-YCGPMBSI.js → import-PR2OCGQJ.js} +3 -3
- package/dist/{join-2GBJKZEN.js → join-R4EN5CWQ.js} +1 -1
- package/dist/{list-Q6O7FGAN.js → list-B4XNUOFO.js} +4 -4
- package/dist/{login-RL6AU2SM.js → login-62JVY6A2.js} +4 -4
- package/dist/{login-RET5WESK.js → login-URWP6S2N.js} +2 -2
- package/dist/{logout-CGAGJN3L.js → logout-NXJQJDLI.js} +2 -2
- package/dist/{logout-JRPBEMMR.js → logout-ZK2N62T3.js} +2 -2
- package/dist/message-delivery-UJHCLVU4.js +30 -0
- package/dist/{mind-LUWRQUQ5.js → mind-E2ZV2WRX.js} +17 -17
- package/dist/{mind-activity-tracker-VYN2ZZ2M.js → mind-activity-tracker-ASNZBMLC.js} +3 -3
- package/dist/{mind-list-V5WW5DUA.js → mind-list-BEI7E5WY.js} +2 -2
- package/dist/mind-manager-IPA6DZXD.js +26 -0
- package/dist/{mind-sleep-R6PTNNW4.js → mind-sleep-CANABWJI.js} +4 -4
- package/dist/{mind-status-I4ISFJ6I.js → mind-status-6WKZVUOP.js} +2 -2
- package/dist/{mind-wake-67ZQEWAV.js → mind-wake-RZKLH2IN.js} +4 -4
- package/dist/{package-S2OAA5ZA.js → package-NU4CA7OU.js} +3 -3
- package/dist/{pages-watcher-Z3PKNROC.js → pages-watcher-72OVPRMH.js} +4 -3
- package/dist/read-THL362EI.js +74 -0
- package/dist/{register-NZDSTLP3.js → register-QAQELAS6.js} +4 -4
- package/dist/{registry-ODSALQQL.js → registry-ASXCQCNH.js} +1 -1
- package/dist/{reject-2HZOJEIJ.js → reject-AYPBNPNL.js} +4 -4
- package/dist/{restart-QHS3NT64.js → restart-6SKPV3T2.js} +4 -4
- package/dist/{sandbox-O5FUSF43.js → sandbox-6ZEWQDVU.js} +3 -3
- package/dist/{seed-WUQMPLDM.js → seed-OWX2AW75.js} +36 -12
- package/dist/{send-OAN3RYYY.js → send-ZO4BTWXK.js} +5 -5
- package/dist/{setup-QMDK5RZX.js → setup-7CFITEQN.js} +2 -4
- package/dist/{setup-XJH3E7YM.js → setup-ZXBXG7E4.js} +6 -8
- package/dist/{skill-FZIN4W4Q.js → skill-YFXP67A2.js} +4 -4
- package/dist/skills/dreaming/references/INSTALL.md +2 -3
- package/dist/skills/dreaming/scripts/dream.ts +3 -25
- package/dist/skills/volute-mind/SKILL.md +1 -1
- package/dist/sleep-manager-TPS6OGCA.js +30 -0
- package/dist/{split-EXYGGGQN.js → split-MI62KJUU.js} +1 -1
- package/dist/{sprout-AXQ6H5DB.js → sprout-FDVI2CGN.js} +5 -6
- package/dist/{start-MTOVL6SY.js → start-D64BRKPH.js} +4 -4
- package/dist/{status-ZRO37MWR.js → status-ZZWBYFGE.js} +4 -5
- package/dist/{stop-OK5WEPVC.js → stop-OP2CTXCO.js} +4 -4
- package/dist/system-chat-B43GIXQU.js +30 -0
- package/dist/{systems-W3BBMSOZ.js → systems-EQPPT4B7.js} +5 -5
- package/dist/{tailscale-BM72RXCJ.js → tailscale-6DJKUMNF.js} +1 -1
- package/dist/up-TDXEP3VA.js +16 -0
- package/dist/{update-PLPHMMZ2.js → update-KUJXATRS.js} +4 -5
- package/dist/{update-check-CVCN7MF6.js → update-check-5WVSU37T.js} +2 -2
- package/dist/{upgrade-I6NPCYUU.js → upgrade-KBHCWX6T.js} +1 -1
- package/dist/{version-notify-2NTWVEHL.js → version-notify-75ELVKPV.js} +17 -21
- package/dist/web-assets/assets/index-BM1cTzBg.js +72 -0
- package/dist/web-assets/assets/index-BfJkKTPF.css +1 -0
- package/dist/web-assets/ext-theme.css +1 -0
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0000_baseline.sql +152 -0
- package/drizzle/0001_add_conversation_private.sql +1 -0
- package/drizzle/0002_turns.sql +21 -0
- package/drizzle/0003_turn_feed_links.sql +11 -0
- package/drizzle/meta/0000_snapshot.json +3 -223
- package/drizzle/meta/0001_snapshot.json +3 -294
- package/drizzle/meta/0002_snapshot.json +3 -335
- package/drizzle/meta/0003_snapshot.json +3 -413
- package/drizzle/meta/_journal.json +8 -106
- package/package.json +3 -3
- package/packages/extensions/notes/dist/ui/assets/{index-DgawVO5g.css → index-B8GdTnXs.css} +1 -1
- package/packages/extensions/notes/dist/ui/assets/index-CDpGTCWb.js +2 -0
- package/packages/extensions/notes/dist/ui/index.html +2 -2
- package/packages/extensions/notes/skills/notes/SKILL.md +8 -8
- package/packages/extensions/pages/skills/pages/SKILL.md +7 -4
- package/packages/extensions/pages/skills/pages/scripts/pages.mjs +58 -0
- package/templates/_base/.init/.config/bin/volute +27 -0
- package/templates/_base/src/lib/auto-commit.ts +82 -43
- package/templates/_base/src/lib/daemon-client.ts +19 -23
- package/templates/_base/src/lib/router.ts +17 -1
- package/templates/_base/src/lib/startup.ts +6 -8
- package/templates/_base/src/lib/volute-server.ts +2 -5
- package/templates/claude/src/agent.ts +2 -1
- package/templates/claude/src/lib/hooks/auto-commit.ts +7 -3
- package/templates/claude/src/server.ts +0 -9
- package/templates/pi/package.json.tmpl +1 -1
- package/templates/pi/src/agent.ts +1 -1
- package/templates/pi/src/lib/event-handler.ts +5 -3
- package/dist/chunk-7D47T4RB.js +0 -84
- package/dist/chunk-CVH6Y2YG.js +0 -59
- package/dist/chunk-LIRWLNAK.js +0 -729
- package/dist/daemon-client-BCTFGVCZ.js +0 -9
- package/dist/down-NGBMGORS.js +0 -14
- package/dist/message-delivery-6YMVNOEC.js +0 -28
- package/dist/migrate-registry-to-db-FK35IPEH.js +0 -110
- package/dist/mind-manager-YFCOIAAX.js +0 -18
- package/dist/read-WQMPTSN2.js +0 -46
- package/dist/sleep-manager-O7YQFCV5.js +0 -30
- package/dist/up-BXUAIDXB.js +0 -17
- package/dist/web-assets/assets/index--kREqKl9.js +0 -72
- package/dist/web-assets/assets/index-BXYTG0nJ.css +0 -1
- package/drizzle/0000_flaky_mariko_yashida.sql +0 -34
- package/drizzle/0001_careless_warpath.sql +0 -12
- package/drizzle/0002_wealthy_the_call.sql +0 -6
- package/drizzle/0003_clean_ego.sql +0 -12
- package/drizzle/0004_magical_silverclaw.sql +0 -1
- package/drizzle/0005_rename_agents_to_minds.sql +0 -11
- package/drizzle/0006_mind_history.sql +0 -20
- package/drizzle/0007_system_prompts.sql +0 -5
- package/drizzle/0008_volute_channels.sql +0 -24
- package/drizzle/0009_shared_skills.sql +0 -9
- package/drizzle/0010_delivery_queue.sql +0 -12
- package/drizzle/0011_rename_human_to_brain.sql +0 -1
- package/drizzle/0012_activity.sql +0 -11
- package/drizzle/0013_user_profiles.sql +0 -3
- package/drizzle/0014_conversation_reads.sql +0 -7
- package/drizzle/0015_notes.sql +0 -23
- package/drizzle/0016_note_reactions_and_replies.sql +0 -15
- package/drizzle/0017_minds.sql +0 -16
- package/drizzle/meta/0004_snapshot.json +0 -410
- package/drizzle/meta/0005_snapshot.json +0 -410
- package/drizzle/meta/0006_snapshot.json +0 -7
- package/drizzle/meta/0007_snapshot.json +0 -7
- package/drizzle/meta/0008_snapshot.json +0 -7
- package/drizzle/meta/0009_snapshot.json +0 -7
- package/drizzle/meta/0010_snapshot.json +0 -7
- package/drizzle/meta/0011_snapshot.json +0 -7
- package/drizzle/meta/0012_snapshot.json +0 -7
- package/drizzle/meta/0013_snapshot.json +0 -7
- package/packages/extensions/notes/dist/ui/assets/index-qUWoeC4c.js +0 -2
- package/packages/extensions/notes/skills/notes/scripts/notes.mjs +0 -185
- package/templates/_base/home/public/.gitkeep +0 -0
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-YUIHSKR6.js";
|
|
5
5
|
import {
|
|
6
6
|
readGlobalConfig
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6QIUN46C.js";
|
|
8
8
|
import {
|
|
9
9
|
getBaseName,
|
|
10
10
|
readRegistry,
|
|
11
11
|
voluteHome,
|
|
12
12
|
voluteSystemDir,
|
|
13
13
|
voluteUserHome
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-X62AXPR7.js";
|
|
15
15
|
|
|
16
16
|
// src/lib/sandbox.ts
|
|
17
17
|
import { resolve } from "path";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
activity,
|
|
7
7
|
getDb
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-X62AXPR7.js";
|
|
9
9
|
|
|
10
10
|
// src/lib/events/activity-events.ts
|
|
11
11
|
var subscribers = /* @__PURE__ */ new Set();
|
|
@@ -25,6 +25,8 @@ async function publish(event) {
|
|
|
25
25
|
mind: event.mind,
|
|
26
26
|
summary: event.summary,
|
|
27
27
|
metadata: event.metadata ? JSON.stringify(event.metadata) : null,
|
|
28
|
+
turn_id: event.turn_id ?? null,
|
|
29
|
+
source_event_id: event.source_event_id ?? null,
|
|
28
30
|
created_at
|
|
29
31
|
});
|
|
30
32
|
id = Number(result.lastInsertRowid);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
subscribe
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EKDWA7E4.js";
|
|
5
5
|
import {
|
|
6
6
|
logger_default
|
|
7
7
|
} from "./chunk-YUIHSKR6.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
getDb,
|
|
13
13
|
messages,
|
|
14
14
|
users
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-X62AXPR7.js";
|
|
16
16
|
|
|
17
17
|
// src/lib/events/conversations.ts
|
|
18
18
|
import { randomUUID } from "crypto";
|
|
@@ -109,53 +109,6 @@ function publish(conversationId, event) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
// src/lib/events/conversations.ts
|
|
112
|
-
async function migrateGroupDMsToChannels() {
|
|
113
|
-
const db = await getDb();
|
|
114
|
-
await db.transaction(async (tx) => {
|
|
115
|
-
const overloadedDMs = await tx.select({
|
|
116
|
-
conversationId: conversationParticipants.conversation_id,
|
|
117
|
-
count: sql`COUNT(*)`
|
|
118
|
-
}).from(conversationParticipants).innerJoin(conversations, eq(conversationParticipants.conversation_id, conversations.id)).where(eq(conversations.type, "dm")).groupBy(conversationParticipants.conversation_id).having(sql`COUNT(*) > 2`);
|
|
119
|
-
const dmIds = overloadedDMs.map((r) => r.conversationId);
|
|
120
|
-
await tx.update(conversations).set({
|
|
121
|
-
type: "channel",
|
|
122
|
-
name: sql`COALESCE(${conversations.name}, ${conversations.title})`
|
|
123
|
-
}).where(eq(conversations.type, "group"));
|
|
124
|
-
if (dmIds.length > 0) {
|
|
125
|
-
await tx.update(conversations).set({
|
|
126
|
-
type: "channel",
|
|
127
|
-
name: sql`COALESCE(${conversations.name}, ${conversations.title})`
|
|
128
|
-
}).where(inArray(conversations.id, dmIds));
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
await migrateChannelEntryTypes();
|
|
132
|
-
}
|
|
133
|
-
async function migrateChannelEntryTypes() {
|
|
134
|
-
const { existsSync, readdirSync, readFileSync, writeFileSync } = await import("fs");
|
|
135
|
-
const { join } = await import("path");
|
|
136
|
-
const home = join((await import("os")).homedir(), ".volute", "state");
|
|
137
|
-
if (!existsSync(home)) return;
|
|
138
|
-
for (const name of readdirSync(home)) {
|
|
139
|
-
const filePath = join(home, name, "channels.json");
|
|
140
|
-
if (!existsSync(filePath)) continue;
|
|
141
|
-
try {
|
|
142
|
-
const raw = readFileSync(filePath, "utf-8");
|
|
143
|
-
const map = JSON.parse(raw);
|
|
144
|
-
let changed = false;
|
|
145
|
-
for (const entry of Object.values(map)) {
|
|
146
|
-
if (entry.type === "group") {
|
|
147
|
-
entry.type = "channel";
|
|
148
|
-
changed = true;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (changed) {
|
|
152
|
-
writeFileSync(filePath, `${JSON.stringify(map, null, 2)}
|
|
153
|
-
`);
|
|
154
|
-
}
|
|
155
|
-
} catch {
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
112
|
async function createConversation(mindName, channel, opts) {
|
|
160
113
|
const db = await getDb();
|
|
161
114
|
const id = randomUUID();
|
|
@@ -194,6 +147,7 @@ async function createConversation(mindName, channel, opts) {
|
|
|
194
147
|
name,
|
|
195
148
|
user_id: opts?.userId ?? null,
|
|
196
149
|
title: opts?.title ?? null,
|
|
150
|
+
private: 0,
|
|
197
151
|
created_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
198
152
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
199
153
|
};
|
|
@@ -263,20 +217,24 @@ async function listConversationsForUser(userId) {
|
|
|
263
217
|
return await db.select().from(conversations).where(inArray(conversations.id, convIds)).orderBy(desc(conversations.updated_at)).all();
|
|
264
218
|
}
|
|
265
219
|
async function isParticipantOrOwner(conversationId, userId) {
|
|
266
|
-
|
|
267
|
-
const db = await getDb();
|
|
268
|
-
const row = await db.select().from(conversations).where(and(eq(conversations.id, conversationId), eq(conversations.user_id, userId))).get();
|
|
269
|
-
return row != null;
|
|
220
|
+
return isParticipant(conversationId, userId);
|
|
270
221
|
}
|
|
271
222
|
async function deleteConversationForUser(id, userId) {
|
|
272
223
|
if (!await isParticipantOrOwner(id, userId)) return false;
|
|
273
224
|
await deleteConversation(id);
|
|
274
225
|
return true;
|
|
275
226
|
}
|
|
276
|
-
async function addMessage(conversationId, role, senderName, content) {
|
|
227
|
+
async function addMessage(conversationId, role, senderName, content, opts) {
|
|
277
228
|
const db = await getDb();
|
|
278
229
|
const serialized = JSON.stringify(content);
|
|
279
|
-
const [result] = await db.insert(messages).values({
|
|
230
|
+
const [result] = await db.insert(messages).values({
|
|
231
|
+
conversation_id: conversationId,
|
|
232
|
+
role,
|
|
233
|
+
sender_name: senderName,
|
|
234
|
+
content: serialized,
|
|
235
|
+
source_event_id: opts?.sourceEventId ?? null,
|
|
236
|
+
turn_id: opts?.turnId ?? null
|
|
237
|
+
}).returning({ id: messages.id, created_at: messages.created_at });
|
|
280
238
|
await db.update(conversations).set({ updated_at: sql`datetime('now')` }).where(eq(conversations.id, conversationId));
|
|
281
239
|
if (role === "user") {
|
|
282
240
|
const firstText = content.find((b) => b.type === "text");
|
|
@@ -522,6 +480,10 @@ async function isConversationForMind(mindName, conversationId) {
|
|
|
522
480
|
).get();
|
|
523
481
|
return !!participant;
|
|
524
482
|
}
|
|
483
|
+
async function setConversationPrivate(id, isPrivate) {
|
|
484
|
+
const db = await getDb();
|
|
485
|
+
await db.update(conversations).set({ private: isPrivate ? 1 : 0 }).where(eq(conversations.id, id));
|
|
486
|
+
}
|
|
525
487
|
async function deleteConversation(id) {
|
|
526
488
|
const db = await getDb();
|
|
527
489
|
await db.delete(conversations).where(eq(conversations.id, id));
|
|
@@ -593,7 +555,6 @@ export {
|
|
|
593
555
|
initWebhook,
|
|
594
556
|
subscribe2 as subscribe,
|
|
595
557
|
publish,
|
|
596
|
-
migrateGroupDMsToChannels,
|
|
597
558
|
createConversation,
|
|
598
559
|
getOrCreateConversation,
|
|
599
560
|
getConversation,
|
|
@@ -611,6 +572,7 @@ export {
|
|
|
611
572
|
findDMConversation,
|
|
612
573
|
listConversationsForMind,
|
|
613
574
|
isConversationForMind,
|
|
575
|
+
setConversationPrivate,
|
|
614
576
|
deleteConversation,
|
|
615
577
|
createChannel,
|
|
616
578
|
getChannelByName,
|
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
modeLabel,
|
|
5
5
|
pollHealth,
|
|
6
6
|
startService
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SNVPRRT7.js";
|
|
8
8
|
import {
|
|
9
9
|
readGlobalConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6QIUN46C.js";
|
|
11
11
|
import {
|
|
12
12
|
parseArgs
|
|
13
13
|
} from "./chunk-D424ZQGI.js";
|
|
14
14
|
import {
|
|
15
15
|
voluteHome,
|
|
16
16
|
voluteSystemDir
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-X62AXPR7.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/up.ts
|
|
20
20
|
import { spawn } from "child_process";
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
publish
|
|
4
|
-
} from "./chunk-P27RV5WM.js";
|
|
5
2
|
import {
|
|
6
3
|
logger_default
|
|
7
4
|
} from "./chunk-YUIHSKR6.js";
|
|
@@ -9,7 +6,7 @@ import {
|
|
|
9
6
|
mindDir,
|
|
10
7
|
readRegistry,
|
|
11
8
|
voluteHome
|
|
12
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-X62AXPR7.js";
|
|
13
10
|
|
|
14
11
|
// src/lib/pages-watcher.ts
|
|
15
12
|
import { existsSync, readdirSync, statSync, watch } from "fs";
|
|
@@ -31,14 +28,6 @@ function startPagesWatcher(mindName, pagesDir) {
|
|
|
31
28
|
setTimeout(() => {
|
|
32
29
|
debounceTimers.delete(key);
|
|
33
30
|
invalidateCache();
|
|
34
|
-
publish({
|
|
35
|
-
type: "page_updated",
|
|
36
|
-
mind: mindName,
|
|
37
|
-
summary: `${mindName} updated ${filename}`,
|
|
38
|
-
metadata: { file: filename }
|
|
39
|
-
}).catch(
|
|
40
|
-
(err) => logger_default.error("failed to publish page_updated activity", logger_default.errorData(err))
|
|
41
|
-
);
|
|
42
31
|
}, 100)
|
|
43
32
|
);
|
|
44
33
|
});
|
|
@@ -227,6 +216,7 @@ export {
|
|
|
227
216
|
startWatcher,
|
|
228
217
|
stopWatcher,
|
|
229
218
|
stopAllWatchers,
|
|
219
|
+
invalidateCache,
|
|
230
220
|
getCachedSites,
|
|
231
221
|
getCachedRecentPages
|
|
232
222
|
};
|