volute 0.33.0 → 0.34.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 (182) hide show
  1. package/dist/{accept-D5VBM7JW.js → accept-TW6V4WI4.js} +6 -6
  2. package/dist/{activity-events-XJO3P4RR.js → activity-events-BN7V6KCC.js} +4 -4
  3. package/dist/{ai-service-SBY2WG7O.js → ai-service-PSILB5WD.js} +5 -5
  4. package/dist/{api-client-YPKOZP2O.js → api-client-XUXOB7LI.js} +1 -1
  5. package/dist/api.d.ts +426 -3
  6. package/dist/{archive-INXYFVCW.js → archive-C2VEMQOR.js} +4 -4
  7. package/dist/{auth-GKCDSO4T.js → auth-ZFZXJZDQ.js} +5 -5
  8. package/dist/{bridge-TXWWPPOJ.js → bridge-O753D5F4.js} +6 -6
  9. package/dist/{chat-U5ZOME3O.js → chat-BHYX7DJ4.js} +9 -9
  10. package/dist/{chunk-M7UL5S3Q.js → chunk-2IOP6PHB.js} +1 -1
  11. package/dist/{chunk-NPKSDYA2.js → chunk-47XDEWWV.js} +5 -5
  12. package/dist/{chunk-RSX4OPZY.js → chunk-47ZPNLF4.js} +7 -7
  13. package/dist/{chunk-RPZZSXV3.js → chunk-4JSR7YO7.js} +20 -1
  14. package/dist/{chunk-N432I7QH.js → chunk-6OWJXUAR.js} +1 -1
  15. package/dist/{chunk-I5KY25PQ.js → chunk-6WAWMWR5.js} +1 -1
  16. package/dist/{chunk-NNB4WIG7.js → chunk-7F2SW2KD.js} +2 -2
  17. package/dist/chunk-7KJOFUNN.js +22 -0
  18. package/dist/{chunk-7J3HEVR7.js → chunk-B2BVAIZ4.js} +15 -9
  19. package/dist/{chunk-VH33ZWMW.js → chunk-BDK73LK6.js} +1 -1
  20. package/dist/{chunk-QTUVYI7W.js → chunk-BFWHBQK4.js} +1 -1
  21. package/dist/{chunk-JYVGHWEJ.js → chunk-BM474GX6.js} +3 -3
  22. package/dist/{chunk-LOEJ4HPQ.js → chunk-BTWAGDV5.js} +1 -1
  23. package/dist/{chunk-A2A4KLFE.js → chunk-CVL5IGIR.js} +596 -40
  24. package/dist/{chunk-RVGLDGMI.js → chunk-E5C7OWZ2.js} +20 -22
  25. package/dist/chunk-FYCALD4Q.js +23 -0
  26. package/dist/{chunk-SKLSMHXO.js → chunk-IS7WJ56Q.js} +1 -1
  27. package/dist/{chunk-2NGTS5UU.js → chunk-M3K5AARV.js} +1 -1
  28. package/dist/{chunk-ALEF47VT.js → chunk-MLOQKQNB.js} +1 -1
  29. package/dist/{chunk-C7I35G4R.js → chunk-N3DNFPVA.js} +41 -5
  30. package/dist/{chunk-LRCG2JLP.js → chunk-N7BLAHNE.js} +5 -1
  31. package/dist/{chunk-UKVWJRKN.js → chunk-PLDWHR4D.js} +1 -1
  32. package/dist/{chunk-3Z2DPESO.js → chunk-TAHX36HZ.js} +126 -81
  33. package/dist/{chunk-KIEPMIM5.js → chunk-U5BTYSAL.js} +1 -1
  34. package/dist/{chunk-GY5HBI7A.js → chunk-V45JXOWY.js} +2 -2
  35. package/dist/{chunk-JUKK7FPS.js → chunk-V6ZCNULL.js} +2 -2
  36. package/dist/{chunk-KVK2DLWI.js → chunk-XWXBJQBE.js} +2 -2
  37. package/dist/cli.js +23 -23
  38. package/dist/{clock-BVH3V6E3.js → clock-3X4DSC2N.js} +40 -25
  39. package/dist/{cloud-sync-4NWLMFVH.js → cloud-sync-TG3TIX5H.js} +21 -21
  40. package/dist/{config-H2H4UIF7.js → config-OROA5DUA.js} +4 -4
  41. package/dist/connectors/discord-bridge.js +1 -1
  42. package/dist/connectors/slack-bridge.js +1 -1
  43. package/dist/connectors/telegram-bridge.js +1 -1
  44. package/dist/{conversations-AWI5SZW2.js → conversations-HL2JP5GI.js} +5 -5
  45. package/dist/{create-YWD2TIP4.js → create-3SEKKI6P.js} +6 -6
  46. package/dist/{create-2FK7Z46Y.js → create-UOSOQ2HN.js} +4 -4
  47. package/dist/daemon-client-WOAQXXBM.js +12 -0
  48. package/dist/{daemon-restart-GOBUKLX7.js → daemon-restart-5ABHNXJZ.js} +9 -9
  49. package/dist/daemon.js +1747 -688
  50. package/dist/{db-RA45JBFG.js → db-PLEDCBHZ.js} +1 -1
  51. package/dist/db-RYX3SS2W.js +9 -0
  52. package/dist/{delete-QTGWEDBI.js → delete-KYOVWR23.js} +3 -3
  53. package/dist/delivery-manager-2BR5NZKF.js +32 -0
  54. package/dist/{delivery-router-FL45JL7N.js → delivery-router-D5ELDMS2.js} +4 -4
  55. package/dist/down-QVFN4UPK.js +15 -0
  56. package/dist/{env-JCOF2222.js → env-R34DT7XL.js} +12 -8
  57. package/dist/exec-DVLXKRIO.js +17 -0
  58. package/dist/{export-SUYRLI5Q.js → export-6ZXAXATG.js} +6 -6
  59. package/dist/extension-PM42QCID.js +97 -0
  60. package/dist/extensions-BBGVL5JC.js +38 -0
  61. package/dist/{files-65PMW5IK.js → files-VQV2VZQO.js} +7 -7
  62. package/dist/{import-DDUFE7AY.js → import-MK2I2T6F.js} +5 -5
  63. package/dist/{isolation-LLAYQYDY.js → isolation-62MKDZN3.js} +4 -4
  64. package/dist/{join-I5QEE3LG.js → join-DGYHTJUH.js} +3 -3
  65. package/dist/lib-DYEZMGW7.js +6588 -0
  66. package/dist/{list-JQ463EDA.js → list-C644WTHV.js} +18 -10
  67. package/dist/{login-D7ETSU4R.js → login-IIGEQPHL.js} +6 -6
  68. package/dist/{login-RIJF2F4G.js → login-KZQLMAWE.js} +4 -4
  69. package/dist/{logout-5MLHZALK.js → logout-AGTZVRGP.js} +4 -4
  70. package/dist/{logout-UZJRGY4Z.js → logout-KD6GXIJJ.js} +4 -4
  71. package/dist/message-delivery-V3R6NXJP.js +42 -0
  72. package/dist/{mind-IOJFLEM5.js → mind-BI4EPBVZ.js} +19 -19
  73. package/dist/{mind-activity-tracker-F6O4Q2SL.js → mind-activity-tracker-2ACNHA7B.js} +5 -5
  74. package/dist/mind-history-WOYFLQAI.js +264 -0
  75. package/dist/{mind-list-WUPMQDYQ.js → mind-list-6VPM7GUQ.js} +4 -4
  76. package/dist/mind-manager-MWW3BTS4.js +32 -0
  77. package/dist/{mind-profile-P67FEHOY.js → mind-profile-WPG42U5Y.js} +2 -2
  78. package/dist/mind-service-VIKZJK2M.js +38 -0
  79. package/dist/{mind-sleep-WW2IX7JT.js → mind-sleep-XDISJY74.js} +6 -6
  80. package/dist/{mind-status-L3EFFRPR.js → mind-status-7FTZWPZF.js} +4 -4
  81. package/dist/{mind-wake-VSSGW465.js → mind-wake-KIIKEI3A.js} +6 -6
  82. package/dist/{package-U3VFO273.js → package-V2WHWVG6.js} +8 -5
  83. package/dist/{read-EBY56C33.js → read-H5C26YO7.js} +20 -10
  84. package/dist/{read-stdin-HQJ7774D.js → read-stdin-PIRM6A2Y.js} +1 -1
  85. package/dist/{register-HD74C4TT.js → register-J27WP33N.js} +6 -6
  86. package/dist/{registry-PJ4S5PHQ.js → registry-UYV5S6QT.js} +3 -3
  87. package/dist/{reject-UJKFBHRO.js → reject-OEANJYIA.js} +6 -6
  88. package/dist/{restart-3UCMRUVC.js → restart-V5EGYBJG.js} +4 -4
  89. package/dist/{sandbox-GJOK4QLQ.js → sandbox-SI5HMBP3.js} +5 -5
  90. package/dist/scheduler-AGG3L2FO.js +32 -0
  91. package/dist/{schema-PA3M5ZKH.js → schema-ETMABTW4.js} +4 -2
  92. package/dist/{seed-QDYVLG74.js → seed-WNGI6PNW.js} +2 -2
  93. package/dist/{seed-check-S2IX25RL.js → seed-check-PXTH7YXS.js} +2 -2
  94. package/dist/{seed-cmd-DKOUFEAU.js → seed-cmd-VENFTGS3.js} +4 -4
  95. package/dist/{seed-create-4XBBOLRH.js → seed-create-663ALOKH.js} +6 -6
  96. package/dist/{seed-sprout-GQEIIQRT.js → seed-sprout-EH3AGKAI.js} +12 -12
  97. package/dist/{send-QIV2INHB.js → send-7FUUUZZH.js} +23 -10
  98. package/dist/{setup-TISPCO22.js → setup-GGMKENLN.js} +4 -4
  99. package/dist/{setup-XMCBE3LF.js → setup-Z3DEVWV7.js} +11 -11
  100. package/dist/{skill-PSQGRRJX.js → skill-DKNYJS4P.js} +14 -10
  101. package/dist/skills/plan-coordinator/SKILL.md +60 -0
  102. package/dist/skills/volute-mind/SKILL.md +7 -221
  103. package/dist/skills/volute-mind/references/extensions.md +37 -0
  104. package/dist/skills/volute-mind/references/integrations.md +48 -0
  105. package/dist/skills/volute-mind/references/routing.md +86 -0
  106. package/dist/skills/volute-mind/references/sleep.md +33 -0
  107. package/dist/skills/volute-mind/references/variants.md +31 -0
  108. package/dist/{skills-7FV7EJTE.js → skills-Q6VZ2UGD.js} +11 -7
  109. package/dist/sleep-manager-BJK2ROPX.js +36 -0
  110. package/dist/spirit-4JP4TY4C.js +23 -0
  111. package/dist/{split-STOROBYJ.js → split-3YPMS2CL.js} +3 -3
  112. package/dist/{sprout-WKLZXUIQ.js → sprout-E3HJIV2Z.js} +2 -2
  113. package/dist/{start-K2NCUUCG.js → start-W3TPKX4D.js} +4 -4
  114. package/dist/{status-3JBTFSMI.js → status-4OVFXFEJ.js} +7 -7
  115. package/dist/{stop-H26JZDXF.js → stop-GTT6YWYO.js} +4 -4
  116. package/dist/system-channel-DXD2JBOU.js +36 -0
  117. package/dist/system-chat-TYLOL7SX.js +36 -0
  118. package/dist/{systems-XRI52VCH.js → systems-AYLO727G.js} +7 -7
  119. package/dist/{tailscale-XHQBZROW.js → tailscale-ZEUK7GKZ.js} +3 -3
  120. package/dist/{template-hash-A6VVKOXJ.js → template-hash-EJRTKE36.js} +1 -1
  121. package/dist/up-PA7F2CXE.js +18 -0
  122. package/dist/{update-UD543CXX.js → update-HG4LCUSG.js} +7 -7
  123. package/dist/{update-check-ZD6OOIYQ.js → update-check-X3YG4WVP.js} +4 -4
  124. package/dist/{upgrade-O4Q7WJM3.js → upgrade-YGNIDICG.js} +3 -3
  125. package/dist/{variant-7TGZHOU3.js → variant-MZUMRTQO.js} +1 -1
  126. package/dist/{version-notify-NBI2MTJO.js → version-notify-YCH4UVQ2.js} +19 -19
  127. package/dist/{volute-config-HD7WWUQC.js → volute-config-WBKYJGYQ.js} +1 -1
  128. package/dist/web-assets/assets/index-DiiwC-CZ.css +1 -0
  129. package/dist/web-assets/assets/index-d6y5b9Ij.js +75 -0
  130. package/dist/web-assets/ext-theme.css +48 -9
  131. package/dist/web-assets/index.html +2 -2
  132. package/drizzle/0005_meta_summaries.sql +15 -0
  133. package/drizzle/meta/0005_snapshot.json +7 -0
  134. package/drizzle/meta/_journal.json +7 -0
  135. package/package.json +7 -4
  136. package/packages/extensions/plan/dist/ui/assets/index-CJj2gZnZ.css +1 -0
  137. package/packages/extensions/plan/dist/ui/assets/index-FMEJmvQz.js +61 -0
  138. package/packages/extensions/plan/dist/ui/index.html +14 -0
  139. package/packages/extensions/plan/skills/plan/SKILL.md +43 -0
  140. package/packages/extensions/plan/skills/plan/scripts/plan-hook.sh +37 -0
  141. package/templates/_base/home/VOLUTE.md +12 -19
  142. package/templates/_base/src/lib/context-breakdown.ts +450 -0
  143. package/templates/_base/src/lib/format-prefix.ts +17 -0
  144. package/templates/_base/src/lib/hook-loader.ts +8 -2
  145. package/templates/_base/src/lib/router.ts +75 -33
  146. package/templates/_base/src/lib/routing.ts +4 -1
  147. package/templates/_base/src/lib/startup.ts +16 -8
  148. package/templates/_base/src/lib/types.ts +2 -1
  149. package/templates/_base/src/lib/volute-server.ts +69 -8
  150. package/templates/claude/.init/CLAUDE.md +4 -10
  151. package/templates/claude/package.json.tmpl +1 -0
  152. package/templates/claude/src/agent.ts +100 -32
  153. package/templates/claude/src/lib/hooks/reply-instructions.ts +27 -7
  154. package/templates/claude/src/lib/stream-consumer.ts +2 -2
  155. package/templates/claude/src/server.ts +1 -0
  156. package/templates/codex/package.json.tmpl +1 -0
  157. package/templates/codex/src/agent.ts +80 -8
  158. package/templates/codex/src/server.ts +1 -4
  159. package/templates/pi/package.json.tmpl +1 -0
  160. package/templates/pi/src/agent.ts +115 -36
  161. package/templates/pi/src/lib/event-handler.ts +22 -7
  162. package/templates/pi/src/lib/reply-instructions-extension.ts +23 -4
  163. package/templates/pi/src/lib/subagents.ts +20 -17
  164. package/templates/pi/src/server.ts +2 -5
  165. package/dist/chunk-K3NQKI34.js +0 -10
  166. package/dist/daemon-client-6QXHZ7US.js +0 -12
  167. package/dist/db-F34YLV7D.js +0 -9
  168. package/dist/delivery-manager-PFAKEJTC.js +0 -32
  169. package/dist/down-FWWTEKXM.js +0 -15
  170. package/dist/extension-OBTGKQQD.js +0 -175
  171. package/dist/extensions-KYNTVTMO.js +0 -30
  172. package/dist/history-DKCDI3JO.js +0 -128
  173. package/dist/message-delivery-DFF5SJRM.js +0 -42
  174. package/dist/mind-manager-NBJF5D26.js +0 -32
  175. package/dist/mind-service-2MQ6UK5N.js +0 -38
  176. package/dist/scheduler-ZZ7XGQG6.js +0 -32
  177. package/dist/sleep-manager-JTXSN7NV.js +0 -36
  178. package/dist/spirit-VRONKFMF.js +0 -23
  179. package/dist/system-chat-JAPOJ3KE.js +0 -36
  180. package/dist/up-M5AS6SBV.js +0 -18
  181. package/dist/web-assets/assets/index-CWJrVveV.css +0 -1
  182. package/dist/web-assets/assets/index-DJt14FRI.js +0 -75
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  voluteSystemDir
4
- } from "./chunk-LRCG2JLP.js";
4
+ } from "./chunk-N7BLAHNE.js";
5
5
 
