volute 0.4.0 → 0.6.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 (82) hide show
  1. package/README.md +22 -22
  2. package/dist/agent-X7GJLBLW.js +79 -0
  3. package/dist/{agent-manager-AUCKMGPR.js → agent-manager-JDVXU3ON.js} +4 -4
  4. package/dist/channel-SMCNOIVQ.js +262 -0
  5. package/dist/chunk-AOKAQGO4.js +107 -0
  6. package/dist/{chunk-VRVVQIYY.js → chunk-AZEL2IEK.js} +1 -1
  7. package/dist/chunk-B3R6L2GW.js +24 -0
  8. package/dist/{chunk-MXUCNIBG.js → chunk-BX7KI4S3.js} +68 -3
  9. package/dist/{chunk-I6OHXCMV.js → chunk-G6ZNGLUX.js} +47 -9
  10. package/dist/{chunk-DNOXHLE5.js → chunk-H7AMDUIA.js} +1 -1
  11. package/dist/{chunk-YGFIWIOF.js → chunk-JR4UXCTO.js} +1 -1
  12. package/dist/{chunk-3C2XR4IY.js → chunk-UWHWAPGO.js} +120 -107
  13. package/dist/{chunk-SOZA2TLP.js → chunk-W76KWE23.js} +1 -1
  14. package/dist/{chunk-GSPKUPKU.js → chunk-XUA3JUFK.js} +2 -1
  15. package/dist/chunk-ZYGKG6VC.js +22 -0
  16. package/dist/chunk-ZZOOTYXK.js +583 -0
  17. package/dist/cli.js +83 -74
  18. package/dist/{connector-DKDJTLYZ.js → connector-Y7JPNROO.js} +11 -6
  19. package/dist/connectors/discord.js +34 -5
  20. package/dist/connectors/slack.js +36 -8
  21. package/dist/connectors/telegram.js +55 -6
  22. package/dist/create-G525LWEA.js +91 -0
  23. package/dist/{daemon-client-XR24PUJF.js → daemon-client-442IV43D.js} +2 -2
  24. package/dist/daemon.js +1273 -384
  25. package/dist/{delete-55MXCEY5.js → delete-2PH2CGDY.js} +7 -8
  26. package/dist/{down-3OB6UVAJ.js → down-FXWAN66A.js} +1 -1
  27. package/dist/{env-JB27UAC3.js → env-7GLUJCWS.js} +8 -5
  28. package/dist/{history-BKG74I43.js → history-H72ZUIBN.js} +3 -3
  29. package/dist/{import-4CI2ZUTJ.js → import-AVKQJDYC.js} +8 -8
  30. package/dist/{logs-NXFFGUKY.js → logs-EDGK26AK.js} +2 -2
  31. package/dist/message-SCOQDR3P.js +32 -0
  32. package/dist/{package-Z2SFO2SV.js → package-4DP4Y4UO.js} +1 -1
  33. package/dist/restart-O4ETYLJF.js +29 -0
  34. package/dist/{schedule-A35SH4HT.js → schedule-S6QVC5ON.js} +10 -5
  35. package/dist/send-G7PE4DOJ.js +72 -0
  36. package/dist/{setup-2FDVN7OF.js → setup-F4TCWVSP.js} +5 -5
  37. package/dist/{start-LDPMCMYT.js → start-VHQ7LNWM.js} +3 -3
  38. package/dist/{status-MVSQG54T.js → status-QAJWXKMZ.js} +3 -3
  39. package/dist/{stop-5PZTZCLL.js → stop-CAGCT5NI.js} +6 -7
  40. package/dist/{up-F7TMTLRE.js → up-CSX3ZUIU.js} +16 -4
  41. package/dist/update-XSIX3GGP.js +140 -0
  42. package/dist/update-check-5ZADDHCK.js +17 -0
  43. package/dist/{upgrade-6ZW2RD64.js → upgrade-YXKPWDRU.js} +16 -15
  44. package/dist/{variant-T64BKARF.js → variant-4Z6W3PP6.js} +15 -10
  45. package/dist/web-assets/assets/index-D5PzIndO.js +308 -0
  46. package/dist/web-assets/index.html +2 -2
  47. package/drizzle/0003_clean_ego.sql +12 -0
  48. package/drizzle/meta/0003_snapshot.json +417 -0
  49. package/drizzle/meta/_journal.json +7 -0
  50. package/package.json +1 -1
  51. package/templates/_base/.init/.config/hooks/startup-context.sh +19 -1
  52. package/templates/_base/.init/.config/scripts/session-reader.ts +59 -0
  53. package/templates/_base/_skills/sessions/SKILL.md +49 -0
  54. package/templates/_base/_skills/volute-agent/SKILL.md +114 -14
  55. package/templates/_base/home/.config/routes.json +10 -0
  56. package/templates/_base/home/VOLUTE.md +14 -35
  57. package/templates/_base/src/lib/format-prefix.ts +7 -1
  58. package/templates/_base/src/lib/router.ts +193 -19
  59. package/templates/_base/src/lib/routing.ts +55 -18
  60. package/templates/_base/src/lib/session-monitor.ts +400 -0
  61. package/templates/_base/src/lib/types.ts +5 -1
  62. package/templates/agent-sdk/.init/.config/routes.json +5 -0
  63. package/templates/agent-sdk/.init/CLAUDE.md +2 -2
  64. package/templates/agent-sdk/src/agent.ts +18 -1
  65. package/templates/agent-sdk/src/lib/hooks/session-context.ts +32 -0
  66. package/templates/agent-sdk/src/server.ts +8 -2
  67. package/templates/agent-sdk/volute-template.json +1 -1
  68. package/templates/pi/.init/.config/routes.json +5 -0
  69. package/templates/pi/.init/AGENTS.md +1 -1
  70. package/templates/pi/src/agent.ts +12 -4
  71. package/templates/pi/src/lib/session-context-extension.ts +33 -0
  72. package/templates/pi/src/server.ts +1 -1
  73. package/templates/pi/volute-template.json +1 -1
  74. package/dist/channel-DQ6UY7QB.js +0 -67
  75. package/dist/chunk-5OCWMTVS.js +0 -152
  76. package/dist/chunk-ZHCE4DPY.js +0 -110
  77. package/dist/create-ILVOG75A.js +0 -79
  78. package/dist/send-3U6OTKG7.js +0 -57
  79. package/dist/web-assets/assets/index-NS621maO.js +0 -296
  80. package/templates/agent-sdk/.init/.config/sessions.json +0 -4
  81. package/templates/pi/.init/.config/sessions.json +0 -1
  82. package/dist/{service-SA4TTMDU.js → service-HZNIDNJF.js} +3 -3
