volute 0.54.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/{activity-events-LQII6PZS.js → activity-events-YASF46HS.js} +3 -3
  2. package/dist/{ai-service-YW5SWCSB.js → ai-service-3UFNG6GI.js} +3 -5
  3. package/dist/{archive-FOHGXHPT.js → archive-L2OFBGDQ.js} +2 -2
  4. package/dist/{auth-KRDSM55Q.js → auth-N2F5ASAB.js} +4 -4
  5. package/dist/auto-upgrade-O4MQPYQF.js +46 -0
  6. package/dist/{avatar-image-52WGXLHV.js → avatar-image-QEKKUFDF.js} +3 -3
  7. package/dist/{backup-QRNX6RK7.js → backup-TPM7QQBQ.js} +13 -13
  8. package/dist/{channels-CKCY64TD.js → channels-JP3GYTPX.js} +18 -18
  9. package/dist/{chat-ZUGNL5GS.js → chat-7YCF4ZU5.js} +3 -3
  10. package/dist/{chunk-QUSMYGNQ.js → chunk-2674KIGI.js} +1 -0
  11. package/dist/{chunk-444RR3YF.js → chunk-2B4E6SL7.js} +14 -14
  12. package/dist/chunk-2GATCSZK.js +520 -0
  13. package/dist/{chunk-I7U5EEZC.js → chunk-2LFTJNVH.js} +2 -2
  14. package/dist/{chunk-L7BKTZ5U.js → chunk-2QLWAYIU.js} +2 -2
  15. package/dist/{chunk-F6D766VQ.js → chunk-45MCH4G4.js} +2 -2
  16. package/dist/{chunk-OGPVJ53N.js → chunk-4RZS7XCV.js} +5 -5
  17. package/dist/{chunk-HKGYZVWN.js → chunk-6LICEQGP.js} +38 -4
  18. package/dist/{chunk-LAUCO2HC.js → chunk-APDEUAIE.js} +1 -1
  19. package/dist/{chunk-5Y54AE3L.js → chunk-CLH357FI.js} +2 -2
  20. package/dist/{chunk-OAYY3WF3.js → chunk-CVPCRWWC.js} +1 -12
  21. package/dist/{chunk-EGV6R6UF.js → chunk-E2SN3ZOJ.js} +5 -40
  22. package/dist/{chunk-LGXVGIWN.js → chunk-ELQU2GBT.js} +193 -69
  23. package/dist/{chunk-OT5SXF7L.js → chunk-EPRLTYJR.js} +28 -14
  24. package/dist/{chunk-ATZF2RNJ.js → chunk-EYFBT2KP.js} +15 -15
  25. package/dist/{chunk-U54PJPTB.js → chunk-FYMIGUJ5.js} +2 -2
  26. package/dist/{chunk-7XKPG66D.js → chunk-G7A5LEVI.js} +5 -5
  27. package/dist/{chunk-RGHF3OK5.js → chunk-GAAATVTM.js} +17 -17
  28. package/dist/{chunk-7LT3YZUR.js → chunk-I3OJ342S.js} +2 -2
  29. package/dist/{chunk-3LHUXY3E.js → chunk-IABDYN4N.js} +4 -4
  30. package/dist/{chunk-VDUCLVZI.js → chunk-IOMBP2T5.js} +28 -26
  31. package/dist/{chunk-YSRYCS3N.js → chunk-IQROTVBG.js} +2 -2
  32. package/dist/{chunk-PPSN2MLC.js → chunk-IRNM4LSF.js} +9 -6
  33. package/dist/{chunk-ZNHL5KQJ.js → chunk-KN3UHV7O.js} +8 -3
  34. package/dist/{chunk-CV6BNGFK.js → chunk-KXM4K46T.js} +4 -4
  35. package/dist/{chunk-Z4Q6TQWL.js → chunk-LRRPKZBD.js} +2 -2
  36. package/dist/{chunk-LNNI3MS4.js → chunk-MNKPAAQF.js} +9 -2
  37. package/dist/{chunk-OIOW3FPT.js → chunk-NA2NJXY4.js} +1 -1
  38. package/dist/{chunk-GLM7TVWP.js → chunk-OHHS5PSI.js} +1 -1
  39. package/dist/{chunk-CKPAVQNK.js → chunk-OPTA3BJ4.js} +36 -24
  40. package/dist/{chunk-X67BDDZR.js → chunk-P3GXOT2X.js} +48 -2
  41. package/dist/{chunk-WHL6PKYP.js → chunk-PAO7JZNW.js} +52 -48
  42. package/dist/{chunk-TPX6E6PL.js → chunk-Q5M5QFKY.js} +3 -3
  43. package/dist/{chunk-OYF25B62.js → chunk-T7UMSTH2.js} +3 -3
  44. package/dist/{chunk-H6X6CKDN.js → chunk-TAVIVN2I.js} +2 -32
  45. package/dist/{chunk-56IT2ZXF.js → chunk-TGYKFUCF.js} +9 -15
  46. package/dist/{chunk-5U5GLZSD.js → chunk-TZ7OHGNL.js} +2 -2
  47. package/dist/{chunk-UFTDRTCP.js → chunk-UMQP5TC5.js} +2 -2
  48. package/dist/{chunk-LKUGUQUW.js → chunk-UNTDRIV2.js} +5 -5
  49. package/dist/{chunk-CLCHOXLR.js → chunk-V2M6PNLE.js} +5 -5
  50. package/dist/{chunk-ICXY54ZC.js → chunk-WTZD6LFW.js} +2 -2
  51. package/dist/{chunk-FLIEXG2T.js → chunk-XZP3FJ7Q.js} +1 -1
  52. package/dist/{chunk-HTRSSOHY.js → chunk-YU5EYQAE.js} +1 -1
  53. package/dist/cli.js +26 -23
  54. package/dist/{clock-X7V3C7NL.js → clock-ZT5YT6HA.js} +2 -2
  55. package/dist/{cloud-sync-52YNJRMR.js → cloud-sync-RTUXMYU2.js} +23 -23
  56. package/dist/{conversations-ZL6PHROD.js → conversations-ERMMPMOS.js} +4 -4
  57. package/dist/{create-G2RIKQYK.js → create-IUCFJXCE.js} +1 -1
  58. package/dist/{daemon-restart-QWHN5VMU.js → daemon-restart-N2YOISNJ.js} +11 -6
  59. package/dist/daemon.js +230 -279
  60. package/dist/{db-BONH4SUG.js → db-BQFYIONA.js} +1 -1
  61. package/dist/{db-I4EH5SLF.js → db-JH3NTERX.js} +17 -3
  62. package/dist/delivery-manager-5EGCFN4K.js +41 -0
  63. package/dist/{delivery-notices-RZQ6GONP.js → delivery-notices-LZKZXWTX.js} +6 -6
  64. package/dist/{delivery-router-QS4NLJR6.js → delivery-router-U6Q22ZYU.js} +3 -3
  65. package/dist/doctor-225FYBAQ.js +454 -0
  66. package/dist/{down-UN2EDX2Y.js → down-3BQSPUAZ.js} +4 -4
  67. package/dist/echo-text-Y2DFTD7L.js +40 -0
  68. package/dist/{env-SQFCWW52.js → env-4YX5YNWZ.js} +2 -2
  69. package/dist/{exec-Z34TTUO3.js → exec-Y5VMDAVA.js} +2 -2
  70. package/dist/{export-VBNWM7I4.js → export-ASRHBMRG.js} +2 -2
  71. package/dist/{extensions-QT65JGV6.js → extensions-YEPEWURN.js} +27 -23
  72. package/dist/{files-PCKBQHAY.js → files-FASUDSZQ.js} +3 -3
  73. package/dist/{import-DB2KULRO.js → import-O35Y7DSF.js} +6 -6
  74. package/dist/{isolation-UQPDO34R.js → isolation-ZOAUXYXA.js} +2 -2
  75. package/dist/{login-57MMYILL.js → login-54TZQQP4.js} +5 -5
  76. package/dist/{logout-YFZAJRPY.js → logout-4G46Z4RU.js} +1 -1
  77. package/dist/message-delivery-HBTMGWFU.js +46 -0
  78. package/dist/{mind-CT6ANXK4.js → mind-IKMX7K7G.js} +8 -24
  79. package/dist/{mind-activity-tracker-QF6DCX2X.js → mind-activity-tracker-ABAEIMA3.js} +4 -4
  80. package/dist/mind-service-LRVOQG2T.js +48 -0
  81. package/dist/{mind-sleep-24HV4RCA.js → mind-sleep-LZAFBDZD.js} +2 -2
  82. package/dist/{package-F6S5NHY2.js → package-X5O7OD2E.js} +12 -13
  83. package/dist/{prompts-JECJIFPQ.js → prompts-ZNOE3KN3.js} +2 -2
  84. package/dist/{registry-TRC2HJXR.js → registry-BTQXLDW6.js} +1 -1
  85. package/dist/{sandbox-NNWCTHRI.js → sandbox-OUFAGN45.js} +3 -3
  86. package/dist/scheduler-G6BCIVGP.js +27 -0
  87. package/dist/{seed-cmd-6IMTO3LG.js → seed-cmd-BGAW3WDY.js} +2 -2
  88. package/dist/{seed-create-VNLDYRFK.js → seed-create-SMCPEUFQ.js} +3 -3
  89. package/dist/{seed-readiness-H5TTPAQH.js → seed-readiness-RBANMSWW.js} +3 -3
  90. package/dist/{seed-sprout-PPGYGK4G.js → seed-sprout-CSHV36N3.js} +9 -9
  91. package/dist/{send-UXUQKO4N.js → send-D3ADUBR5.js} +6 -6
  92. package/dist/{service-T4P5W6RS.js → service-SWEEBOOY.js} +3 -24
  93. package/dist/{service-install-R4SNYUVO.js → service-install-RCC26KDV.js} +4 -4
  94. package/dist/{setup-YUAQMDVZ.js → setup-L5NZG2U3.js} +5 -5
  95. package/dist/{setup-WZSXHHRJ.js → setup-R7Q4HFJP.js} +1 -5
  96. package/dist/skills/volute-mind/SKILL.md +8 -0
  97. package/dist/{skills-GMQ5UIIW.js → skills-BCCU4OJW.js} +4 -4
  98. package/dist/sleep-manager-25P44HAO.js +42 -0
  99. package/dist/{spirit-Q5VGFWUI.js → spirit-YPG2MU6W.js} +7 -7
  100. package/dist/spirit-availability-ZQM5IH4C.js +43 -0
  101. package/dist/{src-H3UCOP6B.js → src-246GSX7A.js} +5 -2
  102. package/dist/src-LOUB3WPR.js +4189 -0
  103. package/dist/{status-LCKTTIWS.js → status-BYPCJU6H.js} +4 -4
  104. package/dist/{system-events-Q7IVZ5T4.js → system-events-CWC7CBKP.js} +6 -4
  105. package/dist/{systems-HL7SGSW7.js → systems-VDRUZXNF.js} +2 -2
  106. package/dist/{tailscale-KHNZFC7L.js → tailscale-4XY7B5A2.js} +2 -2
  107. package/dist/{template-hash-YKWMVYMM.js → template-hash-RJRMF6DT.js} +2 -2
  108. package/dist/{template-staleness-PY2CULH6.js → template-staleness-CL4V7BT7.js} +5 -5
  109. package/dist/{turn-tracker-HZDPMSCC.js → turn-tracker-LZP5X6GZ.js} +8 -8
  110. package/dist/{up-XZDSJVMU.js → up-3AAN4GYY.js} +4 -4
  111. package/dist/{update-ILCPVNDD.js → update-2MWXRE2S.js} +4 -4
  112. package/dist/{update-check-SZ7B5IFI.js → update-check-PJOZXZYJ.js} +2 -2
  113. package/dist/variant-cleanup-K7RFMSH7.js +24 -0
  114. package/dist/{version-notify-VNVFX6UP.js → version-notify-QIDHR6WO.js} +12 -12
  115. package/dist/web-assets/assets/{index-CwtxGwe_.js → index-Bfvls20e.js} +17 -17
  116. package/dist/web-assets/assets/index-hPn_fkz3.css +1 -0
  117. package/dist/web-assets/index.html +2 -2
  118. package/drizzle/0000_crazy_epoch.sql +232 -0
  119. package/drizzle/README.md +42 -0
  120. package/drizzle/meta/0000_snapshot.json +1420 -3
  121. package/drizzle/meta/_journal.json +2 -128
  122. package/package.json +12 -13
  123. package/packages/extensions/intentions/dist/ui/assets/index-Bl5KEcli.js +67 -0
  124. package/packages/extensions/intentions/dist/ui/index.html +1 -1
  125. package/packages/extensions/pages/dist/ui/assets/index-BKxVQkA9.css +1 -0
  126. package/packages/extensions/pages/dist/ui/assets/index-BMt6sStP.js +68 -0
  127. package/packages/extensions/pages/dist/ui/index.html +2 -2
  128. package/packages/extensions/pages/skills/pages/SKILL.md +123 -4
  129. package/templates/_base/.init/.config/prompts.json +0 -1
  130. package/templates/_base/.init/.local/hooks/pre-prompt/turn-context.ts +30 -0
  131. package/templates/_base/src/lib/codex-session-seed.ts +6 -55
  132. package/templates/_base/src/lib/pi-session-seed.ts +8 -57
  133. package/templates/_base/src/lib/seed-note.ts +4 -4
  134. package/templates/_base/src/lib/session-seed.ts +8 -53
  135. package/templates/_base/src/lib/startup.ts +0 -20
  136. package/templates/claude/package.json +2 -2
  137. package/templates/claude/src/agent.ts +34 -102
  138. package/templates/claude/src/lib/hooks/pre-compact.ts +6 -6
  139. package/templates/claude/src/server.ts +0 -1
  140. package/templates/codex/package.json +2 -2
  141. package/templates/codex/src/agent.ts +23 -89
  142. package/templates/pi/package.json +1 -1
  143. package/templates/pi/src/agent.ts +26 -93
  144. package/templates/pi/src/server.ts +0 -1
  145. package/dist/auto-upgrade-HEVZKPTF.js +0 -46
  146. package/dist/chunk-AAPNU7GA.js +0 -168
  147. package/dist/delivery-manager-7R2YIQ2W.js +0 -41
  148. package/dist/echo-text-73CYQRL7.js +0 -40
  149. package/dist/message-delivery-TRKT4T2P.js +0 -46
  150. package/dist/migrate-name-placeholder-C7NCNLWF.js +0 -37
  151. package/dist/migrate-thread-config-EQSEP2XG.js +0 -90
  152. package/dist/mind-service-7EFIJ3ZA.js +0 -48
  153. package/dist/scheduler-73Q4MQ7Y.js +0 -27
  154. package/dist/seed-DRKAP3XV.js +0 -11
  155. package/dist/sleep-manager-KHI65FEX.js +0 -42
  156. package/dist/spirit-availability-G5FMWKRH.js +0 -43
  157. package/dist/sprout-PMTRL7QN.js +0 -11
  158. package/dist/src-3FIW7DLH.js +0 -2376
  159. package/dist/src-LTTQVN2Z.js +0 -832
  160. package/dist/variant-HHDTW74J.js +0 -62
  161. package/dist/variant-cleanup-QHGGY7ND.js +0 -24
  162. package/dist/web-assets/assets/index-DhM1yYRN.css +0 -1
  163. package/drizzle/0000_baseline.sql +0 -152
  164. package/drizzle/0001_add_conversation_private.sql +0 -1
  165. package/drizzle/0002_turns.sql +0 -21
  166. package/drizzle/0003_turn_feed_links.sql +0 -11
  167. package/drizzle/0004_spirits.sql +0 -5
  168. package/drizzle/0005_meta_summaries.sql +0 -15
  169. package/drizzle/0006_channels.sql +0 -17
  170. package/drizzle/0007_drop_conversation_name_title.sql +0 -11
  171. package/drizzle/0008_performance_indexes.sql +0 -6
  172. package/drizzle/0009_mind_notices.sql +0 -14
  173. package/drizzle/0010_delivery_queue_redrive.sql +0 -10
  174. package/drizzle/0011_drop_turn_summary_event_id.sql +0 -3
  175. package/drizzle/0012_channel_gates.sql +0 -17
  176. package/drizzle/0013_variant_purpose.sql +0 -3
  177. package/drizzle/0014_system_events.sql +0 -26
  178. package/drizzle/0015_rename_session_to_thread.sql +0 -12
  179. package/drizzle/0016_brain_to_human.sql +0 -4
  180. package/drizzle/0017_event_history_rows.sql +0 -9
  181. package/drizzle/0018_api_tokens.sql +0 -20
  182. package/drizzle/meta/0001_snapshot.json +0 -7
  183. package/drizzle/meta/0002_snapshot.json +0 -7
  184. package/drizzle/meta/0003_snapshot.json +0 -7
  185. package/drizzle/meta/0004_snapshot.json +0 -7
  186. package/drizzle/meta/0005_snapshot.json +0 -7
  187. package/drizzle/meta/0006_snapshot.json +0 -7
  188. package/drizzle/meta/0007_snapshot.json +0 -7
  189. package/packages/extensions/intentions/dist/ui/assets/index-CQz4aceM.js +0 -67
  190. package/packages/extensions/notes/dist/ui/assets/index-BBs8pyel.js +0 -67
  191. package/packages/extensions/notes/dist/ui/assets/index-D3cdui42.css +0 -1
  192. package/packages/extensions/notes/dist/ui/index.html +0 -14
  193. package/packages/extensions/notes/skills/notes/SKILL.md +0 -90
  194. package/packages/extensions/pages/dist/ui/assets/index-B589e8Xe.js +0 -2
  195. package/packages/extensions/pages/dist/ui/assets/index-BuXnE-rb.css +0 -1
  196. package/dist/{env-7AZFBPWX.js → env-IBW2QI6K.js} +5 -5
  197. package/dist/{login-4NUS72Z5.js → login-RJJTCVR3.js} +3 -3
  198. package/dist/{mind-contacts-PEXCDRXA.js → mind-contacts-KV64UDJS.js} +6 -6
  199. package/dist/{mind-history-RZMMCHMX.js → mind-history-H45GM2M2.js} +6 -6
  200. package/dist/{register-WNCSOTAU.js → register-OX4HRSGC.js} +3 -3
  201. package/dist/{restart-B4GNMVF2.js → restart-AGEGNSYQ.js} +4 -4
  202. package/dist/{skill-QYTBUDNQ.js → skill-B5OJEQUA.js} +4 -4
  203. package/dist/{start-BDHJVOVX.js → start-MUMNFR52.js} +3 -3
  204. package/dist/{stop-45QYSGYS.js → stop-EKERNYTX.js} +4 -4