6
6
  // src/lib/update-check.ts
7
7
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -4,17 +4,17 @@ import {
4
4
  modeLabel,
5
5
  pollHealth,
6
6
  startService
7
- } from "./chunk-NNB4WIG7.js";
8
- import {
9
- readGlobalConfig
10
- } from "./chunk-N432I7QH.js";
7
+ } from "./chunk-7F2SW2KD.js";
11
8
  import {
12
9
  parseArgs
13
10
  } from "./chunk-D424ZQGI.js";
11
+ import {
12
+ readGlobalConfig
13
+ } from "./chunk-6OWJXUAR.js";
14
14
  import {
15
15
  voluteHome,
16
16
  voluteSystemDir
17
- } from "./chunk-LRCG2JLP.js";
17
+ } from "./chunk-N7BLAHNE.js";
18
18
 
19
19
  // src/commands/up.ts
20
20
  import { spawn } from "child_process";
@@ -3,7 +3,7 @@ import {
3
3
  readEnv,
4
4
  sharedEnvPath,
5
5
  writeEnv
6
- } from "./chunk-2NGTS5UU.js";
6
+ } from "./chunk-M3K5AARV.js";
7
7
  import {
8
8
  logger_default
9
9
  } from "./chunk-YUIHSKR6.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-D424ZQGI.js";
