volute 0.45.1 → 0.46.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 (120) hide show
  1. package/README.md +3 -3
  2. package/dist/{activity-events-OMCSM7XW.js → activity-events-NF6VWTJQ.js} +2 -2
  3. package/dist/{ai-service-534WUSDL.js → ai-service-UODCCE4O.js} +3 -3
  4. package/dist/{archive-6R4TZMYI.js → archive-WS2L2VIQ.js} +2 -2
  5. package/dist/{auth-FRZJVQCS.js → auth-CCFAU4GQ.js} +3 -3
  6. package/dist/{avatar-image-BNWEXSA2.js → avatar-image-6KY6UU4D.js} +3 -3
  7. package/dist/{backup-OZXHL3JS.js → backup-TST5C2YN.js} +7 -7
  8. package/dist/{chat-I4EDDIQC.js → chat-ZIQQS25U.js} +2 -2
  9. package/dist/{chunk-ZIR7HSAX.js → chunk-4JOQZPCE.js} +1 -1
  10. package/dist/chunk-4YU7HF4L.js +237 -0
  11. package/dist/{chunk-JSRMEY52.js → chunk-5ZQZDDIK.js} +10 -5
  12. package/dist/{chunk-2BONPXAF.js → chunk-6EMWJZBK.js} +1 -1
  13. package/dist/{chunk-LAXUUY7O.js → chunk-A7WQZKOU.js} +2 -2
  14. package/dist/{chunk-H7IYFRAL.js → chunk-ALKYQULU.js} +10 -5
  15. package/dist/{chunk-5AUKCNPE.js → chunk-BJZ4PV7R.js} +8 -8
  16. package/dist/{chunk-KP3KWNG6.js → chunk-CDPBTTZO.js} +2 -2
  17. package/dist/{chunk-SQL7M4HJ.js → chunk-DRJ24GXK.js} +2 -2
  18. package/dist/{chunk-77BVGCTZ.js → chunk-E3DA4HYV.js} +9 -9
  19. package/dist/{chunk-322KE457.js → chunk-F7H6ATM4.js} +1 -1
  20. package/dist/{chunk-KVKP6VQ5.js → chunk-FXORA5JG.js} +12 -3
  21. package/dist/{chunk-3ERIL673.js → chunk-H2X54EHC.js} +1 -1
  22. package/dist/{chunk-TSK5PI4L.js → chunk-IHKGWTGT.js} +1 -1
  23. package/dist/{chunk-U4FNXDEJ.js → chunk-JO5IO4FH.js} +422 -168
  24. package/dist/{chunk-OXXTPILE.js → chunk-JZ62SYWR.js} +1 -1
  25. package/dist/{chunk-IUXTYXFI.js → chunk-K6T43YBD.js} +3 -3
  26. package/dist/{chunk-Y6OPHHGM.js → chunk-KGIXX4NM.js} +4 -4
  27. package/dist/{chunk-HVU45COX.js → chunk-KQSFTPIM.js} +1 -1
  28. package/dist/{chunk-CYI534DJ.js → chunk-OV7ZQ2GH.js} +2 -2
  29. package/dist/{chunk-CU6OFXMM.js → chunk-PFZBNKUH.js} +9 -0
  30. package/dist/{clock-K43IMROX.js → chunk-PJ45FQPT.js} +21 -16
  31. package/dist/{chunk-QMJJWTNL.js → chunk-QCN24XEN.js} +1 -1
  32. package/dist/{chunk-UMI4UIJG.js → chunk-R77O2WMK.js} +1 -1
  33. package/dist/{chunk-IEWZ7VD7.js → chunk-RRNXJOKB.js} +2 -2
  34. package/dist/{chunk-FHWUQZXE.js → chunk-RXEEYDIB.js} +1 -1
  35. package/dist/{chunk-Q2XBKQ2D.js → chunk-TQJ6ZYVY.js} +2 -2
  36. package/dist/{chunk-V4GYPD5L.js → chunk-YXSUMLTC.js} +46 -269
  37. package/dist/{chunk-5GT7URXJ.js → chunk-ZDZISKCL.js} +1 -1
  38. package/dist/{chunk-ZMIMSIIT.js → chunk-ZNMCCHCP.js} +48 -2
  39. package/dist/cli.js +20 -20
  40. package/dist/clock-RHS2JEDL.js +16 -0
  41. package/dist/{cloud-sync-Y7LQPRE3.js → cloud-sync-46RS4SDA.js} +17 -16
  42. package/dist/{conversations-G4LYMHAA.js → conversations-CJOOCGNW.js} +3 -3
  43. package/dist/{create-2YY7IPMS.js → create-IOV4GCRX.js} +1 -1
  44. package/dist/{daemon-restart-ABP54YN6.js → daemon-restart-VFEI57UO.js} +6 -6
  45. package/dist/daemon.js +392 -270
  46. package/dist/{db-JFLCJCUG.js → db-MF2JNRUW.js} +1 -1
  47. package/dist/{delete-BFMIGAIB.js → delete-HPLC7ETU.js} +1 -1
  48. package/dist/delivery-manager-JINZRG2W.js +33 -0
  49. package/dist/{delivery-router-6DE3BPHO.js → delivery-router-N4A7ZC5T.js} +2 -2
  50. package/dist/{down-XCAZXWLB.js → down-U2CZ23M4.js} +4 -4
  51. package/dist/echo-text-VQPB5L2X.js +33 -0
  52. package/dist/{exec-4GWHAHS3.js → exec-G3ZRST4Z.js} +2 -2
  53. package/dist/{export-ID7YUSLZ.js → export-LY723I3Z.js} +5 -5
  54. package/dist/{extensions-AYSPKE33.js → extensions-ZELQLTSR.js} +17 -16
  55. package/dist/{files-BQ2WB5KC.js → files-4LN3EN7Q.js} +2 -2
  56. package/dist/{import-SKID37QX.js → import-42YNQBF4.js} +5 -5
  57. package/dist/{isolation-5MB3J73F.js → isolation-YMGZZ4E5.js} +2 -2
  58. package/dist/{join-RXPXGV4L.js → join-ZJV7W6MO.js} +4 -0
  59. package/dist/{login-LM4NF4ZB.js → login-M6OJUPQ2.js} +1 -1
  60. package/dist/{logout-CTJVIZGA.js → logout-WQBWO77G.js} +1 -1
  61. package/dist/message-delivery-R7JSQGYX.js +37 -0
  62. package/dist/{mind-KLHC7XYR.js → mind-LHKS55DI.js} +12 -12
  63. package/dist/{mind-activity-tracker-BGHJE7XA.js → mind-activity-tracker-3QRNJVR4.js} +3 -3
  64. package/dist/mind-service-NB2JMWQZ.js +39 -0
  65. package/dist/mind-sleep-74TGOQBC.js +83 -0
  66. package/dist/{package-BMHV7UHN.js → package-DOD6CPO6.js} +2 -1
  67. package/dist/{registry-NUJAGLQJ.js → registry-OUZBZ3Q4.js} +5 -1
  68. package/dist/{sandbox-72MWV4JL.js → sandbox-ZJ7QA6Z6.js} +3 -3
  69. package/dist/scheduler-WVKII3LA.js +31 -0
  70. package/dist/{seed-4MKQ5QKG.js → seed-CNYIHPOH.js} +1 -1
  71. package/dist/{seed-cmd-LCXMR7VV.js → seed-cmd-AVNUNLZV.js} +2 -2
  72. package/dist/{seed-create-N2BF5LQX.js → seed-create-ANXGYSCC.js} +5 -5
  73. package/dist/{seed-sprout-6ZDP23YI.js → seed-sprout-NIUFTX32.js} +10 -8
  74. package/dist/{send-O6W53VBM.js → send-SPE6DVNJ.js} +8 -2
  75. package/dist/{service-AQVPUANO.js → service-UOCLXDWR.js} +3 -3
  76. package/dist/{service-install-4QNUDKLM.js → service-install-4HHFDDWY.js} +4 -4
  77. package/dist/{setup-3O6O2JZ7.js → setup-QT2A25SY.js} +6 -6
  78. package/dist/{setup-73YBJZQL.js → setup-Y2EJI3GG.js} +2 -2
  79. package/dist/skills/imagegen/scripts/imagegen.ts +100 -40
  80. package/dist/skills/orientation/SKILL.md +1 -1
  81. package/dist/skills/volute-mind/SKILL.md +13 -9
  82. package/dist/skills/volute-mind/references/sleep.md +8 -1
  83. package/dist/{skills-ND4ZFYUW.js → skills-AKCFA7BN.js} +4 -4
  84. package/dist/sleep-manager-G6TXSDP7.js +35 -0
  85. package/dist/{spirit-II3HOERM.js → spirit-RPBLLUQ5.js} +7 -7
  86. package/dist/{sprout-4KUG76AQ.js → sprout-SMX42ZBP.js} +1 -1
  87. package/dist/{src-XFY3XDD6.js → src-OJHARHTF.js} +28 -17
  88. package/dist/{status-E5DQNCAO.js → status-SWRVGXBI.js} +4 -4
  89. package/dist/system-chat-NDAW6YP7.js +37 -0
  90. package/dist/{tailscale-QAWVKQKU.js → tailscale-3XOKOW7T.js} +1 -1
  91. package/dist/{turn-tracker-QQIVVXBI.js → turn-tracker-FOIBNUUA.js} +5 -4
  92. package/dist/{up-LG56MPBI.js → up-PS6PFS75.js} +5 -5
  93. package/dist/{update-7TYVH5FM.js → update-SWAYZRWJ.js} +4 -4
  94. package/dist/{update-check-VSCSJ7KX.js → update-check-PQ2MZ47K.js} +2 -2
  95. package/dist/{version-notify-CODJOUW2.js → version-notify-C5CH7CVP.js} +24 -19
  96. package/dist/{volute-config-TS62GS6A.js → volute-config-A52FHWKM.js} +5 -1
  97. package/dist/web-assets/assets/{index-Dac11sKB.js → index-CU6XWICM.js} +15 -15
  98. package/dist/web-assets/index.html +1 -1
  99. package/package.json +2 -1
  100. package/templates/_base/home/VOLUTE.md +6 -2
  101. package/templates/_base/src/lib/context-breakdown.ts +57 -67
  102. package/templates/_base/src/lib/file-handler.ts +3 -3
  103. package/templates/_base/src/lib/router.ts +21 -25
  104. package/templates/_base/src/lib/startup.ts +2 -0
  105. package/templates/_base/src/lib/types.ts +2 -2
  106. package/templates/_base/src/lib/volute-server.ts +2 -2
  107. package/templates/claude/src/agent.ts +147 -46
  108. package/templates/claude/src/lib/message-channel.ts +23 -0
  109. package/templates/claude/src/lib/session-reaper.ts +68 -0
  110. package/templates/claude/src/server.ts +1 -0
  111. package/templates/codex/src/agent.ts +80 -46
  112. package/templates/pi/src/agent.ts +73 -45
  113. package/dist/delivery-manager-R5STGLXB.js +0 -32
  114. package/dist/echo-text-NQXYYYCU.js +0 -32
  115. package/dist/message-delivery-IUAXRPFE.js +0 -34
  116. package/dist/mind-service-BF2LUQMH.js +0 -36
  117. package/dist/mind-sleep-YMBR3I35.js +0 -47
  118. package/dist/scheduler-YHJRRV6E.js +0 -30
  119. package/dist/sleep-manager-YAHDOIU5.js +0 -34
  120. package/dist/system-chat-E65T2HSW.js +0 -34