@@ -1,24 +1,27 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ resolveAgentName
4
+ } from "./chunk-AZEL2IEK.js";
2
5
  import {
3
6
  composeTemplate,
4
7
  copyTemplateToDir,
5
8
  findTemplatesRoot
6
- } from "./chunk-GSPKUPKU.js";
9
+ } from "./chunk-XUA3JUFK.js";
10
+ import {
11
+ parseArgs
12
+ } from "./chunk-D424ZQGI.js";
7
13
  import {
8
14
  exec,
9
15
  execInherit
10
16
  } from "./chunk-5SKQ6J7T.js";
11
- import {
12
- parseArgs
13
- } from "./chunk-D424ZQGI.js";
14
17
  import {
15
18
  daemonFetch
16
- } from "./chunk-YGFIWIOF.js";
19
+ } from "./chunk-JR4UXCTO.js";
17
20
  import {
18
21
  addVariant,
19
22
  nextPort,
20
23
  resolveAgent
21
- } from "./chunk-3C2XR4IY.js";
24
+ } from "./chunk-UWHWAPGO.js";
22
25
  import "./chunk-K3NQKI34.js";
23
26
 
24
27
  // src/commands/upgrade.ts
@@ -31,11 +34,7 @@ async function run(args) {
31
34
  template: { type: "string" },
32
35
  continue: { type: "boolean" }
33
36
  });
34
- const agentName = positional[0];
35
- if (!agentName) {
36
- console.error("Usage: volute upgrade <name> [--template <name>] [--continue]");
37
- process.exit(1);
38
- }
37
+ const agentName = resolveAgentName({ agent: positional[0] });
39
38
  const { dir: projectRoot } = resolveAgent(agentName);
40
39
  const template = flags.template ?? "agent-sdk";