13
13
  import {
14
14
  voluteSystemDir
15
- } from "./chunk-LRCG2JLP.js";
15
+ } from "./chunk-N7BLAHNE.js";
16
16
 
17
17
  // src/commands/import.ts
18
18
  import {
@@ -112,8 +112,8 @@ async function run(args) {
112
112
  return;
113
113
  }
114
114
  const wsDir = resolveWorkspace(inputPath);
115
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
116
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
115
+ const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
116
+ const { getClient, urlOf } = await import("./api-client-XUXOB7LI.js");
117
117
  const client = getClient();
118
118
  const res = await daemonFetch(urlOf(client.api.minds.import.$url()), {
119
119
  method: "POST",
@@ -152,7 +152,7 @@ async function importArchive(archivePath, nameOverride) {
152
152
  console.error(`File not found: ${archivePath}`);
153
153
  process.exit(1);
154
154
  }
155
- const { extractArchive } = await import("./archive-INXYFVCW.js");
155
+ const { extractArchive } = await import("./archive-C2VEMQOR.js");
156
156
  const tempDir = resolve2(tmpdir(), `volute-import-${Date.now()}`);
157
157
  mkdirSync(tempDir, { recursive: true });
158
158
  let extracted;
@@ -164,8 +164,8 @@ async function importArchive(archivePath, nameOverride) {
164
164
  process.exit(1);
165
165
  }
166
166
  try {
167
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
168
- const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
167
+ const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
168
+ const { getClient, urlOf } = await import("./api-client-XUXOB7LI.js");
169
169
  const client = getClient();
170
170
  const res = await daemonFetch(urlOf(client.api.minds.import.$url()), {
171
171
  method: "POST",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  __export
4
- } from "./chunk-K3NQKI34.js";
4
+ } from "./chunk-7KJOFUNN.js";
5
5
 
6
6
  // src/lib/schema.ts
7
7
  var schema_exports = {};
@@ -16,6 +16,7 @@ __export(schema_exports, {
16
16
  minds: () => minds,
17
17
  sessions: () => sessions,
18
18
  sharedSkills: () => sharedSkills,
19
+ summaries: () => summaries,
19
20
  systemPrompts: () => systemPrompts,
20
21
  turns: () => turns,
21
22
  users: () => users
@@ -83,6 +84,7 @@ var turns = sqliteTable(
83
84
  session: text("session"),
84
85
  trigger_event_id: integer("trigger_event_id"),
85
86
  summary_event_id: integer("summary_event_id"),
87
+ summary_id: integer("summary_id"),
86
88
  status: text("status").notNull().default("active"),
87
89
  created_at: text("created_at").notNull().default(sql`(datetime('now'))`)
88
90
  },
@@ -180,6 +182,22 @@ var activity = sqliteTable(
180
182
  index("idx_activity_turn_id").on(table.turn_id)
181
183
  ]
182
184
  );
185
+ var summaries = sqliteTable(
186
+ "summaries",
187
+ {
188
+ id: integer("id").primaryKey({ autoIncrement: true }),
189
+ mind: text("mind").notNull(),
190
+ period: text("period").notNull(),
191
+ period_key: text("period_key").notNull(),
192
+ content: text("content").notNull(),
193
+ metadata: text("metadata"),
194
+ created_at: text("created_at").notNull().default(sql`(datetime('now'))`)
195
+ },
196
+ (table) => [
197
+ uniqueIndex("idx_summaries_unique").on(table.mind, table.period, table.period_key),
198
+ index("idx_summaries_mind_period").on(table.mind, table.period)
199
+ ]
200
+ );
183
201
  var conversationReads = sqliteTable(
184
202
  "conversation_reads",
185
203
  {
@@ -221,6 +239,7 @@ export {
221
239
  sharedSkills,
222
240
  deliveryQueue,
223
241
  activity,
242
+ summaries,
224
243
  conversationReads,
225
244
  messages,
226
245
  schema_exports
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  voluteSystemDir
4
- } from "./chunk-LRCG2JLP.js";
4
+ } from "./chunk-N7BLAHNE.js";
5
5
 
6
6
  // src/lib/setup.ts
7
7
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  mindDir,
4
4
  stateDir
5
- } from "./chunk-LRCG2JLP.js";
5
+ } from "./chunk-N7BLAHNE.js";
6
6
 
7
7
  // src/lib/archive.ts
8
8
  import { execFileSync } from "child_process";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  exec,
4
4
  execInherit
5
- } from "./chunk-KIEPMIM5.js";
5
+ } from "./chunk-U5BTYSAL.js";
6
6
  import {
7
7
  voluteSystemDir
8
- } from "./chunk-LRCG2JLP.js";
8
+ } from "./chunk-N7BLAHNE.js";
9
9
 
10
10
  // src/lib/service-mode.ts
11
11
  import { execFileSync } from "child_process";
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
5
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
6
+ }) : x)(function(x) {
7
+ if (typeof require !== "undefined") return require.apply(this, arguments);
8
+ throw Error('Dynamic require of "' + x + '" is not supported');
9
+ });
10
+ var __commonJS = (cb, mod) => function __require2() {
11
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
+ };
13
+ var __export = (target, all) => {
14
+ for (var name in all)
15
+ __defProp(target, name, { get: all[name], enumerable: true });
16
+ };
17
+
18
+ export {
19
+ __require,
20
+ __commonJS,
21
+ __export
22
+ };
@@ -8,26 +8,26 @@ import {
8
8
  import {
9
9
  getSharedSkill,
10
10
  installSkill
11
- } from "./chunk-C7I35G4R.js";
11
+ } from "./chunk-N3DNFPVA.js";
12
12
  import {
13
13
  qualifyModelId,
14
14
  resolveTemplate
15
- } from "./chunk-QTUVYI7W.js";
15
+ } from "./chunk-BFWHBQK4.js";
16
16
  import {
17
17
  logger_default
18
18
  } from "./chunk-YUIHSKR6.js";