@@ -16,6 +16,7 @@ import {
16
16
  countSkillDescriptionTokens,
17
17
  countSystemPromptTokens,
18
18
  findPiSessionFile,
19
+ getCachedContextInfo,
19
20
  processPiSession,
20
21
  readSdkInstructions,
21
22
  readSkillDescriptions,
@@ -36,7 +37,7 @@ import type {
36
37
  VoluteContentPart,
37
38
  VoluteEvent,
38
39
  } from "./lib/types.js";
39
- import type { ContextInfo, ContextMessages } from "./lib/volute-server.js";
40
+ import type { ContextInfo, ContextMessages, SessionContextInfo } from "./lib/volute-server.js";
40
41
 
41
42
  type PiAgentSession = Awaited<ReturnType<typeof createAgentSession>>["session"];
42
43
 
@@ -63,8 +64,8 @@ export function createMind(options: {
63
64
  subagents?: Record<string, SubagentConfig>;
64
65
  }): {
65
66
  resolve: HandlerResolver;
66
- getContextInfo: () => ContextInfo;
67
- getContextMessages: () => ContextMessages;
67
+ getContextInfo: () => Promise<ContextInfo>;
68
+ getContextMessages: () => Promise<ContextMessages>;
68
69
  } {
69
70
  const sessions = new Map<string, PiSession>();
70
71
  const prompts = loadPrompts();
@@ -447,14 +448,23 @@ export function createMind(options: {
447
448
 
448
449
  function createSessionHandler(sessionName: string): MessageHandler {
449
450
  return {
450
- handle(content: VoluteContentPart[], meta: HandlerMeta, listener: Listener): () => void {
451
+ handle(content: VoluteContentPart[], meta: HandlerMeta, listener?: Listener): () => void {
451
452
  const session = getOrCreateSession(sessionName);
452
453
 
453
- // Filter listener to only receive events for this messageId
454
- const filteredListener: Listener = (event) => {
455
- if (event.messageId === meta.messageId) listener(event);
456
- };
457
- session.listeners.add(filteredListener);
454
+ // Only register a listener when a caller wants events. A per-message listener
455
+ // that's never removed grows session.listeners without bound and makes broadcast
456
+ // O(messages-ever-received). The live dispatch path passes no listener.
457
+ let filteredListener: Listener | undefined;
458
+ if (listener) {
459
+ filteredListener = (event) => {
460
+ if (event.messageId !== meta.messageId) return;
461
+ listener(event);
462
+ if (event.type === "done" && filteredListener) {
463
+ session.listeners.delete(filteredListener);
464
+ }
465
+ };
466
+ session.listeners.add(filteredListener);
467
+ }
458
468
 
459
469
  // Track channel for reply instructions
460
470
  if (meta.channel) {
@@ -500,7 +510,9 @@ export function createMind(options: {
500
510
  broadcast(session, { type: "done" });
501
511
  });
502
512
 
503
- return () => session.listeners.delete(filteredListener);
513
+ return () => {
514
+ if (filteredListener) session.listeners.delete(filteredListener);
515
+ };
504
516
  },
505
517
  };
506
518
  }
@@ -527,50 +539,66 @@ export function createMind(options: {
527
539
  const claudeMdTokens = countSdkInstructionTokens(options.cwd);
528
540
  const skillDescTokens = countSkillDescriptionTokens([resolvePath(options.cwd, ".pi/skills")]);
529
541
 
530
- function processSession(sessionName: string) {
531
- const jsonlPath = findPiSessionFile(piSessionsDir, sessionName);
532
- return jsonlPath
533
- ? processPiSession(jsonlPath, systemPromptTokens, claudeMdTokens, skillDescTokens)
534
- : null;
535
- }
536
-
537
- function getContextInfo(): ContextInfo {
538
- return {
539
- sessions: Array.from(sessions.values()).map((s) => {
540
- try {
541
- const result = processSession(s.name);
542
- return {
543
- name: s.name,
544
- contextTokens: result?.parsed?.contextTokens ?? s.contextTokens,
545
- contextWindow: maxContextTokens,
546
- breakdown: result?.parsed?.breakdown,
547
- };
548
- } catch (err) {
549
- log("mind", `failed to get context breakdown for session "${s.name}":`, err);
550
- return { name: s.name, contextTokens: s.contextTokens, contextWindow: maxContextTokens };
551
- }
552
- }),
553
- systemPrompt: systemPromptTokens,
554
- };
542
+ async function getContextInfo(): Promise<ContextInfo> {
543
+ const infos: SessionContextInfo[] = [];
544
+ for (const s of sessions.values()) {
545
+ try {
546
+ const jsonlPath = findPiSessionFile(piSessionsDir, s.name);
547
+ // Cache the computed breakdown by file identity: polls between turns are free.
548
+ const parsed = jsonlPath
549
+ ? await getCachedContextInfo(
550
+ jsonlPath,
551
+ async () =>
552
+ (
553
+ await processPiSession(
554
+ jsonlPath,
555
+ systemPromptTokens,
556
+ claudeMdTokens,
557
+ skillDescTokens,
558
+ )
559
+ ).parsed,
560
+ )
561
+ : null;
562
+ infos.push({
563
+ name: s.name,
564
+ contextTokens: parsed?.contextTokens ?? s.contextTokens,
565
+ contextWindow: maxContextTokens,
566
+ breakdown: parsed?.breakdown,
567
+ });
568
+ } catch (err) {
569
+ log("mind", `failed to get context breakdown for session "${s.name}":`, err);
570
+ infos.push({
571
+ name: s.name,
572
+ contextTokens: s.contextTokens,
573
+ contextWindow: maxContextTokens,
574
+ });
575
+ }
576
+ }
577
+ return { sessions: infos, systemPrompt: systemPromptTokens };
555
578
  }
556
579
 
557
- function getContextMessages(): ContextMessages {
580
+ async function getContextMessages(): Promise<ContextMessages> {
558
581
  const skillsDir = resolvePath(options.cwd, ".pi/skills");
582
+ const sessionMessages: ContextMessages["sessions"] = [];
583
+ for (const s of sessions.values()) {
584
+ try {
585
+ const jsonlPath = findPiSessionFile(piSessionsDir, s.name);
586
+ const result = jsonlPath
587
+ ? await processPiSession(jsonlPath, systemPromptTokens, claudeMdTokens, skillDescTokens)
588
+ : null;
589
+ sessionMessages.push({ name: s.name, messages: result?.messages ?? [] });
590
+ } catch (err) {
591
+ log("mind", `failed to extract messages for session "${s.name}":`, err);
592
+ sessionMessages.push({ name: s.name, messages: [] });
593
+ }
594
+ }
559
595
  return {
560
596
  preamble: {
561
597
  systemPrompt: options.systemPrompt,
562
598
  sdkInstructions: readSdkInstructions(options.cwd),
563
599
  skillDescriptions: readSkillDescriptions([skillsDir]),
564
600
  },
565
- sessions: Array.from(sessions.values()).map((s) => {
566
- try {
567
- const result = processSession(s.name);
568
- return { name: s.name, messages: result?.messages ?? [] };
569
- } catch (err) {
570
- log("mind", `failed to extract messages for session "${s.name}":`, err);
571
- return { name: s.name, messages: [] };
572
- }
573
- }),
601
+ sessions: sessionMessages,
574
602
  };
575
603
  }
576
604
 
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- DeliveryManager,
4
- getDeliveryManager,
5
- initDeliveryManager,
6
- tryGetDeliveryManager
7
- } from "./chunk-U4FNXDEJ.js";
8
- import "./chunk-5GT7URXJ.js";
9
- import "./chunk-5AUKCNPE.js";
10
- import "./chunk-QLWG3C2Z.js";
11
- import "./chunk-Y6OPHHGM.js";
12
- import "./chunk-JSRMEY52.js";
13
- import "./chunk-CU6OFXMM.js";
14
- import "./chunk-OXXTPILE.js";
15
- import "./chunk-HVU45COX.js";
16
- import "./chunk-ZIR7HSAX.js";
17
- import "./chunk-V4GYPD5L.js";
18
- import "./chunk-3ERIL673.js";
19
- import "./chunk-TSK5PI4L.js";
20
- import "./chunk-322KE457.js";
21
- import "./chunk-CYI534DJ.js";
22
- import "./chunk-ZMIMSIIT.js";
23
- import "./chunk-T2TP6ZC6.js";
24
- import "./chunk-H7IYFRAL.js";
25
- import "./chunk-ZV7MFISX.js";
26
- import "./chunk-K3NQKI34.js";
27
- export {
28
- DeliveryManager,
29
- getDeliveryManager,
30
- initDeliveryManager,
31
- tryGetDeliveryManager
32
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- clearEchoTextCache,
4
- echoTextToChannel
5
- } from "./chunk-77BVGCTZ.js";
6
- import "./chunk-FHWUQZXE.js";
7
- import "./chunk-U4FNXDEJ.js";
8
- import "./chunk-5GT7URXJ.js";
9
- import "./chunk-5AUKCNPE.js";
10
- import "./chunk-QLWG3C2Z.js";
11
- import "./chunk-Y6OPHHGM.js";
12
- import "./chunk-JSRMEY52.js";
13
- import "./chunk-CU6OFXMM.js";
14
- import "./chunk-OXXTPILE.js";
15
- import "./chunk-HVU45COX.js";
16
- import "./chunk-ZIR7HSAX.js";
17
- import "./chunk-V4GYPD5L.js";
18
- import "./chunk-Q2XBKQ2D.js";
19
- import "./chunk-3ERIL673.js";
20
- import "./chunk-TSK5PI4L.js";
21
- import "./chunk-322KE457.js";
22
- import "./chunk-CYI534DJ.js";
23
- import "./chunk-ZMIMSIIT.js";
24
- import "./chunk-T2TP6ZC6.js";
25
- import "./chunk-LGNUFVMR.js";
26
- import "./chunk-H7IYFRAL.js";
27
- import "./chunk-ZV7MFISX.js";
28
- import "./chunk-K3NQKI34.js";
29
- export {
30
- clearEchoTextCache,
31
- echoTextToChannel
32
- };
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- deliverMessage,
4
- linkToolResultToTurn,
5
- recordInbound,
6
- recordOutbound,
7
- resolveSleepAction
8
- } from "./chunk-U4FNXDEJ.js";
9
- import "./chunk-5GT7URXJ.js";
10
- import "./chunk-5AUKCNPE.js";
11
- import "./chunk-QLWG3C2Z.js";
12
- import "./chunk-Y6OPHHGM.js";
13
- import "./chunk-JSRMEY52.js";
14
- import "./chunk-CU6OFXMM.js";
15
- import "./chunk-OXXTPILE.js";
16
- import "./chunk-HVU45COX.js";
17
- import "./chunk-ZIR7HSAX.js";
18
- import "./chunk-V4GYPD5L.js";
19
- import "./chunk-3ERIL673.js";
20
- import "./chunk-TSK5PI4L.js";
21
- import "./chunk-322KE457.js";
22
- import "./chunk-CYI534DJ.js";
23
- import "./chunk-ZMIMSIIT.js";
24
- import "./chunk-T2TP6ZC6.js";
25
- import "./chunk-H7IYFRAL.js";
26
- import "./chunk-ZV7MFISX.js";
27
- import "./chunk-K3NQKI34.js";
28
- export {
29
- deliverMessage,
30
- linkToolResultToTurn,
31
- recordInbound,
32
- recordOutbound,
33
- resolveSleepAction
34
- };
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- sleepMind,
4
- startMindFull,
5
- startSpiritFull,
6
- stopMindFull,
7
- stopSpiritFull,
8
- wakeMind
9
- } from "./chunk-U4FNXDEJ.js";
10
- import "./chunk-5GT7URXJ.js";
11
- import "./chunk-5AUKCNPE.js";
12
- import "./chunk-QLWG3C2Z.js";
13
- import "./chunk-Y6OPHHGM.js";
14
- import "./chunk-JSRMEY52.js";
15
- import "./chunk-CU6OFXMM.js";
16
- import "./chunk-OXXTPILE.js";
17
- import "./chunk-HVU45COX.js";
18
- import "./chunk-ZIR7HSAX.js";
19
- import "./chunk-V4GYPD5L.js";
20
- import "./chunk-3ERIL673.js";
21
- import "./chunk-TSK5PI4L.js";
22
- import "./chunk-322KE457.js";
23
- import "./chunk-CYI534DJ.js";
24
- import "./chunk-ZMIMSIIT.js";
25
- import "./chunk-T2TP6ZC6.js";
26
- import "./chunk-H7IYFRAL.js";
27
- import "./chunk-ZV7MFISX.js";
28
- import "./chunk-K3NQKI34.js";
29
- export {
30
- sleepMind,
31
- startMindFull,
32
- startSpiritFull,
33
- stopMindFull,
34
- stopSpiritFull,
35
- wakeMind
36
- };
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-BTY4WNFE.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-RBNMDAKB.js";
8
- import {
9
- command
10
- } from "./chunk-TXSA4Q3V.js";
11
- import "./chunk-O7IGP7ZW.js";
12
- import "./chunk-K3NQKI34.js";
13
-
14
- // packages/cli/src/commands/mind-sleep.ts
15
- var cmd = command({
16
- name: "volute clock sleep",
17
- description: "Put a mind to sleep",
18
- args: [{ name: "name", description: "Mind to sleep (or use --mind / VOLUTE_MIND)" }],
19
- flags: {
20
- mind: { type: "string", description: "Mind name" },
21
- "wake-at": { type: "string", description: "Schedule wake time" }
22
- },
23
- run: async ({ args, flags }) => {
24
- const name = args.name || resolveMindName(flags);
25
- if (!name) {
26
- console.error("Provide a mind name as argument, --mind flag, or VOLUTE_MIND env var");
27
- process.exit(1);
28
- }
29
- const body = {};
30
- if (flags["wake-at"]) body.wakeAt = flags["wake-at"];
31
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/sleep`, {
32
- method: "POST",
33
- headers: { "Content-Type": "application/json" },
34
- body: JSON.stringify(body)
35
- });
36
- const data = await res.json();
37
- if (!res.ok) {
38
- console.error(data.error || "Failed to put mind to sleep");
39
- process.exit(1);
40
- }
41
- console.log(`${name} is going to sleep`);
42
- }
43
- });
44
- var run = cmd.execute;
45
- export {
46
- run
47
- };
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- Scheduler,
4
- getScheduler,
5
- initScheduler
6
- } from "./chunk-U4FNXDEJ.js";
7
- import "./chunk-5GT7URXJ.js";
8
- import "./chunk-5AUKCNPE.js";
9
- import "./chunk-QLWG3C2Z.js";
10
- import "./chunk-Y6OPHHGM.js";
11
- import "./chunk-JSRMEY52.js";
12
- import "./chunk-CU6OFXMM.js";
13
- import "./chunk-OXXTPILE.js";
14
- import "./chunk-HVU45COX.js";
15
- import "./chunk-ZIR7HSAX.js";
16
- import "./chunk-V4GYPD5L.js";
17
- import "./chunk-3ERIL673.js";
18
- import "./chunk-TSK5PI4L.js";
19
- import "./chunk-322KE457.js";
20
- import "./chunk-CYI534DJ.js";
21
- import "./chunk-ZMIMSIIT.js";
22
- import "./chunk-T2TP6ZC6.js";
23
- import "./chunk-H7IYFRAL.js";
24
- import "./chunk-ZV7MFISX.js";
25
- import "./chunk-K3NQKI34.js";
26
- export {
27
- Scheduler,
28
- getScheduler,
29
- initScheduler
30
- };
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- SleepManager,
4
- getSleepManager,
5
- getSleepManagerIfReady,
6
- initSleepManager,
7
- matchesGlob
8
- } from "./chunk-U4FNXDEJ.js";
9
- import "./chunk-5GT7URXJ.js";
10
- import "./chunk-5AUKCNPE.js";
11
- import "./chunk-QLWG3C2Z.js";
12
- import "./chunk-Y6OPHHGM.js";
13
- import "./chunk-JSRMEY52.js";
14
- import "./chunk-CU6OFXMM.js";
15
- import "./chunk-OXXTPILE.js";
16
- import "./chunk-HVU45COX.js";
17
- import "./chunk-ZIR7HSAX.js";
18
- import "./chunk-V4GYPD5L.js";
19
- import "./chunk-3ERIL673.js";
20
- import "./chunk-TSK5PI4L.js";
21
- import "./chunk-322KE457.js";
22
- import "./chunk-CYI534DJ.js";
23
- import "./chunk-ZMIMSIIT.js";
24
- import "./chunk-T2TP6ZC6.js";
25
- import "./chunk-H7IYFRAL.js";
26
- import "./chunk-ZV7MFISX.js";
27
- import "./chunk-K3NQKI34.js";
28
- export {
29
- SleepManager,
30
- getSleepManager,
31
- getSleepManagerIfReady,
32
- initSleepManager,
33
- matchesGlob
34
- };
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- ensureSystemDM,
4
- generateSystemReply,
5
- resetSystemDMCache,
6
- sendSystemMessage,
7
- sendSystemMessageDirect
8
- } from "./chunk-U4FNXDEJ.js";
9
- import "./chunk-5GT7URXJ.js";
10
- import "./chunk-5AUKCNPE.js";
11
- import "./chunk-QLWG3C2Z.js";
12
- import "./chunk-Y6OPHHGM.js";
13
- import "./chunk-JSRMEY52.js";
14
- import "./chunk-CU6OFXMM.js";
15
- import "./chunk-OXXTPILE.js";
16
- import "./chunk-HVU45COX.js";
17
- import "./chunk-ZIR7HSAX.js";
18
- import "./chunk-V4GYPD5L.js";
19
- import "./chunk-3ERIL673.js";
20
- import "./chunk-TSK5PI4L.js";
21
- import "./chunk-322KE457.js";
22
- import "./chunk-CYI534DJ.js";
23
- import "./chunk-ZMIMSIIT.js";
24
- import "./chunk-T2TP6ZC6.js";
25
- import "./chunk-H7IYFRAL.js";
26
- import "./chunk-ZV7MFISX.js";
27
- import "./chunk-K3NQKI34.js";
28
- export {
29
- ensureSystemDM,
30
- generateSystemReply,
31
- resetSystemDMCache,
32
- sendSystemMessage,
33
- sendSystemMessageDirect
34
- };