@@ -1,168 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- // packages/extensions/pages/src/db.ts
4
- function initDb(db) {
5
- db.exec(`
6
- CREATE TABLE IF NOT EXISTS published_pages (
7
- id INTEGER PRIMARY KEY AUTOINCREMENT,
8
- mind TEXT NOT NULL,
9
- file TEXT NOT NULL,
10
- published_at TEXT NOT NULL DEFAULT (datetime('now')),
11
- updated_at TEXT NOT NULL DEFAULT (datetime('now')),
12
- author TEXT
13
- );
14
- CREATE UNIQUE INDEX IF NOT EXISTS idx_pp_mind_file ON published_pages(mind, file);
15
- CREATE INDEX IF NOT EXISTS idx_pp_updated_at ON published_pages(updated_at);
16
- `);
17
- for (const column of ["author TEXT", "hash TEXT"]) {
18
- try {
19
- db.exec(`ALTER TABLE published_pages ADD COLUMN ${column}`);
20
- } catch (err) {
21
- if (!(err instanceof Error) || !err.message.includes("duplicate column")) {
22
- throw err;
23
- }
24
- }
25
- }
26
- }
27
- function isIndex(file) {
28
- return file === "index.html" || file === "index.md";
29
- }
30
- function sortSiteFiles(files) {
31
- return [...files].sort((a, b) => {
32
- if (isIndex(a.file) !== isIndex(b.file)) return isIndex(a.file) ? -1 : 1;
33
- return b.updated_at.localeCompare(a.updated_at);
34
- });
35
- }
36
- function getPublishedPages(db, mind) {
37
- return db.prepare(
38
- "SELECT file, published_at, updated_at, author FROM published_pages WHERE mind = ? ORDER BY file"
39
- ).all(mind);
40
- }
41
- function getRecentPages(db, opts) {
42
- const limit = opts?.limit ?? 10;
43
- if (opts?.mind) {
44
- return db.prepare(
45
- "SELECT mind, file, updated_at, author FROM published_pages WHERE mind = ? ORDER BY updated_at DESC LIMIT ?"
46
- ).all(opts.mind, limit);
47
- }
48
- return db.prepare(
49
- "SELECT mind, file, updated_at, author FROM published_pages ORDER BY updated_at DESC LIMIT ?"
50
- ).all(limit);
51
- }
52
- function getAllSites(db) {
53
- const rows = db.prepare(
54
- "SELECT mind, file, updated_at, author FROM published_pages WHERE mind != '_system' ORDER BY updated_at DESC, id DESC"
55
- ).all();
56
- const siteMap = /* @__PURE__ */ new Map();
57
- for (const row of rows) {
58
- let files = siteMap.get(row.mind);
59
- if (!files) {
60
- files = [];
61
- siteMap.set(row.mind, files);
62
- }
63
- files.push({ file: row.file, updated_at: row.updated_at, author: row.author });
64
- }
65
- return Array.from(siteMap.entries()).map(([mind, files]) => ({
66
- mind,
67
- files: sortSiteFiles(files)
68
- }));
69
- }
70
- function getSystemPages(db) {
71
- const rows = db.prepare(
72
- "SELECT mind, file, updated_at, author FROM published_pages WHERE mind = '_system' ORDER BY updated_at DESC, id DESC"
73
- ).all();
74
- if (rows.length === 0) return null;
75
- return {
76
- mind: "_system",
77
- files: sortSiteFiles(
78
- rows.map((r) => ({ file: r.file, updated_at: r.updated_at, author: r.author }))
79
- )
80
- };
81
- }
82
- function getMindsWithSites(db) {
83
- return db.prepare("SELECT DISTINCT mind FROM published_pages WHERE mind != '_system' ORDER BY mind").all().map((r) => r.mind);
84
- }
85
- function syncSystemPages(db, pages, author) {
86
- const existing = new Map(
87
- db.prepare("SELECT file, hash FROM published_pages WHERE mind = '_system'").all().map((r) => [r.file, r.hash])
88
- );
89
- const newSet = new Set(pages.map((p) => p.file));
90
- db.exec("BEGIN");
91
- try {
92
- for (const { file, hash } of pages) {
93
- if (!existing.has(file)) {
94
- db.prepare(
95
- "INSERT INTO published_pages (mind, file, hash, author) VALUES ('_system', ?, ?, ?)"
96
- ).run(file, hash, author ?? null);
97
- } else if (existing.get(file) !== hash) {
98
- if (author) {
99
- db.prepare(
100
- "UPDATE published_pages SET updated_at = datetime('now'), hash = ?, author = ? WHERE mind = '_system' AND file = ?"
101
- ).run(hash, author, file);
102
- } else {
103
- db.prepare(
104
- "UPDATE published_pages SET updated_at = datetime('now'), hash = ? WHERE mind = '_system' AND file = ?"
105
- ).run(hash, file);
106
- }
107
- }
108
- }
109
- for (const file of existing.keys()) {
110
- if (!newSet.has(file)) {
111
- db.prepare("DELETE FROM published_pages WHERE mind = '_system' AND file = ?").run(file);
112
- }
113
- }
114
- db.exec("COMMIT");
115
- } catch (err) {
116
- db.exec("ROLLBACK");
117
- throw err;
118
- }
119
- }
120
- function syncPublishedPages(db, mind, pages) {
121
- const existing = new Map(
122
- db.prepare("SELECT file, hash FROM published_pages WHERE mind = ?").all(mind).map((r) => [r.file, r.hash])
123
- );
124
- const newSet = new Set(pages.map((p) => p.file));
125
- const added = [];
126
- const updated = [];
127
- const removed = [];
128
- db.exec("BEGIN");
129
- try {
130
- for (const { file, hash } of pages) {
131
- if (!existing.has(file)) {
132
- db.prepare("INSERT INTO published_pages (mind, file, hash) VALUES (?, ?, ?)").run(
133
- mind,
134
- file,
135
- hash
136
- );
137
- added.push(file);
138
- } else if (existing.get(file) !== hash) {
139
- db.prepare(
140
- "UPDATE published_pages SET updated_at = datetime('now'), hash = ? WHERE mind = ? AND file = ?"
141
- ).run(hash, mind, file);
142
- updated.push(file);
143
- }
144
- }
145
- for (const file of existing.keys()) {
146
- if (!newSet.has(file)) {
147
- db.prepare("DELETE FROM published_pages WHERE mind = ? AND file = ?").run(mind, file);
148
- removed.push(file);
149
- }
150
- }
151
- db.exec("COMMIT");
152
- } catch (err) {
153
- db.exec("ROLLBACK");
154
- throw err;
155
- }
156
- return { added, removed, updated };
157
- }
158
-
159
- export {
160
- initDb,
161
- getPublishedPages,
162
- getRecentPages,
163
- getAllSites,
164
- getSystemPages,
165
- getMindsWithSites,
166
- syncSystemPages,
167
- syncPublishedPages
168
- };
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- DeliveryManager,
4
- MAX_DELIVERY_ATTEMPTS,
5
- UnknownChannelError,
6
- formatSuggestions,
7
- getDeliveryManager,
8
- initDeliveryManager,
9
- tryGetDeliveryManager
10
- } from "./chunk-VDUCLVZI.js";
11
- import "./chunk-WHL6PKYP.js";
12
- import "./chunk-YSRYCS3N.js";
13
- import "./chunk-56IT2ZXF.js";
14
- import "./chunk-7LT3YZUR.js";
15
- import "./chunk-HKGYZVWN.js";
16
- import "./chunk-LNNI3MS4.js";
17
- import "./chunk-OAYY3WF3.js";
18
- import "./chunk-5Y54AE3L.js";
19
- import "./chunk-TPX6E6PL.js";
20
- import "./chunk-UFTDRTCP.js";
21
- import "./chunk-U54PJPTB.js";
22
- import "./chunk-ICXY54ZC.js";
23
- import "./chunk-DW4TRDOZ.js";
24
- import "./chunk-WCFSBH33.js";
25
- import "./chunk-OIOW3FPT.js";
26
- import "./chunk-GLM7TVWP.js";
27
- import "./chunk-EGV6R6UF.js";
28
- import "./chunk-QUSMYGNQ.js";
29
- import "./chunk-LGNUFVMR.js";
30
- import "./chunk-H6X6CKDN.js";
31
- import "./chunk-2RNMBXD2.js";
32
- import "./chunk-K3NQKI34.js";
33
- export {
34
- DeliveryManager,
35
- MAX_DELIVERY_ATTEMPTS,
36
- UnknownChannelError,
37
- formatSuggestions,
38
- getDeliveryManager,
39
- initDeliveryManager,
40
- tryGetDeliveryManager
41
- };
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- clearEchoTextCache,
4
- echoTextToChannel
5
- } from "./chunk-ATZF2RNJ.js";
6
- import "./chunk-L7BKTZ5U.js";
7
- import "./chunk-LGXVGIWN.js";
8
- import "./chunk-RGHF3OK5.js";
9
- import "./chunk-X67BDDZR.js";
10
- import "./chunk-444RR3YF.js";
11
- import "./chunk-3LHUXY3E.js";
12
- import "./chunk-VDUCLVZI.js";
13
- import "./chunk-WHL6PKYP.js";
14
- import "./chunk-YSRYCS3N.js";
15
- import "./chunk-56IT2ZXF.js";
16
- import "./chunk-PPSN2MLC.js";
17
- import "./chunk-7LT3YZUR.js";
18
- import "./chunk-HKGYZVWN.js";
19
- import "./chunk-LNNI3MS4.js";
20
- import "./chunk-OAYY3WF3.js";
21
- import "./chunk-5Y54AE3L.js";
22
- import "./chunk-TPX6E6PL.js";
23
- import "./chunk-UFTDRTCP.js";
24
- import "./chunk-U54PJPTB.js";
25
- import "./chunk-ICXY54ZC.js";
26
- import "./chunk-DW4TRDOZ.js";
27
- import "./chunk-WCFSBH33.js";
28
- import "./chunk-CKPAVQNK.js";
29
- import "./chunk-OIOW3FPT.js";
30
- import "./chunk-GLM7TVWP.js";
31
- import "./chunk-EGV6R6UF.js";
32
- import "./chunk-QUSMYGNQ.js";
33
- import "./chunk-LGNUFVMR.js";
34
- import "./chunk-H6X6CKDN.js";
35
- import "./chunk-2RNMBXD2.js";
36
- import "./chunk-K3NQKI34.js";
37
- export {
38
- clearEchoTextCache,
39
- echoTextToChannel
40
- };
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- deliverBatch,
4
- deliverMessage,
5
- linkToolResultToTurn,
6
- recordInbound,
7
- recordOutbound,
8
- resolveSleepAction,
9
- willGateMessage
10
- } from "./chunk-LGXVGIWN.js";
11
- import "./chunk-RGHF3OK5.js";
12
- import "./chunk-X67BDDZR.js";
13
- import "./chunk-444RR3YF.js";
14
- import "./chunk-VDUCLVZI.js";
15
- import "./chunk-WHL6PKYP.js";
16
- import "./chunk-YSRYCS3N.js";
17
- import "./chunk-56IT2ZXF.js";
18
- import "./chunk-PPSN2MLC.js";
19
- import "./chunk-7LT3YZUR.js";
20
- import "./chunk-HKGYZVWN.js";
21
- import "./chunk-LNNI3MS4.js";
22
- import "./chunk-OAYY3WF3.js";
23
- import "./chunk-5Y54AE3L.js";
24
- import "./chunk-TPX6E6PL.js";
25
- import "./chunk-UFTDRTCP.js";
26
- import "./chunk-U54PJPTB.js";
27
- import "./chunk-ICXY54ZC.js";
28
- import "./chunk-DW4TRDOZ.js";
29
- import "./chunk-WCFSBH33.js";
30
- import "./chunk-OIOW3FPT.js";
31
- import "./chunk-GLM7TVWP.js";
32
- import "./chunk-EGV6R6UF.js";
33
- import "./chunk-QUSMYGNQ.js";
34
- import "./chunk-LGNUFVMR.js";
35
- import "./chunk-H6X6CKDN.js";
36
- import "./chunk-2RNMBXD2.js";
37
- import "./chunk-K3NQKI34.js";
38
- export {
39
- deliverBatch,
40
- deliverMessage,
41
- linkToolResultToTurn,
42
- recordInbound,
43
- recordOutbound,
44
- resolveSleepAction,
45
- willGateMessage
46
- };
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- logger_default
4
- } from "./chunk-QUSMYGNQ.js";
5
- import {
6
- mindDir,
7
- readAllMinds
8
- } from "./chunk-H6X6CKDN.js";
9
- import "./chunk-2RNMBXD2.js";
10
- import "./chunk-K3NQKI34.js";
11
-
12
- // packages/daemon/src/lib/mind/migrate-name-placeholder.ts
13
- import { readFileSync, writeFileSync } from "fs";
14
- import { resolve } from "path";
15
- var mlog = logger_default.child("migrate");
16
- async function migrateNamePlaceholders() {
17
- const entries = await readAllMinds();
18
- for (const entry of entries) {
19
- const dir = entry.dir ?? mindDir(entry.name);
20
- const path = resolve(dir, "home/.config/routes.json");
21
- try {
22
- const raw = readFileSync(path, "utf-8");
23
- if (!raw.includes("{{name}}")) continue;
24
- writeFileSync(path, raw.replaceAll("{{name}}", entry.name));
25
- mlog.info(`substituted leftover {{name}} placeholder in routes.json for ${entry.name}`);
26
- } catch (err) {
27
- if (err.code === "ENOENT") continue;
28
- mlog.warn(
29
- `failed to substitute {{name}} in routes.json for ${entry.name} \u2014 channel batch triggers will not match a mention of its name`,
30
- logger_default.errorData(err)
31
- );
32
- }
33
- }
34
- }
35
- export {
36
- migrateNamePlaceholders
37
- };
@@ -1,90 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- logger_default
4
- } from "./chunk-QUSMYGNQ.js";
5
- import {
6
- mindDir,
7
- readAllMinds
8
- } from "./chunk-H6X6CKDN.js";
9
- import "./chunk-2RNMBXD2.js";
10
- import "./chunk-K3NQKI34.js";
11
-
12
- // packages/daemon/src/lib/mind/migrate-thread-config.ts
13
- import { readFileSync, writeFileSync } from "fs";
14
- import { resolve } from "path";
15
- var mlog = logger_default.child("migrate");
16
- function renameSessionKey(obj) {
17
- if (obj == null || typeof obj !== "object" || !("session" in obj)) return false;
18
- if (!("thread" in obj)) obj.thread = obj.session;
19
- delete obj.session;
20
- return true;
21
- }
22
- function migrateRoutesConfig(config) {
23
- if (config == null || typeof config !== "object") return false;
24
- let changed = false;
25
- const rules = Array.isArray(config) ? config : config.rules;
26
- if (Array.isArray(rules)) {
27
- for (const rule of rules) {
28
- if (renameSessionKey(rule)) changed = true;
29
- }
30
- }
31
- if (!Array.isArray(config)) {
32
- const cfg = config;
33
- if ("sessions" in cfg) {
34
- if (!("threads" in cfg)) cfg.threads = cfg.sessions;
35
- delete cfg.sessions;
36
- changed = true;
37
- }
38
- }
39
- return changed;
40
- }
41
- function migrateVoluteConfig(config) {
42
- if (config == null || typeof config !== "object" || Array.isArray(config)) return false;
43
- const schedules = config.schedules;
44
- if (!Array.isArray(schedules)) return false;
45
- let changed = false;
46
- for (const schedule of schedules) {
47
- if (renameSessionKey(schedule)) changed = true;
48
- }
49
- return changed;
50
- }
51
- function migrateJsonFile(path, migrate) {
52
- let raw;
53
- try {
54
- raw = readFileSync(path, "utf-8");
55
- } catch {
56
- return false;
57
- }
58
- const config = JSON.parse(raw);
59
- if (!migrate(config)) return false;
60
- writeFileSync(path, `${JSON.stringify(config, null, 2)}
61
- `);
62
- return true;
63
- }
64
- async function migrateThreadConfigs() {
65
- const entries = await readAllMinds();
66
- for (const entry of entries) {
67
- const dir = entry.dir ?? mindDir(entry.name);
68
- for (const [file, migrate] of [
69
- ["routes.json", migrateRoutesConfig],
70
- ["volute.json", migrateVoluteConfig]
71
- ]) {
72
- const path = resolve(dir, "home/.config", file);
73
- try {
74
- if (migrateJsonFile(path, migrate)) {
75
- mlog.info(`migrated legacy session keys to thread in ${file} for ${entry.name}`);
76
- }
77
- } catch (err) {
78
- mlog.warn(
79
- `failed to migrate ${file} for ${entry.name} \u2014 legacy "session" keys may stop matching`,
80
- logger_default.errorData(err)
81
- );
82
- }
83
- }
84
- }
85
- }
86
- export {
87
- migrateRoutesConfig,
88
- migrateThreadConfigs,
89
- migrateVoluteConfig
90
- };
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- buildSeedOrientation,
4
- recordMissingCredentialsNotice,
5
- sleepMind,
6
- startMindFull,
7
- startSpiritFull,
8
- stopMindFull,
9
- stopSpiritFull,
10
- wakeMind
11
- } from "./chunk-LGXVGIWN.js";
12
- import "./chunk-RGHF3OK5.js";
13
- import "./chunk-X67BDDZR.js";
14
- import "./chunk-444RR3YF.js";
15
- import "./chunk-VDUCLVZI.js";
16
- import "./chunk-WHL6PKYP.js";
17
- import "./chunk-YSRYCS3N.js";
18
- import "./chunk-56IT2ZXF.js";
19
- import "./chunk-PPSN2MLC.js";
20
- import "./chunk-7LT3YZUR.js";
21
- import "./chunk-HKGYZVWN.js";
22
- import "./chunk-LNNI3MS4.js";
23
- import "./chunk-OAYY3WF3.js";
24
- import "./chunk-5Y54AE3L.js";
25
- import "./chunk-TPX6E6PL.js";
26
- import "./chunk-UFTDRTCP.js";
27
- import "./chunk-U54PJPTB.js";
28
- import "./chunk-ICXY54ZC.js";
29
- import "./chunk-DW4TRDOZ.js";
30
- import "./chunk-WCFSBH33.js";
31
- import "./chunk-OIOW3FPT.js";
32
- import "./chunk-GLM7TVWP.js";
33
- import "./chunk-EGV6R6UF.js";
34
- import "./chunk-QUSMYGNQ.js";
35
- import "./chunk-LGNUFVMR.js";
36
- import "./chunk-H6X6CKDN.js";
37
- import "./chunk-2RNMBXD2.js";
38
- import "./chunk-K3NQKI34.js";
39
- export {
40
- buildSeedOrientation,
41
- recordMissingCredentialsNotice,
42
- sleepMind,
43
- startMindFull,
44
- startSpiritFull,
45
- stopMindFull,
46
- stopSpiritFull,
47
- wakeMind
48
- };
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- Scheduler,
4
- getScheduler,
5
- initScheduler
6
- } from "./chunk-444RR3YF.js";
7
- import "./chunk-WHL6PKYP.js";
8
- import "./chunk-56IT2ZXF.js";
9
- import "./chunk-7LT3YZUR.js";
10
- import "./chunk-HKGYZVWN.js";
11
- import "./chunk-LNNI3MS4.js";
12
- import "./chunk-OAYY3WF3.js";
13
- import "./chunk-5Y54AE3L.js";
14
- import "./chunk-U54PJPTB.js";
15
- import "./chunk-WCFSBH33.js";
16
- import "./chunk-OIOW3FPT.js";
17
- import "./chunk-GLM7TVWP.js";
18
- import "./chunk-EGV6R6UF.js";
19
- import "./chunk-QUSMYGNQ.js";
20
- import "./chunk-H6X6CKDN.js";
21
- import "./chunk-2RNMBXD2.js";
22
- import "./chunk-K3NQKI34.js";
23
- export {
24
- Scheduler,
25
- getScheduler,
26
- initScheduler
27
- };
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
3
-
4
- // packages/cli/src/commands/seed.ts
5
- async function run(args) {
6
- console.error("Note: `volute mind seed` is now `volute seed create`");
7
- await import("./seed-create-VNLDYRFK.js").then((m) => m.run(args));
8
- }
9
- export {
10
- run
11
- };
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- SleepManager,
4
- getSleepManager,
5
- getSleepManagerIfReady,
6
- initSleepManager,
7
- matchesGlob
8
- } from "./chunk-LGXVGIWN.js";
9
- import "./chunk-RGHF3OK5.js";
10
- import "./chunk-X67BDDZR.js";
11
- import "./chunk-444RR3YF.js";
12
- import "./chunk-VDUCLVZI.js";
13
- import "./chunk-WHL6PKYP.js";
14
- import "./chunk-YSRYCS3N.js";
15
- import "./chunk-56IT2ZXF.js";
16
- import "./chunk-PPSN2MLC.js";
17
- import "./chunk-7LT3YZUR.js";
18
- import "./chunk-HKGYZVWN.js";
19
- import "./chunk-LNNI3MS4.js";
20
- import "./chunk-OAYY3WF3.js";
21
- import "./chunk-5Y54AE3L.js";
22
- import "./chunk-TPX6E6PL.js";
23
- import "./chunk-UFTDRTCP.js";
24
- import "./chunk-U54PJPTB.js";
25
- import "./chunk-ICXY54ZC.js";
26
- import "./chunk-DW4TRDOZ.js";
27
- import "./chunk-WCFSBH33.js";
28
- import "./chunk-OIOW3FPT.js";
29
- import "./chunk-GLM7TVWP.js";
30
- import "./chunk-EGV6R6UF.js";
31
- import "./chunk-QUSMYGNQ.js";
32
- import "./chunk-LGNUFVMR.js";
33
- import "./chunk-H6X6CKDN.js";
34
- import "./chunk-2RNMBXD2.js";
35
- import "./chunk-K3NQKI34.js";
36
- export {
37
- SleepManager,
38
- getSleepManager,
39
- getSleepManagerIfReady,
40
- initSleepManager,
41
- matchesGlob
42
- };
@@ -1,43 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- SPIRIT_NOTICE_PREFIX,
4
- _resetSpiritAvailabilityState,
5
- classifySpiritState,
6
- ensureSpiritAvailable,
7
- spiritUnavailableNotice
8
- } from "./chunk-LKUGUQUW.js";
9
- import "./chunk-LGXVGIWN.js";
10
- import "./chunk-RGHF3OK5.js";
11
- import "./chunk-X67BDDZR.js";
12
- import "./chunk-444RR3YF.js";
13
- import "./chunk-VDUCLVZI.js";
14
- import "./chunk-WHL6PKYP.js";
15
- import "./chunk-YSRYCS3N.js";
16
- import "./chunk-56IT2ZXF.js";
17
- import "./chunk-PPSN2MLC.js";
18
- import "./chunk-7LT3YZUR.js";
19
- import "./chunk-HKGYZVWN.js";
20
- import "./chunk-LNNI3MS4.js";
21
- import "./chunk-OAYY3WF3.js";
22
- import "./chunk-5Y54AE3L.js";
23
- import "./chunk-TPX6E6PL.js";
24
- import "./chunk-UFTDRTCP.js";
25
- import "./chunk-U54PJPTB.js";
26
- import "./chunk-ICXY54ZC.js";
27
- import "./chunk-DW4TRDOZ.js";
28
- import "./chunk-WCFSBH33.js";
29
- import "./chunk-OIOW3FPT.js";
30
- import "./chunk-GLM7TVWP.js";
31
- import "./chunk-EGV6R6UF.js";
32
- import "./chunk-QUSMYGNQ.js";
33
- import "./chunk-LGNUFVMR.js";
34
- import "./chunk-H6X6CKDN.js";
35
- import "./chunk-2RNMBXD2.js";
36
- import "./chunk-K3NQKI34.js";
37
- export {
38
- SPIRIT_NOTICE_PREFIX,
39
- _resetSpiritAvailabilityState,
40
- classifySpiritState,
41
- ensureSpiritAvailable,
42
- spiritUnavailableNotice
43
- };
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
3
-
4
- // packages/cli/src/commands/sprout.ts
5
- async function run(args) {
6
- console.error("Note: `volute mind sprout` is now `volute seed sprout`");
7
- await import("./seed-sprout-PPGYGK4G.js").then((m) => m.run(args));
8
- }
9
- export {
10
- run
11
- };