19
19
  import {
20
20
  exec
21
- } from "./chunk-KIEPMIM5.js";
21
+ } from "./chunk-U5BTYSAL.js";
22
22
  import {
23
23
  readGlobalConfig
24
- } from "./chunk-N432I7QH.js";
24
+ } from "./chunk-6OWJXUAR.js";
25
25
  import {
26
26
  addSpirit,
27
27
  findMind,
28
28
  nextPort,
29
29
  voluteSystemDir
30
- } from "./chunk-LRCG2JLP.js";
30
+ } from "./chunk-N7BLAHNE.js";
31
31
 
32
32
  // src/lib/spirit.ts
33
33
  import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -79,7 +79,13 @@ async function ensureSpiritProject() {
79
79
  } catch (err) {
80
80
  slog.warn("git init failed for spirit \u2014 not critical", logger_default.errorData(err));
81
81
  }
82
- const spiritSkills = ["volute-admin", "orientation", "memory", "seed-nurture"];
82
+ const spiritSkills = [
83
+ "volute-admin",
84
+ "orientation",
85
+ "memory",
86
+ "seed-nurture",
87
+ "plan-coordinator"
88
+ ];
83
89
  for (const skillId of spiritSkills) {
84
90
  try {
85
91
  const shared = await getSharedSkill(skillId);
@@ -90,7 +96,7 @@ async function ensureSpiritProject() {
90
96
  slog.warn(`failed to install skill ${skillId} for spirit`, logger_default.errorData(err));
91
97
  }
92
98
  }
93
- const { createMindUser, chownMindDir, ensureVoluteGroup } = await import("./isolation-LLAYQYDY.js");
99
+ const { createMindUser, chownMindDir, ensureVoluteGroup } = await import("./isolation-62MKDZN3.js");
94
100
  ensureVoluteGroup();
95
101
  createMindUser("volute", resolve(dir, "home"));
96
102
  chownMindDir(dir, "volute");
@@ -124,8 +130,8 @@ async function syncSpiritTemplate() {
124
130
  cpSync(newPkg, resolve(dir, "package.json"));
125
131
  await exec("npm", ["install", "--ignore-scripts"], { cwd: dir });
126
132
  }
127
- const db = await (await import("./db-F34YLV7D.js")).getDb();
128
- const { minds } = await import("./schema-PA3M5ZKH.js");
133
+ const db = await (await import("./db-RYX3SS2W.js")).getDb();
134
+ const { minds } = await import("./schema-ETMABTW4.js");
129
135
  const { eq } = await import("drizzle-orm");
130
136
  await db.update(minds).set({ template: expectedTemplate }).where(eq(minds.name, "volute"));
131
137
  }
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getBaseName,
4
4
  validateMindName