41
40
  if (flags.continue) {
@@ -73,7 +72,7 @@ Otherwise, remove it with: volute variant delete ${VARIANT_NAME} --agent ${agent
73
72
  console.log(` ${worktreeDir}`);
74
73
  console.log(`
75
74
  Then run:`);
76
- console.log(` volute upgrade ${agentName} --continue`);
75
+ console.log(` volute agent upgrade ${agentName} --continue`);
77
76
  return;
78
77
  }
79
78
  await installAndVerify(agentName, worktreeDir);
@@ -164,7 +163,7 @@ async function mergeTemplateBranch(worktreeDir) {
164
163
  async function continueUpgrade(agentName, projectRoot) {
165
164
  const worktreeDir = resolve(projectRoot, ".variants", VARIANT_NAME);
166
165
  if (!existsSync(worktreeDir)) {
167
- console.error("No upgrade in progress. Run `volute upgrade` first.");
166
+ console.error("No upgrade in progress. Run `volute agent upgrade` first.");
168
167
  process.exit(1);
169
168
  }
170
169
  const status = await exec("git", ["status", "--porcelain"], {
@@ -207,7 +206,7 @@ async function installAndVerify(agentName, worktreeDir) {
207
206
  } catch {
208
207
  console.error("Failed to start variant. Is the daemon running? (volute up)");
209
208
  console.error(
210
- `The variant was created but not started. Use: volute start ${agentName}@${VARIANT_NAME}`
209
+ `The variant was created but not started. Use: volute agent start ${agentName}@${VARIANT_NAME}`
211
210
  );
212
211
  process.exit(1);
213
212
  }
@@ -215,7 +214,9 @@ async function installAndVerify(agentName, worktreeDir) {
215
214
  Upgrade variant running on port ${variantPort}`);
216
215
  console.log(`
217
216
  Next steps:`);
218
- console.log(` volute send ${agentName}@${VARIANT_NAME} "hello" # chat with upgraded variant`);
217
+ console.log(
218
+ ` volute message send ${agentName}@${VARIANT_NAME} "hello" # chat with upgraded variant`
219
+ );
219
220
  console.log(` volute variant merge ${VARIANT_NAME} # merge back when satisfied`);
220
221
  }
221
222
  export {
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  resolveAgentName
4
- } from "./chunk-VRVVQIYY.js";
4
+ } from "./chunk-AZEL2IEK.js";
5
+ import {
6
+ parseArgs
7
+ } from "./chunk-D424ZQGI.js";
5
8
  import {
6
9
  exec,
7
10
  execInherit
8
11
  } from "./chunk-5SKQ6J7T.js";
9
- import {
10
- parseArgs
11
- } from "./chunk-D424ZQGI.js";
12
12
  import {
13
13
  daemonFetch
14
- } from "./chunk-YGFIWIOF.js";
14
+ } from "./chunk-JR4UXCTO.js";
15
15
  import {
16
16
  addVariant,
17
17
  checkHealth,
@@ -22,7 +22,7 @@ import {
22
22
  resolveAgent,
23
23
  validateBranchName,
24
24
  writeVariants
25
- } from "./chunk-3C2XR4IY.js";
25
+ } from "./chunk-UWHWAPGO.js";
26
26
  import "./chunk-K3NQKI34.js";
27
27
 
28
28
  // src/commands/variant.ts
@@ -182,13 +182,18 @@ async function run(args) {
182
182
  case "delete":
183
183
  await deleteVariant(args.slice(1));
184
184
  break;
185
+ case "--help":
186
+ case "-h":
187
+ case void 0:
188
+ printUsage();
189
+ break;
185
190
  default:
186
191
  printUsage();
187
- process.exit(subcommand ? 1 : 0);
192
+ process.exit(1);
188
193
  }
189
194
  }
190
195
  function printUsage() {
191
- console.error(`Usage:
196
+ console.log(`Usage:
192
197
  volute variant create <variant> [--agent <name>] [--soul "..."] [--port N] [--no-start] [--json]
193
198
  volute variant list [--agent <name>] [--json]
194
199
  volute variant merge <variant> [--agent <name>] [--summary "..." --memory "..."] [--skip-verify]
@@ -272,7 +277,7 @@ async function createVariant(args) {
272
277
  } catch {
273
278
  console.error("Failed to start variant. Is the daemon running? (volute up)");
274
279
  console.error(
275
- `The variant was created but not started. Use: volute start ${agentName}@${variantName}`
280
+ `The variant was created but not started. Use: volute agent start ${agentName}@${variantName}`
276
281
  );
277
282
  process.exit(1);
278
283
  }
@@ -454,7 +459,7 @@ async function mergeVariant(args) {
454
459
  console.error(`Failed to restart: ${data.error ?? "unknown error"}`);
455
460
  }
456
461
  } catch {
457
- console.log(`Daemon not running. Start the agent manually: volute start ${agentName}`);
462
+ console.log(`Daemon not running. Start the agent manually: volute agent start ${agentName}`);
458
463
  }
459
464
  }
460
465
  async function deleteVariant(args) {