5
- } from "./chunk-LRCG2JLP.js";
5
+ } from "./chunk-N7BLAHNE.js";
6
6
 
7
7
  // src/lib/isolation.ts
8
8
  import { execFileSync } from "child_process";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  readGlobalConfig,
7
7
  writeGlobalConfig
8
- } from "./chunk-N432I7QH.js";
8
+ } from "./chunk-6OWJXUAR.js";
9
9
 
10
10
  // src/lib/ai-service.ts
11
11
  import { complete, getEnvApiKey, getModel, getModels, getProviders } from "@mariozechner/pi-ai";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  broadcast
4
- } from "./chunk-KVK2DLWI.js";
4
+ } from "./chunk-XWXBJQBE.js";
5
5
  import {
6
6
  getDb
7
- } from "./chunk-LRCG2JLP.js";
7
+ } from "./chunk-N7BLAHNE.js";
8
8
  import {
9
9
  users
10
- } from "./chunk-RPZZSXV3.js";
10
+ } from "./chunk-4JSR7YO7.js";
11
11
 
12
12
  // src/lib/auth.ts
13
13
  import { compareSync, hashSync } from "bcryptjs";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  publish
4
- } from "./chunk-KVK2DLWI.js";
4
+ } from "./chunk-XWXBJQBE.js";
5
5
  import {
6
6
  logger_default
7
7
  } from "./chunk-YUIHSKR6.js";